(57)【特許請求の範囲】
【請求項１】
複数の通信装置の間で共通して設定される第１の認証情報を予め記憶する認証装置により認証される通信装置において、
前記第１の認証情報と、自己を一意に識別する識別情報と、前記第１の認証情報を暗号鍵として前記識別情報を暗号化するプログラムとを記憶する記憶部と、
前記記憶部から前記第１の認証情報と前記識別情報と前記プログラムとを読み取り、前記プログラムを実行することにより、前記第１の認証情報を暗号鍵として前記識別情報を暗号化し、前記識別情報を暗号化した結果を第２の認証情報として前記記憶部に記憶した後、前記記憶部から前記第１の認証情報と前記プログラムとを消去する処理部と、
前記認証装置と通信を行う通信部とを有し、
前記処理部は、前記記憶部から前記識別情報と前記第２の認証情報とを読み取り、前記通信部を介して前記認証装置に前記識別情報と前記第２の認証情報とを送信することにより、前記認証装置に前記第１の認証情報を暗号鍵として前記識別情報を暗号化した結果が前記第２の認証情報であることを確認させることを特徴とする通信装置。
【請求項２】
前記処理部は、前記通信部を介して前記認証装置から前記第１の認証情報及び前記第２の認証情報から独立して生成される第３の認証情報を受信し、前記第３の認証情報を前記記憶部に記憶するとともに、前記記憶部から前記第２の認証情報を消去することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記処理部は、前記記憶部から前記第３の認証情報を読み取り、前記第３の認証情報を用いて、前記通信部を介して所定の通信を行うことを特徴とする請求項２に記載の通信装置。
【請求項４】
複数の通信装置の間で共通して設定される第１の認証情報を予め記憶する認証装置により認証される通信装置において、
前記第１の認証情報と、自己を一意に識別する識別情報と、前記第１の認証情報を暗号鍵として前記識別情報を暗号化するプログラムとを記憶する記憶部と、
前記記憶部から前記第１の認証情報と前記識別情報と前記プログラムとを読み取り、前記プログラムを実行することにより、前記第１の認証情報を暗号鍵として前記識別情報を暗号化し、前記識別情報を暗号化した結果を第２の認証情報として前記記憶部に記憶した後、前記記憶部から前記第１の認証情報と前記プログラムとを消去する処理部と、
前記認証装置と通信を行う通信部とを有し、
前記処理部は、前記記憶部から前記識別情報を読み取り、前記通信部を介して前記認証装置に前記識別情報を送信するとともに、前記通信部を介して前記認証装置から乱数を受信し、前記記憶部から前記第２の認証情報を読み取り、前記第２の認証情報を暗号鍵として前記乱数を暗号化し、前記通信部を介して前記認証装置に前記乱数を暗号化した結果を第３の認証情報として送信することにより、前記認証装置に前記識別情報を暗号化した結果を暗号鍵として前記乱数を暗号化した結果が前記第３の認証情報であることを確認させることを特徴とする通信装置。
【請求項５】
前記処理部は、前記記憶部から前記第２の認証情報を読み取り、前記第２の認証情報を用いて、前記通信部を介して所定の通信を行うことを特徴とする請求項４に記載の通信装置。
【請求項６】
前記処理部は、前記通信装置の電源投入時に、前記第２の認証情報が既に前記記憶部に記憶されているかどうかを判断し、前記第２の認証情報が未だ前記記憶部に記憶されていなければ、前記記憶部から前記第１の認証情報と前記識別情報と前記プログラムとを読み取り、前記プログラムを実行することにより、前記第１の認証情報を暗号鍵として前記識別情報を暗号化し、前記識別情報を暗号化した結果を第２の認証情報として前記記憶部に記憶した後、前記記憶部から前記第１の認証情報と前記プログラムとを消去することを特徴とする請求項１から５のいずれかに記載の通信装置。
【請求項７】
前記処理部は、前記通信装置の製造工程において、前記記憶部から前記第１の認証情報と前記識別情報と前記プログラムとを読み取り、前記プログラムを実行することにより、前記第１の認証情報を暗号鍵として前記識別情報を暗号化し、前記識別情報を暗号化した結果を第２の認証情報として前記記憶部に記憶した後、前記記憶部から前記第１の認証情報と前記プログラムとを消去することを特徴とする請求項１から６のいずれかに記載の通信装置。
【請求項８】
前記第１の認証情報は、前記通信装置の製造場所ごとに共通の情報であることを特徴とする請求項７に記載の通信装置。
【請求項９】
複数の通信装置の間で共通して設定される第１の認証情報を予め記憶する記憶部と通信部と処理部とを有する認証装置が、前記第１の認証情報と前記第１の認証情報を暗号鍵として自己を一意に識別する識別情報を暗号化するプログラムとを予め記憶する記憶部と通信部と処理部とを有する通信装置を認証する認証方法において、
前記通信装置の処理部が、前記識別情報を前記通信装置の記憶部に記憶する第１の記憶ステップと、
前記通信装置の処理部が、前記通信装置の記憶部から前記第１の認証情報と前記識別情報と前記プログラムとを読み取り、前記プログラムを実行することにより、前記第１の認証情報を暗号鍵として前記識別情報を暗号化する暗号化ステップと、
前記通信装置の処理部が、前記識別情報を暗号化した結果を第２の認証情報として前記通信装置の記憶部に記憶した後、前記通信装置の記憶部から前記第１の認証情報と前記プログラムとを消去する第２の記憶ステップと、
前記通信装置の処理部が、前記通信装置の記憶部から前記識別情報と前記第２の認証情報とを読み取り、前記通信装置の通信部を介して前記認証装置に前記識別情報と前記第２の認証情報とを送信する第１の送信ステップと、
前記認証装置の処理部が、前記認証装置の通信部を介して前記通信装置から前記識別情報と前記第２の認証情報とを受信する第１の受信ステップと、
前記認証装置の処理部が、前記認証装置の記憶部から前記第１の認証情報を読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化した結果が前記第２の認証情報であることを確認することにより、前記通信装置を認証する認証ステップとを備えることを特徴とする認証方法。
【請求項１０】
前記認証方法は、さらに、
前記認証装置の処理部が、前記通信装置の認証が成功した場合に、前記認証装置の通信部を介して前記通信装置に前記第１の認証情報及び前記第２の認証情報から独立して生成される第３の認証情報を送信する第２の送信ステップと、
前記通信装置の処理部が、前記通信装置の通信部を介して前記認証装置から前記第３の認証情報を受信する第２の受信ステップと、
前記通信装置の処理部が、前記第３の認証情報を前記通信装置の記憶部に記憶するとともに、前記通信装置の記憶部から前記第２の認証情報を消去する第３の記憶ステップとを備えることを特徴とする請求項９に記載の認証方法。
【請求項１１】
前記認証方法は、さらに、
前記通信装置の処理部が、前記通信装置の記憶部から前記第３の認証情報を読み取り、前記第３の認証情報を用いて、前記通信装置の通信部を介して所定の通信を行う通信ステップとを備えることを特徴とする請求項１０に記載の認証方法。
【請求項１２】
複数の通信装置の間で共通して設定される第１の認証情報を予め記憶する記憶部と通信部と処理部とを有する認証装置が、前記第１の認証情報と前記第１の認証情報を暗号鍵として自己を一意に識別する識別情報を暗号化するプログラムとを予め記憶する記憶部と通信部と処理部とを有する通信装置を認証する認証方法において、
前記通信装置の処理部が、前記識別情報を前記通信装置の記憶部に記憶する第１の記憶ステップと、
前記通信装置の処理部が、前記通信装置の記憶部から前記第１の認証情報と前記識別情報と前記プログラムとを読み取り、前記プログラムを実行することにより、前記第１の認証情報を暗号鍵として前記識別情報を暗号化する第１の暗号化ステップと、
前記通信装置の処理部が、前記識別情報を暗号化した結果を第２の認証情報として前記通信装置の記憶部に記憶した後、前記通信装置の記憶部から前記第１の認証情報と前記プログラムとを消去する第２の記憶ステップと、
前記通信装置の処理部が、前記通信装置の記憶部から前記識別情報を読み取り、前記通信装置の通信部を介して前記認証装置に前記識別情報を送信する第１の送信ステップと、
前記認証装置の処理部が、前記認証装置の通信部を介して前記通信装置から前記識別情報を受信する第１の受信ステップと、
前記認証装置の処理部が、前記認証装置の記憶部から前記第１の認証情報を読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化する第２の暗号化ステップと、
前記認証装置の処理部が、乱数を生成する乱数生成ステップと、
前記認証装置の処理部が、前記認証装置の通信部を介して前記通信装置に前記乱数を送信する第２の送信ステップと、
前記通信装置の処理部が、前記通信装置の通信部を介して前記認証装置から前記乱数を受信する第２の受信ステップと、
前記通信装置の処理部が、前記通信装置の記憶部から前記第２の認証情報を読み取り、前記第２の認証情報を暗号鍵として前記乱数を暗号化する第３の暗号化ステップと、
前記通信装置の処理部が、前記通信装置の通信部を介して前記認証装置に前記乱数を暗号化した結果を第３の認証情報として送信する第３の送信ステップと、
前記認証装置の処理部が、前記認証装置の通信部を介して前記通信装置から前記第３の認証情報を受信する第３の受信ステップと、
前記認証装置の処理部が、前記識別情報を暗号化した結果を暗号鍵として前記乱数を暗号化した結果が前記第３の認証情報であることを確認することにより、前記通信装置を認証する認証ステップとを備えることを特徴とする認証方法。
【請求項１３】
前記認証方法は、さらに、
前記通信装置の処理部が、前記通信装置の認証が成功した場合に、前記通信装置の記憶部から前記第２の認証情報を読み取り、前記第２の認証情報を用いて、前記通信装置の通信部を介して所定の通信を行う通信ステップとを備えることを特徴とする請求項１２に記載の認証方法。
【請求項１４】
前記第１の記憶ステップは、
前記通信装置の処理部が、前記識別情報として前記通信装置の通信部が前記認証装置との通信に用いるアドレス情報を記憶することを特徴とする請求項９〜１３に記載の認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証方法及び通信装置及び認証装置及び認証プログラムに関するものである。特に、認証機能付き通信装置に関する。また、認証機能付き通信装置を利用する通信装置認証情報生成方式及び通信装置認証方式及び通信装置認証システムに関する。
【背景技術】
【０００２】
近年、個人の家屋にインターネット等のコンピュータネットワークに対する常時接続環境が一般的になりつつあり、汎用的なコンピュータ以外にも、映像機器や制御装置等、用途の限定された小型機器に通信機能が搭載されるようになっている。このような通信機能を搭載した小型機器（以降、通信装置と記述する）は、特定のサーバと通信することが多い。サーバの利用料は、課金の手間を省く等の理由により、別途徴収することなく通信装置の価格に含めることがある。このような場合、第三者によって製造された通信装置がサーバと通信すると、サーバを無料で使用されることになるため、純正品のみがサーバに接続できるような仕組みが必要である。また、通信装置とサーバ間で交わされるデータの盗聴を防ぐために通信路の暗号化を行う際、暗号化のための鍵を共有する必要がある。通信装置を認証するために、例えば、製造時において、通信装置に共通の認証情報を設定する方法がある。また、特許文献１及び特許文献２には、通信装置に共通の認証情報を設定した後、個別の認証情報を設定する方法が記載されている。
【特許文献１】特開２００５−１３０４５８号公報
【特許文献２】特開２００５−１３０４５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
通信装置に共通の認証情報を設定する場合、装置の生産場所を必ずしも全面的に信用することはできない。例えば、通信装置に設定する認証情報が漏洩して、その認証情報をコピーした通信装置、すなわちクローン機が製造されるという問題がある。生産場所で認証情報が安全に通信装置に設定できたとしても、流通時等において通信装置の内部を解析されて秘密情報が漏洩する危険は存在する。共通の認証情報を使用する場合、クローン機が不正にネットワークに接続してきても、それを検知することができない。仮に認証情報が漏洩したことが発覚し、クローン機が製造されたことを検知できたとしても、クローン機のネットワークへの接続を禁止するためには、共通の認証情報を無効にする必要がある。共通の認証情報を無効にすると純正品もネットワークに接続できなくなってしまうため、実質的に共通の認証情報を無効にすることはできない。
【０００４】
個別の認証情報を使用する場合、認証情報が漏洩したときの影響は、当該装置に設定されている認証情報を無効にすることにより、当該装置のみにとどまる。しかし、認証情報を設定する際において、個別の認証情報の設定を他のファームウェア等の設定と同一工程にすると設定のための装置が複雑になり、別の工程にしても設定のための装置の構造は依然として複雑でありかつ工数が増大する。いずれにせよ個別の認証情報を設定することは製造コストの上昇につながる。また、大量の秘密情報である認証情報を扱うことは、後述する理由により安全性の低下、あるいは管理コストの上昇につながる。
【０００５】
通常、秘密情報を内部に持つ通信装置の製造場所は従業員のみが立ち入ることができ、また秘密情報も耐タンパー装置に保存することによって保護されているため、秘密情報にアクセスする権限のない部外者によって秘密情報を持ち出される危険性は低い。しかしながら、大量の秘密情報を扱わなければならない場合、耐タンパー装置の保存容量を超えてしまい安全性の低い装置に保存して管理しなければならなくなったり、製造場所以外で秘密情報を生成している場合に秘密情報の輸送中に盗難にあったりする危険性も高まる。
【０００６】
本発明は、例えば、通信装置の製造時には共通の認証情報を設定することによって製造コストを抑えながら、設定された共通の認証情報が漏洩する危険を減少させるとともに、認証情報が漏洩した場合の被害を最小限に抑えることを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る認証方法は、
複数の通信装置の間で共通して設定される第１の認証情報を予め記憶する記憶部と通信部と処理部とを有する認証装置が、前記第１の認証情報を予め記憶する記憶部と通信部と処理部とを有する通信装置を認証する認証方法において、
前記通信装置の処理部が、自己を一意に識別する識別情報を前記通信装置の記憶部に記憶する第１の記憶ステップと、
前記通信装置の処理部が、前記通信装置の記憶部から前記第１の認証情報と前記識別情報とを読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化する暗号化ステップと、
前記通信装置の処理部が、前記識別情報を暗号化した結果を第２の認証情報として前記通信装置の記憶部に記憶するとともに、前記通信装置の記憶部から前記第１の認証情報を消去する第２の記憶ステップと、
前記通信装置の処理部が、前記通信装置の記憶部から前記識別情報と前記第２の認証情報とを読み取り、前記通信装置の通信部を介して前記認証装置に前記識別情報と前記第２の認証情報とを送信する第１の送信ステップと、
前記認証装置の処理部が、前記認証装置の通信部を介して前記通信装置から前記識別情報と前記第２の認証情報とを受信する第１の受信ステップと、
前記認証装置の処理部が、前記認証装置の記憶部から前記第１の認証情報を読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化した結果が前記第２の認証情報であることを確認することにより、前記通信装置を認証する認証ステップとを備えることを特徴とする。
【発明の効果】
【０００８】
本発明では、通信装置の処理部が、複数の通信装置の間で共通して設定される第１の認証情報を暗号鍵として識別情報を暗号化した結果を第２の認証情報として通信装置の記憶部に記憶するとともに、通信装置の記憶部から第１の認証情報を消去し、認証装置の処理部が、第１の認証情報を暗号鍵として識別情報を暗号化した結果が第２の認証情報であることを確認することにより、通信装置の製造時には共通の認証情報（第１の認証情報）を設定することによって製造コストを抑えながら、設定された共通の認証情報が漏洩する危険を減少させるとともに、認証情報が漏洩した場合の被害を最小限に抑えることが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態について、図を用いて説明する。
【００１０】
実施の形態１．
図１は、本実施の形態における通信装置（認証機能付き通信装置）の構成の一例を示すブロック図である。
【００１１】
通信装置１００には、他の通信装置やサーバ（後述する認証サーバ）と通信するためのネットワークインタフェース１０５（通信部の一例）、ファームウェアを格納するためのフラッシュメモリ１０４（記憶部の一例）が含まれる。また、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１（処理部の一例）やメモリ１０２（記憶部の一例）、及び基本的なプログラムが格納されているＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３（記憶部の一例）も含まれ、それぞれがバス１０６で接続されている。ネットワークインタフェース１０５には、それぞれ固有のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス（アドレス情報の一例）が設定されていて、実際にネットワークを使用する際には、例えばＭＡＣアドレスをネットワーク中に送信し、それに対してＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバが応答することによってＩＰ（インターネットプロトコル）アドレスが割り当てられる。または、手動でＩＰアドレスを通信装置１００に設定することもできる。フラッシュメモリ１０４は、ＣＰＵ１０１やメモリ１０２やＲＯＭ１０３等と同一のパッケージに収納されており、特別なモードに設定することにより、外部から直接フラッシュメモリ１０４に対して書き込むことができるが、内容を読み出すことはできないように構成することが望ましい。この場合、内容をパッケージの外部に読み出すためには、パッケージを破壊するか内容を読み出すためのプログラムを別途設定する必要がある。
【００１２】
図２は、通信装置１００で動作するファームウェアの構成の一例を示す図である。
【００１３】
通信装置１００の製造時には、通信装置１００に対して、通信装置１００を動作させるために必要なファームウェアをフラッシュメモリ１０４に格納する。通信装置制御プログラム２０１は、通信装置１００の動作を制御するためのプログラムである。認証情報生成プログラム２０２は、後述する個別の認証情報（第２の認証情報）を生成するためのプログラムである。パラメータ保存部２０３は、例えばネットワークに接続できない場合の再試行回数や再試行間隔など、通信装置１００の動作をカスタマイズするためのパラメータを保存する場所である。秘密情報保存部２０４は、通信装置１００がサーバから認証されるために用いる鍵（認証情報の一例）や利用者の登録情報等を保存する場所である。フラッシュメモリ１０４には、それぞれに通信装置１００に対して同一のファームウェア２００が格納される。通信装置制御プログラム２０１はもちろんのこと、パラメータにはデフォルトの値が設定され、認証情報（第１の認証情報）も同一のものが設定される。この共通の認証情報（第１の認証情報）を以下ではＫｇと表す。Ｋｇは、秘密情報保存部２０４に格納される。Ｋｇは、例えば０ｘ１２３４５６７８９ａｂｃｄｅｆ０１２３４５６７８９ａｂｃｄｅｆ０等の任意のバイナリデータで良い。
【００１４】
ここで、共通の認証情報Ｋｇには製造場所によって異なる値を用いても良い。秘密情報を安全に管理できる環境において、秘密情報を持ち出される可能性が最も高い手段は権限を持つ内部の人間によるものである。秘密情報にアクセスする権限を持つ者の人数を制限することによって、持ち出すことができる者の人数を絞り込むことができるが、製造場所ごとに共通の認証情報を変えることによって、持ち出されたことが判明した共通の認証情報を調べれば製造場所を特定することができるため、持ち出した可能性のある者をさらに絞り込むことができる。
【００１５】
通信装置１００の製造の最終工程において、最終検査を行う。最終検査では、通信装置１００の電源を入れ、通信装置１００が正しく動作しているかの確認を行う。その際、認証情報生成プログラム２０２を実行する。
【００１６】
図３は、認証情報を生成するための通信装置１００の動作（認証情報生成プログラム２０２の動き）の一例を示すフロー図である。
【００１７】
ステップＳ１０１において、通信装置１００が有するＣＰＵ１０１は、自己を一意に識別する識別情報として、ネットワークインタフェース１０５に設定されているＭＡＣアドレスの値を取得し、メモリ１０２に記憶される変数Ｍに格納する（第１の記憶ステップ（処理））。例えば、ＭＡＣアドレスが０１：２３：４５：ａｂ：ｃｄ：ｅｆである場合、変数Ｍに０ｘ０１２３４５ａｂｃｄｅｆのバイナリデータが格納される。ステップＳ１０２において、ＣＰＵ１０１は、フラッシュメモリ１０４の秘密情報保存部２０４からＫｇを読み取るとともに、メモリ１０２から変数Ｍの値を読み取る。そして、例えばＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、ＭＩＳＴＹ（登録商標）１、Ｃａｍｅｌｌｉａ（登録商標）等の共通鍵暗号方式を用いて、Ｋｇを鍵としてＭを暗号化する（暗号化ステップ（処理））。ＣＰＵ１０１は、Ｍを暗号化した結果をＫｇ’（第２の認証情報）とし、フラッシュメモリ１０４の秘密情報保存部２０４に格納する。例えばＫｇ’は、０ｘ３ｅａｆｅ６０２ｂｃａ２４６９０となる。ステップＳ１０３において、ＣＰＵ１０１は、Ｋｇの秘密情報保存部２０４からの消去を行う（第２の記憶ステップ（処理））。この際に、認証情報生成プログラム２０２自身もフラッシュメモリ１０４から消去するとより安全性が高まる。
【００１８】
上記ステップＳ１０２において、ＭＡＣアドレスの値をそのまま暗号化するのではなく、ＳＨＡ（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ）−２５６やＳＨＡ−５１２等のハッシュアルゴリズム等を用いて変換した上で暗号化しても良い。また、ＭＡＣアドレス以外にも機器ＩＤやシリアル番号等、通信装置１００毎に異なる値を持ち、通信装置１００から取得可能な情報であればそれを識別情報として使用しても良い。さらに、取得可能な情報を複数組み合わせて識別情報として使用しても良い。
【００１９】
上記のように、認証情報生成プログラム２０２が実行された結果、秘密情報保存部２０４に格納されていた共通の認証情報Ｋｇは機器毎に異なる認証情報Ｋｇ’へと更新される。
【００２０】
図４は、本実施の形態に係るネットワークの構成例を示すブロック図である。
【００２１】
通信装置１００が使用者の手元に渡り、ネットワーク４００に接続されるとき、ネットワーク４００上の認証サーバ３００（認証装置の一例）によって通信装置１００が認証される。このとき、通信装置１００は上記のように秘密情報保存部２０４に認証情報としてＫｇ’を保持しているものとする。認証サーバ３００は通信装置１００を認証するために用いられ、元々の認証情報であるＫｇを保持している。認証サーバ３００上ではＫｇを耐タンパー装置内に格納し、安全に管理することが望ましい。
【００２２】
図５は、本実施の形態における認証装置の外観の一例を示す図である。
【００２３】
図５において、認証サーバ３００は、システムユニット９１０、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）表示装置９０１、キーボード（Ｋ／Ｂ）９０２、マウス９０３、コンパクトディスク装置（ＣＤＤ）９０５、プリンタ装置９０６を備え、これらはケーブルで接続されている。さらに、認証サーバ３００は、ローカルエリアネットワーク（ＬＡＮ）９４２、ゲートウェイ９４１を介してインターネット９４０に接続されている。ＬＡＮ９４２、インターネット９４０等はネットワーク４００の一例である。
【００２４】
図６は、本実施の形態における認証装置のハードウェア構成の一例を示す図である。
【００２５】
図６において、認証サーバ３００は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９１１を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、耐タンパー装置９１６、ＣＲＴ表示装置９０１、Ｋ／Ｂ９０２、マウス９０３、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）９０４、磁気ディスク装置９２０、ＣＤＤ９０５、プリンタ装置９０６と接続されている。
【００２６】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、耐タンパー装置９１６、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０は、不揮発性メモリの一例である。これらは、記憶部の一例である。例えば耐タンパー装置９１６はシステムユニット９１０の内部に設置され、外部からアクセスできないように構成されており、複数の通信装置の間で共通して設定される認証情報Ｋｇを記憶する。
【００２７】
通信ボード９１５は、ＬＡＮ９４２等に接続されている。通信ボード９１５は、通信部、入力部、あるいは出力部の一例である。
【００２８】
例えば、Ｋ／Ｂ９０２、ＦＤＤ９０４等は、入力部の一例である。また、例えば、ＣＲＴ表示装置９０１等は、出力部の一例である。
【００２９】
ここで、通信ボード９１５は、ＬＡＮ９４２に限らず、直接、インターネット９４０、あるいはＩＳＤＮ（Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）等のＷＡＮ（ワイドエリアネットワーク）に接続されていても構わない。直接、インターネット９４０、あるいはＩＳＤＮ等のＷＡＮに接続されている場合、認証サーバ３００は、インターネット９４０、あるいはＩＳＤＮ等のＷＡＮに接続され、ゲートウェイ９４１は不要となる。
【００３０】
磁気ディスク装置９２０には、オペレーティングシステム（ＯＳ）９２１、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３は、ＣＰＵ９１１、ＯＳ９２１、ウィンドウシステム９２２により実行される。
【００３１】
上記プログラム群９２３には、上述した実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００３２】
例えば、ＣＰＵ９１１等は、処理部の一例である。
【００３３】
ファイル群９２４には、上述した実施の形態の説明において、「〜データ」、「〜情報」、「〜結果」として説明するものが、ファイルまたはその一部として記憶されている。
【００３４】
また、上述した実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置９２０、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
【００３５】
また、上述した実施の形態の説明において「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、ハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
【００３６】
また、上述した実施の形態を実施するプログラムは、磁気ディスク装置９２０、ＦＤ、光ディスク、ＣＤ、ＭＤ、ＤＶＤ等のその他の記録媒体による記録装置を用いて記憶されても構わない。
【００３７】
図７は、認証のための通信装置１００及び認証サーバ３００の動作の一例を示すフロー図である。以下では、認証サーバ３００が通信装置１００を認証する手順の例を、図７を用いて説明する。図７において、左側の「通信装置認証」のチャートは通信装置１００側の手順を示し、右側の「サーバ認証処理」のチャートは認証サーバ３００側の手順を示している。
【００３８】
ステップＳ２０１において、通信装置１００が有するＣＰＵ１０１は、メモリ１０２等を介してネットワークインタフェース１０５に設定されているＭＡＣアドレスの値を取得し変数Ｍに格納する。ステップＳ２０２において、ＣＰＵ１０１は、フラッシュメモリ１０４の秘密情報保存部２０４に格納されているＫｇ’を読み取り、変数Ｍと個別の認証情報Ｋｇ’を、ネットワークインタフェース１０５を介して認証サーバ３００に送信する（第１の送信ステップ（処理））。このとき、通信装置１００と認証サーバ３００間で、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）のサーバ認証やＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ等を用いて暗号通信路を構築することが望ましい。
【００３９】
ステップＳ３０１において、認証サーバ３００が有するＣＰＵ９１１は、通信ボード９１５を介して通信装置１００から変数Ｍと認証情報Ｋｇ’を受信する（第１の受信ステップ（処理））。ステップＳ３０２では、ＣＰＵ９１１は、認証サーバ３００が耐タンパー装置９１６等に保持しているＫｇを読み取り、Ｋｇを鍵として用いて、Ｋｇ’を復号化した結果をＲＡＭ９１４に記憶される変数Ｄに格納する。ステップＳ３０３において、ＣＰＵ９１１は、通信装置１００から送信された変数Ｍと変数Ｄを比較する。そして、比較した結果が同一であればステップＳ３０４において変数Ｒに「ＯＫ」を代入し、異なっていればステップＳ３０５において変数Ｒに「ＮＧ」を代入する。このように、ＣＰＵ９１１は、Ｋｇを暗号鍵として変数Ｍに格納された識別情報（通信装置１００のＭＡＣアドレス）を暗号化した結果がＫｇ’であるかどうかを確認することにより、通信装置１００を認証する（認証ステップ（処理））。ステップＳ３０６において、ＣＰＵ９１１は、変数Ｒの値を認証結果として通信装置１００に通信ボード９１５を介して送信する。
【００４０】
ステップＳ２０３において、通信装置１００が有するＣＰＵ１０１は、ネットワークインタフェース１０５を介して認証結果を受信し処理を終了する。
【００４１】
図８は、認証後の通信装置１００及び認証サーバ３００の動作の一例を示すフロー図である。
【００４２】
通信装置１００の認証が成功すると（変数Ｒの値が「ＯＫ」の場合）、ステップＳ４０１において、認証サーバ３００が有するＣＰＵ９１１は、認証の際に確立した暗号通信路を用いるか、あるいは新たに暗号通信路を確立して、通信ボード９１５を介して通信装置１００に最終的な認証情報Ｋｎ（第３の認証情報）を送信する（第２の送信ステップ（処理））。認証情報Ｋｎは、Ｋｇ及びＫｇ’から独立して生成される認証情報である。認証サーバ３００は、Ｋｎを任意のタイミングでＣＰＵ９１１により生成してもよいし、予め耐タンパー装置９１６や磁気ディスク装置９２０等に保持していてもよい。
【００４３】
ステップＳ５０１において、通信装置１００が有するＣＰＵ１０１は、ネットワークインタフェース１０５を介して認証サーバ３００からＫｎを受信する（第２の受信ステップ（処理））。ステップＳ５０２において、ＣＰＵ１０１は、受信したＫｎをフラッシュメモリ１０４の秘密情報保存部２０４に保存し、Ｋｇ’を秘密情報保存部２０４から削除する（第３の記憶ステップ（処理））。ステップＳ５０３において、ＣＰＵ１０１は、フラッシュメモリ１０４の秘密情報保存部２０４からＫｎを読み取り、Ｋｎを例えば暗号通信用の鍵として用いてネットワーク４００に接続し、ネットワークインタフェース１０５を介して認証サーバ３００あるいは他の特定のサーバ等と所定の通信（前述したような純正品のみが接続を許されるサーバ等との通信）を行う（通信ステップ（処理））。
【００４４】
このように、最終的に使用する認証情報を、元々の認証情報であるＫｇと何の関連性もない情報Ｋｎへと更新することによって、より安全性を高めることができる。セキュリティレベルによっては、Ｋｇ’を最終的な認証情報として取り扱っても良い。また、認証情報Ｋｎとして、例えば、通信装置１００を識別するための情報をサブジェクトに持つ証明書及び証明書と対を成す秘密鍵等を使用しても良い。
【００４５】
図９は、動作モードを選択するための通信装置１００の動作の一例を示すフロー図である。前述したような認証情報生成プログラム２０２や通信装置１００の認証を実行するための判断は、例えば通信装置１００の電源投入時に行うことができる。判断を行う手順の例を、図９を用いて説明する。
【００４６】
まずステップＳ６０１において、通信装置１００が有するＣＰＵ１０１は、認証情報Ｋｇ’が既に生成済みかどうかを判断する。判断するために、認証情報が生成済みかどうかを示すフラグを用いても良いし、Ｋｇが秘密情報保存部２０４に存在しているかどうかを確認しても良い。認証情報が生成されていなければ（Ｋｇがまだ秘密情報保存部２０４に格納されていれば）、ステップＳ６０２において、ＣＰＵ１０１は認証情報Ｋｇ’を生成する。認証情報を生成した後、または既に認証情報を生成していれば、ステップＳ６０３において、ＣＰＵ１０１はネットワーク機能を起動する。
【００４７】
次にステップＳ６０４において、ＣＰＵ１０１は、通信装置１００が認証サーバ３００により認証済みかどうかを判断する。まだ認証されていない場合、ステップＳ６０５において、ＣＰＵ１０１はネットワークインタフェース１０５がネットワーク４００に接続していることを確認する。ネットワーク４００に接続していなければ、ステップＳ６０８において、ＣＰＵ１０１はネットワーク機能を停止し通常動作へと戻る。このとき、ネットワーク機能が停止しているため、通信装置１００は、他の通信装置やサーバと通信を行うことはできない。ネットワークに接続している場合、ステップＳ６０６において、ＣＰＵ１０１は通信装置１００の認証を認証サーバ３００に依頼する。そして、ステップＳ６０７において認証が成功したかどうか確認する。認証が成功した場合、通常動作に戻り、認証が失敗した場合、ステップＳ６０８にてネットワーク機能を停止し通常動作に戻る。このように、通信装置１００は、認証が成功して初めてネットワーク機能を使用できるようになる。
【００４８】
上記の通常動作とは、通信装置１００が本来行う処理のことである。例えば、通信装置１００が監視カメラである場合（監視カメラに実装されている場合）、映像を撮影する処理等が通常動作に相当する。また、例えば、通信装置１００がＰＬＣ（電力線データ通信）端末である場合（ＰＬＣ端末に実装されている場合）、電力線を介して通信を行う処理等が通常動作に相当する。
【００４９】
上記ステップＳ６０１において、認証情報を生成するための判断を通信装置１００にさせるのではなく、外部からコマンドを投入することによって通信装置１００に認証情報を生成させても良い。この場合、最終検査工程において、当該コマンドを実行することによって、認証情報が生成される。コマンドによって認証情報を生成する場合、当該コマンドは一度しか実行できず、また当該コマンドが実行されるまでは、通信装置１００の認証は行わないことが望ましい。これにより、通信装置１００の使用者が当該コマンドを通信装置１００に対して実行しても、通信装置１００はコマンドを受け付けず、認証情報を再度生成することはない。
【００５０】
このように、本実施の形態によれば、通信装置１００に設定された共通の認証情報Ｋｇは、通信装置１００の製造後に最終検査を行った時点で装置毎に異なる認証情報Ｋｇ’に更新されるため、共通の認証情報Ｋｇが通信装置１００から漏洩する機会は最終検査前に限られ、装置毎に異なる認証情報Ｋｇ’から共通の認証情報Ｋｇを類推することはできない。また、通信装置１００の流通時など、装置毎に異なる認証情報Ｋｇ’に更新された後に認証情報が漏洩した場合は、漏洩した通信装置１００の認証情報のみを無効にすることによって、認証情報が漏洩した通信装置１００とその通信装置１００から漏洩した認証情報を元に製造されたクローン機のみをネットワーク４００に接続できなくすることができ、他の通信装置には影響を与えないようにすることができる。共通の認証情報Ｋｇから装置毎に異なる認証情報Ｋｇ’への更新は通信装置１００の内部で自律的に行われるため、製造コストに与える影響はほとんどない。また更新のために既存のファームウェアに必要な追加部分の割合はファームウェア全体に対して小さい。ネットワークサービス（所定の通信）の使用開始時には、通信装置毎に異なる秘密情報（Ｋｇ’あるいはＫｎ）が設定されているため、正しい通信装置１００か否かを認証する認証サーバ３００が通信装置１００を特定することができ、例えばその通信装置１００が以前にネットワーク４００に接続したことがあれば、その通信装置１００がクローン機である可能性が高いことが確認できる。また、認証サーバ３００の動作を通信装置毎に変更することも可能になる。
【００５１】
以上のように、本実施の形態に係る認証方法は、
複数の通信装置の間で共通して設定される第１の認証情報を予め記憶する記憶部と通信部と処理部とを有する認証装置が、前記第１の認証情報を予め記憶する記憶部と通信部と処理部とを有する通信装置を認証する認証方法において、
前記通信装置の処理部が、自己を一意に識別する識別情報を前記通信装置の記憶部に記憶する第１の記憶ステップと、
前記通信装置の処理部が、前記通信装置の記憶部から前記第１の認証情報と前記識別情報とを読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化する暗号化ステップと、
前記通信装置の処理部が、前記識別情報を暗号化した結果を第２の認証情報として前記通信装置の記憶部に記憶するとともに、前記通信装置の記憶部から前記第１の認証情報を消去する第２の記憶ステップと、
前記通信装置の処理部が、前記通信装置の記憶部から前記識別情報と前記第２の認証情報とを読み取り、前記通信装置の通信部を介して前記認証装置に前記識別情報と前記第２の認証情報とを送信する第１の送信ステップと、
前記認証装置の処理部が、前記認証装置の通信部を介して前記通信装置から前記識別情報と前記第２の認証情報とを受信する第１の受信ステップと、
前記認証装置の処理部が、前記認証装置の記憶部から前記第１の認証情報を読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化した結果が前記第２の認証情報であることを確認することにより、前記通信装置を認証する認証ステップとを備えることを特徴とする。
【００５２】
前記認証方法は、さらに、
前記認証装置の処理部が、前記通信装置の認証が成功した場合に、前記認証装置の通信部を介して前記通信装置に前記第１の認証情報及び前記第２の認証情報から独立して生成される第３の認証情報を送信する第２の送信ステップと、
前記通信装置の処理部が、前記通信装置の通信部を介して前記認証装置から前記第３の認証情報を受信する第２の受信ステップと、
前記通信装置の処理部が、前記第３の認証情報を前記通信装置の記憶部に記憶するとともに、前記通信装置の記憶部から前記第２の認証情報を消去する第３の記憶ステップとを備えることを特徴とする。
【００５３】
前記認証方法は、さらに、
前記通信装置の処理部が、前記通信装置の記憶部から前記第３の認証情報を読み取り、前記第３の認証情報を用いて、前記通信装置の通信部を介して所定の通信を行う通信ステップとを備えることを特徴とする。
【００５４】
前記第１の記憶ステップは、
前記通信装置の処理部が、前記識別情報として前記通信装置の通信部が前記認証装置との通信に用いるアドレス情報を記憶することを特徴とする。
【００５５】
また、本実施の形態に係る通信装置は、
複数の通信装置の間で共通して設定される第１の認証情報を予め記憶する認証装置により認証される通信装置において、
前記第１の認証情報と自己を一意に識別する識別情報とを記憶する記憶部と、
前記記憶部から前記第１の認証情報と前記識別情報とを読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化し、前記識別情報を暗号化した結果を第２の認証情報として前記記憶部に記憶するとともに、前記記憶部から前記第１の認証情報を消去する処理部と、
前記認証装置と通信を行う通信部とを有し、
前記処理部は、前記記憶部から前記識別情報と前記第２の認証情報とを読み取り、前記通信部を介して前記認証装置に前記識別情報と前記第２の認証情報とを送信することにより、前記認証装置に前記第１の認証情報を暗号鍵として前記識別情報を暗号化した結果が前記第２の認証情報であることを確認させることを特徴とする。
【００５６】
前記処理部は、前記通信部を介して前記認証装置から前記第１の認証情報及び前記第２の認証情報から独立して生成される第３の認証情報を受信し、前記第３の認証情報を前記記憶部に記憶するとともに、前記記憶部から前記第２の認証情報を消去することを特徴とする。
【００５７】
前記処理部は、前記記憶部から前記第３の認証情報を読み取り、前記第３の認証情報を用いて、前記通信部を介して所定の通信を行うことを特徴とする。
【００５８】
また、本実施の形態に係る認証装置は、
複数の通信装置の間で共通して設定される第１の認証情報を予め記憶する記憶部と、
通信装置と通信を行う通信部と、
前記通信部を介して前記通信装置から前記通信装置を一意に識別する識別情報と前記第１の認証情報を暗号鍵として前記識別情報を暗号化した結果である第２の認証情報とを受信し、前記記憶部から前記第１の認証情報を読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化した結果が前記第２の認証情報であることを確認することにより、前記通信装置を認証する処理部とを有することを特徴とする。
【００５９】
前記処理部は、前記通信装置の認証が成功した場合に、前記通信部を介して前記通信装置に前記第１の認証情報及び前記第２の認証情報から独立して生成される第３の認証情報を送信することを特徴とする。
【００６０】
また、本実施の形態に係る認証プログラムは、
複数の通信装置の間で共通して設定される第１の認証情報を予め記憶する記憶部と通信部と処理部とを有する認証装置が、前記第１の認証情報を予め記憶する記憶部と通信部と処理部とを有する通信装置を認証する認証プログラムにおいて、
前記通信装置の処理部が、自己を一意に識別する識別情報を前記通信装置の記憶部に記憶する第１の記憶処理と、
前記通信装置の処理部が、前記通信装置の記憶部から前記第１の認証情報と前記識別情報とを読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化する暗号化処理と、
前記通信装置の処理部が、前記識別情報を暗号化した結果を第２の認証情報として前記通信装置の記憶部に記憶するとともに、前記通信装置の記憶部から前記第１の認証情報を消去する第２の記憶処理と、
前記通信装置の処理部が、前記通信装置の記憶部から前記識別情報と前記第２の認証情報とを読み取り、前記通信装置の通信部を介して前記認証装置に前記識別情報と前記第２の認証情報とを送信する第１の送信処理と、
前記認証装置の処理部が、前記認証装置の通信部を介して前記通信装置から前記識別情報と前記第２の認証情報とを受信する第１の受信処理と、
前記認証装置の処理部が、前記認証装置の記憶部から前記第１の認証情報を読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化した結果が前記第２の認証情報であることを確認することにより、前記通信装置を認証する認証処理とをコンピュータに実行させることを特徴とする。
【００６１】
前記認証プログラムは、さらに、
前記認証装置の処理部が、前記通信装置の認証が成功した場合に、前記認証装置の通信部を介して前記通信装置に前記第１の認証情報及び前記第２の認証情報から独立して生成される第３の認証情報を送信する第２の送信処理と、
前記通信装置の処理部が、前記通信装置の通信部を介して前記認証装置から前記第３の認証情報を受信する第２の受信処理と、
前記通信装置の処理部が、前記第３の認証情報を前記通信装置の記憶部に記憶するとともに、前記通信装置の記憶部から前記第２の認証情報を消去する第３の記憶処理とをコンピュータに実行させることを特徴とする。
【００６２】
前記認証プログラムは、さらに、
前記通信装置の処理部が、前記通信装置の記憶部から前記第３の認証情報を読み取り、前記第３の認証情報を用いて、前記通信装置の通信部を介して所定の通信を行う通信処理とをコンピュータに実行させることを特徴とする。
【００６３】
本実施の形態で説明した認証情報生成方式は、
通信装置毎に異なる識別子を通信装置に設定された共通の秘密情報を鍵として暗号化し、その結果を通信装置毎に異なる秘密情報とし、その後共通の秘密情報を削除することを特徴とする。
【００６４】
本実施の形態で説明した通信装置認証方式は、
通信装置毎に異なる識別子と上記認証情報生成方式で生成された秘密情報を元に認証を依頼する。
【００６５】
本実施の形態で説明した認証機能付き通信装置は、
上記認証情報生成方式及び上記通信装置認証方式を実装していることを特徴とする。
【００６６】
また、本実施の形態で説明した通信装置認証方式は、
上記通信装置認証方式に対して、上記認証情報生成方式の共通の秘密情報を元に通信装置の認証を行うことを特徴とする。
【００６７】
本実施の形態で説明した認証サーバは、
上記通信装置認証方式を実装していることを特徴とする。
【００６８】
実施の形態２．
実施の形態１において、認証サーバ３００により通信装置１００が認証される際に、通信装置１００は個別の認証情報Ｋｇ’を別途構築した暗号通信路を用いて認証サーバ３００に送信したが（図７のステップＳ２０２）、認証情報Ｋｇ’は認証サーバ３００に送信せずに認証を行っても良い。本実施の形態において、認証情報を生成するための通信装置１００の動作は、図３に一例を示した実施の形態１と同様である。
【００６９】
図１０及び図１１は、本実施の形態における認証のための通信装置１００及び認証サーバ３００の動作の一例を示すフロー図である。図７と同様に、図１０及び図１１において、左側の「通信装置認証」のチャートは通信装置１００側の手順を示し、右側の「サーバ認証処理」のチャートは認証サーバ３００側の手順を示している。
【００７０】
ステップＳ７０１において、通信装置１００が有するＣＰＵ１０１は、メモリ１０２等を介してネットワークインタフェース１０５に設定されているＭＡＣアドレスの値を取得し変数Ｍに格納する。ステップＳ７０２において、ＣＰＵ１０１は、変数Ｍを、ネットワークインタフェース１０５を介して認証サーバ３００に送信する（第１の送信ステップ（処理））。
【００７１】
ステップＳ８０１において、認証サーバ３００が有するＣＰＵ９１１は、通信ボード９１５を介して通信装置１００から変数Ｍを受信し、ＲＡＭ９１４等に記憶する（第１の受信ステップ（処理））。ステップＳ８０２では、ＣＰＵ９１１は、認証サーバ３００が耐タンパー装置９１６等に保持しているＫｇを読み取るとともに、変数ＭをＲＡＭ９１４等から読み取る。そして、例えばＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、ＭＩＳＴＹ（登録商標）１、Ｃａｍｅｌｌｉａ（登録商標）等の共通鍵暗号方式を用いて、Ｋｇを鍵としてＭを暗号化する（第２の暗号化ステップ（処理））。ステップＳ８０３において、ＣＰＵ９１１は、乱数Ａを生成する（乱数生成ステップ（処理））。ステップＳ８０４において、ＣＰＵ９１１は、通信ボード９１５を介して通信装置１００に乱数Ａを送信する（第２の送信ステップ（処理））。
【００７２】
ステップＳ７０３において、通信装置１００が有するＣＰＵ１０１は、ネットワークインタフェース１０５を介して認証サーバ３００から乱数Ａを受信する（第２の受信ステップ（処理））。ステップＳ７０４において、ＣＰＵ１０１は、フラッシュメモリ１０４の秘密情報保存部２０４に格納されているＫｇ’を読み取り、Ｋｇ’を暗号鍵として乱数Ａを暗号化する（第３の暗号化ステップ（処理））。ステップＳ７０５において、ＣＰＵ１０１は、乱数Ａを暗号化した結果Ｋｇ’’（第３の認証情報）を、ネットワークインタフェース１０５を介して認証サーバ３００に送信する（第３の送信ステップ（処理））。
【００７３】
ステップＳ８０５において、認証サーバ３００が有するＣＰＵ９１１は、通信ボード９１５を介して通信装置１００からＫｇ’’を受信する（第３の受信ステップ（処理））。ステップＳ８０６において、ＣＰＵ９１１は、ステップＳ８０２で変数Ｍを暗号化した結果（Ｋｇ’に相当）を用いてＫｇ’’を復号化した結果をＲＡＭ９１４に記憶される変数Ｄに格納する。ステップＳ８０７において、ＣＰＵ９１１は、ステップＳ８０３で生成した乱数Ａと変数Ｄを比較する。そして、比較した結果が同一であればステップＳ８０８において変数Ｒに「ＯＫ」を代入し、異なっていればステップＳ８０９において変数Ｒに「ＮＧ」を代入する。このように、ＣＰＵ９１１は、変数Ｍを暗号化した結果（Ｋｇ’に相当）を暗号鍵として乱数Ａを暗号化した結果がＫｇ’’であるかどうかを確認することにより、通信装置１００を認証する（認証ステップ（処理））。ステップＳ８１０において、ＣＰＵ９１１は、変数Ｒの値を認証結果として通信装置１００に通信ボード９１５を介して送信する。
【００７４】
ステップＳ７０６において、通信装置１００が有するＣＰＵ１０１は、ネットワークインタフェース１０５を介して認証結果を受信し処理を終了する。
【００７５】
このように、例えば、通信装置１００からＭＡＣアドレスの値を認証サーバ３００に送信することによって、認証サーバ３００ではＫｇ’を独自に計算することができる。その後認証サーバ３００から乱数を通信装置１００に送信し、通信装置１００は送信された乱数を、Ｋｇ’を用いて暗号化した結果を認証サーバ３００に返すことによって、認証サーバ３００は通信装置１００がＫｇ’を保持している、すなわち正当な通信装置１００であることを確認できる。同様に、通信装置１００から別の乱数を認証サーバ３００に送信し、その結果を受け取ることによって、通信装置１００が認証サーバ３００を認証してもよい。最終的に、通信装置１００は、認証が成功した後に、Ｋｇ’を暗号通信路のための鍵として用いることによって、別途暗号通信路を構築するための鍵共有（図８のステップＳ５０１）を行わなくても暗号通信（図８のステップＳ５０３）を行うことができる。
【００７６】
以上のように、本実施の形態に係る認証方法は、
複数の通信装置の間で共通して設定される第１の認証情報を予め記憶する記憶部と通信部と処理部とを有する認証装置が、前記第１の認証情報を予め記憶する記憶部と通信部と処理部とを有する通信装置を認証する認証方法において、
前記通信装置の処理部が、自己を一意に識別する識別情報を前記通信装置の記憶部に記憶する第１の記憶ステップと、
前記通信装置の処理部が、前記通信装置の記憶部から前記第１の認証情報と前記識別情報とを読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化する第１の暗号化ステップと、
前記通信装置の処理部が、前記識別情報を暗号化した結果を第２の認証情報として前記通信装置の記憶部に記憶するとともに、前記通信装置の記憶部から前記第１の認証情報を消去する第２の記憶ステップと、
前記通信装置の処理部が、前記通信装置の記憶部から前記識別情報を読み取り、前記通信装置の通信部を介して前記認証装置に前記識別情報を送信する第１の送信ステップと、
前記認証装置の処理部が、前記認証装置の通信部を介して前記通信装置から前記識別情報を受信する第１の受信ステップと、
前記認証装置の処理部が、前記認証装置の記憶部から前記第１の認証情報を読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化する第２の暗号化ステップと、
前記認証装置の処理部が、乱数を生成する乱数生成ステップと、
前記認証装置の処理部が、前記認証装置の通信部を介して前記通信装置に前記乱数を送信する第２の送信ステップと、
前記通信装置の処理部が、前記通信装置の通信部を介して前記認証装置から前記乱数を受信する第２の受信ステップと、
前記通信装置の処理部が、前記通信装置の記憶部から前記第２の認証情報を読み取り、前記第２の認証情報を暗号鍵として前記乱数を暗号化する第３の暗号化ステップと、
前記通信装置の処理部が、前記通信装置の通信部を介して前記認証装置に前記乱数を暗号化した結果を第３の認証情報として送信する第３の送信ステップと、
前記認証装置の処理部が、前記認証装置の通信部を介して前記通信装置から前記第３の認証情報を受信する第３の受信ステップと、
前記認証装置の処理部が、前記識別情報を暗号化した結果を暗号鍵として前記乱数を暗号化した結果が前記第３の認証情報であることを確認することにより、前記通信装置を認証する認証ステップとを備えることを特徴とする。
【００７７】
前記認証方法は、さらに、
前記通信装置の処理部が、前記通信装置の認証が成功した場合に、前記通信装置の記憶部から前記第２の認証情報を読み取り、前記第２の認証情報を用いて、前記通信装置の通信部を介して所定の通信を行う通信ステップとを備えることを特徴とする。
【００７８】
前記第１の記憶ステップは、
前記通信装置の処理部が、前記識別情報として前記通信装置の通信部が前記認証装置との通信に用いるアドレス情報を記憶することを特徴とする。
【００７９】
また、本実施の形態に係る通信装置は、
複数の通信装置の間で共通して設定される第１の認証情報を予め記憶する認証装置により認証される通信装置において、
前記第１の認証情報と自己を一意に識別する識別情報とを記憶する記憶部と、
前記記憶部から前記第１の認証情報と前記識別情報とを読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化し、前記識別情報を暗号化した結果を第２の認証情報として前記記憶部に記憶するとともに、前記記憶部から前記第１の認証情報を消去する処理部と、
前記認証装置と通信を行う通信部とを有し、
前記処理部は、前記記憶部から前記識別情報を読み取り、前記通信部を介して前記認証装置に前記識別情報を送信するとともに、前記通信部を介して前記認証装置から乱数を受信し、前記記憶部から前記第２の認証情報を読み取り、前記第２の認証情報を暗号鍵として前記乱数を暗号化し、前記通信部を介して前記認証装置に前記乱数を暗号化した結果を第３の認証情報として送信することにより、前記認証装置に前記識別情報を暗号化した結果を暗号鍵として前記乱数を暗号化した結果が前記第３の認証情報であることを確認させることを特徴とする。
【００８０】
前記処理部は、前記記憶部から前記第２の認証情報を読み取り、前記第２の認証情報を用いて、前記通信部を介して所定の通信を行うことを特徴とする。
【００８１】
また、本実施の形態に係る認証装置は、
複数の通信装置の間で共通して設定される第１の認証情報を予め記憶する記憶部と、
通信装置と通信を行う通信部と、
前記通信部を介して前記通信装置から前記通信装置を一意に識別する識別情報を受信し、前記記憶部から前記第１の認証情報を読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化するとともに、乱数を生成し、前記通信部を介して前記通信装置に前記乱数を送信し、前記通信部を介して前記通信装置から前記第２の認証情報を暗号鍵として前記乱数を暗号化した結果である第３の認証情報を受信し、前記識別情報を暗号化した結果を暗号鍵として前記乱数を暗号化した結果が前記第３の認証情報であることを確認することにより、前記通信装置を認証する処理部とを有することを特徴とする。
【００８２】
また、本実施の形態に係る認証プログラムは、
複数の通信装置の間で共通して設定される第１の認証情報を予め記憶する記憶部と通信部と処理部とを有する認証装置が、前記第１の認証情報を予め記憶する記憶部と通信部と処理部とを有する通信装置を認証する認証プログラムにおいて、
前記通信装置の処理部が、自己を一意に識別する識別情報を前記通信装置の記憶部に記憶する第１の記憶処理と、
前記通信装置の処理部が、前記通信装置の記憶部から前記第１の認証情報と前記識別情報とを読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化する第１の暗号化処理と、
前記通信装置の処理部が、前記識別情報を暗号化した結果を第２の認証情報として前記通信装置の記憶部に記憶するとともに、前記通信装置の記憶部から前記第１の認証情報を消去する第２の記憶処理と、
前記通信装置の処理部が、前記通信装置の記憶部から前記識別情報を読み取り、前記通信装置の通信部を介して前記認証装置に前記識別情報を送信する第１の送信処理と、
前記認証装置の処理部が、前記認証装置の通信部を介して前記通信装置から前記識別情報を受信する第１の受信処理と、
前記認証装置の処理部が、前記認証装置の記憶部から前記第１の認証情報を読み取り、前記第１の認証情報を暗号鍵として前記識別情報を暗号化する第２の暗号化処理と、
前記認証装置の処理部が、乱数を生成する乱数生成処理と、
前記認証装置の処理部が、前記認証装置の通信部を介して前記通信装置に前記乱数を送信する第２の送信処理と、
前記通信装置の処理部が、前記通信装置の通信部を介して前記認証装置から前記乱数を受信する第２の受信処理と、
前記通信装置の処理部が、前記通信装置の記憶部から前記第２の認証情報を読み取り、前記第２の認証情報を暗号鍵として前記乱数を暗号化する第３の暗号化処理と、
前記通信装置の処理部が、前記通信装置の通信部を介して前記認証装置に前記乱数を暗号化した結果を第３の認証情報として送信する第３の送信処理と、
前記認証装置の処理部が、前記認証装置の通信部を介して前記通信装置から前記第３の認証情報を受信する第３の受信処理と、
前記認証装置の処理部が、前記識別情報を暗号化した結果を暗号鍵として前記乱数を暗号化した結果が前記第３の認証情報であることを確認することにより、前記通信装置を認証する認証処理とをコンピュータに実行させることを特徴とする。
【００８３】
前記認証プログラムは、さらに、
前記通信装置の処理部が、前記通信装置の認証が成功した場合に、前記通信装置の記憶部から前記第２の認証情報を読み取り、前記第２の認証情報を用いて、前記通信装置の通信部を介して所定の通信を行う通信処理とをコンピュータに実行させることを特徴とする。
【図面の簡単な説明】
【００８４】
【図１】通信装置の構成の一例を示すブロック図である。
【図２】通信装置で動作するファームウェアの構成の一例を示す図である。
【図３】認証情報を生成するための通信装置の動作の一例を示すフロー図である。
【図４】ネットワークの構成例を示すブロック図である。
【図５】認証装置の外観の一例を示す図である。
【図６】認証装置のハードウェア構成の一例を示す図である。
【図７】実施の形態１における認証のための通信装置及び認証装置の動作の一例を示すフロー図である。
【図８】認証後の通信装置及び認証装置の動作の一例を示すフロー図である。
【図９】動作モードを選択するための通信装置の動作の一例を示すフロー図である。
【図１０】実施の形態２における認証のための通信装置及び認証装置の動作の一例を示すフロー図である。
【図１１】実施の形態２における認証のための通信装置及び認証装置の動作の一例を示すフロー図である。
【符号の説明】
【００８５】
１００  通信装置、１０１  ＣＰＵ、１０２  メモリ、１０３  ＲＯＭ、１０４  フラッシュメモリ、１０５  ネットワークインタフェース、１０６  バス、２００  ファームウェア、２０１  通信装置制御プログラム、２０２  認証情報生成プログラム、２０３  パラメータ保存部、２０４  秘密情報保存部、３００  認証サーバ、４００  ネットワーク、９０１  ＣＲＴ表示装置、９０２  Ｋ／Ｂ、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９１６  耐タンパー装置、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９４０  インターネット、９４１  ゲートウェイ、９４２  ＬＡＮ。
【図１】
0004680779.tif 000002
【図２】
0004680779.tif 000003
【図３】
0004680779.tif 000004
【図４】
0004680779.tif 000005
【図５】
0004680779.tif 000006
【図６】
0004680779.tif 000007
【図７】
0004680779.tif 000008
【図８】
0004680779.tif 000009
【図９】
0004680779.tif 000010
【図１０】
0004680779.tif 000011
【図１１】
0004680779.tif 000012