JP6752578B2 - 通信装置、通信装置の制御方法およびプログラム - Google Patents

通信装置、通信装置の制御方法およびプログラム Download PDF

Info

Publication number
JP6752578B2
JP6752578B2 JP2016009160A JP2016009160A JP6752578B2 JP 6752578 B2 JP6752578 B2 JP 6752578B2 JP 2016009160 A JP2016009160 A JP 2016009160A JP 2016009160 A JP2016009160 A JP 2016009160A JP 6752578 B2 JP6752578 B2 JP 6752578B2
Authority
JP
Japan
Prior art keywords
communication device
address
setting information
security
ipsec
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.)
Active
Application number
JP2016009160A
Other languages
English (en)
Other versions
JP2017130801A (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 JP2016009160A priority Critical patent/JP6752578B2/ja
Publication of JP2017130801A publication Critical patent/JP2017130801A/ja
Application granted granted Critical
Publication of JP6752578B2 publication Critical patent/JP6752578B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信装置、通信装置の制御方法およびプログラムに関する。
近年、ネットワークを介したデータの送受信における、セキュリティ確保の必要性が高まっている。IPsecは、IPネットワーク上を流れるデータのセキュリティを確保するプロトコルで、IPパケット単位でデータの機密性の確保や、データの完全性、送信元の認証を行うことが可能である。IPsecは、Security Architecture for Internet Protocolの略である。IPsecは、RFC2401等で規定されている。RFCはRequest For Commentsの略である。
IPsecを用いて暗号通信を行う暗号通信装置は、IPパケットを送信する場合、IPアドレスや通信プロトコル等により、SPDを検索しSPを特定する。SPDはSecurity Policy Databaseの略であり、SPはSecurity Policy(セキュリティポリシー)の略である。暗号通信装置は、特定したSPのポリシー(設定内容)に基づいてIPsec処理に必要となるSA(Security Association)を特定する。そして、暗号通信装置は、特定したSAを用いて暗号・認証処理をした後にパケットを送信する。
また、IPパケットを受信する場合、暗号通信装置は、IPsecパケットのヘッダ情報からSAD(Security Association Database)を検索してSAを特定する。そして、暗号通信装置は、特定したSAを用いて暗号(復号)・認証処理を行う。その後、暗号通信装置は、暗号(復号)・認証処理の結果得られたIPパケットのIPアドレスや通信プロトコル等により、SPDを検索してSPを特定し、SPに指定されたポリシーに従って受信処理を行う。
SAを確立する方法としては、送信側と受信側において手動でSAの各種情報を設定する手動鍵設定方法がある。手動鍵設定方法は、鍵交換を手動で行うので手動鍵管理方式と称されることもある。また、SAを確立する別の方法としては、IKE(Internet Key Exchange Protocol)を用いた自動鍵交換方法がある。IKEは特にRFC2407〜2409等に規定されている。
暗号アルゴリズムや共有鍵は、通信に先立ち交換される必要がある。また、共有鍵は、セキュリティのレベルを保つためにも、頻繁に変更する必要がある。鍵交換を手動で行う手動鍵設定方法(手動鍵管理方式)を採用すると、頻繁に鍵交換をすることになり、鍵交換に手間が掛かり過ぎる。これに対し自動鍵管理方式を採用した場合には、鍵交換を頻繁に行うとしても、鍵交換を自動で行うことができるため、手間が掛からず実用的であると言える。
IPsec通信を適用するためのルールとなるSPは、鍵管理・鍵設定を自動で動的に行う場合であっても、手動で静的に行う場合であっても、暗号通信装置(セキュリティ通信装置)を管理するユーザーまたはアプリケーションにより静的に設定される。
一方で暗号通信装置は複数のIPアドレスを保持することが可能であり、特にIPv6においては暗号通信装置が複数のIPアドレスを保持することが一般的となっている。複数のIPアドレスを保持する暗号通信装置が、どのIPアドレスを送信元アドレスおよび宛先アドレスとして選択して通信を行うべきかの優先順位(優先度)を定めた推奨ルールが、RFC3484等で規定されている。IPv6はInternet Protocol Version 6の略である。
上記の推奨ルールは、SPのルールとは無関係のルールである。すなわち、SPのルールに関わりなく、IPアドレスが選択される。そのため、SPの設定によっては、通信装置の宛先となるIPアドレス及び通信装置の送信元となるIPアドレスが異なる場合、SPが適用されなくなる場合がある。また、セキュリティレベル(セキュリティ強度)の低いSPが適用される場合がある。つまり同一通信装置間の通信であっても使用するIPアドレスが異なる場合には、セキュリティレベルが異なる通信方式で通信が行われてしまう可能性がある。
さらに、これらIPアドレスはDHCPやルータによるプレフィックス配信により、通信装置に動的に割り当てることができる。IPアドレスが動的に割り当てられると、SP決定時に保持していなかったIPアドレスが通信時に選択される可能性がある。そのような場合には、IPアドレス選択を考慮したSPが設定されていない限り、意図しないセキュリティレベルで通信が行われてしまう。このようにSPは煩雑な設定が必要であり、ユーザーには高度な知識が求められる。DHCPは、Dynamic Host Configuration Protocolの略である。
所望のセキュリティレベルで暗号通信を行う技術の例が、特許文献1に開示されている。特許文献1では、クライアント装置からリクエストを受けたサーバ装置が、セキュリティおよび接続設定情報に適合していないアドレスを指定されて行われた通信の場合に、別のアドレスで、クライアント装置から再度リクエストさせる。
特開2008−312016号公報
しかし、特許文献1に記載の手法では、アクセスを受けるサーバ装置およびアクセス要求を行うクライアント装置それぞれでの対応が求められる。そのため送信側となるクライアント装置、受信側となるサーバ装置それぞれに所定の機能を具備することが求められる。また、クライアント装置が送信した最初のリクエストはセキュリティレベルが低いものである可能性があり、再リクエストを行うまでの通信についてはセキュリティレベルが保証できないという課題があった。
上記課題を鑑み、本発明は、所望のセキュリティレベルで他の通信装置と通信を簡易に行えるようにすることを目的とする。
上記の目的を達成する本発明の一態様に係る通信装置は、パケットを他の通信装置に送信する通信装置であって、前記通信装置が有する複数のIPアドレスおよび前記他の通信装置が有する複数のIPアドレスに基づいて、IPsec(Security Architecture for Internet Protocol)を適用可能な設定情報を検索する検索手段と、前記検索手段によりIPSecを適用可能な複数の前記設定情報が検索された場合、該検索された複数の設定情報の各々に基づいて生成されるパケットのセキュリティ強度に基づいて、該検索された複数の設定情報の中から1つの前記設定情報を選択する選択手段と、前記選択手段により選択された前記設定情報に示される前記通信装置のIPアドレスと前記他の通信装置のIPアドレスとを用いて、パケットを生成する生成手段と、前記生成手段により生成されたパケットを前記他の通信装置に送信する送信手段と、を有する。
本発明によれば、簡易に所望のセキュリティレベルで他の通信装置と通信を行うことができる。
本発明の実施形態に係る暗号通信装置のソフトウェア構成を示す図。 図1の暗号通信装置が接続するネットワークの機器構成例を示す図。 図1の暗号通信装置のIPsecパケット送信処理フローを示す図。 図1の暗号通信装置のIPアドレス決定処理フローを示す図。 図1の暗号通信装置のハードウェア構成を示す図。
以下、添付図面を参照して、本発明を実施するための実施形態を詳細に説明する。以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。
実施形態1
(暗号通信装置の構成)
図1を参照して、実施形態1に係る暗号通信装置101の構成の例について説明する。
暗号通信装置101は、ネットワークインタフェース部103と、ネットワークプロトコル処理部104と、アプリケーション処理部105と、IKE処理部106と、IPsec処理部107と、アドレス管理部108とを有する。IPsec処理部107は、SP・SAテーブル管理部109と、IPsecプロトコル処理部110と、暗号・認証処理部111とを有する。
ネットワークインタフェース部103は、暗号通信装置101とネットワーク102とのインタフェース部である。暗号通信装置101は、ネットワークインタフェース部103を介してネットワーク102に接続され、データパケットの送受信を行うことにより、ネットワーク102に接続される他の通信装置(通信相手装置)と通信することができる。
ネットワークプロトコル処理部104は、TCP、UDP、IP等のネットワークプロトコルを処理する。TCPは、Transmission Control Protocolの略であり、UDPはUser Datagram Protocolの略である。
暗号通信装置101が他の通信装置からパケットを受信する場合、ネットワークプロトコル処理部104は、ネットワークインタフェース部103を介して受信したパケットにMACプロトコル処理およびIPプロトコル処理を行う。このパケットは、その後、IPsec処理部107でIPsec受信処理される。IPsec処理部107がIPsec受信処理を完了すると、当該パケットについて、再びネットワークプロトコル処理部104がTCP、UDP等のプロトコル処理を行う。パケットのルーティング処理に関する情報は、アドレス管理部108が保持するアドレス管理テーブルに記憶されている。暗号通信装置101は、アドレス管理部108のアドレス管理テーブルを参照することで、パケットの振り分けを行う。その後、アプリケーション処理部105が、当該パケットについてアプリケーション処理を行う。受信したパケットがIKEパケットであった場合、IKE処理部106がIKE処理を行う。
暗号通信装置101が他の通信装置へパケットを送信する場合、アプリケーション処理部105(またはIKE処理部106)は、ネットワークプロトコル処理部104に送信要求を行う。当該送信要求に応じて、ネットワークプロトコル処理部104は、TCP、UDP、IP等のプロトコル処理を行う。ルーティング処理を行う際、アプリケーション処理部105(またはIKE処理部106)は、アドレス管理部108の保持するルーティングテーブルや近隣キャッシュを参照することでIPアドレスやMACアドレスを取得する。その後、暗号通信装置101は、IPsec処理部107でIPsec処理を行い、ネットワーク処理部104でIPプロトコル処理およびMACプロトコル処理を行い、ネットワークインタフェース部103を介して暗号化したパケットを他の通信装置に送信する。
IPsecプロトコル処理部110は、パケットの送受信におけるIPsecプロトコル処理を行い、ESP、AHといったIPsecプロトコル処理を行う。また、IPsecプロトコル処理部110は、送受信パケットのポリシーを特定するためSP・SAテーブル管理部109に登録されたSPの検索要求を行う。IPsecプロトコル処理部110は、暗号・認証処理で必要となるSAを特定するためSP・SAテーブル管理部109に登録されたSAの検索要求も行う。IPsecプロトコル処理部110は、バイト数による有効期限のカウントを行い、有効期限カウントの更新等も行う。ESPはEncapsulated Security Payloadの略であり、AHはAuthentication Headerの略である。
暗号・認証処理部111は、SAの暗号化アルゴリズム、暗号鍵、認証アルゴリズム、認証鍵等に基づいて暗号・認証処理を行う。SP・SAテーブル管理部109は、IKE処理部からのSPおよびSAの登録、更新、削除および参照処理を行う。またパケット送信時、IPsecプロトコル処理部110およびアドレス管理部108がSA検索要求を行った結果、該当するSAがなかった場合は、SP・SAテーブル管理部109は、IKE処理部106に対してSA折衝の通知を行う。また、SP・SAテーブル管理部109は、ソフト有効期限切れを検知してSA折衝要求をIKE処理部106に対して行う。SP・SAテーブル管理部109は、指定された時間が経過した際のSAの有効期限管理も行う。
なお、図1に示す各機能ブロックは、プログラムとして、後述するメモリ522(図5)等の記憶部に記憶され、プロセッサ521によって実行される。また、図1に示す機能ブロックの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからFPGA上に自動的に専用回路を生成すればよい。FPGAは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、図1に示す機能ブロックの少なくとも一部は、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。
(ネットワークの機器構成)
図2を参照して、暗号通信装置101が接続するネットワーク102の機器構成例について説明する。暗号通信装置101は、ネットワーク102を介して他の機器に接続されている。図2の例では、第1のルータ203をそれぞれ含む2つのリンクが形成されている。2つのリンク内の1つには、第2のサーバ装置202、第1のルータ203および第2のルータ204が接続されている。暗号通信装置101は、このリンクに属している。また、第1のルータ203を含む他のリンクには、第1のルータ203、DNSサーバ205、DHCPサーバ206および第1のサーバ装置207が接続されている。DNSは、Domain Name Systemの略である。
第1のルータ203および第2のルータ204は、IPv6ステートレス設定でグローバルIPアドレスを生成するためのプレフィックス情報をリンク内の機器に対して配信する。したがって、暗号通信装置101には、第1のルータ203および第2のルータ204によって割り当てられたIPv6のグローバルIPアドレスが設定される。また暗号通信装置101を含む全ての機器は、リンク内の機器とのみ通信可能なリンクローカルアドレスを自動生成する。したがって、暗号通信装置101には、自動生成によって割り当てられたIPv6リンクローカルアドレスが設定される。DHCPサーバ206は各機器に対してIPv6アドレスおよびIPv4アドレスを配布する。したがって、暗号通信装置101には、DHCPサーバ206によって割り当てられたIPv4アドレスとIPv6アドレスが設定される。
なお、暗号通信装置101が属するリンクへアドレスを配布する際、第1のルータ203はリレーエージェントとしての動作を行う。また暗号通信装置101は、手動でのIPアドレスの設定を可能としており、ユーザインタフェース(図示せず)からの入力によりIPアドレスを割り振ることが可能となっている。したがって、暗号通信装置101には、手動で指定された(割り当てられた)IPv4アドレスとIPv6アドレスが設定される場合もある。
DNSサーバ205は各機器のホスト名とIPアドレスの対応づけを管理するデータベースであり、各機器からの問い合わせに応じて対応づけの情報(どのIPアドレスが対応しているかの情報)を返信する。暗号通信装置101、第1のサーバ装置207および第2のサーバ装置202は、セキュリティ通信を行うため、SPを設定可能となっている。暗号通信装置101、第1のサーバ装置207および第2のサーバ装置202では、IKE処理を行うアプリケーションが動作しており、設定されたSPに基づいて暗号・認証に用いるアルゴリズムや鍵の交換を自動で行う。
(IPsecパケット送信処理)
次に、図3を参照して、暗号通信装置101のIPsecパケット送信処理について説明する。
S301において、アプリケーション処理部105は通信相手へのパケット送信処理(アプリケーション送信処理)を行い、ネットワークプロトコル処理部104に送信要求を行う。なお、IKE処理部106がIKEパケットを送信する場合は、IKE処理部106がネットワークプロトコル処理部104に送信要求を行う。
S302において、アプリケーション処理部105はアドレス管理部108に対してIPアドレス決定処理を要求する。なお、アドレス管理部108に対するIPアドレス決定処理の要求は、アプリケーション処理部105ではなく、ネットワークプロトコル処理部104が行ってもよい。
ここで図4を用いてアドレス管理部108のIPアドレス決定処理(S302)について説明する。
S401において、アドレス管理部108は、宛先情報がユニキャストであるかを判定する。宛先情報がユニキャストではない場合、つまりマルチキャスト宛もしくはIPv4ブロードキャスト宛である場合はS410へ進み、送信元アドレスのみの決定処理を行う。宛先情報がユニキャストである場合、S402へ進む。
S402において、アドレス管理部108は、宛先情報の指定がIPアドレスでの指定ではなく、ホスト名での指定であるかを判定する。ホスト名での指定であった場合はS403へ進む。そうでなければS404へ進む。すなわち、宛先情報の指定がIPアドレスでの指定であった場合はS404へ進む。
S404において、アドレス管理部108は、宛先IPアドレスがグローバルIPアドレスであるかを判定する。本実施形態では、IPアドレスのバージョンがIPv6である場合とIPv4である場合のそれぞれで規定されているIPアドレス種別(グローバルIPアドレス、リンクローカルアドレス、それ以外のアドレス)の判定処理を行う。S404において、宛先IPアドレスがグローバルIPアドレスであると判定された場合はS405へ進み、DNSサーバまたはローカルホストに指定された情報からホスト名(ドメイン名)を逆引きして取得する。ホスト名を取得した後、S403へ進む。宛先IPアドレスがグローバルIPアドレスではない場合は、S406へ進む。
グローバルIPアドレスは、インターネットに接続された機器に一意に割り当てられたIPアドレスである。上記した「それ以外のアドレス」は、ループバックアドレス等を含む。ループバックアドレスは、自装置(暗号通信装置101)自身を示すIPアドレスである。
S406において、アドレス管理部108は、宛先IPアドレスがリンクローカルアドレスかどうかを判定する。宛先IPアドレスがリンクローカルアドレスではない場合、当該宛先IPアドレスはループバックアドレスまたは宛先アドレスとして適していないアドレスであると判定して、S409へ進む。そして、S409において、アプリケーション等により指定されたアドレスを選択する。S409の後、処理を終了する。宛先IPアドレスがリンクローカルアドレスであった場合はS407へ進む。
S407において、アドレス管理部108は、宛先IPアドレスに対応するMACアドレスを取得する。宛先IPアドレスのバージョンがIPv4の場合、アドレス管理部108は、アドレス管理部108が保持するARPテーブルを参照する。宛先IPアドレスのバージョンがIPv6の場合、アドレス管理部108が保持する近隣キャッシュを参照する。ARPテーブルもしくは近隣キャッシュに情報が保持されていない場合は、宛先アドレスのバージョンがIPv4であるなら、ARPプロトコルによってMACアドレスの解決処理を行う。宛先アドレスのバージョンがIPv6であるなら、近隣探索によってMACアドレスの解決処理を行う。ARPは、Address Resolution Protocolの略である。
S408において、アドレス管理部108は、宛先ホストのIPアドレスリストをS407において取得したMACアドレスからの逆引きにより取得する。IPアドレスのバージョンがIPv4の場合、IPアドレスリストの取得は、RARPプロトコル機能を用いて行い、IPアドレスのバージョンがIPv6の場合、IPアドレスリストの取得は、逆近隣探索機能を用いて行う。RARPは、Reverse Address Resolution Protocolの略である。
S403において、アドレス管理部108は、ホスト名から宛先IPアドレスのリストを取得する。より詳しくは、DNSサーバへの問い合わせを行うと共に、ローカルホストに設定された情報を得ることによりアドレスリストを取得する。S403の後、S410へ進む。
なお、本実施形態では上記したフロー(S402〜S408)により宛先IPアドレスのリストを取得したが、宛先IPアドレスのリストを取得できるのであれば、どのような手段・構成を採用してもよい。
また宛先情報がホスト名指定またはグローバルIPアドレス指定であった場合のDNSサーバへの問い合わせではリンクローカルアドレスを取得できないため、S407およびS408に示した方法でリンクローカルアドレスを取得してもよい。S407およびS408の方法等でリンクローカルアドレスをリストとして取得した場合、処理負荷は高まるが、リンクローカルアドレスを用いて設定されたSPについてもアドレス選択の候補として検索可能となる。
ただし、セキュリティレベルを考慮すると、グローバルIPアドレスを指定した場合のセキュリティレベルの方がリンクローカルアドレスより高く設定されることが一般的であるため、リンクローカルアドレスのリストの取得を省略してもよい。リンクローカルアドレスのリストの取得を省略することで、処理負荷を軽減することが可能となる。
S410において、アドレス管理部108は、取得したIPアドレスのリストから各IPアドレスへパケットを送信する際に適応可能(選択可能)な送信元IPアドレスのリストを取得する。S410における送信元IPアドレスのリストの取得は、アドレス管理部108が保持するルーティングテーブルを検索すること(ルーティング処理)によって行う。S410の処理では暗号通信装置101に付与されているIPアドレスのすべてを送信元IPアドレスのリストとして取得するのはなく、宛先IPアドレスに応じて、送信元アドレスとして用いてよいIPアドレスをリストとして取得する。例えば宛先IPアドレスがIPv6グローバルIPアドレスであった場合は、送信元アドレスとしてIPv6リンクローカルアドレスを選択しない。
次にS411において、アドレス管理部108は、取得した宛先IPアドレスのリストと送信元IPアドレスのリストからIPアドレスを組み合わせる(IPアドレスのペアを作成する)。これに上位プロトコルとポート番号を加えて検索キー(検索条件)としてSPのデータベース(SPD)からSPを検索する。本処理は、すべてのIPアドレスの組み合わせ(ペア)で実施する。
S412において、アドレス管理部108は、検索して得られた(ヒットした)SPのポリシー(設定内容)を参照し、SPにセキュリティ設定(IPsecが適用される設定)がなされているかを調べる。すべてのSPにセキュリティ設定がなされていない場合、つまりIPsecによるセキュア化(暗号化、認証)を適用しない設定である場合は、S413へ進む。なお、セキュリティ設定がなされていない場合とは、例えば、BYPASS設定(暗号化等をしない通常処理)がされている場合やDISCARD設定(廃棄)がなされている場合である。SPのポリシー(設定内容)は、本実施形態では、IPsecを適用するか否かを決めるポリシーであるので、暗号化関連設定と称することができる。つまり、本実施形態では、S412において、パケットを、少なくとも暗号化または認証することができる暗号化関連設定を選別(選択)している。
S413において、アドレス管理部108は、既存のデフォルトアドレス選択ルールに従って宛先IPアドレスおよび送信元IPアドレスを選択して処理を終了する。
S412において、いずれかのSPにセキュリティ設定がなされていると判定された場合、S414へ進む。
S414において、アドレス管理部108は、検索して得られたSPの中からセキュリティレベルの一番高いSPを選択する。セキュリティレベルの一番高いSPの選択は、さまざまな方法で行うことが可能である。例えば、IPsecが適用されるか否かだけで判定する場合は、IPsecが適用される設定になっているSPをすべて選択する。IPsecが適用される設定がなされていれば、パケットを少なくとも暗号化または認証して通信相手装置に送信することができるからである。
なお、IPsecでPROTECT設定がされている場合は、暗号化のみが有効になっている場合と、認証のみが有効になっている場合と、暗号化および認証が有効になっている場合がある。
また、セキュリティレベル(セキュリティ強度)の高さ(強さ)を判定する場合、SPに設定されているセキュリティプロトコルを判定基準に含めてもよい。例えば、AH、ESPといったセキュリティプロトコルが複雑に設定されているものを「セキュリティレベルの一番高いSP」として選択することや、暗号化が有効設定されているものを「セキュリティレベルの一番高いSP」として選択することが考えられる。つまり、セキュリティ強度の高さは、適用されるセキュリティプロトコルの数に基づいて決めてもよいし、暗号および認証の方式も含めてセキュリティレベルの高さを判定することも可能である。なお、SPを参照するだけでは暗号、認証の方式を取得できな場合がある。この場合には、IKEを用いて通信相手との間で暗号・認証の方式や鍵を含むSAを決定する必要がある。これによって得られた暗号・認証の方式のうちセキュリティレベルが一番高いものを選択する。なお、セキュリティレベルの高いセキュリティポリシーを選択するためのルールについては、別途指定可能であってもよい。
S415において、アドレス管理部108は、S414で選択したSPに該当するIPアドレスの組み合わせが複数あるかを判定する。IPアドレスの組み合わせが複数ある場合はS417へ進む。IPアドレスの組み合わせが複数ある場合とは、例えば、同一のSPに合致するIPアドレスの組み合わせが複数あった場合や、異なるIPアドレスの組み合わせで検索したSPであるがセキュリティレベルが同じと判定されたSPが複数ある場合である。S415において、IPアドレスの組み合わせが複数ない場合、すなわち、IPアドレスの組み合わせが1組に絞られている場合は、S416へ進む。
S416において、アドレス管理部108は、当該SPを検索した際に使用した宛先IPアドレスおよび送信元IPアドレスを選択して処理を終了する。
S417において、アドレス管理部108は、複数の宛先IPアドレスおよび送信元IPアドレスの組み合わせから、デフォルトアドレス選択ルールに基づいて一番優先順位(優先度)の高いIPアドレスの組み合わせを選択して処理を終了する。なお、上記の説明では宛先IPアドレスおよび送信元IPアドレスの組み合わせからSPを検索したが、宛先IPアドレスまたは送信元IPアドレスを1つのアドレスに固定し、もう一方のアドレスのリストを取得してSPを検索するようにしてもよい。例えば送信元IPアドレスを固定する場合、IPsecによるセキュリティ通信を適用するならば、手動で設定したIPアドレスを必ず選択するようにし、SPを検索する検索キーには送信元IPアドレスに手動で設定したアドレスを用いるようにする。こうすることで、SPの検索処理を効率化することができる。
上記の手順により、IPアドレスが決定されたならば、図3のS303に戻る。
S303において、ネットワークプロトコル処理部104は、アプリケーション処理部105からデータ(パケット)の送信要求を受け付ける。この際、アプリケーション処理部105は、アドレス管理部108が決定したIPアドレスを用いて送信要求をネットワークプロトコル処理部104に対して行う。そして、ネットワークプロトコル処理部104は、アプリケーション処理部105が指定したTCPまたはUDPのトランスポート層プロトコル処理およびIPプロトコル処理を行う。ネットワークプロトコル処理部104のこのような処理を、本実施形態では、ネットワークプロトコル処理1と称する。ネットワークプロトコル処理部104は、生成したIPパケットをIPsec処理部107へ送る。
なお、本実施形態ではアプリケーション処理部105がアドレス管理部108にアドレスを決定する要求を行い、ネットワークプロトコル処理部104へ決定したアドレスを通知した。しかし、本発明はこのような実施形態に限定されない。例えば、アプリケーション処理105ではなくネットワークプロトコル処理部104がアドレス管理部108に対してアドレスを決定する要求を行ってもよい。
S304において、IPsec処理部107は送信するIPパケットを受け取る。すると、IPsecプロトコル処理部110がIPパケットのIPアドレスやトランスポート層プロトコル種別、ポート番号等のパケット情報から(パケット情報に基づいて)SP・SAテーブル管理部109に対してSP検索処理要求を行う。SP検索処理要求を受け付けたSP・SAテーブル管理部109は、SPDに指定パケット情報に該当するSPが登録されているかを検索し、検索結果をIPsecプロトコル処理部110に通知する。このように、本実施形態では、SPをパケット情報から検索している。
なお、アドレス管理部108がIPアドレスを決定する際に特定したSP情報を記憶しておき利用することで、SP検索処理を省略することができる。
SP・SAテーブル管理部109はさらに、SPに関連づけられたSAの情報とパケット情報からSAを検索する。SAがSP・SAテーブル管理部109に登録されていない場合、SP・SAテーブル管理部109は、SAが登録されていないことをIKE処理部106に通知してSAの折衝を行う。検索または折衝によりSAが特定(取得)された場合、IPsecプロトコル処理部110は、SAに指定されたESPまたはAHのIPsecプロトコル処理を行う。IPsecプロトコル処理における暗号化および認証処理は、暗号・認証処理部111で行う。
S305において、ネットワークプロトコル処理部104は、IPsec処理部107によってIPsec処理されたIPsecパケットを受け取り、IPsecパケットに対してフラグメント処理等のIPプロトコル処理、MACヘッダ処理を行う。本実施形態では、このIPプロトコル処理等をネットワークプロトコル処理2と称する。その後、ネットワークプロトコル処理部104は、ネットワークインタフェース部103にパケットの送信要求を行う。
S306において、ネットワークインタフェース部103は、ネットワーク102へパケットを送信して処理を終了する。以上のステップにより、暗号通信装置101はIPsecによるパケット(セキュア化したパケット)の送信処理を行う。
ここで図2におけるネットワーク102の機器構成例において暗号通信装置101でどのようなIPアドレスが選択されるかを例示する。暗号通信装置101には、上記したように第1のルータ203および第2のルータ204によって割り当てられたIPv6グローバルIPアドレスと、自動生成によって割り当てられたIPv6リンクローカルアドレスが設定されている。また、暗号通信装置101には、DHCPサーバ206によって割り当てられたIPv4アドレスとIPv6アドレスが設定されているか、あるいは、手動によって割り当てられたIPv4アドレスとIPv6アドレスが設定されている。これと同様に、第1のサーバ装置207には、第1のルータ203によって割り当てられたIPv6グローバルIPアドレスと、自動生成によって割り当てられたIPv6リンクローカルアドレスが設定されている。また、第1のサーバ装置207には、DHCPサーバ206によって割り当てられたIPv4アドレスとIPv6アドレスが設定されているか、あるいは、手動によって割り当てられたIPv4アドレスとIPv6アドレスが設定されている。
この状況において暗号通信装置101が第1のサーバ装置207と通信するためのSPとして、第1のサーバ装置207および暗号通信装置101に手動で割り当てたIPv6アドレスを用いた通信にのみIPsecを適用するポリシーが設定されているとする。そして、その他のアドレスを用いた通信についてはIPsecを適用しないポリシーが設定されているとする。この際、アプリケーションが宛先情報として第1のサーバ装置207にDHCPサーバ206によって割り当てられたIPv6アドレスを指定したとする。
この場合、図4に示すフローに従うと、まず、暗号通信装置101は、DNSサーバ205から第1のサーバ装置207のホスト名を取得し(S402)、そのホスト名からIPアドレスリストを取得する(S403)。この宛先IPアドレスのリストと、暗号通信装置101に割り当てられ、ルーティング処理をした結果、選択可能な送信元IPアドレスと、からSPを検索する(S411)。すると、第1のサーバ装置207および暗号通信装置101に手動で割り当てたIPv6アドレスの組み合わせ以外を用いたSPの検索結果は、すべてIPsecを適用しないポリシーがヒットする。
一方で、手動割り当てのIPv6アドレスの組み合わせを用いてヒットしたSPは、IPsecを適用するポリシーと一致する。IPsecを適用するSPが1つヒットしたため(S415:No)、このSPのセキュリティ強度が一番高いと判定し、この検索に使用したIPアドレスが選択される(S416)。つまりアプリケーションが宛先情報として指定したIPアドレスではなく、本処理フローによって選択したIPアドレスを用いてパケットを生成する。これによりIPsecを適用した通信が可能となる。
以上のように本実施形態では、暗号通信装置101が他の通信装置(通信相手装置)と通信を行う際に生成するパケットのIPアドレスを決定するとき、同一の通信相手装置と通信可能な宛先IPアドレスおよび送信元IPアドレスのリストからSPを検索する。そして、検索の結果得られたSPのうちセキュリティ強度の一番強いポリシーを選択し、そのSPを特定するのに使用したIPアドレスを使用してパケットを生成する。このようにして、SPのセキュリティ強度に基づいてIPアドレスを決定してパケットを生成することでSPに適合するパケットを生成している。換言すると、検索により得られたSPの中から、セキュリティ強度に基づいてSPを選択し、選択されたSPに適合する宛先IPアドレスと送信元IPアドレスとを用いてパケットを生成して他の通信装置に送信している。
なお、本発明は、上記したように同一の通信相手と通信可能な宛先情報を用いてSPを適用可能とする構成・方法であれば、どのような手順でSPを適用してもよい。
また処理を効率化するためにIPアドレスのリストを取得する前に一度一意に決定したIPアドレスを用いてSPを検索し、基準以上のセキュリティ強度を持ったポリシーであった場合は、IPアドレスのリストを取得しないでパケットを生成してもよい。こうすることでセキュリティレベルは一定に保ちつつ、パケットの生成を効率的に行うことが可能となる。
つまり、本発明では、所定の強度以上のセキュリティ強度を有するSP(パケットを少なくとも暗号化または認証することができるポリシー)を選択し、選択されたSPに適合する宛先IPアドレスと送信元IPアドレスとを用いてパケットを生成して通信装置相手に送信すればよい。所定の強度以上のセキュリティ強度を有するSPに基づいてパケットを生成・送信するので、所定のセキュリティレベルを維持して通信相手装置と通信することができる。所定の強度以上のセキュリティ強度を有するSPとは、例えば、PROTECT設定において暗号化と認証の少なくとも一方が有効化されているSPである。所定の強度以上のセキュリティ強度を有するSPが複数ある場合には、より強いセキュリティ強度を有するSPを選択してよい。
なお、上記した実施形態では、セキュリティレベル(強度)が一番高いポリシーを選択するとしたが、パケットを暗号化・認証して送信できるポリシーであれば、セキュリティレベルが最も高いポリシーを選択しなくてもよい。例えば、パケットを暗号化または認証処理して送信できるポリシーであれば、二番目にセキュリティレベルの高いポリシーを選択してもよい。
本実施形態によれば、暗号通信装置101がIPアドレスを複数保持しており、それを意識しないSPが設定されたとしても、同一の通信相手と通信する場合、アドレスを意識しなくてもセキュリティ強度の高いポリシーを適用することができる。セキュリティ強度の高いポリシーとは、最もセキュリティ強度の高いポリシーであるか、所定の強度以上のセキュリティ強度を有するポリシーである。これにより、セキュリティ管理者がSPに指定するIPアドレスとして、通信に使うIPアドレスと異なるアドレスを指定してしまっても、SPに基づいたIPアドレスによる通信が可能となる。またSPに該当しない、動的に割り当てられたIPアドレスが優先的に使われてしまうような場合においても、SPが設定された相手との通信では、セキュリティ強度を保った通信が可能となる。またグローバルIPアドレスを送信先として指定した場合には、リンクローカルアドレスによるIPアドレスの組み合わせでSPを検索しないので、IPアドレス決定処理を効率的に行うことが可能となる。
図5は暗号通信装置101のハードウェア構成の一例を示している。暗号通信装置101は、プロセッサ521と、メモリ522と、鍵管理部523と、暗号・復号器524と、データパス制御部525と、MAC部526と、PHY部527とを有している。
プロセッサ521は、通信相手装置とのデータ通信のための各種プロトコル処理を行う。また、プロセッサ521は、通信相手装置へのデータ送信指示も行う。さらに、プロセッサ521は、メモリ522の中から、通信相手装置とのデータ通信に必要な各種情報を検索する。プロセッサ521は、データの表示や印刷等のアプリケーション処理を行ってもよい。
メモリ522は、アプリケーション処理に用いるためのデータや、通信相手装置とのデータ通信に用いる各種パラメータおよび各種フローチャートを実現するためのプログラム等を記憶する。また、メモリ522は、通信相手装置とのデータ通信に必要な各種情報や、通信するデータを記憶する。鍵管理部523は、通信相手装置とのデータ通信に用いる暗号鍵を管理する。暗号鍵は、例えば、メモリ522に記憶されている。暗号・復号器524は、鍵管理部523により管理されている暗号鍵を用いて、通信相手装置との間で通信されるデータの暗号化および復号化を行う。
データパス制御部525は、メモリ522とMAC部526との間のデータ転送を制御する。MAC部526はOSI参照モデルのデータリンク層(第2層)の下位副層に相当するMAC層のプロトコル処理を行う。PHY部527は、OSI参照モデルの第1層に位置するPHY(物理)層のプロトコル処理と電気信号の処理を行う。OSI参照モデルは、国際標準化機構によって策定された、コンピュータの持つべき通信機能を階層構造に分割したモデルである。OSIは、Open System Interconnectionの略である。
バス528は、暗号通信装置101内部の各種ハードウェアを接続している。ネットワーク102は、暗号通信装置101と通信相手装置とを接続している。ネットワーク102は有線でもよいし無線でもよい。
図1のソフトウェア構成は、図5のメモリ522に記憶されたプログラムをプロセッサ521が読み出すことで実現される。なお、図1に示した複数のソフトウェアブロックを1つのソフトウェアブロックとして構成してもよいし、1つのソフトウェアブロックを複数のソフトウェアブロックとして構成してもよい。また、図1のソフトウェアブロックの一部もしくは全部をハードウェアとして構成してもよい。
上記において、IPsecによるセキュリティ通信について説明をしたが、IPsec以外のプロトコルを用いる場合にも本発明を使用することができる。
(他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101…暗号通信装置、104…ネットワークプロトコル処理部、107…IPsec処理部、108…アドレス管理部

Claims (10)

  1. パケットを他の通信装置に送信する通信装置であって、
    前記通信装置が有する複数のIPアドレスおよび前記他の通信装置が有する複数のIPアドレスに基づいて、IPsec(Security Architecture for Internet Protocol)を適用可能な設定情報を検索する検索手段と、
    前記検索手段によりIPSecを適用可能な複数の前記設定情報が検索された場合、該検索された複数の設定情報の各々に基づいて生成されるパケットのセキュリティ強度に基づいて、該検索された複数の設定情報の中から1つの前記設定情報を選択する選択手段と、
    前記選択手段により選択された前記設定情報に示される前記通信装置のIPアドレスと前記他の通信装置のIPアドレスとを用いて、パケットを生成する生成手段と、
    前記生成手段により生成されたパケットを前記他の通信装置に送信する送信手段と、
    を有することを特徴とする通信装置。
  2. 前記セキュリティ強度は、適用されるセキュリティプロトコルの数に基づいて定められることを特徴とする請求項に記載の通信装置。
  3. 前記セキュリティ強度は、適用されるセキュリティプロトコルの暗号化もしくは認証の方式に基づいて定められることを特徴とする請求項に記載の通信装置。
  4. 前記セキュリティプロトコルは、Authentication HeaderおよびEncapsulated Security Payloadを含むことを特徴とする請求項またはに記載の通信装置。
  5. 前記通信装置が有するIPアドレスを示す第1のリストおよび前記他の通信装置が有するIPアドレスを示す第2のリストを取得する取得手段をさらに有し、
    前記検索手段は、前記取得手段により取得した前記第1のリストおよび前記第2のリストに基づいて、IPSecを適用可能な前記設定情報を検索することを特徴とする請求項1からのいずれか1項に記載の通信装置。
  6. 前記第1のリストは、前記他の通信装置のIPアドレスからルーティング処理によって得られたIPアドレスのリストであることを特徴とする請求項に記載の通信装置。
  7. 前記他の通信装置がホスト名で指定された場合、前記取得手段は、DNS(Domain Name System)サーバを用いて前記第2のリストを取得することを特徴とする請求項またはに記載の通信装置。
  8. 前記他の通信装置がグローバルIPアドレスで指定された場合、前記取得手段は、DNS(Domain Name System)サーバからホスト名を取得して、当該ホスト名により前記他の通信装置のIPアドレスのリストを取得することを特徴とする請求項からのいずれか1項に記載の通信装置。
  9. パケットを他の通信装置に送信する通信装置の制御方法であって、
    前記通信装置が有する複数のIPアドレスおよび前記他の通信装置が有する複数のIPアドレスに基づいて、IPsec(Security Architecture for Internet Protocol)を適用可能な設定情報を検索するステップと、
    前記検索するステップによりIPSecを適用可能な複数の前記設定情報が検索された場合、該検索された複数の設定情報の各々に基づいて生成されるパケットのセキュリティ強度に基づいて、該検索された複数の設定情報の中から1つの前記設定情報を選択するステップと、
    前記選択するステップにより選択された前記設定情報に示される前記通信装置のIPアドレスと前記他の通信装置のIPアドレスとを用いて、パケットを生成するステップと、
    前記生成するステップにより生成された前記パケットを前記他の通信装置に送信するステップと、
    を有することを特徴とする制御方法。
  10. コンピュータを、請求項1からのいずれか1項に記載の通信装置として機能させるためのプログラム。
JP2016009160A 2016-01-20 2016-01-20 通信装置、通信装置の制御方法およびプログラム Active JP6752578B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016009160A JP6752578B2 (ja) 2016-01-20 2016-01-20 通信装置、通信装置の制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016009160A JP6752578B2 (ja) 2016-01-20 2016-01-20 通信装置、通信装置の制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2017130801A JP2017130801A (ja) 2017-07-27
JP6752578B2 true JP6752578B2 (ja) 2020-09-09

Family

ID=59395835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016009160A Active JP6752578B2 (ja) 2016-01-20 2016-01-20 通信装置、通信装置の制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6752578B2 (ja)

Also Published As

Publication number Publication date
JP2017130801A (ja) 2017-07-27

Similar Documents

Publication Publication Date Title
US11038846B2 (en) Internet protocol security tunnel maintenance method, apparatus, and system
Frankel et al. Ip security (ipsec) and internet key exchange (ike) document roadmap
US10356092B2 (en) Uncloneable registration of an internet of things (IoT) device in a network
US10708780B2 (en) Registration of an internet of things (IoT) device using a physically uncloneable function
JP4727126B2 (ja) 近距離無線コンピューティング装置用のセキュア・ネットワーク・アクセスの提供
TWI778171B (zh) 待配網設備連接網路熱點設備的方法和系統
US7043633B1 (en) Method and apparatus for providing adaptive self-synchronized dynamic address translation
JP4407452B2 (ja) サーバ、vpnクライアント、vpnシステム、及びソフトウェア
KR100803272B1 (ko) 아이피 브이 식스 네트워크에서 인증을 처리하는 방법 및그 장치
JP4917596B2 (ja) 対応ノードとセッション中にある移動ノードへの匿名性の提供
JP3831364B2 (ja) 通信システム、同通信システムにおけるセキュリティポリシーの配布方法
JP2009111437A (ja) ネットワークシステム
JP2002501332A (ja) ネットワーク・アドレス変換とプロトコル変換が存在する場合のパケット認証の方法
KR100948604B1 (ko) 서버 기반 이동 인터넷 프로토콜 시스템에 있어서 보안방법
US8085797B2 (en) Method and system for addressing and routing in coded communications relationships
US20160105407A1 (en) Information processing apparatus, terminal, information processing system, and information processing method
JP2014110466A (ja) 通信装置、通信方法およびコンピュータプログラム
US11936633B2 (en) Centralized management of private networks
US20090328139A1 (en) Network communication device
JP6752578B2 (ja) 通信装置、通信装置の制御方法およびプログラム
WO2014201783A1 (zh) 一种自组网的加密鉴权方法、系统及终端
KR101584986B1 (ko) 네트워크 접속 인증 방법
JP2006216014A (ja) メッセージを認証するためのシステムおよび方法、メッセージを認証するためのファイアウォール、ネットワーク装置、および、コンピュータ読み取り可能な媒体
JP2006196996A (ja) 通信システム及び通信方法
JP5955811B2 (ja) 管理装置、管理システム、管理方法及び管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200217

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: 20200721

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200819

R151 Written notification of patent or utility model registration

Ref document number: 6752578

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151