(57)【要約】【課題】  周期的に処理を行い、かつ実行周期が短い制御システムに暗号技術を適用する際には、短周期処理のため、暗号に課される速度要件は厳しいため、性能要件を満たす最適な部分暗号を選択できなかった。【解決手段】  送信制御装置と受信制御装置の通信を部分的な暗号処理による保護する手段を提供する。送信制御装置は、送信先に応じた暗号設定情報を用いて、平文データを部分的な暗号処理を行って変換し、送信用データを作成する。送信用データに含まれる暗号ヘッダには、暗号対象部と非対称部を指定するフィルタ情報を含み、フィルタ情報のサイズを適切に設定することで、制御システムでの短い周期の処理 (暗号として高速性能が要求される) に対応させる。【選択図】  図１
2014165894.tif 000002
【特許請求の範囲】
【請求項１】
部分的な暗号処理によりデータを保護する通信保護システムは、
データを送信する少なくとも１台の送信装置、
前記データを受信する少なくとも１台の受信装置、及び
前記送信装置と前記受信装置とを接続するネットワーク
を備え、
前記送信装置は、入力された平文データを送信用データに変換する送信データ変換部を備え、
前記送信データ変換部は、暗号設定を格納する暗号設定テーブルと、送信先ＩＤに紐づく暗号設定を前記暗号設定テーブルから取得する暗号設定取得部と、前記暗号設定を用いて暗号ヘッダを生成する暗号ヘッダ生成部と、前期暗号設定に記載されているフィルタ情報を用いて前記平文データから暗号処理対象データを切り出すデータフィルタ部と、前記暗号処理対象データに対し、前記暗号設定に基づき暗号処理する暗号実行処理部と、前記暗号ヘッダと前記暗号処理データと前記平文データを組み合わせて、暗号送信データを生成する暗号送信データ生成部と、を備え、
前記暗号処理対象データと前記平文データのサイズ比は、前記暗号送信データの機密性の確保期間に応じて決定され、
前記受信装置は、入力された受信データを平文データに変換する受信データ変換部を備え、
前記受信データ変換部は、暗号アルゴリズム情報を格納するアルゴリズムテーブルと、鍵情報を格納する鍵情報テーブルと、前記受信データから暗号ヘッダを取得する暗号ヘッダ取得部と、前記アルゴリズムテーブルや前記鍵情報テーブルを用いて、前記暗号ヘッダが適切か判定する暗号ヘッダ検証部と、前記暗号ヘッダから暗号設定を取得する暗号設定取得部と、前記暗号設定に記載されているフィルタ情報を用いて、前記受信データから復号処理対象外データと復号処理対象データに切り、復号処理対象データを切り出すデータフィルタ部と、前記復号処理対象データに対し、前記暗号設定に基づき復号処理する復号実行処理部と、前記復号処理データと前記受信データを組み合わせて、平文受信データを生成する平文受信データ生成部と、を備える、
ことを特徴とする部分暗号による通信保護システム。
【請求項２】
前記送信装置と前記受信装置は、
取得した暗号設定情報を用いて、暗号通信種別が、改ざん検知のみ、暗号のみ、改ざん検知＋暗号のいずれかを判定する
ことを特徴とする請求項１記載の部分暗号による通信保護システム。
【請求項３】
前記送信装置は、
ＭＡＣ生成実行処理を呼び出し、取得した暗号設定と生成した送信データを引き渡し、
前記受信装置は、入力された暗号受信データから、メッセージ認証のための情報であるＭＡＣを分離し、受信データを生成する受信データ生成部を備え、
ＭＡＣ検証実行処理を呼び出し、取得した暗号設定と生成した受信データと前記ＭＡＣを引き渡すことを特徴とする請求項２記載の部分暗号による通信保護システム。
【請求項４】
データを送信する少なくとも１台の送信装置と前記データを受信する少なくとも１台の受信装置とがネットワークを介して接続されたネットワークシステムにおいて、暗号通信種別に応じて、部分的な暗号処理によりデータを保護する通信保護方法であって、
前記送信装置は、
前記暗号通信種別に改ざん検知が含まれている場合は、暗号化のための暗号設定情報を含む暗号ヘッダと平文とからなる送信データに、メッセージ認証のためのＭＡＣを付加して暗号送信データを生成して前記受信装置に送信し、
前記暗号通信種別に暗号が含まれている場合は、データフィルタにより平文から暗号化対象データを抽出し、
前記暗号設定情報に基づいて前記暗号化対象データを暗号化して暗号データを生成し、
前記暗号ヘッダ、前記暗号データ及び暗号化対象データ以外の平文である他の平文からなる前記暗号送信データを生成して前記受信装置に送信し、
前記受信装置は、
前記暗号通信種別に改ざん検知が含まれている場合は、前記送信装置から、前記暗号設定情報を含む前記暗号ヘッダ、前記平文及び前記ＭＡＣからなる暗号受信データを受信し、
前記暗号受信データから受信データである前記平文を抽出して出力し、
前記暗号受信データから分離した前記ＭＡＣを用いて改ざんの有無を判定し、
前記暗号通信種別に暗号が含まれている場合は、前記送信装置から、前記暗号設定情報を含む前記暗号ヘッダ、前記他の平文及び前記暗号データからなる前記暗号受信データを受信し、
前記暗号受信データから抽出した前記他の平文と前記暗号データから、データフィルタにより復号化対象データを抽出し、
前記暗号受信データの前記暗号ヘッダから取り出した前記暗号設定情報に基づいて前記復号化対象データを復号して復号データを生成し、
前記暗号受信データから抽出した前記他の平文と前記復号データとを合成して平文受信データを生成して出力する、
ことを特徴とする部分暗号による通信保護方法。
【請求項５】
前記平文は複数の平文パケットで構成され、前記複数の平文パケットの中の少なくとも１つの特定の平文パケットに対して暗号処理を行うことを特徴とする請求項４記載の部分暗号による通信保護方法。
【請求項６】
前記平文は複数の平文パケットで構成され、前記複数の平文パケットに対して、改ざんの検知処理を一括して実施することを特徴とする請求項４記載の部分暗号による通信保護方法。
【請求項７】
前記送信データでは、前記暗号設定情報を含む前記暗号ヘッダ、いくつかの前記暗号データが格納される暗号化領域、及び暗号処理の非対象領域である前記他の平文の順に各データが並べ替えられることを特徴とする請求項４記載の部分暗号による通信保護方法。
【請求項８】
データを送信する少なくとも１台の送信装置と前記データを受信する少なくとも１台の受信装置とがネットワークを介して接続されたネットワークシステムにおいて、暗号通信種別に応じて、部分的な暗号処理によりデータを保護する通信保護方法を実行するためのプログラムを格納した、計算機で読み取り可能な記憶媒体であって、
前記通信保護方法において、
前記送信装置は、
前記暗号通信種別に改ざん検知が含まれている場合は、暗号化のための暗号設定情報を含む暗号ヘッダと平文とからなる送信データに、メッセージ認証のためのＭＡＣを付加して暗号送信データを生成して前記受信装置に送信し、
前記暗号通信種別に暗号が含まれている場合は、データフィルタにより平文から暗号化対象データを抽出し、
前記暗号設定情報に基づいて前記暗号化対象データを暗号化して暗号データを生成し、
前記暗号ヘッダ、前記暗号データ及び暗号化対象データ以外の平文である他の平文からなる前記暗号送信データを生成して前記受信装置に送信し、
前記受信装置は、
前記暗号通信種別に改ざん検知が含まれている場合は、前記送信装置から、前記暗号設定情報を含む前記暗号ヘッダ、前記平文及び前記ＭＡＣからなる暗号受信データを受信し、
前記暗号受信データから受信データである前記平文を抽出して出力し、
前記暗号受信データから分離した前記ＭＡＣを用いて改ざんの有無を判定し、
前記暗号通信種別に暗号が含まれている場合は、前記送信装置から、前記暗号設定情報を含む前記暗号ヘッダ、前記他の平文、及び前記暗号データからなる前記暗号受信データを受信し、
前記暗号受信データから抽出した前記他の平文と前記暗号データから、データフィルタにより復号化対象データを抽出し、
前記暗号受信データの前記暗号ヘッダから取り出した前記暗号設定情報に基づいて前記復号化対象データを復号して復号データを生成し、
前記暗号受信データから抽出した前記他の平文と前記復号データとを合成して平文受信データを生成して出力する、
ことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続した制御システムにおける装置間の通信保護に関し、さらに詳しくは通信データの一部分に対して暗号処理する方法を用いて、装置間の通信を保護するネットワークシステムに関する。
【背景技術】
【０００２】
鉄道、電力、水道、ガスといった重要な社会インフラを支える制御システムは、従来閉じたネットワーク内に構築されており、システムでは専用のＯＳやプロトコルが使用されてきた。これにより、制御システムは、情報システムとは異なり、ウィルスによる攻撃等のセキュリティ脅威にさらされることがない、もしくは攻撃されても被害が発生しないと考えられてきた。
【０００３】
しかしながら、制御システムのネットワークがインターネット等の外部ネットワークへの接続頻度の増加や装置への汎用ＯＳの採用、および制御システムを攻撃対象としたウィルス（スタクスネット SUTAXNET）の出現に伴い、制御システムにおいても情報システムと同様のセキュリティ対策が求められてきている。一方、制御システムに対するセキュリティ基準は、これまで米国ＮＩＳＴ、米国ＮＥＲＣ、英国ＣＰＮＩといった各国の研究機関や業界団体が主体となり、各国の基準や業界標準を策定していたが、全世界共通のセキュリティ基準の必要性から、２００９年にＩＥＣ(International Electrotechnical Commission)において制御システムのセキュリティに関する国際標準の策定が開始された。 
このような流れを受け、制御システムにおいては、セキュリティ脅威の顕在化および国際標準の策定により、脅威から制御システムを保護し、顧客からのセキュリティ対策要求に対応するために、セキュリティ機能の導入やセキュリティ対策運用が必要になることが予想される。
【０００４】
このようなセキュリティ対策の一つとして暗号技術が知られている。暗号技術は、格納データや通信データの秘匿性を保護するだけではなく、通信先の認証やデータの改ざん検知も可能であるため、セキュリティ対策の根幹となる技術である。よって、制御システムを保護するために、今後、制御システム内の装置に暗号技術を組み込んでゆくことが必要である。
【０００５】
一方、制御システムは、センサの情報を基にバルブ(valve)やアクチュエータ(actuator)といった装置を動作させ、あらかじめ設定されている圧力や温度を保つことが要求される。さらに、周期的に処理を行い、かつ実行周期は短いことが通例である。従って、データの更新頻度が高く、データの有効期限が短いことが典型的であり、短期間での機密性を確保することが必要であり、全データを暗号化する必要はない場合が多い。一方、制御システムに暗号技術を適用する際には、上述した短周期処理のため、暗号に課される速度要件は厳しい。情報システムで行うように全データを長期間保護する方法で暗号化を実施すると、速度要件を満たすことは非常に困難である。
【０００６】
以上より、制御システムでは、一定長のデータ当たりの暗号処理の回数を削減する、すなわち、データを暗号処理の対象部と暗号処理の非対象部に切り分け、対象部のみに暗号化を行う技術として部分暗号が有力と考えられる。部分暗号に関しては、特許文献１が知られている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−２３２６０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記従来技術を制御システムに適用する際には以下の二つの課題が挙げられる。
・安全性の向上に関する課題
制御システムの通信に部分暗号を適用する際には、暗号処理の対象部と暗号処理の非対象部の切り分け方法に関し、自由度が多い方が、その自由度に多様性があるので、攻撃者にとってより攻撃が困難になるため、安全性が向上すると考えられる。
【０００９】
しかし、特許文献１は、文書等のコンテンツ保護を目的とした暗号化方法で、文書を暗号化した後であっても、文書の概要がわかることを特徴としている。まず、制御システムで扱うデータは、バイナリデータであることが多いので、特許文献１の方法において、区切りを厳密かつ明確に指定できるかどうかは課題である。特許文献１における、暗号処理の対象部と暗号処理の非対象部の区切り方法としては、偶数文字のみを暗号化し、奇数文字は暗号化しないことによって、区切るという方法が挙げられていた。しかし、目的を保ちつつ区切る方法を自由には選べず、大きな制限が生じる。このように、特許文献１では、暗号処理の対象部と暗号処理の非対象部の切り分け方の自由度が小さいため、安全性(機密性)の向上の寄与は低いという課題がある。
【００１０】
・性能向上に関する課題
また、上述したように、制御システムの通信に部分暗号を適用する際には、暗号関連処理に高速性が要求される。特許文献１の部分暗号の方法は、通常の情報セキュリティ分野で行われるように、文書の長期保護を目的としているために、データ全体に対して暗号処理の非対象部の割合を極限まで大きくすることは想定されておらず、この割合は一定の割合以下、たとえば、文書の全体に対する概要が占める割合以下に程度に抑えることが想定される。このような制限により、結局データの大半（７割〜８割等)を暗号化する必要があるという場合が典型的であり、暗号処理の速度向上の点では課題となる。
【００１１】
また、特許文献１では、平文から切り出した暗号対象データを暗号化した後に、元のデータ位置に置き換える処理が実行される。この置き換え処理は、暗号処理の性能を最適化する際の障害となり得る。
【課題を解決するための手段】
【００１２】
本発明では、制御装置とネットワークから構成される通信保護システムにおいて、送信制御装置と受信制御装置の通信を、部分的な暗号処理によって保護する手段を提供する。送信制御装置は、平文データを部分的に暗号処理して変換し、送信用データを作成する。この際に、送信先に応じた暗号設定情報を用いた暗号処理を行う。送信用データには、暗号ヘッダも含む。暗号ヘッダには、暗号対象部と暗号非対象部を指定するフィルタ情報も含まれる。本発明では、フィルタ情報で定義するデータサイズを１６バイト程度に設定可能としており、制御システムでの短い周期の処理 (暗号として高速性能が要求される) に対応できるよう、部分暗号の暗号非対象部の全データに対する割合を大きくすることができる。フィルタ情報は、１６バイト等の任意のバイト列を扱うことができるので、既存技術の区切りに比べて多くの種類の区切りを作ることができ、安全性もより向上する。
【００１３】
また、受信制御装置は、受け取ったデータを、部分的に復号処理して変換し、受信データを作成する。この際に、暗号ヘッダ部を取得し、フィルタ情報を取得し、受信制御装置が予め格納するアルゴリズムテーブルや鍵情報テーブルなどの部分暗号処理に必要な暗号関連情報により、受信データを部分的に復号し、元の平文データを取得する。
【００１４】
暗号処理の対象部と暗号処理の非対象部の切り分け方に関する情報は、フィルタ情報として、送信用データに含ませるため、暗号化をさらに高速化する必要がある場合、特許文献１のような、暗号処理後の暗号ブロックの置き換え処理を省略することにより、暗号化の高速化が実現できる。より具体的には、送信用データにおいて、暗号適用後のデータをまとめて先頭に寄せて配置し、その直後に暗号処理の対象部データを配置することにより実現できる。
【発明の効果】
【００１５】
本発明によれば、部分的な暗号化により通信路の安全性確保を行う制御システムにおいて、実行周期が短く、高速な処理な暗号性能が要求される状況においても、データの有効期限に応じた安全性に応じた部分暗号方法を選択することができる。また、部分暗号領域、暗号アルゴリズム、鍵情報等の選択に関しても、送信先に応じて設定可能なため、制御の用途に即した、自由度の高い選択が可能となり、安全性と性能を最適化できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第一の実施形態が適用された部分暗号による通信保護された通信保護システムの構成を例示する図である。
【図２】図１に示す送信装置と受信装置のハードウェア構成を例示する図である。
【図３】送信制御装置が送信データ変換を行う処理フローを例示する図である。
【図４】受信制御装置が受信データ変換を行う処理フローを例示する図である。
【図５】送信制御装置が暗号実行処理を行う処理フローを例示する図である。
【図６】受信制御装置が復号実行処理を行う処理フローを例示する図である。
【図７】送信制御装置がＭＡＣ生成実行処理を行う処理フローを例示する図である。
【図８】受信制御装置がＭＡＣ検証実行処理を行う処理フローを例示する図である。
【図９】送信制御装置が送信データ変換を作成する暗号ヘッダのデータ構成を例示する図である。
【図１０】送信制御装置が送信データ変換を行う変換後のデータ構成を例示する図である。
【図１１】送信制御装置で行う部分暗号による暗号実行の概要を例示する図である。
【図１２】複数パケットからなる平文の部分暗号による暗号実行の概要を示す図である。
【図１３】複数パケットからなる平文の改ざん検知処理の概要を示す図である。
【図１４】暗号通信種別に応じた、送信時のデータの流れを示す図である。
【図１５】暗号通信種別に応じた、受信時のデータの流れを示す図である。
【発明を実施するための形態】
【００１７】
本発明の一実施形態について説明する。なお、これにより本発明が限定されるものではない。
【００１８】
（システム構成）
図１は、本発明の第一の実施形態が適用された部分暗号による通信保護システムの構成図である。
【００１９】
通信保護システム１００は、送信装置１１０、ネットワーク１２０、受信装置１３０、を有する。なお、送信装置１１０、及び受信装置１３０はシステム１００全体ではそれぞれ複数存在するが、図１ではシステム１００の一部として、一つのネットワーク（１２０）に１台の送信装置と１台の受信装置が接続されている例を示す。
【００２０】
（送信装置）
送信装置１１０は、送信データを生成する送信データ生成部１１１、予め暗号設定テーブル２０４に格納されている暗号アルゴリズム設定を取得する暗号設定取得部１１２、暗号ヘッダを生成する暗号ヘッダ生成部１１３、情報の暗号処理またはＭＡＣ(Message Authenticate Code、メッセージ認証のための情報)生成を行う暗号処理部１１４、暗号通信種別を判定する暗号通信種別判定部１１５、秘密鍵および関連する情報を格納した鍵情報記憶装置１１８、外部との通信を行う通信部１１７、利用者の指示（ポリシー）に基づいて平文から暗号化対象を抽出するデータフィルタ部１１６、及び、入力データのフォーマットを判定する入力データフォーマット判定部１１９を有し、更に、秘密鍵および関連する情報を鍵情報記憶装置１１８内の鍵情報データベースに保存し、これらの処理部を用いて暗号送信データの送信を行う。なお、データフィルタ部１１６は、フィルタリングの仕方を自動生成することもある。
【００２１】
（受信装置）
受信装置１３０は、受信データを生成する受信データ生成部１３１、暗号アルゴリズムを受信データの暗号ヘッダから取得する暗号設定取得部１３２、暗号ヘッダを検証する暗号ヘッダ検証部１３３、情報の復号処理またはＭＡＣ(Message Authenticate Code)の検証を行う復号処理部１３４、暗号通信種別を判定する暗号通信種別判定部１３５、秘密鍵および関連する情報を登録する鍵情報テーブル３０３、外部との通信を行う通信部１３７、入力データのフォーマットを判定する入力データフォーマット判定部１３９を有し、送信装置１１０から送信された暗号送信データを受信し、このデータから必要なデータを切り出し、通信種別に応じ、復号化処理、ＭＡＣ検証処理を行う。また、暗号設定取得部１３２で取り出した暗号アルゴリズムＩＤと予め暗号アルゴリズムを保持しているアルゴリズムテーブル３０６の内容とが照合される。
【００２２】
なお、送信装置１１０、受信装置１３０は、情報処理が可能なコンピュータ（情報処理装置）である。
【００２３】
図２は、送信装置と受信装置のハードウェアの構成図の例である。  
送信装置(１１０)と受信装置(１３０)は、それぞれＣＰＵ(１１)、メモリ(１２)、ＨＤＤ(Hard Disk Drive)(１３)、入力装置(１４)、出力装置(１５)、通信装置(１６)、とから構成することができる。
【００２４】
（各種情報の構成）
後述する各処理で用いられる各種情報の構成を説明する。  
図９は、本発明の第一の実施形態が適用された部分暗号による通信保護システムにおいて、暗号ヘッダ生成部（１１３）で生成される暗号ヘッダの構成を例示する図である。以下では、図９に示す表の「＃」の番号ｎを用いて、各項目の符号を（９００−ｎ）（ｎ＝１〜９）と表記する。
【００２５】
暗号ヘッダ（９００）は、暗号通信の有無を示す情報である暗号通信フラグ（９００−１）と、暗号通信時の処理内容を示す情報である通信処理ＩＤ（９００−２）と、暗号化を実施するデータの位置を特定する情報であるフィルタ情報（９００−３）と、暗号化を実施する際に利用するアルゴリズムを識別する情報である暗号用アルゴリズムＩＤ（９００−４）と、暗号化を実施する際に利用する鍵を識別する情報である暗号用鍵ＩＤ（９００−５）と、暗号化を実施する際に利用する初期ベクトルの情報である暗号用初期ベクトル（９００−６）と、改ざん検知を実施する際に利用するアルゴリズムを識別する情報である改ざん検知用アルゴリズムＩＤ（９００−７）と、改ざん検知を実施する際に利用する鍵を識別する情報である改ざん検知用鍵ＩＤ（９００−８）と、改ざん検知を実施する際に利用する初期ベクトルや処理データの情報である改ざん検知用初期ベクトル/改ざん検知用処理データ（９００−９）から構成される。
【００２６】
暗号通信フラグ（９００−１）が「０１」の場合には、本実施例の暗号化及び復号化の処理を行う。通信処理ＩＤ（９００−２）は暗号通信種別判定部１１５、１３５で使用される。フィルタ情報（９００−３）はデータフィルタ部１１６、１３６で使用される。暗号用アルゴリズムＩＤ（９００−４）、暗号用鍵ＩＤ（９００−５）、及び暗号用初期ベクトル（９００−６）は暗号設定情報であり、暗号設定取得部１１２、１３２によって暗号ヘッダ（９００）から取り出され、暗号処理部１１４、及び復号処理部１３４で使用される。暗号通信フラグ（９００−１）、通信処理ＩＤ（９００−２）、及びフィルタ情報（９００−３）も暗号化及び復号化に必要な情報であるため、暗号設定情報に含まれる。
【００２７】
改ざん検知用アルゴリズムＩＤ（９００−７）、改ざん検知用鍵ＩＤ（９００−８）、及び改ざん検知用初期ベクトル／改ざん検知用処理データ（９００−９）はＭＡＣであり、暗号処理部１１４、及び復号処理部１３４で使用される。
【００２８】
なお、暗号通信フラグ（９００−１）が「００」の場合には、本実施例の暗号化及び復号化の処理は行われず、図９のデータ（９００−２〜９）は存在しない。
【００２９】
ここで、暗号ヘッダ（９００）の構成要素は上記に限定されるものではなく、少なくとも上記の要素が含まれていればよい。また、暗号ヘッダ（９００）の構成要素の順序は上記に限定されるものではない。
【００３０】
図１０は、本発明の第一の実施形態が適用された部分暗号による通信保護システムにおいて、送信装置(１１０)と受信装置(１３０)間で通信される暗号送信データ/暗号受信データの構成を例示する図である。以下では、図１０に示す表の各行の番号ｎを用いて、各項目の符号を（１０００−ｎ）（ｎ＝１〜３）と表記する。
【００３１】
暗号送信データ/暗号受信データ（１０００）は、暗号通信の有無や暗号アルゴリズム、暗号鍵等を示す情報 である暗号ヘッダ（１０００−１）と、送受信するデータである送信データ/受信データ（１０００−２）と、送信データ/受信データのＭＡＣデータ（１０００−３）から構成される。
【００３２】
暗号ヘッダ（１０００−１）には、図９に示した暗号設定情報（９００−３〜６）が含まれる。送信データ／受信データ（１０００−２）には、平文、あるいは、暗号化対象以外の他の平文と暗号データとの組が含まれる。ＭＡＣデータ（１０００−３）には、図９に示したＭＡＣデータ（９００−７〜９）が含まれる。
【００３３】
ここで、暗号送信データ/暗号受信データ（１０００）の構成要素は上記に限定されるものではなく、少なくとも上記の要素が含まれていればよい。また、暗号送信データ/暗号受信データ（１０００）の構成要素の順序は上記に限定されるものではない。
【００３４】
（処理フロー）
本実施形態の部分暗号による通信保護システムにおける処理フローについて説明する。以下に述べる処理フローは、制御装置の送信装置１１０と受信装置１３０の記憶装置に格納されたプログラムがメモリにロードされ、ＣＰＵにより実行されることにより、部分暗号による通信保護システムを構成する装置上に具現化される各処理部により実行されるものである。また、各プログラムは予め記憶装置に格納されても良いし、他の記憶媒体または通信媒体（ネットワークまたはネットワークを伝搬する搬送波）を介して、必要なときに導入されても良い。
【００３５】
各処理の説明の前に、本発明における、部分暗号による暗号実行の概要を説明する。
図１１は、本発明の第一の実施形態が適用された部分暗号による通信保護システムにおいて、送信装置(１１０)において実施される部分暗号による暗号実行の概要を例示する図である。本暗号実行において、平文パケット（１１００）は、データフィルタ処理（１００１）により、いくつかの暗号対象データからなるパケット（１１０２）に変換され、その後、暗号アルゴリズム（１１０３）により、暗号化され、いくつかの暗号データからなる暗号ブロック（１１０４）が出力される。このデータは、暗号送信データ送信部（１１０５）により、送信データ（１１０６）に変換される。送信データ（１１０６）は、暗号ヘッダ（１１０７）と、暗号ブロック（１１０４）と、平文パケット（１１００）における暗号処理の非対象領域（他の平文）（１１０９）から構成され、これらのデータは、図１１に示すように並べ替えられる。即ち、送信データでは、暗号設定情報を含む暗号ヘッダ（１１０７）、いくつかの暗号データが格納される暗号化領域（１１０８）、及び暗号処理の非対象領域（他の平文）（１１０９）の順に各データが並べ替えられる。
【００３６】
ここで、送信データ（１１０６）の構成要素は上記に限定されるものではなく、少なくとも上記の要素が含まれていればよい。また、送信データ（１１０６）の構成要素の順序は上記に限定されるものではない。
【００３７】
図３は、図１に示した送信装置１１０における送信データ変換の処理フローを示した図である。
【００３８】
はじめに、送信装置(１１０)は、通信部１１７によって、送信先ＩＤ、平文データサイズ、平文データを入力装置１４から入力し（２０１）、入力データフォーマット判定部１１９により、入力されたデータのフォーマットや、例えば平文のデータサイズの値の範囲が適切かどうか判定し(２０３)、入力データフォーマットがエラーの場合は、それをエラーメッセージとして出力する(２０２)。なお、平文は、予め記憶装置に格納されていて、送信データ変換の対象となる平文を読み出す場合もある。
【００３９】
次に、入力データフォーマットにエラーがない場合は、暗号設定取得部１１２によって、暗号設定テーブル(２０４)より、入力された送信先ＩＤに関連付けられた暗号設定情報を取得(２０５)する。この際、暗号設定情報の取得エラーがあった場合は、それをエラーメッセージとして出力する(２０６)。次に、暗号ヘッダ生成部１１３によって、取得した暗号設定を用いて暗号ヘッダ(図９参照)を生成する(２０７)。
【００４０】
次に、暗号通信種別判定部１１５によって、取得した暗号設定情報を用いて、暗号通信種別（改ざん検知のみ（２１０）、暗号のみ（２５０）、改ざん検知＋暗号（２０８）のいずれか）を判定する(２０９)。ここで、暗号通信種別の結果に応じて、３つの処理フローが生じる。
【００４１】
まず、暗号通信種別が改ざん検知のみと判定された場合（２１０）は、送信データ生成部１１１によって、暗号ヘッダ、暗号ブロック、及び入力された平文データ（他の平文）を図１１に示すように並べ替えながら組み合わせて送信データを生成し(２１４ａ)、ＭＡＣ生成実行処理(２１７ａ)(図７参照)を呼び出し、取得した暗号設定情報と生成した送信データを引き渡して、暗号処理部１１４によってＭＡＣ生成を実行する。
【００４２】
暗号通信種別(２０９)が暗号のみと判定された場合（２５０）は、データフィルタ部１１６によって、取得した暗号設定情報に記載されているフィルタ情報を用いて、入力された平文データから暗号化を行うデータを切り出すデータフィルタを実行し(２１１ａ)、暗号処理部１１４によって、暗号実行処理(２１２ａ)(図４参照)を呼び出し、取得した暗号設定情報と切り出したデータを引き渡して暗号化を実行する。
【００４３】
暗号通信種別(２０９)が、改ざん検知＋暗号と判定された場合（２０８）は、データフィルタ部１１６によって、取得した暗号設定に記載されているフィルタ情報を用いて、入力された平文データの暗号化を行うデータを切り出すデータフィルタを実行し(２１１ｂ)、暗号処理部１１４によって、暗号実行処理(２１２ｂ)(図５参照)を呼び出し、取得した暗号設定情報と切り出したデータを引き渡し、送信データ生成部１１１によって、暗号ヘッダ、暗号ブロック、及び入力された平文データ（他の平文）を図１１に示すように並べ替えながら組み合わせて送信データを生成し(２１４ｂ)、暗号処理部１１４によって、ＭＡＣ生成実行処理(２１７ｂ)(図６参照)を呼び出し、取得した暗号設定情報と生成した送信データを引き渡してＭＡＣ生成を実行する。
【００４４】
最後に、暗号ヘッダを再度取得し、暗号データと暗号対象外データとＭＡＣを組み合わせて暗号送信データを生成し(２１９)、暗号送信データサイズ、暗号送信データ(２２０) を出力する。
【００４５】
以上に述べた、暗号通信種別に応じた、送信時のデータの流れを図１４に示す。
（１）改ざん検知の場合は、暗号設定情報を含む暗号ヘッダと平文とからなる送信データに、ＭＡＣ生成実行処理(２１７ａ)によりＭＡＣを付加して暗号送信データを生成して送信する。
（２）暗号のみの場合は、データフィルタ（２１１ａ）により平文から抽出した暗号化対象データを、暗号設定情報に基づいて暗号化して暗号データを生成し、暗号ヘッダ、暗号データ、及び暗号化対象データ以外の平文（他の平文）からなる暗号送信データを生成して送信する。
（３）改ざん検知＋暗号の場合は、上記（１）と（２）の処理を行って、暗号ヘッダ、暗号データ、暗号化対象データ以外の平文（他の平文）、及びＭＡＣからなる暗号送信データを生成して送信する。
【００４６】
図４は、図１に示した受信装置１３０における受信データ変換の処理フローを示した図である。
【００４７】
はじめに、受信装置(１３０)は、通信部１３７によって、暗号受信データサイズ、暗号受信データを入力装置１４から入力する(３０１)。次に、暗号ヘッダ検証部１３３によって、入力された暗号受信データから暗号ヘッダを切り出して取得する(３０２)。次に、入力データフォーマット判定部１３９によって、暗号ヘッダに記載されている情報のパラメータの値が適切かどうか、アルゴリズムテーブル(３０３)や鍵情報テーブル(３０６)を用いて判定する(３０５)。この際、暗号ヘッダフォーマットがエラーの場合は、それをエラーメッセージとして出力する(３０４)。
【００４８】
次に、暗号ヘッダフォーマットにエラーがない場合は、暗号設定取得部１３２によって、暗号ヘッダから暗号設定情報（暗号通信種別、アルゴリズムＩＤ、鍵ＩＤ、初期ベクトル（暗号化に関する公開されているパラメータ）等）を取得する(３０８)。
【００４９】
次に、暗号通信種別判定部１３５によって、取得した暗号設定情報を用いて、暗号通信種別（改ざん検知のみ（３１０）、暗号のみ（３１２）、改ざん検知＋暗号（３０７）のいずれか）を判定する(３０９)。ここで、暗号通信種別の結果に応じて、３つの処理フローが生じる。
【００５０】
まず、暗号通信種別が改ざん検知のみと判定された場合（３１０）は、受信データ生成部１３１によって、入力された暗号受信データからＭＡＣを分離し、受信データを生成し(３１１ａ)、復号処理部１３４によって、分離したＭＡＣを用いてＭＡＣ検証実行処理を呼び出し、取得した暗号設定情報と生成した受信データとＭＡＣを引き渡してＭＡＣ検証を実行する(３１４ａ)。
【００５１】
暗号通信種別が暗号通信種別(３０９)で暗号のみと判定された場合（３１２）は、データフィルタ部１３６によって、取得した暗号設定情報に記載されているフィルタ情報を用いて入力された暗号受信データから復号を行うデータを切り出すデータフィルタを実行し(３１５ａ)、復号処理部１３４により、復号実行処理（図６参照）を呼び出し、取得した暗号設定情報と切り出したデータを引き渡して復号を実行する(３１８ａ)。
【００５２】
暗号通信種別(３０９)が、改ざん検知＋暗号と判定された場合（３０７）は、受信データ生成部１３１により、入力された暗号受信データからＭＡＣを分離し、受信データを生成し（３１１ｂ）、復号処理部１３４により、分離したＭＡＣを用いてＭＡＣ検証実行処理を呼び出し、取得した暗号設定情報と生成した受信データとＭＡＣを引き渡してＭＡＣ検証を実行する（３１４ｂ）。データフィルタ部１３６により、取得した暗号設定情報に記載されているフィルタ情報を用いて、入力された暗号受信データから復号を行うデータを切り出すデータフィルタを実行し(３１５ｂ)、復号処理部１３４により、復号実行処理を呼び出し、取得した暗号設定と切り出したデータを引き渡して復号を実行する(３１８ｂ)（図６参照）。
【００５３】
最後に、復号されたデータと復号対象外データを組み合わせて平文受信データを生成し(３２０)、平文受信データサイズ、及び平文受信データを出力する(３２１)。
【００５４】
以上に述べた、暗号通信種別に応じた、受信時のデータの流れを図１５に示す。
（１）改ざん検知の場合は、暗号設定情報を含む暗号ヘッダ、平文、及びＭＡＣからなる暗号受信データから受信データである平文を抽出して出力し、暗号受信データから分離したＭＡＣを用いてＭＡＣ検証実行（３１４ａ）により改ざんの有無を判定する。
（２）暗号のみの場合は、暗号設定情報を含む暗号ヘッダ、他の平文、及び暗号データからなる暗号受信データから抽出した他の平文と暗号データから、データフィルタ（３１５ａ）により復号化対象データを抽出し、暗号受信データの暗号ヘッダから取り出した暗号設定情報に基づいて復号化対象データを復号して復号データを生成し、暗号受信データから抽出した他の平文と復号データとを合成して平文受信データを生成して出力する。
（３）改ざん検知＋暗号の場合は、上記（１）の処理を行ってＭＡＣ検証による改ざんの判定を行うとともに、上記（２）の処理を行って平文受信データを出力する。受信側の利用者は、改ざんの判定結果を参照して、平文受信データの有効性を判断する。
【００５５】
（詳細処理フロー）
図５は、図３の送信データ変換処理における暗号実行(２１２)の処理フローを示した図である。
【００５６】
はじめに、本処理は、アルゴリズムＩＤ、鍵ＩＤ、初期ベクトル、データ長、データ を入力装置１４から入力する(４００)。次に、入力されたデータのフォーマットや値の範囲が適切かどうか判定する(４０１)。フォーマット判定の際にエラーが生じた場合は、それをエラーメッセージとして出力する(４０３)。
【００５７】
次に、フォーマット判定の際にエラーがなかった場合は、入力されたデータの長さが１６の倍数であって、かつ入力されたデータの最後のバイトが0x80（１６進数表記の区切り文字、delimiter）でないかを判定する(４０２)。「入力されたデータの長さが１６の倍数である」を条件Ａ、「入力されたデータの最後のバイトが0x80である」を条件Ｂとすると、上記の判定条件は、Ａ∧¬Ｂで表わされる。「∧」は集合の積、「¬Ｂ」は集合Ｂの補集合（否定）を表す。なお、ＡとＢはそれぞれ他の条件でもよい。
【００５８】
Ａ∧¬Ｂが真（条件４０２が成立）の場合（４０５）は、何もせず（ＮＯＰ）に次の暗号化処理（４０７）に進む。
【００５９】
Ａ∧¬Ｂが偽（条件４０２が成立しない）の場合（¬Ａ、又はＡ∧Ｂの場合）（４０４）は、データパディング(padding)処理（４０６）を行い、データの後に0x80を付与し、データの長さが１６の倍数となるまで0x00を付与する。
【００６０】
ここで、上記の条件が成立しない場合、即ち、Ａ∧¬Ｂが偽の場合（¬(Ａ∧¬Ｂ)）は、¬(Ａ∧¬Ｂ)＝(¬Ａ)∨Ｂ＝¬Ａ＋Ｂ＝¬Ａ＋¬Ａ・Ｂ＋Ａ・Ｂ＝¬Ａ・（１＋Ｂ）＋Ａ・Ｂ＝¬Ａ＋Ａ・Ｂ＝(¬Ａ)∨(Ａ∧Ｂ)と書き換えられ、Ａ∧¬Ｂが偽であるとは、Ａではない、あるいは、ＡであってかつＢである、という条件に言い換えられる。
【００６１】
即ち、入力されたデータの長さが１６の倍数でない場合(４０５)は(¬Ａ)、データの後に0x80を付与し、データの長さが１６の倍数となるまで0x00（余白、padding）を付与する。
【００６２】
入力されたデータの最後のバイトが0x80の場合には、データの長さが１６の倍数であっても(Ａ∧Ｂ)、データの後に0x80を付与し、データの長さが１６の倍数となるまで0x00を付与する(４０６)。
【００６３】
次に、暗号初期化処理(４０７)を呼び出し、入力された暗号設定情報を引き渡し、暗号初期化を実行する。この際、暗号初期化エラー が生じた場合は、それをエラーメッセージとして出力する(４０８)。
【００６４】
次に、暗号処理を呼び出し、入力されたデータを引き渡して暗号処理を実行する(４１０)。暗号処理の際、暗号処理エラー が生じた場合は、それをエラーメッセージとして出力する(４０９)。
【００６５】
最後に、暗号データ長、及び暗号データを出力する（４１１）。
【００６６】
図６は、図４の受信データ変換処理における復号実行(３１８)の処理フローを示した図である。
【００６７】
はじめに、本処理は、アルゴリズムＩＤ、鍵ＩＤ、初期ベクトル、暗号データ長、暗号データ を入力装置１４から入力する(５００)。次に、入力されたデータのフォーマットや値の範囲が適切かどうか判定する(５０１)。この際、入力データフォーマットエラーが生じた場合は、それをエラーメッセージとして出力する(５０２)。
【００６８】
次に、暗号初期化処理(５０３)を呼び出し、入力された暗号設定を引き渡して暗号初期化を実行する。この際、暗号初期化エラーが生じた場合は、それをエラーメッセージとして出力する(５０４)。
【００６９】
次に、復号処理を呼び出し、入力されたデータを引き渡して復号処理を実行する(５０５)。復号処理の際、エラーが生じた場合は、それをエラーメッセージとして出力する(５０６)。
【００７０】
次に、復号されたデータの最後から順にスキャンし、最後のバイトから１６バイト以内に0x80が出現するかを検証し、0x80が存在する場合にはパディングが付与されているかを判定する(５０７)。パディングが付与されている場合(５０９)は、最後のバイトから0x80が出現するバイトまでのデータを除去する、パディング除去を実行する(５１０)。
【００７１】
最後に、平文データ長と平文データを出力する（５１１）。
【００７２】
図７は、図３の送信データ変換処理におけるＭＡＣ生成処理実行(２１７)の処理フローを示した図である。
【００７３】
はじめに、本処理は、アルゴリズムＩＤ、鍵ＩＤ、初期ベクトル、データ長、データを入力装置１４から入力する(６００)。次に、入力されたデータのフォーマットや値の範囲が適切かどうか判定する(６０１)。この際、入力データフォーマットエラーが生じた場合は、それをエラーメッセージとして出力する(６０２)。
【００７４】
次に、フォーマット判定の際にエラーがなかった場合は、入力されたデータの長さが１６の倍数であって、かつ入力されたデータの最後のバイトが0x80でないかを判定する(６０３)。
【００７５】
図３に示すように、ＭＡＣ生成実行（２１７）の前に送信データ生成（２１４）が行われ、そこでは、図１１に示すようにデータの並べ替えが行われるため、ＭＡＣ生成処理でも、再度、データ長判定（６０３）を行う必要がある。従って、データ長判定（６０３）では、特に、データの長さが１６の倍数かどうかがチェックされる。
【００７６】
図５の処理と同様に、「入力されたデータの長さが１６の倍数である」を条件Ａ、「入力されたデータの最後のバイトが0x80である」を条件Ｂとすると、上記の判定条件は、Ａ∧¬Ｂで表わされる。「∧」は集合の積、「¬Ｂ」は集合Ｂの補集合（否定）を表す。
【００７７】
Ａ∧¬Ｂが真（条件６０３が成立）の場合（６０５）は、何もせず（ＮＯＰ）に次の暗号初期化処理（６０７）に進む。
【００７８】
Ａ∧¬Ｂが偽（条件６０３が成立しない）の場合（¬Ａ、又はＡ∧Ｂの場合）（６０４）は、データパディング(padding)処理（６０６）を行い、データの後に0x80を付与し、データの長さが１６の倍数となるまで0x00を付与する。
【００７９】
ここで、上記の条件が成立しない場合は、図５に関する説明で述べたように、Ａではない、あるいは、ＡであってかつＢである、という条件に言い換えられる。
【００８０】
即ち、入力されたデータの長さが１６の倍数でない場合(６０４)は(¬Ａ)、データの後に0x80を付与し、データの長さが１６の倍数となるまで0x00を付与する。
【００８１】
入力されたデータの最後のバイトが0x80の場合にはデータの長さが１６の倍数であっても(Ａ∧Ｂ)、データの後に0x80を付与し、データの長さが１６の倍数となるまで0x00を付与する(６０６)。
【００８２】
暗号初期化処理を呼び出し、入力された暗号設定情報を引き渡し暗号初期化を実行する(６０７)。この際、暗号初期化エラー が生じた場合は、それをエラーメッセージとして出力する(６０８)。
【００８３】
次に、ＭＡＣ生成処理を呼び出し、入力されたデータを引き渡しＭＡＣ生成処理を実行する（６０９）。この際、エラーが生じた場合は、それをエラーメッセージとして出力する（６１０）。
最後に、ＭＡＣデータ長、ＭＡＣデータを出力する（６１１）。
【００８４】
図８は、図４の受信データ変換処理におけるＭＡＣ検証処理実行(３１４)の処理フローを示した図である。
【００８５】
はじめに、本処理は、アルゴリズムＩＤ、鍵ＩＤ、初期ベクトル、データ長、データ、ＭＡＣデータ長、ＭＡＣデータを入力装置１４から入力する(７００)。次に、入力されたデータのフォーマットや値の範囲が適切かどうか判定する（７０１）。この際、入力データフォーマットエラーが生じた場合は、それをエラーメッセージとして出力する(７０２)。
【００８６】
次に、フォーマット判定の際にエラーがなかった場合は、入力されたデータの長さが１６の倍数であって、かつ入力されたデータの最後のバイトが0x80でないかを判定する(７０３)。
【００８７】
図４に示すように、ＭＡＣ検証実行（３１４）の前に受信データ生成（３１１）が行われ、そこでは、図１１に示すようにデータの並べ替えが行われたデータが生成されるため、ＭＡＣ検証実行でも、再度、データ長判定（７０３）を行う必要がある。従って、データ長判定（７０３）では、特に、データの長さが１６の倍数かどうかがチェックされる。
【００８８】
図５の処理と同様に、「入力されたデータの長さが１６の倍数である」を条件Ａ、「入力されたデータの最後のバイトが0x80である」を条件Ｂとすると、上記の判定条件は、Ａ∧¬Ｂで表わされる。「∧」は集合の積、「¬Ｂ」は集合Ｂの補集合（否定）を表す。
【００８９】
Ａ∧¬Ｂが真（条件７０３が成立）の場合（７０５）は、何もせず（ＮＯＰ）に次の暗号初期化処理（７０７）に進む。
【００９０】
Ａ∧¬Ｂが偽（条件７０３が成立しない）の場合（¬Ａ、又はＡ∧Ｂの場合）（７０４）は、データパディング(padding)処理（７０６）を行い、データの後に0x80を付与し、データの長さが１６の倍数となるまで0x00を付与する。
【００９１】
ここで、上記の条件が成立しない場合は、図５に関する説明で述べたように、Ａではない、あるいは、ＡであってかつＢである、という条件に言い換えられる。
【００９２】
即ち、入力されたデータの長さが１６の倍数でない場合(７０４)は(¬Ａ)、データの後に0x80を付与し、データの長さが１６の倍数となるまで0x00を付与する。
【００９３】
入力されたデータの最後のバイトが0x80の場合にはデータの長さが１６の倍数であっても(Ａ∧Ｂ)、データの後に0x80を付与し、データの長さが１６の倍数となるまで0x00を付与する(７０６)。
【００９４】
次に、暗号初期化処理を呼び出し、入力された暗号設定情報を引き渡し暗号初期化を実行する(７０７)。この際、暗号初期化エラーが生じた場合は、それをエラーメッセージとして出力する(７０８)。
【００９５】
次に、ＭＡＣ検証処理を呼び出し、入力されたデータおよびＭＡＣデータを引き渡し、ＭＡＣ検証処理を実行する(７０９)。この際、エラーが生じた場合は、それをエラーメッセージとして出力する(７１０)。
【００９６】
図１２は、本発明の第一の実施形態が適用された部分暗号による通信保護システムにおいて、送信装置(１１０)において実施される複数パケットから成る平文の部分暗号による暗号実行の概要を示す図である。本暗号実行において、平文は、平文パケット１（１２００）、平文パケット２（１２０１）、及び平文パケット３（１２０２）の３つのパケットから構成される。これらは、全て暗号処理（１２０２）されるのではなく、たとえば、平文パケット２（１２０１）のみ暗号処理（１２００）が実施され、暗号パケット（１２０３）が生成される。即ち、平文パケット２（１２０１）では、図９の暗号通信フラグ（９００−１）は「０１」（暗号通信有）であるが、平文パケット１（１２００）、及び平文パケット３（１２０２）では、暗号通信フラグ（９００−１）は「００」（暗号通信無）である。
【００９７】
ここで、平文の構成要素は上記のパケット群に限定されるものではない。また、暗号処理（１２０２）対象平文パケットは上記に限定されるものではない。
【００９８】
また、上記は、３パケットに１回暗号化処理を実施するが、１０パケットに１回等、この暗号処理回数を増減させてもよい。上記は、制御系は、データの有効期間が短く、暗号化する頻度も低くて良い場合がありうることに基づく。また、図１２の暗号実行は、平文の内容とは関係なく、定期的に暗号化して内容を撹乱することで情報を秘匿化する目的で行われる。
【００９９】
図１３は、本発明の第一の実施形態が適用された部分暗号による通信保護システムにおいて、送信装置(１１０)において実施される複数パケットから成る平文の改ざん検知処理の概要を例示する図である。本改ざん検知処理において、平文は、平文パケット１（１３００）、平文パケット２（１２０１）、及び平文パケット３（１２０２）の３つのパケットから構成される。これらのパケットは、単一でその都度、改ざん検知処理（１３０３）が実行されるのではなく、これらのパケットを一括りとして改ざん検知対象データと見なした場合の改ざん検知処理を行う。即ち、３つの平文パケットのそれぞれからＭＡＣが抽出され、３つのＭＡＣに対して一括してＭＡＣ検証（３１４ａ、ｂ）を実行する。  
ここで、平文パケットの構成要素数は上記に限定されるものではない。
【０１００】
上記は、制御系は、複数回の命令によって実行され、複数の命令が  確実に実施されることが重要であり、上記のようなパケットの括りで改ざんされないことを確認することが重要なことに基づく。また、図１３のように、複数個の平文に対してまとめて改ざん検知を実行することにより、個々の平文に対してその都度改ざん検知を行う煩雑さが低減される。
【０１０１】
なお、本発明は、上記の実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。そのような場合においてもシステム全体において行う処理に本質的な変化はない。
【符号の説明】
【０１０２】
１１：ＣＰＵ、１２：メモリ、１３：ハードディスクドライブ、１４：入力装置、１５：出力装置、１６：通信装置、１００：通信保護システム、１１０：送信装置、１１１：送信データ生成部、１１２、１３２：暗号設定取得部、１１３：暗号ヘッダ生成部、１１４：暗号処理部、１１５、１３５：暗号通信種別判定部、１１６、１３６：データフィルタ部、１１７、１３７：通信部、１１９、１３９：入力データフォーマット判定部、１２０：ネットワーク、１３０：受信装置、１３１：受信データ生成部、１３３：暗号ヘッダ検証部、１３４：復号処理部、２０４：暗号設定テーブル、１１８：鍵情報記憶装置、３０３：鍵情報テーブル、３０６：アルゴリズムテーブル
【図１】
2014165894.tif 000003
【図２】
2014165894.tif 000004
【図３】
2014165894.tif 000005
【図４】
2014165894.tif 000006
【図５】
2014165894.tif 000007
【図６】
2014165894.tif 000008
【図７】
2014165894.tif 000009
【図８】
2014165894.tif 000010
【図９】
2014165894.tif 000011
【図１０】
2014165894.tif 000012
【図１１】
2014165894.tif 000013
【図１２】
2014165894.tif 000014
【図１３】
2014165894.tif 000015
【図１４】
2014165894.tif 000016
【図１５】
2014165894.tif 000017