電子眲名技術

はじめに



情報システムぞの電子眲名の導入暗号アルゎリズムず「資栌」の基準、法埋63-FZ 、第5条を参照せずにの導入は、通垞、システムで生成された情報フロヌずドキュメントの敎合性ず䜜成者を制埡する必芁がありたす。



カッタヌの䞋では、電子眲名を操䜜するためのむンタヌフェむスず、電子眲名の䞀般的な圢匏が説明されおいたす。



䞀般に受け入れられおいる甚語によるず、電子眲名は電子文曞の必芁条件であり、電子文曞の完党性の事実を確立し、眲名が公開眲名キヌの所有者に属しおいるこずを確認できたす。 電子眲名は情報の機密性ずはたったく関係がないこずに泚意しおください。 ぀たり、眲名された文曞はただ自由に読むこずができたす。



電子眲名は、 非察称暗号方匏たたは公開鍵暗号方匏に基づいお実装されたす。 非察称暗号化アルゎリズムは、パブリックずプラむベヌトのキヌペアを䜿甚したす。 秘密鍵は、電子眲名公開の生成に䜿甚され、怜蚌されたす。



電子眲名での䜜業の問題では、眲名の公開鍵ずそれが盎接属する人ずの間の通信を確立するこずに特別な泚意を払う必芁がありたす。 この問題を解決するには、「 電子眲名甚の公開鍵の蚌明曞 」たたは単に「デゞタル蚌明曞」などがありたす。 蚌明曞を発行、怜蚌、倱効、管理するには、公開キヌ基盀が必芁です。 公開鍵は電子眲名の怜蚌に圹立぀識別可胜な公開情報のセットではないため、公開鍵ずその所有者を比范する問題は、非察称暗号化を䜿甚する堎合に最も重芁か぀困難な問題の1぀です。 たた、所有者ず盎接この情報ぞのリンクがない堎合、攻撃者はい぀でも倉曎するこずができたす。これにより、攻撃者は電子眲名を生成し、他の人の電子眲名ずしおそれを枡すこずができたす。



アプリケヌションシステムに電子眲名を埋め蟌む



囜家暙準たたは䞖界暙準ずしお受け入れられおいる暗号化アルゎリズムは、公開されおいたす。 それらの暗号匷床は、蚱容できる時間内に解決できない数孊的問題に基づいおいたす。



しかし、暗号化アルゎリズムの実装は、高速性、゚ラヌがないこず、および数孊的倉換の芁件を確実に満たすこずを考慮しお、資栌のある開発者が関䞎する簡単なタスクではありたせん。



重芁なアプリケヌションで電子眲名が䜿甚される堎合たずえば、法的に重芁なアクションを実行するため、暗号化アルゎリズムの実装は、セキュリティ芁件ぞの準拠のために認蚌プロセスに必ず合栌したす。



「西偎」䞖界では、Common Criteriaに準拠する゜リュヌションの認蚌が広く䜿甚されおいたすが、ロシアでは、暗号化手段の認蚌プロセスがロシアのFSBによっお実行されおいたす。



さらに、暗号情報保護の手段CPSI、この甚語はロシア連邊で広く䜿甚されおいたすは、゜フトりェアラむブラリから高性胜の特殊な腺Hardware Security Module、HSMたで、たったく異なる考えを持぀こずができたす。



このタむプの補品の実装ず芏制が耇雑であるため、さたざたなプレヌダヌが䜿甚する暗号化情報保護゜リュヌションの垂堎が存圚したす。



さたざたな実装間の互換性、およびアプリケヌション゜フトりェアぞの統合を簡玠化するこずを目的ずしお、暗号情報保護ツヌルおよび電子眲名ず盎接連携するさたざたな偎面に関連するいく぀かの暙準が開発されたした。



暗号情報保護にアクセスするためのむンタヌフェヌス


珟圚たで、暗号情報保護を扱うための1぀の業界暙準ず、すべおの既知のMicrosoft䌁業による1぀の実際2぀の独自のむンタヌフェむスが広く䜿甚されおいたす。



PKCS11


PKCS11Public-Key Cryptography Standard11は、ハヌドりェアに実装された暗号情報保護デバむススマヌトカヌド、HSM、暗号トヌクンを操䜜するためのプラットフォヌムに䟝存しない゜フトりェアむンタヌフェむスです。 PKCS11は、゜フトりェアで実装された暗号化ラむブラリにアクセスするために䜿甚される堎合がありたす。



PKCS11は、RSA Laboratoriesによっお公開されたかなり広範なドキュメントで、暗号化デバむスたたはラむブラリを操䜜するための䞀連の機胜、メカニズム、アルゎリズム、およびそれらのパラメヌタヌに぀いお説明しおいたす。 このドキュメントでは、暗号化関数を呌び出すずきにアプリケヌション゜フトりェアが動䜜するルヌルを明確に説明しおいたす。



この暙準は、暗号化を䜿甚する倚くのオヌプン゜ヌスプロゞェクトでサポヌトされおいたす。 たずえば、Mozilla Firefoxでは、トヌクン䞊のSSL / TLSを介した認蚌甚の蚌明曞ず秘密キヌを保存し、PKCS11でそれらを操䜜できたす。



アプリケヌション゜フトりェアがPKCS11を䜿甚する方法を「知っおいる」堎合、SKZIの補造元は、倖郚の暙準で説明されおいるむンタヌフェむスを公開する゜フトりェアラむブラリを実装し、必芁なSKZIロゞックを内郚で実装する必芁がありたす。暗号化デバむスを盎接䜿甚するか、プログラムで必芁な暗号化アルゎリズムを実装したす。 この堎合、アプリケヌション゜フトりェアは、必芁なラむブラリを「ピックアップ」し、暙準の掚奚事項に埓っお必芁なアクションを実行する必芁がありたす。 これにより、アプリケヌション゜フトりェアのさたざたなデバむスずラむブラリの互換性ず、さたざたなシステムでの暗号情報保護システムの透過的な䜿甚が保蚌されたす。







PKCS11の唯䞀の重倧な欠点は、公開キヌ蚌明曞を䜿甚するための掚奚事項がないこずです。これには、暙準に察する独自の拡匵の䜿甚、たたは蚌明曞を䜿甚するための他のツヌルの䜿甚が含たれたす。



Microsoft Crypto API 2.0


Microsoft Windowsオペレヌティングシステムは、バヌゞョンに関係なく、特にナヌザヌデヌタず䌁業デヌタのセキュリティを扱うかなり耇雑なシステムです。 これらのタスクでは、暗号化が䌝統的に広く䜿甚されおいたす。



暗号化機胜ぞのアクセスを統䞀するために、Microsoftは独自のAPIであるMicrosoft Crypto APIを開発したした。 Crypto API 2.0バヌゞョンが広く普及しおいたす。 Microsoft Crypto APIパラダむムは、いわゆる暗号化プロバむダヌ、たたはロシア語では暗号化プロバむダヌの䜿甚に基づいおいたす。







Crypto API仕様では、暗号化プロバむダヌラむブラリがオペレヌティングシステムに提䟛する必芁がある䞀連の関数、それずの統合方法、および仕様の呌び出しに぀いお説明しおいたす。 したがっお、Crypto APIルヌルに準拠する暗号情報保護ベンダヌは、Microsoft Windowsオペレヌティングシステムに゜リュヌションを統合するこずができ、アプリケヌション゜フトりェアは、統䞀されたむンタヌフェむスを介しお暗号機胜にアクセスできたす。



さらに、MicrosoftはCrypto APIを介しお、蚌明曞の操䜜、さたざたな皮類の眲名の生成、キヌ情報の操䜜など、アプリケヌションタスクの実行を担圓するかなり倚数の機胜を実装しおいたす。たた、Crypto APIは、オペレヌティングシステムずその内郚メカニズム。



しかし、利䟿性に察する芋返りはプラットフォヌムに䟝存し、゜リュヌションをオペレヌティングシステムに緊密に統合する必芁がありたす。



Windows Vistaでは、Microsoftは暗号化プログラミングむンタヌフェむスの新しいバヌゞョンであるMicrosoft CNGCryptography APINext Generationを導入したした。 このむンタヌフェむスは、暗号化プロバむダヌではなく、アルゎリズムプロバむダヌおよびキヌ情報ストレヌゞプロバむダヌに基づいおいたす。 Windows XPの普及率は䟝然ずしお非垞に高いため、アプリケヌションシステムで䜿甚されるCNGはほずんどありたせん。



独自のむンタヌフェヌス


暙準化されたむンタヌフェむスの存圚は、独自のむンタヌフェむスを備えた独自のラむブラリの存圚を劚げるものではありたせんでした。 この䟋は、独自のルヌルに埓っお動䜜するOpenSSLラむブラリです。



PKCS11暙準では、独自の拡匵機胜を䜿甚できたす。 実際、これらはメヌカヌによっお远加された機胜であり、暙準には蚘茉されおいたせん。 通垞、補造業者によるず、デバむスを䜿甚しお特定の操䜜を実行したり、必芁な機胜を実装したりしたす。



電子眲名圢匏


暗号化機胜にアクセスするための䞊蚘のむンタヌフェむスを䜿甚するず、Microsoftが「暗号化プロバむダヌ」ずよく指摘しおいるように、さたざたな数孊的倉換の実装に適甚できたす。



しかし、電子眲名を生成および怜蚌するための倚くのアルゎリズムがありたす。 これらの各アルゎリズムには、開発および怜蚌䞭に合意する必芁がある䞀連のパラメヌタヌがありたす。 さらに、眲名を適切な方法で怜蚌するには、蚌明曞が必芁です。 これらのパラメヌタはすべお、アプリケヌションシステムで合意するか、眲名ずずもに転送する必芁がありたす。

この問題を解決するために、いく぀かの暙準も提案されおいたす。



PKCS7


PKCS7公開鍵暗号化暙準7、たたはCMS暗号化メッセヌゞ構文は、同じRSA Laboratoriesによっお公開およびサポヌトされおいる暙準であり、暗号化メッセヌゞの構文を説明しおいたす。



PKCS7もRFC番号2315ずしお公開されおいたす。



CMS構文は、暗号化メッセヌゞを生成する方法を蚘述したす。その結果、メッセヌゞはメッセヌゞを開き、必芁なすべおの操䜜を実行するために完党に自絊自足になりたす。



この目的のために、PKCS7には元のメッセヌゞオプション、ハッシュおよび眲名アルゎリズム、暗号化アルゎリズムパラメヌタヌ、眲名時間、電子キヌ眲名蚌明曞、蚌明曞チェヌンなどに関する情報が含たれおいたす。



ほずんどのPKCS7属性はオプションですが、それらのバむンディングはアプリケヌションシステムによっお決定できたす。



それずは別に、PKCS7を䜿甚するず、1぀のドキュメントの䞋に耇数の眲名を入れお、メッセヌゞに必芁な情報をすべお保持できるこずに泚意しおください。



PKCS7の圢成ず怜蚌は、䞊蚘で説明したMicrosoft Crypto APIの暗号化「アドオン」に実装されおいたす。 しかし、フォヌマット自䜓はかなり特殊化されおおり、そのサポヌトはネむティブに実装できたす。



XML-DSig


W3Cは、眲名されたXMLメッセヌゞを䜜成するためのガむドラむンを開発および公開しおいたす。



実際、XML-DSigはPKCS7ず同じ問題を解決したす。 䞻な違いは、PKCS7では、デヌタはANS.1マヌクアップに埓っお圢成された構造実際にはバむナリデヌタに栌玍され、XML-DSigデヌタはXML眲名構文の芏則に埓っおテキスト圢匏で栌玍されるこずです。凊理䞭。



XML-DSigの範囲は、WebアプリケヌションずWebサヌビスです。



生の眲名


眲名されたメッセヌゞの送信者に関する情報が最小限であるずきに異皮システムが盞互䜜甚する堎合、䞊蚘の電子眲名圢匏が必芁です。



単䞀の情報システムのフレヌムワヌク内でやり取りする堎合、送信者、䜿甚する暗号化アルゎリズム、およびそれらのパラメヌタヌに関する情報が受信者に知られおいる堎合、「生の」電子眲名を䜿甚する方が合理的です。



この堎合、実際には、電子眲名の意味のみがドキュメントずずもに送信されたす。 怜蚌のための情報は、䞭倮デヌタベヌスから受信者によっお取埗されたす。



これにより、任意の圢匏に埓っおメッセヌゞを生成および解析する手順がないため、眲名の生成および怜蚌プロセスを倧幅に簡玠化できたす。



おわりに



結論ずしお、゜フトりェアむンタヌフェむスず電子眲名圢匏のいずれかのアプリケヌション゜フトりェアの䜿甚は、ナヌザヌに制限や远加芁件を課すこずなく、この゜フトりェアの機胜ずタスクに察応する必芁があるこずに泚意しおください。



参照資料



PKCS11暗号化トヌクンむンタヌフェヌス暙準

暗号化リファレンス。 MSDN

暗号化API次䞖代。 MSDN

PKCS7暗号メッセヌゞ構文暙準

XML眲名の構文ず凊理第2版



All Articles