機密データ送信方法及び機密データ送信システム
【課題】機密データの送付における通信路での第三者による盗聴などによる漏洩からの保護と、機密データ送付後の外部関係者組織からの情報持ち出しに伴う漏洩の遮断とを、別途セキュリティ強化のために新たな機器等を導入することなく実現する。
【解決手段】送信側計算機2Aは、受信側計算機2Bから、この受信側計算機2Bが属するネットワークに接続された機器への通信要求に対する応答結果から生成された鍵情報key_rを取得し、この鍵情報を用いて送信データを暗号化して受信側計算機2Bに送信し、受信側計算機2Bは、機器への通信要求に対する応答結果から鍵情報を再生成して、鍵情報により暗号化されたデータを復号するようにした。
【解決手段】送信側計算機2Aは、受信側計算機2Bから、この受信側計算機2Bが属するネットワークに接続された機器への通信要求に対する応答結果から生成された鍵情報key_rを取得し、この鍵情報を用いて送信データを暗号化して受信側計算機2Bに送信し、受信側計算機2Bは、機器への通信要求に対する応答結果から鍵情報を再生成して、鍵情報により暗号化されたデータを復号するようにした。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機密電子データを受信側計算機に安全に送付する方法に関する。
【背景技術】
【0002】
近年、情報セキュリティの重要性が著しく高まり、特に機密情報の漏洩防止は企業活動において必須となっている。機密情報の漏洩を防ぐためには、漏洩に対する保護が脆弱な所から施策を講じていくのが常道である。しかし、対策を進めていくと、最終的には直接対策を講じることが出来ない要素として、自組織の管理範囲に含まれない他組織の外部関係者との機密情報の授受・共有とそれに伴う管理が残ることが多い。このセキュリティ・リスクは、各種の契約により外部関係者に機密保護の義務を課すことで軽減することはできるが、機密保護対策には相応のコストがかかる以上、どのような保護手段を採るかは、その外部関係者に委ねる場合がどうしても多くなる。機密情報の授受におけるセキュリティは、一方の当事者のみでもある程度管理可能だが、外部関係者に機密情報を渡した後の機密管理は、その関係者組織任せとなることが多くなる。
すなわち、外部契約者組織のセキュリティレベルが、機密保護の義務を履行する水準に達していなければ、機密漏洩後に損害賠償を求めることはできても、漏洩そのものは阻止できない。機密情報の授受より前に、外部関係者組織のセキュリティレベルについて監査することで、漏洩の恐れのある外部関係者を事前に排除することも不可能ではないが、それにも限界がある。また、万が一、外部関係者組織の中に悪意をもって機密漏洩を図る者がいれば、機密保護を課した契約も漏洩に対する抑止力として全く機能しない。
【0003】
以上のことから、外部関係者に機密情報を配布する場合に、外部関係者の所属組織のセキュリティレベルや構成員の意図とは無関係に、機密を漏洩から自動的に保護する仕組みや、組織外への機密持ち出し自体を不可能にする仕組みがあれば、外部関係者からの機密漏洩のリスクは大幅に低減される。
機密を漏洩から自動的に保護するひとつの方策として、機密情報を契約で定めた機器以外ではアクセスできなくすることが挙げられる。例えば、従来技術である特許文献1や特許文献2では、MACアドレス等の計算機の固有識別情報を用いて、あらかじめ定めた機器以外では、機密情報を扱うプログラムを動作させない仕組みを示している。
また、より広範囲なアクセス制限の方法として、ユーザー認証と文書のアクセス権を紐づける方法もある。例えば従来技術である特許文献3では、機密データをあらかじめ暗号化し、データにACL(アクセス制御リスト:ユーザーのアクセス権を定義したリスト)を付しておき、ACLでアクセスが許可されたユーザーが当該文書を開く時のみ、ユーザー認証を行うサーバに保存された復号鍵を一時的に付与する方法を示している。
【特許文献1】特開2006−108903公報
【特許文献2】特開2007−257144公報
【特許文献3】特開2004−152261公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1、2に示された方法の場合、機密を扱う機器がノートパソコンのような可搬性を有する物であれば、機密データを保存した機器自体を持ち出される可能性がある。その場合、そのノートパソコンが盗難に遭えば、その時点で機密は漏洩する。また、当然ながら、そもそも悪意を持って機密を略取しようとする者が外部関係者組織内にいれば、この仕組みでは機密漏洩を防ぐことはできない。
また、特許文献3に示される方法においては、暗号化された機密データを外部に持ち出してもユーザー認証ができず、その結果として復号する鍵も得られないため、データが外部に流出しても機密情報自体を外部に知られる可能性は低くなるが、その反面、この方法を実行するためには、認証サーバを構築・運用する必要があり、そのためには少なからずコストがかかる。外部関係者組織のセキュリティ意識ある程度以上高くなければ、そのような認証サーバの導入・運用は難しい。また、機密の授受を伴う外部関係者との契約がごく短期のものである場合、その契約のためだけに、契約先にそのような認証サーバ導入を強いることは難しい。
以上を鑑みて、本発明は、自組織の管理範囲に含まれない他組織の外部関係者に機密データを送付する場合において、送付における通信路での第三者による盗聴などによる漏洩からの保護と、機密データ送付後の外部関係者組織からの情報持ち出しに伴う漏洩の遮断とを、別途セキュリティ強化のために新たな機器等を導入することなく実現することを目的とする。
【課題を解決するための手段】
【0005】
上記の課題を解決するために、請求項1の発明は、送信側計算機から、異なるネットワークに属する受信側計算機に暗号化したデータを送信する機密データ送信方法であって、前記受信側計算機は、当該受信側計算機が属するネットワークに接続された機器への通信要求に対する応答結果から鍵情報を生成し、前記送信側計算機は、前記受信側計算機から前記鍵情報を取得して、前記鍵情報を用いて前記データを暗号化して前記受信側計算機に送信し、前記受信側計算機は、前記機器への通信要求に対する応答結果から前記鍵情報を再生成して、当該鍵情報により前記暗号化されたデータを復号する機密データ送信方法特徴とする。
また、請求項2の発明は、請求項1に記載の機密データ送信方法において、前記受信側計算機は、前記送信側計算機における前記データの暗号化に先立って、前記生成した鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送信し、前記送信側計算機は、送付された暗号化された前記鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記鍵情報を取得する機密データ送信方法を特徴とする。
また、請求項3の発明は、請求項2に記載の機密データ送信方法において、前記公開鍵にて前記鍵情報を暗号化する際に、適当な文字列による暗号化も付加する機密データ送信方法を特徴とする。
【0006】
また、請求項4の発明は、送信側計算機から、異なるネットワークに属する受信側計算機に暗号化したデータを送信する機密データ送信方法であって、前記受信側計算機は、当該受信側計算機の属するネットワークに接続された複数の機器への通信要求に対する応答結果から複数の部分鍵情報を生成し、前記送信側計算機は、前記受信側計算機から前記複数の部分鍵情報を取得し、適当な文字列からなるセッション鍵情報を生成し、前記データを前記セッション鍵情報で暗号化し、前記セッション鍵情報を、前記各部分鍵情報にて暗号化して複数の暗号化された前記セッション情報を生成し、暗号化された前記データ及び暗号化された各セッション鍵情報を前記受信側計算機に送信し、前記受信側計算機は、前記複数の機器への通信要求に対する応答結果から複数の部分鍵情報を再生成し、生成した部分鍵情報にて、前記送信側計算機から送信された暗号化されたセッション鍵情報の何れかを復号し、復号したセッション鍵情報にて暗号化された前記データを復号する機密データ送信方法を特徴とする。
また、請求項5の発明は、請求項4に記載の機密データ送信方法において、前記受信側計算機は、前記送信側計算機における前記データの暗号化に先立って、前記部分鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送付し、前記送信側計算機は、前記暗号化された部分鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記部分鍵情報を取得する機密データ送信方法を特徴とする。
また、請求項6の発明は、請求項5に記載の機密データ送信方法において、前記公開鍵にて各部分鍵情報を暗号化する際に、適当な文字列による暗号化も付加することを特徴とする機密データ送信方法。
【0007】
また、請求項7の発明は、請求項1乃至6の何れか1項に記載の機密データ送信方法において、前記応答結果は、ARPリクエストに対するMACアドレスの応答である機密データ送信方法を特徴とする。
また、請求項8の発明は、請求項1乃至6の何れか1項に記載の機密データ送信方法において、前記応答結果は、SNMPリクエストに対する機器診断情報の応答である機密データ送信方法を特徴とする。
また、請求項9の発明は、データを暗号化して送信する送信側計算機と、該送信側計算機とは異なるネットワークに属し、暗号化された前記データを受信して復号する受信側計算機と、から構成される機密データ送信システムであって、前記受信側計算機は、当該受信側計算機が属するネットワークに接続された機器への通信要求に対する応答結果から鍵情報を生成する鍵生成処理部と、前記応答結果から前記鍵情報を再生成して、当該鍵情報により前記送信側計算機から送付された暗号化された前記データを復号するデータ復号部と、を備え、前記送信側計算機は、前記受信側計算機から取得した前記鍵情報を用いて前記データを暗号化して前記受信側計算機に送信するデータ暗号化部を備えた機密データ送信システムを特徴とする。
【0008】
また、請求項10の発明は、請求項9に記載の機密データ送信システムにおいて、前記受信側計算機は、前記送信側計算機における前記送信データの暗号化に先立って、前記生成した部分鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送付し、前記送信側計算機は、送付された暗号化された前記鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記鍵情報を取得する機密データ送信システムを特徴とする。
また、請求項11の発明は、請求項10に記載の機密データ送信システムにおいて、前記公開鍵にて前記鍵情報を暗号化する際に、適当な文字列による暗号化も付加する機密データ送信システムを特徴とする。
また、請求項12の発明は、送信データを暗号化して送信する送信側計算機と、該送信側計算機とは異なるネットワークに属し、暗号化された前記送信データを受信して復号する受信側計算機と、から構成される機密データ送信システムであって、前記受信側計算機は、該受信側計算機の属するネットワークに接続された複数の機器への通信要求に対する応答結果から複数の部分鍵情報を生成する鍵生成処理部と、前記応答結果から複数の部分鍵情報を再生成し、再生成した部分鍵情報にて、前記送信側計算機から送信された暗号化されたセッション鍵情報の何れかを復号し、復号したセッション鍵情報にて暗号化された前記データを復号する機密データ復号部と、を備え、前記送信側計算機は、適当な文字列からなるセッション鍵情報を生成し、前記データを前記セッション鍵情報で暗号化し、前記セッション鍵情報を、前記受信側計算機から取得した前記複数の部分鍵情報にて暗号化して複数の暗号化された前記セッション情報を生成し、暗号化された前記データ及び暗号化された各セッション鍵情報を前記受信側計算機に送信する機密データ暗号部とを備えた機密データ送信システムを特徴とする。
【0009】
また、請求項13の発明は、請求項12に記載の機密データ送信システムにおいて、前記受信側計算機は、前記送信側計算機における前記送信データの暗号化に先立って、前記部分鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送付し、前記送信側計算機は、送付された前記暗号化された部分鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記部分鍵情報を取得する機密データ送信システムを特徴とする。
また、請求項14の発明は、請求項13に記載の機密データ送信システムにおいて、前記公開鍵にて各部分鍵情報を暗号化する際に、適当な文字列による暗号化も付加する機密データ送信システムを特徴とする。
また、請求項15の発明は、請求項9乃至14の何れか1項に記載の機密データ送信システムにおいて、前記応答結果は、ARPリクエストに対するMACアドレスの応答である機密データ送信システムを特徴とする。
また、請求項16の発明は、請求項9乃至14の何れか1項に記載の機密データ送信システムにおいて、前記応答結果は、SNMPリクエストに対する機器診断情報の応答である機密データ送信システムを特徴とする。
【発明の効果】
【0010】
以上のように構成したので、本発明によれば、機密データの保有者が、機密データを外部の関係者に漏洩することなく安全に送信することが可能となる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施の形態を、図面に従って詳細に説明する。
図1は、本発明の実施の形態に係るデータ送信システムの一例の全体構成を示す図である。
図1に示すデータ送信システムは、インターネット{TCP/IP(Transmission Control Protocol/Internet Protocol)、HTTP(Hyper Text Transfer Protocol)、SSL(Secure Socket Layer)等のプロトコルに基づいて相互リンクされたネットワークの集合体}Nを介して通信可能な、例えばローカルエリアネットワークN1に接続された機密データ送信計算機1から、ローカルエリアネットワークN2に接続された機密データ受信計算機4(4−1、4−2)へ、暗号化された機密データを送付するシステムである。
機密データ送信計算機1や機密データ受信計算機4−1、4−2としては、例えば、ノート型やデスクトップ型のパーソナルコンピュータが考えられる。ネットワークN2に接続されているネットワーク機器5としては、例えば、ネットワーク対応複写機や各種のサーバなどが考えられる。
機密データ送信計算機1は、ローカルエリアネットワークN1内に設置されたゲートウェイルータ(単にルータとする)2を介して、インターネットNに通信可能となっている。同様に、機密データ受信計算機4−1、4−2は、ローカルエリアネットワークN2内に設置されるルータ3を介して、インターネットNに通信可能となっている。また、本実施例においては、ルータ2や3などにより、インターネットNとの通信、特にルータの外側から内側へ発信される通信や、ルータを挟んでのブロードキャスト通信などが制限されている場合に、ローカルエリアネットワークN1やN2を、「閉じたネットワーク」と呼ぶ。
【0012】
また、図2は、機密データ送信計算機1、機密データ受信計算機4のハードウェア構成を示す図である。
上述したように、送信側、受信側どちらも汎用的な構成のパーソナルコンピュータでよく、計算機全体の制御を行い本発明の各プログラムを実行する演算装置としてのCPU10、ローカルエリアネットワークN1又はN2に接続するためのネットワークインターフェイス11、マウスやキーボードなどの入力装置12、各種データやプログラムを記憶、蓄積するためのハードディスクドライブ13、CPU10による処理のためにデータやプログラムを展開するめのRAM(Random Access Memory)14、液晶モニタ等の表示装置15から主に構成されている。
本システムの目的は大きく3つある。第一に、機密データの保有者が、自身の所属するローカルエリアネットワークN1から、相手側のローカルエリアネットワークN2に対して機密データを漏洩することなく安全に送信すること。第二に、いったん送信され相手側で取得された機密データの、ローカルエリアネットワークN2からの持ち出しや漏洩を防ぐこと。第三に、以上の目的を、相手側のローカルエリアネットワークN2内に、認証サーバのような新たな機器類を増設したり、ネットワーク構成を変更したりすることなく達成することである。
【0013】
図3は、本発明のデータ送信システムを構成する各計算機において実行されるプログラムの機能ブロック図であり、(a)は、機密データ送信計算機1、(b)は機密データ受信計算機4における機能ブロック図を示している。これらの機能ブロックは、図2に示す各計算機におけるCPU10によって実行されている。
(a)に示すように、機密データ送信計算機1では、送信側鍵生成処理部24、機密データ暗号化部(データ暗号化部)26が実行される。
(b)に示すように、機密データ受信計算機4では、受信側鍵生成処理部25、機密データ復号部(データ復号化部)27が実行されている。
送信側鍵生成処理部24は、受信側鍵生成処理部25とともに、鍵生成処理ブロック21を構成するものであり、計算機間で機密データをやりとりするための暗号鍵を生成する。
また、機密データ暗号化部26は、機密データ暗号化・送付処理ブロック22を構成し、鍵生成処理ブロック21で生成された暗号鍵によって、機密データを暗号化し、受信側計算機に送付するものである。
また、機密データ復号部27は、機密データ復号処理ブロック23を構成し、暗号化されて送付された機密データを復号する機能を果たしている。
【0014】
以下に、本発明の具体的な実施形態について説明する。
[第1の実施形態]
以下、本発明の第1の実施形態に係るデータ送信システムについて説明する。
図4は、本実施形態のデータ送信システムにおける全体動作のフローチャートを示す図である。
図4は、機密データ送信側計算機1Aから、機密データ受信側計算機4Aに機密データを送信するためのものであり、機密データ送信側計算機1Aは図1における機密データ送信計算機1に、機密データ受信側計算機4Aは図1における機密データ受信計算機4−1や4−2に相当する。
図4に示す全体動作のフローは、機密データ送信側にて、機密データを暗号化するための鍵を生成し、それを機密データ送信側に送付する鍵生成処理ブロック21と、機密データ送信側が機密データを暗号化し、機密データ受信側に送信する機密データ暗号化・送付処理ブロック22と、機密データ受信側が暗号化された機密データを復号する機密データ復号処理ブロック23からなる。
なお、図4では、処理ブロック21〜23を一連の動作として記述しているが、状況によって処理ブロック21、22については過去の実行結果を再利用し、当該処理ブロックを省略することができる。具体的には、鍵生成処理ブロック21で機密データ送信側が機密データ受信側から暗号化に用いる鍵をいったん取得すれば、以後、同一の相手に機密データを暗号化・送付する場合、その鍵を再利用することができ、鍵生成処理ブロック21を省略できる。また、機密データ暗号化・送付処理ブロック22で暗号化された機密データを機密データ受信側がいったん取得すれば、以後、受信側が同一の機密データにアクセスする限りは、機密データ暗号化・送付処理ブロック22も省略できる。
【0015】
以下、図4の各動作ステップについて説明する。
鍵生成処理ブロック21では、まず、機密データ送信側計算機1Aが、鍵情報生成器gen_keyを機密データ受信側計算機4Aに送信する(ステップS211)。鍵情報生成器gen_keyは、例えばソフトウェアプログラムの形態をとり、機密データ受信側の計算機上で実行されることで、当該計算機の所属するネットワークの固有応答情報から暗号化に用いる鍵となる情報を生成するものである。鍵情報生成器gen_keyの詳しい動作については図6の説明にて後述する。鍵情報生成器gen_keyを送信する手段としては、一般的な電子メールなどが考えられる。
次に、機密データ受信側計算機4Aは、鍵情報生成器gen_keyを受信・取得し(ステップS212)、この鍵情報生成器gen_keyを用いて、機密データ受信側の計算機の所属するネットワークの固有応答情報sから、送信側における機密データの暗号化に用いる共通鍵としての受信側鍵情報key_rを生成する(ステップS213)。
【0016】
次に、機密データ受信側計算機4Aは、受信側鍵情報key_rを機密データ送信側計算機1Aに渡す(ステップS214)。なお、この受信側鍵情報key_rは、機密データを暗号化するために用いる情報であるため、その漏洩は機密データの漏洩につながる。よって、安全であることが保証されている伝達手段で渡すことが強く求められる。具体的な伝達手段としては、暗号化・署名された電子メールや、手渡しなどが挙げられる。また、安全かつ容易な鍵の送付手段を構成に含むデータ送信システムについては、本発明の第3、4の実施の形態にて説明する。
次に、ステップS214を受けて、機密データ送信側計算機1Aは、受信側鍵情報key_rを取得し(ステップS215a)、それと併せて、機密データ受信側計算機4Aは受信側鍵情報key_rを破棄する(ステップS215b)。なお、ステップS215aとステップS215bの実行順序は、どちらが先でも構わないが、機密データ受信側から情報の持ち出しや漏洩を防ぐためには、ステップS215bは確実に実施しなければならない。以上が、鍵生成処理ブロック21の動作フローである。
【0017】
次に鍵生成処理ブロック21で行われる鍵情報生成器gen_keyの動作について説明する。
鍵情報生成器gen_keyは、鍵情報生成器gen_keyが実行される機密データ受信側計算機4Aと、この機密データ受信側計算4Aが接続された同じネットワークに属する他のネットワーク機器との通信応答結果を用いて、機密データの暗号化・復号に用いる受信側鍵情報key_rを生成するものである。よって、当該ネットワーク機器は、常時稼動し、通信応答可能であるものが望ましい。当該ネットワーク機器として用いることのできる機器としては、例えば、機密データ受信側計算機4Aの属するネットワークを統括し、外部ネットワーク、例えばインターネットとの通信を中継する役割を担うルータなどが考えられる。例えば、図1において、機密データ受信計算機4−1にて鍵情報生成器gen_keyを実行する場合、ルータ3が、ここでいう「他のネットワーク機器」に相当する。
【0018】
図5は、機密データ受信側計算機4Aの属するネットワークを統括するルータを通信相手とする場合の、鍵情報生成器gen_keyの実行時の動作フローを示す図である。
鍵情報生成器gen_keyを実行する計算機を鍵情報生成器実行計算機4aとし、同ルータ3と通信を行う。ただし、本発明の第1の実施形態にて規定するのは、鍵情報生成器実行計算機4aで実行される動作のみである。ルータ3の動作であるステップS302、S303、S304は、ステップS301を受けての一般的なネットワーク機器に共通の挙動であり、本発明固有の動作ではない。この3つの動作ステップは説明のために図示したにすぎない。
まず、鍵情報生成器実行計算機4aから、ルータ3に対し、適当なネットワークサービス要求パケットを送信する(ステップS301)。ここで、ステップS301で利用するサービスはあらかじめ決めておく必要がある。鍵情報生成器gen_keyは、最終的にこのサービス要求の応答結果を暗号・復号の鍵情報の要素として用いるため、ルータ3からの応答が期待できる汎用的なサービスで、かつ、機器によって異なる返答が期待できるサービスを利用する。例えば、ネットワークに接続された機器であれば、IPアドレスからMACアドレスの名前解決を行うARP(Address Resolution Protocol)リクエストのブロードキャストには応答するはずであり、この応答結果は応答を返した機器の固有情報であるMACアドレスなので、ここで用いるサービスとしては適当である。また、ルータの場合、ネットワーク機器の診断情報を取得するためのSNMP(Simple Network Management Protocol)リクエストにも応答する可能性が高い。SNMPの応答結果はその機器の固有情報を多数含むので、やはり鍵生成に用いる情報としては適当である。
【0019】
ステップS301のパケットをルータ3が受信すると(ステップS302)、対応するサービスが同ルータ上で動作していれば(S303でYes)、鍵情報生成器実行計算機4aに対し応答パケットが返される(ステップS304)。鍵情報生成器実行計算機4aは、一定時間この応答パケットを待ち、応答があれば(ステップS305でYes)、応答パケットを受信して(S306)通信を継続し、正規に通信を完了させる(ステップS307)。応答がなく、未試行のサービス要求がまだあれば(S311でYes)、ステップ301に戻り、未試行のサービス要求を試みる。通信応答があった場合は、通信を完了した後、受信した応答パケットから適当な情報を鍵断片情報として抽出する(ステップS308)。ここで鍵断片情報として用いる適当な情報とは、通信プロトコルがARPであれば、ルータ3のMACアドレスであり、SNMPであれば、ルータ3の機器診断情報の管理データベースであるMIB(Management Information Base)を構成するオブジェクトの値の1つ、例えば、機器の名称や構成を示す情報となる。単一の通信応答から鍵情報を生成する場合は、この通信応答情報だけで受信側鍵情報key_rを生成する(ステップS310)。複数の通信応答結果を組み合わせて鍵情報を生成する場合、必要な鍵断片情報がそろったかを判断し(S309)、Noの場合、利用可能なサービス要求が残っていれば(S11でYes)ステップS301に戻り、ステップS301〜S309を繰り返し、応答情報がそろった時点で(S309でYes)、それら受信側鍵情報を構成するための情報(以下、「鍵断片情報」と呼称する)を組み合わせて受信側鍵情報key_rを生成する(ステップS310)。受信側鍵情報key_rのデータ構造と値の例を表1に挙げる。
[表1]
【0020】
項目「IPアドレス」はルータ3のIPアドレスで、鍵情報生成器実行計算機4a自身のネットワーク設定情報から取得できる。なお、ルータを対象とする場合、項目「IPアドレス」はルータと同一ネットワークに属する機器にとっては自明なので、表1(b)のように空欄にしてもよい。項目「鍵断片の識別子」は、鍵断片情報として用いる情報の識別子である。表1の場合、ARPブロードキャストに対するルータ3からの応答として得られる「MACアドレス」(表1の2行目)と、SNMP応答により得られるMIB格納情報のうち、[iso].[org].[dod].[internet].[mgmt].[mib-2].[System].[sysDescr]に格納されている情報(表1の3行目)と、[iso].[org].[dod].[internet].[mgmt].[mib-2].[System].[sysObjectID]に格納されている情報(表1の4行目)を鍵断片情報として用いている。項目「鍵断片の値」は、「鍵断片の識別子」で識別される値そのものである。なお、表1は説明のために値を平文で示したが、実際のシステムにおいては、表1に例示したような鍵情報は適当な符号化により難読化しておく事が望ましい。なお、ここでいう難読化の範囲は、「鍵断片の値」だけではなく、「鍵断片の識別子」や、断片が幾つあるかといった情報(表1の場合は3つ)までも含む。また、難読化のアルゴリズムは頻繁に変更することが望ましい。さらに、表1では鍵断片情報として3つの項目しか用いていないが、実際に運用する際は、できるだけ多くの通信応答結果を鍵情報に含める方が望ましい。
【0021】
以上が、機密データ受信側計算機4A上で鍵情報生成器gen_keyを実行して、機密データの暗号化に用いる受信側鍵情報key_rを生成する動作フローである。
なお、図5の動作フローは、ネットワークを統括するルータ等が鍵情報を生成するための通信相手であったが、ネットワーク接続された複写機など、業務時間中は常時稼動している機器なども、共通鍵を生成するために用いるネットワーク機器として利用できる。
【0022】
ただし、ルータについては、鍵情報生成器実行計算機4a自身があらかじめ通信先のIPアドレスを知っているが、その他の機器については、鍵情報生成器実行計算機4a自身はIPアドレスを知らないことが多い。そのため、まずは鍵情報生成のための適当な通信相手の探索と、その相手のアドレス取得から始める必要がある。鍵情報を生成するための通信相手の探索する際、当該ネットワーク機器は、できれば常時稼動しており、常時稼動でない場合は少なくとも機密データの復号を行う時点で通信応答可能であることが求められる。そのような適当な対象機器を特定する最も簡単な方法は、機密データ受信側の利用者に適当な機器のIPアドレスを聞くことだが、自動で行うのであれば、前述のSNMPを用いる方法がある。単純にSNMPによる通信に対して応答を返すか否かを判定するだけでも、常時稼動が期待できない一般的なパーソナルコンピュータの類は排除できる。より実用的には、SNMPで所得するMIBオブジェクトのうち機器の種類を特定しうるもの、例えば、[dod].[internet].[mgmt].[mib-2].[System].[sysObjectID]や、[iso].[org].[dod].[internet].[mgmt].[mib-2].[System].[sysDescr]などを取得すれば、その値から常時稼動が期待できるOA機器等を特定することも可能である。具体的には、著名な機器で常時稼動が期待できる製品名等の部分文字列の集合(以下、常時稼動機器識別データベースと呼称)を鍵情報生成器gen_keyの内部にあらかじめ文字列群を保持しておき、それを、SNMPの応答結果と比較すればよい。
【0023】
図6は、SNMPを用いて鍵情報生成のための適当な通信相手の探索を行う動作フローを示す図である。
まず、鍵情報生成器実行計算機4aである受信側計算機4Aが、同一サブネット内の適当なIPアドレスaに、MIB−2の格納情報を要求するSNMPパケットを送信する(ステップS401)。パケット送信後、一定時間待って(ステップS402)、IPアドレスaのホストから応答があれば、応答結果に含まれるMIBの格納情報と、鍵情報生成器gen_key内部の常時稼動機器識別データベースと比較する(ステップS403)。比較した結果、常時稼動機器識別データベースに格納されている文字列群のいずれかと、SNMP応答結果の部分文字列が合致すれば(ステップS404でYesの場合)、IPアドレスaの機器を鍵情報生成のための通信相手とする(ステップS405)。逆に、SNMP応答結果に合致する文字列が無い場合(ステップS404でNoの場合)、同一サブネット内で未探索のIPアドレスがあれば(ステップS406でYesの場合)、ステップS401に戻って繰り返す。以上がSNMPを用いて鍵情報生成のための適当な通信相手の探索を行う動作フローである。
なお、図6の動作フローを実行してもネットワークを統括するルータ以外に鍵情報生成に適当な機器が見つからない場合もありうる。その場合は、ルータを対象にして鍵情報生成すればよい。逆に、適当な機器が複数存在する場合もありうる。図6の動作フローでは最初に見つけた適当な機器をそのまま鍵情報生成のための通信相手に選んでいるが、より適切な運用としては、鍵情報生成器gen_key内部の常時稼動機器識別データベースに格納された文字列群各々に、あらかじめ優先度をもうけておき、一定範囲のアドレスを探索した後に、優先度のより高い文字列に合致した機器を選ぶようにすればよい。基本的には、ルータやファックスのように常時稼動されることが多い機器で、名称に多様性のより少ない機器に対応する文字列の優先度を高くしておけばよい。
【0024】
また、図6の動作フローとは別に、SNMP通信に応答しないサーバ機器を、鍵情報を生成するための通信相手にすることもできる。その場合は、サーバ特有のサービスに対応する通信プロトコルのパケットを送信して、その応答により判断すればよい。プロトコルの具体例としては、HTTP(HyperText Transfer Protocol)やSMTP(Simple Mail Transfer Protocol)などが考えられる。また、より厳格に運用するのであれば、NetBIOS over TCP/IPのような計算機のネットワーク上における位置づけを取得可能な通信プロトコル群を用いてもよい。
図6の動作フローにより、ネットワークを統括するルータ等以外の通信相手を発見し、当該機器との通信により鍵情報を生成する場合でも、通信相手機器が決まった後の動作フローは、図5でルータを相手にする場合と同様である。
【0025】
次に、図4の機密データ暗号化・送付処理ブロック22について説明する。なお、同処理ブロックの前提として、機密データ送信側である機密データ送信側計算機1Aは、鍵生成処理ブロック21により受信側鍵情報key_rを取得しているものとする。
まず、機密データ送信側計算機1Aは受信側鍵情報key_rを用いて、機密データdを暗号化して、暗号化機密データenc(key_r,d)を生成する(ステップS221)。なお、受信側鍵情報key_rから実際に暗号化に用いる鍵となるデータを生成する方法としては幾つ考えられるが、単純な方法としては、[表1]に示す受信側鍵情報key_rの項目「鍵断片の値」の値を、上から順に連結した文字列の場合
“FF1A59C0CF14XYZ Corp. ABC_GatewayRouter123 type N ver.1.2.3enterprises.255.255.255”
となる)を用いることが考えられる。
【0026】
次に、暗号化機密データenc(key_r,d)と、鍵断片識別情報key_IDと、鍵情報再生成器gen_key2をまとめて送付データp{enc(key_r,d),key_ID,gen_key2}を生成する(ステップS222)。この鍵断片識別情報key_IDとは、表1における受信側鍵情報key_rから、項目「鍵断片の値」の部分をのぞいたものである。表2にその具体例を挙げておく。なお、表2は説明のために値を平文で表記しているが、実際に運用する際は、表1の場合同様、適当な符号で難読化しておくことが望ましい。なお、難読化の範囲についても、表1の場合同様、「鍵断片の識別子」だけでなく、断片が幾つあるかといった情報(表1の場合は3つ)までも含む。また、難読化する場合、難読化された情報から元の情報を復元する処理を、鍵情報再生成器gen_key2に含めておく必要がある。
[表2]
【0027】
鍵情報再生成器gen_key2は、図5にて説明したgen_keyと似た動作をするものである。詳しくは、機密データ復号処理ブロック23の説明で後述する。次に、送付データp{enc(key_r,d),key_ID,gen_key}を機密データ受信側に送信する(ステップS223)。送信手段としては、一般的な電子メールなどを用いることが出来る。最後に、送付データp{enc(key2,d),key2_id,gen_key}を、機密データ受信側である機密データ受信側計算機4Aが取得する(ステップS224)。以上が機密データ暗号化・送付処理ブロック22の動作フローである。
さらに、図4の機密データ復号処理ブロック23について説明する。なお、同処理ブロックの前提として、機密データ受信側である機密データ受信側計算機4Aは、機密データ暗号化・送付処理ブロック22にて、送付データp{enc(key_r,d),key_ID,gen_key2}を取得しているものとする。また、この処理ブロックは、全て機密データ受信側である機密データ受信側計算機4Aにて実行されるものとする。なお、機密データ復号処理ブロック23の処理は、鍵生成処理ブロック21を実行した計算機と同一のネットワークに接続された計算機であれば、同様に実行可能である。
【0028】
まず、送付データp内の鍵情報再生成器gen_key2と鍵断片識別情報key_IDとにより、機密データの暗号化に用いる受信側鍵情報key_rを再度生成する。鍵情報再生成器gen_key2が受信側鍵情報key_rを取得する処理は、図3にて説明した鍵情報生成器gen_keyの動作フローと似たものだが、鍵断片としてどの固有情報を決定する方法が異なる。図5に示した鍵情報生成器gen_keyは、利用可能な情報をgen_key自身が適当に選ぶ。対して、gen_key2は、同時に送付された鍵断片識別情報key_IDから、鍵断片として用いる情報を特定する。詳しくは図5にて後述する。次に、受信側鍵情報key_rで送付データp内のenc(key_r,d)を復号して、機密データdを取得し(ステップS232)、復号を終了した時点で受信側鍵情報key_rを破棄する(ステップS233)。なお、図5の動作フローでは明示していないが、機密データの漏洩を防ぐためには、受信側鍵情報key_rと同様に、復号された機密データdも利用を終了した時点で速やかに破棄する必要がある。また、アクセス中に復号済みの機密データを他の媒体への書き出すことも出来ないよう実装する必要がある。少なくとも、復号に用いる鍵情報や、復号過程や復号結果のデータを、ハードディスクなどの持ち出し可能な記録媒体に、ごく短時間でも保存するような実装は避けるべきである。以上が、機密データ復号処理ブロック23の動作フローである。
【0029】
図7は、機密データ復号処理ブロック23で用いる鍵情報再生成器gen_key2の動作フローを示す図である。
図7において、鍵情報再生成器gen_key2を実行する計算機を、鍵情報生成器実行計算機4b、共通鍵を構成する鍵断片情報を生成源となるネットワーク機器を鍵生成参照機器5aとする。なお、本発明の形態の規定する動作は鍵情報生成器実行計算機4bのものだけである。ステップS503、S504、S505、S506は、ステップS502を受けての一般的なネットワーク機器に共通の挙動であり、本発明固有の動作ではない。この4つの動作ステップは説明のために図示したにすぎない。
【0030】
まず、鍵情報生成器実行計算機4bは、鍵断片識別情報key_IDのうち、未処理の行を参照して通信先のIPアドレスaと、鍵断片情報として利用する通信要求rを特定する。例えば、鍵断片識別情報key_IDが表2の場合に、最初の行を参照したとすると「通信先のIPアドレスa」は127.0.0.1、通信要求は「MACアドレス」の要求となる。次に、IPアドレスaのホスト(鍵生成参照機器5a)に対して、通信要求rのパケットを送信する(ステップS502)。IPアドレスaのホストが存在した場合(S503でYes)、同ホストは通信要求のパケットrを受信し(ステップS503)、rに対応するサービスがあれば(S505でYes)、応答パケットrpを鍵情報生成器実行計算機4bに返信され(ステップS506)、鍵情報生成器実行計算機4bは同パケットrpを受信する(ステップS507)。IPアドレスaのホストがネットワーク上に存在しない場合(S503でNo)、もしくは、該当ホスト上で通信要求に対応するサービスが動作していない場合(S505でNo)などの場合には、ステップS508で応答を確認できず(ステップS508でNoの場合)、その時点で鍵生成不能と判定して(ステップS513)、処理を終了する。一定時間内に応答があった場合でも、通信要求が受理されず拒絶の返答であった場合(ステップS509でNoの場合)は、その時点で鍵生成不能と判定して(ステップS513)、同様に処理を終了する。なお、ステップS513で処理を終了した場合は、当然、機密データは復号されない。通信が受理され要求に対する回答を含む応答があった場合(ステップS509でYesの場合)、受け取った応答パケットrpから、鍵断片情報を取得する(ステップS510)。鍵断片識別情報key_IDに含まれる全ての鍵断片情報が揃えば(ステップS511でYesの場合)、鍵断片情報をまとめて受信側鍵情報key_rを生成して処理を終了する。
鍵断片識別情報key_IDに含まれる全ての鍵断片情報が揃っていなければ(ステップS511でNoの場合)、ステップS501に戻る。以上が、鍵情報再生成器gen_key2の動作フローである。
【0031】
以上説明したように、機密データの送信側は、機密データ受信側の属する閉じたネットワークに接続された機器への汎用的なネットワーク通信要求に対する応答結果から機密データの暗号化に用いる鍵情報を生成し、同鍵情報を用いて機密データを暗号化して送信し、機密データの受信側は、機密データの復号の都度、受信側機器の所属するネットワークに接続された機器への通信要求に対する応答結果から復号に用いる鍵を再生成し、暗号化された機密データを復号するようにしたことで、機密データの保有者が、機密データを外部の関係者に漏洩することなく安全に送信することが可能となった。
また、機密データ受信側の属する閉じたネットワーク内の応答情報を暗号・復号の鍵情報に用いることで、いったん送信され相手側で取得された機密データの、受信側の特定の閉じた計算機ネットワークの外部への漏洩を防ぐことが可能となった。
さらに、汎用的なネットワーク通信要求に対する応答結果を暗号・復号の鍵情報に用いることで、上記の効果を相手側に認証サーバのような新たな機器類を増設したり、ネットワーク構成を変更したりすることなく得ることが可能となった。
【0032】
[第2の実施形態]
以下、本発明の第2の実施形態に係るデータ送信システムについて説明する。
前述の第1の実施形態に係るデータ送信システムでは、機密データ暗号化に用いる鍵情報のもとになる、通信応答結果の生成元・通信相手として、ルータなどの単一のネットワーク機器のみを用いていた。
本実施形態のデータ送信システムでは、鍵情報の生成元として、複数の機器を用いる。
本実施形態は、第1の実施形態に加えて、鍵情報生成に用いた通信応答の発信元ネットワーク機器と同様の応答を返す通信ホストを偽装することによる、受信側ネットワーク外への機密データの悪意の持ち出しを困難にすることを更なる目的としている。
例えば、第1の実施形態におけるデータ送信システムにおいては、鍵情報生成に用いる通信応答の発信元機器として、確実な動作が期待できるルータが設定されることが多いと考えられる。これは裏を返せば、一般的なアクセス権限でのルータの応答情報をあらかじめ全て取得しておき、ルータと同一アドレスで当該ルータの応答を偽装する通信ホストを用意すれば、本来機密データの復号が可能なネットワークに接続していなくても、機密データの復号が可能となってしまう。それに対し、鍵情報生成に用いる通信応答の発信元機器が複数あれば、通信ホスト偽装による機密データ持ち出しは、より困難となる。
【0033】
図8は、第2の実施形態におけるデータ送信システムの全体の動作フローを示す図である。
第2の実施形態の全体の動作フローは、図4に示した第1の実施形態における各ブロック21、22、23の変形である鍵生成処理ブロック21a、機密データ暗号化・送付処理ブロック22a、機密データ復号処理ブロック23aの3つに分けられる。
この3つの処理ブロックのうち、鍵生成処理ブロック21aの動作は、第1の実施形態とほぼ同様の動作を行う。鍵生成処理ブロック21aの目的は鍵情報key_rを生成することだが、第1の実施形態と第2の実施形態における、鍵情報けkey_rの差異は「複数のIPアドレスを許容するか否か」だけである。表3に第2の実施形態における鍵情報key_rの例を挙げる。
[表3]
【0034】
第1の実施形態における鍵情報key_rの例である表1との差異は、項目「IPアドレス」に複数の値が入っているかどうかだけである。また、鍵生成処理ブロック21aに含まれる鍵情報生成機gen_keyの挙動も、第1の実施形態の鍵生成処理ブロック21におけるそれとほぼ同様で、処理内容は、図6に挙げた通信相手の探索と、図5に挙げた鍵断片の抽出・取得を繰り返すだけである。ただし、図6においては、第1の実施形態では鍵情報の元となる通信応答の生成源とする通信相手を1つ見つけた時点で終了するが、第2の実施形態は適当な範囲のIPアドレス全てを探索してから終了する。通信相手の探索範囲としては、単純に同一サブネットに属するIPアドレス全てを対象とすることが考えられるが、該当ホスト数が多い場合は、ある程度範囲を限定すべきである。例えば、探索範囲を受信側計算機1BのIPアドレスと第1〜3セグメントが同一のIPアドレス群で限定するなどが考えられる。
【0035】
次に、機密データ暗号化・送付処理ブロック22aについて説明する。この処理ブロックは、第1の実施形態と大きく異なる。最大の相違点は、第1の実施形態では単純に鍵情報key_rで機密データを暗号化していただけなのに対し、第2の実施形態では、鍵情報key_rとは別に、暗号化の都度ランダムな値を取るデータを一時的な鍵であるセッション鍵key_sとして併用する。また、第1の実施形態では、鍵情報key_rを単一の鍵とみなして暗号化していたが、第2の実施形態では鍵情報key_rから、さらに複数の鍵を生成する。
【0036】
例えば、図9に挙げるような項目「IPアドレス」に4つのIPアドレスが含まれる鍵情報の場合、2〜4のIPアドレスのホストからの鍵断片の値を組み合わせて鍵を生成する。2つのIPアドレスのホストからの応答情報から鍵を生成する場合だと、{ルータ、アドレスA}、{ルータ、アドレスB}、{ルータ、アドレスC}、{アドレスA、アドレスB}、{アドレスA、アドレスC}、{アドレスB、アドレスC}の6通りの組み合わせがあり、最大6つの鍵が生成される。ただし、MACアドレスのような偽装しやすい情報しか得られなかったホストからの鍵断片のみで構成された組については除外することも考えられる。図9の場合、{アドレスA、アドレスB}がその除外対象に該当する。本実施形態の説明では、以後、これらの部分組み合わせで構成された鍵断片群を受信側部分鍵key_rpと呼称する。なお、図7の例の場合、4つのIPアドレスの鍵断片全てを使って鍵を生成すれば、組み合わせの数は1つしかできないので、第1の実施形態と構成をほとんど変えず機密データ暗号化・送付処理ブロック22aを実装できるが、そのような実装は基本的には推奨できない。なぜなら、受信側鍵情報key_rに含まれるIPアドレスは、鍵情報key_rを生成した際に探索範囲において通信可能であったネットワーク機器全てから取得したものであるが、機密データを復号する際にも、それら全てと通信可能であるとは限らないからである。要は、ホスト偽装による機密データの持ち出しを防げればよいので、一般的なオフィスを想定するなら、ルータと、OA機器1台と、計算機2〜3台程度とで部分鍵を構成すれば、ホスト偽装阻止には十分効力を発揮すると考えられる。もちろん、重篤な機密データを扱うのであれば、より大きな組み合わせで部分鍵を構成してもよい。
【0037】
実際に、機密データを暗号化する際は、まず、セッション鍵で機密データを暗号化し、そのセッション鍵を受信側部分鍵key_rpの各々で暗号化する。図9の例であれば、暗号化されたセッション鍵が6つ(全ての組み合わせを用いた場合)、もしくは5つ(部分鍵{アドレスA、アドレスB}を除外した場合)生成されることになる。機密データの受信側には、暗号化されたセッション鍵群全てと、暗号化された機密データの両方ともを送付する。機密データの受信側では、逆の手順で復号すればよい。
なお、機密データの暗号化の際に、セッション鍵による暗号化を挟む主な理由は、送付データサイズの削減にある。例として、鍵情報生成源の対象となりうるネットワーク機器が10台あり、そのうち3つの組で部分鍵を生成するケースで、セッション鍵による暗号化を挟まない場合と、挟む場合とを比較する。まず、セッション鍵を用いず、直接、受信側部分鍵で機密データを暗号化する場合、鍵断片生成源となる機器の組み合わせの数は120通りあり、それに対応して部分鍵は120個生成される。暗号化する機密データのサイズが10MBほどの大きさである場合、暗号化によりデータサイズが変わらないと仮定しても、送付データのサイズは、機密データの部分だけで
10MB×120組=1.2GBの大きさになる。
【0038】
次に、暗号化の際に間にセッション鍵を挟む場合を考える。送付される主なデータは、暗号化された機密データが1つと、暗号化されたセッション鍵が120個である(それ以外のデータは、ファイルサイズがごく小さいので、ここでは考慮しない)。一般的な共通鍵暗号方式において鍵のサイズはせいぜい1KB程度なので、暗号化されたセッション鍵群の総サイズもせいぜい120KB程度であり、送付データの総サイズは10MBの元データと比べて、せいぜい1%程度しか増えないことになる。
なお、送付する機密データのサイズがセッション鍵のサイズと比べ十分に大きければ、セッション鍵による暗号化を挟まない場合と挟む場合との送付データのサイズ比は、生成しうる部分鍵の数の比と概ね等しくなる。この差は、データ送付の通信路によほど余裕がない限り、許容しがたいものと考えられる。
【0039】
以上をふまえ、図8の機密データ暗号化・送付処理ブロック22aについて説明する。なお、第1の実施形態と同様に、この処理ブロックの前提として、機密データ送信側である機密データ送信側計算機1Bは、鍵生成処理ブロック21により受信側鍵情報key_rを取得しているものとする。
【0040】
まず、セッション鍵key_sをランダムに生成する(ステップS621)。このセッション鍵は、前述した通り、機密データを暗号化するために用いるもので、数バイト〜1キロバイト程度の大きさのビット列となる。もちろん、セッション鍵key_sは、人間であるユーザーがハンドリングしやすいように一般的な文字列として表現することもできるが、ユーザーがこのセッション鍵key_sに直接触れる機会はないため、文字列表記する意味は、ほぼ無いはずである。なお、このセッション鍵key_sは、暗号化の都度ランダムなデータを生成する。たとえ同じ機密データを暗号化し、同じ宛先に送付するのであっても、同じ鍵を別の暗号化の機会に用いることは避けた方がよい。次に、送付する機密データdをセッション鍵key_sで暗号化して、暗号化機密データenc(key_s,d)を生成する(ステップS622)。次に、セッション鍵key_sを鍵情報key_rから生成した部分鍵key_rpの各々で暗号化して、暗号化セッション鍵群E{enc(key_rp,key_s)}を生成する(ステップS623)。なお、ここでいう鍵情報key_rは、例えば表3のようなものである。表3には、ルータ(項目「IPアドレス」の値が‘−’となっているもの)を含め、4つのネットワーク機器から鍵断片を生成しているが、そのうち幾つを抜き出して部分鍵を構成する組とするか、あらかじめ決めておく必要がある。具体的には、例えば、「ルータ+ルータ以外の1/3の機器から構成」などの選択条件が考えられる。その場合、表3であればルータ1台(表3の2〜4行目)とそれ以外の3台機器(表3の5行目以降)からの鍵断片が含まれるので、部分鍵はルータとその他の機器1台(=3台×1/3)とからの鍵断片の組み合わせで1つの部分鍵を構成する。その結果、表3の鍵情報key_rからは、3つの部分鍵が生成されることになり、暗号化セッション鍵群E{enc(key_rp,key_s)}として暗号化されたセッション鍵も3つ生成される。
【0041】
次に、セッション鍵で暗号化した機密データenc(key_s,d)と、鍵断片識別情報key_IDと、鍵情報再生成器gen_key2と、暗号化セッション鍵群Eをまとめて、送付データp{enc(key2,d),key_ID,gen_key2},E)を生成する(ステップS624)。ここでいう鍵断片識別情報key_IDとは、表2に挙げたような第1の実施形態で用いるそれとは若干異なり、例えば、表4のようになる。
[表4]
【0042】
第1の実施形態での例である表2の場合、表の1行が1つの鍵断片に対応していたが、第2の実施形態の例である表4の場合、表の1行が1つの部分鍵に対応する。そのため、表中の各升には単一の値ではなく、複数の値のリストが入る。例えば、表4の2行目1列目は、対象となる機器がルータと、IPアドレス127.0.0.3の2つの機器であることを示す。表4の2行目1列目は、{{a,b,c},{d}}という構成で記述されており、最初の{a,b,c}が項目「IPアドレス」の示す1つ目の機器の情報(この例の場合はルータ)、{d}が2つ目の機器(この例の場合はIPアドレス127.0.0.3の機器)に対応する。a,b,c,dが各々の鍵断片の識別子である。つまり、表4の2行目の示す部分鍵とは、
・ルータのMACアドレス
・ルータのMIBオブジェクト(MIB{[iso].[org].[dod].[internet].[mgmt].[mib-2].[System].[sysDescr]})
・ルータのMIBオブジェクト
(MIB{[iso].[org].[dod].[internet].[mgmt].[mib-2].[System].[sysObjectID]})
・IPアドレス127.0.0.3の機器のMACアドレス
の4つの鍵断片から構成されることになる。機密データ受信側は、暗号化されたセッション鍵群Eのうちのどれかを復号することになるが、その際にはこの鍵断片識別情報key_IDを元に復号に必要な部分鍵を取得する。なお、第1の実施形態の場合同様、表4は説明のために値を平文で表記しているが、実際に運用する際は、適当な符号で難読化しておくことが望ましい。なお、難読化の範囲については部分鍵が幾つあるかといった情報(表4の場合は3つ)までも含む。また、難読化する場合、元の情報を復元する処理を、後述の鍵情報再生成器gen_key2に含めておく必要がある。送付データを生成した後、それを機密データ受信側に送信し(ステップS625)、受信側で送付データを取得する(ステップS626)。送付データの通信路としては、一般的な電子メールなどが考えられる。
【0043】
次に、図8の機密データ復号処理ブロック23aについて説明する。なお、同処理ブロックの前提として、機密データ受信側である機密データ受信側計算機4Bは、送付データp{enc(key2,d),key_ID,gen_key2},E)を取得しているものとする。また、この処理ブロックは、全て機密データ受信側である機密データ受信側計算機4Bにて実行されるものとする。なお、機密データ復号処理ブロック23aの処理は、鍵生成処理ブロック21aを実行した計算機と同一のネットワークに接続された計算機であれば、同様に実行可能である。
【0044】
まず、送付データp内の鍵情報再生成器gen_key2を用いて、鍵断片識別情報key_IDで指定された受信側ネットワークの固有情報sから、セッション鍵key_sの暗号化に用いられた受信側部分鍵key_rpのいずれかを生成する(ステップS631)。鍵情報再生成器gen_key2については、後述する。次に、取得した受信側部分鍵key_rpで送付データp内の暗号化セッション鍵E{enc(key_r,key_s)}を復号して、セッション鍵key_sを取得する(ステップS632)。次に、取得したセッション鍵key_sで送付データp内の暗号化機密データenc(key_s,d)を復号して、機密データdを取得する(ステップS633)。次に、機密データ復号処理ブロック23aで取得した受信側部分鍵key_rpとセッション鍵key_sを破棄する。
なお、図8の動作フローでは明示していないが、機密データの漏洩を防ぐためには、受信側部分鍵key_rp及びセッション鍵key_sと同様に、復号された機密データdも利用を終了した時点で速やかに破棄する必要がある。また、アクセス中に復号済みの機密データを他の媒体への書き出すことも出来ないよう実装する必要がある。少なくとも、復号に用いる鍵情報や、復号過程や復号結果のデータを、ハードディスクなどの持ち出し可能な記録媒体に、ごく短時間でも保存するような実装は避けるべきである。以上が、機密データ復号処理ブロック23aの動作フローである。
【0045】
図10は、機密データ復号処理ブロック23aで用いる鍵情報再生成器gen_key2の動作フローを示す図である。
鍵情報再生成器gen_key2を実行する計算機を鍵情報生成機実行計算機4c、同計算機と通信する機器群を鍵生成参照機器群5bとする。ただし、本発明の第2の実施形態にて規定するのは、鍵情報再生成器実行計算機8aで実行される動作のみである。8Bの動作であるステップS807、S808、S809、S810は、ステップS806を受けての一般的なネットワーク機器に共通の挙動であり、本発明固有の動作ではない。この4つのステップは説明のために図示したにすぎない。
【0046】
まず、鍵断片識別情報key_IDのうち、未判定の部分鍵kを取得する(ステップS801)。鍵断片識別情報key_IDは、例えば表4のようなものである。部分鍵kとは、表4の表記の場合、各々の行に相当する。表4は項目名を表す1行目を除くと、3つの行(2〜4行目)から構成されているので、表4にて表記される鍵断片識別情報key_IDには、部分鍵が3つ含まれることになる。
次に、部分鍵kに含まれる未処理のIPアドレスaを取得する。表4の2行目に対応する部分鍵の場合、このIPアドレス2行目1列目の升に記述されている「{−,127.0.0.3}」の各要素がそれぞれIPアドレスに該当する。1つ目の要素は“−”はルータのアドレスを表し、2つ目の要素はそのままIPアドレス「127.0.0.3」を表す。ステップS802を最初に実行する時点では、ルータと127.0.0.3のホストと、どちらに対しても何の処理も行っていないので、どちらをIPアドレスaとみなしてもよい。
【0047】
次に、IPアドレスaに対する未取得の鍵断片の識別子arを取得する。表4の2行目に対応する部分鍵の場合、この鍵断片の識別子は、表4の2行2列目の「鍵断片群の識別子」に含まれる。2行2列目の値は、{{a,b,c},{d}}という構成で記述されている。ここでいうa,b,c,dには、それぞれ、
「MACアドレス」
「MIB{[iso].[org].[dod].[internet].[mgmt].[mib-2].[System].[sysDescr]}」
「MIB{[iso].[org].[dod].[internet].[mgmt].[mib-2].[System].[sysObjectID]}」
「MACアドレス」
という値が入っている。そして、第一階層の最初の要素「{a,b,c}」が、{−,127.0.0.3}における1つ目のIPアドレス、つまりルータ([−」と記述)のアドレスに対応し、2つ目の要素{d}が{−,127.0.0.3}における2つ目127.0.0.3に対応する。IPアドレスaをルータのアドレスとしたのであれば、ここで取得すべき鍵断片の識別子arとは、第一要素{a,b,c}に含まれる3つのうちいずれかということになる。最初にステップ802を実行する時点では、どの鍵断片の識別子も処理していないので、a,b,cのいずれをarとみなしてもよい。単純に最初の要素から選んでも問題ないが、ネットワークへの負荷の軽い通信プロトコルに対応するものから選ぶという方法もある(表4の2行2列目の場合は、「MACアドレス」が該当)。
【0048】
次に、IPアドレスaのホストに対する、鍵断片識別子arに対応する通信要求の応答結果を取得済みか否かを判定する(ステップS804)。取得済みであれば(ステップS804でNoの場合)、そのデータを再利用(ステップS805)すればよいので、IPアドレスaのホストへの通信処理は省略する。取得していなければ(ステップS804でNoの場合)、IPアドレスaのホストに対して、鍵断片識別子arに対応する通信要求パケットrを送信する(ステップS806)。例えば、上記の表4をもとに、IPアドレスaとしてルータのアドレスを取得し、鍵断片識別子として第一要素の値「MACアドレス」を取得しているのであれば、それに対応して「MACアドレス」を取得するためのARPブロードキャストパケットを、鍵情報再生成器gen_key2を実行している計算機のネットワークに送信することになる。ステップS806を受けて、IPアドレスaのホストが存在すれば(ステップS807でYesの場合)、IPアドレスaのホストにて当該パケットは受信され(ステップS808)、該当するサービスが稼動していれば(ステップS809でYesの場合)、その応答であるパケットが鍵情報生成機実行計算機4cに向けて送信され(ステップS810)、鍵情報生成機実行計算機4cにてそれを受信する(ステップS811)。ステップS806実行後、一定時間内に応答パケットrp取得できない場合(ステップS812でNoの場合)、ここで処理している部分鍵kは生成不能と判断して(ステップS815)、次の部分鍵の生成判定に移る。また、応答パケットが返されても、IPアドレスaからの情報提供の拒絶を示すパケットが返される等の要求自体は失敗した場合も、同様に部分鍵kは生成不能と判断して、次の部分鍵の生成判定に移る。ただし、この時点で未判定の部分鍵が残っていなかった場合(ステップS817でNoの場合)、部分鍵key_rpはいずれも取得不能と判定して(ステップS820)、処理を終了する。なお、ステップS820で処理を終了した場合、機密データ復号処理ブロック23aにおいて、暗合された機密データは復号されない。
【0049】
通信要求に対して正常な応答が得られた場合(ステップS812でYesの場合)、受け取った応答パケットrpから鍵断片情報を抽出・取得する(ステップS814)。この時点で、IPアドレスaのホストが生成源である鍵断片情報で未取得のものがあれば(ステップS817でNoの場合)、ステップS803に戻る。IPアドレスaのホストが生成源である鍵断片情報を全て取得している場合(ステップS817でYesの場合)、他のIPアドレスのホストが生成源である部分鍵kに含まれる鍵断片情報で未取得のものがあれば(ステップS818でNoの場合)、ステップS802に戻る。部分鍵kの鍵断片情報を全て取得していれば(ステップS818でYesの場合)、鍵断片情報を合成して部分鍵key_rpを生成し(ステップS820)、処理を終了する。
【0050】
このように、複数の機器の通信応答結果から機密データの暗号化に用いる鍵情報を生成する場合に、機密データ受信側の属する閉じたネットワークに接続された機器群各々の通信応答結果から、部分鍵としての受信側機器固有鍵情報をそれぞれ生成し、セッション鍵情報として適当な文字列を生成し、機密データをセッション鍵情報で暗号化し、セッション鍵情報を部分鍵の各々で暗号化して、複数の暗号化されたセッション情報を生成し、暗号化された機密データと、複数の暗号化された暗号化セッション情報の全てをまとめて送信するようにしたことで、複数機器の応答情報を用いることによる鍵情報の冗長化・複雑化により、暗号化された機密データの正当でない手段による復号をより困難にし、セッション鍵という中間的な鍵情報を利用することで、鍵情報の冗長化・複雑化を機密データ本体の大きさを肥大させることなく実現することが出来る。
【0051】
[第3の実施形態]
以下、本発明の第3の実施形態について説明する。
本発明は、機密データを外部関係者に送付する際に、送付時の通信路、及び送付後の保管において、機密漏洩から守るためのものである。機密データの漏洩から安全性を担保するためには、その機密データを暗号化する鍵情報が、機密データ受信者から機密データ送信者へ安全に受け渡されることが前提となる。しかし、第1の実施形態及び第2の実施形態では、鍵情報授受の安全な通信路については規定しておらず、別途それを用意することが要求される。
第3の実施形態は、第1の実施形態、もしくは、第2の実施形態に、鍵情報の安全な授受方法を加えたものである。具体的には、第1の実施形態の動作フローを表す図2における鍵生成処理ブロック21、もしくは、第2の実施形態の動作フローを表す図6における鍵生成処理ブロック21aを、より安全な構成に置き換えたものである。この実施の形態では、公開鍵暗号方式を利用することで、機密データの暗号化に用いる鍵を安全に授受する。
【0052】
この公開鍵暗号方式の仕組みは当業者には自明であるが、簡単に説明しておく。パスワードによる一般的暗号化の多くで用いられる暗号方式である「共通鍵暗号方式」では、暗号化と復号に「共通鍵」と呼ばれる単一の鍵(パスワードなど)を用いる。つまり、暗号化に用いた鍵があれば、同じ鍵で復号も出来る。それに対し、「公開鍵暗号方式」では、「公開鍵」と「秘密鍵」と呼ばれる2つの鍵を用いて暗号化・復号を行い、暗号化に用いた鍵では復号はできない。「公開鍵」で暗号化したデータは「秘密鍵」でしか復号できず、同様に、「秘密鍵」で暗号化したデータは「公開鍵」でしか復号できない。よって、「公開鍵」だけを一般に公開した場合、誰かが「公開鍵」で暗号化したデータを復号できるのは、対応する「秘密鍵」を持つ者に限られる。つまり、共通鍵暗号化方式では、鍵の漏洩が即、暗号化の機密保護能力の喪失につながるが、公開鍵暗号方式における「公開鍵」は、基本的に「公開」されることが前提で秘匿する必要はなく、当然、鍵を授受する通信路の安全性を確保する必要もない。
【0053】
次に、第3の実施形態における鍵生成・送付の処理を説明する。
図11は、図4及び図8で構成が共通である鍵生成処理ブロック21、21aを置き換える変形例である鍵生成・送付処理ブロック21bの動作フローを示す図である。
まず、機密データ送信側計算機1Cにて、公開鍵暗号方式における秘密鍵skと公開鍵pkのペアを生成する(ステップS911)。次に、鍵情報生成器gen_keyと、公開鍵pkを機密データ受信側に送信する(ステップS912)。次に、gen_keyを用いて、受信側ネットワークの固有情報sから機密データの暗号化に用いる受信側鍵情報key_rを生成する(ステップS913)。なお、このステップS913の動作は、第1の実施形態の動作を示す図2におけるステップS213、もしくは、第2の実施形態の動作を示す図8におけるステップS613と同じものである。次に、公開鍵pkを用いて受信側鍵情報key_rを暗号化して、暗号化受信側鍵情報enc(pk,key_r)を生成する(ステップS914)。次に、暗号化受信側鍵情報enc(pk,key_r)を機密データ送信側に送信する(ステップS916)。それを受けて、暗号化受信側鍵情報enc(pk,key_r)を機密データ送信側が取得し(ステップS917a)、あわせて、機密データ受信側は受信側鍵情報key_rを破棄する(ステップS917b)。次に、機密データ送信側は、暗号化受信側鍵情報enc(pk,key_r)を秘密鍵skで復号し、受信側鍵情報key_rを取得する。以上で、第3の実施形態における鍵生成処理ブロック21bの処理は終了である。
【0054】
この構成において、第三者が機密データ送信側と受信側の通信を傍受して取得可能な情報は、鍵情報生成器gen_keyと、暗号化受信側鍵情報enc(pk,key_r)との2つだけである。鍵情報生成器gen_keyがあっても、受信側ネットワークに物理的に直接接続できなければ、機密データの復号に必要な鍵情報は取得できない。また、暗号化受信側鍵情報enc(pk,key_r)があっても、秘密鍵skがなければ機密データの復号に必要な鍵情報は取得できない。もちろん、この2つが両方揃っても、機密データの復号に必要な鍵情報は取得できない。よって、基本的に機密データ送信側と受信側との間の通信路は安全なものに限定する必要はなく、第三者に傍受される危険性がある一般的な電子メールなどを、鍵情報授受の通信路として選んでも構わない。
このように、鍵情報を機密データ受信側の属する閉じたネットワーク内で生成した後に、その鍵情報を、公開鍵暗号方式における、機密データ送信側の公開鍵で暗号化して、機密データ受信側から機密データ送信側に送付することで、機密データ送信側が、機密データ受信側で生成された鍵情報を取得することも可能であるようにしたことで、機密データの暗号化に用いる鍵情報を安全に授受することができ、その結果、暗号化された機密データより安全に送信することが可能となる。
【0055】
[第4の実施形態]
以下、本発明の第4の実施形態について説明する。
第1の実施形態、第2の実施形態、及び第3の実施形態は、機密データ受信側ネットワーク所属機器の固有応答情報を用いて、機密データの暗号化を行うものだった。これは裏を返せば、当該ネットワークに物理的に接続さえすれば、誰でも機密データの暗号を解き、機密を取得できるということを意味する。第4の実施形態では、機密データへのアクセス要件として、機密データを受信したネットワークに接続することに加え、パスワードを用いた暗号化を解くことも含める。
第4の実施形態の構成は、前述してきたデータ送信システムの構成に、パスワードによる共通鍵暗号化の過程を加えるだけである。具体的には、機密データ送信側で、機密データ受信側ネットワークの固有応答情報から生成された鍵情報により機密データを暗号化する前に、機密データを、パスワードを鍵に用いた共通鍵暗号方式で暗号化する。受信側ネットワークで生成された鍵による暗号化は、パスワードで暗号化された機密データに対して行う。
逆に、機密データ受信側では、機密データ受信側ネットワークの固有応答情報から生成された鍵情報により、送付データに含まれる機密データ部分を復号した後、前述のパスワードで復号データをさらに復号して、機密データを取得する。
【0056】
この構成により、機密データ受信側ネットワークに物理的に接続可能な機器及びその利用者に対して、さらにアクセス可能なユーザーを、パスワードを知っている者に限定できる。
なお、機密データ送信側と受信側のパスワードの共有方法であるが、本実施形態が、第3の実施形態を拡張したものであるなら、機密データ受信側でパスワードを生成して、図11のステップS915で公開鍵暗号方式により暗号化するデータに、新たに生成したパスワードも含めてしまえばよい。その構成であれば、機密データ送信側と受信側とで、安全にパスワードを共有できる。また、パスワードの生成方法であるが、機密データ受信側が任意に決定する他にも、鍵情報生成器gen_keyにパスワード文字列を生成する機能と、当該文字列を機密データ受信側ユーザーに表示する機能とを含めてしまうこともできる。
【0057】
図12は、パスワードの生成・表示機能まで含めた、図11におけるステップS913、S914、S915、S916、S917bに相当する部分の実行画面の例を示す図である。
図12は、機密データ受信側のユーザーが、機密データ送信側から鍵情報生成器gen_keyと、公開鍵pkをまとめた実行ファイルを受け取った際に、当該実行ファイルを実行した際に、図1に示す表示装置15に表示されるものである。文字列表示エリア101に機密データ送信側の組織名が、文字列表示エリア102に機密データ送信側の担当者の氏名と電子メールアドレスが表示される。また、文字列表示エリア103には、パスワードとなるランダムな文字列が生成され、表示される。この文字列の書式は、機密データ送信側があらかじめ定めておくことも出来る。書式の例としては、「12文字の文字列で、アルファベットの大文字、小文字、数字がそれぞれ1文字以上含まれ、同じ文字が連続して出現しない」などが考えられる。ここで生成・表示される文字列が、受信側ネットワーク所属機器の応答情報による鍵情報とは別の、本実施の形態における追加構成である共通鍵暗号方式による機密データ暗号化に用いられる鍵である。機密データ受信側ユーザーがボタン104を押すと、鍵情報生成器gen_keyが受信側ネットワーク所属機器の応答情報から鍵情報key_rを生成し、文字列表示エリア103に表示されたパスワード文字列と合わせて暗号化し、それを機密データ送信側、すなわち、文字列表示エリア101、102に示される担当者にメールにて送信する。
【0058】
図13は、逆に、機密データ受信側が、暗号化された機密データ受信し、それを開こうとするときに表示される、図8における機密データ復号処理ブロック23aに相当する部分の実行画面の例を示す図である。
図13の文字列表示エリア111に機密データ送信側の組織名が、文字列表示エリア112に機密データ送信側の担当者の氏名と電子メールアドレスが表示される。チェックボックス付リストボックス113には、受信した暗号化機密データに含まれる機密情報の一覧が表示される。このリストボックスに付属するチェックボックスについては、後述する。暗号化された機密データを受け取ったユーザーは、図12の文字列表示エリア103に表示されたパスワード文字列を、図13の文字列入力エリア114に入力し、前述のチェックボックス付リストボックス113に表示された一覧から、必要な情報にチェックを入れ、ボタン115を押すと、当該ユーザーの利用している計算機が鍵情報key_rを生成したネットワークに接続されており、かつ、文字列入力エリア114に入力したパスワード文字列が、図12の文字列表示エリア103に表示されたパスワード文字列と一致していれば、チェックを入れた情報が、鍵情報key_rとパスワード文字列とにより暗号化されたデータが復号され、チェックを入れた情報が表示される。なお、ここで機密情報を表示する際は、復号した情報の別の記録媒体への書き出し・保存ができないよう実装する事が強く推奨される。
【0059】
また、より機密を厳格に扱う場合、復号に必要な条件を満たさなかった回数を鍵情報再生成器gen_key2が自身の内部に記録しておき、機密データ送信側があらかじめ定めた回数以上条件を満たさない操作を行った場合には、暗号化された機密データを破壊するという実装も考えられる。また、第4の実施形態において、暗号化された機密データの復号に必要な要件は、正しいパスワード文字列が入力される事と、鍵情報生成器gen_keyが適切なネットワーク上で実行される事との、双方が成立することであるが、機密保護の観点においては、復号不能の際には、それがどちらの要件を欠いたのかをユーザーに提示しない方が望ましい。例えば、単に「開封に必要な要件を満たしませんでした」と通知するなどが考えられる。
このように、適当な文字列による暗号化も併用することが可能としたことで、機密データへアクセス可能なユーザーを制限することが出来、関係者ではない人間への機密データへの接触・漏洩を防ぐことが可能になった。
【図面の簡単な説明】
【0060】
【図1】本発明の実施の形態に係るデータ送信システムの一例の全体構成を示す図。
【図2】機密データ送信計算機(機密データ受信計算機)のハードウェア構成を示す図。
【図3】本発明を構成する各計算機において実行されるプログラムの機能ブロック図。
【図4】第1の実施形態における全体動作のフローチャートを示す図。
【図5】第1の実施形態における鍵情報生成器実行時の動作フローを示す図。
【図6】SNMPを用いて鍵情報生成のための適当な通信相手の探索を行う動作フローを示す図。
【図7】第1の実施形態の機密データ復号処理ブロックで用いる鍵情報再生成器の動作フローを示す図。
【図8】第2の実施形態におけるデータ送信システムの全体の動作フローを示す図。
【図9】第2の実施形態における部分鍵を示す図。
【図10】第2の実施形態で用いる鍵情報再生成器gen_key2の動作フローを示す図。
【図11】第2の実施形態における鍵の生成・送付処理ブロックの動作フローを示す図。
【図12】図10におけるステップS913〜S917bに相当する部分の実行画面の例を示す図。
【図13】図6における機密データ復号処理ブロック23aに相当する部分の実行画面の例を示す図。
【符号の説明】
【0061】
1 機密データ送信計算機、2、3 ルータ、4 機密データ受信計算機、5 ネットワーク機器、10 CPU、11 ネットワークインターフェイス、12 入力装置、13 ルータ、14 RAM、15 表示装置、21 鍵生成処理ブロック、21a 鍵生成処理ブロック、22 機密データ暗号化・送付処理ブロック、22a 機密データ暗号化・送付処理ブロック、23 機密データ復号処理ブロック、23a 機密データ復号処理ブロック、24 送信側鍵生成処理部、25 受信側鍵生成処理部、26 機密データ暗号化部、27 機密データ復号部、101 文字列表示エリア、102 文字列表示エリア、103 文字列表示エリア、104 ボタン、111 文字列表示エリア、112 文字列表示エリア、113 チェックボックス付リストボックス、114 文字列入力エリア、115 ボタン
【技術分野】
【0001】
本発明は、機密電子データを受信側計算機に安全に送付する方法に関する。
【背景技術】
【0002】
近年、情報セキュリティの重要性が著しく高まり、特に機密情報の漏洩防止は企業活動において必須となっている。機密情報の漏洩を防ぐためには、漏洩に対する保護が脆弱な所から施策を講じていくのが常道である。しかし、対策を進めていくと、最終的には直接対策を講じることが出来ない要素として、自組織の管理範囲に含まれない他組織の外部関係者との機密情報の授受・共有とそれに伴う管理が残ることが多い。このセキュリティ・リスクは、各種の契約により外部関係者に機密保護の義務を課すことで軽減することはできるが、機密保護対策には相応のコストがかかる以上、どのような保護手段を採るかは、その外部関係者に委ねる場合がどうしても多くなる。機密情報の授受におけるセキュリティは、一方の当事者のみでもある程度管理可能だが、外部関係者に機密情報を渡した後の機密管理は、その関係者組織任せとなることが多くなる。
すなわち、外部契約者組織のセキュリティレベルが、機密保護の義務を履行する水準に達していなければ、機密漏洩後に損害賠償を求めることはできても、漏洩そのものは阻止できない。機密情報の授受より前に、外部関係者組織のセキュリティレベルについて監査することで、漏洩の恐れのある外部関係者を事前に排除することも不可能ではないが、それにも限界がある。また、万が一、外部関係者組織の中に悪意をもって機密漏洩を図る者がいれば、機密保護を課した契約も漏洩に対する抑止力として全く機能しない。
【0003】
以上のことから、外部関係者に機密情報を配布する場合に、外部関係者の所属組織のセキュリティレベルや構成員の意図とは無関係に、機密を漏洩から自動的に保護する仕組みや、組織外への機密持ち出し自体を不可能にする仕組みがあれば、外部関係者からの機密漏洩のリスクは大幅に低減される。
機密を漏洩から自動的に保護するひとつの方策として、機密情報を契約で定めた機器以外ではアクセスできなくすることが挙げられる。例えば、従来技術である特許文献1や特許文献2では、MACアドレス等の計算機の固有識別情報を用いて、あらかじめ定めた機器以外では、機密情報を扱うプログラムを動作させない仕組みを示している。
また、より広範囲なアクセス制限の方法として、ユーザー認証と文書のアクセス権を紐づける方法もある。例えば従来技術である特許文献3では、機密データをあらかじめ暗号化し、データにACL(アクセス制御リスト:ユーザーのアクセス権を定義したリスト)を付しておき、ACLでアクセスが許可されたユーザーが当該文書を開く時のみ、ユーザー認証を行うサーバに保存された復号鍵を一時的に付与する方法を示している。
【特許文献1】特開2006−108903公報
【特許文献2】特開2007−257144公報
【特許文献3】特開2004−152261公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1、2に示された方法の場合、機密を扱う機器がノートパソコンのような可搬性を有する物であれば、機密データを保存した機器自体を持ち出される可能性がある。その場合、そのノートパソコンが盗難に遭えば、その時点で機密は漏洩する。また、当然ながら、そもそも悪意を持って機密を略取しようとする者が外部関係者組織内にいれば、この仕組みでは機密漏洩を防ぐことはできない。
また、特許文献3に示される方法においては、暗号化された機密データを外部に持ち出してもユーザー認証ができず、その結果として復号する鍵も得られないため、データが外部に流出しても機密情報自体を外部に知られる可能性は低くなるが、その反面、この方法を実行するためには、認証サーバを構築・運用する必要があり、そのためには少なからずコストがかかる。外部関係者組織のセキュリティ意識ある程度以上高くなければ、そのような認証サーバの導入・運用は難しい。また、機密の授受を伴う外部関係者との契約がごく短期のものである場合、その契約のためだけに、契約先にそのような認証サーバ導入を強いることは難しい。
以上を鑑みて、本発明は、自組織の管理範囲に含まれない他組織の外部関係者に機密データを送付する場合において、送付における通信路での第三者による盗聴などによる漏洩からの保護と、機密データ送付後の外部関係者組織からの情報持ち出しに伴う漏洩の遮断とを、別途セキュリティ強化のために新たな機器等を導入することなく実現することを目的とする。
【課題を解決するための手段】
【0005】
上記の課題を解決するために、請求項1の発明は、送信側計算機から、異なるネットワークに属する受信側計算機に暗号化したデータを送信する機密データ送信方法であって、前記受信側計算機は、当該受信側計算機が属するネットワークに接続された機器への通信要求に対する応答結果から鍵情報を生成し、前記送信側計算機は、前記受信側計算機から前記鍵情報を取得して、前記鍵情報を用いて前記データを暗号化して前記受信側計算機に送信し、前記受信側計算機は、前記機器への通信要求に対する応答結果から前記鍵情報を再生成して、当該鍵情報により前記暗号化されたデータを復号する機密データ送信方法特徴とする。
また、請求項2の発明は、請求項1に記載の機密データ送信方法において、前記受信側計算機は、前記送信側計算機における前記データの暗号化に先立って、前記生成した鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送信し、前記送信側計算機は、送付された暗号化された前記鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記鍵情報を取得する機密データ送信方法を特徴とする。
また、請求項3の発明は、請求項2に記載の機密データ送信方法において、前記公開鍵にて前記鍵情報を暗号化する際に、適当な文字列による暗号化も付加する機密データ送信方法を特徴とする。
【0006】
また、請求項4の発明は、送信側計算機から、異なるネットワークに属する受信側計算機に暗号化したデータを送信する機密データ送信方法であって、前記受信側計算機は、当該受信側計算機の属するネットワークに接続された複数の機器への通信要求に対する応答結果から複数の部分鍵情報を生成し、前記送信側計算機は、前記受信側計算機から前記複数の部分鍵情報を取得し、適当な文字列からなるセッション鍵情報を生成し、前記データを前記セッション鍵情報で暗号化し、前記セッション鍵情報を、前記各部分鍵情報にて暗号化して複数の暗号化された前記セッション情報を生成し、暗号化された前記データ及び暗号化された各セッション鍵情報を前記受信側計算機に送信し、前記受信側計算機は、前記複数の機器への通信要求に対する応答結果から複数の部分鍵情報を再生成し、生成した部分鍵情報にて、前記送信側計算機から送信された暗号化されたセッション鍵情報の何れかを復号し、復号したセッション鍵情報にて暗号化された前記データを復号する機密データ送信方法を特徴とする。
また、請求項5の発明は、請求項4に記載の機密データ送信方法において、前記受信側計算機は、前記送信側計算機における前記データの暗号化に先立って、前記部分鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送付し、前記送信側計算機は、前記暗号化された部分鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記部分鍵情報を取得する機密データ送信方法を特徴とする。
また、請求項6の発明は、請求項5に記載の機密データ送信方法において、前記公開鍵にて各部分鍵情報を暗号化する際に、適当な文字列による暗号化も付加することを特徴とする機密データ送信方法。
【0007】
また、請求項7の発明は、請求項1乃至6の何れか1項に記載の機密データ送信方法において、前記応答結果は、ARPリクエストに対するMACアドレスの応答である機密データ送信方法を特徴とする。
また、請求項8の発明は、請求項1乃至6の何れか1項に記載の機密データ送信方法において、前記応答結果は、SNMPリクエストに対する機器診断情報の応答である機密データ送信方法を特徴とする。
また、請求項9の発明は、データを暗号化して送信する送信側計算機と、該送信側計算機とは異なるネットワークに属し、暗号化された前記データを受信して復号する受信側計算機と、から構成される機密データ送信システムであって、前記受信側計算機は、当該受信側計算機が属するネットワークに接続された機器への通信要求に対する応答結果から鍵情報を生成する鍵生成処理部と、前記応答結果から前記鍵情報を再生成して、当該鍵情報により前記送信側計算機から送付された暗号化された前記データを復号するデータ復号部と、を備え、前記送信側計算機は、前記受信側計算機から取得した前記鍵情報を用いて前記データを暗号化して前記受信側計算機に送信するデータ暗号化部を備えた機密データ送信システムを特徴とする。
【0008】
また、請求項10の発明は、請求項9に記載の機密データ送信システムにおいて、前記受信側計算機は、前記送信側計算機における前記送信データの暗号化に先立って、前記生成した部分鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送付し、前記送信側計算機は、送付された暗号化された前記鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記鍵情報を取得する機密データ送信システムを特徴とする。
また、請求項11の発明は、請求項10に記載の機密データ送信システムにおいて、前記公開鍵にて前記鍵情報を暗号化する際に、適当な文字列による暗号化も付加する機密データ送信システムを特徴とする。
また、請求項12の発明は、送信データを暗号化して送信する送信側計算機と、該送信側計算機とは異なるネットワークに属し、暗号化された前記送信データを受信して復号する受信側計算機と、から構成される機密データ送信システムであって、前記受信側計算機は、該受信側計算機の属するネットワークに接続された複数の機器への通信要求に対する応答結果から複数の部分鍵情報を生成する鍵生成処理部と、前記応答結果から複数の部分鍵情報を再生成し、再生成した部分鍵情報にて、前記送信側計算機から送信された暗号化されたセッション鍵情報の何れかを復号し、復号したセッション鍵情報にて暗号化された前記データを復号する機密データ復号部と、を備え、前記送信側計算機は、適当な文字列からなるセッション鍵情報を生成し、前記データを前記セッション鍵情報で暗号化し、前記セッション鍵情報を、前記受信側計算機から取得した前記複数の部分鍵情報にて暗号化して複数の暗号化された前記セッション情報を生成し、暗号化された前記データ及び暗号化された各セッション鍵情報を前記受信側計算機に送信する機密データ暗号部とを備えた機密データ送信システムを特徴とする。
【0009】
また、請求項13の発明は、請求項12に記載の機密データ送信システムにおいて、前記受信側計算機は、前記送信側計算機における前記送信データの暗号化に先立って、前記部分鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送付し、前記送信側計算機は、送付された前記暗号化された部分鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記部分鍵情報を取得する機密データ送信システムを特徴とする。
また、請求項14の発明は、請求項13に記載の機密データ送信システムにおいて、前記公開鍵にて各部分鍵情報を暗号化する際に、適当な文字列による暗号化も付加する機密データ送信システムを特徴とする。
また、請求項15の発明は、請求項9乃至14の何れか1項に記載の機密データ送信システムにおいて、前記応答結果は、ARPリクエストに対するMACアドレスの応答である機密データ送信システムを特徴とする。
また、請求項16の発明は、請求項9乃至14の何れか1項に記載の機密データ送信システムにおいて、前記応答結果は、SNMPリクエストに対する機器診断情報の応答である機密データ送信システムを特徴とする。
【発明の効果】
【0010】
以上のように構成したので、本発明によれば、機密データの保有者が、機密データを外部の関係者に漏洩することなく安全に送信することが可能となる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施の形態を、図面に従って詳細に説明する。
図1は、本発明の実施の形態に係るデータ送信システムの一例の全体構成を示す図である。
図1に示すデータ送信システムは、インターネット{TCP/IP(Transmission Control Protocol/Internet Protocol)、HTTP(Hyper Text Transfer Protocol)、SSL(Secure Socket Layer)等のプロトコルに基づいて相互リンクされたネットワークの集合体}Nを介して通信可能な、例えばローカルエリアネットワークN1に接続された機密データ送信計算機1から、ローカルエリアネットワークN2に接続された機密データ受信計算機4(4−1、4−2)へ、暗号化された機密データを送付するシステムである。
機密データ送信計算機1や機密データ受信計算機4−1、4−2としては、例えば、ノート型やデスクトップ型のパーソナルコンピュータが考えられる。ネットワークN2に接続されているネットワーク機器5としては、例えば、ネットワーク対応複写機や各種のサーバなどが考えられる。
機密データ送信計算機1は、ローカルエリアネットワークN1内に設置されたゲートウェイルータ(単にルータとする)2を介して、インターネットNに通信可能となっている。同様に、機密データ受信計算機4−1、4−2は、ローカルエリアネットワークN2内に設置されるルータ3を介して、インターネットNに通信可能となっている。また、本実施例においては、ルータ2や3などにより、インターネットNとの通信、特にルータの外側から内側へ発信される通信や、ルータを挟んでのブロードキャスト通信などが制限されている場合に、ローカルエリアネットワークN1やN2を、「閉じたネットワーク」と呼ぶ。
【0012】
また、図2は、機密データ送信計算機1、機密データ受信計算機4のハードウェア構成を示す図である。
上述したように、送信側、受信側どちらも汎用的な構成のパーソナルコンピュータでよく、計算機全体の制御を行い本発明の各プログラムを実行する演算装置としてのCPU10、ローカルエリアネットワークN1又はN2に接続するためのネットワークインターフェイス11、マウスやキーボードなどの入力装置12、各種データやプログラムを記憶、蓄積するためのハードディスクドライブ13、CPU10による処理のためにデータやプログラムを展開するめのRAM(Random Access Memory)14、液晶モニタ等の表示装置15から主に構成されている。
本システムの目的は大きく3つある。第一に、機密データの保有者が、自身の所属するローカルエリアネットワークN1から、相手側のローカルエリアネットワークN2に対して機密データを漏洩することなく安全に送信すること。第二に、いったん送信され相手側で取得された機密データの、ローカルエリアネットワークN2からの持ち出しや漏洩を防ぐこと。第三に、以上の目的を、相手側のローカルエリアネットワークN2内に、認証サーバのような新たな機器類を増設したり、ネットワーク構成を変更したりすることなく達成することである。
【0013】
図3は、本発明のデータ送信システムを構成する各計算機において実行されるプログラムの機能ブロック図であり、(a)は、機密データ送信計算機1、(b)は機密データ受信計算機4における機能ブロック図を示している。これらの機能ブロックは、図2に示す各計算機におけるCPU10によって実行されている。
(a)に示すように、機密データ送信計算機1では、送信側鍵生成処理部24、機密データ暗号化部(データ暗号化部)26が実行される。
(b)に示すように、機密データ受信計算機4では、受信側鍵生成処理部25、機密データ復号部(データ復号化部)27が実行されている。
送信側鍵生成処理部24は、受信側鍵生成処理部25とともに、鍵生成処理ブロック21を構成するものであり、計算機間で機密データをやりとりするための暗号鍵を生成する。
また、機密データ暗号化部26は、機密データ暗号化・送付処理ブロック22を構成し、鍵生成処理ブロック21で生成された暗号鍵によって、機密データを暗号化し、受信側計算機に送付するものである。
また、機密データ復号部27は、機密データ復号処理ブロック23を構成し、暗号化されて送付された機密データを復号する機能を果たしている。
【0014】
以下に、本発明の具体的な実施形態について説明する。
[第1の実施形態]
以下、本発明の第1の実施形態に係るデータ送信システムについて説明する。
図4は、本実施形態のデータ送信システムにおける全体動作のフローチャートを示す図である。
図4は、機密データ送信側計算機1Aから、機密データ受信側計算機4Aに機密データを送信するためのものであり、機密データ送信側計算機1Aは図1における機密データ送信計算機1に、機密データ受信側計算機4Aは図1における機密データ受信計算機4−1や4−2に相当する。
図4に示す全体動作のフローは、機密データ送信側にて、機密データを暗号化するための鍵を生成し、それを機密データ送信側に送付する鍵生成処理ブロック21と、機密データ送信側が機密データを暗号化し、機密データ受信側に送信する機密データ暗号化・送付処理ブロック22と、機密データ受信側が暗号化された機密データを復号する機密データ復号処理ブロック23からなる。
なお、図4では、処理ブロック21〜23を一連の動作として記述しているが、状況によって処理ブロック21、22については過去の実行結果を再利用し、当該処理ブロックを省略することができる。具体的には、鍵生成処理ブロック21で機密データ送信側が機密データ受信側から暗号化に用いる鍵をいったん取得すれば、以後、同一の相手に機密データを暗号化・送付する場合、その鍵を再利用することができ、鍵生成処理ブロック21を省略できる。また、機密データ暗号化・送付処理ブロック22で暗号化された機密データを機密データ受信側がいったん取得すれば、以後、受信側が同一の機密データにアクセスする限りは、機密データ暗号化・送付処理ブロック22も省略できる。
【0015】
以下、図4の各動作ステップについて説明する。
鍵生成処理ブロック21では、まず、機密データ送信側計算機1Aが、鍵情報生成器gen_keyを機密データ受信側計算機4Aに送信する(ステップS211)。鍵情報生成器gen_keyは、例えばソフトウェアプログラムの形態をとり、機密データ受信側の計算機上で実行されることで、当該計算機の所属するネットワークの固有応答情報から暗号化に用いる鍵となる情報を生成するものである。鍵情報生成器gen_keyの詳しい動作については図6の説明にて後述する。鍵情報生成器gen_keyを送信する手段としては、一般的な電子メールなどが考えられる。
次に、機密データ受信側計算機4Aは、鍵情報生成器gen_keyを受信・取得し(ステップS212)、この鍵情報生成器gen_keyを用いて、機密データ受信側の計算機の所属するネットワークの固有応答情報sから、送信側における機密データの暗号化に用いる共通鍵としての受信側鍵情報key_rを生成する(ステップS213)。
【0016】
次に、機密データ受信側計算機4Aは、受信側鍵情報key_rを機密データ送信側計算機1Aに渡す(ステップS214)。なお、この受信側鍵情報key_rは、機密データを暗号化するために用いる情報であるため、その漏洩は機密データの漏洩につながる。よって、安全であることが保証されている伝達手段で渡すことが強く求められる。具体的な伝達手段としては、暗号化・署名された電子メールや、手渡しなどが挙げられる。また、安全かつ容易な鍵の送付手段を構成に含むデータ送信システムについては、本発明の第3、4の実施の形態にて説明する。
次に、ステップS214を受けて、機密データ送信側計算機1Aは、受信側鍵情報key_rを取得し(ステップS215a)、それと併せて、機密データ受信側計算機4Aは受信側鍵情報key_rを破棄する(ステップS215b)。なお、ステップS215aとステップS215bの実行順序は、どちらが先でも構わないが、機密データ受信側から情報の持ち出しや漏洩を防ぐためには、ステップS215bは確実に実施しなければならない。以上が、鍵生成処理ブロック21の動作フローである。
【0017】
次に鍵生成処理ブロック21で行われる鍵情報生成器gen_keyの動作について説明する。
鍵情報生成器gen_keyは、鍵情報生成器gen_keyが実行される機密データ受信側計算機4Aと、この機密データ受信側計算4Aが接続された同じネットワークに属する他のネットワーク機器との通信応答結果を用いて、機密データの暗号化・復号に用いる受信側鍵情報key_rを生成するものである。よって、当該ネットワーク機器は、常時稼動し、通信応答可能であるものが望ましい。当該ネットワーク機器として用いることのできる機器としては、例えば、機密データ受信側計算機4Aの属するネットワークを統括し、外部ネットワーク、例えばインターネットとの通信を中継する役割を担うルータなどが考えられる。例えば、図1において、機密データ受信計算機4−1にて鍵情報生成器gen_keyを実行する場合、ルータ3が、ここでいう「他のネットワーク機器」に相当する。
【0018】
図5は、機密データ受信側計算機4Aの属するネットワークを統括するルータを通信相手とする場合の、鍵情報生成器gen_keyの実行時の動作フローを示す図である。
鍵情報生成器gen_keyを実行する計算機を鍵情報生成器実行計算機4aとし、同ルータ3と通信を行う。ただし、本発明の第1の実施形態にて規定するのは、鍵情報生成器実行計算機4aで実行される動作のみである。ルータ3の動作であるステップS302、S303、S304は、ステップS301を受けての一般的なネットワーク機器に共通の挙動であり、本発明固有の動作ではない。この3つの動作ステップは説明のために図示したにすぎない。
まず、鍵情報生成器実行計算機4aから、ルータ3に対し、適当なネットワークサービス要求パケットを送信する(ステップS301)。ここで、ステップS301で利用するサービスはあらかじめ決めておく必要がある。鍵情報生成器gen_keyは、最終的にこのサービス要求の応答結果を暗号・復号の鍵情報の要素として用いるため、ルータ3からの応答が期待できる汎用的なサービスで、かつ、機器によって異なる返答が期待できるサービスを利用する。例えば、ネットワークに接続された機器であれば、IPアドレスからMACアドレスの名前解決を行うARP(Address Resolution Protocol)リクエストのブロードキャストには応答するはずであり、この応答結果は応答を返した機器の固有情報であるMACアドレスなので、ここで用いるサービスとしては適当である。また、ルータの場合、ネットワーク機器の診断情報を取得するためのSNMP(Simple Network Management Protocol)リクエストにも応答する可能性が高い。SNMPの応答結果はその機器の固有情報を多数含むので、やはり鍵生成に用いる情報としては適当である。
【0019】
ステップS301のパケットをルータ3が受信すると(ステップS302)、対応するサービスが同ルータ上で動作していれば(S303でYes)、鍵情報生成器実行計算機4aに対し応答パケットが返される(ステップS304)。鍵情報生成器実行計算機4aは、一定時間この応答パケットを待ち、応答があれば(ステップS305でYes)、応答パケットを受信して(S306)通信を継続し、正規に通信を完了させる(ステップS307)。応答がなく、未試行のサービス要求がまだあれば(S311でYes)、ステップ301に戻り、未試行のサービス要求を試みる。通信応答があった場合は、通信を完了した後、受信した応答パケットから適当な情報を鍵断片情報として抽出する(ステップS308)。ここで鍵断片情報として用いる適当な情報とは、通信プロトコルがARPであれば、ルータ3のMACアドレスであり、SNMPであれば、ルータ3の機器診断情報の管理データベースであるMIB(Management Information Base)を構成するオブジェクトの値の1つ、例えば、機器の名称や構成を示す情報となる。単一の通信応答から鍵情報を生成する場合は、この通信応答情報だけで受信側鍵情報key_rを生成する(ステップS310)。複数の通信応答結果を組み合わせて鍵情報を生成する場合、必要な鍵断片情報がそろったかを判断し(S309)、Noの場合、利用可能なサービス要求が残っていれば(S11でYes)ステップS301に戻り、ステップS301〜S309を繰り返し、応答情報がそろった時点で(S309でYes)、それら受信側鍵情報を構成するための情報(以下、「鍵断片情報」と呼称する)を組み合わせて受信側鍵情報key_rを生成する(ステップS310)。受信側鍵情報key_rのデータ構造と値の例を表1に挙げる。
[表1]
【0020】
項目「IPアドレス」はルータ3のIPアドレスで、鍵情報生成器実行計算機4a自身のネットワーク設定情報から取得できる。なお、ルータを対象とする場合、項目「IPアドレス」はルータと同一ネットワークに属する機器にとっては自明なので、表1(b)のように空欄にしてもよい。項目「鍵断片の識別子」は、鍵断片情報として用いる情報の識別子である。表1の場合、ARPブロードキャストに対するルータ3からの応答として得られる「MACアドレス」(表1の2行目)と、SNMP応答により得られるMIB格納情報のうち、[iso].[org].[dod].[internet].[mgmt].[mib-2].[System].[sysDescr]に格納されている情報(表1の3行目)と、[iso].[org].[dod].[internet].[mgmt].[mib-2].[System].[sysObjectID]に格納されている情報(表1の4行目)を鍵断片情報として用いている。項目「鍵断片の値」は、「鍵断片の識別子」で識別される値そのものである。なお、表1は説明のために値を平文で示したが、実際のシステムにおいては、表1に例示したような鍵情報は適当な符号化により難読化しておく事が望ましい。なお、ここでいう難読化の範囲は、「鍵断片の値」だけではなく、「鍵断片の識別子」や、断片が幾つあるかといった情報(表1の場合は3つ)までも含む。また、難読化のアルゴリズムは頻繁に変更することが望ましい。さらに、表1では鍵断片情報として3つの項目しか用いていないが、実際に運用する際は、できるだけ多くの通信応答結果を鍵情報に含める方が望ましい。
【0021】
以上が、機密データ受信側計算機4A上で鍵情報生成器gen_keyを実行して、機密データの暗号化に用いる受信側鍵情報key_rを生成する動作フローである。
なお、図5の動作フローは、ネットワークを統括するルータ等が鍵情報を生成するための通信相手であったが、ネットワーク接続された複写機など、業務時間中は常時稼動している機器なども、共通鍵を生成するために用いるネットワーク機器として利用できる。
【0022】
ただし、ルータについては、鍵情報生成器実行計算機4a自身があらかじめ通信先のIPアドレスを知っているが、その他の機器については、鍵情報生成器実行計算機4a自身はIPアドレスを知らないことが多い。そのため、まずは鍵情報生成のための適当な通信相手の探索と、その相手のアドレス取得から始める必要がある。鍵情報を生成するための通信相手の探索する際、当該ネットワーク機器は、できれば常時稼動しており、常時稼動でない場合は少なくとも機密データの復号を行う時点で通信応答可能であることが求められる。そのような適当な対象機器を特定する最も簡単な方法は、機密データ受信側の利用者に適当な機器のIPアドレスを聞くことだが、自動で行うのであれば、前述のSNMPを用いる方法がある。単純にSNMPによる通信に対して応答を返すか否かを判定するだけでも、常時稼動が期待できない一般的なパーソナルコンピュータの類は排除できる。より実用的には、SNMPで所得するMIBオブジェクトのうち機器の種類を特定しうるもの、例えば、[dod].[internet].[mgmt].[mib-2].[System].[sysObjectID]や、[iso].[org].[dod].[internet].[mgmt].[mib-2].[System].[sysDescr]などを取得すれば、その値から常時稼動が期待できるOA機器等を特定することも可能である。具体的には、著名な機器で常時稼動が期待できる製品名等の部分文字列の集合(以下、常時稼動機器識別データベースと呼称)を鍵情報生成器gen_keyの内部にあらかじめ文字列群を保持しておき、それを、SNMPの応答結果と比較すればよい。
【0023】
図6は、SNMPを用いて鍵情報生成のための適当な通信相手の探索を行う動作フローを示す図である。
まず、鍵情報生成器実行計算機4aである受信側計算機4Aが、同一サブネット内の適当なIPアドレスaに、MIB−2の格納情報を要求するSNMPパケットを送信する(ステップS401)。パケット送信後、一定時間待って(ステップS402)、IPアドレスaのホストから応答があれば、応答結果に含まれるMIBの格納情報と、鍵情報生成器gen_key内部の常時稼動機器識別データベースと比較する(ステップS403)。比較した結果、常時稼動機器識別データベースに格納されている文字列群のいずれかと、SNMP応答結果の部分文字列が合致すれば(ステップS404でYesの場合)、IPアドレスaの機器を鍵情報生成のための通信相手とする(ステップS405)。逆に、SNMP応答結果に合致する文字列が無い場合(ステップS404でNoの場合)、同一サブネット内で未探索のIPアドレスがあれば(ステップS406でYesの場合)、ステップS401に戻って繰り返す。以上がSNMPを用いて鍵情報生成のための適当な通信相手の探索を行う動作フローである。
なお、図6の動作フローを実行してもネットワークを統括するルータ以外に鍵情報生成に適当な機器が見つからない場合もありうる。その場合は、ルータを対象にして鍵情報生成すればよい。逆に、適当な機器が複数存在する場合もありうる。図6の動作フローでは最初に見つけた適当な機器をそのまま鍵情報生成のための通信相手に選んでいるが、より適切な運用としては、鍵情報生成器gen_key内部の常時稼動機器識別データベースに格納された文字列群各々に、あらかじめ優先度をもうけておき、一定範囲のアドレスを探索した後に、優先度のより高い文字列に合致した機器を選ぶようにすればよい。基本的には、ルータやファックスのように常時稼動されることが多い機器で、名称に多様性のより少ない機器に対応する文字列の優先度を高くしておけばよい。
【0024】
また、図6の動作フローとは別に、SNMP通信に応答しないサーバ機器を、鍵情報を生成するための通信相手にすることもできる。その場合は、サーバ特有のサービスに対応する通信プロトコルのパケットを送信して、その応答により判断すればよい。プロトコルの具体例としては、HTTP(HyperText Transfer Protocol)やSMTP(Simple Mail Transfer Protocol)などが考えられる。また、より厳格に運用するのであれば、NetBIOS over TCP/IPのような計算機のネットワーク上における位置づけを取得可能な通信プロトコル群を用いてもよい。
図6の動作フローにより、ネットワークを統括するルータ等以外の通信相手を発見し、当該機器との通信により鍵情報を生成する場合でも、通信相手機器が決まった後の動作フローは、図5でルータを相手にする場合と同様である。
【0025】
次に、図4の機密データ暗号化・送付処理ブロック22について説明する。なお、同処理ブロックの前提として、機密データ送信側である機密データ送信側計算機1Aは、鍵生成処理ブロック21により受信側鍵情報key_rを取得しているものとする。
まず、機密データ送信側計算機1Aは受信側鍵情報key_rを用いて、機密データdを暗号化して、暗号化機密データenc(key_r,d)を生成する(ステップS221)。なお、受信側鍵情報key_rから実際に暗号化に用いる鍵となるデータを生成する方法としては幾つ考えられるが、単純な方法としては、[表1]に示す受信側鍵情報key_rの項目「鍵断片の値」の値を、上から順に連結した文字列の場合
“FF1A59C0CF14XYZ Corp. ABC_GatewayRouter123 type N ver.1.2.3enterprises.255.255.255”
となる)を用いることが考えられる。
【0026】
次に、暗号化機密データenc(key_r,d)と、鍵断片識別情報key_IDと、鍵情報再生成器gen_key2をまとめて送付データp{enc(key_r,d),key_ID,gen_key2}を生成する(ステップS222)。この鍵断片識別情報key_IDとは、表1における受信側鍵情報key_rから、項目「鍵断片の値」の部分をのぞいたものである。表2にその具体例を挙げておく。なお、表2は説明のために値を平文で表記しているが、実際に運用する際は、表1の場合同様、適当な符号で難読化しておくことが望ましい。なお、難読化の範囲についても、表1の場合同様、「鍵断片の識別子」だけでなく、断片が幾つあるかといった情報(表1の場合は3つ)までも含む。また、難読化する場合、難読化された情報から元の情報を復元する処理を、鍵情報再生成器gen_key2に含めておく必要がある。
[表2]
【0027】
鍵情報再生成器gen_key2は、図5にて説明したgen_keyと似た動作をするものである。詳しくは、機密データ復号処理ブロック23の説明で後述する。次に、送付データp{enc(key_r,d),key_ID,gen_key}を機密データ受信側に送信する(ステップS223)。送信手段としては、一般的な電子メールなどを用いることが出来る。最後に、送付データp{enc(key2,d),key2_id,gen_key}を、機密データ受信側である機密データ受信側計算機4Aが取得する(ステップS224)。以上が機密データ暗号化・送付処理ブロック22の動作フローである。
さらに、図4の機密データ復号処理ブロック23について説明する。なお、同処理ブロックの前提として、機密データ受信側である機密データ受信側計算機4Aは、機密データ暗号化・送付処理ブロック22にて、送付データp{enc(key_r,d),key_ID,gen_key2}を取得しているものとする。また、この処理ブロックは、全て機密データ受信側である機密データ受信側計算機4Aにて実行されるものとする。なお、機密データ復号処理ブロック23の処理は、鍵生成処理ブロック21を実行した計算機と同一のネットワークに接続された計算機であれば、同様に実行可能である。
【0028】
まず、送付データp内の鍵情報再生成器gen_key2と鍵断片識別情報key_IDとにより、機密データの暗号化に用いる受信側鍵情報key_rを再度生成する。鍵情報再生成器gen_key2が受信側鍵情報key_rを取得する処理は、図3にて説明した鍵情報生成器gen_keyの動作フローと似たものだが、鍵断片としてどの固有情報を決定する方法が異なる。図5に示した鍵情報生成器gen_keyは、利用可能な情報をgen_key自身が適当に選ぶ。対して、gen_key2は、同時に送付された鍵断片識別情報key_IDから、鍵断片として用いる情報を特定する。詳しくは図5にて後述する。次に、受信側鍵情報key_rで送付データp内のenc(key_r,d)を復号して、機密データdを取得し(ステップS232)、復号を終了した時点で受信側鍵情報key_rを破棄する(ステップS233)。なお、図5の動作フローでは明示していないが、機密データの漏洩を防ぐためには、受信側鍵情報key_rと同様に、復号された機密データdも利用を終了した時点で速やかに破棄する必要がある。また、アクセス中に復号済みの機密データを他の媒体への書き出すことも出来ないよう実装する必要がある。少なくとも、復号に用いる鍵情報や、復号過程や復号結果のデータを、ハードディスクなどの持ち出し可能な記録媒体に、ごく短時間でも保存するような実装は避けるべきである。以上が、機密データ復号処理ブロック23の動作フローである。
【0029】
図7は、機密データ復号処理ブロック23で用いる鍵情報再生成器gen_key2の動作フローを示す図である。
図7において、鍵情報再生成器gen_key2を実行する計算機を、鍵情報生成器実行計算機4b、共通鍵を構成する鍵断片情報を生成源となるネットワーク機器を鍵生成参照機器5aとする。なお、本発明の形態の規定する動作は鍵情報生成器実行計算機4bのものだけである。ステップS503、S504、S505、S506は、ステップS502を受けての一般的なネットワーク機器に共通の挙動であり、本発明固有の動作ではない。この4つの動作ステップは説明のために図示したにすぎない。
【0030】
まず、鍵情報生成器実行計算機4bは、鍵断片識別情報key_IDのうち、未処理の行を参照して通信先のIPアドレスaと、鍵断片情報として利用する通信要求rを特定する。例えば、鍵断片識別情報key_IDが表2の場合に、最初の行を参照したとすると「通信先のIPアドレスa」は127.0.0.1、通信要求は「MACアドレス」の要求となる。次に、IPアドレスaのホスト(鍵生成参照機器5a)に対して、通信要求rのパケットを送信する(ステップS502)。IPアドレスaのホストが存在した場合(S503でYes)、同ホストは通信要求のパケットrを受信し(ステップS503)、rに対応するサービスがあれば(S505でYes)、応答パケットrpを鍵情報生成器実行計算機4bに返信され(ステップS506)、鍵情報生成器実行計算機4bは同パケットrpを受信する(ステップS507)。IPアドレスaのホストがネットワーク上に存在しない場合(S503でNo)、もしくは、該当ホスト上で通信要求に対応するサービスが動作していない場合(S505でNo)などの場合には、ステップS508で応答を確認できず(ステップS508でNoの場合)、その時点で鍵生成不能と判定して(ステップS513)、処理を終了する。一定時間内に応答があった場合でも、通信要求が受理されず拒絶の返答であった場合(ステップS509でNoの場合)は、その時点で鍵生成不能と判定して(ステップS513)、同様に処理を終了する。なお、ステップS513で処理を終了した場合は、当然、機密データは復号されない。通信が受理され要求に対する回答を含む応答があった場合(ステップS509でYesの場合)、受け取った応答パケットrpから、鍵断片情報を取得する(ステップS510)。鍵断片識別情報key_IDに含まれる全ての鍵断片情報が揃えば(ステップS511でYesの場合)、鍵断片情報をまとめて受信側鍵情報key_rを生成して処理を終了する。
鍵断片識別情報key_IDに含まれる全ての鍵断片情報が揃っていなければ(ステップS511でNoの場合)、ステップS501に戻る。以上が、鍵情報再生成器gen_key2の動作フローである。
【0031】
以上説明したように、機密データの送信側は、機密データ受信側の属する閉じたネットワークに接続された機器への汎用的なネットワーク通信要求に対する応答結果から機密データの暗号化に用いる鍵情報を生成し、同鍵情報を用いて機密データを暗号化して送信し、機密データの受信側は、機密データの復号の都度、受信側機器の所属するネットワークに接続された機器への通信要求に対する応答結果から復号に用いる鍵を再生成し、暗号化された機密データを復号するようにしたことで、機密データの保有者が、機密データを外部の関係者に漏洩することなく安全に送信することが可能となった。
また、機密データ受信側の属する閉じたネットワーク内の応答情報を暗号・復号の鍵情報に用いることで、いったん送信され相手側で取得された機密データの、受信側の特定の閉じた計算機ネットワークの外部への漏洩を防ぐことが可能となった。
さらに、汎用的なネットワーク通信要求に対する応答結果を暗号・復号の鍵情報に用いることで、上記の効果を相手側に認証サーバのような新たな機器類を増設したり、ネットワーク構成を変更したりすることなく得ることが可能となった。
【0032】
[第2の実施形態]
以下、本発明の第2の実施形態に係るデータ送信システムについて説明する。
前述の第1の実施形態に係るデータ送信システムでは、機密データ暗号化に用いる鍵情報のもとになる、通信応答結果の生成元・通信相手として、ルータなどの単一のネットワーク機器のみを用いていた。
本実施形態のデータ送信システムでは、鍵情報の生成元として、複数の機器を用いる。
本実施形態は、第1の実施形態に加えて、鍵情報生成に用いた通信応答の発信元ネットワーク機器と同様の応答を返す通信ホストを偽装することによる、受信側ネットワーク外への機密データの悪意の持ち出しを困難にすることを更なる目的としている。
例えば、第1の実施形態におけるデータ送信システムにおいては、鍵情報生成に用いる通信応答の発信元機器として、確実な動作が期待できるルータが設定されることが多いと考えられる。これは裏を返せば、一般的なアクセス権限でのルータの応答情報をあらかじめ全て取得しておき、ルータと同一アドレスで当該ルータの応答を偽装する通信ホストを用意すれば、本来機密データの復号が可能なネットワークに接続していなくても、機密データの復号が可能となってしまう。それに対し、鍵情報生成に用いる通信応答の発信元機器が複数あれば、通信ホスト偽装による機密データ持ち出しは、より困難となる。
【0033】
図8は、第2の実施形態におけるデータ送信システムの全体の動作フローを示す図である。
第2の実施形態の全体の動作フローは、図4に示した第1の実施形態における各ブロック21、22、23の変形である鍵生成処理ブロック21a、機密データ暗号化・送付処理ブロック22a、機密データ復号処理ブロック23aの3つに分けられる。
この3つの処理ブロックのうち、鍵生成処理ブロック21aの動作は、第1の実施形態とほぼ同様の動作を行う。鍵生成処理ブロック21aの目的は鍵情報key_rを生成することだが、第1の実施形態と第2の実施形態における、鍵情報けkey_rの差異は「複数のIPアドレスを許容するか否か」だけである。表3に第2の実施形態における鍵情報key_rの例を挙げる。
[表3]
【0034】
第1の実施形態における鍵情報key_rの例である表1との差異は、項目「IPアドレス」に複数の値が入っているかどうかだけである。また、鍵生成処理ブロック21aに含まれる鍵情報生成機gen_keyの挙動も、第1の実施形態の鍵生成処理ブロック21におけるそれとほぼ同様で、処理内容は、図6に挙げた通信相手の探索と、図5に挙げた鍵断片の抽出・取得を繰り返すだけである。ただし、図6においては、第1の実施形態では鍵情報の元となる通信応答の生成源とする通信相手を1つ見つけた時点で終了するが、第2の実施形態は適当な範囲のIPアドレス全てを探索してから終了する。通信相手の探索範囲としては、単純に同一サブネットに属するIPアドレス全てを対象とすることが考えられるが、該当ホスト数が多い場合は、ある程度範囲を限定すべきである。例えば、探索範囲を受信側計算機1BのIPアドレスと第1〜3セグメントが同一のIPアドレス群で限定するなどが考えられる。
【0035】
次に、機密データ暗号化・送付処理ブロック22aについて説明する。この処理ブロックは、第1の実施形態と大きく異なる。最大の相違点は、第1の実施形態では単純に鍵情報key_rで機密データを暗号化していただけなのに対し、第2の実施形態では、鍵情報key_rとは別に、暗号化の都度ランダムな値を取るデータを一時的な鍵であるセッション鍵key_sとして併用する。また、第1の実施形態では、鍵情報key_rを単一の鍵とみなして暗号化していたが、第2の実施形態では鍵情報key_rから、さらに複数の鍵を生成する。
【0036】
例えば、図9に挙げるような項目「IPアドレス」に4つのIPアドレスが含まれる鍵情報の場合、2〜4のIPアドレスのホストからの鍵断片の値を組み合わせて鍵を生成する。2つのIPアドレスのホストからの応答情報から鍵を生成する場合だと、{ルータ、アドレスA}、{ルータ、アドレスB}、{ルータ、アドレスC}、{アドレスA、アドレスB}、{アドレスA、アドレスC}、{アドレスB、アドレスC}の6通りの組み合わせがあり、最大6つの鍵が生成される。ただし、MACアドレスのような偽装しやすい情報しか得られなかったホストからの鍵断片のみで構成された組については除外することも考えられる。図9の場合、{アドレスA、アドレスB}がその除外対象に該当する。本実施形態の説明では、以後、これらの部分組み合わせで構成された鍵断片群を受信側部分鍵key_rpと呼称する。なお、図7の例の場合、4つのIPアドレスの鍵断片全てを使って鍵を生成すれば、組み合わせの数は1つしかできないので、第1の実施形態と構成をほとんど変えず機密データ暗号化・送付処理ブロック22aを実装できるが、そのような実装は基本的には推奨できない。なぜなら、受信側鍵情報key_rに含まれるIPアドレスは、鍵情報key_rを生成した際に探索範囲において通信可能であったネットワーク機器全てから取得したものであるが、機密データを復号する際にも、それら全てと通信可能であるとは限らないからである。要は、ホスト偽装による機密データの持ち出しを防げればよいので、一般的なオフィスを想定するなら、ルータと、OA機器1台と、計算機2〜3台程度とで部分鍵を構成すれば、ホスト偽装阻止には十分効力を発揮すると考えられる。もちろん、重篤な機密データを扱うのであれば、より大きな組み合わせで部分鍵を構成してもよい。
【0037】
実際に、機密データを暗号化する際は、まず、セッション鍵で機密データを暗号化し、そのセッション鍵を受信側部分鍵key_rpの各々で暗号化する。図9の例であれば、暗号化されたセッション鍵が6つ(全ての組み合わせを用いた場合)、もしくは5つ(部分鍵{アドレスA、アドレスB}を除外した場合)生成されることになる。機密データの受信側には、暗号化されたセッション鍵群全てと、暗号化された機密データの両方ともを送付する。機密データの受信側では、逆の手順で復号すればよい。
なお、機密データの暗号化の際に、セッション鍵による暗号化を挟む主な理由は、送付データサイズの削減にある。例として、鍵情報生成源の対象となりうるネットワーク機器が10台あり、そのうち3つの組で部分鍵を生成するケースで、セッション鍵による暗号化を挟まない場合と、挟む場合とを比較する。まず、セッション鍵を用いず、直接、受信側部分鍵で機密データを暗号化する場合、鍵断片生成源となる機器の組み合わせの数は120通りあり、それに対応して部分鍵は120個生成される。暗号化する機密データのサイズが10MBほどの大きさである場合、暗号化によりデータサイズが変わらないと仮定しても、送付データのサイズは、機密データの部分だけで
10MB×120組=1.2GBの大きさになる。
【0038】
次に、暗号化の際に間にセッション鍵を挟む場合を考える。送付される主なデータは、暗号化された機密データが1つと、暗号化されたセッション鍵が120個である(それ以外のデータは、ファイルサイズがごく小さいので、ここでは考慮しない)。一般的な共通鍵暗号方式において鍵のサイズはせいぜい1KB程度なので、暗号化されたセッション鍵群の総サイズもせいぜい120KB程度であり、送付データの総サイズは10MBの元データと比べて、せいぜい1%程度しか増えないことになる。
なお、送付する機密データのサイズがセッション鍵のサイズと比べ十分に大きければ、セッション鍵による暗号化を挟まない場合と挟む場合との送付データのサイズ比は、生成しうる部分鍵の数の比と概ね等しくなる。この差は、データ送付の通信路によほど余裕がない限り、許容しがたいものと考えられる。
【0039】
以上をふまえ、図8の機密データ暗号化・送付処理ブロック22aについて説明する。なお、第1の実施形態と同様に、この処理ブロックの前提として、機密データ送信側である機密データ送信側計算機1Bは、鍵生成処理ブロック21により受信側鍵情報key_rを取得しているものとする。
【0040】
まず、セッション鍵key_sをランダムに生成する(ステップS621)。このセッション鍵は、前述した通り、機密データを暗号化するために用いるもので、数バイト〜1キロバイト程度の大きさのビット列となる。もちろん、セッション鍵key_sは、人間であるユーザーがハンドリングしやすいように一般的な文字列として表現することもできるが、ユーザーがこのセッション鍵key_sに直接触れる機会はないため、文字列表記する意味は、ほぼ無いはずである。なお、このセッション鍵key_sは、暗号化の都度ランダムなデータを生成する。たとえ同じ機密データを暗号化し、同じ宛先に送付するのであっても、同じ鍵を別の暗号化の機会に用いることは避けた方がよい。次に、送付する機密データdをセッション鍵key_sで暗号化して、暗号化機密データenc(key_s,d)を生成する(ステップS622)。次に、セッション鍵key_sを鍵情報key_rから生成した部分鍵key_rpの各々で暗号化して、暗号化セッション鍵群E{enc(key_rp,key_s)}を生成する(ステップS623)。なお、ここでいう鍵情報key_rは、例えば表3のようなものである。表3には、ルータ(項目「IPアドレス」の値が‘−’となっているもの)を含め、4つのネットワーク機器から鍵断片を生成しているが、そのうち幾つを抜き出して部分鍵を構成する組とするか、あらかじめ決めておく必要がある。具体的には、例えば、「ルータ+ルータ以外の1/3の機器から構成」などの選択条件が考えられる。その場合、表3であればルータ1台(表3の2〜4行目)とそれ以外の3台機器(表3の5行目以降)からの鍵断片が含まれるので、部分鍵はルータとその他の機器1台(=3台×1/3)とからの鍵断片の組み合わせで1つの部分鍵を構成する。その結果、表3の鍵情報key_rからは、3つの部分鍵が生成されることになり、暗号化セッション鍵群E{enc(key_rp,key_s)}として暗号化されたセッション鍵も3つ生成される。
【0041】
次に、セッション鍵で暗号化した機密データenc(key_s,d)と、鍵断片識別情報key_IDと、鍵情報再生成器gen_key2と、暗号化セッション鍵群Eをまとめて、送付データp{enc(key2,d),key_ID,gen_key2},E)を生成する(ステップS624)。ここでいう鍵断片識別情報key_IDとは、表2に挙げたような第1の実施形態で用いるそれとは若干異なり、例えば、表4のようになる。
[表4]
【0042】
第1の実施形態での例である表2の場合、表の1行が1つの鍵断片に対応していたが、第2の実施形態の例である表4の場合、表の1行が1つの部分鍵に対応する。そのため、表中の各升には単一の値ではなく、複数の値のリストが入る。例えば、表4の2行目1列目は、対象となる機器がルータと、IPアドレス127.0.0.3の2つの機器であることを示す。表4の2行目1列目は、{{a,b,c},{d}}という構成で記述されており、最初の{a,b,c}が項目「IPアドレス」の示す1つ目の機器の情報(この例の場合はルータ)、{d}が2つ目の機器(この例の場合はIPアドレス127.0.0.3の機器)に対応する。a,b,c,dが各々の鍵断片の識別子である。つまり、表4の2行目の示す部分鍵とは、
・ルータのMACアドレス
・ルータのMIBオブジェクト(MIB{[iso].[org].[dod].[internet].[mgmt].[mib-2].[System].[sysDescr]})
・ルータのMIBオブジェクト
(MIB{[iso].[org].[dod].[internet].[mgmt].[mib-2].[System].[sysObjectID]})
・IPアドレス127.0.0.3の機器のMACアドレス
の4つの鍵断片から構成されることになる。機密データ受信側は、暗号化されたセッション鍵群Eのうちのどれかを復号することになるが、その際にはこの鍵断片識別情報key_IDを元に復号に必要な部分鍵を取得する。なお、第1の実施形態の場合同様、表4は説明のために値を平文で表記しているが、実際に運用する際は、適当な符号で難読化しておくことが望ましい。なお、難読化の範囲については部分鍵が幾つあるかといった情報(表4の場合は3つ)までも含む。また、難読化する場合、元の情報を復元する処理を、後述の鍵情報再生成器gen_key2に含めておく必要がある。送付データを生成した後、それを機密データ受信側に送信し(ステップS625)、受信側で送付データを取得する(ステップS626)。送付データの通信路としては、一般的な電子メールなどが考えられる。
【0043】
次に、図8の機密データ復号処理ブロック23aについて説明する。なお、同処理ブロックの前提として、機密データ受信側である機密データ受信側計算機4Bは、送付データp{enc(key2,d),key_ID,gen_key2},E)を取得しているものとする。また、この処理ブロックは、全て機密データ受信側である機密データ受信側計算機4Bにて実行されるものとする。なお、機密データ復号処理ブロック23aの処理は、鍵生成処理ブロック21aを実行した計算機と同一のネットワークに接続された計算機であれば、同様に実行可能である。
【0044】
まず、送付データp内の鍵情報再生成器gen_key2を用いて、鍵断片識別情報key_IDで指定された受信側ネットワークの固有情報sから、セッション鍵key_sの暗号化に用いられた受信側部分鍵key_rpのいずれかを生成する(ステップS631)。鍵情報再生成器gen_key2については、後述する。次に、取得した受信側部分鍵key_rpで送付データp内の暗号化セッション鍵E{enc(key_r,key_s)}を復号して、セッション鍵key_sを取得する(ステップS632)。次に、取得したセッション鍵key_sで送付データp内の暗号化機密データenc(key_s,d)を復号して、機密データdを取得する(ステップS633)。次に、機密データ復号処理ブロック23aで取得した受信側部分鍵key_rpとセッション鍵key_sを破棄する。
なお、図8の動作フローでは明示していないが、機密データの漏洩を防ぐためには、受信側部分鍵key_rp及びセッション鍵key_sと同様に、復号された機密データdも利用を終了した時点で速やかに破棄する必要がある。また、アクセス中に復号済みの機密データを他の媒体への書き出すことも出来ないよう実装する必要がある。少なくとも、復号に用いる鍵情報や、復号過程や復号結果のデータを、ハードディスクなどの持ち出し可能な記録媒体に、ごく短時間でも保存するような実装は避けるべきである。以上が、機密データ復号処理ブロック23aの動作フローである。
【0045】
図10は、機密データ復号処理ブロック23aで用いる鍵情報再生成器gen_key2の動作フローを示す図である。
鍵情報再生成器gen_key2を実行する計算機を鍵情報生成機実行計算機4c、同計算機と通信する機器群を鍵生成参照機器群5bとする。ただし、本発明の第2の実施形態にて規定するのは、鍵情報再生成器実行計算機8aで実行される動作のみである。8Bの動作であるステップS807、S808、S809、S810は、ステップS806を受けての一般的なネットワーク機器に共通の挙動であり、本発明固有の動作ではない。この4つのステップは説明のために図示したにすぎない。
【0046】
まず、鍵断片識別情報key_IDのうち、未判定の部分鍵kを取得する(ステップS801)。鍵断片識別情報key_IDは、例えば表4のようなものである。部分鍵kとは、表4の表記の場合、各々の行に相当する。表4は項目名を表す1行目を除くと、3つの行(2〜4行目)から構成されているので、表4にて表記される鍵断片識別情報key_IDには、部分鍵が3つ含まれることになる。
次に、部分鍵kに含まれる未処理のIPアドレスaを取得する。表4の2行目に対応する部分鍵の場合、このIPアドレス2行目1列目の升に記述されている「{−,127.0.0.3}」の各要素がそれぞれIPアドレスに該当する。1つ目の要素は“−”はルータのアドレスを表し、2つ目の要素はそのままIPアドレス「127.0.0.3」を表す。ステップS802を最初に実行する時点では、ルータと127.0.0.3のホストと、どちらに対しても何の処理も行っていないので、どちらをIPアドレスaとみなしてもよい。
【0047】
次に、IPアドレスaに対する未取得の鍵断片の識別子arを取得する。表4の2行目に対応する部分鍵の場合、この鍵断片の識別子は、表4の2行2列目の「鍵断片群の識別子」に含まれる。2行2列目の値は、{{a,b,c},{d}}という構成で記述されている。ここでいうa,b,c,dには、それぞれ、
「MACアドレス」
「MIB{[iso].[org].[dod].[internet].[mgmt].[mib-2].[System].[sysDescr]}」
「MIB{[iso].[org].[dod].[internet].[mgmt].[mib-2].[System].[sysObjectID]}」
「MACアドレス」
という値が入っている。そして、第一階層の最初の要素「{a,b,c}」が、{−,127.0.0.3}における1つ目のIPアドレス、つまりルータ([−」と記述)のアドレスに対応し、2つ目の要素{d}が{−,127.0.0.3}における2つ目127.0.0.3に対応する。IPアドレスaをルータのアドレスとしたのであれば、ここで取得すべき鍵断片の識別子arとは、第一要素{a,b,c}に含まれる3つのうちいずれかということになる。最初にステップ802を実行する時点では、どの鍵断片の識別子も処理していないので、a,b,cのいずれをarとみなしてもよい。単純に最初の要素から選んでも問題ないが、ネットワークへの負荷の軽い通信プロトコルに対応するものから選ぶという方法もある(表4の2行2列目の場合は、「MACアドレス」が該当)。
【0048】
次に、IPアドレスaのホストに対する、鍵断片識別子arに対応する通信要求の応答結果を取得済みか否かを判定する(ステップS804)。取得済みであれば(ステップS804でNoの場合)、そのデータを再利用(ステップS805)すればよいので、IPアドレスaのホストへの通信処理は省略する。取得していなければ(ステップS804でNoの場合)、IPアドレスaのホストに対して、鍵断片識別子arに対応する通信要求パケットrを送信する(ステップS806)。例えば、上記の表4をもとに、IPアドレスaとしてルータのアドレスを取得し、鍵断片識別子として第一要素の値「MACアドレス」を取得しているのであれば、それに対応して「MACアドレス」を取得するためのARPブロードキャストパケットを、鍵情報再生成器gen_key2を実行している計算機のネットワークに送信することになる。ステップS806を受けて、IPアドレスaのホストが存在すれば(ステップS807でYesの場合)、IPアドレスaのホストにて当該パケットは受信され(ステップS808)、該当するサービスが稼動していれば(ステップS809でYesの場合)、その応答であるパケットが鍵情報生成機実行計算機4cに向けて送信され(ステップS810)、鍵情報生成機実行計算機4cにてそれを受信する(ステップS811)。ステップS806実行後、一定時間内に応答パケットrp取得できない場合(ステップS812でNoの場合)、ここで処理している部分鍵kは生成不能と判断して(ステップS815)、次の部分鍵の生成判定に移る。また、応答パケットが返されても、IPアドレスaからの情報提供の拒絶を示すパケットが返される等の要求自体は失敗した場合も、同様に部分鍵kは生成不能と判断して、次の部分鍵の生成判定に移る。ただし、この時点で未判定の部分鍵が残っていなかった場合(ステップS817でNoの場合)、部分鍵key_rpはいずれも取得不能と判定して(ステップS820)、処理を終了する。なお、ステップS820で処理を終了した場合、機密データ復号処理ブロック23aにおいて、暗合された機密データは復号されない。
【0049】
通信要求に対して正常な応答が得られた場合(ステップS812でYesの場合)、受け取った応答パケットrpから鍵断片情報を抽出・取得する(ステップS814)。この時点で、IPアドレスaのホストが生成源である鍵断片情報で未取得のものがあれば(ステップS817でNoの場合)、ステップS803に戻る。IPアドレスaのホストが生成源である鍵断片情報を全て取得している場合(ステップS817でYesの場合)、他のIPアドレスのホストが生成源である部分鍵kに含まれる鍵断片情報で未取得のものがあれば(ステップS818でNoの場合)、ステップS802に戻る。部分鍵kの鍵断片情報を全て取得していれば(ステップS818でYesの場合)、鍵断片情報を合成して部分鍵key_rpを生成し(ステップS820)、処理を終了する。
【0050】
このように、複数の機器の通信応答結果から機密データの暗号化に用いる鍵情報を生成する場合に、機密データ受信側の属する閉じたネットワークに接続された機器群各々の通信応答結果から、部分鍵としての受信側機器固有鍵情報をそれぞれ生成し、セッション鍵情報として適当な文字列を生成し、機密データをセッション鍵情報で暗号化し、セッション鍵情報を部分鍵の各々で暗号化して、複数の暗号化されたセッション情報を生成し、暗号化された機密データと、複数の暗号化された暗号化セッション情報の全てをまとめて送信するようにしたことで、複数機器の応答情報を用いることによる鍵情報の冗長化・複雑化により、暗号化された機密データの正当でない手段による復号をより困難にし、セッション鍵という中間的な鍵情報を利用することで、鍵情報の冗長化・複雑化を機密データ本体の大きさを肥大させることなく実現することが出来る。
【0051】
[第3の実施形態]
以下、本発明の第3の実施形態について説明する。
本発明は、機密データを外部関係者に送付する際に、送付時の通信路、及び送付後の保管において、機密漏洩から守るためのものである。機密データの漏洩から安全性を担保するためには、その機密データを暗号化する鍵情報が、機密データ受信者から機密データ送信者へ安全に受け渡されることが前提となる。しかし、第1の実施形態及び第2の実施形態では、鍵情報授受の安全な通信路については規定しておらず、別途それを用意することが要求される。
第3の実施形態は、第1の実施形態、もしくは、第2の実施形態に、鍵情報の安全な授受方法を加えたものである。具体的には、第1の実施形態の動作フローを表す図2における鍵生成処理ブロック21、もしくは、第2の実施形態の動作フローを表す図6における鍵生成処理ブロック21aを、より安全な構成に置き換えたものである。この実施の形態では、公開鍵暗号方式を利用することで、機密データの暗号化に用いる鍵を安全に授受する。
【0052】
この公開鍵暗号方式の仕組みは当業者には自明であるが、簡単に説明しておく。パスワードによる一般的暗号化の多くで用いられる暗号方式である「共通鍵暗号方式」では、暗号化と復号に「共通鍵」と呼ばれる単一の鍵(パスワードなど)を用いる。つまり、暗号化に用いた鍵があれば、同じ鍵で復号も出来る。それに対し、「公開鍵暗号方式」では、「公開鍵」と「秘密鍵」と呼ばれる2つの鍵を用いて暗号化・復号を行い、暗号化に用いた鍵では復号はできない。「公開鍵」で暗号化したデータは「秘密鍵」でしか復号できず、同様に、「秘密鍵」で暗号化したデータは「公開鍵」でしか復号できない。よって、「公開鍵」だけを一般に公開した場合、誰かが「公開鍵」で暗号化したデータを復号できるのは、対応する「秘密鍵」を持つ者に限られる。つまり、共通鍵暗号化方式では、鍵の漏洩が即、暗号化の機密保護能力の喪失につながるが、公開鍵暗号方式における「公開鍵」は、基本的に「公開」されることが前提で秘匿する必要はなく、当然、鍵を授受する通信路の安全性を確保する必要もない。
【0053】
次に、第3の実施形態における鍵生成・送付の処理を説明する。
図11は、図4及び図8で構成が共通である鍵生成処理ブロック21、21aを置き換える変形例である鍵生成・送付処理ブロック21bの動作フローを示す図である。
まず、機密データ送信側計算機1Cにて、公開鍵暗号方式における秘密鍵skと公開鍵pkのペアを生成する(ステップS911)。次に、鍵情報生成器gen_keyと、公開鍵pkを機密データ受信側に送信する(ステップS912)。次に、gen_keyを用いて、受信側ネットワークの固有情報sから機密データの暗号化に用いる受信側鍵情報key_rを生成する(ステップS913)。なお、このステップS913の動作は、第1の実施形態の動作を示す図2におけるステップS213、もしくは、第2の実施形態の動作を示す図8におけるステップS613と同じものである。次に、公開鍵pkを用いて受信側鍵情報key_rを暗号化して、暗号化受信側鍵情報enc(pk,key_r)を生成する(ステップS914)。次に、暗号化受信側鍵情報enc(pk,key_r)を機密データ送信側に送信する(ステップS916)。それを受けて、暗号化受信側鍵情報enc(pk,key_r)を機密データ送信側が取得し(ステップS917a)、あわせて、機密データ受信側は受信側鍵情報key_rを破棄する(ステップS917b)。次に、機密データ送信側は、暗号化受信側鍵情報enc(pk,key_r)を秘密鍵skで復号し、受信側鍵情報key_rを取得する。以上で、第3の実施形態における鍵生成処理ブロック21bの処理は終了である。
【0054】
この構成において、第三者が機密データ送信側と受信側の通信を傍受して取得可能な情報は、鍵情報生成器gen_keyと、暗号化受信側鍵情報enc(pk,key_r)との2つだけである。鍵情報生成器gen_keyがあっても、受信側ネットワークに物理的に直接接続できなければ、機密データの復号に必要な鍵情報は取得できない。また、暗号化受信側鍵情報enc(pk,key_r)があっても、秘密鍵skがなければ機密データの復号に必要な鍵情報は取得できない。もちろん、この2つが両方揃っても、機密データの復号に必要な鍵情報は取得できない。よって、基本的に機密データ送信側と受信側との間の通信路は安全なものに限定する必要はなく、第三者に傍受される危険性がある一般的な電子メールなどを、鍵情報授受の通信路として選んでも構わない。
このように、鍵情報を機密データ受信側の属する閉じたネットワーク内で生成した後に、その鍵情報を、公開鍵暗号方式における、機密データ送信側の公開鍵で暗号化して、機密データ受信側から機密データ送信側に送付することで、機密データ送信側が、機密データ受信側で生成された鍵情報を取得することも可能であるようにしたことで、機密データの暗号化に用いる鍵情報を安全に授受することができ、その結果、暗号化された機密データより安全に送信することが可能となる。
【0055】
[第4の実施形態]
以下、本発明の第4の実施形態について説明する。
第1の実施形態、第2の実施形態、及び第3の実施形態は、機密データ受信側ネットワーク所属機器の固有応答情報を用いて、機密データの暗号化を行うものだった。これは裏を返せば、当該ネットワークに物理的に接続さえすれば、誰でも機密データの暗号を解き、機密を取得できるということを意味する。第4の実施形態では、機密データへのアクセス要件として、機密データを受信したネットワークに接続することに加え、パスワードを用いた暗号化を解くことも含める。
第4の実施形態の構成は、前述してきたデータ送信システムの構成に、パスワードによる共通鍵暗号化の過程を加えるだけである。具体的には、機密データ送信側で、機密データ受信側ネットワークの固有応答情報から生成された鍵情報により機密データを暗号化する前に、機密データを、パスワードを鍵に用いた共通鍵暗号方式で暗号化する。受信側ネットワークで生成された鍵による暗号化は、パスワードで暗号化された機密データに対して行う。
逆に、機密データ受信側では、機密データ受信側ネットワークの固有応答情報から生成された鍵情報により、送付データに含まれる機密データ部分を復号した後、前述のパスワードで復号データをさらに復号して、機密データを取得する。
【0056】
この構成により、機密データ受信側ネットワークに物理的に接続可能な機器及びその利用者に対して、さらにアクセス可能なユーザーを、パスワードを知っている者に限定できる。
なお、機密データ送信側と受信側のパスワードの共有方法であるが、本実施形態が、第3の実施形態を拡張したものであるなら、機密データ受信側でパスワードを生成して、図11のステップS915で公開鍵暗号方式により暗号化するデータに、新たに生成したパスワードも含めてしまえばよい。その構成であれば、機密データ送信側と受信側とで、安全にパスワードを共有できる。また、パスワードの生成方法であるが、機密データ受信側が任意に決定する他にも、鍵情報生成器gen_keyにパスワード文字列を生成する機能と、当該文字列を機密データ受信側ユーザーに表示する機能とを含めてしまうこともできる。
【0057】
図12は、パスワードの生成・表示機能まで含めた、図11におけるステップS913、S914、S915、S916、S917bに相当する部分の実行画面の例を示す図である。
図12は、機密データ受信側のユーザーが、機密データ送信側から鍵情報生成器gen_keyと、公開鍵pkをまとめた実行ファイルを受け取った際に、当該実行ファイルを実行した際に、図1に示す表示装置15に表示されるものである。文字列表示エリア101に機密データ送信側の組織名が、文字列表示エリア102に機密データ送信側の担当者の氏名と電子メールアドレスが表示される。また、文字列表示エリア103には、パスワードとなるランダムな文字列が生成され、表示される。この文字列の書式は、機密データ送信側があらかじめ定めておくことも出来る。書式の例としては、「12文字の文字列で、アルファベットの大文字、小文字、数字がそれぞれ1文字以上含まれ、同じ文字が連続して出現しない」などが考えられる。ここで生成・表示される文字列が、受信側ネットワーク所属機器の応答情報による鍵情報とは別の、本実施の形態における追加構成である共通鍵暗号方式による機密データ暗号化に用いられる鍵である。機密データ受信側ユーザーがボタン104を押すと、鍵情報生成器gen_keyが受信側ネットワーク所属機器の応答情報から鍵情報key_rを生成し、文字列表示エリア103に表示されたパスワード文字列と合わせて暗号化し、それを機密データ送信側、すなわち、文字列表示エリア101、102に示される担当者にメールにて送信する。
【0058】
図13は、逆に、機密データ受信側が、暗号化された機密データ受信し、それを開こうとするときに表示される、図8における機密データ復号処理ブロック23aに相当する部分の実行画面の例を示す図である。
図13の文字列表示エリア111に機密データ送信側の組織名が、文字列表示エリア112に機密データ送信側の担当者の氏名と電子メールアドレスが表示される。チェックボックス付リストボックス113には、受信した暗号化機密データに含まれる機密情報の一覧が表示される。このリストボックスに付属するチェックボックスについては、後述する。暗号化された機密データを受け取ったユーザーは、図12の文字列表示エリア103に表示されたパスワード文字列を、図13の文字列入力エリア114に入力し、前述のチェックボックス付リストボックス113に表示された一覧から、必要な情報にチェックを入れ、ボタン115を押すと、当該ユーザーの利用している計算機が鍵情報key_rを生成したネットワークに接続されており、かつ、文字列入力エリア114に入力したパスワード文字列が、図12の文字列表示エリア103に表示されたパスワード文字列と一致していれば、チェックを入れた情報が、鍵情報key_rとパスワード文字列とにより暗号化されたデータが復号され、チェックを入れた情報が表示される。なお、ここで機密情報を表示する際は、復号した情報の別の記録媒体への書き出し・保存ができないよう実装する事が強く推奨される。
【0059】
また、より機密を厳格に扱う場合、復号に必要な条件を満たさなかった回数を鍵情報再生成器gen_key2が自身の内部に記録しておき、機密データ送信側があらかじめ定めた回数以上条件を満たさない操作を行った場合には、暗号化された機密データを破壊するという実装も考えられる。また、第4の実施形態において、暗号化された機密データの復号に必要な要件は、正しいパスワード文字列が入力される事と、鍵情報生成器gen_keyが適切なネットワーク上で実行される事との、双方が成立することであるが、機密保護の観点においては、復号不能の際には、それがどちらの要件を欠いたのかをユーザーに提示しない方が望ましい。例えば、単に「開封に必要な要件を満たしませんでした」と通知するなどが考えられる。
このように、適当な文字列による暗号化も併用することが可能としたことで、機密データへアクセス可能なユーザーを制限することが出来、関係者ではない人間への機密データへの接触・漏洩を防ぐことが可能になった。
【図面の簡単な説明】
【0060】
【図1】本発明の実施の形態に係るデータ送信システムの一例の全体構成を示す図。
【図2】機密データ送信計算機(機密データ受信計算機)のハードウェア構成を示す図。
【図3】本発明を構成する各計算機において実行されるプログラムの機能ブロック図。
【図4】第1の実施形態における全体動作のフローチャートを示す図。
【図5】第1の実施形態における鍵情報生成器実行時の動作フローを示す図。
【図6】SNMPを用いて鍵情報生成のための適当な通信相手の探索を行う動作フローを示す図。
【図7】第1の実施形態の機密データ復号処理ブロックで用いる鍵情報再生成器の動作フローを示す図。
【図8】第2の実施形態におけるデータ送信システムの全体の動作フローを示す図。
【図9】第2の実施形態における部分鍵を示す図。
【図10】第2の実施形態で用いる鍵情報再生成器gen_key2の動作フローを示す図。
【図11】第2の実施形態における鍵の生成・送付処理ブロックの動作フローを示す図。
【図12】図10におけるステップS913〜S917bに相当する部分の実行画面の例を示す図。
【図13】図6における機密データ復号処理ブロック23aに相当する部分の実行画面の例を示す図。
【符号の説明】
【0061】
1 機密データ送信計算機、2、3 ルータ、4 機密データ受信計算機、5 ネットワーク機器、10 CPU、11 ネットワークインターフェイス、12 入力装置、13 ルータ、14 RAM、15 表示装置、21 鍵生成処理ブロック、21a 鍵生成処理ブロック、22 機密データ暗号化・送付処理ブロック、22a 機密データ暗号化・送付処理ブロック、23 機密データ復号処理ブロック、23a 機密データ復号処理ブロック、24 送信側鍵生成処理部、25 受信側鍵生成処理部、26 機密データ暗号化部、27 機密データ復号部、101 文字列表示エリア、102 文字列表示エリア、103 文字列表示エリア、104 ボタン、111 文字列表示エリア、112 文字列表示エリア、113 チェックボックス付リストボックス、114 文字列入力エリア、115 ボタン
【特許請求の範囲】
【請求項1】
送信側計算機から、異なるネットワークに属する受信側計算機に暗号化したデータを送信する機密データ送信方法であって、
前記受信側計算機は、当該受信側計算機が属するネットワークに接続された機器への通信要求に対する応答結果から鍵情報を生成し、
前記送信側計算機は、前記受信側計算機から前記鍵情報を取得して、前記鍵情報を用いて前記データを暗号化して前記受信側計算機に送信し、
前記受信側計算機は、前記機器への通信要求に対する応答結果から前記鍵情報を再生成して、当該鍵情報により前記暗号化されたデータを復号すること特徴とする機密データ送信方法。
【請求項2】
請求項1に記載の機密データ送信方法において、
前記受信側計算機は、前記送信側計算機における前記データの暗号化に先立って、前記生成した鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送信し、
前記送信側計算機は、送付された暗号化された前記鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記鍵情報を取得することを特徴とする機密データ送信方法。
【請求項3】
請求項2に記載の機密データ送信方法において、前記公開鍵にて前記鍵情報を暗号化する際に、適当な文字列による暗号化も付加することを特徴とする機密データ送信方法。
【請求項4】
送信側計算機から、異なるネットワークに属する受信側計算機に暗号化したデータを送信する機密データ送信方法であって、
前記受信側計算機は、当該受信側計算機の属するネットワークに接続された複数の機器への通信要求に対する応答結果から複数の部分鍵情報を生成し、
前記送信側計算機は、前記受信側計算機から前記複数の部分鍵情報を取得し、適当な文字列からなるセッション鍵情報を生成し、前記データを前記セッション鍵情報で暗号化し、前記セッション鍵情報を、前記各部分鍵情報にて暗号化して複数の暗号化された前記セッション情報を生成し、暗号化された前記データ及び暗号化された各セッション鍵情報を前記受信側計算機に送信し、
前記受信側計算機は、前記複数の機器への通信要求に対する応答結果から複数の部分鍵情報を再生成し、生成した部分鍵情報にて、前記送信側計算機から送信された暗号化されたセッション鍵情報の何れかを復号し、復号したセッション鍵情報にて暗号化された前記データを復号することを特徴とする機密データ送信方法。
【請求項5】
請求項4に記載の機密データ送信方法において、
前記受信側計算機は、前記送信側計算機における前記データの暗号化に先立って、前記部分鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送付し、
前記送信側計算機は、前記暗号化された部分鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記部分鍵情報を取得することを特徴とする機密データ送信方法。
【請求項6】
請求項5に記載の機密データ送信方法において、前記公開鍵にて各部分鍵情報を暗号化する際に、適当な文字列による暗号化も付加することを特徴とする機密データ送信方法。
【請求項7】
請求項1乃至6の何れか1項に記載の機密データ送信方法において、前記応答結果は、ARPリクエストに対するMACアドレスの応答であることを特徴とする機密データ送信方法。
【請求項8】
請求項1乃至6の何れか1項に記載の機密データ送信方法において、前記応答結果は、SNMPリクエストに対する機器診断情報の応答であることを特徴とする機密データ送信方法。
【請求項9】
データを暗号化して送信する送信側計算機と、該送信側計算機とは異なるネットワークに属し、暗号化された前記データを受信して復号する受信側計算機と、から構成される機密データ送信システムであって、
前記受信側計算機は、当該受信側計算機が属するネットワークに接続された機器への通信要求に対する応答結果から鍵情報を生成する鍵生成処理部と、
前記応答結果から前記鍵情報を再生成して、当該鍵情報により前記送信側計算機から送付された暗号化された前記データを復号するデータ復号部と、
を備え、
前記送信側計算機は、
前記受信側計算機から取得した前記鍵情報を用いて前記データを暗号化して前記受信側計算機に送信するデータ暗号化部を備えたことを特徴とする機密データ送信システム。
【請求項10】
請求項9に記載の機密データ送信システムにおいて、
前記受信側計算機は、前記送信側計算機における前記送信データの暗号化に先立って、前記生成した部分鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送付し、
前記送信側計算機は、送付された暗号化された前記鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記鍵情報を取得することを特徴とする機密データ送信システム。
【請求項11】
請求項10に記載の機密データ送信システムにおいて、前記公開鍵にて前記鍵情報を暗号化する際に、適当な文字列による暗号化も付加することを特徴とする機密データ送信システム。
【請求項12】
送信データを暗号化して送信する送信側計算機と、該送信側計算機とは異なるネットワークに属し、暗号化された前記送信データを受信して復号する受信側計算機と、から構成される機密データ送信システムであって、
前記受信側計算機は、該受信側計算機の属するネットワークに接続された複数の機器への通信要求に対する応答結果から複数の部分鍵情報を生成する鍵生成処理部と、
前記応答結果から複数の部分鍵情報を再生成し、再生成した部分鍵情報にて、前記送信側計算機から送信された暗号化されたセッション鍵情報の何れかを復号し、復号したセッション鍵情報にて暗号化された前記データを復号する機密データ復号部と、を備え、
前記送信側計算機は、適当な文字列からなるセッション鍵情報を生成し、前記データを前記セッション鍵情報で暗号化し、前記セッション鍵情報を、前記受信側計算機から取得した前記複数の部分鍵情報にて暗号化して複数の暗号化された前記セッション情報を生成し、暗号化された前記データ及び暗号化された各セッション鍵情報を前記受信側計算機に送信する機密データ暗号部とを備えたことを特徴とする機密データ送信システム。
【請求項13】
請求項12に記載の機密データ送信システムにおいて、
前記受信側計算機は、前記送信側計算機における前記送信データの暗号化に先立って、前記部分鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送付し、
前記送信側計算機は、送付された前記暗号化された部分鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記部分鍵情報を取得することを特徴とする機密データ送信システム。
【請求項14】
請求項13に記載の機密データ送信システムにおいて、前記公開鍵にて各部分鍵情報を暗号化する際に、適当な文字列による暗号化も付加することを特徴とする機密データ送信システム。
【請求項15】
請求項9乃至14の何れか1項に記載の機密データ送信システムにおいて、前記応答結果は、ARPリクエストに対するMACアドレスの応答であることを特徴とする機密データ送信システム。
【請求項16】
請求項9乃至14の何れか1項に記載の機密データ送信システムにおいて、前記応答結果は、SNMPリクエストに対する機器診断情報の応答であることを特徴とする機密データ送信システム。
【請求項1】
送信側計算機から、異なるネットワークに属する受信側計算機に暗号化したデータを送信する機密データ送信方法であって、
前記受信側計算機は、当該受信側計算機が属するネットワークに接続された機器への通信要求に対する応答結果から鍵情報を生成し、
前記送信側計算機は、前記受信側計算機から前記鍵情報を取得して、前記鍵情報を用いて前記データを暗号化して前記受信側計算機に送信し、
前記受信側計算機は、前記機器への通信要求に対する応答結果から前記鍵情報を再生成して、当該鍵情報により前記暗号化されたデータを復号すること特徴とする機密データ送信方法。
【請求項2】
請求項1に記載の機密データ送信方法において、
前記受信側計算機は、前記送信側計算機における前記データの暗号化に先立って、前記生成した鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送信し、
前記送信側計算機は、送付された暗号化された前記鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記鍵情報を取得することを特徴とする機密データ送信方法。
【請求項3】
請求項2に記載の機密データ送信方法において、前記公開鍵にて前記鍵情報を暗号化する際に、適当な文字列による暗号化も付加することを特徴とする機密データ送信方法。
【請求項4】
送信側計算機から、異なるネットワークに属する受信側計算機に暗号化したデータを送信する機密データ送信方法であって、
前記受信側計算機は、当該受信側計算機の属するネットワークに接続された複数の機器への通信要求に対する応答結果から複数の部分鍵情報を生成し、
前記送信側計算機は、前記受信側計算機から前記複数の部分鍵情報を取得し、適当な文字列からなるセッション鍵情報を生成し、前記データを前記セッション鍵情報で暗号化し、前記セッション鍵情報を、前記各部分鍵情報にて暗号化して複数の暗号化された前記セッション情報を生成し、暗号化された前記データ及び暗号化された各セッション鍵情報を前記受信側計算機に送信し、
前記受信側計算機は、前記複数の機器への通信要求に対する応答結果から複数の部分鍵情報を再生成し、生成した部分鍵情報にて、前記送信側計算機から送信された暗号化されたセッション鍵情報の何れかを復号し、復号したセッション鍵情報にて暗号化された前記データを復号することを特徴とする機密データ送信方法。
【請求項5】
請求項4に記載の機密データ送信方法において、
前記受信側計算機は、前記送信側計算機における前記データの暗号化に先立って、前記部分鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送付し、
前記送信側計算機は、前記暗号化された部分鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記部分鍵情報を取得することを特徴とする機密データ送信方法。
【請求項6】
請求項5に記載の機密データ送信方法において、前記公開鍵にて各部分鍵情報を暗号化する際に、適当な文字列による暗号化も付加することを特徴とする機密データ送信方法。
【請求項7】
請求項1乃至6の何れか1項に記載の機密データ送信方法において、前記応答結果は、ARPリクエストに対するMACアドレスの応答であることを特徴とする機密データ送信方法。
【請求項8】
請求項1乃至6の何れか1項に記載の機密データ送信方法において、前記応答結果は、SNMPリクエストに対する機器診断情報の応答であることを特徴とする機密データ送信方法。
【請求項9】
データを暗号化して送信する送信側計算機と、該送信側計算機とは異なるネットワークに属し、暗号化された前記データを受信して復号する受信側計算機と、から構成される機密データ送信システムであって、
前記受信側計算機は、当該受信側計算機が属するネットワークに接続された機器への通信要求に対する応答結果から鍵情報を生成する鍵生成処理部と、
前記応答結果から前記鍵情報を再生成して、当該鍵情報により前記送信側計算機から送付された暗号化された前記データを復号するデータ復号部と、
を備え、
前記送信側計算機は、
前記受信側計算機から取得した前記鍵情報を用いて前記データを暗号化して前記受信側計算機に送信するデータ暗号化部を備えたことを特徴とする機密データ送信システム。
【請求項10】
請求項9に記載の機密データ送信システムにおいて、
前記受信側計算機は、前記送信側計算機における前記送信データの暗号化に先立って、前記生成した部分鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送付し、
前記送信側計算機は、送付された暗号化された前記鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記鍵情報を取得することを特徴とする機密データ送信システム。
【請求項11】
請求項10に記載の機密データ送信システムにおいて、前記公開鍵にて前記鍵情報を暗号化する際に、適当な文字列による暗号化も付加することを特徴とする機密データ送信システム。
【請求項12】
送信データを暗号化して送信する送信側計算機と、該送信側計算機とは異なるネットワークに属し、暗号化された前記送信データを受信して復号する受信側計算機と、から構成される機密データ送信システムであって、
前記受信側計算機は、該受信側計算機の属するネットワークに接続された複数の機器への通信要求に対する応答結果から複数の部分鍵情報を生成する鍵生成処理部と、
前記応答結果から複数の部分鍵情報を再生成し、再生成した部分鍵情報にて、前記送信側計算機から送信された暗号化されたセッション鍵情報の何れかを復号し、復号したセッション鍵情報にて暗号化された前記データを復号する機密データ復号部と、を備え、
前記送信側計算機は、適当な文字列からなるセッション鍵情報を生成し、前記データを前記セッション鍵情報で暗号化し、前記セッション鍵情報を、前記受信側計算機から取得した前記複数の部分鍵情報にて暗号化して複数の暗号化された前記セッション情報を生成し、暗号化された前記データ及び暗号化された各セッション鍵情報を前記受信側計算機に送信する機密データ暗号部とを備えたことを特徴とする機密データ送信システム。
【請求項13】
請求項12に記載の機密データ送信システムにおいて、
前記受信側計算機は、前記送信側計算機における前記送信データの暗号化に先立って、前記部分鍵情報を、公開鍵暗号方式における公開鍵で暗号化して前送信側計算機に送付し、
前記送信側計算機は、送付された前記暗号化された部分鍵情報を、前記公開鍵に対応する秘密鍵で復号して前記部分鍵情報を取得することを特徴とする機密データ送信システム。
【請求項14】
請求項13に記載の機密データ送信システムにおいて、前記公開鍵にて各部分鍵情報を暗号化する際に、適当な文字列による暗号化も付加することを特徴とする機密データ送信システム。
【請求項15】
請求項9乃至14の何れか1項に記載の機密データ送信システムにおいて、前記応答結果は、ARPリクエストに対するMACアドレスの応答であることを特徴とする機密データ送信システム。
【請求項16】
請求項9乃至14の何れか1項に記載の機密データ送信システムにおいて、前記応答結果は、SNMPリクエストに対する機器診断情報の応答であることを特徴とする機密データ送信システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−141596(P2010−141596A)
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願番号】特願2008−315998(P2008−315998)
【出願日】平成20年12月11日(2008.12.11)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願日】平成20年12月11日(2008.12.11)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]