Есть многое на свете, друг Горацио, что и не снилось нашим мудрецам…
Вы, наверное, никогда не имели дела с электронно-цифровой подписью при работе с банками или налоговыми в России. Всё до изумления просто. Участники документооборота должны быть уверены в авторстве того или иного документа. Считается, что после проверки подписи можно точно сказать, что в документ не вносились правки и их автор — владелец закрытой части ключа, который может быть только у автора подписи. Также должен использоваться только сертифицированный нашими органами алгоритм шифрования — ГОСТ. Вменяемо реализует этот алгоритм продукт компании «К».
И вот вы захотели поучаствовать в госзакупках, отправить отчётность в налоговую или попасть на сайт госуслуг. Вам нужен закрытый ключ, который будет только у вас. Вот тут начинаются разночтения. Кто-то заставляет получать токен специально замученным курьером с доверенностью и печатями, кто-то требует личного присутствия. Точки выдачи только в Москве, а клиенты есть такие, которым на оленях три недели добираться до ближайшего аэропорта… Но есть же интернет! Осталось придумать, как по интернету передать закрытый ключ, чтобы он не попал к злоумышленникам.
В этом месте я жму руку специалистам компании «К». Они поступили проще. Зачем передавать по закрытым каналам ключи, когда их можно сгенерировать прямо у клиента, закрытую часть сразу сбросить на дискету/флешку/токен, а открытую часть отослать на сервер для проверки администраторами? Осталось дело за малым: решить, чем генерировать пару ключей. Яваскриптом? Производительность не та, да и реализацию раскрывать так уж явно не хочется. Специальной программкой? Так её придётся обновлять (достаточно часто, там должен быть модуль связи с сервером). Обновляться автоматически? Во-от! Всё уже изобретено за нас — это или ява-апплеты, или ActiveX. Кто один умеет работать с ActiveX? Правильно, только «ослик». А то, что Хром и иже с ними до сих пор не понимают ActiveX, уж точно не проблема компании «К» и клиентов, которые пользуются их продуктами.
Вы правильно отметили: заточка продукта на IE сильно упрощает саппорт. Мы в компании клиентов поддерживаем сами и очень редко отсылаем в саппорт компании «К» (хотя надо бы). Почти все глюки связаны либо с файрволами, либо со старыми версиями программ на ОС типа «восьмёрки», либо с тем, что пользователь потерял ключевой контейнер. Руководство, читая мою переписку с клиентами, начинает подозревать во всяком: мол, при минимуме информации он даёт такие развёрнутые ответы, телепат, наверное.
А как же линуксы, спросите вы? Уверяю вас, даже в этом случае есть варианты — не такие прямолинейные, но есть. Клиентам-разработчикам всяких там автоматилок под линукс с удовольствием рассказываю, что надо приобрести и установить, чтобы не лезть к нашим серверам из-под Windows. Кому-то хватает прокси на Windows, кто-то делает более аккуратно несмотря на то, что в большинстве свободных дистрибутивов нет поддержки ГОСТ из коробки. Даже компилировать ничего не придётся — почти всё привычное из инструментария работает нормально.
Кто-то сказал: «Максимально защищённая система максимально неудобна для использования». И прежде чем менять любимый зарплатный банк на другой, предлагаю подумать: стоит ли?