(57)【特許請求の範囲】
【請求項１】
外部との間で通信可能な証明書送信可否判定装置であって、
当該証明書送信可否判定装置に固有の秘密鍵と、当該秘密鍵とペアになる公開鍵の証明書と、当該証明書送信可否判定装置が設置される位置を示す位置情報とを記憶する記憶手段と、
前記外部から証明書の送信要求を受信する受信手段と、
前記受信手段により受信された前記送信要求に応じて、当該証明書送信可否判定装置の現在位置を取得する取得手段と、
前記取得手段により取得された前記現在位置と、前記記憶手段に記憶されている前記位置情報が示す位置とを比較する比較手段と、
前記比較手段による比較結果に基づいて、前記送信要求された前記証明書を前記外部へ送信するか否かを判定する判定手段と、
を備えることを特徴とする証明書送信可否判定装置。
【請求項２】
前記証明書は、所定の認証局により発行されるものであり、
前記位置情報は、前記証明書に記述されることを特徴とする請求項１に記載の証明書送信可否判定装置。
【請求項３】
外部との間で通信可能な電子情報記憶媒体であって、
当該電子情報記憶媒体に固有の秘密鍵と、当該秘密鍵とペアになる公開鍵の証明書と、当該電子情報記憶媒体が設置される位置を示す位置情報とを記憶する記憶手段と、
前記外部から証明書の送信要求を受信する受信手段と、
前記受信手段により受信された前記送信要求に応じて、当該電子情報記憶媒体の現在位置を取得する取得手段と、
前記取得手段により取得された前記現在位置と、前記記憶手段に記憶されている前記位置情報が示す位置とを比較する比較手段と、
前記比較手段による比較結果に基づいて、前記送信要求された前記証明書を前記外部へ送信するか否かを判定する判定手段と、
を備えることを特徴とする電子情報記憶媒体。
【請求項４】
外部との間で通信可能な証明書送信可否判定装置により行われる証明書送信可否判定方法であって、
当該証明書送信可否判定装置に固有の秘密鍵と、当該秘密鍵とペアになる公開鍵の証明書と、当該証明書送信可否判定装置が設置される位置を示す位置情報とを記憶手段に記憶するステップと、
前記外部から証明書の送信要求を受信するステップと、
前記受信された前記送信要求に応じて、当該証明書送信可否判定装置の現在位置を取得するステップと、
前記取得された前記現在位置と、前記記憶手段に記憶されている前記位置情報が示す位置とを比較する比較ステップと、
前記比較ステップによる比較結果に基づいて、前記送信要求された前記証明書を前記外部へ送信するか否かを判定するステップと、
を含むことを特徴とする証明書送信可否判定方法。
【請求項５】
外部との間で通信可能な証明書送信可否判定装置に含まれるコンピュータに、
当該証明書送信可否判定装置に固有の秘密鍵と、当該秘密鍵とペアになる公開鍵の証明書と、当該証明書送信可否判定装置が設置される位置を示す位置情報とを記憶手段に記憶するステップと、
前記外部から証明書の送信要求を受信するステップと、
前記受信された前記送信要求に応じて、当該証明書送信可否判定装置の現在位置を取得するステップと、
前記取得された前記現在位置と、前記記憶手段に記憶されている前記位置情報が示す位置とを比較する比較ステップと、
前記比較ステップによる比較結果に基づいて、前記送信要求された前記証明書を前記外部へ送信するか否かを判定するステップと、
を実行させることを特徴とする証明書送信可否判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、公開鍵暗号方式を利用した方法等の技術分野に関する。
【背景技術】
【０００２】
従来から、公開鍵基盤（PKI：Public Key Infrastructure）において、ペア（対）になる公開鍵と秘密鍵とを使用してデータの暗号化及び復号を行う公開鍵暗号方式が知られている。公開鍵基盤では、認証局と呼ばれる信頼される第三者機関が公開鍵の利用者（所有者）に公開鍵証明書を発行するようになっている（例えば、非特許文献１参照）。公開鍵証明書は、公開鍵が利用者の物であることを証明する証明書である。また、公開鍵基盤では、公開鍵証明書と秘密鍵を、認証用トークン（PKIトークンともいう）と呼ばれるＩＣカードなどの専用のハードウェアに格納して、公開鍵の利用者に配付するという運用が一般的である。
【０００３】
ところで、人間の利用者を対象に発行された公開鍵証明書と秘密鍵のユースケースでは、認証や署名用途でPKIを利用する際に、認証用トークン利用時のPIN（暗証番号）認証などの方法で、利用者本人が公開鍵証明書と秘密鍵を利用している。Ｍ２Ｍ（Machine to Machine）の機器認証においても、非特許文献２に開示されるように、PKIベースの認証技術が注目されている。
【先行技術文献】
【特許文献】
【０００４】
【非特許文献１】独立行政法人情報処理推進機構 技術本部 セキュリティセンター、“PKI関連技術情報”、[online]、最終更新日：2012年 7月20日、独立行政法人情報処理推進機構、[平成26年3月17日検索]、インターネット、<URL：http://www.ipa.go.jp/security/pki/index.html >
【非特許文献２】宝木和夫、“セキュリティ技術標準化の軌跡 -暗号からクラウド，M2Mのセキュリティ標準まで-”、電子情報通信学会 基礎・境界ソサイエティ Fundamentals Review Vol. 7(2013) No. 1、IEICE Fundamentals Review Vol.7 No.1,pp.51-59、公開日 2013年07月01日、社団法人 電子情報通信学会 J-STAGE、[平成26年3月17日検索k]、インターネット,<URL：https://www.jstage.jst.go.jp/browse/essfr/7/1/_contents/-char/ja/>
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、機器を証明の対象として発行された公開鍵証明書の利用シーンでは、機器製造メーカにて機器の基盤上に組み込まれた認証用トークン内に公開鍵証明書と秘密鍵とを製造時点で埋め込んで出荷した場合、当該機器が正当な最終利用者の元に配送され利用されているかどうかを確認する手段が無いという問題があった。一方、機器製造メーカでは機器内に公開鍵証明書を書きこまずに出荷し、当該機器の最終利用者自身が公開鍵証明書を発行して当該機器内に書き込めば、上記問題は解決できるが、公開鍵証明書を一般利用者に発行させる手間がかかるうえ、公開鍵証明書の信頼モデルが構築できない。
【０００６】
そこで、本発明は、上記点に鑑みてなされたものであり、認証用トークンを有する機器が正当な最終利用者の手元にわたって利用されていることを迅速に確認でき、さらに、当該機器が真正であることを第三者に証明することが可能な証明書送信可否判定装置、電子情報記憶媒体、証明書送信可否判定方法、及び証明書送信可否判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、外部との間で通信可能な証明書送信可否判定装置であって、当該証明書送信可否判定装置に固有の秘密鍵と、当該秘密鍵とペアになる公開鍵の証明書と、当該証明書送信可否判定装置が設置される位置を示す位置情報とを記憶する記憶手段と、前記外部から証明書の送信要求を受信する受信手段と、前記受信手段により受信された前記送信要求に応じて、当該証明書送信可否判定装置の現在位置を取得する取得手段と、前記取得手段により取得された前記現在位置と、前記記憶手段に記憶されている前記位置情報が示す位置とを比較する比較手段と、前記比較手段による比較結果に基づいて、前記送信要求された前記証明書を前記外部へ送信するか否かを判定する判定手段と、を備えることを特徴とする。
【０００８】
請求項２に記載の発明は、請求項１に記載の証明書送信可否判定装置において、前記証明書は、所定の認証局により発行されるものであり、前記位置情報は、前記証明書に記述されることを特徴とする。
【０００９】
請求項３に記載の発明は、外部との間で通信可能な電子情報記憶媒体であって、当該証明書送信可否判定装置に固有の秘密鍵と、当該秘密鍵とペアになる公開鍵の証明書と、当該証明書送信可否判定装置が設置される位置を示す位置情報とを記憶する記憶手段と、前記外部から証明書の送信要求を受信する受信手段と、前記受信手段により受信された前記送信要求に応じて、当該証明書送信可否判定装置の現在位置を取得する取得手段と、前記取得手段により取得された前記現在位置と、前記記憶手段に記憶されている前記位置情報が示す位置とを比較する比較手段と、前記比較手段による比較結果に基づいて、前記送信要求された前記証明書を前記外部へ送信するか否かを判定する判定手段と、を備えることを特徴とする。
【００１０】
請求項４に記載の発明は、外部との間で通信可能な証明書送信可否判定装置により行われる証明書送信可否判定方法であって、当該証明書送信可否判定装置に固有の秘密鍵と、当該秘密鍵とペアになる公開鍵の証明書と、当該証明書送信可否判定装置が設置される位置を示す位置情報とを記憶手段に記憶するステップと、前記外部から証明書の送信要求を受信するステップと、前記受信された前記送信要求に応じて、当該証明書送信可否判定装置の現在位置を取得するステップと、前記取得された前記現在位置と、前記記憶手段に記憶されている前記位置情報が示す位置とを比較する比較ステップと、前記比較ステップによる比較結果に基づいて、前記送信要求された前記証明書を前記外部へ送信するか否かを判定するステップと、を含むことを特徴とする。
【００１１】
請求項５に記載の発明は、外部との間で通信可能な証明書送信可否判定装置に含まれるコンピュータに、当該証明書送信可否判定装置に固有の秘密鍵と、当該秘密鍵とペアになる公開鍵の証明書と、当該証明書送信可否判定装置が設置される位置を示す位置情報とを記憶手段に記憶するステップと、前記外部から証明書の送信要求を受信するステップと、前記受信された前記送信要求に応じて、当該証明書送信可否判定装置の現在位置を取得するステップと、前記取得された前記現在位置と、前記記憶手段に記憶されている前記位置情報が示す位置とを比較する比較ステップと、前記比較ステップによる比較結果に基づいて、前記送信要求された前記証明書を前記外部へ送信するか否かを判定するステップと、を実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、認証用トークンを有する機器が正当な最終利用者の手元にわたって利用されていることを迅速に確認でき、さらに、当該機器が真正であることを第三者に証明することができる。
【図面の簡単な説明】
【００１３】
【図１】データ通信システムＳの概要構成例を示す図である。
【図２】複数のノード機器Ｎｎの概要構成例を示す図である。
【図３】ノード機器Ｎ１とノード機器Ｎ２との間のネゴシエーションシーケンスの一例を示す図である。
【図４】証明書送信可否判定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施形態は、データ通信システムに対して本発明を適用した場合の実施形態である。
【００１５】
先ず、図１及び図２を参照して、データ通信システムＳの概要構成及び機能について説明する。図１は、データ通信システムＳの概要構成例を示す図であり、図２は、複数のノード機器Ｎｎの概要構成例を示す図である。
【００１６】
図１に示すように、データ通信システムＳは、グローバルネットワークＮＷに接続されたノード機器Ｎｎ（ｎ＝１，２，３，４）を、それぞれの拠点Ｐｎ（ｎ＝１，２，３，４）ごとに備え、それぞれのノード機器Ｎｎには拠点ネットワークＫｎ（ｎ＝１，２，３，４）が接続されている。ノード機器Ｎｎは、例えばゲートウェイやルータ等である。グローバルネットワークＮＷは、インターネットや移動体通信網等から構成される。拠点ネットワークＫｎは、有線ＬＡＮ（Local Area Network）や無線ＬＡＮ等から構成される。データ通信システムＳが、例えば地域医療連携に利用される場合、拠点Ｐ１には地域の中核病院が設置され、拠点ネットワークＫ１には管理サーバ及び管理端末等が接続される。この管理サーバは、患者の診療情報（例えば、退院サマリを含む）を蓄積、管理する。また、この場合、拠点Ｐ２には診療所（例えば、患者の自宅近所の診療所）が設置され、拠点Ｐ３には介護施設が設置され、拠点Ｐ４には薬局が設置され、拠点ネットワークＫ２〜Ｋ４には、それぞれ管理端末等が接続される。なお、データ通信システムＳは、地域医療連携以外の例えばリモートサービスメンテナンスにも適用可能である。
【００１７】
このようなデータ通信システムＳでは、グローバルネットワークＮＷを介して、ノード機器Ｎｎ間で例えばＴＬＳ（Transport Layer Security）／ＳＳＬ（Secure Sockets Layer)を用いた通信が可能になっている。ＴＬＳ／ＳＳＬは、ノード機器Ｎｎ間における安全な通信環境を提供するプロトコルであり、ノード機器Ｎｎの公開鍵証明書を利用することで互いに認証可能になっている。
【００１８】
ノード機器Ｎｎの構成には、図２（Ａ）に示す構成と、図２（Ｂ）に示す構成とがある。図２（Ａ）に示す構成では、ノード機器Ｎｎは、ＣＰＵ（Central Processing Unit）１０、記憶部１１、ＧＰＳ(Global Positioning System)受信部１２、通信部１３、ペリフェラルデバイス１４、及びバス１５等を備えて構成され、ＣＰＵ１０、記憶部１１、ＧＰＳ受信部１２、通信部１３、及びペリフェラルデバイス１４は、それぞれ、バス１５に接続されている。ＣＰＵ１０は、記憶部１１に記憶されたプログラムに従って他のノード機器Ｎｎとの間の通信を制御する。記憶部１１は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、またはフラッシュメモリ等の不揮発性メモリを備える。記憶部１１には、ＯＳ（Operating System）、及び通信制御のための各種アプリケーション等のプログラムが記憶される。ＧＰＳ受信部１２は、ＧＰＳ衛星から出力される航法電波をアンテナを介して受信し、ノード機器Ｎｎの現在位置（例えば経度及び緯度）を検出し、ＣＰＵ１０へ出力する。通信部１３は、例えば、拠点ネットワークＫｎ及びグローバルネットワークＮＷに接続され通信状態を制御する。ペリフェラルデバイス１４は、基盤上に組み込まれた認証用トークン（格納媒体）であり、本発明の証明書送信可否判定装置及び電子情報記憶媒体の一例である。また、ペリフェラルデバイス１４は、ＣＰＵ１４１、ＲＯＭ（Read Only Memory）１４２、ＲＡＭ（Random Access Memory）１４３、及び耐タンパ性を有する不揮発性メモリ１４４（例えば、フラッシュメモリ、或いは「Electrically Erasable Programmable Read-Only Memory」）等を備える。ペリフェラルデバイス１４は、バス１５を介してＣＰＵ１０と通信可能になっている。なお、ペリフェラルデバイス１４の例としてＴＰＭ（Trusted Platform Module)やｅＵＩＣＣ（embedded Universal Integrated Circuit Card）がある。
【００１９】
一方、図２（Ｂ）に示す構成では、ノード機器Ｎｎは、ＣＰＵ１０、記憶部１１、ＧＰＳ受信部１２、通信部１３、バス１５、及びカードリーダライタ１６等を備えて構成され、ＣＰＵ１０、記憶部１１、ＧＰＳ受信部１２、通信部１３、及びカードリーダライタ１６は、それぞれ、バス１５に接続されている。ＣＰＵ１０、記憶部１１、ＧＰＳ受信部１２、及び通信部１３は、図２（Ａ）の構成と同様である。ＩＣカード１７-n（n＝1，2，3，4）は、ノード機器Ｎｎに脱着可能に装着される認証用トークンであり、本発明の証明書送信可否判定装置、及び電子情報記憶媒体の一例である。なお、ＧＰＳ受信部１２などの現在位置を取得する取得手段は、本発明の証明書送信可否判定装置、及び電子情報記憶媒体に備えられるように構成してもよい。また、ＩＣカード１７-nは、ＣＰＵ１７１、ＲＯＭ１７２、ＲＡＭ１７３、耐タンパ性を有する不揮発性メモリ１７４（例えば、フラッシュメモリ、或いは「Electrically Erasable Programmable Read-Only Memory」）、及び接触式または非接触式インタフェース（Ｉ／Ｆ）１７５等を備える。ＩＣカード１７-nは、バス１５及びカードリーダライタ１６を介してＣＰＵ１０と通信可能になっている。なお、カードリーダライタ１６とＩＣカード１７-nとの間は、接触または非接触で通信が行われる。
【００２０】
ペリフェラルデバイス１４の不揮発性メモリ１４４及びＩＣカード１７-nの不揮発性メモリ１７４は、本発明の記憶手段の一例である。不揮発性メモリ１４４，１７４のセキュアな記憶領域には、ペリフェラルデバイス１４またはＩＣカード１７-nに固有（言い換えれば、各ノード機器Ｎｎに固有）の秘密鍵（プライベート鍵）と、当該秘密鍵とペアになる公開鍵の公開鍵証明書とを記憶する。公開鍵証明書は、例えば、ノード機器Ｎｎの製造時点で認証局により発行され、秘密鍵と共に、不揮発性メモリ１４４，１７４のセキュアな記憶領域に書き込まれる。不揮発性メモリ１４４，１７４に記憶された公開鍵証明書には、シリアル番号、発行者識別子、被発行者識別子、有効期間、公開鍵、署名アルゴリズム、署名値、及び位置情報が記述（格納）されている。ここで、位置情報は、ペリフェラルデバイス１４またはＩＣカード１７-n（言い換えれば、ノード機器Ｎｎ）が設置されるべき位置（例えば、経度及び緯度、或いは空間コード（ｕｃｏｄｅ））を示す。この位置情報は、例えば、公開鍵証明書の発行時に、ノード機器Ｎｎの機器製造メーカから認証局に通知され、当該公開鍵証明書に記述（例えば、一般的な公開鍵証明書の拡張領域に記録）される。なお、位置情報は公開鍵証明書に記述されなくともよく、この場合、当該位置情報は公開鍵証明書に対応付けられて不揮発性メモリ１４４，１７４に記憶される。
【００２１】
また、ペリフェラルデバイス１４の不揮発性メモリ１４４及びＩＣカード１７-nの不揮発性メモリ１７４には、本発明の証明書送信可否判定プログラムが記憶される。この証明書送信可否判定プログラムは、コンピュータとしてのＣＰＵ１４１及びＣＰＵ１７１に、証明書送信可否判定処理を実行させるプログラムである。この証明書送信可否判定処理において、ＣＰＵ１４１及びＣＰＵ１７１は、それぞれ、本発明における受信手段、取得手段、比較手段、及び判定手段等として機能する。
【００２２】
具体的には、ＣＰＵ１４１及びＣＰＵ１７１は、それぞれ、外部（この場合、ＣＰＵ１０）から証明書読出しコマンド（証明書の送信要求の一例）を受信すると、受信された証明書読出しコマンドに応じて、ノード機器Ｎｎの現在位置を取得する。例えば、ＣＰＵ１４１及びＣＰＵ１７１は、ＧＰＳ受信部１２により検出された上記現在位置をＣＰＵ１０から取得する。或いは、ＣＰＵ１４１及びＣＰＵ１７１は、ノード機器Ｎｎの設置場所に対して発番された空間コード（ｕｃｏｄｅ）を現在位置として、例えば空間コードが記憶されたＩＣタグ等から取得してもよい。或いは、ノード機器Ｎｎの通信部１３が移動体通信網の基地局との間で無線通信を行うように構成される場合、ＣＰＵ１０は当該基地局との位置関係からノード機器Ｎｎの現在位置を取得し、ＣＰＵ１４１またはＣＰＵ１７１へ出力してもよい。また、ＣＰＵ１４１及びＣＰＵ１７１は、それぞれ、受信された証明書読出しコマンドに応じて、不揮発性メモリ１４４または１７４から位置情報を取得（例えば、不揮発性メモリ１４４，１７４に記憶されている公開鍵証明書から位置情報を取得）する。そして、ＣＰＵ１４１及びＣＰＵ１７１は、取得した現在位置（ノード機器Ｎｎの現在位置）と、取得した位置情報（例えば、公開鍵証明書に記述された位置情報）が示す位置とを比較し、当該比較結果に基づいて、証明書読出しコマンドの対象となる公開鍵証明書（つまり、送信要求された公開鍵証明書）を送信するか否かを判定する。例えば、ＣＰＵ１４１及びＣＰＵ１７１は、取得された現在位置と取得された位置情報が示す位置との差（例えば距離差）を算出し、算出した差が予め設定された許容誤差範囲内にある場合、ＣＰＵ１４１及びＣＰＵ１７１は、公開鍵証明書を送信すると判定する。なお、空間コードにより位置が示される場合、空間コードに対応する経度及び緯度が所定のサーバから取得され、上記差が算出される。そして、ＣＰＵ１４１及びＣＰＵ１７１は、公開鍵証明書を送信すると判定した場合、不揮発性メモリ１４４または１７４から公開鍵証明書を読み出し、これを上記証明書読出しコマンドのレスポンスとしてＣＰＵ１０へ返信する。
【００２３】
次に、図３及び図４を参照して、データ通信システムＳの動作について説明する。図３は、ノード機器Ｎ１とノード機器Ｎ２との間のネゴシエーションシーケンスの一例を示す図である。このネゴシエーションシーケンスは、ＥＡＰ（Extensible Authentication Protocol)−ＴＬＳ（ＲＦＣ ５２１６に規定）に基づくものである。図４は、証明書送信可否判定処理の一例を示すフローチャートである。なお、以下の説明では、ノード機器Ｎｎの構成として、図２（Ｂ）に示す構成を例にとるものとする。
【００２４】
例えば、ノード機器Ｎ２（クライアント）は、拠点Ｐ２における診療所の管理端末から発信されたリクエスト（例えば、拠点Ｐ１における中核病院の管理サーバに対するリクエスト）を拠点ネットワークＫ２を介して受信すると、図３に示すように、ＴＬＳセッションを開始し、“Client_hello”メッセージをグローバルネットワークＮＷを介してノード機器Ｎ１（サーバ）へ送信する（ステップＳ１）。この“Client_hello”メッセージは、クライアントが利用可能な暗号アルゴリズム候補を通知するメッセージである。
【００２５】
ノード機器Ｎ１がノード機器Ｎ２からの“Client_hello”メッセージを受信すると、ノード機器Ｎ１のＣＰＵ１０は、証明書読出しコマンドをカードリーダライタ１６を介してＩＣカード１７-1へ送信する（ステップＳ２）。ＩＣカード１７-1のＣＰＵ１７１は、証明書読出しコマンドを受信すると、図４に示す証明書送信可否判定処理を開始する。ＩＣカード１７-1のＣＰＵ１７１は、受信された証明書読出しコマンドに応じて、上述したように、ノード機器Ｎ１の現在位置を取得する（ステップＳ１０１）。次いで、ＩＣカード１７-1のＣＰＵ１７１は、上述したように、不揮発性メモリ１７４から位置情報を取得する（ステップＳ１０２）。次いで、ＩＣカード１７-1のＣＰＵ１７１は、ステップＳ１０１で取得された現在位置と、ステップＳ１０２で取得された位置情報が示す位置とを比較し、その比較結果に基づいて公開鍵証明書を送信するか否かを判定する（ステップＳ１０３）。そして、ＩＣカード１７-1のＣＰＵ１７１は、公開鍵証明書を送信すると判定した場合（つまり、上記位置の差が許容誤差範囲内にある場合）には（ステップＳ１０３：ＹＥＳ）、不揮発性メモリ１７４から公開鍵証明書を読み出し、これを証明書読出しコマンドのレスポンスとしてＣＰＵ１０へ返信し（ステップＳ１０４）、当該処理を終了する。一方、ＩＣカード１７-1のＣＰＵ１７１は、公開鍵証明書を送信しないと判定した場合（つまり、上記位置の差が許容誤差範囲内にない場合）には（ステップＳ１０３：ＮＯ）、公開鍵証明書を返信することなく、当該処理を終了する。なお、証明書送信可否判定処理は、対向するノード機器Ｎｎとの間で、相互認証により安全な通信路を確立する必要がある場合にのみ、行われるとよい。この証明書送信可否判定処理によれば、例えばノード機器Ｎ１が正しい位置に居ない場合でも、対向するノード機器Ｎ２との相互認証の際にペリフェラルデバイス１４またはＩＣカード１７-1から公開鍵証明書を読み出せなくなるだけで、ノード機器Ｎ１自体は起動し、対向するノード機器Ｎ２との認証以外の機能はノード機器Ｎ１の位置に関係なく利用することができる。このため、正しい位置に居ないと起動しない機器に対してメリットがある。
【００２６】
ノード機器Ｎ１のＣＰＵ１０は、ＩＣカード１７-1からの公開鍵証明書を受信すると、“Server_hello”メッセージをグローバルネットワークＮＷを介してノード機器Ｎ２へ送信する（ステップＳ３）。この“Server_hello”メッセージは、暗号アルゴリズム候補から選択した暗号アルゴリズムを通知するメッセージである。次いで、ノード機器Ｎ１のＣＰＵ１０は、“Certificate”メッセージをグローバルネットワークＮＷを介してノード機器Ｎ２へ送信する（ステップＳ４）。この“Certificate”メッセージには、ＩＣカード１７-1から受信した公開鍵証明書（ノード機器Ｎ１の公開鍵証明書）が含まれる。この公開鍵証明書によりノード機器Ｎ１（サーバ）の認証がなされる。この公開鍵証明書は、ノード機器Ｎ１の正当性を通信相手に証明するものであるが、当該公開鍵証明書をＩＣカード１７-1から読み出して通信相手に渡す前に、ノード機器Ｎ１の現在位置を確認し、当該現在位置が公開鍵証明書に記述された位置情報が示す位置と一致（誤差を許容）すれば、当該公開鍵証明書を通信相手に送信するものである。
【００２７】
次いで、ノード機器Ｎ１のＣＰＵ１０は、“Certificate _Request”メッセージをグローバルネットワークＮＷを介してノード機器Ｎ２へ送信する（ステップＳ５）。この“Certificate _Request”メッセージは、ノード機器Ｎ２の公開鍵証明書を要求するメッセージである。次いで、ノード機器Ｎ１のＣＰＵ１０は、“Server_hello_done”メッセージをグローバルネットワークＮＷを介してノード機器Ｎ２へ送信する（ステップＳ６）。この“Server_hello_done”メッセージは、“Server_hello”から始まる一連のメッセージの終了を通知するメッセージである。
【００２８】
ノード機器Ｎ２がノード機器Ｎ１からの一連のメッセージを受信すると、ノード機器Ｎ２のＣＰＵ１０は、証明書読出しコマンドをカードリーダライタ１６を介してＩＣカード１７-2へ送信する（ステップＳ７）。ＩＣカード１７-2のＣＰＵ１７１は、上述したノード機器Ｎ１側のＩＣカード１７-1と同様、図４に示す証明書送信可否判定処理を行う。ノード機器Ｎ２のＣＰＵ１０は、ＩＣカード１７-2からの公開鍵証明書を受信すると、“Certificate”メッセージをグローバルネットワークＮＷを介してノード機器Ｎ１へ送信する（ステップＳ８）。この“Certificate”メッセージには、ＩＣカード１７-2から受信した公開鍵証明書（ノード機器Ｎ２の公開鍵証明書）が含まれる。この公開鍵証明書によりノード機器Ｎ２（クライアント）の認証がなされる。
【００２９】
次いで、ノード機器Ｎ２のＣＰＵ１０は、“Client_key_exchange”メッセージをグローバルネットワークＮＷを介してノード機器Ｎ１へ送信する（ステップＳ９）。この“Client_key_exchange”メッセージには、ノード機器Ｎ１の公開鍵証明書に含まれる公開鍵により暗号化されたプリマスタシークレット（セッション鍵を生成するための情報）が含まれる。次いで、ノード機器Ｎ２のＣＰＵ１０は、“Certificate_verify”メッセージをグローバルネットワークＮＷを介してノード機器Ｎ１へ送信する（ステップＳ１０）。この“Certificate_verify”メッセージには、ノード機器Ｎ１からの一連のメッセージから生成された署名（つまり、ノード機器Ｎ２の秘密鍵で暗号化）が含まれる。次いで、ノード機器Ｎ２のＣＰＵ１０は、プリマスタシークレットに基づいてセッション鍵を生成し、“Change_cipher_spec”メッセージをグローバルネットワークＮＷを介してノード機器Ｎ１へ送信する（ステップＳ１１）。この“Change_cipher_spec”メッセージは、使用する暗号アルゴリズムの準備が整ったことを通知するメッセージである。次いで、ノード機器Ｎ２のＣＰＵ１０は、“Finished”メッセージをグローバルネットワークＮＷを介してノード機器Ｎ１へ送信する（ステップＳ１２）。この“Finished”メッセージは、鍵交換と認証処理が成功したことを通知するメッセージである。
【００３０】
ノード機器Ｎ１がノード機器Ｎ２からの一連のメッセージを受信すると、ノード機器Ｎ１のＣＰＵ１０は、“Client_key_exchange”メッセージに含まれるプリマスタシークレットをノード機器Ｎ１の秘密鍵により復号し、プリマスタシークレットに基づいてセッション鍵（ノード機器Ｎ２で生成されたセッション鍵と同一の鍵）を生成し、“Change_cipher_spec”メッセージをグローバルネットワークＮＷを介してノード機器Ｎ２へ送信する（ステップＳ１３）。次いで、ノード機器Ｎ１のＣＰＵ１０は、“Finished”メッセージをグローバルネットワークＮＷを介してノード機器Ｎ２へ送信する（ステップＳ１４）。
【００３１】
こうして、ノード機器Ｎ１とノード機器Ｎ２との間で相互認証が行われた以降、例えばアプリケーションで使用されるデータがセッション鍵により暗号化されて送受信されることになる。このため、例えば、拠点Ｐ２における診療所の管理端末は、拠点Ｐ１における中核病院の管理サーバから、例えば患者の診療情報を、ノード機器Ｎ１，Ｎ２、及びグローバルネットワークＮＷを介して安全に取得することができる。一方、ノード機器Ｎ１とノード機器Ｎ２の少なくとも何れか一方が例えば誤配送または盗難により、本来設置されている場所以外の場所に設置されていた場合、上記証明書送信可否判定処理により公開鍵証明書は認証用トークンから読み出されず通信相手に送信できないため、ノード機器Ｎ１とノード機器Ｎ２との間で相互認証が行われない。
【００３２】
以上説明したように、上記実施形態によれば、ペリフェラルデバイス１４またはＩＣカード１７-nは、証明書読出しコマンドに応じて、ノード機器Ｎｎの現在位置を取得し、当該現在位置と、公開鍵証明書に記述された位置情報が示す位置とを比較し、当該比較結果に基づいて、当該公開鍵証明書を送信するか否かを判定するように構成したので、ノード機器Ｎｎが正当な最終利用者の手元にわたって利用されていることを迅速に確認でき、さらに、当該ノード機器Ｎｎが真正であることを第三者に証明することができる。
なお、上記実施形態では、データ通信システムＳは医療分野に適用される例を示したが、データ通信システムＳの適用分野は医療分野に限定されず、その他の分野にも適用可能である。
【符号の説明】
【００３３】
１０  ＣＰＵ
１１  記憶部
１２  ＧＰＳ受信部
１３  通信部
１４  ペリフェラルデバイス
１５  バス
１６  カードリーダライタ
１７-n  ＩＣカード
Ｎｎ  ノード機器
【図１】
0006331894.tif 000002
【図２】
0006331894.tif 000003
【図３】
0006331894.tif 000004
【図４】
0006331894.tif 000005