Косвенное свидетельство того, что это не так, кстати - как раз ограничение на 120 подписываний, после которого карту надо обновлять. Если бы приватный ключ хранился прямо на карте, это не имело бы никакого практического смысла.Yozhique wrote:смею заподозрить, что вышеперечисленные девайсы/сервисы и предоставляют собой хранилища приватного ключа. Ключ будет на чипе смарткарты, на чипе eId, в банковской системе (о боги! о боги!!!!) или у тебя на телефоне.
Электронная подпись и голосование через интернет
Re: Электронная подпись и голосование через интернет
Re: Электронная подпись и голосование через интернет
Я, конечно, тоже не специалист в криптографии, но о том как работает SSH, PGP, SSL и любая другая схема асинхронного шифрования - в курсеDarsh wrote:Если я правильно понимаю (хочется верить) - механизм аналогичен аутентификации ключами в SSH2. В центральной системе хранится мой public key, у меня на карте - мой private key, зашифрованный PIN1. При аутентификации где-либо система шифрует аутентификационный запрос моим public key. Мой компьютер (с кард-ридером и вставленной в него eID) запрашивает у меня PIN1, расшифровывает им мой private key, хранящийся на eID карте, расшифровывает моим private key зашифрованный аутентификационный запрос центральной системы и отвечает на него. Получая правильный ответ, центральная система считает аутентификацию успешной.Volfram wrote:К сожалению, не знаю, как эта часть реализована. Обычно (в негосударственных системах) идентификация как раз на подписывании и построена. В приведённой цитате мне не ясно, как запросивший идентификацию проверяет запрос, если только этот самый сертификат аутентификации не является вторичным приватным ключом (а PIN1 паролем от него).Darsh wrote:Для подтверждения идентичности Вас попросят ввести и подтвердить свой PIN1 код. Если Вы введёте правильный PIN1, и включённый в удостоверение личности сертификат аутентификации будет годен (срок годности не окажется истекшим или его действие приостановленным), Ваша идентичность будет успешно проверена, и Вы сможете получить услугу.
Соответственно, у меня на карте хранится private key, у них в системе - соответствующий ему public key. Если я теряю карту - мне надо заявить об этом в PMLP, они мне выдадут новую карту с новым private key, введут в систему новый соответствующий public key, заблокируют мой старый public key.
Написано, опираясь на Википедию. Я нифига не специалист в криптографии - просто хочется понять, как оно работает.
Один вариант реализации, который мне пришёл в голову (и который имеет практический смысл) - у PMLP хранится первичный приватный ключ. Для каждой карты генерится вторичный приватный ключ, который подписывается первым. С его помощью можно провести авторизацию, пройдя по цепочке до оригинальной пары публичного-приватного ключа, но в системе он имеет меньшие права (только авторизация, а не непосредственно подписывание). По крайней мере я бы так реализовал это сам. Преимущество такой схемы - утечка ключа с карты не позволяет ничего сделать, не засветившись при этом онлайн, в то время как PIN к приватному ключу можно спокойно подобрать в оффлайн (4 цифры!) и подписать сколько угодно документов, не вызывая никаких подозрений до срока.
Re: Электронная подпись и голосование через интернет
Ну, для подписи, если я правильно понял, нужно какие-то там токены покупать. Для идентификации же - не надо.Volfram wrote:Не понимаю, почему ты делаешь различие здесь между авторизацией и подписью. Если публичный ключ зарегестрирован в системе, это автоматически делает возможным и то, и другое.
Если публичный ключ в системе активирован - он даёт возможность использовать идентификацию, но не подписывать документы. Что, впрочем, не гарантирует, что эти документы не сможет подписывать кто-то ещё от моего имени - при условии, что они таки хранят мой private key где-то ещё, помимо моего же eID.
Darsh
Re: Электронная подпись и голосование через интернет
Ну, вполне возможно, что при подписывании документа он верифицируется с запросом публичного ключа с центрального сервера - на котором счётчик при этом уменьшается на единицу. Как счётчик ушёл в ноль - извольте докупить кц.Volfram wrote:Косвенное свидетельство того, что это не так, кстати - как раз ограничение на 120 подписываний, после которого карту надо обновлять. Если бы приватный ключ хранился прямо на карте, это не имело бы никакого практического смысла.
Darsh
Re: Электронная подпись и голосование через интернет
А при подписывании через программу eParakstitais (или как она там) доступ к сайту вроде не требуется. А кард-ридер с eID - требуется.Volfram wrote:Нюанс в том, что при подписывании документа через сайт e-paraksts PIN вводится _на сайте_, кард ридер для этого требуется, как и вообще обладание eID картой.
А при использовании программы PIN-Riki как PIN1, так и PIN2 можно поменять - опять же, для этого нужен кард-ридер, но не интернет.
А где бритва Оккама? Что говорит против того, что private key всего один и хранится на eID?Volfram wrote:Один вариант реализации, который мне пришёл в голову (и который имеет практический смысл) - у PMLP хранится первичный приватный ключ.
Darsh
Re: Электронная подпись и голосование через интернет
Только если делать это через eID.Darsh wrote:Ну, для подписи, если я правильно понял, нужно какие-то там токены покупать.Volfram wrote:Не понимаю, почему ты делаешь различие здесь между авторизацией и подписью. Если публичный ключ зарегестрирован в системе, это автоматически делает возможным и то, и другое.
Darsh
1) ничто не мешает тебе сделать, грубо говоря, `gpg --encrypt document` на локальной машине. Если ключ зарегистрирован в общей системе, получатель такого документа всё равно сможет узнать, что его зашифровал/подписал именно ты.
2) если верить документации на сайте, подписывать через загрузку на e-paraksts.lv можно без ограничений
Re: Электронная подпись и голосование через интернет
Дима, так о том и речь. Ты рассуждаешь уже как урождённый англичанин
. Два слабых места:
1)
2)
Итого - не убедил...
1)
То есть вместо того, чтобы проголосовать с пляжа по телефону - или даже забежать на участок по дороге на пляж - надо будет сперва запросить одноразовый код, потом его получить (явиться лично или по почте?), и только потом проголосовать с пляжа? И - каков дополнительный объём работы? На первый взгляд - побольше, чем при голосовании бюллетенями...Darsh wrote:PMLP выдаёт коды по запросам граждан...
2)
Хорошая информационная безопасность - не у нас. См. дело Нео. Плюс - человеческий фактор. Утекает всё и отовсюду, за бабки или просто из разгильдяйства. Слишком много слабых звеньев.Darsh wrote:...и ведёт базу человек-код. ЦИК проводит голосование, собирая базу код-голос. Всё вполне разделено, и при хорошей информационной безопасности у одного и того же человека не должно быть доступа к обеим базам одновременно.
Итого - не убедил...
Re: Электронная подпись и голосование через интернет
Всё это укладывается предложенную мной схему (кроме возможности смены PIN2, про это я не знал)Darsh wrote: А при подписывании через программу eParakstitais (или как она там) доступ к сайту вроде не требуется. А кард-ридер с eID - требуется.
А при использовании программы PIN-Riki как PIN1, так и PIN2 можно поменять - опять же, для этого нужен кард-ридер, но не интернет.
Тот факт, что можно подписать документ без использования eID указывает на то, что private key хранится не только на eID. Тот факт, что они на своем сайте говорят о 120 "печатях времени" (а не просто об ограничении в 120 использований) - очень намекает на то, что на самой карте используются имено предгенерированные токены.Darsh wrote:А где бритва Оккама? Что говорит против того, что private key всего один и хранится на eID?Volfram wrote:Один вариант реализации, который мне пришёл в голову (и который имеет практический смысл) - у PMLP хранится первичный приватный ключ.
Re: Электронная подпись и голосование через интернет
Нет. Зайти на сайт, идентифицироваться по eID, получить код. Не вставая из-за компа.bob wrote:Два слабых места:1)То есть вместо того, чтобы проголосовать с пляжа по телефону - или даже забежать на участок по дороге на пляж - надо будет сперва запросить одноразовый код, потом его получить (явиться лично или по почте?), и только потом проголосовать с пляжа? И - каков дополнительный объём работы? На первый взгляд - побольше, чем при голосовании бюллетенями...Darsh wrote:PMLP выдаёт коды по запросам граждан...
Ну, тут уже уровень доверия такой же, как и к ЦИКу.bob wrote:Хорошая информационная безопасность - не у нас. См. дело Нео. Плюс - человеческий фактор. Утекает всё и отовсюду, за бабки или просто из разгильдяйства. Слишком много слабых звеньев.Darsh wrote:2) ...и ведёт базу человек-код. ЦИК проводит голосование, собирая базу код-голос. Всё вполне разделено, и при хорошей информационной безопасности у одного и того же человека не должно быть доступа к обеим базам одновременно.
Не доверяете PMLP - никто не мешает отдать аутентификацию на сторону, стороне, которой можно доверять. Тем же британцам, например.
Но вообще Вы правы - механизм защиты базы человек-код надо продумать тщательнее. Потому что и код-голос хочется всем показывать, и анонимность голосования обеспечить. Помозгую на досуге.
UPD: Ну, навскидку, можно просто не хранить привязку человека к коду. Это затрудняет поиск проблемы, если человек заявляет, что он не так голосовал, и требует разбирательств. Если эту привязку не хранить вообще, доказать, что конкретно этот код был выдан конкретно этому человеку, не получится.
Можно просто при выдаче одноразового кода помечать код как выданный, плюс помечать человека, как получившего код - независимо друг от друга, без формирования связки человек-код. Тогда можно как обеспечить единственность выдачи кода, так и исключить получение двух кодов одним человеком. Вот только обратная проверка будет исключена. Но, кажется, это меньшее из двух зол :-)
Darsh
Last edited by Darsh on 26 Jun 2014, 16:30, edited 2 times in total.
Re: Электронная подпись и голосование через интернет
Или же private keys, сгенерированных для одного человека, несколько. Один генерится при подписке на virtual e-paraksts - и хранится у них. Другой - при получении eID, и хранится на eID. Косвенно на это указывает постепенность введения электронной подписи - сначала ввели smart card, затем virtual, затем внедрили уже опробованную smart card (или похожую) в ID-карту (https://www.eparaksts.lv/ru/pomowch/vid ... -epodpisi/).Volfram wrote:Тот факт, что можно подписать документ без использования eID указывает на то, что private key хранится не только на eID. Тот факт, что они на своем сайте говорят о 120 "печатях времени" (а не просто об ограничении в 120 использований) - очень намекает на то, что на самой карте используются имено предгенерированные токены.
Соответственно, можно не подписываться на virtual, а только активировать ту, что в eID. Тогда есть небольшая надежда, что private key хранится только у тебя, и больше нигде.
С "печатями времени" ещё не разбирался, разберусь - отвечу.
Darsh