Насколько я знаю, современные сканеры штрих кодов встраиваются в прерывание клавиатуры, и как бы печатают текст, имитируют нажатия клавиш нужных. Т.е. ставишь курсор текстовое поле, сканируешь и текст штрих кода «впечатывается» в это поле.
Ну есть такое понятие как мошенничество. Ваш пример будет являться именно им. Ничего не мешает Васе выставить коле бумажный счет, Коля сделает его копию, подредактирует поставит закорючку и предъявит Васе претензии что оплатил автомобиль… При этом по нашему законодательству Васе придется доказывать что это не его подпись (т.к. именно Вася делает утверждение что это не его), а не Коле.
Счет это мелочи, вон один из вариантов рейдерского захвата, подделать собрание учредителей о принятии нового устава с новым ГД. С этим пойти в налоговую и новый ГД продает недвижимость компании. При этом это бумага…
Вот например я недавно заказывал сервер на НАГе, они в Екатеринбурге, я в Москве. Они сделали счет, прислали его по электронке (без всяких ЭП), я его оплатил, после оплаты они отгрузили товар и он мне пришел через 2 недели с оригиналами документов. И какие были бы мои действия если бы мне прислали не тот товар и в счете было бы написано не то и на мой звонок они бы меня послали… все просто, я бы распечатал бы первый счет, сделал бы выписку с р/с и пошел бы в полицию… что тут еще поделать можно. Но НАГ слава богу дорожит своей репутацией и не ставит себе палки в колеса, ибо такое прокатит только один раз.
Описываемая вами ситуация может быть с чем угодно, а не только с ЭП.
пЭП — это просто удобный механизм для постоянного обмена документами, с организацией, с которой вы договорились об этом. Это должно быть удобно обоим.
И кстати ничего не мешает хоть весь текст счета обработать hash функцией, а не только реквизиты.
1. Приходит Коле от Васи счет №03452 от 09.11.2016 с подписью b554f464d3cf1b128b07e96b960b7bb4a19a3c95
Вася знает хеш кодового слова Коли 822f424c94ffbe1e9b0e53df6d851da4, они договорились о конфиденциальности этой информации.
Вася делает по описанному в договоре алгоритму hash('sha1','1'.'03452'.'09.11.2016'.'822f424c94ffbe1e9b0e53df6d851da4')
получает b554f464d3cf1b128b07e96b960b7bb4a19a3c95 и сверяет с подписью в документе b554f464d3cf1b128b07e96b960b7bb4a19a3c95, они равны, значит документ подписал Коля. Все удовлетворяет ФЗ 63 и законно.
2. На нет и суда нет. Если нет договора, то только на бумеге. Требование простой ЭП — наличие договора с описанным алгоритмом и условиями конфиденциальности.
PS: если у Коли есть свой сервис проверки, то ему не обязательно сообщать хеш своего ключа Васе. Сервис проверки знает хеш Коли, сам сделает все метематические операции и сообщит Васе что документ и подпись верны.
У Коли с Васей должен быть договор, где описан алгоритм формирования и проверки подписи. Это условие признания простой ЭП. По этому алгоритму Коля и проверит что документ подписал Вася. Но Вася чтобы облегчить жизнь Коле, а так же дать способ проверки третьим лицам, может сделать свой сервис проверки, чтобы любой желающий (в том числе и Вася) мог удостовериться, что именно этот документ подписал именно Коля.
Подпись это по сути и есть хеш документа. Только с персонализацией. Просто документ может подписать Вася, может Петя, а может Коля. В этом случае хеш будет отличаться. Если несколько лиц подписывают, то напротив Васи должен быть один хеш, а напротив Пети другой. При проверке хеша напротив Васи должно вылезти что именно этот документ подписал Вася, а напротив Пети что именно этот документ подписал Петя.
Второй вариант, если нет сервиса, ваш партнер должен знать алгоритм для проверки, что именно вы подписали. Он описывается в договоре. В этом случае третьи лица конечно не проверят.
Не надо авторизации. Вы держите в руках (или видите на экране) документ, в котором в графе подпись написано например 3e692-a2f76-6e0fd-0cea5-9a950-33c53-b4128-8dbbb и информация о сервисе где можно проверить достоверность.
Заходите, вбиваете 3e692-a2f76-6e0fd-0cea5-9a950-33c53-b4128-8dbbb и система вам говорит, что данной подписью подписан такой то документ, за таким то номером, с такой то суммой таким то человеком. Вы видите что это именно тот документ, ФИО именно того человека, сумма та. Документ настоящий.
Если же вы измените хоть один символ в подписи, система скажет что такого не существует. Если вы вставите эту подпись в другой документ, при проверке будет видно что вы держите в руках документ с другими реквизитами и суммой и он ненастоящий.
Вы не загружаете, а выпускаете. Но допустим загружаете. Загрузили один документ, потом на словах утверждаете что другой и сервис самостоятельно его подменил? Правильно я вас понял? Ну в данном случае это попахивает мошенничеством, судом и всеми вытекающими. Тут будет подняты счета и факт оказания услуг на основании которых сделан данный документ, подняты данные с расчетных счетов и т.д. До истины все равно докопаются. Зачем вам это?
О чем вы вообще? Вы делаете свой сервис чтобы люди могли проверить что действительно вы выпустили и подписали данный документ. То что сделает «эксперт» — не будет соответствовать тому что покажет сервис проверки. Будет видно что документ подложный.
ПОРЯДОК
ВЫСТАВЛЕНИЯ И ПОЛУЧЕНИЯ СЧЕТОВ-ФАКТУР В ЭЛЕКТРОННОЙ ФОРМЕ
ПО ТЕЛЕКОММУНИКАЦИОННЫМ КАНАЛАМ СВЯЗИ С ПРИМЕНЕНИЕМ УСИЛЕННОЙ КВАЛИФИЦИРОВАННОЙ ЭЛЕКТРОННОЙ ПОДПИСИ
Да, это один файл. В нем просто есть последовательность из символов (у меня из 40 символов), которая является Простой ЭП данного документа, которую нельзя подделать (это ни к чему не приведет) и при наличии сервиса проверки может подтвердить что документ с такими-то реквизитами был подписан таким-то лицом.
Вот пример документа и сервиса проверки достоверности подписи.
2. Простой электронной подписью является электронная подпись, которая посредством использования кодов, паролей или иных средств подтверждает факт формирования электронной подписи определенным лицом.
3. Неквалифицированной электронной подписью является электронная подпись, которая:
1) получена в результате криптографического преобразования информации с использованием ключа электронной подписи;
2) позволяет определить лицо, подписавшее электронный документ;
3) позволяет обнаружить факт внесения изменений в электронный документ после момента его подписания;
4) создается с использованием средств электронной подписи.
и т.д...
У Простой ЭП не ставится цель «обнаружить факт внесения изменений в электронный документ» и этого достаточно для признания подписи документа равнозначной рукописному.
Если рассматривать мою систему, то каждому аккаунту выделяется своя база данных, поэтому добавить что-то из другого аккаунта абсолютно исключено.
«Крутой хакер с массивом видеокарточек»: вот недавно на хабре как раз была статья по коллизию в sha1 и сколько ресурсов понадобилось гуглу чтобы это сделать https://habrahabr.ru/post/322478/. Конечно наверное возможно, но я сильно в этом сомневаюсь. И непонятно зачем для подделки документа маленькой компании тратить огромные ресурсы.
А вообще хорошее кодовое слово и sha2 пока гарантирует исключение коллизии.
Смотря какой шрих код. Если линейный, то не получится, там 13 символов и числа. Этого недостаточно.
Если двумерный шрих код, то можете закодировать им достаточно длинный произвольный текст, в том числе и hesh сумму подписи.
Подпись вычисляется на основе реквизитов документа (Тип, Дата, Номер) и кодового слова подписанта. Это однозначно идентифицирует документ по подписи. Можете еще в реквизиты сумму добавить для верности.
Счет это мелочи, вон один из вариантов рейдерского захвата, подделать собрание учредителей о принятии нового устава с новым ГД. С этим пойти в налоговую и новый ГД продает недвижимость компании. При этом это бумага…
Вот например я недавно заказывал сервер на НАГе, они в Екатеринбурге, я в Москве. Они сделали счет, прислали его по электронке (без всяких ЭП), я его оплатил, после оплаты они отгрузили товар и он мне пришел через 2 недели с оригиналами документов. И какие были бы мои действия если бы мне прислали не тот товар и в счете было бы написано не то и на мой звонок они бы меня послали… все просто, я бы распечатал бы первый счет, сделал бы выписку с р/с и пошел бы в полицию… что тут еще поделать можно. Но НАГ слава богу дорожит своей репутацией и не ставит себе палки в колеса, ибо такое прокатит только один раз.
Описываемая вами ситуация может быть с чем угодно, а не только с ЭП.
пЭП — это просто удобный механизм для постоянного обмена документами, с организацией, с которой вы договорились об этом. Это должно быть удобно обоим.
И кстати ничего не мешает хоть весь текст счета обработать hash функцией, а не только реквизиты.
1. Приходит Коле от Васи счет №03452 от 09.11.2016 с подписью b554f464d3cf1b128b07e96b960b7bb4a19a3c95
Вася знает хеш кодового слова Коли 822f424c94ffbe1e9b0e53df6d851da4, они договорились о конфиденциальности этой информации.
Вася делает по описанному в договоре алгоритму hash('sha1','1'.'03452'.'09.11.2016'.'822f424c94ffbe1e9b0e53df6d851da4')
получает b554f464d3cf1b128b07e96b960b7bb4a19a3c95 и сверяет с подписью в документе b554f464d3cf1b128b07e96b960b7bb4a19a3c95, они равны, значит документ подписал Коля. Все удовлетворяет ФЗ 63 и законно.
2. На нет и суда нет. Если нет договора, то только на бумеге. Требование простой ЭП — наличие договора с описанным алгоритмом и условиями конфиденциальности.
PS: если у Коли есть свой сервис проверки, то ему не обязательно сообщать хеш своего ключа Васе. Сервис проверки знает хеш Коли, сам сделает все метематические операции и сообщит Васе что документ и подпись верны.
Заходите, вбиваете 3e692-a2f76-6e0fd-0cea5-9a950-33c53-b4128-8dbbb и система вам говорит, что данной подписью подписан такой то документ, за таким то номером, с такой то суммой таким то человеком. Вы видите что это именно тот документ, ФИО именно того человека, сумма та. Документ настоящий.
Если же вы измените хоть один символ в подписи, система скажет что такого не существует. Если вы вставите эту подпись в другой документ, при проверке будет видно что вы держите в руках документ с другими реквизитами и суммой и он ненастоящий.
В этом и есть смысл подписи.
Мы здесь говорим о простой ЭП
Вот пример документа и сервиса проверки достоверности подписи.
Что нам говорит закон о них:
У Простой ЭП не ставится цель «обнаружить факт внесения изменений в электронный документ» и этого достаточно для признания подписи документа равнозначной рукописному.
«Крутой хакер с массивом видеокарточек»: вот недавно на хабре как раз была статья по коллизию в sha1 и сколько ресурсов понадобилось гуглу чтобы это сделать https://habrahabr.ru/post/322478/. Конечно наверное возможно, но я сильно в этом сомневаюсь. И непонятно зачем для подделки документа маленькой компании тратить огромные ресурсы.
А вообще хорошее кодовое слово и sha2 пока гарантирует исключение коллизии.
Если двумерный шрих код, то можете закодировать им достаточно длинный произвольный текст, в том числе и hesh сумму подписи.