Comments 33
habr.com/ru/company/aktiv-company/blog/457886
Не легче уже использовать U2F/FIDO2 который поддерживается во всех браузерах?
Сейчас более актуально решение на Linux системах…
habr.com/ru/company/aktiv-company/blog/457886
Потенциальным пользователям/админам, не идите на поводу, пользователи вас проклянут, т.к. ситуации бывают очень разные, от нет windows/ios вообще, до нет свободных usb портов.
Из личного опыта, когда увидел инструкцию для debian (другой продукт) был в шоке.
При этом есть вполне работающее решение использующее личный брелок для генерации уникальных пин-кодов, для которого ни драйверов ни спец сертификатов не нужно.
Потенциальным пользователям/админам, не идите на поводу, пользователи вас проклянут
Админы должны исходить из задач, которые необходимо решить, и принимать во внимание тех пользователей, с которыми они работают. А не идти на поводу у автора, или у вас.
Увы, мир не идеален, как пример, некоторые решающие задачи в очень крупных корпорациях не видят дальше своего носа, в итоге, к примеру, забывают запросить у разработчика решения по удалённому доступу утилиты и инструкции кроме как для win/ios, хотя у разработчика они в наличии, просто не в открытом доступе. Просто идут по пути наименьшего сопротивления.
Речь о подписании отдельных файлов электронной подписью.
Имеем ЭЦП и файл *.pdf, который нужно подписать. Для подписания файла в него добавляется блок информации, который содержит сведения о подписи. Этот блок формируется из собственно самой подписи и контрольной суммы (?) исходного файла. Но, дописывая что-то в файл (подпись) мы изменяем его контрольную сумму. В итоге в файле вписана цифровая подпись, которая создана не на той контрольной сумме, которая соответствует конечному файлу.
Где я неправильно рассуждаю?
не контрольная сумма, а хеш-сумма
Это одно и то же. Нет?
Если один или несколько файлов упаковываются в контейнер с подписью, то все понятно, но речь о другом случае. Открываешь файл *.pdf, а в углу стоит значок: «Файл подписан цифровой подписью». И нет рядом никакого дополнительного файла подписи, все это — и документ и подпись хранится в одном файле и открывается обычным pdf-просмотрщиком.
…
Получается, что не любой файл можно подписать эцп? То есть, нужно знать структуру файла и сам формат должен позволять дописывать в файл информацию так, чтобы не нарушалась целостность?
Нужна не просто хэш сумма, а криптографический хеш https://ru.wikipedia.org/wiki/Криптографическая_хеш-функция
Классические контрольные суммы нестойки к преднамеренному искажению документа, например, изменив 4 байта можно получить нужный crc32.
Формат PDF поддерживает подпись внутри файла — https://www.adobe.com/devnet-docs/acrobatetk/tools/DigSigDC/Acrobat_DigitalSignatures_in_PDF.pdf
Входом хеш-суммы (например, sha256) является весь документ, в который добавлен участок из достаточного количества нулевых байт на месте блока для хранения подписи ("The entire PDF file is written to disk with a suitably-sized space left for the signature value as well as with worst-case values in the ByteRange array.")
Но форматом pdf предусмотрен и свой собсвенный механизм создания и хранения подписи, и вы говорите именно о нем. В этом случае все происходит более умно — хэш счиатется не от сырых битов всего pdf-файла, а от отдельных объектов его структуры. Секция, в которой хранится подпись, естественно не входит в их число.
Двухфакторная аутентификация на сайте с использованием USB-токена. Как сделать вход на служебный портал безопасным?