24.12.2014 Views

Download - Svetlin Nakov

Download - Svetlin Nakov

Download - Svetlin Nakov

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Процесът на подписване на документ<br />

Самият процес на подписване, който започва при натискане на бутона от<br />

аплета за подписване, може да се извърши по следния начин:<br />

1. Подканва се потребителят да избере от локалната си файлова система<br />

защитено хранилище (PFX файл), съдържащо цифровия му сертификат и<br />

съответните на него личен ключ и сертификационна верига. Изисква се<br />

от потребителя да въведе паролата си за достъп до информацията в<br />

избраното защитено хранилище. Ако се използва смарт карта, се<br />

подканва потребителят да посочи библиотеката-имплементация на<br />

PKCS#11 и PIN кодът за достъп до смарт картата.<br />

2. Зарежда се избраният PFX файл и от него се изваждат сертификата на<br />

потребителя, съответният му личен ключ и цялата сертификационна<br />

верига, свързана с този сертификат. При работа със смарт карта случаят<br />

е аналогичен – от картата се зареждат сертификатът, сертификационната<br />

му верига (ако е налична) и личният ключ.<br />

3. Взема се името на файла за подписване от HTML формата, файлът се<br />

зарежда в паметта и се извършва подписването му с личния ключ на<br />

потребителя.<br />

4. Резултатът от подписването на файла и сертификата на потребителя<br />

заедно с цялата му сертификационна верига се записват в определени<br />

полета от HTML формата в текстов вид за да бъдат изпратени към<br />

сървъра заедно в уеб формата. Може да се използва стандартният<br />

формат BASE64 за записване на бинарни данни в текстов вид.<br />

Сървърът, който посреща подписания файл, има грижата да провери дали<br />

файлът е коректно подписан с личния ключ, съответстващ на изпратения<br />

сертификат. Освен това сървърът трябва на даден етап да проверява дали<br />

използваният сертификат е валиден. Това може да става веднага при получаването<br />

на файла или на по-късен етап, ако е необходимо да се установи<br />

от кого е подписан даден документ.<br />

3.3. Уеб приложение за верификация на цифровия<br />

подпис и използвания сертификат<br />

Освен аплетът, който подписва изпращаните от потребителя файлове,<br />

нашата уеб-базирана информационна система трябва да реализира и<br />

функционалност за посрещане на тези подписани файлове заедно с<br />

проверка на получената сигнатура. Необходимо е още получените клиентски<br />

сертификати и сертификационни вериги също да бъдат проверявани, за да е<br />

ясно кой всъщност подписва получените файлове. Да разгледаме<br />

проблемите, свързани с тези проверки.<br />

3.3.1. Система за верификация на цифровия подпис<br />

Проверката на цифровия подпис има за цел да установи дали изпратената<br />

сигнатура съответства на изпратения файл и на изпратения сертификат, т.е.<br />

дали тя е истинска. Тази проверка се осъществява по стандартния начин за<br />

70

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!