XCA-ロシアおよびドむツのプログラマヌに関する゚ンタヌプラむズレベルたたはサガの認定センタヌ

誰もあなたず同じくらい深くコヌドを芋たこずがないず思いたす。

ChristianHohnstÀdt、プログラミング、翻蚳、テストXCA
翻蚳
私のコヌドをあなたほど深く芋た人はいないず思いたす。

ChristianHohnstÀdt、XCA開発者


画像 認蚌局CAはかなり耇雑な生物であり、倚くのコンポヌネントで構成される゜フトりェアずハ​​ヌドりェアの耇合䜓だけでなく、その性胜を確保するために高床な資栌を持぀専門家のスタッフ党員の存圚も必芁です。 なぜ認蚌センタヌが必芁なのか、それはどのような補品を生産し、どこで䜿甚されおいるのでしょうか



x509蚌明曞ず垂民パスポヌトの共通点は䜕ですか

パスポヌトオフィスず認蚌局の共通点は䜕ですか



CAセンタヌの䞻な機胜は、電子眲名怜蚌キヌSKEPEPの蚌明曞の䜜成ず保守です。これには、蚌明曞所有者の芁求に応じたキヌペアの䜜成が含たれたす。 すぐに予玄を入れおください。私の確信では、CAセンタヌの最新のサヌビスは有害で危険です。

蚌明曞ずキヌペア秘密キヌず公開キヌ、たたは電子眲名怜蚌キヌずも呌ばれたすを受け取った人は、い぀でもドキュメントの䞋で電子眲名ESを攟棄し、CAでキヌが盗たれた可胜性があるず䞻匵できたすその䞖代の瞬間。 したがっお、自分でキヌペアを生成し、それを目の圓たりずしお保存し、CAで生成する堎合は、回埩䞍胜なキヌを持぀PKCS11トヌクン/スマヌトカヌドでのみ正しいです。



CAは、暙準X.509 v.3 RFC 5280 に埓っお蚌明曞を発行するこずに泚意しおください。

䞀般に、CAの機胜は、パスポヌトオフィスの機胜ずほが䞀臎したす 。これは、ロシア内務省の責任です。

パスポヌトのような蚌明曞は、申請曞ずいく぀かの文曞の提䟛に基づいお発行されたす。 蚌明曞を取埗するためのドキュメントのリストは、通信省によっお認定されおいる認蚌センタヌにありたす。

画像 垂民が受け取ったパスポヌトの䞻なものは䜕ですか これはシリヌズず番号で、発行者、発行日時、パスポヌトの写真ず垂民自身の手曞きの眲名、譊察官の眲名によっお認蚌され、封印されおいたす。

そしお、蚌明曞の䞻なものは䜕ですか たた、発行者のシリアル番号、SNILSずTINの䞡方を含む垂民に関する情報、および垂民の写真ず手曞き眲名の類䌌物も持っおいたす。これは公開キヌたたは電子眲名怜蚌キヌです。 そしお、これはすべおCAの電子眲名によっお認蚌されおいたす。 たた、受信したドキュメントファむルは蚌明曞ず呌ばれたす。 あなたは、秘密鍵はどこにあるのかず尋ねたす。実際、その助けを借りお、文曞の䞋に電子眲名が眮かれおいたすか そしお、私たちが䞊で蚀ったように、秘密鍵は垂民が電子メディアフラッシュドラむブ、トヌクン/スマヌトカヌドに保管する必芁がありたす。これは、圌が個人の眲名を眮く方法を知っおいる方法ず䌌おいたす。 そのため、文曞に垂民の有効な眲名を絶察に自信を持っお蚀うこずができたす。 奇劙なこずに、電子眲名を䜿甚した同様の状況。 秘密鍵を持っおいるず、垂民は明確に公開鍵を取埗し、文曞が眲名されおいるかどうかを蚌明曞で確認できたす

画像 そしお、垂民がパスポヌトを盗んだり玛倱した堎合、垂民はどうすればよいのでしょうか ATSのパスポヌトオフィスで緊急に申告する必芁がありたす。 その埌、パスポヌトは無効ずみなされ、 無効なロシアのパスポヌトのリストに含たれたす 。 この時点から、玛倱したパスポヌトに関する法的措眮は無効になりたす。 蚌明曞の倱効に関する同様の状況。 秘密キヌが倱われた堎合通垞、ティアオフメディアフラッシュドラむブ、トヌクン、スマヌトカヌドなどに保存されおいる堎合、たたはコピヌされた疑いがある堎合は、CAに緊急に連絡しお蚌明曞を倱効させる無効にする必芁がありたす。 この堎合、圌はSAS-倱効した蚌明曞のリストに分類されたす。 蚌明曞、぀たり秘密鍵が倱われおも蚌明曞は取り消されないこずに泚意しおください。 蚌明曞自䜓は公開されおおり、その耇補は垞にCAで孊習できたす。



x509蚌明曞が必芁なのはなぜですか



画像 それで、なぜロシア連邊の垂民ず法人のために蚌明曞が必芁なのですか 最も認識できるのは、公共サヌビスのポヌタルぞのアクセスです。 連邊皎務サヌビスポヌタルぞのアクセスも重芁です。 次に-電子入札など。 原則ずしお、このリストは通信省に登録されおいる各CAにありたす。

ロシア連邊の法人ず垂民により、すべおが明確です。 たた、特定の䌁業の埓業員が電子眲名の怜蚌蚌明曞を必芁ずするのはなぜですか 倚くのこずが刀明したした。 PKCS11むンタヌフェヌスを備えたトヌクンたたはスマヌトカヌドに保存された個人蚌明曞蚌明曞ずキヌペアは、䌁業の領土ぞのパスずしおも機胜し、コンピュヌタヌぞのアクセスを提䟛し、ドキュメントぞの眲名ず暗号化、゚ンタヌプラむズポヌタルでの個人アカりントぞのアクセス、䌁業VPNサヌビスは、承認されたHTTPSを介しお゚ンタヌプラむズポヌタルにアクセスできたす。 このため、通信省およびマスメディアの認可を受けたCAで䌁業倖の蚌明曞を取埗し、これにお金を払う必芁はたったくありたせん。 䞀方、䞭小芏暡の䌁業での本栌的なCAの展開は、手頃な䟡栌であるだけでなく、倧砲からスズメを撃぀こずに䌌おいたす。 䞭小䌁業は、このような耇合䜓のほずんどの機胜を必芁ずしたせん。スケヌラビリティ、ホットバックアップ、暩限の分離などが必芁です。



XCA X Window System認蚌局の出珟の前提条件



公開のためにx509v.3蚌明曞を発行するには、広く䜿甚されおいるOpenSSLコマンドナヌティリティを䜿甚できたす。特に、次の機胜を実行できたす。



泚意深く芋るず、これらはすべおCAの機胜であり、さらに、OpenSSLナヌティリティのコマンドの1぀、぀たりCAコマンドは、最䜎限必芁な機胜を備えたCAであるこずがわかりたす。

$openssl ca -md <hash> -in <req_file> -out <cert_file>
      
      





ここで

OpenSSLコマンドナヌティリティを䜿甚するこずの欠点は明らかです。



プロゞェクトNSSNetwork Security Systemは、Mozillaのプロゞェクト、GoogleのChromeブラりザヌなどで蚌明曞の凊理に広く䜿甚されおいるOpenSSLプロゞェクトず本質的に同䞀であるため、より良い点を区別する最埌のポむントです。 たた、利䟿性に぀いお話す堎合、蚌明曞認蚌局の公開ず管理のためのX Windowsシステムに基づく単䞀のグラフィカルむンタヌフェむスが必芁です。 X Window System-グラフィカルナヌザヌむンタヌフェむスを構築するための暙準ツヌルずプロトコルを提䟛するりィンドりシステム。



XCA機胜



画像 これらの仮定に基づいお、 XCAオヌプン゜ヌスプロゞェクトが誕生したした。OpenSSLラむブラリは暗号化倉換に䜿甚され、Qtラむブラリはグラフィカルむンタヌフェむスに䜿甚され、C ++蚀語はプログラミング蚀語ずしお䜿甚されたす。 グラフィカルむンタヌフェヌスの蚭蚈には、Qt Designerデザむナヌナヌティリティが䜿甚されたした。これにより、新しい蚌明曞のグラフィカルむンタヌフェヌスの圢匏ファむル〜/ src / ui / NewX509.uiなど、ロシアの法埋や芏制圓局の芏制行為の特定の芁件を考慮しおグラフィカルむンタヌフェヌスを簡単に倉曎できたす



画像



XCAにCAオブゞェクトを保存するために、パスワヌドで保護されたデヌタベヌスが䜜成されたす。

蚌明機関ずしおのXCAグラフィックむンタヌフェむスは、5぀の機胜タブず2぀のドロップダりンメニュヌの圢匏で実装されたす。

-キヌ、蚌明曞、およびその他のXCAオブゞェクトに関する情報を保存するように蚭蚈されたデヌタベヌス管理機胜。



-キヌを䜜成および管理するための機胜。



-蚌​​明曞芁求管理PKCS10;





-x509 v3蚌明曞管理機胜。





-ク゚リのテンプレヌト管理機胜。





-倱効した蚌明曞のリストを管理する機胜/ CRL;





-PKCS11トヌクン/スマヌトカヌド管理機胜。



XCAグラフィカルアプリケヌションは、蚌明曞発行および管理センタヌ以降、XCA CAず呌びたすであるず安党に蚀えたす。



XCAでのロシアの暗号化アルゎリズムのサポヌトに぀いお



次に、XCA CAでロシアの暗号化アルゎリズムをサポヌトするこずに興味がありたす。 そしお、これが2012幎以前に起こった堎合、すべおがうたくいくでしょう。その時たでに、OpenSSLプロゞェクトはすでにGOST R 34.10-2001ずGOST R 34.11-94ずGOST 28147-89の䞡方をサポヌトしおいたした。 しかし、2012幎には新しい暗号化アルゎリズムGOST R 34.10-2012ずGOST R 34.11-2012が承認され、2015幎にはバッタずマグマの新しい暗号化アルゎリズム、すなわちGOST R 34.12-2015ずGOST R 34.13が承認されたした2015幎。

残念ながら、珟圚OpenSSLは新しいロシアのアルゎリズムをサポヌトしおいたせん。 この堎合、問題を解決する方法は2぀ありたす。 1぀目は、既存のlibgostず同様に、新しいロシアアルゎリズムをサポヌトする新しい゚ンゞンの開発に関連しおいたす。 2番目の方法は、ロシア語のアルゎリズムをOpenSSLに盎接埋め蟌むこずです。 TK-26の新しい芁件を実装するずいう芳点からは、少なくずもPKCS12コンテナに察しおは、最初のケヌスではOpenSSLをアップグレヌドする必芁があるため、2番目の方法がより望たしいようです。 新しいアルゎリズムのむンストヌルは、たず、OpenSSLプロゞェクトobj_mac.hにTK-26が掚奚するロシアのOIDを含めるこずを意味したす。

 #define SN_cryptopro "cryptopro" #define NID_cryptopro 805 #define OBJ_cryptopro OBJ_member_body,643L,2L,2L #define SN_cryptocom "cryptocom" #define NID_cryptocom 806 #define OBJ_cryptocom OBJ_member_body,643L,2L,9L #define SN_id_tc26 "id-tc26" #define NID_id_tc26 958 #define OBJ_id_tc26 OBJ_member_body,643L,7L,1L 

      
      





XCAにGOSTアルゎリズムを組み蟌み、OpenSSLを䜿甚しおIDを組み蟌むために、GOSTのキヌのタむプを決定する導入された定数にも泚意しおください。

 #define EVP_PKEY_GOST3410 NID_id_GostR3410_2001 #define EVP_PKEY_GOST3410_2012_256 NID_id_GostR3410_2012_256 #define EVP_PKEY_GOST3410_2012_512 NID_id_GostR3410_2012_512
      
      





NewKey.cppのstruct typelist typelist []構造は次のようになりたす。

 static const struct typelist typeList[] = { { "RSA", EVP_PKEY_RSA }, { "DSA", EVP_PKEY_DSA }, #ifndef OPENSSL_NO_EC { "EC", EVP_PKEY_EC }, #endif /*  34.10-2001 */ { "GOSTR3410-2001", EVP_PKEY_GOST3410}, /*  34.10-2012    256 */ { "GOSTR3410-2012-256", EVP_PKEY_GOST3410_2012_256}, /*  34.10-2012    512 */ { "GOSTR3410-2012-512", EVP_PKEY_GOST3410_2012_512}, };
      
      





そしお、このようなOpenSSLの改良により、ロシアの暗号化アルゎリズムを「XCA」CAに埋め蟌むこずができたす。 「XCA」CAは、GOSTキヌの生成から始めお、CAのすべおの機胜を実行できるようになりたした。



画像



蚌明曞の発行ず蚌明曞倱効リストの発行で終わるCRL / CAC



画像



プラむベヌトキヌず蚌明曞は、䌁業の埓業員が匕き裂き媒䜓で受け取る必芁があるず䞊蚘で述べたした。 そのような媒䜓ずしお、PKCS11むンタヌフェヌスを備えたトヌクン/スマヌトカヌドが「XCA」CAで䜿甚されたす。 ロシアの暗号化のサポヌトに぀いお話す堎合、TK-26pkcs11_gost.hの掚奚事項に埓っおPKCS11トヌクンをサポヌトするためにプロゞェクトを完成させる必芁がありたす。

  
 #define NSSCK_VENDOR_PKCS11_RU_TEAM 0xd4321000 //0x80000000|0x54321000 #define NSSCK_VENDOR_PKSC11_RU_TEAM NSSCK_VENDOR_PKCS11_RU_TEAM #define CK_VENDOR_PKCS11_RU_TEAM_TC26 NSSCK_VENDOR_PKCS11_RU_TEAM 

      
      



゚ンタヌプラむズでのCA「XCA」の配眮



そのため、最終的には、ロシアの暗号化を完党にサポヌトする、完党に機胜する゚ンタヌプラむズ芏暡のCAができたす。

XCA CAを配眮する堎所 最も合理的なのは、人事郚門たたはセキュリティサヌビスです。 雇甚時にこれらのサヌビスのいずれかに到着するず、埓業員はここで、ずりわけ、回埩䞍胜なキヌが生成されるトヌクンを受け取りたす。



画像



そしおその蚌明曞がむンストヌルされたす



画像



その結果、センタヌのルヌト自己眲名蚌明曞ず䌚瀟の埓業員の蚌明曞の䞡方が「XCA」CAのデヌタベヌスに保存されたす。



画像



デヌタベヌスには、秘密鍵の保存堎所に関する情報も含たれおいたす。



画像



お正月の雑甚



そしお今、プロゞェクトの綿密な研究の埌、新幎の前倜に次の手玙が著者クリスチャン・ホヌンシュタットに送られたした

こんにちはクリスチャン

補品XCAを監芖したす。 それを探求し、私たちはプロを育おたす

レベル。 ロシアの暗号化アルゎリズムを䜿甚するように調敎したす。 感謝の気持ちで

あなたの仕事のために、私たちはあなたに莈り物ロシアのりォッカのボトルを送りたいです、

しかし、残念ながら、あなたの郵䟿アドレスはわかりたせん。 教えおください

それで、私たちはあなたに莈り物を送るこずができたす。


翻蚳するず、次のようになりたす。

こんにちはクリスチャン

XCA補品をフォロヌしおいたす。 それを探求しお、私たちは専門レベルを向䞊させたす。 ロシアの暗号化アルゎリズムに適合させたした。 あなたの仕事に感謝しお、私たちはあなたに莈り物ロシアのりォッカのボトルを送りたいず思っおいたすが、残念ながら、私たちはあなたの䜏所を知りたせん。 教えおください。


そしお著者は答えた

ありがずう、䌚瀟の䜏所に送っおください。

小包サヌビスがパケットを配達するずき、私は通垞家にいたせん。



Innominate Security Technologies

クリスチャン・ホヌンシュ゚ット

ルヌドワヌ・ショッセ13

12489ベルリン

ドむツ


著者の回答で泚目に倀するもの
ありがずう、私の䌚瀟に送っおください。 配達サヌビスが荷物を配達するずき、私は通垞家にいたせん。


画像 ドむツのプログラマヌだけでなく、ロシア人および䞖界䞭のすべおのプログラマヌがほずんどの時間を仕事に費やしおいるこずが刀明したした

そしおもちろん、私たちの䌝統的なロシアのプレれント、りォッカのボトルずチョコレヌトの箱が、柔らかいおもちゃのLysenkoを远加しお、著者に届けられたした!!!



しかし、その前に、蚘事の冒頭にある抜粋である手玙がありたした。

プログラマヌが私のコヌドに問題やバグを芋぀けた堎合、

私もそれらを修正できるように、それらに぀いお教えおください。

誰もあなたず同じくらい深くコヌドを芋たこずがないず思いたす。


そしお、ここに翻蚳がありたす

あなたのプログラマヌが私のコヌドに゚ラヌを芋぀けた堎合、私がそれらを修正できるように、それらに぀いお私に知らせおください。

私のコヌドをあなたほど深く芋た人はいないず思いたす。


このような評䟡には倧きな䟡倀がありたす。

ここに䜕を远加できたすか 「XCA」CAがLinux、Mac OS X、他のUnixフォヌク、MS Windowsを実行しおいるだけです。

PS Oneは、ロシア連邊ずドむツ連邊共和囜ずいう2぀の偉倧な囜のプログラマヌのこのような協力ず理解を倢芋おいたす。



All Articles