- •3.1. Особливості захисту інформації у банківських інформаційних системах
- •3.2. Захист інформації у електронних платіжних системах
- •3.2.1. Огляд та аналіз існуючих засобів систем електронної комерції
- •3.2.2. Аналіз способів захисту мікропроцесорних карт
- •3.2.3. Система безпеки мікропроцесорних карт
- •3.3. Алгоритми шифрування в електронних картах
3.3. Алгоритми шифрування в електронних картах
Алгоритми шифрування, які використовуються в електронних картах, можна поділити на дві основні групи за типом використаного криптографічного алгоритму. Найпопулярніші серед них подані нижче.
Симетричне шифрування: алгоритм DES; алгоритм 3DES; алгоритм IDEA; алгоритм RC5; алгоритм AES.
Асиметричне шифрування: RSA; ECC; DSS.
Алгоритм шифрування в безконтактних картах. Найрозповсюдженішими безконтактними картами є карти, які виготовляються фірмою Philips, яка розробила два стандарти для своїх карт: MIFARE та HITAG. Найчастіше використовуються карти MIFARE з огляду на їх більшу швидкодію при трансмісії даних та підвищену безпеку.
Для шифрування даних використовується ряд алгоритмів.
Алгоритм DES – один з перших алгоритмів, який використовується в електронних картах. Уперше його використала фірма Philips в електронних картах у 1985 р. На сьогодні його застосовують у модифікованій версії новітніших алгоритмів, тому слід детальніше висвітлити принцип його функціонування.
Шифрування полягає у початковій перестановці бітів 64-х бітового блоку в 16-ти циклах шифрування і кінцевій перестановці. Для опису алгоритму DES використані такі позначення:
L і R – послідовність бітів (ліва і права);
LR – конкатенація послідовностей L і R, тобто така послідовність бітів, довжина якої дорівнює сумі довжин L і R;
– функція за
модулем 2 на 48-ми бітовому векторі даних;
А – вхідний блок.
Принцип функціонування алгоритму DES. З явного вхідного текстового файлу зчитується 64-ох бітовий блок А. Першим кроком є перестановка цих бітів згідно з таблицею початкової перестановки IP. Ці перестановки можна записати як A0=IP(A). Отриману послідовність бітів A0 поділяють на дві однакові послідовності: L0 – ліві біти; R0 – праві біти.
Наступним етапом є здійснення ітераційного процесу шифрування. Допустимо, Аi – результат і-ої ітерації:
Ai = LiRi, (3.1)
Li =Ri–1, i = 1, 2, ..., 16, (3.2)
Ri=Li–1 f(Ri–1, ki), i = 1, 2, ..., 16, (3.3)
де: f(Ri–1, ki) – функція шифрування.
У останньому 16-му циклі отримуємо послідовності R16 та L16.
Алгоритм шифрування завжди закінчується відновленням позиції бітів за допомогою оберненої матриці перестановок IP–1. Це необхідно для того, аби використовувати цей самий алгоритм як для шифрування, так і для дешифрування. Схема шифрування алгоритму подана на рис. 3.6.
Алгоритм обчислення функції f. Для обчислення функції f використовуються:
функція розширення Е, тобто розширення від 32 бітів до 48 бітів;
функція підстановок Sj, j = 1, 2,…, 8, тобто перетворення 6-ти бітового числа у 4-ох бітове;
ф
ункція
перестановок Р,
тобто перестановка бітів у 32-ти бітовій
послідовності.
Рис. 3.6. Схема шифрування алгоритму DES
Алгоритм створення ключа. У кожній ітерації використовується інший новий ключ Кі довжиною 48 бітів. Ключ Кі обчислюється на підставі ключа шифрування К. Ключ К є 64-ох бітовим блоком з 8-ми бітами контролю парності, які розміщені на позиціях 8, 16, 24, 32, 40, 48, 56, 64.
Алгоритм 3DES. Цей алгоритм є своєрідною модифікацією алгоритму DES. Відмінність між ними полягає в тому, що повідомлення шифруються три рази алгоритмом DES: зашифровується першим ключем; розшифровується другим ключем; зашифровується третім ключем, зокрема,
c = E3(D2(E1(m))). (3.4)
Дешифрування в другій фазі не впливає на суму алгоритму, але дозволяє застосувати алгоритм 3DES у режимі компатибільності з алгоритмом DES – ключем першим і другим або другим і третім приймаємо такий самий ключ, а останнім – звичайний ключ, як в алгоритмі DES:
c = E3(D1(E1(m))) = E3(m), (3.5)
c = E3(D3(E1(m))) = E1(m). (3.6)
Алгоритм 3DES використовує режими роботи та блоки такої самої довжини, як алгоритм DES.
Алгоритм RSA. В цьому алгоритмі випадково Генерується досить велике число – ключ явний, який використовується для обчислення іншого великого числа – приватного ключа за допомогою достатньо складних марематичних функцій. Користувачі застосовують ці ключі для шифрування документів, які висилаються до них двома і більше особами, та для розшифрування документів після їх отримання.
Схема шифрування/дешифрування алгоритму RSA подана на рис 3.7.
Сам алгоритм можна подати наступним чином:
вибираються два великі прості числа р, q;
перемножуємо їх n=p×q;
обчислюємо φ(n)=(p–1)(q–1);
вибирають випадкове число 1<e<φ(n), яке є простим відносно φ(n);
використовуємо ключі: явний (публічний) і приватний.
З метою безпечного шифрування та дешифрування слід виконати такі вимоги:
числа p i q повинні мати по ~100 цифр;
числа p i q не можуть бути дуже близькими одне від другого.
Алгоритм DSS. Алгоритм DSS – це поточна назва, але якщо йде мова про особливості, то це стандарт цифрових підписів. Ґрунтується він на методі верифікації особи, яка висилає інформацію, та інтегральності переданих даних. Стандарт базується на двох алгоритмах:
алгоритм Діффі-Хелмана, який призначений лише для узгодження приватного ключа між особами, які надають і отримують інформацію, але не може бути використаний для безпосереднього шифрування даних. Цей алгоритм полягає в обчисленні дискретної експоненційної функції і дискретного логарифму;
а
лгоритм
SHA
– це алгоритм безпечного хешування,
яке в криптографії має два значення:
змішувати і стискувати. У першому
значенні вживається для безпечного
шифрування текстів (наприклад, в
алгоритмі RSA),
а в другому – для отримання на підставі
тексту певного унікального числа,
яке використовується для створення
цифрового підпису. Найчастіше
використовується така версія, яка
характеризується тим, що здійснення
операцій в одну сторону є простим, а в
іншу – надзвичайно складним. Мова тоді
йде про односпрямовану функцію хешування,
а відповідний алгоритм має назву
SHA-1.
Рис. 3.7. Схема шифрування/дешифрування алгоритму RSA
Алгоритм ECC. Алгоритм ECC (Elliptic Curve Cryptography) базується на еліптичних кривих. Останні дозволяють використовувати менші ключі, що є дуже важливим у банківській справі з огляду на процесори карт.
Беручи до уваги високу швидкодію алгоритму ECC при шифруванні і згадані невеликі ключі, його часто застосовують у безпровідній комунікації, а отже – у безконтактних картах. Для унаочнення переваг цього алгоритму можна сказати, що ключ двійковою довжиною від 150 до 350 знаків, забезпечує таку саму криптографічну стійкість, як ключ від 600 до 1400 і більше знаків в інших криптографічних системах.
Розглянемо загальні поняття еліптичних кривих. Загальне рівняння еліптичної кривої можна подати у вигляді
. (3.7)
З точки зору криптографії маємо нову криптологічну систему на підставі еліптичних кривих.
Додавання точок P i Q (рис. 3.8):
P+0=0+P=P для всіх P ε E (E – еліптична крива);
Я
кщо P=(x,
y)
ε
E,
тоді P+(–P)=0
, де – P=(x,
–y);
Допустимо, P=(x1, y1), Q=(x2, y2) ε E де – P≠–Q. Тоді P+Q=(x3, y3), причому x3=λ2 – x1 – x2 (mod p), y3=λ (x1 – x3) – y1 (mod p),
якщо P≠
Q,
(3.8)
якщо P
= Q.
(3.9)
Рис. 3.8. Додавання точок P i Q на еліптичній кривій
Вимоги до алгоритмів. Крім очевидних вимог, таких як неможливість розшифрування доступними засобами, обчислювальна складність алгоритму повинна бути такою, щоб поміститися в пам’яті карти. При цьому вмонтований процесор повинен здійснити обчислення за короткий проміжок часу.
Декілька обмежень, які накладаються на алгоритми, розроблювані для використаня в електронних картах:
засоби пам’яті (RAM – 0,5 … 1 Кб; ROM – 50 Кб);
швидкість передавання даних;
список розпоряджень процесора і копроцесора;
можливість генерування ключа приватного і явного (так звана імплементація тестів сильних чисел).
Стосовно вимог безпеки можна використати приклад обчислень для алгоритму RSA. Приймаючи ключ 1024-бітовий, отримуємо, що для зламання шифру потрібні сотні тисяч років навіть для сучасних суперпродуктивних комп’ютерів.
ЛІТЕРАТУРА
Ємець В., Мельник А., Попович Р. Сучасна криптографія. Основні поняття. – Львів: Бак, 2003. -144 с.
О.В. Вербіцький. Вступ до криптографії. Видавництво НТЛ., Львів, 1998. -248с.
Молодовян А.А., Молодовян В.А., Советов, В.Я. Криптография. – Серия ″Учебники для вузов.Специальная литература″. –СПБ.: Издательство ″Лань″, 2000. -224с.
Введение в криптографию. /Под общей ред. В.В. Ященко. –СПБ.:Питер, 2001. -288с.
Інформаційна безпека комп’ютерних систем і мереж. Методичні вказівки//Укл. А.Ф. Карачка, М.П. Карпінський, А.В. Кулик, Т.В. Лендюк. – Тернопіль: ТАНГ, 1997. -68с.
Петров А.А. Компьютерная безопасность. Криптографиические методы защиты. –М.: ДМК, 2000. -448с.
Антонюк А.О. Основи захисту інформації в автоматизованих системах: Навч. посіб./ Нац. ун-т "Києво-Могилянська академія". - К.: КМ Академія, 2003. - 244 с.
Завгородний В.И. Комплексная защита информации в компьютерных системах: Учеб. пособие.- М.: Логос, 2001.- 264с.
Косарев В.М. Информационная безопасность: организация защиты программ и данных: Учеб. пособие/ - Д.: Изд-во ДУЭП, 2003. - 152 с.
Cryptography – the myths // www.checksum.org
Evaluation of Cryptographic Techniques // www.ipa.go.jp
RSAES-OAEP Encryption Scheme // www.rsasecurity.org
RSA-PSS Signature Scheme with Appendix // www.rsasecurity.org
