(57)【要約】電子取引を実行するための方法が開示される。この方法は、電子デバイスに認証データおよび認証ソフトウェアを提供し、好ましくは前記デバイスのユーザまたはオペレーティング・システムからアクセス不能なセキュア記憶ロケーションまたは他のロケーションに記憶されている。ディジタル署名を要求する取引当事者からディジタル・データが要求された時に、前記認証ソフトウェアが起動されて前記認証データから前記ディジタル署名を生成する。次に、ディジタル署名は他方の取引当事者に提供され、他方の取引当事者は要求されたディジタル・データを提供する。ディジタル署名は、要求され提供されるディジタル・データ内に埋め込むことができる。さらに、ディジタル・データの正当な使用を検証するための方法が開示される。本発明に従ってディジタル方式で署名されたディジタル・データは、埋め込まれたディジタル署名が、デバイスにインストールされたユーザからアクセス不能な認証データを用いて認証ソフトウェアが再生する再生ディジタル署名と同一である場合にのみアクセスできる。埋め込まれたディジタル署名と再生されたディジタル署名とが同一でない場合、データにはアクセスできず、エラー信号が生成される。
2006527446.tif 000002
【特許請求の範囲】
【請求項１】
第１の取引当事者が操作する電子デバイスを用いて前記第１の取引当事者と第２の取引当事者との間で電子取引を実行するための方法であって、
前記電子デバイスのメモリに前記電子デバイスのユーザからのアクセスが不能な認証データを提供するステップと、
前記電子デバイス内に前記認証データにアクセス可能な認証ソフトウェアを提供するステップと、
前記認証ソフトウェアを起動して前記認証データからディジタル署名を生成するステップと、
前記第２の取引当事者に前記ディジタル署名を提供するステップとを含む方法。
【請求項２】
前記第２の取引当事者が、前記第１の取引当事者にディジタル・データを提供する請求項１に記載の方法。
【請求項３】
前記第２の取引当事者が、前記第１の取引当事者に提供されたディジタル・データ内に前記ディジタル署名を埋め込む請求項２に記載の方法。
【請求項４】
前記第２の取引当事者が、前記第１の取引当事者を識別するデータと共に前記ディジタル署名を記憶する請求項１、２または３に記載の方法。
【請求項５】
前記認証データが、前記第１の取引当事者を識別するデータと共に前記認証データを記憶する前記第２の取引当事者によって提供される前記請求項のいずれか１項に記載の方法。
【請求項６】
前記第２の取引当事者が、前記記憶された認証データを用いて特定のアルゴリズムによる取引固有の認証データを入手する請求項５に記載の方法。
【請求項７】
前記第２の取引当事者が、前記第２の取引当事者に記憶された認証データを用いて前記第１の取引当事者によって提供されるディジタル署名を検証する請求項６に記載の方法。
【請求項８】
前記第１の取引当事者が、前記認証ソフトウェアについて一意的であり、第三者には周知である秘密鍵を用いて前記ディジタル署名に署名することにより、前記認証ソフトウェアが生成する署名されたディジタル署名を前記第２の取引当事者にさらに提供する前記請求項のいずれか１項に記載の方法。
【請求項９】
電子デバイス上でディジタル・データの正当な使用を検証するための方法であって、
前記電子デバイスのメモリに前記電子デバイスのユーザからのアクセスが不能な認証データを提供するステップと、
前記電子デバイス内に前記認証データにアクセス可能な認証ソフトウェアを提供するステップと、
前記認証ソフトウェアを起動して前記認証データからディジタル署名を再生するステップと、
内部にディジタル署名を埋め込んだディジタル・データにアクセスするアプリケーションによって前記認証ソフトウェアに前記ディジタル署名を提供するステップと、
前記再生されたディジタル署名を前記埋め込まれたディジタル書名と比較するステップとを含む方法。
【請求項１０】
前記認証データが前記第１の取引当事者に提供される前に、暗号鍵を用いて前記認証データが前記第２の取引当事者によって暗号化される前記請求項のいずれか１項に記載の方法。
【請求項１１】
前記認証ソフトウェアが、前記暗号鍵に関連する解読鍵を取り出して前記認証データを最初の使用時に解読する請求項１０に記載の方法。
【請求項１２】
前記電子デバイスのオペレーティング・システムは、前記メモリにアクセス不能であり、それにより、前記認証データが前記ユーザからアクセス不能にされる前記請求項のいずれか１項に記載の方法。
【請求項１３】
前記認証データが、前記電子デバイスの基本入出力システム（ＢＩＯＳ）内に提供される請求項１２に記載の方法。
【請求項１４】
前記認証データが前記メモリに記憶される時に前記認証データが暗号化され、前記認証データを解読するための解読鍵が前記ユーザおよび任意のユーザが操作するソフトウェアからはアクセスできず、それにより前記ユーザは前記認証データにアクセスできなくなる前記請求項のいずれか１項に記載の方法。
【請求項１５】
前記認証データが、少なくとも２つの暗号化レイヤを用いて暗号化される請求項１４に記載の方法。
【請求項１６】
前記電子デバイスのハードウェア構成要素の１つまたは複数のシリアル番号に関連する解読鍵を用いて少なくとも１つの暗号化レイヤを解読することができる請求項１５に記載の方法。
【請求項１７】
前記認証ソフトウェアによって少なくとも１つの暗号化レイヤを解読することができる請求項１５または１６に記載の方法。
【請求項１８】
前記認証データが、前記ユーザおよび任意のユーザが操作するソフトウェアからアクセス不能なセキュアな処理環境で解読される請求項１４から１７のいずれか１項に記載の方法。
【請求項１９】
前記認証データが認証テーブルを含む前記請求項のいずれか１項に記載の方法。
【請求項２０】
前記認証テーブルが、固定データおよび可変データから生成されるビット列から生成される請求項１９に記載の方法。
【請求項２１】
前記固定データが、ハードウェア・デバイスのシリアル番号の少なくとも一部である請求項２０に記載の方法。
【請求項２２】
前記固定データが、前記認証ソフトウェアのデバイス固有のソフトウェア識別コードの少なくとも一部である請求項２０に記載の方法。
【請求項２３】
前記可変データが、乱数表を含む請求項２０、２１、または２２に記載の方法。
【請求項２４】
前記乱数表がランダムな２次元または３次元パターンから計算される請求項２３に記載の方法。
【請求項２５】
前記認証テーブルが、固定データ、可変データ、および前記認証データを提供する信頼できる第三者に固有のビット列から生成される請求項１９から２４のいずれか１項に記載の方法。
【請求項２６】
前記認証ソフトウェアが、オペレーティング・システムからアクセス不能なセキュア・メモリ・ロケーションに記憶される前記請求項のいずれか１項に記載の方法。
【請求項２７】
前記認証ソフトウェアが、オペレーティング・システムからアクセス不能なセキュアな処理環境で実行される前記請求項のいずれか１項に記載の方法。
【請求項２８】
暗号鍵を用いて電子デバイス上でディジタル・データを暗号化するための方法であって、
セッション固有データを収集するステップと、
前記セッション固有データをハッシングして前記電子デバイス内に記憶した認証テーブル内の位置を参照する参照番号を入手するステップと、
前記認証テーブル内の前記位置に記憶された文字から前記暗号鍵を生成するステップと、
前記暗号鍵を用いて前記ディジタル・データを暗号化するステップとを含む方法。
【請求項２９】
第１の取引当事者が操作する電子デバイスを用いて、前記第１の取引当事者と第２の取引当事者との間で電子取引を実行するためのシステムであって、
前記電子デバイスのメモリに前記電子デバイスのユーザからのアクセスが不能な認証データを提供する手段と、
前記電子デバイス内に前記認証データにアクセス可能な認証ソフトウェアを提供する手段と、
前記認証ソフトウェアを起動して前記認証データからディジタル署名を生成するための手段と、
前記第２の取引当事者に前記ディジタル署名を提供するための手段と、
前記第２の取引当事者から前記第１の取引当事者にディジタル・データを提供するための手段とを含むシステム。
【請求項３０】
電子デバイス上でディジタル・データの正当な使用を検証するためのシステムであって、
前記電子デバイスのメモリに前記電子デバイスのユーザからのアクセスが不能な認証データを提供するための手段と、
前記電子デバイス内に前記認証データにアクセス可能な認証ソフトウェアを提供するための手段と、
前記認証ソフトウェアを起動して前記認証データからディジタル署名を生成するための手段と、
内部にディジタル署名を埋め込んだディジタル・データにアクセスするアプリケーションによって前記認証ソフトウェアに前記ディジタル署名を提供するための手段と、
前記再生されたディジタル署名を前記埋め込まれたディジタル書名と比較するための手段とを備えるシステム。
【請求項３１】
暗号鍵を用いてディジタル・データを暗号化するためのシステムであって、
前記電子デバイスのメモリに前記電子デバイスのユーザからのアクセスが不能な認証データを提供するための手段と、
前記電子デバイス内に前記認証データにアクセス可能な認証ソフトウェアを提供するための手段と、
前記認証ソフトウェアを起動して前記認証データからディジタル署名を生成するための手段と、
セッション固有データを収集するための手段と、
前記セッション固有データをハッシングして前記電子デバイス内に記憶した認証テーブル内の位置を参照する参照番号を入手するための手段と、
前記認証テーブルの前記位置に記憶された文字から前記暗号鍵を生成するための手段と、
前記暗号鍵を用いて前記ディジタル・データを暗号化するための手段とを備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子取引を実行し、ディジタル・データへの正当なアクセスまたはその使用を検証するための方法およびシステムに関する。
【背景技術】
【０００２】
現在、多数の取引が電子手段によってディジタル・フォーマットで処理されている。世界中の様々な種類の当事者が互いに通信し、データおよび情報を交換して所望の取引を行うことができるディジタル・ネットワークが発展している。
【０００３】
上記取引で交換されるデータおよび情報は、例えば、著作権によって法的に特権を与えたり、または保護したりすることができる。しかし、ディジタル情報は、誰がデータを不正に複製して頒布したか人物がつかめないまま、非常に容易に複製して頒布することができる。
【０００４】
さらに、特に、私設網アクセス、財政行為、決済および／または支払いを含む取引では、このような取引に関わる各当事者は、取引完了後に問題が起こった場合、他のあらゆる当事者を識別するか、または少なくとも他のあらゆる当事者を追跡したいと考える。そのような識別のために、特定のユーザだけが知っているパスワード、個人識別番号（ＰＩＮ）などの個人識別子を使用することは周知である。しかし、インターネットのような公衆網で個人識別子を使用すると、個人識別子が別の人物に知られ、この人物が他人になりすまして取引を行ったり、ディジタル・データにアクセスしたりする可能性がある。取引完了後に問題が起こった場合、その個人識別子は、公衆網の悪意のあるユーザによって使用された可能性があるので、現実の取引相手を追跡することは不可能である。
【０００５】
より安全な取引のために、欧州特許出願第１  ２１９  ０８８号（特許文献１）では、取引当事者のプロファイルを有する信頼できる第三者の取引サーバを使用することが提案されている。取引サーバは、ディジタル署名を検証するランダム・データのテーブルを含む認証データを用いて取引当事者の識別を検証する。ディジタル署名はトークン読み取り装置を用いてランダム・トークンから生成される。ランダム・データのテーブルは、上記ランダム・トークンから収集されるデータに対応する。それ故、ランダム・トークンから生成される、その後の取引ごとに異なるディジタル署名は事実上偽造が不可能で、それ故、取引当事者を一意的に識別する。
【０００６】
追加のハードウェアを使用するこのシステムおよび他のシステムの欠点は、例えば、トークンおよびトークン読み取り装置などの追加のハードウェアを可能なあらゆる取引当事者に供給しなければならないという点である。
【０００７】
【特許文献１】欧州特許出願第１  ２１９  ０８８号
【特許文献２】米国特許出願第５，３５４，０９７号
【発明の開示】
【発明が解決しようとする課題】
【０００８】
それ故、本発明の目的は、追加のハードウェアを必要とせずに電子取引または電子検証または識別を実行するための方法およびシステムを提供することである。
【課題を解決するための手段】
【０００９】
少なくともこの目的は、第１の取引当事者が操作する電子デバイスを用いて、第１の取引当事者と第２の取引当事者との間で電子取引を実行するための方法により本発明で達成される。この方法は、上記電子デバイスのメモリに電子デバイスのユーザからのアクセスが不能な認証データを提供するステップと、上記電子デバイス内に認証データにアクセス可能な認証ソフトウェアを提供するステップと、認証ソフトウェアを起動して認証データからディジタル署名を生成するステップと、第２の取引当事者にディジタル署名を提供するステップとを含む。好ましい実施形態では、第２の取引当事者は、第１の取引当事者にディジタル・データを提供する。
【００１０】
別の態様では、本発明は、電子デバイス上でディジタル・データの正当な使用を検証するための方法を提供する。この方法は、上記電子デバイスのメモリに電子デバイスのユーザからのアクセスが不能な認証データを提供するステップと、上記電子デバイス内に認証データにアクセス可能な認証ソフトウェアを提供するステップと、認証ソフトウェアを起動して認証データからディジタル署名を生成するステップと、内部にディジタル署名を埋め込んだディジタル・データにアクセスするアプリケーションにディジタル署名を提供するステップと、ディジタル・データ内に埋め込まれたディジタル署名を提供されたディジタル書名と比較するステップとを含む。
【００１１】
別の態様では、本発明は、暗号鍵を用いて電子デバイス上でディジタル・データを暗号化するための方法であって、セッション固有データを収集するステップと、上記セッション固有データをハッシングして上記電子デバイス内に記憶した認証テーブル内の位置を参照する参照番号を入手するステップと、認証テーブル内の上記位置に記憶された文字から上記暗号鍵を生成するステップと、上記暗号鍵を用いて上記ディジタル・データを暗号化するステップとを含む方法を提供する。
【００１２】
別の態様では、本発明は、上記方法を実行するためのシステムを提供する。
【００１３】
追加のハードウェアを使用しなければ、電子取引の取引当事者を、この方法を不正に使用する可能性がほとんどなしに識別できる。私設網アクセス取引では、第１の取引当事者はそのディジタル署名で一意的に識別できる。上記ディジタル署名は、ディジタル署名を記憶できる第２の取引当事者に提供される。後で問題が発生した場合、第２の取引当事者に提供されたディジタル署名によって第１の取引当事者を追跡して識別できる。
【００１４】
第１の取引当事者に、音楽などの著作権保護されたファイルなどの、本発明に従ってディジタル方式で署名された、すなわち、ディジタル署名が埋め込まれたディジタル・データが提供された場合、上記ディジタル・データは、後で不正に複製または頒布されたものと判明しても追跡できる。埋め込まれたディジタル署名は、上記ディジタル方式で署名されたディジタル・データを受信した元の第１の取引当事者まで一意的に追跡可能である。
【００１５】
本発明に従ってディジタル方式で署名されたディジタル・データは、認証ソフウトウェアをインストールしたデバイスの記憶媒体に記憶される。署名は、上記デバイス内に記憶した認証データに従って生成されており、その後ディジタル・データ内に埋め込まれてデータを保護し、悪意のあるユーザを追跡できる。
【００１６】
データ内に埋め込まれた署名を用いてもデータを不正に使用することを防止できる。これは、署名がいつでもデバイスによって再生できるからである。再生された署名はディジタル・データ内に埋め込まれた署名と同一でなければならないので、埋め込まれた署名と再生された署名の比較によって、ディジタル・データがデバイスに適法にインストールされたか否かの情報が提供される。比較の結果、署名が同一であるとわかった場合、データは、デバイスからアクセスできる。例えば、上記ディジタル・データに含まれるアプリケーションを実行でき、または上記ディジタル・データは、例えば、上記ディジタル・データが表す音楽を演奏するための他の任意のアプリケーションからアクセスできる。署名が同一でない場合、ディジタル・データは、不正にインストールされている、例えば、別のデバイスから複製されているので、そのデバイスからアクセスおよび読み出しができず、エラー信号が生成される場合がある。
【００１７】
本発明の別の態様と特徴は、従属請求項で開示する。
【００１８】
本発明およびその態様、特徴、および利点は、以下の詳細な説明を参照して本発明を理解し、非限定的な例示によって提供された、類似の参照符号が類似の動作または部分を示す添付の図面に関連して考察することでより容易に理解できるだろう。
【発明を実施するための最良の形態】
【００１９】
図１、図２、図４および図６〜図９を参照すると、それぞれの図に示された方法で、異なる動作主体の動作がいくつかの列に示されている。垂直方向では、動作主体の動作は、上から下へ基本的に時系列に並んでいる。それ故、チャートの１行に記載されている動作は、基本的にチャートの次の（下の）行の動作よりも先に実行されるが、いくつかの例で示すように、これは必ずしも必要ではない。図中の矢印は、ネットワーク接続で適当なプロトコルを使用して有線接続、無線接続、またはその組み合わせなどの適した接続を介して伝送可能なデータの流れを示す。
【００２０】
この場合、インストール方法は、少なくとも１つの取引当事者の追尾および追跡を可能にする本発明の方法に含まれるいくつかの動作主体にソフトウェアをインストールするための方法として理解すべきである。さらにこの場合、新しいデバイスは、製造中であるか、またはすでに製造されているが、エンドユーザにまだ送達されていない任意の関連するセキュア記憶装置／メモリ・ロケーションを備える基本入出力システム（「ＢＩＯＳ」、「Ｂｏｏｔ  ａｇｅｎｔ」など）を含む任意の電子デバイス、例えば、コンピュータ、サーバ、プリンタ、携帯情報端末、携帯電話に関する。これに対して、既存のデバイスは、エンドユーザに送達されているがエンドユーザによって使用されているか否かを問わない基本入出力システムを含む任意の電子デバイスに関する。基本入出力システムは、電子デバイスに直接的または間接的に接続されたメモリ内のメモリ・ロケーションにアクセスするためのシステムのみをいう。しかし、以下に説明するように、本発明の方法は、このようなＢＩＯＳシステムを用いてある種のディジタル・データを安全に記憶することができ、および／またはそのようなＢＩＯＳシステムは、暗号化システムを備えることができる。セキュア記憶ロケーションおよび／または暗号化システムは、本発明に関してはＢＩＯＳシステムにとって必須ではない。
【００２１】
図１は、本発明の第１の好ましい実施形態を示す。図１を参照すると、新しいデバイスのインストール方法が示されている。図１の方法は、５つの動作主体、すなわち、乱数表サプライヤ、信頼できる第三者、ＢＩＯＳ製造業者、ＢＩＯＳおよび認証ソフトウェアを含む。第１、第２および第３の動作主体は、物理エンティティ、例えば、人物または企業であるのに対し、第４および第５の動作主体は、デバイス内に埋め込まれているソフトウェアである。
【００２２】
図１の第１列には、乱数表サプライヤの動作が示されている。このサプライヤは、乱数表または、基本的にランダム・データを生成して別の動作主体に供給する。
【００２３】
乱数表は、乱数を有するテーブルとして定義される。このようなテーブルは、それに適したソフトウェアを用いて作成される。あるいは、米国特許出願第５，３５４，０９７号（特許文献２）は、不織素材などの不規則な形状の素材を光学的に走査することで乱数を生成する別の方法を開示している。同様に、欧州特許出願第１，２１９，０８８号で開示されたビット列の変形によって形成された２次元パターンを使用することができる。不規則な形状の素材またはパターンの読み取り中に収集したデータから、例えば、所定のアルゴリズムを用いて乱数を得ることができる。
【００２４】
図１の第２列は、乱数表サプライヤが選択できる信頼できる第三者（ＴＴＰ）、ＢＩＯＳ製造業者、および／または任意のアプリケーションまたはサービスのオーナーの動作に関する。以下に説明するように、ＴＴＰは、乱数表および他のデータからビット列を生成する。さらに、ＴＴＰは、それを生成するために用いたビット列および他のデータを記憶する。生成されたビット列は、ＢＩＯＳ製造業者に送信される。
【００２５】
本発明の別の実施形態では、ビット列は、ＴＴＰ以外の動作主体が生成、記憶できることに留意されたい。例えば、ネットワーク・アクセス識別の場合、ネットワーク管理者および／またはネットワーク・サーバは、ユーザが私設網にアクセスしようとする際に、ネットワーク管理者またはサーバが上記ユーザのディジタル署名を再生できるように、ビット列を生成して記憶できる。したがって、ネットワーク管理者またはサーバは、ユーザがネットワークへのアクセスを許可される前にユーザを明確に識別することができる。
【００２６】
ＢＩＯＳ製造業者の動作は、図１の第３列に示されている。ＢＩＯＳ製造業者は、ＢＩＯＳ内に認証ソフトウェアをインストールし、ＴＴＰから供給されたビット列をＢＩＯＳ内に記憶する。
【００２７】
ＢＩＯＳ製造業者によって供給されるＢＩＯＳは、この方法では動作主体でもあり、その動作は図１の第４列に示されている。ＢＩＯＳは、ＴＴＰに結合して解読コードを受信して認証ソフトウェアが認証テーブルを解読できるようにし、認証テーブルは、再び暗号化されてＢＩＯＳだけがアクセス可能なデバイスのセキュア部分に記憶される。
【００２８】
図１の第５列は、乱数表サプライヤまたは他の任意の第三者によって供給し、ＢＩＯＳ内に記憶される認証ソフトウェアの動作を表す。認証ソフトウェアは、ＴＴＰに結合してＢＩＯＳ内のビット列を認証テーブル内に解読し、再度認証テーブルを暗号化し、それをＢＩＯＳだけがアクセス可能なデバイスのセキュア部分に記憶することができる。さらに、認証ソフトウェアは、ディジタル署名アルゴリズムを記憶し、起動して、セッションまたは取引固有のディジタル署名を生成する。好ましくは、認証ソフトウェアは、ＢＩＯＳまたはコンソール内の別の動作環境で実行され、デバイス上のオペレーティング・システム（ＯＳ）から独立しており、ＯＳからアクセスできない。
【００２９】
図１に示すように、本発明による追尾および追跡方法と併用する新しいデバイスのインストール方法は、乱数表、例えば、セル２でランダムに選択した文字または数字を含むテーブルの生成で始まる。数字は、アルゴリズムを使用するソフトウェアを用いて生成できる。あるいは、米国特許出願第５，３５４，０９７号に開示されているように、乱数は、不織素材などの不規則な形状の素材から演繹することができる。例えば、不織素材では、生産工程が不規則であるためにファイバが不規則な順序で配列されている。不織素材のファイバの幾何学形状から、数字を計算できる。例えば、計算できる数字は、素材の領域にある２つのファイバがなす角度であってもよいし、または想像線を横切るファイバの数であってもよい。素材の幾何学形状が不規則である以上、計算された数字は不規則である。欧州特許出願第１，２１９，０８８号に開示されている乱数を収集する別の方法は、アルゴリズムを用いてビット列を２次元パターンに変形する方法である。上記のように、この２次元パターンから、パターンの幾何学形状に基づいて乱数表を計算することができる。
【００３０】
乱数表サプライヤは、乱数表を生成してＴＴＰに供給することができる。あるいは、乱数表サプライヤは、欧州特許出願第１，２１９，０８８号に開示されている２次元パターンを生成する１枚の不織素材またはソフトウェアだけを供給でき、その１枚の不織素材またはソフトウェアからＴＴＰは１つまたは複数の乱数表を生成できる。
【００３１】
セル４で、ＢＩＯＳ製造業者は、ＢＩＯＳ内に認証ソフトウェアを埋め込むかインストールする。認証ソフトウェアは、乱数表サプライヤが供給してもよいし、ＢＩＯＳ製造業者が生成してもよいし、または第三者が供給してもよい。
【００３２】
好ましくは、認証ソフトウェアは、専用の一意的なシリアル番号と、ソフトウェアＩＤおよび／または秘密暗号鍵を有する。上記一意的な番号は、以下に説明するように、インストール方法と追尾および追跡方法に有利に使用できる。
【００３３】
さらに、セル６Ａ〜６Ｅで、ＴＴＰは、以下のように一意的なビット列を生成する。第一に、セル６Ａで、前のステップで、ＴＴＰは、ハードウェア・デバイス、例えばプロセッサの一意的なシリアル番号または認証ソフトウェアに埋め込まれた一意的なソフトウェアＩＤなどの固定データを収集する。
【００３４】
好ましくは、固定データは特定のＢＩＯＳに記憶されている、またはそれに関連する数字または他の文字列を指す。固定データから生成されるビット列は、とりわけ、記憶されているＢＩＯＳとの強い関係を有することが好ましい。このような強い関係は、ビット列の偽造を困難にする。
【００３５】
次のステップ６Ｂで、ＴＴＰは、乱数表サプライヤから前に受信した乱数表を選択するか、１枚の不織素材などのマーカまたはランダムな２次元パターンを用いて乱数表を生成する。
【００３６】
ＴＴＰは、さらに、セル６Ｃでデータ列を生成する。３つのデータ・セット、例えば、固定データ、乱数表、およびデータ列を用いて、セル６Ｄで所定のアルゴリズムによってビット列が生成される。ビット列は、ビット列を生成するために用いた固定データおよびデータ列と共にセル６Ｅでデータベースに記憶される。
【００３７】
ビット列は、好ましくは、暗号化方法でＢＩＯＳ製造業者に供給される。ＢＩＯＳ製造業者は、認証ソフトウェアのように、セル８でＢＩＯＳにビット列を埋め込む。この時点で、認証ソフトウェアとビット列を有するＢＩＯＳを有するコンピュータを組立てることができる。その後、コンピュータを販売、設置し、インターネットなどのネットワークに接続することができる。
【００３８】
セル１０で、コンピュータの最初の起動時に、ＢＩＯＳまたは認証ソフトウェアは、インターネットなどのネットワークへの接続を用いてＴＴＰとの接続を確立する。接続が確立し、ビット列を解読して認証テーブルを生成するために必要なデータ列が収集される。ＴＴＰは、ＢＩＯＳまたは認証ソフトウェアを上記のように一意的な番号である固定データを用いて識別できる。
【００３９】
ＴＴＰとの接続は、ＢＩＯＳが開始する必要はなく、ＢＩＯＳのセキュア部分に埋め込まれた認証ソフトウェアが開始することもでき、または第三者アプリケーションが開始することもできる。接続は、好ましくは、コンピュータのユーザまたはオペレーティング・システムが手順に割り込む可能性がない状態で実行される。
【００４０】
ＴＴＰとの接続が確立すると、ＢＩＯＳまたは認証ソフトウェアは、セル１２のＴＴＰの要求があると、その識別番号を送信する。ＴＴＰは、ＢＩＯＳの要求があれば、解読鍵を返送し、認証ソフトウェアは、セル１４で解読鍵を用いてセル８でＢＩＯＳに埋め込まれたビット列から認証テーブルを生成する。
【００４１】
次に、セル１６で、認証ソフトウェアが認証テーブルを暗号化して、認証テーブルが解読される（例えば、ある人物によって）ことを防止する。認証テーブルの解読は、この方法によって与えられる保護を弱めるため、事実上不可能でなければならない。
【００４２】
暗号化は、ＢＩＯＳに固有の番号を用いて実行される。認証テーブルが後で必要になった場合は、そのＢＩＯＳ固有の番号を用いて、認証ソフトウェアによって復号化できる。ＢＩＯＳ固有の番号は、例えば、ＢＩＯＳに組み込まれた、またはＢＩＯＳによって生成される一意的なシリアル番号または任意の通常の暗号鍵である。ＢＩＯＳ固有の番号は、セル１６で認証ソフトウェアから要求があってから、セル１８で認証ソフトウェアに送信される。
【００４３】
セル２０で新しいデバイスへのインストールが完了する。暗号化された認証テーブルは、それをＢＩＯＳだけが取り出すことができ、オペレーティング・システムは取り出せないＢＩＯＳのセキュア部分に記憶される。ＢＩＯＳのこのセキュア部分は、デバイス内の他の任意のセキュアなロケーションでもよい。例えば、オペレーティング・システムからはアクセスできず、ＢＩＯＳおよび／または認証ソフトウェアからだけアクセスできるコンピュータのハード・ドライブの別の部分であってもよい。認証テーブルをセキュアなロケーションに記憶することで、認証テーブルを取り出される可能性がさらに減少する。
【００４４】
ここで、デバイスが設定される。認証ソフトウェアと暗号化された認証テーブルがＢＩＯＳにインストールされる。さらに、信頼できる第三者（ＴＴＰ）のデータベース内で、ＴＴＰが、後で必要な時に、同じ認証テーブルを生成することができるようにデータが記憶される。
【００４５】
図２は、第２の好ましい実施形態を示す。第２の好ましい実施形態では、既存のコンピュータ・デバイス上でインストール方法が実行される。既存のデバイスは、特定の電子セッション、例えば、ネットワーク・アクセス手順またはオンライン取引を含む任意の追尾および追跡の目的に本発明のディジタル署名が必要な時に、ＢＩＯＳに認証ソフトウェアをインストールしていないし、暗号化されたビット列をＢＩＯＳに記憶していない。それ故、新しいコンピュータ・デバイスと比較して、上記インストール方法にデバイスのセキュア・メモリ・ロケーションに必要なソフトウェアおよび認証テーブルをインストールするステップが別に必要である。上記セキュア・メモリ・ロケーションは、セキュア・メモリの一部であってもよいし、またはユーザ・アクセス可能なメモリのような非セキュア・メモリの暗号化された部分であってもよい。
【００４６】
図２には、５つの動作主体、すなわち、乱数表サプライヤ、ＴＴＰ、ＢＩＯＳ、認証ソフトウェアおよび第三者アプリケーションを表す５つの列がある。図１と比較して、ＢＩＯＳ製造業者は既存のデバイスのインストール方法では動作主体でないが、第三者アプリケーションが動作主体として導入されている。第三者アプリケーションは、普通、オンライン・ロジカル・アクセスまたはオンライン取引を実行するためのオンライン・アプリケーションである。第三者アプリケーションは、認証ソフトウェアおよび認証テーブルを有しない既存のデバイスにディジタル署名を要求する。それ故、第三者アプリケーションは、デバイスが取引を続行する前に認証ソフトウェアを先にインストールするよう要求する。
【００４７】
セル２２で、図１のセル２の動作と同様、乱数表サプライヤが乱数表を生成して供給する。
【００４８】
セル２４で、認証テーブルおよび／または認証ソフトウェアを備えていないＢＩＯＳを有するデバイスが第三者アプリケーションとのオンライン取引を開始する。しかし、第三者アプリケーションは、本発明の認証を必要とする。それ故、第三者アプリケーションは、要求元デバイスをＴＴＰにリダイレクトして認証ソフトウェアと認証テーブルを取得する。
【００４９】
ＴＴＰは、図１のセル６Ａ〜６Ｅに似たセル２６Ａ〜２６Ｅでビット列を生成して記憶する。セル２６Ａで、ＴＴＰは固定データを収集し、セル２６Ｂで乱数表またはランダム・マーカが選択され、セル２６Ｃで、ＴＴＰは、データ列を選択する。これら３つのデータ・セットから、ＴＴＰは、セル２６Ｄでビット列を生成して、セル２６Ｅでビット列、固定データおよびデータ列を記憶する。さらに、ビット列は、認証ソフトウェアと共に暗号化された状態で要求元デバイスに送信される。
【００５０】
認証ソフトウェアとビット列は、セル２８Ａでオペレーティング・システムがアクセス可能なＢＩＯＳの部分に記憶される。次に、セル２８Ｂで、デバイスを再ブートして、オペレーティング・システムがアクセス不能なＢＩＯＳのセキュア部分に認証ソフトウェアとビット列とを記憶する必要がある。
【００５１】
この時点で、この方法は、図１に示す方法としてセル１０以降を続行する。セル３０で、認証ソフトウェアとビット列とを新たにＢＩＯＳに記憶したデバイスがＴＴＰに再度アクセスして解読鍵、例えば、データ列をセル３２で要求する。
【００５２】
セル３４で、解読鍵を用いて認証ソフトウェアとビット列とが解読され、対応する認証テーブルが生成される。次に、セル３６で、認証ソフトウェアは、認証テーブルを検証して再び認証テーブルを暗号化するためにＢＩＯＳ固有データをＢＩＯＳに要求する。
【００５３】
セル３８で、これに応答してＢＩＯＳは、ＢＩＯＳ固有データ、例えば、任意の共通暗号鍵を認証ソフトウェアに送信する。この方法は、認証テーブルが暗号化され、ＢＩＯＳのセキュア部分に記憶されるセル４０で終了する。認証データおよび認証ソフトウェアの転送から以降、オペレーティング・システムに残っているいかなるデータもＢＩＯＳによって削除される。
【００５４】
このインストール方法を用いて、ＢＩＯＳを有し、外部の第三者アプリケーションと通信可能なあらゆるデバイス、例えば、無線通信機能を備えたパーソナル・コンピュータ、携帯電話、ハンドヘルド携帯情報端末、またはＢＩＯＳを含む他の任意のデバイスは、上記のように、認証ソフトウェアおよび認証テーブルをインストールすることができる。
【００５５】
ソフトウェアとテーブルとがＢＩＯＳ内に正しくインストールされると、認証およびディジタル署名方法を用いて特定のセッション、追尾および追跡またはオンライン取引を開始して実行できる。
【００５６】
図３は、認証ソフトウェアおよび認証テーブルをインストールしたデバイスの可能な構成の概略図である。デバイスは、一般にハードウェア４２と呼ばれるいくつかの構成要素からなる。例示のハードウェア構成要素は、プロセッサ、ハード・ドライブ、または他のメモリおよびキーボードである。
【００５７】
全てのハードウェア・デバイスは、ＢＩＯＳ４４によって制御される。ＢＩＯＳ４４は、電子デバイスのハードウェア構成要素の１つである、通常はメイン・ボード上にある読み出し専用メモリ（ＲＯＭ）に記憶されたソフトウェア・パッケージである。
【００５８】
ＢＩＯＳ４４は、構成要素間を流れる命令およびデータの大半を制御する。１つの構成要素から送信され別の構成要素に宛てられるデータまたは命令は、ＢＩＯＳ４４を通過しなければならない。どの構成要素からも他のどの構成要素にもアクセスできるわけではないので、ＢＩＯＳ４４は、他の構成要素への命令が許されるか否かを検査しなければならない。
【００５９】
ＢＩＯＳ４４は、暗号鍵４６を有することができる。このような暗号鍵４６を用いてデータを暗号化でき、暗号鍵４６を知っている別の当事者だけがデータを解読することができる。
【００６０】
オペレーティング・システム４８は、任意のユーザ・アプリケーションの実行時環境を作成する。それ故、オペレーティング・システム４８は、ユーザとハードウェア４２との間のインタフェースであると言えよう。ユーザは、オペレーティング・システム４８にアプリケーション５０を実行するように命令できる。アプリケーション５０がハード・ドライブに記憶されたデータを必要とする場合、アプリケーション５０は、オペレーティング・システム４８にデータを要求する。オペレーティング・システム４８は、ＢＩＯＳ４４を介してハードウェア４２、すなわち、ハード・ドライブにデータを要求する。ハードウェア４２から送信されるデータは、ＢＩＯＳ４４とオペレーティング・システム４８を通過し、要求元アプリケーション５０に到着する。このプロトコルを介して、ＢＩＯＳ４４は、ある種のデータまたはハードウェア・デバイス４２のアクセス可能性、それ故、特定のソフトウェアの使用を制御できる。ＢＩＯＳ４４は、例えば、オペレーティング・システム４８がハード・ドライブのある部分にアクセスしたり、ある種のアプリケーションを起動したりすることを禁止できる。
【００６１】
コンソール５２は、ユーザの介在なしにコンピュータ内の全プロセスを実行する環境である。コンソール５２は、コンピュータの起動時にＢＩＯＳ４４を介してハードウェア・デバイス４２にそのステータスを開始して報告するように命令する重要な役割を果たす。エラーが発生した場合、起動時だけでなく動作中もＢＩＯＳ４４は、ハードウェア４２から受信するエラー・メッセージをコンソール５２に送信する。次に、コンソール５２は、エラーを処理し、修正する。こうして、コンソール５２は、多少ともコンピュータからスタンドアロンで実行される。ユーザは、コンソール５２に割り込んだり影響を与えることはできない。それ故、オペレーティング・システム４８からコンソール５２に宛てて送信されるいかなる命令もＢＩＯＳ４４によって遮断することができる。
【００６２】
コンソール５２内またはその後部に、ＢＩＯＳだけがアクセス可能なセキュア領域６２がある。セキュア領域６２は、オペレーティング・システム４８には報告されないアプリケーションおよび記憶ロケーションを有する。これは、オペレーティング・システム４８が、記憶ロケーション内のアプリケーションおよびデータが存在し、別の環境でも実行されている可能性があるということを知らないことを意味する。例えば、ハードウェア・デバイス４２がエラーを報告した場合、コンソール５２は、復旧アプリケーション５６を実行してエラーを処理し、ハードウェア・デバイス４２がエラーから復旧し、動作を続行できるようにする。オペレーティング・システム４８は、エラーが発生したことにすら気づいていないと思われる。
【００６３】
セキュア記憶ロケーション６０には認証テーブルを安全に記憶することができる。一般に、ＢＩＯＳ４４の部分であるコンピュータのそのような部分にあるオペレーティング・システム４８からも、それ故ユーザからも認証テーブルにアクセスすることはできない。
【００６４】
認証テーブルがセキュア記憶ロケーション６０内に安全に記憶されると、認証ソフトウェア５４は、ＢＩＯＳ４４内の環境で実行されなければならない。これによって、オペレーティング・システム４８が認証テーブルにいつでもアクセスできないようにする。それ故、アプリケーション環境のセキュア領域６２内に認証ソフトウェア５４をインストールして、デバイスの非セキュア部分を通過することなく認証ソフトウェア５４は認証テーブルを入手することができる。
【００６５】
セキュア領域６２は、他のアプリケーションおよび／またはメモリ・ロケーションをさらに含むことができる。例えば、別のメモリ・ロケーション５８は、セキュア領域６２内のＢＩＯＳ４４によって実行される全ての動作のログ・ファイル、または他の任意のアプリケーションまたは全てのネットワーク・データ交換、例えば、インターネット上での全てのデータ交換による他の任意の動作を記憶しているログ・ファイルを記憶することができる。
【００６６】
さらに、ディジタル署名アルゴリズムは、ＢＩＯＳ４４のセキュア部分に記憶されることが好ましい。このアルゴリズムは、セキュア記憶ロケーション６０内の認証テーブルと同様に保護できる。これは、それら両方がユーザに知られれば、ユーザはディジタル署名を偽造できるからである。認証テーブルと、セキュア領域６２内のディジタル署名アルゴリズムを含む認証ソフトウェア５４に鍵をかけることで両者は保護される。
【００６７】
図４に示す好ましい第３のインストール方法では、認証データ、例えば、認証テーブルは、デバイスのオペレーティング・システムおよびおそらくは上記デバイスのユーザからアクセス可能なメモリ内に記憶されている。上記のように防止しなければならない認証データをユーザが入手するのを防止するために、認証データは暗号化される。それ故、ユーザは暗号化された認証データしか入手できない。ユーザが認証データにアクセスできないようにするため、認証データは、一般に使用されるパーソナル・コンピュータの処理装置に埋め込まれた「リング・ゼロ」処理環境などのセキュアな処理環境でのみ解読すべきである。そのようなセキュアな処理環境は、選択されたソフトウェア・アプリケーションからだけアクセスでき、好ましくは、ユーザが操作するソフトウェア・アプリケーションからはアクセスできない。さらに、解読アルゴリズムおよび／または解読鍵はどのユーザも入手できないようにする。
【００６８】
認証データを２回、すなわち、少なくとも２つの暗号化レイヤを用いて暗号化するのが好ましい。悪意のあるユーザが認証データの解読に１回成功し、第１の暗号化レイヤの解読に成功した場合でも、第２の暗号化レイヤが依然として認証データを保護する。
【００６９】
好ましくは、第１の暗号化レイヤは、デバイス固有の暗号鍵、例えば、デバイスの１つまたは複数の部品の部品番号に関連する暗号鍵を使用する暗号化アルゴリズムを用いる。第２の暗号化アルゴリズムは、好ましくは、供給されたビット列または供給された暗号化アルゴリズムなどの供給されたデータに関連する暗号化レイヤを使用する。それ故、第３の好ましい実施形態は、デバイス固有の暗号鍵を用いてデータを暗号化する暗号化システムをあらかじめ備えた電子デバイスに使用するのに特に適している。このようなデバイスは、当技術分野で周知であり、一般に購入できる。図４に、第３の好ましい実施形態がそのようなデバイスに関連して示されている。
【００７０】
図４は、インストール方法の２つの動作主体を示す。第１の動作主体は、第三者アプリケーションである。第三者アプリケーションは認証データを必要とする電子取引を実行するアプリケーションでよく、デバイス上に認証データが見つからない場合、認証ソフトウェアのインストールを開始する。また、認証ソフトウェアのインストールを開始するのは、ユーザが制御するアプリケーションまたはオペレーティング・システムでもよい。インストール方法の第２の動作主体は認証ソフトウェアである。この方法は、第３の動作主体により拡張できる。例えば、デバイス固有の暗号鍵を用いてデータを暗号化する能力をＢＩＯＳに与えることができる。その場合、以下に説明するように、セル２１０または２１２でＢＩＯＳは暗号化レイヤを生成できる。
【００７１】
図４を参照すると、本発明の第３の好ましいインストール方法は、セル２００に示すように、例えば、インターネットを介して得られる認証ソフトウェア・パッケージを入手してインストールするステップから開始する。
【００７２】
認証ソフトウェアをインストールすると、認証ソフトウェアは、セル２０２でマスタ・ビット列（ＭＢＳ）を入手する。マスタ・ビット列（ＭＢＳ）は、文字、例えば２０４８個の数字の大きなアレイである。ＭＢＳは、認証ソフトウェア・パッケージ内に埋め込むことができ、その場合、図４に示すように、別に入手する必要はない。
【００７３】
上記マスタ・ビット列（ＭＢＳ）から、セル２０４で、認証ソフトウェアはビット列を選択する。それ故、上記ビット列は、いくつかの上記文字、例えば、ＭＢＳからランダムに選択した１２８個の文字を含む。
【００７４】
認証ソフトウェアは、セル２０６で、ビット列から認証データ、例えば、認証テーブルを生成する。認証ソフトウェアは、上記セキュアな処理環境で実行される。それ故、ビット列から認証データを生成するアルゴリズムは、認証データまたは上記アルゴリズムを入手したい悪意のあるユーザから保護される。
【００７５】
認証データは、第１の取引当事者のデバイスで生成されたビット列から生成され、それ故、そのビット列は、第２の取引当事者または信頼できる第三者（ＴＴＰ）には知られていない。それ故、第２の取引当事者は、認証データを生成して（その複製を）記憶することができない。取引の第１の取引当事者の識別で、認証データは、第２の取引当事者またはＴＴＰが知っている必要がある。それ故、認証データが取引において識別に使用される場合、セル２０８でビット列の複製が、認証ソフトウェア・パッケージのサプライヤ、または第２の取引当事者またはＴＴＰである別の当事者に返される。
【００７６】
ビット列は、相手当事者に返送する時に暗号化してもよいし、またはしなくてもよい。上記ビット列から認証データを生成するアルゴリズムが確実にいかなるユーザにも知られないようにする場合、認証データを生成するための実際のビット列を任意のユーザに知らせることができる。
【００７７】
生成された認証データは、コンピュータ・デバイスのハード・ドライブなどのユーザ・アクセス可能なメモリ、またはフレキシブル・ディスクまたはフラッシュ・メモリのような着脱可能メモリに記憶することができる。上記のように、認証データは、いかなるユーザ、特に悪意のあるユーザからも保護されなければならない。さらに、認証データは、好ましくは、セキュアな処理環境で実行されている認証ソフトウェアによって暗号化されてから、上記ユーザ・アクセス可能なメモリに記憶される。
【００７８】
セル２１０で、認証データは、第１の暗号化レイヤ、例えば、認証ソフトウェア・パッケージの一部である暗号化アルゴリズムによって暗号化される。このアルゴリズムは、いかなるユーザにも知られないように保護される。セル２１２で、認証データは、第２の暗号化レイヤによって、例えば、ハードウェア・デバイスのシリアル番号に関連する暗号鍵などを用いてさらに暗号化され、それによって別のデバイスへの不正な複製が防止される。認証データが着脱可能メモリ、例えば、フラッシュ・メモリに記憶されている場合、暗号鍵は着脱可能メモリのシリアル番号に関連していてもよい。好ましくは、暗号鍵は（また）ユーザ識別番号、例えば、個人識別番号（ＰＩＮ）またはユーザの指紋に関連する番号もしくはテンプレートなどに関連していてもよい。
【００７９】
セル２１４で、暗号化された認証データはメモリに記憶される。それ故、デバイスは、認証ソフトウェアと、暗号化によってユーザに知られないように保護された認証データを備える。デバイスは、本発明の取引方法および正当な使用の検証方法を実行するためにインストールされる。
【００８０】
図５Ａは、本発明の第３の実施形態のインストール方法を実行する電子デバイスのある実施形態の概略図である。図５Ａの概略図は、図３の図と同様である。図示された電子デバイスは、ハードウェア４２と、ＢＩＯＳ４４と、オペレーティング・システム４８と、ユーザ・アプリケーション５０と、コンソール５２とを備える。以下の説明から、セキュア領域６２（図３に示す）は、本発明のインストール方法の第３の実施形態を実行するのに必須ではないことは当業者には明らかであろう。
【００８１】
図４に示す方法による認証ソフトウェア・パッケージのインストール後に、暗号化されたデータ・パッケージがハードウェア４２の一部のメモリ・ロケーション６３に記憶される。メモリ・ロケーション６４にはユーザがユーザ・アプリケーション５０を介してアクセス可能である。アプリケーション５０はオペレーティング・システム４８に要求を送信することでメモリ・ロケーション６３にデータを要求できる。オペレーティング・システム４８は、おそらくＢＩＯＳ４４を介してメモリ・ロケーション６３に記憶されたデータを得ることができる。認証ソフトウェアもインストールして、図示のようにユーザ・アクセスが可能なメモリ・ロケーションに記憶できる。認証ソフトウェアは暗号化してもよいし、しなくてもよい。
【００８２】
メモリ・ロケーション６３に記憶されたデータは、暗号化された認証データである。認証データを暗号化すると、ユーザ・アプリケーション５０は、データを使用できなくなる。図５Ｂは、メモリ・ロケーション６３に記憶された認証データ６３Ａの暗号化を示す。図４に示すように、認証データ６３Ａは２回暗号化される。第１の暗号化レイヤ６３Ｂおよび第２の暗号化レイヤ６３Ｃは、認証データ６３Ａを保護する。上記暗号化レイヤ６３Ｂおよび６３Ｃは、対応するアプリケーションによる解読によって削除できる。
【００８３】
一方の暗号化レイヤは、認証ソフトウェア５４によって解読できる。他方の暗号化レイヤは、デバイス固有の暗号鍵を用いて電子デバイスに記憶された暗号化／解読アプリケーションであってもよい。このようなアプリケーションは、ＢＩＯＳ内またはセキュア領域５８内（図３に示す）に記憶でき、暗号鍵４６を使用できる。別の実施形態では、暗号化レイヤは１つだけでもよいし、または他の任意の暗号化／解読アプリケーションを使用してもよい。
【００８４】
再度図５Ａを参照すると、アプリケーション５０は、電子取引またはディジタル・データの正当な使用を検証するためのディジタル署名を必要としてもよい。さらに、メモリ・ロケーション６３に記憶された認証データの解読を開始し、上記ディジタル署名を生成するために認証ソフトウェア５４が実行される。１つの認証テーブルから、多数のディジタル署名を生成できる。図６は認証テーブルからある種のディジタル署名を生成する方法を示し、また、多数の様々なディジタル署名を生成する方法を示す。動作ごとに異なるディジタル署名を使用することで、違反行為または偽造の機会は最小限になり、違法な複製の元を追跡する能力は最大限になる。
【００８５】
図６は、２つの動作主体、すなわち、ＢＩＯＳと認証ソフトウェアとを示す。認証ソフトウェアは、セル６４でデータを収集することから開始する。必要な構成要素が複数ある。最初に、ディジタル署名が生成される各々の場合に、同一の固定構成要素が使用される。さらに、可変構成要素が使用され、そのため、この方法は、多数の異なるが追跡可能なディジタル署名を生成することができる。システム追跡構成要素、例えば、取引ＩＤも場合によって異なる。２つの可変構成要素によって、いくつかの生成されたディジタル署名から認証テーブルを入手することが事実上不可能になる。任意選択として、個人識別番号（ＰＩＮ）またはパスワードを用いてユーザと認証ソフトウェアが埋め込まれているデバイスを識別できる。
【００８６】
必要なデータが全て収集されると、セル６６で、認証ソフトウェアは、収集したデータをビット列にハッシングして、そのビット列をいくつかのポインタに変換する。セル６８で、暗号鍵を用いて認証テーブルはＢＩＯＳによって解読される。セル６６で生成されたポインタは認証テーブル内の位置をポイントする。セル７０で、ポインタを用いて、認証ソフトウェアは、認証テーブルから一連の乱数を収集する。その後、セル７２で、ＢＩＯＳは、再び認証テーブルを暗号化する。最後に、ディジタル署名を生成するために使用した可変データ構成要素を伴ったディジタル署名が、セル７４で要求元アプリケーションに転送される。
【００８７】
本発明によって生成されるディジタル署名は、さまざまな方法で使用できる。第一に、ディジタル・ファイルを追尾および追跡するのに使用できる。第二に、オフラインで使用し、不正に複製されたソフトウェアが使用されるのを防止でき、第三に、ディジタル署名は、オンライン取引および認証、例えば、ネットワーク・アクセス認証に使用できる。
【００８８】
図７は、ディジタル・ファイルの追尾および追跡方法を示す。ディジタル・ファイルに含まれる情報は、例えば著作権によって保護できる。ソフトウェア、映画、または音楽はインターネットから購入しダウンロードできる。しかし、保護された情報を含むこのようなディジタル・ファイルは、ファイルを複製して頒布した人物の痕跡なしに非常に容易に不正に複製して頒布することができる。ディジタル・ファイルに追跡を加えることで不正な複製の元を追跡できる。そのようなディジタル・ファイル、例えば、音楽ファイルの正当なオーナーはファイルを頒布しないが、異なるロケーション、例えば、自宅のコンピュータ上および、例えばＭＰ３プレーヤなどの携帯ディジタル・プレーヤでそのファイルを使用できる。
【００８９】
セル８０で、第三者アプリケーションは、ディジタル・ファイル、例えば、ソフトウェアまたは音楽ファイルの要求を受信する。第三者アプリケーションは、保護された、または追跡可能なディジタル・ファイルを提供するためのものであり、そのために適合された任意のアプリケーションを使用することができる。例えば、オンライン・アプリケーションでもよい。
【００９０】
次に、セル８２で、第三者アプリケーションは、認証ソフトウェアがインストールされ、実行中であるか否かを要求元デバイスに問い合わせる。セル８４で、ＢＩＯＳが応答する。認証ソフトウェアがインストールされていないか実行中でない場合、図２のセル２４で、デバイスは、信頼できる第三者に再ルーティングされてソフトウェアをダウンロードしてインストールする。
【００９１】
ソフトウェアがインストールされ実行中の場合、第三者アプリケーションは、セル８６で要求元デバイスのＢＩＯＳに取引ＩＤを転送することで取引を開始する。セル８８で、ＢＩＯＳおよび認証ソフトウェアは、受信した取引ＩＤを用いて図６に関連して説明した方法に従ってディジタル署名を生成する。
【００９２】
次に、生成されたディジタル署名は、可変データ構成要素、例えば、日付／時間と一緒に、第三者アプリケーションに送信される。セル９０で、第三者アプリケーションは、自ら提供したディジタル署名、可変データ構成要素、取引ＩＤと、要求元デバイスを識別するある種のデータ、例えば、ＩＰ番号、イーサネット（登録商標）番号、シリアル番号または任意の他の一意の識別番号をデータベースに記憶する。
【００９３】
さらに、ディジタル署名は、セル９２で要求されたディジタル・ファイルに埋め込まれる。このステップは必ずしもセル９０での記憶の後に行う必要はなく、同時またはその前に実行してもよい。
【００９４】
ディジタル署名は、好ましくは、要求されたディジタル・ファイルについて一意的である。ディジタル・ファイルの不正な複製が見つかると、第三者アプリケーションは、ファイルに埋め込まれたディジタル署名を読取った後でどのデバイスにその特定のファイルを送信したかをデータベース内で検査することができる。
【００９５】
ディジタル署名を埋め込んだファイルは、セル９４で要求元デバイスに送信される。これでこの方法は終了する。
【００９６】
別の実施形態では、認証ソフトウェアは、少なくともソフトウェア識別番号（ソフトウェアＩＤ）または以下で秘密鍵と呼ぶ他の任意のアプリケーション識別文字列の一部を用いて本発明に従ってディジタル署名を署名するためのシステムを備えることができる。秘密鍵は、上記秘密鍵を供給した認証ソフトウェア・プロバイダなどの第三者に登録されている。秘密鍵を用いて一意的にディジタル署名に署名し、署名されたディジタル署名を第２の取引当事者に送信するディジタル署名に追加することができる。第２の取引当事者は、秘密鍵なしでは署名されたディジタル署名を生成できない。第２の取引当事者は、署名されたディジタル署名を記憶するだけである。
【００９７】
第１の取引当事者は、後になって、取引を実行していず、ディジタル署名も生成していないと主張し、それ故、別の当事者が、対応するディジタル署名を生成できる状態で故意に第１の取引当事者になりすましたと主張することがある。第２の取引当事者は、署名されたディジタル署名を第三者に送信して署名されたディジタル署名を検証することができる。第三者は、署名されたディジタル署名を検証できる。署名されたディジタル署名に基づいて、悪意のあるユーザが取引を実行したか、または第１の取引当事者が取引を実行していないと嘘の主張をしたかが判定できる。
【００９８】
図８は、ディジタル・ファイルが元の所期デバイスとは別のデバイスで使用されるのを防止する方法を示す。本発明に従ってディジタル方式で署名されたアプリケーションを、例示のために図６に関連して説明する。しかし、音楽またはビデオを含むファイルなどの任意の他の署名されたディジタル・ファイルにもこの方法を用いることができる。
【００９９】
セル１００で、ディジタル署名を埋め込んだアプリケーションが認証ソフトウェアをそのＢＩＯＳ内にインストールしたデバイス上で実行される。埋め込まれたディジタル署名は上記デバイス上で生成されたもので、それ故、デバイスに固有である。例えば、アプリケーションは、図７に関連して説明した方法を用いて入手したものかもしれない。いずれにせよ、アプリケーションは署名され、認証ソフトウェアをインストールした特定のデバイス上で使用されるようにプログラミングされている。
【０１００】
アプリケーションは、その埋め込まれたディジタル署名の検証で開始するようにプログラミングされている。それ故、アプリケーションは、セル１０２で、そのディジタル署名を検証するようにＢＩＯＳに要求する。ＢＩＯＳがディジタル署名を検証できるためには、ＢＩＯＳは、ディジタル署名を生成するのに使用したデータ構成要素を必要とする。したがって、セル１０４で、アプリケーションは、データ構成要素をＢＩＯＳに転送する。アプリケーションから全ての必要なデータを受信すると、ＢＩＯＳはセル１０６でディジタル署名を再生する。
【０１０１】
検証のために、埋め込まれたディジタル署名を再生されたディジタル署名と比較することが必要である。この比較は、ＢＩＯＳ内の認証ソフトウェアまたはＢＩＯＳが実行できる。それ故、セル１０８で、ＢＩＯＳは、埋め込まれたディジタル署名を受信してそれを再生されたディジタル署名と比較する。
【０１０２】
２つのディジタル署名が同一の場合、アプリケーションはセル１１０で開始する。そうでない場合、ＢＩＯＳは、アプリケーションの開始を防止し、アプリケーションがアプリケーションの不正な複製を使用しようとしていることをおそらくユーザに通知する。
【０１０３】
図９は、オンライン取引方法を示す。オンライン・アプリケーションには取引要求、おそらくは金融取引がアクセスする。例えば、取引は、ある品目をオンラインで購入したい顧客である。普通、そのような取引は、クレジット・カードを用いて実行される。しかし、顧客からは、クレジット・カード番号と多少の追加データだけが供給される。後になって、顧客が、購入していないあるいはクレジット・カードを使用していないと言った場合、普通のクレジット・カード取引と同様、署名を検査して検証する方法はない。
【０１０４】
図９を参照すると、セル１２０で、オンライン・アプリケーションは取引要求を受信する。この要求があると、オンライン・アプリケーションは、要求元デバイスのＢＩＯＳに本発明の認証ソフトウェアがインストールされ実行されているか否かを問い合わせる。認証ソフトウェアがインストールされ実行されていない場合、要求元デバイスはＴＴＰに再ルーティングされ、図２または図４に関連して説明した方法に従って認証ソフトウェアと認証テーブルがダウンロードされ、インストールされる。
【０１０５】
認証ソフトウェアがインストールされ実行されている場合、それに従って、ＢＩＯＳはセル１２４で応答し、オンライン・アプリケーションは、セル１２６で取引ＩＤを引き渡す。次に、要求元デバイスは、セル１２８で、図６に関して説明した方法に従ってディジタル署名を生成できる。次に、ディジタル署名を生成するのに使用する可変データ構成要素とディジタル署名自体は、次にオンライン・アプリケーションに転送され、次にオンライン・アプリケーションは、セル１３０で取引を終了する。
【０１０６】
この場合、ディジタル署名は署名として機能する。後になって、顧客が、例えば、自分のクレジット・カードを使用していないと主張した場合、オンライン・アプリケーションのオーナーは、ディジタル署名を検証できる。ディジタル署名の検証は、顧客に認証テーブルを供給し、上記認証テーブルを再生できる信頼できる第三者が実行できる。また、オンライン・アプリケーションが記憶した可変データ構成要素を使用してディジタル署名を再生する顧客デバイスを用いても、ディジタル署名の検証は実行できる。
【０１０７】
任意選択として、ある種のオンライン第三者アプリケーションは特定のデバイスとの取引で、上記ある種のオンライン第三者アプリケーションとの取引で使用する専用の認証テーブルを使用できる。このような特定の認証テーブルは、取引の完了前に第三者アプリケーションがディジタル署名を前もって検証でき、それによって後で問題が発生するのを防止できるという利点を有する。
【０１０８】
特定の認証テーブルは、デバイスが認識するアルゴリズムを用いて上記デバイスのＢＩＯＳ内に記憶した認証テーブルから得られる。次に、元の認証テーブルから得られた特定の認証テーブルは、ＴＴＰによってオンライン・アプリケーションに供給される。それ故、デバイスは特定の認証テーブルを得る方法を認識し、オンライン第三者アプリケーションはあるテーブルを認識しているが、それは、デバイスのＢＩＯＳに記憶された元のテーブルではない。別の方法では、オンライン第三者は、要求元デバイスに別の認証テーブルを供給することができる。特定の認証テーブルは、記憶される前にＢＩＯＳ固有の暗号鍵を用いて暗号化される。そうすることにより、供給元第三者は、記憶された認証データを知ることはなく、それ故、第三者はそのデータを不正に使用することはできない。
【０１０９】
要求元デバイスがディジタル署名を生成するために使用する認証テーブルをオンライン・アプリケーションが認識している場合、要求元デバイスは、ネットワーク、例えば、企業の私設網に接続中のデバイスの可能性がある。要求元デバイスは、企業ネットワークへのアクセスが許可される前に、企業ネットワークによって識別される必要がある。接続されると、要求元デバイスは、固定データ構成要素と可変データ構成要素とを用いて生成されたディジタル署名を送信する。固定データ構成要素は、パスワードまたは個人識別番号（ＰＩＮ）を含むことができる。固定データ構成要素は企業ネットワークに認識されているので、保護されていないネットワーク接続上で送信する必要はない。使用される可変データ構成要素だけが保護されていないネットワーク接続上で送信される。それ故、企業ネットワークは、使用される可変データ構成要素を受信した後で接続中のデバイスのディジタル署名を再生できる。この方法は、保護されていない接続上では、パスワードもＰＩＮも送信されず、ディジタル署名がデバイス（認証テーブル）とユーザ（ＰＩＮまたはパスワード）の両方を識別するという利点を有する。
【０１１０】
上述のように、取引またはネットワーク認証を保護することとは別に、動作環境内で使用するハードウェアも検証することができる。例えば、第１のコンピュータが第２のコンピュータと通信する場合、第２のコンピュータは、上記の取引で使用する場合と類似のデータを用いて類似の方法で識別することができる。第２のコンピュータの認証テーブルが第１のコンピュータで認識されている場合、第２のコンピュータの識別は、第１のコンピュータによって検証できる。コンピュータの１つがプリンタと通信する時にも、デバイス内に認証テーブルが安全に記憶されている限り、類似の手順が可能である。
【０１１１】
図１０は、フラッシュ・メモリなどの着脱可能な携帯メモリに記憶されたディジタル・データにアクセスするユーザを認証するための方法を示す。ディジタル・データは、図４に図示し同図に関連して説明した（認証）データを保護する暗号化方法を用いて着脱可能メモリに記憶できる。すなわち、データは、少なくとも１つ、好ましくは、その一方が、図４に従ってインストールされた認証ソフトウェアに関連する少なくとも２つの暗号化レイヤを用いて暗号化される。着脱可能メモリは、上記認証ソフトウェアに関連する暗号化レイヤを解読するために、図４に示す上記方法に従って認証ソフトウェアがインストールされている電子デバイスに接続できる。
【０１１２】
図１０を参照すると、ディジタル・データは、着脱可能な携帯メモリに記憶されている。ディジタル・データは、別の電子デバイス、例えば、職場のコンピュータ・デバイス上では暗号化されている。一方、ディジタル・データにアクセスしようとしている電子デバイスは、自宅のコンピュータ・デバイスである。
【０１１３】
ディジタル・データにアクセスするための認証ソフトウェアは、図４のインストール方法に従って、両方のコンピュータ・デバイス、例えば、自宅と職場のコンピュータ・デバイスにインストールされる。ディジタル・データは、テキスト・エディタ、表計算アプリケーション、オーディオまたはビデオ・アプリケーションなどのユーザ・アプリケーションが読み出すことができる。別のケースでは、ディジタル・データは、電子デバイスが実行するソフトウェア・アプリケーションである。
【０１１４】
着脱可能な携帯メモリを電子デバイスに接続した後、ユーザはユーザ・アプリケーションを開始する。セル２２０で、ユーザ・アプリケーションからディジタル・データにアクセスする試みがなされる。しかし、ディジタル・データは暗号化されている。
【０１１５】
次に、セル２２２で、認証ソフトウェアが起動されてディジタル・データが解読される。ディジタル・データは、認証ソフトウェアに転送される。セル２２４で、認証ソフトウェアは、例えば、認証ソフトウェアに埋め込まれた解読アルゴリズムを用いて、第１の暗号化レイヤを解読する。上記解読アルゴリズムは、認証ソフトウェアを備えた各デバイスで同一である。
【０１１６】
認証ソフトウェアを備えたいかなるデバイスもディジタル・データを解読できないように、ディジタル・データを第２の暗号化レイヤで保護できる。第２の暗号化レイヤの解読には解読鍵が必要である。このような解読鍵は携帯メモリのシリアル番号に関連付けることができ、ディジタル・データが上記携帯メモリに記憶されている場合にのみ、ディジタル・データが確実に解読できるようにする。したがって、他の任意のメモリ内のディジタル・データの複製は解読できなくなる。同様に、解読鍵を個人識別番号（ＰＩＮ）に関連付けて、ＰＩＮなしでディジタル・データを使用不可にできる。別の実施形態では、解読鍵をユーザの指紋に関連付けて、その特定のユーザの存在なしにディジタル・データを使用不可にできる。
【０１１７】
解読鍵を保護されたハッシング・アルゴリズムによってシリアル番号、ＰＩＮ、または指紋などの任意の識別特性に関連付けることができる。解読鍵は、シリアル番号またはＰＩＮと同一であってもよい。しかし、特性のハッシング、特に、セキュアな処理環境でのハッシングによって追加のセキュリティ・レイヤが提供される。
【０１１８】
セル２２６で、解読鍵を生成するためのデータが収集され、解読鍵が生成される。次に、セル２２８で、第２の暗号化レイヤが解読される。これでディジタル・データは、ユーザ・アプリケーションによるアクセスに適したものになる。それ故、セル２３０で、ディジタル・データがユーザ・アプリケーションに提供され、セル２３２で、ユーザ・アプリケーションは、ディジタル・データにアクセスしてこれを使用する。ディジタル・データの使用とおそらくは変更を経て、認証ソフトウェアの暗号化アルゴリズムおよびディジタル・データにアクセスするのに使用される解読鍵を用いて、ディジタル・データが再び着脱可能メモリに記憶される。
【０１１９】
以上、解読アルゴリズムは認証ソフトウェアを備えた各デバイスで同一であることを説明してきた。しかし、解読／暗号化アルゴリズムは、各デバイスで異なっていてもよいし、または特定のユーザによって取得された認証ソフトウェア・パッケージを用いてインストールされた各デバイスで同一であってもよい。それ故、ディジタル・データは、前記特定のユーザによってすでにインストールされているデバイス上でのみアクセス可能である。
【０１２０】
その場合、アルゴリズムを保護するために、特定のユーザにソフトウェア・パッケージが供給される前にユーザ固有のアルゴリズムをソフトウェア・パッケージに埋め込まなければならないので、上記認証ソフトウェアを供給する取引当事者にある種の認証データを提供する必要がある。
【０１２１】
さらに別の実施形態では、本発明によって生成される暗号鍵を用いてディジタル・データを暗号化できる。すなわちディジタル署名の生成方法と同一である。図６は、固定データ、可変データ、個人データおよび／またはデバイス固有データなどのセッション固有データを収集することで、本発明のディジタル署名を生成する方法を示す。上記セッション固有データをハッシングすることで参照番号が生成され、本発明に従って安全に記憶された認証テーブル内の位置を参照できる。認証テーブルの上記位置に記憶された文字を収集することで、いくつかの文字を含むビット列が生成できる。上記ビット列は任意の数の文字を含んでいてもよく、上記数はセッション固有データに依存していてもよい。未知の数のビットを有する暗号鍵で暗号化されたデータは、上記データにアクセスする権限がない別の人物によって解読することは事実上不可能である。
【０１２２】
データを解読するには、暗号鍵が必要である。暗号鍵を入手するには、認証テーブルおよびセッション固有データが必要である。認証テーブルを本発明のデバイスに記憶しインストールしておけば、データを上記デバイスのメモリに安全に記憶することができる。データは、上記デバイスを用いてアクセスした時には容易に解読できる。しかし、他の任意のデバイス上の上記暗号化データの複製は事実上アクセス不能になる。
【０１２３】
２つ以上の別のデバイスに同一の認証テーブルが記憶された場合、上記２つ以上のデバイス間で暗号化データを交換できる。セッション固有データと共に暗号化データが１つのデバイスから他のデバイスに転送される場合、他のデバイスは、暗号鍵を再生してデータを解読できる。このような暗号化および解読方法は、インターネットなどの公衆アクセスが可能なネットワーク上の上記２つ以上のデバイス間のセキュア通信に特に有用である。
【０１２４】
一実施形態では、ネットワーク・サーバは、上記サーバに接続されたクライアント・デバイスの全ての認証テーブルを備えている。サーバおよび上記サーバのネットワークにアクセスしようとするクライアントは、そのディジタル署名によって認証され、その後、全ての交換データはディジタル署名を用いて暗号化できる。クライアントが他のクライアントにデータを送信する場合、データを暗号化してセッション固有データと共にサーバに転送できる。サーバは、セッション固有データおよび第１のクライアントの認証テーブルを用いてデータを解読する。次に、サーバは、同じまたは別のセッション固有データを使用する他方のクライアントの認証テーブルを用いてデータを再び暗号化する。次に、暗号化されたデータは、対応するセッション固有データと共に他方のクライアントに転送され、他方のクライアントは、その認証テーブルを用いてデータを解読する。
【０１２５】
図１０を再度参照すると、着脱可能な携帯メモリ・デバイスに安全に記憶されたディジタル・データは、本発明の認証テーブルを使用することもできる。それ故、着脱可能な携帯メモリ・デバイスが上記デバイスに接続され、上記デバイスが図１０の認証ソフトウェアを備えている時には、認証テーブルを用いて暗号化されたディジタル・データは任意のデバイス上で解読できる。
【図面の簡単な説明】
【０１２６】
【図１】本発明による新しいデバイスのためのインストール方法のチャートである。
【図２】本発明による既存のデバイスのためのインストール方法のチャートである。
【図３】本発明によるＢＩＯＳに認証ソフトウェアおよび認証テーブルをインストールしたコンピュータ構成の概略図である。
【図４】本発明による既存のデバイスのための別のインストール方法のチャートである。
【図５Ａ】ユーザ・アクセス可能なメモリに認証ソフトウェアおよび認証テーブルをインストールしたコンピュータ構成の概略図である。
【図５Ｂ】２つの暗号化レイヤによって確保されたメモリ・ロケーションの概略図である。
【図６】乱数表からディジタル署名を生成する方法のチャートである。
【図７】本発明によるパーソナル化された追跡可能なディジタル・ファイルを生成する方法のチャートである。
【図８】本発明によるディジタル権利のオフライン認証のチャートである。
【図９】本発明によるオンライン認証または取引方法のチャートである。
【図１０】本発明による着脱可能メモリに記憶されたディジタル・データのディジタル権利のオフライン認証のチャートである。
【図１】
2006527446.tif 000003
【図２】
2006527446.tif 000004
【図３】
2006527446.tif 000005
【図４】
2006527446.tif 000006
【図５Ａ】
2006527446.tif 000007
【図５Ｂ】
2006527446.tif 000008
【図６】
2006527446.tif 000009
【図７】
2006527446.tif 000010
【図８】
2006527446.tif 000011
【図９】
2006527446.tif 000012
【図１０】
2006527446.tif 000013
【国際調査報告】
2006527446.tif 000014
2006527446.tif 000015
2006527446.tif 000016
2006527446.tif 000017
2006527446.tif 000018