JP2002509388A - 異なるアドレス空間にある別のプロセスを強力に認証する方法 - Google Patents

異なるアドレス空間にある別のプロセスを強力に認証する方法

Info

Publication number
JP2002509388A
JP2002509388A JP2000539607A JP2000539607A JP2002509388A JP 2002509388 A JP2002509388 A JP 2002509388A JP 2000539607 A JP2000539607 A JP 2000539607A JP 2000539607 A JP2000539607 A JP 2000539607A JP 2002509388 A JP2002509388 A JP 2002509388A
Authority
JP
Japan
Prior art keywords
module
response
challenge
secret
machine
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.)
Pending
Application number
JP2000539607A
Other languages
English (en)
Inventor
マリツェウスキイ,リチャード・エル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25535283&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2002509388(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2002509388A publication Critical patent/JP2002509388A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic 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 using challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Collating Specific Patterns (AREA)

Abstract

(57)【要約】 ローカル・プロセス(10)のアドレス空間とは異なるアドレス空間で作動しているリモート・プロセス(12)を認証する方法は、ローカル・プロセスが一時秘密(16)を含むタンパ・レジスタント・モジュール(14)を作成する段階、ローカル・プロセスからリモート・プロセスにタンパ・レジスタント・モジュールおよび呼掛け(18)を送る段階、リモート・プロセスがタンパ・レジスタント・モジュールを実行し、タンパ・レジスタント・モジュールによってリモート・プロセスの完全性が検証されたときに秘密を回復する段階、秘密を使い呼掛けを符号化して応答(20)を作り出す段階、応答をローカル・プロセスに送る段階、およびローカル・プロセスが応答を復号する段階を含む。任意選択でタンパ・レジスタント・モジュールは第2のプロセスに情報を求める要求を含み、応答は情報要求に対する回答を含む。

Description

【発明の詳細な説明】
【0001】 (発明の背景) (1.発明の分野) 本発明は一般にコンピュータ・システムのリモート・セキュリティ・プロトコ
ルに関し、より詳細には異なるアドレス空間で作動しているプロセスの真正性を
保証する呼掛け−応答プロトコルに関する。
【0002】 (2.関連技術の説明) 暗号システムで呼掛け−応答プロトコルを実行する現在の方法では、プロトコ
ルを実行しているパーティまたはプロセスが価値の高い永続的な秘密を共有する
必要があるか、または両方のパーティが2対の非対称鍵のうちの適当な部分を処
理しなければならない。これらの2つのシナリオでは、パーティ間で予め秘密を
伝達しておくこと、または他方のパーティの鍵対の公開部分を知っておくことが
必要である。このような呼掛け−応答プロトコルのほとんどのバージョンは「マ
ン・イン・ザ・ミドル(man−in−the−middle)」攻撃を受けや
すい。この攻撃は2つのパーティがネットワーク上で通信している場合に特に問
題となる。したがって一般的な呼掛け−応答プロトコルは、秘密を共有している
2つの端点間に検証済みのチャネルがセットアップされていることを証明するだ
けであり、一方の端点の安全が侵されている可能性もある。一方のパーティが他
方のパーティを認証して他方のパーティが不正操作(タンパ(tamper))
または「ハッキング(hacking)」を受けていないと保証することができ
たならば、そのほうが他方のパーティが秘密を共有していることを検査するだけ
よりもよいであろう。こうすることは、パーティが同じアドレス空間を共用して
いる場合に他方のパーティのメモリの内容をチェックし、そのディジタル署名を
計算し、その完全性を検証することによって可能である。しかし異なるプロセス
・アドレス空間をまたいでこれを達成することはメモリが共用されない限り不可
能である。さまざまな呼掛け−応答プロトコルおよびそれらの欠陥が、Bruc
e Schneierの「Applied Cryptography」第2版
(1996)に記載されている。認証プロセスの一部として必要な秘密を安全に
伝達することによって以上に述べた従来技術の問題および欠陥を克服することが
でき、秘密を、永続的な価値を持たないその場限りのものとすることができ、秘
密を予め伝達しておく必要のないプロトコルが求められている。
【0003】 (発明の概要) 本発明の一実施態様は、第2のプロセスのアドレス空間とは異なるアドレス空
間で作動している第1のプロセスを認証する方法である。この方法は、第2のプ
ロセスが秘密を含むモジュールを作成する段階、第2のプロセスから第1のプロ
セスにモジュールおよび呼掛けを送る段階、第1のプロセスがモジュールを実行
し、モジュールによって第1のプロセスの完全性が検証されたときに秘密を回復
する段階、秘密を使い呼掛けを符号化して応答を作り出す段階、応答を第2のプ
ロセスに送る段階、および第2のプロセスが応答を復号する段階を含む。
【0004】 本発明の特徴および利点は本発明の以下の詳細な説明から明白となろう。
【0005】 (発明の詳細な説明) 以下の説明では本発明のさまざまな態様を説明する。しかし本発明の態様の一
部だけを用いて、またはその全てを用いて本発明を実施できることが当業者には
明白となろう。説明の目的上、本発明を完全に理解できるように特定の数値、材
料および構成を記載する。しかしこれらの特定の詳細がなくとも本発明を実施す
ることができることが当業者には明白となろう。また、本発明が不明瞭とならな
いよう周知の特徴は省略または簡略化した。
【0006】 図1は、本発明に基づく安全な方法で互いに通信している2つのプロセスを示
す図である。図1には2つのプロセス、すなわちプロセスA10およびプロセス
B12が示されている。これらのプロセスはアドレス空間を共用していない。こ
れらのプロセスは同じプロセッサまたはコンピュータ・システムにあってもよい
し、そうでなくてもよい。一般にこれらのプロセスは電子商取引などの取引のパ
ーティであり、プロセスB12がプロセスA10にサービスの実行を要求する。
このようなサービスの例として消費者による購入が挙げられるが、ネットワーク
によって接続された2つのパーティが関与した安全であることが望まれるあらゆ
る取引が当てはまる。プロセスBのサービス要求を履行する前にプロセスAは、
プロセスBの真正性を確立しプロセスBの完全性を検証しようとする。真正性と
は、プロセスBであると称しているエンティティが実際にプロセスBであって、
詐欺的な「マン・イン・ザ・ミドル」アタッカではないということである。完全
性の検証とは、プロセスBがどんな形であれ改変されていないこと、または「ハ
ッキング」されていないことを言う。本発明の一実施形態ではプロセスAが、プ
ロセスBの完全性を検証する能力を有するタンパ・レジスタント・モジュール(
tamper resistant module)14を作成する。タンパ・
レジスタント・モジュールは、1つのプロセスから別のプロセスに容易に伝達す
ることができ、受信側システムが実行することができる小さな実行可能ソフトウ
ェアである。プロセスAは一時秘密を作成し、これをタンパ・レジスタント・モ
ジュールに入れてプロセスBに渡す。タンパ・レジスタント・モジュールは、プ
ロセスBのクレデンシャル(credential:信任状)とメモリ内の実際
のイメージが一致した場合にのみ秘密を明かす。プロセスBのクレデンシャルを
プロセスAが事前に知っている場合にはプロセスBのクレデンシャルをタンパ・
レジスタント・モジュールと一緒に送ってもよいし、またはタンパ・レジスタン
ト・モジュールがプロセスBのシステムでプロセスBのクレデンシャルを調べて
もよい(すなわちタンパ・レジスタント・モジュールが実行される前にタンパ・
レジスタント・モジュールにプロセスBのシステム上のクレデンシャルの位置を
引き数として渡す)。クレデンシャルは一般に、プロセスBのコード・イメージ
の署名された所定のマニフェスト(manifest:目録)である。
【0007】 タンパ・レジスタント・ソフトウェアは観察および変更を受け付けないソフト
ウェアである。タンパ・レジスタント・ソフトウェアは悪意ある攻撃があっても
意図されたとおりに作動する、ある範囲において信頼に足るソフトウェアである
。タンパ・レジスタント・ソフトウェアは位置独立でなければならず、メモリ内
での再配置を必要とするものであってはならない。したがってタンパ・レジスタ
ント・ソフトウェアは、自体が作成されたのと同じアドレス空間またはプロセッ
サで実行しなければならないというものではない。このソフトウェアは、タンパ
・レジスタント・コンパイラ(図示せず)を使用して生成される。タンパ・レジ
スタント・コンパイラはよく準備されたソフトウェア・モジュールに適用したと
きに、プレーン・テキスト・ソース・コード・コンパイラによって生成されたイ
メージを分かりにくい新たなイメージに置き換えるコンパイラである。この自己
暗号化解除ソフトウェアは、タンパ・レジスタント・コンパイラによってコンパ
イルされて以降、イメージが一切変更されていない場合にのみ適正に実行される
。タンパ・レジスタント・コンパイラは、「隠れ」実行モードで走る能力を有す
るソフトウェア・カーネルを提供するソフトウェア方法である。このソフトウェ
アが実際に実行している内容を解読しようとしたり、またはソフトウェアを変更
するとカーネルは完全な失敗に終わる(すなわち適正に暗号化解除しない)。
【0008】 タンパ・レジスタント・モジュール14は完全性検証カーネル(IVK)を含
む。IVKは、プログラム・イメージがディジタル署名に対応することを検証す
るソフトウェアである。このソフトウェアは、実行中のソフトウェアに実施され
た変更を検出するロバストな機構を提供する。このような変更は、伝送誤りまた
はこのソフトウェアへの悪意ある攻撃によって生じる可能性がある。このソフト
ウェアが変更されると検証プロセスは失敗に終わる。タンパ・レジスタント・ソ
フトウェアのIVKは、オブジェクト・コードの自己検査、パートナ・モジュー
ルの相互認証、およびソフトウェアを実行するように構築されている。結果とし
て、カーネルの完全な失敗となる(すなわち、それが適切に暗号化解除されない
)。 タンパ・レジスタント・モジュール14は完全性検証カーネル(IVK)を含
む。IVKは、プログラム・イメージがディジタル署名に対応することを検証す
るソフトウェアである。このソフトウェアは、実行中のソフトウェアに実施され
た変更を検出するロバストな機構を提供する。このような変更は、伝送誤りまた
はこのソフトウェアへの悪意ある攻撃によって生じる可能性がある。このソフト
ウェアが変更されると検証プロセスは失敗に終わる。タンパ・レジスタント・ソ
フトウェアのIVKは、オブジェクト・コードの自己検査、パートナ・モジュー
ルの相互認証、およびソフトウェア・モジュールの完全性を検証するためのロー
カルおよびリモート・データのチェックを実行するように構築される。
【0009】 IVKは自己修正型、自己暗号化解除型で、かつインストレーション・ユニー
クである。互いに通信する必要がある2つのプロセス間ソフトウェア・モジュー
ルは、呼び出しているモジュールが本当に期待しているモジュールであることを
、呼び出したモジュールのディジタル署名を計算し、計算した署名を所定の値と
比較することによって立証することができる。このプロセスは相互認証と呼ばれ
る。本発明ではIVKがプロセスBの完全性の検証に使用される。タンパ・レジ
スタント・モジュールを作成する詳細な方法ならびにIVKおよび相互認証を用
いて完全性検証処理を提供する詳細な方法が、ともに本発明の譲受人に譲渡され
係属中の「Tamper Resistant Methods and Ap
paratus」という名称の米国特許出願08/662679号、および「T
amper Resistant Methods and Apparatu
s」という名称の米国特許出願08/924740号に開示されている。
【0010】 タンパ・レジスタント・モジュール14はさらに秘密16を含む。タンパ・レ
ジスタント・モジュールはプロセスB12の完全性検証に成功するまでこの秘密
を明かさない。この秘密を、プロセスAが選択した任意のディジタル値とするこ
とができる。プロセスA10は、この秘密を含むタンパ・レジスタント・モジュ
ール14を呼掛け18とともにプロセスB12に渡す。タンパ・レジスタント・
モジュールは呼掛けの前、呼掛けの後または呼掛けと同時にプロセスBに送るこ
とができる。次いでプロセスBが、自体のシステムでタンパ・レジスタント・モ
ジュールを実行する。タンパ・レジスタント・モジュールの実行中にタンパ・レ
ジスタント・モジュールを調べたり、または変更することは非常に困難である。
タンパ・レジスタント・モジュールが適正に実行され、プロセスBのイメージの
署名されたマニフェスト17に基づいてメモリ内のプロセスBの現在のイメージ
が検証された場合、プロセスBは秘密を回復し、これを使って呼掛けを符号化し
て適当な応答を作り出す。したがって応答20は暗号化された呼掛けE(cha
llenge)22を含む。応答はプロセスAに送られる。既にこの秘密を知っ
ているプロセスAは暗号化された呼掛けを解読する。応答がプロセスAが期待す
るものと一致した場合、プロセスAは、プロセスBが本物であり、その完全性が
損なわれていないと理解する。これによってパーティ間の以降の対話を開始する
ことができる。
【0011】 秘密16が一度だけ使用される一時的な価値の低い秘密である場合、本発明は
より効果的である。秘密は、永続的な価値を持たないその場限りのものであるこ
とが好ましい。したがってプロセスAは呼掛け−応答シーケンスごとに秘密を変
更する。さらにタイム・アウト機構をプロセスAで使用して、指定の短い時間内
に応答20を返さなければならないようにすることができる。攻撃を試みたとし
ても割り当てられた時間内にそれを成功させることは不可能なので、この機構は
、悪意を持ったプロセスBのユーザがタンパ・レジスタント・モジュールおよび
呼掛けをインターセプトし、本明細書に記載の固有のセキュリティを破ろうとす
ることを思いとどまらせる。任意選択でプロセスAはさらに呼掛けの一部として
プロセスBに情報を要求することができる。この情報は、プロセスAに返される
応答20の中に呼掛けと一緒に符号化される。
【0012】 図2は、別のプロセスを認証する本発明に基づく段階の流れ図である。段階1
00でプロセスAが、秘密を含むタンパ・レジスタント・モジュールを作成する
。秘密は、プロセスAが知っている任意のディジタル値でよい。この秘密が、新
たに生成された乱数などの一時的な価値の低い秘密であることが好ましい。段階
102でプロセスAは秘密を含むタンパ・レジスタント・モジュール、呼掛け、
および任意選択で情報要求をプロセスBに送る。次に段階104でプロセスBが
、タンパ・レジスタント・モジュールを実行し、実行中のタンパ・レジスタント
・モジュールによって計算されたプロセスBのディジタル署名がプロセスBのイ
メージに対する署名されたマニフェストに対応する場合に秘密を回復する。署名
されたマニフェストに基づくプロセスBのイメージの検証に失敗した場合、タン
パ・レジスタント・モジュールは不正操作またはその他のエラー状態を検出し、
プロセスA、プロセスBはともに以降の処理を実行しない。プロセスAは、プロ
セスBは本物でない、または悪意を持ったユーザがタンパ・レジスタント・モジ
ュールの「ハッキング」を試みたと判断する。検証に成功した場合には段階10
6でプロセスBは、プロセスAから受け取った呼掛けを符号化して応答を作り出
す。この符号化操作は、秘密を鍵として使用した適当な暗号アルゴリズムの実行
を含む。必要ならばプロセスBは段階108で、プロセスAの情報要求に対する
回答を符号化する。次にプロセスBは段階110で応答および任意選択の回答を
プロセスAに送る。最後にプロセスAは段階112で応答を復号してBの妥当性
を検査し、任意選択で自体の情報要求に対する回答を記憶する。復号された応答
がプロセスAがプロセスBに送った呼掛けを含む場合にはプロセスBは認証され
たことになる。
【0013】 当業者なら、本発明がタンパ・レジスタント・バリデーション・プロセスの一
部である秘密を安全に送ること、およびこの秘密が永続的な価値を持たないその
場限りのものでよいことを理解しよう。さらに、通信しているプロセスが事前に
秘密を共有している必要はなく、プロセスは非対称鍵対の2つの構成要素を共有
しない。本発明ではリモート・プロセスの認証を希望しているパーティが、真正
性を決定するためにリモート・プロセスにエージェント(すなわちタンパ・レジ
スタント・モジュール)を送る。このエージェントは、悪意を持ったユーザによ
って変更されないような方法で構築される。しかし示した実施形態の1つの限界
は、プロセスAが、プロセスBのオペレーティング・システムおよびプロセッサ
で実行することができるタンパ・レジスタント・モジュールを構築することがで
きなければならないことである。オペレーティング・システムおよび基礎をなす
プロセスBまたは両方ならば。プロセスAおよびプロセスBが互いに離れたシス
テムにあるとき、プロセスAは第1のサンプル・コンピュータ・システム上で実
行され、プロセスBは、ネットワークを介して第1のサンプル・コンピュータ・
システムに接続された第2のサンプル・コンピュータ・システム上で実行されて
いる。サンプル・コンピュータ・システム200は、プロセッサ・バス205を
介して互いに結合された中央処理ユニット(CPU)202およびキャッシュ・
メモリ204を含む。サンプル・コンピュータ・システム200はさらに高性能
I/Oバス208および標準I/Oバス218を含む。プロセッサ・バス205
と高性能I/Oバス208はホスト・ブリッジ206によって連絡され、高性能
I/Oバス208と標準I/Oバス218はI/Oバス・ブリッジ210によっ
て連絡される。高性能I/Oバス208にはメイン・メモリ212およびビデオ
・メモリ214が結合される。ビデオ・メモリ214にはビデオ・ディスプレイ
216が結合される。標準I/Oバス218には大容量記憶装置220およびキ
ーボード/ポインティング・デバイス222が結合される。
【0014】 これらの部品は、当技術分野で周知のそれらの通常の機能を実行する。具体的
には大容量記憶装置220は認証およびタンパ・レジスタント・プログラム/ア
プリケーションの実行可能命令の永続記憶域を提供するのに使用され、メイン・
メモリ212は、認証およびタンパ・レジスタント・プログラム/アプリケーシ
ョンの実行可能命令をCPU202による実行中に一時的に記憶するの使用され
る。
【0015】 本発明を、例示的な実施形態に関して説明してきたが、この説明を制限的な意
味で解釈してはならない。これらの例示的な実施形態および本発明のその他の実
施形態のさまざまな変更は本発明が属する技術分野の熟練者にとって明白であり
、本発明の趣旨および範囲に含まれるものである。
【図面の簡単な説明】
【図1】 本発明に基づく安全な方法で互いに通信している2つのプロセスを示す図であ
る。
【図2】 別のプロセスを認証する本発明に基づく段階の流れ図である。
【図3】 本発明の実施形態に基づく認証方法を用いてプログラムするのに適したサンプ
ル・コンピュータ・システムを示す図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AM,AT,AZ,BA,BB,BG,BR, BY,CA,CH,CN,CU,CZ,DE,DK,E E,ES,FI,GB,GD,GE,GH,GM,HR ,HU,ID,IL,IN,IS,JP,KE,KG, KP,KR,KZ,LC,LK,LR,LS,LT,L U,LV,MD,MG,MK,MN,MW,MX,NO ,NZ,PL,PT,RO,RU,SD,SE,SG, SI,SK,SL,TJ,TM,TR,TT,UA,U G,US,UZ,VN,YU,ZW

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 第2のプロセスのアドレス空間とは異なるアドレス空間で作
    動している第1のプロセスを認証する方法であって、 第2のプロセスが秘密を含むモジュールを作成すること、 第2のプロセスから第1のプロセスにモジュールおよび呼掛けを送ること、 第1のプロセスがモジュールを実行し、モジュールによって第1のプロセスの
    完全性が検証されたときに秘密を回復すること、 秘密を使い呼掛けを符号化して応答を作り出すこと、 応答を第2のプロセスに送ること、および 第2のプロセスが応答を復号すること を含む方法。
  2. 【請求項2】 モジュールがタンパ・レジスタント・モジュールである請求
    項1に記載の方法。
  3. 【請求項3】 秘密が一度だけ使用される請求項1に記載の方法。
  4. 【請求項4】 秘密が、永続的な価値を持たないその場限りのものである請
    求項1に記載の方法。
  5. 【請求項5】 所定の時間内に応答を受け取らなかったときに、第1のプロ
    セスは本物ではないと決定することをさらに含む請求項1に記載の方法。
  6. 【請求項6】 モジュールによって決定された第1のプロセスのディジタル
    署名が第1のプロセスの署名されたマニフェストに対応するときにモジュールが
    第1のプロセスを検証する請求項1に記載の方法。
  7. 【請求項7】 呼掛けが、第1のプロセスに情報を求める要求を含む請求項
    1に記載の方法。
  8. 【請求項8】 情報要求に対する回答を応答の中に符号化することをさらに
    含む請求項7に記載の方法。
  9. 【請求項9】 第2のプロセスが回答を復号することをさらに含む請求項8
    に記載の方法。
  10. 【請求項10】 第2のプロセスのアドレス空間とは異なるアドレス空間で
    作動している第1のプロセスを認証する装置であって、 プログラム命令を実行する処理ユニットと、 処理ユニットによって実行される第2のプロセスの複数のプログラム命令を記
    憶した記憶媒体とを含み、 実行されたときに複数のプログラム命令が秘密を含むモジュールを作成し、呼
    掛けを作成し、モジュールおよび呼掛けを第1のプロセスに送り、呼掛けに対す
    る応答を第1のプロセスから受け取り、応答を復号する、 装置。
  11. 【請求項11】 モジュールがタンパ・レジスタント・モジュールである請
    求項10に記載の装置。
  12. 【請求項12】 呼掛けが、第1のプロセスに情報を求める要求を含む請求
    項10に記載の装置。
  13. 【請求項13】 秘密が、永続的な価値を持たないその場限りのものである
    請求項10に記載の装置。
  14. 【請求項14】 第2のプロセスのアドレス空間とは異なるアドレス空間で
    作動している第1のプロセスを認証する装置であって、 プログラム命令を実行する処理ユニットと、 処理ユニットによって実行される第1のプロセスの複数のプログラム命令を記
    憶した記憶媒体とを含み、 実行されたときに複数のプログラム命令が第2のプロセスからモジュールを受
    け取り、モジュールの実行を開始し、モジュールの実行中に第1のプロセスの完
    全性が検証されたときにモジュールに埋め込まれた秘密を回復し、第2のプロセ
    スから呼掛けを受け取り、秘密を使い呼掛けを符号化して応答を作り出し、応答
    を第2のプロセスに送る、 装置。
  15. 【請求項15】 モジュールがタンパ・レジスタント・モジュールを含む請
    求項14に記載の装置。
  16. 【請求項16】 モジュールによって決定された第1のプロセスのディジタ
    ル署名が第1のプロセスの署名されたマニフェストに対応するときに第1のプロ
    セスが検証される請求項14に記載の装置。
  17. 【請求項17】 呼掛けが第1のプロセスに情報を求める要求を含み、複数
    のプログラム命令が情報要求に対する回答を応答の中に符号化することをさらに
    含む請求項14に記載の装置。
  18. 【請求項18】 第2のプロセスのアドレス空間とは異なるアドレス空間で
    作動している第1のプロセスを認証する装置であって、 プログラム命令を実行する処理ユニットと、 処理ユニットによって実行される複数のプログラム命令を記憶した記憶媒体と
    を含み、 実行されたときに複数のプログラム命令が秘密を含むモジュールを作成し、呼
    掛けを作成し、モジュールおよび呼掛けを第1のプロセスに送り、第1のプロセ
    スのアドレス空間でモジュールの実行を開始し、モジュールの実行中に第1のプ
    ロセスの完全性が検証されたときにモジュールに埋め込まれた秘密を回復し、第
    2のプロセスから呼掛けを受け取り、秘密を使い呼掛けを符号化して応答を作り
    出し、応答を第2のプロセスに送り、呼掛けに対する応答を第1のプロセスから
    受け取り、応答を復号する、 装置。
  19. 【請求項19】 ローカル・プロセスとリモート・プロセスの相互認証装置
    であって、 プログラム命令を実行する処理ユニットと、 処理ユニットによって実行されるローカル・プロセスの複数のプログラム命令
    を記憶した記憶媒体とを含み、 実行されたときに複数のプログラム命令が第1の秘密を含む第1のモジュール
    を作成し、第1の呼掛けを作成し、第1のモジュールおよび第1の呼掛けをリモ
    ート・プロセスに送り、第1の呼掛けに対する第1の応答をリモート・プロセス
    から受け取り、第1の応答を応答を復号し、第2のモジュールを受け取り、第2
    のモジュールの実行を開始し、第2のモジュールの実行中にローカル・プロセス
    の完全性が検証されたときに第2のモジュールに埋め込まれた第2の秘密を回復
    し、リモート・プロセスから第2の呼掛けを受け取り、第2の秘密を使い第2の
    呼掛けを符号化して第2の応答を作り出し、第2の応答をリモート・プロセスに
    送る、 装置。
  20. 【請求項20】 プロセッサによって実行されるように設計された複数の機
    械可読命令を記憶した機械可読媒体であって、その機械可読命令が、秘密を含む
    モジュールを作成し、呼掛けを作成し、モジュールおよび呼掛けをリモート・プ
    ロセスに送り、呼掛けに対する応答をリモート・プロセスから受け取り、応答を
    復号する、機械可読媒体。
  21. 【請求項21】 プロセッサによって実行されるように設計された複数の機
    械可読命令を記憶した機械可読媒体であって、その機械可読命令が、リモート・
    プロセスからモジュールを受け取り、モジュールの実行を開始し、モジュールの
    実行中にローカル・プロセスの完全性が検証されたときにモジュールに埋め込ま
    れた秘密を回復し、リモート・プロセスから呼掛けを受け取り、秘密を使い呼掛
    けを符号化して応答を作り出し、応答をリモート・プロセスに送る、機械可読媒
    体。
  22. 【請求項22】 プロセッサによって実行されるように設計された複数の機
    械可読命令を記憶した機械可読媒体であって、その機械可読命令が、秘密を含む
    モジュールを作成し、呼掛けを作成し、モジュールおよび呼掛けを第1のプロセ
    スに送り、第1のプロセスのアドレス空間でモジュールの実行を開始し、モジュ
    ールの実行中に第1のプロセスの完全性が検証されたときにモジュールに埋め込
    まれた秘密を回復し、第2のプロセスから呼掛けを受け取り、秘密を使い呼掛け
    を符号化して応答を作り出し、応答を第2のプロセスに送り、呼掛けに対する応
    答を第1のプロセスから受け取り、応答を復号する、機械可読媒体。
  23. 【請求項23】 プロセッサによって実行されるように設計された複数の機
    械可読命令を記憶した機械可読媒体であって、その複数の機械可読命令が、第1
    の秘密を含む第1のモジュールを作成し、第1の呼掛けを作成し、第1のモジュ
    ールおよび第1の呼掛けをリモート・プロセスに送り、第1の呼掛けに対する第
    1の応答をリモート・プロセスから受け取り、第1の応答を応答を復号し、リモ
    ート・プロセスから第2のモジュールを受け取り、第2のモジュールの実行を開
    始し、第2のモジュールの実行中にローカル・プロセスの完全性が検証されたと
    きに第2のモジュールに埋め込まれた第2の秘密を回復し、リモート・プロセス
    から第2の呼掛けを受け取り、第2の秘密を使い第2の呼掛けを符号化して第2
    の応答を作り出し、第2の応答をリモート・プロセスに送る、機械可読媒体。
JP2000539607A 1997-12-12 1998-12-12 異なるアドレス空間にある別のプロセスを強力に認証する方法 Pending JP2002509388A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/989,615 US5974550A (en) 1997-12-12 1997-12-12 Method for strongly authenticating another process in a different address space
US08/989,615 1997-12-12
PCT/US1998/025633 WO1999031841A1 (en) 1997-12-12 1998-12-12 Method for strongly authenticating another process in a different address space

Publications (1)

Publication Number Publication Date
JP2002509388A true JP2002509388A (ja) 2002-03-26

Family

ID=25535283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000539607A Pending JP2002509388A (ja) 1997-12-12 1998-12-12 異なるアドレス空間にある別のプロセスを強力に認証する方法

Country Status (7)

Country Link
US (1) US5974550A (ja)
EP (1) EP1042882A4 (ja)
JP (1) JP2002509388A (ja)
KR (1) KR20010032955A (ja)
AU (1) AU2085699A (ja)
TW (1) TW431105B (ja)
WO (1) WO1999031841A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6892308B1 (en) * 1999-04-09 2005-05-10 General Instrument Corporation Internet protocol telephony security architecture
US7243236B1 (en) * 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US7051200B1 (en) 2000-06-27 2006-05-23 Microsoft Corporation System and method for interfacing a software process to secure repositories
US7039801B2 (en) * 2000-06-30 2006-05-02 Microsoft Corporation System and method for integrating secure and non-secure software objects
US7003800B1 (en) * 2000-11-06 2006-02-21 Ralph Victor Bain Self-decrypting web site pages
FI115098B (fi) 2000-12-27 2005-02-28 Nokia Corp Todentaminen dataviestinnässä
WO2002079955A2 (en) * 2001-03-28 2002-10-10 Nds Limited Digital rights management system and method
US7680743B2 (en) * 2002-05-15 2010-03-16 Microsoft Corporation Software application protection by way of a digital rights management (DRM) system
US7581095B2 (en) * 2002-07-17 2009-08-25 Harris Corporation Mobile-ad-hoc network including node authentication features and related methods
US20050039002A1 (en) * 2003-07-29 2005-02-17 International Business Machines Corporation Method, system and program product for protecting a distributed application user
JP4270033B2 (ja) * 2004-06-11 2009-05-27 ソニー株式会社 通信システムおよび通信方法
US7877608B2 (en) * 2004-08-27 2011-01-25 At&T Intellectual Property I, L.P. Secure inter-process communications
US20060048223A1 (en) * 2004-08-31 2006-03-02 Lee Michael C Method and system for providing tamper-resistant software
US8788829B2 (en) 2006-08-17 2014-07-22 Aol Inc. System and method for interapplication communications
US8010995B2 (en) * 2006-09-08 2011-08-30 International Business Machines Corporation Methods, systems, and computer program products for implementing inter-process integrity serialization
US8934625B2 (en) 2009-03-25 2015-01-13 Pacid Technologies, Llc Method and system for securing communication
US8959350B2 (en) 2009-03-25 2015-02-17 Pacid Technologies, Llc Token for securing communication
US8782408B2 (en) 2009-03-25 2014-07-15 Pacid Technologies, Llc Method and system for securing communication
TW201103298A (en) 2009-03-25 2011-01-16 Pacid Technologies Llc Method and system for securing communication
TW201040781A (en) 2009-03-25 2010-11-16 Pacid Technologies Llc System and method for protecting a secrets file
US8479021B2 (en) 2011-09-29 2013-07-02 Pacid Technologies, Llc Secure island computing system and method
US9940486B2 (en) * 2015-02-23 2018-04-10 Cisco Technology, Inc. Detection of hardware tampering
US11093624B2 (en) 2017-09-12 2021-08-17 Sophos Limited Providing process data to a data recorder

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4521846A (en) * 1981-02-20 1985-06-04 International Business Machines Corporation Mechanism for accessing multiple virtual address spaces
FR2601795B1 (fr) * 1986-07-17 1988-10-07 Bull Cp8 Procede pour diversifier une cle de base et pour authentifier une cle ainsi diversifiee comme ayant ete elaboree a partir d'une cle de base predeterminee, et systeme pour la mise en oeuvre
US4964163A (en) * 1988-04-04 1990-10-16 Motorola, Inc. Method and apparatus for controlling access to a communication system
US5311594A (en) * 1993-03-26 1994-05-10 At&T Bell Laboratories Fraud protection for card transactions
US5537474A (en) * 1994-07-29 1996-07-16 Motorola, Inc. Method and apparatus for authentication in a communication system
GB9422389D0 (en) * 1994-11-05 1995-01-04 Int Computers Ltd Authenticating access control for sensitive functions
EP0792044B1 (en) * 1996-02-23 2001-05-02 Fuji Xerox Co., Ltd. Device and method for authenticating user's access rights to resources according to the Challenge-Response principle
US6263437B1 (en) * 1998-02-19 2001-07-17 Openware Systems Inc Method and apparatus for conducting crypto-ignition processes between thin client devices and server devices over data networks
KR100285791B1 (ko) * 1998-03-27 2001-04-16 조휘갑 패스워드 교환방식을 이용한 사용자-서버간의 상호 신분 인증방법
US6918035B1 (en) * 1998-07-31 2005-07-12 Lucent Technologies Inc. Method for two-party authentication and key agreement

Also Published As

Publication number Publication date
KR20010032955A (ko) 2001-04-25
WO1999031841A1 (en) 1999-06-24
EP1042882A4 (en) 2002-06-12
TW431105B (en) 2001-04-21
US5974550A (en) 1999-10-26
EP1042882A1 (en) 2000-10-11
AU2085699A (en) 1999-07-05

Similar Documents

Publication Publication Date Title
JP2002509388A (ja) 異なるアドレス空間にある別のプロセスを強力に認証する方法
US8689290B2 (en) System and method for securing a credential via user and server verification
US9117324B2 (en) System and method for binding a smartcard and a smartcard reader
JP4879176B2 (ja) ワンタイム秘密鍵を用いたデジタル署名を実装するためのシステムおよび方法
CN101005361B (zh) 一种服务器端软件保护方法及系统
CN116112184A (zh) 采用可信硬件的安全动态阈值签名方案
US8555069B2 (en) Fast-reconnection of negotiable authentication network clients
US20060195402A1 (en) Secure data transmission using undiscoverable or black data
US20070220253A1 (en) Mutual authentication between two parties using two consecutive one-time passwords
US9055061B2 (en) Process of authentication for an access to a web site
JP2004508619A (ja) トラステッド・デバイス
JP2002530765A (ja) コンピュータシステムにおける機密保護リソースの認証及び利用のための方法及びシステム
JP2002521962A (ja) 認証トークンを使用して共有秘密を確立する方法及びシステム
JP2009508189A (ja) 拡張ワンタイム・パスワード方法および装置
US20090282253A1 (en) Network helper for authentication between a token and verifiers
US20050120248A1 (en) Internet protocol telephony security architecture
CN109831311B (zh) 一种服务器验证方法、系统、用户终端及可读存储介质
CN114301617A (zh) 多云应用网关的身份认证方法、装置、计算机设备及介质
CN114513345A (zh) 信息传输系统以及使用者装置与信息安全硬件模块
CN101090321A (zh) 使用非周期精确测量发现仿真客户机的设备和方法
WO2023236720A1 (zh) 设备认证和校验的方法、装置、设备和存储介质
CN115550002B (zh) 一种基于tee的智能家居远程控制方法及相关装置
CN111131211A (zh) 一种面向共享洗衣机安全的防篡改方法
KR20040014400A (ko) 인터넷 프로토콜 전화 보안 체계
JP2008124987A (ja) 暗号通信装置及び暗号通信システム及び暗号通信方法及びプログラム