Как работает электронная подпись
medium

Как работает электронная подпись

И зачем она нужна.

Одно из полезных применений асимметричного шифрования — работа с электронной подписью. Рассказываем, как устроена ЭП изнутри и где она применяется.

Что такое электронная подпись

Электронная подпись — это технология, которая помогает подтвердить подлинность электронного документа: договора, справки, выписки или чего-то ещё. 

Если упрощённо, работает так: 

👉 Есть некий документ, подписанный ЭП

👉 С помощью специальной программы можно проверить подлинность этой подписи и документа

✅ Если программа говорит, что всё окей, то мы можем быть уверены: документ подписал именно тот, кто в нём указан; и с момента подписания в документе ничего не изменилось. 

❌ Или программа может сказать, что подпись не совпала. Это значит, что либо документ подписал другой человек, либо после подписания кто-то изменил этот документ (например, дописал ноль в стоимость контракта). Так мы поймём, что этому документу нельзя доверять. 

С технической точки зрения ЭП — небольшой файлик, который прилагается к искомому документу. Файлик пересылается вместе с основным документом, его можно передавать по открытым каналам связи, в нём нет ничего секретного. 

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

Основа ЭП — асимметричное шифрование

Мы уже писали об асимметричном шифровании. Вот основные мысли: 

  • В симметричном алгоритме зашифровать и расшифровать сообщение можно только одним и тем же ключом. Это полезно для передачи секретных сообщений, когда две стороны доверяют друг другу и могут заранее обменяться ключом. 
  • При асимметричном сообщение шифруется одним ключом, а расшифровывается другим. В разных комбинациях этот алгоритм помогает шифровать сообщения, когда стороны друг другу не доверяют или не могут обменяться ключами заранее. В частности, это полезно для подтверждения подлинности документов. 

Как работает: сертификаты

Электронная подпись состоит из двух принципиальных частей:

  1. Сертификат для удостоверения подписывающего.
  2. Криптографическая часть для проверки подлинности документа.

Грубо говоря, ЭП должна гарантировать, что документ подписали именно вы и что вы подписали именно этот документ. 

В сертификате хранятся данные о владельце подписи:

  • кто владелец этой подписи;
  • открытый ключ для проверки подписи;
  • когда заканчивается срок действия подписи;
  • какого уровня документы можно подписывать этой подписью;
  • кто выдал сертификат;
  • и другие служебные данные.

Но смысл сертификата не в том, что там хранятся эти данные, а в том, кто эти данные туда положил. В России сертификаты и ЭП выдают специальные удостоверяющие центры — это компании, которые гарантируют, что сертификат выдаётся именно тому, кто в этом сертификате указан.

Чтобы получить сертификат, вы приходите лично в эту компанию (удостоверяющий центр), показываете документы, фотографируетесь. Вас заносят в базу удостоверяющего центра и выдают ключи электронной подписи. Так все участники электронного документооборота будут уверены, что все документы, подписанные вашими ключами, подписаны именно вами.

Как работает электронная подпись

Как работает: алгоритмы шифрования

Допустим, вы уже сходили в удостоверяющий центр и получили на флешке сертификат и ключ электронной подписи. Теперь нужно скачать специальный софт, который и будет подписывать ваши документы и проверять чужие на подлинность.

Проблема в том, что ЭП основана на алгоритмах асимметричного шифрования, а их много: разложение на простые множители, дискретное логарифмирование, эллиптические кривые и множество других. Ключ из одного алгоритма не подойдёт для использования в другом, поэтому в России договорились использовать стандарт шифрования ГОСТ Р 34.10-2012, основанный на эллиптических кривых. Все государственные органы работают только с таким алгоритмом и не принимают другие ЭП.

Это значит, что нам нужен специальный софт, в котором уже есть этот алгоритм. Чаще всего используют КриптоПРО, реже — ViPNet CSP. С помощью этих программ можно подписать документы и проверить сертификаты на подлинность.

Принцип работы электронной подписи

Электронная подпись — это асимметричное шифрование наоборот: вы зашифровываете закрытым ключом, а расшифровать может кто угодно с помощью открытого ключа, который доступен всем. 

👉 Если открытый ключ подходит к сообщению и расшифровывает его, значит, оно было зашифровано именно этим закрытым ключом — то есть именно вами. 

Разберём по шагам:

  1. В удостоверяющем центре вы получаете сертификат и ключ электронной подписи. Это закрытый ключ, который передавать никому нельзя. Открытый же ключ хранится в самом сертификате, который прикладывается к каждому документу и доступен всем.
  2. Берёте нужный документ и получаете его криптографический хеш. Хеш — это небольшая строка, которая представляет собой «цифровой отпечаток» файла. У каждого файла с уникальным набором битов будет уникальный хеш, причём он всегда одинаковой длины. Подробнее о хешах мы писали, когда разбирали скандал с паролями Фейсбука.
  3. Шифруете этот хеш своим закрытым ключом. Полученный результат шифрования добавляете к исходному документу.
  4. Туда же добавляете сертификат, чтобы все могли проверить и убедиться, что документ подписали вы.

Как работает электронная подпись

А что если подменят сам сертификат?

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

Текст и схемы

Михаил Полянин


Редактор

Максим Ильяхов


Художник

Даня Берковский


Корректор

Ирина Михеева


Вёрстка

Мария Дронова


Соцсети

Олег Вешкурцев

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Как пройти собеседование в ИТ-компанию
Как пройти собеседование в ИТ-компанию

Советы джунам, которые боятся отказа.

easy
Зачем нужны менеджеры
Зачем нужны менеджеры

Самое понятное объяснение роли менеджера.

easy
Большой разбор: как ИИ играет в змейку

Современные технологии против игры прошлого века.

medium
Как работают BitLocker, FireVault и технологии шифрования дисков на лету
Как работают BitLocker, FileVault и технологии шифрования дисков на лету

Защищаем данные правильно

easy
Что такое сборщик мусора в программировании
Что такое сборщик мусора в программировании

Чисто и там, где метут, и там, где не мусорят.

medium
NFT — новые модные токены. Зачем они нужны и не развод ли это?
NFT — новые модные токены. Зачем они нужны и не развод ли это?

Объясняем на Аллегровой.

easy
Карьерный путь: руководитель группы в лаборатории ИИ Сбера
Карьерный путь: руководитель группы в лаборатории ИИ Сбера

Разговор с Алексеем Васильевым: управление проектами, учёба в ШАД и разработка систем ИИ.

easy
5 гаджетов c Алиэкспресса для хранения и защиты данных
5 гаджетов c Алиэкспресса для хранения и защиты данных

Чтобы можно было везде взять с собой

easy
ColdFusion — редкий и важный язык программирования
ColdFusion — редкий и важный язык программирования

Один из первых серверных языков, который смог найти себе место в современном мире.

easy
medium