Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ю.В. Романец, П.А. Тимофеев - Защита информации...docx
Скачиваний:
12
Добавлен:
01.03.2025
Размер:
1.05 Mб
Скачать

Глава 12. Обеспечение безопасности платежных систем на основе смарт-карт и программно- аппаратных средств фирмы анкад

Одна из наиболее важных сфер применения средств серии КРИПТОН-обеспечение безопасности платежных систем. Эта за­дача имеет комплексный характер. Рассмотрим один из ее аспек­тов-защиту информации, циркулирующей в аппаратно-програм­мных объектах платежной системы.

12.1. Технические объекты платежной системы

К техническим объектам платежной системы относятся:

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

  • устройство чтения/записи (отдельное интерфейсное устройство или устройство в составе терминала, в которое вставляется смарт-карта, и взаимодействующие с смарт-картой механические и электрические устройства);

  • терминальное оборудование (торговые терминалы, кассовые ап­параты, банкоматы и другое оборудование), предназначенное для непосредственных операций со смарт-картой и передачи информации в центр обработки транзакций;

  • автоматизированное рабочее место (АРМ) персонализации смарт-карт (персональный компьютер с устройством чте­ния/записи для записи на смарт-карты информации);

  • АРМ операциониста банка (персональный компьютер с устройст­вом чтения/записи);

  • рабочая станция банка-эквайера, банка-эмитента, процессинго- вого центра (персональный компьютер с устройством чте­ния/записи);

  • сервер банка-эквайера, банка-эмитента, процессингового центра;

  • каналы связи, объединяющие указанные выше компоненты.

На платежной смарт-карте обычно размещается следующая информация:

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

  • информация о наличии денег, о проведенных транзакциях и т.п.

12.2. Основные принципы обеспечения безопасности платежной системы

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

Данные выпускающей смарт-карты организации и номер смарт-карты записываются в однократно программируемую память и защищаются от изменения аппаратным способом.

Данные о банке и владельце смарт-карты могут быть измене­ны на смарт-карте в центре персонализации банка-эмитента при предъявлении соответствующих полномочий (ключей).

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

Идентификация и аутентификация должна осуществляться на основе методов симметричной и асимметричной криптографии. Для решения этих задач фирма АНКАД предлагает библиотеки функций шифрования и вычисления имитовставки (ГОСТ 28147-89), хеширования (ГОСТ Р 34.11-94) и электронной цифровой подписи (ГОСТ Р 34.10-94), реализованные программным и аппаратным способами.

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

Проверка целостности данных может осуществляться с помо­щью библиотек (см. табл.11.1).

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

Для проверки происхождения информации предназначены те же самые библиотеки.

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

Для ограничения доступа к оборудованию на базе ПК предла­гаются системы защиты от несанкционированного доступа КРИПТОН-ВЕТО или КРИПТОН-ЗАМОК. Защита ПК со стороны сети и каналов связи осуществляется с помощью "прозрачно" шифрующих коммуникационных программ или криптошлюзов и криптомаршрутизаторов.

Защита кредитных операций. Кредитные операции должны выполняться непосредственно в банке или в режиме on-line. Раз­решается их проводить и в режиме off-line для определенных сумм кредита. Система должна защищать проведение кредитных опера­ций (перевод денег со счета на смарт-карту) путем:

  • проверки банком действительности смарт-карты;

  • проверки действительности терминала банка;

  • определения владельца карточки по PIN коду;

  • создания подтверждающего электронного сертификата;

  • подтверждения сертификатом проведенной операции;

  • вывода смарт-карты из обращения при попытке мошенничества с возможностью восстановления.

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

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

Защита дебитных операций. При приобретении товаров или услуг производятся:

  • проверка терминалом торгового предприятия действительности смарт-карты;

  • проверка картой действительности торгового терминала;

  • определение владельца смарт-карты по PIN коду;

  • проверка наличия средств на смарт-карте;

  • создание подтверждающего электронного сертификата;

  • подтверждение сертификатом проведенной операции;

  • вывод смарт-карты из обращения при попытке мошенничества с возможностью восстановления.

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

Согласование проведенных операций. Все кредитные и де­бетовые операции, проведенные в течение дня в каждом магазине, собираются, согласовываются и передаются в банк. При этом:

  • удостоверяется действительность торгового терминала;

  • проверяется подлинность сделки;

  • проверяется целостность данных о сделке.

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

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

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

Основная опасность утечки конфиденциальной информации о владельце карты существует на этапе персонализации карты. Ра­бочее место для персонализации карт должно иметь надежную систему защиты от НСД, в качестве которой может быть использо­вана система КРИПТОН-ВЕТО или КРИПТОН-ЗАМОК.

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

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

Эта задача также решается с помощью системы КРИПТОН- ВЕТО или КРИПТОН-ЗАМОК.

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

Безопасность устройства строится на закрытии канала связи с применением методов симметричной и асимметричной криптогра­фии. В настоящее время имеется единственный отечественный ридер SCAT-200 (разработки фирмы АНКАД) с шифрованием по ГОСТ 28147-89 и библиотеками к нему для различных смарт-карт под управлением операционных систем DOS и Windows 95/98. Со­хранность ключевой информации обеспечивается модулем безо­пасности устройства, в составе которого работает ридер. Фирма разрабатывает защищенное устройство чтения/записи (с модулем безопасности) по требованию заказчика.

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

Для защиты терминального оборудования, реализованного на основе ПК, предлагается использовать: 346

  • систему защиты от НСД КРИПТОН-ВЕТО или КРИПТОН-ЗАМОК;

  • коммуникационные программы прозрачного шифрования IP-па­кетов и ограничения доступа к компьютеру по сети;

  • библиотеки функций шифрования и электронной цифровой под­писи для различных операционных систем.

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

  • систему КРИПТОН-ВЕТО или КРИПТОН-ЗАМОК;

  • коммуникационные программы прозрачного шифрования IP-паке­тов и ограничения доступа к компьютеру по сети;

  • криптомаршрутизаторы (для защиты серверов и сегментов сетей);

  • библиотеки функций шифрования и электронной цифровой под­писи для различных операционных систем.

ПРИ ЛОЖЕН И Е

ЭЛЕМЕНТЫ ТЕОРИИ ЧИСЕЛ Модулярная арифметика

Модулярная арифметика часто изучается в школе как "ариф­метика часов". Если отсчитать 14 часов от 3 часов после полудня, то получится 5 часов утра следующего дня:

3 +14 = 5(mod12)

или

(3+14) mod 12 = 5.

Это арифметика по модулю 12. Обычная запись в модулярной арифметике

a s b(mod п)

читается так: "а сравнимо с b по модулю л". Это соотношение спра­ведливо для целых значений а,Ь и п если, и только если

а = b + к * п

для некоторого целого к.

Отсюда, в частности, следует

n | (а - Ь).

Это читается как "п делит (а - Ь)".

Если a = b(modn),

то b называют вычетом числа а по модулю п.

Операцию нахождения вычета числа а по модулю л

a(mod п)

называют приведением числа а по модулю п или приведением по модулю.

В нашем примере

(3+14) mod 12 =17 mod 12 = 5

или

17s5(mod12),

яисло 5 является вычетом числа 17 по модулю 12.

Набор целых чисел от 0 до (п-1) называют полным набором вычетов по модулю п. Это означает, что для любого целого а(а>0) его вычет г по модулю п есть некоторое целое число в интервале от 0 до (п-1), определяемое из соотношения

г= а- к * п,

где к-целое число.

Например, для п=12 полный набор вычетов:

{0,1,2 11}.

Обычно предпочитают использовать вычеты

ге{0,1, 2 п-1},

но иногда полезны вычеты в диапазоне целых:

Заметим, что

-12(mod 7) =- 5(mod 7) s 2(mod 7) в 9(mod 7) и т.д.

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

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

(а + b) mod п = [a(mod п) + b(mod n)J mod п, (а - b) mod n = [a(mod n) - b(mod n)] mod n. (a * b) mod n = [a(mod n) * b(mod n)] mod n. [a * (b + c)] mod n = {[a * b(mod n)] + [a * c(mod n)]} mod n.

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

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

Вычисление степени числа а по модулю п

ах mod п

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

Например, если нужно вычислить

a8 mod п,

не следует применять примитивный подход с выполнением семи перемножений и одного приведения по модулю громадного числа:

(а*а*а*а*а*а*а*а) mod п.

Вместо этого выполняют три малых умножения и три малых приве­дения по модулю:

((a2 mod п)2 mod п)2 mod п. Тем же способом вычисляют

a16 mod п = (((a2 mod п)2 mod п)2 mod п)2 mod п. Вычисление

ах mod п,

где х не является степенью 2, лишь немного сложнее. Двоичная запись числа х позволяет представить число х как сумму сте­пеней 2:

х = 25(10) —>1 10 0 1(2), поэтому 25 = 24 + 23 + 2°.

Тогда

a25 mod п = (а * a24) mod п = (а * а8 * a16) mod п = = а * ((а2)2)2 * (((a2)2)2)2 mod п = ((((а2 * а)2)2)2 * a) mod п.

При разумном накоплении промежуточных результатов потребует­ся только шесть умножений:

(((((((a2 mod п) * a) mod п)2 mod п)2 mod п)2 mod п) * a) mod п.

Этот метод уменьшает трудоемкость вычислений до 1,5хк опе­раций в среднем, где к-длина числа в битах [123].

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

Алгоритм Евклида для нахождения наибольшего общего делителя

Целое число а делит без остатка другое целое число Ь, если, и только если

b = к * а

для некоторого целого числа к. В этом случае число а называют делителем числа b или множителем в разложении числа b на мно­жители.

Пусть а-целое число, большее 1. Тогда а является простым числом, если его единственными положительными делителями бу­дут 1 и само а, в противном случае а называется составным.

Любое целое п>1 может быть представлено единственным об­разом с точностью до порядка сомножителей как произведение простых [45].

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

п = р * q.

Наибольший общий делитель чисел а и Ь, обозначаемый как НОД (а,Ь) или просто (а,Ь),-это наибольшее целое, делящее од­новременно числа а и Ь. В эквивалентной форме (а.Ь)-это то единственное натуральное число, которое делит а и b и делится на любое целое, делящее и а и Ь. Если НОД (а,Ь)=1, то целые а и b - взаимно простые.

Наибольший общий делитель может быть вычислен с помо­щью алгоритма Евклида. Евклид описал этот алгоритм в своей книге "Начала", написанной около 300 лет до н.э. Он не изобрел его. Историки полагают, что этот алгоритм, возможно, старше еще на 200 лет. Это древнейший нетривиальный алгоритм, который просуществовал до настоящего времени и все еще хорош и се­годня.

Опишем алгоритм Евклида для нахождения НОД (а,Ь). Введем обозначения: qj-частное; п-остаток. Тогда алгоритм можно пред­ставить в виде следующей цепочки равенств:

а = b * q,+ n, 0 < ri < b,

b = r1*q2 + r2, 0<г21,

Г1= Г2 * q3 + Г3, 0 < г3 < г2.

rk_2 = rk_! * qk + rk, 0<rk<rk_1, rk-i = rk * qk+1.

Остановка гарантируется, поскольку остатки п от делений об­разуют строго убывающую последовательность натуральных чи­сел. Из этой цепочки немедленно получаем, что гк есть общий де­литель чисел а и b и, более того, что любой общий делитель чи­сел а и b делит и гк. Таким образом, гк=НОД(а,Ь) или гк=(а,Ь).

Алгоритм Евклида для вычисления наибольшего общего делителя

begin

g0: = b;

9i: = а; i: =1.

while g,! = 0 do begin

9i+i: = 9i—1 mod g(; i: = i +1

end

gcd : = дм {gcd - результат}

end

Вычисление обратных величин

В арифметике действительных чисел нетрудно вычислить мультипликативную обратную величину а-1 для ненулевого а:

а~1=1/а или а * а~1=1.

Например, мультипликативная обратная величина от числа 4 равна 1/4, поскольку

4 * —= 1. 4

В модулярной арифметике вычисление обратной величины является более сложной задачей. Например, решение сравнения

4 * х И (mod 7)

эквивалентно нахождению таких значений х и к, что

4 * х = 7 * к +1,

где х и к-целые числа.

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

а * x(mod п) =1.

Можно также записать

a"1 s x(mod п).

Решение этой задачи иногда существует, а иногда его нет. На­пример, обратная величина для числа 5 по модулю 14 равна 3, по­скольку

5 * 3 =15 И (mod 14).

С другой стороны, число 2 не имеет обратной величины по модулю 14. 352

Вообще сравнение

а"1 з x(mod п)

имеет единственное решение, если а и п - взаимно простые числа.

Если числа а и п не являются взаимно простыми, тогда срав­нение

а-1 = x(mod п)

не имеет решения [45].

Сформулируем основные способы нахождения обратных ве­личин. Пусть целое число as{0,1,2,...,п—1). Если НОД(а,п)=1, то a*i(modn) при i=0,1,2,....п—1 является перестановкой множества

ЗАЩИТА 1

информации 1

ЗАЩИТА 2

Предисловие 4

Введение 7

ГЛАВА 1. ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ КОМПЬЮТЕРНЫХ СИСТЕМ 12

1.1. Основные понятия и определения 12

1.2. Основные угрозы безопасности АСОИ 15

1.3. Обеспечение безопасности АСОИ 26

1.4. Принципы криптографической защиты информации 33

1.5. Аппаратно-программные средства защиты компьютерной информации 39

ГЛАВА2. ТРАДИЦИОННЫЕ СИММЕТРИЧНЫЕ КРИПТОСИСТЕМЫ 44

2.1. Основные понятия и определения 44

2.2. Шифры перестановки 47

2.3. Шифры простой замены 53

2.4. Шифры сложной замены 67

2.5. Шифрование методом гаммирования 77

То'' = гш(|) е тш(|). (2.16) 77

2Ж, = о 81

ГЛАВА 3. СОВРЕМЕННЫЕ СИММЕТРИЧНЫЕ КРИПТОСИСТЕМЫ 85

3.1. Американский стандарт шифрования данных DES 86

Т, = LiRi, 89

3.2.Основные режимы работы алгоритма DES 100

3.3. Комбинирование блочных алгоритмов 106

Ki Кг К, 108

3.4. Алгоритм шифрования данных IDEA 109

3.5. Отечественный стандарт шифрования данных 113

32(0), а31(0) а2(0), 3,(0)), 119

СМ, 124

тш<1) = А( s) ет0<1> = гш(1) ет0(1>, 124

тш(|) =А(ТШ(М)) ®To(i) = Гш(|) ®To(i), i = 2 ... m. 124

т0(1)=А( §) етш(1) = гш(1) етш(1), 128

3.6. Блочные и поточные шифры 133

3.7. Криптосистема с депонированием ключа 143

КС2 = ки е КС1. 150

ГЛАВА 4. АСИММЕТРИЧНЫЕ КРИПТОСИСТЕМЫ 156

4.1. Концепция криптосистемы с открытым ключом 156

4.2. Однонаправленные функции 160

4.3. Криптосистема шифрования данных RSA 162

4.4. Схема шифрования Полига-Хеллмана 169

4.5. Схема шифрования Эль Гамаля 169

4.6. Комбинированный метод шифрования 171

ГЛАВА 5. ИДЕНТИФИКАЦИЯ И ПРОВЕРКА ПОДЛИННОСТИ 173

5.1. Основные понятия и концепции 173

5.2. Идентификация и аутентификация пользователя 175

5.3. Взаимная проверка подлинности пользователей 153

ЕКлв (S). 155

С = Ека, М). 156

5.4. Протоколы идентификации с нулевой передачей знаний 156

ГЛАВА 6. ЭЛЕКТРОННАЯ ЦИФРОВАЯ ПОДПИСЬ 162

6.1. Проблема аутентификации данных и электронная цифровая подпись 162

6.2. Однонаправленные хэш-функции 164

6.3. Алгоритмы электронной цифровой подписи 169

m = h(M), 173

m = h(M) 176

6.4. Цифровые подписи с дополнительными функциональными свойствами 178

ГЛАВА 7. УПРАВЛЕНИЕ КРИПТОГРАФИЧЕСКИМИ КЛЮЧАМИ 184

7.1. Генерация ключей 184

7.2. Хранение ключей 186

Концепция иерархии ключей 188

7.3. Распределение ключей 191

Распределение ключей с участием центра распределения 192

ключей 192

Прямой обмен ключами между пользователями 197

ГЛАВА 8. МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ОТ УДАЛЕННЫХ АТАК ЧЕРЕЗ СЕТЬ Internet 201

8.1. Особенности функционирования межсетевых экранов 201

8.2. Основные компоненты межсетевых экранов 207

Фильтрующие маршрутизаторы 207

Шлюзы сетевого уровня 211

Шлюзы прикладного уровня 215

Усиленная аутентификация 217

8.3. Основные схемы сетевой защиты на базе межсетевых экранов 219

Межсетевой экран-фильтрующий маршрутизатор 219

Межсетевой экран на основе двупортового шлюза 221

Межсетевой экран на основе экранированного шлюза 222

Межсетевой экран - экранированная подсеть 223

Применение межсетевых экранов для организации виртуальных корпоративных сетей 225

8.4. Программные методы защиты 226