(57)【要約】【課題】公開鍵暗号化方式において少なくとも２つの通信機器の間でのデータ完全性を確認する方法を提供すること。【解決手段】公開鍵暗号方式において署名のために個人用機器の使用者に提示される、データの信頼された経路を確立する方法、およびデータの完全性を確認する方法である。この方法は、個人用機器の使用者およびそれに備わるセキュアモジュールとの間の信頼された経路を確立することを包含する。このセキュアモジュールは、使用者の秘密鍵を保持し、データメッセージについての情報を直接使用者に表示し、そして署名を生成するよう指示された場合のみ、署名を生成する。データメッセージを署名するか否かは、使用者によって決定される。【選択図】図１
2010200381.tif 000002
【特許請求の範囲】
【請求項１】
本願明細書に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の技術分野）
本発明は、公開鍵暗号方式において、通信機器（correspondents）間での信頼された通信経路を確立するための方法およびシステムに関する。より詳細には、本発明は、署名を計算する前のデータ完全性の確認に関するものである。
【背景技術】
【０００２】
（発明の背景）
電子伝送（electronictransmission）の送信者が、実際に名乗っている者であることを保証するための信頼できる方法がないため、電子商取引は、プライバシーおよびセキュリティーに関する問題によって妨害されている。また、媒体の有する非物理的な性質のため、様々なビジネスおよび合法的な目的のために、調印またはサインによって物理的に媒体に印をつける従来からの方法は実用的ではない。むしろ、いくつかの印は、その情報源を識別し、その内容が信頼できることを証明するために、情報自体を符号化しなければならない。
【０００３】
また、オンラインで行われるビジネスであろうと、顔を突き合わせて行われるビジネスであろうと、顧客および取引先は、識別(identification)、認証(authentication)および許可(authorization)を行わなければならない。すなわち、識別とは、自動化データ処理システムに記述された使用者を認識できるプロセスであり、認証とは、個人、身分または発信者について要求される識別を確認する行為であり、最後に許可とは、使用者、プログラムまたはプロセスにアクセスする権利を得ることである。
【０００４】
また、暗号法の分野の根底には、情報システムにおける、識別、認証、機密性（confidentiality）、認証、完全性(integrity)、および否認防止(non-repudiation)の問題を解決することがある。機密性に関しては、暗号化が用いられ、使用者の間で送信された情報をスクランブル（scramble）するため、盗聴者(eavesdropper)はデータの内容を理解できない。また、メッセージの受信者がメッセージに署名した人を識別できるように、認証は一般的に、メッセージの著者を識別するためにデジタル署名を採用している。なお、デジタル署名は、パスワードまたはそれに代わるものと組み合わせて用いることができる。また、メッセージの完全性は、メッセージが変更されていないことを確認する方法によって決定されており、このような方法は一般的にメッセージダイジェストコード（messagedigest codes）を採用している。また、否認防止では、暗号化受信の作成を記述しており、これによってメッセージの著者が、メッセージ送信することを誤って拒否することができない。従って、インターネットは、人、コンピューターおよび組織の中における信頼関係の十分な複雑性を浮き彫りにする。
【０００５】
上記したように、認証の１つの方法は、デジタル署名に関与する。すなわち、デジタル署名は、２つの関連した鍵（公開鍵および秘密鍵）を用いた公開鍵暗号化技術を使用する。公開鍵暗号化において、公開鍵は、対応する秘密鍵の所有者と通信することを欲する、誰に対しても利用可能とする。また、公開鍵は、秘密鍵を用いて署名されたメッセージを確認するためか、あるいは秘密鍵を用いてのみ解読され得るメッセージを暗号化するために使用される。このように暗号化されたメッセージの機密性およびこのように署名されたメッセージの認証性は、秘密鍵の安全性に依存する。従って、無許可の使用に対して鍵を保護するために、秘密鍵は、所有者によって秘密にされている。
【０００６】
ところで従来では、スマートカードが、使用者を認証するための署名トークン(signing token)として使用されてきた。スマートカードとはマイクロプロセッサカードの別名であり、これは「賢明な(smart)」チップカードをさす。「スマートカード」という表現は、すべてのタイプのチップカードを指すために使用されるが、ＳＭＡＲＴＣＡＲＤ（登録商標）は、グループマーク（Groupmark）の登録商標である。スマートカードは、エンドユーザによって実行されるＰＩＮ保護化トークン（PIN-protectedtoken）に、デジタル証明書、暗号化鍵および他の情報を与える(place)。これは、無許可のアクセスに対して無防備なコンピューター機器にそれを格納しているよりは安全である。また、デジタル署名および鍵交換のような秘密鍵に関与する暗号化アルゴリズムがカードで実行される。このような環境においてトランザクション(transactions)を署名することによって、使用者は、互いが交換したデータのわずかな完全性および機密性だけが保証される。また、秘密鍵は、トークン外で明かされないですむ。
【０００７】
一方、スマートカードの問題点の１つは、スマートカードの不正使用によって所有者が保護されないことである。例えば、ディスプレイの画面のようなユーザインターフェースがないため、スマートカードを用いて署名されている実際のメッセージの内容について、所有者は信頼できない。また、スマートカードの別の欠点は、正当な所有者でない、あるいは悪質な適用であり得る、スマートカードおよびＰＩＮを有するいかなる実体（entity）または個人であっても、実際において機密鍵の知識を有しているということである。
【０００８】
そこで、別の解決策としては、署名トークンとして、無線アプリケーションプロトコル（ＷＡＰ）利用可能な携帯電話（a wireless application protocol (WAP) capable mobile phone）または無線携帯情報末端（ＰＤＡ）のような個人用機器を導入することである。このような個人用機器は秘密鍵を格納し、そして所有者の代わりにトランザクションを署名する。このような状況において、個人用機器の保持者は、正当な所有者とみなされる、または、適切なアクセス制御メカニズムによって規定されたものとして、許可された代表者とみなされる。また、データメッセージ(datamessage)は、外部コンピューターのような外部デバイスにおいて生成され、次いで署名用の個人用機器に渡される。あるいは、データメッセージは、個人用機器において全て生成されてもよい。しかしながら、これらの状況の両方において、不正行為の実質的な危険性が存在する。
【０００９】
データメッセージがパーソナルコンピューターまたは同様の機器において生成され、次いで署名用および送信用の個人用機器に送信される最初の状況に関して、メッセージの完全性を備えることができる。この例において、個人用機器の所有者は、トランザクションを検索（browse）および組み立て（アセンブル（assemble））するために、パーソナルコンピューターにおいて利用可能な、より大きな表示領域および演算能力を使用することを所望する。データメッセージがパーソナルコンピューターでアセンブルされるとすぐに、このデータは署名用の個人用機器に送信される。そして、この個人用機器が署名を計算し、署名されたデータメッセージは、この個人用機器から送信される。すなわち、個人用機器は、署名トークン（asigning token）および送信デバイスとして機能する。
【００１０】
この状況では、外部コンピューターが信用され得るものであり、このコンピューターが悪徳ソフトウェアを含まず、またメッセージの内容を書き換えるように、不道徳な個人によってプログラムされていないということが仮定されている。もし署名が示されたデータが、表示されたデータとは異なる場合、秘密鍵の所有者は、不正トランザクションまたは金銭的な被害をもたらすトランザクションに署名することになる。
【００１１】
第二の状況に関して、可能性のある不正行為の例をここで記載する。つまり、メッセージに組み込まれた不正なスクリプトや不正なコードを含むソフトウェアを無意識にインストールしたり、あるいはセキュリティホールを介して個人用デバイスのオペレーティングシステムを危機にさらしたりすることなど、いくつかの方法によって、個人用デバイスのオペレーティングシステムが破損する場合が考えられる。なおこの場合、この不正コードは、上記したようにトランザクションの内容を変更し得る。
【００１２】
実際、トランザクションは、所有者が知らないところで作成、署名および送信され得るため、不正行為が行われる可能性が大きい。つまり、一見したところでは、個人用機器の所有者が、有効な署名を付加することによってデータメッセージを確認したかに見えるため、このように不正に入手された、署名されたトランザクションについての否認防止は、戦うのに困難となる。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
従って、上記の問題点の少なくとも１つを軽減することが本発明の目的である。
【課題を解決するための手段】
【００１４】
（発明の概要）
本発明の特徴の１つとして、本発明は、公開鍵暗号方式における通信機器間におけるデータ用の信頼された経路を確立する方法およびシステムを提供する。ここで通信機器のうち１つは、個人用機器である。この方法はまた、個人用機器の使用者の署名のために提示されたデータの完全性を確認する方法を提供する。また、１つの特徴について、個人用機器は、オペレーティングシステムおよび入力／出力装置を備える携帯電話であってもよく、このオペレーティングシステムから独立したセキュアモジュール（secure module）を備える。
【００１５】
また、上記セキュアモジュールは、個人用機器のオペレーティングシステムからの命令を受信しないように配置される。従って、署名より前のデータの暴露の可能性が低減される。
【００１６】
従来の機器の欠点を緩和するために、認証装置とその使用者との間においてデータ用の信頼された通信経路を確立する方法は、次の工程を含んでいる。すなわち、個人用機器のメインプロセッサからセキュアモジュールを論理的に隔離する工程と、個人用機器の使用者と個人用機器のセキュアモジュールとの間に、ＦＩＰＳ  １４０−２（暗号化ハードウェアおよびソフトウエアモジュールに対する安全性の要件を記載する米国政府標準）において定められた基準を満たすなどの、信頼された経路を提供する工程とを含む。また、セキュアモジュールに接続している装置のディスプレイは、使用者に情報の入力を指示する、文字および図形表示部を備える。また、このセキュアディスプレイ（secure display）は、セキュアモジュールで完全に制御されており、セキュア経路(secure path)によってセキュアモジュールに接続されている。また、信用のあるボタンは、セキュア経路を介してセキュアモジュールと直接通信する。つまり、鍵および他の重要なセキュリティー要素（securityparameters）の無許可での変更、無許可での置換、無許可での挿入ならびに無許可での削除などのような、無許可かつ検出されないセキュアモジュールの変更の機会を、信頼された経路によって低減する。
【００１７】
従って、使用者が有効でかつ正規なデータのみに署名する場合、秘密鍵の不正使用の可能性は低減される。
（項目１）
公開鍵暗号化方式において少なくとも２つの通信機器の間でのデータ完全性を確認する方法であって、
上記少なくとも２つの通信機器のうち少なくとも１つがメインプロセッサおよびセキュアモジュールを備え、該セキュアモジュールがメインプロセッサの制御から独立しており、該方法が、
上記少なくとも２つの通信機器のうち少なくとも１つにおいてデータをアセンブルする工程と、
第一出力を出力するために、上記メインプロセッサからの制御によってデータを表示する工程と、
第二出力を出力するために、上記セキュアモジュールからの上記データを表示する工程と、
上記第一出力と上記第二出力とを比較する工程と、
上記第一出力と上記第二出力との好適な比較に関して署名を生成するために上記セキュアモジュールに指示する工程とを含んでおり、
上記通信機器のうち少なくとも１つが上記データに署名するようなやり方で、上記好適な比較がデータ完全性を示している、少なくとも２つの通信機器の間でのデータ完全性を確認する方法。
（項目２）
上記少なくとも２つの通信機器のうち少なくとも１つが個人用機器である、項目１に記載の方法。
（項目３）
上記個人用機器が携帯電話である、項目２に記載の方法。
（項目４）
上記個人用機器が携帯情報末端である、項目２に記載の方法。
（項目５）
上記好適な比較において、上記第一出力と上記第二出力とが互いに論理的に関連していることを特徴とする、項目１に記載の方法。
（項目６）
上記論理的関係において、上記第一出力と上記出力とが同一である、項目５に記載の方法。
（項目７）
上記データメッセージを表示する工程が、該データメッセージの一部を表示する工程を含む、項目１に記載の方法。
（項目８）
上記好適な比較では、
上記第一出力の一部と上記第二出力の一部とが互いに論理的に関連していることを特徴とする、項目７に記載の方法。
（項目９）
上記論理的関係は、上記第一出力の一部が上記第二出力の一部と同一である、項目８に記載の方法。
（項目１０）
ＰＫＩ方式における、個人用機器と当該デバイスの使用者との間に、データ用のセキュア通信経路を確立する方法であって、該デバイスが、メインプロセッサおよび当該メインプロセッサとは独立して作動するセキュアモジュールを備えており、
上記デバイスと上記使用者との間にインターフェイスを提供する工程であって、上記インターフェイスが、使用者とデバイスとを相互作用させる手段を提供するために、入力デバイスおよび出力デバイスを備えており、該入力デバイスおよび該出力デバイスが、メインプロセッサによって制御可能となる、インターフェイスを提供する工程と、
上記セキュアモジュールとこれに接続したセキュア入力デバイスおよびセキュア出力デバイスとの間にセキュア通信経路を確立する工程であって、該セキュア経路が、任意の他の通信経路から論理的に隔離されている、セキュア通信路を確立する工程と、
上記出力デバイスおよびセキュア出力デバイスにおいて表示された該データを比較する工程とを含み、
上記個人用機器の使用者が上記比較に基づいて上記データの完全性を決定し得る、データ用のセキュア通信経路を確立する方法。
（項目１１）
上記使用者が、上記セキュア出力デバイスの出力のみに基づいて上記セキュア入力デバイスを作動させる、項目１０に記載の方法。
（項目１２）
通信システムにおける通信機器と個人用機器との間のデータメッセージの完全性を確認する方法であって、各通信機器は、データメッセージを受信および送信するように適合されており、
上記セキュアモジュールに秘密鍵を含める工程であって、該セキュアモジュールが個人用機器に、取り外し可能にかつ、通信可能に接続するように適合している、セキュアモジュールに秘密鍵を含める工程と、
上記個人用機器へのアクセスを制御する工程とを含む、データメッセージの完全性を確認する方法。
（項目１３）
公開鍵暗号化方式において、少なくとも２つの通信機器の間でのデータ完全性を確認するシステムであって、
少なくとも２つの通信機器のうち少なくとも１つがメインプロセッサおよびセキュアモジュールを備えており、
上記セキュアモジュールは、メインプロセッサの制御から独立しており、少なくとも２つの通信機器のうち少なくとも１つは、上記データメッセージをアセンブルして第一出力を出力し、メインプロセッサによって制御される、該第一出力を表示するための第一ディスプレイ、および該セキュアモジュールからの第二出力を表示するための第二ディスプレイを備えており、
該第一出力と第二出力とが比較され、上記セキュアモジュールが該第一出力と該第二出力との好適な比較に基づいて署名を生成し、該好適な比較がデータ完全性を示している、データ保全性を確認するシステム。
（項目１４）
上記少なくとも２つの通信機器のうち少なくとも１つが個人用機器である、項目１３に記載のシステム。
（項目１５）
上記個人用機器が携帯電話または携帯情報末端である、項目１３に記載のシステム。
（項目１６）
上記好適な比較は、上記第一出力と上記第二出力とが互いに論理的に関連していることを特徴とする、項目１３に記載のシステム。
（項目１７）
上記論理的関係は、上記第一出力と上記出力とが同一である、項目１６に記載のシステム。
（項目１８）
上記好適な比較の後、使用者が上記署名を生成するために上記セキュアモジュールを作動させる、項目１３に記載のシステム。
【図面の簡単な説明】
【００１８】
【図１】互いに通信する２つの通信機器、すなわち外部コンピューターと仮想線内の個人用機器とを示す概略図である。
【図２】ＰＫＩ方式において使用される、スタンドアロン型の図１に示す個人用機器の概略図である。
【図３】署名を生成するために受信したメッセージを認証する工程を概説するフローチャートである。
【発明を実施するための形態】
【００１９】
（図面の説明）
本発明の好ましい実施形態に係る上記した特徴および他の特徴は、以下の詳細な説明において、添付の図面を参照することによってより明確になる。この添付の図面は、図１は、互いに通信する２つの通信機器、すなわち外部コンピューターと仮想線（ghost outline）内の個人用機器とを示す概略図であり、
図２は、ＰＫＩ方式において使用される、スタンドアロン型の図１に示す個人用機器の概略図であり、図３は、署名を生成するために受信したメッセージを認証する工程を概説するフローチャートである。
【００２０】
（発明の詳細な説明）
まず初めに、図１を参照すると、この図では、好ましい実施形態における、データメッセージの完全性を証明するためのシステム１０を示しており、このシステム１０において第一通信機器１２と第二通信機器１４とは互いに通信している。この第一通信機器１２は個人用機器として設計されており、また第二通信機器１４は外部コンピューターとして設計されている。なお好ましくは、個人用機器１２は、パームパイロット（Palm Pilot）（登録商標）またはハンドスプリングビジョア(Handspring Visor)（登録商標）などのような無線アプリケーションプロトコル（ＷＡＰ）利用可能な携帯電話または無線携帯情報末端（ＰＤＡ）である。この実施形態においては、個人用機器１２は、セキュアモジュール１８を備えるデバイスメインプロセッサ（devicemain processor）１６によって制御される携帯電話である。
【００２１】
また、上記セキュアモジュール１８は、デバイスメインプロセッサ１６から独立して作動するように適合され、セキュアモジュール１８の内部状態は、容易にリバースエンジニアリング（reverse engineered）されない、および／または基礎となるハードウェアとの相互作用が、悪質に妨害されたり、再解釈されたりしない。なお、デバイスメインプロセッサ１６のような基礎となるハードウェアから特定のタイプの命令のみを受信するように、セキュアモジュール１８は、適切なツールキット(toolkit)によってプログラム可能である。
【００２２】
上記デバイスメインプロセッサ１６に接続しているデバイスディスプレイ２０は、使用者に情報の入力を指示する文字および図形の表示を提供する。また、デバイスメインプロセッサ１６に接続しているキーボード２２は、情報の入力を容易にする。同様に、セキュアモジュール１８は、セキュアディスプレイ２４、ディスプレイのセキュア部分（secure part）３０およびセキュア入力デバイス(a secure input device)（好ましくは信頼されたボタン２６）と通信する。また、セキュアディスプレイ２４は、セキュアモジュール１８によって完全に制御されており、セキュア経路２８によってセキュアモジュール１８に接続されている。また、上記信頼されたボタン２６は、セキュア経路３０を介してセキュアモジュール１８と直接通信する。従って、セキュア経路２８および３０は論理的に隔離され、他のどの経路とも区別される。また、セキュアモジュール１８、セキュアＩ／Ｏ装置２４および２６、ならびにセキュア経路２８および３０は、上記セキュアモジュール１８と個人用機器１２の使用者との間に信頼された経路を形成する。
【００２３】
外部コンピューター１４は、汎用コンピューター、パーソナルコンピューター、またはワークステーションであってもよく、外部ディスプレイ３２を備える。許可用のデータメッセージは、通信経路を介して外部コンピューターから個人用機器１２に送信され、メッセージ受信機３４によって受信される。個人用機器１２を経由する許可用のデータメッセージは、通信経路３６を介して、あるいは無線放送(wireless air)インターフェイスを通って、外部コンピューター１４からトランシーバ３４と接続されたアンテナに通信される。従って、個人用機器１２は、好ましくは、シリアルインターフェイス、ユニバーサルシリアルバス（ＵＳＢ）インターフェイス、ＩＥＥＥ  ８０２．１１仕様書(specification)に基づいた「無線(overthe air)」インターフェイス、またはＢＬＵＥＴＯＯＴＨ（登録商標）インターフェイスを備える。このように、個人用機器１２はデータを受信し、そして外部コンピューター１４で生成されたデータメッセージを署名するために使用することができる。
【００２４】
操作の際に、好ましくは、外部ディスプレイ３２に適切なデータのメッセージを表示し、トランシーバ３４を介して個人用機器１２にデータを伝達させるとともに、外部コンピューター１４は、署名されるべきデータメッセージの一部を含むデータをアセンブルする。また、デバイスメインプロセッサ１６は、必要に応じてディスプレイ３０に同じデータを表示しながら、データをセキュアモジュール１８に伝達させる。このセキュアモジュール１８は、適切な書式（フォーマット(format)）でセキュアディスプレイ２４に、データメッセージまたはそのメッセージの一部を表示する。また、データの完全性を確認するために、使用者は、セキュアディスプレイ３２のデータメッセージまたはそのデータメッセージの一部と、セキュアディスプレイ２４のデータメッセージとを比較する。そして、２つのデータメッセージが一致する場合、使用者は、信頼されたボタン２６を作動させることによって、セキュアモジュール１８、特に署名を生成する署名生成器(signaturegenerator)に指示する。しかしながら、データメッセージが異なる場合、すなわちこれは、セキュアモジュール１８に伝達されたデータメッセージの暴露を示唆しており、使用者は署名を生成しないことを選択することができる。
【００２５】
また、セキュアモジュール１８は、システム１０を用いて使用者を識別するために、確認管理プログラム(verification manager)を備えていてもよい。この確認管理プログラムは、パスワードまたはバイオメトリクスによってアクセス権および特権（privileges）を決定する。例えば、セキュアモジュール１８へのアクセス制御が必要とされる場合、外部の信頼されたボタン２６はまた、ＰＩＮを入力するために使用されてもよい。また例えば、１つの実施(implementation)において、セキュアモジュール１８は、データメッセージ
を表示した後、所定の時間以内にのみ署名を生成する。従って、外部のボタン２６は、所定の時間以内に作動されなければならない。また、トランザクションを完了させるため、生成された署名は、デバイスメインプロセッサ１６に送信するためにメッセージトランシーバ３４を介して伝達される。外部コンピューター１４が、偽りのメッセージまたは他の有害なトランザクションを含むことによって、個人用機器１２の使用者を騙すことを試みる場合、セキュアモジュール１８によるデータメッセージの出力は、外部ディスプレイ３２に表示されたデータメッセージと一致せず、データメッセージは、信頼されたボタン２６を介して使用者によって認証されない。
【００２６】
また、別の実施形態において、個人用機器１２は携帯電話であり、図２に示されるように、データメッセージは個人用機器で構成される。また、署名されるべきデータの一部は、デバイスディスプレイ２０に表示される。そして、セキュアディスプレイ２４および信頼されたボタン２６とともに、セキュアモジュール１８は、好ましい実施形態に示されたのと同じ様式で作動する。つまり、信頼されたボタン２６を介した使用者による指示の際に、署名が生成され、署名されたデータメッセージがトランシーバ３４を介して送信される。
【００２７】
署名を生成するか否かを決定するためにデータメッセージの完全性を確認する方法を、用いられる工程が図解されたフローチャートである図３を参照して記載する、すなわち、
工程１００：セキュアモジュール１８が、デバイスメインプロセッサ１６からデータを受信する。このデータは、署名されるべきデータメッセージの一部を含み、個人用機器１２でアセンブルされるか、あるいは外部コンピューター１４によって外部でアセンブルされ、それから個人用機器に伝達される；
工程１１０：セキュアモジュール１８が、セキュアディスプレイ２４にデータメッセージを表示し、指示を待つ；
工程１２０：メインプロセッサ１６からのデータメッセージが、デバイスディスプレイ２０および／または外部ディスプレイ３２に表示される；
工程１３０：使用者が、デバイスディスプレイ２０のデータメッセージとセキュアディスプレイ２４のデータメッセージとを比較する；
工程１４０：２つのデータメッセージの間に訂正があるかどうか、つまり、データメッセージまたはデータメッセージの一部が互いに論理的に関連しているかどうか、が決定される；
工程１５０：データメッセージが無許可と認識される場合、使用者は、信頼された指示経路３０を介して、署名を計算しないようセキュアモジュール１８に指示する；もしくは、
工程１６０：使用者が、セキュアディスプレイ２４のデータメッセージを容認可能と決定した場合、署名を計算するために信頼されたボタン２６を作動させることによって、信頼された指示経路３０を介して、セキュアモジュール１８での署名生成が指示される。ＰＩＮを入力するために信頼された指示経路３０を使用することや、セキュアモジュール１８が正しいＰＩＮがない場合はいかなる署名も与えないということを要求することによって、さらなるレベルの保証が提供され得る。
【００２８】
さらに別の実施形態において、上記セキュアモジュールは、ソフトウェアベースである。本実施形態では、セキュアモジュール１８は、デバイスディスプレイ２０のセキュア部分にデータメッセージを出力し、かつ、デバイスキーボード２２からの入力として指示に応じるデバイス２１で実行する、ソフトウェアプリケーション（software application）である。
【００２９】
本発明に係る上記に記載した実施形態は、本発明の一例を示したものであって、添付された特許請求項の範囲によってのみ定義された本発明の範囲内において、当業者によって本発明に対して改変および修正が効果的になされ得るものである。
【図１】
2010200381.tif 000003
【図２】
2010200381.tif 000004
【図３】
2010200381.tif 000005