Более подробная информация о Марке Руссиновиче содержится на следующих ресурсах:
• Марк Руссинович в «Википедии»: https://en.wikipedia.org/wiki/Mark_Russinovich;
• книги Марка Руссиновича: https://www.amazon.com/Mark-E.-Russinovich/e/B001IGNICC/;
• веб-сайт Марка Руссиновича: http://markrussinovich.com/;
• Марк Руссинович в Twitter: https://twitter.com/markrussinovich;
• блог Марка Руссиновича на сайте Microsoft: https://azure.microsoft.com/ru-ru/blog/author/markruss/;
• крутые утилиты Марка Руссиновича: https://docs.microsoft.com/en-us/sysinternals/.
Бо́льшая часть технологий в сфере информационной безопасности касается криптографии. Криптография существует уже целую вечность и будет существовать еще долго после того, как мы покинем планету Земля в поисках других гостеприимных планет. Криптография – это отрасль ИБ, которая мне больше всего нравится, хотя после почти трех десятилетий увлечения ею я не считаю себя экспертом в этой области.
В цифровом мире криптография – это использование последовательностей единиц и нулей для шифрования или верификации цифрового контента. Она включает в себя использование математических формул (называемыми шифрами) наряду с единицами и нулями (называемых криптографическими ключами) для предотвращения несанкционированного доступа людей к конфиденциальному контенту или для аутентификации другого человека или легитимного контента.
Самый простой пример шифрования, который я могу привести, – это когда некоторое незашифрованное содержимое преобразуется в зашифрованное представление перемещением букв алфавита на одну позицию (например, А становится Б, Б становится В, В становится Г и так далее, пока Я не станет А). Таким образом, МОЗГ становится НПИД-ом. Дешифровщик может повернуть процесс вспять и отобразить исходный открытый текст. В этом примере шифр – это математика, которая в данном случае касается операций сложения или вычитания, а ключом служит единица. Как бы прост ни был этот шифр, его использовали на протяжении многих лет, несмотря на то что его легко дешифровать.
В современном цифровом мире криптографические ключи обычно имеют размер не менее 128 бит, если не больше. В зависимости от шифра ключ может быть длиннее, хотя, если алгоритмы устойчивы к криптоатакам, обычно самые длинные из них составляют 4096 бит. Если вам встречаются ключи еще больше, это указывает на слабые алгоритмы или кого-то, кто не очень хорошо знает криптографию (или пытается продать эти коды людям, которые в этом не сильны).
Люди, которые не знакомы с криптографией, не понимают, почему хакеры не пробуют все возможные комбинации единиц и нулей, которые могут быть применены в результате определенного размера ключа. Не мог ли кто-то с очень быстрым компьютером подобрать все возможные комбинации? Нет. Даже размер современного ключа в 2000 бит устойчив против «перебора грубой силой». Мало того что для этого не существует достаточно мощного компьютера, но даже если бы вы использовали все компьютеры в мире, которые уже изобрели или изобретут в будущем, им все равно не хватило бы мощности (по крайней мере, до тех пор, пока квантовые вычисления не станут реальностью). Следовательно, взлом криптографических средств связан с утечками или слабыми алгоритмами. Криптографические алгоритмы, мягко говоря, сложны, и то, что первоначально может выглядеть непобедимой математикой, часто оказывается полным недостатков, которые позволяют быстро взломать систему. Вот почему стандарты шифрования и размеры ключей постоянно меняются, поскольку старые шифры ослабевают, а новые, более устойчивые, появляются.
Если ключ шифрования совпадает с тем, что используется для расшифровки в дальнейшем (например, в простом примере выше), то шифр называется симметричным. Если ключ, используемый для шифрования, отличается от ключа, используемого для расшифровки, шифр называется асимметричным. Асимметричные шифры также известны как шифрование с открытым ключом, когда шифрующая сторона имеет закрытый ключ, который знает только она, а расшифровывающая сторона – открытый, и до тех пор, пока посторонние не знают закрытый ключ, коммуникации защищены. Однако симметричное шифрование обычно выполняется быстрее и надежнее.
В наши дни многие шифры хорошо известны и протестированы, чтобы стать отраслевыми, если не мировыми, стандартами.
Популярные симметричные ключи шифрования включают алгоритм для симметричного шифрования (DES), 3DES (тройной DES) и симметричный алгоритм блочного шифрования (AES). Первые два алгоритма устарели и больше не используются. Последний считается криптостойким и наиболее популярным симметричным шифром, используемым сегодня. Размеры ключей симметричных шифров обычно варьируются от 128 до 256 бит, но постепенно их размер увеличивается. Каждое увеличение, скажем, со 128 до 129 бит, обычно двукратно усиливает надежность ключа в пределах одного и того же шифра.
Популярные асимметричные шифры включают криптографический протокол Диффи – Хеллмана (о Мартине Хеллмане поговорим в следующей главе), протокол Ривеста – Шамира – Адлемана (RSA) и эллиптическую криптографию (ECC). Эллиптическая криптография – новая технология в этой сфере и только начинает использоваться. Размеры ключей асимметричных шифров обычно варьируются от 1024 до 4096 бит, хотя сегодня 2048 бит считается минимальным допустимым размером для протоколов Диффи – Хеллмана и RSA. Эллиптическая криптография использует меньшие размеры ключей, начиная с 256 бит. 384 бита считаются достаточно надежным вариантом. Как правило, асимметричные шифры используются для безопасной передачи симметричных ключей, которые выполняют бо́льшую часть шифрования между отправителем и получателем.