特許第6154413号(P6154413)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アップル インコーポレイテッドの特許一覧

<>
  • 特許6154413-ルート証明書の無効化 図000002
  • 特許6154413-ルート証明書の無効化 図000003
  • 特許6154413-ルート証明書の無効化 図000004
  • 特許6154413-ルート証明書の無効化 図000005
  • 特許6154413-ルート証明書の無効化 図000006
  • 特許6154413-ルート証明書の無効化 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6154413
(24)【登録日】2017年6月9日
(45)【発行日】2017年6月28日
(54)【発明の名称】ルート証明書の無効化
(51)【国際特許分類】
   H04L 9/32 20060101AFI20170619BHJP
   G06F 21/44 20130101ALI20170619BHJP
【FI】
   H04L9/00 675D
   H04L9/00 675B
   G06F21/44
【請求項の数】14
【外国語出願】
【全頁数】17
(21)【出願番号】特願2015-42948(P2015-42948)
(22)【出願日】2015年3月4日
(65)【公開番号】特開2015-171153(P2015-171153A)
(43)【公開日】2015年9月28日
【審査請求日】2015年3月4日
(31)【優先権主張番号】61/949,172
(32)【優先日】2014年3月6日
(33)【優先権主張国】US
(31)【優先権主張番号】14/279,109
(32)【優先日】2014年5月15日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(72)【発明者】
【氏名】ヴァイド, ユーセフ エイチ.
(72)【発明者】
【氏名】シャープ, クリストファー ビー.
(72)【発明者】
【氏名】ジアト, メヘディ
(72)【発明者】
【氏名】リー, リー
(72)【発明者】
【氏名】ハウク, ジェロルド ヴォン
(72)【発明者】
【氏名】サルミエント, ラミロ
(72)【発明者】
【氏名】パドバ, ジャン−マルク
【審査官】 金沢 史明
(56)【参考文献】
【文献】 米国特許出願公開第2013/0346747(US,A1)
【文献】 米国特許出願公開第2009/0113206(US,A1)
【文献】 特開2005−223892(JP,A)
【文献】 特開2009−232002(JP,A)
【文献】 特開平11−249819(JP,A)
【文献】 特開2002−016865(JP,A)
【文献】 特開2010−128018(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのクライアント装置が有するルート証明書を無効化するための、計算装置の方法であって、
前記ルート証明書を無効化するための要求であって、前記ルート証明書に関連付けられたオブジェクト識別子(OID)を含む要求を受信し、
前記少なくとも1つのクライアント装置が前記ルート証明書を信用するように設定されていることを判定し、
前記少なくとも1つのクライアント装置が有する前記ルート証明書を無効化するためのメッセージであって、前記OIDを含むと共に前記少なくとも1つのクライアント装置に知られた所定の方法でフォーマットされたメッセージを生成し、
前記ルート証明書に関連付けられた証明機関装置に、第1のシグネチャを用いて前記メッセージに署名することを要求し
第2のシグネチャを用いて前記メッセージに署名し、
前記少なくとも1つのクライアント装置に対して、当該少なくとも1つのクライアント装置において前記ルート証明書の無効化を行わせるための前記メッセージを送信する、
ことを含み、
i)前記証明機関装置は、前記ルート証明書が生成されたときに当該ルート証明書に自己署名するのに用いられた第1の秘密鍵を所有し、
ii)前記第1のシグネチャは、無効証明書と関連付けられる第2の秘密鍵を用いて作成され、前記無効証明書は、前記ルート証明書の中間証明書であると共に前記第1の秘密鍵を用いて署名され、かつ、前記ルート証明書を無効化するための前記メッセージに署名することを前記計算装置が前記証明機関装置に対して要求する場合に当該証明機関装置によって利用され、
iii)前記第2のシグネチャは、管理証明書に関連付けられる第3の秘密鍵を用いて作成され、前記管理証明書は、前記ルート証明書を無効化するための前記メッセージに署名するために前記計算装置によって利用される、
ことを特徴とする方法。
【請求項2】
前記管理証明書は、前記ルート証明書の中間証明書であると共に前記第1の秘密鍵を用いて署名されている、
ことを特徴とする請求項に記載の方法。
【請求項3】
前記証明機関装置は、前記第2の秘密鍵を所有するが、前記第3の秘密鍵を所有しない、
ことを特徴とする請求項に記載の方法。
【請求項4】
前記要求は、前記少なくとも1つのクライアント装置の動作を監視する装置から受信される、
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記メッセージは、さらに、前記無効証明書と前記管理証明書との両方を含む、
ことを特徴とする請求項に記載の方法。
【請求項6】
計算装置に含まれるプロセッサにより実行されるときに、前記計算装置に、
ルート証明書を無効化する要求を受信させ、
前記ルート証明書を信用するように設定されている少なくとも1つのクライアント装置を特定させ、
前記少なくとも1つのクライアント装置が有する前記ルート証明書を無効化するためのメッセージを生成させ、
二重の認証を確立するために前記メッセージに第1のシグネチャと第2のシグネチャとが含められるようにすることを要求し
前記少なくとも1つのクライアント装置に対して、当該少なくとも1つのクライアント装置において前記ルート証明書の無効化を行わせるために前記メッセージを送信させ、
i)証明機関装置は、前記ルート証明書が生成されたときに当該ルート証明書に自己署名するのに用いられた第1の秘密鍵を所有し、
ii)前記第1のシグネチャは、無効証明書と関連付けられる第2の秘密鍵を用いて作成され、前記無効証明書は、前記ルート証明書の中間証明書であると共に前記第1の秘密鍵を用いて署名され、かつ、前記ルート証明書を無効化するための前記メッセージに署名することを前記計算装置が前記証明機関装置に対して要求する場合に当該証明機関装置によって利用され、
iii)前記第2のシグネチャは、管理証明書に関連付けられる第3の秘密鍵を用いて作成され、前記管理証明書は、前記ルート証明書を無効化するための前記メッセージに署名するために前記計算装置によって利用される、
ことを特徴とするプログラム。
【請求項7】
前記管理証明書は、前記ルート証明書の中間証明書であると共に前記第1の秘密鍵を用いて署名されている、
ことを特徴とする請求項に記載のプログラム。
【請求項8】
前記証明機関装置は、前記第2の秘密鍵を所有するが、前記第3の秘密鍵を所有しない、
ことを特徴とする請求項に記載のプログラム。
【請求項9】
前記要求は、前記少なくとも1つのクライアント装置の動作を監視する装置から受信される、
ことを特徴とする請求項に記載のプログラム。
【請求項10】
前記メッセージは、さらに、前記無効証明書と前記管理証明書との両方を含む、
ことを特徴とする請求項に記載のプログラム。
【請求項11】
少なくとも2つのルート証明書を記憶するように構成されるメモリと、
プロセッサと、を有し、
前記プロセッサは、
管理装置から、前記少なくとも2つのルート証明書のうちの特定のルート証明書を無効化するためのメッセージを受信し、
前記メッセージの認証を試行し、
前記メッセージの認証に応じて、
前記メモリ内において前記特定のルート証明書にアクセスすることができないようにし、このときに当該特定のルート証明書が当該メモリ内に記憶されたままであるようにする、
ように構成され
i)前記メッセージは、前記特定のルート証明書を対象とするオブジェクト識別子(OID)を含み、前記メッセージは、第1のシグネチャ及び第2のシグネチャを含み、
ii)前記第1のシグネチャは、無効証明書と関連付けられる第1の秘密鍵に基づいて生成され、前記無効証明書は、前記特定のルート証明書の中間証明書であると共に前記第1の秘密鍵を用いて署名され、かつ、前記特定のルート証明書を無効化するための前記メッセージに署名することを前記管理装置が証明機関装置に対して要求する場合に当該証明機関装置によって利用され、前記第2のシグネチャは、管理証明書に関連付けられる第2の秘密鍵に基づいて生成され、前記管理証明書は、前記特定のルート証明書を無効化するための前記メッセージに署名するために前記管理装置によって利用される、
ことを特徴とするセキュアエレメント。
【請求項12】
前記セキュアエレメントは、移動体装置に含まれる、
ことを特徴とする請求項1に記載のセキュアエレメント。
【請求項13】
前記セキュアエレメントに、前記移動体装置に含まれる当該セキュアエレメントの外部のエンティティが直接アクセスすることができない、
ことを特徴とする請求項1に記載のセキュアエレメント。
【請求項14】
前記メモリは読み出し専用メモリ(ROM)である、
ことを特徴とする請求項1に記載のセキュアエレメント。
【発明の詳細な説明】
【技術分野】
【0001】
開示される実施形態は、1つ以上の無線通信装置内のルート証明書を無効化するための技術を説明する。
【背景技術】
【0002】
ほとんどの無線通信装置(例えば、スマートフォン)は、無線サービスキャリアへのアクセスを提供するユニバーサル集積回路カード(UICC)を利用するように構成されている。UICCは、通常、無線通信装置に挿入される小型の取り外し可能なカード(例えば、加入者識別モジュール(SIM)カード)の形をとるが、より最近の実装では、UICCは、代わりに、無線通信装置のシステムボードに直接組み込まれうる。いずれのアプローチによっても、UICCは、少なくとも、マイクロプロセッサと、マイクロプロセッサが無線サービスキャリアと情報のやり取りをするために利用することが可能な認証データを記憶するように構成される読み出し専用メモリ(ROM)と、を含む。一般に、認証データは、無線サービスキャリアがUICCを認証することを可能とするユニークな暗号化鍵を含む。認証データは、また、UICCがマイクロプロセッサを介して無線サービスキャリアとの情報のやり取りの前に様々な無線サービスキャリアを認証することを可能とする1つ以上のルート証明書を含む。
【発明の概要】
【発明が解決しようとする課題】
【0003】
上述のアプローチは、障害に相当に強いセキュアな運用環境を提供するが、軽減するのに費用が掛かると共に煩わしいセキュリティ違反の影響を受けやすい可能性がある。例えば、悪意の者が、UICCの集合(例えば、数百万のオーダーの大きさを有するUICCの集合)が記憶しているルート証明書に関連付けられた秘密鍵を、ひそかに知ることとなった場合について検討する。UICCに含まれるメモリの読み出し専用性を前提とすると、その集合内の全てのUICCは、セキュリティ違反を抑え込むために、(新しいルート証明書を記憶する)新しいUICCで置き換えられる必要があるだろう。具体的には、SIMカードベースのUICCは、新しいSIMカードで置き換えられる必要があるだろう。より悪く、組み込み型のUICCを有する無線通信装置は、ほとんどの場合、システムボードの他の要素はおそらく無傷であるにもかかわらず、そのシステムボードの全面的な置き換えを必要とするだろう。重要なことは、この処理には費用がかかり、時間がかかり、かつ、全体の顧客満足度を著しく下げうることである。
【課題を解決するための手段】
【0004】
ここで説明される代表的な実施形態は、少なくとも1つのクライアント装置から特定のルート証明書を無効化するための様々な技術を開示する。具体的には、本技術は、−少なくとも1つのクライアント装置に含まれると共に、その特定のルート証明書及び少なくとも1つのバックアップのルート証明書を記憶するように構成される−セキュアエレメントに、永久にその特定のルート証明書を無視させ、その少なくとも1つのクライアント装置がその特定のルート証明書を利用することを防がせることを含む。
【0005】
1つの実施形態は、少なくとも1つのクライアント装置からルート証明書を無効化するための方法について説明する。本方法は、ルート証明書を無効化するための、ルート証明書と関連付けられたオブジェクト識別子(OID)を含む要求を受信し、その少なくとも1つのクライアント装置がルート証明書を信用するように設定されていることを判定し、その少なくとも1つのクライアント装置からそのルート証明書を無効化するための、そのOIDを含むと共にその少なくとも1つのクライアント装置に知られている所定の方法でフォーマットされたメッセージを送信すること、を含む。本方法は、さらに、そのルート証明書に関連付けられた証明機関に、第1のシグネチャを用いてそのメッセージに署名させるステップと、第2のシグネチャを用いてそのメッセージに署名するステップと、その少なくとも1つのクライアント装置におけるそのルート証明書の無効化をさせるためのメッセージを、その少なくとも1つのクライアント装置に対して発行するステップと、を含む。
【0006】
別の実施形態は、命令を記憶するように構成された非一時的コンピュータ可読記憶媒体であって、その命令は、計算装置に含まれるプロセッサにより実行されるときに、その計算装置に、ルート証明書を無効化する要求を受信させ、そのルート証明書を信用するように設定されている少なくとも1つのクライアント装置を特定させ、その少なくとも1つのクライアント装置からそのルート証明書を無効化するためのメッセージを生成させ、二重の認証を確立するためにそのメッセージに第1のシグネチャと第2のシグネチャとが含められるようにさせ、その少なくとも1つのクライアント装置におけるそのルート証明書の無効化をその少なくとも1つのクライアント装置に行わせるためにそのメッセージを発行させる非一時的コンピュータ可読記憶媒体について説明する。
【0007】
さらにもう1つの実施形態は、少なくとも2つのルート証明書を記憶するように構成されるメモリと、プロセッサと、の両方を有するセキュアエレメントを説明する。そのプロセッサは、管理エンティティから、その少なくとも2つのルート証明書のうちの特定のルート証明書を無効化するためのメッセージを受信し、そのメッセージの認証を試行し、そのメッセージの認証に応じて、その特定のルート証明書にアクセスすることができないようにするように構成される。
【0008】
この概要は、ここで説明される対象のいくつかの態様の基本的な理解を提供するためのいくつかの例示の実施形態を要約する目的でのみ提供されている。したがって、上述の特徴は単なる例であり、ここで説明される対象の範囲又は精神をいかなる方法によっても狭めるように解釈されるべきでないことが理解されるだろう。ここで説明される対象の他の特徴、態様、及び利点は、以下の詳細な説明、図面及び特許請求の範囲から明らかになるだろう。
【発明の効果】
【0009】
ここで説明される実施形態の他の態様及び利点は、例を通じて説明される実施形態を図解する添付の図面と併せて例として挙げられる以下の詳細な説明から明らかになるだろう。
【図面の簡単な説明】
【0010】
含まれる図面は、事例的な目的のものであり、無線計算装置を提供するための開示される発明の装置及び方法のための、なし得る構造及び配置の例を与えるだけのものである。これらの図面は、いかなる方法においても、実施形態の精神及び範囲から離れることなく、当業者によってその実施形態に対してなされうる形式および詳細の変更を制限しない。実施形態は、同様の参照番号が同様の構造要素を指定する添付の図面と併せた以下の詳細な説明により、直ちに理解されるだろう。
図1】いくつかの実施形態による、ここで説明される様々な技術を実装するように構成されるシステムの様々な要素のブロック図。
図2】いくつかの実施形態による、図1のシステムの特定の要素のより詳細なビューのブロック図。
図3】いくつかの実施形態による、新しいルート証明書及びそのルート証明書に関連付けられる様々な中間証明書を生成し、図1のシステムの特定の要素にその証明書を分配する方法のシーケンス図。
図4】いくつかの実施形態による、1つ以上のセキュアエレメントに記憶される特定のルート証明書を無効化するためのメッセージを発行するための方法を説明する図。
図5】いくつかの実施形態による、特定のルート証明書を無効化するためのメッセージを受信し、その特定のルート証明書の無効化を実行するための方法を説明する図。
図6】いくつかの実施形態による、ここで説明される様々な要素を実装するために用いられうる計算装置の詳細ビューを説明する図。
【発明を実施するための形態】
【0011】
本セクションでは、ここで説明される実施形態による装置及び方法の代表的なアプリケーションが提供される。これらの例は、コンテクストを加えると共に説明される実施形態の理解を助けるだけのために提供されている。したがって、当業者には、ここで説明される実施形態をこれらの特定の詳細の一部または全部を用いずに実行することが可能であることが明らかだろう。他の例では、不必要にここで説明される実施形態をあいまいにすることを避けるために、周知の処理ステップが詳細には説明されていない。他のアプリケーションが、以下の例が限定として扱われるべきでないように、予定されている。
【0012】
大規模システムにおけるセキュリティを遂行するためのよくあるアプローチは、クライアント装置が信用することができる−少なくともクライアント装置を監視する1つ以上のエンティティ(例えば製造者)によってそう考えられている−ことを前提とするソース(例えば、無線サービスプロバイダ)とそれぞれが関連付けられている一連のルート証明書を有する、クライアント装置を事前にプログラミングすることを含む。具体的には、これらのルート証明書は、例えば、高リスクのコマンド(例えばファームウェア及びシステムレベルのソフトウェアアップデート)が信用されているソースによって署名され、クライアント装置に対して発行されているときに、クライアント装置が、信用されているソースのシグネチャを認証することを可能とする。1つのアプローチによれば、各クライアント装置に対して、ルート証明書は、クライアント装置内に組み込まれているセキュアエレメント(例えばUICC)に含まれるROM中にプログラミングされる。ほとんどの場合、ルート証明書は、通常、セキュアエレメントが製造されるときにそのセキュアエレメントのROMにプログラミングされるが、ここで説明される技術は、そのような制限はされない(すなわち、ROMは、その製造時以降に設定されうる)。
【0013】
ここで、先述の通り、ルート証明書は、セキュリティ違反の影響を受けやすい場合があり、例えば、悪意の者が、ルート証明書に関連づけられている秘密鍵を取得することにより、ルート証明書を危険にさらしうる。同様に、その悪意の者は、そのルート証明書を信用するように事前にプログラミングされているクライアント装置が場合によっては受け入れうると共に処理しうる高リスクのコマンドを、(例えば秘密鍵を用いて)署名して、発行することができる。このような場合、危険にさらされている又はさらされている可能性のある特定のルート証明書を無効化することが有益でありうる。さらに、悪意の行為を通じてほとんどのルート証明書が危険にさらされている間に、クライアント装置の監視者(例えば管理エンティティ)が、クライアント装置が信用している特定のルート証明書を無効化することを望む、他の悪意のない状況が発生し得る。このような状況の例は、そのルート証明書に関連付けられるソースを信用できなくなり、そのルート証明書に関連付けられるソースを用いた事業運営を中止することを望むなどを含みうる。
【0014】
上述のものの欠如を考慮して、ここで説明される実施形態は、クライアント装置(及び他のクライアント装置)に、そのクライアント装置のセキュアエレメント内に記憶されているルート証明書を永久に無視させるための技術を提供する。具体的には、そのクライアント装置の管理エンティティ(例えば製造者)は、そのクライアント装置のセキュアエレメント内に記憶されているルート証明書を取り消す(すなわち、永久に無効にする)ためのメッセージを生成しうる。この構成を実行するために、そのクライアント装置の管理エンティティは、そのセキュアエレメントによって知られていると共に処理されうる特定のフォーマットを用いた無効化メッセージを生成するように構成される。より具体的には、各無効化メッセージは、そのセキュアエレメントに記憶されている1つのルート証明書を無効化するためだけのものであることができ、その無効化メッセージは、1)ルート証明書を管理する証明機関(CA)、及び2)そのクライアント装置によって信用されている管理エンティティ、によって、署名されていなければならない。同様に、セキュアエレメントは、その無効化メッセージを受信すると、そのシグネチャのそれぞれの検証を試行する。シグネチャが検証された場合、セキュアエレメントは、いくつかの場合ではそのセキュアエレメントのROMに記憶されたままであるにも関わらず、無効化メッセージで参照されているルート証明書を永久に無効化すると共にアクセスできないようにする操作を実行する。
【0015】
1つの実施形態によれば、そして、上述の技術を実現するために、セキュアエレメントのROMに事前にプログラミングされている各ルート証明書は、階層的にそのルート証明書に基づく少なくとも2つの中間証明書に、関連付けられる。1つの実施形態によれば、そのルート証明書は、例えば無効化メッセージが発行されるときに、そのルート証明書を一意に識別するのに用いられうるオブジェクト識別子(OID)と自身とを関連付けている。ルート証明書は、また、少なくとも2つの中間証明書と自身とを関連付けている。具体的には、少なくとも2つの中間証明書のうちの第1の証明書は、そのルート証明書を生成して署名する証明機関によって保持されている無効証明書である。とりわけ、この無効証明書は、管理エンティティが、そのルート証明書を利用する1つ以上のクライアント装置においてそのルート証明書を無効化することを望むときの、無効化メッセージに含まれる2つのシグネチャの第1のシグネチャと関連がある。2つの中間証明書のうちの第2の証明書は、1つ以上のクライアント装置が信用している管理エンティティによって保持されている管理証明書である。この管理証明書は、無効化メッセージに含まれている2つのシグネチャのうちの第2のシグネチャと関連付けられている。とりわけ、証明書及びシグネチャについてのこの構成は、1つ以上のクライアント装置からルート証明書を無効化するためのメッセージが発行されるときに、証明機関及び1つ以上のクライアント装置の管理エンティティの両方が「サインオフ」することを要求する、二重の認証メカニズムを提供する。結果として、証明機関も、管理エンティティも、1つ以上のクライアント装置からルート証明書を独立して無効化することはできない。
【0016】
無効化メッセージが1つ以上のセキュアエレメントに対して発行されるとき、そのセキュアエレメントは、その無効化メッセージが、証明機関によって署名されていることを(無効証明書に基づいて)検証することと、管理エンティティによって署名されていることを(管理証明書に基づいて)検証することとの両方を行うように構成される。各セキュアエレメントは、また、無効化メッセージに含まれているOIDが無効化メッセージの対象となっている特定のルート証明書のOIDと一致していることを検証するように構成される。上述の検証がなされると、セキュアエレメントは、その特定のルート証明書を永久にアクセスできないようにする設定のアップデートを実行する。結果として、そのセキュアエレメントによって受信されると共に検証を取り消されたルート証明書に依拠する署名を含む、任意のその後のコマンドは、そのセキュアエレメントはその取り消されたルート証明書にアクセスし、そのコマンドに含まれる署名を検証することができなくなっているため、無視される。
【0017】
したがって、上述のアプローチは、クライアント装置に含まれるセキュアエレメントのROMに記憶されているルート証明書をセキュアに無効化するための技術を提供する。これらの技術のより詳細な議論については、以下で説明され、これらの技術を実装するのに用いられうるシステム及び方法の詳細な図を図解する図1図6と併せて述べられる。
【0018】
図1は、いくつかの実施形態による、ここで説明される様々な技術を実行するように構成されるシステム100の様々な要素のブロック図を図解している。より具体的には、図1は、示されているように、証明機関102、ポリシー指令サーバ120、クライアント装置マネージャ125、及びクライアント装置130を含む、システム100の高いレベルの外観を図解している。1つの実施形態によれば、各証明機関102は、クライアント装置130に分配されると共にクライアント装置130が信用しているルート証明書104に、自己署名することができる個別の証明機関を表している。具体的には、ルート証明書104は、クライアント装置130によって、ルート証明書104に基づいて署名され、認証のためにクライアント装置130に提示される中間証明書(及び関連するシグネチャ)を検証するために使用されうる。より具体的には、クライアント装置130は、1つ以上の上述の証明書に基づいて署名されているコマンドを受信して処理するように構成されてもよく、クライアント装置130は、そのコマンドを処理する前に、それらを認証するのにルート証明書104を頼っている。
【0019】
1つの実施形態によれば、クライアント装置マネージャ125は、クライアント装置130を管理するように構成された特定のエンティティを表し、例えば、クライアント装置マネージャ125は、クライアント装置130に対してファームウェア及びソフトウェアのアップデートを発行することを担当しうる。図1に示すように、クライアント装置マネージャ125は、クライアント装置130に対して上述のアップデートを生成して発行するように構成されるポリシーマネージャ122を実行するポリシー指令サーバ120とインタフェース接続する。以下で図2と併せてより詳細に説明されるように、ポリシーマネージャ122は、様々なルート証明書104がどのように複数のクライアント装置130にわたって分配されているかを示す記録を保持するように構成されうる。この方法では、ルート証明書104が危険にさらされており無効化されることが必要となっている場合、ポリシーマネージャ122は、そのルート証明書104を記憶している1つ以上のクライアント装置130を特定し、その1つ以上のクライアント装置130にそのルート証明書104を永久に無視させる無効化メッセージを発行することができる。
【0020】
図1に示すように、各クライアント装置130は、1つの実施形態によれば、クライアント装置130の主システムボード内に組み込まれているUICCを表すセキュアエレメント132を含む。1つの実施形態によれば、セキュアエレメント132は、クライアント装置130上で動作している主オペレーティングシステム(OS)などの外部エンティティによって直接アクセスすることができない、サンドボックス化されたハードウェア/ソフトウェア環境であるように、構成される。図1には示していないが、セキュアエレメント132は、様々なコマンドを処理し、ここで開示される認証メカニズムを実行するように、共同で動作するマイクロプロセッサ及び記憶装置(例えばROM)を含むことができ、記憶装置は、ルート証明書104のそれぞれを記憶するように構成される。具体的には、そして、いくつかの実施形態によれば、各セキュアエレメント132は、証明書マネージャ134を通じて、セキュアエレメント132によって無効化メッセージが受信され処理されるときにルート証明書104のうちの特定の1つの無効化を適切に促進するために、複数のルート証明書104を切り離して記憶するように構成されうる。
【0021】
図2は、いくつかの実施形態による、図1のシステムの特定の要素のより詳細なビュー200のブロック図を示している。図2に示すように、図1の証明機関102の1つは、少なくとも1つのルート証明書104−1を記憶し、そのルート証明書104−1と関連付けられる秘密鍵105を保持する。よく知られているように、秘密鍵105に対応する公開鍵はルート証明書104−1内のフィールドとして格納されており、ルート証明書104−1の任意の所有者に自由にアクセス可能とされる。このアプローチによれば、ルート証明書104−1を信用するエンティティ(例えばクライアント装置130)は、ルート証明書104−1に対してアンカーするトラストチェーンの一部である−無効証明書106及び他の証明書110などの−1つ以上の中間証明書に基づいて作成されるシグネチャを検証するために、ルート証明書104−1と関連付けられた公開鍵を用いることができる。
【0022】
とりわけ、無効証明書106は、ルート証明書104−1によって署名され、その秘密鍵107が証明機関102によって保持される中間証明書である。具体的には、この無効証明書106は、ポリシーマネージャ122が証明機関102に対してルート証明書104−1の無効化のための無効化メッセージに署名することを要求/命令する際に、証明機関102によって利用される。したがって、無効証明書106がルート証明書104−1に対する中間証明書であり−そしてルート証明書104−1がクライアント装置130によって記憶される−ため、クライアント装置130は、無効化メッセージと併せて無効証明書106を受信し、ルート証明書104−1を用いてその無効証明書106を認証することができる。同様に、無効証明書106が検証されると、無効証明書106に含まれる公開鍵を、メッセージに含まれると共にその無効証明書に基づくシグネチャの信頼性を検証するのに用いることができる。換言すれば、無効証明書106は、証明機関102が秘密鍵107を保持している唯一のエンティティであることが想定されるため、証明機関102が、実際に、その無効証明書106に基づいて(すなわち、秘密鍵107を用いて)無効化メッセージに署名したことを検証するのに使用されうる。
【0023】
図2は、示されるように、管理証明書108及び他の管理証明書124を含む、図1のポリシーマネージャ122の、より詳細なビューをも示している。図2に示される図解によれば、管理証明書108は、秘密鍵109に関連付けられると共に、ルート証明書104−1に対する中間証明書である。1つの実施形態によれば、管理証明書108は、ポリシーマネージャ122によって証明機関102に対して発行される証明書署名要求(CSR)を通じて生成される中間証明書を表している。それに応じて、証明機関102は、ポリシーマネージャ122と関連付けられる識別情報を検証して、ルート証明書104−1に関連付けられる秘密鍵105を用いて署名される証明書を生成することにより、管理証明書108を生成する。同様に、生成された管理証明書108は、ポリシーマネージャ122に供給され、ポリシーマネージャ122は、ポリシーマネージャ122のみが管理証明書108に基づいてメッセージに署名することができるように関連する秘密鍵109を秘密に保持する。図2には示されていないが、他の管理証明書124(及びそれらに関連する秘密鍵126)は、管理証明書108と同様の方法で、ポリシーマネージャ122によって管理され、それぞれが、証明機関102によって管理される、又は、ポリシーマネージャ122が信用している他の証明機関によって管理される、特定のルート証明書に関連する中間証明書を表しうる。とりわけ、これらの他の管理証明書124は、管理証明書108と同様に、他の管理証明書124が依存するルート証明書104を取り消す時が来た場合及びその時に、ポリシーマネージャ122によって無効化メッセージに署名するのに使用されうる。
【0024】
図3は、いくつかの実施形態による、新しいルート証明書−及びそのルート証明書に関連付けられた様々な中間証明書−を生成して、図1のシステムの特定の要素にその証明書を分配するための方法300のシーケンス図を示している。示されているように、方法300は、図1のクライアント装置マネージャ125が、証明機関102に対して、新しいルート証明書の要求を発行するステップ302において開始する。この要求は、例えば、クライアント装置マネージャ125が証明機関と関与し、製造が予定されるクライアント装置130によって利用されるとともに信用されることとなるルート証明書の生成を要求していることを表しうる。
【0025】
ステップ304において、証明機関102は、既知の技術によって、新しいルート証明書(例えば、図2のルート証明書104−1)を生成して自己署名する。高いレベルにおいて、例えば、証明機関102は、既知のアルゴリズムに基づいて、公開鍵及び秘密鍵のペアを生成し、証明機関102に関連付けられた識別情報及び新しいルート証明書に署名するのに使用されることとなるハッシュ関数に関する情報を格納する様々なフィールドを含む新しいルート証明書を確立するだろう。同様に、証明機関102は、ハッシュの結果を作成するために新しいルート証明書に対してハッシュ関数を実行し、それに応じて、証明機関102は、シグネチャを作成するために、秘密鍵を用いてそのハッシュの結果を暗号化する。最終的に、このシグネチャは、新しいルート証明書に格納され、新しいルート証明書のベアラによって、(公開鍵を通じて)新しいルート証明書に署名した主体−この場合、証明機関102−がその新しいルート証明書に署名がされた時に実際にその秘密鍵を保持していることを検証するのに用いられうる。さらに、この新しいルート証明書は、その新しいルート証明書の秘密鍵を用いて署名されている−電子メッセージ又は中間証明書などの−任意のデジタルパッケージの信頼性を検証するために用いられうる。
【0026】
ステップ306において、証明機関102は、−図2と併せて上述した無効証明書106などの−中間無効証明書を生成し、その中間無効証明書に、新しいルート証明書に基づいて、署名する。具体的には、証明機関102は、−それ自身の公開鍵及び秘密鍵に関連付けられている−中間無効証明書を生成し、その中間無効証明書に、新しいルート証明書に関連付けられている秘密鍵を用いて署名する。この処理によれば、中間無効証明書は、新しいルート証明書に戻るリンクをするトラストチェーンの一部となる。結果として、中間無効証明書は、新しいルート証明書の公開鍵が、クライアント装置130に提示されるときに、そのクライアント装置130によって、中間無効証明書の信頼性を検証するのに使用されうるため、その新しいルート証明書を記憶する全クライアント装置130に信用される電子認証情報である。同様に、クライアント装置130が中間無効証明書を検証する際に、そのクライアント装置130は、さらに、証明機関102が中間無効証明書に関連付けられている秘密鍵を知っている唯一のエンティティであるため、中間無効証明書に伴う任意のシグネチャが実際に証明機関102によって作成されたことを検証することもできる。
【0027】
ステップ308において、クライアント装置マネージャ125は、新しいルート証明書をその後クライアント装置130に分配することができるように、新しいルート証明書を記憶する。ステップ310において、クライアント装置マネージャ125は、新しい管理証明書、例えば図2と併せて上述した管理証明書108、に対する、証明書署名要求を発行する。より具体的には、クライアント装置マネージャ125は、そのクライアント装置マネージャ125に関連付けられている検証可能な識別情報を生成するように構成される。クライアント装置マネージャ125は、また、公開鍵及び秘密鍵のペアを生成し、新しい管理証明書を生成して署名することの要求を伴って証明機関102に対して識別情報及び公開鍵を送信し、セキュアな位置にその秘密鍵を記憶するように構成される。
【0028】
ステップ312において、証明機関102は、新しいルート証明書に基づいて、新しい管理証明書を生成してその新しい管理証明書に署名する。より具体的には、証明機関102は、クライアント装置マネージャ125によって供給された識別情報を検証したことに応じて、例えばクライアント装置マネージャ125と関連付けられている識別情報、及び新しい管理証明書に署名するのに用いられることとなるハッシュ関数についての情報を格納する様々なフィールドを含む、新しい管理証明書を生成する。同様に、証明機関102は、新しい管理証明書に対してハッシュ関数を実行してハッシュの結果を作成し、それに応じて、証明機関102は、シグネチャを作成するために、そのハッシュの結果を暗号化する。最終的に、このシグネチャは、新しい管理証明書に格納され、新しい管理証明書は、クライアント装置マネージャ125に戻される。
【0029】
とりわけ、この処理によれば、新しい管理証明書は、中間無効証明書と同様に、新しいルート証明書に戻るリンクをするトラストチェーンの一部となる。結果として、新しい管理証明書は、クライアント装置130が、クライアント装置130に提示されるときに(例えば、無効化メッセージがここで説明される技術に従って発行されるときに)、新しい管理証明書の信頼性を検証するために新しいルート証明書の公開鍵を使用することができるため、新しいルート証明書を信用する全クライアント装置130によって信用される電子認証情報である。同様に、クライアント装置130が新しいルート証明書を通じて新しい管理証明書を検証する際に、クライアント装置130は、さらに、クライアント装置マネージャ125が、新しい管理証明書に関連付けられている秘密鍵を知っている唯一のエンティティであるため、新しい管理証明書を伴うシグネチャが実際にクライアント装置マネージャ125によって作成されたことを検証することができる。
【0030】
ステップ314において、クライアント装置マネージャ125は、証明機関102から新しい管理証明書を受信し、その新しい管理証明書を記憶する。新しい管理証明書−特に、その新しい管理証明書に関連付けられている秘密鍵−は、その後、(例えば、その製造の後及び運用中の)クライアント装置130からの除去のための、特に新しいルート証明書を対象とする無効化メッセージに含まれている2つのシグネチャのうちの第1のシグネチャを作成するのに、クライアント装置マネージャ125によって使用されうる。ここで先述したように、2つのシグネチャのうちの第2のシグネチャは、中間無効証明書に関連付けられる秘密鍵を用いて、証明機関102によって提供され、それにより、ここで説明される二重の認証が実行される。
【0031】
ステップ316では、クライアント装置マネージャ125は、新しいルート証明書をクライアント装置130に供給する。最後に、ステップ318において、クライアント装置130は、新しいルート証明書を記憶する。1つの実施形態では、クライアント装置130に新しいルート証明書を記憶することは、クライアント装置130に含まれるセキュアエレメント132のROMに、新しいルート証明書を「焼く」ことを含む。他の実施形態は、新しいルート証明書を、それが記憶されるメモリ内で、新しいルート証明書を上書きし又は消去することを難しくするような、又は不可能とするような方法で、クライアント装置130に記憶することを含みうる。
【0032】
結果的に、図3は、新しいルート証明書、中間無効証明書、及び新しい管理証明書が生成され、システム100に含まれる様々な要素に分配される方法を分析するシーケンス図300について説明した。この時点で、1つ以上のクライアント装置130は新しいルート証明書を記憶しており、いくつかの場合では、1つ以上のクライアント装置130から新しいルート証明書を取り消すことが好ましい場合がある。図4及び図5(及び以下に含まれるその付随する説明)は、様々な実施形態により、新しいルート証明書の無効化を実行する方法について説明する。
【0033】
図4は、いくつかの実施形態による、(クライアント装置130の)1つ以上のセキュアエレメント132に記憶される特定のルート証明書104を取り消すためのメッセージを発行するための方法400を示している。図4に示すように、方法400は、ポリシーマネージャ122が、OIDに関連付けられているルート証明書104を利用する1つ以上のクライアント装置130からルート証明書104を取り消すための要求を(例えばクライアント装置製造者125から)受信するステップ402において開始する。ここで先述したように、OIDは、様々な方法、例えば、X.509 ITU電気通信標準化部門(ITU−T) 公開鍵インフラストラクチャ(PKI)のための標準に従って、実装されうる。
【0034】
ステップ404において、ポリシーマネージャ122は、ルート証明書104に関連付けられている証明機関102を特定する。ステップ406において、ポリシーマネージャ122は、証明機関102に対して、ルート証明書104の中間物である無効証明書(例えば、図2の無効証明書106)に基づいて、無効化メッセージに署名することの要求を発行する。ステップ408において、ポリシーマネージャ122は、署名された無効化メッセージを、証明機関102から受信する。
【0035】
ステップ410において、ポリシーマネージャ122は、シグネチャを確認することができるかを判定する。この場合もやはり、−証明機関102などの−無効証明書に関連付けられている秘密鍵を知っているエンティティのみが、無効証明書を用いて検証されうる方法で無効化メッセージに署名することができる。ステップ410において、ポリシーマネージャ122がシグネチャを確認したと判定した場合、方法400はステップ412に進む。それ以外では、方法400は終了する。
【0036】
ステップ412において、ポリシーマネージャ122は、ルート証明書104に対する中間物である管理証明書(例えば、管理証明書108)に基づいて、無効化メッセージに署名する。最後に、ステップ414において、ポリシーマネージャ122は、ルート証明書104を取り消させるために、その無効化メッセージを1つ以上のクライアント装置130のそれぞれに送信する。これについては、図5と併せて、より詳細に後述する。
【0037】
図5は、いくつかの実施形態による、ルート証明書104を取り消すためのメッセージを受信して、そのルート証明書104の取り消しを実行するための方法500を示している。示されているように、方法500は、クライアント装置130のセキュアエレメント132内で動作する証明書マネージャ134が、ポリシーマネージャ122から、ルート証明書104を取り消すための、ルート証明書104と関連付けられているOIDを含むメッセージを受信するステップ502において開始する。
【0038】
ステップ504において、証明書マネージャ134は、そのメッセージが、ルート証明書104の中間物である無効証明書(例えば、図2の無効証明書106)に基づいて署名されていることを検証する。ステップ506において、証明書マネージャ134は、無効化メッセージが、ルート証明書104の中間物である管理証明書(例えば図2の管理証明書108)によって署名されていることも、確認する。ステップ508において、証明書マネージャ134は、ステップ504及び506に基づいて、無効化メッセージが認証されているかを判定する。ステップ508において、ステップ504及び506に基づいて無効化メッセージが認証されていると証明書マネージャ134が判定した場合、方法500は510へ進む。それ以外の場合、方法500は終了し、証明書マネージャ134は、その無効化メッセージを無視する。最後に、ステップ510において、証明書マネージャ134は、ルート証明書104がその後使用されることを防ぐように、セキュアエレメント132の設定をアップデートする。
【0039】
図6は、いくつかの実施形態による、ここで説明された様々な要素を実装するのに用いられうる計算装置600の詳細ビューを示している。具体的には、詳細ビューは、図1に示されるポリシー指令サーバ120及びクライアント装置130に含まれうる様々な要素を示している。図6に示されるように、計算装置600は、計算装置600の全体の動作を制御するためのマイクロプロセッサ又はコントローラを表すプロセッサ602を含むことができる。計算装置600は、また、計算装置600のユーザが、その計算装置600に作用することを可能とするユーザ入力装置608を含みうる。例えば、ユーザ入力装置608は、ボタン、キーパッド、ダイヤル、タッチスクリーン、音声入力インタフェース、ビジュアル/イメージ・キャプチャ入力インタフェース、センサデータの形式での入力などの、様々な形式をとることができる。さらに、計算装置600は、プロセッサ602により、情報をユーザに対して表示するように制御されうるディスプレイ610(スクリーンディスプレイ)を含んでもよい。データバス616は、少なくとも、記憶装置640、プロセッサ602、及びコントローラ613間のデータ転送を促進しうる。コントローラ613は、機器制御バス614を通じて様々な機器とインタフェース接続して制御するのに用いられる。計算装置600は、また、データリンク612と接続するネットワーク/バス・インタフェース611を含みうる。無線接続の場合、ネットワーク/バス・インタフェース611は、無線送受信機を含みうる。
【0040】
計算装置600は、また、単一のディスク又は複数のディスク(例えばハードドライブ)で構成されうると共に、記憶装置640内の1つ以上のパーティションを管理する記憶管理モジュールを含む記憶装置640を含むことができる。いくつかの実施形態では、記憶装置640は、フラッシュメモリ、半導体(ソリッドステート)メモリなどを含みうる。計算装置600は、また、ランダムアクセスメモリ(RAM)620及び読み出し専用メモリ(ROM)622を含んでもよい。ROM622は、不揮発性の方法で、実行されるべきプログラム、ユーティリティ、又はプロセスを記憶することができる。RAM620は、揮発性のデータ記憶を提供することができ、ポリシー指令サーバ120及びクライアント装置130の動作に関連する命令を記憶する。計算装置600がクライアント装置130を表す場合、計算装置600は、さらに、図1及び図2に示され、ここで詳細に説明されたセキュアエレメント132を表しうる、セキュアエレメント650を含む。
【0041】
いくつかの実施形態では、少なくとも1つのクライアント装置からルート証明書を取り消す方法は、以下のステップの1つ以上を含む。第1のステップでは、ルート証明書を取り消すための、そのルート証明書に関連付けられているオブジェクト識別子(OID)を含む要求を受信すること。第2のステップでは、少なくとも1つのクライアント装置がそのルート証明書を信用するように構成されていることを判定すること。第3のステップでは、少なくとも1つのクライアント装置からそのルート証明書を取り消すための、そのOIDを含むと共にその少なくとも1つのクライアント装置に知られた所定の方法でフォーマットされている、メッセージを生成すること。第4のステップでは、そのルート証明書に関連付けられている証明機関に、第1のシグネチャを用いてメッセージに署名させること。第5のステップでは、第2のシグネチャを用いてそのメッセージに署名すること。第6のステップでは、少なくとも1つのクライアント装置に対して、その少なくとも1つのクライアント装置におけるルート証明書を取り消させるためのメッセージを発行すること。
【0042】
いくつかの実施形態では、証明機関は、ルート証明書が生成された時にそのルート証明書に自己署名するのに使用された第1の秘密鍵を所有する。いくつかの実施形態では、第1のシグネチャは、ルート証明書に対する中間物であると共に第1の秘密鍵を用いて署名された無効証明書に関連付けられた、第2の秘密鍵を用いて作成され、第2のシグネチャは管理証明書と関連付けられている第3の秘密鍵を用いて作成される。いくつかの実施形態では、管理証明書は、ルート証明書に対する中間物であり、第1の秘密鍵を用いて署名される。いくつかの実施形態では、証明機関は、第2の秘密鍵を所有するが、第3の秘密鍵を所有しない。いくつかの実施形態では、要求は、少なくとも1つのクライアント装置の動作を監視するエンティティから受信される。いくつかの実施形態では、メッセージは、さらに、無効証明書及び管理証明書の両方を含む。
【0043】
いくつかの実施形態では、非一時的コンピュータ可読記憶媒体が、計算装置に含まれるプロセッサによって実行されるときに、計算装置に、一連の動作を実行させる命令を含むように構成される。第1の動作において、計算装置は、ルート証明書を取り消すための要求を受信する。第2の動作において、計算装置は、そのルート証明書を信用するように構成されている少なくとも1つのクライアント装置を特定する。第3の動作において、計算装置は、その少なくとも1つのクライアント装置からそのルート証明書を取り消すためのメッセージを生成する。第4の動作では、計算装置は、二重の認証を確立するために、第1のシグネチャと第2のシグネチャとをそのメッセージに含めさせる。第5の動作では、計算装置は、その少なくとも1つのクライアント装置に対して、その少なくとも1つのクライアント装置におけるそのルート証明書の無効化を行わせるためのメッセージを発行する。いくつかの実施形態では、ルート証明書が、ルート証明書が生成されたときにそのルート証明書に自己署名するのに使用された第1の秘密鍵を所有する証明機関によって作成される。いくつかの実施形態では、第1のシグネチャは、ルート証明書に対する中間物であると共に第1の秘密鍵を用いて署名された無効証明書と関連付けられている第2の秘密鍵を用いて作成される。いくつかの実施形態では、第2のシグネチャは、管理証明書と関連付けられている第3の秘密鍵を用いて作成される。いくつかの実施形態では、管理証明書は、ルート証明書に対する中間物であると共に、第1の秘密鍵を用いて署名される。いくつかの実施形態では、証明機関は、第2の秘密鍵を所有するが、第3の秘密鍵を所有しない。いくつかの実施形態では、要求は、少なくとも1つのクライアント装置の動作を監視するエンティティから受信される。いくつかの実施形態では、メッセージは、さらに、無効証明書及び管理証明書の両方を含む。
【0044】
いくつかの実施形態では、セキュアエレメントは、少なくとも2つのルート証明書を記憶するように構成されたメモリと、その少なくとも2つのルート証明書のうちの特定のルート証明書を取り消すためのメッセージを管理エンティティから受信し、そのメッセージの認証を試行し、そのメッセージの認証に応じて、その特定のルート証明書にアクセスできなくするように構成されたプロセッサとを、含む。いくつかの実施形態では、セキュアエレメントは、移動体装置に含まれる。いくつかの実施形態では、セキュアエレメントは、移動体装置に含まれ、セキュアエレメントの外部にあるエンティティによっては、アクセスされえない。いくつかの実施形態では、メモリは、読み出し専用メモリ(ROM)である。いくつかの実施形態では、メッセージは特定のルート証明書を対象とするオブジェクト識別子(OID)を含み、メッセージは、第1のシグネチャと第2のシグネチャとを含む。いくつかの実施形態では、第1のシグネチャは無効証明書に関連付けられている第1の秘密鍵に基づいて生成され、第2のシグネチャは管理証明書と関連付けられている第2の秘密鍵に基づいて生成され、無効証明書及び管理証明書は、その特定のルート証明書にアンカーするトラストチェーンの一部である。
【0045】
説明される実施形態の様々な態様、実施形態、実装又は特徴は、別個に又は任意の組み合わせで用いられうる。説明される実施形態の様々な態様は、ソフトウェア、ハードウェア、又はハードウェアとソフトウェアとの組み合わせによって実装されうる。説明される実施形態は、また、コンピュータ可読媒体上のコンピュータ可読コードとして実現されうる。コンピュータ可読媒体は、その後コンピュータによって読みだされうるデータを記憶することができる任意のデータ記憶装置である。コンピュータ可読媒体の例は、読み出し専用メモリ、ランダムアクセスメモリ、CD−ROM、DVD、磁気テープ、ハードディスクドライブ、ソリッドステートドライブ、及び光学データ記憶装置を含みうる。コンピュータ可読媒体は、また、コンピュータ可読コードが分散された方法で記憶され、実行されるように、ネットワーク接続されたコンピュータシステム上で分散されてもよい。
【0046】
上述の説明は、説明の目的で、説明される実施形態の完全な理解を与えるために特定の用語を用いた。しかしながら、当業者には、その特定の詳細が、説明された実施形態を実践するのに必要でないことは明らかだろう。このように、特定の実施形態の上述の説明は、例示及び説明のために提示されている。それらは、網羅的であること又は説明される実施形態を厳密な開示された形式に限定することは、意図されていない。当業者には、上述の開示を考慮して、多くの変形及びバリエーションが可能であることは明らかであろう。
図1
図2
図3
図4
図5
図6