Open ssl асосида сертификатлар ҳосил қилиш Ишдан мақсад
Download 478 Kb.
|
7-amaliyot
- Bu sahifa navigatsiya:
- Назарий қисм
- Амалий қисм: 1-босқич.
- 3-босқич.
- Дешифрлаш: openssl> rsautl -decrypt -inkey mykey.pem -in mycipher -out mycipher.dec Изоҳ.
Open SSL асосида сертификатлар ҳосил қилиш Ишдан мақсад: Open SSL билан ишлаш кўникмасига эга бўлиш, Open SSL да сертификатлар ҳосил қилиш, шифрлаш, хэш қийматларни ҳисоблаш ва ЭРИ калитларини ҳосил қилиш амалларини бажаришни ўрганиш. Назарий қисм: Интернет тармоғида маълумотлар алмашинуви хавфсизлигини таъминлаш мақсадида, HTTPS протоколи фойдаланилади. Ушбу протокол асосини SSL (SSL ёки TLS) криптографик протоколи ташкил қилади. SSL протоколи OSI модули сатҳини транспорт ва илова сатҳи оралиғида ишлайди ёки бошқача қилиб айтганда HTTP ва TCP протоколи оралиғида ишлайди. SSL протоколи икки фойдаланувчи орасида аутентификацияни, маълумот махфийлигини ва бутунлигини таъминлайди. SSL протоколи кетма-кетлиги қуйидаги кетма-кетликлардан иборат: Расм. Соддалаштирилган SSL протоколи 2-расм. SSL протоколи 1) Client->server: client hello Protocol version list (SSLv2, SSLv3, TLSv1 ...) Session ID Cipher suite list Key exchange algorithm list (RSA, Diffie-Hellman ...) Symmetric key algorithm list (TripleDES, DES ...) Message digest algorithm list (SHA-1, MD5 ...) Compression algorithm list (PKZip, gzip ...) Random number (196, 201, 083) 2) Server -> client: server hello Protocol version (TLSv1, SSLv3 ...) Session ID Chosen cipher suite Key exchange algorithm (RSA) Symmetric key algorithm (DES) Message digest algorithm (SHA-1) Compression algorithm (PKZip) Random number (823, 495, 127) 3) Server -> client: server certificate 4) Server -> client: hello done 5) Client -> server: pre-master secret (48 bytes) encRSA((client_version, random[46]), e_S) // e_S is the public key of the server Клиент ва Сервер 6 та калит ҳосил қилади. Улардан 3 таси КлиентСервер тизимида ва учтаси СерверКлиент тизимида фойдаланилади. Шулардан ҳар бир томон учун, битта шифрлаш учун, битта бутунликни таъминлаш учун ва битта бошланғич вектор қийматларидан иборат. 6) Server <-> client: finished encDES(finished_message, session_key) OpenSSL қуйидагиларни таъминлайди: libssl.a:SSLv2, SSLv3, TLSv1 протоколлари ssl client/server ни ҳосил қилишда фойдаланилади. libcrypto.a: ssl/tls протоколида фойдаланилган шифрлаш алгоритмларива х509 сертификатидан иборат. Шифрлаш учун: libdes (DES), RC4, RC2, Blowfish, IDEA Хешлаш учун: MD5, MK2, SHA, SHA-1, MDC2 Очиқ калитли шифрлаш алгоритмлари RSA, DSA, Diffie-Hellman X509 учун X509 encoding/decoding амали Амалий қисм: 1-босқич. ОpenSSL ни ўрнатиш: openssl-0.9.8h-1-setup.exe ни босинг ва дастурни ўрнатинг. Дастур ўрнатилган манзилга ўтинг directory/bin; openssl.exe ни икки марта босинг. 2-босқич. openssl ёрдамида RSA калит жуфтларини ҳосил қилиш. Контентдан n, e, ва d ни топинг. Дастурдан тўлиқроқ фойдаланиш учун дастур ўрнатилган асосий каталогдан man/pdf/openssl-mal.pdf файлига мурожат қилинг. openssl> genrsa -out mykey.pem 1024 // generate public/private key pair in file "mykey.pem" with keysize 1024 bits. // default size 512 bits if keysize is not specified openssl> rsa -in mykey.pem -text -out mykey.txt // display the contents of "mykey.pem" in plain text in // output file "mykey.txt" 3-босқич. махфий калит билан ихтиёрий матнни шифрлаш ва уни дешифрлаш орқали ишонч ҳосил қили Шифрлаш: openssl> rsautl -encrypt -inkey Student.pem -in myplain.txt -out mycipher Дешифрлаш: openssl> rsautl -decrypt -inkey mykey.pem -in mycipher -out mycipher.dec Изоҳ. PEM (Privacy Enhanced Mail) файл формати иккилик файлни ascii файл кўришинига base64 асосга кўра конвертация қилиш. Бунга кўра кирувчи ҳар 6 бит маълумот {A-Z, a-z, 0-9, +, -} символлар билан алмаштирилади. Масалан: Man ==> 77 97 110 ==> 01001101 01100001 01101110 ==> T (010011, 19) W (010110, 22) F (000101, 5) u (101110, 46) 4-босқич. X.509 сертификатини ҳосил қилиш. 4.1) "myconf.txt" деб номланувчи конфиг файлни яратинг ва унга қуйидагиларни киритинг. [req] string_mask = nombstr distinguished_name = req_distinguished_name prompt = no [req_distinguished_name] commonName = my CA stateOrProvinceName = some state countryName = US emailAddress = root@somename.somewhere.com organizationName = mycompany 4.2) сертификатни яратиш req -config myconf.txt -new -x509 -key Student.pem -out Student.pem 4.3) сертификат ташкил этувчиларини кўриш x509 -in mycert.pem -text -out mycert.txt Download 478 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling