nomadmoon: (Default)
[personal profile] nomadmoon
Как и обещал - пост про цифровые подписи.
Что мы знаем про цифровые подписи? Из школьного курса информатики нам известно что есть такое явление как асимметричное шифрование. В нем участвуют два набора данных, два ключа. Публичный и приватный.



Публичным можно шифровать, приватным расшифровывать. Приватным можно подписывать, публичным проверять подпись.

Если вы зашифровали что то публичным ключем, то расшифровать обратно тем же ключем вы уже не сможете. Фарш невозможно провернуть назад, такскть. Расшифровать можно только приватным ключом.

Примерно та же фигня с подписью - приватным подписываем, публичным проверяем.

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

Генерить ключи можно кучей открытых и не очень утилит, как правило это openssl под юнихами и puttygen под виндовсами.

Как ни удивительно, в школьном курсе информатики не рассказывают что такое сертификат публичного ключа. Сертификат ключа это структура, в которой объединены публичный ключ, кой какая информация о том чей этот ключ (хотя бы ФИО, может какие то паспортные данные). И все это подписано приватным ключом какой нибудь Очень Уважаемой Организации. Сделано это для того чтобы использование вашей подписи имело хоть какой то административный смысл. А то цифроподпишете что нить, а потом будете мазаться что я не я и подпись не моя. Ан нет, у Очень Уважаемой Организации все ходы записаны.

В использовании цифровой подписи в повседневной жизни я вижу две проблемы.
Первая - кто удостоверяет подписи. В текущей редакции закона об ЭЦП подписи удостоверяет Удостоверяющий Центр. Удостоверяющие Центры есть, как минимум, у ТрансТелекома и Контура. Есть еще какие то, кому интересно спросите у гугля.

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

Во вторых, насколько я понимаю, сертификаты выдаются юридическим лицам. В то время как документы как правило подписывают люди. Как говорится "у каждого косяка есть имя и фамилия".

Как мне кажется сделать более разумно?

Ну, во первых, нужно чтобы сертификаты выдавала паспортно-визовая служба. Та же, которая выдает паспорт. Это логично по ряду причин:
- ПС знает о вас все, там есть в архивах ваша фотка, они умеют отличить поддельный паспорт от настоящего. Кому же как не им быть уверенными что они подписывают сертификат именно вам, а не какому то хрену с горы.
- сотрудники ПС и так дали клятву (или что у них там) о неразглашении, безопасности, проходят инструктажи и вообще абы кого не берут паспорта выдавать.
- у ПС _уже_есть_ своя защищенная сеть, с выделенными каналами, шифрованными VPN-туннелями, паролями и прочими игрушками взрослых сисадминов.
- ПС есть в любой жопе - паспорт то у всех есть, да?

Во вторых нужно выдавать его определенному человеку. Какая разница, подписываешь ты расписку что должен другу Васе 200 баксов или контракт на миллион? Один фиг ты подтверждаешь что понимаешь свои права и обязанности.
UPD Как пишет [livejournal.com profile] leonwolf, а он знает что пишет по 1-ФЗ сертификат выдается исключительно и только на ФИЗИЧЕСКОЕ лицо.


Второй вопрос более интересный и технический. Заключается он в том что приватный ключ нужно с одной стороны хранить как урановые стержни в свинцовом сейфе, а с другой стороны - как то показывать его шифровальной программе, ибо без него она ничего не зашифрует и не подпишет. Самый тупой путь - это использовать "большой комп" и программы на нем. Путь этот считается очень косячным, поскольку как ключ не прячь, а где то в системе он все равно есть. Поэтому злонамеренный вирус может его выдрать и послать хакеру, после чего хакер от вашего имени выпишет себе чек на миллион долларов и скроется на Багамах пить текилу в окружении прекрасных латинос. Вирусы и дыры, понятно, на большом компе есть везде. Даже под якобы защищенными линуксами. А уж винда и вообще одно сплошное решето. Осознав эту проблему техническая мысль пошла дальше и изобрела токен. Токен это такая фигня, похожая на флэшку. Однако кроме флэш-памяти эта штука содержит маленький цифровой процессор с намертво прошитой программой шифрования/подписи. В общем берете вы это токен, особым образом прошиваете туда свой приватный ключ, а потом с помощью спецпрограммы и этого ключа все шифруете. Выглядит это так - программа берет файл, посылает его в USB порт, где торчит токен. Токен это дело шифрует своим маленьким процессором. Сам, *ля, без ансамбля. И возвращает уже зашифрованный файл. Сам ключ с большого компа никак не увидеть и не скопировать. Для большого компа это выглядит как послал файл в USB порт получил оттуда подпись. Или зашифрованный файл, смотря что требовалось.

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

В общем рассуждал я вчера о том как нам реорганизовать процесс цифровой подписи и пришел к выводу что нужно делать как в mp3 плеере. Закачал на девайс, отключил его от порта, выбрал файл (как трек в плеере), подписал. Потом подумал что хорошо бы сделать как с современном mp3 плеере с большим экраном, чтобы можно было еще текст документа прочитать с экранчика девайса, убедиться что это то что нужно и подписать. И тут в моих мыслях произошел эволюционный скачок и родилось решение:
Е-БУК!

Девайс созданный специально для чтения. _Уже_ умеющий показывать все распространенные текстовые форматы. PDF, RTF, TXT, FB2. Спецдевайс, на котором никогда не будут запускаться программы сторонних производителе, значит флэшку можно всегда смело принудительно монтировать с параметром noexec. Значит никаких вирусов. Осталось только дополнить его программой для подписи и прошить в него ключ. И сделать опцию подписать.



Вот таким я вижу будущее цифровой подписи.

Реквестирую поправки, мнения, и указания на ошибки, особенно от юзера [livejournal.com profile] leonwolf
(deleted comment)

Date: 2009-12-22 06:23 am (UTC)
From: [identity profile] nomadmoon.livejournal.com
Зато ровно по той же причине его намного сложнее протерять. Да и если человек все равно возит какие то документы в портфеле, то закинуть туда ебук не проблема.
(deleted comment)

Date: 2009-12-22 07:32 am (UTC)
From: [identity profile] nomadmoon.livejournal.com
Есть разница в безопасности между ноутбуком с кучей проводных и не очень интерфейсов, с подключением к глобальной сети, на котором стоит ОС общего назначения и куча прикладухи
и
планшетом на котором стоит урезанный линух, никаких интернетов там нет, ОС жестко прошита и залочена, а флэшки монтируются с noexec?

Date: 2009-12-22 06:31 am (UTC)
From: [identity profile] leonwolf.livejournal.com
1. по 1-ФЗ сертификат выдается исключительно и только на ФИЗИЧЕСКОЕ лицо.
2. сертифицированные токены - надежны, эмуляцией порта его не возьмешь, там не только парольная защита.
3. частные УЦ - это рулез, а паспортно-визовая служба - это не рулез. более правильная аналогия не с паспортными столами, а с нотариальными конторами! ведь по тому же 1-ФЗ очень важно, что сертификат действует в ОПРЕДЕЛЕННЫХ правоотношениях. И это правильно. Когда я частное лицо и мне нужен ключик для интернет-банка, достаточно проверить и удостоверить, что я - это я. Когда я представляю свою организацию - то надо проверить, что я являюсь законным представителем (например, генеральным директором).
ЕБУК - это прекрасно, конечно :)

Date: 2009-12-22 06:56 am (UTC)
From: [identity profile] nomadmoon.livejournal.com
1. Спасибо, сейчас поправлю.

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

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

Только что получал загранпаспорт - контора работает четко. Даже диаграмма(!) действий по получению висит на доске. Разве что не в UML. Я аж офигел весь когда увидел.

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

Про ебук я думаю что если lbook допилить, то получится прекрасная подписывалка объединенная с электронным архивом подписанных документов. Да и просто книжки с него можно читать, когда подписывать нечего :)

Date: 2009-12-22 08:09 am (UTC)
From: [identity profile] ivalnick.livejournal.com
А мне идея ПВС как "Глобального УЦ Российского масштаба" понравилась.
Это самый простой способ "оптичить" население сертификатами ЭЦП, которые будут применяться гражданами в их частной жизни.

Date: 2009-12-23 03:42 am (UTC)
From: [identity profile] leonwolf.livejournal.com
и, в принципе, это пресловутая модель Эстонии и Бельгии.
более того, действительно, легко решается проблема с "правоотношениями, в которых может применяться..." - ЭЦП это только подпись, а все остальное пусть разруливается в конкретной информационной системе через механизмы проверки полномочий, а задача УЦ - только личность удостоверить.
да, наверное, это наиболее правильно.

Date: 2009-12-22 07:39 am (UTC)
From: [identity profile] denizzzka.livejournal.com
в связи с тем что хакеры люди безумно талантливые отключение на время шифрования не поможет - можно сформировать, например, такой документ который на е-буке отображается так, а на большом компьютере или в распечатке потом совсем даже по другому

Date: 2009-12-22 07:47 am (UTC)
From: [identity profile] nomadmoon.livejournal.com
Тему с подменой страницы в зависимости от среды отображения в принципе все знают, и наверное, как то обходят. Подписывают же документы сейчас как то? Во вторых эта уязвимость подтверждена только для одного какого то формата, многостраничного TIFF-а, чтоли. Надо выбрать просто какой нибудь формат в котором нельзя настраивать применение разных стилей с зависимости от среды отображения.

Date: 2009-12-22 07:49 am (UTC)
From: [identity profile] denizzzka.livejournal.com
вы когда последний раз официальный документ ЭЦП подписывали? так то

любой формат подвержен, потому что это зависит от качества отображающего софта - хакеры же, говрю

Date: 2009-12-22 08:06 am (UTC)
From: [identity profile] ivalnick.livejournal.com
1. В большинстве случаев все-таки используются термины "открытый" и "секретный", а не "публичный" и "приватный". На суть разница в терминах не влияет, но устоялись именно эти термины.

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

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

4. Использование специальных устройств, скорее всего, ограничит, а не расширит сферу применения ЭЦП.

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

Date: 2009-12-22 08:39 am (UTC)
From: [identity profile] nomadmoon.livejournal.com
Про физлиц поправил уже.

В случае с токеном элегантно решена проблема компроментации секретного ключа, но остается проблема что зная API доступа к токену можно заставить его шифровать данные "за спиной" у пользователя. Отображение операций можно как то обмануть. Если уж вирусы умудряются незаметно выгружать антивирусы из памяти... Единственный вариант - отображать выполнение операций на самом устройстве, что приводит нас к началу описанной цепочки умозаключений.

Использование специальных устройств, скорее всего, ограничит, а не расширит сферу применения ЭЦП.
По моему сейчас ее ограничивать просто некуда :)

Date: 2009-12-22 09:17 am (UTC)
From: [identity profile] ivalnick.livejournal.com
Сейчас, не считая частных применений внутри организаций, ЭЦП широко применяются только в двух областях:
- дистанционное банковское обслуживание
- представление отчетности в контролирующие организации
Других массовых сервисов, в которых требовалось бы применение ЭЦП, просто не существует. Так что это не применение ЭЦП ограничено, а потребность в его применении просто еще не возникла.

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

Вообще такая защита должна реализовываться на уровне ОС как разграничение полномочий при доступе к устройствам. Об этом неплохо написано здесь:
http://ru.intel.com/galaxy/forum/index.php?automodule=blog&blogid=9172&showentry=3345

Date: 2009-12-22 08:44 pm (UTC)
From: [identity profile] pourtous.livejournal.com
Через пару лет ебука без подключения к интернету будет не найти.
Не слышал скандал про то, как с ебуков правообладательские конторы стирают купленные людьми книги?

И да,из любого курса защиты информации известны две аксиомы:
1) идеальной брони не бывает, вопрос в отношении стоимости пули к выгоде от пробития брони.
2) самое слабое место любой системы безопасности --- человек.

Из первого -- если мы девайс полностью изолируем, то как забирать подписанный документ? Если мы забираем подписанный документ, то мы по определению тыкаем в него что-то небезопасное, чем могут воспользоваться умные хакеры.

Из второго -- тех тёть, что бросают флешки с банк-ключами организации в тумбочках не спасёт показ текста -- они не будут его читать.

Из общего -- если большим дядям очень захочется взять на ваше имя миллион, они придут к вам с паяльником и веществами.


Date: 2009-12-22 11:45 pm (UTC)
From: [identity profile] nomadmoon.livejournal.com
> Через пару лет ебука без подключения к интернету будет не найти.

Не факт, бюджетные модели никто не отменял, а наличие инета на ебуке, мягко говоря, не вопрос первой необходимости.

> Из первого -- если мы девайс полностью изолируем, то как забирать подписанный документ? Если мы забираем подписанный документ, то мы по определению тыкаем в него что-то небезопасное, чем могут воспользоваться умные хакеры.

На флэшке. Флэшка монтируется с параметром, noexec, что, по идее, вообще должно лишить ядро возможности что то с нее запускать. Тут надо оооочень извернуться чтобы что то вредоносное сделать.

> Из второго -- тех тёть, что бросают флешки с банк-ключами организации в тумбочках не спасёт показ текста -- они не
будут его читать.

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

> Из общего -- если большим дядям очень захочется взять на ваше имя миллион, они придут к вам с паяльником и веществами.

Ну, помимо грабежа бывает еще и кража :) Одно другого не отменяет.

Date: 2009-12-22 08:47 pm (UTC)
From: [identity profile] pourtous.livejournal.com
Кстати, для относительной надежности всей этой системы с сертификатами она должна быть весьма навороченной --- с синхронизируемыми списками истекших и скомпометированных, с разными типами УЦ, с безопасными хранилищами, итп. Полностью соответсвующей теории реализации не очень есть, насколько я знаю. Более того, многие критикуют саму схему, именно за чрезвычайную удаленность от практики и реализуемости.
Хотя тех документацию упомняутых в посте контор я не читала, не знаю их деталей.

Date: 2009-12-22 11:39 pm (UTC)
From: [identity profile] nomadmoon.livejournal.com
Насколько я понимаю все эти заморочки имеют место при проверке подписи. :) А при подписании можно хоть трижды просроченным ключом подписать, просто потом при проверке косяк вылезет. Так же, как, например, если случайно чужим ключом подписать.

Про разные типы УЦ как раз писал - нужно делать один УЦ на основе паспортно-визовой службы.

Date: 2011-01-18 04:12 pm (UTC)
From: [identity profile] truhlei.livejournal.com
С интересом прочитал Ваши соображения.

Как Вы считаете, нынешние планы выдать россиянам универсальную электронную карту - не подходящая возможность, чтобы опционно и за плату выдавать желающим также и ключ электронной подписи?

В Эстонии с введением электронной ID так и поступили, причем электронную подпись получили все обладатели ID.

В России это тоже возможно, хотя бы и только для желающих и за отдельную плату.

Date: 2011-01-18 04:27 pm (UTC)
From: [identity profile] nomadmoon.livejournal.com
Не слышал пока про электронную карту, если можно хотел бы ссылку.

Если наладят нормальную процедуру выдачи сертификатов на ключи за разумные деньги (рублей 300) то я первый пойду, конечно.

Date: 2011-01-18 04:42 pm (UTC)
From: [identity profile] truhlei.livejournal.com
Вот об универсальной электронной карте подробнее:

http://ibigdan.livejournal.com/7903109.html

О ней есть и сайт:

http://uecard.ru/

Про процедуру выдачи ключей:

Насколько я понимаю, сама по себе электронная подпись должна быть такой, чтобы получатель письма, подписанного ею, понимал бы, кто именно это письмо подписал.

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

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

(deleted comment)

Date: 2011-01-19 12:23 am (UTC)
From: [identity profile] truhlei.livejournal.com
Я благодарен Вам, что Вы мне, дилетанту, разъяснили этот вопрос.

Я вот чего только пока не понял:

В Эстонии электронные подписи может ставить любой. И получает письма за этими подписями тоже любой: Чиновник от нечиновника, нечиновник от чиновника.

Мне снимок внешнего вида этой подписи присылали. Там Фамилия, имя и ID из электронного удостоверения личности.

Поэтому у меня вопрос:

Как простой человек, получив такое письмо из государственного органа или от другого простого человека, может убедиться, что именно отправитель его подписал?

Еще раз простите мой дилетантизм. Я не специалист.

Date: 2011-01-19 12:20 am (UTC)
From: [identity profile] nomadmoon.livejournal.com
Ну, скажем, ни подпись ни ключ сами по себе не хранят данные о подписавшем, они оба являются не более чем результатами строгих математических расчетов. Вся дополнительная информация (ФИО, номер эл. карты) хранится в сертификате, который выдается уполномоченным органом (в моем предложении - паспортно-визовой службой) и подписывается её, службы, ключом.

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

У вас неточность в терминологии кстати, ключи не выдаются, ключи мы можем сделать и сами, они делаются по давно известным математическим алгоритмам, реализованных в куче программ (OpenSSL, PuttyGen те же). Задача государства - сопоставить этот ключ с вашими паспортными данными и выдать вам сертификат что этот публичный ключ - Ваш. Приватный ключ вы вообще можете никому не показывать.

Кстати можно провести аналогию между публичным ключом и подписью ручкой - подписи то вы можете придумать и использовать какие угодно, но юридически значимой становится та, которую вы вписываете в паспорт.

Ваше умение расписаться, мышечные реакции - это ваш "приватный ключ", он надежно спрятан у вас в мозгу.

"Подпись в паспорте", грубо говоря - ваш публичный ключ.

Сам паспорт, где ваша подпись, фотка и ФИО - сертификат публичного ключа.

А все водяные знаки, ультрафиолетовые буквы, микронити и прочие защитные штуки в паспорте - "подпись" государства на вашем "сертификате".

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

Date: 2011-01-19 12:24 am (UTC)
From: [identity profile] truhlei.livejournal.com
Я благодарен Вам, что Вы мне, дилетанту, разъяснили этот вопрос.

Я вот чего только пока не понял:

В Эстонии электронные подписи может ставить любой. И получает письма за этими подписями тоже любой: Чиновник от нечиновника, нечиновник от чиновника.

Мне снимок внешнего вида этой подписи присылали. Там Фамилия, имя и ID из электронного удостоверения личности.

Поэтому у меня вопрос:

Как простой человек, получив такое письмо из государственного органа или от другого простого человека, может убедиться, что именно отправитель его подписал?

Еще раз простите мой дилетантизм. Я не специалист.

Date: 2011-01-19 12:49 am (UTC)
From: [identity profile] nomadmoon.livejournal.com
Возможно там налажена инфраструктура автоматического получения сертификатов публичных ключей из интернета или какого то другого публичного источника. Например такой алгоритм:
Получаем письмо

Ищем в официальном ресстре (он может быть и в интернете) сертификат публичного ключа приславшего

Проверяем сертификат ключом паспортной службы, чтобы удостовериться что он не был подменен в процессе доставки.

Проверяем полученным публичным ключом (он входит в состав сертификата) подпись.

Если всё ок то выводим сообщение что все хорошо, плюс можно добавить какие то данные (ФИО, ID) из публичного сертификата.

Вопрос как реализовать программное обеспечение.

Сама же по себе цифровая подпись, как и цифровой ключ выглядят бессмысленным набором символов (вы могли видеть цифровой ключ если подключали банк-клиент, Сбербанк, например, выдает распечатку копии ключа на бумаге, это хаотичный набор символов, где то на лист А4)

Date: 2011-01-19 12:59 am (UTC)
From: [identity profile] truhlei.livejournal.com
Пора обратиться к эстонским гражданам, подкованным в компьютерах.

Наверняка там это хорошо известно.

Date: 2011-01-19 12:35 am (UTC)
From: [identity profile] nomadmoon.livejournal.com
Почитал у Бигдана, не могу понять явно видна контактная площадка, но "можно получить услуги поднеся к бесконтактному считывающему устройству". Не хотелось бы иметь радиодоступ к такому важному документу.

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

Date: 2011-01-19 12:57 am (UTC)
From: [identity profile] truhlei.livejournal.com
Тут много пока вопросов.

Для меня важно, чтобы была опция электронной подписи.

Без нее невозможно ничего написать так, чтобы видно было, кто написал и что он за написанное готов взять ответственность.

Без электронной подписи невозможно поддержать через Интернет ту или иную общественную инициативу. Ведь это совсем не так эффективно подписи на улице собирать или митинги устраивать.


Profile

nomadmoon: (Default)
nomadmoon

April 2017

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 24th, 2025 11:35 pm
Powered by Dreamwidth Studios