Recommended Криптологийн тухай ойлголт - Cryptology
лекц 3 дэлхийн дотоод бүтэц
Г.НОМИН-ЭРДЭНЭ - МЭДЭЭЛЛИЙН АЮУЛГҮЙ БАЙДЛЫН БОДЛОГЫН СУДАЛГАА
дотоод сүлжээний зохион байгуулалт
Бутархай рационал тэгшитгэл бодох
U.cs101 алгоритм программчлал-1(1)
VPN сүлжээ түүний аюулгүй байдал
02 j.sa302 lec2 mac_sec_edited_turuu
More Related Content Криптологийн тухай ойлголт - Cryptology
What's hot (20)
лекц 3 дэлхийн дотоод бүтэц
Г.НОМИН-ЭРДЭНЭ - МЭДЭЭЛЛИЙН АЮУЛГҮЙ БАЙДЛЫН БОДЛОГЫН СУДАЛГАА
дотоод сүлжээний зохион байгуулалт
Бутархай рационал тэгшитгэл бодох
U.cs101 алгоритм программчлал-1(1)
VPN сүлжээ түүний аюулгүй байдал
Similar to 07 08 web security (20)
02 j.sa302 lec2 mac_sec_edited_turuu
Сүлжээний аюулгүй байдал лекц№1
006 харилцаа холбоо ба сүлжээ
Point To Point Tunneling Protocol Presentation
More from Babaa Naya (20) Суралцагчийн мэдлэг, чадвар, дадлыг үнэлэх, дүгнэх журам
Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын суралцагчид тэт...
Мэргэжлийн болон техникийн боловсролын сургалтын байгууллагын багшид мэргэжли...
Мэргэжлийн боловсрол, сургалтын байгууллагын төгсөгчдөд мэргэжлийн диплом, үн...
Suraltsagchid chiglesen uilchilgee hesgiin notolgoo
07 08 web security1. ЛЕКЦ 7, 8
Веб үйлчилгээний
нууцлал, хамгаалалт
НУУЦЛАЛЫН ПРОТОКОЛУУД
5. EC-Council
Агуулга
Сүлжээний түвшинчилсэн загвар, түүний
нууцлал хамгаалалт
Нийтийн түлхүүрийн дэд бүтэц
SSL/TLS протокол
SSL/TLS протоколын нууцлал хамгаалалт
SSL/TLS протоколын адитлтган танилт
Дүгнэлт
6. EC-Council
Нийтйин түлхүүрийн дэд бүтэц
Тоон гарын үсэг
Тоон сертификат (Digital Certificate=x.509)
Нийтийн түлхүүрийн дэд бүтэц (Public key
Infrastructure)
Итгэмжлэлийн загвар (Trusted model)
7. EC-Council
Public-key Certificates
Хэрэглэгчийн нийтийн түлхүүрийн итгэмжлэл
хамгийн чухал асуудал
• Нийтийн түлхүүр тухайн хэрэглэгчийнх
• Нийтийн түлхүүр өөрчлөгдөөгүй
Certification Authority (CA)-ээс гаргасан
хэрэглэгчийн нийтийн түлхүүрийг итгэмжлэх
баримтыг тоон сертификат гэж нэрлэдэг
www.statebank.mn
web browser
9. EC-Council
Тоон сертификат гэж юу вэ?
Интернэт сүлжээнд ашиглах зориулалттай
электрон танилт/ шифрлэлтийн систем юм.
Хоёр үндсэн үүрэгтэй. Үүнд:
Хэрэглэгчийн танилт
• Интернэтийн өгөгдөл ба үйлчилгээ рүү хандах
эрхтэй хэрэглэгч гэдгийг баталдаг
• Харилцаж байгаа талуудыг баталгаажуулдаг
Өгөгдлийн шифрлэлт
• Нийтийн түлхүүрээр шифрлэнэ
• Нууцлалтай интернэт үйлчилгээг үүсгэнэ
10. EC-Council
X.509 - Тоон сертификат
Тоон сертификатын формат: X.509 стандарт
• Хамгийн өргөн ашиглагддаг
• ITU-T-ийн зөвлөмжөөр стандарчилагдсан
1 Хувилбар V1,2,3
2 Сериал дугаар V1,2,3
3 Алгоритм V1,2,3
4 Олгогч V1,2,3
5 Хүчинтэй байх хугацаа V1,2,3
6 Объект V1,2,3
7 Объектийн нийтийн түлхүүр V1,2,3
8 Олгогчийн цор ганц дугаар V2,3
9 Объектын цор ганц дугаар V2,3
10 Өргөтгөлүүд V3
11 Тоон гарын үсэг V3
12. EC-Council
PKI-Нийтийн Түлхүүрийн Дэд бүтэц
Итгэмжлэлтэй харилцаа
PKI –ын бүрэлдэхүүнд:
• Policies (Сертификатуудыг удирдах зорилгоор дүрмүүдийг тодорхойлдог)
• Products (hardware and/or software) (to implement the policies and generate, store and
manage certificates)
• Procedures (Түлхүүрийн удирдлагатай хамааралтай)
13. EC-Council
Агуулга
Сүлжээний түвшинчилсэн загвар, түүний
нууцлал хамгаалалт
Нийтийн түлхүүрийн дэд бүтэц
SSL/TLS протокол
SSL/TLS протоколын нууцлал хамгаалалт
SSL/TLS протоколын адитлтган танилт
Дүгнэлт
14. EC-Council
SSL үндэс
Нэтскэйп анх веб үйлчилгээний нууцлалыг хангах
аюулгүй соккет давхарга буюу SSL протоколыг
зохион бүтээсэн
• SSL (Secure Socket Layer)
• TLS (Transport Layer Security) – IETF –ээр стандарчилагдсан
• TLS 1.2 vs SSL 3.0 – ялгаа маш бага
15. EC-Council
Түүх
SSL 1.0
– Internal Netscape design, early 1994?
– Lost in the mists of time
• SSL 2.0
– Published by Netscape, November 1994
– Badly broken
• SSL 3.0
– Designed by Netscape and Paul Kocher, November
1996
• TLS 1.0
– Internet standard based on SSL 3.0, January 1999
– Not interoperable with SSL 3.0
17. EC-Council
SSL Record Protocol-н
үйлчилгээнүүд
Нууцлал хамгаалалт(confidentiality)
• Handshake Protocol-р тодорхойлогдсон shared
secret key-р symmetric encryption-лэнэ
• AES, IDEA, RC2-40, DES-40, DES, 3DES, Fortezza,
RC4-40, RC4-128
• Мэдээллийг encryption хийхээс өмнө compress-
лоно
Мэдээллийн бүрэн бүтэн байдал(message)
• MAC-г shared key-тэй хамт ашиглана
• HMAC-тай ижил гэвч padding нь өөр
19. EC-Council
SSL үүрэг
Клиент-Сервер архитектуртай
TCP суурьтай хэрэглээнүүдийн нууцлал хамгаалалтаар
хангах үүрэгтэй
• HTTPS нууцлалтай холболтыг 443 портоор гүйцэтгэнэ
X509 сертификатын форматын стандартыг ашигладаг
Үйлдэл
• Шифрлэх (encryption)
– Клиент сервер хооронд дамжих байгаа мэдээллийн нууцлал,
халдашгүй байдлыг хангах
• Адилтган танилт (authentication)
– Харилцаж байгаа тал зөвшөөрөгдсөн хэрэглэгч болохыг батлах
21. EC-Council
SSL/TLS протоколын бүтэц
SSL/TLS – протоколын хоёр түвшинт загвартай
• SSL Record Protocol
– Хэрэглээний түвшний протоколыг нууцлалаар болон өгөгдлийн бүрэн бүтэн байдлыг
хангана. Бусад протоколыг өгөгдлийн өөр дотроо хайрцаглаж дамжуулдаг
(encapsulate) e.g., HTTP
• SSL Handshake Protocol
– Сервер, Клиент хооронд адилтган танилтыг гүйцэтгэнэ
– Шифрлэлт, өгөгдлийн бүрэн бүтэн байдлыг хангах алгоритм, түлхүүрүүдийг (cipher
suite ) харилцан тохиролцоно
• Change Cipher Spec Protocol
– SSL record protocol суурилна
– TCP Connection-д ашиглагдаж байгаа cipher suite тодорхойлно
• Alert Protocol
– Алдаа удирдлагын протокол
– Холболтын алдаа болон төлвийг мэдээлнэ
22. EC-Council
SSL Connections ба SSL sessions
SSL connection гэдэг нь TCP connection
• Клиент ба сервер хооронд олон TCP холболт үүсч болно
SSL session гэдэг нь нууцлал хамгаалалтын
харилцан тохиролцоо
• Handshake protocol – оор үүснэ
• Олон SSL connection нэг SSL session-той байх боломжтой
Handshake protocol ажиллагааны дараа төлвийн
мэдээлэл хадгалагдана
• Session: ID, certificate, compression, cipher spec, symmetric
key, …
• Connection: random values, encrypt keys, MAC secrets, IV,
sequence numbers
23. EC-Council
SSL Record Protocol
Үйлчилгээ
• Confidentiality – symmetric encryption
• Message Integrity – MAC
Бусад протоколуудын суурь болно
/нийт 5 байт урттай/
• Protocol – 1 байт
• Version – 2 байт
• Length – 2 байт /өгөгдлийн хэмжээ =>
2^14 = 16384 байтаас хэтрэхгүй/
25. EC-Council
SSL Handshake Protocol
Үүрэг
– Сервер, Клиент хооронд адилтган танилтыг
гүйцэтгэнэ
– Шифрлэлт, өгөгдлийн бүрэн бүтэн байдлыг
хангах алгоритм, түлхүүрүүдийг харилцан
тохиролцоно
Мессэжийн
формат
• Type: 10
төрөлтэй
• Length
• Content:
parameters
29. EC-Council
SSL мессэжүүд
Алхам ҮҮрэг
1 Клиент ClientHello мессежийг илгээж SSL боломжит сонголтуудыг санал
болгодог.
2 Сервер SSL сонголтуудаас сонгож ServerHello мессежийг хариу болгон илгээдэг.
3 Сервер өөрийн нийтийн түлхүүрийн сертификатыг Certificate мессежээр
илгээдэг.
4 Сервер ServerHelloDone мессежээр клиент талын бүх хүсэлтүүдэд хариулж
дууссан. Нууцлалтай холболт үүсэх үе рүү шилжинэ.
5 Клиент сейшн түлхүүрийн мэдээллийг (серверийн нийтийн түлхүүрээр
шифрлэгдсэн) ClientKeyExchange мессежээрээ илгээдэг.
6 Клиент цаашдын бүх мессежүүдээ илгээх тохиролцсон нууцлал хамгаалалтын
сонголтуудаа идэвхижүүлэх ChangeCipherSpec мессежийг илгээдэг.
7 Бүх харилцан тохиролцоо дууссан нууцлал хамгаалалттай холболт үүссэнийг
тодорхойлох Finished мессежийг илгээдэг.
8 Сервер цаашдын бүх мессежүүдээ илгээх тохиролцсон сонголтуудаа идэвхижүүлэх
ChangeCipherSpec мессежийг илгээдэг.
30. EC-Council
CLIENT – HELLO
Version Клиент дэмждэг SSL/TLS
протoколын хамгийн дээд
хувилбарыг таньдаг
RandomNumber Криптограп тооцоолол
хийхэд хэрэглэгдэх 32
байтын санамсаргүй тоо
/Time + Date/
SessionID Тухайн SSL сейшнийг таньдаг
CipherSuites Клиентэд дэмжигддэг
криптограп сонголтуудын
жагсаалт
CompressionMet
hods
Клиентэд дэмжигддэг
өгөгдлийн шахалтын
аргуудыг таньдаг
SERVER – HELLO
Version Клиент дэмждэг SSL протколын
хамгийн дээд хувилбарыг таньдаг
RandomNu
mber
Криптограф тооцоолол хийхэд
хэрэглэгдэх 32 байтын санамсаргүй тоо
SessionID Тухайн SSL сейшнийг таньдаг
CipherSuites Клиентэд дэмжигддэг криптограф
параметрүүдийн жагсаалт
Compressio
nMethods
Клиентэд дэмжигддэг өгөгдлийн
шахалтын аргуудыг таньдаг
1.Харилцаж байгаа талууд
хоорондоо хэрхэн шифрлэх
алгоритмуудаа тохиролцоно
34. EC-Council
Сеrtificate- X.509 сертификатыг мэдээллийг
агуулна
Сервер ServerHelloDone мессежээр клиент талын
бүх хүсэлтүүдэд хариулж дууссан. Нууцлалтай
холболт үүсэх үе рүү шилжинэ.
2. Сервер сертификатыг
илгээнэ
39. EC-Council
ClientKeyExchange- Клиент эхний SSL холболтынхоо
хэсгийг дуусах үед клиент ClientKeyExchange мессежийг хариу
болгон илгээдэг. ClientKeyExchange мессеж нь клиентийн
түлхүүрийн мэдээллийг серверт хэлдэг. Клиентийн мессеж
дахь мэдээлэл серверийн нийтийн түлхүүрийг ашиглан
шифрлэгддэг.
3. Клиет талаас premaster
session түлхүүрийг илгээж,
нууцлалтай холболтыг
эхлүүлнэ
41. EC-Council
ChangeCipherSpec-Клиент түлхүүрийн мэдээллийг
ClientKeyExchange мессежээр илгээсний дараа SSL холболтын
бэлтгэл хэсэг бэлэн болно. Энэ хэсэгт талуудын тохирцол
дуусж тэд аюулгүй байдлаар хангагдсан үйлчилгээг хэрэглэж
эхлэхэд бэлэн болсон байна.
Finished-ChangeCipherSpec мессежүүдийг илгээсний дараа
нэн даруй систем бүр Finished мессежүүдийг илгээдэг.
4. Сервер шифрлэлтийг
эхлүүлж, нууцлалтай
холболт үүснэ
1 Түлхүүрийн мэдээлэл
2 Системүүд хооронд солилцогдсон өмнөх SSL handshake мессежүүдийн контентууд
3 Илгээгч нь клиент үү эсвэл сервер үү гэдгийг заах тусгай утга
43. EC-Council
Change cipher spec process
Write- send sec.info
Read- receive sec.info
Active - known
Pending - unknown
Null – No security
50. EC-Council
SSL/TLS протоколын адитлтган
танилт
Компани сертификат авах хүсэлтийг CA-д
гаргана
CA сертификатыг үүсгэж, тоон гарын үсэг
зурж, компанид олгоно
Серверт сертификатыг суулгана
Клиент буюу Веб хөтөч root certificate-уудыг
агуулна
Клиент буюу Веб хөтөч серверийн
сертификатыг баталгаажуулна
51. EC-Council
Дүгнэлт
Итгэмжлэл ба тоон сертификат:
• SSL/TLS нь нийтийн түлхүүр ашиглана– тоон
сертификат ашиглана
• Сертификатыг баталгаажуулна–certificate path
дагуу хайна
• Веб хөтөч root certificate-уудыг урьдчилан
суулгасан байна. Хэрэглэгч мөн нэмж, хасч болно
Адилтган танилт:
• Адилтган танилт зөвхөн клиент талаас серверийн
итгэмжлэлийг шалгана
• Клиент тал сертификат байхгүй
• Үүний оронд, HTTPS шугмаар хэрэглэгчийн нэр, нууц үгээр
баталгаажуулж адилтган танина
53. EC-Council
Даалгавар (5 оноо)
self-signed сертификаттай https үйлчилгээг
үзүүлэх
Шаардлагатай хэрэгсэл
• Wamp/xampp/apache2
• Openssl
Жишээ: 1.a. Түлхүүр үүсгэх (нууц үг хэрэглээгүй)
#openssl gensra –out key.pem 1024
• Хувийн түлхүүр нь сервер дээр хадгалагдах ба хэзээч нийтэд тараагддаггүй.
• 1024 битийн RSA хувийн түлхүүр үүсгэх. Хэрэв 1024 гэдгийг тодорхойлж өгөөгүй тохиолдолд анхны
утга болох 512 битийн түлхүүр үүсгэгдэнэ.