IPsec

**IPSec-ийн тухай товч танилцуулга** 
IPSec нь маш өргөн тархсан туннел холболтын протокол юм. 
**Internet Engineering Task Force** (**IETF**) 1995 оноос 3 – р түвшний нууцлалын стандарт болгож хөгжүүлсэн. IPSec нь олон төрлийн шифрлэлийн механизм, хэрэглэгчийн хандалтын хяналтын протокол болон хамгаалалтын шийдэлтэй. IPv4 нь IPsec дэмжлэгийг санал болгодог гэхдээ энэ нь зайлшгүй биш. IPv6 хэрэгжилтэнд нь IPSec дэмжилт нь сонголт биш харин шаардлага. IPsec-ийн бүрэлдэхүүнд нь мэдээлэл аюулгүй байдлын харилцаа холбоо болон түлхүүр солилцоог хангахдаа криптографын протоколын багцыг ашиглана. 

## **Түүх** 
1993 оны 12 сард, Програм хангамжын IP encryption протоколыг Columbia University and AT&T Bell Labs by John Ioannidis болон бусад хүмүүс судалгаа шинжилгээ хийсэн. Итгэмжлэгдсэн мэдээллийн систем дэх whitehouse.gov захиаг (1993 оны зургадугаар сарын 1-нээс 1995 оны нэгдүгээр сарын 20) зохион Клинтоны захиргааны санхүүжилтээр дээр тулгуурлан, Вэй Xu, IP аюулгүй байдлын тухай 1994 оны судалгаа долдугаар сард эхэлэн, IP протоколыг сайжруулж, BSDI тавцан дээр IPSec бүтээгдэхүүн боловсруулсан ба түргэн Sun OS, HP UX, бусад UNIX системүүд дээр өргөтгөсөн. Энэ бүхэн амжилтын болсны дараа, Wie-д DES болон 3DES-ийг тооцох нь удаан гүйцэтгэлийн өөр сорилт тулгарч байсан. Угсралтын програм хангамжийн шифрлэлт нь Intel 80386 архитектур дээр T1 хурд нь дэмжих боломжгүй байсан. Германаас Crypto карт экспортлон ба Вэй нь автомат төхөөрөмжийн драйвер боловсруулсан. Өнөөдөр үүнийг plug-and-play гэж нэрлэдэг. Тоног төхөөрөмжийн Crypto нь тусгасан юм. Нэвтрүүлэх нь T1-ээс илүү их хурдтай болсоны дараа, Вэй Xu эцэст нь арилжааны бүтээгдэхүүний практик дээр Gauntlet галт ханын нэг хэсэг болгон гаргасан юм. 1994 оны арванхоёрдугаар сард Энэ нь зүүн болон АНУ-ын баруун эрэг орчмын улс орнуудын хооронд ямар нэг алсын сайтын аюулгүй байдлыг хангахаар үйлдвэрлэлд анх удаа байршуулж байсан. Өөр нэг IP (ESP) нь DARPA-ийн ивээн тэтгэсэн судалгааны төслийн хүрээнд тэнгисийн цэргийн судалгааны лабораторид судалж байсан ба   нээлттэй IETF-ийн Sipp ажлын хэсэг гаргасан. Sipp нь аюулгүй байдлын сунгах ингэснээр 1993 оны арванхоёрдугаар сард боловсруулсан. Энэ нь ESP Протоколыг ISO Сүлжээний-Layer Security Протокол (NLSP) олсон байна гэхээсээ илүү анх АНУ-ын хэлтсийн Батлан хамгаалах SP3D протоколоос олсон байна. SP3D протоколыг NIST-ээс тодорхойлон нийтэлсэн Харин АНУ-ын Батлан хамгаалах газрын Secure Data Network System-ийн төслөөр боловсруулсан байна. Аюулгүй байдлын Танин Толгой (AH)-оог өмнөх IETF-ийн стандартуудын Энгийн сүлжээний менежмент Протокол (SNMP) хувилбар 2 танилтанд зориулсан ажиллахаар хэсэгчлэн гаргаж авсан байна. 1995 онд IETF нь IPsec ажлын хэсэг Secure Data Network System (SDN) төслийн NSA гэрээний дагуу боловсруулж байсан протокол нь нээлттэй чөлөөтэй байсан ба шалгах хувилбарыг бий болгож эхэлсэн. SDNS төсөл нь аюулгүй байдлын протокол Давхарга 3 (SP3) тодорхойлж байсанч NIST нийтэлсэн мөн ISO Сүлжээний Layer Security Протокол (NLSP) үндэс суурь байсан юм. SP3 гол удирдлагын түлхүүр удирдах протоколыг (KMP) IPsec хороондын үндсэн суурийг хангаж өгсөн. IPsec нь албан ёсоор янз бүрийн бүрэлдэхүүн болон өргөтгөлүүдтэйгээр Интернэт Инженерийн комисс (IETF) нь стандартчилсан байдаг.

## **Аюулгүй байдлын архитектур** 
IPsec цуглуулга нээлттэй стандарт юм. IPsec янз бүрийн чиг үүргийг дараах протоколуудыг ашигладаг
* Authentication Header (AH)  - танилт болон өгөгдлийн бүрэн бүтэн байдал заана.
* Encapsulating Security Payload (ESP)- танилт , мэдээлэл бүрэн бүтэн байдал, болон нууцлалыг хангадаг.
* IKE (internet key exchange) гэсэн протоколуудыг өөртөө агуулсан байдаг. 
IPv6 сүлжээнд AH толгой болон ESP толгойг  өргөтгөл толгой гэж тодорхойлсон. Нэмэлтээр  IPsec нь протокол  хэлэлцээ хийхдээ гурав дахь  протоколыг ашигладаг.  Үүнийг Интернэт түлхүүр солилцох (IKE) гэж нэрлэдэг. Энэ протокол хэрэгсэл нь төгсгөлийн цэгүүдийн хооронд аюулгүй байдлын үзүүлэлтийн  хэлэлцээр болон тодорхойлох анхан шатны ажиллагаагаар  хангадаг. Үүнээс гадна энэ нь ямар ч үед аюулгүй байдлын харилцааг ханган мэдээллийг хянаж байдаг.

### Authentication Header (AH) 
Authentication Толгой (AH) IPsec протокол цуглуулгын гишүүн юм.  AH IP пакетийн бүрэн бүтэн байдал болон өгөгдлийн гаралтыг  таньж баталгаажуулдаг. Цаашилбал, энэ нь нэмэлт window техникийг ашиглан replay халдлагаас хамгаална. 
* IPv4 нь  AH IP ачааг болон mutable салбараас бусад  IP Datagram бүх толгойн талбаруудыг хамгаална. IPv4 толгой талбар DSCP / TOS, ECN, Flags, хэсэг Офсет, TTL ба header checksum байна.

* IPv6-д  AH IPv6 суурь толгой ихэнхийг хамгаалдаг . IPv6 толгой нь хамгаалах mutable талбаруудыг дараах үйл ажиллагаа орохгүй:   DSCP, ECN, урсгал Шошго болон Hop limit.  

AH IP протокол нь 51 гэсэн тоог ашиглан IP орой дээр шууд ажиллана.

**AH header format**
* Next header-payload дараагийн ттолгой ямар байсныг заана.
* Payload length- өгөгдлийн уртыг заана.
* Reversed- Одоогоор ашиглагддаггүй талбар.
* Security parameters index- Энэ нь тухайн багцын тусгаарлалтаас гаргах нууцлалын мэдээллийг агуулна.
* Sequence number-Багцын дарааллыг заана.
* Authentication data-Энэ нь өгөгдлийг нууцалсан код байна.

### Encapsulating Security Payload (ESP) 
Аюулгүй байдлын Ачаа капсул  (ESP) IPsec протокол цуглуулгын гишүүн юм. IPsec энэ нь гаралтыг баталгаажуулалт, бүрэн бүтэн байдал, пакетуудын нууцлал хамгаалалт болж өгдөг. ESP мөн зөвхөн шифрлэлт болон нэвтрэлт танилт  тохиргоонуудыг дэмждэг. Authentication Header (AH) ялгаатай нь, ESP  тээврийн горимд бүх IP пакетийн хувьд бүрэн бүтэн байдалыг таньдаггүй байна. ESP IP протокол нь 50 тоог ашиглан IP орой дээр шууд ажиллана.

**ESP header format** 
* Security Prameters Index (32bits) -Аюулгүй байдлын холбоог тодорхойлно
* Sequence Number (32 bits):  дарааллын утгыг тоолно.
* Payload Data А transport түвшний сегмент (тээврийн горим), эсвэл IP пакетийн (туннель горим)-ийн шифрлэлтийн хамгаална.
* Authentication Data (variable -ESP пакетын таних өгөгдлийн талбар дээр тооцоологдох бүрэн бүтэн байдлыг шалгах утгыг агуулдаг нь хувьсах урттай талбар
* AH (authentication header) – энэ нь ESP шиг өгөгдлийг нууцлалтай болон хамгаалалттай дамжуулахад зориулсан протокол бөгөөд энэ нь RFC2402 тодорхойлогдсон. 

### **Security association** 
IP аюулгүй байдлын архитектур IP руу аюулгүй байдлын үйл ажиллагааг бий болгох үндэс нь аюулгүй байдлын холбооны үзэл баримтлалыг ашигладаг. Аюулгүй байдлын холбоо нь ердөө л шифрлэх, нэг чиглэлд тодорхой урсгалыг таниулан ашиглаж байгаа алгоритмын болон параметрийн (жишээ нь түлхүүр зэрэг) сагс юм. Тиймээс хэвийн хоёр чиглэлтэй урсгалыг онд урсгал аюулгүй байдлын холбоод хос баталгаажсан байдаг. Аюулгүй байдлын холбоод Internet Security холбоо, түлхүүр удирдах протоколыг (ISAKMP) ашигладаг. ISAKMP нууц үгээ хуваалцахдаа гараар тохиргоог хийдэг. Internet Key Exchange (IKE and IKEv2), Kerberized Internet Negotiation of Keys (KINK), IPSECKEY DNS зэргийг ашигладаг.  Нууцлалыг  шийдэх зорилгоор ямар хамгаалах ашиглах нь Ipsec нь аюулгүй байдлын үзүүлэлт индекс (SPI) ашигладаг.  Аюулгүй байдлын холбоо мэдээллийн санд индекс (SADB)-д  пакет толгой дахь очих хаягийн хамтад нь пакетийн хувьд аюулгүй байдлын холбоо тогтоодог. Үүнтэй төстэй журам нь орж ирж байгаа пакетийн хувьд хийдэг ба   хаана IPsec аюулгүй байдлын нэгдлийн сангаас шифрлэлтийг буцаах үйлдэл нь, баталгаажуулах түлхүүр цуглуулдаг. Multicast нь, аюулгүй байдлын холбоо бүлэгт заасан байна, бүлгийн бүх эрх хүлээн авагч даяар хувилагддаг.

## **Modes of operation** 
IPsec протокол нь ажиллахдаа 2 төрлийн горимд ажиллаж болдог.IPsec нь сүлжээний хонгилоор горимд түүнчлэн хост-тулд-хост тээврийн горимд хэрэгжүүлж болно.

### Transport mode 
* Эх пакетын зөвхөн ачаа буюу Data хэсгийг нууцалж дамжуулдаг
* Ихэвчлэн host-to-host архитектурт ашиглана
* TCP/UDP header+ payload

### Tunnel mode 
* Пакет дээр шинэ хаягийн толгой мэдээллийг нэмнэ
* эх пакетыг бүхэлд нь нууцалж дамжуулна
* Ихэвчлэн gateway-to-gateway архитектурт ашиглана
* IP header + TCP/UDP header+ payload

## **Криптограф алгоритмууд** 
IPsec нь ашиглахаар тодорхойлсон криптограф алгоритмуудыг дурдвал:

### Data Encryption Standard (DES) 
Өргөнөөр ашиглагддаг. 1976 онд батлан хамгаалах яамнаас гаргасан . Өгөгдлийн блок – 64 бит  Түлхүүр – 56 бит  . Feistel Network-д суурилсан.  Шифрлэх тайлах алгоритм нь ижил Эх текст ба түлхүүрийг бага зэрэг өөрчлөхөд шифр текст асар их өөрчлөгддөг. Эх текстийн 1 битийг өөрчлөхөд шифр текстийн 34 бит дунджаар өөрчлөгддөг.Түлхүүрийн 1 битийг өөрчлөхөд шифр текстийн 35 бит дунджаар өөрчлөгддөг.

Triple DES ANSI standard x9.52 –г хэрэглэж байгаа бөгөөд өгөгдөл 3 удаагийн дамжлагаар нууцлагддаг байна. Энэ түлхүүр нь тодорхой хугацаанд дахин дахин өөрчлөгддөг болохоор түлхүүрийг тайлсан ч хэсэгхэн хугацаанд л хэрэглэх боломжтой.

### **Advanced Encryption Standart-AES** 
Үүсэл: 1997 онд NIST нийтэд эхлэлийг нь тавьж Америкийн засгийн газрын хэрэглээнд баталгаат криптосистем болгон хөгжүүлсэн. Бүтэц: Блок-128бит түлхүүр -128, 192, 256 бит Криптоанализ: боломжит довтолгоонууд нь тооцооллын хувьд биелээгүй. AES-128 хувьд математик графын онол хэрэглэн 2126 нарийвчлалтай тооцооллоор түлхүүрийг олох боломжтой.

### **Хеш функц(нэг чигт функц)** 
Шифрлэсэн мэдээнээс анхны мэдээллийг сэргээж авах боломжгүй байхаар математикийн тэгшитгэл ашиглан шифрлэгддэг.Янз бүрийн урттай мэдээний оролтууд нь ижил бэхлэгдсэн урттай шифрлэсэн гаралтуудыг гаргадаг Бэхлэгдсэн урттай Хешийн утга нь анхны мэдээний урт болон агуулгыг эргүүлэн олж авах боломжгүй байхаар анхны мэдээн дээр суурилагдан тооцоологдсон байдаг. Баталгаатай байдал: Нэг чигтэй байдал буюу Хеш утгаас хуулбар анхны мэдээг гаргаж авах болон байгуулахад хүнд байдаг.

### **Message Digest algorithm-MD** 
Дурын урттай мэдээг 128 бит урттай хеш утга гаргадаг.MD-2: смарт карт гэх мэт хэмжээ хязгаарлагдсан системд загварчлагдсан, 8-битийн машинд зориулсан хамгийн удаан ажиллагаатай .  MD-4: Rivest MD2-той ижилээр хөгжүүлсэн, програм хангамжид үйлдлийг хурдасгахад загварчилсан. 32-бит машинд зориулагдсан хамгийн хурдан ажиллагаатай. Гэвч энэ нь эвдэгдсэн хэш функц.  MD-5: Rivest хөгжүүлсэн, жинхэнэ мэдээллийг үйлдвэрлэхээр илүү арга заль хэрэглэсэн учраас MD4-ээс 33 хувь удаан. 1996 онд Германы криптографч Hans Dobbertin түүний хэд хэдэн сул талуудыг том тоон дээр үзүүлсэн. Өгөгдлийн бүрэн бүтэн байдлыг хангадаг.

## IPSec ажиллагааны зарчим 
IKE (Internet Key exchange) IPsec протоколд шаардлагатай түлхүүрүүдыг үүсгэхэд, солилцоход хэрэглэгдэнэ. IKE нь peer-үүдийн хооронд IKE policy-ийг солилцох болон түүнийг ашиглах боломжийг peer-үүдэд олгодог

IPsec нь өгөгдлийн нууцлалыг хангадаг. Хоёр болон түүнээс дээш төхөөрөмжүүд холбогдохдоо дараах дамжлагаар нэгний мэднэ.

ISAKMP (Internet Security холбоо, менежментийн гол протокол) нь интернетийн орчинд аюулгүй байдлын нэгдлүүдийг (SA) болон криптограф түлхүүрүүдийг  бий болгохоор ( RFC 2408 ) тогтоосон протокол юм.
IKE Phase 1
IKE-р үе шат 1 нь хоёр горимоор нэгээр ажилладаг, үндсэн горим, эсвэл хурдан горим. энэ горимууд  нь өөр өөр үйл ажиллагаа явуулдаг.

### **Main Mode** 
IKE үе шат 1-ийн  үндсэн горимын  үйл ажиллагаа нь  6 багцыг  хоёр тал солилцож ажиллана. 

1.Эхний пакет нь IPsec туннелийн алсын цэгрүү  үүсгэгчээс илгээсх бөгөөд энэ пакет нь  ISAKMP бодлогыг агуулсан байна.
2.Хоёр дахь пакет нь алсын цэгээс  үүсгэгч рүү илгээсэн байна.  Энэ пакетад үүсгэгчээс  илгээсэн ISAKMP бодлоготой  яг ижил мэдээлэл байна
3.	Гурав дахь пакет  үүсгэгчээс  алсын цэгрүү илгээсэн байна.  Энэ пакет нь key exchange  ачаа болон Nonce ачааг агуулсан байна.Тухайн пакетийн зорилго нь DH нууц түлхүүрийн мэдээллийг бий болгох юм.       
4.	Дөрөв дэх пакет алсын цэгээс  үүсгэгч рүү илгээсэн байна .
5.	Тав дахь пакет буцаж таних болон хэш payloads нь үүсгэгчээс  алсын цэгрүү илгээсэн байдаг.  identity payload  нь төхөөрөмжийн IP  болон хэш payload түлхүүрийн  хослол байна. 
6.	Зургаа дахь пакет   алсын цэгээс  үүсгэгч рүү илгээнэ. Тухайн хэш payloads байгаа  солилцоог шалгана.

### **Quick mode ** 
IKE 2-р шат 1-р шатны хойш гарсан, бас хурдан горим гэж нэрлэдэг бөгөөд энэ үйл явц нь зөвхөн 3 пакетуудыг  дамжуулдаг. 
1.	Алсын төхөөрөмж уруу санаачлагчид нь энэ анхны пакет дотор агуулагдаж байгаа, 1-ээр үе шатны тохиролцсон hashes / түлхүүрүүд байдаг. IPsec-ийг IE Параметр: Битүү (ESP болон AH), HMAC, DH-бүлэг, горим (туннель, эсвэл тээврийн) 
2.	Хоёр дахь пакет  IPsec параметрүүдийг тохируулан  алсын цэгийн хариу байдаг. 
3.	Сүүлчийн пакет өөр төхөөрөмж байгаа эсэхийг шалгана.

## **Тохиргооны хэсэг** 
### IPv6  дээр IKE Policy болон a Preshared Key үүсгэх 
### IPsec Transform Set болон  IPsec Profile тохиргоо 
####  
### IPv6 дээр ISAKMP Profile тодорхойлох 
####  
### IPv6 IPsec VTI тохируулах 
### IPsec Tunnel Mode тохируулан шалгах 
### IPv6 дээр тохируулсан  IPsec-ийн тохиргоог шалгах 
Ангилал:Интернэт протокол
Ангилал:Virtual Private Network
Ангилал:Криптографийн протокол
Ангилал:Криптологийн стандарт