JP7394262B2 - 時間ベースの中間認証局を用いた証明書の有効期限の表現 - Google Patents

時間ベースの中間認証局を用いた証明書の有効期限の表現 Download PDF

Info

Publication number
JP7394262B2
JP7394262B2 JP2023522532A JP2023522532A JP7394262B2 JP 7394262 B2 JP7394262 B2 JP 7394262B2 JP 2023522532 A JP2023522532 A JP 2023522532A JP 2023522532 A JP2023522532 A JP 2023522532A JP 7394262 B2 JP7394262 B2 JP 7394262B2
Authority
JP
Japan
Prior art keywords
certificate
authority
chain
authorities
end entity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023522532A
Other languages
English (en)
Other versions
JP2023541326A (ja
Inventor
ジョーンズ,マシュー・ロバート
ベノイ,ベンジャミン・ジャクソン
ウッド,ジョン・デイビッド・セイヤー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2023541326A publication Critical patent/JP2023541326A/ja
Application granted granted Critical
Publication of JP7394262B2 publication Critical patent/JP7394262B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Description

技術分野
本開示は、時間ベースの中間認証局を用いた証明書の有効期限の表現に関する。
背景
デジタル証明書は、ネットワーク上で公開鍵の所有権を確立するために一般的に使用される電子文書である。公開鍵の所有権が特定のユーザまたはエンティティについて確立されると、公開鍵は、そのユーザまたはエンティティと安全に通信するために使用される。デジタル証明書には、一般に、デジタル証明書の有効期間を制限する時間ベースの有効期限が埋め込まれている。有効期間が過ぎると、証明書は無効になる。このため、証明書に関連付けられた公開鍵の所有者とされる人物から証明書を受信する各デバイスは、現在時刻と有効期間とを比較するために、信頼できるクロックを有していることが必要になる。デジタル証明書は、証明書失効リストの使用により、予定された有効期限よりも前に失効させることもできる。
概要
本開示の一態様は、時間ベースの中間認証局で証明書の有効期限を表現するための方法を提供する。方法は、データ処理ハードウェアにおいて、ルート認証局から、ルート認証局によってデジタル署名されたルートデジタル証明書を取得することを備える。方法はさらに、データ処理ハードウェアが、中間認証局の連鎖を生成することを備える。中間認証局の連鎖における各中間認証局は、それぞれの中間認証局よりも中間認証局の連鎖においてすぐ上位の中間認証局またはルート認証局によってデジタル署名されたそれぞれの中間証明書と、それぞれの中間認証局が中間証明書およびエンドエンティティ証明書にデジタル署名することが許可されている時間の範囲を示すそれぞれの検証期間とを含む。それぞれの中間認証局のそれぞれの検証期間は、それぞれの中間認証局よりも中間認証局の連鎖において下位の各中間認証局の検証期間を含む。方法はさらに、データ処理ハードウェアが、中間認証局の連鎖の証明書失効リストを生成することを備える。方法はさらに、データ処理ハードウェアが、中間認証局の連鎖における最下位の中間認証局から、複数のエンドエンティティ証明書を生成することを備える。複数のエンドエンティティ証明書の各エンドエンティティ証明書は、中間認証局の連鎖における最下位の中間認証局によってデジタル署名されている。方法はさらに、中間認証局の連鎖における最下位の中間認証局のそれぞれの検証期間が経過した後に、データ処理ハードウェアが、中間認証局の連鎖における最下位の中間認証局から生成された複数のエンドエンティティ証明書のうちの1つまたは複数を、証明書失効リストに追加することを備える。
本開示の実現例は、以下のオプションの特徴のうちの1つまたは複数を含み得る。いくつかの実現例において、中間認証局の連鎖におけるそれぞれの中間認証局によってデジタル署名されたすべてのエンドエンティティ証明書が証明書失効リストに追加されており、現在時刻がそれぞれの中間認証局のそれぞれの検証期間の終了時または終了後である場合、方法は、データ処理ハードウェアが、複数のエンドエンティティ証明書の各々を、証明書失効リストから削除することと、データ処理ハードウェアが、それぞれの中間認証局に関連付けられたそれぞれの中間証明書を、証明書失効リストに追加することとを備える。いくつかの例において、方法は、中間認証局の連鎖におけるそれぞれの中間認証局に関連付けられたそれぞれの検証期間が経過した後に、データ処理ハードウェアが、それぞれの中間認証局に関連付けられた検証期間と同じ持続期間を有する検証期間に関連付けられた他の中間認証局を生成することを備える。方法はさらに、データ処理ハードウェアが、それぞれの中間認証局を、中間認証局の連鎖において、他の中間認証局に置き換えることを備え得る。方法はさらに、それぞれの中間認証局を他の中間認証局に置き換えた後に、データ処理ハードウェアが、他の中間認証局によってデジタル署名され、それぞれの中間認証局によってデジタル署名されていないエンドエンティティ証明書を生成することを備え得る。
任意で、各検証期間が、日、週、月、四半期、または年のうちの1つに関連付けられている。いくつかの実現例において、各エンドエンティティ証明書には有効期限がない。いくつかの例において、方法は、データ処理ハードウェアが、複数のエンドエンティティ証明書のそれぞれのエンドエンティティ証明書が危険にさらされていると判断することと、データ処理ハードウェアが、それぞれのエンドエンティティ証明書を証明書失効リストに追加することとを備える。
各中間認証局は、共通のシード値から導出される固有鍵と関連付けられ得る。いくつかの実現例において、各固有鍵は、鍵導出関数を用いて導出される。任意に、それぞれの中間認証局のそれぞれの検証期間は、それぞれの中間認証局よりも中間認証局の連鎖において上位の中間認証局の検証期間よりも短い。いくつかの実現例において、方法はさらに、データ処理ハードウェアが、複数のエンドエンティティ証明書のそれぞれのエンドエンティティ証明書がローテーションされていると判断することと、データ処理ハードウェアが、それぞれのエンドエンティティ証明書を証明書失効リストに追加することとを備える。
本開示の別の態様は、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを提供する。メモリハードウェアは、データ処理ハードウェアで実行されるとデータ処理ハードウェアに動作を実行させる命令を格納する。動作は、ルート認証局から、ルート認証局によってデジタル署名されたルートデジタル証明書を取得することを含む。動作はさらに、中間認証局の連鎖を生成することを含む。中間認証局の連鎖における各中間認証局は、それぞれの中間認証局よりも中間認証局の連鎖においてすぐ上位の中間認証局またはルート認証局によってデジタル署名されたそれぞれの中間証明書と、それぞれの中間認証局が中間証明書およびエンドエンティティ証明書にデジタル署名することが許可されている時間の範囲を示すそれぞれの検証期間とを含む。それぞれの中間認証局のそれぞれの検証期間は、それぞれの中間認証局よりも中間認証局の連鎖において下位の各中間認証局の検証期間を含む。動作はさらに、中間認証局の連鎖の証明書失効リストを生成することを含む。動作はさらに、中間認証局の連鎖における最下位の中間認証局から、複数のエンドエンティティ証明書を生成することを含む。複数のエンドエンティティ証明書の各エンドエンティティ証明書は、中間認証局の連鎖における最下位の中間認証局によってデジタル署名されている。動作はさらに、中間認証局の連鎖における最下位の中間認証局のそれぞれの検証期間が経過した後に、中間認証局の連鎖における最下位の中間認証局から生成された複数のエンドエンティティ証明書のうちの1つまたは複数を、証明書失効リストに追加することを含む。
この態様は、以下のオプションの特徴のうちの1つまたは複数を含み得る。いくつかの実現例において、中間認証局の連鎖におけるそれぞれの中間認証局によってデジタル署名されたすべてのエンドエンティティ証明書が証明書失効リストに追加されており、現在時刻がそれぞれの中間認証局のそれぞれの検証期間の終了時または終了後である場合、動作は、複数のリーフ証明書の各々を、証明書失効リストから削除することと、それぞれの中間認証局に関連付けられたそれぞれの中間証明書を、証明書失効リストに追加することとを含む。いくつかの例では、動作は、中間認証局の連鎖におけるそれぞれの中間認証局に関連付けられたそれぞれの検証期間が経過した後に、それぞれの中間認証局に関連付けられた検証期間と同じ持続期間を有する検証期間に関連付けられた他の中間認証局を生成することを含む。動作はさらに、それぞれの中間認証局を、中間認証局の連鎖において、他の中間認証局に置き換えることを含み得る。動作はさらに、それぞれの中間認証局を他の中間認証局に置き換えた後に、他の中間認証局によってデジタル署名され、それぞれの中間認証局によってデジタル署名されていないエンドエンティティ証明書を生成することを含み得る。
任意で、各検証期間が、日、週、月、四半期、または年のうちの1つに関連付けられている。いくつかの実現例において、各エンドエンティティ証明書には有効期限がない。いくつかの例では、動作は、複数のエンドエンティティ証明書のそれぞれのエンドエンティティ証明書が危険にさらされていると判断することと、それぞれのエンドエンティティ証明書を証明書失効リストに追加することとを含む。
各中間認証局は、共通のシード値から導出される固有鍵に関連付けられ得る。いくつかの実現例において、各固有鍵は、鍵導出関数を用いて導出される。任意に、それぞれの中間認証局のそれぞれの検証期間は、それぞれの中間認証局よりも中間認証局の連鎖において上位の中間認証局の検証期間よりも短い。いくつかの実現例において、方法はさらに、複数のエンドエンティティ証明書のそれぞれのエンドエンティティ証明書がローテーションされていると判断することと、それぞれのエンドエンティティ証明書を証明書失効リストに追加することとを含む。
本開示の1つまたは複数の実現例の詳細は、添付の図面および以下の説明に記載されている。他の側面、特徴、および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
証明書の有効期限を表現するためのシステムの一例を示す概略図である。 中間認証局を用いた信頼の連鎖を示す概略図である。 時間ベースの中間認証局の連鎖を示す概略図である。 時間ベースの中間認証局の例示的な連鎖を示す概略図である。 時間ベースの中間認証局の例示的な連鎖を示す概略図である。 時間ベースの中間認証局の例示的な連鎖を示す概略図である。 証明書失効リストに追加・削除される証明書を示す概略図である。 証明書失効リストに追加・削除される証明書を示す概略図である。 証明書失効リストに追加・削除される証明書を示す概略図である。 鍵導出関数のパラメータを示す表である。 時間ベースの中間認証局の連鎖の複数のインスタンスを示す概略図である。 証明書の有効期限を表現する方法の動作の配置例を示すフローチャートである。 本明細書に記載のシステムおよび方法を実施するために使用され得るコンピューティングデバイス例を示す概略図である。
さまざまな図面における同様の参照符号は、同様の要素を示す。
詳細な説明
デジタル証明書(公開鍵証明書またはID証明書とも呼ばれる)は、一般に、公開鍵の所有権を特定のエンティティと暗号学的に結びつけるために使用される。たとえば、ユーザがあるエンティティ(たとえば、Hypertext Transfer Protocol Secure(HTTPS)経由のウェブサイト)と安全な通信を確立しようとする場合、ユーザはそのエンティティの公開鍵を使用して通信を暗号化する必要がある。通信を暗号化する際に使用される公開鍵が、実際にユーザが通信を希望するエンティティに帰属することを確認するために、ユーザは、公開鍵のエンティティの所有権を証明するエンティティのデジタル証明書を受信する。デジタル証明書は、通常、認証局によって署名されている。ユーザは、認証局を信頼する限り、デジタル証明書によって参照される公開鍵をエンティティが所有していると信頼することができる。
認証局(Certificate authorities:CAs)とは、デジタル証明書の発行および署名を行うエンティティである。一般に、CAは、CAによって署名されたデジタル証明書が正当なものであると顧客が認めるに足る十分な評判と信頼とを獲得している、確立したエンティティである。通常、デジタル証明書の申請者は、鍵ペア(すなわち、秘密鍵および公開鍵)と証明書署名要求(certificate signing request:CSR)とを生成する。CSRは、公開鍵と、証明書に含まれるべき他の情報(たとえば、エンティティの名称または識別子、ドメイン名情報、連絡先情報など)とを含む。申請者は、CSRを信頼できるCAに送信する。CAはCSRを受信し、CSRに含まれる情報が正しいと独自に確認する。CAは、情報が正しいと判断した場合、申請者の公開鍵およびその他の識別情報を含むデジタル証明書に(CA自体の秘密鍵で)署名する。CAはその後、署名されたデジタル証明書を申請者に返送する。
第三者が証明書の受領者と安全に通信することを希望する場合、受信者は、デジタル証明書を第三者に提示することができる。第三者は、デジタル証明書を用いて、CAの公開鍵を介してCAの署名を確認することができる。また、第三者は、申請者がデジタル証明書に記載された公開鍵に関連付けられた秘密鍵を所有していること、およびデジタル証明書が署名された後に変更されていないことを確認し得る。これにより、第三者は、デジタル証明書が提供する公開鍵が、第三者が通信を希望するエンティティに属するものであると信頼できる。
信頼できるCAは、一般にルート証明書と呼ばれるものを発行する。このルート証明書は、CAが自らの秘密鍵で自己署名し、CAの公開鍵を公的に提供するデジタル証明書である。第三者は、このルート証明書を用いて、ルート証明書と同じ秘密鍵で署名されている、CAによって発行された証明書を検証することができる。ルート証明書の公開を制限するために、中間CAにはルートCAによって証明書を割り当てることができ、これらの中間CAは、順番にエンドエンティティ証明書(リーフ証明書とも呼ばれる)をエンティティに発行し得る。すなわち、以下に詳述するように、ルートCAと1つまたは複数の中間CAとがCAの「連鎖」を形成することが可能であり、連鎖における最後の中間CAがエンドエンティティ証明書をエンドエンティティに発行する。エンドエンティティ証明書の検証を希望する当事者は、ルートCAに到達するまで、この連鎖をたどることになる。
デジタル証明書は、通常、有効期限または有効期間と共に施行される。たとえば、デジタル証明書は、その有効期間の開始点とその有効期間の終了点(すなわち、その満了時点)とを含み得る。有効期間が終了すると、デジタル証明書は無効となり、第三者は、それぞれの公開鍵の所有権を証明するものとしてこの証明書を受け入れてはならない。有効期間は、有効ではあるが、必然的に、受信側(すなわち、デジタル証明書を受信し、それを認証することを望む側)が現在時刻に確実にアクセスできることを必要とする。しかしながら、デジタル証明書の検証を希望するデバイスの中には、現在時刻にアクセスできないものがあり(たとえば、スイッチまたはネットワークコントローラなどのネットワークデバイスの中には、クロックがない、または正確なクロックがないものがあり)、特に有効期間の短い証明書(すなわち、頻繁にローテーションされるデジタル証明書)の場合、このような状況では有効期間を信頼できなくなる。
デジタル証明書を無効にする別の方法は、証明書失効リスト(certificate revocation list:CRL)の発行による方法である。通常、このリストは、予定された有効期限前にデジタル証明書を失効させるためにのみ使用される。たとえば、デジタル証明書が危険にさらされていることが分かっている場合、デジタル証明書の有効期間がまだ切れていないにもかかわらず、そのデジタル証明書がCRLに追加されることがある。デジタル証明書を検証する場合、当事者は、現在時刻を参照して有効期間が終了していないと確認することに加えて、証明書を発行したCAによって発行されるCRLに証明書が記載されていないと確認する。このように、CRLを使用して、有効期間のない(または有効期間が非常に長い)証明書を無効にすることで、現在時刻に確実にアクセスできないデバイスが、デジタル証明書の有効性を有効に判断することが可能になる。しかしながら、このようなCRLは際限なく大きくなり、最終的には大きすぎて有効でなくなる。
本明細書の実現例は、証明書の有効期限またはクライアントデバイスのクロックに依存することなく、頻繁にローテーションされるデジタル証明書(本明細書では単に「証明書」とも称する)を効率的に失効させるデジタル証明書管理システムに関する。このシステムは、各々がそれぞれの検証期間に関連付けられている、またはそれを含む時間ベースの中間認証局(CA)の連鎖を含む。中間CAの連鎖およびそれぞれの検証期間は、中間CAの連鎖によって発行された証明書に有効期限をエンコードする。それぞれの検証期間に基づき、中間CAの連鎖によって発行されたデジタル証明書は、証明書失効リスト(CRL)に追加される。システムは、証明書がローテーションされる(すなわち、より新しい証明書に置き換えられる)と、または証明書もしくはCAが危険にさらされると、やがて証明書をCRLに追加し得る。システムは、それぞれの中間CAによって発行されたすべてのデジタル証明書をCRLに追加すると、その中間CAに発行されたデジタル証明書を失効させ、それぞれの中間CAによって発行されたすべての証明書のCRLを刈り込んで、CRLの成長を超過することなくすべての証明書が失効状態のままになるようにすることができる。
図1を参照すると、いくつかの実現例において、例示的なデジタル証明書管理システム100は、リモートシステム140を備える。リモートシステム140は、コンピューティングリソース144(たとえば、データ処理ハードウェア)を含むスケーラブル/弾性リソース142および/またはストレージリソース146(たとえば、メモリハードウェア)を有する複数のコンピュータまたは分散システム(たとえば、クラウド環境)であり得る。
リモートシステム140は、ルート証明書210,210R(たとえば、X.509証明書)を取得するように構成されている。たとえば、リモートシステム140は、独立したルート認証局310,310Rからルート証明書210Rを受信する。または、リモートシステム140は、ルート認証局310Rを含み、ルート証明書210Rを自ら生成する。ルートCA310Rは、ルートCA310Rが所有する公開鍵220Rでルート証明書210Rにデジタル署名する。すなわち、公開鍵暗号でよく知られているように、ルートCA310Rのみが、公開鍵220Rに関連付けられた秘密鍵(図示せず)を所有している。リモートシステム140は、中間CA310,310RNa~nの連鎖を生成する。連鎖における各中間CA310Nは、対応する中間CA310Nよりも中間CA310Nの連鎖においてすぐ上位の中間CA310Nによってデジタル署名されたそれぞれの中間証明書210,210Na~nを含むか、またはこれに関連付けられている。リモートシステム140は、証明書210に署名するために、任意の適切な署名アルゴリズムを使用し得る。連鎖における最上位の中間CA310Nのそれぞれの中間証明書210Nは、ルートCA310Rによって署名され、これによって、信頼の連鎖が確立される。連鎖における最下位の中間CA(すなわち、所与の例では中間CA310Nc)は、たとえばネットワーク20,20aを介して、エンドエンティティ30にエンドエンティティ証明書210L(たとえば、X.509証明書)を発行する。ユーザデバイス10を介したユーザ12などの第三者がエンドエンティティ30との通信を希望する場合、エンドエンティティ30は、エンドエンティティ証明書210Lをユーザデバイス10に(たとえば、ネットワーク20bを介して)提供する。すなわち、中間CA310Nの連鎖における最下位の中間CA310Nは、1つまたは複数のエンドエンティティ証明書210Lを生成する。生成された各エンドエンティティ証明書210Lは、中間CA310Nの連鎖における最下位の中間CA310Nによってデジタル署名される。いくつかの例では、各エンドエンティティ証明書210Lは、有効期限を含んでいない。他の例では、各エンドエンティティ証明書210Lは、最大または非常に長い有効期間の長さ/持続期間(たとえば、1年以上)を含む。
次に図2を参照すると、リモートシステムは、連鎖における各証明書210を、連鎖においてすぐ上位の中間CA310Nの公開鍵220Nで署名することにより、中間証明書310Nの間に信頼の連鎖200を確立する。ここで、ルート証明書210Rは、ルートCAの公開鍵220Rと、ルートCAの証明書(ID)230Rと、ルートCAの署名240Rとを含む。ルートCAの署名240Rは、ルートCA公開鍵220Rに関連付けられた秘密鍵(図示せず)によって署名される。
ルートCA310Rは、ルート証明書210Rを保持し、連鎖における第1の中間CA310Naに中間証明書210Naを発行する。この証明書は、ルートCA ID230RとルートCA署名240R(ルート証明書210RのルートCA署名240Rと同じ秘密鍵で署名されている)とを含む。また、中間証明書210Naは、第1の中間CA310NのID230Naと、第1の中間CA310Naの公開鍵220Naとを含む。この証明書は、第1の中間CAによるその公開鍵220Naの所有を確立する。
連鎖を続けると、第1の中間CA310Naは、第2の中間CA310Nbに他の中間証明書210Nbを発行する。この中間証明書210Nbは、第1の中間CA310Naの署名240NaとID230Naとを含む。また、中間証明書210Nbは、第2の中間CA310NbのID230Nbと公開鍵220Nbとを含む。この連鎖は、最後の中間CA310Nnが、そのID230Nnおよび署名240Nnを含むエンドエンティティ証明書310Lをエンティティ30に提供するまで、任意の長さの間、継続する。また、エンドエンティティ証明書は、エンティティ30のID230Eと公開鍵220Eとを含む。これらのリンクされた証明書210は、第三者が、ルート機関310Rに至るまで、公開鍵220Eのエンティティの所有権を検証することができる信頼の連鎖を提供する。
再び図1を参照して、連鎖における各中間CA310Nは、対応する中間CA310Nがデジタル証明書210N,210Lにデジタル署名することを許可されている時間の範囲を示すそれぞれの検証期間312,312も含む。すなわち、各中間CA310Nは時間ベースであり、中間CA310Nごとの検証期間312は、対応する中間CA310Nが証明書210を発行することを許可されている時間の範囲を確立する。たとえば、連鎖における最後の中間CA310N(すなわち、所与の例では310Nc)の検証期間312は、対応する中間CA310Nがエンドエンティティ証明書210Lを発行することを許可されている時間の範囲を確立する。有効期間がいつ経過したかを判断するためにデバイスがクロックにアクセスすることを必要とするデジタル証明書210に割り当てられた有効期間とは対照的に、検証期間312は中間CA310Nに関連付けられ、それによって、検証期間312の後にそれぞれの中間CA310Nによってデジタル署名された、連鎖におけるデジタル証明書210Nがなかったことが示される。
次に図3を参照すると、中間CA310Nの連鎖300は、例示的な検証期間312a~eを含む。ここで、連鎖は、最上位にルートCA310Rを含み、次にオプションスイッチCA310Sを含む。スイッチCA310Sは、関連付けられた検証期間を有していないことがあり、代わりにルートCA310Rから他の中間CA310Nに権限を委譲することがある。スイッチCA310Sの下には、それぞれ、検証期間312aが2020年、検証期間312aが2021年である2つの中間CA310Na,310Naがある。連鎖において次にあるのは、検証期間312b,312bがそれぞれ第1四半期と第2四半期とである2つの中間CA310b,310bである。連鎖において次にあるのは、検証期間312c,312cがそれぞれ1月と2月とである2つの中間CA310c,310cである。続いて、検証期間312d,312dがそれぞれ1週目と2週目とである2つの中間CA310d,310dがある。最後に、連鎖の最後は、検証期間312d,312dがそれぞれ1日目と2日目とである2つの中間CA310d,310dである。
これらの中間CA310の各々は、それぞれの中間CA310に関連付けられた検証期間312内の期間の間だけ、証明書210N,210Lを発行することになる。たとえば、中間CA310Neは、2020年1月1日の24時間だけ、証明書210Lを発行し得る。2020年1月2日になれば、検証期間312eは終了し、中間CA310Neの検証期間312eが開始する。同様に、2020年1月1日から2020年1月7日までの期間、中間CA310Nd(「1週目」)は証明書210Nを発行することができ、2020年1月8日から2020年1月14日まで、中間CA310Nd(「2週目」)は証明書210Nを発行できる。いくつかの実現例において、各中間CA310Nのそれぞれの検証期間312は、それぞれの中間CA310Nよりも中間CA310Nの連鎖における上位の任意の中間CA310Nの検証期間312よりも短い。たとえば、「1月」の中間CA310NCの検証期間312(すなわち、1ヶ月)は、連鎖における上位の中間CA310N(すなわち、第1四半期の中間CA310Nbおよび2020年の中間CA310Na)の両方の検証期間312よりも短い。すなわち、中間CA310Nの連鎖が下降するにつれて、検証期間312は短くなる。
次に図4A~図4Cを参照すると、いくつかの例では、中間CA310Nのただ1つの連鎖が任意の時点でアクティブである。図4Aの連鎖400aは、2020年1月1日の日付でアクティブな連鎖を示す。アクティブな中間CA310Nのみが、証明書210を発行することができる。ここで、ルートCA310Rは、スイッチCA310Sに証明書210NSを提供し、スイッチCA310Sは、中間CA310Naに証明書201Naを提供し、中間CA310Naは、中間CA310Nbに証明書210Nbを提供し、中間CA310Nbは、中間CA310Ncに証明書210Ncを提供する。同様に、中間CA310Ncは、中間CA310Ndに証明書210Ndを提供し、中間CA310Ndは、中間CA310Neに証明書210Neを提供する。
この例では中間CA310Ne(すなわち、1日目)が連鎖の「底」であるため、この中間CA310Neは、エンドエンティティ証明書210Lを要求エンティティ30に提供する。しかしながら、検証期間312のいずれの粒度でも、任意の数の中間CA310Nを含めることができる。ここでは、検証期間312は、1年、1四半期、1ヶ月、1週間、および1日を含む。さらにまたは代替的に、1時間、10年、またはカレンダーの日付と整合する他の有限の期間(たとえば、10時間、100時間、1000時間など)等、他の期間が使用されてもよい。
図4Aの例を続けると、図4Bは、2020年1月2日(すなわち、図4Aの日付の1日後)の日付におけるアクティブな連鎖400bを示す。いくつかの実現例において、中間CA310Nの連鎖におけるそれぞれの中間CA310Nに関連付けられたそれぞれの検証期間312が経過した後に、リモートシステムは、それぞれの中間CA310Nに関連付けられた検証期間312と同じ持続期間を有する検証期間312に関連付けられた他の中間CA310Nを生成する。ただし、新しい検証期間312は、元の検証期間312が経過した後の期間を包含する。リモートシステム140は、それぞれの中間CA310Bを、中間CA310Nの連鎖において、他の中間CA310Nに置き換える。
この場合、中間CA310Neに関連付けられた検証期間312が経過しているため(すなわち、「1日目」または2020年1月1日)、アクティブな連鎖は、一日目の中間CA310Neを2日目の中間CA310Neに置換している。1週目の中間CA310Ndは、2日目の中間CA310Neに中間証明書210Neを発行し、この検証期間312の間(すなわち、2020年1月2日の間)、2日目の中間CA310Neは、1日目の中間CA310Neの代わりにエンドエンティティ証明書210Lを発行する。言い換えれば、一部の実現例では、それぞれの中間CA310N(たとえば、1日目の中間CA310Ne)を他の中間CA310N(たとえば、2日目の中間CA310Ne)に置き換えた後に、リモートシステム140は、他の中間CA310Nによって電子署名され、それぞれの中間CA310Nによって電子署名されていないエンドエンティティ証明書210Lを生成する。すなわち、2日目の中間CA310Neは、エンドエンティティ証明書210Lの発行を開始し、1日目の中間CA310Neは、エンドエンティティ証明書210Lを発行しなくなる。
さらに別の例では、図4Cは、2020年1月8日の日付(すなわち、図4Aの日付の7日後)におけるアクティブな連鎖400cを示す。現在、1週目の中間CA310Ndに関連付けられた検証期間312が経過しており、1月の中間認証局310Ncは、2週目の中間CA310Ndに新しい中間証明書210Ndを発行している。同様に、2週目の中間CA310Ndは、新しい証明書210Neを新しい1日目の中間CA310Neに発行する。2週目の中間CA310Ndは、2020年1月8日から2020年1月14日の期間に証明書210Nを発行し、1日目の中間CA310Neは、2020年1月8日の日の間にエンドエンティティ証明書210Lを発行する。
再び図1を参照して、リモートシステム140は、証明書失効リスト(CRL)510を生成する。所与の例では、システム100は、中間CA310Nの連鎖のトップレベル(すなわち、図1の中間CA310Na)において単一の集約CRL510を提供するが、代わりに、各中間CA310Nは、それ自体のそれぞれのCRL510を含み得る。CRL510は、システム100が発行し、その後無効にした各証明書210N,210Lのリストを含む。
次に図5A~図5Cを参照すると、中間CA310Nの連鎖における最下位の中間CA310Nのそれぞれの検証期間312が経過した後に、リモートシステム140は、中間CA310Nの連鎖における最下位の中間CA310Nから生成されたエンドエンティティ証明書210Lの1つまたは複数を、CRL510に追加し得る。すなわち、一般に、証明書210N,210Lは、証明書を発行した中間CA310に関連付けられた検証期間312が経過した後の任意の時点で、CRL510に追加され得る。したがって、リモートシステム140は、証明書自体に記録された有効期限に、またはクライアントデバイスのクロックに依存することなく、デジタル証明書210を効率的に無効にする。
注目すべきは、証明書210N,210LをCRL510に追加しなければならない特定の時点はなく、実際にはタイミングは大きく変化する可能性があることである。いくつかの例では、リモートシステム140は、それぞれの検証期間312が経過する前に、証明書210をCRL510に追加する。たとえば、証明書210または発行CA310が危険にさらされている(たとえば、秘密鍵が暴露された)場合、リモートシステム140は、早期に(すなわち、有効期間312が経過する前に)証明書210を失効させ得る。ここで、リモートシステム140は、それぞれのエンドエンティティ証明書210Lが危険にさらされていると判断し、それぞれのエンドエンティティ証明書210Lを、直ちにCRL510に追加する。
一方、リモートシステム140は、証明書210をCRL510に追加する前に、検証期間312が経過した後、任意の時間だけ待機し得る。たとえば、リモートシステム140は、サービスの経過がないことを保証するために元の証明書210を無効にする前に、代替の証明書210(すなわち、発行日がより遅い証明書210)が所定の位置になる(すなわち、証明書210が正常にローテーションされている)まで待機する。したがって、それぞれの中間CA210に関連付けられた検証期間312が経過した後でも、そのそれぞれの中間CA310によって発行された各証明書210が無効になるまでには、ある程度の時間がかかる場合がある。
図5Aの例示的な図500aでは、1日目の中間CA310Neは、その検証期間312の間に6つのエンドエンティティ証明書210Lを発行した。この時点で、1日目の中間CA310Neの検証期間312は経過しており、リモートシステム140は、6つのエンドエンティティ証明書210Lのうちの4つをCRL510に追加している(すなわち、エンドエンティティ証明書210La,210Lc,210Le,210Lf)。しかしながら、1日目の中間CA310Neによって発行された2つのエンドエンティティ証明書210Lb,210Ldは、無効にされずに残っている。次に、図5Bの例示的な図500bを参照すると、この時点で、リモートシステム140は、1日目の中間CA310Neによって発行された6つの証明書210をすべて、CRL510に追加している。したがって、CRL510は、1日目の中間CA310Neによって発行された証明書210に基づく合計6つのエントリを含む。
図5Cの例示的な図500cにおいて、リモートシステム140は、いくつかの実現例において、1日目の中間CA310Neによって発行されたCRL510からエンドエンティティ証明書210Lの各々を削除し、かつ1日目の中間CA310Neに関連付けられたそれぞれの中間証明書210NeをCRL510に追加することによって、CRL510を刈り込む。すなわち、中間CA210の連鎖におけるそれぞれの中間CA310Nによってデジタル署名されたすべてのエンドエンティティ証明書210LがCRL510に追加されており、現在時刻がそれぞれの中間CA310Nのそれぞれの検証期間312の終了時または終了後である(すなわち、それぞれの中間CA310Nは新しい証明書210を発行できない)場合、リモートシステム140は、それぞれの中間CA310が発行した証明書210のCRL510内のすべてのエントリを、それぞれの中間CA310の証明書210Nのみと置換し得る。別の言い方をすれば、リモートシステム140が中間CA310NをCRL510に追加すると、階層において下位のすべての証明書210がCRL510から刈り込まれる可能性がある。このプロセスが中間CA310の連鎖を上昇するにつれて、CRL510のサイズが大幅に減少する。図示されるこの例では、2020年の終了後に、1年間に発行された可能性のある数千または数百万の証明書210をリストアップする代わりに、CRL510を2020年の中間CA310Naに発行された証明書の単一エントリのみに折り畳む、または圧縮することができる。発行された証明書210をCA310に追加すると信頼の連鎖が崩れるため、そのCAによって発行されたすべての証明書210が直ちに失効することに留意しなければならない。したがって、一般に、CAの証明書210は、そうでない原因がない限り、それぞれのCA310によって発行されたすべての証明書が無効にされるまで、CRL510に追加されない(すなわち、CA310が危険にさらされている場合、検証期間312の状態にかかわらず、その証明書210のすべてを無効にすることが望ましい場合がある)。
次に図6を参照すると、デジタル証明書管理システム100は、生成された中間認証局310Nごとに固有鍵220N(たとえば、公開鍵および秘密鍵)を生成する。最下位の中間認証局310Nの検証期間312が1日であり、連鎖における最上位の認証局310Nの検証期間312が1年である例(図3)では、デジタル証明書管理システム100は、1年(すなわち、365日+52週+12ヶ月+4四半期+1年)あたり434個の鍵を生成、格納および配布しなければならず、各鍵は、それぞれの中間認証局310Nが任意の認証書210を発行するより前に、そのそれぞれの中間認証局310Nに提供されている。
鍵管理のオーバーヘッドを低減するために、いくつかの実現例において、各中間CA310Nは、共通のシード値から派生する固有鍵220Nと関連付けられている。いくつかの例では、各固有鍵220Nは、鍵導出関数(key derivation function:KDF)710(図7)を用いて導出される。KDFは、マスターキー720(図7)のような単一の秘密値から、1つまたは複数の秘密鍵を導出する暗号関数である。たとえば、KDF710は、秘密のバイト列(すなわち、マスターキー720)と鍵固有のバイト列とを入力として受け付ける1ステップの鍵導出に基づく。
任意で、鍵固有バイト列は確定的にエンコードされる。いくつかの例では、それぞれの中間CA310Nの鍵固有バイト列は、それぞれの中間CA310Nへの連鎖へ下につながるエンコードパスと、パス内のステップ(たとえば、ビット)数とを含む。鍵固有バイト列は、鍵の目的および他のコンテキストなどの他の情報を含み得る。表600は、中間CA310Nの連鎖の例示的な鍵固有バイト列情報を提供する。表600は、ラベル610カラム、パス620カラム、およびエンコードパス630カラムを含む。ラベル610は、それぞれの中間CA310Nの識別子(たとえば、スイッチ、2020年、第1四半期、1月、1週目、1日目等)を示す。パス620は、中間CA310Nの連鎖における、連鎖の先頭からそれぞれの中間CA310Nまでの各中間CA310Nを示す。たとえば、「1月」の中間CA310Nは、2020年、第1四半期および1月を含むパスを有する。同様に、「1日目」の中間CA310Nは、2020年、第1四半期、1月、1週目および1日目を含むパスを有する。
エンコードパス630は、パス620内の中間CA310Nの数に依存する、パス620のパス長632を含む。また、エンコードパス630は、パス620のパスエンコード634を含む。たとえば、中間CA310N「第1四半期」のエンコードパス630は、[2]のパス長632(対応するパス620が2020年と第1四半期とを含むため)と、[2020](年について)および[1](第1四半期について)のパスエンコード634とを有する。同様に、1週目は、[4]のパス長632(2020年、第1四半期、1月、1週目)と、[2020][1][1][1](2020年、第1四半期、1ヶ月目、1週目について)のパスエンコード634とを有するエンコードパス630を有する。別の例(図示せず)では、2021年4月9日を包含する検証期間312を有する中間CA310Nのエンコードパス630は、2021年の年、2021年の第2四半期、第2四半期の1ヶ月目、その月の2週目、およびその週の2日目について、[5]のパス長632と[2021][2][1][2][2]のパスエンコード634とを含む。
エンコードされた部分の各々(すなわち、括弧内の各部分)は、1つまたは複数のバイトとして(たとえば、ビッグエンディアン整数として)エンコードされ得る。リモートシステム140は、KDF710にエンコードパス630と秘密鍵とを提供して、中間CA310Nごとに固有鍵を生成する。鍵を確定的に導出する他の手段も検討されている。たとえば、リモートシステム140は、鍵階層モデルを使用して鍵ビットを生成し、中間CA310Nごとに鍵ビットを鍵導出鍵に分割する。鍵導出関数は、任意の種類の署名アルゴリズム(楕円曲線、RSAなど)をサポートし得る。リモートシステム140が生成する各鍵220Nは、同じ秘密鍵が与えられると完全に確定的であってよい。すなわち、同じ秘密鍵が提供されたリモートシステム140は、中間CA130Nごとに同じ鍵220Nを生成し得る。
次に図7を参照すると、いくつかの実現例において、リモートシステム140は、中間CA310Nの連鎖の複数のインスタンス730,730a~nを実行する。複数のインスタンスは、追加の冗長性(障害の場合)、負荷能力の増加、および他の利点をもたらし得る。しかしながら、各インスタンスは、発行された証明書210を検証するユーザデバイス10または他のエンティティが任意の利用可能なインスタンス730を使用できるように、中間CA310Nごとに同じ鍵を生成しなければならない。いくつかの例では、KDF710が鍵220Nを確定的に生成するので、鍵220Nの配布および同期化が大幅に簡略化される。ここで、リモートシステムは、各インスタンス730のKDF710に対する秘密鍵720を共有する。各インスタンスは、同じ秘密鍵720を有する同じKDF710を使用するので、各中間CA310Nに配布される生成鍵220は同じである。このように、リモートシステムは、各インスタンス730を同期させるために、単一の秘密(マスターキー720)を共有し同期させるだけである。
図8は、時間ベースの中間認証局で証明書の有効期限を表現するための方法800の動作の例示的な配置を示すフローチャートである。方法800は、動作802において、データ処理ハードウェア144において、ルート認証局310Rから、ルート認証局310Rによってデジタル署名されたルートデジタル証明書210Rを取得することを備える。動作804において、方法800は、データ処理ハードウェア144が、中間認証局310Nの連鎖を生成することを備える。中間認証局310Nの連鎖における各中間認証局310Nは、それぞれの中間認証局310Nよりも中間認証局310Nの連鎖においてすぐ上位の中間認証局310Nまたはルート認証局310Rによってデジタル署名されたそれぞれの中間証明書210Nを含む。また、各中間認証局310Nは、それぞれの中間認証局310Nが中間証明書210Nおよびエンドエンティティ証明書210Lにデジタル署名することが許可されている時間の範囲を示すそれぞれの検証期間312を含む。それぞれの中間認証局310Nのそれぞれの検証期間312は、それぞれの中間認証局310Nよりも中間認証局310Nの連鎖において下位の中間認証局310Nの各々の検証期間312を含む。
方法800は、動作806において、データ処理ハードウェア144が、中間認証局310Nの連鎖の証明書失効リスト510を生成することを備える。動作808において、方法800は、データ処理ハードウェア144が、中間認証局310Nの連鎖における最下位の中間認証局310Nから、複数のエンドエンティティ証明書210Lを生成することを備える。複数のエンドエンティティ証明書210Lのエンドエンティティ証明書210Lの各々は、中間認証局310Nの連鎖における最下位の中間認証局310Nによって、デジタル署名されている。中間認証局310Nの連鎖における最下位の中間認証局310Nのそれぞれの検証期間312が経過した後に、方法800は、動作810において、データ処理ハードウェア144が、中間認証局310Nの連鎖における最下位の中間認証局310Nから生成された複数のエンドエンティティ証明書210Lの1つまたは複数を、証明書失効リスト510に追加することを備える。
図9は、本明細書に記載されたシステムおよび方法を実施するために使用され得る例示的なコンピューティングデバイス900を示す概略図である。コンピューティングデバイス900は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどのさまざまな形態のデジタルコンピュータを表すことを意図している。ここに示される構成要素、それらの接続および関係、ならびにそれらの機能は、例示に過ぎないことを意図しており、本明細書で説明および/または請求される発明の実現例を制限することを意図していない。
コンピューティングデバイス900は、プロセッサ910と、メモリ920と、ストレージデバイス930と、メモリ920および高速拡張ポート950に接続する高速インターフェース/コントローラ940と、低速バス970およびストレージデバイス930に接続する低速インターフェース/コントローラ960とを含む。構成要素910,920,930,940,950および960の各々は、さまざまなバスを用いて相互接続され、共通のマザーボードに搭載されるか、または適宜他の様式で搭載され得る。プロセッサ910は、高速インターフェース940に結合されたディスプレイ980などの外部入出力デバイスにグラフィカルユーザインターフェース(graphical user interface:GUI)のためのグラフィカル情報を表示するために、メモリ920またはストレージデバイス930に格納された命令を含む、コンピューティングデバイス900内で実行するための命令を処理可能である。他の実現例では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数のタイプのメモリと共に、適宜使用されてもよい。また、複数のコンピューティングデバイス900が接続されてもよく、各デバイスが必要な動作の一部を(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)提供する。
メモリ920は、コンピューティングデバイス900内に情報を非一時的に格納する。メモリ920は、コンピュータ読取可能媒体、揮発性メモリユニット(複数可)、または不揮発性メモリユニット(複数可)であってもよい。非一時的なメモリ920は、コンピューティングデバイス900による使用のために、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を一時的または永久的に格納するために使用される物理デバイスであってよい。不揮発性メモリの例としては、フラッシュメモリおよび読出専用メモリ(read-only memory:ROM)/プログラマブル読出専用メモリ(programmable read-only memory:PROM)/消去可能プログラマブル読出専用メモリ(erasable programmable read-only memory:EPROM)/電子消去可能プログラマブル読出専用メモリ(electronically erasable programmable read-only memory:EEPROM)(たとえば、ブートプログラムなどのファームウェアに通常使用)が挙げられるが、それらに限定されない。揮発性メモリの例としては、ランダムアクセスメモリ(random access memory:RAM)、ダイナミックランダムアクセスメモリ(dynamic random access memory:DRAM)、スタティックランダムアクセスメモリ(static random access memory:SRAM)、相変化メモリ(phase change memory:PCM)に加えて、ディスクまたはテープなどが挙げられるが、これらに限定されない。
ストレージデバイス930は、コンピューティングデバイス900のためのマスストレージを提供することが可能である。いくつかの実現例において、ストレージデバイス930は、コンピュータ読取可能媒体である。さまざまな異なる実現例において、ストレージデバイス930は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイスなど、または、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイなどであってもよい。追加の実現例において、コンピュータプログラム製品は、情報担体に有形に具現化される。コンピュータプログラム製品は、実行されると、上述したような1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ920、ストレージデバイス930、またはメモリオンプロセッサ910などの、コンピュータまたは機械読取可能媒体である。
高速コントローラ940は、コンピューティングデバイス900の帯域幅集約型の動作を管理し、低速コントローラ960は、より低い帯域幅集約型の動作を管理する。そのような機能の割り当ては例示に過ぎない。いくつかの実現例において、高速コントローラ940は、メモリ920、(たとえば、グラフィックプロセッサまたはアクセラレータを介して)ディスプレイ980、およびさまざまな拡張カード(図示せず)を受け入れることができる高速拡張ポート950に結合される。いくつかの実現例において、低速コントローラ960は、ストレージデバイス930および低速拡張ポート990に結合される。さまざまな通信ポート(たとえば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、無線イーサネット)を含み得る低速拡張ポート990は、キーボード、ポインティングデバイス、スキャナなどの1つ以上の入力/出力デバイス、またはスイッチもしくはルータなどのネットワークデバイスに、たとえば、ネットワークアダプタを介して結合され得る。
コンピューティングデバイス900は、図に示すように、多数の異なる形態で実現され得る。たとえば、標準的なサーバ900aとして、またはそのようなサーバ900aのグループ内で複数回、ラップトップコンピュータ900bとして、またはラックサーバシステム900cの一部として、実現されてもよい。
本明細書に記載のシステムおよび技術のさまざまな実現例は、デジタル電子および/または光回路、集積回路、特別に設計された特定用途向け集積回路(application specific integrated circuit:ASIC)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現することができる。これらのさまざまな実現例は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスとの間でデータおよび命令の送受信を行なうように結合された、専用または汎用であり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能なおよび/または解釈可能な1つもしくは複数のコンピュータプログラムにおける実現例を含み得る。
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指す場合がある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」または「プログラム」と称されることがある。アプリケーションの例としては、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションが挙げられるが、これらに限定されない。
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても公知である)は、プログラマブルプロセッサのための機械命令を含み、高水準手続き型および/もしくはオブジェクト指向型のプログラミング言語で、ならびに/またはアセンブリ/機械言語で実装可能である。本明細書で使用する場合、「機械読取可能媒体」および「コンピュータ読取可能媒体」という用語は、機械読取可能信号として機械命令を受信する機械読取可能媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される、任意のコンピュータプログラム製品、非一時的なコンピュータ読取可能媒体、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(Programmable Logic Device:PLD))を指す。「機械読取可能信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために用いられる任意の信号を指す。
本明細書に記載のプロセスおよび論理フローは、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサによって実行されて、1つまたは複数のコンピュータプログラムを実行して、入力データに対する演算および出力の生成によって機能を実行することができる。また、プロセスおよび論理フローは、専用論理回路、たとえば、フィールドプログラマブルゲートアレイ(field programmable gate array:FPGA)またはASIC(特定用途向け集積回路)によって実行することができる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読出専用メモリもしくはランダムアクセスメモリから、またはこれら両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための1つまたは複数のメモリデバイスとである。一般に、コンピュータはまた、データを格納するための1つまたは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらとの間でデータの受信もしくは転送もしくはその両方を行なうように動作可能に結合される。しかしながら、コンピュータはこのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを格納するのに適したコンピュータ読取可能媒体は、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイス、例として、半導体メモリデバイスなど、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用論理回路によって補完することができるか、または専用論理回路に組込むことができる。
ユーザとの対話を提供するために、本開示の1つまたは複数の態様は、情報をユーザに表示するためのディスプレイデバイス、たとえば陰極線管(cathode ray tube:CRT)、液晶ディスプレイ(liquid crystal display:LCD)モニタ、またはタッチスクリーンと、任意に、ユーザによるコンピュータへの入力を可能にするキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールとを有するコンピュータ上で実現可能である。他の種類のデバイスも同様に、ユーザとの対話を提供するために使用可能である。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであり得る。また、ユーザからの入力は、音響入力、音声入力または触覚入力を含む任意の形態で受信可能である。さらに、コンピュータは、ユーザによって使用されるデバイスに対してドキュメントの送受信を行うことによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信した要求に応答してウェブページを当該ウェブブラウザに送信することによって、ユーザと対話することができる。
複数の実現例について説明した。しかしながら、本開示の精神および範囲から逸脱することなく、さまざまな変更を行ない得ることが理解されるであろう。したがって、他の実現例は添付の特許請求の範囲内である。

Claims (22)

  1. 方法(800)であって、
    データ処理ハードウェア(144)において、ルート認証局(310R)から、前記ルート認証局(310R)によってデジタル署名されたルートデジタル証明書(210R)を取得することと、
    前記データ処理ハードウェア(144)が、中間認証局(310N)の連鎖を生成することとを備え、前記中間認証局(310N)の連鎖における各中間認証局(310N)は、
    それぞれの前記中間認証局(310N)よりも前記中間認証局(310N)の連鎖においてすぐ上位の前記中間認証局(310N)または前記ルート認証局(310R)によってデジタル署名されたそれぞれの中間証明書(210N)と、
    それぞれの前記中間認証局(310N)が中間証明書(210N)およびエンドエンティティ証明書(210L)にデジタル署名することが許可されている時間の範囲を示すそれぞれの検証期間(312)とを含み、それぞれの前記中間認証局(310N)のそれぞれの前記検証期間(312)は、それぞれの前記中間認証局(310N)よりも前記中間認証局(310N)の連鎖において下位の各中間認証局(310N)の前記検証期間(312)を含み、前記方法はさらに、
    前記データ処理ハードウェア(144)が、前記中間認証局(310N)の連鎖の証明書失効リスト(510)を生成することと、
    前記データ処理ハードウェア(144)が、前記中間認証局(310N)の連鎖において最下位の中間認証局(310N)から、複数のエンドエンティティ証明書(210L)を生成することとを備え、前記複数のエンドエンティティ証明書(210L)の各エンドエンティティ証明書(210L)は、前記中間認証局(310N)の連鎖における前記最下位の中間認証局(310N)によってデジタル署名されており、前記方法はさらに、
    前記中間認証局(310N)の連鎖における前記最下位の中間認証局(310N)のそれぞれの前記検証期間(312)が経過した後に、前記データ処理ハードウェア(144)が、前記中間認証局(310N)の連鎖における前記最下位の中間認証局(310N)から生成された前記複数のエンドエンティティ証明書(210L)のうちの1つまたは複数を、前記証明書失効リスト(510)に追加することを備える、方法。
  2. 前記中間認証局(310N)の連鎖におけるそれぞれの中間認証局(310N)によってデジタル署名されたすべてのエンドエンティティ証明書(210L)が前記証明書失効リスト(510)に追加されており、現在時刻がそれぞれの前記中間認証局(310N)のそれぞれの前記検証期間(312)の終了時または終了後である場合、
    前記データ処理ハードウェア(144)が、前記複数のエンドエンティティ証明書(210L)の各々を、前記証明書失効リスト(510)から削除することと、
    前記データ処理ハードウェア(144)が、それぞれの前記中間認証局(310N)に関連付けられたそれぞれの前記中間証明書(210N)を、前記証明書失効リスト(510)に追加することとをさらに備える、請求項1に記載の方法(800)。
  3. 前記中間認証局(310N)の連鎖におけるそれぞれの中間認証局(310N)に関連付けられたそれぞれの前記検証期間(312)が経過した後に、
    前記データ処理ハードウェア(144)が、それぞれの前記中間認証局(310N)に関連付けられた前記検証期間(312)と同じ持続期間を有する検証期間(312)に関連付けられた他の中間認証局(310N)を生成することと、
    前記データ処理ハードウェア(144)が、それぞれの前記中間認証局(310N)を、前記中間認証局(310N)の連鎖において、前記他の中間認証局(310N)に置き換えることとをさらに備える、請求項1または2に記載の方法(800)。
  4. それぞれの前記中間認証局(310N)を前記他の中間認証局(310N)に置き換えた後に、前記データ処理ハードウェア(144)が、前記他の中間認証局(310N)によってデジタル署名され、それぞれの前記中間認証局(310N)によってデジタル署名されていないエンドエンティティ証明書(210L)を生成することをさらに備える、請求項3に記載の方法(800)。
  5. 各検証期間(312)が、日、週、月、四半期、または年のうちの1つに関連付けられている、請求項1~4のいずれか1項に記載の方法(800)。
  6. 各エンドエンティティ証明書(212L)には有効期限がない、請求項1~5のいずれか1項に記載の方法(800)。
  7. 前記データ処理ハードウェア(144)が、前記複数のエンドエンティティ証明書(210L)のそれぞれのエンドエンティティ証明書(210L)が危険にさらされていると判断することと、
    前記データ処理ハードウェア(144)が、それぞれの前記エンドエンティティ証明書(210L)を、前記証明書失効リスト(510)に追加することとをさらに備える、請求項1~6のいずれか1項に記載の方法(800)。
  8. 各中間認証局(310N)は、共通のシード値から導出される固有鍵(220N)と関連付けられている、請求項1~7のいずれか1項に記載の方法(800)。
  9. 各固有鍵(220N)は、鍵導出関数を用いて導出される、請求項8に記載の方法(800)。
  10. それぞれの前記中間認証局(310N)のそれぞれの前記検証期間(312)は、それぞれの前記中間認証局(310N)よりも前記中間認証局(310N)の連鎖において上位の中間認証局(310N)の前記検証期間(312)よりも短い、請求項1~9のいずれか1項に記載の方法(800)。
  11. 前記データ処理ハードウェア(144)が、前記複数のエンドエンティティ証明書(210L)のそれぞれのエンドエンティティ証明書(210L)がローテーションされていると判断することと、
    前記データ処理ハードウェア(144)が、それぞれの前記エンドエンティティ証明書(210L)を、前記証明書失効リスト(510)に追加することとをさらに備える、請求項1~10のいずれか1項に記載の方法(800)。
  12. システム(100)であって、
    データ処理ハードウェア(144)と、
    前記データ処理ハードウェア(144)と通信するメモリハードウェア(146)とを備え、前記メモリハードウェア(146)は、前記データ処理ハードウェア(144)で実行されると前記データ処理ハードウェア(144)に動作を実行させる命令を格納し、前記動作は、
    ルート認証局(310R)から、前記ルート認証局(310R)によってデジタル署名されたルートデジタル証明書(210R)を取得することと、
    中間認証局(310N)の連鎖を生成することとを含み、前記中間認証局(310N)の連鎖における各中間認証局(310N)は、
    それぞれの前記中間認証局(310N)よりも前記中間認証局(310N)の連鎖においてすぐ上位の前記中間認証局(310N)または前記ルート認証局(310R)によってデジタル署名されたそれぞれの中間証明書(210N)と、
    それぞれの前記中間認証局(310N)が中間証明書(210N)およびエンドエンティティ証明書(210L)にデジタル署名することが許可されている時間の範囲を示すそれぞれの検証期間(312)とを含み、それぞれの前記中間認証局(310N)のそれぞれの前記検証期間(312)は、それぞれの前記中間認証局(310N)よりも前記中間認証局(310N)の連鎖において下位の各中間認証局(310N)の前記検証期間(312)を含み、前記動作はさらに、
    前記中間認証局(310N)の連鎖の証明書失効リスト(510)を生成することと、
    前記中間認証局(310N)の連鎖における最下位の中間認証局(310N)から、複数のエンドエンティティ証明書(210L)を生成することとを含み、前記複数のエンドエンティティ証明書(210L)の各エンドエンティティ証明書(210L)は、前記中間認証局(310N)の連鎖における前記最下位の中間認証局(310N)によってデジタル署名されており、前記動作はさらに、
    前記中間認証局(310N)の連鎖における前記最下位の中間認証局(310N)のそれぞれの前記検証期間(312)が経過した後に、前記データ処理ハードウェア(144)が、前記中間認証局(310N)の連鎖における前記最下位の中間認証局(310N)から生成された前記複数のエンドエンティティ証明書(210L)のうちの1つまたは複数を、前記証明書失効リスト(510)に追加することを含む、システム(100)。
  13. 前記動作はさらに、前記中間認証局(310N)の連鎖におけるそれぞれの中間認証局(310N)によってデジタル署名されたすべてのエンドエンティティ証明書(210L)が前記証明書失効リスト(510)に追加されており、現在時刻がそれぞれの前記中間認証局(310N)のそれぞれの前記検証期間(312)の終了時または終了後である場合、
    前記複数のエンドエンティティ証明書(210L)の各々を、前記証明書失効リスト(510)から削除することと、
    それぞれの前記中間認証局(310N)に関連付けられたそれぞれの前記中間証明書(210N)を、前記証明書失効リスト(510)に追加することとを含む、請求項12に記載のシステム。
  14. 前記動作はさらに、前記中間認証局(310N)の連鎖におけるそれぞれの中間認証局(310N)に関連付けられたそれぞれの前記検証期間(312)が経過した後に、
    それぞれの前記中間認証局(310N)に関連付けられた前記検証期間(312)と同じ持続期間を有する検証期間(312)に関連付けられた他の中間認証局(310N)を生成することと、
    それぞれの前記中間認証局(310N)を、前記中間認証局(310N)の連鎖において、前記他の中間認証局(310N)に置き換えることとを含む、請求項12または13に記載のシステム(100)。
  15. 前記動作はさらに、それぞれの前記中間認証局(310N)を前記他の中間認証局(310N)に置き換えた後に、前記データ処理ハードウェア(144)が、前記他の中間認証局(310N)によってデジタル署名され、それぞれの前記中間認証局(310N)によってデジタル署名されていないエンドエンティティ証明書(210L)を生成することを含む、請求項14に記載のシステム(100)。
  16. 各検証期間(312)が、日、週、月、四半期、または年のうちの1つに関連付けられている、請求項12~15のいずれか1項に記載のシステム(100)。
  17. 各エンドエンティティ証明書(212L)には有効期限がない、請求項12~16のいずれか1項に記載のシステム(100)。
  18. 前記動作はさらに、
    前記複数のエンドエンティティ証明書(210L)のそれぞれのエンドエンティティ証明書(210L)が危険にさらされていると判断することと、
    それぞれの前記エンドエンティティ証明書(210L)を、前記証明書失効リスト(510)に追加することとを含む、請求項12~17のいずれか1項に記載のシステム(100)。
  19. 各中間認証局(310N)は、共通のシード値から導出される固有鍵(220N)と関連付けられている、請求項12~18のいずれか1項に記載のシステム(100)。
  20. 各固有鍵(220N)は、鍵導出関数を用いて導出される、請求項19に記載のシステム(100)。
  21. それぞれの前記中間認証局(310N)のそれぞれの前記検証期間(312)は、それぞれの前記中間認証局(310N)よりも前記中間認証局(310N)の連鎖において上位の中間認証局(310N)の前記検証期間(312)よりも短い、請求項12~20のいずれか1項に記載のシステム(100)。
  22. 前記動作はさらに、
    前記複数のエンドエンティティ証明書(210L)のそれぞれのエンドエンティティ証明書(210L)がローテーションされていると判断することと、
    それぞれの前記エンドエンティティ証明書(210L)を、前記証明書失効リスト(510)に追加することとを含む、請求項12~21のいずれか1項に記載のシステム(100)。
JP2023522532A 2020-10-13 2021-10-11 時間ベースの中間認証局を用いた証明書の有効期限の表現 Active JP7394262B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/069,178 2020-10-13
US17/069,178 US11683188B2 (en) 2020-10-13 2020-10-13 Representing certificate expiration with time-based intermediate certificate authorities
PCT/US2021/054448 WO2022081493A1 (en) 2020-10-13 2021-10-11 Representing certificate expiration with time-based intermediate certificate authorities

Publications (2)

Publication Number Publication Date
JP2023541326A JP2023541326A (ja) 2023-09-29
JP7394262B2 true JP7394262B2 (ja) 2023-12-07

Family

ID=78516947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023522532A Active JP7394262B2 (ja) 2020-10-13 2021-10-11 時間ベースの中間認証局を用いた証明書の有効期限の表現

Country Status (6)

Country Link
US (1) US11683188B2 (ja)
EP (1) EP4218201A1 (ja)
JP (1) JP7394262B2 (ja)
KR (1) KR20230084303A (ja)
CN (1) CN116601918A (ja)
WO (1) WO2022081493A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230239164A1 (en) * 2022-01-26 2023-07-27 Microsoft Technology Licensing, Llc Embedding intermediate certificate in digital certificate

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003533940A (ja) 2000-05-16 2003-11-11 シュアティー ドット コム デジタルレコードを自己認証するための方法及び装置
US20040128504A1 (en) 2002-09-30 2004-07-01 Tero Kivinen Method for producing certificate revocation lists
US20080091952A1 (en) 2004-10-22 2008-04-17 Nds Limited Certificate Renewal
US20170295025A1 (en) 2014-10-07 2017-10-12 Arm Ip Limited Method, hardware and digital certificate for authentication of connected devices

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006043262A2 (en) * 2004-10-22 2006-04-27 Nds Limited Certificate renewal
US9843452B2 (en) * 2014-12-15 2017-12-12 Amazon Technologies, Inc. Short-duration digital certificate issuance based on long-duration digital certificate validation
US11456881B2 (en) * 2017-06-30 2022-09-27 Motorola Solutions, Inc. Lifecycle management method and apparatus for trusted certificates and trust chains
CN109918888B (zh) * 2019-01-15 2020-09-08 如般量子科技有限公司 基于公钥池的抗量子证书颁发方法及颁发系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003533940A (ja) 2000-05-16 2003-11-11 シュアティー ドット コム デジタルレコードを自己認証するための方法及び装置
US20040128504A1 (en) 2002-09-30 2004-07-01 Tero Kivinen Method for producing certificate revocation lists
US20080091952A1 (en) 2004-10-22 2008-04-17 Nds Limited Certificate Renewal
US20170295025A1 (en) 2014-10-07 2017-10-12 Arm Ip Limited Method, hardware and digital certificate for authentication of connected devices

Also Published As

Publication number Publication date
KR20230084303A (ko) 2023-06-12
WO2022081493A1 (en) 2022-04-21
US11683188B2 (en) 2023-06-20
US20220116229A1 (en) 2022-04-14
CN116601918A (zh) 2023-08-15
JP2023541326A (ja) 2023-09-29
EP4218201A1 (en) 2023-08-02

Similar Documents

Publication Publication Date Title
AU2017223158B2 (en) Blockchain-implemented method for control and distribution of digital content
US11677569B1 (en) Systems and methods for notary agent for public key infrastructure names
US20080034204A1 (en) Communications Network Security Certificate Revocation
US20170338967A1 (en) Operation of a certificate authority on a distributed ledger
EP2545677B1 (en) Automated certificate management
US20130061035A1 (en) Method and system for sharing encrypted content
US8850191B2 (en) Scalable groups of authenticated entities
US10609011B2 (en) Synchronized issuance of public X.509 digital certificates
US20080101610A1 (en) Systems and methods for management and auto-generation of encryption keys
US20030037234A1 (en) Method and apparatus for centralizing a certificate revocation list in a certificate authority cluster
US8862874B2 (en) Certificate distribution using secure handshake
US10057288B2 (en) Synchronized issuance of public X.509 digital certificates
US10063536B2 (en) Short term or one-time-use X.509 digital certificates
US20110213967A1 (en) Pre-encoding a cached certificate revocation list
US11323274B1 (en) Certificate authority
US10103883B2 (en) Queueing construct for X.509 digital certificates
US11930110B2 (en) System and method for key recovery and verification in blockchain based networks
US20230299975A1 (en) Time-based digital signature
JP7394262B2 (ja) 時間ベースの中間認証局を用いた証明書の有効期限の表現
CN115885497A (zh) 数字签名
CN115516817A (zh) 具有秘密共享的(ec)dsa阈值签名
JP2007266797A (ja) 認証システムおよびその認証方法
JP6901373B2 (ja) ユーザ管理装置、ユーザ管理システム
JP6782758B2 (ja) 長期署名データ生成装置および長期署名データ生成方法
JP2023132485A (ja) 証明書管理装置、証明書管理システム及び証明書管理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230630

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230630

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230630

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231127

R150 Certificate of patent or registration of utility model

Ref document number: 7394262

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150