(57)【要約】【課題】コンパクトで内臓式のパーソナルキーを提供すること。【解決手段】コンパクトで内臓式のパーソナルキーが開示される。パーソナルキーは、ホスト処理デバイス（１０２）、メモリ（２１４）、およびプロセッサ（２１２）に取り外し可能な結合をし得るＵＳＢコンプライアントインターフェース（２０６）を含む。プロセッサ（２１２）は、メモリ（２１４）に格納可能なデータへのホスト処理デバイス（１０２）条件付アクセスおよびパーソナルキーで格納されるファイルを管理するように要求し、ファイルのデータに基いて実行される計算機能性を提供する。【選択図】  図２
2011192311.tif 000002
【特許請求の範囲】
【請求項１】
単一のコンパクトなハウジング（６０２、６０４）を含むコンパクトなパーソナルトークン（２００）であって、該ハウジング（６０２、６０４）は、
ホスト処理デバイス（１０２）に取り外し可能なように結合することが可能なＵＳＢコンプライアントインターフェース（２０６）と、
メモリ（２１４）と、
該メモリ（２１４）に通信可能なように結合されたプロセッサ（２１２）であって、該プロセッサ（２１２）が、第１のパス（２１６）によって、該ＵＳＢコンプライアントインターフェース（１３０）を介して、該ホスト処理デバイス（１０２）に通信可能なように結合することが可能であり、該プロセッサ（２１２）が、該メモリ（２１４）に格納されているデータへのアクセスをホスト処理デバイス（１０２）に提供する、プロセッサ（２１２）と、
第２のパス（２２０）によって、該プロセッサ（２１２）に通信可能なように結合されたユーザ入力デバイス（２１８）と
を保持し、
該第２のパス（２２０）上の通信が該ＵＳＢコンプライアントインターフェース（２０６）にアクセス可能でないように、該第１のパス（２１６）および該第２のパス（２２０）が互いに異なっており、
該プロセッサが、該ユーザ入力デバイス（２１８）からの入力に基づいて、該メモリ（２１４）に格納されているデータへのアクセスを制御する、コンパクトなパーソナルトークン（２００）。
【請求項２】
前記ユーザ入力デバイス（２１８）が、前記プロセッサ（２１２）の動作を制御するように構成されている、請求項１に記載の装置。
【請求項３】
前記動作が、
暗号化動作と、
復号化動作と
を含む群から選択される動作を含む、請求項２に記載の装置。
【請求項４】
前記動作が、前記メモリ（２１４）に格納されている復号鍵を用いるデジタル署名動作を含む、請求項２に記載の装置。
【請求項５】
前記入力デバイス（２１８）が、前記トークン（２００）の外部の面から作動可能な少なくとも１つの感圧性デバイスを含む、請求項１に記載の装置。
【請求項６】
前記入力デバイス（２１８）が少なくとも１つの押しボタンスイッチ（７０２）を含む、請求項１に記載の装置。
【請求項７】
前記ＵＳＢコンプライアントインターフェース（２０６）と異なるパス（２２４）によって、前記プロセッサ（２１２）に通信可能なように結合された出力デバイス（２２２）をさらに含み、該出力デバイス（２２２）が、該プロセッサ（２１２）の動作に関する情報を提供する、請求項１に記載の装置。
【請求項８】
前記出力デバイス（２２２）が、少なくとも１つの発光デバイス（６１６）を含む、請求項７に記載の装置。
【請求項９】
前記出力デバイスが、少なくとも１つの液晶ディスプレイ（７０６）を含む、請求項７に記載の装置。
【請求項１０】
前記出力デバイスが、少なくとも１つの音声出力デバイスを含む、請求項７に記載の装置。
【請求項１１】
単一のコンパクトなハウジング（６０２、６０４）を含むコンパクトなパーソナルトークン（２００）であって、該ハウジング（６０２、６０４）は、
ホスト処理デバイス（１０２）に取り外し可能なように結合することが可能なＵＳＢコンプライアントインターフェース（２０６）と、
メモリ（２１４）と、
該メモリ（２１４）に通信可能なように結合されたプロセッサ（２１２）であって、該プロセッサ（２１２）が、第１のパスによって、該ＵＳＢコンプライアントインターフェース（２０６）を介して、該ホスト処理デバイス（１０２）に通信可能なように結合することが可能であり、該プロセッサ（２１２）が、該メモリ（２１４）に格納されているデータへのアクセスを該ホスト処理デバイス（１０２）に提供する、プロセッサ（２１２）と、
第２のパス（２２４）によって、該プロセッサ（２１２）に通信可能なように結合されたユーザ出力デバイス（２２２）と
を保持し、
該第２のパス（２２４）上の通信が該ＵＳＢコンプライアントインターフェース（２０６）にアクセス可能でないように、該第１のパス（２１６）および該第２のパス（２２４）が互いに異なっている、コンパクトなパーソナルトークン（２００）。
【請求項１２】
前記ユーザ出力デバイス（２２２）が、前記プロセッサ（２１２）の動作を示すように構成されている、請求項１１に記載の装置。
【請求項１３】
前記動作が、
暗号化動作と、
復号化動作と、
復号鍵を用いるデジタル署名動作と
を含む群から選択される動作を含む、請求項１２に記載の装置。
【請求項１４】
前記ユーザ出力デバイス（２２２）が、
少なくとも１つの発光デバイス（６１６）と、
少なくとも１つの液晶ディスプレイ（７０６）と、
少なくとも１つの音声デバイスと
を含む群から選択される、請求項１１に記載の装置。
【請求項１５】
前記ＵＳＢコンプライアントインターフェース（２０６）と異なるパス（２２０）によって、前記プロセッサ（２１２）に通信可能なように結合された入力デバイス（２１８）をさらに含み、該入力デバイス（２１８）が、該プロセッサ（２１２）の動作に関する情報を提供する、請求項１１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の背景）
１．（発明の分野）
本発明は、コンピュータ周辺機器、特に、一体化された入力および出力デバイスを有し、セキュリティの向上を提供するパーソナルキーに関する。
【背景技術】
【０００２】
２．（関連技術の説明）
過去十年において、家および職場の両方でパーソナルコンピュータの使用が広がってきた。これらのコンピュータにより、たった数十年前の大規模メインフレームコンピュータの機能性を実質的に超えるハイレベルの機能性が格安で多くの人々に提供される。その傾向は、モバイルベースで高性能のコンピューティングパワーを提供するラップトップおよびノートコンピュータの人気が高くなっていることにより、さらに証明される。
【０００３】
パーソナルコンピュータの広範な利用可能性は、個人間通信にも大きなインパクトをもたらした。ほんの十年前、電話またはファックスマシーンが、事実上、高速ビジネス通信の唯一のメディアであった。今日、電子メール（ｅメール）を介して通信する企業および個人の数は、大幅に増加している。パーソナルコンピュータはまた、インターネットの出現で有用となり、商業媒体として多数使用されている。
【０００４】
確かに有用ではあるが、個人通信、商業、およびビジネスでコンピュータが用いられるにつれ、多くの他に類を見ない問題が生じてきている。
【０００５】
第１に、コンピュータの使用の増加により、ソフトウェア開発者の実収入を犠牲にするコンピュータソフトウェアの広範な不正使用および不正コピーが生じている。ソフトウェアの不正コピーまたは不正使用は法律違反であるが、海賊ソフトウェアの広範な利用可能性および施行の困難さにより、ソフトウェア著作権侵害を禁止する方法の有効性が制限されている。
【０００６】
ソフトウェア開発者およびコンピュータ設計者等には、ソフトウェア著作権侵害の問題に取り組む技術的な解決手段を求めている。１つの解決手段は、ホストコンピュータの入力／出力（Ｉ／Ｏ）ポートに結合されるハードウェア鍵または「ドングル（ｄｏｎｇｌｅ）」として公知である外部デバイスを用いることである。
【０００７】
そのようなハードウェア鍵の使用は、ソフトウェア著作権侵害を減らす効率のよい方法であるが、現在のところ、それらの使用は高価なソフトウェア製品に実質的に制限されている。部分的には、ハードウェア鍵は非常に高価であること、保護プログラムの使用が望まれる場合はいつもハードウェア鍵を備えることが面倒であることをアプリケーションプログラムユーザが嫌うことが理由となり、ハードウェア鍵は一般的なソフトウェアパッケージに広くは適用されていない。多くの場合、ハードウェア鍵は、１つのアプリケーションのみに使用するように設計されている。同じコンピュータでの複数のアプリケーションの使用が望まれる場合、複数のハードウェア鍵が同時に動作しなければならない。
【０００８】
ｅメールは、電話およびファクシミリマシーンに対する大きな利点を示すが、ｅメールもまた、問題を抱えている。これらの問題の１つは、セキュリティに関する。電話回線は比較的安全であり、個人の情報の伝送に関する法的に認証されている方法であるが、ｅメールは、一般的に全く安全でないインターネットを通じて送信される。個人の電子メッセージの送信では、それらのメッセージは、オープンでなく、許可されていない相手に開示されないことを保障されなければならない。さらに、電子メッセージの受信人は、送信者のアイデンティティ、およびそのメッセージが送信の間にいくつかの箇所を改竄されていないことを確かめるべきである。
【０００９】
インターネット通信のパケット交換の特性は、通信の中断のリスクを最小化するが、決心の固い不正使用者がプロテクトされていないｅメールメッセージへのアクセスを得ることは難しいことではない。
【００１０】
送信間の電子メッセージの保全性を確実にするための多くの方法が開発されている。単純な暗号化は、データを安全にする最もありふれた方法である。公開鍵および復号鍵の両方を用いるＤＥＳ（データ暗号規格）を例とするシークレットキー暗号と公開鍵暗号化方法の両方が実行される。公開および復号鍵暗号方法により、メッセージが許可されていない相手に読まれること、または、その内容を改竄されることを心配をせずにユーザがインターネットおよびｅメールメッセージを送信することを可能とする。しかし、公開鍵暗号化方法は、受信者が公開鍵の有効性を認証出来ず、電子メッセージの送信者のアイデンティティを検査出来ないので、鍵暗号方法はメッセージの受信者をプロテクトしない。
【００１１】
デジタル認定の使用は、この問題に１つの解決策を与える。デジタル認定は、メッセージへ署名した個人の、アイデンティティおよび公開鍵を証明する署名書類である。デジタル認定により、受信者が公開鍵の許可を検査することを可能になる。しかし、典型的なユーザは、ｅメールを用いて、数百人の相手と通信し得、数台あるコンピュータの内のいずれかを用いて、ｅメールを行い得る。それ故数台のコンピュータプラットフォームにわたる多くのデジタル認定を管理する手段が必要とされる。
【００１２】
インターネット取引により、新たな問題が生じる。インターネットを用いて製品またはサービスの購入を求めるユーザは、自分のクレジットカードナンバー等が、妥協ではなく安全であることを保証されなければならない。同時に、ベンダーは、サービスおよび製品が、支払いをした相手にのみ配達されることを保証されなければならない。多くの場合、これらの目的は、パスワードの使用によって達成される。しかし、インターネット取引がより一般的になるにつれて、客は、自分が全てのトランザクションのために少数のパスワードを用いるか、または多数のパスワードを覚えるという困難な仕事に直面するかのどちらかに決定しなければならない羽目に陥っていることを知る。パスワードの任意の開示は他の部分の開示につながり得るので、全てのトランザクションに少数のパスワードを用いることは、本質的にセキュリティの妥協である。多数のパスワードを用いてさえ、セキュリティには妥協することになり得る。客は、通常自らパスワードを忘れるので、多くのインターネットベンダーは、出生地、母の旧姓、および／または社会保険番号を例とする他の個人情報を提供することによって、ユーザが自分のパスワードを忘れないようにするオプションを提供する。この特徴は、インターネット取引をプロモートするためにはしばしば必要であるが、実際、公に利用可能な「秘密」情報に依存することによって、パスワードにひどく妥協する。
【００１３】
ユーザは、多数のパスワードを忘れないようにすることを厭わず、忘れないように出来る場合でさえ、パスワードセキュリティ技術は、ユーザにとって比較的思い出し易いパスワードを選ぶ傾向があるという事実により、しばしば妥協したものになる。実際、ユーザが真にランダムなパスワードを選ぶことはめったにない。広範な多様なコンピュータプラットホームに格納され得、使用のために呼び出され得るランダムなパスワードを生成し、管理する手段が必要とされる。
【００１４】
インターネット通信はまた、「クッキー（ｃｏｏｋｉｅｓ）」の使用が増加するのがわかる。クッキーは、インターネットサーバからユーザコンピュータの記憶装置にダウンロードされ得るユーザのパターンおよび嗜好の記憶をとるデータおよびプログラムを含む。一般的には、クッキーは、アドレスの範囲を含む。ブラウザによりそれらのアドレスに再度出会う場合、アドレスに関連するクッキーは、インターネットサーバに提供される。例えば、ユーザのパスワードがクッキーとして格納されるならば、２回目および次回のサービスへのアクセスをする場合に、クッキーの使用により、ユーザは再度パスワードを入力する必要なく、サービスまたは製品を要求することができる。
【００１５】
しかし有益であるとしても、クッキーもまた、ダークサイドを有し得る。多くのユーザは、コンピュータのハードドライブにクッキーを格納することに反対する。これらのことに応じて、インターネットブラウザソフトウェアにより、ユーザは、オプションを選択してクッキーが格納されるまたは使用される前に通知され得る。この解決策の困難さは、これにより通常ユーザにクッキーを受け取るように促すメッセージが過剰になる。妥協を許さない手段よりよい解決策は、クッキーの格納および／または使用を可能にするが、その格納および使用をユーザの指定基準と一致するように切り離して制御することである。
【００１６】
スマートカードが上記の機能性のいくつかを提供するが、スマートカードは理想的な解決をもたらさない。第１に、デジタル認定およびパスワードに対してパーソナルキーが単一の、広く許容された、安全なレポジトリを提供する場合、パーソナルキーは、ユーザに重要なだけである。スマートカード読み取り装置は、比較的高価であり、少なくとも米国では普及しておらず、それゆえ仕事に向いていない。
【００１７】
第２に、スマートカードは、カードに直接データを入力することを提供しない。これにより、不正ソフトウェアの可能なスニファ（ｓｎｉｆｆｅｒ）モジュールに対してスマートカードを開ける。スマートカード読み取り装置インターフェースをモニタして、ユーザ個人のアイデンティティまたはパスワード情報を判定することができる。この問題は、ユーザが未知のまたは信頼性のないスマートカード読み出し装置を用いる状況で、特に問題となる。直接入力デバイスの欠如はまた、スマートカード読み取り装置が利用不可能である比較的ありふれた状況において、ユーザがスマートカード関連機能を実行することを妨げる。
【００１８】
第３に、スマートカードが読み取り装置内になければ、データはスマートカードでアクセスできない。これにより、スマートカード読み出し装置に位置付けされ得るまで、ユーザがスマートカードに格納されたデータ（すなわち、格納されたパスワード）をみることを防ぐ。スマートカード読み取り装置（特に信頼性の高い装置）を見つけることが困難であり得る場合、これは、実質的にカードの有用性を制限する。もちろん、ユーザは無造作に紙にパスワードを書き留めることができるが、これはカードのデータ全てのセキュリティを妥協したものにし、中心的な、セキュリティが高く、携帯可能な個人データのレポジトリを提供する目的と矛盾してる。
【００１９】
前述から、脆弱な外部インターフェースの使用を要求することなく、ユーザがパスワードおよびデジタル認定を格納し、検索することが可能とするパーソナルキーの必要性を理解し得る。
【発明の概要】
【課題を解決するための手段】
【００２０】
（発明の要旨）
本発明は、ユニバーサルシリアルバス（ＵＳＢ）を例とする市販のＩ／Ｏインターフェースと対応するフォームファクタにおいて、パーソナルキーのこれらの必要性全てを満たす。パーソナルキーは、コピーおよび不正使用を防ぐソフトウェア保護スキームを実行するプロセッサおよびメモリを含む。パーソナルキーは、デジタル認定の格納および管理を提供し、ユーザが自分のデジタル認定の全てをある媒体に格納し、プラットフォームからプラットフォームへの移植を可能にする。パーソナルキーは、多くのパスワードを生成、格納、および管理を提供し、付加的なセキュリティを提供し、ユーザが多数のパスワードを覚える仕事から解放する。パーソナルキーは、クッキーおよび他のＪａｖａ（Ｒ）実行ソフトウェアプログラムを格納し、ユーザがクッキーを除去可能なセキュリティフォームファクタで受け取ることを可能にする。これらの特性は、本発明が仮想プライベートネットワーク（ＶＰＮ）で使用される場合に、特に有用である。本発明はまた、いくつかのアプリケーションに対して使用され得る。
【００２１】
パーソナルキーは、ユーザの繊細な情報を全て実質的に格納することが可能であるので、パーソナルキーは、可能な限りのセキュリティを保持することが重要である。パーソナルキーの１実施形態はまた、指紋データを例とするバイオメトリックスを測定するように配置されるバイオメトリックスセンサーを含む。バイオメトリックスセンサーは、個人が保持する（指紋を例とする）鍵の特徴を測定し、鍵をオーナーが、実際にその鍵のオーナーであることを確認する。
【００２２】
パーソナルキーは、ユーザが使用し、様々なコンピュータプラットフォームと双方向に交流する必要のある大量のデータの単一の安全なレポジトリを表すので、パーソナルキーは、多くの様々なコンピュータおよび周辺機器とインタフェース（すなわち、データを伝送および受信）し得ることがまた、重要である。パーソナルキーの１実施形態は、赤外線（ＩＲ）トランシーバを例とする電磁波トランスセプション（ｔｒａｎｓｃｅｐｔｉｏｎ）デバイスを含む。このトランシーバにより、パーソナルキーは、物理的に結合せずに、広範囲で様々なコンピュータおよび周辺機器と情報を交換することを可能にする。
【００２３】
本発明は、ネットワークサービスまたはパスワード、クッキー、デジタル認定または他の場合、スマートカードが用いられるいかなる場所へのアクセスを制御することによく適応しており、以下の、
・インターネットプロトコルセキュリティ（ＩＰＳｅｃ）、ポイント対ポイントトンネリングプロトコル（ＰＰＴＰ）、パスワード認証プロトコル（ＰＡＰ）、チャレンジハンドシェイク認証プロトコル（ＣＨＡＰ）、遠隔アクセスダイアルインユーザサービス（ＲＡＤＩＵＳ）、端末アクセス制御装置アクセス制御システム（ＴＡＣＡＣＳ）を含む遠隔アクセスサービスと、
・ハイパーテキストトランスポートプロトコル（ＨＴＴＰ）、セキュアソケット層（ＳＳＬ）を含む、エクストラネットおよびサブスクリプションベースのウェブアクセス制御の提供と、
・セキュア（ｓｅｃｕｒｅ）オンラインバンキング、利益アドミニストレーション、会計管理のサポートの向上と、
・セキュアワークフローおよびサプライチェーンインテグレーション（署名形式（ｆｏｒｍ  ｓｉｇｎｉｎｇ））のサポートと、
・ラップトップコンピュータの盗難防止（ラップトップ操作にパーソナルキーの要求）と、
・ワークステーションログオン許可と、
・ソフトウェアの変更またはコピーの防止と、
・ファイルの暗号化と、
・セキュアｅメール、例えば、セキュア多目的インターネットメール拡張（Ｓ／ＭＩＭＥ）、およびオープンプリティグッドプライバシー（ＯｐｅｎＰＧＰ）ののサポートと、
・ネットワーク装置アドミニストレーションの管理と、
・例えば、セキュア電子取引での電子ウォレット（ＳＥＴ、ＭｉｌｌｉＣｅｎｔ、ｅＷａｌｌｅｔ）と、
を含む。
【００２４】
１実施形態では、本発明は、コンパクトな自己完結してるパーソナルキーまたはトークンを含む。パーソナルキーは、ホスト処理デバイス、メモリ、プロセッサに取り外し可能な結合をし得るＵＳＢコンプライアントインタフェースを含む。プロセッサは、メモリに格納可能なデータにホスト処理デバイス条件付アクセスおよびパーソナルキーに格納されるファイルの管理を要求し、ファイルのデータに基づき実行する機能性を提供する。１実施形態では、パーソナルキーはまた、統合ユーザ入力デバイスおよび統合ユーザ出力デバイスを含む。入力および出力デバイスは、ＵＳＢコンプライアントインタフェースとは無関係の通信パスでプロセッサと通信し、ユーザがパーソナルキーを除く任意の個人情報を示さずともプロセッサを通信が可能にする。
【００２５】
例えば、本発明は、以下を提供する。
（項目１）
コンパクトなパーソナルトークン（２００）であって、
ホスト処理デバイス（１０２）に取り外し可能なように結合可能なＵＳＢコンプライアントインターフェース（２０６）と、
メモリ（２１４）と、
該メモリ（２１４）に通信可能なように結合されたプロセッサ（２１２）であって、該プロセッサ（２１２）が、該ＵＳＢコンプライアントインターフェース（１３０）を介して、ホスト処理デバイス（１０２）に通信可能なように結合可能であり、該プロセッサ（２１２）が、該メモリ（２１４）に格納可能なデータへの条件付アクセスをホスト処理デバイス（１０２）に提供する、プロセッサ（２１２）と、
該ＵＳＢコンプライアントインターフェース（２０６）と異なるパス（２２０）により該プロセッサ（２１２）に通信可能なように結合されたユーザ入力デバイス（２１８）と
を含む、コンパクトなパーソナルトークン（２００）。
（項目２）
ユーザ入力デバイス（２１８）が、前記プロセッサ（２１２）の動作を制御するように構成されている、項目１に記載の装置。
（項目３）
前記動作が、
暗号化動作と、
復号化動作と
を含む群から選択される動作を含む、項目１に記載の装置。
（項目４）
前記動作が、前記メモリ（２１４）に格納されている復号鍵を用いるデジタル署名動作を含む、項目１に記載の装置。
（項目５）
前記入力デバイス（２１８）が、前記トークン（２００）の外部の面から作動可能な少なくとも１つの感圧性デバイスを含む、項目１に記載の装置。
（項目６）
前記入力デバイス（２１８）が少なくとも１つの押しボタンスイッチ（７０２）を含む、項目１に記載の装置。
（項目７）
前記ＵＳＢコンプライアントインターフェース（２０６）と異なるパス（２２４）によって、前記プロセッサ（２１２）に通信可能なように結合された出力デバイス（２２２）をさらに含み、該出力デバイス（２２２）が、該プロセッサ（２１２）の動作に関する情報を提供する、項目１に記載の装置。
（項目８）
前記出力デバイス（２１２）が、少なくとも１つの発光デバイス（６１６）を含む、項目７に記載の装置。
（項目９）
前記出力デバイスが、少なくとも１つの液晶ディスプレイ（７０６）を含む、項目７に記載の装置。
（項目１０）
前記出力デバイスが少なくとも１つの音声出力デバイスを含む、項目７に記載の装置。
（項目１１）
コンパクトなパーソナルトークン（２００）であって、
ホスト処理デバイス（１０２）に取り外し可能なように結合可能なＵＳＢコンプライアントインターフェース（２０６）と、
メモリ（２１４）と、
該メモリ（２１４）に通信可能なように結合されたプロセッサ（２１２）であって、該プロセッサ（２１２）が、該ＵＳＢコンプライアントインターフェース（２０６）を介して、該ホスト処理デバイス（１０２）に通信可能なように結合可能であり、該プロセッサ（２１２）が、該メモリ（２１４）に格納可能なデータへの条件付アクセスをホスト処理デバイス（１０２）に提供する、プロセッサ（２１２）と、
該プロセッサ（２１２）に通信可能なように結合されたユーザ出力デバイス（２２２）と
を含む、コンパクトなパーソナルトークン（２００）。
（項目１２）
前記ユーザ出力デバイス（２１２）が、前記ＵＳＢコンプライアントインターフェース（２０６）と異なるパス（２２４）により前記プロセッサ（２１２）に結合される、項目１１に記載の装置。
（項目１３）
前記ユーザ出力デバイス（２２２）が前記プロセッサ（２１２）の動作を示すように構成されている、項目１１に記載の装置。
（項目１４）
前記動作が、
暗号化動作と、
復号化動作と、
復号鍵を用いるデジタル署名動作と
を含む群から選択される動作を含む、項目１１に記載の装置。
（項目１５）
前記ユーザ出力デバイス（２１２）が、
少なくとも１つの発光デバイス（６１６）と、
少なくとも１つの液晶ディスプレイ（７０６）と、
少なくとも１つの音声デバイスと
を含む群から選択される、項目１１に記載の装置。
（項目１６）
前記ＵＳＢコンプライアントインターフェース（２０６）と異なるパス（２２０）によって、前記プロセッサ（２１２）に通信可能なように結合された入力デバイス（２１８）をさらに含み、該入力デバイス（２１８）が、該プロセッサ（２１２）の動作に関する情報を提供する、項目１に記載の装置。
（項目１７）
前記プロセッサ（２１２）およびメモリ（２１４）が、該プロセッサ（２１２）との電気的な通信を提供する少なくとも１つの回路接続面（６１０）を有する回路基板（６０６）上に配置され、前記ＵＳＢコンプライアントインターフェース（２０６）が、
少なくとも１つの導電性のピンであって、該少なくとも１つの導電性のピンは、該回路接続面（６１０）と前記ホスト処理デバイス（１０２）との間の電気的な通信を提供し、該導電性のピンは、ピン固定部を含み、該回路接続面（６１０）に取り外し可能なように結合可能である、少なくとも１つの導電性のピンと、
該回路基板（６０６）の少なくともいくつかを実質的に封入するハウジング（６０２）であって、該ハウジング（６０２）は、該導電性のピンの縦軸に沿ってピン部材を固定するための該ピン固定部と接触可能なピンインターフェースを含む、ハウジング（６０２）と
を含む、項目１１に記載の装置。
全体にわたって、参照番号が同じものは対応する部材を表す。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明を実行する例示的なハードウェア環境を示すダイアグラムである。
【図２】図２は、本発明の１実施形態の選択されるモジュールを例示するブロックダイアグラムである。
【図３】図３は、メモリのパーソナルキーによって提供されるメモリリソ−スのダイアグラムである。
【図４】図４は、暗号エンジンを用いて、パーソナルキーまたは暗号エンジンに格納されるアプリケーションデータの識別を認証する方法の１実施形態を示すダイアグラムである。
【図５】図５は、いくつかのアプリケーションの許可および詳細な設定データを提供するアクティブパーソナルキーのファイルシステムメモリリソースのデータコンテンツを例示するダイアグラムである。
【図６】図６は、パーソナルキーの１実施形態の例示を示すダイアグラムである。
【図７Ａ】図７Ａは、第１の感圧性デバイスおよび第２の感圧性デバイスを含む入力デバイスを有し、各々がＵＳＢコンプライアントインタフェースと無関係な通信パスによりプロセッサと通信可能となる得る結合をするパーソナルキーの１実施形態を示すダイアグラムである。
【図７Ｂ】図７Ｂは、第１の感圧性デバイスおよび第２の感圧性デバイスを含む入力デバイスを有し、各々がＵＳＢコンプライアントインタフェースと無関係な通信パスによりプロセッサと通信可能となる得る結合をするパーソナルキーの１実施形態を示すダイアグラムである。
【図７Ｃ】図７Ｃは、第１の感圧性デバイスおよび第２の感圧性デバイスを含む入力デバイスを有し、各々がＵＳＢコンプライアントインタフェースと無関係な通信パスによりプロセッサと通信可能となる得る結合をするパーソナルキーの１実施形態を示すダイアグラムである。
【図８Ａ】図８Ａは、本発明の別の実施形態の例示を提供するダイアグラムである。
【図８Ｂ】図８Ｂは、本発明の別の実施形態の例示を提供するダイアグラムである。
【図８Ｃ】図８Ｃは、本発明の別の実施形態の例示を提供するダイアグラムである。
【図９】図９は、プロセッサ動作が、ユーザ許可を受ける本発明の１実施形態を例示するフローチャートである。
【図１０】図１０は、ＰＩＮが直接にパーソナルキーに入力される、本発明の１実施形態を例示するフローチャートである。
【発明を実施するための形態】
【００２７】
（好適な実施形態の詳細な説明）
以下の説明では、本明細書の一部を形成し、本発明のいくつかの実施形態を例示す目的で示す添付された図面を参考にする。本発明の範囲から逸脱することなく、他の実施形態が利用され得、構造的変更が為され得ることが理解される。
【００２８】
（ハードウェア環境）
図１は、本発明を実行するために用いられ得る例示的なコンピュータシステム１００を示す。コンピュータ１０２は、プロセッサ１０４およびメモリ（例としてはランダムアクセスメモリ（ＲＡＭ）１０６）を含む。コンピュータ１０２は、機能的にでディスプレイ１２２に結合され、グラフィカルユーザインターフェース１１８Ｂ上でユーザにウィンドウを例とする画像を表示する。コンピュータ１０２は、キーボード１１４、マウスデバイス１１６、プリンタ１２８等を例とする他のデバイスに結合され得る。もちろん、当業者は、上記の構成エンティティの任意の組み合わせ、または任意の数の異なる構成エンティティ、周辺機器、および他のデバイスが、コンピュータ１０２で使用され得ることを認識する。
【００２９】
一般に、コンピュータ１０２は、メモリ１０６に格納されるオペレーティングシステム１０８の制御下で動作し、ユーザとインターフェースをとり、入力およびコマンドを受け取り、グラフィカルユーザインターフェース（ＧＵＩ）モジュール１１８Ａを通じて結果を示す。ＧＵＩモジュール１１８Ａは、分離したモジュールとして示されるが、ＧＵＩ機能を実行する命令は、オペレーティングシステム１０８、コンピュータプログラム１１０に常駐または分散されてもよく、専用のメモリおよびプロセッサで実行されてもよい。コンピュータ１０２はまた、プログラミング言語（例として、ＣＯＢＯＬ、Ｃ＋＋、ＦＯＲＴＲＡＮまたは他の言語）で書かれたアプリケーションプログラム１１０をプロセッサ１０４読み出し符号に翻訳することができる、コンパイラ１１２を実行する。完了後、アプリケーション１１０は、コンパイラ１１２を用いて生成される関係および論理を用いて、コンピュータ１０２のメモリ１０６に格納されるデータにアクセスし、操作する。コンピュータ１０２はまた、パーソナルトークン２００（以降では、代わりにパーソナルキー２００としても呼ばれる）に対する入力／出力（Ｉ／Ｏ）ポート１３０を含む。１実施形態において、Ｉ／Ｏポート１３０が、ＵＳＢコンプライアントインターフェースを実行するＵＳＢコンプライアントポートである。
【００３０】
１実施形態において、オペレーティングシステム１０８、コンピュータプログラム１１０、およびコンパイラ１１２を実行する命令が、コンピュータ読み出し可能媒体（例として、データ格納デバイス１２０）内に、実体的に含まれる。そのコンピュータ読み出し可能媒体は、固定データ格納デバイスまたはリム−バルデータ格納デバイスを１つ以上含み得、これは、ジップドライブ、フロッピー（Ｒ）ディスクドライブ１２４、ハードドライブ、ＣＤ−ＲＯＭドライブ、テープドライブ等を例とする。さらに、オペレーティングシステム１０８およびコンピュータプログラム１１０は、コンピュータ１０２で読み出しおよび実行される場合、コンピュータ１０２に本発明を実行および／または使用するのに必要な工程を行わせる命令から構成される。コンピュータプログラム１１０および／またはオペレーティング命令はまた、メモリ１０６および／またはデータ通信デバイス内に実体的に含まれ得、それにより本発明に応じたコンピュータプログラム製品または製造品を製造する。そのようなものとして、本明細書中で用いられる用語「製造品」および「コンピュータプログラム製品」は、任意のコンピュータ読み出し可能デバイスまたは媒体からアクセス可能なコンピュータプログラムを含むように意図される。
【００３１】
コンピュータ１０２は、ダイアルアップネットワーク、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、仮想プライベートネットワーク（ＶＰＮ）またはインターネットを例とする通信媒体１３２を介して、遠隔コンピュータまたはサーバ１３４に通信可能な結合をし得る。付加的または代替的なアプリケーションプログラムを含む、コンピュータ動作に対するプログラム命令は、遠隔コンピュータ／サーバ１３４からロードされ得る。１実施形態において、コンピュータ１０２は、インターネットブラウザを実行し、ユーザがワールドワイドウェブ（ＷＷＷ）および他のインターネットリソースにアクセス可能となる。
【００３２】
当業者は、本発明の範囲から逸脱することなく、この設定に、多くの改変が為され得ることを認識する。例えば、当業者は、上記の構成エンティティの任意の組み合わせ、または任意の数の異なる構成エンティティ、周辺機器および他のデバイスが、本発明で使用され得ることを認識する。
【００３３】
（アーキテクチャの概要）
図２は、本発明の選択されたモジュールを例示するブロックダイアグラムである。パーソナルキー２００は、ホストコンピュータ１０２の入力／出力ポート１３０およびパーソナルキー２００にマッチングする入力／出力（Ｉ／Ｏ）ポート２０６を含むＵＳＢコンプライアントインターフェース２０４のＵＳＢコンプライアント通信パス２０２を通じて、ホストコンピュータと通信し、パワーを得る。パーソナルキーＩ／Ｏポート２０６で受信される信号は、通信パス２１０および２１６を介してドライバ／バッファ２０８によってプロセッサ２１２へ往復する。プロセッサ２１２は、本発明の上記の機能を実行するためのデータおよび命令を格納するメモリ２１４に通信可能な結合される。１実施形態において、メモリ２１４は、工場供給データおよび顧客供給アプリケーション関連データを保持し得る不揮発性ランダムアクセスメモリである。プロセッサ２１２は、これらの機能のいくつかを実行するために、いくつかの内部メモリを含み得る。
【００３４】
プロセッサ２１２は、随意に、入力デバイス通信パス２２０を介して、入力デバイス２１８に通信し得るように結合され、出力デバイス通信２２４を介して、出力デバイス２２２に通信し得るように結合される。その両方のパスは、ＵＳＢコンプライアントインターフェース２０４および通信パス２０２と異なる。これら個別の通信２２２バスおよび２２４によって、ＵＳＢコンプライアントインタフェース２０４を識別するプロセスまたは他のエンティティが盗む（ｅａｖｅｓｄｒｏｐ）またはとりなす（ｉｎｔｅｒｃｅｄｅ）ことを可能にすることなく、ユーザがプロセッサ２１２の動作についての情報を見ることを可能とし、プロセッサ２１２の動作に関連する入力を提供する。これにより、重要な（ｋｅｙ）プロセッサ２１２とユーザとの間のセキュリティの高い通信を可能にする。以下に十分に説明する本発明の１実施形態において、ユーザは、鍵の外側で動作可能な機械的スイッチまたはデバイス（例えば、ボタンおよび機械的スイッチのような感圧性デバイス）の物理的操作によって、直接プロセッサ２１２と通信する。以下でより十分に説明する本発明の別の実施形態において、入力デバイスは、文字の選択を示す接触つめを備えるホイールを含む。
【００３５】
入力デバイス２１８および出力デバイス２２２は、共同的にお互い双方向に相互作用し、パーソナルキー２００の機能性を高め得る。例えば、出力デバイス２２２は、ユーザが入力デバイス２１８に情報を入力するように促す情報を提供し得る。例えば、出力デバイス２２２は、（アラビア数字およびまたは文字を表示し得る）英数字のＬＥＤまたはＬＣＤディスプレイを例とする視覚的ディスプレイおよび／または聴覚的デバイスを含み得る。ユーザは、聴覚的デバイスのビープによって、ＬＥＤのフラッシュパターンによって、または両方によって情報を入力するように促され得る。出力デバイス２２２はまた、随意に用いられ、入力デバイス２１８によって情報の入力を確かめ得る。例えば、ユーザが、情報を入力デバイス２１８に入力する場合、またはユーザ入力が無効である場合、聴覚的出力デバイスは、ビープし得る。入力デバイス２１８が、入力デバイスの異なる組み合わせを含む多くの形式の１つを取り得る。
【００３６】
入力デバイス通信パス２２０および出力デバイス通信パス２２４は、個別のパスとして図２において図示されるが、ＵＳＢコンプライアントインターフェース２０４と異なる通信パスを依然と保持して、パス２２０および２２４を組み合わせることにより、本発明は実行され得る。例えば、入力デバイス２１８および出力デバイス２２２は、単一のデバイスにパッケージ化され得、プロセッサ２１２との通信は単一の通信パスで多重化される。
【００３７】
１実施形態において、本発明は、ＵＳＢコンプライアントインターフェース２０４と異なる通信パスを介してプロセッサに結合される代わりに、ＵＳＢコンプライアントインターフェース２０４に結合され得る第２の出力デバイス２２２をさらに含む。この実施形態は、例えば、ユーザにパーソナルキー２００が正確にホストコンピュータのＵＳＢポートに挿入されたかどうかを示す（例えば、ＵＳＢコンプライアントインターフェースの出力信号の表示を提供することによって）ために用いられ得る。第２の出力デバイスはまた、（例えば、ＵＳＢコンプライアントインターフェースのデータ信号の表示を提供することによって）データがホストコンピュータとパーソナルキー２００とを往復することを示すために用いられ得る。
【００３８】
パーソナルキーは、複数のＡＰＩライブラリルーティンを有するアプリケーションプログラムインターフェース（ＡＰＩ）２６０と通信し得るように結合されるＵＳＢドライバモジュール２６６を含むインターフェースを有する。ＡＰＩ２６０は、アプリケーション１１０とのインターフェースを提供し、コマンドを出し、パーソナルキー２００からの結果を受け取る。１実施形態において、ＮＥＴＳＣＡＰＥ、Ｉｎｃ．製の利用可能なブラウザを例とするブラウザ２６２は、ＡＰＩおよび公開鍵暗号規格（ＰＫＣＳ）モジュール２６４で動作し、トークンベースユーザ許可システムを実行する。
【００３９】
パーソナルキーの可搬性および利用性は、多くの利点を有する一方で、パーソナルキーはまた、重大な不利点・・・紛失および盗難があり得る。パーソナルキー２００は、多くのユーザのプライベートデータに対してセキュリティの高いレポジトリを表すので、これは特にトラブルとなる。これらの理由から、パーソナルキー２００に含まれる情報（しかし、必ずしもパーソナルキー２００それ自体ではない）の究極的なセキュリティは非常に重要となる。
【００４０】
究極的に、パーソナルキー２００は、ホストコンピュータ１０２を通じて外部に対して所有者を識別するが、パーソナルキーは紛失または盗難に遭う可能性があるので、パーソナルキー２００を所有する個人は実際のオーナーであるという保証はない。セキュリティは、個人のパスワード等の使用により向上し得るが、この解決手段は理想ではない。第１に、単一パスワードの使用は、パスワードが、妥協され得るという非常に現実的な可能性を高める（結局、盗人は、ユーザ、およびユーザのパスワードを知っている）。複数回のパスワードの入力を要求することはまた、ホストコンピュータ１０２または遠隔コンピュータ１３４で実行してる不正なソフトウェアが、パスワードまたは個人識別を盗み得る機会を増やすことになる。パーソナルキー２００を使用する理由の１つは多くのパスワードを覚える必要性をユーザから取り除くことであるので、多数のパスワードの使用は、解決にはならない。パスワードに関する別の問題は、ハッキング手段を用いて、パスワード保護を出し抜き、またはパスワードそれ自体を発見し得ることである。これは、パーソナルキー２００は、たいていの場合、キーボード１１４を例とするホストコンピュータ１０２の周辺機器に入力される入力／出力ポート１３０を介しての伝送されるデータに左右され、その結果、パーソナルキー２００はハッキングに脆弱になるという観点で特に問題である。
【００４１】
本発明の１実施形態において、バイオメトリックセンシングデバイス２５０は、パーソナルキー２００上にまたは内にマウントされ、ユーザがパーソナルキー２００を保持する場合に、バイオメトリックデータをユーザから集める。１実施形態において、バイオメトリックセンシングデバイス２５０は、ユーザの指紋を読み取ることが可能である指紋センサーを含む。バイオメトリックセンサー２５０はまた、バイオメトリックデータをプロセッサ２１２による使用に適切なデータに減らすビルトイン処理を含み得る。バイオメトリックデータの収集が必要な場合、発光または発熱デバイスをバイオメトリックセンサーの近くに配置して、光または熱を使用するアクティヴデータ測定を提供し得る
バイオメトリックセンサー２５０は、名目上、関心のあるバイオメトリックデータを測定する最適な場所に配置される。図示される実施形態において、バイオメトリックセンサー２５０は、ユーザがパーソナルキー２００を握って、パーソナルキーをホストコンピュータ１０２のＩ／Ｏポート１３０に挿入する場合に、ユーザの親指の指紋からのデータを収集するように寸法を調整され、配置される。ホルダーの指紋の測定を容易にするために、パーソナルキー２００の外部表面は、ユーザの親指を特定の場所に置くように設計され得る。あるいは、セキュリティを高めるために、パーソナルキー２００の外観は、バイオメトリックセンサー２５０の存在を全くマスクするように設計され得る。
【００４２】
バイオメトリックセンサー２５０は、既知の時間に予測可能なタイプの既知のデータを集める（例えば、パーソナルキー２００をホストコンピュータのＩ／Ｏポート１３０に接続する時、親指の指紋を収集する）ことを期待され得るポジションに有利に配置され得る。パーソナルキー２００は、バイオメトリックセンサー通信パス２２６を介してバイオメトリックセンサー２５０からデータを受け取り、覚えたかまたは妥協したパスワード、または任意の他の入力なしで鍵を保持して、個人のアイデンティティを確認する。このように、バイオメトリックセンサー２５０は、バイオメトリックセンサーまたはパスワードのみで得ることができるより高度なレベルのセキュリティを備えるパーソナルキー２００を提供する。必要な場合、パーソナルキー２００を接続するホストコンピュータ１０２を認識するように、パーソナルキー２００は設定され得、このように得られたデータを用いて、鍵のセキュリティを向上させ得る。
【００４３】
バイオメトリックセンサーはまた、同様に他の方法でパーソナルキーのセキュリティを向上させるように用いられ得る。例えば、パーソナルキーが盗難される場合、バイオメトリックセンサーは、盗人の指紋を測定するために用いられ得る。このデータは、盗人がパーソナルキーを用いて、例えば、インターネットで買い物しようと試みるまで格納され、維持され得る。このときに、パーソナルキー２００は、指紋情報（および任意の他の関連情報）を適切な機関に送信し得る（例としては、インターネットサイト）特定のエンティティに（盗人を識別しても、しなくとも）コンタクトをとるようにプログラムされ得る。パーソナルキー２００はまた、多くの不正確なパスワードが供給される場合、このダイアルアップおよびレポート機能を実行し得る。
【００４４】
本発明の１実施形態において、パーソナルキー２００はまた、外部データトランシーバ２５４とデータを通信するデータトランシーバ２５２を含む。データトランシーバ２５２は、ドライバ２０８および通信パス２１６、２２８を介して、プロセッサ２１２と通信し得るように結合され、パーソナルキー２００をＵＳＢコンプライアントインタフェース２０４を曝すことなく、電磁波を送信および受信を介して、データを送信および受信を可能にする。あるいは、データトランシーバ２５２は、プロセッサ２１２に通信し得るように直接に結合され得る。
【００４５】
１実施形態において、データトランシーバ２５２は、同じ能力を備える多くの市販の利用可能な周辺機器と通信し得る赤外線（ＩＲ）トランシーバを含む。この機能は、パーソナルキー２００が、既にホストコンピュータ１０２のＩ／Ｏポート１３０に結合される場合でさえ、パーソナルキー２００に、外部の周辺機器およびデバイスと通信する別の手段を提供する。
【００４６】
１実施形態において、パーソナルキー２００はまた、バッテリーまたは容量性デバイスを例とする電源を含む。電源は、ホストコンピュータ１０２に接続されていない場合でさえ、パーソナルキーの構成エンティティにパワーを供給し、データが保持され、パーソナルキーの機能および動作が実行されることを可能にする。
【００４７】
図３は、パーソナルキー２００のメモリ２１４により提供されるメモリリソースのダイアグラムである。メモリリソースは、マスターキーメモリリソース３１２、個人識別番号（ＰＩＮ）メモリリソース３１４、関連ＰＩＮカウンタレジスタ３１６およびＰＩＮリセットレジスタリソース３１８、シリアルナンバーメモリリソース３１０、グローバルアクセスコントロールレジスタメモリリソース３２０、ファイルシステムスペース３２４、補助プログラム命令スペース３２２、およびプロセッサ動作プログラム命令スペース３２６を含む。プロセッサ動作プログラム命令スペース３２６は、パーソナルキー２００が本明細書中に説明される名目上の動作を行うように実行し、ホストコンピュータ１０２または遠隔サーバ１３４のいずれかにおいても実行するアプリケーション１１０と関連するアプリケーションプログラムインターフェース２６０により呼び出されるそれらのサポーティング機能を含む命令を格納する。補助プログラム命令スペースは、所望な場合、パーソナルキー２００に、付加的な機能性を実現するプロセッサ２１２命令を格納するスペースを提供する。
【００４８】
マスターキーは、管理パスワードであって、その管理パスワードは、信用性の高いエンティティまたはパーソナルキー２００を初期化し、設定するプログラムにより既知でなければならない。例えば、パーソナルキー２００は、多くの遠隔地に位置する従業員に供給され、ＶＰＮを通じて、遠隔サーバに格納されるプライベートドキュメントにアクセスすることが可能になる場合、マスターキーを遠隔地に位置する従業員に提供する前に、遠隔サーバのシステムアドミニストレータは、マスターキーを入力する（またはマスターキーを工場設定から変える）。システムアドミニストレータはまたセキュリティの高い場所にマスターキーを格納し、このマスターキーを用いて、要求されるセキュリティの高い（例えば、遠隔ユーザの許可および認定を含む）動作を行う。
【００４９】
１実施形態において、ＭＫＥＹが、最初に照合不可能である場合、マスターキーは、設定、リセット、または初期化は不可能である。マスターキーが既知でない場合、パーソナルキー２００は、破壊／廃棄、または工場セッティングにリセットするように工場に返されなければならない。
【００５０】
ＰＩＮは任意の値であり、パーソナルキー２００のユーザを認定するように用いられ得る。ＰＩＮは、信用性の高いアドミニストレータによって初期化される。パーソナルキー２００初期化プログラムがどのように実行され、配置されるかに応じて、端末ユーザは、自分のＰＩＮをセッティングおよび／またはアップデートすることが可能になる。ＰＩＮは、英数字または単に数字を含み得る。
【００５１】
ＰＩＮはまた、２つの関連レジスタ３１６および３１８を透過的に用いるアプリケーションプログラムインターフェース（ＡＰＩ）呼び出しを用いる間、チェックされ得る。ＰＩＮリセットレジスタリソース３１８は、ＰＩＮカウンタ３１６メモリリソースをリセットするように用いられるリミットを格納するように用いられ、ＰＩＮカウンタリソース３１６は、減少カウンタである。ＰＩＮカウンタレジスタ３１６およびＰＩＮリミットレジスタ３１８は、違法アプリケーションまたはユーザが、ＰＩＮを発見しようして、素早く何千ものランダムＰＩＮを試験することを防止するように用いられる。
【００５２】
ＰＩＮが初期化される場合、減少カウンタレジスタ３１６は、ＰＩＮリセットレジスタリソース３１８での値にセットされる。ＰＩＮ照合が失敗する場合はいつでも、カウンタレジスタ３１６は減少される。ＰＩＮ照合が成功する場合、カウンタレジスタは、限界値にセットされる。減少カウンタレジスタ３１６が０になる場合、信用性の高いアドミニスタがＰＩＮカウンタレジスタ３１６を限界値にリセットするまで、もうＰＩＮ照合は、できない。例えば、ＰＩＮレセットレジスタリソース３１８リミットを３にセットする場合、ユーザは、ＰＩＮ照合を３回失敗すると、リセットされるまで、ＰＩＮは無効となる。正しいＰＩＮ照合が成功する場合、カウンタレジスタ３１６は、３にリセットされる。
【００５３】
シリアル番号は、ユニークな工場インストールシリアル番号（ＳＮ）である。シリアル番号を用いて、他のパーソナルキー２００ユーザの全てと単一のユーザとを区別し得る。
【００５４】
パーソナルキー２００のメモリ２１４はまた、ビルトインアルゴリズムメモリリソース３０２を含む。ビルトインアルゴリズムメモリリソース３０２は、関連処理命令を格納するためのＭＤ−５ハッシュエンジンメモリ３０４を含み、関連処理命令を格納するためのＨＭＡＣ−ＭＤ５許可メモリリソース３０６を含み、乱数を生成する処理命令を格納するための乱数生成メモリリソース３０８を含む。乱数ジェネレータを用いて、認定ダイジェストを生成する場合は、使用されるチャレンジ（ｃｈａｌｌｅｎｇｅ）を生成し得、他の暗号手順にシードを提供し得る。ＭＤ−５アルゴリズムは、入力として任意の長さのメッセージを受け取り、出力として１２８ビットの「指紋」または入力の「メッセ−ジダイジェスト」を作る。その過程で、そのアルゴリズムは、ＲＦＣ−１３２１を例とする高速アルゴリズムを用いて入力データを再生可能な製品にスクランブルまたはハッシュする。ハッシュされたメッセージ認定コード（ＨＭＡＣ）は、任意に繰り返される暗号ハッシュ関数（例えば、ＭＤ−５）をシークレットキーと組み合わして用いられ得、メッセージまたはデータ収集を認定する。パーソナルキー２００は、この方法を統合し、端末ユーザまたはアプリケーションデータがシークレットキーを曝さずに認定される１つの方法を提供し得る。
【００５５】
本発明は、２つのセキュリティ機構を用いて端末ユーザの認定を可能にする。以下で議論される第１の機構は、ホストコンピュータ１０２または遠隔コンピュータ／サーバ１３４上で実行しているソフトウェアによるパーソナルキー２００の認定を可能にする。この第１の機構は、ハッシュアルゴリズムおよびパーソナルキー２００およびパーソナルキーの認定を試験するエンティティの両方に既知である手動合意秘密値を使用する。本発明の開示で後で議論される第２の機構は、パーソナルキー２００がパーソナルキー２００の使用を試みるユーザの認定を可能にする。第２の機構は、その鍵が紛失または盗難に遭った状況で、個人識別番号（ＰＩＮ）を用いて、許可されていないユーザまたはアクセスの防止に役立てる。以下で、十分に説明されるように、ＰＩＮは、パーソナルキー２００に直接に入力され得、したがってＰＩＮがパーソナルキー２００の外部に決して曝されないということを保証することによりセキュリティを高める。
【００５６】
図４は、ＨＭＡＣ−ＭＤ５エンジンを用いて、パーソナルキー２００または本明細書中のアプリケーションデータのアイデンティティを認定する方法の１実施形態を示すダイアグラムである。ホストコンピュータで実行しているアプリケーション（例えば、アプリケーションプログラム１１０）または遠隔コンピュータ／サーバ１３４で実行しているアプリケーションとリンクしている機能を有するパーソナルキーのライブラリは、パーソナルキー２００に関連して、ホストコンピュータ１０２または遠隔コンピュータ／サーバ１３４のどちらか一方で実行してる。ハッシュアルゴリズム４１０は、アプリケーション１１０およびパーソナルキー２００の両方で、実行される。アプリケーション１１０およびパーソナルキー２００の両方は、秘密４０６へのアクセスを有する。秘密４０６Ｂは、適切な認証なしでは、アクセスできないロケーションにあるパーソナルキー２００のメモリ２１４内に保持される。一般的には、秘密４０６Ｂは、システムアドミニストレータまたは他のいくつかの信用性のあるソースにより、パーソナルキー２００に格納される。パーソナルキー２００のユーザは、アプリケーション１１０が、アプリケーション１１０がそうであると考えるエンティティである場合、アプリケーションの秘密４０６Ａおよびパーソナルキーの秘密４０６Ｂは同じである。これは、秘密を曝さずに、ハッシュアルゴリズムにより照合され得る。同様に、パーソナルキー２００のユーザは、アプリケーションが期待するエンティティでない場合、アプリケーションが、秘密４０６Ａおよび４０６Ｂは異なる。これも、秘密を曝すことなく、ハッシュアルゴリズムにより照合される。
【００５７】
チャレンジが、アプリケーション１１０により生成される。アプリケーション１１０にアクセス可能なハッシュアルゴリズム４１０およびパーソナルキー２００で実行されるハッシュアルゴリズムに提供される。各ハッシュアルゴリズムにより、チャレンジおよび常駐する秘密を適用して、ハッシュ出力４１２を適用する。ハッシュアルゴリズムが等しく、４０６Ａおよび４０６Ｂそれぞれが同じである場合、それそれの場合に結果として生じるハッシュ出力４１２またはダイジェストストリングは、同一である。ダイジェストストリング４１２Ａおよび４１２Ｂはアプリケーションのロジック４１４を用いた等式を比較する場合、パーソナルキー２００は、信用される。さらに、ユーザ認定が、照合される場合、ユーザは、同様に信用される。この認定システムの１つの利点は、チャレンジ４０８は、インターネット等の信用性の低い媒体によって、伝送され得る。秘密４０６は、秘密４０６が、ネットワークスニファ／スヌーパ（ｓｎｏｏｐｅｒ）または潜在的に妥協されたユーザインターフェースに露出されずに残っているアプリケーション１１０または遠隔サーバ１３４プログラムおよびパーソナルキー２００において、符号化されたままである。
【００５８】
ファイルシステムメモリリソース３２４は、ホストコンピュータ１０２または遠隔サーバ１３４のどちらかにおけるアプリケーションプログラムインターフェースライブラリ２６０内で十分に管理される。ファイルシステムメモリリソース３２４により、柔軟なシステムを提供し、パーソナルキー２００のデータの格納、保護、および検索を行う。
【００５９】
図５は、いくつかのアプリケーション用の認定のために認定および特定の設定データを提供するアクティブパーソナルキー２００のファイルシステムリソース３２４のデータコンテンツを図示するダイアグラムである。マスターファイル（ＭＦ）５０２は、ルートディレクトリであり、アイデンティティ（ＩＤ）にはゼロ（０）を用いる。ＭＦ５０２は、ポインタ５０４Ａおよびポインタ５０４Ｂまたは５０６Ａおよび５０６Ｂに対する他の指定、ディレクトリ５１０および５１６へのポインタ５０８Ａおよび５０８Ｂ含み得る。ディレクトリおよびファイルは、識別することによって、定義される（ディレクトリに対して、１→０ｘＦＦＦＦＦＦＦＦ、およびファイルに対して、０→０ｘＦＦＦＦＦＦＦＦ）。ディレクトリ５１０および５１６はまた、データファイル（５１４Ａ−５１４Ｂおよび５２０Ａ−５２０Ｃそれぞれ）に対するポインタ（５１２Ａ−５１２Ｂおよび５１８Ａ−５１８Ｂそれぞれ）を含む。
【００６０】
３つのファイルタイプが、以下の表１に示されるように実行される。
【００６１】
【表１】
2011192311.tif 000003
これらのファイルタイプは、以下の表２に応じてファイル毎に制御され得る。
【００６２】
【表２】
2011192311.tif 000004
読み出しおよび書き出しアクセスタイプ制御によりアプリケーション１１０を往復するパーソナルキー２００でのファイル転送を統括する。暗号アクセスタイプは、ハッシュ値、暗号または解読データの計算を含む暗号操作を実行するＫＥＹファイルタイプで用いられる。セッティングされた場合、表２で定義された制御は、以下の表３にリストとして挙げられた４つの属性の内の１つを有し得る。
【００６３】
【表３】
2011192311.tif 000005
グローバルアクセス制御レジスタ３２０は、パーソナルキー２００ファイルシステムの全範囲に適用する。名目上、グローバルアクセス制御レジスタ３２０は、表４に示されるように２つのグローバルアクセス制御に分割される８ビット値である。
【００６４】
【表４】
2011192311.tif 000006
作成および削除グローバルアクセスタイプは、以下の表５に示された４つの属性値の内１つを有し得る。作成および削除グローバル制御は、以下の表５に説明されるＣｒｅａｔｅＤｉｒ、ＣｒｅａｔｅＦｉｌｅ、ＤｅｌｅｔｅＤｉｒ、ＤｅｌｅｔｅＦｉｌｅおよびＤｅｌｅｔｅＡｌｌＦｉｌｅｓＡＰＩ呼び出しによって、実行される。
【００６５】
【表５】
2011192311.tif 000007
表６は、ライブラリのパーソナルキー２００のＡのＡＰＩ２６０英数字のリスト項目である。表６において、「Ｄ」はデバイス関連機能を示し、「Ｆ」はファイルシステム関連機能を示し、「Ａ」は管理機能を示し、および「Ｃ」は暗号機能を示す。
【００６６】
【表６】
2011192311.tif 000008
2011192311.tif 000009
（仮想プライベートネットワークへの例示的アプリケーション）
前述の記載を用いることによって、パーソナルキー２００および関連ＡＰＩ２６０が使用され、安全なドキュメントアクセスシステムを実行し得る。この安全なドキュメントアクセスシステムは、遠隔ユーザの秘密暗号化ドキュメントへのインターネットを介したアクセスを会社従業員に提供する。このシステムはまた秘密暗号化ドキュメントの配布を制限し、それによって特定のドキュメントを、制限された回数だけ読むことができる。
【００６７】
ドキュメントを読むために使用されるアプリケーションプログラム１１０は、パーソナルキーＡＰＩ２６０ライブラリとリンクされ、パーソナルキー２００の情報に基づくドキュメント閲覧を可能にする。マスターキーにより制御されている信用された管理プログラムは、広範囲の従業員についてのパーソナルキー２００（関連する安全制御装置設定を有する適切な情報を格納することにより）を設定するために使用され得る。
【００６８】
パーソナルキー２００およびＡＰＩ２６０ライブラリを用いて、ドキュメント閲覧者およびドキュメント管理者を許可し、ドキュメントの解読および暗号化のためのキーを供給し、閲覧可能ドキュメントのリストを提供し、ドキュメントアクセス権およびドキュメントアクセスカウンタを実行することができる。
【００６９】
前述の記載が多数のプログラム中で実行され得、これらのプログラムは、従業員に配信する以前の、パーソナルキー２００を設定する管理初期化プログラム（以降、ＳＥＴＫＥＹと呼ぶ）、ドキュメント暗号化およびライブラリアップデートプログラム（以降、ＢＵＩＬＤＤＯＣと呼ぶ）、ユーザおよびパーソナルキー２００を許可する閲覧アプリケーション（以降、ＶＩＥＷＤＯＣと呼ぶ）、およびユーザを許可し、パーソナルキーをアップデートするライブラリアプリケーション（以降、ＬＩＢＤＯＣと呼ぶ）を含む。
【００７０】
ＳＥＴＫＥＹプログラムは、個々のユーザについてのファクトリから受信したパーソナルキーを設定するために使用される。ドキュメントネーム、アクセスカウンタ、ＰＩＮおよびハッシュ秘密はパーソナルキー２００中にロードされる。従業員の安全クリアランスに依存して、閲覧用の特定のドキュメントが構成され得る。明瞭にするために、次のシンボルネームが以下の議論の際に用いられる。
【００７１】
ＤＯＣＦｉｌｅｎａｍｅ−ドキュメントファイルネームを保有するｉＫｅｙデータファイル
ＤＯＣＳｅｃｒｅｔ−解読／暗号化キーを作成するために使用される秘密を保有するｉＫｅｙデータファイル
第１に、ＳＥＴＫＥＹプログラムは、ＯｐｅｎＤｅｖｉｃｅコマンドを発行することにより、パーソナルキー２００へのアクセスを引き起こす。次いで、ＶｅｒｉｆｙＭａｓｔｅｒＫｅｙコマンドが発行され、パーソナルキー２００をマスターアクセスに公開する。Ｄｉｒコマンドはループ中で使用され、パーソナルキー２００の状態を取得および実証することを行う。コメントがファクトリフレッシュキーのコンテンツと比較され、いくつかの状態の１つが決定される。キーがファクトリフレッシュである場合、パーソナルキーは初期化される。次いで、ＶＩＥＷＤＯＣディレクトリおよびファイルセットが作成される。次いで、従業員データベースがアクセスされ、各従業員に許可されるアクセスのタイプおよび範囲を決定するために使用され得る。各従業員の安全クリアランスに依存して、いくつかのタイプのディレクトリおよびファイルセットのうち１つが作成され得る。次いで、包括的作成アクセスタイプおよび削除アクセスタイプが、ＳｅｔＡｃｃｅｓｓＳｅｔｔｉｎｇコマンドを用いて、マスターキーに設定される。次いで、ＤＯＣＦｉｌｅｎａｍｅデータベースはパーソナルキー２００中にロードされ、ＣｒｅａｔｅＤｉｒおよびＣｒｅａｔｅＦｉｌｅ  ＡＰＩ２６０は、ディレクトリおよびファイルを生成し、割り当てを行うために必要とされるものとして使用される。ＳｅｌｅｃｔＦｉｌｅコマンド、ＷｒｉｔｅＦｉｌｅコマンドおよびＣｌｏｓｅＦｉｌｅ  ＡＰＩコマンドはファイルおよび秘密をロードするために使用される。アクセスが特定数の事象に制限されるかどうかに依存して、ＤＡＴＡファイルタイプまたはＣＴＲファイルタイプが使用される。
【００７２】
ＢＵＩＬＤＯＣプログラムは、安全アクセスライブラリ中の新規のドキュメントを受容するために使用される。パーソナルキー２００からの情報を用いることで、解読キーが生成され、この解読キーはパーソナルキー２００中のドキュメント解読エンジンにより使用される。
【００７３】
ＢＵＩＬＤＯＣプログラムはスタンドアロンのアプリケーションであり、安全壁の機構内の信用されたシステム上で実行する。ＢＵＩＬＤＯＣプログラムは、マスターキーの有効性を必要とする。ＢＵＩＬＤＯＣプログラムはパーソナルキー２００を使用し、各ドキュメントファイルネームについての解読キーを作成する。
【００７４】
第１に、ＸＯＲオプションを有するＨａｓｈＴｏｋｅｎ  ＡＰＩ２６０は、ＤＯＣＦｉｌｅｎａｍｅ、（ドキュメントを読み出し、解読しながらＢＵＩＬＤＯＣプログラムにより計算される）ブロック数、ＤＯＣＳｅｃｒｅｔを互いにハッシュするために使用される。ＢＵＩＬＤＯＣプログラムは、ドキュメントを読み出し、解読しながらブロック数を計算する。結果的に発生するＭＤ５−ＸＯＲダイジェストはＢＵＩＬＤＯＣアプリケーション中の解読エンジンによって使用される解読キーとして用いられる。次いで、ＸＯＲモードのＨａｓｈＴｏｋｅｎと共にＣｒｅａｔｅＦｉｌｅ、ＳｅｌｅｃｔＦｉｌｅ、ＷｒｉｔｅＦｉｌｅおよびＣｌｏｓｅＦｉｌｅ  ＡＰＩ２６０が、各ドキュメント上で使用され、このドキュメントは安全ドキュメントライブラリに追加される。
【００７５】
ＶＩＥＷＤＯＣプログラムはウェブブラウザ２６２プラグインアプリケーションであり、このプログラムにより、ユーザがドキュメントアクセスコードに基いて自身のパーソナルキー２００に基づくドキュメントの公開（ｏｐｅｎ）、解読、閲覧を行うことができる。所望ならば、いくつかのタイプのドキュメントについての閲覧カウンタはまた、ＶＩＥＷＤＯＣプログラム中でデクリメントされ得る。ＶＩＥＷＤＯＣプログラムは、ファイルの保存、ファイルの転送、スクリーンのスクラッピングおよびスクリーンの印刷を必要としない。
【００７６】
ＶＩＥＷＤＯＣプログラムは、ユーザを確認し、ドキュメントのアップロードおよび解読を行う。ＶＩＥＷＤＯＣプログラムは、ＶｃｒｉｆｙＰＩＮコマンドＡＰＩ２６０を用い、ユーザを許可する。次いで、ユーザは、パーソナルキー２００がＵＳＢポート１３０と通信可能に接続される限り、パーソナルキー２００ディレクトリにリストされたドキュメントを閲覧し得る。
【００７７】
ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステム（ＷＭ＿ＤＥＶＩＣＥＣＨＡＮＧＥ）で使用されるメッセージ機能のようなメッセージ機能は、キーが削除されたか否かを判定するために使用され得る。Ｄｉｒコマンド、ＳｅｌｅｃｔＦｉｌｅ、ＲｅａｄＦｉｌｅおよびＣｌｏｓｅＦｉｌｅコマンドＡＰＩ２６０は、どのドキュメントが読み出され得るかを判定するために使用される。ＤＯＣＳｅｃｒｅｔ、ＤＯＣＦｉｌｅｎａｍｅおよびドキュメントブロック番号と共にＸＯＲモードＡＰＩ２６０を備えるＨａｓｈＴｏｋｅｎは、基本ブロック単位毎に暗号キーを生成する。ＤＯＣｆｉｌｅｎａｍｅがファイルタイプＣＴＲである場合、ＣＴＲはＤｅｃｒｅｍｅｎｔコマンドＡＰＩ２６０を用いて、デクリメントされる。１つの実施形態において、複雑性を減少させるためにＣＴＲ場はハッシュされず、ＶＩＥＷＤＯＣにより単に管理されるだけである。
【００７８】
ＬＩＢＤＯＣプログラムはＳＥＴＫＥＹのサブセットである管理機能を提供する。その管理機能により、安全ドキュメントライブラリアンは、パーソナルキー２００に格納される情報に基づくドキュメントへのアクセスを許可され得る。正味の効果は、信頼されたライブラリアンが、閲覧され得るドキュメントリストに基づいて、パーソナルキー２００のアップデートを行い得るということである。
【００７９】
ＬＩＢＤＯＣプログラムは基本パーソナルキー２００単位でＤＯＣＦｉｌｅｎａｍｅのリストをアップデートする。ＶｅｒｉｆｙＭａｓｔｅｒＫｅｙコマンドＡＰＩ２６０を備えるマスターキーを確認し、雇用データベース中で、ユーザネームを検索した後、ＤＯＣＦｉｌｅｎａｍｅの現在のセットはＳｅｌｅｃｔＦｉｌｅ、ＷｒｉｔｅＦｉｌｅおよびＣｌｏｓｅＦｉｌｅコマンドＡＰＩ２６０を用いてアップデートされる。
【００８０】
前述の記載を用いることによって、従業員は、自身のファイルネームのローカルデータベースをロードしたパーソナルキー２００を携帯し得る。個々の部署はＭＩＳ手続きに依存する必要がなく、ドキュメントにアクセスする人物を制限する。必要であれば、パーソナルキー２００の部署番号はＬＩＢＤＯＣプログラムを使用し、アップデートされ得る。パーソナルキー２００秘密が正確な場合のみ、従業員はドキュメントを解読および閲覧し得る。パーソナル秘密が安全であるのは、パーソナル秘密がパーソナルキー２００の外に決して漏らされないからである。メータリングの単一形式はまたドキュメントのコピー数を減らすことに使用され得、閲覧され得るドキュメントのコピー数を減少するために使用され得る。
【００８１】
図６は、パーソナルキー２００の１つの実施形態の説明を示す図である。パーソナルキー２００は第１のハウジング部材６０２および第２のハウジング部材６０４を含む。第１のハウジング部材６０２は、回路基板６０６を自身に収容するようなサイズおよび形状にされる。
【００８２】
第１のハウジング部材６０２は複数のボス６２４を含み、複数のボス６２４は、第２のハウジング部材６０４の各ホール６４０中に挿入された場合、第１のハウジング部材６０２を第２のハウジング部材６０４に固定する。第１のハウジング部材６０２および第２のハウジング部材６０４はまた、それぞれアパーチャ６２８を含み、アパーチャ６２８はパーソナルキー２００がキーチェーンに添付されることを可能にする。
【００８３】
複数の回路基板サポート６０８は、所定の位置で回路基板６０６を保持する。回路基板６０６は、伝導ピンを介したホスト処理デバイスまたはコンピュータ１０２と通信可能に接続するために、回路基板６０６の周辺に実質的にフラットな回路接続表面６１０を含む。回路接続表面６１０は回路基板６０６上にマウントされたプロセッサ２１２との通信を可能にする。プロセッサ２１２は、メモリおよび本明細書中で公開されたパーソナルキー２００の機能をインプリメントするために必要とされるオペレーションを実行するための命令を含む。プロセッサは、回路基板上でメモリ２１４と通信可能に接続され、プロセッサ２１２の命令により要求されるデータの格納および読み出しを行う。説明された実施形態において、回路基板６０６はまた、パーソナルキー２００によって実行されているオペレーションを視覚表示することを、パーソナルキー２００のユーザに提供する発光デバイス６１６（例えば、発光ダイオード（ＬＥＤ））のような出力デバイスを含む。例えば、ホストコンピュータ１０２からパーソナルキー２００まで通過する信号により光を発光することによって、このことは達成される。発光デバイスはまた、液晶ディスプレイ（ＬＣＤ）またはパーソナルキー中で実行される機能の視覚的な表示またはパーソナルキー２００へのまたはパーソナルキー２００からの渡されるデータを提供する他のデバイスを含み得る。
【００８４】
発光デバイス６１６からのエネルギーは、２種類の方法の内の１つでユーザに提示される。図２に示された実施形態において、発光デバイス６１６は、第２のハウジング部材６０４中の発光デバイスオリフィス６４４を介して配置される。この設計において、パーソナルキー２００は、エポキシ材料、または組み立てた後に発光デバイスオリフィス６４４中に配置される他の適切な材料を少量添加して密封され得る。
【００８５】
他の実施形態において、発光デバイス６１６はハウシング６０２、６０４の内部を超過して拡張せず、パーソナルキー２００の内部にとどまる。この実施形態において、第１のハウジング６０２または第２のハウジング６０４の少なくとも一部分は、対象となる帯域幅において発光デバイス６１６により放射されるエネルギーを少なくとも部分的に透過させる。例えば、発光デバイス６１６が単一ＬＥＤである場合、第２のハウジング６０４は、可視の波長で光を透過させる材料により選択され得る。先の実施形態の１つの利点は、ＬＥＤが、電磁放電ならびに回路基板６０６または回路基板６０６上に配置された任意の構成エンティティに対する他の所望しないエネルギーを許容しない場所に配置され得る。これは、常にユーザの手に接触するＬＥＤの部分（ＬＥＤの表面においてさえも）が存在しないからである。
【００８６】
前述の記載では、単一発光デバイス６４６を用いて記述されたが、本発明はまた、２つ以上の発光デバイス、または他の波長でエネルギーを放射するデバイスを有利に統合し得る。例えば、前述の記載では、３つのカラーＬＥＤ（赤、黄および緑）または３つの単一カラーＬＥＤを用いてインプリメントされ得、パーソナルキー２００の情報をユーザに転送する。
【００８７】
前述の記載に加えてまたは代替として、音声トランスデューサ（例えば、小型拡声器または圧電トランスデューサ）が、パーソナルキー２００のオペレーションに関連する情報を提供する。そのような音声情報は、制限された視覚を有するユーザまたは視覚を有さないユーザに対して特に有用である。例えば、音声トランスデューサは、パーソナルキー２００が、ホストコンピュータ１０２Ｉ／Ｏポート１３０に適切に挿入されたことを示すために使用され得る。
【００８８】
音声トランスデューサはまた、警告情報をユーザに提供するために使用され得る。この警告は、ユーザが任意の入力またはキーからの情報を予想していない場合に、特に有用である。例えば、パーソナルキー２００または関連デバイスが長時間の計算に従事した場合、音声トランスデューサはいつプロセスが終了するかを示し得る。また、感染したソフトウェア命令または他の有害なソフトウェア命令によりキーの安全性を妥協しようとする試み、またはユーザにキー２００への入力を提供するような行動を取らせるようとする試みがある場合、音声トランスデューサは内部フォールトが生じた時を示し得る。
【００８９】
さらに、パーソナルキー２００の使用が広範囲に及ぶにつれて、他のデバイスの機能をパーソナルキーに組み込むことが有利となることが考えられる。例えば、ページングトランシーバのようなデバイスがパーソナルキー中に組み込まれ、ユーザが遠隔的に呼び出されるか、または接触されることを可能にすることができる。または、パーソナルキー２００が、プログラムおよびユーザのカレンダーのような命令を格納するために使用され得る。この適用の際には、パーソナルキー２００は、特に上記のＬＣＤディスプレイと共に、ユーザにカレンダーの事象を思い出させるために使用され得る。音声トランスデューサは、最小可聴振動周波数を含む広範で多様な周波数で作動し得る。パーソナルキーがユーザのキーリング上に配置されるのに十分小さいために、キーリングが見られ得ないか、または容易に聞かれ得ないポケットまたは財布に、長期間ある場合にこの設計は特に有利である。
【００９０】
図７Ａ〜図７Ｃは、第１の感圧性デバイス７０２および第２の圧力デバイス７０４を含む入力デバイス２１８を有するパーソナルキー２００の、ある実施形態を示す図であり、各デバイスは、ＵＳＢに対応するインターフェース２０４と別個の通信パスにより、プロセッサ２１２と通信可能に接続される。
【００９１】
図７Ａはパーソナルキー２００の実施形態を示し、この実施形態において、ＬＥＤまたはＬＣＤディスプレイ７０６のような出力デバイス２２２が、ＵＳＢに対応するインターフェース２０４と別個の第２の通信パスにより、プロセッサ２１２と通信可能に接続される。この実施形態において、パーソナルキープロセッサ２１２への入力は、任意で出力デバイス２２２によって行われるように、感圧性デバイス７０２、７０４を組み合わせて押し下げることによって提供され得る。
【００９２】
図７Ｂおよび図７Ｃに示す実施形態において、感圧性デバイス７０２および７０４は、回路基板６０６上のトレースを介してプロセッサ２１２と通信可能に接続される単一の機械的プッシュスイッチである。この場合、スイッチ７０２および７０４は、第２のハウジング部材６０４中のアパーチャ７０８および７１０を通って伸びるボタン表面を押し下げることによって作動され得る。図７Ｂはまた、出力デバイス７０６の表示を見ることを可能にするウインドウ７１２を示す。
【００９３】
図７Ｃは、第１のハウジング部材６０２および第２のハウジング部材６０４が取り付けられた場合の、パーソナルキー２００のこの実施形態における外観を示す。
【００９４】
本発明の他の実施形態において、圧力スイッチ７０２および７０４は、パーソナルキー２００の外部にまで至らない。代わりに、パーソナルキー２００は、スイッチのどの部分も必要とするすることなく、圧力が、感圧性スイッチ７０２および７０４上に加えられ得るように構成され、それにより圧力はパーソナルキー２００の外部に達する。例えば、ある実施形態において、パーソナルキー２００の外部表面の少なくとも一部は十分フレキシブであり、このキー２００の外側の表面に加えられた圧力がパーソナルキー２００内のスイッチを動作させ得る。あるいは、第１のハウジング部材６０２および第２のハウジング部材６０４は、圧力がスイッチに印加され得るように取り付けられる。他の実施形態において、パーソナルキーへのユーザ入力を示ために、ひずみゲージのような感圧性デバイスのしきい値出力が使用される。
【００９５】
前述の記載の感圧性デバイス７０２および７０４は、以下のように使用され得る。ある実施形態において、２つの感圧性デバイス７０２および７０４は、英数字情報を入力するために使用され得る。ここで、圧力は第１の感圧性デバイス７０２に印加され、所望の文字を選択し得る。ユーザを補助するために、現在選択された文字は出力デバイス２２２上に表示され得る。ユーザが選択された文字に満足する場合、圧力を第２の感圧性デバイスに印加することは、現在表示されている文字が入力されるべきであることを示し得る（従って、「入力」機能を提供する）。このプロセスはユーザが全文字（例えば、ユーザパスワードまたは個人識別番号（ＰＩＮ））を入力するまで繰り返されられ得る。ユーザ入力の終了は、第２の感圧性デバイス７０２へ、圧力を繰り返し印加することにより示されて、出力デバイス２２２により確認される得る。音声トランスデューサは単独で、または視覚ディスプレイと組み合わせて使用され、文字を表示するか、エラーを示すか、またはユーザ入力プロセスが完了した時を示すことができる。
【００９６】
前述に記載の感圧性デバイスはまた、バイナリ入力をパーソナルキー２００に提供するために使用され得る。例えば、ユーザのＰＩＮまたはパスワードが、迅速に相次いで適切な順序で、圧力を第１の感圧性デバイス７０２および第２の感圧性デバイス７０４に印加することによって入力され得る。このような方法で、「１０１０００１０１１１」として規定されるユーザパスワードまたはＰＩＮは、「０」を示すために、第１の感圧性デバイス７０２を押し下げて、「１」を示すために、第２の感圧性デバイス７０４を押し下げて入力され得る。
【００９７】
図８Ａ〜図８Ｃは本発明の他の実施形態の例を示す図である。この実施形態において、入力デバイス２１８は、入力デバイス通信パス８０８によりプロセッサに接続されるエッジの見えたホイール８０２を含む。この実施形態において、ユーザは、一連の接触部位を介して入力文字を識別するホイール８０２を動かして入力を行う。所望の入力文字が、出力デバイス２２２上に示されるか、ホイール８０２自身上に示されるかのどちらかの場合に、ユーザは、ホイール８０２をパーソナルキー２００の中央線に向かって動かすことによりユーザ入力として文字を示し得る。このプロセスは、所望の文字全てが提供されるまで、一連の入力文字について繰り返され得る。ユーザはまた、ホイール８０２を迅速に相次いでパーソナルキーの中央部へ複数回動かすことにより、またはホイール８０２上の入力接触位置を選択しホイール８０２を押し下げることにより、これ以上入力がないということを示し得る。
【００９８】
（入力および出力デバイスを用いる安全性機能）
本発明の入力デバイス２１８および出力デバイス２２２は、パーソナルキー２００の安全性を拡張するために有利に使用され得る。例えば、ホストコンピュータ１０２と接続された場合、パーソナルキー２００は、通信媒体１３２（例えば、ダイヤルアップネットワーク、インターネット、ＬＡＮまたはＷＡＮ）を介しホストコンピュータ１０２に通信可能に接続された遠隔コンピュータ／サーバ１３４とのトランザクションを許可するために使用され得る。遠隔コンピュータ／サーバ１３４またはホストコンピュータ１０２中で実行され得る不正なソフトウェアは、必要なものすべてをパーソナルキー２００に送り、ユーザが知ることなく、またはユーザの許可なく許可を行うことができる。ある種のユーザ入力デバイス２１８を用いずに、パーソナルキー２００は、カード保有者が拒否することができないトランザクションをユーザが知ることなく許可し得る。例えば、このようなトランザクションは、支払いおよび法的に拘束力のある署名を含み得る。
【００９９】
個人識別番号（ＰＩＮ）のような個人識別は、パーソナルキー２００をログオンし、パーソナルキー２００を起動するために必要とされるが、通常、パーソナルキー２００は、ＰＩＮが入力されると起動したままである。ゆえに、パーソナルキー２００は、ユーザに気づかれることなくまたはユーザに許可されることなく、任意のアプリケーションについて任意のアクションを行う。
【０１００】
この問題を解決するために、本発明の１実施形態は「署名の強制」許可技術を利用し、この技術においては、直接的なユーザのアクションが、パーソナルキー２００に格納された識別秘密値の使用を許可するために、必要とされる。（例えば、秘密４０６のような）復号鍵またはパーソナルキー２００のメモリ２１４中に格納されたＰＩＮが「署名への強制」許可を要求するものとして識別された場合、パーソナルキー２００のプロセッサ２１２中で実行するファームウェアは、ホストコンピュータ１０２、または復号鍵または個人情報の使用を含む遠隔コンピュータ／サーバ１３４からの任意のリクエストを受け取る前に、入力デバイス４１０またはデータトランシーバ２５２を介する直接的なユーザの入力を必要とする。通常、復号鍵および／または他の個人情報は、メモリ２１４中の関連値または関連フラグによる、直接許可を要求するものとして設計される。そのようなデータはまた、データが任意の状況下でキーから直接的に読み出され得ないことを示す「使用のみ」として設計され得る。データは（ＰＩＮを用いた場合によくあるような）他の入力と共有され得ない、または信頼された入力と共有し、許可に使用される値（例えば、秘密４０６）であり得る。例えば、復号鍵がハッシュ機能を介して許可を行う秘密４０６として使用され得る。このような場合、秘密値４０６は、通常、ＤＥＳキーまたはパスワードのような共有された秘密である。秘密値４０６がパーソナルキー２００のメモリ２１４に格納され得るので、パーソナルキー２００をユーザに分配する前に、秘密値４０６は、いかなる時でも、平文フォームで利用可能にされる必要がない。
【０１０１】
通常、ユーザが、クライアント許可を補助するＳＳＬ安全ウェブサイトに接続するたびに、ブラウザ２６２は、ＡＰＩ２６０またはＰＫＣＳ２６４の１つのようなミドルウェアを呼び出し、このミドルウェアはパーソナルキー２００に命令し、ユーザの秘密復号鍵４０６Ｂ（パーソナルキーメモリ２１４に格納される）を用いチャレンジ値を解読する。ユーザのＰＩＮがすでにパーソナルキー２００に格納され、ユーザをパーソナルキー２００に許可すると仮定すると、やはり、キーを安全ウェブサイトに許可することが残る。この場合、ユーザの秘密復号鍵へのアクセスが要求され、パーソナルキー２００に統合された出力デバイス２２２は、復号鍵へのアクセスを要求するコマンドが呼び出されたこと、およびユーザがこのアクセスを許可する必要のあることを示すために起動し得る。本発明の１つの実施形態において、このことは、視覚的出力デバイス（例えば、ＬＥＤまたはＬＣＤディスプレイ）を点滅すること、または音声デバイスをビープすることにより、達成される。本発明の他の実施形態において、ミドルウェア（ＡＰＩ２６０またはＰＫＣＳ２６４のどちらか）は、コンピュータ１０２に付属のディスプレイ１２２を起動し、処理が進められ得る前に、ユーザが復号鍵へのアクセスを許可しなければいけないことを示す。次いで、パーソナルキー２００の入力デバイス２１８（例えば、ホイール８０２または感圧性デバイス７０２および７０４の１つ）はユーザにより作動させられ、ユーザがプラーベートキーへのアクセスを許可されたことを示すことができる。どの許可も許可されないのは、パーソナルキー２００がＩ／Ｏポート１３０から取り除かれた場合、またはディスプレイ１２２上に表示される「キャンセル」ボタンが選択され、スクリーン上のダイアログを拒否した場合である。復号鍵へのアクセス（上記の例では、ハッシュ機能の実行）が許可されるのは、ユーザがそういうものとして許可される場合である。従って、「署名の強制」概念によって、不正なソフトウェアがユーザの同意または認知を必要とせずに、秘密４０６Ｂを使用し得ることは、おそらく不適切になる。
【０１０２】
不正なソフトウェアは、ユーザのＰＩＮ値をキャプチャするために、パーソナルキー２００とホストコンピュータ１０２との間のインターフェースをモニタし得る。ＰＩＮを直接読み出すことはできないが、不正なソフトウェアは、表６に示されたＶｅｒｉｆｙＰＩＮコマンド（およびその引数）とパーソナルキー２００からの応答の両方を調べることが可能である。応答が、適切なＰＩＮがＶｅｒｉｆｙＰＩＮコマンドに引数として提供されたことを示す場合、不正なソフトウェアは、ＰＩＮ自身を決定し得る。前記では、秘密４０６Ｂの代わりにユーザのＰＩＮをさらに保護するためにも適用され得る。例えば、ホストコンピュータの不正なソフトウェアの検知（ｓｎｉｆｆｅｒ）モジュールがユーザのＰＩＮにアクセスに成功した場合、その検知モジュールがユーザが意図しないコンテクストにおいてユーザのＰＩＮを使用しようと試みたとき、ユーザはそのＰＩＮの信用度が下がったという事実を警告される。
【０１０３】
図９は、プロセッサ２１２の動作がユーザ許可を受ける場合の、本発明の実施形態を示すフローチャートである。はじめに、ＡＰＩ２６０は、プロセッサ２１２の動作を呼び出すコマンドを命令する（９０２）。そのコマンドは、ＵＳＢインターフェース２０４を介してパーソナルキー２００に伝送される。プロセッサ２１２は、ブロック９０４で示されるように、コマンドを承認する。続いて、パーソナルキー２００は、命令されたプロセッサコマンドが許可を要求するコマンドであるかどうかを判定する。このことは、プロセッサコマンドが許可を要求することを示すパーソナルキーのメモリ２１４に情報を格納することによって達成され得る。例えば、このことは、メモリ２１４に格納されたマップにおいてインプリメントされ得、（各ユーザ用にカスタマイズされ得る）複数のフラグまたは情報が、プロセッサ２１２のファームウェアまたはこれと類似した位置に格納され得る。そのため、そのマッピングは変更され得ない。１つの実施形態において、異なるレベルの許可は、異なるプロセッサコマンドに対してインプリメントされる（例えば、書き込みコマンドは許可を要求し得るが、読み取りコマンドは許可を要求し得ない）。
【０１０４】
別の実施形態において、許可は、呼び出されたコマンドの代わりのデータ、または呼び出されたコマンドおよびデータの組み合わせを前提とされ得る。例えば、本発明は、ＰＩＮが何らかの方法でアクセスされた任意の時間の許可、またはＰＩＮがパーソナルキー２００のメモリ２１４から読み取られたときの許可を要求するために構成され得るが、他のデータが読み取られたときの許可、またはＰＩＮがパーソナルキー２００に書き込まれたときの許可を要求するためには構成されていない。このことは、例えば、メモリ２１４に格納されたどのデータがプロセッサの動作によって影響を与えられるかを判定すること、およびプロセッサの動作によって影響を受けたデータがプライベート情報のようなデータを指定している識別に関連するかどうかを判定することによって、達成され得る。
【０１０５】
１つの出力デバイス２２２、データトランシーバー２５２またはホストコンピュータに接続されたディスプレイ１２２を用いると、その結果、パーソナルキー２００は、ブロック９０６で示されるように、プロセッサの動作を許可するようにユーザにプロンプトを与え得る。このことは、ディスプレイデバイス（例えば、ＬＥＤまたはＬＣＤ）を点滅させること、音声トランスデューサを作動させること、または両方の動作を実行することにより、達成され得る。所望ならば、ユーザは、ディスプレイデバイスではじめにプロンプトを与えられ、許可が指定した期間内にされない場合、音声トランスデューサが作動し得る。
【０１０６】
不正なソフトウェアまたは他の扱いにくい作動をできる限り小さくしてプロンプトを与える動作を露呈するために、そのプロンプトは、好適には、パーソナルキー２００とホストコンピュータ１０２との間の通信経路（例として示される）ＵＳＢインターフェース２０４から完全に分離した通信経路を用いて実行される。よりセキュリティを増すために、示された実施形態は、不正なソフトウェアで見ることができるいかなる方法においても、パーソナルキーから外部にもらさない通信経路を介して、出力デバイス２２２でユーザにプロンプトを与えるので、改ざんされることはない。
【０１０７】
次に、ユーザは、動作の入力信号伝達（ｓｉｇｎａｌｉｎｇ）許可を提供する（９１０）。このことは、種々の入力デバイス（例えば、マウス１１６またはキーボード１１４）を用いて実行され得るが、好適には、入力デバイス２１８またはパーソナルキー２００のデータトランシーバ２５２を用いて実行される。この情報は、パーソナルキー２００とホストコンピュータ１０２との間の通信経路から完全に分離している通信経路、好適には、パーソナルキー２００に完全に内臓している（不正なソフトウェアで見ることができる手段によりパーソナルキーを外部にもらさない）通信経路を介してパーソナルキー２００と通信される。このことは、ユーザ許可に干渉するまたはユーザ許可をエミュレートする不正なソフトウェアを防止する。
【０１０８】
本発明の別の実施形態において、さらなるＰＩＮセキュリティを提供する。この実施形態において、ＶｅｒｉｆｙＰＩＮコマンドは、表６に記載されているコマンドから変更される。通常、ＶｅｒｉｆｙＰＩＮコマンドは、どのホストコンピュータ１０２または遠隔コンピュータ／サーバ１３４が、引数としてユーザのＰＩＮであるかと考えるかを承認する。パーソナルキー２００はこのコマンドを承認し、適切なＰＩＮが提供されたかどうか示す状態に戻る。しかしながら、この代替的な実施形態において、ＶｅｒｉｆｙＰＩＮコマンドは、変更されるので、ＶｅｒｉｆｙＰＩＮコマンドは、引数としてＰＩＮを含まない。ＶｅｒｉｆｙＰＩＮコマンドは、パーソナルキー２００に提供され、ユーザは、ユーザのＰＩＮを入力するようにプロンプトを与えられる。ＰＩＮが入力された後、ＰＩＮは、ホストコンピュータ１０２とパーソナルキー２００とのインターフェースから分離している通信経路２２０を介して、プロセッサ２１２と通信し、不正なソフトウェアによって検出され得る場所のどこにも明らかにされない。その結果、ＰＩＮは内部で確認され、出現（ｍａｎｉｆｅｓｔａｔｉｏｎ）がパーソナルキー２００からホストコンピュータ２００または遠隔コンピュータ／サーバ１３４に伝送された結果をメッセージとして提供する。このことは、任意の外部のＰＩＮの出現を防止する。
【０１０９】
上述の秘密４０６を用いたハッシング技術と組み合わされた場合、前記では、ユーザ許可用の高度なセキュア（ｓｅｃｕｒｅ）技術を提供する。このセキュアハッシング技術は、キーを許可し、外部の露呈から秘密４０６を保護する。しかしながら、ハッシング技術は、キーを所有する人物を許可しない（なぜなら、キーは紛失するか盗まれ得るからである）。ＰＩＮをパーソナルキーのプロセッサ２１２に直接入力するための能力は、パーソナルキーがユーザを許可することを可能にし、ＰＩＮがキーから外部に決してもらされないので、不正なソフトウェアの露呈が防止される。第三者がパーソナルキーを許可し得、かつ、パーソナルキーがユーザを許可し得るため、第三者は、高度な信用でユーザ許可を実行し得る。
【０１１０】
図１０は、ＰＩＮがパーソナルキー２００に直接入力される場合の、本発明の実施形態を示すフローチャートである。ブロック１００２では、ユーザのＰＩＮ（例えば、表６に挙げられたＶｅｒｉｆｙＰＩＮおよびＭｏｄｉｆｙＰＩＮコマンド）へのアクセスを要求するコマンドを出す。パーソナルキー２００は、コマンドを承認し（１００４）、必要であれば、ブロック１００６で示されるように、ユーザにＰＩＮに対するプロンプトを与える。このことは、ディスプレイ１２２、出力デバイス２２２の１つまたはその任意の組み合わせで達成され得る。好適には、このことは、ＵＳＢインターフェース２０４から分離し、アクセス不可能な通信経路を介して達成される。上記で説明された実施形態の入力デバイス２１８の１つを用いて、ユーザは、ＰＩＮをパーソナルキー２００に提供する。メモリ２１４に記録された値を用いて、パーソナルキー２００のプロセッサ２１２は、ユーザが入力したＰＩＮを有効にする。１つの実施形態において、このことは、ユーザに提供された値をメモリ２１４に格納された値と直接比較することによって達成される。続いて、パーソナルキーは、ＰＩＮの有効性を示す応答を提供する（１０１４）。このＰＩＮの有効性は、ＡＰＩ２６０によって承認される。その応答は、ユーザが供給されたＰＩＮが有効であるかどうかを示す。
【０１１１】
１つの実施形態において、バイオメトリックセンサ２５０はまた、プロセッサ２１２に通信可能に接続される。バイオメトリックセンサ２５０は、データをプロセッサ２１２に提供し、本開示のはじめに記載されたプロセッサ２１２からコマンドを受信する。
【０１１２】
プロセッサはまた、任意に１つ以上の発光デバイス２１６、あるいは動作の視覚的表示またはパーソナルキー２００の状態を提供する他の視覚的表示デバイスに必要に応じて通信可能に接続される。プロセッサ２１２はまた、ユーザに、パーソナルキー２００の状態または動作の振動データまたは音声データを提供するための音声デバイスと通信可能に接続され得る。
【０１１３】
（結論）
ここでは、本発明の好適な実施形態の記載を結論づける。要約すれば、本発明は、コンパクトで内蔵型のパーソナルトークンを説明する。そのトークンは、ホスト処理デバイス、メモリおよびプロセッサに取り外し可能に接続可能なＵＳＢコンプライアントインターフェースを含む。プロセッサは、メモリに格納できるデータに条件付きでアクセスするホスト処理デバイス、およびパーソナルキーに格納された管理ファイルに要求される機能を提供し、これは、そのファイルのデータに基づいて計算を実行するためである。１つの実施形態において、パーソナルキーはまた、一体型のユーザ入力デバイスおよび一体型のユーザ出力デバイスも含む。その入力および出力デバイスは，ＵＳＢコンプライアントインターフェースに依存しない通信経路によってプロセッサと通信し、従って、パーソナルキーの外部にどのようなプライベート情報も外部にもらすことなく、ユーザがプロセッサと通信することを可能にする。
【０１１４】
本発明の好適な実施形態の前述の説明は、図示および説明の目的のために示されてきた。本発明は開示されたそのままの形態にこだわったり、または制限されることを意図しない。上記の教示を考慮すると、多くの変更および改変が可能である。例えば、前記のパーソナルキーは、ホスト通信との電子通信を提供するものとして記載されてきたが、このような電子通信は、光ファイバーおよびその同等物によってインプリメントされるようなデータの光転送を含むことが想定される。
【０１１５】
本発明の範囲は、詳細な説明によって制限されるものではなく、むしろ、ここに添付された特許請求の範囲によって制限されことが意図される。上記の明細書、実施例およびデータは、本発明の製造の完全な説明および本発明の組成の使用を提供する。本発明の多くの実施例は、本発明の意図および範囲から逸脱され得ないため、本発明は、添付された特許請求の範囲に属する。
【図１】
2011192311.tif 000010
【図２】
2011192311.tif 000011
【図３】
2011192311.tif 000012
【図４】
2011192311.tif 000013
【図５】
2011192311.tif 000014
【図９】
2011192311.tif 000015
【図１０】
2011192311.tif 000016
【図６】
2011192311.tif 000017
【図７Ａ】
2011192311.tif 000018
【図７Ｂ】
2011192311.tif 000019
【図７Ｃ】
2011192311.tif 000020
【図８Ａ】
2011192311.tif 000021
【図８Ｂ】
2011192311.tif 000022
【図８Ｃ】
2011192311.tif 000023
【手続補正書】
【提出日】平成23年6月23日(2011.6.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
ソフトウェア開発者およびコンピュータ設計者等には、ソフトウェア著作権侵害の問題に取り組む技術的な解決手段を求めている。１つの解決手段は、ホストコンピュータの入力／出力（Ｉ／Ｏ）ポートに結合されるハードウェア鍵または「ドングル（ｄｏｎｇｌｅ）」として公知である外部デバイスを用いることである。そのようなハードウェア鍵の１例は、１９９８年１１月１７日発行の「Ｒａｉｎｂｏｗ  Ｔｅｃｈｎｏｌｏｇｉｅｓ  Ａｄｄｓ  ＵＳＢ  ｓｕｐｐｏｒｔ  ｆｏｒ  ＰＣ  ａｎｄ  Ｍａｃｉｎｔｏｓｈ  Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｅｒｓ  ｔｏ  Ｓｅｎｔｉｎｅｌ  Ｌｉｎｅ」に記載されているように、ＲＡＩＮＢＯＷ  ＴＥＣＨＮＯＬＯＧＩＥＳ、ＩＮＣに生産される製造品のＳＥＮＴＩＮＥＬ回線により提供される。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
第３に、スマートカードが読み取り装置内になければ、データはスマートカードでアクセスできない。これにより、スマートカード読み出し装置に位置付けされ得るまで、ユーザがスマートカードに格納されたデータ（すなわち、格納されたパスワード）をみることを防ぐ。スマートカード読み取り装置（特に信頼性の高い装置）を見つけることが困難であり得る場合、これは、実質的にカードの有用性を制限する。もちろん、ユーザは無造作に紙にパスワードを書き留めることができるが、これはカードのデータ全てのセキュリティを妥協したものにし、中心的な、セキュリティが高く、携帯可能な個人データのレポジトリを提供する目的と矛盾してる。上述のデバイスの関連技術を代表するデバイスが、１９９９年１月５日にＮｉｓｈｉｎｏらに付与された米国特許第５，８５７，０２４号、１９８５年９月４日に公開されたＵＫ特許出願ＧＢ２１５４３４４号、１９９７年８月２７日に公開されたＥＰ特許出願ＥＰ０７９１８７７Ａ１号、および１９９８年７月に公開された、ＷＩＢＵ−Ｓｙｓｔｅｍｓ  ＡＧ、Ｋａｒｌｓｒｕｈｅ（独）による「ＷＩＢＵ−ＫＥＹ、Ｕｓｅｒ’ｓ  Ｇｕｉｄｅ  Ｖｅｒｓｉｏｎ  ２．５０」に開示される。
【外国語明細書】
2011192311000001.pdf