Средства защиты информации в Windows и MSDN
Назначение, схема и правила построения протоколов аутентификации. Алгоритмы облегченной криптографии и их предназначение. Криптографические средства защиты информации в Windows и MSDN. Реализация преобразования SubBytes и MixColums в стандарте AES.
| Рубрика | Программирование, компьютеры и кибернетика |
| Вид | контрольная работа |
| Язык | русский |
| Дата добавления | 13.11.2015 |
| Размер файла | 89,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Протоколы установления подлинности
Протоколы установления подлинности (аутентификации) позволяют процессу убедиться, что он взаимодействует с тем, кто должен быть, а не с тем кто лишь представляется таковым.
Очень часто путают проверку прав на выполнение тех или иных операций с аутентификацией. (В первом случае имеем авторизацию.) Аутентификация отвечает на вопрос: как убедиться, что вы взаимодействуете именно с определенным процессом. Если, например, к серверу процесс обратился с запросом удалить файл x.old и объявил себя процессом Вася, то сервер должен убедиться, что перед ним действительно Вася и что Вася имеет право делать то , что просит. Ключевым конечно является первый вопрос, ответ на второй вопрос - это дело просмотра таблицы.
Общая схема всех протоколов аутентификации такова: Сторона А и сторона В начинают обмениваться сообщениями между собой и с Центром раздачи ключей (ЦРК). ЦРК всегда надежный партнер. Протокол аутентификации устроен так, что даже если интрудер перехватит сообщения между А и В, ни А ни В не спутают друг друга с интрудером. Обмен данными между А и В будет происходить по алгоритму с закрытым ключом, а вот устанавливаться соединение по алгоритму с открытым ключем.
Есть несколько общих правил построения протоколов аутентификации (протокол проверки подлинности или просто подлинности):
1. Инициатор должен доказать кто он есть прежде, чем вы пошлете ему какую-то важную информацию.
2. Инициатор и отвечающий должны использовать разные ключи.
3. Инициатор и отвечающий должны использовать начальные вызовы из разных множеств, не пересекающиеся.
Алгоритмы облегченной криптографии и их предназначение
К облегченной криптографии относятся алгоритмы, разрабатываемые специально для устройств с ограниченными или крайне ограниченными вычислительными ресурсами. В принципе критерии, по которым тот или иной криптографический алгоритм можно отнести к облегченной криптографии, достаточно размыты. Тем не менее общие свойства таких алгоритмов - сверхнизкие требования к ресурсам того устройства, на котором предполагается их использовать, а именно:
* к требуемой площади кристалла, на котором алгоритм может быть аппаратно реализован (радиометки должны быть максимально дешевыми, а площадь кристалла должна напрямую влиять на их стоимость);
* к вычислительной мощности микропроцессора или микроконтроллера, на котором выполняются вычисления;
* к оперативной памяти устройства;
* к энергонезависимой памяти устройства и т. п.
Облегченная криптография представляет собой относительно свежее направление в криптографии -- первые известные достижения в этой области появились не более десяти лет назад. Посмотрим, какие бывают облегченные алгоритмы шифрования и чем они отличаются от обычных.
Описание криптографических средств защиты информации в ОС Windows
Криптопровайдер -- это программное средство, рассчитанное на работу в определенной операционной среде и на взаимодействие с приложениями, работающими в этой среде.
С помощью функций, предоставляемых криптопровайдером, в частности, можно:
· Создавать криптографические ключи. Эти ключи будут предназначены для алгоритмов, реализованных в данном криптопровайдере;
· Выполнять выработку и проверку электронной подписи под документами;
· Выполнять зашифрование и расшифрование документов.
В состав дистрибутива ОС Windows входят криптопровайдеры, предоставляющие криптографические функции пользовательским приложениям, в том числе почтовым программам. Но эти криптопровайдеры используют алгоритмы, соответствующие зарубежным стандартам (в частности, широко известные алгоритмы RSA, DSA и др.)
Криптопровайдеров, использующих алгоритмы, соответствующие российским ГОСТам, в составе дистрибутива ОС Windows в настоящий момент нет. Но такие криптопровайдеры существуют и могут быть установлены в системе. Таким криптопровайдером, например, является криптопровайдер МагПро CSP.
Описание криптографических средств защиты информации в MSDN
Открытые сети, такие как Интернет, не предоставляют средств обеспечения защищенного взаимодействия между объектами. При удаленном взаимодействии через такие сети может происходить чтение или даже изменение передаваемой информации неправомочными третьими лицами. Использование криптографии обеспечивает защиту данных от просмотра или изменения, а также создает защищенные каналы связи на основе незащищенных каналов. Например, данные могут быть зашифрованы с помощью некоторого криптографического алгоритма, переданы в зашифрованном виде, а затем расшифрованы лицом, которому они предназначались. Если зашифрованные данные будут перехвачены третьим лицом, расшифровать их будет трудно.
Классы в пространстве имен System.Security.Cryptography платформы .NET Framework управляют многими деталями шифрования. Некоторые из них являются оболочками для неуправляемого интерфейса Microsoft Cryptography API (CryptoAPI), в то время как другие реализованы полностью в виде управляемого кода. При использовании этих классов вам вовсе не обязательно быть экспертом в криптографии. При создании нового экземпляра одного из классов, реализующих алгоритмы шифрования, ключи создаются автоматически с целью удобства использования, а принятые по умолчанию значения свойств призваны обеспечить максимальную защищенность.
Реализация преобразования SubBytes в стандарте AES
SubBytes заменяет каждый элемент матрицы состояния соответвующим элементом таблицы SBox: sij = SBox[sij]. Преобразование SubBytes обратимо. Обратное к нему находится с помощью таблицы InvSBox.
Для дешифрования текста AES использует таблицу обратную к SBox. Таблица InvSBox обладает одним свойством: InvSBox[SBox[i]] = i. InvSBox выглядит так:
52 09 6a d5 30 36 a5 38 bf 40 a3 9e 81 f3 d7 fb 7c e3 39 82 9b 2f ff 87 34 8e 43 44 c4 de e9 cb 54 7b 94 32 a6 c2 23 3d ee 4c 95 0b 42 fa c3 4e 08 2e a1 66 28 d9 24 b2 76 5b a2 49 6d 8b d1 25 72 f8 f6 64 86 68 98 16 d4 a4 5c cc 5d 65 b6 92 6c 70 48 50 fd ed b9 da 5e 15 46 57 a7 8d 9d 84 90 d8 ab 00 8c bc d3 0a f7 e4 58 05 b8 b3 45 06 d0 2c 1e 8f ca 3f 0f 02 c1 af bd 03 01 13 8a 6b 3a 91 11 41 4f 67 dc ea 97 f2 cf ce f0 b4 e6 73 96 ac 74 22 e7 ad 35 85 e2 f9 37 e8 1c 75 df 6e 47 f1 1a 71 1d 29 c5 89 6f b7 62 0e aa 18 be 1b fc 56 3e 4b c6 d2 79 20 9a db c0 fe 78 cd 5a f4 1f dd a8 33 88 07 c7 31 b1 12 10 59 27 80 ec 5f 60 51 7f a9 19 b5 4a 0d 2d e5 7a 9f 93 c9 9c ef a0 e0 3b 4d ae 2a f5 b0 c8 eb bb 3c 83 53 99 61 17 2b 04 7e ba 77 d6 26 e1 69 14 63 55 21 0c 7d
Реализация преобразования MixColums в стандарте AES
MixColumns умножает каждый столбец матрицы s слева на особую матрицу размера 4Ч4:
защита информация windows msdn
<img src="" alt="MixColumnsTransform">
Для шифрования используют [a b c d] = [{02} {03} {01} {01}]. Можно проверить, что преобразование обратное к MixColumns[{02} {03} {01} {01}] это MixColumns[{0e} {0b} {0d} {09}].
Схематично шифрование можно изобразить так:
AddRoundKey(0)
for (var i = 1; i <= Nr - 1; i++)
{
SubBytes()
ShiftRows()
MixColumns([0x02, 003, 0x01, 0x01])
AddRoundKey(i)
}
SubBytes()
ShiftRows()
AddRoundKey(Nr)
Расшифровка
Как видно, для шифрования блока данных AES последовательно применяет к нему много обратимых преобразований. Для расшифровки нужно применить обратные преобразования в обратном порядке.
Реализация операций над байтами в стандарте AES
|
SubBytes() |
трансформации при шифровании, которые обрабатывают State используя нелинейную таблицу замещения байтов(S-box), применяя её независимо к каждому байту State |
SubBytes()[править | править вики-текст]
В процедуре SubBytes, каждый байт в state заменяется соответствующим элементом в фиксированной 8-битной таблице поиска, S; bij = S(aij).
Процедура SubBytes() обрабатывает каждый байт состояния, независимо производя нелинейную замену байтов используя таблицу замен (S-box). Такая операция обеспечивает нелинейность алгоритма шифрования. Построение S-box состоит из двух шагов. Во-первых, производится взятие обратного числа в поле Галуа . Во-вторых, к каждому байту b из которых состоит S-box применяется следующая операция:
где , и где есть i-ый бит b, а -- i-ый бит константы . Таким образом, обеспечивается защита от атак, основанных на простых алгебраических свойствах.
Реализация нелинейного узла замены в стандарте DES
|
S-box |
нелинейная таблица замен, использующаяся в нескольких трансформациях замены байт и в процедуре Key Expansion для взаимнооднозначной замены значения байта. Предварительно рассчитанный S-box можно увидеть ниже. |
S-box
Sbox = array{
0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,
0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0,
0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15,
0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75,
0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84,
0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf,
0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8,
0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2,
0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73,
0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb,
0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79,
0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08,
0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a,
0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e,
0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,
0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16
};
Обратный S-box для процедуры InvSubBytes
InvSbox = array{
0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb,
0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb,
0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e,
0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25,
0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92,
0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84,
0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06,
0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b,
0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73,
0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e,
0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b,
0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4,
0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f,
0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef,
0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61,
0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d
};
Реализация нелинейных преобразований в ГОСТ 28147-89
В этом режиме открытый текст делится на блоки по 64 бита и складывается по модулю 2 с ключом (гаммой шифра), который вырабатывается блоками по 64 бита. Другими словами, операция шифрования может быть представлена в виде Е(i) = T i)( ? Г i)( , где T i)( - 64-битный блок открытого текста, Г(i) - 64-битный блок гаммы, i = 2,1 ,...,m , m - число блоков открытого текста. 64-битный блок гаммы вычисляется по формуле Г i)( = E (Y (i ? ),1 V (i ? ))1 Z , где )( EZ обозначает операцию шифрования на ключе Z в режиме простой замены , Y i)( , V i)( - 32-битные последовательности формируемые итеративно Y i)( = (Y (i ? )[1 +]C2 , V i)( = (V (i ? ){1 +}C )1 , где {+} обозначает сложение по модулю 2 1 32 ? , i = 2,1 ,...,m , C1, C2 - константы, заданные в стандарте. Шифртекст t бит Исходный текст t бит Вх. блок 64 ? t t Шифратор t 64 ? t Вначале формируются Y )0( , V )0( по формуле (Y ),0( V ))0( E (S) = Z , где S - 64- разрядная синхропоследовательность. Синхропоследовательность не является секретным элементом, но должна быть известна на передающей и приемной стороне.
Формирование открытой и секретной частей ключа в системе RSA, пример
Это алгоритм основан на использовании односторонней функции с лазейкой (trapdoor one-way function). Зная 2 простых P,Q числа, умножить их и получить N=P*Q очень легко, разложение же числа N на простые множители и есть «лазейка». Разложение N на P и Q вычислительно неосуществимо при условии, что длины P и Q составляют не менее 100 десятичных знаков. В 1994 г. было факторизировано число со 129 десятичными цифрами (математиком А.Мистра, М.Манасси) на 1600 компьютерах в сети в течениии 8 месяцев.
Таким образом, выбираем большое натуральное число
N=P*Q,
где P,Q простые числа.
Рассмотрим генерацию ключей. В алгоритме RSA используются два ключа:
- e - открытый ключ;
- d - закрытый/секретный ключ.
Открытый ключ e выбирается из следующего условия:
где - функция Эйлера.
Секретный ключ d вычисляется из сравнения по следующей формуле:
Криптографическую систему формирует получатель секретной информации, т.е. осуществляет генерацию ключей и публикует (e,N).
Таким образом, (e,N) - открытая информация, (d,P,Q) - секретная информация.
Шифрование и расшифрование реализуется по следующей схеме:
- Оцифровка исходного текста pt;
- Шифрование производится по следующей формуле:
Действие производится отправителем.
- Расшифрование производится по следующей формуле:
Действие производится получателем информации.
Размещено на Allbest.ru
Подобные документы
История криптографии и ее основные задачи. Основные понятия криптографии (конфиденциальность, целостность, аутентификация, цифровая подпись). Криптографические средства защиты (криптосистемы и принципы ее работы, распространение ключей, алгоритмы).
курсовая работа [55,7 K], добавлен 08.03.2008Программно-технические способы обеспечения информационной безопасности: защита от несанкционированного доступа; системы аутентификации и мониторинга сетей; антивирусы; анализаторы протоколов; криптографические средства. Статистика утечек информации.
реферат [1,2 M], добавлен 29.01.2013Организация системы защиты информации во всех ее сферах. Разработка, производство, реализация, эксплуатация средств защиты, подготовка соответствующих кадров. Криптографические средства защиты. Основные принципы инженерно-технической защиты информации.
курсовая работа [37,5 K], добавлен 15.02.2011Виды умышленных угроз безопасности информации. Методы и средства защиты информации. Методы и средства обеспечения безопасности информации. Криптографические методы защиты информации. Комплексные средства защиты.
реферат [21,2 K], добавлен 17.01.2004Рассмотрение основных понятий криптографии: конфиденциальности, целостности, аутентификации и цифровой подписи. Описание криптографических средств защиты (криптосистемы, принципы работы криптосистемы, распространение ключей, алгоритмы шифрования).
дипломная работа [802,2 K], добавлен 08.06.2013Необходимость защиты информации. Виды угроз безопасности ИС. Основные направления аппаратной защиты, используемые в автоматизированных информационных технологиях. Криптографические преобразования: шифрование и кодирование. Прямые каналы утечки данных.
курсовая работа [72,1 K], добавлен 22.05.2015Комплексный подход в обеспечении информационной безопасности. Анализ процессов разработки, производства, реализации, эксплуатации средств защиты. Криптографические средства защиты информации. Основные принципы инженерно-технической защиты информации.
курсовая работа [725,1 K], добавлен 11.04.2016Технические средства защиты информации. Основные угрозы безопасности компьютерной системы. Средства защиты от несанкционированного доступа. Системы предотвращения утечек конфиденциальной информации. Инструментальные средства анализа систем защиты.
презентация [3,8 M], добавлен 18.11.2014Сущность проблемы и задачи защиты информации в информационных и телекоммуникационных сетях. Угрозы информации, способы их воздействия на объекты. Концепция информационной безопасности предприятия. Криптографические методы и средства защиты информации.
курсовая работа [350,4 K], добавлен 10.06.2014Развитие новых информационных технологий и всеобщая компьютеризация. Информационная безопасность. Классификация умышленных угроз безопасности информации. Методы и средства защиты информации. Криптографические методы защиты информации.
курсовая работа [25,9 K], добавлен 17.03.2004


