19 мон ГЮІ 2015. 1. 9 Вимоги та їх реалізація при побудування засобів криптографічного захисту інформації
![]()
|
2.2.23 Умовні самотестуванняЗагальні вимоги до умовного самотестування. Умовні самотестування повинні виконуватися криптографічним модулем, коли виконуються умови, визначені для наступних тестів: самотестування криптографічного алгоритму, тестування сумісності пари, тестування завантаження програмного/програмно-апаратного забезпечення, тестування ручного вводу, умовне тестування обходу і умовне тестування критичних функцій [10]. Умовне самотестування криптографічного алгоритму. Самотестування криптографічного алгоритму. Тестування криптографічного алгоритму повинне проводитися для всіх криптографічних функцій (тобто, функцій безпеки, методів встановлення SSP та автентифікації) кожного затвердженого криптографічного алгоритму, реалізованого в криптографічному модулі, як зазначено в додатках В – Д. Умовне тестування повинне виконуватися до першого робочого використання криптографічного алгоритму. Самотестування криптографічного алгоритму має наступні види: тестування з відомою відповіддю, порівняльне тестування або тестування на виявлення збоїв. Тестування з відомою відповіддю складається з набору відомих вхідних векторів (наприклад, дані, ключовий матеріал, або константи замість випадкових бітів), які оброблюються криптографічним алгоритмом для отримання результату. Результат порівнюється з відомим очікуваним результатом. Якщо розраховане значення не збігається з відомою відповіддю, тестування з відомою відповіддю повинне провалитись. Самотестування алгоритму повинне використовувати, як мінімум, найменшу затверджену довжину ключа, розмір модуля, просте число DSA, або криві, підтримувані модулем. Якщо алгоритм реалізує кілька режимів (наприклад, ECB, CBC, і т.д.), для самотестування повинен бути обраний, як мінімум, один режим, який підтримується модулем, якщо інше не визначено засвідчу вальним органом. Приклади тестувань з відомою відповіддю: Однонаправлені функції: вхідний тестуючий вектор (и) генерує вихід, який повинен бути ідентичним очікуваному виходу (наприклад, хешування, ключові хеш-функції, автентифікація повідомлень, RBG (фіксований вектор ентропії), узгодження SSP). Оборотні функції: Як прямі, так і обернені функції повинні підлягати самотестуванню (наприклад, симетричне зашифрування і розшифрування, зашифрування і розшифрування при транспортуванні SSP, генерація цифрового підпису і перевірка). Порівняльне тестування порівнює виходи двох або більше незалежних реалізацій криптографічних алгоритмів; якщо виходи не рівні, порівняльне тестування криптографічного алгоритму повинне провалитись. Тестування на виявлення збоїв включає в себе реалізацію механізмів виявлення збоїв, інтегрованих в реалізацію криптографічного алгоритму; якщо виявляється збій, самотестування криптографічного алгоритму повинне провалитися. Умовне тестування сумісності пари. Якщо криптографічний модуль генерує пари відкритих та особистих ключів, кожна згенерована пара відкритого та особистого ключа повинна пройти тестування сумісності пари, як описано в додатках В - Д для відповідного криптографічного алгоритму. Умовне тестування завантаження програмного/програмно-апаратного забезпечення. Якщо криптографічний модуль володіє можливістю завантаження програмного/програмно-апаратного забезпечення з зовнішніх джерел, то повинні виконуватись наступні вимоги: криптографічний модуль повинен реалізовувати затверджений метод автентифікації для перевірки справжності програмного/програмно-апаратного забезпечення, яке завантажується; відповідний ключ автентифікації повинен бути незалежно завантажений в модуль до завантаження програмного/програмно-апаратного забезпечення, і застосовний затверджений метод автентифікації повинен бути успішно пройдений, або тестування завантаження програмного/програмно-апаратного забезпечення буде провалено. Завантажене програмне/програмно-апаратне забезпечення не повинне використовуватися, якщо тестування завантаження програмного/програмно-апаратного забезпечення було провалено. Умовне тестування ручного введення. Якщо SSP або ключові компоненти вводяться вручну безпосередньо в криптографічний модуль або якщо помилки з боку людини-оператора можуть привести до неправильного введення передбачуваного значення, то наступні тестування ручного введення повинні бути виконані: до SSP або ключових компонентів повинні застосовуватися коди, виявляючі помилки (EDC), або вони повинні вводитись за допомогою повторюваних введень. Якщо використовується EDC, то EDC повинен бути довжиною не менше 16 біт. Якщо EDC не може бути перевірений, або повторювані введення не співпадають, то тестування повинне провалитись. Умовне тестування обходу. Якщо криптографічний модуль реалізує можливість обходу, коли послуги можуть надаватися без криптографічної обробки (наприклад, передача відкритого тексту через модуль), то повинен бути виконаний наступний набір тестувань обходу, щоб гарантувати, що єдиний збій компонентів модуля не призведе до ненавмисного виведення відкритого тексту. Криптографічний модуль повинен тестувати правильність роботи послуги, що забезпечують криптографічну обробку, коли вимикач переключається між виключно послугою обходу і виключно криптографічною послугою. Якщо криптографічний модуль може автоматично переключатися між послугою обходу та криптографічною послугою, надаючи деякі послуги з криптографічною обробкою, а деякі - без криптографічної обробки, то модуль повинен тестувати правильність роботи послуги, що забезпечує криптографічну обробку, коли змінюється механізм, що керує процедурою переключення (наприклад, таблиця IP-адрес джерела / призначення). Якщо криптографічний модуль містить внутрішню інформацію, яка керує можливістю обходу, то модуль повинен перевірити цілісність керуючої інформації за допомогою затвердженого методу контролю цілісності, який застосовується безпосередньо перед зміною керуючої інформації, і повинен згенерувати нове значення контролю цілісності за допомогою затвердженого методу контролю цілісності відразу ж після зміни. Умовні тестування критичних функціяхє. Можуть бути й інші функції безпеки, критичні для безпечної роботи криптографічних модулів, які повинні проходити умовне самотестування. Періодичне самотестування. Рівні безпеки 1 і 2. Криптографічний модуль повинен дозволяти операторам ініціювати попереднє або умовне самотестування за вимогою для періодичного тестування модуля. Доступними засобами для періодичного самотестування за вимогою є: надавані послуги, скидання, перезавантаження, або увімкнення живлення. Рівні безпеки 3 і 4. На додаток до вимог для Рівнів безпеки 1 і 2, модуль повинен кілька разів за визначений період часу, автоматично, без зовнішнього введення та керування, виконати попереднє або умовне самотестування. Період часу і будь-які умови, які можуть призвести до переривання роботи модуля коли прийде час повторного проведення попереднього або умовного самотестування, повинні визначатися в політиці безпеки (Додаток Б стандарту) (наприклад, якщо модуль виконує критичні послуги, які не можуть бути перервані, а період часу пройшов і має ініціюватися попереднє самотестування, то самотестування може бути відкладене до моменту завершення наступного періоду часу) |