JP3944182B2 - セキュリティ通信方法 - Google Patents

セキュリティ通信方法 Download PDF

Info

Publication number
JP3944182B2
JP3944182B2 JP2004104635A JP2004104635A JP3944182B2 JP 3944182 B2 JP3944182 B2 JP 3944182B2 JP 2004104635 A JP2004104635 A JP 2004104635A JP 2004104635 A JP2004104635 A JP 2004104635A JP 3944182 B2 JP3944182 B2 JP 3944182B2
Authority
JP
Japan
Prior art keywords
security
communication
ipsec
request message
printer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004104635A
Other languages
English (en)
Other versions
JP2005295038A (ja
JP2005295038A5 (ja
Inventor
勝久 小川
直彦 鈴木
宏昭 中澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004104635A priority Critical patent/JP3944182B2/ja
Priority to US11/086,634 priority patent/US7664954B2/en
Publication of JP2005295038A publication Critical patent/JP2005295038A/ja
Publication of JP2005295038A5 publication Critical patent/JP2005295038A5/ja
Application granted granted Critical
Publication of JP3944182B2 publication Critical patent/JP3944182B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、セキュリティ通信方法に関する。
IPsecは、一般的なIPレイヤでのセキュリティを実現するための十分な機能と安全性を備えた、標準化された技術である。IPsecの中核は、RFC2409“The Internet Key Exchange(IKE)”で規定されたIKEプロトコルによるSA(Security Association)の自動生成であり、SA確立は、Phase1(またはISAKMP SA)、Phase2(またはIPsec SA)の二段階に分けて行わる。IPsecに関する特許文献としては、特許文献1がある。
アグレッシブモードの場合、Phase1では、1往復目でIKE通信路の暗号アルゴリズムを選び、2往復目でDH(Diffee−Hellman)鍵交換アルゴリズムにより鍵交換(IKE通信用の鍵)を行い3往復目で通信相手の認証を行う。Phase2では、1往復目でPhase1で確立した秘密の通信路を使いセキュリティ・プロトコルESPあるいはAHで用いる暗号アルゴリズムや秘密鍵を交換し、以降の接続了承を送信のみとして送る。こうして交換された設定情報は、両端末機器のSAD(Security Association Database)のSAエントリとして登録され、相互のセキュアな通信で利用される。
IPsec通信は、このように端末機器間で自動設定できるように標準化されているが、このためにはいくつかの事前設定が必須である。
特開2001−298449号公報
Phase1の3往復目で実施される認証は、Pre−Shared Key方式による認証が一般的に支持されている。Pre−Shared Key方式はセキュリティ通信を行う2者の端末機器間のみで有効な、つまり、他者に知られないように秘匿しなければならない共通鍵を、技術を持った管理者が対象機器に対し直接設定する事を前提としている。このため、特定少数機器間では運用可能であるが、不特定多数の機器間でPre−Shared Keyを設定する際の運用上の困難さが指摘されている。
また、IPsecで利用する、DH鍵交換アルゴリズム、公開鍵暗号アルゴリズム等は処理が重く、CPUパワーの比較的低い移動体端末等でIPsecを処理した場合に、数秒以上の時間がかかるため、実用的には専用演算チップを必要とするなど、実装面での問題が指摘されている。
本発明は、セキュリティを確保するための処理を軽減することを目的とする。
本発明のセキュリティ通信方法は、提供装置が、セキュリティ通信を行うためのパラメータの候補を第1の装置及び第2の装置から受信し、前記第1の装置及び第2の装置から受信したパラメータの候補に基づいて、セキュリティ通信を行うために必要な情報を生成し、前記第1の装置及び第2の装置が、前記生成されたセキュリティ通信を行うために必要な情報を元に、前記第1の通信装置と前記第2の通信装置との間の通信にセキュリティを確保するセキュリティ通信方法であって、前記第1の装置が、セッションの確立を要求するセッション確立要求メッセージを前記提供装置経由で前記第2の装置に送信し、前記第2の装置が、前記セッション確立要求メッセージの返信メッセージを前記提供装置経由で前記第1の装置に送信し、前記第1の装置が、前記返信メッセージを受理した旨を通知する通知メッセージを前記第2の装置に送信し、セキュリティ通信を要求するための第1のセキュリティ通信要求メッセージを前記提供装置に送信し、前記第2の装置が、前記通知メッセージを受信すると、セキュリティ通信を要求するための第2のセキュリティ通信要求メッセージを前記提供装置に送信し、前記提供装置が、前記第1のセキュリティ通信要求メッセージ及び前記第2のセキュリティ通信要求メッセージを受信すると、前記セキュリティ通信を行うために必要な情報を前記第1の装置及び第2の装置に提供することを特徴とする。
また、本発明のセキュリティ通信方法は、提供装置が、第1の装置と第2の装置との間のセッションを識別する識別情報、及び、セキュリティを確保するためのパラメータの候補を前記第1の装置及び第2の装置から受信し、前記第1の装置及び第2の装置から受信したパラメータの候補に基づいて、通信のセキュリティを確保するために必要な情報を生成し、前記第1の装置及び第2の装置が、前記生成された、通信のセキュリティを確保するために必要な情報を元に、前記第1の通信装置と第2の通信装置との間の通信にセキュリティを確保するセキュリティ通信方法であって、前記第1の装置が、セッションの確立を要求するセッション確立要求メッセージを前記提供装置経由で前記第2の装置に送信し、前記第2の装置が、前記セッション確立要求メッセージの返信メッセージを前記提供装置経由で前記第1の装置に送信し、前記第1の装置が、前記返信メッセージを受理した旨を通知する通知メッセージを前記第2の装置に送信し、セキュリティ通信を要求するための第1のセキュリティ通信要求メッセージを前記提供装置に送信し、前記第2の装置が、前記通知メッセージを受信すると、セキュリティ通信を要求するための第2のセキュリティ通信要求メッセージを前記提供装置に送信し、前記提供装置が、前記第1のセキュリティ通信要求メッセージ及び前記第2のセキュリティ通信要求メッセージを受信すると、前記通信のセキュリティを確保するために必要な情報を前記第1の装置及び第2の装置に提供する。
従って、本発明によれば、セッションを確立して、通信を開始する時から、複雑な処理を行うことなく、セキュリティを確保することができる。
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
図1は本発明の一実施形態のネットワーク構成図である。図1において100はインターネットであり、IPv6プロトコルを利用した通信が可能である。101はインターネット100に直接または間接的に接続したプリンタであり、インターネット100を介してIPv6プロトコルを用いた通信が可能である。102はインターネット100に直接または間接的に接続したデジタルスチルカメラ(以降、デジカメと呼ぶ)であり、インターネット100を介してIPv6プロトコルを用いた通信が可能である。
103はインターネット100に接続したセキュリティ管理サーバであり、プリンタ101やデジカメ102の、インターネット100を介したピアツーピア通信におけるセキュリティを管理するサーバである。セキュリティ管理サーバ103は、両機器の詳細情報を保持しており、両機器とのインターネット100を介した通信は既にセキュリティを確保されている。つまり、セキュリティ管理サーバ103とプリンタ101には、共通な認証鍵・暗号鍵が、外部に情報が漏洩しないように仕込まれており、この認証鍵・暗号鍵の情報を元に、セキュリティ管理サーバ103とプリンタ101がお互いに通信に関する認証と通信内容の暗号化が行える。
プリンタ101とデジカメ102は、IPv6プロトコルを利用したピアツーピアな通信が可能である。両機器によるセキュリティ管理サーバ103に対するアドレス登録(SIP Register)は行われている。この状態で、デジカメ102からセッション要求(SIP Invite)をプリンタ101に送信することで、両機器はピアツーピア通信を行うためのセッション確立を行う。このセッション確立後に、両機器は所用のアプリケーションによるピアツーピア通信を行うことが可能となる。すなわち、本形態では、セキュリティ管理サーバ103は、SIPサーバを兼ねる。なお、SIP(Session Initiation Protocol)は、RFC2543で規定されている。
図1のネットワーク構成における、各機器、サーバのネットワーク情報は、以下のとおりである。
すなわち、例えば、プリンタ101、デジカメ102の機器IDは、BJ001、DC101であり、この機器IDは、セキュリティ管理サーバ103内で機器の識別子として利用される。なお、この機器IDは、機器同士のピアツーピア通信を行う際にやり取りされるSIP通信にも、SIP URIとして利用される。また、プリンタ101、デジカメ102、セキュリティ管理サーバ103のIPv6アドレスは、3ffe:514::1、2002:200::1、2001:340::1である。プリンタ101、デジカメ102の機器ID、IPv6アドレスは、セキュリティ管理サーバ103に登録されている。
セキュリティ管理サーバ103は、デジカメ102とプリンタ101がセッション(通信)を確立するための仲介を行う装置であり、デジカメ102からのセッション要求に含まれるプリンタ101の機器ID(識別子)をプリンタ101のIPアドレスに変換する。デジカメ102とプリンタ101の間のセッションは、このIPアドレスを元に確立される。
セキュリティ管理サーバ103は、セキュリティ通信を行うために必要な情報をデジカメ(第1の装置)102とプリンタ(第2の装置)101に提供する提供装置であって、セキュリティ通信を行うためのパラメータの候補を、デジカメ102及びプリンタ101から受信し、デジカメ102及びプリンタ101から受信したパラメータの候補に基づいて、セキュリティ通信を行うために必要な情報を生成し、前記生成されたセキュリティ通信を行うために必要な情報を、デジカメ102及びプリンタ101に送信する。
セキュリティ管理サーバ103は、デジカメ102とプリンタ101間の通信を識別する識別情報を、デジカメ102及びプリンタ101から受信し、生成されたセキュリティ通信を行うために必要な情報を、識別情報により識別される通信のセキュリティを確保するために、デジカメ102及びプリンタ101に送信する。
プリンタ101、デジカメ102は、通信相手との間で行う通信のセキュリティを確保するために必要な情報をセキュリティ管理サーバ103(提供装置)から受け取る通信装置であって、セキュリティを確保するためのパラメータの候補を、セキュリティ管理サーバ103に送信し、セキュリティを確保するために必要な情報を、セキュリティ管理サーバ103から受信し、セキュリティ管理サーバ103から受信した情報を元に、通信相手との通信にセキュリティを確保する。
プリンタ101、デジカメ102は、通信相手との間で確立された通信を識別する識別情報を、セキュリティ管理サーバ103に送信し、セキュリティ管理サーバ103から受信した情報を元に、通信相手との間で確立された通信にセキュリティを確保する。
セキュリティ通信を行うためのパラメータの候補は、例えば、セキュリティを確保するための認証アルゴリズムと暗号化アルゴリズムの少なくとも一方もしくは両方の候補である。
また、セキュリティを確保するために必要な情報は、セキュリティを確保するための認証アルゴリズム及び暗号化アルゴリズムの少なくとも一方もしくは両方、あるいは、セキュリティを確保するための鍵である。
図2は、本実施形態での機能を実現するソフトウェアプログラムを動作させるためのハードウェア構成の一例を示したものである。ここでは、セキュリティ管理サーバ103をコンピュータ1500により構成した場合の例を示すが、プリント部、撮像部を追加することにより、プリンタ101、デジカメ102も、同様に、構成できる。
コンピュータ1500は、CPU1501と、ROM1502と、RAM1503と、ハードディスク(HD)1507及びフロッピー(登録商標)ディスク(FD)1508のディスクコントローラ(DC)1505と、ネットワークインタフェースカード(NIC)1506とが、システムバス1504を介して互いに通信可能に接続された構成としている。そして、システムバス1504が、上記図1に示したインターネット100とネットワークインタフェースカード1506を介して接続される。
CPU1501は、ROM1502あるいはHD1507に記憶されたソフトウェア、あるいはFD1508より供給されるソフトウェアを実行することで、ステムバス1504に接続された各構成部を統括的に制御する。すなわち、CPU1501は、以下に説明する処理シーケンスに従った処理プログラムを、ROM1502、あるいはHD1507、あるいはFD1508から読み出して実行することで、本実施形態での動作を実現するための制御を行う。RAM1503は、CPU1501の主メモリあるいはワークエリア等として機能する。DC1505は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、および本実施形態における上記処理プログラム等を記憶するHD1507、およびFD1508とのアクセスを制御する。NIC1506は、インターネット100を通じてIPv6通信プロトコルを用いた相互通信をする。
セキュリティ通信を行うために必要な情報をデジカメ(第1の装置)102とプリンタ(第2の装置)101に提供する提供装置であるセキュリティ管理サーバ103は、セキュリティ通信を行うためのパラメータの候補を、デジカメ102及びプリンタ101から受信するNIC1506と、デジカメ102及びプリンタ101から受信したパラメータの候補に基づいて、セキュリティ通信を行うために必要な情報を生成するCPU1501とを有する。また、NIC1506は、生成されたセキュリティ通信を行うために必要な情報を、デジカメ102及びプリンタ101に送信する送信手段である。NIC1506は、デジカメ102がプリンタ101とのセッションの確立を要求するセッション要求メッセージ(Invite要求メッセージ)を受信し、CPU1501は、セッション要求メッセージに含まれるプリンタ101の機器ID(識別子)をプリンタ101のIPアドレスに変換し、デジカメ102とプリンタ102の間のセッション(通信)が確立されるのを仲介する。
更に、セキュリティ管理サーバ103のNIC1506は、デジカメ102とプリンタ101間の通信を識別する識別情報を、デジカメ102及びプリンタ101から受信し、生成されたセキュリティ通信を行うために必要な情報を、識別情報により識別される通信のセキュリティを確保するために、デジカメ102及びプリンタ101に送信する。
プリンタ101、デジカメ102は、通信相手との間で行う通信のセキュリティを確保するために必要な情報をセキュリティ管理サーバ(提供装置)103から受け取る通信装置であって、セキュリティを確保するためのパラメータの候補を、セキュリティ管理サーバ103に送信し、セキュリティを確保するために必要な情報を、提供装置から受信するNIC1506と、NIC1506によりセキュリティ管理サーバ103から受信した情報を元に、通信相手との通信にセキュリティを確保するCPU1501とを有する。
プリンタ101、デジカメ102のNIC1506は、通信相手との間で確立された通信を識別する識別情報を、セキュリティ管理サーバ103に送信し、CPU1501は、セキュリティ管理サーバ103から受信した情報を元に、通信相手との間で確立された通信にセキュリティを確保する。デジカメ102のNIC1506は、プリンタ101との間のセッション(通信)の確立を要求する要求メッセージ(Invite要求メッセージ)を、セキュリティ管理サーバ103に送信する。
セキュリティ通信を行うためのパラメータの候補は、例えば、セキュリティを確保するための認証アルゴリズムと暗号化アルゴリズムの少なくとも一方もしくは両方の候補である。
また、セキュリティを確保するために必要な情報は、セキュリティを確保するための認証アルゴリズム及び暗号化アルゴリズムの少なくとも一方もしくは両方、あるいは、セキュリティを確保するための鍵である。
図3は、プリンタ101とセキュリティ管理サーバ103のモジュール構成図である。301〜305はセキュリティ管理サーバ103内に搭載されたモジュールであり、311〜316はプリンタ101内に搭載されたモジュールである。なお、デジカメ102も、プリンタ101と同様のモジュール構成を有する。
301は通信モジュールであり、ネットワークインタフェースカード1506を介したプリンタ101とIPsec要求メッセージの受信やIPsec設定内容の送信に利用される。302はプリンタ101からのIPsec要求メッセージを受け付ける、要求受付モジュールである。303はIPsec作成テーブルであり、要求受付モジュール302でIPsec要求メッセージからから得られた各機器間のセッション情報と、機器のIPsec関連情報を管理・格納される。なお、IPsec作成テーブルに関しては、図5にて詳細を説明する。304は暗号通信モジュールであり、プリンタ101と事前に確保されたセキュアな通信路を利用したメッセージのやり取りが行われる。305はIPsec設定モジュールであり、IPsec作成テーブル303の情報から、プリンタ101にて利用するIPsec設定内容の作成処理が行われる。
311は通信モジュールであり、ネットワークインタフェースカード1506を介したセキュリティ管理サーバ103とIPsec要求メッセージの受信やIPsec設定内容の送信に利用される。このモジュールは通信モジュール301と同等のモジュールである。312はIPsec要求メッセージを作成する要求発行モジュールである。このモジュールによりIPsec要求が発行され、セキュリティ管理サーバ103よりIPsec設定内容を取得する。
313は暗号通信モジュールであり、セキュリティ管理サーバ103と事前に確保されたセキュアな通信路を利用したメッセージのやり取りが行われる。このモジュールは暗号通信モジュール304と同等のモジュールである。セキュリティ管理サーバ103の暗号通信モジュール304とデジカメ102の暗号通信モジュール313は、それぞれ所有する第一の秘密対称鍵を使って形成された暗号通信路を使って通信する。また、セキュリティ管理サーバ103の暗号通信モジュール304とプリンタ101の暗号通信モジュール313は、それぞれ所有する第二の秘密対称鍵を使って形成された暗号通信路を使って通信する。
314はIPsec設定モジュールであり、IPsec設定モジュール305にて作成されたIPsec設定内容をプリンタ101に設定するモジュールである。
315はSIPモジュールであり、プリンタ101とデジカメ102がピアツーピアな通信を行う際に、SIPを利用してピアツーピア通信用のセッションを確立する際に利用される。つまり、プリンタ101は、インターネット100に接続した際に自動的に設定されるIPv6アドレス(3ffe:514::1)を自己の機器ID(BJ101)と共にセキュリティ管理サーバ103に登録する。これにより、プリンタ101のSIP URI(例えば、BJ101@device.ccc.com)と、そのIPv6アドレスがセキュリティ管理サーバ103にて管理される。同様に、デジカメ102もセキュリティ管理サーバ103へSIP URIとそのIPv6アドレスを登録する。登録されたプリンタ101のSIP URIを用いて、デジカメ102がセッション要求メッセージ(SIP Invite)をセキュリティ管理サーバ103経由でプリンタ101に送信することで、セッション確立のためのネゴシエーションや相互の機器情報を交換し、セッション確立となる。以上のSIP処理を、SIPモジュール315にて行う。なお、セッション確立処理に関しては、図4で詳細に説明する。
316はアプリケーションであり、プリンタ101が他の機器(例えば、デジカメ102)とピアツーピアな通信を行う際に利用するアプリケーションである。
図4は本実施形態のシーケンス図である。このシーケンス図では、SIP通信を行うための登録処理(SIP Register)は既に完了している状態であり、デジカメ102からプリンタ101に対してピアツーピアな通信を行う際の手順を示す。
401はセッション確立を要求するInvite要求メッセージであり、セキュリティ管理サーバ103を経由してプリンタ101に送信される。このセッション確立を要求するInvite要求メッセージ401は、確立を要求するセッション(通信)のセッションID(通信を識別する識別情報)を含む。この401のInvite要求メッセージ内には、デジカメ102とプリンタ101でピアツーピア通信を行う際のデジカメ102のアドレス情報やアプリケーション情報(ポート番号)、ピアツーピア通信をセキュアに行うためのセキュリティ情報が、SDP(Session Description Protocol)内に記述され、添付されている。SDPは、例えば、HD1507から読み出す。
プリンタ101では、受信したInvite要求メッセージ401の返信として、402のレスポンスメッセージをセキュリティ管理サーバ103経由でデジカメ102に対して送信する。この402のレスポンスメッセージとしては、例えば、セッション受入を許可する「200OK」が返信され(これ以降、200OKメッセージと呼ぶ)、デジカメ102とのピアツーピア通信に必要な各種情報を記述したSDPも含まれる。このSDPは、例えば、HD1507から読み出す。なお、レスポンスメッセージ402には他にエラーメッセージも存在し、セッション受入が行えない場合(例えば、他の機器とセッションを確立中であり、デジカメ102との新たなセッションを確立できない場合や、デジカメ102から送信されたSDP情報の中で、プリンタ101側ではサポートされていない機能の要求があった場合)には402にてエラーメッセージが送信される。
403ではInvite要求に対する200OKメッセージ402を受信したデジカメ102から、200OKメッセージ402を受理した旨を通知するAckメッセージをプリンタ101に対して送信する。この403のAckメッセージのやり取りにより、デジカメ102とプリンタ101は、ピアツーピア通信を行うためのセッションを確立したことになる。なお、402にて送信されたSIPメッセージが、セッション受入を拒否するエラーメッセージの場合も、403にてAckメッセージが送信される。
デジカメ102とプリンタ101の間のセッション(通信)は、セキュリティ管理サーバ103による仲介により、確立される。すなわち、デジカメ102からのInvite要求メッセージ(セッション要求)401に含まれるプリンタ101の機器ID(識別子)をプリンタ101のIPアドレスに変換する。デジカメ102とプリンタ101の間のセッションは、このIPアドレスを元に確立される。
404では、デジカメ102は、Ackメッセージ403の送信をきっかけとして、プリンタ101とのピアツーピア通信のためのIPsec要求処理を開始する。具体的には、前述のSIPモジュール315より要求発行モジュール312に対してIPsec要求依頼が行われる。同様に、405においても、プリンタ101は、Ackメッセージ403の受信をきっかけとして、デジカメ102とのピアツーピア通信のためのIPsec要求処理を開始する。
デジカメ102側のIPsec要求処理(404)では、デジカメ102とプリンタ101とのピアツーピア通信において、IPsecを利用したセキュリティ通信を行うかどうかを判定し、IPsecを利用する場合には、セキュリティ管理サーバ103に対して、406のIPsec要求メッセージを送信する。同様に、プリンタ101側のIPsec要求処理(405)においても、デジカメ102とプリンタ101とのピアツーピア通信において、IPsecを利用したセキュリティ通信を行うかどうかを判定し、IPsecを利用する場合には、セキュリティ管理サーバ103に対して、407のIPsec要求メッセージを送信する。なお、上記のIPsec要求処理(404、405)の詳細に関しては、図6、図7にて説明する。後述するように、プリンタ101、デジカメ102は、通信相手との間で行う通信のセキュリティを確保するために必要な情報をセキュリティ管理サーバ103(提供装置)から受け取る通信装置であって、セキュリティを確保するためのパラメータの候補(を含むIPsec要求メッセージ406、407)を、セキュリティ管理サーバ103に送信する。
IPsec要求メッセージ(406、407)を受信したセキュリティ管理サーバ103は、ピアツーピア通信を行おうとする二つの機器からのIPsec要求メッセージ内容がそろってから、408にてIPsec要求メッセージの解析、IPsec設定内容の作成、そして、各機器に対するIPsec設定内容の返信を行う。なお、上記の処理の詳細に関しては図8、図9にて説明する。後述するように、セキュリティ管理サーバ103は、セキュリティ通信を行うために必要な情報を第1の装置と第2の装置に提供する提供装置であって、セキュリティ通信を行うためのパラメータの候補(を含むIPsec要求メッセージ406、407)を、デジカメ(第1の装置)102及びプリンタ(第2の装置)101から受信し、デジカメ102及びプリンタ101から受信したパラメータの候補に基づいて、IPsec設定内容(セキュリティ通信を行うために必要な情報)を生成し、IPsec設定内容を、デジカメ102及びプリンタ101に送信する。
408で作成された各機器のIPsec設定内容は、409、410にてデジカメ102とプリンタ101にIPsec要求メッセージの返信としてそれぞれ送信される。409のIPsec設定内容を受信したデジカメ102では、IPsecを設定する。同様に、410のIPsec設定内容を受信したプリンタ101でも、IPsecを設定する。両機器とも、IPsec設定が完了すると、411にてデジカメ102とプリンタ101におけるセキュアなピアツーピア通信を開始する。プリンタ101、デジカメ102は、通信相手との間で行う通信のセキュリティを確保するために必要な情報をセキュリティ管理サーバ103(提供装置)から受け取る通信装置であって、IPsec設定内容(セキュリティを確保するために必要な情報)を、セキュリティ管理サーバ103から受信し、セキュリティ管理サーバ103から受信したIPsec設定内容を元に、通信相手との通信にセキュリティを確保する。
すなわち、図4は、デジカメ(第一の端末)102とプリンタ(第二の端末)101の間でIPSECによるセキュリティ通信を実現する為に必要なセッション鍵とセキュリティ設定情報を設定する手順を示している。
セキュリティ管理サーバ(SIPサーバ)103は、デジカメ(第一の端末)102からのプリンタ(第二の端末)101に対するInvite要求メッセージ(接続呼出しメッセージ)401、及び、プリンタ101からのデジカメ102に対するレスポンスメッセージ(接続応答メッセージ)402を中継する。
セキュリティ管理サーバ103は、デジカメ102からのIPsec要求メッセージ(暗号通信設定要求メッセージ)406に含まれるデジカメ102のセキュリティ設定候補情報を獲得し、プリンタ101からのIPsec要求メッセージ(暗号通信設定要求メッセージ)407に含まれるプリンタ101のセキュリティ設定候補情報を獲得する。
セキュリティ管理サーバ103は、デジカメ102からのIPsec要求メッセージ406とプリンタ101からのIPsec要求メッセージ407を受信した段階で、デジカメ102及びプリンタ101のそれぞれに対するIPsec設定内容(暗号通信で使う暗号鍵(セッション鍵)とセキュリティ設定情報)を生成する。
セキュリティ管理サーバ103とデジカメ102が、それぞれ所有する第一の秘密対称鍵を使って形成された暗号通信路を使って、デジカメ102に対するIPsec設定内容409を、セキュリティ管理サーバ103からデジカメ102に送信し、セキュリティ管理サーバ103とプリンタ101が、それぞれ所有する第二の秘密対称鍵を使って形成された暗号通信路を使って、プリンタ101に対するIPsec設定内容410を、セキュリティ管理サーバ103からプリンタ101に送信する。
デジカメ102及びプリンタ101は、受信したIPsec設定内容からデジカメ102とプリンタ101間のIPsecによる暗号通信路を開始する。
図5では、前記IPsec作成テーブル303の一例を示す。このIPsec作成テーブル303は、RAM1503上に設けられる。501はセッションIDであり、二つの機器がSIPを利用して確立したセッションIDを示す。502、503は、先のセッション確立によって、IPsecを利用したピアツーピア通信を行う二つの機器の情報を格納する。先に受け取ったIPsec要求メッセージ(406)の送信元(デジカメ102)の機器情報がhostAに格納され、もう一方の機器情報がhostBに格納される。504は、最後に受信したIPsec要求メッセージの受信時間を格納する。これは、IPsecを利用する二つの機器からのIPsec要求メッセージがそろわなかった場合(つまり、デジカメ102からはIPsec要求メッセージが受信されたが、その通信相手となるプリンタ101からIPsec要求メッセージが受信されなかった場合)のタイムアウト処理に利用される。505は、IPsec作成テーブルのステータスを示す。このステータスには、waiting(もう一方の機器からのIPsec要求(407)待ち)、generating(IPsec設定内容を作成中)、sent(IPsec設定内容の返信(409、410)が完了)の値が存在する。
以下、502、503に格納される機器の情報の詳細を説明する。506には機器IDが格納され、507にはその機器が利用しているIPv6アドレスを格納する。508では、ピアツーピア通信にて利用されるアプリケーションのポート番号を格納し、509では、ピアツーピア通信にて利用されるIPsecのレベルを格納する。このIPsecのレベルには、use(IPsec利用は必須ではない)、require(IPsec利用は必須)、unique(IPsecで利用するSAを一意に指定)の値が存在する。510にはIPsecの設定で利用されるSPI(Security Parameter Index)の値を格納する。511には、その機器が保有するah(認証)のアルゴリズム名を格納し、512には、その機器が保有するesp(暗号化)のアルゴリズム名を格納する。なお、511、512には、複数のアルゴリズム名が格納されることがあり、その場合、利用優先度が高いものから順に格納される。
521に、具体的なIPsec作成テーブルのエントリを示し、522、523にそれぞれ、エントリ521の502、503に格納されるhostAの機器情報、hostBの機器情報を示す。
図6、図7では、本実施形態における機器側の処理フローを示す。図6、図7は、コンピュータであるCPU1501が読出すことができるように、ROM1502、HD1507、あるいはFD1508に格納されたプログラムの一部を示す。
図6では前記SIPモジュール315において、SIP Invite処理から、前記要求発行モジュール312へのIPsec要求依頼を行う処理に関して説明する。
601では、SIP Invite処理におけるメッセージ種別の判定を行う。SIP Invite処理において、Ackメッセージ403(図4)を送信した場合、または、Ackメッセージ403を受信した場合には602の処理へ進み、それ以外では605へ進み通常のSIPモジュールの処理を行う。ここで、Ackメッセージ403を送信する場合とは、Invite要求メッセージ401を送信したデジカメ102が該当し、Ackメッセージ403を受信する場合とは、200OKメッセージ402を送信したプリンタ101が該当する。
602では、SIP Invite処理にて確立されたセッションの情報から、Call−ID、From、Toの各情報と自己のSDP情報を取得する。上記の各情報には、先のSIP Invite処理にて確立したセッションIDとそのセッションを利用する二つの機器ID、そして、自己の各種情報が含まれている。603では、上記の情報と共に、前記要求発行モジュール312に対して、IPsec要求依頼を行う。604では、603でのIPsec要求依頼の結果を受け、上位アプリケーションに対して、通信相手のIPv6アドレスとポート番号を通知し、二つの機器にてピアツーピア通信を行う。IPsec要求依頼の結果がエラーの場合(つまり、IPsecの設定が正常に完了しなかった場合、または、IPsecの利用が指示されていない場合など)には、上位アプリケーションに対し、そのエラーを通知し、ユーザにIPsecを利用しない状態でもピアツーピア通信を行うかの確認を行うようにしてもよい。
図7は603にてIPsec要求依頼を受けた前記要求発行モジュール312の処理を中心に説明する。
701では、603にてIPsec要求依頼と共に受け取った自己のSDP情報より、sec_levelの値を取得する。なお、SDP情報に関しては、詳細を後述する。701で取得したsec_levelの値を702にて判定を行い、SDP情報にsec_level情報が存在しない場合や、sec_levelの値が「none」の場合(つまり、IPsecをピアツーピア通信にて利用しない場合)には、エラーとし、sec_level情報が適当な値(use、require、uniqueのいずれか)の場合には703に処理が進む。703では、603にてIPsec要求依頼と共に受け取ったCall−ID、From、Toの各情報を取得し、704では、自己SDP情報よりIPv6アドレス、ポート番号を取得する。705では、機器に搭載されているIPsecアルゴリズムと、現在利用可能なSPI(Security Parameter Index)を取得する。このIPsecアルゴリズムは、認証アルゴリズムと暗号化アルゴリズムの少なくとも一方、もしくは、両方であり、機器に搭載されているIPsecアルゴリズム(の識別子)は、例えば、HD1507から取得する。706では、上記701、703、704、705で取得した各種情報から、セキュリティ管理サーバ103に対して送信するIPsec要求メッセージを作成する。なお、IPsec要求メッセージに関しては詳細を後述する。
707にて、706にて作成されたIPsec要求メッセージを、前記暗号通信モジュール313によるメッセージ内容の暗号化、前記通信モジュール311によるセキュリティ管理サーバ103への送信、という手順でセキュリティ管理サーバ103に送る。すなわち、プリンタ101、デジカメ102は、通信相手との間で行う通信のセキュリティを確保するために必要な情報をセキュリティ管理サーバ103(提供装置)から受け取る通信装置であって、この707において、セキュリティを確保するためのIPsecアルゴリズム(パラメータ)の候補(を含むIPsec要求メッセージ)を、セキュリティ管理サーバ103に送信する。この707では、プリンタ101、デジカメ102は、通信相手との間で確立された通信を識別する識別情報であるCall−IDを、セキュリティ管理サーバ103に送信する。
708では、707にて送信したIPsec要求メッセージ(406、407)に対するレスポンスメッセージ(409、410)を受信し、レスポンスメッセージ内から、IPsec設定内容を取得する。なお、受信したレスポンスメッセージに関しては、図11にて詳細を説明する。709では、取得したIPsec設定内容の有効性をチェックし、有効ではない場合(つまり、セキュリティ管理サーバ103がエラーを返信してきた場合など)はエラーとし、有効な場合は710に処理が進む。710では、有効性が確認されたIPsec設定内容を前記IPsec設定モジュール314に渡し、機器のカーネルに「setkey」コマンドを用いて設定する。
プリンタ101、デジカメ102は、通信相手との間で行う通信のセキュリティを確保するために必要な情報をセキュリティ管理サーバ103(提供装置)から受け取る通信装置であって、この708において、セキュリティを確保するために必要な情報であるIPsec設定内容を、セキュリティ管理サーバ103から受信し、710において、セキュリティ管理サーバ103から受信した情報を元に、通信相手との通信にセキュリティを確保する。
プリンタ101、デジカメ102は、セキュリティ管理サーバ103から受信した情報であるIPsecを元に、通信相手との間で確立された通信(Invite要求メッセージ401、レスポンスメッセージ402、Ackメッセージ403の送受信により確立された通信)にセキュリティを確保する。
なお、上述のSDPの一例は、以下のとおりである。
v=0
o=BJ001 2451851 112144870 IN IP6 3ff:514::1
s=−
c=IN IP6 3ffe:514::1
t=0 0
m=application 80 HTTP
k=ipsec_level:require
この例は、プリンタ101のSDP内容である。重要な情報に関して説明する。二行目「o=」の「3ffe:514::1」がプリンタ101のIPv6アドレスである。同様に、四行目「c=」にもIPv6アドレスが記述される。六行目「m=」の「80」がアプリケーションのポート番号であり、「HTTP」のプロトコルを利用することを示す。そして、七行目の「k=」にて、sec_levelが記述され、この例では「require」の値が指定されている。このsec_levelを、要求発行モジュール312は、図7の701で取得する。二行目あるいは四行目のIPv6アドレス及び六行目のポート番号を、要求発行モジュール312は、704で取得する。このSDPは、ハードディスク1507などに、記憶されている。
図7の706にて作成されるIPsec要求メッセージの一例は、以下のとおりである。
<ipsec−request>
<session−id>2451851</session−id>
<local−host>DC101</local−host>
<remote−host>BJ101</remote−host>
<ipv6−address>2002:200::1</ipv6−address>
<port>46127</port>
<level>require</level>
<spi>0x834</spi>
<ah−algo>hmac−sha1</ah−algo>
<ah−algo>hmac−md5</ah−algo>
<esp−algo>blowfish−cbc</esp−algo>
<esp−algo>3des−cbc</esp−algo>
</ipsec−request>
この例はデジカメ102より送信されるIPsec要求メッセージを示す。データはXML形式で記述され、<ipsec−request>タグに囲まれている。なお、本形態において、このデータ形式をXML形式にすることに重要性はなく、その他の形式によるデータ伝達方法でも問題はない。以下、各項目に関して説明する。<session−id>はデジカメ102とプリンタ101の間に確立されたセッションIDを示し、<local−host>はデジカメ102の機器IDを示す。<remote−host>はピアツーピア通信の相手であるプリンタ101の機器IDを示し、<ipv6−address>はデジカメ102のIPv6アドレスを示す。<port>はデジカメ102のアプリケーションが利用するポート番号を示し、<level>はデジカメ102でのIPsecレベル(sec_level)を示す。なお、IPsecレベルをネゴシエーションする形態ではピアツーピア通信の相手であるプリンタ101と同一の値となっている。sec_levelは、use、require、uniqueのいずれかの値である。<spi>はデジカメ102のSPI(Security Parameter Index)値を示す。<ah−algo>はデジカメ102が保有するah(認証)アルゴリズムを示し、<esp−algo>はデジカメ102が保有するesp(暗号化)アルゴリズムを示す。認証アルゴリズムや暗号化アルゴリズムは、複数保有している可能性があり、その場合は利用優先度の高いアルゴリズムから順に<ah−algo>タグ、<esp−algo>タグを複数記述する。<ah−algo>内のah(認証)アルゴリズム、及び、<esp−algo>内のesp(暗号化)アルゴリズムの少なくとも一方、もしくは、両方は、セキュリティ設定候補情報、もしくは、セキュリティ通信を行うためのパラメータの候補である。
以上のように、デジカメ102は、セキュリティ設定候補情報を含むIPsec要求メッセージ(暗号通信設定要求メッセージ)406をセキュリティ管理サーバ103に送信する。また、プリンタ101は、セキュリティ設定候補情報を含むIPsec要求メッセージ(暗号通信設定要求メッセージ)407をセキュリティ管理サーバ103に送信する。
デジカメ102及びプリンタ101は、以上のように、受信したIPsec設定内容からデジカメ102とプリンタ101間のIPsecによる暗号通信路を開始する。
図8、図9では、本実施形態におけるセキュリティ管理サーバ側の処理フローを示す。図8、図9は、コンピュータであるCPU1501が読出すことができるように、ROM1502、HD1507、あるいはFD1508に格納されたプログラムの一部を示す。
図8は、前記要求受付モジュール302において、IPsec要求メッセージを受信し、IPsec設定内容を返信するまでの処理を中心に説明する。特に、デジカメ102とプリンタ101間にピアツーピア通信用のセッションを確立し、デジカメ102から最初のIPsec要求メッセージを受信し、その直後にプリンタ101からのIPsec要求メッセージを受信する処理に関して説明する。
1001はIPsec要求処理のタイムアウトを判定する処理である。本IPsec要求処理は、SIPにより二つの機器間にセッションを確立することをきっかけとして、両機器からのIPsec要求メッセージ406、407を受け付けることで、IPsec設定内容を作成できる。その為、何らかの原因で一方の機器からIPsec要求メッセージを受信できなかった場合(例えば、デジカメ102からのIPsec要求メッセージ406は受信したが、プリンタ101からのIPsec要求メッセージ407は受信できなかった場合)には、IPsec設定内容の作成が行えない状態となり、IPsec要求メッセージを正常に送信した機器102側では、IPsec設定内容を待ちつづけてしまう。その状態を回避するために、セキュリティ管理サーバ103では、1001にて504のrequest timeの値と505のstatusの値をチェックし、statusがwaitingで、かつ、request timeが現在時刻よりも5秒以上過去のエントリに関しては、タイムアウトのエントリと判断する。タイムアウトと判断された場合は、1014にてデジカメ102に対してエラーを返信しエラー終了し、タイムアウトのエントリがない場合には、1002へ処理が進む。
1002では、IPsec要求メッセージを受信し、受信したIPsec要求メッセージより<level>タグのデータを取得し、その値を判定する。この値が、use、require、uniqueのどれにも一致しない場合(つまり、受信したIPsec要求メッセージが有効なIPsec要求ではない場合)は、1016にてIPsec要求メッセージの送信元にエラーを送信してエラー終了となり、上記のどれかに一致した場合には1003に処理が進む。
セキュリティ管理サーバ103は、セキュリティ通信を行うために必要な情報をデジカメ(第1の装置)102とプリンタ(第2の装置)101に提供する提供装置であって、この1002において、セキュリティ通信を行うためのパラメータの候補を含むIPsec要求メッセージを、デジカメ102及びプリンタ101から受信する。なお、セキュリティ管理サーバ103は、この1002で、デジカメ102とプリンタ101間の通信を識別する識別情報であるsession ID(セッションID)を、デジカメ102及びプリンタ101から受信する。
1003では前記IPsec作成テーブル303に既に存在するIPsec作成テーブルを参照する。このとき、IPsec作成テーブルのセッションID(501)と、受信したIPsec要求メッセージの<session−id>タグ情報を比較し、同一のIPsec作成テーブルを1004にて判定、抽出する。受信したIPsec要求メッセージのセッションIDと同一のIPsec作成テーブルがない場合、つまり、デジカメ102からのIPsec要求メッセージ406(図4)を受信した場合には、1005に処理が進み、セッションIDが同一のIPsec作成テーブルが存在する場合(つまり、プリンタ101からのIPsec要求メッセージ407を受信した場合)には1008に処理が進む。
最初のIPsec要求メッセージ(デジカメ102からのIPsec要求メッセージ406)を受信した場合には、1005にて新規にIPsec作成テーブルを作成する。1006では、受信したIPsec要求メッセージよりセッションID情報を取得し、IPsec要求メッセージを受信した時刻も取得する。更にIPsec作成テーブルに、上記の情報をそれぞれ501、504に格納し、505にwaitingのステータス値を設定する。またIPsec作成テーブルに、IPsec要求メッセージを送信した機器(デジカメ102)情報を追加する。具体的には、hostA(502)に前記の506から512(図5)の情報(デジカメ102の機器ID、アドレス、ポート、IPsecレベル、SPI(Security Parameter Index)、認証アルゴリズム、暗号化アルゴリズム)を、受信したIPsec要求メッセージ406より格納する。1007では、1005で作成したIPsec作成テーブルに、IPsec要求メッセージを送信した機器の通信相手となる機器(プリンタ101)の情報を追加する。具体的には、hostB(503)に、通信相手の機器ID(プリンタ101の機器ID)のみを格納する。ここまでの処理にてデジカメ102からのIPsec要求メッセージの処理が終了する。
続けてプリンタ101からのIPsec要求メッセージの受信待ちとなる。プリンタ101からのIPsec要求メッセージ407を受信すると、1001、1002、1003、1004と処理が進み、受信したIPsec要求メッセージの<session−id>タグ情報と同一のセッションIDを有するIPsec作成テーブルを前記IPsec作成テーブル303より取得して1008に処理が進む。1008では、取得したIPsec作成テーブルのhostBの機器IDの値と、受信したIPsec要求メッセージの<local−host>の値を比較している。この処理において、最初のIPsec要求メッセージ(デジカメ102からのIPsec要求メッセージ406)と、今回受信したIPsec要求メッセージ(プリンタ101からのIPsec要求メッセージ407)とが、相互に相手の機器IDを指定しているかを判定している。つまり、デジカメ102からのIPsec要求メッセージには、<remote−host>としてプリンタ101の機器IDが指定され、プリンタ101からのIPsec要求メッセージには、<remote−host>としてデジカメ102の機器IDが指定されていることをチェックしている。この判定で一致している場合には1009に処理が進み、そうでない場合には1015にてデジカメ102、プリンタ101共に、エラーを返信してエラー終了する。
1009では、受信したIPsec要求メッセージの送信元の機器(プリンタ101)情報をIPsec作成テーブルに追加する。具体的には、hostB(503)に前記の507から512の情報(プリンタ101のアドレス、ポート、IPsecレベル、SPI(Security Parameter Index)、認証アルゴリズム、暗号化アルゴリズム)を、受信したIPsec要求メッセージより格納し、504のrequest timeをプリンタ101からのIPsec要求メッセージを受信した時間に変更し、505のstatusをgeneratingに変更する。
1010では、完成したIPsec作成テーブルの情報と共に前記IPsec作成モジュール305にIPsecの作成を依頼する。なお、このIPsec作成処理の詳細に関しては、図9にて説明する。セキュリティ管理サーバ103は、セキュリティ通信を行うために必要な情報をデジカメ(第1の装置)102とプリンタ(第2の装置)101に提供する提供装置であって、この1010において、デジカメ102及びプリンタ101から受信した認証アルゴリズム、暗号化アルゴリズム(パラメータ)の候補に基づいて、セキュリティ通信を行うために必要な情報を生成する。
1011では、1010のIPsec作成処理が正常に完了したかを判定し、エラー終了している場合には1015へ処理が進み、正常終了している場合には、両機器へ返信するIPsec設定内容を取得し、1012へ処理が進む。1012では、両機器(デジカメ102とプリンタ101)に対して作成されたIPsec設定内容を、前記暗号通信モジュール304によるメッセージ内容の暗号化、前記通信モジュール301による各機器への送信、という手順となる。この1012では、セキュリティ管理サーバ103とデジカメ102が、それぞれ所有する第一の秘密対称鍵を使って形成された暗号通信路を使って、デジカメ102に対するIPsec設定内容409を、セキュリティ管理サーバ103からデジカメ102に送信し、セキュリティ管理サーバ103とプリンタ101が、それぞれ所有する第二の秘密対称鍵を使って形成された暗号通信路を使って、プリンタ101に対するIPsec設定内容410を、セキュリティ管理サーバ103からプリンタ101に送信する。
セキュリティ管理サーバ103は、セキュリティ通信を行うために必要な情報をデジカメ(第1の装置)102とプリンタ(第2の装置)101に提供する提供装置であって、生成されたIPsec設定内容(セキュリティ通信を行うために必要な情報)を、この1012において、デジカメ102及びプリンタ101に送信する。この1012で、セキュリティ管理サーバ103は、IPsec設定内容を、識別情報であるセッションIDにより識別される通信のセキュリティを確保するために、デジカメ102及びプリンタ101に送信する。
また、この送信処理が正常に完了すると、IPsec作成テーブルのstatusの値をsentへ変更する。最後に、1013にて該当するIPsec作成テーブルを削除する。この際、該当するIPsec作成テーブルのstatus項目がsentであることを確認してから削除される。
図9は前記IPsec設定モジュール305での処理を示す。特に、先の1010のIPsec作成依頼を受け、デジカメ102とプリンタ101それぞれに対するピアツーピア通信用のIPsec設定内容を作成する処理に関して説明する。
IPsec設定依頼を受けた前記IPsec設定モジュール305は、1101にてIPsec作成テーブルより指定されたエントリの内容を取得する。取得したIPsec作成テーブルの情報より、二つの機器情報(デジカメ102の情報と、プリンタ101の情報)の、sec_level項目を1102にて比較する。仮に不一致の場合にはエラー終了となる。なお、これらの情報は、SIP Invite処理にて両機器よりSDPを利用して自己情報を通知し、共通のセキュリティポリシーでの通信を行うために、ネゴシエーションを行う形態では、1102の比較において、一致する。両機器で設定されたsec_levelが一致している場合、1102から1103に進む。
1103では、両機器の情報から、ah_algo項目のデータを比較し、共通の認証アルゴリズムが存在するかを判定する。二つの機器(デジカメ102とプリンタ101)で共通の認証アルゴリズムが存在した場合には1104へ進み、共通の認証アルゴリズムが存在しない場合には、1105へ処理が進む。1104では、二つの機器で共通な認証アルゴリズム(の識別子)を取得する。IPsec作成テーブル303が図5に示される内容を有する場合、1104では、「hmac−sha1」が取得される。
1105では、両機器の情報から、esp_algo項目のデータを比較し、共通の暗号化アルゴリズムが存在するかを判定する。二つの機器(デジカメ102とプリンタ101)で共通の暗号化アルゴリズムが存在した場合には1106へ進み、共通の暗号化アルゴリズムが存在しない場合には、1107へ処理が進む。1106では、二つの機器で共通な暗号化アルゴリズム(の識別子)を取得する。1107では、1104または1106にて共通のアルゴリズムが取得されたか判定する。IPsec作成テーブル303が図5に示される内容を有する場合、1107では、「3des−cbc」が取得される。ここで、認証アルゴリズムも暗号化アルゴリズムも共通なものが取得できなかった場合にはエラー終了となる。
1108では、1104、1106で取得された認証アルゴリズム、暗号化アルゴリズムのそれぞれの情報から、それらのアルゴリズムに適した鍵を生成する。鍵生成は、乱数を用いて生成し、そのアルゴリズムに適した鍵の長さに調整する。アルゴリズムと鍵長の関係の詳細は、後述する。セキュリティ管理サーバ103は、セキュリティ通信を行うために必要な情報をデジカメ(第1の装置)102とプリンタ(第2の装置)101に提供する提供装置であって、デジカメ102及びプリンタ101から受信した認証アルゴリズム及び暗号化アルゴリズム(パラメータ)の候補に基づいて、セキュリティ通信を行うために必要な情報(デジカメ102とプリンタ101間のセキュリティ通信に用いる認証アルゴリズム、暗号化アルゴリズム、及び、鍵)を生成する。
1109では、IPsec設定内容のテンプレートデータに、1101で取得したIPsec作成テーブルの各情報と、1104、1106、1108で取得・生成したIPsec関連の各アルゴリズムとその鍵情報から、適したデータを入力し、IPsec設定内容を作成する。なお、IPsec設定内容テンプレートの詳細に関しては、図10にて説明する。作成されたIPsec設定内容は1110にてhostA側機器(デジカメ102)のIPsec設定内容として完成する。
そして、1111では、1109で作成したIPsec設定内容の一部を修正する。具体的な修正内容は、SP(Security Policy)の設定内容において、通信の方向を規定している「in」と「out」の記述を入れ換える。1111で修正したIPsec設定内容は1112にてhostB側機器(プリンタ101)のIPsec設定内容として完成する。
前述した1108の処理における認証アルゴリズム、暗号化アルゴリズムに対応する鍵の長さに関しては、以下のとおりである。例えば、認証アルゴリズムとして「hmac−sha1」が選択されていた場合、この認証アルゴリズムに対応する鍵として、長さが160ビットの鍵が生成される。また、暗号化アルゴリズムとして「3des−cbc」が選択されていた場合、この暗号化アルゴリズムに対応する鍵として、長さが64ビットの鍵が生成される。また、認証アルゴリズムが「hmac−md5」であれば、128ビットの鍵が生成される。アルゴリズムの中には、「blowfish−cbc」のように鍵の長さが40ビットから448ビットまでの任意のビット長で生成可能なものや、「rijndael−cbc」のように、128ビット、192ビット、256ビットのいずれかのビット長を利用するものが存在する。
図10は、前述した1109の処理におけるIPsec設定テンプレートの一例を示す。IPsec設定テンプレートは、IPsecを設定する「setkey」コマンドのフォーマットに合わせて記述されているが、このフォーマットに限定するものではない。一行目、二行目がSP(Security Policy)情報を示し、三行目から六行目がSA(Security Association)情報を示す。図中の< >項目にIPsec作成テーブルや、先に生成された鍵情報を代入することで、IPsec設定内容が完成する。各項目の意味を以下で説明する。
<A_addr>にはhostA側機器のIPv6アドレスを代入し、<B_addr>にはhostB側機器のIPv6アドレスを代入する。<A_port>にはhostA側機器のポート番号を代入し、<B_port>にはhostB側機器のポート番号を代入する。
<sec_type>には前記1104、1106にて取得された共通なアルゴリズムの種類を代入する。つまり、二つの機器で共通な認証アルゴリズムと暗号化アルゴリズムをそれぞれ取得できた場合には「ah」と「esp」を代入し、認証アルゴリズムのみ取得できた場合には「ah」を代入し、暗号化アルゴリズムのみ取得できた場合には「esp」を代入する。<sec_level>には両機器で共通なsec_levelを代入する。この認証アルゴリズムと暗号化アルゴリズムは、デジカメ102及びプリンタ101から受信された認証アルゴリズムと暗号化アルゴリズム(セキュリティ通信を行うためのパラメータ)の候補から選択される。
なお、sec_typeに「ah」と「esp」を指定されている場合(つまり、認証と暗号化を両方利用する場合)、「<sec_type>/transport//<sec_level>」を繰り返し設定する。つまり、「〜ah/transport//require esp/transport//require〜」のように記述される。この例は、認証と暗号化が、必須であることが記述されている例である。
<A_spi>にはhostA側機器のSPI(Security Parameter Index)を代入し、<B_spi>にはhostB側機器のSPI(Security Parameter Index)を代入する。
なお、sec_typeでahのみ利用の場合は、四行目と六行目のespに関するSA登録は削除し、sec_typeでespのみ利用の場合は、三行目と五行目のahに関するSA登録を削除する。
また、sec_typeにてahとespを両方利用する場合には、テンプレートからの特定行の削除は行わず、複数の<A_spi>や<B_spi>にはプラス1を加えて異なった値を代入する。つまり、hostA側機器のSPI(Security Parameter Index)が0x834の場合、五行目の<A_spi>には「0x834」を代入し、六行目の<A_spi>には「0x835」を代入する。そして、<ah_algo>、<esp_algo>にはそれぞれ、1104、1106で取得した両機器で共通の認証アルゴリズム、暗号化アルゴリズムを代入し、<ah_key>、<esp_key>には認証、暗号用に1108で生成した鍵をそれぞれ代入する。認証用、暗号用の鍵は、デジカメ102及びプリンタ101から受信された認証アルゴリズムと暗号化アルゴリズム(セキュリティ通信を行うためのパラメータ)の候補に基づいて生成される。
図11は、IPsec設定内容の一例を示す。特に、図のデータはデジカメ102に対して送信されるIPsec設定内容を示す。データはXML形式で記述され、<ipsec−response>タグ内の<ipsec−data>タグに囲まれている。なお、本形態において、このデータ形式をXML形式にすることに重要性はなく、その他の形式によるデータ伝達方法でも問題はない。
以上のように、セキュリティ管理サーバ103は、デジカメ102からのIPsec要求メッセージ(暗号通信設定要求メッセージ)406に含まれるデジカメ102が有する認証アルゴリズム、暗号化アルゴリズム(セキュリティ設定候補情報)を獲得し、プリンタ101からのIPsec要求メッセージ(暗号通信設定要求メッセージ)407に含まれるプリンタ101が有する(認証アルゴリズム、暗号化アルゴリズム)セキュリティ設定候補情報を獲得する。
セキュリティ管理サーバ103は、デジカメ102からのIPsec要求メッセージ406とプリンタ101からのIPsec要求メッセージ407を受信した段階で、デジカメ102及びプリンタ101のそれぞれに対するIPsec設定内容(暗号通信で使う暗号鍵(セッション鍵)とセキュリティ設定情報)を生成する(1108〜1112)。
セキュリティ管理サーバ103は、デジカメ102に対するIPsec設定内容409をデジカメ102に送信し、プリンタ101に対するIPsec設定内容410をプリンタ101に送信する。
本発明の実施形態のネットワーク構成図である。 本実施形態での機能を実現するソフトウェアプログラムを動作させるためのハードウェア構成図である。 プリンタ101とセキュリティ管理サーバ103のモジュール構成図である。 本実施形態のシーケンス図である。 IPsec作成テーブル303の一例の図である。 SIPモジュール315において、SIP Invite処理から要求発行モジュール312へのIPsec要求依頼を行う処理フロー図である。 IPsec要求依頼を受けた前記要求発行モジュール312の処理を中心とした処理フロー図である。 要求受付モジュール302において、IPsec要求メッセージを受信しIPsec設定内容を返信するまでの処理を中心とする処理フロー図である。 IPsec設定モジュール305での処理フロー図である。 IPsec設定テンプレートの一例を示す図である。 IPsec設定内容の一例を示す図である。
符号の説明
100 インターネット
101 プリンタ
102 デジタルスチルカメラ(デジカメ)
103 セキュリティ管理サーバ

Claims (5)

  1. 提供装置が、セキュリティ通信を行うためのパラメータの候補を第1の装置及び第2の装置から受信し、前記第1の装置及び第2の装置から受信したパラメータの候補に基づいて、セキュリティ通信を行うために必要な情報を生成し、
    前記第1の装置及び第2の装置が、前記生成されたセキュリティ通信を行うために必要な情報を元に、前記第1の通信装置と前記第2の通信装置との間の通信にセキュリティを確保するセキュリティ通信方法であって、
    前記第1の装置が、セッションの確立を要求するセッション確立要求メッセージを前記提供装置経由で前記第2の装置に送信し、
    前記第2の装置が、前記セッション確立要求メッセージの返信メッセージを前記提供装置経由で前記第1の装置に送信し、
    前記第1の装置が、前記返信メッセージを受理した旨を通知する通知メッセージを前記第2の装置に送信し、セキュリティ通信を要求するための第1のセキュリティ通信要求メッセージを前記提供装置に送信し、
    前記第2の装置が、前記通知メッセージを受信すると、セキュリティ通信を要求するための第2のセキュリティ通信要求メッセージを前記提供装置に送信し、
    前記提供装置が、前記第1のセキュリティ通信要求メッセージ及び前記第2のセキュリティ通信要求メッセージを受信すると、前記セキュリティ通信を行うために必要な情報を前記第1の装置及び第2の装置に提供することを特徴とするセキュリティ通信方法。
  2. 提供装置が、第1の装置と第2の装置との間のセッションを識別する識別情報、及び、セキュリティを確保するためのパラメータの候補を前記第1の装置及び第2の装置から受信し、前記第1の装置及び第2の装置から受信したパラメータの候補に基づいて、通信のセキュリティを確保するために必要な情報を生成し、
    前記第1の装置及び第2の装置が、前記生成された、通信のセキュリティを確保するために必要な情報を元に、前記第1の通信装置と第2の通信装置との間の通信にセキュリティを確保するセキュリティ通信方法であって、
    前記第1の装置が、セッションの確立を要求するセッション確立要求メッセージを前記提供装置経由で前記第2の装置に送信し、
    前記第2の装置が、前記セッション確立要求メッセージの返信メッセージを前記提供装置経由で前記第1の装置に送信し、
    前記第1の装置が、前記返信メッセージを受理した旨を通知する通知メッセージを前記第2の装置に送信し、セキュリティ通信を要求するための第1のセキュリティ通信要求メッセージを前記提供装置に送信し、
    前記第2の装置が、前記通知メッセージを受信すると、セキュリティ通信を要求するための第2のセキュリティ通信要求メッセージを前記提供装置に送信し、
    前記提供装置が、前記第1のセキュリティ通信要求メッセージ及び前記第2のセキュリティ通信要求メッセージを受信すると、前記通信のセキュリティを確保するために必要な情報を前記第1の装置及び第2の装置に提供することを特徴とするセキュリティ通信方法。
  3. 前記パラメータの候補は、認証アルゴリズム又は暗号化アルゴリズムの候補であることを特徴とする請求項2のセキュリティ通信方法。
  4. 前記必要な情報は、認証アルゴリズム又は暗号化アルゴリズムであることを特徴とする請求項1又は2のセキュリティ通信方法。
  5. 前記必要な情報は、セキュリティを確保するための鍵であることを特徴とする請求項1又は2のセキュリティ通信方法。
JP2004104635A 2004-03-31 2004-03-31 セキュリティ通信方法 Expired - Fee Related JP3944182B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004104635A JP3944182B2 (ja) 2004-03-31 2004-03-31 セキュリティ通信方法
US11/086,634 US7664954B2 (en) 2004-03-31 2005-03-22 Providing apparatus, providing method, communication device, communication method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004104635A JP3944182B2 (ja) 2004-03-31 2004-03-31 セキュリティ通信方法

Publications (3)

Publication Number Publication Date
JP2005295038A JP2005295038A (ja) 2005-10-20
JP2005295038A5 JP2005295038A5 (ja) 2007-01-18
JP3944182B2 true JP3944182B2 (ja) 2007-07-11

Family

ID=35055752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004104635A Expired - Fee Related JP3944182B2 (ja) 2004-03-31 2004-03-31 セキュリティ通信方法

Country Status (2)

Country Link
US (1) US7664954B2 (ja)
JP (1) JP3944182B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3608533B2 (ja) * 2001-02-09 2005-01-12 セイコーエプソン株式会社 ネットワークを介した画像処理
JP4007052B2 (ja) 2002-05-07 2007-11-14 セイコーエプソン株式会社 画像処理制御データ更新装置
WO2003096612A1 (fr) * 2002-05-09 2003-11-20 Niigata Seimitsu Co., Ltd. Dispositif, procede et systeme de cryptage
US8042170B2 (en) * 2004-07-15 2011-10-18 Qualcomm Incorporated Bearer control of encrypted data flows in packet data communications
US8265060B2 (en) * 2004-07-15 2012-09-11 Qualcomm, Incorporated Packet data filtering
JP4887682B2 (ja) * 2005-08-05 2012-02-29 日本電気株式会社 通信システム、鍵管理・配信サーバ、端末装置及びそれらに用いるデータ通信方法並びにそのプログラム
US8689317B2 (en) * 2005-12-19 2014-04-01 Level 3 Communications, Llc Providing SIP signaling data for third party surveillance
WO2007085175A1 (fr) * 2006-01-24 2007-08-02 Huawei Technologies Co., Ltd. Procédé, système d'authentification et centre d'authentification reposant sur des communications de bout en bout dans le réseau mobile
JP4187010B2 (ja) * 2006-05-31 2008-11-26 ブラザー工業株式会社 ネットワーク機器及び情報処理装置並びにプログラム
US8213295B2 (en) * 2006-09-12 2012-07-03 Qualcomm Incorporated Transaction timeout handling in communication session management
US7847959B2 (en) * 2006-10-23 2010-12-07 International Business Machines Corporation Point of sale printers providing secure network tunneling
US8285989B2 (en) * 2006-12-18 2012-10-09 Apple Inc. Establishing a secured communication session
US20110135093A1 (en) * 2008-11-26 2011-06-09 Radatti Peter V Secure telephone devices, systems and methods
US8693686B2 (en) * 2008-11-26 2014-04-08 Peter V. Radatti Secure telephone devices, systems and methods
JP4920052B2 (ja) * 2009-03-11 2012-04-18 株式会社日立製作所 通信システム及びサーバ
JP5487659B2 (ja) * 2009-03-17 2014-05-07 株式会社リコー 情報処理装置、情報処理方法およびプログラム
US9015576B2 (en) * 2011-05-16 2015-04-21 Microsoft Technology Licensing, Llc Informed partitioning of data in a markup-based document
EP2859663B1 (en) * 2012-06-08 2018-10-24 Hewlett-Packard Development Company, L.P. Secure wireless peer-peer connection using near-field communication
CN103716196B (zh) * 2012-09-28 2018-10-09 新华三技术有限公司 一种网络设备及探测方法
US10084820B2 (en) * 2015-02-27 2018-09-25 Konica Minolta Laboratory U.S.A., Inc. Method and system for IPSec security for IPP-USB data
US11184231B1 (en) * 2021-04-29 2021-11-23 Vmware, Inc. Device connector service for device and management service integration

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134662A (en) * 1998-06-26 2000-10-17 Vlsi Technology, Inc. Physical layer security manager for memory-mapped serial communications interface
JP2001298449A (ja) 2000-04-12 2001-10-26 Matsushita Electric Ind Co Ltd セキュリティ通信方法、通信システム及びその装置
JP3730480B2 (ja) 2000-05-23 2006-01-05 株式会社東芝 ゲートウェイ装置
US6966003B1 (en) * 2001-01-12 2005-11-15 3Com Corporation System and method for switching security associations
JP2002271309A (ja) 2001-03-07 2002-09-20 Sharp Corp 鍵情報管理方法及び機器管理装置
US7061899B2 (en) * 2001-05-01 2006-06-13 Hewlett-Packard Development Company, L.P. Method and apparatus for providing network security

Also Published As

Publication number Publication date
US20050223228A1 (en) 2005-10-06
JP2005295038A (ja) 2005-10-20
US7664954B2 (en) 2010-02-16

Similar Documents

Publication Publication Date Title
JP4047303B2 (ja) 提供装置、提供プログラム、及び、提供方法
JP3944182B2 (ja) セキュリティ通信方法
US8515078B2 (en) Mass subscriber management
US20020035685A1 (en) Client-server system with security function intermediary
JP4101215B2 (ja) セキュリティポリシー設定方法
US7496949B2 (en) Network system, proxy server, session management method, and program
WO2019178942A1 (zh) 一种进行ssl握手的方法和系统
JP2005204283A (ja) デジタル証明書転送方法、デジタル証明書転送装置、デジタル証明書転送システム、プログラム及び記録媒体
US7451307B2 (en) Communication apparatus, communication system, communication apparatus control method and implementation program thereof
JP5012173B2 (ja) 暗号通信処理方法及び暗号通信処理装置
JP2005160005A (ja) 端末間の暗号化通信チャネルを構築する方法及びそのための装置並びにプログラム
JP2006072970A (ja) 情報処理方法及び装置
US8646066B2 (en) Security protocol control apparatus and security protocol control method
JP2013243583A (ja) 画像形成システム、画像形成装置、認証サーバ、クライアントpc、画像形成装置の制御方法、及びプログラム
JP2006019824A (ja) セキュア通信システム、管理装置および通信端末
JP2006053799A (ja) 端末装置、ファイアウォール装置、及びファイアウォール装置制御のための方法、並びにプログラム
JP3911697B2 (ja) ネットワーク接続機器、ネットワーク接続方法、ネットワーク接続用プログラムおよびそのプログラムを記憶した記憶媒体
JP2008199420A (ja) ゲートウェイ装置および認証処理方法
JP2004147252A (ja) 電子証明書およびその作成方法ならびに電子証明書による認証システム
JP2008109569A (ja) 中継装置及び通信システム及び中継方法及びプログラム
JP4212051B2 (ja) セキュリティ情報管理方法、通信主体、および、通信主体プログラム
JP2004080512A (ja) 鍵管理システム及び鍵管理方法並びに鍵管理プログラム
JP2005229435A (ja) リゾルバをアプリケーションとは別に備えた端末及びリゾルバプログラム
CN116232737A (zh) 点对点分布式数字身份连接建立方法、装置、设备及介质
JP2006042207A (ja) 通信機器

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070406

R150 Certificate of patent or registration of utility model

Ref document number: 3944182

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140413

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees