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

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

▶ サーティファイド セキュリティー ソルーションズ,インクの特許一覧

特許6162260SCEP証明書登録要求の正当性を確認するためのシステムおよび方法
<>
  • 特許6162260-SCEP証明書登録要求の正当性を確認するためのシステムおよび方法 図000002
  • 特許6162260-SCEP証明書登録要求の正当性を確認するためのシステムおよび方法 図000003
  • 特許6162260-SCEP証明書登録要求の正当性を確認するためのシステムおよび方法 図000004
  • 特許6162260-SCEP証明書登録要求の正当性を確認するためのシステムおよび方法 図000005
  • 特許6162260-SCEP証明書登録要求の正当性を確認するためのシステムおよび方法 図000006
  • 特許6162260-SCEP証明書登録要求の正当性を確認するためのシステムおよび方法 図000007
  • 特許6162260-SCEP証明書登録要求の正当性を確認するためのシステムおよび方法 図000008
  • 特許6162260-SCEP証明書登録要求の正当性を確認するためのシステムおよび方法 図000009
  • 特許6162260-SCEP証明書登録要求の正当性を確認するためのシステムおよび方法 図000010
  • 特許6162260-SCEP証明書登録要求の正当性を確認するためのシステムおよび方法 図000011
  • 特許6162260-SCEP証明書登録要求の正当性を確認するためのシステムおよび方法 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6162260
(24)【登録日】2017年6月23日
(45)【発行日】2017年7月19日
(54)【発明の名称】SCEP証明書登録要求の正当性を確認するためのシステムおよび方法
(51)【国際特許分類】
   G06F 21/33 20130101AFI20170710BHJP
   H04L 9/32 20060101ALI20170710BHJP
   H04L 9/08 20060101ALI20170710BHJP
【FI】
   G06F21/33
   H04L9/00 675Z
   H04L9/00 601F
【請求項の数】24
【全頁数】17
(21)【出願番号】特願2015-556923(P2015-556923)
(86)(22)【出願日】2013年3月28日
(65)【公表番号】特表2016-507843(P2016-507843A)
(43)【公表日】2016年3月10日
(86)【国際出願番号】US2013034413
(87)【国際公開番号】WO2014123557
(87)【国際公開日】20140814
【審査請求日】2016年3月2日
(31)【優先権主張番号】13/762,890
(32)【優先日】2013年2月8日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】515215999
【氏名又は名称】サーティファイド セキュリティー ソルーションズ,インク
【氏名又は名称原語表記】CERTIFIED SECURITY SOLUTIONS,INC.
(74)【代理人】
【識別番号】110001461
【氏名又は名称】特許業務法人きさ特許商標事務所
(72)【発明者】
【氏名】ゲールハウス,ゲイリー,エイ
(72)【発明者】
【氏名】ハリス,ウェイン,エイ
(72)【発明者】
【氏名】ショルター,エドワード,アール
(72)【発明者】
【氏名】タンバシオ,ケビン,エム
【審査官】 宮司 卓佳
(56)【参考文献】
【文献】 特開2001−036521(JP,A)
【文献】 米国特許出願公開第2004/0177246(US,A1)
【文献】 特開平11−008619(JP,A)
【文献】 国際公開第2009/001855(WO,A1)
【文献】 特開2007−329923(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/30−G06F 21/46
H04L 9/08
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
SCEP証明書登録要求の正当性を確認するための、コンピュータ実装の方法であって、前記方法は、
信頼できるユーザが、SCEPチャレンジ、および前記SCEPチャレンジに対する期待証明書内容の関連するセットを登録することを可能にするステップと、
通信ネットワークを介して証明書要求を電子的に受信するステップと、
前記証明書要求のSCEPチャレンジが以前に登録された前記SCEPチャレンジの1つに合致するかどうかをチェックし、合致する場合、前記証明書要求の内容が、前記合致した既登録のSCEPチャレンジに関連付けられた、以前に登録された前記期待証明書内容と合致するかどうかをチェックすることによって、電子的に前記証明書要求の正当性を確認するステップと、
前記証明書要求の前記SCEPチャレンジが以前に登録されたSCEPチャレンジに合致し、前記証明書要求の前記内容が、前記合致した既登録のSCEPチャレンジに関連付けられた前記登録済みの期待証明書内容と合致すれば、証明書を認可するステップと、
前記証明書要求の前記SCEPチャレンジが以前に登録されたSCEPチャレンジに合致しない、または、前記証明書要求の前記内容が、前記合致した既登録のSCEPチャレンジに関連付けられた前記登録済みの期待証明書内容と合致しない場合は、前記証明書を拒否するステップと、
を組み合わせで含む、コンピュータ実装の方法。
【請求項2】
前記証明書要求がPKCS#10証明書要求である、請求項1に記載のコンピュータ実装の方法。
【請求項3】
前記正当性確認ステップがSCEP正当性確認サービスによって実施される、請求項1に記載のコンピュータ実装の方法。
【請求項4】
前記証明書要求が、前記通信ネットワークを介してSCEPサーバによって受信され、前記サーバが前記証明書要求を認証局に送信し、前記認証局は、前記証明書要求の正当性を確認するため前記SCEP正当性確認サービスと通信する、請求項3に記載のコンピュータ実装の方法。
【請求項5】
前記認証局が、SCEP実施モジュールを介して前記SCEP正当性確認サービスと通信する、請求項4に記載のコンピュータ実装の方法。
【請求項6】
前記SCEP実施モジュールが、前記認証局のためのポリシーモジュールとして実装される、請求項に記載のコンピュータ実装の方法。
【請求項7】
前記SCEP実施モジュールが、SCEPチャレンジを包含する証明書要求が受信された場合を除き、全ての通信を通過させる、請求項6に記載のコンピュータ実装の方法。
【請求項8】
前記SCEP正当性確認サービスが、サービス指向アーキテクチャコンポーネントとして実装される、請求項3に記載のコンピュータ実装の方法。
【請求項9】
前記証明書要求が、前記通信ネットワークを介しSCEPサーバによって受信され、前記サーバは、前記証明書要求を認証局に送信する前に、正当性確認のため前記SCEP正当性確認サービスに前記証明書要求を送信する、請求項5に記載のコンピュータ実装の方法。
【請求項10】
前記証明書要求が、前記通信ネットワークを介しSCEPサーバによって受信され、前記サーバは、前記証明書要求を認証局に送信する前に、前記SCEPサーバ中に常駐しているソフトウェアを用いて前記証明書の正当性を確認する、請求項1に記載のコンピュータ実装の方法。
【請求項11】
前記証明書要求が、前記通信ネットワークを介しSCEPサーバによって受信され、前記サーバは前記証明書要求を認証局に送信し、前記認証局は、前記証明書要求を認可する前に、前記認証局中に常駐しているソフトウェアを用いて前記証明書要求の正当性を確認する、請求項1に記載のコンピュータ実装の方法。
【請求項12】
SCEP証明書登録要求の正当性を確認するためのシステムであって、前記システムは、
信頼できるユーザから、SCEPチャレンジ、および関連する前記SCEPチャレンジに対する期待証明書内容のセットを登録する要求を電子的に受信し、通信ネットワークを介して証明書要求を電子的に受信するためのSCEPサーバと、
前記信頼できるユーザにSCEPチャレンジを発行するためのSCEP発行システムと、
前記証明書要求の正当性を確認するためのSCEP正当性確認サービスと、
を組み合わせで含み、
前記SCEP正当性確認サービスは、前記証明書要求のSCEPチャレンジが以前に登録されたSCEPチャレンジに合致するかどうかをチェックし、合致する場合、前記証明書要求の内容が、前記合致した既登録のSCEPチャレンジに関連付けられた、以前に登録された前記期待証明書内容と合致するかどうかをチェックすることによって、電子的に前記証明書要求の正当性を確認し、
前記SCEP正当性確認サービスは、前記証明書要求の前記SCEPチャレンジが登録されたSCEPチャレンジに合致し、前記証明書要求の前記内容が、前記合致した既登録のSCEPチャレンジに関連付けられた前記登録済みの期待証明書内容と合致すれば、証明書を認可し、
前記SCEP正当性確認サービスは、前記証明書要求の前記SCEPチャレンジが、合致する登録済みのSCEPチャレンジを持たない、または、前記証明書要求の前記内容が、前記合致した既登録のSCEPチャレンジに関連付けられた前記期待証明書内容の登録済みセットと合致しない場合、前記証明書を拒否する、
システム。
【請求項13】
前記証明書要求がPKCS#10証明書要求である、請求項12に記載のシステム。
【請求項14】
前記SCEPサーバから前記証明書要求を受信し、前記証明書要求の正当性を確認するため前記SCEP正当性確認サービスと通信する、認証局をさらに含む、請求項12に記載のシステム。
【請求項15】
前記認証局が、前記SCEP正当性確認サービスと通信するためのSCEP実施モジュールを含む、請求項14に記載のシステム。
【請求項16】
前記SCEP実施モジュールが、前記認証局のためのポリシーモジュールとして実装される、請求項15に記載のシステム。
【請求項17】
前記SCEP実施モジュールが、SCEPチャレンジを包含する証明書要求が受信された場合を除き、全ての通信を通過させる、請求項16に記載のシステム。
【請求項18】
前記SCEP正当性確認サービスが、サービス指向アーキテクチャコンポーネントとして実装される、請求項12に記載のシステム。
【請求項19】
SCEPサーバが、前記証明書要求を認証局に送信する前に、正当性確認のため、前記証明書要求を前記SCEP正当性確認サービスに送信する、請求項12に記載のシステム。
【請求項20】
SCEP証明書登録要求の正当性を確認するためのシステムであって、前記システムは、
信頼できるユーザから、SCEPチャレンジ、および前記SCEPチャレンジに対する期待証明書内容の関連するセットを登録する要求を電子的に受信し、通信ネットワークを介して証明書要求を電子的に受信するためのSCEPサーバと、
前記信頼できるユーザにSCEPチャレンジを発行するためのSCEP発行システムと、
前記証明書要求の正当性を確認するよう構成された正当性確認ソフトウェアと、
を組み合わせで含み、
前記正当性確認ソフトウェアは、前記証明書要求のSCEPチャレンジが以前に登録されたSCEPチャレンジに合致するかどうかをチェックし、合致する場合、前記証明書要求の内容が、前記合致した既登録のSCEPチャレンジに関連付けられた、以前に登録された前記期待証明書内容と合致するかどうかをチェックすることによって、前記証明書要求の正当性を確認し、
前記正当性確認ソフトウェアは、前記証明書要求の前記SCEPチャレンジが登録されたSCEPチャレンジに合致し、前記証明書要求の前記内容が、前記合致した既登録のSCEPチャレンジに関連付けられた前記登録済みの期待証明書内容と合致すれば、証明書を認可し、
前記正当性確認ソフトウェアは、前記証明書要求の前記SCEPチャレンジが、合致する登録済みのSCEPチャレンジを持たない、または、前記証明書要求の前記内容が、前記合致した既登録のSCEPチャレンジに関連付けられた前記期待証明書内容の登録済みセットと合致しない場合、前記証明書を拒否する、
システム。
【請求項21】
前記証明書要求がPKCS#10証明書要求である、請求項20に記載のシステム。
【請求項22】
前記SCEPサーバから前記証明書要求を受信する認証局をさらに含む、請求項20に記載のシステム。
【請求項23】
前記正当性確認ソフトウェアが前記認証局中に常駐する、請求項22に記載のシステム。
【請求項24】
前記正当性確認ソフトウェアが前記SCEPサーバ中に常駐する、請求項20に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の分野は、一般にコンピュータネットワークのセキュリティに関し、さらに具体的には、SCEPベースのネットワークへのアクセスを要求するコンピューティングデバイスに対するセキュリティポリシーを実装し管理するためのシステムおよび方法に関する。
【背景技術】
【0002】
簡易証明書登録プロトコル(SCEP:Simple Certificate Enrollment Protocol)は、主に、ネットワーク管理者が証明書対象ネットワークコンピューティングデバイスを拡張縮小が可能な仕方で容易に登録できるようにするため、カリフォルニア州サンノゼのCisco Systems,Inc.のためにバージニア州レスチンのVerisign,Inc.によって開発された。こういったネットワークコンピューティングデバイスが、その身元情報を企業ディレクトリまたは証明情報ストア中に表していることはあまりないので、SCEPは、要求元の身元を確認するための準備情報は含まない。代わりに、SCEPは、2つの異なった認証メカニズムを可能にしている。第一の認証メカニズムはマニュアルで、要求元は、認証局(CA:Certification Authority)管理者または証明責任者に届出て要求が承認されるのを待つ必要がある。第二の認証方法は事前共有された機密処理で、SCEPサーバは「チャレンジパスワード」を生成し、これは、どうにかして要求元に送達し、サーバに返される提出に含まれていなければならない。
【0003】
SCEPの生成を取り巻く全体的なセキュリティモデルは、比較的よくコントロールされた環境のモデルである。SCEPが、問題解決のため当初に設計された使用事例では、チャレンジパスワードは、高い信頼を得たCA管理者によって読み出され、高い信頼を得たネットワーク管理者に渡され、高い信頼を得たネットワークコンピューティングデバイスに対する証明書が生成される。多くの場合において、SCEPチャレンジは、同一の管理者がうまく読み出して用いることができる。
【0004】
ワシントン州レドモンドのMicrosoft(登録商標) Corporationは、Windows(登録商標) Server 2003以来、最初はフリーダウンロードができるアドオンコンポーネントとして、その後、Windows Server 2008では、(ネットワークデバイス登録サービス(NDES:Network Device Enrollment Service)ロールを介し)、ネイティブコンポーネントとして自社のCAソフトウェアのためにSCEPをサポートしてきた。Microsoft CorporationのSCEP実装は比較的にフル装備で、SCEPチャレンジパスワードの長さを設定すること、SCEPチャレンジの要件をオンまたはオフにすること、SCEPチャレンジの再使用を可能または不可能にすること、および使われていないSCEPチャレンジを有効と見なすべき最大時間を設定することを含め、様々な設定選択を可能にしている。
【0005】
カリフォルニア州クパチーノのApple Inc.が、SCEPを自社のモバイルオペレーティングシステム(iOSと言う)に加えたとき、SCEPで交信するクライアントコンピューティングデバイスの世界における台数は、数桁レベルで増加した。さらに同社は、SCEPを、最初にこのプロトコルが使われたセキュリティ調和的な環境から引きずり出した。高い信頼を得た管理者の管理の下で厳密にコントロールされたネットワークコンピューティングデバイスに対する証明書を用いる代わりに、今や、インターネットを介し、「あまり信頼を得ていない」コンピューティングデバイスとそのユーザとのSCEP登録を可能にするシステムを構築することが可能である。実際、多くのモバイルデバイス管理(MDM:Mobile Device Management)システムがこの種のアーキテクチャに頼っている。この考えられるセキュリティモデルのシフトは重要であり、これについては以下でさらに説明する。
【0006】
このSCEPチャレンジパスワードの非常に重要な一面は、これはPKCS#10フォーマットの証明書要求の提出に認可を与えるが、実際には、要求元を認証せず、識別さえもしないということである。なお、PKCSは、マサチューセッツ州ベッドフォードのRSA Laboratoriesによって作り出された公開鍵暗号規格である。さらに、SCEPチャレンジもSCEPサーバ自体も、提出され得る要求の種類または内容についていかなるコメントもしない。要するに、有効なSCEPチャレンジパスワードを所有することで、所有者は、自分が全部を選択した内容の証明書要求をSCEPサーバに提出する資格を得る。これは、SCEPが最初に生成された対象である当初の「管理者限定」のセキュリティモデルでは問題ないが、インターネットで広く使用されることになると心配の種となる。
【0007】
或るユーザまたはコンピューティングデバイスが、正当に入手した自分のSCEPチャレンジパスワードを選び、それを使って、より高度なレベルのアクセスを有する異なるユーザまたはコンピューティングデバイスを示す証明書を取得したり、あるいは、意図されたものと異なる種類の証明書を取得したりすることさえ可能になり得る。チャレンジパスワードが再使用または無効化されていると、攻撃者は正当なユーザである必要はないことになり、結果はもっとひどいことになる。
【0008】
この問題は、実際は、SCEPを利用するApple,Inc.、Cisco Systems,Inc.、Microsoft Corporationまたは無数のモバイルデバイス管理システムの「責任」ではない。むしろ、この問題はいくつかの要素の組み合わせがもたらしたものである。第一には、SCEPチャレンジパスワードは、SCEPサーバに証明書の要求を提出する許可を或る人に与えるが、その提出の内容に対してはいかなる要求もまたは強制も行わない。第二には、SCEPに対応しているiOS作動のコンピューティングデバイスは、信頼されていないネットワークから、およびあまり信頼できない(管理者でない)ユーザから発信されるSCEP要求に道を開いたものであり、多くのモバイルデバイス管理システムはこれを必要としている。第三には、ネットワーク認証の証明情報として使われる証明書を発行するため、Microsoft CorporationのCAのほとんどのデフォルトインストールを含め、多くの企業CAインストールが使われている。また、攻撃の実行には、Appleのコンピューティングデバイスを使う必要はなく、有効なSCEPチャレンジパスワード、およびSCEPサーバと通信する能力が必要なだけであることに留意するのが重要である。しかして、内部開発されたSCEPサーバ、または、リバースプロキシもしくはファイヤウォールによって保護されたサーバも攻撃されやすい。したがって、SCEP証明書登録要求の正当性確認のための改良されたアーキテクチャが必要とされている。
【発明の概要】
【課題を解決するための手段】
【0009】
本明細書では、前述した従来技術の欠点の少なくとも一つを克服したモバイルコンピューティングデバイスおよび非モバイルコンピューティングデバイスの両方のための、データセキュリティシステムおよび方法を開示する。SCEP証明書登録要求の正当性を確認するためのコンピュータ実装の方法が開示され、本方法は、信頼できるユーザが、SCEPチャレンジ、および関連する該SCEPチャレンジに対する期待証明書内容のセットを登録することを可能にするステップと、通信ネットワークを介して証明書要求を電子的に受信するステップと、証明書要求のSCEPチャレンジが以前に登録されたSCEPチャレンジの1つに合致するかどうかをチェックし、合致する場合、証明書要求の内容が、合致した既登録のSCEPチャレンジに関連付けられた、以前に登録された期待証明書内容と合致するかどうかをチェックすることによって、電子的に該証明書要求の正当性を確認するステップと、を組み合わせで含む。証明書要求のSCEPチャレンジが以前に登録されたSCEPチャレンジに合致し、証明書要求の内容が、合致した既登録のSCEPチャレンジに関連付けられた登録済みの期待証明書内容と合致すれば、証明書が認可される。証明書要求のSCEPチャレンジが以前に登録されたSCEPチャレンジに合致しない、または、証明書要求の内容が、合致した既登録のSCEPチャレンジに関連付けられた登録済みの期待証明書内容と合致しない場合は、証明書は拒否される。
【0010】
同様に、SCEP証明書登録要求の正当性を確認するためのシステムが開示され、本システムは、信頼できるユーザから、SCEPチャレンジ、および関連する該SCEPチャレンジに対する期待証明書内容のセットを登録する要求を電子的に受信し、通信ネットワークを介してコンピューティングデバイスから証明書要求を電子的に受信するためのSCEPサーバと、信頼できるユーザにSCEPチャレンジを発行するためのSCEP発行システムと、証明書要求の正当性を電子的に確認するためのSCEP正当性確認サービスと、を組み合わせで含む。SCEP正当性確認サービスは、証明書要求のSCEPチャレンジが以前に登録されたSCEPチャレンジに合致するかどうかをチェックし、合致する場合、証明書要求の内容が、合致した既登録のSCEPチャレンジに関連付けられた、以前に登録された期待証明書内容と合致するかどうかをチェックすることによって、証明書要求の正当性を電子的に確認する。SCEP正当性確認サービスは、証明書要求のSCEPチャレンジが登録されたSCEPチャレンジに合致し、証明書要求の内容が、合致した既登録のSCEPチャレンジに関連付けられた登録済みの期待証明書内容と合致すれば、証明書を認可する。SCEP正当性確認サービスは、証明書要求のSCEPチャレンジが、合致する登録済みのSCEPチャレンジを持たない、または、証明書要求の内容が、合致した既登録のSCEPチャレンジに関連付けられた期待証明書内容の登録済みセットと合致しない場合、証明書を拒否する。
【0011】
また、SCEP証明書登録要求の正当性を確認するためのシステムも開示され、本システムは、信頼できるユーザから、SCEPチャレンジ、および関連する該SCEPチャレンジに対する期待証明書内容のセットを登録する要求を電子的に受信し、通信ネットワークを介してコンピューティングデバイスから証明書要求を電子的に受信するためのSCEPサーバと、信頼できるユーザにSCEPチャレンジを発行するためのSCEP発行システムと、証明書要求の正当性を確認するよう構成された正当性確認ソフトウェアと、を組み合わせで含む。この正当性確認ソフトウェアは、証明書要求のSCEPチャレンジが以前に登録されたSCEPチャレンジに合致するかどうかをチェックし、合致する場合、証明書要求の内容が、合致した既登録のSCEPチャレンジに関連付けられた、以前に登録された期待証明書内容と合致するかどうかをチェックすることによって、証明書要求の正当性を確認する。正当性確認ソフトウェアは、証明書要求のSCEPチャレンジが登録されたSCEPチャレンジに合致し、証明書要求の内容が、合致した既登録のSCEPチャレンジに関連付けられた登録済みの期待証明書内容と合致すれば、証明書を認可する。正当性確認ソフトウェアは、証明書要求のSCEPチャレンジが、合致する登録済みのSCEPチャレンジを持たない、または、証明書要求の内容が、合致した既登録のSCEPチャレンジに関連付けられた期待証明書内容の登録済みセットと合致しない場合、証明書を拒否する。
【0012】
当業者には、前述の開示および以下の好適な様々の実施形態のさらに詳しい説明から、本発明が、モバイルデータセキュリティのためのシステムおよび方法の技術上および技法上の大きな進歩を提供することが自明であろう。この面で特に意義深いのは、本発明が、比較的低コストで効果的なモバイルデータセキュリティの提供を可能にする潜在力である。様々な好適な実施形態のさらなる特徴および利点は、以下に提示する詳細な説明を参照すればよりよく理解できよう。
【0013】
本発明のこれらのおよびさらなる特徴は、以下の説明および図面を参照すれば明らかとなろう。
【図面の簡単な説明】
【0014】
図1】本発明の第一例示実施形態による、通信ネットワークを介してコンピューティングデバイスから要求を受信するためのデータセキュリティシステムの概略図である。
図2図1のデータセキュリティシステムのためのSCEP登録プロセスの第一部分の概略図である。
図3図1のデータセキュリティシステムのためのSCEP登録プロセスの第二部分の概略図である。
図4】本発明の第二例示実施形態による、通信ネットワークを介してコンピューティングデバイスから要求を受信するためのデータセキュリティシステムの概略図である。
図5図4のデータセキュリティシステムのためのSCEP登録プロセスの第二部分の概略図であって、このSCEP登録プロセスの第一部分は、図2に示されたものと類似である。
図6】本発明の第三例示実施形態による、通信ネットワークを介してコンピューティングデバイスから要求を受信するためのデータセキュリティシステムの概略図である。
図7図6のデータセキュリティシステムのためのSCEP登録プロセスの第二部分の概略図であって、このSCEP登録プロセスの第一部分は、図2に示されたものと類似である。
図8】本発明の第四例示実施形態による、通信ネットワークを介してコンピューティングデバイスから要求を受信するためのデータセキュリティシステムの概略図である。
図9図8のデータセキュリティシステムのためのSCEP登録プロセスの第二部分の概略図であって、このSCEP登録プロセスの第一部分は、図2に示されたものと類似である。
図10】本発明のさらなる例示実施形態による、通信ネットワークを介してコンピューティングデバイスから要求を受信するためのデータセキュリティシステムの概略図である。
図11図1〜10のデータセキュリティシステムおよび方法に対する、SCEPチャレンジおよび関連する正当性確認データの例を示す表である。
【発明を実施するための形態】
【0015】
当業者、すなわち、この技術分野の知識または経験を有する人には、本明細書に開示するデータセキュリティのためのシステム、方法に対し多くの用法および設計の変形が可能なことが自明であろう。以下の様々な代替的および好適な実施形態の詳細な説明は、iOS作動のモバイルコンピューティングデバイスに関連させて本発明の一般的原理を例示するものであるが、当業者には、本開示の利点を所与とした、他の用途に適した他の実施形態および変形が明らかであろう。例えば、モバイルコンピューティングデバイスが追加でもしくは代わりに他のオペレーティングシステムを実行している、および/または、コンピューティングデバイスに非モバイルデバイスが追加されるもしくはコンピューティングデバイスがこれで代替される場合の用途。モバイルコンピューティングデバイスとは、例えば、携帯電話、スマートフォン、タブレットコンピュータ、個人情報端末(PDA:personal digital assistants)、企業情報端末、計算器、携帯用ゲーム機、携帯メディアプレイヤー、デジタルスチルカメラ、デジタルビデオカメラ、ページャー、個人ナビゲーションデバイス(PND:personal navigation devices)など、小型携帯用コンピューティングデバイスである。非モバイルデバイスとは、例えば、デスクトップコンピュータ、携帯用コンピュータ(ラップトップ、ノートブック型など)、ネットブック、ワークステーション、サーバ、メインフレーム、スーパーコンピュータなど、小型携帯用デバイスではないコンピューティングデバイスである。
【0016】
ここで図面を参照すると、図1は、本発明の第一例示実施形態による、SCEP証明書登録要求の正当性を確認するためのデータセキュリティシステム10を示す。例示のデータセキュリティシステム10は、SCEPサーバ12およびSCEP発行システムを含み、その各々は、通信ネットワーク18を介して複数のコンピューティングデバイス16と通信している。SCEPサーバ12は、任意の適した型のサーバとすることができ、該サーバは認証局20と直接に通信している。例示の認証局20はMicrosoft認証局であるが、任意の他の適切な認証局20を代わりに用いることができる。例示のSCEP発行システム14は、オハイオ州インディペンデンスのCertified Security Solutions,Inc.(CSS Inc.)から入手可能なモバイル証明書管理システム(mCMS:mobile Certificate Management System)であるが、代わりに任意の他の適切なSCEP発行システム14とすることも可能である。例示のコンピューティングデバイス16は、例えば、Apple Inc.から入手可能なiPhone(登録商標)、iPad(登録商標)、およびiPod Touch(登録商標)など、iOSを実行するモバイルコンピューティングデバイスであるが、このコンピューティングデバイス16は、上記に換えて任意の他の適した型のコンピューティングデバイス16としてもよく、および/または、例えば、Mac OS(登録商標)、Android(登録商標)、Windows Phone(登録商標)など任意の他の適切なオペレーティングシステムを実行してもよい。例示の通信ネットワーク18はインターネットであるが、これに換えて任意の他の適切な通信ネットワークとすることもできる。
【0017】
SCEP発行システム14に対し正当性確認サービスを提供するSCEP正当性確認サービス22は、SCEP発行システム14と認証局20との間に配置される。すなわち、SCEP発行システム14はSCEP正当性確認サービス22と直接通信し、SCEP正当性確認サービス22は認証局20と直接通信している。SCEP正当性確認サービス22の主な機能は、SCEPチャレンジパスワードと期待証明書要求内容のセットとをペアにさせることである。SCEP正当性確認サービス22に対し、様々なメカニズムでこれらのペア化を実施するよう命令することができる。
【0018】
例示のSCEP正当性確認サービス22は、典型的なサービス指向アーキテクチャ(SOA:Service−oriented Architecture)コンポーネントとして実装され、サービス契約を介した緩やかな拘束を可能にし、マルチプラットフォームの相互運用性を提供している。例示のSCEP正当性確認サービス22のサービスは、HTTPS上で実行されるSOAPベースのウェブサービスとして公開される。これに換えて、同じサービスをTCPまたは名前付きパイプなどで実行可能であるが、真の「ウェブサービス」はHTTPS上で実行される。例示のウェブサービスは、.NET技術を使って構築されており、ウェブサービスのフレームワークとしてWCFを利用している。Microsoftのインターネット情報サービス(IIS:Internet Information Services)ウェブサーバは、SCEP発行システム14およびSCEP正当性確認サービス22の両方を直接にホストしている。これら2つのシステムは、必要に応じ、同一の物理マシン上に置くこともでき、あるいは異なるマシンに分置することも可能である。HTTPベースのウェブアプリケーションおよびウェブサービスは、通常、プロトコルレベルではステートレスである。しかしながら、ステートレスな性質のHTTPを用いるので、SCEPチャレンジデータに対するデータモデルとして機能するためにはステートフルなコンポーネントが必要となる。例示のデータセキュリティシステム10は、SCEP発行システム14によってデータが提出されたときから、SCEP実施モジュール24によって正当性確認要求が行われるときまでの間、SCEPチャレンジをインメモリに保持できるコンポーネントが必要である。例示のSCEP正当性確認サービス22はこの役割を満たし、ステートフルなSingletonコンポーネントとして実装され、同一のインスタンスが、証明書登録プロセスの全期間中の間アクティブのままでいることを可能にする。
【0019】
SCEP実施モジュール24は、SCEP正当性確認サービス22と認証局20とを結合するのに用いられ、認証局20によってホストされる。例示のSCEP実施モジュール24は、Microsoft認証局20のためのポリシーモジュールとして実装され、ICertPolicy2のCOMインターフェースを固守する。Microsoft’ Corporationのアーキテクチャは、全てのポリシーモジュールが、ICertPolicy2インターフェースに対応するCOMオブジェクトとして実装されていることを必要とする。COMオブジェクトを生成する際にはいくつかの技術的選択肢があるが、用いられる技術の如何にかかわらずCOMオブジェクトが必要である。例示のMicrosoft認証局24はポリシーモジュールを1つだけ有することができるので、SCEP実施モジュール24は、SCEPチャレンジを包含する証明書要求が受信されるまで、主として「シム(shim)」としての役割をし、全ての通信をオリジナルのポリシーモジュールに向け通過させる。受信されたとき、SCEP実施モジュール24は、標準的なポリシーモジュールの機能の組み合わせを用い、証明書要求の構文解析をして、証明書要求から関係情報を取得し、チェックのためにSCEP正当性確認サービス22にその情報を渡す。SCEP正当性確認サービス22が、該情報が期待されたものと合致しないことを示す場合、SCEP実施モジュール24は要求を拒否する。
【0020】
図2に最もよく示されているように、SCEP正当性確認サービス22は、SCEP発行システム24が、信頼できるユーザからの許可されたSCEPチャレンジデータセットを登録することを可能にする。本明細書および特許請求の範囲中で用いる用語「信頼できるユーザ」とは、証明書および内容の提出を行うに値する人またはコンピューティングデバイスを意味する。ほとんどの場合、要求を行う信頼できるユーザは、CSS Inc.のmCMSなど、諸デバイスに証明書の登録をするよう命令するソフトウェアであろう。これらの登録されたSCEPチャレンジデータセットは、サービスがメモリからアンロードされるか、もしくは個別のデータセットがサービスの正当性確認側から除去されるまで格納される。このSCEPチャレンジデータセットは、例えば、RAM(SRAM、DRAM)、フラッシュ、ROM/PROM/EROM/EEROM/仮想メモリ、キャッシュメモリ、永続メモリ、ハードドライブ、テープドライブ、磁気ディスク、光ディスクなど、任意の適切なメモリまたはストレージ中に格納すればよい。iOS作動のコンピューティングデバイス16は、登録のため、通信ネットワーク18を介してSCEP発行システム14と会話を開始し、該システム14は、例示の実施形態ではmCMSウェブサイトである。SCEP発行システム14は、SCEPチャレンジに対する、すなわちSCEPチャレンジパスワードに対する要求を、SCEPサーバ12に送信し、SCEPサーバ12はSCEPチャレンジをSCEP発行システム14に返す。SCEP発行システム14は、次いで、SCEP正当性確認サービス22を使って、生成されたSCEPチャレンジデータセットを格納する。このSCEPチャレンジデータセットは、例えば、RAM(SRAM、DRAM)、フラッシュ、ROM/PROM/EROM/EEROM/仮想メモリ、キャッシュメモリ、永続メモリ、ハードドライブ、テープドライブ、磁気ディスク、光ディスクなど、任意の適切なメモリまたはストレージ中に格納すればよい。なお、例示のSCEP正当性確認サービス22は、SCEPチャレンジデータセットを格納するのに適したデータベース26を備えている。また、SCEP発行システム14は、iOS作動のコンピューティングデバイス16に対する.mobileconfigファイルの形で、モバイル構成を生成し、そのモバイル構成を、通信ネットワーク18を介してコンピューティングデバイス16に送信する。次いで、コンピューティングデバイス16が鍵ペアを生成する。PKCS#10要求を生成するためにはRSA鍵ペアが必要である。公開鍵は、PKCS#10要求の中で提出され、CAが発行する証明書の中に組み込まれる。この設計は、秘密鍵がコンピューティングデバイス16上で生成されることになるので、通信ネットワーク18を介して鍵を送る必要がなくこれによってセキュリティが高まる。
【0021】
図3に最もよく示されているように、SCEPサーバ12が、コンピューティングデバイス16からPKCS#10要求の形で証明書要求を受信したとき、SCEPサーバ12は、要求元が、その特定の証明書を要求することを許可されているかどうかを判定する。この判定は、証明書に対する要求を認証局20に送信することによって行われ、これはプラグインポリシーモジュールまたはSCEP実施モジュール24によって受信され、該モジュールは、SCEP正当性確認サービス22を用いて、要求の正当性を確認するためのチェックをする。SCEP正当性確認サービス22は、該要求が、当該証明書要求のSCEPチャレンジおよび期待内容を含め、以前に格納されている登録済みSCEPチャレンジデータセットのどれかと合致するかどうかをチェックする。図11は、SCEPチャレンジおよび関連する正当性確認データの例を示す。合致するSCEPチャレンジデータセットが見出された場合、肯定応答がコンピューティングデバイス16に返され、当該SCEPチャレンジデータセットは内部データストアから除去される。この肯定応答は、SCEP正当性確認サービス22がプラグインポリシーモジュール24に肯定応答を送信し、プラグインポリシーモジュール24が認可応答を認証局20に送信し、認証局20が認可応答をSCEPサーバ12に送信し、そしてSCEPサーバ12が証明書を生成してコンピューティングデバイス16に送信することによって、コンピューティングデバイス16に返され、デバイス16は証明書をインポートする。許可されたSCEPチャレンジは、SCEP正当性確認サービス22によって格納され管理される。この許可されたSCEPチャレンジは、例えば、RAM(SRAM、DRAM)、フラッシュ、ROM/PROM/EROM/EEROM/仮想メモリ、キャッシュメモリ、永続メモリ、ハードドライブ、テープドライブ、磁気ディスク、光ディスクなど、任意の適切なメモリまたはストレージ中に格納すればよい。合致するSCEPチャレンジデータセットが見出せない場合、コンピューティングデバイス16には否定応答が返され、証明書はコンピューティングデバイス16に提供されない。
【0022】
図4は、本発明の第二例示実施形態による、SCEP証明書登録要求の正当性を確認するためのデータセキュリティシステム10Aを示す。第二例示実施形態によるデータセキュリティシステム10Aは、SCEP正当性確認サービス22がSCEPサーバ12の前に移動されていることを除けば、前述の第一例示実施形態によるデータセキュリティシステム10とほぼ同じである。すなわち、SCEPサーバ12は、証明書要求を認証局20に送る前に、SCEP正当性確認サービス22を用いて該証明書要求の正当性を確認する。例示のシステム10Aは、相互に直接に通信し各々が通信ネットワーク18を介してコンピューティングデバイス16と通信している、SCEPサーバ12およびSCEP発行システムを含む。SCEPサーバ12は、認証局20と直接通信している。SCEP発行システム14に正当性確認サービスを提供するSCEP正当性確認サービス22は、SCEPサーバ12およびSCEP発行システム14と直接に通信しており、SCEPサーバ12はSCEP正当性確認サービス22と認証局20との間に配置されている。SCEP正当性確認サービス22の主な機能は、SCEPチャレンジパスワードと期待証明書要求内容のセットとをペアにさせることである。
【0023】
図5に最もよく示されているように、SCEPサーバ12が、コンピューティングデバイス16からPKCS#10要求の形で証明書要求を受信したとき、SCEPサーバ12は、要求元が、その特定の証明書を要求することを許可されているかどうかを判定する。この判定は、SCEP正当性確認サービス22に該要求の正当性を確認することを求めることによって行われる。SCEP正当性確認サービス22は、該要求が、当該証明書要求のSCEPチャレンジおよび期待内容を含め、以前に格納されている登録済みSCEPチャレンジデータセットのどれかと合致するかどうかをチェックする。合致するSCEPチャレンジデータセットが見出された場合、肯定応答がコンピューティングデバイス16に返され、当該SCEPチャレンジデータセットは内部データストアから除去される。この肯定応答は、SCEP正当性確認サービス22がSCEPサーバ12に肯定応答を送信し、SCEPサーバ12が証明書要求を認証局20に送信し、認証局20が認可応答をSCEPサーバ12に送信し、そしてSCEPサーバ12が証明書を生成してコンピューティングデバイス16に送信することによって、コンピューティングデバイス16に返され、デバイス16は証明書をインポートする。許可されたSCEPチャレンジは、SCEP正当性確認サービス22によって格納され管理される。合致するSCEPチャレンジデータセットが見出せない場合、その証明書要求は認証局20により阻止され、コンピューティングデバイス16には否定応答が返され、証明書はコンピューティングデバイス16に提供されない。
【0024】
図6は、本発明の第三例示実施形態による、SCEP証明書登録要求の正当性を確認するためのデータセキュリティシステム10Bを示す。第三例示実施形態によるデータセキュリティシステム10Bは、正当性確認機能がSCEPサーバ12によって実施されることを除けば、前述の第二例示実施形態によるデータセキュリティシステム10Aとほぼ同じである。すなわち、証明書要求を認証局20に送信する前に、SCEPサーバ12自体が、SCEPサーバ12中に常駐しているソフトウェアを使って証明書要求の正当性を確認する。例示のシステム10Bは、相互に直接に通信し各々が通信ネットワーク18を介してコンピューティングデバイス16と通信している、SCEPサーバ12およびSCEP発行システムを含む。SCEPサーバ12は、認証局20と直接通信している。SCEP発行システム14に正当性確認サービスを提供するSCEP正当性確認ソフトウェア28が、SCEPサーバ12中に常駐している。SCEP正当性確認ソフトウェア28の主な機能は、SCEPチャレンジパスワードと期待証明書要求内容のセットとをペアにさせることである。
【0025】
図7に最もよく示されているように、SCEPサーバ12が、コンピューティングデバイス16からPKCS#10要求の形で証明書要求を受信したとき、SCEPサーバ12は、要求元が、その特定の証明書を要求することを許可されているかどうかを判定する。この判定は、要求の正当性を確認するため、SCEP正当性確認ソフトウェア28を使い内部で行われる。SCEP正当性確認ソフトウェア28は、該要求が、当該証明書要求のSCEPチャレンジおよび期待内容を含め、以前に格納されている登録済みSCEPチャレンジデータセットのどれかと合致するかどうかをチェックする。合致するSCEPチャレンジデータセットが見出された場合、肯定応答がコンピューティングデバイス16に返され、当該SCEPチャレンジデータセットは内部データストアから除去される。この肯定応答は、SCEP正当性確認ソフトウェア28が肯定応答を提供し、SCEPサーバ12が証明書要求を認証局20に送信し、認証局20が認可応答をSCEPサーバ12に送信し、そしてSCEPサーバ12が証明書を生成し、コンピューティングデバイス16に送信することによって、コンピューティングデバイス16に返され、デバイス16は証明書をインポートする。許可されたSCEPチャレンジは、SCEP正当性確認サービス22によって格納され管理される。合致するSCEPチャレンジデータセットが見出せない場合、証明書要求は認証局20によって阻止され、コンピューティングデバイス16には否定応答が返され、証明書はコンピューティングデバイス16に提供されない。
【0026】
図8は、本発明の第四例示実施形態による、SCEP証明書登録要求の正当性を確認するためのデータセキュリティシステム10Cを示す。第四例示実施形態によるデータセキュリティシステム10Cは、正当性確認機能が認証局20によって実施されることを除けば、前述の第一例示実施形態によるデータセキュリティシステム10とほぼ同じである。すなわち、認可をSCEPサーバに送信する前に、認証局20自体が、認証局20中に常駐しているソフトウェアを使って証明書要求の正当性を確認する。例示のシステム10Cは、相互に直接に通信し各々が通信ネットワーク18を介してコンピューティングデバイス16と通信している、SCEPサーバ12およびSCEP発行システムを含む。SCEPサーバ12は、認証局20と直接通信している。SCEP発行システム14および認証局20に対し正当性確認サービスを提供するSCEP正当性確認ソフトウェア28が認証局20内に常駐している。
【0027】
図9に最もよく示されているように、SCEPサーバ12が、コンピューティングデバイス16からPKCS#10要求の形で証明書要求を受信したとき、SCEPサーバ12は、要求元が、その特定の証明書を要求することを許可されているかどうかを判定する。この判定は、証明書に対する要求を認証局20に送信することによって行われ、認証局は、要求の正当性を確認するためSCEP正当性確認ソフトウェア28を使ってチェックする。SCEP正当性確認ソフトウェア28は、該要求が、当該証明書要求のSCEPチャレンジおよび期待内容を含め、以前に格納されている登録済みSCEPチャレンジデータセットのどれかと合致するかどうかをチェックする。合致するSCEPチャレンジデータセットが見出された場合、肯定応答がコンピューティングデバイス16に返され、当該SCEPチャレンジデータセットは内部データストアから除去される。この肯定応答は、SCEP正当性確認ソフトウェア28が肯定応答を提供し、認証局20が認可応答をSCEPサーバ12に送信し、そしてSCEPサーバ12が証明書を生成し、コンピューティングデバイス16に送信することによって、コンピューティングデバイス16に返され、デバイス16は証明書をインポートする。許可されたSCEPチャレンジは、SCEP正当性確認ソフトウェア22によって格納され管理される。合致するSCEPチャレンジデータセットが見出せない場合、コンピューティングデバイス16には否定応答が返され、証明書はコンピューティングデバイス16に提供されない。
【0028】
図10は、本発明の第五例示実施形態による、SCEP証明書登録要求の正当性を確認するためのデータセキュリティシステム10Dを示す。第二例示実施形態によるデータセキュリティシステム10Dは、該システムが、証明書要求が正当である場合にだけその証明書要求がSCEPサーバ12に通ることを許可する、SCEPプロキシ28を用いることを除けば、前述の第一例示実施形態によるデータセキュリティシステム10とほぼ同じである。この実施形態では、SCEPプロキシ28の中にV−SCEP技術が直接組み込まれる。コンピューティングデバイス16は、まず、通信ネットワーク18を介して、ウェブサーバ14中に常駐するmCMSに登録する。この登録の過程で、SCEPデータセットが中央データベース26に登録される。証明書発行のため、コンピューティングデバイス16は、そのPKCS10要求を生成し、SCEPプロキシ28に送信する。SCEPプロキシ28は、コンピューティングデバイス16からのPKCS10要求の内容をデータベース26中の登録済みSCEPデータセットと対比する。要求内容の正当性確認に合格した場合、SCEPプロキシ28は、該SCEP要求を実際のSCEPサーバ12に転送する。次いで、SCEPサーバ12は、証明書を発行し、証明書の内容をSCEPプロキシ12に返し、SCEPプロキシは、発行された証明書をコンピューティングデバイス16に送信する。
【0029】
なお、上記で例示された実施形態の特徴および変形の各々は、他の例示実施形態の各々と任意の組み合わせで用いることが可能である。
【0030】
前述の開示から、前述したデータセキュリティシステムおよび方法が、従来のSCEPベースのシステム中の、実際の攻撃をもたらしかねない理論的な特権拡大への脆弱性に対処可能なことは明らかである。また、前述したシステムおよび方法が、パフォーマンス効果的な仕方およびコスト効果的な仕方の両方でこの脆弱性に対処することも明らかである。例えば、正当性確認ステップを実施するソフトウェアを、システム内の任意の適切な場所の任意の適切なコンポーネントの中に常駐させることが可能なことなど、任意の適切な仕方でこの正当性確認ステップを設け実施させることができることもさらに明らかである。
【0031】
また、前述した特定の好適な実施形態の開示および詳細な説明から、本発明の真の範囲および精神から逸脱することなく、様々な修改、追加、および他の代替的実施形態が可能であることも明らかである。上記で取り上げた実施形態は、本発明の原理およびその実際的応用の最善の例を提示し、これにより、当業者が、意図された特定の用途に適した様々な実施形態において、様々な修改を加え本発明を活用できるようにするため、選択され説明された。全てのかかる修改および変形は、添付の特許請求の範囲が公正に、合法的に、および公平に権利を持つ特典に従って解釈されたとき、該請求に定められた本発明の範囲内に含まれる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11