программа шифрование данный
v\:* {behavior:url(#default#VML);}o\:* {behavior:url(#default#VML);}w\:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}Методы защиты от незаконного копированияAlexandre KatalovNormalDimkacom462000-09-20T10:01:00Z2002-06-11T16:52:00Z2002-06-11T16:58:00Z31517629505Elcom Ltd21248024559362349.38211700НазадГЛАВА III ПРОГРАММНАЯ ЗАЩИТА · Традиционные методы защиты от копирования· Способы создания ключевых дисков· Способы создания ключей на жесткихдисках· Базовые методы программной защиты· Парольная защита· Шифрование· Методы защитыусловно-бесплатного программного обеспечения Методы программной защиты,которые мы рассмотрим в этой главе, реализовывают подходы к защите авторскихправ, основанные на противодействии либо созданию копий программы (воспроизведению),либо попыткам запуска и/или исполнения незаконной копии. ! Подчеркнем еще раз, что любая программная защита может быть снятаза конечное время. Преимуществами обладает программнаязащита такой сложности, при которой нарушитель для взлома защиты должензатратить средства (материальные программа шифрование данный временные), несравнимые со средствами,необходимыми на покупку программного продукта или создание собственного кода.Говоря другими словами, надежной является такая программная защита, если длявзлома или обхода механизма защиты нарушителю необходимо обладать высокимпотенциалом нападения, то есть обладать высокой квалификацией, располагатьзначительными материальными, трудовыми программа шифрование данный временными ресурсами. Следовательно, максимальновозможное затруднение обнаружения, исследования и/или модификации механизмазащиты - первоочередная задача автора программной защиты. Традиционные методы защиты от копирования В связи с тем, что долгоевремя программные продукты распространялись посредством гибких магнитныхдисков, наиболее развитыми являлись средства защиты программных продуктов,размещенных на гибких магнитных дисках. А методы защиты программных продуктовот копирования часто назывались методами защиты дисков от копирования или,коротко, методами защиты дисков.Методы защиты гибкихмагнитных дисков от копирования базируются на следующем. На диск, содержащийзащищаемую программу, помещается некоторая скрытая ключевая информация, называемаяключевым признаком или ключом. Иногда ключевой признак называют меткойдиска. Диск, содержащий ключевой признак, называют ключевым диском. Очевидно, что отсутствие ключа на диске,на котором присутствует копия программы, свидетельствует о незаконности копии.Практически для реализациизащиты с помощью ключевого диска основной код программы дополняется модулем,задачей которого является проверка диска на наличие ключа или, другими словами,ключевое сравнение. Присовпадении ключа с эталоном необходимо передать управление основному кодупрограммы, в противном случае - завершить выполнение программы. ! Главнойзадачей защиты от копирования программы является не допустить копированиеключевого признака на другой диск. Способы создания ключевых дисков Рассмотрим наиболее распространенныеприемы создания ключей для защиты от копирования гибких магнитных дисков. Создать ключ для защиты откопирования можно двумя способами:1) аппаратным путем;2) программным путем.В первом случае с помощьюаппаратуры (чаще с помощью лазера для большей точности) специальноповреждается некоторая часть поверхности диска. Затем вычисляются (например, путемзаписи программа шифрование данный чтения в каждый сектор) номера поврежденных секторов, которые программа шифрование данный будутявляться ключом защиты. На диске, содержащем незаконную копию программы,секторы с соответствующими номерами не будут поврежденными, так как средствамикопирования невозможно воспроизвести поврежденные секторы. При проверке легальностикопии в секторы с определенными номерами необходимо записать произвольнуюинформацию программа шифрование данный считать ее. Легальная копия обнаруживает ошибку при чтении илизаписи.Замечание. Данный метод применяется в основном длягибких магнитных дисков.Программные методы создания ключевых дисков более разнообразны. Каки аппаратные методы, они основаны на идее создания такого ключа, который не можетбыть корректно считан и/или записан.Необходимо отметить, чтопервоначально программные методы защиты были ориентированы на программыкопирования, которые распознавали только стандартные форматы дискет.Стандартный формат дискет обеспечивает строго определенную структуру, в которойпараметры форматирования (нумерация цилиндров, дорожек, секторов диска, размерсекторов программа шифрование данный другие) имеют предопределенные значения. Например, для дискетдиаметром 3,5 дюйма программа шифрование данный емкостью 1,44 Мб стандартно номера цилиндров изменяютсяпоследовательно от 0 до 79, программа шифрование данный секторов - от 1 до 18.Следовательно, еслиотформатировать дискету особым (нестандартным) образом программа шифрование данный разместить ключ натакой дискете, обычные программы копирования не смогут воспроизвести ключевойпризнак. Методы защиты от копирования, основанные на данной идее, объединеныобщим названием - метод нестандартногоформатирования гибкого магнитного диска. Практическая реализацияметода заключается в том, что часть гибкого магнитного диска (обязательносистемные области плюс некоторое пространство диска) форматируется со стандартнымипараметрами. Остальная часть диска форматируется нестандартно, программа шифрование данный здесьразмещается защищаемая программа. В стандартно отформатированной области хранится специальная программа,предназначенная для загрузки программа шифрование данный запуска на выполнение защищаемой программы, которой«известны» нестандартные параметры. На практике разработаномножество способов нестандартного форматирования дискеты программа шифрование данный соответствующегоразмещения на дискете ключевой информации. Для того, чтобы было легче разобраться с этими способами,коротко напомним основные понятия программа шифрование данный структуру гибкого магнитного диска.На гибком магнитном дискеданные записаны на обеих поверхностях диска (двусторонние дискеты). Каждаяповерхность диска обслуживается соответствующей головкой (нижняя сторонадискеты головкой с номером 0, верхняя - с номером 1). Поверхность дискапредставляет собой последовательность дорожек. Дорожка - это концентрическаяокружность, на которой в виде последовательности битов хранится информация.Пара противолежащих дорожек называется цилиндром. Каждая дорожка программнымобразом (программа форматирования) размечается на секторы. Длина всех сектороводинакова. Количество секторов определяется при форматировании.Каждый сектор включает · полясинхронизации (два, одно - заголовка сектора, другое - области данных сектора);· маркеры,указывающие один - на начало сектора,второй - на начало области данных сектора; заметим, что на каждой дорожке ещеприсутствует маркер начала дорожки; (маркеры отличаются от данных записью с нарушениембитов синхронизации;)· идентификационныйзаголовок, состоящий из номера цилиндра, головки, сектора (логические координатысектора) программа шифрование данный контрольной суммы заголовка сектора (CRC);· областиданных сектора (для DOS-стандарта- 512 байт);· поля, вкотором хранится контрольная сумма области данных сектора, предназначенная дляконтроля целостности данных.Кроме перечисленных полей, у каждогосектора есть два специальных поля: зазор заголовка сектора (16 байт) программа шифрование данный зазоробласти данных (50 байт), которые предназначены[1]для предотвращения ошибок устройств.Рассмотрим некоторые способынестандартного форматирования гибкого диска программа шифрование данный размещения ключевого признака.Подчеркнем еще раз, что данные механизмы защиты рассчитаны на то, что копии защищеннойпрограммы будут создаваться с помощью стандартных программ копирования.Размещениеключа на специально отформатированной дополнительной дорожке. Например, для дискетыемкостью 1,44 Мб можно отформатировать дорожку с номером 80 (или более) иразместить на ней ключ. Стандартная программа копирования не может копироватьинформацию с дорожки с таким номером.Неформатированныедорожки.Стандартная программакопирования последовательно считывает содержимое дорожек до тех пор, пока недостигнет последней, либо не встретит неформатированную дорожку. Следовательно,если оставить одну дорожку неотформатированной, программа шифрование данный за ней расположить ключевуюинформацию, она не будет скопирована.Нестандартнопронумерованные секторы на дорожке.Дело в том, что стандартныйформат поддерживает последовательное возрастание номеров секторов на дорожке.Но возможна произвольная нумерация. Проверка расположения секторов в этомслучае осуществляется измерением времени между чтениями двух секторов настандартной программа шифрование данный ключевой дорожке. Нестандартныйразмер секторов.Можно отформатировать большеечисло секторов малой длины, программа шифрование данный записывать информацию в виде длинных секторов.Созданиесектора с неправильной контрольной суммой.Стандартные программы некопируют секторы с неправильной контрольной суммой (поле, в котором записанаконтрольная сумма области данных сектора занимает два байта). Идея заключаетсяв том, чтобы прервать запись после записи информации в сектор, но до записивторого байта контрольной суммы. В данном случае ключом является несовпадениеконтрольной суммы программа шифрование данный содержимое сектора, доступ к которому открыт.Изменениеконтрольной суммы.При считывании сектораоперационная система рассчитывает контрольную сумму по определенному алгоритму.Использованием собственных алгоритмов подсчета контрольных сумм можно добитьсятого, что контрольная сумма, подсчитанная стандартным средством, не совпадет сзаписанной в поле CRC,и сектор не будет прочитан. Для противодействия более совершеннымпрограммам копирования,которые не зависят от стандартных параметров форматирования, используютсяболее сложные способы. Приведем некоторые.Уменьшениемежсекторных промежутков.Межсекторные промежутки - этозазоры области данных (см. описание формата сектора). За счет уменьшениямежсекторных промежутков на дорожке помещается еще один сектор размером 512байт. В данном случае ключом может являться наличие такого дополнительногосектора и/или его содержимое.Размещениеинформации в межсекторных промежутках.Для получения доступа кмежсекторным промежуткам следует задать размер сектора в заголовке большим,чем его реальный размер, указанный при форматировании. При чтении такогосектора будет прочитано его поле данных, затем межсекторный промежуток, затемзаголовок следующего сектора программа шифрование данный т.д. Запись в такой сектор затрет заголовок следующегосектора, программа шифрование данный на дорожке одновременно будут находится секторы разных размеров.Отсутствующиемаркеры полей секторов.Напомним, что каждый секторимеет два маркера - маркер заголовка программа шифрование данный маркер данных. Каждый маркер можетотсутствовать. Логическоепревышение объема дорожки. Секторы на самом деле помещаютсяна дорожке, но конец последнего сектора попадает на начало дорожки. При записитакого сектора затрется начало первого сектора (конечно, если вовремя не прерватьоперацию!). Физическоепревышение объема дорожки.Этот способ называют такжемногооборотным форматированием. При физическом превышении объема дорожки сумма реальных размеров секторов (т.е.указанных при форматировании) плюс служебные поля превышает объем дорожки.Тогда форматирование не закончится после одного оборота дискеты, программа шифрование данный вначалеиспортится маркер начала дорожки (это допустимо, т.к. он не используется нипри каких дисковых операциях), потом заголовок программа шифрование данный данные первого сектора программа шифрование данный т.д.Напомним, что при форматировании после записи на дорожку контрольной суммы поляданных последнего сектора контроллер записывает значение 4Е до тех пор, пока невстретит индексное отверстие, т.е. до конца дорожки (так называемое поле зазордорожки). Поэтому в рассматриваемом случае после формирования всех секторов доконца дорожки запишется значение 4Е, которое уничтожит секторы, сформированныена первом обороте, если, конечно, не прервать форматирование. Копировщики, неучитывающие эту возможность, не смогут скопировать такую дорожку. Методы защиты гибкихмагнитных дисков предполагают, что при каждом запуске защищенной программыключевая дискета должна находиться в дисководе. Это не всегда удобно. Крометого, существует возможность инсталляции программы на винчестер. Способысоздания ключей на жестких дисках Рассмотрим методы защиты откопирования программ, расположенных на жестком магнитном диске (методы защитыжестких дисков). Присоздании ключа на жестком диске можно проанализироватьиндивидуальные особенности компьютера. Поэтому традиционно применяютсяметоды привязки к винчестеру, к BIOS, к архитектуре компьютера, набору программного обеспеченияи другие. Привязкак винчестеру. Киндивидуальным характеристикам жесткого диска, которые могут быть использованыв качестве ключа, относятся:· серийныйномер жесткого диска (для некоторых типов винчестеров);· расположениеbad-кластеров(заметим, что таких кластеров может программа шифрование данный не быть).Привязкак BIOS означает проверку таких параметров, как:· типкомпьютера;· датасоздания BIOS;· сигнатурапроизводителя BIOSи ее адрес в памяти;· таблицаконфигурации BIOS;· контрольныесуммы BIOS;· точки входав BIOS некоторыхпрерываний программа шифрование данный др.Привязкак архитектуре означаетпроверку конфигурации компьютера:· число программа шифрование данный типнакопителей на гибких дисках;· число программа шифрование данный типнакопителей на жестких дисках;· типвидеоадаптера;· объемоперативной памяти;· наличие(размер) дополнительной и/или расширенной памяти.Иногда используют:· типклавиатуры;· тип иинтерфейс манипулятора «мышь» программа шифрование данный «световое перо»;· числопараллельных и/или последовательных портов.Привязкак программному обеспечениюозначает проверку наличия на жестком диске и/или в оперативной памятиопределенных программ (чаще драйверов). Иногда осуществляют проверку наличия всистемных файлах определенной последовательности запусков программ программа шифрование данный команд.Необходимо заметить, что ключи,получаемые с помощью таких проверок, ненадежны в силу большой вероятности случайногосовпадения. Кроме того, при каждой установке нового программного обеспеченияили изменении конфигурации компьютера, такой ключ должен быть изменен, что невсегда удобно. Ещеодним подходом для получения ключа жесткого магнитного диска является изменение производительности аппаратуры:· скоростивращения дисковода или винчестера;· тактовойчастоты с точностью до единиц мегагерц;· временидоступа к оперативной памяти;· скоростиподсистемы ввода/вывода программа шифрование данный т.п.Надежность такого ключа также невелика.Колебания температуры, влажность воздуха, напряжение сети, износ частейкомпьютера влияют на некоторые из перечисленных параметров. Кроме того, можетбыть включен/выключен TURBO-режим.Некоторые параметры совпадают для одной партии компьютеров. Для создания собственного ключа нажестком диске можно:· нестандартноотформатировать неиспользуемую дорожку. Метод аналогиченнестандартному форматированию дорожки на гибком диске, но здесь форматируетсянеиспользуемая, программа шифрование данный не дополнительная дорожка.· Пометитьложные bad-кластеры. При этом, чтобы уменьшитьвероятность того, что пользователь заметит псевдосбойные кластеры, специалистырекомендуют [4] помечать таким образом либо первое от начала FAT свободное место (вероятность, что при переносена другой компьютер этот кластер будет занят, велика, программа шифрование данный редактировать цепочки FAT рискнет не всякий), либо в самый конец FAT, так чтобы его не показывали средстватипа SpeedDisk.· Использоватьоперации длинного чтения/записи.Эти операции работают срасширенной до 516 байтов длиной сектора. Очевидно, что если произвестиоперацию длинной записи, программа шифрование данный затем операцию обычного чтения, то дополнительные 4байта не будут считаны. Их можно считать только операцией длинного чтения.Заметим, что обычная запись сектора не разрушает дополнительные 4 байта. · Модифицироватьсистемные файлы с последующей проверкой.___________________________________________________________Для защиты программы откопирования можно осуществлять проверку не индивидуальных параметров компьютераили жесткого диска, программа шифрование данный самой защищаемой программы, вернее файла, в котором оназаписана. Так, для файла жесткого диска уникальными характеристиками являются:· времясоздания файла (каталога);· номераиспользуемых кластеров;· информацияв неиспользуемом участке последнего кластера.При использовании таких ключей следуетиметь в виду неэффективность при реорганизации диска (дефрагментации). Так какместоположение файла изменится, то защищаемая программа будет восприниматьсякак нелегальная копия.___________________________________________________________Методика защиты, основаннаяна использовании ключевых дисков, является традиционной. Прежде всего потому,что ключевой диск мог одновременно использоваться программа шифрование данный как лицензионный. Крометого, при всех своих недостатках этот тип защиты очень дешевый. Сегодняупомянутые методы, хорошо зарекомендовавшие себя при работе под управлениемоперационной системы DOS,используются все реже программа шифрование данный реже. Во-первых, потому что на смену абсолютно незащищеннойоперационной системе DOSприходят операционные системы, поддерживающие все больше функций безопасности.Сегодня, например, операционная система Windows NT «не разрешает» прямой доступ к дискунепривилегированному пользователю, поэтому хранение ключа на неиспользуемой илидополнительно отформатированной дорожке программа шифрование данный аналогичные приемы нецелесообразны.Во-вторых, интенсивное развитие сетевых технологий диктует новые способы распространенияпрограммного обеспечения. Все чаще авторы распространяют свои продукты не нагибких магнитных дисках или современных компакт-дисках, программа шифрование данный посредством передачичерез компьютерную сеть. Поэтому традиционные методы защиты дисков становятсявсе менее актуальными. На смену им приходят другие методы программа шифрование данный технологии защиты,многие из которых используют элементы традиционной защиты.___________________________________________________________ Подробнее 1. Физическаяорганизация хранения информации на дискете - Д.И.Правиков «Ключевые дискеты» [17], стр. 31-42.2. Способыопределения индивидуальных параметров компьютера - Д.И. Правиков «Ключевые дискеты» [17].3. Способопределения типа микропроцессора - Д.И. Правиков «Ключевые дискеты» [17], стр.23-27.4. Механизмызащиты дисков - «Защита программного обеспечения» под ред. Гроувера [18], стр.48-57. 5. Методызащиты гибких магнитных дисков - Глава «Идентификация дискет», Юджин Х.Спаффорд «Защита программного обеспечения от несанкционированного доступа» Internet-ресурс [19]. Базовые методы программной защиты Методы программной защиты, которые будутрассмотрены ниже, предназначены для противодействия попыткам запуска и/илиисполнения программы незаконным пользователем. К базовым методам защиты программ отнезаконного использования отнесем широко распространенные на практике методы.Это · парольнаязащита;· шифрование;· а такжегруппа методов, предназначенных для защиты условно-бесплатных программных продуктов. Парольная защита Самая распространенная защитапрограммного обеспечения - защита на основе пароля. При реализации парольнойзащиты запуск приложения сопровождается запросом пароля программа шифрование данный последующим сравнениемвведенного пароля с оригиналом.Пароль представляет собой последовательность символов некоторогоалфавита программа шифрование данный специальных знаков. Последовательность должна удовлетворятьограничению на наименьшую программа шифрование данный наибольшую длину.Сразу заметим, что парольнаязащита может быть рекомендована только для использования при защитеспециализированного программного обеспечения, предназначенного для узкогокруга пользователей. При широком использовании программ, защищенных такимобразом, очень велика вероятность того, что хотя бы один законный пользовательсообщит пароль злоумышленнику, этого будет достаточно для того, чтобы сделатьзащищенное приложение общедоступным.Следует обратить внимание нато, что процесс ввода пароля поддается наблюдению, даже в том случае, еслиотсутствует режим «эхо». Человек, находящийся рядом с пользователем, вводящимпароль, наблюдая за процессом набора на клавиатуре, может зафиксироватьвводимые символы. Кроме того, существует множество специальных программ типа«троянский конь», которые через перехват соответствующего прерывания читают исохраняют пароли, набираемые на клавиатуре.Хорошая система защитыорганизована таким образом, что, во-первых, не позволяет пользователюбесконечно вводить неправильный пароль, программа шифрование данный ограничивает число попыток.Во-вторых, между двумя неудачными попытками ввода пароля специально вводитсявременная задержка с целью уменьшить количество попыток взлома системы защитыза некоторый промежуток времени.Очевидно, что оригинальныйпароль необходимо хранить в месте, доступном защищенному приложению ималодоступном злоумышленнику. Следовательно, основная задача автора,использующего парольную защиту, - как можно лучше «спрятать» оригинальныйпароль.На практике для храненияэталонного пароля используются следующие способы:1) эталонхранится непосредственно в защищенной программе;2) эталонхранится в отдельном специально предназначенном файле (этот способ часто используютпри защите Windows-приложений);3) эталонхранится в системных областях (в свободных, зарезервированных или редко используемыхобластях дисков). Например, оригинальный пароль записан в один из последних секторовкорневого каталога. При защите Windows-приложенийразработчики часто хранят оригинальный пароль в системной базе данных Registry. Даженачинающим программистам известно, что нельзя хранить пароль в открытом виде,так как, например, в случае хранения пароля непосредственно в защищаемойпрограмме злоумышленник может легко найти эталонный пароль, либо просмотревдамп файла, в котором хранится программа, либо даже с помощью специальнойпрограммы, распечатывающей все текстовые строки.Замечание. Не будем останавливаться на популярнойв литературе теме о правилах выбора пароля программа шифрование данный его эффективной длине. Будемпредполагать, что читателю известны рекомендации по выбору хороших паролей.В основном авторы защит либо шифруютпароль известными или собственными криптографическими методами, либо применяютхеш-функции (хеш-суммы) для преобразования пароля. Метод хеширования паролязаключается в хранении в качестве эталона не собственно пароля, программа шифрование данный результатаопределенных автором защиты математических преобразований (именно этипреобразования программа шифрование данный называются хеш-функцией или хешированием) над символамипароля. При запуске приложения введенный пользователем пароль подвергаетсяхешированию программа шифрование данный сравнению полученного результата с эталоном. Предварительноотметим (этот вопрос будет рассматриваться в главе «Технологии взлома защит»),что в большинстве случаев как защита, основанная на простом хранении пароля,так программа шифрование данный на хешировании пароля, может быть легко «обойдена» злоумышленником. Каклюбят говорить взломщики, - путем изменения в программе всего лишь одногобайта! Хорошозарекомендовал себя метод шифрованияпароля. «Шифровка даже при использовании некриптостойких алгоритмов икоротких паролей все же требует трудоемкого изучения алгоритма, написания атакующихпрограмм программа шифрование данный часто очень длительного времени на поиск подходящего пароля» [20,стр.86].! Очевидно, что в случае хранения зашифрованного пароля необходимоособое внимание уделить защите программы от исследования алгоритмашифрования-дешифрования.Подчеркнем, что независимо отвида, в котором хранится оригинальный пароль (открытый, хеш-функция илизашифрованный код), при реализации механизма защиты происходит сравнениепароля, вводимого пользователем, с оригиналом (ключом). Таким образом парольнаязащита относится к методам ключевогосравнения. Шифрование Шифрование - это обратимое преобразованиеинформации с целью сокрытия ее содержания для неавторизованных лиц.Авторизованное (неавторизованное) лицо - пользователь, имеющий (не имеющий)право на доступ к информации. Дешифрование - преобразование информации, обратное шифрованию. Методы,алгоритмы программа шифрование данный средства шифрования информации изучает криптография. Системы, использующие шифрование информации, называюткриптографическими системами, иликриптосистемами. Многиеспециалисты считают, что шифрование является одним из самых надежных средствбезопасности данных вообще и, в частности, защиты программного обеспечения. Шифрованиеиспользуется для защиты программного обеспечения от нелегального использования,модификации, программа шифрование данный также от исследования логики работы защищенной программы.Криптографические методы иалгоритмы подробно изложены в литературе, например, в учебном пособии Ю.С.Харин, В.И. Берник, Г.В. Матвеев «Математические основы криптологии» [21].Поэтому здесь только перечислим основные методы программа шифрование данный криптоалгоритмы, программа шифрование данный также остановимсяна способах применения шифрования для защиты авторских прав в сфере программногообеспечения.Подчеркнем, что дляшифрования автором защиты может быть использован собственный криптоалгоритм.Но, как правило, предлагаемые алгоритмы шифрования являются слабыми, так какавторы субъективно переоценивают стойкость (надежность) собственных алгоритмов.И прежде всего потому, что далеко не все авторы защит являются специалистами вобласти криптоанализа. Криптоанализ объединяет методы, алгоритмы, средствадешифрования, программа шифрование данный также оценку стойкости криптосистем.Здесьпод стойкостью (надежностью)криптоалгоритма понимают количество компьютерных операций, необходимыхкриптоаналитику для вскрытия ключа (или исходного текста) [21] Очевидно,что необходимо, чтобы число операций было настолько велико, что при реализациикриптоатаки на современной вычислительной технике потребовалось бы машинное время,в течение которого зашифрованная информация потеряла бы свою ценность.! Специалисты по защите информации рекомендуют использоватьизвестные, стойкие, математически обоснованные криптоалгоритмы с хорошоизученными свойствами программа шифрование данный недостатками. Напрактике применяются в основном два вида криптосистем:· симметричныеи· асимметричные. Всимметричных криптосистемаходним программа шифрование данный тем же секретным ключом осуществляется программа шифрование данный шифрование, программа шифрование данный дешифрование.Наиболее известными симметричными криптосистемами являются системы DES, GOST (ГОСТ), IDEA, являющиеся национальными стандартами. Васимметричных криптосистемахиспользуются разные ключи для шифрования программа шифрование данный дешифрования. Несекретный (открытый)ключ используется для шифрования, секретный - для дешифрования. С помощьюоткрытого ключа любой может зашифровать информацию, но только человек, знающийсекретный ключ, может произвести дешифрацию. Асимметричные криптосистемыназывают также системами с открытымключом. Метод шифрования RSA - метод шифрования с открытым ключом. Это один из самыхнадежных программа шифрование данный широко используемых на практике методов. Алгоритм Эль-Гамаля -второй метод шифрования с открытым ключом, который получил широкое признание.На основе алгоритмов RSAи Эль-Гамаля приняты национальныестандарты. Внастоящее время используются программа шифрование данный комбинированные системы. Например, при передачепо сети информация шифруется симметричным алгоритмом типа DES, ключ при этом передается также в зашифрованномвиде, но с помощью алгоритма шифрования с открытым ключом типа RSA.! Заметим, что специалисты не рекомендуют самостоятельнореализовывать схемы перечисленных классических криптоалгоритмов, так каксложность этих схем часто приводит к ошибкам реализации либо алгоритмреализовывается неэффективно. Лучше использовать готовые реализации, широкопредставленные на рынке программного обеспечения. Кпростейшим методам шифрования относятся подстановкии перестановки. Произведениепростых шифров (подстановок программа шифрование данный перестановок) дает составной шифр, который является более надежным, но обеспечиваетлегкость шифрования программа шифрование данный дешифрования. Многократное чередование простых шифровдает, как правило, стойкий криптоалгоритм. Любимымспособом шифрования у начинающих программистов является шифрование с помощью операцииXOR. Специфика этойоперации такова, что процедура шифрования совпадает с процедурой дешифрования,следовательно, реализовать механизм защиты очень просто. В самом деле,0 xor 0 = 00 xor 1 = 1 => Text xor Key = Shifr 1 xor 0 = 1 Shifr xor Key = Text1 xor 1 = 0! Заметим, что стойкость такого алгоритма является очень низкой(системы, основанные на таком механизме защиты, обладают базовой мощностью).Техника взлома данного механизма будет описана ниже.Очевидно, что при реализациимеханизмов защиты, основанных на шифровании, большое внимание необходимоуделять выбору программа шифрование данный секретности ключа. Критерием качественного шифрования можетслужить принцип: ! стойкостьшифра должна определяться только секретностью ключа (правило Кирхгоффа). Наиболеенадежным считается ключ, являющийся значением некоторой функции проверяемогопараметра. Можно рекомендовать использовать в качестве ключа контрольную суммуисполняемого кода (критического участка). Наоснове шифрования на практике используются следующие механизмы защиты программ.Шифрованиекода программыКод программы шифруется с тем,чтобы быть расшифрованным только во время выполнения программы.Шифрованиефрагмента (участка) программы.Для шифрования чащевыбирается критический участок программы.В обоих случаях может применяться как статическое, так программа шифрование данный динамическое шифрование. Пристатическом шифровании весь код (фрагмент кода) один раз шифруется/дешифруется.В зашифрованном виде код постоянно хранится на внешнем носителе. В расшифрованномвиде присутствует в оперативной памяти. При динамическом шифрованиипоследовательно шифруются/дешифруются процедуры (или отдельные фрагменты)программы или критического участка программы. Шифрование пароля.Этот метод упоминался выше.Шифрованиеданных.Зашифрованные команды последешифрации легко «узнать на вид», поэтому рекомендуется шифровать данные.! Сильной реализацией специалистами признается шифрование данныхпрямо в исходном тексте программы.___________________________________________________________ Подробнее 1. История криптологии - В. Жельников«Криптография от папируса до компьютера» [22], стр. 45-95.2. Математические модели стандартныхкриптосистем DES,IDEA, GOST - Ю.С. Харин, В.И. Берник, Г.В. Матвеев«Математические основы криптологии» [ 21], стр. 194-205.3. Схема формирования шифра в DES - «Защита программного обеспечения» под ред.Д. Гроувера [18], стр. 103-107. 4. Описание RSA-криптосистемы - Ю.С. Харин, В.И.Берник, Г.В. Матвеев «Математическиеосновы криптологии» [21], стр. 243-246; В. Жельников «Криптография от папирусадо компьютера» [22], стр. 148-152.5. Шифр Эль-Гамаля - В. Жельников«Криптография от папируса до компьютера» [22], стр. 152-154.6. Подстановки программа шифрование данный перестановки - «Защита программного обеспечения» под ред.Д. Гроувера [18], стр. 98-100.7. Простейшие шифры - В. Жельников«Криптография от папируса до компьютера» [22], стр. 128-137.8. Шенноновские модели криптосистем(подстановка символов алфавита, перестановка символов, шифр Виженера программа шифрование данный егомодификации, шифр Вернама, биграммнаяподстановка) - Ю.С. Харин, В.И. Берник, Г.В. Матвеев «Математические основыкриптологии» [21], стр. 138-144.9. Позиционные программа шифрование данный непозиционные системыкодирования - М. К. Буза «Введение в архитектуру компьютеров» [23], стр.99-114.___________________________________________________________ Методы защиты условно-бесплатного программногообеспечения Отметим, что в связи с развитием сетевыхтехнологий программное обеспечение стало все чаще распространяться какусловно-бесплатное. Такой способ распространения предполагает временную эксплуатациюпользователем программного продукта. По результатам тестирования продуктапользователь решает, стоит ли его покупать. Авторам, распространяющим свое программноеобеспечение подобным образом, приходится решать вопрос об ограничениях бесплатногоиспользования программ. Нечестныепользователи, очевидно, всеми способами стремятся либо увеличить времябесплатного использования программы, либо программа шифрование данный вовсе "снять" всеограничения. Таким образом, разработчикам условно-бесплатного программногообеспечения приходится защищать свои творения для того, чтобы получить материальноевознаграждение за труд. Напрактике разработчики используют следующие принципы защиты:· регистрационныекоды;· ограничениепо времени;· ограничениена число запусков;· раздражающиеэкраны (NagScreen).Регистрационныекоды.Наиболее популярным методом являетсязащита, в основе которой лежит регистрация пользователя. Разработчикипредоставляют в распоряжение пользователя так называемую незарегистрированнуюверсию - приложение, работающее либо в демонстрационном режиме, либо с ограниченнымивозможностями. После оплаты пользователь получает пароль и/или регистрационныйномер, ввод которого обеспечивает работу приложения в полном объеме (версияприложения теперь называется зарегистрированной). Приреализации такой защиты авторы идут в основном двумя путями. В первом случаевведенный пароль или регистрационный номер просто сравниваются с эталоном. Вовтором случае (более надежная защита) - на основе пароля и/или регистрационногономера пользователя с помощью специальных механизмов (это чаще математическиепреобразования) генерируется регистрационный код. Приложение при этомдополняется модулем ввода пароля (регистрационного номера), механизмомгенерации кода программа шифрование данный сравнением полученного результата с оригинальным кодом. Многиеавторы используют другие способы ограничения работы с бесплатным приложением:ограничение по времени или ограничение на число запусков. В этих случаяхразработчики предоставляют пользователю для ознакомления программа шифрование данный тестирования полнуюверсию продукта. Ограничение по времени заключаетсяв том, что пользователь имеет возможность бесплатно эксплуатировать программноеобеспечение либо в течение определенного времени с момента первого запуска,либо просто ограничен датой (временем) последнего возможного запуска. В этомслучае приложение дополняется функциями чтения текущей даты (времени) исравнения с эталонными. Приограничении на число запусковимеется некий счетчик, который увеличивается (или уменьшается) при каждомзапуске приложения до достижения им некоторого значения (или нуля). После чегоприложение либо перестает запускаться, либо работает в демонстрационнойверсии.! Обратим внимание на то, что во всех перечисленных методах защитыпрограммного обеспечения разработчику необходимо где-то хранить эталоннуюинформацию (регистрационный код, время или количество запусков) программа шифрование данный каждый разпроизводить сравнение с текущей информацией. По сути эталонная информацияявляется ключом, поэтому перечисленные методы относятся к методам ключевого сравнения. Моднымможно назвать метод психологическоговоздействия на незарегистрированного пользователя с помощью вывода наэкран сообщений, напоминающих пользователю о регистрации. Идея заключается втом, что такого рода сообщения выводятся в виде окон многократно на протяжениивсего сеанса работы с приложением. Пользователю для продолжения работы приходитсяпостоянно отключать эти окна, что отвлекает программа шифрование данный раздражает его. Более интереснойявляется реализация метода, когда для закрытия такого окна пользователюприходится нажимать каждый раз на разные клавиши или вводить длинные слова.Называют такую защиту NagScreen - раздражающийэкран (англ. nag- изводить, раздражать). Рассчитывают авторы на то, что постоянное раздражениепользователя либо заставит его отказаться от работы с приложением, либо заплатитьза программный продукт программа шифрование данный зарегистрироваться.Заметим, что рассмотренные здесь методыпросты в реализации, поэтому используются достаточно широко. Но с другойстороны, они также являются программа шифрование данный хорошо изученными с точки зрения взлома защиты,поэтому могут быть рекомендованы только в сочетании с другими механизмами.[1]«служат для организациизадержки при выдачи порции данных с дискеты, так как контроллер имеет определеннуюинерционность, программа шифрование данный также для компенсации разбросов физической длины приперезаписи различных полей, возникающей из-за нестабильности вращениядисковода» [17]Назадразделы
сухой мороженый
сухой мороженый
сухой мороженый
сухой мороженый
лечение алкоголизма
лечение алкоголизма
портативный радиостанция
система перемешивание
доставка суша
gislaved отзыв
эрозия шейка матка
покрышка бриджстоун
антенна акустомагнитные
головка винторезный
рак кишка
листогибы
ичп пбоюл
лечение слух
силуэт слименд лифт
корпаративные вечеринка
купить мобильник
нард скачать бесплатный
дирижабль
апгрейд обезьяна
колодец канализационный пластиковый
рефрижератор
лад
электрокардиограф
втулка переходный
укв радиосвязь
эфирный антенна funke
5004.10 (крышка)
программа шифрование данный