Компоненты для Delphi и С++Builder: защита и шифрование данных

Наталия Елманова

Shrinker 3.4

CyberBolt

CopyCrypt

TSecurity

Delphi Encryption Compedium

AMNSoft Crypt Library

 

В данной статье приведены некоторые типичные примеры компонентов для Delphi и утилит, назначением которых является защита данных. Условно подобное программное обеспечение можно разделить на следующие категории:

  1. Программное обеспечение, сопровождающее аппаратные средства защиты (API для использования электронных ключей и т.д.) и компоненты, инкапсулирующие вышеупомянутый API.
  2. Программное обеспечение для защиты кода от дизассемблирования (в данном обзоре рассмотрена утилита Shrinker 3.4 корпорации Blink, Inc, выполняющая подобные функции).
  3. Библиотеки, содержащие API, используемый для защиты тех или иных функциональных возможностей приложений с помощью ключей, в том числе сгенерированных на основании данных об аппаратном обеспечении компьютера, и компоненты, инкапсулирующие подобный API (в данном обзоре рассмотрены библиотека CyberBolt и компонент TSecurity, выполняющие данные функции).
  4. Библиотеки, содержащие реализацию различных алгоритмов шифрования (в данном обзоре рассмотрены относящиеся к этой категории программного обеспечения библиотеки CopyCrypt, Delphi Encryption Compedium,AMNSoft Crypt Library).

Отметим, однако, что подобных утилит, библиотек и компонентов создано немало. Интересующиеся данным вопросом могут обратиться к странице http://www.inprise.com/programs/esp/tcb, на которой содержится список разработчиков компонентов и утилит для Delphi и С++Builder, в том числе компонентов и утилит для защиты и шифрования данных.Большая коллекцияусловнобесплатных и свободно распространяемых компонентов и библиотек содержится также на сайте Torrry's Delphi Pages (http://www.torry.ru/).

Shrinker 3.4

http://www.blinkinc.com/ftp/pub/demos/shrdemen.exe

Разработчик — Blink, Inc (CША), http://www.blinkinc.com/

Существуют версии для DOS, Windows 3.x, Windows 95/98/NT

Последние версии доступны по адресу http://www.blinkinc.com/shrinker.htm

Эта утилита предназначена для сжатия исполняемых файлов и библиотек (*.EXE, *..DLL, *.BPL,*.OCXи др.), созданных с помощью широкого спектра средств разработки, включая Delphi, Visual Basic, VisualC++, C++Builder, что уменьшает время их загрузки и связанный с этим сетевой трафик, а также экономит дисковую память. При запуске сжатые файлы автоматически«разворачиваются» в оперативной памяти без какой бы то ни было потери функциональности и производительности, и этот процесс не требует ни использования дополнительных процедур распаковки, ни применения каких-либо дополнительных библиотек. Одновременно с уменьшением времени загрузки исполняемых файлов этот компонент также защищает исполняемый код от дизассемблирования.

Сжатие данных основано на поиске повторяющихся последовательностей байтов, их кодировании и хранении кодов вместо исходных последовательностей. При декомпрессии исходный файл восстанавливается с помощью таблицы закодированных последовательностей, хранящейся в сжатой версии файла.

Данная утилита позволяет выбирать различные параметры сжатия. Например, существует возможность создавать сжатые файлыдаже для тех случаев, когда результат сжатия незначителен, например, с целью обеспечения защиты от дизассемблирования. Возможно также сохранить дату и время создания сжатой версии файла равной дате и времени исходного файла. В разделе Options/Advancedможно также выбрать, какие именно ресурсы (пиктограммы, графические изображения и др.), содержащиеся в приложении или библиотеке, следует сжимать.

В начало В начало

CyberBolt

http://www.torry/vcl/security/cbdemo.zip

Разработчик — EFD Systems (США), efd@mindspring.com/

Последние версии доступны по адресу http://www.torry.ru/vcl/security/cbdemo.zip

CyberBoltпредставляет собой библиотеку для Delphi, содержащую API длязащиты части функциональности приложения от несанкционированного доступас помощью ключей и кодов.

Ключ представляет собой цифровую последовательность,позволяющую разрешить использование  определенных функциональных возможностей программного продукта на данном компьютере. Обычно он предоставляется разработчиком программного обеспечения после выполнения пользователем тех или иных требований (например, оплаты продукта).В свою очередь, код представляет собой цифровую последовательность, идентифицирующую конкретный компьютер. Обычно пользователь высылает сгенерированный кодавтору программного обеспечения в обмен на ключ.

CyberBolt может быть использован для создания демонстрационных версий продуктов с ограниченным временем действия, shareware-продуктов, продуктов, распространяемых в электронном виде.

Ключи, генерируемые CyberBolt, имеют защиту отнаиболее распространенных способов несанкционированного доступа к программному обеспечению, таких как изменение значения даты в операционной системе, изменения в исполняемом файле, попытки автоматизированного подбора ключа. При этом, несмотря на «привязку»ключа к конкретному компьютеру, есть возможность замены какого-либо из компонентов его аппаратного или программного обеспечения (операционной системы, материнской платы, видеоадаптера, жесткого диска и др.) с последующим обновлением ключа.

В начало В начало

CopyCrypt

http://www.torry/vcl/security/copycrpt.zip

Разработчик — Gordon Bamber, gbamber@mistral.co.uk

Последние версии доступны по адресу http://www.torry.ru/vcl/security/copycrpt.zip

Это библиотека DLL,предназначенная для быстрой шифровки с паролем и дешифровки файлов большого объема (например, баз данных).Может быть использована в любом средстве разработки, поддерживающем вызов функций Windows API.

Библиотека содержит две функции: EncodeSingle и DecodeSingle для шифровки и дешифровки файлов соответственно.

При шифровке файлов исходный файл считывается в оперативную память и расшифровывается перед записью на диск с сохранением исходного файла. Аналогичным образом производится и обратная операция.

В комплект поставки включен PAS-файл, содержащий интерфейс к данной библиотеке.

Использование данного продукта лицами моложе 18 лет не рекомендуется ввиду весьма специфического тексталицензионного соглашения.

В начало В начало

TSecurity

http://www.torry.ru/vcl/security/pbsecurity.zip

Разработчик — Petar Banicevic, Petar.Banicevic@usa.net

Стоимость: 40 долл.

Стоимость исходного текста: 60 долл.

Последние версии доступны по адресу http://www.torry.ru/vcl/security/pbsecurity.zip

Этот компонент предназначен для защиты программного обеспечения от незарегистрированных пользователей с помощью «привязки» к конкретному жесткому диску. Любое другое аппаратное обеспечение данного компьютера может быть изменено.

Компонент TSecurity помещается на форму, в которой пользователю предлагается зарегистрироваться. Одним из свойств этого компонента является код, сгенерированный на основании данных о жестком диске, и именно его пользователь должен выслать автору программного продукта, получив взамен номер лицензии, который должен быть сгенерирован автором защищаемого продукта с использованием того же компонента TSecurity. В дальнейшем при вводе пользователем полученного номера лицензии он сравнивается со значением, сгенерированным компонентом TSecurity.

Примечание. Данный компонент не работает со SCSI-дисками. Не рекомендуется использование его со съемными носителями типа Iomega ZIP.

В начало В начало

Delphi Encryption Compedium

http://www.torry.ru/vcl/security/chipher.zip

Разработчик— Hagen Reddmann, HaReddmann@AOL.COM

Freeware; поставляется с исходными текстами

Последние версии доступны по адресу http://www.torry.ru/vcl/security/chipher.zip

Delphi Encryption Compedium представляет собой библиотеку классов Delphi, реализующую сорок различных алгоритмов шифрования (Gost, Cast128, Cast256, Blowfish, IDEA Mars, Misty 1, RC2, RC4, RC5, RC6, FROG, Rijndael,SAFER, SAFER-K40, SAFER-SK40, SAFER-K64, SAFER-SK64, SAFER-K128, SAFER-SK128, TEA, TEAN,Skipjack, SCOP, Q128, 3Way, Twofish, Shark, Square, Single DES, Double DES, Triple DES, Double DES16, Triple DES16,TripleDES24, DESX, NewDES, Diamond II, Diamond II Lite,Sapphire II), пять алгоритмов проверки контрольных сумм (XOR16, XOR32, CRC32, CRC16-CCITT, CRC16-Standard), двадцать три алгоритма хэширования (MD4, MD5, SHA, SHA1, Haval (128-256), RipeMD (160-320), Snefru, Tiger, Square, SapphireII (128-320) ).

При использовании следует обратить внимание на то, разрешено ли применение того или иного алгоритма шифрования в данной стране или странах, импортирующих созданный продукт.

В начало В начало

AMNSoft Crypt Library

http://www.torry.ru/vcl/security/amncrpt.zip

Разработчик — Алексей Новоселов, support@savecontrols.com

Shareware

Возможно свободное использование в некоммерческих целях

Стоимость — 19 долл.

Последние версии доступны по адресу http://www.torry.ru/vcl/security/amncrpt.zip, http://www.savecontrols.com

AMNSoft Crypt Libraryпредставляет собой динамически загружаемую библиотеку amncrypt.dll.Библиотека содержитфункции для шифрования строк и файлов с помощью нескольких различных алгоритмов. Удобна для шифрования паролей.

Координаты автора:

Elmanova@citmgu.ru,

http://www.geocities.com/SiliconValley/Way/9281

КомпьютерПресс 8'1999