Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУК2 - копия.docx
Скачиваний:
13
Добавлен:
10.02.2016
Размер:
609 Кб
Скачать

Решения на базе сертифицированных криптошлюзов

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

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

Рисунок 1.25 – «Удаленный доступ по защищенному каналу с

использованием криптошлюза»

С помощью криптошлюзов можно формировать виртуальные защищенные каналы в сетях общего пользования (например, Internet), гарантирующие конфиденциальность и достоверность информации и организовывать виртуальные частные сети (Virtual Private Network – VPN), которые представляют собой объединение локальных сетей или отдельных компьютеров, подключенных к сети общего пользования в единую защищенную виртуальную сеть. Для управления такой сетью обычно используется специальное программное обеспечение (центр управления), которое обеспечивает централизованное управление локальными политиками безопасности VPN-клиентов и криптошлюзов, рассылает для них ключевую информацию и новые конфигурационные данные, обеспечивает ведение системных журналов. Криптошлюзы могут поставляться как программные решения, так и как аппаратно-программные комплексы. К сожалению, большинство из сертифицированных криптошлюзов не поддерживает протокол IPSec и, поэтому они функционально не совместимы с аппаратно-программными продуктами других производителей.

Определение информации подлежащей защите

1 Регистрационные данные. Наименование предприятия, вид деятельности, ИНН, дата регистрации предприятия, отраслевая принадлежность, основной государственный регистрационный номер и дата его присвоения, юридический и фактический адреса, телефоны и факсы, электронный адрес, электронный почтовый ящик, телетайп, телекс и т.п.

Источники наполнения: данные официальных регистрирующих органов, специализированных информационно-аналитических агенств, собственная информация предприятия, подлежащая обязательному раскрытию, «серые» базы, открытая информация в СМИ и сети Интернет.

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

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

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

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

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

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

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

7 Виды деятельности, производимая продукция, рынки сбыта, конкуренты. Поставщики, партнеры, заказчики.

8 Арбитражные и хозяйственные споры, наложенные санкции и взыскания. Спорные вопросы собственности.

9 Конфликтные ситуации на предприятии, среди акционеров.

10 Компрометирующая информация в отношении предприятия, кадрового состава, владельцев и акционеров. Информация криминального толка.

11 Подборка прессы.

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

– документальная;

– акустическая (речевая);

– телекоммуникационная.

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

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

– процедуру допуска работников предприятия к сведениям, составляющим коммерческую тайну предприятия;

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

– правила обращения (делопроизводство, учет, хранение, размножение и т.д.) и документами и изделиями, содержащими коммерческую тайну предприятия;

– правила приема представителей других предприятий;

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

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

Все известные на настоящий момент меры защиты информации можно разделить на следующие виды:

– правовые;

– организационные;

– технические.

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

– законодательство об интеллектуальной собственности;

– законодательство о средствах массовой информации;

– законодательство о формировании информационных ресурсов и предоставлении информации из них;

– законодательство о реализации права на поиск, получение и использование информации;

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

2 ОЦЕНКА ЭКОНОМИЧЕСКИ ЭФФЕКТИВНОЙ СИСТЕМИ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ

2. Структура банковской платежной системы

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

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

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

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

Банк, заключивший соглашение с платежной системой и получивший соответствующую лицензию, может выступать в двух качествах – как банк-эмитент и как банк-эквайер. Банк-эмитент выпускает пластиковые карты и гарантирует выполнение финансовых обязательств, связанных с использованием этих карт как платежного средства. Банк-эквайер обслуживает предприятия торговли и сервиса, принимающие к оплате карты в качестве платежного средства, а также принимает эти платежные средства к обналичиванию в своих отделениях и через принадлежащие ему банкоматы. Основными неотъемлемыми функциями банка-эквайера являются финансовые операции, связанные с выполнением расчётов и платежей точками обслуживания. Технические атрибуты деятельности банка-эквайера (обработка запросов на авторизацию; перечисление на расчетные счета точек средств за товары и услуги, предоставляемые по картам, прием, сортировка и пересылка документов, фиксирующих совершение сделок с использованием карт и т.п.) могут быть делегированы эквайером процессинговых центров.

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

2.2 Вопросы оценки эффективности и проектирования систем защиты

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

К системе защиты предъявляется следующий список требований:

  1. уровень канала доступа: шифрование, аутентификация, электронная цифровая подпись (ЭЦП), аудит;

  2. разграничение доступа: шифрование, ЭЦП;

  3. операционная среда: ЭЦП (хэш-функция), аудит.

Требования к клиентской части реализуемой системы защиты:

  1. хранение ключей, прав доступа и других атрибутов;

  2. средства генерации ЭЦП;

  3. модуль шифрования;

  4. журнал регистрации событий.

Необходимо выбрать механизмы защиты, реализующие следующие технологии информационной безопасности:

  1. хэш-функция;

  2. симметричное и асимметричное шифрование;

  3. электронная подпись;

  4. механизмы аутентификации и аудита;

  5. средства генерации ключей и случайных последовательностей.

Цифровую электронную подпись можно реализовать следующими способами:

  1. RSA;

  2. DSA;

  3. ГОСТ 34.10-2001;

  4. Эль-Гамаля;

  5. ECDSA;

  6. ДСТУ 4145–2002.

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

В данном случае важны следующие параметры:

  1. обеспечиваемый уровень защищенности;

  2. стоимость реализации;

  3. среднее время, затрачиваемое на одну транзакцию;

  4. удельная стоимость совершения одной транзакции.

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

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

Краткие обозначения:

Z – уровень защищенности;

С – стоимость разработки и внедрения;

Т – среднее время, затрачиваемое на транзакцию;

Ц – удельная стоимость совершения одной операции.

Будем оценивать защищенность системы Z количественно по стоимости защищаемой информации, вероятности взлома, стоимости системы защиты информации и производительности системы.

Z=f(Cинф, Рвзл, П, Цсзи) (2.1)

Задача состоит в обеспечении максимального уровня защищённости при минимальной стоимости СЗИ и минимальном влиянии её на производительность.

Zopt =max Z(Cинф, Рвзл, Пmin , Цсзи) (2.2)

Рисунок 2.1 – Критерии оценки защищённости

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

(2.3)

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

Будем применять методику комплексного учета всех параметров механизмов по каждому из требований. Каждый вариант из одного списка сочетается по одному разу с вариантом из другого списка, всего возможно 54 варианта построения системы защиты табл. 1, табл. 2.

Таблица 2.1 – Характеристика вариантов системы

Компонент

Z

ΔC

ΔT

ΔЦ

Z/ΔC

Выполнение ограничений

1

2

3

4

5

6

7

8

1

a1b1

0,960

45

25

2

0,021

Не выполняются ограничения по ΔC

2

a1b2

0,970

47

19

5

0,021

Не выполняются ограничения по ΔC, Δ T и Δ Ц

3

a1b3

0,980

46

25

2

0,021

Не выполняются ограничения по ΔC, Δ T и Δ Ц

4

a1b4

0,895

42

26

5

0,021

Не выполняются ограничения по ΔC, Δ T и Δ Ц

5

a1b5

0,905

35

22

2

0,026

Не выполняются ограничения по ΔC и Δ Ц

6

a1b6

0,915

51

19

5

0,018

Не выполняются ограничения по ΔC, Δ T и Δ Ц

7

a1b7

0,925

48

31

6

0,019

Не выполняются ограничения по ΔC, Δ T и Δ Ц

8

a1b8

0,935

45

26

2

0,021

Не выполняются ограничения по ΔC и Δ T

9

a1b9

0,945

42

21

3

0,023

Не выполняются ограничения по ΔC, Δ T и Δ Ц

10

a2b1

0,950

46

32

5

0,021

Не выполняются ограничения по ΔC

11

a2b2

0,960

48

26

8

0,020

Не выполняются ограничения по Δ Ц

12

a2b3

0,970

47

32

5

0,021

Не выполняются ограничения по ΔC и Δ Ц

13

a2b4

0,885

43

33

8

0,021

Не выполняются ограничения по Δ Ц

14

a2b5

0,895

36

29

5

0,025

Не выполняются ограничения по ΔC и Δ Ц

15

a2b6

0,905

52

26

8

0,017

Не выполняются ограничения по ΔC и Δ Ц

16

a2b7

0,915

49

38

9

0,019

Не выполняются ограничения по ΔC, Δ T и Δ Ц

17

a2b8

0,925

46

33

5

0,020

Не выполняются ограничения по ΔC

Продолжение таблици 2.1

1

2

3

4

5

6

7

8

18

a2b9

0,935

43

28

6

0,022

Не выполняются ограничения по ΔC и Δ Ц

19

a3b1

0,940

44

34

2

0,021

Не выполняются ограничения по ΔC, Δ T и Δ Ц

20

a3b2

0,950

46

28

5

0,021

Не выполняются ограничения по ΔC, Δ T и Δ Ц

21

a3b3

0,960

45

34

2

0,021

Не выполняются ограничения по ΔC, Δ T и Δ Ц

22

a3b4

0,875

41

35

5

0,021

Не выполняются ограничения по ΔC, Δ T и Δ Ц

23

a3b5

0,885

34

31

2

0,026

Не выполняются ограничения по ΔC, Δ T и Δ Ц

24

a3b6

0,895

50

28

5

0,018

Не выполняются ограничения по ΔC, Δ T и Δ Ц

25

a3b7

0,905

47

40

6

0,019

Не выполняются ограничения по ΔC, Δ T и Δ Ц

26

a3b8

0,915

44

35

2

0,021

Не выполняются ограничения по ΔC и Δ T

27

a3b9

0,925

41

30

3

0,023

Не выполняются ограничения по ΔC, Δ T и Δ Ц

28

a4b1

0,930

39

31

5

0,024

Не выполняются ограничения по ΔC и Δ T

29

a4b2

0,940

41

25

8

0,023

Не выполняются ограничения по Δ T и Δ Ц

30

a4b3

0,950

40

31

5

0,024

Не выполняются ограничения по ΔC и Δ T

31

a4b4

0,865

36

32

8

0,024

Не выполняются ограничения по Δ T

32

a4b5

0,875

29

28

5

0,030

Не выполняются ограничения по ΔC, Δ T и Δ Ц

33

a4b6

0,885

45

25

8

0,020

Не выполняются ограничения по ΔC, Δ T и Δ Ц

34

a4b7

0,895

42

37

9

0,021

Не выполняются ограничения по ΔC и Δ T

35

a4b8

0,905

39

32

5

0,023

Не выполняются ограничения по Δ T

36

a4b9

0,915

36

27

6

0,025

Не выполняются ограничения по ΔC, Δ T и Δ Ц

37

a5b1

0,920

50

23

2

0,018

Не выполняются ограничения по ΔC

38

a5b2

0,930

52

17

5

0,018

Выполняются ограничения

39

a5b3

0,940

51

23

2

0,018

Не выполняются ограничения по ΔC

40

a5b4

0,855

47

24

5

0,018

Выполняются ограничения

41

a5b5

0,865

40

20

2

0,022

Не выполняются ограничения по ΔC

42

a5b6

0,875

56

17

5

0,016

Не выполняются ограничения по ΔC и Δ Ц

43

a5b7

0,885

53

29

6

0,017

Не выполняются ограничения по ΔC и Δ T

44

a5b8

0,895

50

24

2

0,018

Выполняются ограничения

45

a5b9

0,905

47

19

3

0,019

Не выполняются ограничения по ΔC

46

a6b1

0,960

39

27

5

0,025

Не выполняются ограничения по ΔC

47

a6b2

0,970

41

21

8

0,024

Выполняются ограничения

48

a6b3

0,980

40

27

5

0,025

Не выполняются ограничения по ΔC

49

a6b4

0,895

36

28

8

0,025

Выполняются ограничения

50

a6b5

0,905

29

24

5

0,031

Выполняются ограничения

51

a6b6

0,915

45

21

8

0,020

Не выполняются ограничения по Δ Ц

52

a6b7

0,925

42

33

9

0,022

Не выполняются ограничения по ΔC и Δ T

53

a6b8

0,935

39

28

5

0,024

Выполняются ограничения

54

a6b9

0,945

36

23

6

0,026

Выполняются ограничения

35

26

6

Таблица 2.2– Допустимые варианты системы

Компонент

Z

ΔC

ΔT

ΔЦ

Z/ΔC

38

a5b2: ГОСТ программно на C++ и MD5 программно на С++

0,930

52

17

5

0,018

40

a5b4:ГОСТ программно на C++ и MD5 программно на Pascal

0,855

47

24

5

0,018

44

a5b8:ГОСТ программно на C++ и ГОСТ программно на С++

0,895

50

24

2

0,018

47

a6b2:ГОСТ программно на ASM и MD5 программно на С++

0,97

41

21

8

0,024

49

a6b4:ГОСТ программно на ASM и MD5 программно на Pascal

0,895

36

28

8

0,025

50

a6b5:ГОСТ программно на ASM и SHA программно на С++

0,905

29

24

5

0,031

53

a6b8:ГОСТ программно на ASM и ГОСТ программно на С++

0,935

39

28

5

0,024

54

a6b9:ГОСТ программно на ASM и ГОСТ программно на ASM

0,945

36

23

6

0,026

На рис. 2.2, 2.3 и 2.4 приведены все варианты проектов в координатах «защищенность – стоимость», «защищенность – время», «защищенность – удельная стоимость». На графиках точками отображены варианты проекта. Сплошной линией изображено множество Парето на каждом из графиков. Множество Парето – множество допустимых альтернатив задачи многокритериальной оптимизации (принцип отбора рациональных решений). На рисунках надписаны варианты решений, входящие в область компромиссов и удовлетворяющие заданным в примере ограничениям.

Рисунок 2.2 – Варианты системы в

координатах «защищенность-стоимость»

Рисунок 2.3 – Варианты системы в координатах «защищенность-время»

Рисунок 2.4 – Варианты системы в координатах «защищенность- удельная стоимость»

Как видно из табл. 2.2, существует всего двенадцать вариантов проекта, удовлетворяющих заданным условиям. Используя метод попарных сравнений, выделим область компромиссов, к ней относятся следующие варианты проекта: 2, 4, 6, 14, 15, 29, 40. Анализ одного допустимого варианта на графиках, показал что он вполне удовлетворят заданным ограничениям, номер варианта – 47.

Выбранный вариант №47:

– ГОСТ программно на C++ (a6) .

– ГОСТ программно на С++ (b2).

Z max = 0,970;

Сэцп + Схэш Сдоп, 17 + 24 35;

Tэцп + Tхэш Тдоп, 14 + 14 26;

Цэцп + Цхэш Цдоп, 4 + 4 6.

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

2.4 Электронная цифровая подпись ГОСТ

ГОСТ Р 34.10-2001 (полное название: «ГОСТ Р 34.10-2001. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи»)  – российский стандарт, описывающий алгоритмы формирования и проверки электронной цифровой подписи.

Цифровая подпись позволяет:

  1. аутентифицировать лицо, подписавшее сообщение;

  2. контролировать целостность сообщения;

  3. защищать сообщение от подделок;

  4. доказать авторство лица, подписавшего сообщение.

ГОСТ Р 34.10-2001 основан на эллиптических кривых. Его стойкость основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости хэш-функции по ГОСТ Р 34.11-94. После подписывания сообщения М к нему дописывается цифровая подпись размером 512 бит и текстовое поле. В текстовом поле могут содержаться, например, дата и время отправки или различные данные об отправителе.

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

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

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

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

Цифровая подпись, представленная в виде двоичного вектора длиной 512 бит, должна вычисляться с помощью определенного набора правил (рис. 2.5).

Рисунок 2.5 – Алгоритм формирования цифровой подписи

Криптостойкость цифровой подписи опирается на две компоненты – на стойкость хэш-функции и на стойкость самого алгоритма шифрования. Вероятность взлома хэш-функции по ГОСТ 34.11-94 составляет 1,73*10-77 при подборе коллизии на фиксированное сообщение и 2,94*10-39 при подборе любой коллизии. Стойкость алгоритма шифрования основывается на дискретном логарифмировании в группе точек эллиптической кривой. На данный момент нет метода решения данной задачи хотя бы с субэкспоненциальной сложностью.

    1. Хэш-функция MD5

Функция хэширования H представляет собой отображение, на вход которого подаётся сообщение M произвольной длины, а на выходе получается значение h конечной длины, где h = H(M).

В общем случае хэш-значение h гораздо меньше исходного сообщения M. Так для MD5 h=128 бит. Хэш-функция должна обладать следующими свойствами:

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

2 Необратимость: по h значению невозможно восстановить исходный текст M;

3 Вычислительно очень трудно (почти невозможно) найти два сообщения M и M1, которые дают два одинаковых h-значения.

Хэш-значение является контрольной суммой исходного сообщения M и называется MDC (Manipulation Detection Code – код обнаружения изменений) или MIC (Message Integrity Check – проверка целостности сообщения). Если хэш-функция использует для своей работы ключ (пароль), то получаемое значение называется MAC (Message Authentication Code – код аутентичности сообщения)

Описание алгоритма MD5.

Подробное официальное описание MD5 даётся в RFC 1321 (The MD5 Message-Digest Algorithm). Ниже приводиться наиболее важные детали русского перевода: MD5 алгоритм используется в приложениях криптографии и электронно-цифровых подписей для генерации ключа шифрования. Алгоритм разработан, что бы быть достаточно быстрым на 32-битных системах и не требовать больших объемов памяти. MD5 является чуть более медленным, чем MD4, но является более устойчивым к криптографическим атакам. Далее под "словом" будет подразумеваться количество информации в 32 бита, а под "байтом" – 8 бит. Последовательность бит интерпретируется в естественной форме – как последовательность байт, где каждая группа из 8 бит является отдельным байтом, причём старший бит байта идет первым. Аналогично представляется последовательность байт, как последовательность слов, только младший байт идет первым. Предполагается, что в качестве входного потока имеется поток данных N бит. N – неотрицательное целое (возможно 0), не обязательно кратное 8. Для вычисления MD5 хэш-функции необходимо выполнить следующие 4 шага.

Шаг 1: выравнивание потока.

Входной поток выравнивается так, что бы его длина стала конгруэнтной (сравнимой) с 448 по модулю 512. Выравнивание происходит следующим образом: к потоку добавляется один бит '1', а затем биты '0' до тех пор, пока длина потока не будет сравнима с 448 по модулю 512. Выравнивание происходит всегда, даже если длина потока была уже сравнима с 448 по модулю 512. Таким образом к потоку добавляется минимум 1 бит, максимум – 512.

Шаг 2: добавление длины.

64 битное представление длины входного потока (длины потока до выравниваия) добавляется к результату предидущего шага. Если длина потока превосходит 2^64, то добавляются младшие 64 бит. Эти биты добавляются как 2 32-битных слова, младшее слово добавляется первым. Таким образом на этом шаге длина потока становится кратной 512 битам или 16, 32-битным словам. Далее будем рассматривать входной поток как массив M[0 ... N1] слов длиной N.

Шаг 3: инициализация MD буфера.

Буфер из 4 слов {A, B, C, D} используется для вычисления хэш функции, который инициализируется в следующие значения:

A = 0x67452301

B = 0xEFCDAB89

C = 0x98BADCFE

D = 0x10325476

Шаг 4: вывод MD5.

Результат вычисления (хэш) представлен четырьмя 32 битными словами – A, B, C, D (младшим записывается A, старшим – D). 128-битный MD5 хэш готов.