Открыть сервисСервис

Сигнатура в криптографии и цифровой идентификации

Сигнатура (от лат. signatura — «подпись, обозначение») — многозначный термин, обозначающий набор признаков, по которым объект, сообщение или процесс идентифицируются и проверяются на подлинность. В зависимости от области применения различают криптографическую подпись, сигнатуру файла, сигнатуру вредоносного ПО, сигнатуру в биологии и медицине, а также разговорное «сигнатурку» — индивидуальный почерк, стиль или фирменный приём.

Криптографическая сигнатура

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

Принцип работы

  1. Отправитель формирует хеш-функцию от документа.
  2. Хеш шифруется закрытым ключом отправителя — получается подпись.
  3. Документ вместе с подписью передаётся получателю.
  4. Получатель вычисляет хеш от полученного документа и расшифровывает подпись открытым ключом отправителя.
  5. Если значения совпадают, документ считается подлинным и неизменным.

Основные алгоритмы

АлгоритмГодОсобенности
RSA (PKCS#1 v1.5, PSS)1977Наиболее распространённый, основан на сложности факторизации
DSA / ECDSA1991 / 1999Основан на дискретном логарифме, короткие подписи
EdDSA (Ed25519)2011Быстрые вычисления, устойчивость к боковым каналам
ГОСТ Р 34.10-20122012Обязателен для государственных систем РФ

В России правовое регулирование ЭЦП определяется Федеральным законом № 63-ФЗ «Об электронной подписи» (2011). Закон устанавливает три вида подписи: простая, усиленная неквалифицированная и усиленная квалифицированная. Квалифицированная ЭЦП юридически равнозначна собственноручной подписи на бумажном документе.

Применение

  • Электронный документооборот между организациями и госорганами.
  • Подписание программного обеспечения (код-сигнатуры Authenticode, подписи пакетов apt, rpm).
  • TLS/SSL-сертификаты для HTTPS-сайтов.
  • Блокчейн-транзакции (Bitcoin, Ethereum).

Сигнатура файла

В информационной безопасности сигнатура файла — цифровой отпечаток, полученный в результате применения хеш-функции к содержимому файла. Изменение хотя бы одного бита исходных данных приводит к совершенно другому хешу.

Типичные хеш-функции

  • MD5 (128 бит) — устарела, коллизии найдены, используется только для быстрой идентификации.
  • SHA-1 (160 бит) — вытесняется после демонстрации практических коллизий (SHAttered, 2017).
  • SHA-256 / SHA-3 — современный стандарт.

Сигнатуры файлов применяются в антивирусах для идентификации известных угроз, в системах контроля целостности (Tripwire, AIDE), в пакетных менеджерах для проверки подлинности загружаемых пакетов.

Сигнатура вредоносного программного обеспечения

В антивирусной индустрии под сигнатурой понимается набор байтов или паттерн, характерный для конкретного вредоносного ПО. Антивирусное программное обеспечение сканирует файлы, сравнивая их содержимое с базой сигнатур.

Ограничения сигнатурного анализа

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

Сигнатура в биологии и медицине

В биомедицине термин «сигнатура» обозначает набор биомаркеров, по которым можно идентифицировать состояние организма:

  • Генетическая сигнатура — характерный профиль экспрессии генов, используемый для классификации опухолей (например, PAM50 при раке молочной железы).
  • Сигнатура болезни — совокупность симптомов и лабораторных показателей, характерных для конкретного заболевания.
  • Цифровая сигнатура в медицинских системах — электронная подпись врача на медицинских документах.

Сигнатура в программировании

В языках программирования сигнатура функции — её имя вместе с типами параметров и возвращаемого значения. Сигнатура определяет, как функция может быть вызвана и как она перегружается (overloading). Например, в C++ две функции int sum(int, int) и double sum(double, double) имеют разные сигнатуры и могут сосуществовать.

Сленговое значение

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

См. также

  • Электронная цифровая подпись
  • Хеш-функция
  • Криптография с открытым ключом
  • Контроль целостности

Источники

  • Федеральный закон РФ № 63-ФЗ «Об электронной подписи» (10.07.2012).
  • Мерквелл Д., Ривест Р., Шнайер Б. «Прикладная криптография. Протоколы, алгоритмы, исходный код на C».
  • Stallings W. «Cryptography and Network Security: Principles and Practice».
  • RFC 8017 — PKCS #1: RSA Cryptography Specifications Version 2.2.
  • NIST FIPS 186-4 — Digital Signature Standard (DSS).
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru