Защита персональных данных с использованием криптографии

Актуальность задачи обеспечения секретности и подлинности передаваемых сообщений с возникновением письменности. Данные о первых способах тайнописи. Классификация способов засекречивания передаваемых сообщений. Скорость работы и применение алгоритма RSA.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 19.10.2012
Размер файла 34,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

История криптографии

Человек - существо социальное, вот уже много тысячелетий он живет в обществе себе подобных. И вполне естественно, что одной из важнейших его способностей является умение общаться с другими людьми - передавать им сведения о том, что происходит в окружающем их мире, и о фактах своей субъективной реальности. Вторая сигнальная система - речь - по праву считается одним из важнейших отличительных признаков, качественно выделяющих человечество из животного мира. Характер информационного обмена между членами даже самого дикого племени многократно превышает по своей сложности все то, что можно увидеть у животных. Коммуникация в человеческом обществе имеет еще один отличительный признак - она узко избирательна. Мы разговариваем с разными людьми совершенно по-разному, и то, что сообщаем одним, стараемся скрыть от других.

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

Конечно, использование развитого "секретного" языка для защиты передаваемых данных обеспечивает гораздо большую свободу в коммуникации, чем несколько тайных знаков, о которых участники договорились накануне, однако этот путь имеет и гораздо большие издержки. За всеми посвященными уследить трудно, и рано или поздно такой язык станет понятным тем, от кого пытаются скрыть разговор. В этом случае возникнет необходимость его заменить другим, разработать же достаточно мощный язык и обучить ему нужное количество людей весьма затруднительно и накладно, а сделать это оперативно - невозможно. Поэтому подобный подход к проблеме проходит только в особых случаях, когда тому благоприятствуют обстоятельства. Так, он использовался американцами во время второй мировой войны: корабли ВМФ США осуществляли связь на языке малочисленного и компактно проживающего индейского племени. На каждом корабле было несколько индейцев-"шифровальщиков", у противника не было практически никаких шансов раздобыть себе такого "криптографа".

С возникновением письменности задача обеспечения секретности и подлинности передаваемых сообщений стала особенно актуальной. Действительно, сообщение, переданное словесно или показанное жестами, доступно для постороннего только в тот краткий промежуток времени, пока оно "в пути", а в его авторстве и подлинности у получателя никаких сомнений быть не может, потому что он видит своего собеседника. Иное дело, когда сообщение записано - оно уже живет отдельной жизнью и имеет свой путь, зачастую далеко расходящийся с путем человека, его создавшего. Записанное на бумаге сообщение существует в материальном мире гораздо более длительный промежуток времени, и у людей, желающих ознакомиться с его содержанием против воли отправителя и получателя, появляется гораздо больше шансов сделать это. Поэтому именно после возникновения письменности появилось искусство тайнописи, искусство "тайно писать" - набор методов, предназначенных для секретной передачи записанных сообщений от одного человека другому.

Данные о первых способах тайнописи весьма обрывочны. Предполагается, что она была известна в древнем Египте и Вавилоне. До нашего времени дошли указания на то, что искусство секретного письма использовалось в древней Греции. Первые действительно достоверные сведения с описанием метода шифрования относятся к периоду смены старой и новой эры и описывают шифр Цезаря - способ, которым Юлий Цезарь прятал свои записи от излишне любопытных глаз. С высоты достижений современной криптографии шифр Цезаря предельно примитивен: в нем каждая буква сообщения заменялась на следующую за ней по алфавиту. Однако для того времени, когда умение читать и писать было редким исключением, его криптостойкости вполне хватало. Использование шифра решало проблему секретности передаваемого сообщения, а проблема его подлинности решалась практически сама собой:

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

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

Человечество изобрело большое число способов секретного письма, многие из них были известны еще в древности. В некоторых способах тайного письма используются физические особенности носителей информации. Так симпатические чернила исчезают вскоре после написания ими текста или невидимы с самого начала. Но их можно снова сделать видимыми, обработав документ специальным химическим реактивом или осветив лучами определенной части спектра, обычно - ультрафиолетом. Стеганография предполагает, что передаваемый текст "растворяется" в сообщении большего размера с совершенно "посторонним" смыслом. Но если взять и извлечь из него некоторые символы по определенному закону, например - каждый второй, или третий, и т.д., получим вполне конкретное тайное сообщение. Шифрование является преобразованием сообщения по определенным правилам, что делает его бессмысленным набором знаков для непосвященного в тайну шифра человека.

Классифицировать способы засекречивания передаваемых сообщений можно по-разному, однако определяющих факторов всего два:

используются ли для засекречивания свойства материальных носителей и материальной среды передачи информации или оно осуществляется независимо от них;

прячется ли секретное сообщение или оно просто делается недоступным для всех, кроме получателя.

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

В зависимости от ответа на второй из приведенных выше вопросов получаются различные классы способов засекречивания данных - стеганография и шифрование. Если рассматривать информацию отдельно от ее материального представления, то где же ее тогда можно спрятать? Ответ однозначен: только в еще большем массиве информации - как иголку в стоге сена. В этом и заключается принцип действия стеганографии. Например, мы отправляем нашему корреспонденту по электронной почте файл с растровой черно-белой картинкой, в котором наименее значащий бит в коде яркости каждой точки изображения будет элементом нашего тайного сообщения. Получатель письма извлечет все такие биты и составит из них "истинное" сообщение. Картинка, присутствующая здесь только для отвода глаз, так и останется для непосвященных простой картинкой. Стеганография бывает полезна, когда необходимо не просто передать секретное сообщение, а секретно передать секретное сообщение, то есть скрыть сам факт передачи секретного сообщения. Такой способ ведения тайной коммуникации, однако, имеет ряд недостатков:

во-первых, трудно обосновать его стойкость - вдруг злоумышленникам станет известен способ "подмешивания" секретных данных к "болванке" - массиву открытых данных;

во-вторых, при его использовании объем передаваемых или хранимых данных резко увеличивается, что отрицательно сказывается на производительности систем их обработки;

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

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

защите подвергались исключительно текстовые сообщения, написанные на естественных языках - других типов дискретно представленных данных просто не существовало;

шифрование сначала осуществлялось вручную, позднее были изобретены сравнительно несложные механические приспособления, поэтому использовавшиеся тогда шифры были достаточно простыми и несложными;

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

криптография использовалась в очень узких сферах - только для обслуживания высших правящих слоев и военной верхушки государств;

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

Появление в середине нашего столетия первых электронно-вычислительных машин кардинально изменило ситуацию. С проникновением компьютеров в различные сферы жизни возникла принципиально новая отрасль хозяйства - информационная индустрия. Объем циркулирующей в обществе информации с тех пор стабильно возрастает по экспоненциальному закону - он примерно удваивается каждые пять лет. Фактически, на пороге нового тысячелетия человечество создало информационную цивилизацию, в которой от успешной работы средств обработки информации зависит само благополучие и даже выживание человечества в его нынешнем качестве. Произошедшие за этот период изменения можно охарактеризовать следующим образом:

объемы обрабатываемой информации возросли за полвека на несколько порядков;

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

характер обрабатываемых данных стал чрезвычайно многообразным и более не сводится к исключительно текстовым данным;

информация полностью "обезличилась", т.е. особенности ее материального представления потеряли свое значение - сравните письмо прошлого века и современное послание по электронной почте;

характер информационных взаимодействий чрезвычайно усложнился, и наряду с классической задачей защиты передаваемых текстовых сообщений от несанкционированного прочтения и искажения возникли новые задачи сферы защиты информации, ранее стоявшие и решавшиеся в рамках используемых "бумажных" технологий - например, подпись под электронным документом и вручение электронного документа "под расписку" - речь о подобных "новых" задачах криптографии еще впереди;

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

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

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

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

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

Как видим, термин "криптография" далеко ушел от своего первоначального значения - "тайнопись", "тайное письмо". Сегодня эта дисциплина объединяет методы защиты информационных взаимодействий совершенно различного характера, опирающиеся на преобразование данных по секретным алгоритмам, включая алгоритмы, использующие секретные параметры. Термин "информационное взаимодействие" или "процесс информационного взаимодействия" здесь обозначает такой процесс взаимодействия двух и более субъектов, основным содержанием которого является передача и/или обработка информации. По большому счету, криптографической может считаться любая функция преобразования данных, секретная сама по себе или зависящая от секретного параметра S:

T' = f(T), или

T' = f(T,S).

Основные понятия

Криптография -- наука о математических методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.

Изначально криптография изучала методы шифрования информации -- обратимого преобразования открытого (исходного) текста на основе секретного алгоритма и/или ключа в шифрованный текст (шифртекст). Традиционная криптография образует раздел симметричных криптосистем, в которых зашифрование и расшифрование проводится с использованием одного и того же секретного ключа. Помимо этого раздела современная криптография включает в себя асимметричные криптосистемы, системы электронной цифровой подписи (ЭЦП), хеш-функции, управление ключами, получение скрытой информации, квантовую криптографию.

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

Cимметричный шифр -- способ шифрования, в котором для шифрования и расшифрования применяется один и тот же криптографический ключ.

До изобретения схемы асимметричного шифрования единственным существовавшим способом являлось симметричное шифрование.

Ключ алгоритма должен сохраняться в секрете обеими сторонами. Ключ алгоритма выбирается сторонами до начала обмена сообщениями.

Асимметричный шифр - шифр, использующий различные ключи для шифрования и дешифрования, называемые соответсвенно открытым (публичным, общим) и закрытым (личным) ключом.

Асимметричные шифры являются довольно медленными, но им не свойственна проблема симметричных шифров с распространением ключа. Открытый ключ можно свободно распространять по незащищенным каналам, так как им можно только зашифровать, но не расшифровать текст.

Возможность создания подобных шифров появилась с развитием теории чисел, а практическое их применение -- с развитием вычислительной техники, из-за необходимости вычислений над очень длинными числами (тысячи двоичных разрядов).

Гибридные.

Шифры с открытым ключом тоже имеют недостатки. Во-первых, операции зашифрования/расшифрования требуют значительно больше вычислительных ресурсов и, соответственно, выполняются медленнее, чем при использовании симметричных шифров. Во-вторых, алгоритмы с открытым ключом имеют определённые особенности, которые затрудняют их использование и делают нежелательным применение этих алгоритмов для зашифрования больших объёмов данных. Шифры с открытым ключом, тем не менее, эффективны при распространении ключей симметричных шифров и именно для этой цели они используются в гибридных криптосистемах.

Гибридный шифр использует и симметричный шифр, и шифр с открытым ключом. Сначала генерируется случайный ключ для симметричного шифра, называемый сеансовым ключом. Сообщение зашифровывается симметричным шифром с использованием сеансового ключа. Затем сеансовый ключ зашифровывается открытым ключом получателя. Сеансовый ключ, зашифрованный шифром с открытым ключом, и сообщение, зашифрованное симметричным шифром, автоматически объединяются вместе. Получатель использует свой секретный ключ для расшифровки сеансового ключа и, затем, использует полученный сеансовый ключ для расшифровки сообщения. Так как ключ симметричного шифра передаётся защищённым образом, то для каждого сообщения генерируется новый сеансовый ключ. Дополнительно, появляется возможность зашифровать сообщение сразу для нескольких получателей, при этом к сообщению, зашифрованному сеансовым ключом, добавляется несколько копий сеансового ключа, зашифрованного открытыми ключами разных получателей. И PGP и GnuPG используют именно гибридную схему.Следует помнить, что гибридный шифр не устойчивее чем слабейший из используемых им шифров. Т.е. если используется слабый симметричный шифр, то не имеет смысла использовать шифр с открытым ключом с огромной длиной ключа.

ЭЦП-- реквизит электронного документа, предназначенный для защиты данного электронного документа от подделки, полученный в результате криптографического преобразования информации с использованием закрытого ключа электронной цифровой подписи и позволяющий идентифицировать владельца сертификата ключа подписи, а также установить отсутствие искажения информации в электронном документе, [1] а также обеспечивает неотказуемость подписавшегося.

Схема электронной подписи обычно включает в себя:

алгоритм генерации ключевых пар пользователя;

функцию вычисления подписи;

функцию проверки подписи.

Функция вычисления подписи на основе документа и секретного ключа пользователя вычисляет собственно подпись. В зависимости от алгоритма функция вычисления подписи может быть детерминированной или вероятностной. Детерминированные функции всегда вычисляют одинаковую подпись по одинаковым входным данным. Вероятностные функции вносят в подпись элемент случайности, что усиливает криптостойкость алгоритмов ЭЦП. Однако, для вероятностных схем необходим надёжный источник случайности (либо аппаратный генератор шума, либо криптографически надёжный генератор псевдослучайных бит), что усложняет реализацию.

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

Функция проверки подписи проверяет, соответствует ли данная подпись данному документу и открытому ключу пользователя. Открытый ключ пользователя доступен всем, так что любой может проверить подпись под данным документом.

Поскольку подписываемые документы -- переменной (и достаточно большой) длины, в схемах ЭЦП зачастую подпись ставится не на сам документ, а на его хэш. Для вычисления хэша используются криптографические хэш-функции, что гарантирует выявление изменений документа при проверке подписи. Хэш-функции не являются частью алгоритма ЭЦП, поэтому в схеме может быть использована любая надёжная хэш-функция.

Алгоритмы ЭЦП делятся на два больших класса: обычные цифровые подписи и цифровые подписи с восстановлением документа. Обычные цифровые подписи необходимо пристыковывать к подписываемому документу. К этому классу относятся, например, алгоритмы, основанные на эллиптических кривых (ECDSA, ГОСТ Р 34.10-2001, ДСТУ 4145-2002). Цифровые подписи с восстановлением документа содержат в себе подписываемый документ: в процессе проверки подписи автоматически вычисляется и тело документа. К этому классу относится один из самых популярных алгоритмов -- RSA.

Следует различать электронную цифровую подпись и код аутентичности сообщения, несмотря на схожесть решаемых задач (обеспечение целостности документа и н еотказуемости авторства). Алгоритмы ЭЦП относятся к классу асимметричных алгоритмов, в то время как коды аутентичности вычисляются по симметричным схемам.

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

Управлением ключами занимаются центры распространения сертификатов. Обратившись к такому центру пользователь может получить сертификат какого-либо пользователя, а также проверить, не отозван ли ещё тот или иной открытый ключ.

Хэш-функции являются необходимым элементом ряда криптографических схем. Под этим термином понимаются функции, отображающие сообщения произвольной длины (иногда длина сообщения ограничена, но достаточно большим числом) в значения фиксированной длины. Последние часто называют хэш-кодами. Таким образом, у всякой хэш-функции имеется большое количество коллизий, т. е. пар значений x<=>y таких, что h(x)=h(y) . Основное требование, предъявляемое криптографическими приложениями к хэш-функциям, состоит в отсутствии эффективных алгоритмов поиска коллизий.

Схемы электронной подписи -- основная сфера применения хэш-функций в криптографии. Поскольку используемые на практике схемы электронной подписи не приспособлены для подписания сообщений произвольной длины, а процедура, состоящая в разбиении сообщения на блоки и в генерации подписи для каждого блока по отдельности, крайне неэффективна, единственным разумным решением представляется применение схемы подписи к хэш-коду сообщения. Нетрудно понять, что наличие эффективных методов поиска коллизий для хэш-функции подрывает стойкость протокола электронной подписи.

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

Криптоанализ-- наука о методах получения исходного значения зашифрованной информации, не имея доступа к секретной информации (ключу), необходимой для этого. В большинстве случаев под этим подразумевается нахождение ключа. В нетехнических терминах, криптоанализ есть взлом шифра (кода). Термин был введён американским криптографом Уильямом Ф. Фридманом в 1920 году.

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

Результаты криптоанализа конкретного шифра называют криптографической атакой на этот шифр. Успешную криптографическую атаку, полностью дискредитирующую атакуемый шифр, называют взломом или вскрытием.

Использования

Защита персональных данных с использованием криптографии.

После принятия Федерального закона от 27 июля 2006 г. № 152-ФЗ "О персональных данных" и определения ФСТЭК и ФСБ России требований, в соответствии с которыми необходимо защищать персональные данные, особую актуальность приобрела задача выбора средств их защиты, отвечающих этим требованиям.

Руководящими документами ФСТЭК России определено, что мероприятия по защите персональных данных реализуются в рамках следующих подсистем:

управление доступом;

регистрация и учет;

обеспечение целостности;

криптографическая защита;

антивирусная защита;

обнаружение вторжений.

Внедрение криптосредств для защиты персональных данных

Следует отметить, что использование криптографии при защите персональных данных возможно только после проведения сертификации комплексов или оценки корректности встраивания криптографических функций в комплексы в соответствии с техническими заданиями, согласованными с ФСБ России.

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

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

На третьем этапе идет полномасштабное развертывание технологии: дооснащение системы клиентскими АРМ до полного развертывания, обучение сотрудников, доработка регламентов под конкретные условия, ввод системы в эксплуатацию, разработка требований по автоматизации использования средств защиты в электронном документообороте (ЭДО).

Четвертый этап представляет собой автоматизацию использования средств защиты в ЭДО (при необходимости). На этом этапе разрабатывается и согласовывается с ФСБ России ТЗ на сопряжение ЭДО со средствами защиты и проводятся работы в соответствии с ТЗ по оценке встраивания криптосредств.

Работы первого этапа проводятся, как правило, в течение двух месяцев от момента заключения контракта, стоимость определяется в зависимости от выбранного комплекса защиты. Сроки последующих этапов зависят от степени участия заказчика в процессе разворачивания системы и взаимодействия разработчика ЭДО и разработчика криптографии.

Симметричные шифры

Симметричные шифры -- способ шифрования, в котором для шифрования и расшифрования применяется один и тот же криптографический ключ.

До изобретения схемы асимметричного шифрования единственным существовавшим способом являлось симметричное шифрование.

Ключ алгоритма должен сохраняться в секрете обеими сторонами. Ключ алгоритма выбирается сторонами до начала обмена сообщениями.

Требования:

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

Для достижения такого шифр должен иметь «эффект лавины» -- сильное изменение шифроблока при 1битном изменении входных

данных (в идеале должны меняться значения 1/2 бит шифроблока).

Также важным требованием является отсутствие линейности (то есть условия f(a) xor f(b) == f(a xor b)), в противном случае

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

Общая схема:

В настоящее время симметричные шифры -- это:блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами.

Результатом повторения раундов является лавинный эффект -- нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.

поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования.Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-86 в режиме гаммирования), запущенного в специальном режиме.

Большинство симметричных шифров используют сложную комбинацию большого количества подстановок и перестановок. Многие такие шифры исполняются в несколько (иногда до 80) проходов, используя на каждом проходе «ключ прохода». Множество «ключей прохода» для всех проходов называется «расписанием ключей» (key schedule). Как правило, оно создается из ключа выполнением над ним неких операций, в том числе перестановок и подстановок.

Типичным способом построения алгоритмов симметричного шифрования является сеть Фейстеля. Алгоритм строит схему шифрования на основе функции F(D, K), где D -- порция данных, размеров вдвое меньше блока шифрования, а K -- «ключ прохода» для данного прохода. От функции не требуется обратимость -- обратная ей функция может быть неизвестна. Достоинства сети Фейстеля -- почти полное совпадение дешифровки с шифрованием (единственное отличие -- обратный порядок «ключей прохода» в расписании), что сильно облегчает аппаратную реализацию.

Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины». Операция перестановки линейна -- f(a) xor f(b) == f(a xor b)

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

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

Параметры:

стойкость

длина ключа

число раундов

длина обрабатываемого блока

сложность аппаратной/программной реализации

Виды:

Цезарь

Виженер

Атбаш

Плайфаер

ADFGVX

XOR

Вернам

IDEA

RC2

RC4

DES

Triple DES

Rijndael(AES)

RSA

RSA - криптографическая система открытого ключа, обеспечивающая такие механизмы защиты как шифрование и цифровая подпись (аутентификация - установление подлинности). Криптосистема RSA разработана в 1977 году и названа в честь ее разработчиков Ronald Rivest, Adi Shamir и Leonard Adleman.

Алгоритм RSA работает следующим образом: берутся два достаточно больших простых числа p и q и вычисляется их произведение n = p*q; n называется модулем.

Затем выбирается число e, удовлетворяющее условию

1< e < (p - 1)*(q - 1) и не имеющее общих делителей кроме 1 (взаимно простое) с числом (p - 1)*(q - 1). Затем вычисляется число d таким образом, что (e*d - 1) делится на (p - 1)*(q - 1).

e - открытый (public) показатель

d - частный (private) показатель

(n; e) - открытый (public) ключ

(n; d). - частный (private) ключ.

Делители (факторы) p и q можно либо уничтожить либо сохранить вместе с частным (private) ключом.

Если бы существовали эффективные методы разложения на сомножители (факторинга), то, разложив n на сомножители (факторы) p и q, можно было бы получить частный (private) ключ d. Таким образом надежность криптосистемы RSA основана на трудноразрешимой - практически неразрешимой - задаче разложения n на сомножители (то есть на невозможности факторинга n) так как в настоящее время эффективного способа поиска сомножителей не существует.

Ниже описывается использование системы RSA для шифрования информации и создания цифровых подписей (практическое применение немного отличается).

Шифрование

Предположим, Алиса хочет послать Бобу сообщение M. Алиса создает зашифрованный текст С, возводя сообщение M в степень e и умножая на модуль n: C = M**e* (mod n), где e и n - открытый (public) ключ Боба. Затем Алиса посылает С (зашифрованный текст) Бобу. Чтобы расшифровать полученный текст, Боб возводит полученный зашифрованный текст C в степень d и умножает на модуль n:

M = c**d*(mod n); зависимость между e и d гарантирует, что Боб вычислит M верно. Так как только Боб знает d, то только он имеет возможность расшифровать полученное сообщение.

Цифровая подпись

Предположим, Алиса хочет послать Бобу сообщение M , причем таким образом, чтобы Боб был уверен, что сообщение не было взломано и что автором сообщения действительно является Алиса. Алиса создает цифровую подпись S возводя M в степень d и умножая на модуль n:

S = M**d*(mod n), где d и n - частный ключ Алисы. Она посылает M и S Бобу.

Чтобы проверить подпись, Боб возводит S в степень e и умножает на модуль n: M = S**e*(mod n), где e и n - открытый (public) ключ Алисы.

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

Скорость работы алгоритма RSA

Как при шифровании и расшифровывании, так и при создании и проверке подписи алгоритм RSA по существу состоит из возведения в степень, которое выполняется как ряд умножений.

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

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

Методы “быстрого умножения” (например, методы, основанные на быстром преобразовании Фурье (Fast Fourier Transform, FFT)) выполняются гораздо меньшим количеством шагов. Тем не менее, они не получили широкого распространения из-за сложности программной реализации, а также потому, что с распространенными размерами ключей они фактически работают медленнее. Однако производительность и эффективность приложений и оборудования, реализующих алгоритм RSA, быстро увеличиваются. Алгоритм RSA намного медленнее, чем DES и другие алгоритмы блочного шифрования. Программная реализация DES работает быстрее, по крайней мере, в 100 раз и от 1000 до 10 000 -- в аппаратной реализации (в зависимости от конкретного устройства). Благодаря ведущимся разработкам, скорость алгоритма RSA, вероятно, увеличится, но одновременно ускорится и работа алгоритмов блочного шифрования.

Применение алгоритма RSA на практике

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

Предположим, что Алиса посылает зашифрованное сообщение Бобу. Сначала она шифрует сообщение по алгоритму DES, используя случайно выбранный ключ DES и затем шифрует ключ DES открытым (public) ключом RSA Боба. Сообщение зашифрованное ключом DES и ключ DES зашифрованный в свою очередь ключом RSA вместе формируют цифровой конверт RSA и отсылаются Бобу. Получив цифровой конверт, Боб расшифровывает ключ DES с помощью своего частного (private) ключа, а затем использует ключ DES, чтобы расшифровать само сообщение.

Применение алгоритма RSA для установления подлинности и цифровых подписей

Криптосистема RSA может использоваться также и для подтверждения подлинности или идентификации другого человека или юридического лица. Это возможно потому, что каждый зарегистрированный пользователь криптосистемы имеет свой уникальный частный (private) ключ, который (теоретически) больше никому недоступен. Именно это делает возможным положительную и уникальную идентификацию

Предположим, Алиса желает послать подписанное сообщение Бобу. Она хеширует сообщение (применяет к сообщению хеш-функцию), чтобы создать дайджест сообщения, который является как бы “цифровым отпечатком” сообщения.

Затем Алиса шифрует дайджест сообщения своим частным (private) ключом, создавая цифровую подпись, которую посылает Бобу непосредственно вместе с сообщением.

Получив сообщение и подпись, Боб расшифровывает подпись открытым (public) ключом Алисы и получает таким образом даджест сообщения. Затем он обрабатывает сообщение той же хеш-функцией что и Алиса и сравнивает результат с дайджестом сообщения, полученным при расшифровке подписи. Если они совпадают точно, то это означает успешную проверку подписи и Боб может быть уверен, что сообщение действительно послано Алисой. Если же результаты не одинаковы, то это означает, что либо сообщение пришло не от Алисы, либо было изменено при передаче (то есть после того, как Алиса его подписала). Подпись Алисы может проверить любой, кто получил или перехватил это сообщение.

Еcли же Алиса хочет сохранить содержание документа в тайне, то она подписывает документ, а затем зашифровывает его открытым (public) ключом Боба. Боб расшифровывает сообщение своим частным (private) ключом и проверяет подпись на восстановленном сообщении, используя открытый (public) ключ Алисы. Либо - если, например, необходимо, чтобы посредник мог подтвердить целостность сообщения, не получая доступ к его содерданию - вместо дайджеста открытого текста может быть рассчитан дайджест зашифрованного сообщения.

На практике же общий показатель алгоритма RSA обычно много меньше показателя частного и потому проверка подписи осуществляется быстрее чем подписание. Это является оптимальным так как сообщение подписывется только однажды, а проверка подписи может быть неоднократной.

Для обеспечения секретности обмена информацией необходимо исключить для нападающего возможность во-первых получить открытое сообщение, соответствующее хешированному, а во-вторых получить два различных хешированных сообщения, имеющих одно значение так как в любом из этих случаев нападающий имеет возможность присоединить к подписи Алисы ложное сообщение. Специально для этого разработаны функции хеширования MD5 и SHA, которые делают такое сопоставление невозможным.

Цифровая подпись может сопровождаться одним или несколькими сертификатами. Сертификат - заверенный подписью документ, подтверждающий принадлежность открытого (public) ключа определенному владельцу, благодаря чему предотвращается возможность имитации отправителя. При наличии сертификата, получатель (или третье лицо) имеет возможность удостовериться в принадлежности ключа автору сообщения, то есть ключ позволяет удостоверить сам себя.

Использование криптосистемы RSA в настоящее время

Криптосистема RSA используется в самых различных продуктах, на различных платформах и во многих отраслях. В настоящее время криптосистема RSA встраивается во многие коммерческие продукты, число которых постоянно увеличивается. Также ее используют операционные системы Microsoft, Apple, Sun и Novell. В аппаратном исполнении RSA алгоритм применяется в защищенных телефонах, на сетевых платах Ethernet, на смарт-картах, широко используется в криптографическом оборудовании. Кроме того, алгоритм входит в состав всех основных протоколов для защищенных коммуникаций Internet, в том числе S/MIME, SSL и S/WAN, а также используется во многих учреждениях, например, в правительственных службах, в большинстве корпораций, в государственных лабораториях и университетах. На осень 2000 года технологии с применением алгоритма RSA были лицензированы более чем 700 компаниями.

Технологию шифрования RSA BSAFE используют около 500 миллионов пользователей всего мира. Так как в большинстве случаев при этом используется алгоритм RSA, то его можно считать наиболее распространенной криптосистемой общего (public) ключа в мире и это количество имеет явную тенденцию к увеличению по мере роста Internet.

Стандарты с применением RSA

Криптосистема RSA - часть многих стандартов. Стандарт ISO 9796 описывает RSA как совместимый криптографический алгоритм, соотвествующий стандарту безопасности ITU-T X.509. Кроме этого криптосистема RSA является частью стандартов SWIFT, ANSI X9.31 rDSA и проекта стандарта X9.44 для американских банков. Австралийский стандарт управления ключами AS2805.6.5.3 также включает систему RSA.

Алгоритм RSA используется в Internet, в частности он входит в такие протоколы как S/MIME, IPSEC (Internet Protocol Security) и TLS (которым предполагается заменить SSL), а также в стандарт PKCS, применяемый в важных приложениях.

Для разработчиков приложений с применением PKCS организация OSI Implementers' Workshop (OIW) выпустила соглашение, которое в частности посвящено алгоритму RSA.

Множество других разрабатываемых в настоящее время стандартов включают в себя либо сам алгоритм RSA или его поддержку либо рекомендуют криптосистему RSA для обеспечения секретности и/или установления подлинности (аутентификации). Например, включают в себя систему RSA рекомендации IEEE P1363 и WAP WTLS.

криптография сообщение защита данный

Криптосистема RSA в мире

На начало 2001 года криптосистема RSA являлась наиболее широко используемой асимметричной криптосистемой (криптосистемой открытого (public) ключа) и зачастую называется стандартом де факто. Вне зависимости от официальных стандартов существование такого стандарта чрезвычайно важно для развития электронной коммерции и вообще экономики. Единая система открытого (public) ключа допускает обмен документами с электронно-цифровыми подписями между пользователями различных государств, использующими различное программное обеспечение на различных платформах; такая возможность насущно необходима для развития электронной коммерции. Распространение системы RSA дошло до такой степени, что ее учитывают при создании новых стандартов. При разработке стандартов цифровых подписей, в первую очередь в 1997 был разработан стандарт ANSI X9.30, поддерживающий Digital Signature Standard (стандарт Цифровой подписи). Годом позже был введен ANSI X9.31, в котором сделан акцент на цифровых подписях RSA, что отвечает фактически сложившейся ситуации в частности для финансовых учреждений.

Недостатки защищенной аутентификации (установления подлинности) были главным препятствием для замены бумажного документооборота электронным; почти везде контракты, чеки, официальные письма, юридические документы все еще выполняются на бумаге. Именно это - необходимость элементов бумажного документооборота - не позволяло полностью перейти к электронным транзакциям. Предлагаемая RSA цифровая подпись - инструмент, который позволит перевести наиболее существенные бумажные документопотоки в электронно-цифровой вид. Благодаря цифровым подписям многие документы - паспорта, избирательные бюллетени, завещания, договора аренды - теперь могут существовать в электронной форме, а любая бумажная версия будет в этом случае только копией электронного оригинала. Все это стало возможным благодаря стандарту цифровых подписей RSA.

Размещено на www.allbest.ru


Подобные документы

  • Анализ сетевой инфраструктуры, специфика среды исполнения и принципов хранения данных. Обзор частных моделей угроз персональных данных при их обработке с использованием внутрикорпоративных облачных сервисов. Разработка способов защиты их от повреждения.

    курсовая работа [41,7 K], добавлен 24.10.2013

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

    презентация [67,2 K], добавлен 10.09.2013

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

    контрольная работа [961,5 K], добавлен 23.04.2013

  • Актуальность защиты информации и персональных данных. Постановка задачи на проектирование. Базовая модель угроз персональных данных, обрабатываемых в информационных системах. Алгоритм и блок-схема работы программы, реализующей метод LSB в BMP-файлах.

    курсовая работа [449,5 K], добавлен 17.12.2015

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

    дипломная работа [5,3 M], добавлен 01.07.2011

  • Особенности посылки сообщений в Windows и в Win32 API. Обработка состояний простоя. Маршрутизация сообщений в Windows 3.x. Основные циклы обработки сообщений. Применение многопотоковых приложений. Основные возможности редакторов WinWord 97 и Notepad.

    лекция [35,9 K], добавлен 24.06.2009

  • Реляционная база данных. Разработка приложения по работе с базой данных. Построение логической и физической моделей. Взаимодействие с серверной программой посредством запросов, передаваемых на удаленный компьютер. Установление ссылочной целостности.

    курсовая работа [1,9 M], добавлен 29.12.2014

  • Определения криптографии как практической дисциплины, изучающей и разрабатывающей способы шифрования сообщений. История развития шифров. Хэш-функции и понятие электронной подписи. Системы идентификации, аутентификации и сертификации открытых ключей.

    реферат [77,1 K], добавлен 10.12.2011

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

    курсовая работа [975,5 K], добавлен 11.06.2014

  • Схема организационной структуры управления информационных и аналитических технологий аппарата администрации. Математическая постановка задачи классификации информационных сообщений СМИ. Описание информационного обеспечения на примере АИС "Классификатор".

    дипломная работа [677,2 K], добавлен 28.07.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.