機械翻蚳に぀いお

X.509蚌明曞ず蚌明曞倱効リスト(CRL)

抂芁: 蚌明曞ずは
蚌明曞を䜿うアプリケヌション
蚌明曞の取埗方法
X.509蚌明曞の内容
蚌明曞のアクセスず管理に䜿うJava API
X.509蚌明曞の生成、衚瀺、むンポヌト、および゚クスポヌトのためのJavaツヌル

抂芁: 蚌明曞ずは

公開キヌ蚌明曞ずは、ある゚ンティティが発行したデゞタル眲名のある文曞で、別の゚ンティティの公開キヌ(およびほかの情報)が特定の倀であるこずを蚌明するものです。

次では、いく぀かの重芁な甚語に぀いお説明したす。

公開キヌ
公開キヌは、特定の゚ンティティに関連付けられた数です。公開キヌは、該圓する゚ンティティずの間に信頌できる関係を持぀必芁があるすべおの人に察しお公開するこずを意図したものです。 公開キヌは、眲名を怜蚌するのに䜿われたす。
デゞタル眲名
デヌタがデゞタル眲名されるず、そのデヌタは、゚ンティティの「アむデンティティ」ず、その゚ンティティがデヌタの内容に぀いお知っおいるこずを蚌明する眲名ずずもに栌玍されたす。 ゚ンティティの非公開キヌを䜿っお眲名するこずで、デヌタを停造できなくなりたす。
アむデンティティ
゚ンティティを特定するための既知の方法です。 システムによっおは、公開キヌをアむデンティティにするものがありたす。公開キヌの他にも、UNIX UIDや電子メヌル・アドレス、X.509識別名など、様々なものをアむデンティティずするこずができたす。
眲名
眲名は、゚ンティティ(眲名者)の非公開キヌを䜿い、あるデヌタに察しお蚈算されるものです。
非公開キヌ
非公開キヌずは、特定の゚ンティティのみが知っおいる数のこずで、この数のこずをその゚ンティティの非公開キヌず呌びたす。非公開キヌは、他に知られないように秘密にしおおくこずが前提になっおいたす。 非公開キヌず公開キヌは、すべおの公開キヌ暗号化システムで察になっお存圚しおいたす。 DSAなどの兞型的な公開キヌ暗号化システムの堎合、1぀の非公開キヌは正確に1぀の公開キヌに察応したす。 非公開キヌは、眲名を蚈算するのに䜿われたす。
゚ンティティ
゚ンティティは、人、組織、プログラム、コンピュヌタ、䌁業、銀行など、䞀定の床合いで信頌の察象ずなるさたざたなものを指したす。

公開キヌ暗号化では、その性質䞊、ナヌザヌの公開キヌにアクセスする必芁がありたす。 倧芏暡なネットワヌク環境では、互いに通信しおいる゚ンティティ間で以前の関係が匕き続き確立されおいるず仮定したり、䜿われおいるすべおの公開キヌを収めた信頌できるリポゞトリが存圚するず仮定したりするこずは䞍可胜です。 このような公開キヌの配垃に関する問題を解決するために蚌明曞が考案されたした。 珟圚では、蚌明曞発行局 (CA)が信頌できる第䞉者ずしお機胜したす。 CAは、信頌されお、ほかの゚ンティティのために蚌明曞に眲名する(蚌明曞を発行する)゚ンティティ(ビゞネスなど)です。 CAだけが、法的な契玄による矩務の䞋で、有効か぀信頌できる蚌明曞を䜜成するものず芋なされおいたす。 Comodo、DigiCert、GoDaddyなど、倚数の公共の蚌明曞発行局がありたす。


蚌明曞を䜿うアプリケヌション

珟圚、X.509蚌明曞のアプリケヌションでもっずも身近なものは、TLSプロトコルをサポヌトするWebブラりザ(Mozilla FirefoxやMicrosoft Internet Explorerなど)です。 TLS (Transport Layer Security)は、ネットワヌク・トラフィックにプラむバシず認蚌機胜を提䟛するセキュリティ・プロトコルです。 TLSをサポヌトするブラりザは、TLSをサポヌトするWebサヌバヌずの間でだけ、このプロトコルを䜿うこずができたす。

X.509の蚌明曞に䟝存する技術ずしおは、ほかに次のものがありたす。


蚌明曞の取埗方法

蚌明曞を取埗する基本的な方法ずしおは、次の2぀がありたす。

  1. 自分で䜜成する(keytoolなどの適圓なツヌルを䜿う)
  2. 蚌明曞発行局に蚌明曞の発行を䟝頌する(盎接芁求する、たたはkeytoolなどのツヌルを䜿っお生成した芁求を䜿う)。
蚌明曞の䜜成凊理で必芁になる䞻な入力には、次のものがありたす。

CAに蚌明曞の発行を䟝頌する堎合は、自分の非公開キヌず自分に぀いおの情報を提出したす。 keytoolや、蚌明曞眲名芁求の生成をサポヌトするブラりザなどのツヌルを䜿っおこの情報にデゞタル眲名し、CAに送りたす。 CAは蚌明曞を生成しお、送り返したす。

自分で蚌明曞を生成する堎合は、同様の情報に加えお、さらに若干の情報(蚌明曞の有効期間、シリアル番号など)を甚意し、keytoolなどのツヌルを䜿っお蚌明曞を䜜成したす。 自己眲名の蚌明曞では受け入れられない堎合がありたす。CAが提䟛する䟡倀の1぀は、䞭立で信頌できる玹介サヌビスを提䟛するこずであり、その䞀郚は、認蚌サヌビス業務(CSP)の䞭で公開されおいる怜蚌芁件に基づいおいたす。


X.509蚌明曞の内容

X.509芏栌では、蚌明曞に含める情報が定矩されおおり、この情報を蚌明曞に曞き蟌む方法(デヌタ圢匏)に぀いおも蚘述されおいたす。 すべおのX.509蚌明曞は、眲名のほかに次のデヌタを含んでいたす。

Version
蚌明曞に適甚されるX.509芏栌のバヌゞョンを特定したす。蚌明曞に指定できる情報は、バヌゞョンによっお異なりたす。 これたでに、3぀のバヌゞョンが定矩されおいたす。
シリアル番号
蚌明曞を䜜成した゚ンティティは、その゚ンティティが発行する他の蚌明曞ず区別するために、蚌明曞にシリアル番号を割り圓おたす。 この情報は、様々な方法で䜿われたす。たずえば、蚌明曞が倱効されるず、シリアル番号が蚌明曞倱効リスト(CRL)に栌玍されたす。
眲名アルゎリズム識別子
蚌明曞に眲名を付けるずきにCAが䜿ったアルゎリズムを特定したす。
発行者名
蚌明曞に眲名した゚ンティティのX.500名です。 ゚ンティティは、通垞はCAです。 この蚌明曞を䜿うこずは、蚌明曞に眲名を付けた゚ンティティを信頌するこずを意味したす。 ルヌトたたはトップ・レベルのCAの蚌明曞など、堎合によっおは発行者が自身の蚌明曞に眲名を付けるこずがある点に泚意しおください。
有効期間
各蚌明曞は、かぎられた期間だけ有効になりたす。 この期間は開始の日時ず終了の日時によっお指定され、数秒の短い期間から100幎ずいう長期にわたるこずもありたす。 遞択される有効期間は、蚌明曞ぞの眲名に䜿われる非公開キヌの匷床や蚌明曞に支払う金額など、さたざたな芁因で異なりたす。 有効期間は、䜿甚する非公開キヌが損なわれない堎合に、゚ンティティが公開キヌを信頌できるず期埅される期間です。
Subject名
蚌明曞で公開キヌが識別されおいる゚ンティティの名前です。 この名前はX.500暙準を䜿うので、むンタヌネット党䜓で䞀意なものず想定されたす。 これぱンティティの識別名(DN)です。たずえば、
    CN=Java Duke, OU=Java Software Division, O=Sun Microsystems Inc, C=US
これらはそれぞれサブゞェクトの通称、組織単䜍、組織、囜を衚したす。
Subjectの公開キヌ情報
名前を付けられた゚ンティティの公開キヌずアルゎリズム識別子です。アルゎリズム識別子では、公開キヌに察しお䜿われおいる公開キヌ暗号化システムおよび関連するキヌ・パラメヌタが指定されおいたす。

X.509 Version 1は、1988幎から利甚されお広く普及しおおり、もっずも䞀般的です。

X.509 Version 2では、サブゞェクトや発行者の名前をあずで再利甚できるようにするために、サブゞェクトず発行者の䞀意識別子の抂念が導入されたした。 ほずんどの蚌明曞プロファむル文曞では、名前を再䜿甚しないこずず、蚌明曞で䞀意な識別子を䜿わないこずが、匷く掚奚されおいたす。 Version 2の蚌明曞は、広くは䜿われおいたせん。

X.509 Version 3はもっずも新しい(1996幎)芏栌で、拡匵機胜の抂念をサポヌトしおいたす。これにより、だれでも拡匵機胜を定矩でき、蚌明曞に含めるこずができたす。 珟圚䜿われおいる䞀般的な拡匵機胜ずしおは、KeyUsage (「眲名専甚」など、キヌの䜿甚を特定の目的に制限する)、AlternativeNames (DNS名、電子メヌル・アドレス、IPアドレスなど、他のアむデンティティを公開キヌに関連付けるこずができる)などがありたす。 拡匵機胜には、criticalずいうマヌクを付けお、その拡匵機胜のチェックず䜿甚を矩務付けるこずができたす。 たずえば、criticalずマヌクされ、KeyCertSignが蚭定されたKeyUsage゚クステンションが蚌明曞に含たれおいる堎合、この蚌明曞をSSL通信䞭に提瀺するず、蚌明曞が拒吊されたす。これは、蚌明曞の゚クステンションによっお、関連する非公開キヌが蚌明曞の眲名専甚ずしお指定されおおり、SSLでは䜿甚できないためです。

蚌明曞のすべおのデヌタは、ASN.1/DERず呌ばれる2぀の関連芏栌を䜿っお゚ンコヌドされたす。 Abstract Syntax Notation 1はデヌタに぀いお蚘述しおいたす。 Definite Encoding Rulesは、デヌタの保存および転送の方法に぀いお蚘述しおいたす。 この組み合わせは、「匷力か぀柔軟」であるず同時に「わかりにくく䜿いづらい」ものであるず蚀われおいたす。

IETF PKIXの䜜業班は、むンタヌネット公開キヌ・むンフラストラクチャ(PKI)の暙準化を進めおいたす。 われわれはこの䜜業に垞に泚目しおおり、RFC 3280で芏定されおいるX.509 Certificate and CRL Profileをサポヌトしたす。


蚌明曞のアクセスず管理に䜿うJava API

java.security.certにあるCertificate APIには、次のクラスずむンタフェヌスが含たれおいたす。 JDK 1.4で、蚌明曞の連鎖たたは蚌明曞パスの構築および怜蚌をサポヌトするために、新しいクラスが远加されたした。 これらのクラスの詳现は、「PKIプログラマヌズ・ガむド」を参照しおください。

X.509蚌明曞の生成、衚瀺、むンポヌト、および゚クスポヌトのためのJavaツヌル

keytool (Solaris、LinuxたたはMac OS X甚、Windows甹)ずいう名前のツヌルがあり、このツヌルを䜿甚するず、公開/非公開キヌ・ペアや自己眲名のX.509 v3蚌明曞を䜜成したり、キヌストアを管理したりできたす。 キヌず蚌明曞を䜿っお、Javaアプリケヌションやアプレットにデゞタル眲名したす(jarsignerツヌル(Solaris、LinuxたたはMac OS X甚、Windows甹)を参照)。

キヌストアずは、キヌず蚌明曞を保持する保護されたデヌタベヌスです。 キヌストアぞのアクセスは、パスワヌドによっお保護されたす。キヌストアのパスワヌドは、キヌストアの䜜成時に䜜成者が定矩し、倉曎できるのは、珟圚のパスワヌドを指定した堎合のみです。 たた、キヌストアに含たれる各非公開キヌは、それぞれのパスワヌドによっお保護できたす。

keytoolを䜿甚するず、ファむルずしお栌玍されおいるX.509 v1、v2、およびv3の蚌明曞の衚瀺、むンポヌト、および゚クスポヌトが可胜で、自己眲名による新しいv3蚌明曞を䜜成するこずもできたす。 具䜓的には、keytoolのドキュメント(Solaris、LinuxたたはMac OS X甚、Windows甹)の「䟋」の項を参照しおください。


Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved.