IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 矢野 義博の特許一覧 ▶ 高嶋 生也の特許一覧

特許7433620通信方法、通信装置及びコンピュータプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-02-09
(45)【発行日】2024-02-20
(54)【発明の名称】通信方法、通信装置及びコンピュータプログラム
(51)【国際特許分類】
   H04L 12/22 20060101AFI20240213BHJP
【FI】
H04L12/22
【請求項の数】 32
(21)【出願番号】P 2023196903
(22)【出願日】2023-11-20
【審査請求日】2023-11-20
【早期審査対象出願】
(73)【特許権者】
【識別番号】522356245
【氏名又は名称】矢野 義博
(73)【特許権者】
【識別番号】522356256
【氏名又は名称】高嶋 生也
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】矢野 義博
(72)【発明者】
【氏名】高嶋 生也
【審査官】宮島 郁美
(56)【参考文献】
【文献】特開2020-065153(JP,A)
【文献】特開2004-193903(JP,A)
【文献】特開2021-010123(JP,A)
【文献】特開2014-044548(JP,A)
【文献】特開2014-146868(JP,A)
【文献】特開2014-183479(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-12/66,13/00,41/00-49/9057,61/00-65/80,69/00-69/40
(57)【特許請求の範囲】
【請求項1】
第1通信装置と第2通信装置との間の通信方法であって、
前記第1通信装置は、
前記第2通信装置が前記第1通信装置と通信状態にあり、前記第2通信装置が前記第1通信装置に対してデータの再送が必要となる所定事象が発生し前記第2通信装置が、少なくともデータ部が同一である再送データを送信した場合、前記第2通信装置との間の通信を停止する、
通信方法。
【請求項2】
前記所定事象は、
前記第2通信装置が送信したデータを前記第1通信装置が正常に受信した場合に、所定時間内に正常に受信した旨の通知を前記第1通信装置から受信できない事象を含む、
請求項1に記載の通信方法。
【請求項3】
前記所定事象は、
前記第1通信装置が再度セッションを接続した事象を含む、
請求項1に記載の通信方法。
【請求項4】
前記所定事象は、
前記第2通信装置又は前記第1通信装置が検知するタイムアウト、再起動及びIPアドレスの変更のいずれかの事象を含む、
請求項1に記載の通信方法。
【請求項5】
前記第1通信装置と前記第2通信装置との間の通信が確立し、前記所定事象が発生していない場合に、前記第1通信装置と前記第2通信装置との通信確立後の経過時間に応じて前記所定事象の発生インターバルが所定時間より長くなる都度、前記所定事象を発生させるサイクルを複数回繰り返す、
請求項1に記載の通信方法。
【請求項6】
前記第1通信装置と前記第2通信装置との間の通信が確立し、前記所定事象が発生していない場合に、前記第1通信装置と前記第2通信装置との間で通信したデータ量が所定量より多くなる都度、前記所定事象を発生させるサイクルを複数回繰り返す、
請求項1に記載の通信方法。
【請求項7】
前記第1通信装置は、
前記第2通信装置が、前記第1通信装置へ送信したデータの暗号化に用いた鍵情報と同じ鍵情報を用いて暗号化したデータを再送信した場合、前記第2通信装置との間の通信を停止する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項8】
前記第1通信装置は、
秘密情報に基づいて所要の頻度で異なる鍵情報を生成し、
前記第2通信装置が、前記第1通信装置との間で使用している鍵情報より古い鍵情報を用いて暗号化したデータを再送信しない場合、前記第2通信装置との間の通信を停止する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項9】
前記第1通信装置及び前記第2通信装置は、
予め共通の秘密情報を保持しておき、
前記第1通信装置は、
前記第2通信装置が、前記秘密情報に基づいて生成した鍵情報を用いて暗号化したデータを再送信しない場合、前記第2通信装置との間の通信を停止する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項10】
前記第1通信装置は、
秘密情報から複数の分散情報を生成し、
生成した分散情報それぞれに基づいて鍵情報を複数生成し、
前記第2通信装置が、生成された複数の鍵情報のうちの予め定めた鍵情報を用いて暗号化したデータを再送信しない場合、前記第2通信装置との間の通信を停止する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項11】
前記第1通信装置は、秘密情報を保持し、
前記第2通信装置が、前記秘密情報と同一の秘密情報を保持している場合、前記第1通信装置と前記第2通信装置との間の通信を許容する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項12】
前記第1通信装置は、秘密情報に基づいて前記第1通信装置内で生成した鍵情報を保持し、
前記第2通信装置が、前記秘密情報と同一の秘密情報に基づいて前記第2通信装置内で生成した、前記鍵情報と同一の鍵情報を保持している場合に限り、前記第1通信装置と前記第2通信装置との間の通信を許容する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項13】
前記第1通信装置は、秘密情報を保持し、
前記第1通信装置及び前記第2通信装置が、前記第1通信装置又は前記第2通信装置の限定された通信エリア内に存在する場合、前記秘密情報を前記第2通信装置へ送信し、
前記第1通信装置と前記第2通信装置との間で前記秘密情報を共有する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項14】
前記第1通信装置は、
前記第1通信装置に関する第1固有情報を保持し、又は前記第2通信装置に関する第2固有情報を前記第2通信装置から取得し、
保持した第1固有情報及び取得した第2固有情報の少なくとも一つを用いて前記秘密情報を生成する、
請求項13に記載の通信方法。
【請求項15】
前記第1通信装置は、
前記第1固有情報及び前記第2固有情報のいずれとも異なる第3固有情報を取得し、
前記第1固有情報及び前記第2固有情報に加えて前記第3固有情報を用いて前記秘密情報を生成する、
請求項14に記載の通信方法。
【請求項16】
前記通信エリアは、正規の人しか入室できない特定のエリアである、
請求項13に記載の通信方法。
【請求項17】
前記第1通信装置は、秘密情報を保持し、
前記第1通信装置及び持ち運び可能な記録媒体が、前記第1通信装置の限定された通信エリア内に存在する場合、前記秘密情報を前記記録媒体へ送信し、
前記第2通信装置は、
前記通信エリア外で前記記録媒体から前記秘密情報を受信し、
前記第1通信装置と前記第2通信装置との間で前記秘密情報を共有する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項18】
前記通信エリアを複数設ける、
請求項13に記載の通信方法。
【請求項19】
前記第1通信装置及び前記第2通信装置の一方がVPNプライマリであり、他方がVPNクライアントであり、
前記VPNプライマリは、秘密情報を保持し、
前記VPNプライマリ及び前記VPNクライアントが、前記VPNプライマリ又は前記VPNクライアントの限定された通信エリア内に存在する場合、前記秘密情報を前記VPNクライアントへ送信し、
前記VPNプライマリと前記VPNクライアントとの間で前記秘密情報を共有する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項20】
前記第1通信装置は、
入室が制限されたエリアに設置され、秘密情報が保持された二次元コードを表示し、
前記第2通信装置は、
入室が制限された前記エリアに持ち込まれ、表示された二次元コードを読み取って前記秘密情報を保持し、
前記第1通信装置と前記第2通信装置との間で前記秘密情報を共有する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項21】
前記第1通信装置は、
前記秘密情報を共有した第2通信装置固有の識別子を保持し、
秘密情報を更新する場合、前記識別子が保持された第2通信装置に対して更新した秘密情報が保持された二次元コードを送信する、
請求項20に記載の通信方法。
【請求項22】
プライベートブロックチェーンの管理者の前記第1通信装置は、
秘密情報をトランザクションデータとして前記プライベートブロックチェーンに書き込み、
前記プライベートブロックチェーンへの参加が登録された参加者の前記第2通信装置は、
前記プライベートブロックチェーンに書き込まれた前記秘密情報を前記プライベートブロックチェーンから取得し、
前記第1通信装置と前記第2通信装置との間で前記秘密情報を共有する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項23】
前記第1通信装置又は前記第2通信装置との通信が許容されるそれぞれの場合の前記第2通信装置又は前記第1通信装置の存在エリアを保持し、
前記第2通信装置又は前記第1通信装置の位置情報が前記存在エリア内にある場合、前記第1通信装置と前記第2通信装置との間の通信を行う、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項24】
前記第1通信装置は、
前記第2通信装置との間でP2PVPN通信を行う、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項25】
前記第1通信装置は、
前記第2通信装置のトランスポート層から送信された再送データを自身のトランスポート層で受信し、
自身のトランスポート層を用いて前記第2通信装置が送信する再送データを判定する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項26】
前記第1通信装置は、
前記第2通信装置のトランスポート層から送信された再送データを自身のトランスポート層で受信し、
自身のアプリケーション層を用いて前記第2通信装置が送信する再送データを判定する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項27】
前記第1通信装置は、
前記第2通信装置との間の通信を停止する場合、前記第2通信装置による通信に不正侵入が発生した旨を外部装置へ通知する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項28】
前記第1通信装置は、
前記第2通信装置との間の通信を停止する前に、攻撃者のシステムを無効化すべくウィルス又はランサムウェアを前記第2通信装置又は前記第2通信装置を介して前記第2通信装置に接続されている他の装置へ送信する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項29】
前記第2通信装置は、秘密情報を保持し、
第3通信装置及び前記第2通信装置が、前記第3通信装置又は前記第2通信装置の限定された通信エリア内に存在する場合、前記秘密情報を前記第3通信装置へ送信し、
前記第2通信装置と前記第3通信装置との間で前記秘密情報を共有する、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項30】
前記第1通信装置は、P2PVPN通信を通じて前記第2通信装置への一方向通信のみ認められている状態で、
他の通信装置が前記第1通信装置との間で共有する第1秘密情報に基づいて生成された第1共有鍵で暗号化したデータを、前記第1通信装置との間で共有する第2秘密情報に基づいて生成された第2共有鍵で暗号化し、さらに前記第2通信装置との間で共有する第3秘密情報に基づいて生成された第3共有鍵で暗号化されたデータを前記第2通信装置へ送信した場合、
前記第2通信装置は、
受信したデータを前記第3共有鍵で復号し、復号したデータを前記第1通信装置へ送信し、
前記第1通信装置は、
受信したデータを、前記第2共有鍵で復号し、復号したデータを前記第1共有鍵で復号して、前記他の通信装置からのデータを受信することを可能とする、
請求項1から請求項6のいずれか一項に記載の通信方法。
【請求項31】
制御部を備え、
前記制御部は、
他の通信装置と通信状態にあり、前記他の通信装置がデータの再送が必要となる所定事象が発生し前記他の通信装置が、少なくともデータ部が同一である再送データを送信した場合、前記他の通信装置との間の通信を停止する、
通信装置。
【請求項32】
第1通信装置で動作するコンピュータプログラムであって、
第2通信装置が前記第1通信装置と通信状態にあり、前記第2通信装置が前記第1通信装置に対してデータの再送が必要となる所定事象が発生し前記第2通信装置が、少なくともデータ部が同一である再送データを送信した場合、前記第2通信装置との間の通信を停止する、
処理をコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信方法、通信装置及びコンピュータプログラムに関する。
【背景技術】
【0002】
企業に対するサイバー攻撃による被害を少なくするためには、適切な対策を講じる必要がある。このようなサイバー攻撃の一つとして、近年、ランサムウェアと称されるマルウェアが世界的に流行している。
【0003】
特許文献1には、ユーザ空間において行われる所定の要求に対応したカーネル空間における特定の要求を検出し、当該要求が所定の頻度で検出された場合、ランサムウェアに感染したと判断する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2023-53359号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
企業内のネットワークをサイバー攻撃から守るためには、ネットワークとセキュリティに詳しいIT技術者を雇用し、セキュリティシステムを構築して不正侵入の検知、不正侵入を防止するシステムを導入し、これらのシステムのログを確認して、問題が発生していないかを日々確認する必要がある。しかし、これらの対策には多額の初期導入費用ばかりだけでなく、継続した管理費用を要するため、十分な対策を講じることができないというのが現実である。多額のコストを投資して、ネットワークを守れない多くの企業がネットワークをサイバー攻撃から守るために実施している施策は、単にユーザIDとパスワードによるネットワークアクセス認証のみとなっている。このため、企業内のネットワークに不正侵入が発生しても、長時間あるいは長期間気付かないという事態が発生することが多く、ランサムウェア攻撃にさらされ、該企業に甚大な被害を与えるだけでなく、ネットワーク社会ならではの弊害でもあるが、サプライチェーンに属する企業すべてが甚大な被害を被る可能性が高くなっている。
【0006】
本発明は、斯かる事情に鑑みてなされたものであり、ネットワークへの不正侵入を防止できる通信方法、通信装置及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、従来と異なる通信方法を採用し、ネットワークアクセス認証に依拠せずに、この課題を解決するものである。通信方法は、第1通信装置と第2通信装置との間の通信方法であって、前記第1通信装置は、前記第2通信装置が前記第1通信装置と通信状態にあり、前記第2通信装置が前記第1通信装置に対してデータの再送が必要となる所定事象が発生した場合、前記第2通信装置が送信する再送データに応じて、前記第2通信装置との間の通信を停止する。
【発明の効果】
【0008】
本発明によれば、ネットワークへの不正侵入検知や不正侵入防止といった類のシステムを導入設置運用することなく、低コストでネットワークへの不正侵入を防止できる。
【図面の簡単な説明】
【0009】
図1】本実施形態の通信方法、通信装置及びコンピュータプログラムが防止しようとするネットワークへの不正侵入の一例を示す図である。
図2】本実施形態の通信システムの構成の一例を示す。
図3】第1通信装置と第2通信装置との間での共通鍵の生成方法の第1例を示す。
図4】第1通信装置と第2通信装置との間での共通鍵の生成方法の第2例を示す。
図5】分散情報の生成方法の一例を示す図である。
図6】秘密情報から分散情報を生成して複数の共通鍵を生成する一例を図である。
図7】本実施形態の不正侵入検知方法の第1例を示す図である。
図8】本実施形態の不正侵入検知方法の第2例を示す図である。
図9】本実施形態の不正侵入検知方法の第3例を示す図である。
図10】再送データの解析方法の一例を示す図である。
図11】再送データの解析結果の第1例を示す図である。
図12】再送データの解析結果の第2例を示す図である。
図13】再送データの解析結果の第3例を示す図である。
図14】第1通信装置及び第2通信装置の実行環境の一例を示す図である。
図15】所定事象の発生タイミングの一例を示す図である。
図16】秘密情報の共有方法の第1例を示す図である。
図17】秘密情報の共有方法の第2例を示す図である。
図18】秘密情報の共有方法の第3例を示す図である。
図19】限定された通信エリアの他の例を示す図である。
図20】秘密情報の共有方法の第4例を示す図である。
図21】秘密情報の共有方法の第5例を示す図である。
図22】秘密情報の共有方法の第6例を示す図である。
図23】秘密情報の生成方法の例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態を説明する。図1は本実施形態の通信方法、通信装置、通信システム及びコンピュータプログラムが防止しようとするネットワークへの不正侵入の一例を示す図である。事業者(企業)には、回線接続機器が設けられ、当該回線接続機器は、外部の端末装置Zと接続される。図1では、端末装置Zを1台だけ図示しているが、端末装置Zは複数台あってもよい。回線接続機器は、複数の端末装置Zとの間で1対多接続を前提としている。回線接続機器は、事業者内の各機器(例えば、パーソナルコンピュータ、サーバ、データベース等)と接続される。図1の例では、事業者内の回線接続機器や他の装置に不正侵入防止や不正侵入検知などの高度なセキュリティシステムは構築されておらず、端末装置Zから入力されるユーザID及びパスワードによって端末装置Zを認証しているものとする。
【0011】
ユーザID及びパスワードが不正に入力され、攻撃者の端末装置Z′から入力されると、回線接続機器は、正規のユーザID及びパスワードが入力されたとして、端末装置Z′を認証してしまう。これにより、攻撃者の端末装置Z′は、事業者のネットワークに不正侵入することができる。不正侵入後は、ランサムウェアが実行され、例えば、重要なデータが攻撃者の暗号鍵で暗号化されてしまう。重要なデータが暗号化されると、事業者内のユーザは当該重要データにアクセスすることができなくなり、この時点で攻撃者によるハッキングに気付くことになる。攻撃者は、暗号化した重要データの復元の代償、及び重要データを広く開示する事の回避として多額の金銭を要求する。事業者は重要データの修復や損失、ブランドの失墜によって多大な被害を受ける可能性がある。本実施形態では、攻撃者による不正侵入を直ちに検知する手法を提供する。
【0012】
図2は本実施形態の通信システムの構成の一例を示す。通信システムは、第1通信装置
50、及び第2通信装置20、40を備える。図2の例では、第2通信装置を2台図示しているが、第2通信装置の数は2台に限定されない。また、図2の例では、第1通信装置50を1台図示しているが、第1通信装置50の数は1台に限定されない。ここで、第1通信装置と第2通信装置とは、後述の共通の秘密情報、又は暗号アルゴリズムにおける同一の共通鍵(暗号鍵)を保持していることを条件として、1:1接続しか許容しない。許容しないメカニズムは、後述する。なお、本明細書における秘密情報は、公開鍵暗号基盤における秘密鍵情報のことではない。秘密鍵情報そのものは変更せずに利用される。例えば、秘密鍵情報は、公開鍵で暗号化されたものを復号する際に利用される。もしくは、秘密鍵情報は、あるデジタルデータに対して、電子的な署名を施すために利用される。一方、本願で使用する秘密情報とは、デジタルデータであるが、これ自体は暗号アルゴリズムに供する暗号鍵ではない事を明記しておく。本願における秘密情報とは、2つの通信装置の間で、同じ秘密情報を共有している場合に限り、1:1VPN通信を可能とするための情報である。この秘密情報から、暗号鍵を生成して、利用する(後述)ので、1:1通信ができることになる。別言すると、同じ秘密情報を通信する両端で保有していないと通信できないことになる。図2の例では、第1通信装置50が第2通信装置20との間で1:1接続され、第1通信装置50が第2通信装置20と通信を行っている場合は、第1通信装置は、2台の第2通信装置20、40それぞれに対応して、2つの内容が異なる秘密情報を所有していることになる。また、本明細書における秘密情報は、端末装置などを遠隔操作する際に当該端末装置の認証の有無を確認するために当該端末装置が所定の認証情報を保持しているか否かを判定する場合の当該認証情報等とは全く異なる情報である。
【0013】
第1通信装置50、第2通信装置20、40などの通信装置は、終端接続装置の類であるルーター(例えば、固定ルーターだけでなく、管理されたモバイルルーターを含む)、ゲートウェイ装置、ターミナル装置などの回線接続機器を含む。また、回線接続機器の配下のIoTデバイスやPCなどから回線接続機器を介して直接VPN通信を行うことができる。
【0014】
第1通信装置と第2通信装置との1:1接続は、インターネットVPN(Virtual Private Network)を用いることができる。不図示の通信ネットワーク管理サーバは、管理対象としている第1通信装置と第2通信装置のグローバルIPアドレスとプライベートIPアドレスの対の管理を実施しているため、第1通信装置と第2通信装置との間のインターネットVPNをプライベートIPアドレス同士で構築することができる。
【0015】
後述のように、第1通信装置と第2通信装置とは同様の構成を具備することができるが、本明細書において、第1通信装置50は、秘密情報を生成する側の通信装置であり、第2通信装置20、40は、後述の条件を満たす場合に、第1通信装置50が生成した秘密情報を取得する側の通信装置としている。
【0016】
第1通信装置50及び第2通信装置は、例えば、パーソナルコンピュータ、スマートフォン、タブレット端末、通信機能を備えるデバイス、電気機器または電子機器、ルーターやゲートウェイ装置などの通信機器などを含む。
【0017】
第1通信装置50は、装置全体を制御する制御部51、ネットワーク通信部52、メモリ53、表示部54、再送データ解析部55、秘匿通信処理部56、及び記憶部57を備える。
【0018】
記憶部57は、例えば、ハードディスク又は半導体メモリ等で構成することができ、OS58、秘密情報59、鍵情報60、及び所要の情報を保持する。本明細書において、「保持」は、「記憶」、及び「記録」を含む。
【0019】
OS58は、例えば、Windows、Linux、Unix、Android又はiOS(いずれも登録商標)であるが、これらに限定されない。
【0020】
秘密情報59は、第1通信装置50が1:1接続する第2通信装置20、40、…それぞれに対応する固有の秘密情報を含む。例えば、第1通信装置50が第2通信装置20と通信する際に用いられる固有の秘密情報、第1通信装置50が第2通信装置40と通信する際に用いられる固有の秘密情報などを含む。
【0021】
鍵情報60は、第1通信装置50が1:1接続する第2通信装置20、40、…それぞれに対応する固有の共通鍵を含む。例えば、第1通信装置50が第2通信装置20と通信する際に用いられる固有の共通鍵、第1通信装置50が第2通信装置40と通信する際に用いられる固有の共通鍵などを含む。
【0022】
制御部51は、CPU、MPU等が所要数組み込まれて構成されてもよい。また、制御部51は、暗号プロセッサ、DSP、FPGA等を組み合わせて構成してもよい。
【0023】
ネットワーク通信部52は、秘匿通信路1を介して第2通信装置20、40との間でVPN通信を実行することができる。秘匿通信路は、仮に伝送されるデータが不正に取得されても、伝送されるデータの機密性が保たれるように適切な暗号技術を用いてセキュアに通信できる通信路である。また、ネットワーク通信部52は、第1通信装置50に接続されるデバイスや機器が存在する場合、当該デバイスや機器との間の通信を行うことができる。デバイスには、IoTデバイスも含まれる。
【0024】
メモリ53は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の半導体メモリで構成することができる。メモリ53には、OS58の所要の機能が展開され、OS58の機能が制御部51により実行される。
【0025】
表示部54は、液晶表示パネル、有機EL表示パネル等を備え、第1通信装置50による処理の結果等を表示することができる。
【0026】
再送データ解析部55は、第2通信装置20又は第2通信装置40が第1通信装置50と通信状態にあり、第2通信装置20又は第2通信装置40が第1通信装置50に対してデータの再送が必要となる所定事象が発生した場合、第2通信装置又は第2通信装置40が送信する再送データを解析する。再送データの解析結果に応じて、第1通信装置50は、第2通信装置20又は第2通信装置40との間の通信を停止(中断又は中止を含む)し、あるいは第2通信装置20又は第2通信装置40との間の通信を継続する。なお、本明細書において、通信の停止は、通信の中断又は中止も含むものとする。再送データの解析方法の詳細は後述する。
【0027】
秘匿通信処理部56は、秘密情報の生成処理、秘密情報に基づく分散情報の生成処理、共通鍵の生成処理、第1通信装置50と第2通信装置20、40との間の秘匿通信路開設処理などを行う。秘匿通信処理部56による処理の詳細は後述する。
【0028】
第2通信装置20の制御部21、ネットワーク通信部22、メモリ23、表示部24、再送データ解析部25、秘匿通信処理部26、及び記憶部27は、第1通信装置50の制御部51、ネットワーク通信部52、メモリ53、表示部54、再送データ解析部55、秘匿通信処理部56、及び記憶部57と同様であるので説明は省略する。なお、記憶部27は、OS28、秘密情報29、鍵情報30、及び所要の情報を保持する。
【0029】
次に、第1通信装置50と第2通信装置20との間の1:1VPN通信について説明する。1:1VPN通信では、VPN通信前に秘密情報を両方の通信装置で保持している必要がある。同一の秘密情報で識別される通信装置同士だけが1:1VPN通信を行うことができる。第1通信装置50をVPNプライマリとすると、このVPNプライマリと1:1VPN通信する第2通信装置20をVPNクライアントと称する。本願における1:1VPN通信では、VPNクライアントとVPNクライアントの間の通信は、成立させない。VPNプライマリは、例えば、秘密情報を生成する通信装置、配下にデバイス(IoTデバイスを含む)や機器を多く保有している通信装置である。別言すると、秘密情報を生成する機能を有したVPNプライマリ通信装置と、このVPNプライマリ通信装置との間でVPN通信を実行したい同じ秘密情報を保有しているVPNクライアント通信装置の間でだけ、1:1VPN通信を可能とする。例え同じ秘密情報を保有している通信装置同士であっても、一方の通信装置が秘密情報を生成する装置でない場合、つまりVPNプライマリでない場合は、VPN接続は許可しない。
【0030】
本明細書では、便宜上、第1通信装置50をVPNプライマリとし、第2通信装置20、40をVPNクライアントとして説明する。なお、第2通信装置20、40をVPNプライマリとし、第1通信装置50をVPNクライアントとしてもよい。もちろんこの場合は、第2通信装置20、40でそれぞれ個別の秘密情報を生成していることが条件となる。
【0031】
本願における秘密情報を活用した1:1VPN通信には、以下の2つの制限事項がある。同じ秘密情報から生成された共通鍵で暗号化できる通信装置同士でなければ、VPN通信が成立しない。理由は、VPN通信時に送信側で暗号化されたデータを受信側で復号できないからである。もう一つは秘密情報を生成するVPNプライマリと同じ秘密情報を有したVPNクライアント間でのVPN通信しか、成立させないというものである。1:1VPN通信では、鍵交換を行わない手法を採用する。以下、この点について説明する。
【0032】
図3は第1通信装置50と第2通信装置20との間での共通鍵の生成方法の第1例を示す。図3は、秘密情報から共通鍵を生成する際の危殆化を防止する手法を示す。第1通信装置50(以降、制御部51と同義)は、秘密情報S1、S2を保持し(S11)、第2通信装置20は、秘密情報S1、S2を保持する(S12)。すなわち、第1通信装置50と第2通信装置20とで、同じ秘密情報S1、S2の共有が完了している。秘密情報の共有方法、秘密情報の生成方法の詳細は後述する。
【0033】
第1通信装置50は、所定の鍵生成アルゴリズムを用いて、秘密情報S1から共通鍵K1を生成する(S13)。第2通信装置20は、第1通信装置50が用いた鍵生成アルゴリズムと同一の所定の鍵生成アルゴリズムを用いて、秘密情報S1から共通鍵K1を生成する(S14)。これにより、ネットワークを介して鍵交換を行うことなく、第1通信装置50と第2通信装置20との両端で共通鍵を共有することができる。第1通信装置50と第2通信装置20とは、共通鍵K1を用いて秘匿通信路を開設する(S15)。これ以降、第1通信装置50と第2通信装置20とは、1:1VPN通信を行うことができる。
【0034】
第1通信装置50と第2通信装置20との間で秘密情報が安全に共有できたとしても、同じ秘密情報から生成された共通鍵が危殆化する懸念が存在する。そこで、本実施形態では、共通鍵K1を用いた秘匿通信が開始された後、所要のタイミングで、第1通信装置50は、所定の鍵生成アルゴリズムを用いて、秘密情報S2から共通鍵K2を生成し(S16)、第2通信装置20は、第1通信装置50が用いた鍵生成アルゴリズムと同一の所定の鍵生成アルゴリズムを用いて、秘密情報S2から共通鍵K2を生成する(S17)。これにより、ネットワークを介して鍵交換を行うことなく、第1通信装置50と第2通信装置20との両端で更新された共通鍵を共有することができる。第1通信装置50と第2通
信装置20とは、共通鍵K2を用いて秘匿通信路を開設する(S18)。これ以降、第1通信装置50と第2通信装置20とは、新しい共通鍵を用いて1:1VPN通信を行うことができる。所定のタイミングで共通鍵K1の使用を停止し、秘密情報S2を所定のアルゴリズムを適用して、新たな共通鍵K2とすることにより、共通鍵の危殆化を防止できる。
【0035】
図4は第1通信装置50と第2通信装置20との間での共通鍵の生成方法の第2例を示す。図4も秘密情報から共通鍵を生成する際の危殆化を防止する手法を示す。第1通信装置50は、秘密情報Sを保持し(S21)、第2通信装置20は、秘密情報Sを保持する(S22)。すなわち、第1通信装置50と第2通信装置20とで、同じ秘密情報Sの共有が完了している。第1通信装置50は、乱数Rを生成し(S23)、生成した乱数Rを第2通信装置20へ送信する(S24)。これにより、第1通信装置50と第2通信装置20との間で乱数Rが共有される。乱数Rの共有が目的なので、逆の方向でも問題はない。すなわち、第2通信装置20で乱数Rを生成し、生成した乱数Rを第1通信装置50に送信してもよい。
【0036】
第1通信装置50は、所定の暗号アルゴリズムを用いて、乱数Rを暗号アルゴリズムに適した鍵長に調整後、これを暗号鍵として秘密情報Sを暗号化後、所定のアルゴリズムに従って、これを分割分散した分散情報Q1、Q2、Q3を生成し(S25)、第2通信装置20は、第1通信装置50が用いた暗号アルゴリズムと同一の所定の暗号アルゴリズムを用いて、乱数Rを暗号アルゴリズムに適した鍵長に調整後、これを暗号鍵として秘密情報Sを暗号化後、所定のアルゴリズムに従って、これを分割分散した分散情報Q1、Q2、Q3を生成する(S26)。なお、生成する分散情報の数は、3つに限定されるものではなく、1つでも、2つでもよく、4つ以上でもよい。
【0037】
図5は分散情報の生成方法の一例を示す図である。図5Aに示す方法では、乱数Rを暗号鍵とする共通鍵暗号アルゴリズムにより秘密情報Sを暗号化して暗号化データを生成する。暗号化アルゴリズムとしては、例えば、DES(Data Encryption Standard)又はAES(Advanced Encryption Standard)などを用いることができる。次に、暗号化データを3つの分散情報Q1、Q2、Q3に分割(断片化)する。暗号化データのどの部分をどのように分割するか(分割手法)は、予め取り決めておくことができる。分割数は3に限定されるものではなく、1つでも、2でもよく、4以上でもよく、所要の数のファイルに分割(分散)することができる。
【0038】
乱数Rから、分散情報Q1、Q2、Q3を生成する際に、前記ではブロック暗号アルゴリズムを採用する事例を提示したが、ストリーム暗号を活用しても良い。例えば、MUGI、Salasa20とかを使用する。
【0039】
前記まで、秘密情報のバイト長に言及していないが、得たい分散情報の個数に応じて、秘密情報のバイト長を増やす必要がある場合の一例をあげると、秘密情報をハッシュ関数、例えばSHA-2を所定回数繰り返し得られた結果を秘密情報とすればよい。第1通信装置50と第2の通信装置20において、採用するハッシュ関数と繰り返してハッシュする回数は取り決めておいて、同一にしておく。
【0040】
分散情報Q1、Q2、Q3それぞれは、何の意味も持たないバイト列となる。複数の分散情報のうち1つの分散情報が仮に漏洩又は不正取得されたとしても、漏洩又は不正取得された分散情報だけでは何の意味もないデータになっており、漏洩又は不正取得された分割情報から他の分割情報(漏洩又は不正取得されていない)を類推することができない。これにより、VPN通信時に使用される共通鍵のセキュリティを向上させることができる。
【0041】
図5Bに示す方法では、乱数Rを暗号鍵とする共通鍵暗号アルゴリズムで秘密情報Sを暗号化しながら、もしくは暗号化後に分散情報Q1、Q2、Q3に分散する。暗号化アルゴリズムとしては、例えば、ブロック暗号のDES又はAESなどを用いることができるが、ストリーム暗号のMUGI又はSalasa20などを用いてもよい。
【0042】
図4に戻って、第1通信装置50は、所定の鍵生成アルゴリズムを用いて、分散情報Q1から共通鍵K1を生成する(S27)。第2通信装置20は、第1通信装置50が用いた鍵生成アルゴリズムと同一の所定の鍵生成アルゴリズムを用いて、分散情報Q1から共通鍵K1を生成する(S28)。これにより、ネットワークを介して鍵交換を行うことなく、第1通信装置50と第2通信装置20との両端で共通鍵を共有することができる。第1通信装置50と第2通信装置20とは、共通鍵K1を用いて秘匿通信路を開設する(S29)。これ以降、第1通信装置50と第2通信装置20とは、1:1VPN通信を行うことができる。乱数Rから、直接共通鍵K1を生成する方法ではない事、つまりネットワークを介して、鍵交換を行っているのではない事が重要である。PKIを利用した従来手法では、乱数Rを秘密鍵で暗号化して送信し、受信側では送信者の公開鍵でこれを復号し、それ自体を共通鍵として利用している。つまり、ネットを介して鍵交換を実施している。本願は、換言するとネットワークを介してやり取りされた乱数R情報からだけでは、共通鍵K1を生成できない事をもってして、ネットワークを介して鍵交換を実施していないと明言しているのである。乱数Rと秘密情報Sの2つが揃わないと、共通鍵K1を生成できない。また、乱数Rは必須情報でもない。この乱数Rが無くても、危殆化を防止する力は減少するが、秘密情報Sを、前記の分割分散手法を適用する事でも共通鍵K1を生成できる。
【0043】
図3の場合と同様に、共通鍵の危殆化を防止するため、共通鍵K1を用いた秘匿通信が開始された後、所要のタイミングで、第1通信装置50は、所定の鍵生成アルゴリズムを用いて、分散情報Q2から共通鍵K2を生成し(S30)、第2通信装置20は、第1通信装置50が用いた鍵生成アルゴリズムと同一の所定の鍵生成アルゴリズムを用いて、分散情報Q2から共通鍵K2を生成する(S31)。これにより、ネットワークを介して鍵交換を行うことなく、第1通信装置50と第2通信装置20との両端で更新された共通鍵を共有することができ、共通鍵の危殆化を防止できる。第1通信装置50と第2通信装置20とは、共通鍵K2を用いて秘匿通信路を開設する(S32)。これ以降、第1通信装置50と第2通信装置20とは、新しい共通鍵を用いて1:1VPN通信を行うことができる。
【0044】
上述のように、第1通信装置50は、秘密情報を保持し、第2通信装置20が、第1通信装置50が保持する秘密情報と同一の秘密情報を保持している場合、第1通信装置50と第2通信装置20との間の通信(1:1VPN通信)を許容する。
【0045】
また、第1通信装置50は、秘密情報に基づいて生成した共通鍵(鍵情報)を保持し、第2通信装置20が、第1通信装置50が保持する秘密情報と同一の秘密情報に基づいて生成した、第1通信装置50が保持する共通鍵と同一の共通鍵を保持している場合、第1通信装置50と第2通信装置20との間の通信(1:1VPN通信)を許容することができる。なお、第1通信装置50又は第2通信装置20のどちらかの通信装置がVPNプライマリになっている必要がある。
【0046】
Webサイトなどで利用されているhttps(暗号化通信)はSSL証明書(電子証明書)が設定されているサーバと、端末装置との通信を暗号化する。SSL証明書は、1つの認証されたドメインと複数のユーザ(例えば、閲覧者)という1:多接続に用いられる。すなわち、1:多接続の通信においては、複数のユーザの端末装置から接続されるサーバ
だけを一方向に認証する。
【0047】
一般的に、1:多接続の通信においては、ID及びパスワードが漏洩すると攻撃者が簡単にネットワークへ侵入できてしまうとともに、侵入されたことに気付かないで甚大な被害を受けてしまうというセキュリティインシデントが発生する。しかし、本実施形態においては、秘密情報や共通鍵を知らない攻撃者(ハッカーなど)は、正しい暗号鍵で通信できないから、1:1VPN通信を確立することができない。別言すれば、本実施形態では、1:1VPN通信しか許可しないので、1:多の通信環境下において導入されている、不正侵入検知や不正侵入防止などの追加のセキュリティソリューションの導入が不要となる。また、これらのセキュリティソリューションが保持したログを監査する必要もない。これにより、導入費用、人件費をはじめとした運用コストを低減できる。
【0048】
また、第2通信装置20との通信が許容される場合の第1通信装置50の存在エリアを保持しておき、第1通信装置50が具備するGPSに基づく第1通信装置50の位置情報が当該存在エリア内にある場合、第1通信装置50と第2通信装置20との間の通信を行うようにしてもよい。これにより、例えば、1:1VPN通信を行う第1通信装置50が盗まれた場合、第1通信装置50が具備するGPSによって得られる第1通信装置50の位置情報が正規の場所でないことを判定できるので、不正利用を防止できる。同様に上記第2通信装置20と第1通信装置50とを逆にしても同じ効果が得られる。
【0049】
図6は秘密情報から分散情報を生成して複数の共通鍵を生成する一例を図である。図5に例示した方法により、秘密情報Sから分散情報Q1、Q2、…、Q(n-1)、Qnを生成する。分散情報Q1、Q2、…、Q(n-1)、Qnそれぞれから、共通鍵K1、K2、…、K(n-1)、Knを生成する。共通鍵K1、K2、…、K(n-1)、Knを生成するタイミングは、同時でもよく、随時順番に生成してもよい。図6に示すように、本実施形態では、生成した複数の共通鍵のうち、予め定めた共通鍵(図6の例では、共通鍵Kn)を、再送データを送信する際に当該再送データを暗号化する暗号鍵(共通鍵と同義)として、ストックしておくことを、第1通信装置50と第2通信装置20(すなわち、VPNプライマリとVPNクライアント)の間で取り決めておくものとする。本明細書において、「ストック」は、情報を予め蓄えとして保持することを意味する。このストックされた共通鍵が使用されるタイミングについては後述する。共通鍵Kn以外の共通鍵は、VPN通信におけるデータの暗号化に使用される。
【0050】
一般的に、秘匿通信を行う際は、送受信されるデータは暗号化されている。この時に使用される暗号鍵はPKI(公開鍵暗号基盤)などの仕組みを利用してネットを介して交換される。しかし、量子コンピュータが出現すると、ネットを介して暗号鍵を交換する手法は、暗号化されたデータであっても量子コンピュータによってPKIが破られ暗号鍵が暴露されると言われている。しかし、上述のように、本実施形態では、ネットを介した鍵交換を行わないので、量子コンピュータに耐性がある。
【0051】
次に、攻撃者によるネットワークシステムへの不正侵入の検知方法について説明する。以下では、便宜上、第1通信装置50(VPNプライマリ)が不正侵入を検知する側の通信装置であり、第2通信装置20(VPNクライアント)が不正侵入の検知対象の通信装置であるとして説明する。なお、攻撃者は、第2通信装置20を介して、守るべき資産情報が多いVPNプライマリである第1通信装置50を攻撃すると考えられる。
【0052】
図7は本実施形態の不正侵入検知方法の第1例を示す図である。第1通信装置50と第2通信装置20とは、1:1接続のVPN通信のセッションを確立し(S41)、VPN通信が実行されている(S42)。すなわち、第1通信装置50と第2通信装置20とは通信状態にある。VPN通信の過程で、第2通信装置20は、所要のデータを第1通信装
置50へ送信し(S43)、第1通信装置50は、データを受信する(S44)。このとき、第1通信装置50は、データを正常に受信できているとする。
【0053】
第1通信装置50が、第2通信装置20に対して不正侵入の有無を検知するタイミングであると判定すると、第1通信装置50は、第2通信装置20が送信したデータを正常に受信したにも関わらず、データを正常に受信した旨の通知を、所定時間内に第2通信装置20へ送信しない。具体的には、第1通信装置50は、データを正常に受信した旨の通知を第2通信装置20へ送信しない、あるいは所定時間が経過した後に第2通信装置20へ送信する。第2通信装置20が送信したデータを正常に受信したにも関わらず、データを正常に受信した旨の通知を、所定時間内に第2通信装置20へ送信しないという事象は、第2通信装置20が第1通信装置50に対してデータの再送が必要となる所定事象が発生したことを意味する。
【0054】
第2通信装置20は、データを正常に受信した旨の通知を所定時間内に受信できない(S45)。攻撃者が秘密情報から生成した共通鍵を解読していた場合、攻撃者によって不正侵入された第2通信装置20は、データを正常に受信した旨の通知を所定時間内に受信できないと、一般的にはデータの再送を行う。すなわち、第2通信装置20は、データを再送信する(S46)。
【0055】
第1通信装置50は、再送データを受信すると、再送データを解析する(S47)。再送データの解析は、再送データが、第1通信装置50と第2通信装置20との間で予め取り決められた応答方法のいずれかに一致しているか否かを判定する。第1通信装置50は、第2通信装置20が送信した再送データが所定の応答方法に従ったものではない場合、第2通信装置20との間の通信を停止する(S48)。本実施形態において、「通信を停止する」とは、通信していない状態を意味し、例えば、ある時間だけ通信を一時的に停止し、その後通信を再開する状態は含まないものとする。
【0056】
上述のように、第1通信装置50は、第2通信装置20が第1通信装置50と通信状態にあり、第2通信装置20が第1通信装置50に対してデータの再送が必要となる所定事象が発生した場合、第1通信装置50は、第2通信装置20が送信する再送データに応じて、第2通信装置20との間の通信を停止することができる。当該所定事象は、例えば、第2通信装置20が送信したデータを第1通信装置50が正常に受信した場合に、第2通信装置20が所定時間内に正常に受信した旨の通知を第1通信装置50から受信できない事象を含む。
【0057】
また、第1通信装置50で動作するコンピュータプログラム(例えば、OS58)は、第2通信装置20が第1通信装置50と通信状態にあり、再送データ解析部55が、第2通信装置20が第1通信装置50に対してデータの再送が必要となる所定事象が発生したと解析(判定)した場合、第2通信装置20が送信する再送データに応じて、第2通信装置20との間の通信を停止する、処理を実行することができる。
【0058】
攻撃者が秘密情報を不正に入手し、VPNクライアントプログラムを入手できなかった場合、容易に1:1VPN通信を確立できるかもしれないが、再送データに使用する共通鍵が異なるので、プライマリは、不正端末からの接続であることを判定できるので、VPN通信を停止することができる。なお、共通鍵が異なる場合のロジックは後述する。
【0059】
攻撃者が秘密情報を不正に入手し、VPNクライアントプログラムも入手した場合は、操作者が異なる事を利用する。任意のタイミングもしくは、データの再送を促すタイミングの前後で、利用者の識別番号を要求し、得た情報が正しいかを判定する。判定方法は、秘密情報の生成において、利用者の識別情報が利用されていることを活用する。利用者の
識別番号のその他の例は、後述のメールアドレス、社員番号やマイナンバーなどになる。
【0060】
攻撃者が秘密情報を不正に入手し、VPNクライアントプログラムも入手した場合は、操作時の場所情報が、異なる事を利用する。すなわち、前述のように、第1通信装置50との通信が許容される場合の第2通信装置20の存在エリアを保持しておき、第2通信装置20が具備するGPSに基づく第2通信装置20の位置情報が当該存在エリア内にある場合のみ、第1通信装置50と第2通信装置20との間の通信を行うようにしてもよい。
【0061】
なお、攻撃者によって不正侵入された第2通信装置20がデータを正常に受信した旨の通知を所定時間内に受信できない場合、その原因を解析するのに時間を要し、第2通信装置20がある特定の時間内に通信を継続できなかった場合に、第1通信装置50は、第2通信装置20との間の通信を停止してもよい。
【0062】
上述のように、第2通信装置20が送信したデータを第1通信装置50が正常に受信した場合に、第1通信装置50が所定時間内に正常に受信した旨の通知を第2通信装置20へ送信しないようにすることにより、不正侵入が検知されると即座に秘匿通信を遮断できるので、ネットワークへの不正侵入を防止できる。
【0063】
また、第1通信装置50は、第2通信装置20との間の通信を停止する場合、第2通信装置20による通信に不正侵入が発生した旨を外部装置(例えば、ネットワーク監視者の装置や、メールアドレスなど)へ通知してもよい。あるいは、VPNプライマリが設置されているネットワークセグメント内に存在するプリンタに、不正侵入が発生した旨を知らせる印刷物を出力させてもよい。これにより、ネットワークへの不正侵入及び侵入箇所(該当する通信装置)を直ちに検知することができる。
【0064】
近年では、サイバー攻撃に弱い中小企業を経由して、サプライチェーンの上流にあたる大企業も被害を受けている実態が認識されており、対策を急ぐ必要がある。本実施形態によれば、能動的サイバー防御を実現できる。能動的サイバー防御とは、政府機関や重要インフラに対するサイバー攻撃を未然に防ぐため、相手側サーバなどに侵入・無害化する能力とのことである。本実施形態においては、例えば、通信の停止を実施する前は、VPN通信の継続が可能な状態なので、秘密情報の削除指令やウィルスやランサムウェアを送信して、攻撃者のシステムの長期無効化、無害化を図ってもよい。その後、VPN通信を停止させる。
【0065】
上述のように、第1通信装置50は、第2通信装置20との間の通信を停止する前に、攻撃者のシステムを無効化すべくウィルス又はランサムウェアを第2通信装置20又は第2通信装置20を介して第2通信装置20に接続されている他の装置へ送信し、ウィルス又はランサムウェアの送信後に第2通信装置20との通信を停止することができる。
【0066】
図8は本実施形態の不正侵入検知方法の第2例を示す図である。図8において、ステップS141からS143までは、図7のステップS41からS43までと同様である。第1通信装置50が、第2通信装置20に対して不正侵入の有無を検知するタイミングであると判定すると、第1通信装置50は、再度セッションを接続する(S144)。第2通信装置20は、第1通信装置50が再度セッションを接続したことを検知すると(S145)、データを再送信する(S146)。
【0067】
第1通信装置50は、再送データを受信すると、再送データを解析する(S147)。再送データの解析は、再送データが、第1通信装置50と第2通信装置20との間で予め取り決められた応答方法のいずれかに一致しているか否かを判定する。第1通信装置50は、第2通信装置20が送信した再送データが所定の応答方法に従ったものではない場合
、第2通信装置20との間の通信を停止する(S148)。
【0068】
上述のように、第1通信装置50は、第2通信装置20が第1通信装置50と通信状態にあり、第2通信装置20が第1通信装置50に対してデータの再送が必要となる所定事象が発生した場合、第2通信装置20が送信する再送データに応じて、第2通信装置20との間の通信を停止することができる。当該所定事象は、例えば、第1通信装置50が再度セッションを接続した事象を含む。
【0069】
上述のように、第1通信装置50が再度セッションを接続することにより、不正侵入が検知されると即座に秘匿通信を遮断できるので、ネットワークへの不正侵入を防止できる。
【0070】
図9は本実施形態の不正侵入検知方法の第3例を示す図である。図9において、ステップS241からS243までは、図7のステップS41からS43までと同様である。第2通信装置20は、イベントの発生を検知すると(S244)、第2通信装置20は、データを再送信する(S245)。第2通信装置が検知するイベントは、例えば、タイムアウトが発生した場合、ネットワーク上のルーターやスイッチなどのネットワーク機器に障害が発生して再起動が発生した場合、セッション接続中に通信するデバイスのIPアドレスが変更された場合などを含む。
【0071】
第1通信装置50は、再送データを受信すると、再送データを解析する(S246)。再送データの解析は、再送データが、第1通信装置50と第2通信装置20との間で予め取り決められた応答方法のいずれかに一致しているか否かを判定する。第1通信装置50は、第2通信装置20が送信した再送データが所定の応答方法に従ったものではない場合、第2通信装置20との間の通信を停止する(S247)。
【0072】
上述のように、第1通信装置50は、第2通信装置20が第1通信装置50と通信状態にあり、第2通信装置20が第1通信装置50に対してデータの再送が必要となる所定事象が発生した場合、第2通信装置20が送信する再送データに応じて、第2通信装置20との間の通信を停止することができる。当該所定事象は、例えば、第2通信装置20が検知するタイムアウト、再起動及びIPアドレスの変更のいずれかの事象を含む。なお、図9の例では、第2通信装置20がイベント発生を検知する構成であるが、これに限定されない。例えば、第1通信装置50が、第2通信装置20と同様にタイムアアウト(所定事象)を検知してもよい。第1通信装置50が検知するタイムアウトは、以下のような場合に発生する。すなわち、第1通信装置50のネットワークが、複数の第2通信装置20(1対1通信においても複数の第2通信装置20から接続されることがある)からの接続リクエストに対して帯域幅を超える場合、第1通信装置50がタイムアウトを発生させる。また、第1通信装置50のセキュリティポリシーに基づいて同時接続数の上限が設定されている場合、上限を超える接続があれば第1通信装置50がタイムアウトを発生させる場合もある。
【0073】
上述のように、第2通信装置20側でイベントが発生することにより、あるいは第1通信装置50がタイムアウトを検知した場合、不正侵入が検知されると即座に秘匿通信を遮断できるので、ネットワークへの不正侵入を防止できる。
【0074】
次に再送データの解析方法について説明する。
【0075】
図10は再送データの解析方法の一例を示す図である。第1通信装置50(VPNプライマリ)は、所定事象が発生した場合に、第2通信装置20が送信する再送データを解析し、解析結果に応じて、所定の対応を実施する。図10に示すように、再送データが予め
定めたデータではない場合(例えば、(1)直近のデータと少なくともデータ部が同じ再送データである場合)、第1通信装置50は、第2通信装置20との通信を停止する。以降本明細書において、直近のデータは、例えば、第2通信装置20による再送データの送信の直前に、当該第2通信装置20が送信したデータである。直近のデータの送信と再送データの送信との間には、第2通信装置20が送信するデータはないものとするが、直近のデータの送信と再送データの送信との間の時間は特に規定しない。少なくともデータ部が同じデータとは、例えば、応答メッセージ等が組み込まれて全く同じデータではない場合も含む趣旨である。一般的には攻撃者がデータの再送を選択する場合、同じデータが再度送信されるからである。予め定めた応答方法としては、直近のデータと少なくともデータ部が異なるデータを再送するように取り決めておけばよい。
【0076】
上述のように、第1通信装置50は、第2通信装置20が、少なくともデータ部が同一である再送データを送信した場合、第2通信装置20との間の通信を停止してもよい。
【0077】
また、図10に示すように、再送データを送信する際に用いる共通鍵が予め定めた共通鍵でない場合、第1通信装置50は、第2通信装置20との通信を停止する。共通鍵が予め定めた共通鍵でない場合とは、例えば、(2)直近のデータを暗号化する共通鍵と同じ共通鍵を用いて再送データを暗号化する場合、(3)直近のデータを暗号化する共通鍵よりも古い過去に生成した共通鍵を用いて再送データを暗号化していない場合、(4)予め複数生成した共通鍵のうちの所定の共通鍵を用いて再送データを暗号化していない場合などである。
【0078】
図11は再送データの解析結果の第1例を示す図である。第1通信装置50と第2通信装置20とは、共通鍵K1を用いた秘匿通信を確立し(S51)、それ以降、VPN通信が実行され、第1通信装置50と第2通信装置20とは、共通鍵K1を用いた秘匿通信を続けたのち、任意のタイミングで共通鍵K1を使用した秘匿通信を終了する(S52)。VPN通信自体が終了していない場合は、第1通信装置50と第2通信装置20とは、共通鍵K2(共通鍵K1より新しい共通鍵)を用いた秘匿通信を確立する(S53)。
【0079】
第2通信装置20は、共通鍵K2で暗号化したデータを第1通信装置50へ送信する(S54)。第1通信装置50が第2通信装置20と通信状態にあり、第2通信装置20が第1通信装置50に対してデータの再送が必要となる所定事象が発生すると(S55)、第2通信装置20は、共通鍵K2で暗号化した再送データを第1通信装置50へ送信する(S56)。第1通信装置50が、所定事象を発生するタイミングを制御できる場合(例えば、第2通信装置20が送信したデータを第1通信装置50が正常に受信した場合に、第1通信装置50が所定時間内に正常に受信した旨の通知を第2通信装置20へ送信しない事象、あるいは第1通信装置50が再度セッションを接続した事象)、第1通信装置50は、当該タイミングを決定する。所定事象の発生タイミングの詳細は後述する。
【0080】
第1通信装置50は、再送データの解析を行う。図11の場合、再送データは、図10に示す、(2)直近のデータを暗号化する共通鍵と同じ共通鍵を用いて再送データを暗号化する場合、又は(3)直近のデータを暗号化する共通鍵よりも古い過去に生成した共通鍵を用いて再送データを暗号化していない場合に該当するので、第1通信装置50は、第2通信装置20との間の通信を停止する(S57)。
【0081】
上述のように、第1通信装置50は、第2通信装置20が、第1通信装置50へ送信したデータの暗号化に用いた共通鍵(鍵情報)と同じ共通鍵を用いて暗号化した再送データを送信した場合、第2通信装置20との間の通信を停止する。
【0082】
攻撃者が秘密情報から生成した共通鍵を解読していた場合、攻撃者は、解読した共通鍵
を用いて再送データを送信すると考えられる。そこで、第2通信装置20が、直近のデータを暗号化する共通鍵と同じ共通鍵を用いて暗号化した再送データを送信した場合、第2通信装置20が不正侵入されたことを検知できるとともに、秘匿通信を直ちに遮断してネットワークへの不正侵入を防止できる。
【0083】
また、上述のように、第1通信装置50は、秘密情報に基づいて所要の頻度で異なる共通鍵K1(当該共通鍵K1が前述のストックされた共通鍵に相当する)、K2(K1より新しい)を生成し、第2通信装置20が、第1通信装置50との間で使用している共通鍵K2より古いストックしておいた共通鍵K1を用いて暗号化した再送データを送信しない場合、第2通信装置20との間の通信を停止してもよい。また、第1通信装置50及び第2通信装置20は、予め秘密情報をストックしておく。第1通信装置50は、第2通信装置20が、秘密情報に基づいて生成した鍵情報を用いて暗号化したデータを再送信しない場合、第2通信装置20との間の通信を停止してもよい。
【0084】
攻撃者が秘密情報から生成された共通鍵を解読するとともに、VPNアプリケーションも不正に入手していた場合、攻撃者は、解読した共通鍵を用いて再送データを送信すると考えられる。この場合、VPNアプリケーションも盗用しているので、攻撃者は、送信する再送データには特段の問題がないと考えて再送信する。しかし、攻撃者は、過去に生成されストックされた共通鍵を知ることができず、当然に解読もされていない。そこで、第2通信装置20が、直近のデータを暗号化する共通鍵よりも古い過去に生成されストックされた共通鍵を用いて再送データを暗号化していない場合、第2通信装置20が不正侵入されたことを検知できるとともに、秘匿通信を直ちに遮断してネットワークへの不正侵入を防止できる。これは攻撃者が入手できる秘密情報とVPNアプリケーションは、ある時点であり、この時点より過去にさかのぼって共通鍵を入手するのが極めて難しい事と上記ストックされている場所を攻撃者は知ることができない事に立脚している。補足すると、攻撃者(ハッカー)が正規のVPNアプリケーションを盗み出す前に、ストックされているからである。ストックしておくものは、共通鍵に限らず、秘密情報でもよい。ストックされていたものが秘密情報の場合は、これから共通鍵を生成する。または、セキュリティ強度は下がるがストックされた共通鍵ではなくて、過去に使用した共通鍵、若しくは図6に示した共通鍵Knを使用してもよい。
【0085】
図12は再送データの解析結果の第2例を示す図である。図12は、ストックされた共通鍵を使用する例を示す。第1通信装置50と第2通信装置20とは、共通鍵K1を用いた秘匿通信を確立し(S61)、それ以降、VPN通信が実行され、第1通信装置50と第2通信装置20とは、共通鍵K1を用いた秘匿通信を続けたのち、任意のタイミングで共通鍵K1を使用した秘匿通信を終了する(S62)。VPN通信自体が終了していない場合は、第1通信装置50と第2通信装置20とは、共通鍵K2(共通鍵K1より新しい共通鍵)を用いた秘匿通信を確立する(S63)。
【0086】
第2通信装置20は、共通鍵K2で暗号化したデータを第1通信装置50へ送信する(S64)。第1通信装置50が第2通信装置20と通信状態にあり、第2通信装置20が第1通信装置50に対してデータの再送が必要となる所定事象が発生すると(S65)、第2通信装置20は、現在使用している共通鍵K2よりも古い過去の共通鍵K1で暗号化した再送データを第1通信装置50へ送信する(S66)。第1通信装置50が、所定事象を発生するタイミングを制御できる場合(例えば、第2通信装置20が送信したデータを第1通信装置50が正常に受信した場合に、第1通信装置50が所定時間内に正常に受信した旨の通知を第2通信装置20へ送信しない事象、あるいは第1通信装置50が再度セッションを接続した事象)、第1通信装置50は、当該タイミングを決定する。
【0087】
第1通信装置50は、再送データの解析を行う。この場合、直近のデータを暗号化する
共通鍵よりも古い過去に生成されストックされた共通鍵、若しくはストックされた秘密情報から生成された共通鍵を用いて再送データを暗号化しているので、第1通信装置50は、通信を継続し(S67)、その後、所要のタイミングで第1通信装置50と第2通信装置20とは、共通鍵K2を用いた秘匿通信を終了する(S68)。なお、直近のデータを暗号化する共通鍵よりも古い過去に生成されストックされた共通鍵を用いていない、若しくはストックされた秘密情報から生成された共通鍵を用いていない場合には、第1通信装置50は、通信を停止する。
【0088】
図13は再送データの解析結果の第3例を示す図である。第1通信装置50と第2通信装置20とは、共通鍵K1を用いた秘匿通信を確立し(S71)、それ以降、VPN通信が実行され、第1通信装置50と第2通信装置20とは、共通鍵K1を用いた秘匿通信を続けたのち、任意のタイミングで共通鍵K1を使用した秘匿通信を終了する(S72)。VPN通信自体が終了していない場合は、第1通信装置50と第2通信装置20とは、共通鍵K2(共通鍵K1より新しい共通鍵。ここで言う新しい共通鍵の意味は、共通鍵K1より時間的に後で使用する共通鍵の意味である)を用いた秘匿通信を確立する(S73)。
【0089】
第2通信装置20は、共通鍵K2で暗号化したデータを第1通信装置50へ送信する(S74)。第1通信装置50が第2通信装置20と通信状態にあり、第2通信装置20が第1通信装置50に対してデータの再送が必要となる所定事象が発生すると(S75)、第2通信装置20は、共通鍵Kn以外の共通鍵で暗号化した再送データを第1通信装置50へ送信する(S76)。第1通信装置50が、所定事象を発生するタイミングを制御できる場合(例えば、第2通信装置20が送信したデータを第1通信装置50が正常に受信した場合に、第1通信装置50が所定時間内に正常に受信した旨の通知を第2通信装置20へ送信しない事象、あるいは第1通信装置50が再度セッションを接続した事象)、第1通信装置50は、当該タイミングを決定する。
【0090】
第1通信装置50は、再送データの解析を行う。図13の場合、再送データは、図10に示す、(4)予め複数生成した共通鍵のうちの所定の共通鍵を用いて再送データを暗号化していない場合に該当するので、第1通信装置50は、第2通信装置20との間の通信を停止する(S77)。
【0091】
上述のように、第1通信装置50は、秘密情報から複数の分散情報を生成し、生成した分散情報それぞれに基づいて共通鍵を複数生成する。第1通信装置50は、第2通信装置20が、生成された複数の共通鍵のうちの予め定めた共通鍵Kn(図6参照)を用いて暗号化したデータを再送信しない場合、第2通信装置20との間の通信を停止してもよい。
【0092】
これにより、一つの秘密情報から一度に複数の共通鍵を生成できるので、共通鍵の危殆化を防止するとともに、第2通信装置20が不正侵入されたことを検知することができ、VPN通信を直ちに遮断してネットワークへの不正侵入を防止できる。
【0093】
図14は第1通信装置50及び第2通信装置20の実行環境の一例を示す図である。第1通信装置50及び第2通信装置20は、TCP/IP(主流の通信プロトコルの一つ)を利用してネットワーク通信を行う。TCP/IPは4層に分かれた通信方法を定義しているが、図14Aに示すように、第1通信装置50及び第2通信装置20において、アプリケーション層では、プログラム(アプリケーションプログラム)がユーザメモリ空間に展開されて実行され、トランスポート層では、VPNプログラムがOSメモリ空間に展開されて実行される。
【0094】
第2通信装置20のVPNプログラムが、再送データを第1通信装置50へ送信すると
、トランスポート層で当該再送データを受信したVPNプログラムは、再送データの解析を実行する。
【0095】
上述のように、第1通信装置50は、トランスポート層を用いて第2通信装置20が送信する再送データを解析することができる。すなわち、本実施形態においては、トランスポート層において再送データの解析が行われ、アプリケーション層は、再送データの解析に関与しない構成になっている。より具体的には、第1通信装置50のトランスポート層が、第2通信装置20のトランスポート層との間のデータのやり取りの責を担い、通信相手が正規の相手であるか否かを判定し、トランスポート層で流れてくるデータ(再送データ)を解析し、解析結果に応じて通信を停止する。これらの一連の処理において、トランスポート層の上位のアプリケーション層は、トランスポート層との連携を一切行わない点が本実施形態の特徴の一つである。なお、TCP/IPではトランスポート層と称するが、TCP/IP以外のプロトコルでは、トランスポート層に相当するレイヤが当該一連の処理を行い、アプリケーション層に相当するレイヤは当該一連の処理を行わない。
【0096】
一般的には、OSメモリ空間に展開されて、トランスポート層の通信方法を用い、OSの機能を利用するプログラム(第1通信装置50のVPNプログラム)を開発するソフトウェアエンジニアの人口に比べて、アプリケーション層の通信方法を利用するアプリケーションプログラムを開発するエンジニアの人口は格段に多いことから、アプリケーションプログラムをハッキングできる人の数に比べて、トランスポート層の通信方法を利用するVPNプログラムをハッキングできる人の数は極めて少ないのは現状である。従って、本実施形態のように、トランスポート層の通信方法を利用するVPNプログラムを使用することにより、相対的にハッキングに強い通信システムを構築できる。また、トランスポート層で動作する悪意あるプログラムを侵入、感染させる事は、OSへの直接的な改変、改造となる為、アプリケーション層へのそれと比較すると難しい。理由は、OSへの直接的な改変、改造を実施する場合はOSの権限昇格などが必要となるだけでなく、この悪意あるOSインストール時、アプリケーションが利用できなくなるので、攻撃を受けている側は、異変に気が付きやすいからである。なお、図示していないが、第1通信装置50が、第2通信装置20のトランスポート層から送信された再送データを自身のトランスポート層で受信し、自身のアプリケーション層を用いて第2通信装置20が送信する再送データを判定してもよい。これにより、OSのソースコードが開示されていない(オープンソースではない)場合でも、本実施形態を実装することができる。
【0097】
図14Bに示すように、第1通信装置50が第2通信装置20と通信状態にあり、第2通信装置20が第1通信装置50に対してデータの再送が必要となる所定事象が発生すると(S81)、第2通信装置20は再送データを第1通信装置50へ送信する(S82)。第1通信装置50は、再送データを受信し(S83)、受信した再送データを所定の共通鍵で復号する(S84)。
【0098】
第1通信装置50は、再送データを復号に成功したか否かを判定する(S85)。復号に成功しない場合(S85でNO)、すなわち、再送データが、第1通信装置50と第2通信装置20との間で予め取り決めた共通鍵で暗号化していない場合、第1通信装置50は、第2通信装置20が正しい接続装置相手でないと判定し、通信を停止することができる(S86)。一方、復号に成功した場合(S85でYES)、すなわち、再送データが、第1通信装置50と第2通信装置20との間で予め取り決めた共通鍵で暗号化されている場合、第1通信装置50は、第2通信装置が正しい接続装置相手であると判定し、通信を継続することができる(S87)。
【0099】
このように、再送データの解析は、第1通信装置50と第2通信装置20との間で予め取り決めた共通鍵で復号できるか否かで行うことができ、復号できたときは、問題がなく
、復号できない場合には、VPN通信開始時に一般的にアプリケーション層で取り交わされる認証情報が漏洩して使用されただけでなく、秘密情報なども漏洩し、不正な接続を実行してきた不正な通信装置であると判定することができ、不正侵入を簡単な構成で検知することができる。これにより、セキュリティシステムの専門のエンジニアを雇用する必要がなく、侵入検知や侵入防止の高度かつ複雑なセキュリティシステムの導入が不要となる。なお、一般的に発生するVPN通信におけるセキュリティインシデントの大半は、認証情報(ID及びパスワードを使用した認証におけるID及びパスワード)の攻撃による認証情報の暴露、もしくはソーシャルアタックの類で発生する漏洩であるが、本発明では1:1通信を基本とし、事前に交換した秘密情報で秘匿通信に用いる共通鍵を生成しているので、認証情報が悪用されても、セキュリティ攻撃に対する高い耐性を有しているが、秘密情報を盗まれる可能性は否定できない。しかし、このようなケースが発生した場合でも、セキュリティ耐性が維持できる点が、本発明のメリットである。
【0100】
次に、所定事象の発生タイミングの決定方法について説明する。
【0101】
図15は所定事象の発生タイミングの一例を示す図である。前述のように、第1通信装置50が発生タイミングを制御できる所定事象は、例えば、第2通信装置20が送信したデータを第1通信装置50が正常に受信した場合に、第1通信装置50が所定時間内に正常に受信した旨の通知を第2通信装置20へ送信しない事象、あるいは第1通信装置50が再度セッションを接続した事象などである。
【0102】
図15Aは、第1通信装置50と第2通信装置20との間の通信が確立した時点以降の経過時間に応じて所定事象の発生時点間の時間間隔(インターバル)を変更するものである。具体的には、第1通信装置50は、第2通信装置20との通信確立後の経過時間に応じて所定事象の発生のインターバルが長くなる時点で所定事象を発生させる1回以上(1回のみでもよく、2回以上でもよい)のサイクルを繰り返すことができる。例えば、第1通信装置50は、第2通信装置20との通信確立後の経過時間に応じて、所定事象の発生インターバルが長くなる時点で、所定事象を発生させる1回以上のサイクルを繰り返すことができる。
【0103】
図15Aに示すように、1サイクルで3回所定事象を発生させるとする。1サイクル目では、通信確立時点と1回目の所定事象の発生時点とのインターバルはΔt1であり、1回目の所定事象の発生時点と2回目の所定事象の発生時点とのインターバルはΔt2であり、2回目の所定事象の発生時点と3回目の所定事象の発生時点とのインターバルはΔt3であるとすると、Δt1<Δt2<Δt3としている。時間経過とともにインターバルΔt1、Δt2、Δt3は長くなっている。2サイクル目以降も同様である。
【0104】
サイクルが変わる時点で送信インターバルがΔt3からΔt1へと短くなるので、攻撃者がハッキングしてシステム内の情報を不正に入手しようとしているタイミングで攻撃者が所定事象を検知する可能性が低くなり、ハッキングしにくくなり情報の漏洩を抑制できる。
【0105】
図15Bに示すように、第1通信装置50と第2通信装置20との間の通信が確立した時点以降に通信されたデータ量が所定値に到達した時点で所定事象を発生させることができる。データ量が所定の値D1、D2、D3に到達した時点で所定事象を発生させる1回以上(1回のみでもよく、2回以上でもよい)のサイクルを繰り返すことができる。例えば、第1通信装置50は、第2通信装置20との通信確立後に通信したデータ量に応じて、データ量が所定量より多くなる時点で、所定事象を発生させる1回以上のサイクルを繰り返すことができる。所定の値D1、D2、D3は、適宜設定すればよい。なお、所定事象を発生させるタイミングは、図15の例に限定されないし、いくつかの方法を組み合わ
せてもよい。
【0106】
また、第1通信装置50は、VPN接続時間が事前に設定していた接続時間を超えた場合に、あるいは、VPN接続が終了していないにもかかわらず、事前に設定していた時間より長く、秘匿通信が開始されなかった場合などに、所定事象を発生させるタイミングとすることができる。また、前記の「事前に」については、VPN通信利用者またはVPN通信監理者が、VPN通信開始前に行う事、またはVPN通信利用者またはVPN通信監理者がこれらの値に対して、デフォルト値を設定していた場合は、VPN通信前に設定した事前の値と比較して、より小さい数値を採用するよう設計、開発しておくものとする。
【0107】
次に、秘密情報の共有方法について説明する。
【0108】
図16は秘密情報の共有方法の第1例を示す図である。図16の第1例では、第1通信装置50が予め秘密情報Sを保持しているとする。なお、第1通信装置50が自身で秘密情報Sを生成して保持する場合、当該第1通信装置50はVPNプライマリとなる。第1通信装置50は、限定された通信エリア(例えば、Wi-Fi(登録商標)、ブルートゥース(登録商標)、又はローカル5Gなどの通信範囲内、あるいは有線接続の接続コネクタが存在する範囲内でもよい)を有している。図16Aの例では、第2通信装置20は、限定された通信エリア(以下、「通信エリア」とも称する)外に存在している。
【0109】
図16Bに示すように、第2通信装置20が通信エリア内に入ると、第1通信装置50は、秘密情報Sを第2通信装置20へ送信(出力)する。第2通信装置20は、秘密情報Sを保持することにより、第1通信装置50と第2通信装置20との間で秘密情報Sを共有することができる。なお、「通信エリア」は、第1通信装置50(VPNプライマリ)の無線接続や有線接続が物理的遮断、あるいは監視されているエリアのことであり、当該エリアへの人の入室や進入が制限されているエリアである。例えば、限定された人間、あるいは許可された人間(纏めて「正規の人間」ともいう)しか入室できないようにしたゲートシステムや警備員の監視により、特定のエリアを高セキュリティエリア(制限エリア)にすることができる。これにより、正規の人間しか当該通信エリアに入れないので、当該正規の人間が携帯又は所有する第2通信装置20にしか秘密情報が配信されない。別言すれば、第2通信装置20が正規の人間が携帯又は所有する通信装置でない限り、かつ当該正規の人間が当該通信エリア内に入らない限り、第1通信装置50から秘密情報Sは配信されない。また、当該通信エリアへの入室又は進入の可否を判定するための情報として、社員証の類を用いてもよい。これは、攻撃者は、どこで秘密情報Sを配布しているかを知るのが困難であるだけでなく、この場所に入る事も困難であることを意味している。すなわち、攻撃者は地理的物理的条件他(Wi-Fi無線の場合は、SSIDとパスワード)をクリアしない限り秘密情報Sは、入手できない事を意味している。
【0110】
図17は秘密情報の共有方法の第2例を示す図である。図17の第2例では、第1通信装置50が予め秘密情報Sを保持しているとする。第2通信装置20は、限定された通信エリアを有している。図17Aの例では、第1通信装置50は、限定された通信エリア(以下、「通信エリア」とも称する)外に存在している。
【0111】
図17Bに示すように、第1通信装置50が通信エリア内に入ると、第1通信装置50は、秘密情報Sを第2通信装置20へ送信(出力)する。第2通信装置20は、秘密情報Sを保持することにより、第1通信装置50と第2通信装置20との間で秘密情報Sを共有することができる。「通信エリア」は、第1例の場合と同様である。第2例の場合には、正規の人間しか当該通信エリアに入れないので、当該正規の人間が携帯又は所有する第1通信装置50が通信エリア内に入らない限り、第2通信装置20には秘密情報が配信されない。別言すれば、第1通信装置50が正規の人間が携帯又は所有する通信装置でない
限り、かつ当該正規の人間が当該通信エリア内に入らない限り、第2通信装置20には秘密情報Sが配信されない。
【0112】
上述のように、第1通信装置50は、秘密情報を保持している。第1通信装置50及び第2通信装置20が、第1通信装置50又は第2通信装置20の限定された通信エリア内に存在する場合、第1通信装置50は、秘密情報を第2通信装置20へ送信し、第1通信装置50と第2通信装置20との間で秘密情報を共有することができる。
【0113】
上述の構成により、第1通信装置50及び第2通信装置20の両方の通信装置が、第1通信装置50又は第2通信装置20の限定された通信エリア内に存在する、あるいは存在したことによってのみ1:1VPN通信に必要となる秘密情報を共有することができる。これにより、従来の1:多接続を前提とする通信を排除することができる。一般的に、1:多接続の通信においては、多接続を実現するために、認証情報(ID及びパスワード)が正しい事をもって、接続を許可しているが、これらの認証情報が漏洩すると攻撃者が簡単にネットワークへ侵入できてしまうとともに、侵入されたことにすぐに気付かないという事象が発生しやすい。その結果、甚大なランサムウェア被害を受けやすくなるというセキュリティインシデントが発生しがちである。しかし、本実施形態では、同じ秘密情報を所持、所有、保持している通信装置同士の1:1VPN通信しか許可しない事に加えて、上述のような秘密情報の受け渡しを実行している為、どの場所に赴き、どの装置から秘密情報を入手すべきかという情報を知り得ないハッカーが直接秘密情報を入手する事は、極めて難しいので、不正侵入検知や不正侵入防止などの追加のセキュリティソリューションの導入が不要となる。
【0114】
図18は秘密情報の共有方法の第3例を示す図である。図18の第3例では、第1通信装置50が予め秘密情報Sを保持しているとする。第1通信装置50は、限定された通信エリアを有している。ICカードは、例えば、接触型ICカード又は非接触型ICカードなどの持ち運びが可能な媒体である。なお、ICカードに代えて、スマートフォン、タブレット端末、モバイル端末などのデバイスでもよい。図18Aに示すように、ICカード(接触又は非接触)が、R/Wを介した有線接続完了もしくは通信エリア内に入ると、第1通信装置50は、秘密情報SをICカードへ送信(出力)する。ICカードは、秘密情報Sを保持する。
【0115】
図18Bに示すように、秘密情報Sが保持されたICカードを、有線通信又は無線通信によって第2通信装置20に接続することにより、第2通信装置20は、秘密情報をICカードから取得して保持する。このように、ICカードなどの媒体やデバイスを介して、第1通信装置50と第2通信装置20との間で秘密情報を共有してもよい。ICカードなどの媒体で秘密情報を受け渡しできるので、第2通信装置20の持ち運びが困難な大きさ又は重量の装置であっても、第1通信装置50と第2通信装置20との間で秘密情報を共有することができる。「通信エリア」は、第1例の場合と同様である。第3例の場合には、正規の人間しか当該通信エリアに入れないので、当該正規の人間が携帯又は所有するICカードが通信エリア内に入らない限り、当該ICカードを介して第2通信装置20には秘密情報が配信されない。別言すれば、ICカードが正規の人間が携帯又は所有するものでない限り、かつ当該正規の人間が当該通信エリア内に入らない限り、第2通信装置20には秘密情報Sが配信されない。
【0116】
図示していないが、入室が制限されたエリアに設置された第1通信装置50が、秘密情報が保持された二次元コードの類を表示部54に表示し、正規の人間によって、当該入室が制限されたエリアに持ち込まれた第2通信装置20は、表示された二次元コードを読み取って秘密情報を保持するようにしてもよい。これにより、当該正規の人間が携帯又は所有する第2通信装置20が当該エリアに持ち込まれ、第2通信装置20が第1通信装置5
0の近づいたという条件が成立する場合にのみ、第1通信装置50と第2通信装置20との間で秘密情報を共有することができる。
【0117】
また、第1通信装置50は、秘密情報を共有した第2通信装置20の識別子を保持しておく。識別子は、例えば、第2通信装置20の装置製造番号、MACアドレス、IMEI(携帯電話の端末識別番号)、シリアル番号、またはシリアル番号に対応付けられたメールアドレスや社員番号やマイナンバー(米国なら社会保障番号)などでもよい。第1通信装置50は、秘密情報を更新する場合、当該識別子が保持された第2通信装置20に対して更新した秘密情報が保持された二次元コードを送信または郵便として配送してもよい。これにより、一旦、第1通信装置50と第2通信装置20とが正規に秘密情報を共有した後に、秘密情報を更新する場合でも、第2通信装置20のユーザは、第1通信装置50の限定された通信エリアまで行かなくても、識別子を元に秘密情報を共有できるので、利便性を向上させることができる。一方、セキュリティ強度が低下するのも事実なので、二次元コード生成時に、生成した秘密情報の一部または全部を、識別子から生成した共通鍵で暗号化する手法を採用してもよい。このような実装を実施しておくことにより、セキュリティ強度をいくばくか上げることができる。
【0118】
図19は限定された通信エリアの他の例を示す図である。図19に示すように、地域A、B、Cそれぞれに限定された通信エリアを設ける。地域Aでは、第1通信装置50が設置され、第1通信装置50は秘密情報Sを保持している。地域B、Cそれぞれには、中継装置が設置され、中継装置は、第1通信装置50から配信された秘密情報Sを保持している。中継装置は、第1通信装置50と同様に秘密情報を第2通信装置20へ送信する機能を備える。地域A~Bは、例えば、事業者(企業)の事業所の所在地であり、異なる都道府県、市町村又は国であるが、これらに限定されない。
【0119】
上述のように、複数の通信エリアを設けることにより、第2通信装置20又はICカードなどの媒体を所持するユーザは、地域A~Cのうち、都合の良い地域にある第1通信装置50又は中継装置の限定された通信エリア内に第2通信装置20又はICカードなどの媒体を持ち込むことにより、1:1VPN通信のための秘密情報Sを共有することができ、ユーザの利便性が向上する。
【0120】
図20は秘密情報の共有方法の第4例を示す図である。図20の第4例では、第1通信装置50が予め秘密情報Sを保持しているとする。第1通信装置50は、限定された通信エリアを有している。図20Aに示すように、第2通信装置20が、通信エリア内に入ると、第1通信装置50は、秘密情報Sを第2通信装置20へ送信(出力)する。第2通信装置20は、秘密情報Sを保持し、第1通信装置50と第2通信装置20との間で秘密情報を共有することができる。
【0121】
次に、図20Bに示すように、第2通信装置20は、限定された通信エリアを有している。第3通信装置43が、通信エリア内に入ると、第2通信装置20は、秘密情報Sを第3通信装置43へ送信(出力)する。第3通信装置43は、秘密情報Sを保持する。
【0122】
上述のように、第2通信装置20は、秘密情報を保持し、第3通信装置43及び第2通信装置20が、第3通信装置43又は第2通信装置20の限定された通信エリア内に存在する場合、第2通信装置20は、秘密情報を第3通信装置43へ送信し、第2通信装置20と第3通信装置43との間で秘密情報を共有することができる。
【0123】
これにより、第1通信装置50は、第2通信装置20との間で秘密情報を共有することができるとともに、第3通信装置43との間で秘密情報を共有することができる。すなわち、第1通信装置50と第2通信装置20との間の1:1VPN通信を行うことができる
とともに、第1通信装置50と第3通信装置43との間の1:1VPN通信を行うことができる。この時、第2通信装置20と第3通信装置43との間で、1:1VPN通信は、実施できない実装にしている事が肝要である。この秘密情報は、VPNプライマリである第1通信装置で、生成されたものであり、本発明における1:1VPN通信は、VPNプライマリとVPNクライアントとの間のVPN通信を意味するからである。つまり、VPNプライマリは秘密情報を生成できる/生成する端末(通信装置)とするが、マネージメントを1か所で実施する組織体においては、秘密情報を端末に配信時に、VPNプライマリとなる端末を識別できる仕組みを導入してもよい。実例をあげると、VPNプライマリ端末には、特別な識別子を所定の場所に保持させておくとか、秘密情報自身にプライマリ識別子と端末識別子を加工し保持しておくなどの手法がある。
【0124】
図21は秘密情報の共有方法の第5例を示す図である。図21の第5例では、第1通信装置50は、予め秘密情報Pを生成して保持している。すなわち、第1通信装置50は、秘密情報Pを生成するVPNプライマリである。第1通信装置50は、限定された通信エリアを有している。図21Aに示すように、VPNクライアントである第2通信装置20が、通信エリア内に入ると、第1通信装置50は、秘密情報Pを第2通信装置20へ送信(出力)する。第2通信装置20は、秘密情報Pを保持し、第1通信装置50と第2通信装置20との間で秘密情報Pを共有することができる。
【0125】
上述のように、ある側面では、第2通信装置20はVPNクライアントになるが、別の側面ではVPNプライマリになることもあり得る。すなわち、図21Bに示すように、第2通信装置20は、予め秘密情報Tを生成して保持している。秘密情報Tは、秘密情報Pと異なる。すなわち、第2通信装置20は、秘密情報Tを生成するVPNプライマリでもある。第2通信装置20は、限定された通信エリアを有している。図21Bに示すように、VPNクライアントである第4通信装置44が、通信エリア内に入ると、第2通信装置20は、秘密情報Tを第4通信装置44へ送信(出力)する。第4通信装置44は、秘密情報Tを保持し、第2通信装置20と第4通信装置44との間で秘密情報Tを共有することができる。
【0126】
図21に示すようなケースは、例えば、会社と家庭との間のテレワークに使用している家庭に設置しているGW(ゲートウェイ装置)は、図21Aに示す第2通信装置20に該当するが、このGW装置が秘密情報を生成する機能も搭載している。例えば、GW装置によって、スマートホームにおける各種IoTデバイスをセキュアにコントロールする場合、家庭内に設置してあるGW装置で秘密情報を生成して、スマートホームで生活する人のスマートフォンに対して、当該秘密情報を配信する。家庭内に設置してあるGW装置は、会社とのVPN通信においては、VPNクライアントになり、家人のスマートフォンとのVPN通信においては、VPNプライマリとなる。
【0127】
上述のように、第2通信装置20は、秘密情報を生成して保持し、第2通信装置、及び第1通信装置と異なる他の通信装置が、第2通信装置又は他の通信装置の限定された通信エリア内に存在する場合、第2通信装置が生成して保持する秘密情報を他の通信装置へ送信し、第2通信装置と他の第2通信装置との間で秘密情報を共有することができる。
【0128】
図22は秘密情報の共有方法の第6例を示す図である。図22の第6例では、プライベートブロックチェーン100による秘密情報の共有方法を示す。ブロックチェーンは、P2Pネットワークを用いた分散システムであり、P2Pネットワーク上のノード(コンピュータ)が同じデータ(台帳)を共有する。ブロックチェーンは、台帳を分散共有して管理する技術である。図22に示す管理者端末150、参加者端末121、122、123ノードを構成することができる。管理者端末150、参加者端末121、122、123は、PCでもよく、スマートフォン又はタブレット端末等であってもよい。
【0129】
プライベートブロックチェーン100は、前述の台帳(「分散台帳」、「ブロック」ともいう)の他に、暗号化、及びスマートコントラクトなどの技術的な要素を備える。暗号化は、例えば、電子署名機能・認証機能により取引(トランザクション)の正当性や機密性を確保する。スマートコントラクトは、プライベートブロックチェーン100上に展開されるプログラムの実行コード及び変数を保持し、各ノードが持っているブロック内に保持されている。
【0130】
プライベートブロックチェーン100の各ブロックは、直前のブロックのハッシュ値、トランザクションデータ、ステートデータ、ナンス等の情報を含む。ハッシュ値は、元になる入力データから所定の演算によって得られる固定長の値であり、直前のブロックに含まれる情報を入力データとして演算される。本実施形態では、トランザクションデータは、秘密情報を含む。ステートデータは、プライベートブロックチェーン100内で管理されている参加者の識別コード(ID)、参加する際に必要な認証情報やアクセス権限などの情報を含む。ステートデータは、全ての参加者に関するスマートコントラクト(プログラムコードなど)を含む。ナンスは、次のブロックを追加する際に、現在のブロック内の情報に基づいてハッシュ値を演算するために用いる値である。ナンスの値が決定されると現在のブロックはハッシュ化され、そのハッシュ値が次のブロックに保持される。
【0131】
プライベートブロックチェーン100は、ブロックチェーン技術の一種であり、パブリック(公開)ブロックチェーンとは異なり、以下のような特徴がある。すなわち、プライベートブロックチェーン100は、限られた参加者によって運営されていて、プライベートな環境で構築されている。プライベートブロックチェーン100への参加者は制限された組織のメンバーで構成されるのが普通であるが、組織のメンバーでない場合でも管理者が許可した場合には、メンバーとして参加できる。また、メンバーとなった参加者に対しても、アクセス制御が実施される。つまり、プライベートブロックチェーン100への参加者は特定の承認を得なければ、ネットワークに参加できないということになる。
【0132】
本実施形態では、このプライベートブロックチェーン100の特徴(第三者のハッカーから攻撃されにくい)を生かして秘密情報を共有(配信)する。管理者は管理者端末装置150を使用し、参加者P1、P2、P3は、それぞれ参加者端末装置121、122、123を使用するとする。以下、秘密情報の共有方法を順に説明する。
(1)管理者は、1:1VPN通信を許可する人物をプライベートブロックチェーン100の参加者として、確認後、登録を実施する。管理者は、本実施形態において、VPNプライマリとなる通信装置を管理する者である。なお、一人の管理者が複数のVPNプライマリとなる通信装置を管理してもよい。例えば、第1通信装置50がゲートウェイ装置で、ある企業のある部門に設置されているとすると、このゲートウェイ装置の管理者は、部門IT管理責任者が担うことになる。この管理者が部門でVPN通信を利用したいさせてもよい社員に対して、プライベートブロックチェーン100への参加許可やアクセス権限を付与する事になる。
(2)参加許可やアクセス権限の付与後、管理者は参加者毎に、VPNプライマリ(例えば、第1通信装置50で参加者毎に秘密情報を生成し、生成した秘密情報をプライベートブロックチェーン100にトランザクションデータとして書き込んでおく。
(3)プライベートブロックチェーン100への参加者は、このプライベートブロックチェーン100の認証をパスした後、自身の秘密情報をダウンロードする。ここで、他の参加者によって自分の秘密情報がダウンロードできない仕組みは、プライベートブロックチェーン100へ自身のアクセス管理で実施してもよいし、あるいは、参加者毎に共通鍵を発行してもよい。新規に共通鍵を発行したくない場合は、参加者の識別コード、及びプライベートブロックチェーン100に参加する際に必要とした認証情報の一部もしくは全部を利用して共通鍵を生成し、生成した共通鍵で秘密情報を暗号化し、プライベートブロッ
クチェーン100にトランザクションデータとして書き込んでおけば、参加者は、自身の秘密情報しか復号できない。
【0133】
図22の例では、参加者P1に対して共通鍵Kp1で暗号化された秘密情報Sp1がトランザクションデータとしてブロックに書き込まれ、参加者P2に対して共通鍵Kp2で暗号化された秘密情報Sp2がトランザクションデータとしてブロックに書き込まれ、参加者P3に対して共通鍵Kp3で暗号化された秘密情報Sp3がトランザクションデータとしてブロックに書き込まれる。参加者Sp1は、自身が保有する共通鍵Kp1を用いて秘密情報Sp1を復号することができるが、他の参加者は共通鍵Kp1を持っていないので、秘密情報Sp1を取得することはできない。他の参加者P2、P3についても同様である。
【0134】
上述の例では、ある部門の社員を挙げたが、これに限定されるものではない。例えば、ある地域の町内会等の組織でもよい。このような実装をしておくと、管理者が正しいと認識している人物にだけに、秘密情報を配信できる。
【0135】
管理者が、プライベートブロックチェーン100に前回書き込んだ秘密情報と異なる秘密情報を新たなトランザクションデータとして、プライベートブロックチェーン100に書き込むこともできるので、参加者は最新版の秘密情報を容易に受け取ることができる。また、参加者が秘密情報を受け取ったことをイベントして動作するスマートコントラクトを用意して登録しておくことにより、参加者が秘密情報を受け取ったタイミングで、管理者が、参加者が秘密情報を受け取ったことを知ることができる運用も可能となる。
【0136】
次に、秘密情報の生成方法について説明する。
【0137】
図23は秘密情報の生成方法の例を示す図である。図23Aは、第1通信装置50が固有情報を保持している場合を示す。固有情報は、例えば、第1通信装置50の識別子(例えば、シリアル番号など)、社員番号、企業識別子、場所識別子、所定の乱数などとすることができるが、これらに限定されない。第1通信装置50は、固有情報を保持してあり(S101)、固有情報を用いて秘密情報を生成する(S102)。秘密情報の生成は、固有情報に対して所定のアルゴリズムで演算した結果得られた情報とすればよい。第1通信装置50は、図16図20等で例示した方法により、生成した秘密情報を第2通信装置20へ送信し(S103)、秘密情報を共有することができる。
【0138】
図23Bは、第2通信装置20が固有情報を保持している場合を示す。固有情報は、例えば、第2通信装置20の識別子(例えば、シリアル番号など)、社員番号、企業識別子、場所識別子、所定の乱数などとすることができるが、これらに限定されない。第2通信装置20は、固有情報を保持してあり(S111)、第1通信装置50は、第2通信装置20から固有情報を取得する(S112)。第1通信装置50は、固有情報を用いて秘密情報を生成する(S113)。第1通信装置50は、図16図20等で例示した方法により、生成した秘密情報を第2通信装置20へ送信し(S114)、秘密情報を共有することができる。
【0139】
図23Cは、固有情報を保持していない場合を示す。第1通信装置50は、固有情報を生成し(S121)、固有情報を用いて秘密情報を生成する(S122)。秘密情報の生成は、固有情報に対して所定のアルゴリズムで演算した結果得られた情報とすればよい。第1通信装置50は、図16図20等で例示した方法により、生成した秘密情報を第2通信装置20へ送信し(S123)、秘密情報を共有することができる。
【0140】
上述のように、第1通信装置50は、第1通信装置50に関する第1固有情報を保持し
、又は第2通信装置20に関する第2固有情報を第2通信装置20から取得し、保持した第1固有情報又は取得した第2固有情報を用いて秘密情報を生成することができる。
【0141】
社員番号などの固有情報を用いて秘密情報を生成した場合は、固有情報と秘密情報との対応を保持しておくことにより、秘密情報が、誰が所有する情報であるかを容易に特定することができる。これにより、誰の秘密情報であるかが判別できないことによるセキュリティ上の問題を解消できる。また、企業識別子などの固有情報を用いて秘密情報を生成した場合、秘密情報を企業や団体別に区分できるので、多くの企業や団体で1:1VPN通信を実現する仕組みを構築できる。
【0142】
本実施形態の特徴の一つである、同じ秘密情報を保持していて、かつVPNプライマリVPNクライアント間でのみしか1:1VPN通信を許容しないという仕組みを利用して、データダイオード的な使用方法も簡単に実現できる。
【0143】
例えば、第1通信装置50のトランスポート層で、受信データだけを許容し、送信データ全てを廃棄するという実装を搭載すればよい。このような実装を提供しておけば、第2通信装置20はデータを第1通信装置50へ送信し、第1通信装置50は当該データを受信できる。一方、第1通信装置50からは、第2通信装置20に対してデータが届かない構成が簡単に実装できる。第1通信装置50と第2通信装置20との役割を変えてもよい。これは、VPNプライマリであるか否かに関係なく実装可能である。この例では、インターネットを介したデータダイオードの実装例を示したが、第1通信装置50及び第2通信装置20を一つの筐体の中に実装して、一つのシステムとして提供することも可能である。
【0144】
前述のデータダイオード的な使用方法の具体例について説明する。通信装置を甲、乙、丙とする。また、秘密情報をA、B、Cとする。まず、甲から乙(甲→乙)の一方向通信しか認めていない場合に、丙→乙→甲のような通信を実現したい場合が発生する。例えば、甲が配下に重要なIoTデバイスを有し、IoTデバイスで観測した観測データだけを甲から送信して乙で収集するようなケースである。ここで、甲への攻撃がないようにするため一方向通信にしている。このようなケースにおいて、丙から甲の配下のIoTデバイスに制御命令を出力しなければならないケースが発生した場合、本実施形態の秘密情報を用いることにより当該制御命令を出力することができる。以下、具体的に説明する。
【0145】
甲と乙は同じ秘密情報Aを保持している。これを、甲(A)、乙(A)と表す。()内は秘密情報を示す。前述のように、甲(A)→乙(A)の一方向通信しか認めていないので、乙からのデータの送信は一切遮断されているが、ある特定の条件を満たした場合には、乙から甲へデータを送信することができる。以下、ある特定の条件について説明する。
【0146】
甲は秘密情報A、B、Cを保持し、乙は秘密情報A、Bを保持し、丙は秘密情報A、B、Cを保持している。すなわち、丙(A、B、C)→乙(A、B)→甲(A、B、C)である。乙は、甲とデータのやり取りをするので秘密情報Aを保持するとともに、丙とのデータのやり取りをするので秘密情報Bを保持している。このとき、丙から送信するデータXを甲に届けるための条件は、(B(A(C(X))))のように、秘密情報Bから生成される共通鍵で暗号化されたデータを丙から乙に送信することになる。乙では、秘密情報Bから生成される共通鍵で受信データを復号すると、(A(C(X)))のデータが得られる。乙は復号したデータ(A(C(X)))をそのまま甲へ送信する。
【0147】
ここで、通常であれば、甲と乙とのデータのやり取りにおいては、乙では、秘密情報Aから生成される共通鍵でデータを暗号化する工程が入るが、乙が丙から受信したデータ(A(C(X)))は、既に秘密情報Aから生成される共通鍵で暗号化されているので、当
該工程を行う必要がない。当該工程を行う必要がない点が本実施形態の特徴の一つである。当該工程を省略していることを乙から甲に伝達できるように、例えば、TCP/IPのデータ部のバージョン情報の4ビットを、“0100”ではなく“0110”に変更したデータを生成して甲に送信すればよい。甲では、乙からのデータはすべて廃棄する約束であるが、乙から受信したデータを、秘密情報Aから生成される共通鍵で復号すると、復号したデータが(C(X))の形になっているだけでなく、TCP/IPのデータ部のバージョン情報の4ビットが“0110”となっているので、秘密情報Cから生成される共通鍵で復号して、データXを丙から受信することができる仕組みを構築できる。
【0148】
一方、丙からのデータ受信ではなく、乙からのデータ受信の場合には、乙は秘密情報Aから生成される共通鍵でデータを暗号化するので(前述の省略した工程による処理)、当該工程を省略していることを乙から甲に伝達する必要がないため、バーション情報は“0100”となっており、“0110”になっていないので、甲は乙からのデータを破棄する。このように、本実施形態の秘密情報を用いることにより、甲→乙の一方方向通信しか認められていない状況において、丙からのデータを、乙を通じて甲が受信できる仕組みを構築できる。
【0149】
インターネットが広く利用されるに従い、個人が情報を発信できるようになった。しかしながら、個人が情報を発信するためには、大手企業が提供するプラットフォームを利用する手段しか選択肢がなかった。一方、インターネットにアクセスする際のデバイスとして、従来に増して、スマートフォンが利用されるようになってきていると同時に、このようなスマートフォンは、数年前の低価格PCを凌駕する速度とメモリを有するようになっている。本実施形態の技術を利用すると、P2PVPN通信機能も利用できるので、個人所有のスマートフォンをECショッピングサイトのクラウドサーバのように仕立て上げることができる。つまり、大企業が提供するプラットフォームを利用する必要がなくなり、またクラウドサーバなどのスマートフォンに比べて高価な装置も不要になるので、運用コストを下げることができる。また、スマートフォンを所持したまま、どこに移動しても、移動中でもクラウドサーバでECサイトを運用しているように、高セキュリティ低コストで運用できる。Web3が非中央集権的な要素を標榜しているが、まさに本発明を利用すれば、中央集権的要素を内包しているプラットフォーマの力を必要としないので、Web3的なサービスを利用者およびサービス提供者の両者に提供できる。
【0150】
上述のように、第1通信装置50は、第2通信装置20との間でP2PVPN通信を行うことができる。P2PVPN通信では、第1通信装置50と第2通信装置20との間で、物理的なネットワークのように動作する仮想プライベートネットワーク、すなわちインターネットVPN(Virtual Private Network)が構築され、第1通信装置50と第2通信装置20とは、通信ネットワーク管理サーバ(不図示)が管理しているプライベートIPアドレスを用いて、インターネット経由で、P2P通信を行うことができる。
【0151】
本実施形態では、第1通信装置50と第2通信装置20とは、グルーバルIPアドレスを用いることなく、プライベートIPアドレス同士でVPN通信を行うとともに、P2P通信を行うことにより、セキュリティが一層向上する。その結果、基地局が変わる都度、グルーバルIPアドレスが変わるスマートフォンをクラウドサーバ(Webサーバ)にすることができる。
【0152】
(付記1)通信方法は、第1通信装置と第2通信装置との間の通信方法であって、前記第1通信装置は、前記第2通信装置が前記第1通信装置と通信状態にあり、前記第2通信装置が前記第1通信装置に対してデータの再送が必要となる所定事象が発生した場合、前記第2通信装置が送信する再送データに応じて、前記第2通信装置との間の通信を停止する。
【0153】
(付記2)通信方法は、付記1において、前記所定事象は、前記第2通信装置が送信したデータを前記第1通信装置が正常に受信した場合に、所定時間内に正常に受信した旨の通知を前記第1通信装置から受信できない事象を含む。
【0154】
(付記3)通信方法は、付記1又は付記2において、前記所定事象は、前記第1通信装置が再度セッションを接続した事象を含む。
【0155】
(付記4)通信方法は、付記1から付記3のいずれか一つにおいて、前記所定事象は、前記第2通信装置又は前記第1通信装置が検知するタイムアウト、再起動及びIPアドレスの変更(モバイル端末が移動した結果、接続される基地局が変わるとIPアドレスが変更となるケースなど)のいずれかの事象を含む。
【0156】
(付記5)通信方法は、付記1から付記4のいずれか一つにおいて、前記第1通信装置と前記第2通信装置との通信状態の経過時間が所定時間より長くなる時点で、前記所定事象を発生させる1回以上のサイクルを繰り返す。
【0157】
(付記6)通信方法は、付記1から付記5のいずれか一つにおいて、前記第1通信装置と前記第2通信装置との間で通信したデータ量が所定量より多くなる時点で、前記所定事象を発生させる1回以上のサイクルを繰り返す。
【0158】
(付記7)通信方法は、付記1から付記6のいずれか一つにおいて、前記第1通信装置は、前記第2通信装置が、少なくともデータ部が同一である再送データを送信した場合、前記第2通信装置との間の通信を停止する。
【0159】
(付記8)通信方法は、付記1から付記7のいずれか一つにおいて、前記第1通信装置は、前記第2通信装置が、前記第1通信装置へ送信したデータの暗号化に用いた鍵情報と同じ鍵情報を用いて暗号化したデータを再送信した場合、前記第2通信装置との間の通信を停止する。
【0160】
(付記9)通信方法は、付記1から付記8のいずれか一項において、前記第1通信装置は、秘密情報に基づいて所要の頻度で異なる鍵情報を生成し、前記第2通信装置が、前記第1通信装置との間で使用している鍵情報より古い鍵情報を用いて暗号化したデータを再送信しない場合、前記第2通信装置との間の通信を停止する。
【0161】
(付記10)通信方法は、付記1から付記9のいずれか一つにおいて、前記第1通信装置及び前記第2通信装置は、予め共通の秘密情報を保持しておき、前記第1通信装置は、前記第2通信装置が、前記秘密情報に基づいて生成した鍵情報を用いて暗号化したデータを再送信しない場合、前記第2通信装置との間の通信を停止する。
【0162】
(付記11)通信方法は、付記1から付記10のいずれか一項において、前記第1通信装置は、秘密情報から複数の分散情報を生成し、生成した分散情報それぞれに基づいて鍵情報を複数生成し、前記第2通信装置が、生成された複数の鍵情報のうちの予め定めた鍵情報を用いて暗号化したデータを再送信しない場合、前記第2通信装置との間の通信を停止する。
【0163】
(付記12)通信方法は、付記1から付記11のいずれか一項において、前記第1通信装置は、秘密情報を保持し、前記第2通信装置が、前記秘密情報と同一の秘密情報を保持している場合、前記第1通信装置と前記第2通信装置との間の通信を許容する。
【0164】
(付記13)通信方法は、付記1から付記12のいずれか一項において、前記第1通信装置は、秘密情報に基づいて前記第1通信装置内で生成した鍵情報を保持し、前記第2通信装置が、前記秘密情報と同一の秘密情報に基づいて前記第2通信装置内で生成した、前記鍵情報と同一の鍵情報を保持している場合に限り、前記第1通信装置と前記第2通信装置との間の通信を許容する。
【0165】
(付記14)通信方法は、付記1から付記13のいずれか一項において、前記第1通信装置は、秘密情報を保持し、前記第1通信装置及び前記第2通信装置が、前記第1通信装置又は前記第2通信装置の限定された通信エリア内に存在する場合、前記秘密情報を前記第2通信装置へ送信し、前記第1通信装置と前記第2通信装置との間で前記秘密情報を共有する。
【0166】
(付記15)通信方法は、付記14において、前記第1通信装置は、前記第1通信装置に関する第1固有情報を保持し、又は前記第2通信装置に関する第2固有情報を前記第2通信装置から取得し、保持した第1固有情報及び取得した第2固有情報の少なくとも一つを用いて前記秘密情報を生成する。
【0167】
(付記16)通信方法は、付記15において、前記第1通信装置は、前記第1固有情報及び前記第2固有情報のいずれとも異なる第3固有情報を取得し、前記第1固有情報及び前記第2固有情報に加えて前記第3固有情報を用いて前記秘密情報を生成する。
【0168】
(付記17)通信方法は、付記14において、前記通信エリアは、正規の人しか入室できない特定のエリアである。
【0169】
(付記18)通信方法は、付記1から付記17のいずれか一つにおいて、前記第1通信装置は、秘密情報を保持し、前記第1通信装置及び持ち運び可能な記録媒体が、前記第1通信装置の限定された通信エリア内に存在する場合、前記秘密情報を前記記録媒体へ送信し、前記第2通信装置は、前記通信エリア外で前記記録媒体から前記秘密情報を受信し、前記第1通信装置と前記第2通信装置との間で前記秘密情報を共有する。
【0170】
(付記19)通信方法は、付記14から付記18のいずれか一項において、前記通信エリアを複数設ける。
【0171】
(付記20)通信方法は、付記1から付記19のいずれか一つにおいて、前記第1通信装置及び前記第2通信装置の一方がVPNプライマリであり、他方がVPNクライアントであり、前記VPNプライマリは、秘密情報を保持し、前記VPNプライマリ及び前記VPNクライアントが、前記VPNプライマリ又は前記VPNクライアントの限定された通信エリア内に存在する場合、前記秘密情報を前記VPNクライアントへ送信し、前記VPNプライマリと前記VPNクライアントとの間で前記秘密情報を共有する。
【0172】
(付記21)通信方法は、付記1から付記20のいずれか一項において、前記第1通信装置は、入室が制限されたエリアに設置され、秘密情報が保持された二次元コードを表示し、前記第2通信装置は、入室が制限された前記エリアに持ち込まれ、表示された二次元コードを読み取って前記秘密情報を保持し、前記第1通信装置と前記第2通信装置との間で前記秘密情報を共有する。
【0173】
(付記22)通信方法は、付記21において、前記第1通信装置は、前記秘密情報を共有した第2通信装置固有の識別子を保持し、秘密情報を更新する場合、前記識別子が保持された第2通信装置に対して更新した秘密情報が保持された二次元コードを送信する。
【0174】
(付記23)通信方法は、付記1から付記22のいずれか一項において、プライベートブロックチェーンの管理者の前記第1通信装置は、秘密情報をトランザクションデータとして前記プライベートブロックチェーンに書き込み、前記プライベートブロックチェーンへの参加が登録された参加者の前記第2通信装置は、前記プライベートブロックチェーンに書き込まれた前記秘密情報を前記プライベートブロックチェーンから取得し、前記第1通信装置と前記第2通信装置との間で前記秘密情報を共有する。
【0175】
(付記24)通信方法は、付記1から付記23のいずれか一項において、前記第1通信装置又は前記第2通信装置との通信が許容されるそれぞれの場合の前記第2通信装置又は前記第1通信装置の存在エリアを保持し、前記第2通信装置又は前記第1通信装置の位置情報が前記存在エリア内にある場合、前記第1通信装置と前記第2通信装置との間の通信を行う。
【0176】
(付記25)通信方法は、付記1から付記24のいずれか一項において、前記第1通信装置は、前記第2通信装置との間でP2PVPN通信を行う。
【0177】
(付記26)通信方法は、付記1から付記25のいずれか一項において、前記第1通信装置は、前記第2通信装置のトランスポート層から送信された再送データを自身のトランスポート層で受信し、自身のトランスポート層を用いて前記第2通信装置が送信する再送データを判定する。
【0178】
(付記27)通信方法は、付記1から付記26のいずれか一項において、前記第1通信装置は、前記第2通信装置のトランスポート層から送信された再送データを自身のトランスポート層で受信し、自身のアプリケーション層を用いて前記第2通信装置が送信する再送データを判定する。
【0179】
(付記28)通信方法は、付記1から付記27のいずれか一項において、前記第1通信装置は、前記第2通信装置との間の通信を停止する場合、前記第2通信装置による通信に不正侵入が発生した旨を外部装置へ通知する。
【0180】
(付記29)通信方法は、付記1から付記28のいずれか一項において、前記第1通信装置は、前記第2通信装置との間の通信を停止する前に、攻撃者のシステムを無効化すべくウィルス又はランサムウェアを前記第2通信装置又は前記第2通信装置を介して前記第2通信装置に接続されている他の装置へ送信する。
【0181】
(付記30)通信方法は、付記1から付記29のいずれか一項において、前記第2通信装置は、秘密情報を保持し、第3通信装置及び前記第2通信装置が、前記第3通信装置又は前記第2通信装置の限定された通信エリア内に存在する場合、前記秘密情報を前記第3通信装置へ送信し、前記第2通信装置と前記第3通信装置との間で前記秘密情報を共有する。
【0182】
(付記31)通信方法は、付記1から付記30のいずれか一項において、前記第1通信装置は、P2PVPN通信を通じて前記第2通信装置への一方向通信のみ認められている状態で、他の通信装置が前記第1通信装置との間で共有する第1秘密情報に基づいて生成された第1共有鍵で暗号化したデータを、前記第1通信装置との間で共有する第2秘密情報に基づいて生成された第2共有鍵で暗号化し、さらに前記第2通信装置との間で共有する第3秘密情報に基づいて生成された第3共有鍵で暗号化されたデータを前記第2通信装置へ送信した場合、前記第2通信装置は、受信したデータを前記第3共有鍵で復号し、復号したデータを前記第1通信装置へ送信し、前記第1通信装置は、受信したデータを、前記第2共有鍵で復号し、復号したデータを前記第1共有鍵で復号して、前記他の通信装置か
らのデータを受信することを可能とする。
【0183】
(付記32)通信装置は、制御部を備え、前記制御部は、他の通信装置と通信状態にあり、前記他の通信装置がデータの再送が必要となる所定事象が発生した場合、前記他の通信装置が送信する再送データに応じて、前記他の通信装置との間の通信を停止する。
【0184】
(付記33)コンピュータプログラムは、第1通信装置で動作するコンピュータプログラムであって、第2通信装置が前記第1通信装置と通信状態にあり、前記第2通信装置が前記第1通信装置に対してデータの再送が必要となる所定事象が発生した場合、前記第2通信装置が送信する再送データに応じて、前記第2通信装置との間の通信を停止する、処理をコンピュータに実行させる。
【0185】
各実施形態に記載した事項は相互に組み合わせることが可能である。また、特許請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載してもよい。
【符号の説明】
【0186】
1 秘匿通信路
20、40 第2通信装置
50 第1通信装置
21、51 制御部
22、52 ネットワーク通信部
23、53 メモリ
24、54 表示部
25、55 再送データ解析部
26、56 秘匿通信処理部
27、57 記憶部
28、58 OS
29、59 秘密情報
30、60 鍵情報
【要約】
【課題】ネットワークへの不正侵入を防止できる通信方法、通信装置及びコンピュータプログラムを提供する。
【解決手段】通信方法は、第1通信装置と第2通信装置との間の通信方法であって、第1通信装置は、第2通信装置が第1通信装置と通信状態にあり、第2通信装置が第1通信装置に対してデータの再送が必要となる所定事象が発生した場合、第2通信装置が送信する再送データに応じて、第2通信装置との間の通信を停止する。
【選択図】図2
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23