Как сделать цифровую подпись для сертификатов, выдаваемых нашим проектом?
Здравствуйте!
Второй день курю документацию по вопросу, и решил спросить у знатоков:
- У нас есть гуманитарный проект, в рамках которого мы хотим выдавать людям что-то вроде именных цифровых сертификатов. При этом, мы хотим защитить их от подделки. На ум приходит цифровая подпись. Какой программой это проще и быстрее всего сделать? И чтобы была документация "for dummies" :) И чтобы бесплатно.
Был на сайте openpgp.org - там почему-то программы только для почты, а нам нужно нечто иное. Нам нужно как-то подписать картинку с сертификатом. Ну, или хотя бы вордовский документ. Но лучше и то и другое )) И чтобы это было просто и не вывихивало мозги.
Как вариант - воткните в картинку QR-код с короткой (по возможности) ссылкой, при переходе на которую будет прорисована та же самая картинка для верификации. Главное от ссылки - чтобы её нельзя было сфабриковать, и при подсовывании левых параметров сервер выдавал 404.
Цифровая подпись - криптографическая система, защищающая файл от изменения.
Т.е если файл подписан - можно с уверенностью говорить что файл не подменили.
1. Мы даем человеку некий документ(скажем, файл-картинку), и этот документ подписываем цифровой подписью, которая удостоверяет дату выдачи, и то, что это выдали именно мы.
2. Смысл в том, что теперь этот человек всегда может удостоверить другим людям и даже нам, что этот файл - выдан тогда-то и тогда-то и выдан именно нами.
3. Это при том, что наш публичный ключ будет вывешен на сайте и доступен каждому.
4. Если удостоверить дату - это как-то сложно, то пусть просто удостоверит, что этот документ был выдан тем лицом, чей публичный ключ вывешен на сайте.
Могу еще как-то переформулировать - для меня эта тема новая, немного путаюсь в формулировках и терминах.
Просто подписываете любой файл вашей подписью - и вы всегда будет знать что этот файл подписан именно вами.
А вот чтобы другим людям удостоверить тут уже не получится - нужно иметь электронную подпись и сертификат выданный доверенным УЦ - центром которому доверяют нужные пользователи.
Хотя если они доверяют вам - пойдет и самоподписанный сертификат.
АртемЪ, вроде как получилось с помощью программы Gpg4win и подписать и прочитать подписанное :) но у меня вот какая непонятка теперь:
1. Когда я подписал тестовую картинку, скажем test.jpg оно создало файл подписи test.jpg.sig и поместило его в том же каталоге.
2. Теперь когда кликаю на test.jpg.sig оно его открывает и пишет: все отлично, этот файл подписан lalala@lala.com
Но проблема в том, что если кто-то еще, создаст закрытый ключ и укажет там адрес lalala@lala.com и потом подпишет им что-то - эта программа тоже будет писать "все отлично, этот файл подписан lalala@lala.com"?
Я как-то запутался... :(
...для этого и нужен сертификат от большого центра, так?
А есть ли такие сертификаты, чтобы бесплатно и без истечения срока годности?
Главное отличие самоподписанного сертификата от сертификата от известного УЦ - то, что пользователям не нужно будет устанавливать ваш корневой сертификат в список доверенных.
Сложности чисто технические, но, как показывает практика, проблемы с этим возникают у многих.
Вообще, криптография и 'for dummies' плохо совмещаются.