JP2006252564A - フォーマットにとらわれない証明書発行のためのシステムおよび方法 - Google Patents

フォーマットにとらわれない証明書発行のためのシステムおよび方法 Download PDF

Info

Publication number
JP2006252564A
JP2006252564A JP2006067700A JP2006067700A JP2006252564A JP 2006252564 A JP2006252564 A JP 2006252564A JP 2006067700 A JP2006067700 A JP 2006067700A JP 2006067700 A JP2006067700 A JP 2006067700A JP 2006252564 A JP2006252564 A JP 2006252564A
Authority
JP
Japan
Prior art keywords
certificate
format
client
policy
issuing
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.)
Granted
Application number
JP2006067700A
Other languages
English (en)
Other versions
JP5010160B2 (ja
JP2006252564A5 (ja
Inventor
Charles F Rose Iii
エフ.ローズ ザ サード チャールズ
Gregory Kostal
コスタル グレゴリー
Paramasivam Muthukrishnan
パラマシバム ムトゥクリシュナン
Ravindra Nath Pandya
ナス パンディーヤ ラビンドラ
Scott C Cottrille
シー.コットリル スコット
Vasantha K Ravula
ケー.ラブラ バサンタ
Yarmolenko Vladimir
ヤルモレンコ ウラジミール
Yuhui Zhong
ユゥフイ ヂョン
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006252564A publication Critical patent/JP2006252564A/ja
Publication of JP2006252564A5 publication Critical patent/JP2006252564A5/ja
Application granted granted Critical
Publication of JP5010160B2 publication Critical patent/JP5010160B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q3/00Devices holding, supporting, or positioning work or tools, of a kind normally removable from the machine
    • B23Q3/155Arrangements for automatic insertion or removal of tools, e.g. combined with manual handling
    • B23Q3/1552Arrangements for automatic insertion or removal of tools, e.g. combined with manual handling parts of devices for automatically inserting or removing tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/20Automatic control or regulation of feed movement, cutting velocity or position of tool or work before or after the tool acts upon the workpiece
    • B23Q15/22Control or regulation of position of tool or workpiece
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/402Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/68Special signature format, e.g. XML format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles

Abstract

【課題】デジタル証明書の修正を可能とするシステムおよび方法を提供すること。
【解決手段】改良された証明書発行システムは、入力証明書および証明書要求を第1のフォーマットから第2のフォーマットに翻訳するための証明書翻訳エンジンを含む。証明書発行エンジンは、共通フォーマットでの入力要求上で動作する。発行エンジンは、その証明書発行ポリシーに従って証明書をクライアントに発行する。このポリシーは、実行時に使用することができるポリシー表現言語でのデータとして表現し、それによって、発行ポリシーの柔軟で効率的な変更がもたらされる。発行された証明書は、要求しているクライアントによって使用されるフォーマットに翻訳し直す。こうした翻訳は、要求しているクライアントへの証明書の引渡しに先立って、翻訳エンジンによって実行する。
【選択図】図3A

Description

本発明は、コンピューティングセキュリティに関し、より詳細には、サーバに対してクライアントを認証し、クライアント許可を決定するためのデジタル証明書の使用に関し、より詳細には、証明書発行システム(certificate issuing system)での共通フォーマットとの間でのこうした証明書の翻訳に関する。
証明書は、なにがしかの真理またはなにがしかの所有権を証明する文書である。コンピューティングの世界では、デジタル証明書は様々な機能を供する。たとえば、デジタル証明書は、何らかの実体(entity、たとえば、データの集合やハードウェアなど実体のあるもののこと)が、実際にそれが主張するものであることを確認することによって、その実体を認証することができる。デジタル証明書は、制限された資源に実体がアクセスする資格があることを確認することによって、その実体を許可することができる。デジタル証明書を使用して、改ざん防止の方法で、「ポリシー(policy)」、たとえば許可ポリシー、信頼ポリシーなどを取り込むこともできる。
証明書は非常に有用であり、現在のところ使用が増大している。セキュリティポリシーの表明および実施は、ますます重要な企業の能力となっている。証明書フォーマットの数も増えている。今日使用可能なより普及している証明書フォーマットのいくつかとして、X.509、セキュリティ表明マーク付け言語(SAML:Security Assertion Markup Language)セキュリティトークン、XrML1.2、およびMPEG−RELがある。MPEG−RELにはいくつかの変形があり、XrML2.x、MPEG ISO−REL、およびISO−RELを含むいくつかの名前がついていることに留意されたい。頭辞語MPEG−RELは、本明細書で使用されているように、これら上に記載された変形の少なくともすべてを指す。
上記の例示的な証明書の様々な機能およびフォーマットを説明するために、X.509の証明書は、それら自体のフォーマットに従い、通常は識別情報を表す。SAML証明書は、それら自体のXMLスキーマに従い、連合した識別情報ソリューションで広く使用される。XrML1.2およびMPEG−RELは、資源に対しての使用ポリシーを表現し、それら自体のXMLスキーマに従う。
今日、証明書を作成し使用するサービスおよび製品が存在する。しかし、新しいタイプの証明書が普及するとき、問題が起きる。現在、特定のフォーマットの証明書を使用する証明書発行システムは、他のフォーマットの証明書と互換性がないことがある。この結果、よくても、クライアントが適切にフォーマット化された証明書を得ようとするとき、またはどの証明書フォーマットがサーバによって要求されるのか、あらかじめ決定するようにクライアントに要求することによって非能率になる。最悪の場合、その結果、相互運用性を損なうことになる。
実施することができる1つの可能なソリューションは、様々なフォーマットの証明書を扱うことができる複数の並列の証明書発行サーバを維持することである。遺憾ながら、このソリューションは、証明書発行システムの実装および更新をより難しくする。複数のシステムを実装し維持するために必要となる努力は、使用されている各追加証明書発行者とともに増加する。
現行の証明書発行システムの他の弱点は、証明書を発行することができる環境、すなわち「証明書発行ポリシー(certificate issuing policy)」を修正することが難しいことである。現行のシステムでは、ポリシーは、証明書発行システムの2進コード中のコンパイルされたアルゴリズムとして、または具体的にモデル化された構成パラメータの「脆弱な(brittle)」セットとして表現される。実施ポリシーを変更するには、新しい証明書発行システムの再符号化、再コンパイリング、および配置転換が必要となる。したがって、実際問題として、証明書発行ポリシーは、証明書発行システムのプログラマによって予想されるポリシーに制限される。ポリシーを変更するためには、証明書発行システムを完全に再符号化しなければならないことがある。これにより、製品開発チームは、完遂するためにかなりの量の時間および努力を費やすことがある。
したがって、証明書発行においてさらなる相互運用性を提供するため、ならびに証明書発行ポリシーの変更をうまく進めるために、当業界には、まだ取り組むべきニーズがある。
当技術分野での上記識別された欠点を考慮して、本発明は、改善された証明書発行システム、およびこうした改善されたシステムによって実行すべき方法を提供する。
本明細書において提供される証明書発行システムは、入力証明書を共通フォーマットに翻訳するため、また生成された出力証明書をサポートされているどんなフォーマットにも翻訳するための、翻訳構成部品(構成部品:component)を含むことができる。したがって、システムは、フォーマットにとらわれないものとして説明することができる。共通の証明書発行ポリシーを実施する単一の証明書発行構成部品(issuing component)は、様々なフォーマットになる証明書上で動作することができる。発行構成部品によって発行される証明書はまた、要求しているクライアント向けのこうした証明書の引渡しに先立って、様々なフォーマットに翻訳することができる。
システムはまた、証明書発行ポリシーを表現するための新規な構成を含むことができる。このポリシーは、マーク付けポリシー表現言語で表現することができ、たとえば、実行時に証明書発行システムによって使用されるファイル中に記憶することができる。したがって、ポリシーは、ファイルを変更することによって容易に変更することができる。新しい発行ポリシーを適用し実施することができるように証明書発行システムの能力を拡張するために、ある種の技法も提供される。
本発明の他の利点および特徴は後述する。
本発明に従って証明書を発行するためのシステムおよび方法を、添付図を参照しながらさらに説明する。
本発明の様々な実施形態を完全に理解するために、以下の記述および各図で、ある具体的な詳細を説明する。しかし、本発明の様々な実施形態を不必要に分かりにくくするのを避けるために、しばしばコンピューティングおよびソフトウェアの技術に関連したある種のよく知られた詳細は、以下の開示では説明しない。さらに、後述する詳細のうちの1つまたは複数がなくても、本発明の他の実施形態を実施することができることが、当業者には理解されよう。最後に、以下の開示でのステップおよび順番を参照しながら様々な方法を説明するが、説明それ自体は本発明の実施形態の明白な実装形態を提供するためであり、各ステップおよびステップの順番は、本発明を実施するのに必要であると解釈すべきではない。
本明細書において説明される各装置および各方法は、全般的にデジタル証明書の発行に関係する。用語「証明書」は、本明細書においては「デジタル証明書」の短縮形態として使用されている。背景で述べたように、証明書は、なにがしかの真理またはなにがしかの所有権を証明する文書である。用語「証明」は、正しく、真実で、または真正であると確認することを意味する。したがって、本明細書においてクライアントと称される第1の構成要素(実体、エンインティティ)は、証明書を使用して、それ自体についての何らかの事実を、第2の構成要素、サーバに確認することができる。証明書は通常、必ずではないが、信頼される第3者によって発行される。本明細書で使用されているように、証明書は、自己生成した文書またはトークンから、1つまたは複数の公開/秘密鍵の技法などによる暗号化などの多くのセキュリティ機能を用いて、信頼される第3者によって発行される非常に信頼されるデジタルファイルまで、多岐にわたることがある。証明書によって証明される「なにがしか」は、どんなものでもよい。通常は、クライアントの識別情報および/または、何らかの資源の取得またはそれへのアクセスのためのクライアントの許可を証明することができるが、他のどんなものも証明することができる。
信頼される第3者は、本明細書において証明書発行システムと呼ばれる。用語「証明書発行システム」はまた、本明細書および当業界において「証明書発行サービス」と呼ばれることもあり、便宜上単に用語「発行者」と呼ばれることもある。証明書発行システムは、特定のクライアントが、証明書を受け取る資格があるかどうか決定する。資格がある場合、クライアントは証明書を発行され、次いで、証明書を使用してサーバに対して証明することができる。
クライアントおよびサーバは、2つの完全なコンピューティング装置として考えることができ、各々はハードドライブ、バス、システムメモリなどを含むが、現在、当業者にはこれらの用語はより広い意味で理解される。クライアントおよびサーバは事実上、単一のコンピューティング装置内、または分散したコンピューティング構成における複数のコンピュータにまたがって存在する2つの構成要素でよい。この点に関しては、証明書発行システムもまた、1つまたは複数のクライアント、および、1つまたは複数のサーバ構成要素を収容するコンピュータ内に存在してもよく、複数の装置にまたがって存在してもよい。
図1を参照しながら、証明書発行システムとともに使用するのに適した例示的なコンピューティング装置100を広く説明する。そのもっとも基本的な構成において、装置100は通常、処理ユニット102およびメモリ103を含む。コンピューティング装置の正確な構成およびタイプに応じて、メモリ103は、揮発性メモリ103A(RAMなど)、不揮発性メモリ103B(ROM、フラッシュメモリ、など)、またはその2つの何らかの組合せでよい。さらに、装置100は、磁気的または光学的なディスクあるいはテープなど、大容量記憶装置(取外し可能な記憶装置104および/または取外し不可能な記憶装置105)を備えることもできる。同様に、装置100は、キーボードおよびマウスなどの入力装置107、ならびに/またはコンピューティング装置100の各機能にアクセスするグラフィカルな支援としてGUIを提示する表示装置などの出力装置106を備えることができる。装置100の他の態様には、有線または無線の媒体を使用する、他の装置、コンピュータ、ネットワーク、サーバ、などへの通信接続108が含まれ得る。
揮発性メモリ103A、不揮発性メモリ103B、取外し可能な大容量記憶装置104および取外し不可能な大容量記憶装置105は、コンピュータ読取り可能な媒体の例である。コンピュータ読取り可能な媒体は、通信媒体ならびにコンピュータ記憶媒体を備えることができる。通信媒体は通常、コンピュータ読取り可能な命令、データ構造、プログラムモジュールあるいは、搬送波または他の輸送機構など変調されたデータ信号中の他のデータを含み、どんな情報引渡し媒体をも含む。用語「変調されたデータ信号」は、その特性のうちの1つまたは複数が、信号に情報を符号化するような方法で設定または変更された信号を意味する。一例として、限定するものではないが、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体、および、音響、RF、赤外線、他の無線媒体などの無線媒体が含まれる。
コンピュータ記憶媒体は、コンピュータ読取り可能な命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するための、どんな方法または技術でも実装することができる。コンピュータ記憶媒体には、それだけには限定されないが、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは他のどんな媒体も含まれる。
本発明は、少なくとも部分的には、コンピュータ100によって実行されているプログラムモジュールなどのコンピュータ実行可能な命令を介して、実装することができる。一般的に、プログラムモジュールには、具体的なタスクを実行しまたは具体的な抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、などが含まれる。
コンピュータ実行可能な命令は、一般的に、コンピュータ100が使用可能な何らかの形態のコンピュータ読取り可能な媒体上のデジタル情報として含まれる。図1では、たとえば、システムメモリ103は、オペレーティングシステムおよびアプリケーションプログラム、ならびに、他のプログラムモジュールおよびプログラムデータを記憶することができる。アプリケーションなどは、オペレーティングシステムと一緒にすることもでき、また別々に存在し、オペレーティングシステムサービスに頼って機能することもできる。
本明細書に記載の本発明の各実施形態は、ソフトウェア実装でよいが、本明細書に記載の様々な技法もまた、ハードウェア構成部品を少なくともいくつかのプログラムモジュールで置き換えることによって実装することができることを理解されたい。したがって、本発明の各方法および各装置、あるいは、ある態様またはその各部分は、高水準の手順言語またはオブジェクト指向プログラミング言語でのプログラムコードの形をとることができるが、各プログラムはまた、必要ならば、アセンブリ言語またはマシン言語で実装することもできる。どんな場合でも、言語は、コンパイルまたは翻訳された言語でよく、ハードウェア実装と組み合わせてもよい。
本発明は、数多くの汎用または特殊目的のコンピューティングシステムの環境または構成で動作可能である。本発明とともに使用するのに適した、よく知られたコンピューティングシステム、環境、および/または構成の例には、それだけには限らないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブル家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置などのうちのどんなものをも含む分散コンピューティング環境が含まれる。
図2には、例示的なネットワーク化されたコンピューティング環境が示してある。ネットワークは、コンピューティング装置271、272、276、および277、ならびにオブジェクト273、274、および275、ならびにデータベース278を含む。これらの構成要素271、272、273、274、275、276、277および278の各々は、プログラム、方法、データ格納、プログラマブルロジックなどを含み、または使用することができる。構成要素271、272、273、274、275、276、277および278は、携帯型情報端末、オーディオ/ビデオ装置、MP3プレーヤー、パーソナルコンピュータなど、同じまたは別の装置の各部分にまたがることができる。各構成要素271、272、273、274、275、276、277および278は、通信ネットワーク270を介して、他の構成要素271、272、273、274、275、276、277および278と通信することができる。
ネットワーク上の装置は、プロトコル層によって提供される機能を使用して互いに通信する。たとえば、ハイパーテキスト転送プロトコル(HTTP)は、ワールドワイドウェブ(WWW)、すなわち「ウェブ」と関連して使用される共通のプロトコルである。通常、インターネットプロトコル(IP)アドレスなどのコンピュータネットワークアドレス、またはユニバーサルリソースロケータ(URL)などの他の参照基準を使用して、サーバまたはクライアントコンピュータを互いに識別することができる。ネットワークアドレスは、URLアドレスと呼ばれることもある。通信は、通信媒体を介して提供することができる。たとえば、クライアントおよびサーバは、大容量通信のためのTCP/IP接続を介して互いに結合することができる。
ネットワークはそれ自体、図2のシステムにサービスを提供する他のコンピューティング構成要素を含み、それ自体、複数の相互接続ネットワークを表すことができる。各構成要素271、272、273、274、275、276、277および278は、他の構成要素271、272、273、274、275、276、277および278のうちの、1つまたは複数にサービスを要求するために、API、または他のオブジェクト、ソフトウェア、ファームウェアおよび/またはハードウェアを使用することがある、個別の機能プログラムモジュールを含むことができる。
「クライアント」は、それが関係していない他のクラスまたはグループのサービスを使用する、クラスまたはグループのメンバーである。コンピューティングにおいては、クライアントは、プロセス、すなわち大ざっぱに言えば他のプログラムによって提供されるサービスを要求する1組の命令またはタスクでよい。こうしたサービスは、たとえば、証明書発行システムによる証明書の発行でもよい。クライアントプロセスは、他のプログラムまたはサービス自体についてのどんな作業詳細も「知る」必要がなく、要求されたサービスを利用する。クライアント/サーバアーキテクチャ、特にネットワーク化されたシステムにおいて、クライアントは通常、他のコンピュータ、たとえばサーバによって提供される共用ネットワーク資源にアクセスするコンピュータである。図2の例では、どんな構成要素271、272、273、274、275、276、277および278も、環境に応じてクライアント、サーバ、または両者とみなすことができる。
サーバは通常、必ずしもそうではないが、インターネットなどの遠隔またはローカルなネットワークを介してアクセス可能な遠隔コンピュータシステムである。クライアントプロセスは、第1のコンピュータシステムで稼働することができ、サーバプロセスは、第2のコンピュータシステムで稼働することができ、通信媒体を介して互いに通信し、したがって、分散機能を提供し、複数のクライアントがサーバの情報収集能力を利用することができるようにする。どんなソフトウェアオブジェクトも、複数のコンピューティング装置またはオブジェクトをまたがって分散することができる。
したがって、本発明の実施形態は、証明書を要求するクライアント構成要素がネットワーク内の第1のコンピューティング装置、たとえば277に常駐する状況に取り組むことができる。クライアント構成要素が必要とする何らかの資源を備えることができるサーバ構成要素は、第2のコンピューティング装置、たとえば275に常駐することができる。証明書発行システムは、さらに第3のコンピューティング装置、たとえば271に常駐することもできる。
装置277のクライアントは、装置275のサーバに対していくつかのクライアント資格証明(client credential)を証明するための証明書を必要とすることを決定することができる。したがって、277のクライアントは、ネットワークバス270を横切って、271の発行者に要求を出す。要求それ自体は、以前に発行された1つまたは複数の証明書を含むことができる。271の発行者はさらに、そのクライアントが、要求した証明書を受け取る資格があるかどうか決定する。271の発行者は、証明書発行ポリシーを適用することによってこれを遂行する。277のクライアントが、ポリシーによって要求された資格証明を有する場合、要求された証明書は、271の発行者によって277のクライアントに発行することができる。次いで、クライアントは、275のサーバとの通信において、どんな数の他の証明書とも一緒に、発行された証明書を使用することができる。
図3Aには、証明書発行システムの翻訳構成部品の一部分が示してある。発行構成部品34は、図4および5により詳細に例示されている。本発明の様々な実施形態において、翻訳構成部品は、入力証明書を受け取るための実質上第1の構成部品、および証明書をクライアントに送達される前に処理するための実質上最後の構成部品にもなることができる。他の実施形態では、翻訳構成部品は、必要に応じて証明書発行システムのどんな場所においても使用することができる。
証明書を求める要求が証明書発行システムに届いた場合、第1のフォーマット30での第1の証明書などのどんな添付証明書も、翻訳ドライバ31に送ることができる。翻訳ドライバ31は、発行構成部品34の動作のために使用される共通フォーマットとの間で証明書を翻訳するように動作することができる。したがって、第1のフォーマット30での第1の証明書は、第2のフォーマットに翻訳することができる。こうした翻訳の結果が、第2のフォーマット33での第1の証明書である。
逆に言えば、発行構成部品34によって証明書が発行される場合、その証明書は、発行構成部品34によって生成されるフォーマットからクライアントによって必要とされるどんなフォーマットにも翻訳することができる。したがって、第2のフォーマット35での第2の証明書は、第3のフォーマットに翻訳することができる。こうした翻訳の結果は、第3のフォーマット37での第2の証明書である。この第3のフォーマットは、証明書を求めるクライアント要求とともに到達する1つまたは複数の証明書のフォーマット、たとえば30を含めて、どんな証明書フォーマットでもよい。
証明書翻訳構成部品は、可能な限り多くの証明書フォーマットを翻訳するよう最適に設計されている。この点に関しては、証明書翻訳構成部品は、X.509証明書、セキュリティ表明マーク付け言語(SAML)のセキュリティトークン証明書、XrML1.2証明書、およびMPEG−REL証明書を翻訳して、いくつかのより普及している例示的な証明書フォーマットを指定することができる。しかし、常にどれもこれも可能性がある証明書タイプすべてについて翻訳装置を設計することは、必ずしも経済的に実現可能ではないことがある。本発明は、翻訳構成部品による翻訳が可能な証明書タイプの数または具体的なフォーマットに限定されない。
新しい証明書フォーマットは当技術分野で絶えず生成されているので、追加の証明書フォーマットに対応するよう拡張することができるように翻訳構成部品を設計することは有益である。ドライバ31は、具体的な証明書30の様々な要素を、1つまたは複数のクラス、たとえば32によって提供される命令に基づく共通フォーマット証明書33へ変換することを管理することができる。図3Aの具体的な構成は、新しい証明書フォーマットに対応するために翻訳構成部品を拡張することができるため、有利である。しかし、ドライバ31および図3Aでの32、36の構成などのクラスは単に例示的であり、証明書をあるフォーマットから他のフォーマットに変換するのに、様々な構成が実行可能であることが当業者には理解されよう。
図3Aでは、共通フォーマットは第2のフォーマットと呼ばれている。共通フォーマットを選択することで、様々なフォーマットの入力証明書に含まれ得る様々なタイプの情報のすべてに対応するために可能な限り頑強なフォーマットを決定する。どんな証明書も、X.509フォーマット、セキュリティ表明マーク付け言語(SAML)のセキュリティトークンフォーマット、XrML1.2証明書、およびMPEG−RELフォーマットを含む共通フォーマットで働くように選択されて、いくつかのより普及している例示的な証明書フォーマットを指定することができるが、MPEG−RELが、本発明の実装形態向けに選択され、この目的には有利であると現在みなされている。MPEG−RELは、現在、もっともリッチで、もっとも頑強で、拡張可能な証明書フォーマットであるとみなされている。しかし、技術が進展するにつれ、他のより有利な証明書を開発することができる。
翻訳構成部品を使用することの他の有利な点は、様々な証明書フォーマットの各々が、それ自体の方法でポリシーを表現する事実からきている。特定のどんなフォーマットをも使用することは、発行者に行き渡るカスタムのアルゴリズムを必要とするため、現在の証明書発行者の相互運用性への障壁は、フォーマットの非互換性である。あらゆる既存の証明書作成者に共通フォーマットを採用するよう納得させることは期待できず、したがって、これらフォーマットは長期にわたって存在しつづけることになると仮定しなければならない。したがって、異種の証明書フォーマットおよびそれらの意味を共通の言語にマッピングまたは翻訳するための技法は、複数のフォーマットの体系的な衝撃を低減し、証明書の相互運用性の問題解決の方向の一ステップである。
正しい翻訳は、構文的および意味論的要求を満足させなければならない。前者は、翻訳された証明書が有効なフォーマットであることを要求する。後者は、翻訳された証明書が最初の証明書と同じ情報を運ぶことを要求する。しかし、ソースフォーマットがターゲットフォーマットよりも多くの情報を有する場合があり、それにより、翻訳における情報損失が避けられないものになる。したがって、本発明の実装形態の目標は、最善の努力をして他の情報を保存している間に、確実に情報が正しく翻訳されることである。
証明翻訳アルゴリズム32、26は、それらの機能に基づいて、2つのカテゴリに分類することができる。
構文レベル:コンストラクト間のマッピング
意味レベル:証明書間の翻訳
一実施形態では、このアルゴリズムの収集は、1組のクラスとして実装される。そのクラスのセットは、図3Aに証明書翻訳ドライバ31として示してある。翻訳ドライバ31の実施形態は、3つの構成部品、ドライバクラス、証明翻訳クラス、および構成クラスを含むことができる。ドライバクラスは、翻訳プロセスの総合的な協調を実行することができ、翻訳クラスを呼び出す。翻訳クラスは、実際の翻訳プロセスを実行することができ、構成クラスは、翻訳ドライバ31が動作するための必要な構成データを含むことができる。
第1の証明書フォーマットXrML1.2から第2の証明書フォーマットXrML2.0への翻訳の例示的な動作を示すために、以下の簡潔な例が含まれる。当業者には分かるように、MICROSOFT(登録商標)権利管理サーバ製品の第1バージョンは、そのポリシー評価を行うためにXrML1.2フォーマットでの証明書を使用した。しかし、権利管理サーバ製品の将来予定されているリリース版は、XrML2.0フォーマットでの証明書を使用することになる。したがって、以下は、翻訳構成部品の動作、および本明細書で提供される本発明がますます必要になることの両方の良好な例である。状況は以下の通りである。クライアントは、本発明を実装する仮想の権利管理サーバ製品に証明書要求を送る。要求それ自体は、証明書、たとえば図3Aでの証明書30をXrML1.2フォーマットで含む。XrML2.0は、証明書発行システム34によって使用される共通フォーマットである。
両方のフォーマットでの証明書を受け取り理解するために、1組の翻訳クラスが実装されている。XrML1.2フォーマットでの証明書30を用いて、要求をクライアントから受け取ったときに、これが遂行されると仮定すると、翻訳ドライバ31は、対応する証明書翻訳クラス32を作成し、構成データをそれに渡し、翻訳方法を呼び出す。証明書翻訳クラス32は、XrML1.2の証明書30の署名および妥当性時間間隔を妥当性検査し、それを翻訳してXrML2.0の相手方33に渡し、翻訳特有の情報を翻訳ドライバ31に返す。次いで、翻訳ドライバ31は、XrML2.0フォーマットでの証明書33を使用して権利管理サーバ34を呼び出す。この例では、権利管理サーバ34は、元々XrML2.0証明書を理解し、証明書発行動作を実行し、その結果を翻訳ドライバ31に送り返す。権利管理サーバ34によって発行されたXrML2.0証明書35を受け取った後、翻訳ドライバ31は、XrML2.0の証明書35を翻訳してXrML1.2の相手方37にする証明書翻訳クラス36を作成する。
図3Bは、入力証明書要求が発行者によってどのように扱われるかを示す。まず、要求はサーバ入口点301に届く。その最初のフォーマットでの証明書または他の要求情報、たとえば302は、翻訳層303と呼ばれる翻訳構成要素に渡される。証明書は必ずしも証明書要求を添付しなくてよいことに留意されたい。通常、何らかの形態で証明が行われ、証明書は証明すべき事実を確認検査するための有益な方法ではあるが、あらゆる証明書要求を添付する必要はない。様々なタイプの他の情報もまた、要求に含まれ得る。他の何らかの情報が使用される場合、証明書フォーマットが異なるのとやや同じように、情報の具体的なデータタイプも異なることがある。したがって、証明書翻訳層303は、302などの証明書をあるフォーマットから他のフォーマットに、または様々なフォーマットから単一のフォーマットに翻訳するように構成することができるが、証明書要求を添付することができるどんなデータも処理するように構成することもできる。こうしたデータは、入力証明書のように、単一の発行構成部品すなわち本明細書では証明書エンジン305によって使用することができる共通フォーマットに翻訳することができる。
図3Bでの入力情報は、第2のフォーマット304に変換することができる。入力情報がすでに第2のフォーマットである場合、もちろん翻訳は必要ない。次いで、要求304に関連した証明書および/または他の情報は、サーバ証明書エンジン305によって取り扱うことができる。
図3Cは、クライアント310が証明書を求める要求をサーバ313に送る、本発明の他の観点を示す。タイプ1の証明書は、クライアント310要求に関連している。タイプ1の証明書は、証明書翻訳エンジン(CTE)311によって、タイプ2の証明書など、発行者312によって使用される何らかの他のフォーマットに翻訳することができる。タイプ2の証明書は、発行エンジン312によって使用されて、クライアント310の要求を許可すべきかどうか決定する。発行エンジン312が第2のフォーマットでの証明書を発行する場合、CTE311は、それをクライアント310向けの第1のフォーマットに翻訳することができる。あるいは、発行エンジン312は、CTE311を再使用して第2のフォーマットの証明書から第1のフォーマットの証明書に翻訳することなしに、単にクライアント310向けの適切なフォーマットでの証明書を生成することができる。本発明の多くの実施形態では、CTE311は、複数の入力証明書タイプを扱うように構成することができることに留意されたい。こうした各タイプは、発行者312の操作のために共通のタイプに翻訳されることが好ましい。逆に言えば、クライアント310によって要求されるように、CTE311は、発行エンジン312からの第2のフォーマットの証明書を様々な証明書タイプのどんなものにも変換するように構成されることが好ましい。
システムを使用することによって利益を得ることができる例示的な状況の中で、図3Cに例示されたものは、クライアント装置および/またはプロセスの証明、クライアントライセンサ証明書(CLC:Client Licensor Certificate)要求の認可、およびデジタルコンテンツの権利のライセンシングである。
第1のフォーマットの証明書を用いて動作するクライアント(「v1クライアント」)を使用するユーザが、権利管理システムによって保護されたeメールを初めて開けようとする場合、例示的な証明の状況が生じる。この状況では、v1クライアントは、たとえば、現在クライアントマシンの識別情報を表すXrML1.2証明書であるv1マシンアカウント証明書(MAC:Machine Account Certificate)、およびWINDOWS(登録商標)ドメイン資格証明を証明書発行システム313に送ることがある。CTE311は、MACを翻訳して、現在クライアントマシンの識別情報を表すMPEG−REL証明書であるセキュリティプロセッサ証明書(SPC:Security Processor Certificate)にすることができ、そのSPCを発行エンジン312に与える。次いで、発行エンジンは、第2のフォーマット証明書、たとえば権利アカウント証明書(RAC:Rights Account Certificate)、これまでのところではクライアントマシン上のユーザの識別情報を表すMPEG−REL証明書を発行し、そのRACをCTE311に送ることがある。次いで、CTE311は、RACを翻訳して、第1のフォーマットの証明書、たとえばグループ識別情報証明書(GIC:Group Identity Certificate)、これまでのところではクライアントマシン上のユーザの識別情報を表すXrML1.2証明書にすることができる。次いで、発行システム313は、GICを用いてクライアント310に応答を返す。
例示的なCLC要求状況は、クライアント310が要求を発行システム313に送って、ユーザがオフラインで保護されたコンテンツのためのライセンスを発行するのを許可する証明書を得る状況である。この場合、CTE311は、要求に関連した入力RACを翻訳して、発行エンジン312によって処理することができるCLCにすることができる。あるいは、クライアント310は、CTE311によってSPCに翻訳されたGICを提出することができ、発行者312は、CTE311によってCLCに翻訳されたRACを返すことができる。
図3Cでのシステムなどがデジタルコンテンツ内の権利のライセンシングのために使用されることがある例示的な状況は、以下の通りである。権利保護されたコンテンツを使用するために、v1クライアント310は、ライセンシング要求を発行システム313に行うことができる。クライアント310は、v1発行ライセンス発行ライセンス(IL:Issuance License)、たとえば保護コンテンツの具体的な一部分に対する著者が指定した使用権を記述するXrML1.2証明書、およびGICを発行システム313に送ることがある。次いで、CTE311は、入力ILおよび入力RACを翻訳し、それらを発行エンジン312に与えることができる。発行エンジン312が、使用ライセンス(UL:Use License)、たとえば具体的なユーザが保護されたコンテンツの具体的な一部分にアクセスすることを許可するMPEG−REL証明書を、クライアント310に認可する場合、CTE311はまた、発行されたULを翻訳して、具体的なユーザがv1クライアント310によって使用される保護されたコンテンツの具体的な一部分にアクセスすることを許可するXrML1.2証明書などの、エンドユーザライセンス(EUL:End User License)にすることができる。次いで、発行システム313は、ULをクライアント310に送り返すことができる。
CTE311を実装するためにいくつかのソフトウェア設計を使用することができるが、当業者には分かるように、例示的なCTE設計は、3つの構成部品、CTEドライバ、証明翻訳クラス、および構成クラスを含むことができる。
この設計では、CTEドライバは、サーバ入口点301およびサーバ証明書エンジン305と対話する。証明書要求を受け取ったとき、ドライバは、対応する証明翻訳クラスを作成し、構成データを翻訳クラスに渡し、翻訳方法を呼び出す。次いで、証明翻訳クラスは、たとえばa)署名妥当性検査、b)証明書妥当性時間間隔満了時間、およびc)発行者を1組の信頼される発行者と比較することなどの技法を使用して、それが扱っている署名および妥当性時間間隔証明書を妥当性検査する。証明翻訳クラスはまた、証明書を翻訳して共通フォーマットの証明書の相手方にし、共通フォーマットの証明ストリングを、他の翻訳特有の情報とともに、CTEドライバに返すことができる。
次に、CTEドライバは、共通フォーマットの証明書を使用して証明書エンジン305を呼び出す。証明書エンジン305によって発行された生成された共通フォーマットの証明書を受け取った後、CTEドライバは、生成された共通フォーマットの証明書を翻訳して第3のフォーマット、たとえば最初の入力証明書のフォーマットでの相手方の証明書にする、証明翻訳クラスを作成する。
したがって、CTEについての例示的なワークフローは、以下の通り進むことができる。
クライアントから証明書要求を得る。
必要ならば、添付証明書を妥当性検査および復号化する。
復号化された証明書を共通フォーマットの相手方に変換する。
ある情報(Keys、SPCなど)に置き換えることもできる。
共通フォーマットの証明書で表現できないどんな情報も保存する。
証明書発行エンジンを呼び出す。
発行された共通フォーマット証明書を証明書発行エンジンから得る。
必要ならば、発行された共通フォーマットの証明書を復号化する。
復号化された発行済み共通フォーマットの証明書をクライアントフォーマット化された相手方に変換する。
以前のステップで保存された情報を使用することができる。
クライアントフォーマット化された証明書を暗号化および署名する。
クライアントフォーマット化された証明書をクライアントに送る。
図4には、証明書発行システムの発行構成部品の一部分が示してある。図3Aを参照しながら記述されているように、いったん翻訳が完了すると、翻訳された証明書表現は、図4に例示された様々な機能構成部品を使用して処理することができる。各図を不明瞭にするのを避けるため、翻訳構成部品は、図4または図5には例示されていない。様々な構成部品の例示的な統合については、図3Aを参照されたい。
クライアント40は、証明書を求めるその要求とともに1つまたは複数の請求を送る。請求とは、実体が証明書を受け取る資格があるかどうか決定するのに使用するために、その実体によって行われるあらゆる表明である。請求が真であると確認される場合、クライアント構成要素40は、資格証明を有していることを証明したことになる。証明書をクライアント40に発行するのに先立って、最終的に1つまたは複数の資格証明が証明書発行ポリシーによって必要とされることがある。こうした資格証明は、それ自体、1つまたは複数の証明書によって証明することができる。
認証41、許可42、および資格証明フォーマット化43は、発行構成部品によって実行することができる例示的な機能である。図4に例示したように、これらの機能は、連続して認証41、次いで許可42、次いで資格証明フォーマット化43の順に実行することができる。この順序は、あらゆる実施形態で必要になるわけではない。クライアント要求を満足させるために必要となるものに応じて、41、42、および43は、各々独立して実行しても、何らかのサブコンビネーションを実行しても、またこうした機能の1つまたは複数を図4に例示されていない他の何らかの機能とともに実行してもよい。
41、42、および43が連続して実行される場合、認証プロセス41は、まず、証明書要求をサポートするための請求をするクライアント40が、事実上クライアント40がその実体であると請求する実体かどうか決定することができる。これが証明されると、許可プロセス42は、クライアントが、要求された証明書を受け取ることを許可されているかどうか決定することができる。あるいは、許可プロセス42は、単にクライアント40の許可レベルを決定し、作成される証明書にそれを記録することができる。最後に、証明書がクライアント40の代わりに生成される場合、証明書にリストされるクライアント40の資格証明は、生成された証明書内で43によってフォーマット化することができる。以下は、証明書発行エンジン44によって適用することができる例示的なアルゴリズムを示す。
発行証明書(ユーザ入力証明書、サーバ発行ポリシー)
発行ポリシーに基づいて
ユーザ入力証明書を認証する
証明書発行についてサーバに権限を与える
結果として生じる証明書を以下のように構成する
クライアントエンジンが認証する必要があるものを作成する
発行ポリシーによって許可された認可を作成する
認可発行を許可する
必要な場合、許可するための拡張機能を呼び出す
許可を生成する
この許可の一部を生成するための拡張機能を呼び出す
必要な場合
ユーザ権利を許可として構成する
生成された証明書に署名する
証明書を返す
認証41、許可42、および資格証明フォーマット化43の機能を実行する一部分として、汎用のポリシー言語構文解析および実施エンジン44が証明書発行ポリシー45を適用することができる。実施すべきポリシーがエンジン44ではなく、実行時にエンジン44によって使用される発行ポリシー45で表されるという意味では、発行構成部品はデータ駆動型である。
従来技術での証明書発行システムは、証明書を生成する場合にポリシーを適用および実施するが、このポリシーは、従来技術の発行者では、証明書発行システム2進コードでのコンパイル済みアルゴリズムとして、または具体的にモデル化された、構成パラメータの「脆弱な」セットとして表される。その結果、従来技術の発行者での実施ポリシーを変更することは、新しい発行者の2進値を再符号化し、再コンパイルし、再配置することを要求する。すなわち、引き渡された発行者は、証明書発行システム著者によって予想されたポリシーのセットを実施することに制限される。
証明書発行エンジン44は、予想されたポリシー構造を、ほとんどまたは全く含むべきではない。代わりに、エンジン44は、実行時に遭遇する45から具体的なポリシーデータを受けるメタデータ駆動型ポリシー実施エンジンを含むべきである。このポリシーデータ45は、エンジン44が使用するために設計された汎用の拡張可能なポリシー表現言語を使用して表される。
エンジン44は、単一で、共通のポリシー表現言語上で動作し、45での使用可能なポリシーおよびデータに基づく許可決定を行うことが好ましい。この処理を一様なポリシー表現言語フォーマット上で実行することにより、エンジン44ロジックは、より簡潔で、より効率的になり、選ばれたポリシー表現言語に対して最適化することができる。データ駆動型であることにより、エンジン44は、新しいポリシー、意味または構造に対応するためにエンジン44ロジックを変更する必要もなく、広い範囲の表されたポリシーを評価することができる。各図で例示されているエンジン44は、ポリシー45を構文解析し実施するための機能構成部品、および証明書を生成するための機能構成部品を両方含む。エンジン44によって生成される証明書の形態は、発行ポリシーのその他の側面に加えて、ポリシー45によって管理することができる。
ポリシー45を表すために使用されるポリシー表現言語は、広範囲な形態のどんなものでもとることができる。使用される言語は、拡張可能なマーク付け言語(XML)、ハイパーテキストマーク付け言語(HTML)、他の何らかのマーク付け言語などのマーク付け言語でよい。当業者には分かるように、人間が読取り可能な語およびマーキングのセットは、こうした言語で組み合わされて、所望の動作を正確に指定することができる。エンジン44などのマシンプロセスは、実行時にこの形態でのファイルを使用し、所望の動作を実行するように構成することができる。本発明とともに使用するために設計されるどんなポリシー表現言語も、必要に応じてポリシーの変更および言語意味の追加に対応するために、頑強で、拡張可能で、柔軟性を持つべきである。マーク付けとは、文書の論理構造を記述するために、テキストまたはワード処理ファイルのある場所に挿入される一連の文字または他のシンボルを指す。マーク付けの表示は、しばしば「タグ」と呼ばれる。マーク付けは、直接シンボルをタイプすることによって、またはエディタを使用し、あらかじめ同梱されたマーク付けシンボルを選択することによって(キーストロークを節約するため)、文書作成者によって挿入することができる。
HTMLとは違って、マーク付けシンボルは無制限で自己定義であるため、XMLは「拡張可能」である。XMLは実際に、より簡潔でより使いやすい標準一般化マーク付け言語(SGML)の部分集合であり、文書構造をどのように作成するかについての規格である。HTMLおよびXMLは、多くのウェブアプリケーションにおいて一緒に使用されることが期待される。たとえば、XMLマーク付けは、HTMLページ内に現れることがある。この点に関しては、本発明のために使用される指定された構文には、マーク付け言語の組合せが含まれ得る。
図4では、エンジン44は、ポリシー表現言語で表現されデジタルフォーマットで記憶されるポリシー45を適用する。ポリシー45は、1つまたは複数のデジタルファイルとしてでも、データベースとしてでも、また他のどんな記憶されたデータフォーマットとしてでも明示することができる。デジタルファイルは、どんな形態にも変換できることが当業者には理解されよう。すなわち、その側面はデータベースのフィールドに挿入することができ、またこのファイルはあるフォーマットから他のフォーマットに変換することができる。したがって、少なくとも最初にポリシーは、一般的なテキスト(.txt)または文書(.doc)フォーマットでのファイルなど、テキストエディタで使用することができるデジタルフォーマットで、人間によって最適に作成されることを企図しているが、こうした初めのデジタルファイルは、45に記憶するのに先立って、どんな数の形態にも変換することができる。データのフォーマットがどうであれ、そこで表現される発行ポリシー45は、クライアント40が要求された証明書を受け取る資格がある場合、クライアント40に満足しなければならない。ポリシー45はまた、生成された証明書のフォーマットを管理することができる。すなわち、資格証明フォーマット化のためのポリシーを含むことができる。
発行ポリシー45は、少なくとも以下のものからなることが好ましい。
クライアント認証要求
クライアント許可要求
サービス許可要求を発行する証明書
許可実施命令
証明書発行システムの一例として、普及しているMICROSOFT WINDOWS(登録商標)権利管理サーバ発行者をもう一度利用するためには、この発行者は、保護された文書およびeメールに対する「情報権利管理」機能、たとえばMICROSOFT(登録商標)Office2003での情報権利管理機能を実装するために使用することができることが当業者には理解されよう。ソリューションの一部分として、WINDOWS(登録商標)権利管理サーバの現在使用可能なバージョンでは、予想され、ハードコードされた、脆弱な発行ポリシー定義を含む発行者を採用する。固定され、よく知られた、発行ポリシーのセットだけを実施することができる。たとえば、
信頼されるアプリケーションは何か?
どのユーザが具体的に排除されるのか?
ユーザ識別資格証明を発行するのに、どの実体が信頼されるのか。
ユーザは、権利管理ソフトウェアのどのバージョンをデスクトップ上で走らせなければならないか?
対照的に、WINDOWS(登録商標)権利管理サーバの現在使用可能なバージョンは、以下のような新しい発行ポリシーを実施することができない。
ユーザ企業の部署にとって信頼されるアプリケーションは何か?
どのクラスのユーザが具体的には排除されるのか(たとえば、7日未満のうちにネットワークパスワードが失効するすべての人)?
どの具体的な資格証明が信頼して生成される証明書発行システムなのか?
本明細書における本発明の各システムおよび方法を実装するために、WINDOWS(登録商標)権利管理証明書発行サービスの現在使用可能なバージョンを再構築することによって、その製品は、柔軟性があるポリシー表現言語で、ポリシーを理解し実施することもでき、上記に掲載された新しい発行ポリシー、ならびに他のどんな考えられる発行ポリシーも、採用された発行者を変更することなしに、適応することができる。45での表現されたポリシーだけは、変更する必要があるはずである。
証明書発行システムは、クライアント40の発見プロセス、検証解析(forensic analysis)などをうまく進めるために、使用可能な発行された証明書フォーマットのセットとともに、その発行ポリシー45を発行することができる。以下は、この説明では例示的な発行ポリシーである。
Figure 2006252564
Figure 2006252564
Figure 2006252564
Figure 2006252564
Figure 2006252564
図5には、ポリシー表現言語ならびに/または、ポリシー言語構文解析および実施エンジン56によって固有にサポートされない新しい発行ポリシーを適用し実施するために発行構成部品を拡張するための、システムおよび方法が示してある。たとえば追加のデータ59を発行ポリシーデータ58と組み合わせることによって、ポリシー表現言語構文が拡張される場合、拡張されたポリシー表現言語コンストラクトの意味を扱うプラグインロジック55を実施エンジン56に追加することができる。たとえば、ワイルドカード置換えパターンデータ60を発行ポリシーデータ58に追加することによって、固有のポリシー言語ワイルドカードが使用される場合、ワイルドカード置換えパターン60の拡張を扱うプラグインロジック57を、実施エンジン56に追加することができる。
データ駆動型ポリシー評価エンジン56は、それが理解しない、または処理することを意図されていない証明書の意味を予想するように設計することができる。これらの証明書の意味に対する拡張性機構が存在することができ、こうした証明書についての55や57などのカスタムロジックは、値を提供し、カスタム処理を実行し、さもなければ、知られていない意味を明確な方法で扱うように問合せをされる。この処理の結果は、ポリシー評価エンジン56にフィードバックされ、場合によっては証明書への資格決定の最終結果に影響を及ぼすこともある。
発行構成部品を拡張するために本明細書において企図された機構が少なくとも2つある。最初に、拡張可能なポリシー表現言語(たとえば、XMLの拡張性に影響を与える言語)を上に構築することによって、また55などの適切なプラグイン機構を提供することによって、証明書発行システムは、その顧客にカスタム拡張性をサポートすることができる。第2に、ワイルドカード置換えパターンの概念をそのポリシー表現言語に含めること、および57などの適切なプラグイン機構を提供することによって、発行者は、その顧客にカスタム拡張性をサポートすることができる。
発行構成部品を拡張するための前述の選択肢のうちの第1の選択肢から始めて、ポリシー表現言語構文は、好ましい実施形態において拡張可能である。ポリシー実施エンジン56は、ポリシー表現言語の本来の側面の意味論的な意味をどのように引き受けるかを「知る」ように事前に構成することができる。しかし、ポリシー表現言語の意味が拡張される場合、エンジン56も拡張されなければならない。
ポリシー表現言語の拡張は、エンジン56によってアクセス可能なデジタルデータ59で説明することができる。こうした拡張59は、1つまたは複数のファイルとしてでも、データベースとしてでも、また他のどんな記憶されたデータフォーマットとしてでも明示することができる。拡張は、一般的なテキスト(.txt)または文書(.doc)のフォーマットでのファイルなど、テキストエディタによって使用されるフォーマットで、人間によって最適に作成されるが、こうした初めのファイルは、記憶に先立ってどんな数の形態に変換することもできる。データのフォーマットがどうであれ、そこに表現されている発行ポリシー拡張59は、カスタムロジック55によってアクセスされて、拡張されたポリシー表現構文59を使用して表現されるポリシーを適用し実施することができる。
これを遂行するために、エンジン56は、55などの拡張されたロジック(別名「プラグイン」)を登録することができるように構成することができる。プラグイン55は、ポリシー表現言語のどんな新しい構文上の拡張59に対しても、意味論的裏付けを提供することができる。したがって、予想されない顧客要求は、エンジン56それ自体またはポリシー表現言語の最初に使用される構文をオーバホールすることなく、取り組むことができる。ポリシー表現言語は、構文的に拡張をサポートするように、理想的に設計される。
一例によって、プラグイン55を使用するエンジン55の拡張性を明確にする助けになることがある。証明書発行システムが、ユーザのPKI識別情報を表す要素を含むXMLポリシー表現言語とともに使用されるとしよう。おそらく、以下のようになる。
Figure 2006252564
証明書発行システムの顧客は、ユーザ企業の軽量ディレクトリアクセスプロトコル(LDAP:Lightweight Directory Access Protocol)識別情報を含めるために、ユーザの概念を拡張したいと思うこともある。LDAP構文を含むためのポリシー言語拡張は、必要な場合、証明書発行システムデータベース上でLDAP問合せを実行するコードを用いてサポートすることができる。この場合、拡張されたポリシー言語コンストラクトは以下のようになることもある。
Figure 2006252564
さらに、LDAP問合せを用いてユーザを確認検査したコード、すなわちプラグイン55は、コンパイルされ、証明書発行システムに登録されることになる。このプラグイン55は、拡張されたポリシー表現言語構文に遭遇した場合、エンジン56によって呼び出されることになる。いくつかの実施形態では、プラグインを登録することなしに拡張された構文を使用することが可能になることがあることに留意されたい。これは、同じ拡張された構文を、入力/出力証明書およびエンジンによって解釈された発行ポリシーデータの両方に追加することによって遂行することができる。
次に、発行構成部品を拡張するための第2の選択肢に移ると、使用されるポリシー表現言語には、ワイルドカード置換えパラメータが含まれ得る。ワイルドカード置換えパターンは、最初の発行ポリシー58で説明しても、また最初のポリシー58を補うのに使用可能な追加のデータ60を作成することによってポリシーに追加してもよい。
ワイルドカード置換えパターン60は、1つまたは複数のファイルとしてでも、データベースとしてでも、また他のどんな記憶されたデータフォーマットとしてでも明示することができる。初めの置換えパターンは、一般的なテキスト(.txt)または文書(.doc)のフォーマットでのファイルなど、テキストエディタによって使用されるフォーマットで、人間によって最適に作成されるが、こうした初めのファイルは、60での記憶に先立ってどんな数の形態に変換することもできる。データのフォーマットがどうであれ、そこに表現されているワイルドカード置換えパターン60は、カスタムロジック57によってアクセスされて、カスタムロジック57によって示された方法で、ワイルドカードを適用および実施する。
ポリシー表現言語が、その構文内にワイルドカード定義60を含み、エンジン56が、具体的な所望の値を選択するためにカスタムロジック57を登録する機構を提供する場合、これは、さらに他の拡張性の道を証明書発行システムに提供する。
この場合も、一例が、明確化の助けになることがある。例示的な証明書発行システムは、発行された証明書のフォーマットを定義するポリシーを含むことができる。たとえば、サービスは、「信頼される従業員証明書」をクライアントに発行することができると示す証明書発行ポリシーを含むことができる。発行者は、クライアントの動的な領域に応答しなければならないため、ワイルドカード証明書発行ポリシーが以下のように構築されることがある。
証明書発行システムは、「信頼される従業員証明書」を、それが適切だとみなすどんなクライアントにも発行することができる。
次いで、証明書発行システムの権利者は、「適切とみなす」べきクライアントの明細書を埋めるロジック、たとえば57を定義し登録することができる。ロジック57は、具体的なサービスの起動中にどのクライアントが「信頼される従業員証明書」を発行されるべきか決定することができる。このロジック57は、証明書発行ポリシーでのより一般的なワイルドカード定義文節に遭遇する場合、証明書発行システムによって呼び出すことができる。
図1および2に提供される全般的な枠組みに従って構築することができる様々なコンピューティング環境に照らして、本明細書において提供される各システムおよび方法が、具体的なコンピューティングアーキテクチャに限定されると解釈することは決してできない。代わりに、本発明は、単一のどんな実施形態にも限定されるべきではなく、添付の特許請求の範囲による広さおよび範囲内にあると解釈すべきである。
本発明の様々な態様に関連する使用に適した例示的なコンピューティング装置の基本的な特徴を広く表すブロック図である。コンピューティング装置は、コンピュータ読取り可能な媒体上の命令にアクセスし、証明書発行システムの各機能を実行するために、それらの命令を適切なシーケンスで実行することができる。 証明書発行システムが動作することができる例示的なネットワーク化されたコンピューティング環境を示す図である。発行者は、たとえば装置271上に常駐することができる。装置277でのクライアントプロセスは、証明書を271での発行者から要求し、続いて装置275でのサーバプロセスとの通信において、この証明書を使用することができる。 証明書発行システムの翻訳構成部品(translation component)の一部分を示す図である。翻訳構成部品、すなわち翻訳エンジンは、複数のフォーマットの入力証明書を単一の共通フォーマットに移す働きをする。クライアントに引き渡すために発行構成部品34によって共通フォーマットで生成された証明書は、必要に応じてどんなフォーマットにも翻訳することができる。 入力証明書要求が、発行者によってどのように扱われるかを示す図である。まず、要求がサーバ入口点301に届く。その最初のフォーマットたとえば302での証明書または他の要求情報が、翻訳層303に渡される。これが第2のフォーマット304に変換される。次いで、要求304と関連した証明書および/または他の情報は、サーバ証明書エンジン305によって取り扱われる。 クライアント310が証明書を求める要求をサーバ313に送る、本発明の他の観点を示す図である。タイプ1の証明書は、クライアント310の要求と関連している。タイプ1の証明書は、証明書翻訳エンジン(CTE:Certificate Translation Engine)311によってタイプ2の証明書に翻訳することができる。発行エンジン312によってタイプ2の証明書を使用して、クライアント310の要求を許可するかどうか決定することができる。発行エンジン312が証明書を第2のフォーマットで発行する場合、CTE311は、それをクライアント310のための第1のフォーマットに翻訳することができる。 証明書発行システムの発行構成部品の一部分を示す図である。認証41、許可42、および資格証明フォーマット化43は、発行構成部品によって実行することができる例示的な機能である。これらの機能を実行する一環として、汎用のポリシー言語の構文解析および実施エンジン44は、証明書発行ポリシー45を適用することができる。したがって、実施すべきポリシーがエンジン44で表される必要がなく、実行時にエンジン44によって使用される発行ポリシー45で表される必要があるという意味では、発行構成部品はデータ駆動型である。 ポリシー表現言語および/または、ポリシー言語の構文解析および実施エンジン56によって固有にサポートされていない新しい発行ポリシーを適用および実施するための発行構成部品を拡張するためのシステムおよび方法を示す図である。ポリシー言語構文が、たとえば59で拡張される場合、拡張されたポリシー言語のコントラクト55の意味を扱うプラグインロジックを、実施エンジン56に追加することができる。固有のポリシー言語ワイルドカードが使用される場合、拡張ワイルドカード置換えパターン57を扱うプラグインロジックを実施エンジン56に追加することができる。
符号の説明
102 処理ユニット
103 システムメモリ
103A 揮発性
103C 不揮発性
104 取外し可能な記憶装置
105 取外し不可能な記憶装置
106 出力装置
107 入力装置
108 通信接続
270 通信ネットワーク/バス
271 コンピューティング装置
272 コンピューティング装置
273 オブジェクト
276 コンピューティング装置
277 コンピューティング装置
278 データベース

Claims (20)

  1. クライアント要求に応答して証明書を生成するための証明書発行システムであって、
    第1のフォーマットでの第1の証明書を受け取り、前記第1の証明書を第2のフォーマットに翻訳するための翻訳構成部品と、
    前記第1の証明書からの情報を証明書発行ポリシーと比較することによって、前記クライアントが第2の証明書を受け取る資格があるかどうか決定するための、また前記証明書発行ポリシーによって要求される少なくとも1つの資格証明を前記クライアントが有することを前記第1の証明書が確認する場合に、前記第2の証明書を発行するための発行構成部品と
    を含むことを特徴とするシステム。
  2. 前記第2の証明書が、前記発行構成部品によって前記第2のフォーマットで生成されることを特徴とする請求項1に記載のシステム。
  3. 前記発行構成部品は、前記証明書発行ポリシーでの総称的な表現を実施するカスタム構成部品と通信するためのインタフェースを含むことを特徴とする請求項1に記載のシステム。
  4. 前記発行構成部品は、前記証明書発行ポリシーの拡張を実施するカスタム構成部品と通信するためのインタフェースを含むことを特徴とする請求項1に記載のシステム。
  5. 前記証明書発行ポリシーを前記クライアントに送達するための構成部品をさらに含むことを特徴とする請求項1に記載のシステム。
  6. 前記クライアントが前記少なくとも1つの資格証明を有することを前記第1の証明書が確認する場合に、クライアント識別情報が認証されることを特徴とする請求項1に記載のシステム。
  7. 前記クライアントが前記少なくとも1つの資格証明を有することを前記第1の証明書が確認する場合に、クライアント許可が確立されることを特徴とする請求項1に記載のシステム。
  8. 前記証明書発行ポリシーは、前記第2の証明書の形態を求める要求を含み、前記発行構成部品は、前記形態による前記第2の証明書を生成することを特徴とする請求項1に記載のシステム。
  9. セキュリティ証明書をクライアントに発行するための方法であって、
    第1の証明書を第1のフォーマットから第2のフォーマットに翻訳するステップと、
    前記第1の証明書からの情報を証明書発行ポリシーと比較することによって、前記クライアントが第2の証明書を受け取る資格があるかどうか決定するステップと、
    前記証明書発行ポリシーによって要求される少なくとも1つの資格証明を前記クライアントが有することを前記第1の証明書が確認する場合に、前記第2の証明書を生成するステップと
    を含むことを特徴とする方法。
  10. 前記第2の証明書が、前記第2のフォーマットで生成されることを特徴とする請求項9に記載の方法。
  11. 前記第2の証明書を前記第2のフォーマットから第3のフォーマットに翻訳するステップをさらに含み、前記第3のフォーマットおよび前記第1のフォーマットは同じフォーマットでよいことを特徴とする請求項10に記載の方法。
  12. 前記証明書発行ポリシーの拡張を実施するためのカスタムソフトウェア構成部品と通信するステップをさらに含むことを特徴とする請求項9に記載の方法。
  13. 前記少なくとも1つの資格証明を前記クライアントが有することを前記第1の証明書が確認する場合に、クライアント識別情報が認証されることを特徴とする請求項9に記載の方法。
  14. 前記第2の証明書を生成するステップは、前記証明書発行ポリシーからの前記第2の証明書の形態を求める少なくとも1つの要求を決定するステップを含むことを特徴とする請求項9に記載の方法。
  15. セキュリティ証明書をクライアントに発行するための命令を運ぶコンピュータ読取り可能な媒体であって、
    第1の証明書を第1のフォーマットから第2のフォーマットに翻訳するための命令と、
    前記第1の証明書からの情報を証明書発行ポリシーと比較することによって、前記クライアントが第2の証明書を受け取る資格があるかどうか決定するための命令と、
    前記証明書発行ポリシーによって要求される資格証明を前記クライアントが有することを前記第1の証明書が確認する場合に、前記第2の証明書を生成するための命令と
    を含むことを特徴とするコンピュータ読取り可能な媒体。
  16. 前記第2の証明書が、前記第2のフォーマットで生成されることを特徴とする請求項15に記載のコンピュータ読取り可能な媒体。
  17. 前記第2の証明書を前記第2のフォーマットから第3のフォーマットに翻訳するための命令をさらに含み、前記第3のフォーマットおよび前記第1のフォーマットは同じフォーマットでよいことを特徴とする請求項16に記載のコンピュータ読取り可能な媒体。
  18. 前記証明書発行ポリシーの拡張を実施するためのカスタムソフトウェア構成部品と通信するための命令をさらに含むことを特徴とする請求項15に記載のコンピュータ読取り可能な媒体。
  19. 前記少なくとも1つの資格証明を前記クライアントが有することを前記第1の証明書が確認する場合に、クライアント識別情報が認証されることを特徴とする請求項15に記載のコンピュータ読取り可能な媒体。
  20. 前記第2の証明書を生成するための前記命令は、前記証明書発行ポリシーからの前記第2の証明書の形態を求める少なくとも1つの要求を決定するための命令を含むことを特徴とする請求項15に記載のコンピュータ読取り可能な媒体。
JP2006067700A 2005-03-11 2006-03-13 フォーマットにとらわれない証明書発行のためのシステムおよび方法 Expired - Fee Related JP5010160B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/077,920 2005-03-11
US11/077,920 US7509489B2 (en) 2005-03-11 2005-03-11 Format-agnostic system and method for issuing certificates

Publications (3)

Publication Number Publication Date
JP2006252564A true JP2006252564A (ja) 2006-09-21
JP2006252564A5 JP2006252564A5 (ja) 2009-05-21
JP5010160B2 JP5010160B2 (ja) 2012-08-29

Family

ID=36572155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006067700A Expired - Fee Related JP5010160B2 (ja) 2005-03-11 2006-03-13 フォーマットにとらわれない証明書発行のためのシステムおよび方法

Country Status (5)

Country Link
US (1) US7509489B2 (ja)
EP (1) EP1701284B1 (ja)
JP (1) JP5010160B2 (ja)
KR (1) KR101477295B1 (ja)
CN (1) CN1832395B (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1780936B1 (en) * 2004-08-20 2013-05-15 Mitsubishi Electric Corporation Terminal apparatus
US7509489B2 (en) * 2005-03-11 2009-03-24 Microsoft Corporation Format-agnostic system and method for issuing certificates
US7774830B2 (en) * 2005-03-14 2010-08-10 Microsoft Corporation Access control policy engine controlling access to resource based on any of multiple received types of security tokens
US7747647B2 (en) * 2005-12-30 2010-06-29 Microsoft Corporation Distributing permission information via a metadirectory
KR100714124B1 (ko) * 2006-02-21 2007-05-02 한국전자통신연구원 사용자 동의 정보를 이용한 증명서 발급 장치 및 방법
US8719574B2 (en) * 2006-08-31 2014-05-06 Red Hat, Inc. Certificate generation using virtual attributes
US8060931B2 (en) * 2006-09-08 2011-11-15 Microsoft Corporation Security authorization queries
US20080065899A1 (en) * 2006-09-08 2008-03-13 Microsoft Corporation Variable Expressions in Security Assertions
US8095969B2 (en) * 2006-09-08 2012-01-10 Microsoft Corporation Security assertion revocation
US20080066169A1 (en) * 2006-09-08 2008-03-13 Microsoft Corporation Fact Qualifiers in Security Scenarios
US8201215B2 (en) * 2006-09-08 2012-06-12 Microsoft Corporation Controlling the delegation of rights
US7814534B2 (en) * 2006-09-08 2010-10-12 Microsoft Corporation Auditing authorization decisions
US20080066158A1 (en) * 2006-09-08 2008-03-13 Microsoft Corporation Authorization Decisions with Principal Attributes
US20080066147A1 (en) * 2006-09-11 2008-03-13 Microsoft Corporation Composable Security Policies
US8656503B2 (en) * 2006-09-11 2014-02-18 Microsoft Corporation Security language translations with logic resolution
US8938783B2 (en) * 2006-09-11 2015-01-20 Microsoft Corporation Security language expressions for logic resolution
US8458455B2 (en) * 2006-10-10 2013-06-04 International Business Machines Corporation Techniques for handling SSL certificate expiration and renewal
US8010786B1 (en) * 2006-10-30 2011-08-30 Citigroup Global Markets Inc. Systems and methods for managing digital certificate based communications
US8880889B1 (en) 2007-03-02 2014-11-04 Citigroup Global Markets, Inc. Systems and methods for remote authorization of financial transactions using public key infrastructure (PKI)
US7900248B2 (en) * 2007-05-31 2011-03-01 Microsoft Corporation Access control negation using negative groups
US20080307486A1 (en) * 2007-06-11 2008-12-11 Microsoft Corporation Entity based access management
US8468579B2 (en) * 2007-06-15 2013-06-18 Microsoft Corporation Transformation of sequential access control lists utilizing certificates
US8332629B2 (en) * 2007-07-16 2012-12-11 Red Hat, Inc. Mail certificate responder
JP5138775B2 (ja) 2007-07-17 2013-02-06 サーティコム コーポレーション Idベース暗号化(ibe)に対して暗黙の証明証およびアプリケーションを生成する方法およびシステム
US8856861B2 (en) * 2007-12-20 2014-10-07 Samsung Electronics Co., Ltd. Generic rights token and DRM-related service pointers in a common protected content file
US20100241852A1 (en) * 2009-03-20 2010-09-23 Rotem Sela Methods for Producing Products with Certificates and Keys
CN101521883B (zh) * 2009-03-23 2011-01-19 中兴通讯股份有限公司 一种数字证书的更新和使用方法及系统
US9490979B2 (en) * 2009-09-09 2016-11-08 Blackberry Limited System and method for providing credentials
US9015493B2 (en) 2010-09-16 2015-04-21 Microsoft Technology Licensing, Llc Multitenant-aware protection service
US20120084244A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Claims issuance rule generation pipeline
US8504837B2 (en) * 2010-10-15 2013-08-06 Rockwell Automation Technologies, Inc. Security model for industrial devices
CN102957535A (zh) * 2011-08-19 2013-03-06 国民技术股份有限公司 可信计算平台与电子证书认证系统的通信方法及系统
US9271188B2 (en) * 2012-12-18 2016-02-23 At&T Intellectual Property I, L.P. Dynamic in-band service control mechanism in mobile network
DE102014212443A1 (de) * 2014-06-27 2015-12-31 Robert Bosch Gmbh Verringerung des Speicherbedarfs für kryptographische Schlüssel
US9787477B1 (en) * 2014-09-05 2017-10-10 Symantec Corporation Validating certificate chains for both internal and public facing server using unified interface
US10924482B1 (en) * 2014-12-18 2021-02-16 Amazon Technologies, Inc. Virtual service authorization
US10812464B2 (en) * 2015-06-15 2020-10-20 Airwatch Llc Single sign-on for managed mobile devices
US10171448B2 (en) * 2015-06-15 2019-01-01 Airwatch Llc Single sign-on for unmanaged mobile devices
US10171447B2 (en) 2015-06-15 2019-01-01 Airwatch Llc Single sign-on for unmanaged mobile devices
US10944738B2 (en) * 2015-06-15 2021-03-09 Airwatch, Llc. Single sign-on for managed mobile devices using kerberos
US11057364B2 (en) * 2015-06-15 2021-07-06 Airwatch Llc Single sign-on for managed mobile devices
US9882887B2 (en) * 2015-06-15 2018-01-30 Airwatch Llc Single sign-on for managed mobile devices
US9866546B2 (en) 2015-10-29 2018-01-09 Airwatch Llc Selectively enabling multi-factor authentication for managed devices
US10187374B2 (en) 2015-10-29 2019-01-22 Airwatch Llc Multi-factor authentication for managed applications using single sign-on technology
DE102016200382A1 (de) * 2016-01-14 2017-07-20 Siemens Aktiengesellschaft Verfahren zur Überprüfung einer Sicherheitseinstufung eines ersten Geräts mit Hilfe eines digitalen Zertifikats, ein erstes und zweites Gerät sowie eine Zertifikat-Ausstellungsvorrichtung
US11290268B2 (en) * 2018-09-13 2022-03-29 Apple Inc. Mode switching with multiple security certificates in a wireless device
CN109902450B (zh) * 2019-03-14 2023-01-24 成都安恒信息技术有限公司 一种离线许可签发管理的方法
KR102199486B1 (ko) * 2020-06-24 2021-01-06 주식회사 틸코블렛 컨텐츠 제공자를 위한 전자인증 대행방법
KR102211033B1 (ko) * 2020-07-15 2021-02-03 주식회사 틸코블렛 전자인증절차의 대행 서비스 시스템
WO2023200828A1 (en) * 2022-04-12 2023-10-19 Integrity Security Services Llc Systems and methods for centrally managing and routing multiple credentials

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000338868A (ja) * 1999-05-26 2000-12-08 Ntt Data Corp 公開鍵証明書発行方法、検証方法、システム及び記録媒体
US6505193B1 (en) * 1999-12-01 2003-01-07 Iridian Technologies, Inc. System and method of fast biometric database searching using digital certificates
US6675296B1 (en) * 1999-06-28 2004-01-06 Entrust Technologies Limited Information certificate format converter apparatus and method
US6816965B1 (en) * 1999-07-16 2004-11-09 Spyrus, Inc. Method and system for a policy enforcing module
JP2005045307A (ja) * 2003-07-22 2005-02-17 Fuji Xerox Co Ltd 電子証明書提供システム
US7509489B2 (en) * 2005-03-11 2009-03-24 Microsoft Corporation Format-agnostic system and method for issuing certificates

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4212150B2 (ja) 1998-07-03 2009-01-21 オリンパス株式会社 撮像装置
US6430688B1 (en) 1998-12-22 2002-08-06 International Business Machines Corporation Architecture for web-based on-line-off-line digital certificate authority
EP1117049A1 (en) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Dynamic conversion of data
US7669238B2 (en) 2000-06-21 2010-02-23 Microsoft Corporation Evidence-based application security
US6605193B2 (en) 2001-04-25 2003-08-12 Atofina Chemicals, Inc. Recovery of HFC-32
WO2003079627A2 (en) 2002-03-20 2003-09-25 Research In Motion Limited System and method for supporting multiple certificate status providers on a mobile communication device
US7631318B2 (en) 2002-06-28 2009-12-08 Microsoft Corporation Secure server plug-in architecture for digital rights management systems
CN100486155C (zh) * 2004-05-26 2009-05-06 华南理工大学 数字证书签发服务器集群方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000338868A (ja) * 1999-05-26 2000-12-08 Ntt Data Corp 公開鍵証明書発行方法、検証方法、システム及び記録媒体
US6675296B1 (en) * 1999-06-28 2004-01-06 Entrust Technologies Limited Information certificate format converter apparatus and method
US6816965B1 (en) * 1999-07-16 2004-11-09 Spyrus, Inc. Method and system for a policy enforcing module
US6505193B1 (en) * 1999-12-01 2003-01-07 Iridian Technologies, Inc. System and method of fast biometric database searching using digital certificates
JP2005045307A (ja) * 2003-07-22 2005-02-17 Fuji Xerox Co Ltd 電子証明書提供システム
US7509489B2 (en) * 2005-03-11 2009-03-24 Microsoft Corporation Format-agnostic system and method for issuing certificates

Also Published As

Publication number Publication date
EP1701284B1 (en) 2019-05-08
CN1832395B (zh) 2011-06-08
JP5010160B2 (ja) 2012-08-29
KR101477295B1 (ko) 2015-01-02
KR20060097579A (ko) 2006-09-14
CN1832395A (zh) 2006-09-13
US7509489B2 (en) 2009-03-24
EP1701284A2 (en) 2006-09-13
US20060206707A1 (en) 2006-09-14
EP1701284A3 (en) 2013-01-02

Similar Documents

Publication Publication Date Title
JP5010160B2 (ja) フォーマットにとらわれない証明書発行のためのシステムおよび方法
US7500097B2 (en) Extendable data-driven system and method for issuing certificates
JP5731679B2 (ja) ピア・ツー・ピアサービス編成のための相互運用システム及び方法
US9530012B2 (en) Processing extensible markup language security messages using delta parsing technology
US10540484B2 (en) Networked services licensing system and method
US8239954B2 (en) Access control based on program properties
US8296828B2 (en) Transforming claim based identities to credential based identities
US7549051B2 (en) Long-life digital certification for publishing long-life digital content or the like in content rights management system or the like
US9338166B2 (en) System and method for a single request and single response authentication protocol
JP2004062890A (ja) デジタル権利管理サービスを提供するシステムおよび方法
US20090259591A1 (en) Information Rights Management
Bhatti et al. An integrated approach to federated identity and privilege management in open systems
US20060059350A1 (en) Strong names
US20090296942A1 (en) Concept for securing and validating client-side storage and distribution of asynchronous includes in an application server environment
AU2003219907B2 (en) Networked services licensing system and method
US20100057910A1 (en) Concept for trusting client-side storage and distribution of asynchronous includes in an application server environment
EP1798916B1 (en) Regulating an extensibility point's access to a wrapped e-mail message
Cherrueau et al. Reference monitors for security and interoperability in OAuth 2.0
US9825821B2 (en) System and method for a facet security model
Kumar et al. Security issues in web services: A evaluation and advancement perspective concerning research agenda
Kappler Encryption Facility for z/OS V1. 2 Open PGP Support
Stanford Modeling Application Security Properties In a B2B E-Commerce Environment Using Microsoft .NET and Rational XDE

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120502

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: 20120525

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120601

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5010160

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150608

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees