Зловмисник може спробувати підібрати документ до даного підпису, щоб до нього підходив підпис. Проте в переважній більшості випадків такий документ може бути тільки один. Причина в наступному:
Ø Документ являє собою осмислений текст.
Ø Текст документа оформлений за встановленою формою.
Ø Документи рідко оформляють у вигляді PlainText-файлу, найчастіше в форматі DOC або HTML.
Якщо у фальшивому наборі байтів і станеться колізія з хешем вихідного документа, то повинні виконатися 3 наступних умови:
Ø Випадковий набір байтів повинен підійти під складно структурований формат файлу.
Ø Те, що текстовий редактор прочитає у випадковому наборі байтів, має утворювати текст, оформлений встановленою формою.
Ø Текст повинен бути осмисленим, грамотним і відповідним темі документа.
Втім, у багатьох структурованих наборах даних можна вставити довільні дані в деякі службові поля, не змінивши вид документа для користувача. Саме цим користуються зловмисники, підробляючи документи.
Можливість такого події також мізерно мала. Можна вважати, що на практиці такого не трапитися навіть з ненадійними хеш-функціями, так як документи зазвичай великого обсягу - кілобайти.
Отримання двох документів з однаковою підписом (колізія другого роду)
Куди більш імовірна атака другого роду. У цьому випадку зловмисник фабрикує два документа з однаковою підписом, і в потрібний момент підміняє один іншим. При використанні надійної хеш-функції така атака повинна бути також складно обчислювальною. Однак ці загрози можуть реалізуватися через слабкість конкретних алгоритмів хешування, підписи, або помилки в їх реалізаціях. Зокрема, таким чином можна провести атаку на SSL-сертифікати і алгоритм хешування MD5.[12]
Соціальні атаки
Соціальні атаки спрямовані не на злом алгоритмів цифрового підпису, а на маніпуляції з відкритим і закритим ключами. [13]
Ø Зловмисник, який вкрав закритий ключ, може підписати будь-який документ від імені власника ключа.
Ø Зловмисник може обманом змусити власника підписати будь-який документ, наприклад, використовуючи протокол сліпого підпису.
Ø Зловмисник може підмінити відкритий ключ власника на свій власний, видаючи себе за нього.
Використання протоколів обміну ключами і захист закритого ключа від несанкціонованого доступу дозволяє знизити небезпеку соціальних атак.
Управління ключами
Управління відкритими ключами
Важливою проблемою всієї криптографії з відкритим ключем, в тому числі і систем ЕП, є управління відкритими ключами. Так як відкритий ключ доступний будь-якому користувачеві, то необхідний механізм перевірки того, що цей ключ належить саме своєму власникові. Необхідно забезпечити доступ будь-якого користувача до справжнього відкритого ключа будь-якого іншого користувача, захистити ці ключі від підміни зловмисником, а також організувати відгук ключа у разі його компрометації.
Завдання захисту ключів від підміни вирішується за допомогою сертифікатів. Сертифікат дозволяє засвідчити укладені в ньому дані про власника і його відкритий ключ підписом будь-якого довіреної особи.
Існують системи сертифікатів двох типів:
- централізовані;
- децентралізовані.
У децентралізованих системах шляхом перехресного підписування сертифікатів знайомих і довірених людей кожним користувачем будується мережа довіри.
У централізованих системах сертифікатів використовуються центри сертифікації, підтримувані довіреними організаціями.
Центр сертифікації формує закритий ключ і власний сертифікат, формує сертифікати кінцевих користувачів і засвідчує їх автентичність своїм цифровим підписом. Також центр проводить відгук минулих і зкомпроментованих сертифікатів і веде бази виданих та відкликаних сертифікатів. Звернувшись в сертифікаційного центру, можна отримати власний сертифікат відкритого ключа, сертифікат іншого користувача і дізнатися, які ключі відкликані.