🛡 Криптография для разработчиков
Последние 2 месяца занимался автоматизацией PKI (Public Key Infrastructure). Поработал с Let’s Encrypt, GoDaddy, Active Directory Certificate Servcies (PKI от Microsoft), а также с алгоритмами асимметричного шифрования, хэширования и процессом выписывания сертификатов и т.д.
В процессе изучения темы сохранил множество полезных ресурсов, которые помогли мне разобраться в многообразии криптографических алгоритмов, протоколов и стандартов. Охотно делюсь этим списком с вами.
1. Книга «Practical Cryptography for Developers, Svetlin Nakov».
Бесплатная open-source книга о базовых концептах в криптографии. Написана простым языком, без матана, поскольку автор старался написать книгу, подходящую для практического применения IT-специалистами, а не для академического изучения в университетах. Книга всё ещё в разработке и некоторые главы не дописаны. Тем не менее считаю её очень полезной.
2. Серия роликов о PKI.
Видео о том, что такое PKI, Certificate Authority (CA), Root CA, зачем нужны сертификаты, что такое цепочка сертификатов, для чего она и так далее.
3. Статья на Википедии о Certificate Signing Request (CSR) и PKCS#10.
CSR – это то, с чего начинается процесс выпуска сертификата. Самый распространённый формат CSR – PKCS#10. Поэтому про него тоже обязательно нужно прочитать.
4. Видео про X.509 сертификаты.
Видеоролик с объяснением работы сертификатов X.509. Немного повторяет серию роликов о PKI, но повторение - мать учения.
5. Неймспейс System.Security.Cryptography.
Если вы C# разработчик, то этот неймспейс – ваш бро. Серьёзно, там есть если не всё, так очень многое, что требуется для работы с X.509, асимметричными ключами, алгоритмами шифрования и т.д.
6. Алгоритм подписи на эллиптических кривых (ECDSA).
Отличная статья на Хабре, понятно объясняющая как устроена криптография на эллиптических кривых.
7. Протокол Automated Certificate Management Environment (ACME).
Видео об основах работы протокола ACME. Понимание на базовом уровне этого протокола необходимо для автоматизации получения сертификатов от провайдеров, которые его поддерживают, например, Let’s Encrypt и GoDaddy. При желании углубиться в протокол можно почитать RFC 8555.
8. C# клиент для работы с ACME.
Одна из немногих опенсорсных C# библиотек для работы с ACME, которая более-менее активно поддерживается. В дискуссии можно даже найти мой коммент с благодарностью. :)
Под конец, небольшой оффтоп: набор шпаргалок по теме информационной безопасности.
И проверим, сколько из нас знает, как работает криптография с публичным ключом 👇
Последние 2 месяца занимался автоматизацией PKI (Public Key Infrastructure). Поработал с Let’s Encrypt, GoDaddy, Active Directory Certificate Servcies (PKI от Microsoft), а также с алгоритмами асимметричного шифрования, хэширования и процессом выписывания сертификатов и т.д.
В процессе изучения темы сохранил множество полезных ресурсов, которые помогли мне разобраться в многообразии криптографических алгоритмов, протоколов и стандартов. Охотно делюсь этим списком с вами.
1. Книга «Practical Cryptography for Developers, Svetlin Nakov».
Бесплатная open-source книга о базовых концептах в криптографии. Написана простым языком, без матана, поскольку автор старался написать книгу, подходящую для практического применения IT-специалистами, а не для академического изучения в университетах. Книга всё ещё в разработке и некоторые главы не дописаны. Тем не менее считаю её очень полезной.
2. Серия роликов о PKI.
Видео о том, что такое PKI, Certificate Authority (CA), Root CA, зачем нужны сертификаты, что такое цепочка сертификатов, для чего она и так далее.
3. Статья на Википедии о Certificate Signing Request (CSR) и PKCS#10.
CSR – это то, с чего начинается процесс выпуска сертификата. Самый распространённый формат CSR – PKCS#10. Поэтому про него тоже обязательно нужно прочитать.
4. Видео про X.509 сертификаты.
Видеоролик с объяснением работы сертификатов X.509. Немного повторяет серию роликов о PKI, но повторение - мать учения.
5. Неймспейс System.Security.Cryptography.
Если вы C# разработчик, то этот неймспейс – ваш бро. Серьёзно, там есть если не всё, так очень многое, что требуется для работы с X.509, асимметричными ключами, алгоритмами шифрования и т.д.
6. Алгоритм подписи на эллиптических кривых (ECDSA).
Отличная статья на Хабре, понятно объясняющая как устроена криптография на эллиптических кривых.
7. Протокол Automated Certificate Management Environment (ACME).
Видео об основах работы протокола ACME. Понимание на базовом уровне этого протокола необходимо для автоматизации получения сертификатов от провайдеров, которые его поддерживают, например, Let’s Encrypt и GoDaddy. При желании углубиться в протокол можно почитать RFC 8555.
8. C# клиент для работы с ACME.
Одна из немногих опенсорсных C# библиотек для работы с ACME, которая более-менее активно поддерживается. В дискуссии можно даже найти мой коммент с благодарностью. :)
Под конец, небольшой оффтоп: набор шпаргалок по теме информационной безопасности.
И проверим, сколько из нас знает, как работает криптография с публичным ключом 👇