(57)【要約】  プログラム可能なユーザ装置を用いてセキュリティコードを生成する方法が述べられる。この生成されるセキュリティコードは、それ自体が、ユーザ及びプログラム可能なユーザ装置の両方を表す。一実施形態では、ユーザが自分のユーザ名で登録されているサービスプロバイダを表すサービスプロバイダコードは、このセキュリティコードを計算する基準に加えられる部分を形成している。このセキュリティコードは、いくつかのセキュリティ用途、例えば、ユーザとサービスプロバイダとの間で双方向に交換される情報への署名や、そのような情報の暗号化／復号化のためだけでなく、情報のローカル保存のためやユーザ認証のためにも役立つ。
2008527905.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ認証のために、並びに、少なくとも１つのデータ入力インターフェイスと、データ処理手段と、ユーザ装置を一意的に識別する機器識別子が予め保存されている読み取り可能な改ざん防止記憶装置を含むデータ記憶手段とを備えたプログラム可能な前記ユーザ装置を用いて情報を保存し、情報に署名し、情報を暗号化／復号化するために、再生可能なセキュリティコードを生成する方法であって、
前記データ入力インターフェイスを介して、ユーザ個人コードを前記ユーザ装置に入力するステップと、
前記ユーザ装置の前記データ記憶手段から前記機器識別子を取り出すステップと、
少なくとも前記機器識別子と前記ユーザ個人コードとの組合せに基づいて、セキュリティコードを前記ユーザ装置内で計算するステップと、
それ自体が前記ユーザ及び前記ユーザ装置の両方を表すように計算された前記セキュリティコードを出力するステップと、
を備えたことを特徴とするセキュリティコード生成方法。
【請求項２】
請求項１に記載のセキュリティコード生成方法であって、
前記セキュリティコードを前記ユーザ装置内で計算する前に、
前記ユーザが自分のユーザ名で登録されているサービスプロバイダを表すサービスプロバイダコードを、前記ユーザ装置に入力するステップと、
前記機器識別子と前記ユーザ個人コードと前記サービスプロバイダコードとの組合せに基づいて、セキュリティコードを前記ユーザ装置内で計算するステップと、
或る特定のサービスプロバイダに、それ自体が前記ユーザ及び前記ユーザ装置を表す前記計算されたセキュリティコードを出力するステップと、
をさらに備えたことを特徴とするセキュリティコード生成方法。
【請求項３】
請求項１又は２に記載のセキュリティコード生成方法であって、
前記ユーザ個人コード及び前記サービスプロバイダコードがそれぞれ、対応する一連の英字及び／又は数字、又は一連のバイナリデータを含むことを特徴とするセキュリティコード生成方法。
【請求項４】
請求項１又は２に記載のセキュリティコード生成方法であって、
前記ユーザ装置のユーザを表す生体データが、前記ユーザ個人コードの全て又は一部を構成することを特徴とするセキュリティコード生成方法。
【請求項５】
請求項３に記載のセキュリティコード生成方法であって、
前記サービスプロバイダコードが、前記サービスプロバイダより提供されるサービスを表すことを特徴とするセキュリティコード生成方法。
【請求項６】
請求項２に記載のセキュリティコード生成方法であって、
前記サービスプロバイダコードを前記ユーザ装置の前記データ記憶手段に保存するステップをさらに備えたことを特徴とするセキュリティコード生成方法。
【請求項７】
請求項６に記載のセキュリティコード生成方法であって、
前記ユーザ装置の前記データ記憶手段に予め保存されている、前記機器識別子と前記ユーザ個人コードと前記サービスプロバイダコードとの組合せに基づいて、セキュリティコードを前記ユーザ装置内で計算することを特徴とするセキュリティコード生成方法。
【請求項８】
自分のユーザ名及び請求項１〜７のいずれか１項に記載の方法によって得られた関連セキュリティコードを用いて、サービスプロバイダのカスタマファイルに登録されている、ユーザ装置のユーザを認証する方法であって、
ユーザ名を前記サービスプロバイダに示すステップと、
前記サービスプロバイダで、前記カスタマファイルを検索して、前記示されたユーザ名を見つけ出し、前記ユーザ名が前記カスタマファイルにある場合には、チャレンジコードを前記ユーザに戻すステップと、
ユーザ個人コードを前記ユーザ装置に入力して、前記ユーザ装置の前記データ記憶手段から前記ユーザ装置の前記機器識別子を取り出すステップと、
前記セキュリティコードを前記ユーザ装置内で計算するステップと、
前記チャレンジコードとして前記サービスプロバイダから受け取った変数を前記ユーザ装置に入力し、暗号アルゴリズムを用いて、前記セキュリティコード及び前記変数に基づいて、ワンタイムパスワードを前記ユーザ装置内で計算するステップと、
前記計算されたワンタイムパスワードを前記サービスプロバイダに示すステップと、
前記サービスプロバイダで、前記ユーザによって示された前記ユーザ名に対応する前記セキュリティコードを、前記カスタマファイルから取り出すステップと、
前記ユーザ装置と同一の暗号アルゴリズムを使用することで、前記カスタマファイルから取り出された前記セキュリティコードと、前記ユーザに戻され前記ユーザ装置で使用されるものと同一の変数とに基づいて、前記サービスプロバイダでワンタイムパスワードを計算するステップと、
前記サービスプロバイダで、前記サービスプロバイダで計算されたワンタイムパスワードを前記ユーザから受け取ったワンタイムパスワードと比較し、これらのワンタイムパスワードが同一であれば、その認証結果が肯定的であるとし、ユーザ名により識別されたユーザが前記ユーザ装置及び対応するユーザ個人コードの所有者であることが確認され、一方、これらのワンタイムパスワードが同一でなければ、その認証結果が否定的であるとするステップと、
を備えたことを特徴とするユーザ認証方法。
【請求項９】
請求項８に記載のユーザ認証方法であって、
前記ユーザから前記サービスプロバイダに与えられる指示、及び前記サービスプロバイダから前記ユーザに戻される応答が、前記ユーザと前記サービスプロバイダとの間の情報交換を可能とする通信設備を用いて伝えられることを特徴とするユーザ認証方法。
【請求項１０】
請求項９に記載のユーザ認証方法であって、
前記ユーザが、自分の指示を、前記ユーザ装置のデータ入力インターフェイスを介して前記サービスプロバイダに入力して、前記サービスプロバイダに送信し、前記応答を、前記サービスプロバイダから前記ユーザ装置に直接受け取ることができる機能が前記ユーザ装置に設けられたことを特徴とするユーザ認証方法。
【請求項１１】
請求項９に記載のユーザ認証方法であって、
前記双方向通信設備が、前記ユーザ装置外で前記ユーザが利用可能な公衆通信サービス又は公衆通信施設を含むことを特徴とするユーザ認証方法。
【請求項１２】
少なくとも１つのデータ入力インターフェイスと、データ処理手段と、ユーザ装置を一意的に識別する機器識別子が予め保存されている読み取り可能な改ざん防止記憶装置を含むデータ記憶手段とを備えたプログラム可能な前記ユーザ装置に情報を安全に保存する方法であって、当該方法は、保存前に前記情報を暗号化するステップと、当該保存された暗号化された情報の検索時にこの情報を復号化するステップと、を備え、
前記情報を暗号化するステップが、保存される前記情報を、暗号化鍵としてセキュリティコードを用いて暗号化するステップを含み、
前記情報を復号化するステップが、当該保存された暗号化された情報を、復号化鍵として同一のセキュリティコードを用いて検索するステップを含み、
前記セキュリティコードが、
前記データ入力インターフェイスを介して、ユーザ個人コードを前記ユーザ装置に入力するステップと、
前記ユーザ装置の前記データ記憶手段から前記機器識別子を取り出すステップと、
少なくとも前記機器識別子と前記ユーザ個人コードとの組合せに基づいて、セキュリティコードを前記ユーザ装置内で計算するステップと、
前記暗号化ステップ及び前記復号化ステップ毎に、前記計算されたセキュリティコードを出力するステップと、
により生成されることを特徴とする情報保存方法。
【請求項１３】
請求項１２に記載の情報保存方法であって、
前記ユーザ装置のユーザを表す生体データが、前記ユーザ個人コードの全て又は一部を構成することを特徴とする情報保存方法。
【請求項１４】
自分のユーザ名及び請求項１〜７のいずれか１項に記載の方法によって得られた関連セキュリティコードを用いて、サービスプロバイダのカスタマファイルに登録されている、ユーザ装置のユーザと前記サービスプロバイダとの間で交換される情報要素に署名する方法であって、
前記情報要素が前記ユーザ装置に存在しない場合は、前記ユーザによって署名される前記情報要素を、前記サービスプロバイダから前記ユーザ装置に転送するステップと、
前記ユーザ装置にユーザ個人コードを入力して、前記ユーザ装置の前記データ記憶手段から前記ユーザ装置の前記機器識別子を取り出すステップと、
前記セキュリティコードを前記ユーザ装置内で計算するステップと、
暗号アルゴリズムを用いることで、前記セキュリティコード、及び署名され前記サービスプロバイダに転送される前記情報要素とに基づいて、「シグネーチャ」を前記ユーザ装置内で計算するステップと、
前記ユーザ名及び前記「シグネーチャ」を前記サービスプロバイダに転送し、かつ、前記ユーザによって署名される前記情報要素が前記サービスプロバイダに存在しない場合には、前記情報要素も前記サービスプロバイダに転送するステップと、
前記サービスプロバイダで、前記ユーザから受け取ったユーザ名に対応するセキュリティコードを、前記カスタマファイルから取り出すステップと、
前記ユーザ装置と同一の暗号アルゴリズムを使用することで、前記カスタマファイルから取り出された前記セキュリティコードと、前記情報要素とに基づいて、前記サービスプロバイダで「シグネーチャ」を計算するステップと、
前記サービスプロバイダで、前記サービスプロバイダで計算された「シグネーチャ」を前記ユーザから受け取った「シグネーチャ」と比較し、これらの「シグネーチャ」が同一であれば、前記ユーザ装置の前記ユーザが前記情報要素に意図的に署名していること、及び前記情報要素が変更されていないことが確認され、一方、これらの「シグネーチャ」が同一でなければ、その署名結果が否定的であるとするステップと、
を備えたことを特徴とする情報要素署名方法。
【請求項１５】
請求項１４に記載の情報要素署名方法であって、
前記「シグネーチャ」は、デジタル署名或いは電子署名、又はメッセージ認証コード（ＭＡＣ）を含むことを特徴とする情報要素署名方法。
【請求項１６】
自分のユーザ名及び請求項１〜７のいずれか１項に記載の方法によって得られた関連セキュリティコードを用いて、サービスプロバイダのカスタマファイルに登録されている、ユーザ装置のユーザから前記サービスプロバイダに転送される情報要素を安全にする方法であって、
前記ユーザ装置にユーザ個人コードを入力して、前記ユーザ装置の前記データ記憶手段から前記ユーザ装置の前記機器識別子を取り出すステップと、
前記セキュリティコードを前記ユーザ装置内で計算するステップと、
暗号アルゴリズムと、暗号化鍵としての前記セキュリティコードとを使用することで、前記サービスプロバイダに転送される前記情報要素を前記ユーザ装置内で暗号化するステップと、
前記ユーザ名及びこの暗号化された情報要素を前記サービスプロバイダに転送するステップと、
前記サービスプロバイダで、前記ユーザから受け取ったユーザ名に対応するセキュリティコードを、前記カスタマファイルから取り出すステップと、
前記ユーザ装置と同一の暗号アルゴリズムを使用することで、復号化鍵として前記カスタマファイルから取り出された前記セキュリティコードを使用して、前記暗号化された情報要素を前記サービスプロバイダで復号化するステップと、
を備えたことを特徴とする情報要素安全化方法。
【請求項１７】
自分のユーザ名及び請求項１〜７のいずれか１項に記載の方法によって得られた関連セキュリティコードを用いて、サービスプロバイダのカスタマファイルに登録されている、ユーザ装置のユーザに前記サービスプロバイダから転送される情報要素を安全にする方法であって、
前記サービスプロバイダで、前記情報要素が転送される前記ユーザの前記セキュリティコードを前記カスタマファイルから取り出すステップと、
暗号アルゴリズムと、暗号化鍵としての前記セキュリティコードとを使用することで、前記情報要素を暗号化するステップと、
この暗号化された情報要素を前記ユーザに転送するステップと、
前記暗号化された情報要素を前記ユーザ装置で受け取ると、前記ユーザ装置にユーザ個人コードを入力して、前記ユーザ装置の前記データ記憶手段から前記ユーザ装置の前記機器識別子を取り出すステップと、
前記セキュリティコードを前記ユーザ装置内で計算するステップと、
前記サービスプロバイダと同一の暗号アルゴリズムを使用することで、復号化鍵として、前記ユーザ装置で計算された前記セキュリティコードを用いて、前記暗号化された情報要素を前記ユーザ装置内で復号化するステップと、
を備えたことを特徴とする情報要素安全化方法。
【請求項１８】
少なくとも１つのデータ入力インターフェイスと、データ処理手段と、ユーザ装置を一意的に識別する機器識別子が予め保存されている読み取り可能な改ざん防止記憶装置を含むデータ記憶手段とを備えたプログラム可能な前記ユーザ装置であって、請求項１〜１８のいずれか１項に記載の方法に応じたプロセスを実行するようプログラムされていることを特徴とするユーザ装置。
【請求項１９】
請求項１８に記載のユーザ装置であって、
前記ユーザ装置の機器識別子は、ユーザに受け渡す前に前記ユーザ装置に組み込まれた製品シリアルナンバーであることを特徴とするユーザ装置。
【請求項２０】
請求項１９に記載のユーザ装置であって、
前記ユーザ装置が携帯電話であり、前記ユーザ装置の機器識別子は、国際携帯機器ＩＤ（ＧＳＭ電話の場合はＩＭＥＩコード）であることを特徴とするユーザ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ認証のために、また、プログラム可能なユーザ装置を用いて情報を保存し、情報に署名し、情報を暗号化／復号化するために、再生可能なセキュリティコードを生成する方法に関する。本発明はまた、この再生可能なセキュリティコードを、様々なセキュリティ目的で利用させる方法と、それに対応するプログラム可能なユーザ装置にも関する。
【背景技術】
【０００２】
サービスプロバイダがサービスを提供して、電子媒体を通じて情報を公衆に転送する多くの場合に、このサービスを受け取るか、情報をサービスプロバイダと交換する個人の識別を検証できるようにする装置が必要である。従来の認証方式は、ユーザ名とパスワードの対を使用して、ユーザを認証している。しかし、このような単純な方法は、最低限のセキュリティを提供するにすぎない。さらに高度のセキュリティを得るためには、いわゆる二要素認証を使用することが、ますます普通となっている。このような二要素認証は、「ユーザ認識（something you know）」要素（例えば、パスワード）と、「ユーザ所持（something you have）」要素に基づいている。一例として、（ユーザが所持している）銀行支払いカードと、それに対応する（ユーザが認識している）ＰＩＮ（個人識別番号）コードがある。
【０００３】
パスワードが、オープン通信網又はコンピュータネットワーク上で送られることになっている場合には、このパスワードは、容易に他人に取り込まれることがある。それゆえ、一定の（静的）パスワード（例えば、ＰＩＮコード）ではなくて、いわゆるワンタイムパスワード（動的パスワード）を使用できるようにすることが望ましい。このような目的で、例えば多くの銀行は、ワンタイムパスコード（すなわち、使う度に変わる番号）を算定して、それを小さな画面上に表示するカード状の半導体装置（これは、セキュリティトークンとも呼ばれている）を使用している。認証しようとする（ログイン）人は、認証を行うときに、この番号をシステムに入力することで、自分がこの装置の所有者であることを証明する。このような半導体装置の一例は、米国特許第４，５９９，４８９号に開示されている。セキュリティを高めるために、この半導体装置はそれ自体、ときには、この半導体装置を「オープンする」のに必要なＰＩＮコードで保護されることもある。そうする場合に、正しいパスコード番号を表示させる前に、まず最初に正しいＰＩＮを入力しなければならない。
【０００４】
この種の半導体装置に関わる１つの問題は、これらの半導体装置の入手及び配布にかかる多額の費用である。もう１つの問題は、インターネットを介して、様々な機関（施設）からのバンキングサービスなどのいくつかのサービス（例えば、それぞれの利用には個別の半導体装置が必要となる。）の正規ユーザである人が、異なる複数の装置を保ち、かつそれらの装置を取り扱う必要があろうということである。複数のサービスプロバイダが、複数のサービスに対して、共通の、又は一般的な「マルチコード計算機」と全く同一の半導体装置を利用できるとすれば、公衆には実に有益となろう。
【０００５】
その一方、様々な種類の電子機器において、セキュリティ対策を実施できるようにする設備が知られている。例えば、ソフトウェアを通信端末に保存して、ユーザとサービスプロバイダとの間のセキュア通信サービスに使用することがある。この必要とされるソフトウェアは、この端末のメモリに、独立したコンピュータプログラムとして格納されることがある。様々な目的で、異なるサービスプロバイダから得られるアプリケーションが、全く同一の端末に保存されることがある。
【０００６】
セキュア通信サービスなどのサービスに対して、コンピュータプログラムを利用したいと思っている人は、通常は、サービスプロバイダとのセキュア通信のために、その人にコンピュータ上でそのコンピュータプログラムを実行させる前に、そのサービスプロバイダにそのコンピュータプログラムを登録しなければならない。その人は、正規ユーザでありさえすれば、普通、自分のユーザ名とパスワード（おそらく、例えば上述のカード状の半導体装置により提供されるワンタイムパスコード）を入力することで、そのコンピュータプログラムを、どんなコンピュータ上でも実行できる。この手法は、このユーザが、正しいユーザ名とパスワードの所有者、あるいは後者の場合には正しい半導体装置と、それに対応するＰＩＮ（必要である場合）の所有者であることを確かめる。
【０００７】
複数のサービスプロバイダの１つ１つに充てられる複数のカード状装置を持つことから生じる問題を避けるために、本発明は、セキュアＩＤ検証の目的で、現在及び将来の電子情報処理装置、一般に、通信能力を持つものを利用しようとしている。
【０００８】
これを実現するために、本発明者らは、ただ１つの目的で、とりわけ設計された専用のカード状の半導体装置にユーザのＩＤを結びつけるのではなくて、すでに自分が所有しているか、あるいは主として、識別検証の目的とは別のさらに一般的な目的で入手されようとする機器一台に、ユーザのＩＤを結びつける方が費用がさらに安くなり、かつ柔軟性がさらに増すと考えている。
【０００９】
本発明の１つの意図は、本発明によるシステムで使用される現行ユーザ装置のハードウェア構成に、いかなる変更も補足も必要とならないようにすることである。それゆえ、規定される使用に適した電子ユーザ装置は、最小限、プログラム可能であり、かつ、少なくとも１つのデータ入力インターフェイスと、データ処理手段と、データ記憶手段と、データ出力設備とを含むべきである。さらに、この電子ユーザ装置が、本発明により動作するように、このデータ記憶手段は、個々の装置を一意的に識別する機器識別子が保存されている読み取り可能な改ざん防止記憶装置を含まなければならない。
【００１０】
選択されたサービスプロバイダとの情報交換を容易に行えるように、この機器は、好ましくは、適切な通信機能をユーザに提供すべきである。このような通信能力は、その装置に固有のものであるか、機能拡張として追加されることもある。
【００１１】
それゆえ、原理上、本発明を実施するのに、様々な電子ユーザ装置が用いられることがある。しかし、あらゆるＧＳＭ（Global System for Mobile Communications）携帯電話は、改ざん防止メモリに保存された一意の機器識別子、すなわち、主としてＧＳＭネットワーク又はＧＳＭオペレータへの個々のＧＳＭ携帯電話を識別するのに用いられている１５桁コードであるＩＭＥＩ（International Mobile Equipment Identity）をすでに持っているから、ＧＳＭ技術に合致する携帯電話は、本発明の目的にとりわけ適していると見なされる。ＧＳＭ携帯電話がＧＳＭネットワーク上で動作できるためには、通常、ＧＳＭ携帯電話にＩＭＥＩコードが含まれていることが必須である。それゆえ、ＩＭＥＩコードを除去又は変更すれば、その携帯電話は、その主要目的で、すなわちテレコミュニケーションで、動作できなくなろう。
【００１２】
これに関連して、ＩＭＥＩコードを使用して、移動局の使用／起動の適合性をチェックする例と、移動局の使用／起動の権利を統制する例はそれぞれ、米国特許第６，１６４，５４７号、米国特許第５，９５６，６３３号から知られている。さらに、それぞれ米国特許出願公開第２００３／０２３６９８１号と米国特許出願公開第２００４／００３０９０６号から、このＩＭＥＩコードを鍵として使用して、個々のＳＭＳ（Short Message Service）メッセージを暗号化し、また、鍵としてＩＭＥＩコードで算定されたデジタル署名を通じて、これらのＳＭＳメッセージを認証することが知られている。
【００１３】
ＷＯ  ０１／３１８４０  Ａ１は、第１のワンタイムパスワードがどのように、個人識別番号（ＰＩＮ）、加入者識別子（一般に、ＧＳＭネットワーク上のＩＭＳＩ）、装置識別子（一般に、ＧＳＭネットワーク上のＩＭＥＩ）、時間（それゆえ、使うたびに変わるパスコード）に基づいて、移動局内で生成され、次に、認証サーバーにて使用されて、この移動局とコンピュータシステムとの間で通信接続できるようにし得るのか述べた従来技術のさらなる例である。この識別処理を実行するために、その認証サーバーは、移動局から受け取った加入者識別子（ＩＭＳＩ）を使用して、データベースから、その加入者に対応づけられたＰＩＮコード及び装置識別子（ＩＭＥＩ）を検索し、また、検索時に、３つの実体（エンティティ）を全て時間と組み合わせて、第２のワンタイムパスワードを生成し、その第２のワンタイムパスワードを第１のワンタイムパスワードと比較する。
【００１４】
この手法により、或るコンピュータシステム又はサービスプロバイダに認証を行うことができるが、ただし、この手法は、２つ以上のサービスプロバイダで使用するときには、必ずセキュリティを弱める。この手法が２つ以上のサービスプロバイダで使用される場合には、この手法は、それぞれのコンピュータシステムに、同一の識別子（ＰＩＮ、ＩＭＥＩ、ＩＭＳＩ）を提供するように求め、それにより、全ての関係者に対して、そのセキュリティが弱められる。さらに、この手法は、認証だけに使用できるが、署名、暗号化、セキュア提供（配布）のような他のセキュリティ機能には使用できず、例えば、携帯電話に保存されたプライベートＰＫＩ（「公開鍵基盤」、Public Key Infrastructure）鍵など、感知可能な情報のローカル暗号化及びアクセス制御にも使用できない。
【００１５】
ＷＯ  ０１／３１８４０  Ａ１に記載される従来技術の識別処理は、ユーザ対話（user interaction）を全く必要としないユーザに隠された処理であって、この識別処理は、その認証時点でのユーザの不充分な認証しか表さない。さらに、ユーザＰＩＮを含め、この処理で必要となる全ての識別子は、それぞれのサービスプロバイダでのコンピュータシステムに保存されるだけでなく、移動局にも保存される。この手法はまた、そのワンタイムパスワード計算に投入される唯一の変数源として時間の使用にも制限され、さらに、その時間使用がその方法の柔軟性も制限する。
【００１６】
特開２００３−４１０９４９号公報では、一意のコードを生成して、それらのコードを、ユーザの携帯端末にて表示する（例えば、映像の形式で）システム及び方法が開示されている。ユーザは、現金引出し又は支払いサービスのようなサービスにアクセスするために、この映像と「user secret」を使用して、サービスプロバイダ又はコンピュータシステムに対して当人であることを認証する。さらなるユーザ対話を必要とすることは別として、この方法は、この表示からそのコードを非意図的に開示できるという点で弱点がある。この方法は、携帯端末の識別子を利用しないで、ユーザ認証データを生成する。この携帯端末は、二要素認証における堅牢な所持要素（「ユーザが所持しているもの」）としてではなく、通信端末としてのみ使用される。
【００１７】
本発明に関連して、携帯電話のＩＭＥＩコードは、携帯電話が本発明により動作するのに必要な一意の機器識別子として利用されることになる。
【発明の開示】
【発明が解決しようとする課題】
【００１８】
いくつかの異なるサービスプロバイダにアクセスするのに使用できるセキュリティ機構は、いわゆる公開鍵アルゴリズムに基づくことが多い。ＰＫＩシステムでは、秘密鍵は、安全に保存される必要があるが、しかるに、公開鍵は、「信頼できる第三者機関（ＴＴＰ）」により署名された証明書又はディレクトリで公表されることがある。ユーザ単独の管理のもとでのみ秘密鍵を使用できることを確かめるために、スマートカード又はＳＩＭ（Subscriber Identity Module）カードなどのハードウェア鍵容器に、これらの秘密鍵を保存させることが普通である。このようなシステムに関わる主要問題は、そのハードウェアの製造及び配布の費用である。本発明は、ユーザで管理される改ざん防止鍵容器をこのように必要とすることに対して、より安価なソリューションを提供している。
【課題を解決するための手段】
【００１９】
本発明の一面は、ユーザ認証のために、並びに、少なくとも１つのデータ入力インターフェイスと、データ処理手段と、ユーザ装置を一意的に識別する機器識別子が予め保存されている読み取り可能な改ざん防止記憶装置を含むデータ記憶手段とを備えたプログラム可能な前記ユーザ装置を用いて情報を保存し、情報に署名し、情報を暗号化／復号化するために、再生可能なセキュリティコードを生成する方法であって、
・前記データ入力インターフェイスを介して、ユーザ個人コードを前記ユーザ装置に入力するステップと、
・前記ユーザ装置の前記データ記憶手段から前記機器識別子を取り出すステップと、
・少なくとも前記機器識別子と前記ユーザ個人コードとの組合せに基づいて、セキュリティコードを前記ユーザ装置内で計算するステップと、
・それ自体が前記ユーザ及び前記ユーザ装置の両方を表すように計算された前記セキュリティコードを出力するステップと、
を含むセキュリティコード生成方法に関する。
【００２０】
本発明のこの方法は、ユーザ個人コードを登録することも保存することも全く必要とせず、二要素ユーザ識別のためにデータを生成する。
【００２１】
好ましい一実施形態では、本発明による方法は、前記セキュリティコードを前記ユーザ装置内で計算する前に、
・前記ユーザが自分のユーザ名で登録されているサービスプロバイダを表すサービスプロバイダコードを、前記ユーザ装置に入力するステップと、
・前記機器識別子と前記ユーザ個人コードと前記サービスプロバイダコードとの組合せに基づいて、セキュリティコードを前記ユーザ装置内で計算するステップと、
・或る特定のサービスプロバイダに、それ自体が前記ユーザ及び前記ユーザ装置を表す前記計算されたセキュリティコードを出力するステップと、
をさらに備える。
【００２２】
セキュリティコードの計算にサービスプロバイダコードを投入すれば、他の識別子（ユーザ個人コードと機器識別子）をどれも変更する必要なく、サービスプロバイダごとに、異なるセキュリティコードを生成することができる。本発明の方法により、ユーザは、デリケートなデータをサービスプロバイダ間で共有することなく、２つ以上のサービスプロバイダに対して、同一装置を使用して二要素ユーザ識別を行うことができる。
【００２３】
本発明の特定の面は、自分のユーザ名及び本発明によるセキュリティコード生成方法によって得られた関連セキュリティコードを用いて、サービスプロバイダのカスタマファイルに登録されている、ユーザ装置のユーザを認証する方法であって、
・ユーザ名を前記サービスプロバイダに示すステップと、
・前記サービスプロバイダで、前記カスタマファイルを検索して、前記示されたユーザ名を見つけ出し、前記ユーザ名が前記カスタマファイルにある場合には、チャレンジコードを前記ユーザに戻すステップと、
・ユーザ個人コードを前記ユーザ装置に入力して、前記ユーザ装置の前記データ記憶手段から前記ユーザ装置の前記機器識別子を取り出すステップと、
・前記セキュリティコードを前記ユーザ装置内で計算するステップと、
・前記チャレンジコード（challenge）として前記サービスプロバイダから受け取った変数を前記ユーザ装置に入力し、暗号アルゴリズムを用いて、前記セキュリティコード及び前記変数に基づいて、ワンタイムパスワードを前記ユーザ装置内で計算するステップと、
・前記計算されたワンタイムパスワードを前記サービスプロバイダに示すステップと、
・前記サービスプロバイダで、前記ユーザによって示されたユーザ名に対応するセキュリティコードを、前記カスタマファイルから取り出すステップと、
・前記ユーザ装置と同一の暗号アルゴリズムを使用することで、前記カスタマファイルから取り出された前記セキュリティコードと、前記ユーザに戻され前記ユーザ装置で使用されるものと同一の変数とに基づいて、前記サービスプロバイダでワンタイムパスワードを計算するステップと、
・前記サービスプロバイダで、前記サービスプロバイダで計算されたワンタイムパスワードを前記ユーザから受け取ったワンタイムパスワードと比較し、これらのワンタイムパスワードが同一であれば、その認証結果が肯定的であるとし、ユーザ名により識別されたユーザが前記ユーザ装置及び対応するユーザ個人コードの所有者であることが確認され、一方、これらのワンタイムパスワードが同一でなければ、その認証結果が否定的であるとするステップと、
を備えたユーザ認証方法に関わる。
【００２４】
本発明の他の面は、少なくとも１つのデータ入力インターフェイスと、データ処理手段と、ユーザ装置を一意的に識別する機器識別子が予め保存されている読み取り可能な改ざん防止記憶装置を含むデータ記憶手段とを備えたプログラム可能な前記ユーザ装置に情報を安全に保存する方法であって、当該方法は、保存前に前記情報を暗号化するステップと、当該保存された暗号化された情報の検索時にこの情報を復号化するステップと、を備え、
・前記情報を暗号化するステップが、保存される前記情報を、暗号化鍵としてセキュリティコードを用いて暗号化するステップを含み、
・前記情報を復号化するステップが、当該保存された暗号化された情報を、復号化鍵として同一のセキュリティコードを用いて検索するステップを含み、
前記セキュリティコードが、
・前記データ入力インターフェイスを介して、ユーザ個人コードを前記ユーザ装置に入力するステップと、
・前記ユーザ装置の前記データ記憶手段から前記機器識別子を取り出すステップと、
・少なくとも前記機器識別子と前記ユーザ個人コードとの組合せに基づいて、セキュリティコードを前記ユーザ装置内で計算するステップと、
・前記暗号化ステップ及び前記復号化ステップ毎に、前記計算されたセキュリティコードを出力するステップと、
により生成される情報保存方法に関する。
【００２５】
本発明のさらに他の面は、自分のユーザ名及び本発明によるセキュリティコード生成方法によって得られた関連セキュリティコードを用いて、サービスプロバイダのカスタマファイルに登録されている、ユーザ装置のユーザと前記サービスプロバイダとの間で交換される情報要素に署名する方法であって、
・前記情報要素が前記ユーザ装置に存在しない場合は、前記ユーザによって署名される前記情報要素を、前記サービスプロバイダから前記ユーザ装置に転送するステップと、
・前記ユーザ装置にユーザ個人コードを入力して、前記ユーザ装置の前記データ記憶手段から前記ユーザ装置の前記機器識別子を取り出すステップと、
・前記セキュリティコードを前記ユーザ装置内で計算するステップと、
・暗号アルゴリズムを用いることで、前記セキュリティコード、及び署名され前記サービスプロバイダに転送される前記情報要素とに基づいて、「シグネーチャ（signature）」を前記ユーザ装置内で計算するステップと、
・前記ユーザ名及び前記「シグネーチャ」を前記サービスプロバイダに転送し、かつ、前記ユーザによって署名される前記情報要素が前記サービスプロバイダに存在しない場合には、前記情報要素も前記サービスプロバイダに転送するステップと、
・前記サービスプロバイダで、前記ユーザから受け取ったユーザ名に対応するセキュリティコードを、前記カスタマファイルから取り出すステップと、
・前記ユーザ装置と同一の暗号アルゴリズムを使用することで、前記カスタマファイルから取り出された前記セキュリティコードと、前記情報要素とに基づいて、前記サービスプロバイダで「シグネーチャ」を計算するステップと、
・前記サービスプロバイダで、前記サービスプロバイダで計算された「シグネーチャ」を前記ユーザから受け取った「シグネーチャ」と比較し、これらの「シグネーチャ」が同一であれば、前記ユーザ装置の前記ユーザが前記情報要素に意図的に署名していること、及び前記情報要素が変更されていないことが確認され、一方、これらの「シグネーチャ」が同一でなければ、その署名結果が否定的であるとするステップと、
を備えた情報要素署名方法に関わる。
【００２６】
特定の実施形態では、前記「シグネーチャ」は、デジタル署名或いは電子署名、又はメッセージ認証コード（ＭＡＣ）を含むことがある。
【００２７】
本発明のさらに他の面は、自分のユーザ名及び本発明によるセキュリティコード生成方法によって得られた関連セキュリティコードを用いて、サービスプロバイダのカスタマファイルに登録されている、ユーザ装置のユーザから前記サービスプロバイダに転送される情報要素を安全にする方法であって、
・前記ユーザ装置にユーザ個人コードを入力して、前記ユーザ装置の前記データ記憶手段から前記ユーザ装置の前記機器識別子を取り出すステップと、
・前記セキュリティコードを前記ユーザ装置内で計算するステップと、
・暗号アルゴリズムと、暗号化鍵としての前記セキュリティコードとを使用することで、前記サービスプロバイダに転送される前記情報要素を前記ユーザ装置内で暗号化するステップと、
・前記ユーザ名及びこの暗号化された情報要素を前記サービスプロバイダに転送するステップと、
・前記サービスプロバイダで、前記ユーザから受け取ったユーザ名に対応するセキュリティコードを、前記カスタマファイルから取り出すステップと、
・前記ユーザ装置と同一の暗号アルゴリズムを使用することで、復号化鍵として前記カスタマファイルから取り出された前記セキュリティコードを使用して、前記暗号化された情報要素を前記サービスプロバイダで復号化するステップと、
を備えた情報要素安全化方法に関わる。
【００２８】
本発明のさらに他の面は、自分のユーザ名及び本発明によるセキュリティコード生成方法によって得られた関連セキュリティコードを用いて、サービスプロバイダのカスタマファイルに登録されている、ユーザ装置のユーザに前記サービスプロバイダから転送される情報要素を安全にする方法であって、
・前記サービスプロバイダで、前記情報要素が転送される前記ユーザの前記セキュリティコードを前記カスタマファイルから取り出すステップと、
・暗号アルゴリズムと、暗号化鍵としての前記セキュリティコードとを使用することで、前記情報要素を暗号化するステップと、
・この暗号化された情報要素を前記ユーザに転送するステップと、
・この暗号化された情報要素を前記ユーザ装置で受け取ると、前記ユーザ装置にユーザ個人コードを入力して、前記ユーザ装置の前記データ記憶手段から前記ユーザ装置の前記機器識別子を取り出すステップと、
・このセキュリティコードを前記ユーザ装置内で計算するステップと、
・前記サービスプロバイダと同一の暗号アルゴリズムを使用することで、復号化鍵として、前記ユーザ装置で計算された前記セキュリティコードを用いて、前記暗号化された情報要素を前記ユーザ装置内で復号化するステップと、
を備えた情報要素安全化方法に関わる。
【００２９】
サービスプロバイダから転送される情報要素を安全にするこのような方法は、メッセージを送るのに役立ち、また、コピーされないデジタルコンテンツ（例えば、電子チケット、又は不法コピーから保護される他のデジタルコンテンツ、音楽、ビデオ、ソフトウェアなど）を送るだけでなく、情報を他人に秘密にしておくのにも役立つことがある。
【００３０】
本発明は、少なくとも１つのデータ入力インターフェイスと、データ処理手段と、ユーザ装置を一意的に識別する機器識別子が予め保存されている読み取り可能な改ざん防止記憶装置を含むデータ記憶手段とを備えたプログラム可能な前記ユーザ装置であって、本発明に係る方法のいずれかに応じたプロセスを実行するようプログラムされているプユーザ装置にも関わる。
【００３１】
好ましくは、前記ユーザ装置の機器識別子は、ユーザに受け渡す前に前記ユーザ装置に組み込まれた製品シリアルナンバーである。また、前記ユーザ装置が携帯電話の場合には、前記ユーザ装置の機器識別子は、国際携帯機器ＩＤ（ＧＳＭ電話の場合はＩＭＥＩコード）であっても良い。
【００３２】
一般に、本発明は、複数のサービスプロバイダからの複数サービスに対して、ユーザ装置を、共通の、又は一般的な「マルチコード計算機」として役立たせることがある。
【発明を実施するための最良の形態】
【００３３】
このユーザ装置のさらなる特徴、及び本発明によるセキュリティコードを生成する方法は、添付図面を参照して与えられる本発明の実施例の下記説明から明らかになろう。
【００３４】
図１を参照すると、本発明によるユーザ装置は、テンキーパッド、フルキーボード１又は他のインターフェイス手段などの少なくとも１つのデータ入力インターフェイスと、マイクロプロセッサコントローラ２などのデータ処理手段と、このユーザ装置を一意的に識別する機器識別子が保存されている読み取り可能な改ざん防止記憶装置４（好ましくは、ＲＯＭ）を含む、ＲＡＭ、ＲＯＭ、及び／又はキャッシュメモリなどのデータ記憶手段３と、表示ウィンドウ５、コンピュータモニタなどのようなデータ出力設備と、オプションとして、本発明の実施形態の一部では、おそらく、どんな種類のプライベートテレコムサービス又はパブリックテレコムサービスでも、トランシーバ手段を含め、標準コンピュータ周辺機器、コンピュータネットワークなどの外部機器との一方向通信又は双方向通信用の通信モジュール６とを備える。
【００３５】
本発明のユーザ装置はプログラム可能である。すなわち、このユーザ装置は、マイクロプロセッサのメモリに読み込まれたコンピュータプログラム及びアプリケーションを実行できる。本発明の一部の実施形態を実施するためには、このユーザ装置は、ユーザがカスタマ又は加入者として登録されているサービスプロバイダと情報を交換することもできなければならない。それゆえ、ＧＳＭ技術に合致する携帯電話は、本発明の目的に特に適していると見なされる。しかし、携帯型コンピュータ（ラップトップ）やハンドヘルド情報装置（ＰＤＡ、携帯情報端末）、あるいは定置式パーソナルコンピュータ（ＰＣ）、及び将来の携帯電話などの他の個人用の一部の電子機器ももちろん、ＧＳＭ携帯電話と同様なやり方で、適切な機器ＩＤ（ＥＩ）を備えているときには使用できるものと想定される。将来のポケット計算機又は専用の一般的なパスワード生成器も予想されることがある。
【００３６】
＜セキュリティコード計算ソフトウェア＞
このセキュリティコードの計算に必要であるソフトウェアは、本発明のユーザ装置に永久に保存されても良い。例えば、このソフトウェアは、製造時にこのユーザ装置に導入される。上に示されるように、適切な種類の既存装置を使用できるようにするために、フロッピーディスク、光コンパクトディスク（ＣＤ−ＲＯＭ）、及びプラグイン式データ記憶手段（メモリスティック又はメモリカード）などの任意タイプのデータ供給媒体を介して、特定のアプリケーションが、どんな時点でも、このユーザ装置に供給される。このユーザ装置が通信機能を備えている場合には、上記アプリケーションは、ソフトウェアベンダーから、このユーザ装置の通信ネットワークを介して、このユーザ装置にダウンロードされて、直接に実行され、かつ／又は、保存されて後で利用される。
【００３７】
本発明により、このセキュリティコード計算ソフトウェアは、秘密を全く含まない汎用コンピュータプログラムである。そのプログラム又はアプリケーションは、適切などんなユーザ装置でも利用できるように、一般に公開されることがある。原理上、このアプリケーションは、異なるオペレーティングシステム、プログラミング言語、コンパイラなどによるコンピュータ関係の差異を除き、ユーザ装置ごとに同一である。
【００３８】
原理上、このセキュリティコード計算ソフトウェアが無料配布されることと、セキュリティを弱めることなく、このセキュリティコード計算ソフトウェアを装置から装置へとコピーできるという上記特徴は、特に、ユーザソフトウェア自体に秘密が含まれていることを必要とするセキュリティ構成と比較すると、本発明の主な利点である。
【００３９】
このセキュリティコード計算ソフトウェアで実行される計算は、一般に、一方向暗号化アルゴリズム（例えば、ハッシングアルゴリズム（hashing algorithm））を使用してセキュリティコードを生成し、また、双方向暗号化アルゴリズムを使用して、情報要素を暗号化／復号化することに基づいているが、ただし、他の様々な種類の暗号化アルゴリズムが使用されることもある。使用されるこの暗号化法は、本発明の実施には決定的なものではない。しかし、このセキュリティコードは、充分独特なものでなければならず、また、そのセキュリティコード自体から、その入力データ要素を得ることが可能であってはならない（すなわち、一方向の暗号化）。このセキュリティコード計算ソフトウェアの他の重要な特徴は、このセキュリティコード計算ソフトウェアが、セキュリティコードを使用するたびに、該当する装置を一意的に識別する機器識別子を読み取るように設計されていることと、その計算されたセキュリティコードが、この装置には決して保存されないことである。
【００４０】
＜セキュリティコードの計算＞
図２を参照すると、一実施形態において、プログラム可能なユーザ装置（図１を参照のこと）と、上述したユーザソフトウェアを用いてセキュリティコードを生成する本発明による方法は、
・この装置を所持するユーザが、自分のユーザ個人コードを、装置データ入力インターフェイスを介して、この装置に入力するステップ（ステップＳ１）
・この装置が、それ自体のデータ記憶手段４から、その機器識別子を取り出すステップ（ステップＳ２）
・取り出された機器識別子と、入力されたユーザ個人コードとの組合せに基づいて、このユーザ装置が、これ自体の内部でセキュリティコードを計算するステップ（ステップＳ３）
という３つの主要ステップを含む。
【００４１】
このようにして得られたセキュリティコードは、２つの要素に基づいている。それゆえ、二要素認証方式と見なすと、このユーザ個人コードは、「ユーザ認識」要素となるが、一方、機器識別子は、「ユーザ所持」要素である。このセキュリティコードは、ユーザとユーザの装置の一意の識別を表しているが、ただし、元の入力識別子（このユーザ個人コードと機器識別子）は、このセキュリティコードから再計算することはできない。本発明による方法は、これらの入力識別子が、他のどんな関係者にも暴露されないようにするものであり、また、このユーザ個人コードを保存することを全く必要としない方法でもある。
【００４２】
原理上、ユーザは、適切などんな個人コードも自由に選択して、それを入力することで、セキュリティコードを生成することができる。もちろん、この個人コードは、様々な目的で、異なるものであってもよい。本件では、このセキュリティコードは、ユーザと、ユーザ装置を両方とも表している。ここで、このセキュリティコードは、表示ウィンドウ５に表示されているようなユーザ装置のデータ出力設備を介して、あるいは、通信モジュール６を介して出力されて、外部の或るローカル機器又はリモート機器に、例えばサービスプロバイダ側にある通信機器に送ることがある。
【００４３】
別法として、図２には示されていないが、セキュリティコードをこのユーザ装置内で計算する作業は、本発明の実施形態において適切であるときに、３つの要素の組合せに基づくことがある。上述の２つの要素、すなわち機器識別子とユーザ個人コードに加えて、サービスプロバイダにより、あるいはユーザ自身により選択されて、サービスプロバイダを指定するサービスプロバイダコードが、このセキュリティコードの計算に含められる。このような「三要素」セキュリティコードはそれ自体、サービスプロバイダ、あるいはそれぞれのサービスプロバイダにより提供される或るサービスに対して、ユーザとユーザ装置を表すことになる。もちろん、このようなサービスプロバイダコードは、このユーザ装置のデータ記憶手段３に保存されて、後で使用することがある。
【００４４】
このサービスプロバイダコードを、別の第３のコードとして導入する代わりに、特定サービスプロバイダの或る種の指標を、そのユーザ個人コードに取り入れて、そのユーザ個人コードが２部コードとなるようにすることがあり、したがって、サービスプロバイダごとに、セキュリティコードが異なる。
【００４５】
本発明の方法が、サービスプロバイダごとに、特定の、又は異なるセキュリティコードを生成できることにより、ユーザは、セキュリティを弱めることなく、２つ以上のサービスプロバイダにおけるセキュリティサービスに対して、同一の装置を使用することができる。サービスプロバイダは、同一のセキュリティコードを共用する必要がないし、また、サービスプロバイダは、これらの入力識別子を再計算することができない。
【００４６】
バイオメトリック（生体）コード化技術の進展とともに、生体データが、本発明によるセキュリティコードの一部である可能性も想定されている。それゆえ、ユーザを表す生体データは、それだけで、又はその一構成部分として、ユーザ個人コードとなることがあり、したがって、「ユーザ所持」要素から、「ユーザ身元（something you are）」状況に移る。そのような場合に、このユーザ装置は、そのユーザの属性から生体詳細をスキャンして、それを、そのユーザ装置に供給できるようにするために、適切な入力手段を備えるか、あるいは適切な入力手段に接続される必要がある。
【００４７】
一般に、上記のユーザ個人コードとサービスプロバイダコードはそれぞれ、一連の英字及び／又は数字から成ることがある。これらの英字及び／又は数字は、覚えやすく、また、この処理では、一連のバイナリコードデータに変換される。このユーザ個人コードとサービスプロバイダコードはまた、それらだけで、又は他のいくつかの情報と組み合わせて、一連のバイナリコードデータにすでに変換された１つの情報を含むことがある。ユーザを表す生体データは、このように予めコード化されたバイナリデータの一例である。
【００４８】
いずれにしても、このセキュリティコードの計算は、単純な算術演算或いは複雑な暗号演算、又は他の種類の暗号化技法の使用を含むことがある。しかしながら、このような演算は、その計算への入力データ要素のどれも、このコードから、かつ／又は、これらの入力要素の一部を知っていることから得られないようなものでなければならない。
【００４９】
＜情報の暗号化／復号化＞
次に、図３を参照すると、本発明のセキュリティコードは、情報要素をこのユーザ装置に保存しようとするときに使用される場合があり、その場合、この情報は、暗号化鍵として、このセキュリティコードを使用することで、保存前に暗号化される。その処理は、一般に、
・ユーザが、例えば、安全に保存する必要のある情報要素（例えば、ＰＫＩ（公開鍵インフラ）システムでの秘密鍵）を生成する処理又はコンピュータプログラムを、キーボード１を用いて指定するか、あるいは始動させるステップ（ステップＳ１）
・ユーザが、ユーザ個人コードを、一般にキーボード１を介してユーザ装置に入力するステップ（ステップＳ２）、
・ユーザ装置が、それ自体のデータ記憶手段４から機器識別子を取り出して、ユーザ装置自体の内部で、セキュリティコードを計算するステップ（ステップＳ３とステップＳ４）
・暗号化鍵として、このセキュリティコードを使用することで、ユーザ装置が、この情報要素を暗号化して、この暗号化された情報をユーザ装置のデータ記憶手段３に保存するステップ（ステップＳ５とステップＳ６）
を含む。
【００５０】
ユーザが、様々な目的で、異なるユーザ個人コードを使用することに決める場合には、そのユーザは、例えば、ローカルで情報要素を安全に保存する目的で、或る特定コードを選択することがある。
【００５１】
図示される例では、「二要素」セキュリティコードが生成されるが、特に、安全に保存される情報要素がサービスプロバイダに関わっているときには、たぶん、「三要素」セキュリティコードも同様に使用されるであろう。
【００５２】
後に、このようにユーザ装置への保存前に暗号化されている情報要素は、ユーザ装置内で、検索されて、復号化鍵としてこのセキュリティコードを使用することで、使用前に復号化されることがある。このような処理は、図４に示されるように、
・ユーザが、ユーザ装置に安全に保存された１つ又は複数の情報要素を、例えばキーボード１を用いて選択するか、又は他の手段によって指定するステップ（ステップＳ１）
・ユーザが、関係のある情報要素（１つ又は複数）を保存しようとするときに、使用されるユーザ個人コードを、一般にキーボード１を介してユーザ装置に入力するステップ（ステップＳ２）
・ユーザ装置が、それ自体のデータ記憶手段４から機器識別子を取り出して、ユーザ装置自体の内部で、セキュリティコードを計算するステップ（ステップＳ３とステップＳ４）
・復号化鍵として、このセキュリティコードを使用することで、ユーザ装置が、この情報要素（１つ又は複数）を復号化し、また、この復号化された情報を適宜に、ユーザに読み取らせ、かつ／又は使用させるステップ（ステップＳ５とステップＳ６）
を含む。
【００５３】
好ましい実施例では、セキュリティの理由で、この復号化された情報要素は、使用された後で常に削除されて、暗号化された情報だけをユーザ装置のデータ記憶手段３に残す。
【００５４】
＜セキュア通信に使用されるセキュリティコード＞
好ましい実施形態では、ユーザ装置は、有線通信ネットワーク又は無線通信ネットワークを通じて、サービスプロバイダと一方向及び／又は双方向のデータ通信を可能にする通信機能を備える。
【００５５】
このような場合に、ユーザに提供される情報をユーザに送る前に暗号化させる非対称二重鍵暗号方式を、このサービスプロバイダが使用したい場合には、この情報は、図５に示されるように、この非対称二重鍵暗号方式の公開鍵を使用することで、送信前にスクランブルがかけられることがある（ステップＳ１）。暗号化鍵としてこのセキュリティコードを使用して得られた暗号化形式で、この非対称二重鍵暗号方式の対応する秘密鍵を、前もってユーザ装置に保存するように段取りされているならば、このスクランブルがかけられた情報を受け取ると、ユーザ装置は、
・復号化鍵としてこのセキュリティコードを使用することで、ユーザ装置に保存された暗号化秘密鍵を復号化し（ステップＳ５）、
・この復号化された秘密鍵を使用することで、このサービスプロバイダから受け取られた上記スクランブルがかけられた情報をスクランブル解除する（ステップＳ６）
ようにプログラムされる。
【００５６】
このような場合、セキュリティコードは、サービスプロバイダ側で保存される必要はない。この公開鍵は、ユーザにより指定されるか、サービスプロバイダ側に前もって保存されるか、又は通知／電子掲示板サービスを介して、公けに入手できることがある。
【００５７】
別の方法として、このサービスプロバイダのサービスを受けるユーザのセキュリティコードを、このサービスプロバイダ側で保存するように段取りされているならば、このサービスプロバイダは、二重鍵暗号方式を使用せずに、秘密情報の提供に関連して、本発明のセキュリティコードを使用することがある。このような処理は、暗号化鍵としてこのセキュリティコードを使用することで、送信前に情報を暗号化させるもの（図６中のステップＳ１）であって、これは、図６に示されるように、ユーザ装置が計算したセキュリティコードを使用することで、このサービスプロバイダから受け取った暗号化された情報を復号化させるステップ（図６中のステップＳ４とステップＳ５）を含む。
【００５８】
双方の場合、使用後に、この復号化された情報は、好ましくは、セキュリティの理由で削除されて、その形跡をユーザ装置には全く残さない（図３に示されるように、このセキュリティコードをローカル暗号化鍵として使用することで、この情報がローカルで保存される場合を除く）。
【００５９】
＜認証に使用されるセキュリティコード＞
さらに、このセキュリティコードは実際、ユーザ、及びユーザに属するユーザ装置のＩＤ検証の基礎として使用されることがある。
【００６０】
本発明の一実施形態では、このユーザ装置は、通信モジュール６を含む（図１を参照）。本発明による認証方法に関連して、このように提供された通信機能は、好ましくは「オンライン」で、ユーザ装置自体を介して、サービスプロバイダと情報を交換するために使用されることがある。このような場合には、図７を参照して、ユーザが、自分のユーザ名、及び本発明による関連セキュリティコードで、サービスプロバイダのカスタマファイルにすでに登録されているとすると、このユーザ装置のユーザを認証する方法は、
・この電子装置にユーザ名を入力して、その入力されたユーザ名を、この電子装置からサービスプロバイダに送るステップ（ステップＳ２）
・サービスプロバイダで、カスタマファイルを検索して、この電子装置から受け取ったユーザ名を見つけ出し、また、そのユーザ名がカスタマファイルにある場合には、チャレンジコードをサービスプロバイダから、その電子装置に送るステップ（ステップＳ３とステップＳ４）
・電子装置にユーザ個人コードを入力して、電子装置のデータ記憶手段から、電子装置の機器識別子を取り出すステップ（ステップＳ５）
・機器識別子とユーザ個人コードに基づいて、セキュリティコードを電子装置内で計算するステップ（ステップＳ６）
・暗号アルゴリズムを使用することで、セキュリティコードと、チャレンジコードの一部としてサービスプロバイダから受け取った変数とに基づいて、ワンタイムパスワードを電子装置内で計算するステップ（ステップＳ７）
・この計算されたワンタイムパスワードを、電子装置からサービスプロバイダに送るステップ（ステップＳ７）
・サービスプロバイダで、電子装置から受け取ったユーザ名に対応するセキュリティコードをカスタマファイルから取り出すステップ（ステップＳ８）
・ユーザ装置と同一の暗号アルゴリズムを使用することで、カスタマファイルから取り出されたセキュリティコードと、電子装置に伝えられて、電子装置で使用されるものと同一の変数とに基づいて、サービスプロバイダで、ワンタイムパスワードを計算するステップ（ステップＳ９）
・サービスプロバイダで、ステップＳ９で計算したワンタイムパスワードを、電子装置から受け取ったものと比較するステップ（ステップＳ１０）
を含む。
【００６１】
これらのワンタイムパスワードが同一であれば、その認証結果は肯定的であり、それにより、ユーザ名により識別されたユーザが、電子装置及び対応するユーザ個人コードの所有者であることが確認され、またこれらのワンタイムパスワードが同一でなければ、その認証結果が否定的である。
【００６２】
ユーザ装置が通信モジュールを装備しているときには、本実施形態では、ユーザ装置とサービスプロバイダ又は他の第三者との間でやり取りされるメッセージから、あるいはそのメッセージのダイジェストから、デジタル署名又はメッセージ認証コード（ＭＡＣ）を計算することで、メッセージ認証にも使用される場合があり、その場合、本発明によるセキュリティコードは、そのような計算に関与する構成要素の１つである。
【００６３】
本発明の他の実施形態において、ユーザ装置が通信モジュールを含まず、それゆえ、ユーザ装置自体を介してサービスプロバイダと情報を直接に交換することができない場合、又は、ユーザ装置を介して、全ての情報を交換すると都合がよくない場合には、ユーザは、このユーザ装置とサービスプロバイダとの間の「仲立ち（intermediary）」として働くことがある。その場合、サービスプロバイダとやり取りするために、ユーザは、例えば、インターネットに接続できるパーソナルコンピュータなどの利用可能な任意の通信手段を使用するが、ただし、その主な問題は、サービスプロバイダへのユーザの指示と、サービスプロバイダからユーザに戻される応答のやり取りが、許容できるやり方で、好ましくはリアルタイムで達成されることである。もちろん、このような通信リンク又は通信チャネルはそれ自体、セキュリティの理由で必要であれば、スクランブルがかけられるか、あるいは従来の任意のやり方で暗号化される。
【００６４】
原理上、機器と機器とがやり取りする技術的な構成があろうと、なかろうと、本発明の認証方法は、ユーザ装置が通信機能を欠いているときに、「仲立ち」として、人と、他の何らかの通信構成がある場合にのみ、図７に示されるものに類似することがある。
【００６５】
サービスプロバイダから、そのチャレンジコードの一部として受け取る変数を得る（図７中のステップＳ７）のではなく、ワンタイムパスワードをユーザ装置内で計算するのに使用される変数がユーザ装置自体によって生成される可能性も想定されている。このような場合には、これと同一の変数をサービスプロバイダに使用させて、サービスプロバイダ側でワンタイムパスワードを計算する（図７中のステップＳ９）ことで、そのワンタイムパスワードをユーザ装置からのものと比較（図７中のステップＳ１０）できるようにする段取りがなされなければならない。このような構成は、当業者に知られているものであって、例えば時間変数又はシーケンス番号の同期部分を用いる設備を含むことがある。
【００６６】
＜初期ユーザ登録＞
公衆に提供される多くのサービスでは、一般に、このようなサービスを受けるカスタマ又はユーザは、関係のあるサービス（１つ又は複数）にアクセスする（例えば、このサービスに加入する）ために、それぞれのサービスプロバイダに登録しなければならない。このようなサービスに本発明の実施形態を利用することに関連して、これも当てはまる。それゆえ、例えば図７中のステップＳ１で示されるように、ユーザは当初、自分のユーザ名、及び本発明の方法により得られた関連セキュリティコードで、サービスプロバイダに登録されることが必須条件である。
【００６７】
ユーザが自分のセキュリティコードを得るための一方法は、上記の「セキュリティコードの計算」の項で説明され、かつ図２に図示された方法のステップを実行して、「二要素コード」を生成することである。他の方法は、まず最初に、特定のサービスプロバイダコード（これは、或る特定のサービスのみに関わることがある）を入力して、次に、「三要素コード」（これも、上記の項に述べられている）を計算することである。このような手法は、図８に示されるように、
・このサービスプロバイダから、サービスプロバイダコードをユーザに送るステップ（ステップＳ１ａ）か、あるいは、サービスプロバイダコードの選択をユーザに任せるステップ（ステップＳ１ｂ）
・ユーザ側で、このサービスプロバイダコードをユーザ装置に入力するステップ（ステップＳ２）
・一般にキーボードを用いて、ユーザ個人コードを電子装置に入力するステップ（ステップＳ３）
・電子装置のデータ記憶手段から、電子装置の機器識別子を取り出すステップ（ステップＳ４）
・オプションとして、このサービスプロバイダコードを電子装置のデータ記憶手段に保存するステップ（ステップ５）
・機器識別子、ユーザ個人コード、サービスプロバイダコードに基づいて、セキュリティコードを電子装置内で計算するステップ（ステップＳ６）
・ユーザ名と、計算されたセキュリティコードをサービスプロバイダに送るステップ（ステップＳ７）
・ユーザから受け取ったユーザ名及び関連セキュリティコードを、サービスプロバイダのカスタマファイルに登録するステップ（ステップＳ８）
を含むことがある。
【００６８】
いずれにしても、ユーザとサービスプロバイダとの間の情報交換は、例えば、郵便による手紙、ファクシミリを用いて、もしくは音声通信を介して、利用可能な任意の通信手段により達成されることがある。
【００６９】
好ましい実施形態についてのこの説明は、本発明をソフトウェアで実施することに基づいてなされているが、本発明は、説明された実施形態のソフトウェアと同様な作業を実行するハードウェアコンポーネントを用いて実現されることもある。
【図面の簡単な説明】
【００７０】
【図１】本発明によるユーザ装置の基本構成要素を示す概略ブロック図
【図２】ユーザ装置のユーザ及びユーザ装置自体を表すセキュリティコードを生成する処理を示す概略フローチャート
【図３】ローカルで情報を安全に保存する処理を示す概略フローチャート
【図４】図３の処理で安全に保存された情報を使用する処理を示す概略フローチャート
【図５】ユーザの公開鍵で暗号化された情報をサービスプロバイダから提供する処理を示す概略フローチャート
【図６】ユーザのセキュリティコードで暗号化された情報をサービスプロバイダから提供する処理を示す概略フローチャート
【図７】本発明の一実施形態により、ユーザを認証する処理を示す概略フローチャート
【図８】サービスプロバイダでの初期ユーザ登録の処理を示す概略フローチャート
【図１】
2008527905.tif 000003
【図２】
2008527905.tif 000004
【図３】
2008527905.tif 000005
【図４】
2008527905.tif 000006
【図５】
2008527905.tif 000007
【図６】
2008527905.tif 000008
【図７】
2008527905.tif 000009
【図８】
2008527905.tif 000010
【国際調査報告】
2008527905.tif 000011
2008527905.tif 000012
2008527905.tif 000013
2008527905.tif 000014
2008527905.tif 000015
2008527905.tif 000016