Предлагаемая вниманию читателей книга посвящена описанию программных интерфейсов библиотек криптографических функций (криптографических интерфейсов) и методам их использования в прикладных программах. В книге рассмотрены основы использования криптографических интерфейсов в приложениях операционной системы Windows, создаваемых на языках программирования Object Pascal и C++, а также в приложениях для сети Интернет, создаваемых на языках сценариев JavaScript и VBScript. Изложение материала сопровождается примерами создания и хранения криптографических ключей, шифрования и расшифрования файлов и сообщений, их хеширования, вычисления и проверки электронной цифровой подписи, работы с сертификатами открытых ключей и их хранилищами. Основное внимание при этом уделено криптографическим интерфейсам операционной системы Windows, что объясняется, прежде всего, ее доминирующем положением на рынке операционных систем для персональных компьютеров. Еще одной причиной рассмотрения в данной книге криптографических интерфейсов Windows является возможность замены в уже разработанном приложении одной библиотеки криптографических функций на другую, созданную заслуживающей большего доверия организацией или реализующей более стойкие криптографические алгоритмы и протоколы. Эта замена может быть произведена без какой-либо переделки прикладной программы. В первой главе книги рассматриваются характеристики и примеры современных симметричных и асимметричных криптографических систем, функций хеширования и механизма электронной цифровой подписи. Представлены основные сведения об инфраструктуре открытых ключей и ее компонентах, а также принципы построения и использования CryptoAPI и основные типы провайдеров (библиотек) криптографического обслуживания (криптопровайдеров). Вторая глава монографии посвящена функциям базового набора CryptoAPI. В ней впервые в отечественной литературе приводятся сведения и примеры программ для управления доступом к контейнерам криптографических ключей. В третьей главе книги рассматриваются основные функции и структуры данных из набора функций CryptoAPI для использования сертификатов открытых ключей. Приведены многочисленные примеры для различных языков и систем программирования. Четвертая глава монографии посвящена вопросам использования криптографических многокомпонентных объектов (из набора CAPICOM) в сценариях для сети Интернет. Дополнительно рассмотрены объекты, предназначенные для подготовки и отправки запроса сертификата в удостоверяющем центре и получения изготовленного сертификата. В последней, пятой, главе книги рассмотрены системные программы ОС Windows, предназначенные для создания и управления сертификатами, а также вычисления и проверки электронной цифровой подписи под файлами с программным обеспечением и другими данными. В частности, рассматриваются различные средства запроса и получения сертификатов в удостоверяющем центре организации и автономном (изолированном) удостоверяющем центре. Книга предназначена для разработчиков программных средств защиты информации, специалистов, интересующихся современными методами и средствами криптографической защиты информации в компьютерных системах, студентов и аспирантов вузов. |