Персональний ідентифікаційний номер
Значення PIN однозначно пов'язане з відповідними атрибутами банківської карти, тому PIN можна трактувати як підпис власника картки. Щоб ініціювати транзакцію, держатель картки, який використовує POS-термінал, вставляє свою картку в спеціальну щілину зчитувача і вводить свій PIN, використовуючи спеціальну клавіатуру терміналу. Якщо введене значення PIN і номер рахунку клієнта, записаний на магнітній смузі карти узгоджуються між собою, тоді ініціюється транзакція.
Захист персонального ідентифікаційного номера PIN для банківської карти є критичною для безпеки всієї платіжної системи. Банківські картки можуть бути втрачені, вкрадені, підроблені. У таких випадках єдиною контрзаходом проти несанкціонованого доступу залишається секретне значення PIN. Ось чому відкрита форма PIN повинна бути відома тільки законному власникові картки. Вона ніколи не зберігається і не передається в рамках системи електронних платежів. Очевидно, значення PIN потрібно тримати в секреті протягом усієї дії карти.
Метод генерації значення PIN робить істотний вплив на безпеку електронної платіжної системи. Взагалі. персональні ідентифікаційні номери можуть формуватися або банком, або власниками карт. Зокрема, клієнт розрізняє два типу PIN:
PIN, призначений банком, який видав йому карту;
PIN, який обирається власником картки самостійно.
Якщо PIN призначається банком, банк зазвичай використовує один з двох варіантів процедур генерації PIN.
При першому варіанті PIN генерується криптографически з номера рахунку власника картки. Процес генерації призначається PIN з номера рахунку показаний на рис. 11.3. Cначала номер рахунку доповнюється нулями або інший константою до 16 шістнадцяткових цифр (8байт). Потім 8 байт шифруються по алгоритму DES з використанням секретного ключа. З отриманого шифртекста довжиною 8 байт черзі виділяють 4-бітові блоки, починаючи з молодшого байта. Якщо число, утворене цими бітами, менше 10, то отримана цифра включається в Pin, інакше це значення не використовується. Таким шляхом обробляються всі 64 біта (8 байт). Якщо в результаті обробки не вдалося отримати відразу необхідну кількість десяткових цифр, то звертаються до невикористаних 4-бітових блоків, з яких віднімають 10.
Мал. 11.3. Схема виведення PIN з номера рахунку клієнта
Очевидна гідність цієї процедури полягає в тому, що значення PIN не потрібно зберігати всередині електронної платіжної системи. Недоліком цього підходу є те, що при необхідності зміни PIN потрібно вибір або нового рахунку клієнта, або нового криптографічного ключа. Банки воліють, щоб номер рахунку клієнта залишався фіксованим. З іншого боку, оскільки всі PIN обчислюють, використовуючи однаковий криптографічний ключ, зміна одного PIN при збереженні рахунку клієнта неминуче тягне за собою зміну всіх персональних ідентифікаційних номерів.
При другому варіанті банк вибирає значення PIN випадковим чином, зберігаючи значення цього PIN у вигляді відповідної піктограми. Вибрані значення PIN банк передає власникам банківських карток, користуючись захищеним каналом. Використання PIN призначеного банком, незручно для клієнта навіть при невеликій його довжині. Такий PIN важко утримати в пам'яті, і тому власник картки може записати абикуди. Головне це не записати PIN безпосередньо на карту або яке-небудь інше місце. Інакше завдання зловмисника буде сильно полегшена.
Для більшої зручності клієнта використовують значення PIN, обиране самі клієнтом. Такий спосіб визначення значення PIN дозволяє клієнту:
використовувати один і той же PIN для різних цілей;
задавати PIN як сукупність букв і цифр.
Коли PIN обраний клієнтом, він повинен бути доведений до відома банку. PIN може бути переданий в банк рекомендованим листом або відправлений через захищений термінал, розміщений в банківському офісі, який негайно його шифрує. Якщо банку необхідно використовувати обраний клієнтом PIN, тоді надходять у такий спосіб. Кожну цифру обраного клієнтом PIN складають по модулю 10 (без урахування переносів) з відповідною цифрою PIN виведеного банком з рахунку клієнта. Отримується десяткове число називається зміщенням. Цей зсув запам'ятовується на карті клієнта. Оскільки виведений PIN має випадковий характер, то обраний клієнтом PIN неможливо визначити по його зміщення.
Головна вимога безпеки полягає в тому, що значення PIN має запам'ятовуватися власником карти і ніколи не повинно зберігатися в будь-який Новомосковскбельной формі. Але люди недосконалі і дуже часто забувають свої значення PIN. Тому банки повинні заздалегідь заготовити спеціальні процедури для таких випадків. Банк може реалізувати один з наступних підходів. Перший заснований на відновленні забутого клієнтом значення PIN і відправці його назад власнику карти. При другому підході просто генерується нове значення PIN.
При ідентифікації клієнта за значенням PIN і пред'явленої карті використовуються два основних способів перевірки: неалгоритмічний і алгоритмічний.
Неалгоритмічний спосіб перевірки PIN не вимагає застосування спеціальних алгоритмів. Перевірка PIN здійснюється шляхом безпосереднього порівняння введеного клієнтом PIN зі значеннями, збереженими в базі даних. Зазвичай, база даних зі значеннями PIN клієнтів шифрується методом прозорого шифрування, щоб підвищити її захищеність, не ускладнюючи процесу порівняння.
Алгоритмічний спосіб перевірки PIN полягає в тому, що введений клієнтом PIN перетворює за певним алгоритмом з використанням секретного ключа і потім порівнюють зі значенням PIN, що зберігаються в певній формі на карті. Переваги цього методу перевірки:
відсутність копії PIN на головному комп'ютері виключає його розкриття персоналом банку;
відсутність передачі PIN між банкоматом або POS-терміналом і головним комп'ютером банку виключає його перехоплення зловмисником або нав'язування результатів порівняння;
спрощення роботи зі створення програмного забезпечення системи, так як вже немає необхідності дій в реальному масштабі часу.