![Page 1: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/1.jpg)
Шифрование и безопасность
Денис Нелюбин
![Page 2: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/2.jpg)
Дайджест• a.k.a. [Cryptographic] Hash Function
![Page 3: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/3.jpg)
Дайджест• MD5 (Структура Меркла-Дамгарда)• SHA-1 (Secure Hash Algorithm 1)• SHA-256 (SHA-2, 256 бит)
md5sum, sha256sum
![Page 4: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/4.jpg)
Ассиметричное шифрование• a.k.a Шифрование с открытым ключом
![Page 5: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/5.jpg)
Шифрование сообщения
![Page 6: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/6.jpg)
Цифровая подпись
![Page 7: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/7.jpg)
Шифрование и подпись
![Page 8: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/8.jpg)
Алгоритмы• RSA (Rivest, Shamir и Adleman)• DSA (Digital Signature Algorithm)• ECC (Elliptic curve cryptography)• ГОСТ Р 34.10-2012
![Page 9: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/9.jpg)
Симметричное шифрование
![Page 10: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/10.jpg)
Алгоритмы• AES (Advanced Encryption
Standard)a.k.a. Rijndael
• Blowfish• DES и Triple DES
(Data Encryption Standard)
![Page 11: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/11.jpg)
Гибридное шифрование
![Page 12: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/12.jpg)
ssh• Гибридное шифрование• ~/.ssh/id_rsa — приватный ключ• ~/.ssh/id_rsa.pub — публичный
ключ
ssh-keygen
![Page 13: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/13.jpg)
Вопрос доверияОткуда Алиса знает, что публичный ключ Боба, действительно принадлежит Бобу?
![Page 14: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/14.jpg)
Доверие в ssh~/.ssh/authorized_keys — публичные ключи, которым разрешено входить в систему под именем данного пользователя
![Page 15: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/15.jpg)
Почему не пароль?>>> 95**203584859224085422343574104404449462890625L
>>> 2**409610443888814131525066917527107166243825799642490473837803842334832839539079715
57456848826811934997558340890106714439262837987573438185793607263236087851365277945956976543709998340361590134383718314428070011855946226376318839397712745672334684344586617496807908705803704071284048740118609114467977783598029006686938976881787785946905630190260940599579453432823469303026696443059025015972399867714215541693835559885291486318237914434496734087811872639496475100189041349008417061675093668333850551032972088269550769983616369411933015213796825837188091833656751221318492846368125550225998300412344784862595674492194617023806505913245610825731835380087608622102834270197698202313169017678006675195485079921636419370285375124784014907159135459982790513399611551794271106831134090584272884279791554849782954323534517065223269061394905987693002122963395687782878948440616007412945674919823050571642377154816321380631045902916136926708342856440730447899971901781465763473223850267253059899795996090799469201774624817718449867455659250178329070473119433165550807568221846571746373296884912819520317457002440926616910874148385078411929804522981857338977648103126085903001302413467189726673216491511131602920781738033436090243804708340403154190336L
![Page 17: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/17.jpg)
ssh/etc/ssh/sshd_config
PubkeyAuthentication yesPasswordAuthentication no
![Page 18: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/18.jpg)
Доверие в PGP (GPG)• Боб дал отпечаток (дайджест) своего
ключа Алисе при личной встрече• Алиса подписала публичный ключ Боба
своим приватным ключом• Публичный ключ Боба и подпись Алисы
доступны всем• Сеть доверия
![Page 19: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/19.jpg)
Доверие в SSL/TLS
![Page 20: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/20.jpg)
Доверие в SSL/TLSДоверие корневым центрам сертификации (CA — Certificate Authority)
![Page 21: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/21.jpg)
Цепочка сертификатов
![Page 22: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/22.jpg)
Сертификат
![Page 23: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/23.jpg)
X.509DN — Distinguished nameCN — Common nameCN = www.example.org
OU = Technology
O = Internet Corporation for Assigned Names and Numbers
L = Los Angeles
ST = California
C = US
![Page 24: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/24.jpg)
Сертификат• Публичный ключ• Имя владельца• Атрибуты
– Срок действия– Сфера действия– ...
• Подпись
![Page 25: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/25.jpg)
Файлы.pem (Privacy-enhanced Electronic Mail) — в base64 (-----BEGIN … -----END…).p12, .pfx (PKCS #12, Public-Key Cryptography Standards) — в бинарном видеkeystore — в Java формате
![Page 26: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/26.jpg)
SSL/TLS• Гибридное шифрование• Проверка сертификата сервера через
цепочку доверия• Проверка сертификата клиента
(в некоторых случаях)• Длинный SSL handshake
![Page 27: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/27.jpg)
HTTPSHTTP поверх SSL/TLS
![Page 28: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/28.jpg)
Самоподписанный сертификат
• Сертификат, подписанный своим приватным ключом
• Нулевая цепочка доверия• Для тестов
![Page 29: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/29.jpg)
Wildcard сертификатCN = *.example.com
![Page 30: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/30.jpg)
Получение сертификата• Сгенерировать
– Приватный ключ– Публичный ключ — самоподписанный
сертификат• Сформировать запрос на подпись (CSR)• Получить подписанный сертификат
(и промежуточные сертификаты)
![Page 31: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/31.jpg)
На сервере• Приватный ключ• Сертификат• Цепочка подписей
![Page 32: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/32.jpg)
Браузер• Имеет список доверенных CA• Проверяет сертификат сервера:
– Соответствие CN домену запроса– Срок действия– Цепочку доверия– Не отозван ли?
• CRL• OCSP
![Page 33: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/33.jpg)
Как хранить пароли
![Page 34: Стажировка 2016-08-04 01 Денис Нелюбин. Шифрование и безопасность](https://reader035.vdocuments.mx/reader035/viewer/2022062412/58ed2b391a28ab99628b465b/html5/thumbnails/34.jpg)
Почитатьhttps://ru.wikipedia.org/wiki/Сложность_пароляhttps://ru.wikipedia.org/wiki/Криптосистема_с_открытым_ключомhttps://ru.wikipedia.org/wiki/SSL