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 />

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

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

публичният ключ, записан в него, е наистина собственост на лицето, на<br />

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

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

предварителна подготовка.<br />

Верификация на цифрови сертификати<br />

Има няколко механизма за верификация на цифрови сертификати. Ние ще<br />

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

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

верига. За да се провери една сертификационна верига, всички<br />

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

проверката не може да се извърши. Другият вариант е да се провери<br />

директно сертификатът дали е подписан от друг сертификат, на който имаме<br />

доверие.<br />

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

защитени хранилища за ключове и сертификати, записани в PFX файлове.<br />

Както знаем, тези файлове обикновено съдържат сертификат и съответстващ<br />

му личен ключ. В повечето случаи сертификатът е придружен от пълната му<br />

сертификационна верига, но понякога такава верига не е налична.<br />

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

саморъчно-подписан сертификат, този сертификат няма сертификационна<br />

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

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

сертификационна верига, но е възможно също да се получи само<br />

сертификата без никаква сертификационна верига.<br />

Проверка на сертификационната верига<br />

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

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

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

валидността на връзките между тях и проверка на Root-сертификата, от<br />

който започва веригата.<br />

За целта може да се използват средствата на Java Certification Path API и<br />

алгоритъмът PKIX, който е реализиран стандартно в JDK 1.4. Необходимо е<br />

единствено приложението да поддържа множество от Root-сертификати на<br />

сертификационни органи от първо ниво, на които безусловно вярва (trusted<br />

CA root certificates).<br />

71

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

Saved successfully!

Ooh no, something went wrong!