(57)【要約】いくつかの実施形態に調和する、ネットワークでのクライアント装置の認証方法は、サーバー装置で、複数桁のランダム暗証番号を発生させるステップと、サーバー装置に接続されたサーバーディスプレーにランダム暗証番号を表示するステップと、表示されたランダム暗証番号の観察を可能にするために、サーバー装置と物理的に近接してクライアント装置を配置するステップと、クライアント装置で、クライアント装置に接続されたスイッチをランダム暗証番号の各桁の値に相当する回数で作動させることにより、ランダム暗証番号の各桁を順次に入力するステップと、クライアント装置でランダム暗証番号が正しく入力されると、サーバー装置およびクライアント装置で実行される暗号化および復号化処理において、ランダム暗証番号を用いて認証および鍵交換処理を完了するステップと、を含む。【選択図】図３
2008537204.tif 000002
【特許請求の範囲】
【請求項１】
サーバー装置で、複数桁のランダム暗証番号を発生させるステップと、
前記サーバー装置に接続されたサーバーディスプレーに前記ランダム暗証番号を表示するステップと、
前記表示されたランダム暗証番号の観察を可能にするために、前記サーバー装置と物理的に近接してクライアント装置を配置するステップと、
前記クライアント装置で、前記クライアント装置に接続されたスイッチを前記ランダム暗証番号の各桁の値に相当する回数で作動させることにより、前記ランダム暗証番号の各桁を順次に入力するステップと、
前記クライアント装置で前記ランダム暗証番号が正しく入力されると、前記サーバー装置および前記クライアント装置で実行される暗号化および復号化処理において、前記ランダム暗証番号を用いて認証および鍵交換処理を完了するステップと、
を含む、ネットワークでのクライアント装置の認証方法。
【請求項２】
秘密鍵を作成するためにハッシング法を用いて前記サーバー装置で前記ランダム暗証番号のハッシュ値を算出するステップと、
前記秘密鍵を作成するために前記ハッシング法を用いて前記クライアント装置で前記ランダム暗証番号のハッシュ値を算出するステップと、
前記クライアント装置と前記サーバー装置との間で交換される暗号／復号鍵を暗号化および復号化するために、前記秘密鍵を使用するステップと、
をさらに含む、請求項１に記載のクライアント装置の認証方法。
【請求項３】
前記サーバーディスプレーは、前記ランダム暗証番号の全体が表示される複数桁表示ディスプレーを含む、請求項１に記載のクライアント装置の認証方法。
【請求項４】
前記ランダム暗証番号は、前記サーバーディスプレーにより一桁毎に表示される、請求項１に記載のクライアント装置の認証方法。
【請求項５】
前記サーバーディスプレーは、フラッシュの回数により前記ランダム暗証番号の各桁を表すフラッシュディスプレーを含む、請求項１に記載のクライアント装置の認証方法。
【請求項６】
前記クライアント装置で、桁の入力終了を知らせるために、各桁の入力後に入力スイッチを作動させるステップをさらに含む、請求項１に記載のクライアント装置の認証方法。
【請求項７】
前記ネットワークは、電力線通信ネットワークを含む、請求項１に記載のクライアント装置の認証方法。
【請求項８】
サーバー装置で、複数桁のランダム暗証番号を発生させるステップと、
前記サーバー装置に接続されたサーバーディスプレーに前記ランダム暗証番号を表示するステップと、
前記表示されたランダム暗証番号の観察を可能にするために、前記サーバー装置と物理的に近接してクライアント装置を配置するステップと、
前記クライアント装置で、前記クライアント装置に接続されたスイッチを前記ランダム暗証番号の各桁の値に相当する回数で作動させることにより、前記ランダム暗証番号の各桁を順次に入力するステップと、
秘密鍵を作成するためにハッシング法を用いて前記サーバー装置で前記ランダム暗証番号のハッシュ値を算出するステップと、
前記秘密鍵を作成するために前記ハッシング法を用いて前記クライアント装置で前記ランダム暗証番号のハッシュ値を算出するステップと、
前記クライアント装置と前記サーバー装置との間で交換される暗号／復号鍵を暗号化および復号化するために、前記秘密鍵を使用するステップと、
を含む、ネットワークでのクライアント装置の認証方法。
【請求項９】
前記サーバーディスプレーは、前記ランダム暗証番号の全体が表示される複数桁表示ディスプレーを含む、請求項８に記載のクライアント装置の認証方法。
【請求項１０】
前記ランダム暗証番号は、前記サーバーディスプレーにより一桁毎に表示される、請求項８に記載のクライアント装置の認証方法。
【請求項１１】
前記サーバーディスプレーは、フラッシュの回数により前記ランダム暗証番号の各桁を表すフラッシュディスプレーを含む、請求項１０に記載のクライアント装置の認証方法。
【請求項１２】
前記クライアント装置で、桁の入力終了を知らせるために、各桁の入力後に入力スイッチを作動させるステップをさらに含む、請求項８に記載のクライアント装置の認証方法。
【請求項１３】
前記ネットワークは、電力線通信ネットワークを含む、請求項８に記載のクライアント装置の認証方法。
【請求項１４】
サーバー装置で、複数桁のランダム暗証番号を発生させるステップと、
前記サーバー装置に接続されたサーバーディスプレーに前記ランダム暗証番号を表示するステップと、
前記表示されたランダム暗証番号の観察を可能にするために、前記サーバー装置と物理的に近接してクライアント装置を配置するステップと、
前記クライアント装置で、前記クライアント装置に接続されたスイッチを前記ランダム暗証番号の各桁の値に相当する回数で作動させることにより、前記ランダム暗証番号の各桁を順次に入力するステップと、
前記クライアント装置で、桁の入力終了を知らせるために、各桁の入力後に入力スイッチを作動させるステップと、
秘密鍵を作成するためにハッシング法を用いて前記サーバー装置で前記ランダム暗証番号のハッシュ値を算出するステップと、
前記秘密鍵を作成するために前記ハッシング法を用いて前記クライアント装置で前記ランダム暗証番号のハッシュ値を算出するステップと、
前記クライアント装置と前記サーバー装置との間で交換される暗号／復号鍵を暗号化および復号化するために、前記秘密鍵を使用するステップと、
を含む、電力線通信ネットワークでのクライアント装置の認証方法。
【請求項１５】
前記サーバーディスプレーは、前記ランダム暗証番号の全体が表示される複数桁表示ディスプレーを含む、請求項１４に記載のクライアント装置の認証方法。
【請求項１６】
前記ランダム暗証番号は、前記サーバーディスプレーにより一桁毎に表示される、請求項１４に記載のクライアント装置の認証方法。
【請求項１７】
前記サーバーディスプレーは、フラッシュの回数により前記ランダム暗証番号の各桁を表すフラッシュディスプレーを含む、請求項１６に記載のクライアント装置の認証方法。
【請求項１８】
通信ネットワークを介した通信のためのネットワークインターフェースと、
ランダム暗証番号の各桁の値に相当する回数で作動されて、前記ランダム暗証番号の各桁を順次に入力することにより、クライアント装置で前記ランダム暗証番号の入力を可能にするスイッチと、
秘密鍵を作成するためにハッシング法を用いて前記クライアント装置で前記ランダム暗証番号のハッシュ値を算出する手段と、
サーバー装置との間で暗号／復号鍵を交換するための復号化処理において、前記秘密鍵を使用する暗号化／復号化エンジンと、
を備える、ネットワーククライアント装置。
【請求項１９】
桁の入力終了を知らせるために、各桁の入力後に作動可能にされる入力スイッチをさらに備える、請求項１８に記載のネットワーククライアント装置。
【請求項２０】
前記ネットワークインターフェースは、電力線通信ネットワークインターフェースを含む、請求項１８に記載のネットワーククライアント装置。
【請求項２１】
前記暗号化／復号化エンジンは、プログラム式処理装置を含む、請求項１８に記載のネットワーククライアント装置。
【請求項２２】
通信ネットワークを介した通信のためのネットワークインターフェースと、
複数桁のランダム暗証番号を発生させるランダム番号発生部と、
前記ランダム暗証番号を表示するサーバーディスプレーと、
秘密鍵を作成するためにハッシング法を用いて前記ランダム暗証番号のハッシュ値を算出する手段と、
クライアント装置とサーバー装置との間で交換される暗号／復号鍵を暗号化するために、前記秘密鍵を使用する暗号化／復号化エンジンと、
を備える、ネットワークサーバー装置。
【請求項２３】
前記サーバーディスプレーは、前記ランダム暗証番号の全体が表示される複数桁表示ディスプレーを含む、請求項２２に記載のネットワークサーバー装置。
【請求項２４】
前記ランダム暗証番号は、前記サーバーディスプレーにより一桁毎に表示される、請求項２２に記載のネットワークサーバー装置。
【請求項２５】
前記サーバーディスプレーは、フラッシュの回数により前記ランダム暗証番号の各桁を表すフラッシュディスプレーを含む、請求項２４に記載のネットワークサーバー装置。
【請求項２６】
前記ネットワークインターフェースは、電力線通信インターフェースを含む、請求項２２に記載のネットワークサーバー装置。
【請求項２７】
前記暗号化／復号化エンジンは、プログラム式処理装置を含む、請求項２２に記載のネットワークサーバー装置。
【請求項２８】
通信ネットワークを介した通信のためのサーバーネットワークインターフェースと、
複数桁のランダム暗証番号を発生させるランダム番号発生部と、
前記ランダム暗証番号を表示するサーバーディスプレーと、
秘密鍵を作成するためにハッシング法を用いて前記ランダム暗証番号のハッシュ値を算出するサーバーハッシング手段と、
クライアント装置とサーバー装置との間で交換される暗号／復号鍵を暗号化するために、前記秘密鍵を使用するサーバー暗号化／復号化エンジンと、を有するサーバー装置と、
前記通信ネットワークを介した通信のためのクライアントネットワークインターフェースと、
ランダム暗証番号の各桁の値に相当する回数で作動されて、前記ランダム暗証番号の各桁を順次に入力することにより、前記クライアント装置で前記ランダム暗証番号の入力を可能にするスイッチと、
秘密鍵を作成するために前記ハッシング法を用いて前記クライアント装置で前記ランダム暗証番号のハッシュ値を算出するクライアントハッシング手段と、
前記サーバー装置との間で前記暗号／復号鍵を交換するために、前記秘密鍵を使用するクライアント暗号化／復号化エンジンと、を有するクライアント装置と、
を備える、通信ネットワーク。
【請求項２９】
桁の入力終了を知らせるために、各桁の入力後に作動可能にされる入力スイッチをさらに備える、請求項２８に記載の通信ネットワーク。
【請求項３０】
前記クライアントネットワークインターフェースおよび前記サーバーネットワークインターフェースは、電力線通信インターフェースを含む、請求項２８に記載の通信ネットワーク。
【請求項３１】
前記クライアント暗号化／復号化エンジンおよび前記サーバー暗号化／復号化エンジンの少なくとも１つは、プログラム式処理装置を含む、請求項２８に記載の通信ネットワーク。
【請求項３２】
前記サーバーディスプレーは、前記ランダム暗証番号の全体が表示される複数桁表示ディスプレーを含む、請求項２８に記載の通信ネットワーク。
【請求項３３】
前記ランダム暗証番号は、前記サーバーディスプレーにより一桁毎に表示される、請求項２８に記載の通信ネットワーク。
【請求項３４】
前記サーバーディスプレーは、フラッシュの回数により前記ランダム暗証番号の各桁を表すフラッシュディスプレーを含む、請求項２８に記載の通信ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連文献の相互参照）
本願は、２００５年２月２２日に提出された米国仮出願第６０／６５５２２５号に関連するものであり、かつ、その優先権を主張するものであり、この仮出願は、参照により本願の一部とみなされる。
【０００２】
（著作権表示）
本特許文献による開示の一部は、著作権保護の対象となる内容を含むものである。著作権者は、本特許文献の複製または特許情報開示について異存がないが、それら以外のいかなる場合にも、本特許文献の版権を所有するものである。
【０００３】
（背景技術）
ホームネットワーク市場は、拡大を続けている。多くの無線、電力線、同軸ケーブルのネットワーク製品が市場で入手可能である。コンテンツの保護および安全のための暗号化が１つの課題である。例えば、電力線ネットワークは、隣人（neighbors）と共有される。通信が暗号化されていなければ、隣人は、それを見ることができる。暗号化は、安全なネットワーク通信のために不可欠である。
【０００４】
暗号化のために、新たなクライアント装置は、サーバーに登録される必要がある。通例では、クライアントは、固有のＩＤを有し、ユーザーは、クライアント装置の使用を開始する際に、ＩＤ番号をサーバーに入力する。固有のＩＤは、例えば、１０桁の値である。ユーザーに長い番号を入力させることは、ユーザーフレンドリーではない。誤った番号では、サーバーは、クライアントと全く通信できない。また、多くのクライアント装置を登録することは、多くの時間を要する。
【０００５】
この問題を解決するために、様々な方法が考案されている。最も簡単な解決策の１つは、Dawson等による米国特許出願公開第２００４／００５４８９７号明細書に記載されたプッシュボタン式アプローチである。この技術では、ユーザーは、サーバー上のボタンと、クライアント上のボタンとを同時または順次にプレスする。そして、サーバーおよびクライアントは、必要な情報を交換する。番号の入力は、必要とされない。これは、ユーザーフレンドリーであり、優れた安全対策を提供する。しかし、特定の状況では、さらなる安全性が望まれる。
【０００６】
有名な（セキュリティ）攻撃の１つは、“Man-In-The-Middle attack(ＭＩＴＭ攻撃)”と称され、例えば、H.X.MelおよびDoris Bakerによる“Cryptography Decrypted（Addison- Wesley,ISBN: 0201616475）”に記載されている。クライアントは、自らの公開鍵をサーバーに送信し、秘密情報を受信する。サーバーは、クライアントの公開鍵で秘密情報を暗号化し、クライアントに返信する。クライアントは、自らの秘密鍵で暗号化データを復号化する。他者は、クライアントの秘密鍵のみでは暗号化データを復号化することができない。これは、安全のように思えるが、ＭＩＴＭに対しては脆弱である。対抗者（adversary）は、サーバーとクライアントとの間に存在し、クライアントからの要請（requests）を入手する。対抗者は、クライアントの公開鍵を自らの公開鍵に置換し、サーバーに送信する。サーバーは、対抗者の公開鍵で秘密情報を暗号化し、対抗者に返信する。対抗者は、自らの秘密鍵で首尾よく秘密データを復号化する。また、対抗者は、クライアントの公開鍵で秘密データを再暗号化し、クライアントに送信する。クライアントは、データが盗まれたことを知らずに、秘密データを復号化する。公開／秘密鍵の暗号化は、堅固で解読が困難である。しかし、公開鍵は、注意深く送られる必要がある。簡単なプッシュボタンアプローチは、いくつかの実施例では、ＭＩＴＭ攻撃および同様な攻撃に対して有効となりえない。
【０００７】
（詳細な記述）
本発明は、多くの異なる形式の実施形態を受け入れることができるが、以下の実施形態の開示が原理の一例として理解され、本発明を特定の実施形態に限定することを意図するものではないという理解のもとで、特定の実施形態が図面に示され、詳細に後述されている。以下の記載では、同一、同様、または図面の様々な視点に対応する部分を記載するために、同一の参照番号が用いられている。
【０００８】
以下で用いる用語“１つの（a）”または“１つの（an）”は、１以上として定義される。以下で用いる用語“複数の（plurality）”は、２以上として定義される。以下で用いる用語“他の（another）”は、少なくとも２番目以上として定義される。以下で用いる用語“含む（including）”および／または“有する（having）”は、含む（comprising：非限定的な記載）として定義される。以下で用いる用語“連結されている（coupled）”は、直接的／間接的に拘らずに、かつ、機械的／非機械的に拘らずに、接続されているとして定義される。以下で用いる用語“プログラム”、“コンピュータプログラム”または同様の用語は、コンピュータシステム上で実行されるために作られた一連の命令として定義される。“プログラム”または“コンピュータプログラム”は、サブルーチン、ファンクション、プロシージャ、オブジェクト手法（object method）、オブジェクト実装（objectimplementation）、実行可能アプリケーション、アプレット、サーブレット、ソースコード、オブジェクトコード、共有ライブラリ／動的ローディングライブラリ（dynamic load library）、および／またはコンピュータシステム上で実行されるために作られた他の一連の命令を含んでもよい。
【０００９】
本文献を通して“一実施形態”、“いくつかの実施形態”、“実施形態”または同様の用語の参照は、本発明の少なくとも１つの実施形態に、実施形態に関連する特定の機能、特定の構造、または特定の性質が含まれることを意味する。よって、本明細書において、かかる表現のある場所、または様々な場所では、全てが同一の実施形態を参照している必要はない。さらに、特定の機能、特定の構造、または特定の性質は、限定なしに、１つ以上の実施形態で任意の適当な方法で組合せられてもよい。
【００１０】
以下で用いる用語“または／もしくは（or）”は、包括的な意味、または任意の１つもしくは任意の組合せを意味するものとして解釈されるべきである。よって、“Ａ、Ｂ、またはＣ”は、Ａ、Ｂ、Ｃ、ＡとＢ、ＡとＣ、ＢとＣ、ＡとＢとＣのうちのいずれかを意味する。この定義の例外は、要素、機能、ステップ、または動作の組合せが何らかの意味で本質的に相互排他的となる場合に生じうる。
【００１１】
用語“ハッシュ（hash）”は、暗号化技術の用語としての通常の意味に従って用いられる。一般に、データクセスまたはセキュリティのために、ハッシュ値が作成される。ハッシュ値（または単純にハッシュ）は、メッセージダイジェストとも称され、文字列から生成される番号である。一般に、ハッシュは、文字列よりもサイズが小さく、他の文字列から同一のハッシュ値を作成することが想定不能または不可能なように、公式（一方向性のアルゴリズム）により生成される。よって、理想的なハッシュ値は、一般にオリジナルの文字列よりも著しく短く、オリジナルの文書に固有の値を作成するために、文字列に数学公式を適用することにより生成される。同一の文字列にアルゴリズムを適用する度に、同一の値が得られる。理想的に、ハッシュ結果からオリジナルの文字列を再構成することが計算的に実行不可能であるべきである。さらに、２つの異なるメッセージから同一のハッシュ結果が作成されるべきではない。
【００１２】
ランダム番号に関連して以下で用いる用語“ランダム”は、限定なしに、ランダム、準ランダム、および擬似ランダムを含むことを意図している。
【００１３】
用語“フラッシュディスプレー（flashing display）”は、ランプ、発光ダイオード（ＬＥＤ）、または液晶ディスプレー（ＬＣＤ）など、任意の形式の表示装置を意味するために以下で用いられる。用語“フラッシュディスプレー”は、さらに、フラッシュの回数をカウントでき、ディスプレーが発光、反射光、遮光、偏光、またはオン／オフの切替表示を形成するために利用可能な他の仕組みのいずれによりフラッシュを形成するかに拘らずに、フラッシングの仕組みにより番号を表すことが可能な任意の形式の表示装置として解釈されるべきである。
【００１４】
ＭＩＴＭ攻撃を阻止するために、本発明のいくつかの実施形態に調和する、サーバーおよびクライアントは、他者が知らない暗証番号（秘密鍵）を共有する。これは、従来のプッシュボタンアプローチよりも安全な装置認証方法を提供する。プレスの回数および／またはプレスのタイミングが秘密鍵を共有するために用いられる。この仕組みを用いることで、対抗者によりネットワークが危険にさらされ難くなる。
【００１５】
本発明に調和するいくつかの実施形態によれば、以下の仕組みにより暗証番号が共有される。サーバーは、ユーザーに番号を知らせる。ユーザーは、サーバーにより知らされた番号に従ってクライアントのボタン（client button）をプレスする。例えば、サーバーは、“３−２−５−８”などの暗証番号を表示する。ユーザーは、クライアントのボタンを３回プレスし、入力（enter）ボタンをプレスして入力の終了を知らせる。そして、ユーザーは、クライアントのボタンを２回、続いて入力（enter）ボタンをプレスすることにより、２桁目を入力する。同様に、クライアントのボタンを５回、続いて入力ボタンをプレスすることにより、３桁目（本例では“５”）が入力される。最後に、クライアントのボタンを８回、続いて入力ボタンをプレスすることにより、４桁目（本例では“８”）が入力される。もちろん、３桁の番号、５桁の番号なども用いることができる。より多くの桁数は、いくらか面倒となる代わりに、より安全な認証を提供する。
【００１６】
本発明に調和する特定の他の実施形態によれば、以下の仕組みにより暗証番号が共有される。サーバーは、ユーザーに番号を再び知らせる。ユーザーは、サーバーにより知らされる番号に従ってクライアントのボタンをプレスする。例えば、サーバーは、“３−２−５−８”などの番号の各桁を順次表示（または全て表示）する。暗証番号の１桁目（“３”）が表示されると、ユーザーは、クライアントのボタンを３回プレスする。一実施形態では、単純なフラッシュ光、ＬＥＤなどを用いて番号が表示される（他の実施形態では、一桁表示ディスプレーを用いることができる。）。よって、光が３回フラッシュし、それに応じて、ユーザーは、（例えば、所定の時間枠内で）クライアントのボタンを３回プレスする。そして、光を２回フラッシュさせることにより、次の桁（本例では“２”）が表示される。ユーザーは、クライアントのボタンを２回プレスすることにより応答する。同様に、光を５回フラッシュさせることにより、３桁目（本例では“５”）が表示され、ユーザーは、クライアントのボタンを５回プレスすることにより応答する。最後に、光を８回フラッシュさせることにより、４桁目（本例では“８”）が表示され、ユーザーは、クライアントのボタンを８回プレスすることにより応答する。もちろん、３桁の番号、５桁の番号なども用いることができる。より多くの桁数は、いくらか面倒となる代わりに、より安全な認証を提供する。
【００１７】
前述の処理が完了されると、ＩＤ（例えば、“３２５８”）を用いてクライアントの公開鍵を暗号化することができる。生データがネットワークを介して送信されないので、装置が安全に認証される。本シナリオを実施するために、非常に基本的なインターフェースのみが必要とされるので、実施コストを最小化することができる。
【００１８】
図１は、電力線通信（ＰＬＣ）ネットワーク３に接続されたサーバー１およびクライアント２を示している。図面の簡略化のために、本発明に関連しない構成（例えば、音声／映像エンコーダー、デコーダーなど）は示されていない。ＣＰＵ１０１は、ソフトウェアおよび／またはファームウェアの制御の下で、内部バス１００を通じてサーバー１の全ての構成を制御する。メモリ１０２は、任意の適当な電子記憶媒体であり、ＣＰＵ１０１上で実行されるソフトウェア／ファームウェアプログラムを記憶する。ユーザーインターフェース１０３は、例えば、一組のボタンまたはキーボードである。ディスプレー１０６は、以下で詳述するように、液晶ディスプレー（ＬＣＤ）、一組の発光ダイオード（ＬＥＤ）、または他の適当なディスプレー技術である。
【００１９】
ユーザーからの入力データは、ユーザーインターフェース１０３からＣＰＵ１０１に送信される。表示するデータは、ＣＰＵ１０１からディスプレー１０６に送信される。ネットワーク通信は、ＰＬＣインターフェース１０４を通じて実行される。電力プラグ１０５は、電力線ネットワーク３に差し込まれる。
【００２０】
本発明に調和する実施形態によれば、クライアント２は、サーバー１に登録されるネットワーク装置である。かかる登録を実行するために、認証処理が用いられる。構成２０１〜２０５は、サーバー１の構成１０１〜１０５と同様な方法で動作する。構成２０６は、一組のＬＥＤである。クライアント２は、いくつかの実施形態では、最小限のユーザーインターフェースで実現されうる。例えば、クライアント２は、複雑なインターフェースを欠いていてもよく、１つ以上のプッシュボタンの簡単な組合せのみを含むものもよい。一例として、クライアント２は、例えば、ホームシアターに適用されるリアサラウンド音声スピーカーまたはサブウーハーでもよい。
【００２１】
適当なプログラム制御の下で動作するＣＰＵ１０１、２０１は、クライアント装置１およびサーバー装置２の各動作の制御に加えて、いくつかの実施形態に関連して、暗号化／復号化エンジン（データを暗号化および／または復号化する。）としての機能を果たす。他の実施形態では、暗号化処理および復号化処理を実行するために、専用のハードウェアを用いることもできる。
【００２２】
図２は、装置認証処理の一例を示している。ユーザーは、サーバー１およびクライアント２を装置登録モードに設定する。図２では、要素３０１〜３１０は、サーバー１の要素、またはサーバー１で実行される機能であり、要素４０１〜４１０は、クライアント２の要素、またはクライアント２で実行される機能である。ランダム番号発生部３０１（例えば、ＣＰＵ１０１上で実行されるプログラムなど、ハードウェアまたはソフトウェアにより実施されるサーバー１の機能）は、ＩＤ番号３０２を発生させる（認証毎に固有のＩＤが発生する。）。番号は、例えば、４桁番号（“００００”〜“９９９９”）である。一実施形態では、このＩＤ番号は、発生すると、サーバーのディスプレー１０６に示される。
【００２３】
認証処理の実行に際して、サーバー装置およびクライアント装置は、ユーザー５がディスプレー１０６のＩＤ番号を見ることができ、クライアント装置２のユーザーインターフェース２０３を操作することができるように、一時的に物理的に近接して配置されなくてはならない。そして、ユーザー５は、ＩＤ番号を見て、この番号をユーザーＩ／Ｆ２０３の１つ以上のボタンを用いてクライアント２に入力する。一実施形態では、ディスプレー１０６がＩＤ番号を表示し、他の実施形態では、表示は、各桁の値を表す回数でフラッシュする単純な光またはＬＥＤでもよい。
【００２４】
本例では、ＩＤが“３９１５”であると仮定する。一実施形態では、表示は、ユーザーが読むことができるＩＤ番号“３９１５”をディスプレー１０６に示す。そして、ユーザーは、ユーザーＩ／Ｆ２０３の入力（input）ボタンを３回プッシュし、改行（return）ボタンを１回プッシュする。同様に、各桁の入力に続いて入力（enter）ボタンがプレスされることにより、残りの３桁が入力される。ユーザーインターフェース２０３を介して各桁がクライアント装置に入力されると、サーバーおよびクライアントの各々で同一のＩＤ（３０２および４０１）が設定される。
【００２５】
ＩＤ４０１は、（例えば、プログラム制御の下で動作するＣＰＵ２０１を用いて、）４０２でハッシュされる。例えば、ＭＤ５がハッシング（ハッシングは、例えば、Bruce SchneierおよびWileyによるApplied Cryptography（ISBN: 0471117099）に詳述される既知の技術であり、参照により組込まれる。）のために用いられる。クライアント２の公開鍵（４０４）は、暗号化器４０３（暗号化／復号化エンジン）で暗号化される。暗号化方法は、例えば、１２８ビットのＡＥＳ暗号化などの対称暗号である。ハッシュされた結果は、暗号鍵として用いられる。暗号化された公開鍵（ＰｕｂＫｅｙＣ４０４）は、電力線ネットワーク３（または他の適当なネットワーク）を介してサーバー１に送信される。ＩＤ３０２は、同様にして３０３（例えば、プログラム式ＣＰＵ１０１を用いて）でハッシュされる。復号化器３０４は、同一のハッシュされた結果で、クライアント２からの暗号化された鍵を復号化する。オリジナルのＰｕｂＫｅｙＣ４０４は、サーバー１により取得される。ＣＰＵ１０１、２０１、または専用のハードウェアを用いて、暗号化および復号化を実行することもできる。
【００２６】
オリジナルの公開鍵は、暗号化なしにネットワークを介して送信されない。よって、対抗者は、ネットワークトラフィックを監視することによって、公開鍵４０１を入手することができない。対抗者が暗号化されたクライアントの公開鍵を自らの公開鍵に置換すれば、サーバー１で復号化された結果は、有効な結果をもたらさない。よって、ＭＩＴＭ攻撃が通用しない。また、サーバー１は、総当り的な攻撃を阻止するために、装置認証モードで復号化３０４を１回のみ実行する。対抗者が１０、０００からなるＩＤの全ての組合せ（４桁のランダム暗証番号の場合）を試行することは現実的ではない。本発明に調和するいくつかの実施形態によれば、各クライアントに特定の回数（例えば、５回）でのみ試行を許可した後は、クライアントにより再試行の可能性をリセットする他の手続きが実行されるまで（例えば、ＩＤをリセットし、認証処理を再開するまで）、クライアントが締め出されるようにサーバー１を設定することにより、総当り的な攻撃を回避することができる。ＩＤは、公開鍵の配達（delivery）のために１回のみ用いられる。
【００２７】
ＰｕｂＫｅｙＣ４０４が双方の装置により共有された後は、サーバー１は、他の秘密鍵３０６をクライアント２に送信する。秘密鍵は、論理的なネットワーク内の全ての装置で共有される共通のアクセス鍵でもよい。秘密鍵３０６は、暗号化器３０５内でＰｕｂＫｅｙＣ４０４で暗号化される。暗号化器は、例えば、Bruce SchneierおよびWileyによるApplied Cryptography（ISBN: 0471117099）に記載されるDiffie-Hellman法を用いて、公開／秘密鍵の暗号化を実行する。暗号化された結果は、クライアント２に送信される。クライアント２は、それをクライアントの秘密鍵４０５で復号化し、秘密鍵を取得する。公開／秘密鍵の暗号化／復号化は、ＡＥＳ暗号化に比して、多大な計算時間を要する。本実施形態では、ＡＥＳが好ましいが、限定的に理解されるべきではない。しかし、それは、各装置認証のために１回のみ実行される。秘密鍵３０６が双方の装置により共有されると、秘密鍵３０６を用いて後続の通信を暗号化することができる。データ１（４０７）は、（本実施形態では）秘密鍵３０６でＡＥＳ暗号化され、サーバー２に送信される。サーバー２は、同一の秘密鍵３０６で暗号化データを復号化し、データ１（３０８）を取得する。同様に、サーバー１がデータ２（３１０）を送信する時に、それが秘密鍵３０６でＡＥＳ暗号化される。クライアント２は、秘密鍵３０６で暗号化データ２を復号化し、データ２（４１０）を取得する。公開鍵および秘密鍵は、例えば、１２８ビット長であり、現在のところ任意の総当り的な攻撃を阻止するために十分である。もちろん、総当り的な攻撃をさらに阻止するために、必要であれば、より長い鍵を用いることができる。
【００２８】
いくつかの実施形態では、秘密鍵が共有された後、クライアント２は、いくつかの実施形態に従って、例えば、装置名称、形式、製造者、シリアル番号などの装置情報をサーバーに送信してもよい。そして、サーバー１は、ディスプレー１０６に装置情報を示すことができる。そして、ユーザーは、それを見て、情報が正しいか否かを判断する。正しければ、ユーザーは、検証のためにボタンをプッシュする。対抗者が自らの違法または未許可の装置の登録を試みる場合には、ユーザーは、この機会を用いて、それを拒否することができる。
【００２９】
サーバー１は、ネットワーク上の他の全てのクライアント装置に新たな装置に関する通知を送信してもよい。他のクライアント装置がディスプレーを有していれば、全てのユーザーは、接続されている装置を知ることができる。これは、ネットワークに偽の装置（rogue device）が秘密裏に接続されることを阻止する。
【００３０】
よって、いくつかの実施形態に調和する、ネットワークでのクライアント装置の認証方法は、サーバー装置で、複数桁のランダム暗証番号を発生させるステップと、サーバー装置に接続されたサーバーディスプレーにランダム暗証番号を表示するステップと、表示されたランダム暗証番号の観察を可能にするために、サーバー装置と物理的に近接してクライアント装置を配置するステップと、クライアント装置で、クライアント装置に接続されたスイッチをランダム暗証番号の各桁の値に相当する回数で作動させることにより、ランダム暗証番号の各桁を順次に入力するステップと、クライアント装置でランダム暗証番号が正しく入力されると、サーバー装置およびクライアント装置で実行される暗号化および復号化処理において、ランダム暗証番号を用いて認証および鍵交換処理を完了するステップと、を含む。
【００３１】
いくつかの実施形態に調和する、ネットワークでのクライアント装置の他の認証方法は、サーバー装置で、複数桁のランダム暗証番号を発生させるステップと、サーバー装置に接続されたサーバーディスプレーにランダム暗証番号を表示するステップと、表示されたランダム暗証番号の観察を可能にするために、サーバー装置と物理的に近接してクライアント装置を配置するステップと、クライアント装置で、クライアント装置に接続されたスイッチをランダム暗証番号の各桁の値に相当する回数で作動させることにより、ランダム暗証番号の各桁を順次に入力するステップと、秘密鍵を作成するためにハッシング法を用いてサーバー装置でランダム暗証番号のハッシュ値を算出するステップと、秘密鍵を作成するためにハッシング法を用いてクライアント装置でランダム暗証番号のハッシュ値を算出するステップと、クライアント装置とサーバー装置との間で交換される暗号／復号鍵を暗号化および復号化するために、秘密鍵を使用するステップと、を含む。
【００３２】
サーバーディスプレーは、（ディスプレーにより）ランダム暗証番号の全体が表示される複数桁表示ディスプレーでもよい。ランダム暗証番号は、サーバーディスプレーにより一桁毎に表示されてもよい。サーバーディスプレーは、フラッシュの回数によりランダム暗証番号の各桁を表すフラッシュディスプレーでもよい。桁の入力終了を知らせるために、各桁の入力後に入力スイッチを作動させてもよい。
【００３３】
図３には、図４と併せて理解される、５０２で開始する、上記処理の第１の部分が詳細に示されている。前述したように、サーバー１およびクライアント２は、（所定の動作手順を経て）５０３で登録モードの状態にある。そして、サーバー１は、５０４でランダムＩＤ番号を発生させる。一般に、この番号は、Ｎ桁の長さを有する（本例では、Ｎ＝４が桁数として提案されている。）。５０５でカウンター（Ｍ）が１に初期化され、５１２でサーバー１がディスプレー１０６にランダムＩＤ番号（例えば、“３９１５”）を表示する。５０７で、ユーザーは、データボタン６０２を用いて、ＩＤ番号の１桁目の値により特定された回数でデータボタンをプレスすることにより、ＩＤ番号の入力を開始する。１桁目が入力されると、入力（enter）ボタン６０３が１回プレスされる。そして、制御が５０８に移動し、そこでは、最終桁が入力されていなければ、カウンターが増加されて制御が５０７に復帰し、そこでは、次の桁が同様にして入力される。５０８で全ての桁が入力されていれば、前述したように、残りの認証および鍵交換処理（すなわち、４０１で開始する処理）が５１０で実行される。
【００３４】
これらの知識を考慮すれば、当業者にとって、様々な変形が明らかとなる。例えば、サーバー１がディスプレー能力を有していない状況では、クライアント２にＩＤを入力するために、以下の変形を用いることができる。本実施形態では、サーバー１は、ディスプレーの代わりに、単純なＬＥＤまたは他の光を用いることができる。ＬＥＤが点灯すると、ユーザーがクライアントのボタンをプッシュする。“３”に続いて“９”が入力されるべきである場合には、ＬＥＤは、短く３回点滅し、長い中断の後に９回点滅する。点滅速度は、ユーザーが追従可能な程度に遅い速度である。
【００３５】
図５には、図６と併せて理解される、再び５０２で開始する本処理の一実施形態が詳細に示されている。前述したように、サーバー１およびクライアント２は、（所定の動作手順を経て）５０３で登録モードの状態にある。そして、サーバー１は、５０４でランダムＩＤ番号を発生させる。一般に、この番号は、Ｎ桁の長さを有する（本例では、Ｎ＝４が桁数として提案されている。）。５０５でカウンター（Ｍ）が１に初期化され、サーバー１は、５０６でＬＥＤまたは他の光６０６の一連のフラッシュとして、ランダムＩＤ番号の最初（Ｍ番目）の桁を表示する（例えば、最初にＩＤ番号“３９１５”の“３”が３つのフラッシュとして表される。）。５０７で、ユーザーは、データボタン６０２を用いて、ＩＤ番号の１桁目の値により特定された回数でデータボタンをプレスすることにより、ＩＤ番号の入力を開始する。１桁目が入力されると、入力（enter）ボタン６０３が１回プレスされる。そして、制御が５０６に復帰し、そこでは、最終桁が入力されていなければ、カウンターが増加されてＬＥＤ６０６のフラッシュの回数により次の桁が表される。そして、制御が５０７に復帰し、そこでは、次の桁が同様にして入力される。５０８で全ての桁が入力されていれば、前述したように、残りの認証および鍵交換処理（すなわち、４０１で開始する処理）が５１０で実行される。
【００３６】
前述した変形では、ＬＥＤ６０６の発光と同時にデータボタン６０２を作動させることをユーザーに要求することができ、または、一つの桁を表すＬＥＤ６０６の全てのフラッシュを行うことができ、これにデータボタンを作動させるための期間が続くことになる。
【００３７】
他の変形では、様々な仕組みにより入力（enter）ボタン６０３の操作を完全に除去することができる。例えば、特定の期間（例えば、３秒間ホールドする。）より長くデータボタン６０２をプレスまたはホールドすることを、入力ボタンの操作と等価とみなすことができる。他の実施形態では、サーバー１は、入力される桁毎に時間枠を提供することができる。桁が入力されたか否かの判断点として、時間枠の経過を用いることができる。
【００３８】
さらに他の実施形態では、ＬＥＤのフラッシュよりはむしろ、発光期間を用いてもよい。“０”について、ＬＥＤが１秒間点灯し、ユーザーがボタンを１秒間プッシュする。“３”について、ＬＥＤが４秒間点灯する。ボタンがプレスされると、クライアントは、内部カウンターをリセットし、カウントを開始する。ボタンが３秒以上、かつ、４秒未満プレスされると、クライアントは、“３”が入力されたと判断する。
【００３９】
よって、いくつかの実施形態に調和するネットワーククライアント装置は、通信ネットワークを介した通信のためのネットワークインターフェースを有する。ランダム暗証番号の各桁の値に相当する回数で作動されて、ランダム暗証番号の各桁を順次に入力することにより、クライアント装置でランダム暗証番号の入力を可能にするスイッチが提供される。秘密鍵を作成するためにハッシング法を用いてクライアント装置でランダム暗証番号のハッシュ値を算出するハッシング装置を用いることができる。暗号化／復号化エンジンは、サーバー装置との間で暗号／復号鍵を交換するための復号化処理において秘密鍵を使用する。
【００４０】
いくつかの実施形態に調和するネットワークサーバー装置は、通信ネットワークを介した通信のためのネットワークインターフェースを有する。ランダム番号発生部は、複数桁のランダム暗証番号を発生させる。サーバーディスプレーは、ランダム暗証番号を表示する。ハッシング機構は、秘密鍵を作成するためにハッシング法を用いてランダム暗証番号のハッシュ値を算出するために用いられる。暗号化／復号化エンジンは、クライアント装置とサーバー装置との間で交換される暗号／復号鍵を暗号化するために、秘密鍵を使用する。
【００４１】
いくつかの実施形態では、サーバーディスプレーは、（ディスプレーにより）ランダム暗証番号の全体が表示される複数桁表示ディスプレーである。他の実施形態では、ランダム暗証番号は、サーバーディスプレーにより一桁毎に表示される。他の実施形態では、サーバーディスプレーは、フラッシュの回数によりランダム暗証番号の各桁を表すフラッシュディスプレーである。
【００４２】
図面には明示されていないが、認証および鍵交換処理は、ＩＤ番号が誤って入力された場合に、認証の失敗により終了する。当業者は、認証の失敗時において、認証を終了し、および／または後続の任意の認証処理を再開するために様々なステップを実行可能であることを理解するであろう。
【００４３】
本発明に調和するいくつかの実施形態は、様々な利点を享受する。安全な装置認証。生データが暗号化なしに、ネットワークを介して送信されない。これは、ＭＩＴＭ攻撃を阻止する。高い利用性。ユーザーは、ボタンをプッシュすることにより、４桁番号を入力することのみを必要とする。長い番号を入力する必要がない。特殊な、高価なハードウェアまたはインターフェースが必要とされない。高価なユーザーインターフェース（キーボード、大型ディスプレーなど）が必要とされない。小さなソフトウェアの変更のみが必要とされる。コストに対する大きな影響が及ばない。これらの利点および他の利点は、本発明に調和する実施形態を用いることで達成される。これらの利点のいずれかが得られないことは、ある実施形態が本発明に調和する他の実施形態の範囲に入らないことを意味するものではない。
【００４４】
例示的な実施形態では、用語“サーバー”および“クライアント”が用いられているが、当業者は、本認証処理のために、サーバーの動作として前述された方法によりクライアント装置が動作可能であり、クライアントの動作として前述された方法によりサーバー装置が動作可能であることを理解するであろう。よって、用語“クライアント”および“サーバー”は、特許請求の範囲に関連して、厳密に解釈されるべきではない。これらの用語は、本認証処理の各動作に関連して、各装置の単なるラベルとして理解されるべきである。
【００４５】
当業者は、上記の知識を考慮すれば、前述した例示的な実施形態のいくつかがプログラム式の処理装置の使用に基づいていることを認識するであろう。しかし、本発明は、特殊用途のハードウェアおよび／または専用の処理装置などと等価のハードウェア構成を用いて他の実施形態を実施可能であるので、前述した例示的な実施形態に限定されるものではない。同様に、代替的に等価な実施形態を構成するために、汎用コンピュータ、マイクロプロセッサを用いるコンピュータ、マイクロコントローラ、光コンピュータ、アナログコンピュータ、専用プロセッサ、特定用途向け回路、および／または専用の配線論理回路を用いてもよい。
【００４６】
当業者は、上記の知識を考慮すれば、前述したいくつかの実施形態を実施するために用いられる、プログラム動作、プログラム処理、および関連するデータを、ディスク記憶装置、および例えば、読取専用メモリ（ＲＯＭ）装置、ランダムアクセスメモリ（ＲＡＭ）装置、ネットワークメモリ装置、光記憶要素、磁気記憶要素、磁気光学記憶要素、フラッシュメモリ、コアメモリ、および／または本発明のいくつかの実施形態を逸脱しない範囲で、他の等価な揮発性および非揮発性の記憶技術など、他の形式の記憶装置を用いて実施可能であることを理解するであろう。かかる代替的な記憶装置は、等価物として理解されるべきである。
【００４７】
前述したいくつかの実施形態は、フロー図の形式で前述され、任意の適当な電子記憶媒体もしくはコンピュータ読取可能な記憶媒体に記憶可能であり、および／または任意の適当な電子通信媒体を介して送信可能であるプログラム命令を実行するプログラム式処理装置を用いて、実施され、または実施されてもよい。しかし、当業者は、上記の知識を考慮すれば、本発明の実施形態から逸脱しない範囲で、任意の変形で、および多くの適当なプログラミング言語で、前述した処理を実施可能であることを理解するであろう。例えば、本発明のいくつかの実施形態から逸脱しない範囲で、実行される特定の動作の順序を変更することができ、追加的な動作を追加することができ、または動作を削除することができる。本発明のいくつかの実施形態から逸脱しない範囲で、エラー捕捉（error trapping）を追加および／または拡張することができ、ユーザーインターフェースおよび情報の表示を変形することができる。かかる変形は、意図されており、等価物と理解される。
【００４８】
いくつかの例示的な実施形態が記載されるが、前述した記載を考慮すれば、多くの代替、修正、置換、および変形は、当業者にとって明らかであろう。
【図面の簡単な説明】
【００４９】
【図１】本発明のいくつかの実施形態に調和する、クライアントおよびサーバーを含むネットワークを示すブロック図である。
【図２】本発明のいくつかの実施形態に調和する、例示的な認証および鍵交換処理を示すフロー図である。
【図３】本発明のいくつかの実施形態に調和する、認証処理の例示的な実施形態の一部を示すフロー図である。
【図４】本発明のいくつかの実施形態に調和する、クライアントサーバーシステムの一例を示すブロック図である。
【図５】本発明のいくつかの実施形態に調和する、認証処理の例示的な実施形態の一部を示す他のフロー図である。
【図６】本発明のいくつかの実施形態に調和する、クライアントサーバーシステムの一例を示す他のブロック図である。
【図１】
2008537204.tif 000003
【図２】
2008537204.tif 000004
【図３】
2008537204.tif 000005
【図４】
2008537204.tif 000006
【図５】
2008537204.tif 000007
【図６】
2008537204.tif 000008