(57)【要約】  【解決手段】  デジタル署名を作成する方法、装置およびシステムが開示されている。ファイル交換用の標準大容量記憶アクセス機構を通して暗号処理結果を提供するため、該装置がホストコンピュータに提供される。  【選択図】    図１
2017505048.tif 000002
【特許請求の範囲】
【請求項１】
装置であって、
前記装置をホストコンピュータにローカル接続する通信インターフェースと、
暗号秘密鍵と第一の入力データとを暗号化して組み合わせることにより生成された暗号処理結果を提供するように構成されたデータ処理コンポーネントと
を有し、
前記装置は、前記通信インターフェースによって前記ホストコンピュータに接続されると、アクセス可能な大容量記憶装置として前記ホストコンピュータに提供されるように構成されており、該大容量記憶装置は、前記ホストコンピュータ上のアプリケーションがファイル交換用の標準大容量記憶アクセス機構を通してアクセス可能なものであり、
前記通信インターフェースは出力ファイルを前記通信インターフェースを通して前記ホストコンピュータに返信するように構成されており、前記出力ファイルは前記暗号処理結果を含み、前記ホストコンピュータは、前記標準大容量記憶アクセス機構のファイルを読み出す機構によって前記通信インターフェースを通して前記装置から前記出力ファイルを読み出すことにより、前記出力ファイルを取得するものである、
装置。
【請求項２】
請求項１記載の装置において、前記通信インターフェースはユニバーサルシリアルバス（ＵＳＢ）インターフェースを有し、前記装置は、更に、前記ホストコンピュータに接続されると、ＵＳＢ大容量記憶装置クラスのＵＳＢ装置として前記ホストコンピュータに提供されるように構成されているものである、装置。
【請求項３】
請求項１記載の装置において、更に、
前記暗号秘密鍵を記憶するように構成されたメモリーコンポーネントを有し、
前記データ処理コンポーネントは前記暗号秘密鍵を用いて暗号計算を実行するように構成されており、
前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程は、前記データ処理コンポーネントが前記暗号計算を実行する工程を含むものである、
装置。
【請求項４】
請求項１記載の装置において、更に、
着脱自在な外部鍵記憶装置とコマンドおよび応答を受信および交換する第二の通信インターフェースを有し、
前記鍵記憶装置は、前記暗号秘密鍵を記憶するように構成された鍵記憶装置メモリーコンポーネントと、前記暗号秘密鍵を用いて暗号計算を実行するように構成された鍵記憶装置データ処理コンポーネントとを有し、
前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程は、前記鍵記憶装置データ処理コンポーネントが前記秘密鍵を用いて前記暗号計算を実行する工程を含むものである、
装置。
【請求項５】
請求項４記載の装置において、前記第二の通信インターフェースは国際標準化機構（ＩＳＯ）７８１６に対応するスマートカードインターフェースを有し、前記コマンドおよび応答はスマートカードのコマンドおよび応答を有し、前記鍵記憶装置はスマートカードを有するものである、装置。
【請求項６】
請求項１記載の装置において、更に、
前記装置のユーザーが承認を示すためのユーザー入力インターフェースを有し、前記装置は、ユーザーによる前記承認を前記ユーザー入力インターフェースによって取得するように構成されており、前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程、または前記暗号化して組み合わせる工程の結果を含む少なくとも１つの出力ファイルを返信する工程のうち少なくとも１つは、前記装置による前記承認の取得に依存して条件付きで行われるものである、装置。
【請求項７】
請求項１記載の装置において、前記暗号秘密鍵はアプリケーションと共有される対称秘密鍵を有し、前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程は、前記対称秘密鍵でパラメーター化された対称暗号アルゴリズムを前記第一の入力データに実行する工程を有するものである、装置。
【請求項８】
請求項１記載の装置において、前記暗号秘密鍵は非対称公開／私有鍵ペアの秘密私有鍵を有し、前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程は、前記秘密私有鍵でパラメーター化された非対称暗号アルゴリズムを前記第一の入力データに実行する工程を有するものである、装置。
【請求項９】
請求項８記載の装置において、前記公開／私有鍵ペアの公開鍵を有する公開鍵ファイルが前記ホストコンピュータに利用可能となるように更に構成されており、前記ホストコンピュータは、ファイルを読み出すための前記機構を用い、前記通信インターフェースを通して前記装置から前記公開鍵ファイルを読み出すことにより、前記公開鍵ファイルを取得するものである、装置。
【請求項１０】
請求項８記載の装置において、更に、
前記装置は、前記公開／私有鍵ペアに関連付けられた１若しくはそれ以上の認証を有する認証ファイルが前記ホストコンピュータに利用可能となるように構成されており、前記ホストコンピュータは、前記ファイルを読み出す機構を用い、前記通信インターフェースを通して前記装置から前記認証ファイルを読み出すことにより、前記認証ファイルを取得するものである、装置。
【請求項１１】
請求項１記載の装置において、更に、ワンタイムパスワードを生成するように構成されており、前記ワンタイムパスワードは、前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程の前記結果に含まれており、前記第一の入力データは動的変数を有するものである、装置。
【請求項１２】
請求項１１記載の装置において、更に、クロックを有し、前記動的変数は前記クロックが提供する時間値に基づいているものである、装置。
【請求項１３】
請求項１１記載の装置において、更に、第二の変数を記憶し、前記動的変数の値を前記記憶した第二の変数の関数として決定し、前記第二の変数の値が前記組み合わせに使用されている場合には、該第二の変数の値を更新し記憶するように構成されているものである、装置。
【請求項１４】
請求項１記載の装置において、更に、入力ファイルの少なくとも一部の内容についてデジタル署名を生成するように構成されており、
前記通信インターフェースは、更に、前記入力ファイルを前記ホストコンピュータから受け取るように構成されており、前記ホストコンピュータは、入力ファイルを前記通信インターフェースを通して前記装置へ送信し、該送信は、前記標準大容量記憶アクセス機構のファイルを保存する機構を通して前記装置により提供される大容量記憶装置へ入力ファイルを保存することにより行われるものであり、
前記第一の入力データは、前記入力ファイルの少なくとも一部の内容を示す値に基づいており、
前記デジタル署名は、前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程の結果に含まれているものである、
装置。
【請求項１５】
請求項１４記載の装置において、前記入力ファイルの前記少なくとも一部の内容は全入力ファイルを有するものである、装置。
【請求項１６】
請求項１４記載の装置において、更に
出力を前記装置のユーザーに提供するユーザー出力インターフェースと、
前記ユーザーからの入力を取り込むユーザー入力インターフェースとを有し、
前記装置は、更に、
前記入力ファイルに関する複数の可能なファイルタイプフォーマットのうち少なくとも１つのフォーマットを認識し、
前記入力ファイルの前記少なくとも一部の内容を読み出し、
前記ユーザー出力インターフェースにより前記少なくとも一部の内容を前記ユーザーへ提供し、
前記ユーザー入力インターフェースにより前記ユーザーに提供される少なくとも一部の内容に関する前記ユーザーの承認または拒否のうち少なくとも１つを前記ユーザーから取得するように構成されており、
前記秘密鍵と前記第一のデータとを暗号化して組み合わせる工程、または前記暗号化して組み合わせる工程の結果を含む少なくとも１つの前記出力ファイルを返信する工程は、前記装置による前記承認の取得に依存して条件付きで行われるものである、装置。
【請求項１７】
請求項１記載の装置において、更に、入力ファイルの少なくとも一部の内容を暗号化または復号するように構成されており、
前記通信インターフェースは、更に、前記入力ファイルを前記ホストコンピュータから受け取るように更に構成されており、前記ホストコンピュータは、前記標準大容量記憶アクセス機構のファイルを保存する機構を通して前記装置により提供される大容量記憶装置へ入力ファイルを保存することにより、前記入力ファイルを前記通信インターフェースを通して前記装置へ送信するものであり、
前記第一の入力データは前記少なくとも一部の内容を有しており、
前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程は、前記暗号秘密鍵でパラメーター化される暗号アルゴリズムまたは復号アルゴリズムによって前記第一の入力データを暗号化または復号する工程を有するものである、装置。
【請求項１８】
請求項１７記載の装置において、前記入力ファイルの前記少なくとも一部の内容は全入力ファイルを有するものである、装置。
【請求項１９】
請求項１記載の装置において、更に、
前記装置のユーザーがＰＩＮ値またはパスワード値のうち少なくとも１つを前記装置に提供するためのユーザー入力インターフェースを有し、
前記装置は、さらに、前記ＰＩＮ値または前記パスワード値のうち少なくとも１つを前記ユーザー入力インターフェースによって前記ユーザーから取得し、前記ＰＩＮ値または前記パスワード値のうち少なくとも１つが正しいか否かを検証するように構成されており、
前記秘密鍵と前記第一のデータとを暗号化して組み合わせる工程、または前記暗号化して組み合わせる工程の結果を含む少なくとも１つの前記出力ファイルを返信する工程は、ユーザーにより提供される前記ＰＩＮ値または前記パスワード値のうち少なくとも１つが正しいことに依存して条件付きで行われるものである、装置。
【請求項２０】
請求項１９記載の装置において、更に、参照値を記憶するように構成されており、前記取得されたＰＩＮ値または前記取得されたパスワード値のうち少なくとも１つを検証する工程は、前記装置が前記取得されたＰＩＮ値または前記取得されたパスワード値のうち少なくとも１つを前記参照値と比較する工程を有するものである、装置。
【請求項２１】
請求項１９記載の装置において、更に、
着脱自在な外部装置とコマンドおよび応答を受信および交換するための第二の通信インターフェースを有し、前記取得されたＰＩＮ値または前記取得されたパスワード値のうち少なくとも１つを検証する工程は、
前記着脱自在な外部装置が検証する前記取得されたＰＩＮ値または前記取得されたパスワード値のうち少なくとも１つを示すＰＩＮを示す値またはパスワードを示す値のうち少なくとも１つを、前記装置が、前記第二の通信インターフェースを通して前記着脱自在な外部装置に通信する工程と、
前記着脱自在な外部装置による前記ＰＩＮまたはパスワードを示す値の検証結果を、前記装置が、前記着脱自在な外部装置から前記第二の通信インターフェースを通して受け取る工程とを有するものである、装置。
【請求項２２】
請求項１記載の装置において、更に、
前記装置のユーザーの生体測定結果を取り込むための生体認証センサー（ｂｉｏｍｅｔｒｉｃ  ｓｅｎｓｏｒ）を有し、前記生体測定結果を前記生体認証センサーによって前記ユーザーから取得し、前記生体測定結果が正しいか否かを検証するように構成されており、
前記秘密鍵と前記第一のデータとを暗号化して組み合わせる工程、または前記暗号化して組み合わせる工程の結果を含む少なくとも１つの前記出力ファイルを返信する工程は、前記取得された生体測定結果が正しいことに依存して条件付きで行われるものである、装置。
【請求項２３】
請求項２２記載の装置において、更に、
生体認証参照データを記憶するように構成されており、前記取得された生体測定結果を検証する工程は、前記装置が、前記取得された生体測定結果を前記生体認証参照データと比較する工程を有するものである、装置。
【請求項２４】
請求項２２記載の装置において、更に、着脱自在な外部装置とコマンドおよび応答を受信および交換するための第二の通信インターフェースを有し、前記取得された生体測定結果を検証する工程は、
前記装置が、前記生体測定結果を前記第二の通信インターフェースを通して前記着脱自在な外部装置に通信する工程と、
前記着脱自在な外部装置による前記生体測定結果の検証結果を、前記装置が、前記着脱自在な外部装置から前記第二の通信インターフェースを通して受け取る工程と
を有するものである、装置。
【請求項２５】
ホストコンピュータにローカル接続する通信インターフェースを有する装置で使用される、電子入力ファイルにデジタル署名を生成する方法であって、
前記装置は、
前記ホストコンピュータに接続されると、前記ホストコンピュータ上のアプリケーションがファイル読み出し／保存するための標準大容量記憶アクセス機構を通して、アクセス可能な大容量記憶装置として前記ホストコンピュータに提供され、
前記通信インターフェースを通して前記ホストコンピュータから前記入力ファイルを受け取り、
秘密署名鍵によりパラメーター化されるデジタル署名アルゴリズムを前記入力ファイルに適用することにより、前記入力ファイルに対して前記デジタル署名を生成し、
前記入力ファイルに前記デジタル署名を有する出力ファイルを前記通信インターフェースを通して前記ホストコンピュータに返信するように構成されており、
前記方法は、
前記ホストコンピュータにおいて前記装置と接続する工程と、
前記ホストコンピュータにおいて、前記入力ファイルを前記通信インターフェースを通して前記装置へ送信する工程であって、該工程は、前記標準大容量記憶アクセス機構によるファイル保存方法を用いて前記装置により提供される前記大容量記憶装置に入力ファイルを保存することにより行われるものである、前記送信する工程と、
前記ホストコンピュータにおいて、前記標準大容量記憶アクセス機構によるファイル読み出し方法を用いて出力ファイルを読み出すことにより、前記通信インターフェースを通して前記出力ファイルを前記装置から取得する工程と、
前記出力ファイルから前記デジタル署名を取り出す工程と
を有するものである、方法。
【請求項２６】
請求項２５記載の方法において、前記通信インターフェースはユニバーサルシリアルバス（ＵＳＢ）インターフェースを有し、前記装置は、更に、前記ホストコンピュータに接続されると、ＵＳＢ大容量記憶装置クラスのＵＳＢ装置として前記ホストコンピュータに提供されるように構成されているものである、方法。
【請求項２７】
電子入力ファイルにデジタル署名を生成するシステムであって、
前記システムは、
ソフトウェアアプリケーションを実行するデータ処理コンポーネントと、
少なくとも１つの外部周辺装置を前記ホストコンピュータに着脱自在に接続する接続機構と
を有するホストコンピュータを有し、
前記ホストコンピュータは、
所定の大容量記憶装置クラスをサポートし、
前記接続機構を通して前記ホストコンピュータに接続される装置が前記ホストコンピュータに接続されている時に前記大容量記憶装置クラスに属していることを通知した場合、該装置を前記大容量記憶装置クラスに属するものとして認識し、
前記接続機構を通して前記ホストコンピュータに接続され、前記ホストコンピュータによって前記大容量記憶装置クラスに属していると認識された大容量記憶装置にファイルを読み出し／保存するための標準大容量記憶アクセス機構をサポートし、
前記標準大容量記憶アクセス機構により前記大容量記憶装置にファイルを読み出すための第一の方法および前記標準大容量記憶アクセス機構により前記大容量記憶装置にファイルを保存するための第二の方法を提供するように構成されており、
前記システムは、更に、署名装置を有しており、前記署名装置は、前記接続機構により前記署名装置を前記ホストコンピュータにローカル接続するための通信インターフェースを有しており、
前記署名装置は、
前記ホストコンピュータに接続されると、前記大容量記憶装置クラスに属するものとして前記ホストコンピュータに提供され、
前記通信インターフェースを通して前記入力ファイルを前記ホストコンピュータから受け取り、
秘密署名鍵によりパラメーター化されるデジタル署名アルゴリズムを前記入力ファイルに適用することにより、前記入力ファイルに対して前記デジタル署名を生成し、
前記入力ファイルに前記デジタル署名を有する前記出力ファイルを前記通信インターフェースを通して前記ホストコンピュータに返信するように構成されており、
前記署名装置は、前記通信インターフェースおよび前記接続機構を通して前記ホストコンピュータに接続されており、
前記ホストコンピュータは署名アプリケーションを実行し、
前記署名アプリケーションは、
前記通信インターフェースを通して前記入力ファイルを前記署名装置に送信するように構成されており、該送信は前記標準大容量記憶アクセス機構によるファイル保存のための第二の方法を用いて前記署名装置に前記入力ファイルを保存することにより行われるものであり、
前記ホストコンピュータにおいて、前記標準大容量記憶アクセス機構の前記第一の方法を用いて前記出力ファイルを読み出すことにより、前記通信インターフェースを通して前記署名装置から前記出力ファイルを取得するように構成されているものである、
システム。
【請求項２８】
請求項２７記載のシステムにおいて、前記通信インターフェースはユニバーサルシリアルバス（ＵＳＢ）インターフェースを有し、前記署名装置は、更に、前記署名装置が前記ホストコンピュータに接続されると、ＵＳＢ大容量記憶装置クラスのＵＳＢ装置として前記ホストコンピュータに提供されるように構成されているものである、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照によりその全体が本明細書に援用されている２０１３年１２月３１日出願の米国仮出願番号６１／９２２，１２８「電子署名方法、システムおよび装置」の優先権を主張する。
【０００２】
本発明は、コンピュータおよびアプリケーションへのリモートアクセス並びにコンピュータネットワークを通した遠隔取引の安全性に関している。
【背景技術】
【０００３】
コンピュータシステムおよびアプリケーションのリモートアクセスが人気を高めるに伴い、インターネットなどの公的ネットワークを通して遠隔的にアクセスする種々の取引の数が劇的に増加している。この人気は安全性の必要性を示している。特に、アプリケーションに遠隔的にアクセスしている人がその本人であるのを確認する方法、遠隔的に行われている取引が合法的な個人により開始されているのを確認する方法、取引データがアプリケーションサーバーで受信する前に変更されていないのを確認する方法、並びに取引を一旦行った個人がそれを否認できる立場にいないことを保証する方法である。
【０００４】
従来、アプリケーションプロバイダーは、遠隔アプリケーションの安全性を提供するのに静的パスワードに依存してきた。最近、静的パスワードは十分ではなく更に進化したセキュリティ技術が必要であるのが明白となっている。
【０００５】
１つの解決法は、公開／秘密鍵ペアの秘密鍵によってパラメーター化される非対称デジタル署名アルゴリズムを用いて、電子ファイル（例えば電子文書）などのデータをデジタル的に署名することである。これは例えば公開鍵基盤（ＰＫＩ）を用いて行われる。公開鍵基盤においては、公開／秘密鍵ペアが各ユーザーに関連付けられる。鍵ペアは、公開／秘密鍵ペアを特定のユーザーに結び付ける（信頼の置ける認証機関により発行される）証明書と関連付けられる。この公開／秘密鍵ペアは、非対称暗号化を用いることにより、以下の用途に使用できる：ユーザーの認証；取引、文書、電子メール（否認を防止するため）の署名；暗号化された通信チャネルの設定；および受信者の公開鍵を用いた、送信者により暗号化されたメッセージまたは文書の復号。
【０００６】
多くの場合、ユーザーは、汎用コンピュータ装置（例えばパソコンなど）を用いたアプリケーションに対応する。アプリケーションへの対応のある時点で、ユーザーは、該ユーザーに関連付けられている秘密鍵を用いて電子ファイルに電子的に署名するように要求される場合がある。
【０００７】
セキュリティ目的のため、ユーザーの秘密鍵は、ユーザーの秘密鍵を確実に記憶するように構成されている別個の鍵記憶装置に記憶される場合が多い。ほとんどの場合、鍵記憶装置は、記憶された秘密鍵を用いて非対称暗号化アルゴリズムに従い暗号計算を実行するようにも構成されている。斯かる鍵記憶装置の例には、ＰＫＩスマートカードおよびＰＫＩ  ＵＳＢ（ユニバーサルシリアルバス）トークンが含まれる。ユーザーの汎用コンピュータは、通常、スマートカードリーダーを用いてスマートカードに対応する。ほとんどの場合、斯かるスマートカードリーダーは、ＵＳＢインターフェースを用いて汎用コンピュータに接続されなければならない。ＰＫＩ  ＵＳＢトークンは、ＵＳＢスマートカードリーダーの機能とＰＫＩスマートカードを単一のドングル様装置で組み合わせる場合が多い。
【０００８】
ほとんどの場合、アプリケーションは、例えばＭＳ−ＣＡＰＩ（マイクロソフト暗号ＡＰＩ）またはＰＫＣＳ＃１１（公開鍵暗号化標準１１）等の標準の暗号ＡＰＩ（アプリケーション・プログラミング・インターフェース）を通して、アプリケーションに高レベルの暗号化サービス（電子ファイルの署名または復号等）を提供する暗号ライブラリとインターフェースで接続されるが、該暗号ライブラリは、ユーザーに関連付けられた秘密鍵を保持するユーザーのスマートカードと一連のコマンドおよび応答を交換し、高レベルのアプリケーション要求を翻訳する。
【０００９】
しかし、この解決法には多くの問題がある。この解決法が機能するには、ユーザーが使用するＰＣは斯かる暗号ライブラリを有していなければならないが、多くのＰＣ（パソコン）はデフォルトとして斯かる暗号ライブラリを有しておらず、従って、これはユーザーが暗号ライブラリをインストールしなければならないことを意味する。加えて、実際には、スマートカードと暗号ライブラリの間のインターフェースは標準化されておらず、従って、ユーザーは該ユーザーの特定のスマートカードに適合性のある特定の暗号ライブラリをインストールしなければならないことをこれは意味する。更に、ほとんどのＰＣはＵＳＢをサポートするがデフォルトではＵＳＢスマートカードリーダーはサポートしないので、ユーザーは、該ユーザーがたまたま入手したスマートカードリーダーと適合性のあるスマートカードリーダー用ＵＳＢドライバもインストールしなければならない。実際には、斯かるインストール要件により、多くのユーザーが複雑すぎると感じるか、あるいはインストール失敗に終わり信頼できないまたは機能しないシステムとなってしまう場合が多い。
【００１０】
ユーザーの秘密鍵を用いて電子ファイルに署名でき、該ユーザーの汎用コンピュータ装置上に特定のハードウェアおよびソフトウェアをインストールする必要のない解決法が求められている。
【発明の概要】
【課題を解決するための手段】
【００１１】
本発明は、多くのＰＣがデフォルトではＵＳＢスマートカードリーダーをサポートしないが、ほとんど間違いなくＵＳＢ大容量記憶装置クラスはサポートするという本発明者達の洞察力に基づいている。
【００１２】
本発明の一観点は装置を提供しており、前記装置は、ホストコンピュータに前記装置をローカル接続する通信インターフェースと、暗号秘密鍵と第一の入力データとを暗号化して組み合わせることにより生成された暗号処理結果を提供するように構成されたデータ処理コンポーネントとを有し、前記装置は、前記通信インターフェースによって前記ホストコンピュータに接続されると、前記ホストコンピュータ上のアプリケーションがファイル交換用の標準大容量記憶アクセス機構を通して、アクセス可能な大容量記憶装置として前記ホストコンピュータに提供されるように構成されてもよく、前記通信インターフェースは出力ファイルを前記通信インターフェースを通して前記ホストコンピュータに返信するように構成されていてもよく、前記出力ファイルは暗号処理結果を有していてもよく、前記ホストコンピュータは、前記標準大容量記憶アクセス機構のファイルを読み出す機構によって前記通信インターフェースを通して前記装置から前記出力ファイルを読み出すことにより、前記出力ファイルを取得してもよい。
【００１３】
いくつかの実施形態では、前記通信インターフェースはＵＳＢインターフェースを有していてもよく、前記装置は、更に、前記ホストコンピュータに接続されると、ＵＳＢ大容量記憶装置クラスのＵＳＢ装置として前記ホストコンピュータに提供されるように構成されていてもよい。
【００１４】
いくつかの実施形態では、前記装置は上述の実施形態のいずれかの装置であってよく、更に、暗号秘密鍵を記憶するように構成されたメモリーコンポーネントを有し、前記データ処理コンポーネントは前記暗号秘密鍵を用いて暗号計算を実行するように構成されており、前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程は、前記データ処理コンポーネントが前記暗号計算を実行する工程を有してもよい。
【００１５】
いくつかの実施形態では、前記装置は上述の実施形態のいずれかの装置であってよく、更に、着脱自在な外部鍵記憶装置とコマンドおよび応答を受信および交換する第二の通信インターフェースを有し、前記鍵記憶装置は前記暗号秘密鍵を記憶するように構成された鍵記憶装置メモリーコンポーネントと、前記暗号秘密鍵を用いて暗号計算を実行するように構成された鍵記憶装置データ処理コンポーネントとを有し、前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる前記工程は、前記鍵記憶装置データ処理コンポーネントが前記秘密鍵を用いて前記暗号計算を実行する工程を有してもよい。
【００１６】
いくつかの実施形態では、前記第二の通信インターフェースはＩＳＯ／ＩＥＣ（国際標準化機構／国際電気標準会議）７８１６標準セット（特にＩＳＯ／ＩＥＣ７８１６−２およびＩＳＯ／ＩＥＣ７８１６−３）に対応するスマートカードインターフェースを有してもよく、前記コマンドおよび応答はスマートカードコマンドおよび応答、例えばスマートカードＡＰＤＵｓ（応用プロトコールデータ単位）を有し、前記鍵記憶装置は非対称暗号化を実行可能なＰＫＩ（公開鍵基盤）等のスマートカードであってもよい。いくつかの実施形態では、前記第二の通信インターフェースは、ＩＳＯ／ＩＥＣ７８１０ＩＤ−１フォーマットのスマートカードを収納するための外的にアクセス可能なスマートカードスロットを有してもよく、鍵記憶装置はＩＳＯ／ＩＥＣ７８１６に対応するＩＳＯ／ＩＥＣ７８１０ＩＤ−１フォーマットのスマートカードであってもよい。いくつかの実施形態では、スマートカードはＩＳＯ／ＩＥＣ７８１６−１５標準に対応してもよい。
【００１７】
いくつかの実施形態では、前記装置は上述の実施形態のいずれかの装置であってよく、更に、前記装置のユーザーが承認を示すためのユーザー入力インターフェースを更に有し、前記装置は、ユーザーによる前記承認を前記ユーザー入力インターフェースによって取得するように構成されており、前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程、または前記暗号化して組み合わせる工程の結果を含む少なくとも１つの出力ファイルを返信する工程のうち少なくとも１つは、前記装置による前記承認の取得に依存して条件付きで行われてもよい。
【００１８】
いくつかの実施形態では、前記装置は上述の実施形態のいずれかの装置であってよく、前記暗号秘密鍵はアプリケーションと共有される対称秘密鍵を有してもよく、前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程は、前記対称秘密鍵でパラメーター化された対称暗号アルゴリズムを前記第一の入力データに実行する工程を有してもよい。いくつかの実施形態では、前記対称暗号アルゴリズムはＡＥＳ（高度暗号標準）等の対称暗号または復号アルゴリズムを有してもよい。いくつかの実施形態では、前記対称暗号アルゴリズムはＨＭＡＣ（ハッシュベースのメッセージ認証符号）等の鍵付きハッシュアルゴリズムを有してもよい。
【００１９】
いくつかの実施形態では、前記装置は上述の実施形態のいずれかの装置であってよく、前記暗号秘密鍵は非対称公開／私有鍵ペアの秘密私有鍵を有し、前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程は、前記秘密私有鍵でパラメーター化された、例えばＲＳＡ（リベスト−シャミア−エーデルマン）等の非対称暗号アルゴリズムを前記第一の入力データに実行する工程を含む。
【００２０】
いくつかの実施形態では、前記装置は、更に、公開／私有鍵ペアの公開鍵を有する公開鍵ファイルが前記ホストコンピュータに利用可能となるように構成されていてもよく、前記ホストコンピュータは、ファイルを読み出すための前記機構を用い、前記通信インターフェースを通して前記装置から前記公開鍵ファイルを読み出すことにより、前記公開鍵ファイルを取得する。いくつかの実施形態では、公開鍵ファイルは出力ファイルと同じであってもよい。他の実施形態では、公開鍵ファイルは出力ファイル以外のファイルであってもよい。いくつかの実施形態では、公開鍵ファイルは、例えばＰＫＣＳ＃１によるフォーマット等の標準フォーマットで公開鍵を含む。
【００２１】
いくつかの実施形態では、更に、前記公開／私有鍵ペアに関連付けられた１若しくはそれ以上の認証を有する認証ファイルが前記ホストコンピュータに利用可能となるように構成されており、前記ホストコンピュータは、ファイルを読み出すための前記機構を用い、前記通信インターフェースを通して前記装置から前記認証ファイルを読み出すことにより、前記認証ファイルを取得する。認証は、認証機関が作成したものであってもよい。いくつかの実施形態では、認証ファイルは認証チェーンを有していてもよい。いくつかの実施形態では、装置は２若しくはそれ以上の認証を有する２若しくはそれ以上の認証ファイルを有していてもよい。いくつかの実施形態では、認証ファイルは出力ファイルまたは公開鍵ファイルと同じであってもよい。他の実施形態では、認証は出力ファイルや公開鍵ファイルとは異なるファイルであってもよい。いくつかの実施形態では、認証ファイルは、例えばＸ．５０９標準に記載されているような標準化されたフォーマットで認証を有していてもよい。
【００２２】
いくつかの実施形態では、前記装置は上述の実施形態のいずれかの装置であってよく、更に、ワンタイムパスワードを生成するように構成されており、該ワンタイムパスワードは、前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程の前記結果に含まれており、前記第一の入力データは動的変数を有している。
【００２３】
いくつかの実施形態では、更に、前記装置はクロックを有しており、前記動的変数は前記クロックが提供する時間値に基づいている。
【００２４】
いくつかの実施形態では、前記装置は、更に、第二の変数を記憶し、前記動的変数の値を前記記憶した第二の変数の関数として決定し、第二の変数の値が前記組み合わせに使用されている場合には、第二の変数の値を更新し記憶するように構成されていてもよい。いくつかの実施形態では、前記装置は記憶コンポーネントを更に有していてもよく、前記第二の変数を前記記憶コンポーネントに記憶し、前記動的変数の値を前記記憶した第二の変数の関数として決定し、第二の変数の値が前記組み合わせ、例えばワンタイムパスワードの生成に使用されている場合には、第二の変数の値を更新し記憶するように更に構成されていてもよい。いくつかの実施形態では、前記第二の変数はカウンターを有していてもよく、前記第二の変数の更新は前記カウンターの値を単調に増加（または増大）させる、または単調に縮小（または減少）させる工程を有してもよい。例えば、いくつかの実施形態では、動的変数は、前記装置がそのメモリーに記憶するカウンター、そして前記装置がワンタイムパスワードを生成する毎に１つずつ増大（または減少）するカウンターであってもよい。
【００２５】
いくつかの実施形態では、前記装置は、ホストコンピュータからワンタイムパスワードを含む出力ファイルを読み出すようにという要求を受け取った後にワンタイムパスワード（ＯＴＰ）を生成するように構成されていてもよく、ワンタイムパスワードの生成後そのようにして生成されたワンタイムパスワードを含む出力ファイルを生成し、その生成した出力ファイルをホストコンピュータに返信してもよい。他の実施形態では、前記装置は、ワンタイムパスワードの現在値を持続性メモリーに記憶するように構成されていてもよく、ホストコンピュータからワンタイムパスワードを含む出力ファイルを読み出すようにという第二の変数の要求を受け取ると、記憶したワンタイムパスワードを含む出力ファイルを生成し、その記憶したワンタイムパスワードを含む出力ファイルをホストコンピュータに返し、それから（すなわち出力ファイルを返信した後）、出力ファイルを読み出すようにという次の要求をホストコンピュータから受け取る前に、ワンタイムパスワード用の新しい値を生成し、その新しく生成した値で、記憶しているワンタイムパスワードの値を更新してもよい。すなわち、いくつかの実施形態では、前記装置は、ワンタイムパスワードを含む出力ファイルを読み出すようにという要求を受け取る時点と、ワンタイムパスワードを含む出力ファイルを返信する時点との間に、ワンタイムパスワードを生成してもよいし、他の実施形態では、ワンタイムパスワードの前値を含む出力ファイルを返信した後、そして新しく生成したワンタイムパスワードを含む出力ファイルを読み出すようにという要求を受け取る前に、新しいワンタイムパスワードを生成してもよい。
【００２６】
いくつかの実施形態では、前記装置は上述の実施形態のいずれかの装置であってよく、更に、入力ファイルの少なくとも一部の内容についてデジタル署名を生成するように構成されていてもよく、前記通信インターフェースは、更に、前記入力ファイルを前記ホストコンピュータから受け取るように構成されていてもよく、前記ホストコンピュータは入力ファイルを前記通信インターフェースを通して前記装置へ送信し、該送信は、前記標準大容量記憶アクセス機構のファイルを保存する機構を通して前記装置により提供される大容量記憶装置へ入力ファイルを保存することにより行われるものであり、前記第一の入力データは、前記入力ファイルの前記少なくとも一部の内容を示す値に基づいていてもよく、前記デジタル署名は、前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程の結果に含まれていてもよい。いくつかの実施形態では、前記入力ファイルの前記少なくとも一部の内容は全入力ファイルを有している、すなわちいくつかの実施形態では、前記装置は全入力ファイルに対して署名を生成するように構成されていてもよい。いくつかの実施形態では、デジタル署名は、対称暗号アルゴリズムを用いて前記装置が生成するＭＡＣ（メッセージ認証符号）であってもよい。いくつかの実施形態では、前記暗号秘密鍵は公開／私有鍵ペアの私有鍵を有していてもよく、前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる前記工程は、前記装置が、入力ファイルの少なくとも一部の内容のハッシュを生成し、このハッシュを前記私有鍵でパラメーター化した非対称暗号アルゴリズムで処理してもよい。いくつかの実施形態では、前記私有鍵は着脱自在な外部鍵記憶装置に記憶してもよく、前記装置は、前記私有鍵に関係する暗号操作（例えば前記私有鍵でパラメーター化した非対称暗号アルゴリズムによる前記ハッシュの処理）を着脱自在な外部鍵記憶装置に代行させてもよい。
【００２７】
いくつかの実施形態では、前記装置は、更に、出力を前記装置のユーザーに提供するユーザー出力インターフェースと、前記ユーザーからの入力を取り込むユーザー入力インターフェースを有してもよい。前記装置は、前記入力ファイルに関する複数の可能なファイルタイプフォーマットのうち少なくとも１つのフォーマットを認識し、前記入力ファイルの前記少なくとも一部の内容を読み出し、前記ユーザー出力インターフェースにより前記少なくとも一部の内容を前記ユーザーへ提供し、前記ユーザー入力インターフェースにより前記ユーザーに提供される少なくとも一部の内容に関する前記ユーザーの承認または拒否のうち少なくとも１つを前記ユーザーから取得するように更に構成されてもよく、前記秘密鍵と前記第一のデータとを暗号化して組み合わせる工程、または前記暗号化して組み合わせる工程の結果を含む少なくとも１つの出力ファイルを返信する工程は、前記装置による前記承認の取得に依存して条件付きで行われる。ユーザー出力インターフェースは、例えばＬＣＤ（液晶ディスプレイ）等の表示装置を有してもよい。ユーザー入力インターフェースは、例えば承認を示すためのＯＫボタンおよび拒否を示すための取消ボタンを含むキーボードを有していてもよい。いくつかの実施形態では、入力ファイルは、例えば取引を表すデータを有していてもよく、前記装置は斯かるデータを承認を求めてユーザーに提示してもよい。ユーザーが提示されたデータを承認するならば、前記装置は斯かるデータに関して署名を生成する。ユーザーが提示されたデータを拒否するならば、前記装置は有効な署名の生成を拒否することになる。いくつかの実施形態では、入力ファイルはテキスト形式で署名されるデータを有し、そのテキストをユーザーに提示してもよい。例えば、いくつかの実施形態では、入力ファイルはＡＳＣＩＩ（情報交換用米国標準コード）ファイルを有していてもよい。
【００２８】
いくつかの実施形態では、前記装置は上述の実施形態のいずれかの装置であってよく、更に、入力ファイルの少なくとも一部の内容を暗号化または復号するように構成されていてもよく、前記通信インターフェースは、更に、前記入力ファイルを前記ホストコンピュータから受け取るように構成されていてもよく、前記ホストコンピュータは、前記標準大容量記憶アクセス機構のファイルを保存する機構を通して前記装置により提供される大容量記憶装置へ入力ファイルを保存することにより、前記入力ファイルを前記通信インターフェースを通して前記装置へ送信してもよく、前記第一の入力データは前記少なくとも一部の内容を有していてもよく、前記暗号秘密鍵と前記第一の入力データとを暗号化して組み合わせる工程は、前記暗号秘密鍵でパラメーター化される暗号アルゴリズムまたは復号アルゴリズムによって前記第一の入力データを暗号化または復号する工程を有していてもよい。いくつかの実施形態では、前記暗号または復号アルゴリズムは、例えばＡＥＳ等のような対称暗号または復号アルゴリズムを有していてもよい。いくつかの実施形態では、前記入力ファイルの前記少なくとも一部の内容は全入力ファイルを有している。いくつかの実施形態では、前記装置は、全入力ファイルを暗号化または復号するように構成されていてもよい。
【００２９】
いくつかの実施形態では、前記装置は上述の実施形態のいずれかの装置であってよく、更に、前記装置のユーザーがＰＩＮ値またはパスワード値のうち少なくとも１つを前記装置に提供するためのユーザー入力インターフェースを有していてもよく、前記装置は、更に、前記ＰＩＮ値または前記パスワード値のうち少なくとも１つを前記ユーザー入力インターフェースによって前記ユーザーから取得し、前記ＰＩＮ値または前記パスワード値のうち少なくとも１つが正しいか否かを検証するように構成されていてもよく、前記秘密鍵と前記第一のデータとを暗号化して組み合わせる工程、または前記暗号化して組み合わせる工程の結果を含む少なくとも１つの前記出力ファイルを返信する工程は、ユーザーにより提供される前記ＰＩＮ値または前記パスワード値のうち少なくとも１つが正しいことに依存して条件付きで行われる。いくつかの実施形態では、前記装置は、ユーザーにより入力されるＰＩＮまたはパスワードを検証するように構成されていてもよく、また前記装置は、ＰＩＮまたはパスワードが正しい場合にだけ、秘密鍵と第一のデータを暗号化して組み合わせ（例えばＯＴＰの生成、署名の生成、またはデータの復号あるいは暗号化）、その結果を返信するように構成されてもよい。いくつかの実施形態では、前記装置は参照値を記憶するように更に構成されていてもよく、前記取得されたＰＩＮ値または前記取得されたパスワード値のうち少なくとも１つを検証する前記工程は、前記取得されたＰＩＮ値または前記取得されたパスワード値のうち少なくとも１つを前記装置が前記参照値と比較する工程を有してもよい。
【００３０】
いくつかの実施形態では、前記装置は、ＰＩＮおよび／またはパスワードの検証を前記着脱自在な外部鍵記憶装置に代行させてもよい。いくつかの実施形態では、前記装置は、更に、着脱自在な外部装置とコマンドおよび応答を受信および交換するための第二の通信インターフェースを有してもよく、前記取得されたＰＩＮ値または前記取得されたパスワード値のうち少なくとも１つを検証する工程は、前記着脱自在な外部装置が検証する前記取得されたＰＩＮ値または前記取得されたパスワード値のうち少なくとも１つを示すＰＩＮを示す値またはパスワードを示す値のうち少なくとも１つを、前記装置が、前記第二の通信インターフェースを通して前記着脱自在な外部装置に通信する工程と、前記着脱自在な外部装置による前記代表値の検証結果を、前記装置が、前記着脱自在な外部装置から前記第二の通信インターフェースを通して受け取る工程とを有してもよい。
【００３１】
いくつかの実施形態では、前記装置は、上述の実施形態のいずれかの装置であってよく、更に、前記装置のユーザーの生体測定結果を取り込むための生体認証センサー（ｂｉｏｍｅｔｒｉｃ  ｓｅｎｓｏｒ）を有してもよく、前記生体測定結果を前記生体認証センサーによって前記ユーザーから取得し、前記生体測定結果が正しいか否かを検証するように構成されていてもよく、前記秘密鍵と前記第一のデータとを暗号化して組み合わせる工程、または前記暗号化して組み合わせる工程の結果を含む少なくとも１つの前記出力ファイルを返信する工程は、前記取得された生体測定結果が正しいことに依存して条件付きで行われる。いくつかの実施形態では、前記生体認証センサーは、例えば指紋センサーを有していてもよく、前記生体測定結果は、ユーザーの指紋データを有していてもよい。いくつかの実施形態では、前記装置は、ユーザーの生体測定結果を検証するように構成されていてもよく、また、生体測定結果が前記装置によって認定された場合にだけ、秘密鍵と第一のデータを暗号化して組み合わせ（例えばＯＴＰの生成、署名の生成、またはデータの復号あるいは暗号化）、その結果を返信するように構成されていてもよい。いくつかの実施形態では、前記装置は、生体認証参照データを記憶するように更に構成されていてもよく、前記取得された生体測定結果を検証する工程は、前記装置が、前記取得された生体測定結果を前記生体認証参照データと比較する工程を有してもよい。
【００３２】
いくつかの実施形態では、前記装置は、生体測定結果の検証を前記着脱自在な外部鍵記憶装置に代行させてもよい。いくつかの実施形態では、前記装置は、更に、着脱自在な外部装置とコマンドおよび応答を受信および交換するための第二の通信インターフェースを有してもよく、前記取得された生体測定結果を検証する工程は、前記装置が、前記生体測定結果を前記第二の通信インターフェースを通して前記着脱自在な外部装置に通信する工程と、前記着脱自在な外部装置による前記生体測定結果の検証結果を、前記装置が、前記着脱自在な外部装置から前記第二の通信インターフェースを通して受け取る工程とを含む。
【００３３】
本発明の別の態様は、電子入力ファイルにデジタル署名を生成する方法を提供する。いくつかの実施形態では、該方法は、上述の実施形態のいずれかの装置で使用されてもよい。いくつかの実施形態では、該方法は、ホストコンピュータにローカル接続される通信インターフェースを有する装置で使用されてもよく、前記装置は、前記ホストコンピュータに接続されると、前記ホストコンピュータ上のアプリケーションがファイル読み出し／保存用の標準大容量記憶アクセス機構を通して、アクセス可能な大容量記憶装置として前記ホストコンピュータに提供されるように構成されてもよく、前記通信インターフェースを通して前記ホストコンピュータから前記入力ファイルを受け取るように構成されてもよく、秘密署名鍵によりパラメーター化されるデジタル署名アルゴリズムを前記入力ファイルに適用することにより、前記入力ファイルに対して前記デジタル署名を生成するように構成されてもよく、前記入力ファイルに前記デジタル署名を有する出力ファイルを前記通信インターフェースを通して前記ホストコンピュータに返信するように構成されてもよい。いくつかの実施形態では、該方法は、前記ホストコンピュータにおいて前記装置と接続する工程と、前記ホストコンピュータにおいて、前記入力ファイルを前記通信インターフェースを通して前記装置へ送信する工程であって、該工程は、前記標準大容量記憶アクセス機構のファイルを保存する方法を用いて前記装置により提供される前記大容量記憶装置へ入力ファイルを保存することにより行われるものである、前記送信する工程と、前記ホストコンピュータにおいて、前記標準大容量記憶アクセス機構によるファイル読み出し方法を用いて出力ファイルを読み出すことにより、前記通信インターフェースを通して前記出力ファイルを前記装置から取得する工程と、前記出力ファイルから前記デジタル署名を取り出す工程とを有してもよい。
【００３４】
いくつかの実施形態では、前記通信インターフェースはＵＳＢインターフェースを有しており、前記装置は、更に、前記ホストコンピュータに接続されると、ＵＳＢ大容量記憶装置クラスのＵＳＢ装置として前記ホストコンピュータに提供されるように構成される。
【００３５】
本発明の更に別の態様は、電子入力ファイルにデジタル署名を生成するシステムを提供する。いくつかの実施形態では、該システムは上述の実施形態のいずれかの装置を有してもよい。いくつかの実施形態では、該システムは、上述の方法のいずれかのいくつかの工程または全ての工程を実行するように構成された１若しくはそれ以上のコンポーネントを有していてもよい。いくつかの実施形態では、前記システムは、ソフトウェアアプリケーションを実行するデータ処理コンポーネントと、少なくとも１つの外部周辺装置を前記ホストコンピュータに着脱自在に接続する接続機構とを有するホストコンピュータを有していてもよく、前記ホストコンピュータは、大容量記憶装置クラスをサポートするように構成されていてもよく、前記接続機構を通して前記ホストコンピュータに接続された装置が前記ホストコンピュータに接続されている時に前記大容量記憶装置クラスに属していること通知した場合、該装置を前記大容量記憶装置クラスに属するものとして認識するように構成されていてもよく、前記接続機構を通して前記ホストコンピュータに接続され、前記ホストコンピュータによって前記大容量記憶装置クラスに属していると認識された大容量記憶装置にファイルを読み出し／保存するための標準大容量記憶アクセス機構をサポートするように構成されていてもよく、前記標準大容量記憶アクセス機構により前記大容量記憶装置にファイルを読み出すための第一の方法および前記標準大容量記憶アクセス機構により前記大容量記憶装置にファイルを保存するための第二の方法を提供するように構成されていてもよく、前記システムは、更に、署名装置を有していてもよく、前記署名装置は、前記接続機構により前記署名装置を前記ホストコンピュータにローカル接続するための通信インターフェースを有していてもよく、前記署名装置は、前記ホストコンピュータに接続されると、前記大容量記憶装置クラスに属するものとして前記ホストコンピュータに提供されるように構成されていてもよく、前記入力ファイルを前記通信インターフェースを通して前記ホストコンピュータから受け取るように構成されていてもよく、秘密署名鍵によりパラメーター化されるデジタル署名アルゴリズムを前記入力ファイルに適用することにより、前記入力ファイルに対して前記デジタル署名を生成するように構成されていてもよく、前記入力ファイルに前記デジタル署名を有する前記出力ファイルを前記通信インターフェースを通して前記ホストコンピュータに返信するように構成されていてもよく、前記署名装置は、前記通信インターフェースおよび前記接続機構を通して前記ホストコンピュータに接続されていてもよく、前記ホストコンピュータは署名アプリケーションを実行し、前記署名アプリケーションは、前記通信インターフェースを通して前記入力ファイルを前記署名装置に送信するように構成されており、該送信は、前記標準大容量記憶アクセス機構によるファイル保存のための第二の方法を用いて前記署名装置に前記入力ファイルを保存することにより行われ、前記ホストコンピュータにおいて、前記標準大容量記憶アクセス機構の前記第一の方法を用いて前記出力ファイルを読み出すことにより、前記通信インターフェースを通して前記署名装置から前記出力ファイルを取得するように構成されている。
【００３６】
いくつかの実施形態では、前記接続機構は、少なくとも１つの外部周辺装置をホストコンピュータに着脱自在に接続するためのホストコネクタまたはポート（ＵＳＢポート等）と、前記ホストコネクタを対象とするドライバソフトウェアとを有していてもよい。
【００３７】
いくつかの実施形態では、前記通信インターフェースはＵＳＢインターフェースを有していてもよく、前記署名装置は、更に、前記署名装置が前記ホストコンピュータに接続されると、ＵＳＢ大容量記憶装置クラスのＵＳＢ装置として前記ホストコンピュータに提供されるように更に構成されていてもよい。
【００３８】
いくつかの実施形態では、前記ホストコンピュータは、例えばラップトップまたはＰＣ（パソコン）を有してもよい。いくつかの実施形態では、ホストコンピュータで実行されるアプリケーションは、ホストコンピュータのユーザーがリモートアクセス可能なコンピュータベースのアプリケーションに遠隔的にアクセスおよび／またはインタラクションできるクライアントアプリケーションを有してもよい。例えば、いくつかの実施形態では、ホストコンピュータで実行されるアプリケーションはウェブブラウザを有してもよく、その場合、ユーザーは、該ウェブブラウザを用いて、遠隔ウェブサーバー（インターネット等のコンピュータネットワークを通してホストコンピュータに接続可能）で実行されるウェブベースのアプリケーションとインタラクションできる。該アプリケーションは、署名対象の何らかのデータ（例えば契約書）を整理し、入力ファイルをユーザーに提供してもよい。ユーザーは、自分の署名装置をホストコンピュータ（例えばホストコンピュータのＵＳＢポート）に接続し、その場合、該署名装置は、大容量記憶装置（例えばＵＳＢ大容量記憶装置）としてホストコンピュータに提供されてもよい。ユーザーはファイルをダウンロードし、署名対象のデータを含む入力ファイルを（大容量記憶装置としてホストコンピュータに示される）署名装置の、例えば「署名対象のファイル」と呼ばれるディレクトリに保存してもよい。署名装置は入力ファイルに署名し、署名を含む出力ファイルを作成することにより、署名検索の準備完了という信号を送ってもよく（その場合、該出力ファイルは入力ファイルと同じ名称を有してもよいし、固定名（例えば「ｓｉｇｎａｔｕｒｅ＿ｆｉｌｅ」）を有してもよいし、あるいは入力ファイル名の別のバージョンであってもよい）、出力ファイルを特定の場所、例えば「署名」と呼ばれるディレクトリで入手可能としてもよく、その場合、ユーザーは、その出力ファイルを読み出し、該アプリケーションにアップロードするように指示してもよい。いくつかの実施形態では、入力ファイルはテキストファイルであってもよく、署名装置は、入力ファイルの内容に署名する前に、入力ファイルに含まれるテキストをユーザーのために署名装置の表示装置に提示してもよい。ユーザーは提示されたテキストを検討し、署名装置のキーパッド上のＯＫ（または取消）ボタンを押すことにより、提示されたテキストを承認（または拒否）してもよい。ユーザーが提示されたテキストを承認した後、署名装置が入力ファイルに署名してもよい。
【００３９】
別の例では、ユーザーは、該ユーザーの認証を要求しているアプリケーションとインタラクションするため、クライアントアプリケーションを使用してもよい。クライアントアプリケーションは、（出力ファイルを読むようにという要求を受け取ったら装置が直ちに発行する）ワンタイムパスワードを含む出力ファイル（例えば「クリデンシャル／ワンタイムパスワード」等の固定名および場所を有していてもよい）を読み出すことにより、ワンタイムパスワードを取得してもよい。次に、該アプリケーションは、出力ファイルからワンタイムパスワードを取り出してもよい。いくつかの実施形態では、該装置は、ユーザーに関連付けられた公開／私有鍵ペアの私有鍵によってパラメーター化されていてもよい非対称デジタル署名アルゴリズムを用いて、ワンタイムパスワードの生成またはファイルの署名を行ってもよい。いくつかの実施形態では、該アプリケーションは、公開鍵および／または証明書を含む他の特定のファイル（例えば「クリデンシャル／公開鍵」または「クリデンシャル／証明書」）を読み出すことにより、（署名またはワンタイムパスワードを検証するために）私有鍵に対応する公開鍵および／または公開鍵の証明書を取得してもよい。他の実施形態では、公開鍵および／または証明書は、署名またはワンタイムパスワードと同じ出力ファイルに符号化されていてもよい。
【００４０】
いくつかの実施形態では、本発明の態様に従う装置は第一の通信インターフェースを有する署名装置から成り、またはそれを有し、その場合、第一の通信インターフェースは、例えばＰＣ（パソコン）またはラップトップ等の汎用コンピュータ装置を有していてもよいホストコンピュータに該装置をローカル接続させるものである。いくつかの実施形態では、通信インターフェースはＵＳＢインターフェースを有していてもよい。いくつかの実施形態では、署名装置は、ＵＳＢ大容量記憶装置クラスであることをホストコンピュータに自ら通知する。
【００４１】
いくつかの実施形態では、署名装置は、ＵＳＢインターフェースを通して該署名装置が接続されているホストコンピュータから入力ファイルを受け取るように構成されていてもよく、その場合、ホストコンピュータは、ＵＳＢ大容量記憶装置クラスの装置へファイルを保存するための標準インターフェースを通して、署名装置がホストコンピュータに提供する大容量記憶装置へ入力ファイルを保存することにより、入力ファイルを署名装置に渡してもよい。次に、署名装置は、ユーザーに関連付けられた公開／私有鍵ペアの私有鍵を用いて、受け取った入力ファイルを暗号処理してもよい。署名装置は、入力ファイルの暗号処理結果（例えば署名、復号ファイルまたはワンタイムパスワード）を出力ファイルに記憶させてもよい。ホストコンピュータのアプリケーションは、ＵＳＢ大容量記憶装置クラスの装置からファイルを読み出すための標準インターフェースを通して、署名装置がホストコンピュータに提供する大容量記憶装置から出力ファイルを読み出すことにより、該結果を取得してもよい。
【００４２】
いくつかの実施形態では、署名装置は、ユーザーに関連付けられた秘密署名鍵を確実に記憶してもよく、ファイルの署名または復号用の記憶されている秘密署名を用いて、暗号アルゴリズムに従い、暗号計算を行うように構成されていてもよい。いくつかの実施形態では、秘密署名鍵は、ユーザーに関連付けられた公開／私有鍵ペアの私有鍵を有していてもよく、暗号アルゴリズムは、例えばＲＳＡ（リベスト−シャミア−エーデルマン）または楕円曲線アルゴリズム等の非対称暗号アルゴリズムを有していてもよい。
【００４３】
スマートカード用のインターフェース装置
いくつかの実施形態では、署名装置は、ユーザーに関連付けられた私有鍵を記憶し該記憶した私有鍵を用いて非対称暗号アルゴリズムに従って暗号計算するように構成された着脱自在な外部鍵記憶装置を有していてもよい。いくつかの実施形態では、署名装置は、私有鍵に関係する（例えばファイルに署名するための、ファイルを復号するための、あるいはＯＴＰを生成するための）暗号計算の少なくともいくつかを鍵記憶装置に代行させてもよい。いくつかの実施形態では、第二通信インターフェースはスマートカードインターフェースを有していてもよく、鍵記憶装置はスマートカードを有していてもよい。いくつかの実施形態では、スマートカードはＩＳＯ７８１６適合可能なスマートカードであってもよく、第二の通信インターフェースはＩＳＯ７８１６適合可能であってもよい。いくつかの実施形態では、スマートカードはＰＫＩ有効スマートカードであってもよい。
【００４４】
暗号ライブラリ、スマートカードリーダーおよび／またはスマートカードドライバのエミュレーション
いくつかの実施形態では、署名装置は、暗号ライブラリ、ＵＳＢスマートカードリーダーおよびＵＳＢスマートカードドライバのうち１つ以上（３つ全部の組み合わせも含む）をエミュレートするように使用されてもよく、従って、これらの１つ以上がユーザーのホストコンピュータに存在する必要性またはそれらをインストールする必要性が省かれる。
【００４５】
例えば、いくつかの実施形態では、署名がユーザーに関連付けられた私有鍵で生成され例えば該ユーザーのスマートカードに確実に記憶される場合、電子文書等の電子ファイル上に署名を得たいアプリケーションは、処理を次のように行ってもよい。アプリケーションは、ユーザーに関連付けられた私有鍵によって署名される電子文書を得てそれを該ユーザーのスマートカードに記憶させる場合、ＰＫＣＳ＃１１またはＭＳ−ＣＡＰＩ等の標準の暗号ＡＰＩでインターフェースに接続される代わりに、標準インターフェースを用いて署名対象のファイルを署名装置へ転送し、該電子文書を含むファイルをＵＳＢ大容量記憶装置クラスの装置に保存してもよい。次に、署名装置は、署名を生成するための既存のスマートカードコマンドを用いてスマートカードとインタラクションすることにより、該電子文書上に署名を生成してもよい。例えば、署名装置は、署名装置にファイルを保存するための標準のＵＳＢ大容量記憶装置クラスインターフェースを通して、署名対象の電子文書を含む入力ファイルをホストコンピュータ上のアプリケーションから受け取ってもよい。次に、署名装置は、（例えばＳＨＡ−１等のハッシュアルゴリズムを用いて）受け取った電子文書のメッセージダイジェストを生成し、通常の既存のスマートカードコマンドを用いて該生成したメッセージダイジェストをスマートカードへ渡し、メッセージダイジェスト上に署名を生成するようにスマートカードに命令し、生成した署名をスマートカードから受け取ってもよい。次に、署名装置は、受け取った署名を出力ファイルに保存してもよく、アプリケーションは、署名装置からファイルを読み出すための標準のＵＳＢ大容量記憶装置クラスインターフェースを通して署名装置から出力ファイルを読み出すことにより、署名を含む該出力ファイルを取り出してもよい。
【００４６】
電子ファイルの署名
いくつかの実施形態では、署名装置を用いて、以下の方法で電子ファイルに署名してもよい。アプリケーションは、署名装置にファイルを保存するための標準のＵＳＢ大容量記憶装置クラスインターフェースを用いることにより、署名対象のファイル（入力ファイルとも呼ばれる）を署名装置へ転送してもよい。署名装置は、入力ファイルを受け取ると、ユーザーに関連付けられた私有鍵を用いて、受け取った入力ファイル上に署名を生成してもよい。署名装置は、署名を生成すると、該生成した署名を含む出力ファイルの読み出しを可能にしてもよい。アプリケーションは、以下により詳細に説明されるように、署名装置からファイルを読み出すための標準のＵＳＢ大容量記憶装置クラスインターフェースを用いて該署名ファイルまたは出力ファイルを読み出すことにより、該署名を取得してもよい。
【００４７】
いくつかの実施形態では、出力ファイルは標準の署名フォーマットである。いくつかの実施形態では、署名対象のオリジナルファイルと実際の署名の両方のデータを有している。いくつかの実施形態では、出力ファイルのフォーマットは入力ファイルのフォーマットで決定されてもよい。いくつかの実施形態では、署名装置は、入力ファイルを受け取ったら直ちに署名対象の入力ファイルを処理してもよい（すなわち全入力を記憶しなくてもよい）。例えば、いくつかの実施形態では、署名装置は、入力ファイル上に直ちにメッセージダイジェストを生成し、入力ファイルの最初の内容は、該メッセージダイジェストの生成に使用されたら廃棄し、それから該メッセージダイジェストを署名の生成に使用してもよい。
【００４８】
電子ファイルの復号
いくつかの実施形態では、署名装置を使用して、ユーザーに関連付けられた私有鍵対応の公開鍵によって暗号化された電子ファイルを復号してもよい。アプリケーションは、署名装置にファイルを保存するための標準のＵＳＢ大容量記憶装置クラスインターフェースを用いることにより、復号対象のファイル（これも入力ファイルと呼ばれる）を署名装置に転送してもよい。署名装置は、入力ファイルを受け取ったら、ユーザーに関連付けられた私有鍵を用いて受け取った入力ファイルを復号してもよい。署名装置は、入力ファイルの復号を行ったら、復号されたファイルを含む出力ファイルの読み出しを可能にしてもよい。以下により詳細に説明されるように、アプリケーションは、署名装置からファイルを読み出すための標準のＵＳＢ大容量記憶装置クラスインターフェースを用いてこの復号ファイルすなわち出力ファイルを読み出すことにより、署名を取得してもよい。
【００４９】
ワンタイムパスワードの生成
いくつかの実施形態では、署名装置はワンタイムパスワードを生成するのに使用してもよく、その場合、ユーザーの私有鍵が動的変数の署名に使用され、動的変数の値は、署名装置とワンタイムパスワード（ＯＴＰ）を検証する実体の両方にとって既知である（または既知とされる）。いくつかの実施形態では、ワンタイムパスワードは、動的変数上の署名を有していてもよい。いくつかの実施形態では、動的変数は、署名装置によって生成および／または維持される。例えば、いくつかの実施形態では、署名装置は時間値を生成するためのクロックを有していてもよく、その場合、署名装置は、時間ベースのＯＴＰを生成するための動的変数の値を決定するのにそのクロックを使用してもよい。いくつかの実施形態では、署名装置は、ある事象毎に更新される事象関連値をメモリーに記憶／維持してもよく、その場合、署名装置は、事象ベースのＯＴＰを生成するための動的変数の値を決定するのにその事象関連値を使用してもよい。例えば、いくつかの実施形態では、署名装置は、該署名装置がワンタイムパスワードを生成する毎に事象関連値を更新してもよい。いくつかの実施形態では、事象関連値はカウンターであってもよく、事象関連値の更新はカウンター値の増大を有してもよい。いくつかの実施形態では、事象関連値の更新は、署名装置が事象関連値の現在値を該署名装置が事象関連値の現在値から計算する新しい値によって置き換える工程を有してもよい。いくつかの実施形態では、署名装置は、例えば事象関連値の現在値にハッシュ関数を適用することにより、事象関連値の新しい値を計算してもよい。
【００５０】
署名装置は、ワンタイムパスワードを生成したら、そのワンタイムパスワードを含む出力ファイルの読み出しを可能にしてもよい。以下により詳細に説明されるように、アプリケーションは、署名装置からファイルを読み出すための標準のＵＳＢ大容量記憶装置クラスインターフェースを用いてこの署名ファイルすなわち出力ファイルを読み出すことにより、署名を取得してもよい。いくつかの実施形態では、署名装置によるワンタイムパスワードの生成は、ワンタイムパスワードでファイルを読み出すための標準のＵＳＢ大容量記憶装置クラスインターフェースを通した読み出し要求によりプロンプトされてもよい。いくつかの実施形態（例えば時間ベースのＯＴＰ）では、署名装置は、ワンタイムパスワード出力ファイルを読み出すようにと言うホストコンピュータからの要求を受け取ると、直ちにワンタイムパスワードを計算し、ワンタイムパスワード出力ファイルの内容を新しく生成されたＯＴＰで更新し、更新されたＯＴＰ出力ファイルをホストコンピュータに返信してもよい。いくつかの実施形態（例えば事象ベースのＯＴＰ）では、署名装置は新しいワンタイムパスワードを計算し、ホストコンピュータがＯＴＰ出力ファイルを読み取った後に、ＯＴＰ出力ファイルの内容を新しく計算されたＯＴＰ値で更新してもよい。
【００５１】
いくつかの実施形態では、ＯＴＰ出力ファイルは、ワンタイムパスワードの値に加えて、署名装置がＯＴＰの計算に使用した動的変数値を更に有してもよい。
【００５２】
いくつかの実施形態では、ＯＴＰ出力ファイルは目視可読フォーマットのＯＴＰ値を有していてもよい。いくつかの実施形態では、ＯＴＰ出力ファイルは例えばテキストファイルであってもよく、ＯＴＰは例えばＡＳＣＩＩフォーマットで符号化されていてもよい。いくつかの実施形態では、ユーザーはワンタイムパスワードを含む出力ファイルを、例えばホストコンピュータ上のファイルマネージャアプリケーションで開け、ＯＴＰを含む出力ファイルにテキストをコピーし、このコピーされたＯＴＰをアプリケーションに貼り付けてもよい。
【００５３】
入力ファイルの受け取り
いくつかの実施形態では、署名装置は、署名装置にファイルを保存するための標準のＵＳＢ大容量記憶装置クラスインターフェースを通して受け取る如何なるファイルでも署名または復号するように構成されている。いくつかの実施形態では、署名装置は、特定のフォーマットに適合するファイル名を有する如何なるファイルでも署名または復号するように構成されていてもよい。例えば、いくつかの実施形態では、署名装置は、署名装置にファイルを保存するための標準のＵＳＢ大容量記憶装置クラスインターフェースを通して受け取り特定のファイル名（例えば「ｉｎｐｕｔ＿ｆｉｌｅ＿ｔｏ＿ｂｅ＿ｓｉｇｎｅｄ」）を有している如何なるファイルでも署名するように構成されていてもよく、および／または特別な別のファイル名（例えば、ディレクトリ「ｉｎｐｕｔ＿ｆｉｌｅ＿ｔｏ＿ｂｅ＿ｄｅｃｒｙｐｔｅｄ」）を有する如何なるファイルでも同様に復号するように構成されていてもよい。いくつかの実施形態では、署名装置は、署名装置にファイルを保存するための標準のＵＳＢ大容量記憶装置クラスインターフェースを通して受け取り、特定のファイルパス有するまたは特定の場所（例えばディレクトリ「ｉｎｐｕｔ＿ｆｉｌｅｓ＿ｔｏ＿ｂｅ＿ｓｉｇｎｅｄ」）に保存されている如何なるファイルでも署名するように構成されていてもよく、および／または特別な別の場所（ディレクトリ「ｉｎｐｕｔ＿ｆｉｌｅｓ＿ｔｏ＿ｂｅ＿ｄｅｃｒｙｐｔｅｄ」）で受け取られる如何なるファイルでも同様に復号するように構成されていてもよい。
【００５４】
出力ファイルをホストコンピュータに提供
いくつかの実施形態では、出力ファイルは、（該当する場合、すなわち入力ファイルに関係する操作が実行される場合に）入力ファイルを正式に保存するための標準のＵＳＢ大容量記憶装置クラスインターフェースによって使用された名称および場所の下に、署名装置によって保存されてもよい。すなわち、署名装置は、（標準のＵＳＢ大容量記憶装置クラスインターフェースの命令に従って）入力ファイル自体を保存する代わりに、その名称およびその場所の下に出力ファイルを保存してもよい。これは例えばファイルの署名または復号の場合に該当する。いくつかの実施形態では、署名装置は、出力ファイルを固定場所（例えば「ｓｉｇｎａｔｕｒｅ＿ｆｉｌｅｓ」等の固定パスを有するディレクトリ）で入手できるようにしてもよく、出力ファイルの名称は例えば署名または復号された入力名と同じ名称であってもよい。いくつかの実施形態では、新しい出力ファイルが生成されると、最後に生成された出力ファイルは自動的に除去または上書きされる。いくつかの実施形態では、署名装置は、固定場所（例えば「出力＿ファイル」等の固定パスを有するディレクトリ）および固定名（例えば「ｏｎｅ＿ｔｉｍｅ＿ｐａｓｓｗｏｒｄ」）の下に出力ファイルを入手可能にしてもよい。
【００５５】
いくつかの実施形態では、署名装置は、複数のタイプの暗号操作、例えば、入力ファイルの内容の少なくとも一部の内容上に署名を生成する操作、ワンタイムパスワードを生成する操作、あるいは入力ファイルの内容の少なくとも一部の内容を暗号化または復号する操作を実行するように構成されてもよい。いくつかの実施形態では、実行されるべき操作は、入力ファイル名または入力ファイル名の構体系に指示されてもよい。いくつかの実施形態では、実行されるべき操作は、出力ファイル名または入力ファイル名の構体系に指示されてもよい。いくつかの実施形態では、実行されるべき操作は、入力ファイルまたは出力ファイルのパスで表現される入力ファイルまたは出力ファイルの場所に指示されてもよい。例えば、入力ファイルが署名の対象である場合、それは特定のディレクトリの場所、例えば「ｉｎｐｕｔ／ｔｏ＿ｂｅ＿ｓｉｇｎｅｄ」に署名アプリケーションによって保存されてもよい。
【００５６】
いくつかの実施形態では、署名装置は、出力ファイルが入手可能である場合に、それを示すように構成されてもよい。いくつかの実施形態では、署名装置は、該署名装置がホストコンピュータに提示する大容量記憶装置の切断事象および再接続事象をエミュレートすることにより、出力ファイルが入手可能であることを示す。いくつかの実施形態では、署名装置は、入力ファイルを受け取るために該署名装置がホストコンピュータに提示する大容量記憶装置以外の大容量記憶装置に出力ファイルを入手可能とし、出力ファイルが入手可能になったら、出力ファイルを有するこの別の大容量記憶装置をホストコンピュータに接続する。
【００５７】
公開鍵および証明書
いくつかの実施形態では、署名装置は、ユーザーに関連付けられた公開／私有鍵の前記（署名装置に記憶されている）私有鍵に対応する公開鍵を記憶していてもよい。いくつかの実施形態では、署名装置は、この公開鍵の証明書（公開鍵を例えばユーザーのアイデンティティと暗号化して結び付ける）を更に記憶していてもよい。
【００５８】
いくつかの実施形態では、公開（鍵）および／または証明書は、署名装置のファイルに入手可能であってもよい。いくつかの実施形態では、ホストコンピュータ上のアプリケーションは、署名装置からファイルを読み出すための標準のＵＳＢ大容量記憶装置クラスインターフェースを用いてこのファイルを読み出すことにより、公開鍵および／または証明書を取得してもよい。いくつかの実施形態では、このファイルは、固定場所（例えば「証明書」等の特定の固定名を有する証明書）に配置されていてもよい。
【００５９】
いくつかの実施形態では、本出願の他の箇所でより詳細に説明されるように、署名装置は、私有鍵の記憶並びに該私有鍵に関する暗号計算の実行を着脱自在な外部鍵記憶装置に依存してもよい。斯かる場合には、署名装置は、公開鍵および／または証明書を着脱自在な外部鍵記憶装置から適切な方法で（例えば、着脱自在な外部鍵記憶装置がスマートカードを含む場合には、公開鍵および証明書を読み出すために使用される該当するスマートカードコマンドおよび応答を交換することにより）取得し、上述のように署名装置によってホストコンピュータ上のアプリケーションが入手できるようになるファイルに、取得された公開鍵および／または証明書を記憶させてもよい。
【００６０】
いくつかの実施形態およびいくつかの操作では、公開鍵および／または証明書は出力ファイルに含まれていてもよい。例えば、署名を生成する場合、公開鍵および証明書は署名出力ファイルに含まれていてもよい。
【００６１】
構成、状態およびパラメーター化
いくつかの実施形態では、署名装置は構成可能であってもよい。いくつかの実施形態では、署名装置の現在の構成は、ファイル読み出し用の標準のＵＳＢ大容量記憶装置クラスインターフェースを通して構成ファイルを読み出すことにより取得してもよい。いくつかの実施形態では、構成ファイルは固定名および／または固定場所を有していてもよい。
【００６２】
いくつかの実施形態では、署名装置は、常に、様々な状態セットのうちの１つであってよい。いくつかの実施形態では、署名装置の現在の状態は、ファイル読み出し用の標準のＵＳＢ大容量記憶装置クラスインターフェースを通して状況ファイルを読み出すことにより取得してもよい。いくつかの実施形態では、状況ファイルは固定名および／または固定場所を有していてもよい。
【００６３】
いくつかの実施形態では、署名装置の特定の操作（例えば入力ファイルに署名する署名操作）は、構成可能であってよい。例えば、いくつかの実施形態では、署名対象の入力ファイルの内容のメッセージダイジェストを生成するためのハッシュアルゴリズムの選択は、パラメーター化可能であってよい。いくつかの実施形態では、署名装置の操作は、その操作が署名装置により実行される前に、該署名装置にパラメーターファイルを保存することによりパラメーター化してもよい。
【００６４】
ファームウェア更新
いくつかの実施形態では、署名装置は、そのファームウェアの更新を可能とするように構成されてもよい。いくつかの実施形態では、署名装置のファームウェアは、署名装置にファームウェア更新ファイルを記憶することにより更新してもよく、その場合、ファームウェア更新ファイルは特定のファイル名を有していてもよいし、特定の場所に記憶させてもよい。いくつかの実施形態では、署名装置は、ファームウェア更新ファイルを信頼された機関が署名するように要求してもよい。いくつかの実施形態では、署名装置は、署名が有効であることが判明した場合にのみ、ファームウェア更新ファイル上の該署名を検証し、受け取ったファームウェア更新ファイルの内容でそのファームウェアを更新するように構成されてもよい。
【００６５】
ユーザー承認およびＰＩＮ入力
いくつかの実施形態では、暗号操作（例えば署名の生成またはファイルの復号）における私有鍵の使用は、ユーザーの承認を条件とするようにしてもよい。いくつかの実施形態では、署名装置は、斯かる承認をユーザーから取得するように構成される。いくつかの実施形態では、署名装置は、ユーザーの承認を取得するためのユーザー入力インターフェースを有していてもよい。いくつかの実施形態では、署名装置は、例えばユーザーが承認の指示を作動するためのＯＫボタンを有していてもよい。いくつかの実施形態では、私有鍵の使用は個人識別番号（ＰＩＮ）および／またはパスワードにより保護されていてもよい。いくつかの実施形態では、ユーザーはＰＩＮおよび／またはパスワードを入力するように要求され、それが参照ＰＩＮおよび／またはパスワードと比較され、ユーザーが提供したＰＩＮおよび／またはパスワードが参照ＰＩＮおよび／またはパスワードに一致した場合に、私有鍵の暗号使用に関する操作を署名装置が実行するようにしてもよい。いくつかの実施形態では、署名装置は、ユーザーがＰＩＮおよび／またはパスワードの値を署名装置に提供できるように構成されたユーザー入力装置を有していてもよい。いくつかの実施形態では、ユーザーがＰＩＮおよび／またはパスワードをホストコンピュータに入力し、ホストコンピュータは、ファイルを署名装置に記憶するための標準のＵＳＢ大容量記憶装置クラスインターフェースを通してＰＩＮおよび／またはパスワードを含むファイルを署名装置に保存することにより、ＰＩＮおよび／またはパスワードを署名装置に渡すようにしてもよい。いくつかの実施形態では、ＰＩＮおよび／またはパスワードを有する前記ファイルは、固定名で保存してもよいし、あるいは固定場所に保存してもよい。いくつかの実施形態では、ＰＩＮおよび／またはパスワードは、署名装置によって処理される入力ファイル（例えば署名または復号対象のファイル）を保持するファイルと同じファイルに含まれていてもよい。いくつかの実施形態では、署名装置はＰＩＮおよび／またはパスワード参照値を記憶しており、ユーザーから受け取ったＰＩＮおよび／またはパスワードを記憶させた参照ＰＩＮおよび／またはパスワード値と比較するように構成されてもよい。いくつかの実施形態では、ユーザーから受け取ったＰＩＮおよび／またはパスワードを着脱自在な外部鍵記憶装置に渡すように構成されてもよい。
【００６６】
対称暗号化の使用
いくつかの実施形態では、署名装置は、検証実体と共有する秘密暗号鍵を記憶するように構成されてもよい。いくつかの実施形態では、署名装置は、対称暗号アルゴリズムをサポートするように構成されてもよい。いくつかの実施形態では、署名装置は、対称暗号アルゴリズム（例えばＡＥＳ（高度暗号標準）等の対称暗号アルゴリズムまたはＨＭＡＣ等の鍵付きハッシュアルゴリズム）を用いて前記の共有鍵を（上述のように署名装置が取得する）動的変数と暗号化して組み合わせることによりワンタイムパスワードを生成してもよく、また署名装置は、そのワンタイムパスワードを出力ファイルに保存し、上述のように、その出力ファイルをホストコンピュータが取り出すようにしてもよい。いくつかの実施形態では、署名装置は、上述のようにファイルを署名装置に記憶するための標準のＵＳＢ大容量記憶装置クラスインターフェースを通して受け取る入力ファイル上にメッセージ認証符号（ＭＡＣ）を生成し、そのＭＡＣを出力ファイルに保存するように構成されてもよく、上述のようにその出力ファイルをホストコンピュータが取り出すようにしてもよい。いくつかの実施形態では、署名装置は、共有鍵でパラメーター化された対称暗号アルゴリズム（例えばＡＥＳ等の対称暗号アルゴリズムまたはＨＭＡＣ等の鍵付きハッシュアルゴリズム）を用いてＭＡＣを生成してもよい。いくつかの実施形態では、署名装置は、対称暗号化／復号アルゴリズム（ＡＥＳ等）で（上述のように受け取った）入力ファイルを暗号化または復号し、その暗号ファイルまたは復号ファイルを出力ファイルに記憶し、上述のようにその出力ファイルをホストコンピュータが取り出すようにしてもよい。
【００６７】
安全な装置
いくつかの実施形態では、署名装置は、例えば表示装置を含む該装置のユーザー出力インターフェースを有していてもよい。いくつかの実施形態では、署名装置は、例えばキーパッドを含む該装置のユーザー入力インターフェースを有していてもよい。いくつかの実施形態では、ユーザー入力インターフェースおよびユーザー出力インターフェースは着脱不能／ユーザー修正不能で、装置によって完全に制御されるものであり、ホストコンピュータ上の悪質なソフトウェアによる干渉の影響を受けないものであってもよい。従って、斯かる実施形態においては、該装置は、例えばウイルスまたはトロイの木馬プログラムがユーザーに偽りのメッセージを提示したり、ユーザーがキーパッドで入力する内容を取り込んだり、セキュリティアプリケーションに関連するメモリーセンシティブなデータを読み出したり、署名される前のデータを変更したりする可能性が必ず存在するＰＣとは対照的に、信頼できるユーザーインターフェースを有しているとみなされる。いくつかの実施形態では、装置のファームウェアは変更不可能であってもよい。いくつかの実施形態では、該装置はタンパー証跡規定を有していてもよい。
【００６８】
他の特徴
いくつかの実施形態では、署名装置は例えば電池等の該装置の独立電源を有していてもよい。いくつかの実施形態では、署名装置はＵＳＢ接続を通して電力を得てもよい。
【００６９】
いくつかの実施形態では、署名装置は携帯用で軽量であってもよい。いくつかの実施形態では、署名装置の重量は２００グラム未満である。いくつかの実施形態では、署名装置はコンパクトで手持ち式であってもよい。いくつかの実施形態では、署名装置はポケットサイズであってもよい。いくつかの実施形態では、署名装置のサイズはあらゆる方向に最大１５ｃｍである。いくつかの実施形態では、署名装置の長さは１５ｃｍ未満、幅は８ｃｍ未満、厚さは２ｃｍ未満である。
【００７０】
いくつかの実施形態では、署名装置はＵＳＢキーまたはＵＳＭメモリースティックの形態を有していてもよい。いくつかの実施形態では、署名装置はＵＳＢスマートカードリーダーの形態を有していてもよい。
【００７１】
本発明の前記特徴および利点並びに他の特徴および利点は、添付の図面に図示されているように、以下に示される本発明の実施形態に関する更に特定の記載により明らかとなるであろう。
【図面の簡単な説明】
【００７２】
【図１】図１は、本発明の一態様による例示的装置を概略的に図示している。
【図２】図２は、本発明の態様に従って電子ファイル上でデジタル署名を作成する工程を示すフローチャートである。
【図３】図３は、本発明の態様に従って電子ファイル上でデジタル署名を作成するシステムの構成図である。
【発明を実施するための形態】
【００７３】
本発明の実施のいくつかが以下に記載される。特定の実施が記載されるが、これは例示目的のみであることを理解されたい。当業者は、本発明の精神および範囲から逸脱することなく、他のコンポーネントおよび構成も使用できることを認識するであろう。
【００７４】
図１は、本発明の態様に従う本発明の例示的装置（１００）（例えば署名装置）を概略的に示している。該装置は、該装置をホストコンピュータ（９９）にローカル接続するための第一の通信インターフェース（１１０）と、データを処理するための、および／または第一の通信インターフェース等の他のコンポーネントを制御するための１若しくはそれ以上の処理コンポーネント（１５０）とを有していてもよい。
【００７５】
いくつかの実施形態では、該装置は、接続されたホストコンピュータ（９９）によってファイルの保存並びにファイルの読み出しができる大容量記憶装置として、該接続ホストコンピュータに提供されてもよい。いくつかの実施形態では、第一の通信インターフェースはＵＳＢインターフェースを有してもよく、該装置はＵＳＢ大容量記憶装置クラスのＵＳＢ装置として接続ホストコンピュータに提供されてもよい。いくつかの実施形態では、第一の通信インターフェースはＵＳＢコネクタ等のコネクタを有していてもよい。いくつかの実施形態では、第一の通信インターフェースはケーブルを有していてもよい。
【００７６】
いくつかの実施形態では、該装置は、ＵＳＢ大容量記憶装置クラスの装置にファイルを保存するための標準ＵＳＢ大容量記憶装置クラスインターフェースを通してホストコンピュータから入力ファイルを受け取るように構成されており、ユーザーに関連付けられている公開／私有鍵ペアの私有鍵でパラメーター化された非対称暗号アルゴリズムを用いて、受け取ったファイルを暗号化して処理するように構成されている。また、該装置は、出力ファイルに前記暗号処理の結果を記憶するように構成されており、ホストコンピュータからの、ＵＳＢ大容量記憶装置クラスの装置からファイルを読み出す標準ＵＳＢ大容量記憶装置クラスインターフェースを介した出力ファイの読み出し要求に応じて該出力ファイルを返信するように構成されている。
【００７７】
いくつかの実施形態では、該装置は、ユーザーにデータおよび／またはメッセージを提供するための人的出力インターフェース（１３０）を更に有している。いくつかの実施形態では、ユーザーから入力を受け取るための人的入力インターフェース（１２０）を更に有している。いくつかの実施形態では、人的入力インターフェースは、ユーザーの承認を取得するように構成されていてもよい。いくつかの実施形態では、人的入力インターフェースは、ユーザーが入力するＰＩＮおよび／またはパスワードを受け取るように構成されていてもよい。
【００７８】
いくつかの実施形態では、該装置は、１若しくはそれ以上のメモリーコンポーネント（１６０）を有していてもよい。いくつかの実施形態では、該装置は、前記私有鍵を記憶するように構成されていてもよい。いくつかの実施形態では、該装置は、上述の非対称暗号アルゴリズムを実行するための前記私有鍵を用いて、暗号計算を行うように更に構成されていてもよい。
【００７９】
いくつかの実施形態では、該装置は、着脱自在な外部鍵記憶装置（１０２）との通信用として第二の通信インターフェース（１８０）を更に有している。いくつかの実施形態では、着脱自在な外部鍵記憶装置は、ユーザーに関連付けられた私有鍵を（例えば図示しないがメモリーに）しっかりと記憶させ、斯かる私有鍵を用いて暗号計算を実行するように構成されていてもよい。いくつかの実施形態では、該装置は、受け取ったファイル処理のため非対称暗号アルゴリズムを実行するように要求された暗号計算の少なくともいくつかを、着脱自在な外部鍵記憶装置に代行させるように更に構成されていてもよい。いくつかの実施形態では、着脱自在な外部鍵記憶装置は、例えばＰＫＩスマートカード等のスマートカードを有していてもよい。
【００８０】
いくつかの実施形態では、該装置は、時間値を提供するためのクロック（１７０）を更に有していてもよい。いくつかの実施形態では、該装置は、例えばユーザーと関連付けられた私有鍵を用いて時間値に署名することによりワンタイムパスワードを生成するための動的変数として、斯かる時間値を使用するように構成されていてもよい。
【００８１】
図２は、本発明の別の態様に従う本発明の例示的方法（２００）を概略的に示している。装置は以下の工程を有してもよい。工程２１０：いくつかの実施形態では、署名装置がホストコンピュータに接続され、ＵＳＢ大容量記憶装置クラスの装置として提供される。工程２２０：ホストコンピュータは、ＵＳＢ大容量記憶装置クラスの装置にファイルを保存するための標準インターフェースを通して、署名装置がホストコンピュータに提供する大容量記憶装置に入力ファイルを保存することにより、接続された署名装置へ該入力ファイルを送信する。工程２３０：署名装置は、ＵＳＢインターフェースにより接続されているホストコンピュータから入力ファイルを受け取る。工程２４０：次に、署名装置は、ユーザーに関連付けられた公開／私有鍵ペアの私有鍵を用いて、受け取った入力ファイルを暗号化して処理する。工程２５０：入力ファイルの暗号処理結果（例えば署名、復号ファイル、またはワンタイムパスワード）を出力ファイルに記憶させる。工程２６０：ホストコンピュータは、ＵＳＢ大容量記憶装置クラスの装置からファイルを読み出すための標準インターフェースを通して、署名装置がホストコンピュータに提供する大容量記憶装置から出力ファイルを読み出すことにより、その結果を取得する。
【００８２】
図３は、本発明の別の態様に従う本発明の例示的システム（３００）を概略的に示している。該システムは、リモートアクセス可能なアプリケーションをホストするためのアプリケーションサーバー（３１０）と、アプリケーションによりホストされるリモートアクセス可能なアプリケーションとユーザ（３９０）がインタラクションすることを可能とするアクセス装置（３２０）であって、これにより、該アプリケーションサーバーと該アクセス装置がインターネット等の公共電気通信またはコンピュータネットワーク（３５０）を通して互いに通信するものである、前記アクセス装置と、前記アクセス装置にローカル接続され、図１との関連で記載されるような装置を有する署名装置（３３０）であって、ユーザーに関連付けられた私有鍵で署名するための電子ファイル（例えば電子文書）を含む入力ファイルをアクセス装置を通して受け取るように構成されており、受け取った入力ファイル上に署名を生成するように構成されており、署名を含むホストに出力ファイルを返信するように構成されている署名装置とを有していてもよい。いくつかの実施形態では、該システムは、生成した署名を検証するための検証コンポーネント（３４０）を有していてもよい。いくつかの実施形態では、署名は図２との関連で記載される方法を用いて取得してもよい。
【００８３】
数多くの実装が記載されている。しかし、種々の修正が可能であることは理解されるであろう。例えば、更なる実装を形成するために、１若しくはそれ以上の実装要素を組み合わせたり、削除したり、修正したり、あるいは補足したりできる。従って、他の実装も添付の請求項の範囲内にある。加えて、本発明の特定の特徴がいくつかの実装のうち１つだけに開示されていたとしても、斯かる特徴は、所与のアプリケーションまたは特定のアプリケーションにとって好ましく有利である場合には、他の実装の１若しくはそれ以上の特徴と組み合わせることができる。本発明の種々の実施形態が上述されているが、斯かる実施形態は例示目的のみであり、本発明を制限するものではないことは理解されたい。特に、特許請求項の範囲の主題事項を記載するためにコンポーネントまたは方法体系に関して考え得るあらゆる組み合わせを記載するのは勿論可能ではない。当業者は、本発明の更に多くの組み合わせおよび並び替えが可能であることを理解するであろう。従って、本発明の範囲は上述の例示的実施形態によって制限されるべきでなく、以下の請求項およびそれと等価なものによってのみ定義されるべきである。
【図１】
2017505048.tif 000003
【図２】
2017505048.tif 000004
【図３】
2017505048.tif 000005
【国際調査報告】
2017505048.tif 000006
2017505048.tif 000007