(57)【要約】【課題】暗号化通信を行う２つの通信装置で安全且つ簡単に共有データを共有するための技術を提供する。【解決手段】第１通信装置は、共有データを暗号化して第１暗号化共有データとして（Ｓ５０３）、それを第２通信装置に送る（Ｓ５０４）。第２通信装置は、それを受取り（Ｓ６０１）、第１暗号化共有データを更に暗号化して第２第１暗号化共有データとし（Ｓ６０２）て、第１通信装置に送る（Ｓ６０３）。第１通信装置はそれを受取り（Ｓ５０５）、第２第１暗号化共有データに第１通信装置で行った暗号化の逆変換をして第２暗号化共有データとして（Ｓ５０６）、それを第２通信装置に送る（Ｓ５０７）。第２通信装置はそれを受取り（Ｓ６０４）、第２暗号化共有データに第２通信装置で行った暗号化の逆変換をして共有データに戻す。【選択図】図５
2018174485.tif 000002
【特許請求の範囲】
【請求項１】
互いに通信を行う２つの通信装置の一方である第１通信装置と他方の通信装置である第２通信装置とからなる通信システムであって、
前記第１通信装置は、暗号化のための変換を行う第１暗号化手段と、前記第１暗号化手段によりなされた暗号化の逆変換を行う第１復号化手段と、前記第２通信装置と通信を行う第１通信手段とを備えているとともに、
前記第２通信装置は、暗号化のための変換を行う第２暗号化手段と、前記第２暗号化手段によりなされた暗号化の逆変換を行う第２復号化手段と、前記第１通信装置と通信を行う第２通信手段とを備えており、
前記第１通信装置は、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに前記第１暗号化手段で暗号化のための変換をして第１暗号化共有データとするようになっているとともに、前記第１暗号化共有データを前記第１通信手段で前記第２通信装置に送信するようになっており、
前記第２通信装置は、前記第１通信装置から前記第２通信手段で前記第１暗号化共有データを受付けた場合に、前記第２暗号化手段で前記第１暗号化共有データに暗号化のための変換をして第２第１暗号化共有データとするとともに、前記第２第１暗号化共有データを前記第２通信手段で前記第１通信装置に送信するようになっており、
前記第１通信装置は、前記第２通信装置から前記第１通信手段で前記第２第１暗号化共有データを受付けた場合に、前記第１復号化手段で前記第２第１暗号化共有データのうち前記第１暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２第１暗号化共有データを第２暗号化共有データとするようになっているとともに、前記第２暗号化共有データを前記第１通信手段で前記第２通信装置に送信するようになっており、
前記第２通信装置は、前記第１通信装置から前記第２通信手段で前記第２暗号化共有データを受付けた場合に、前記第２復号化手段で前記第２暗号化共有データのうち前記第２暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２暗号化共有データを前記共有データとするようになっている、
通信システム。
【請求項２】
互いに通信を行う２つの通信装置の一方である第１通信装置と他方の通信装置である第２通信装置とからなる通信システムを、暗号化のための変換を行う第２暗号化手段と、前記第２暗号化手段によりなされた暗号化の逆変換を行う第２復号化手段と、前記第１通信装置と通信を行う第２通信手段とを備えている前記第２通信装置、との組合せにより構成する第１通信装置であって、
暗号化のための変換を行う第１暗号化手段と、前記第１暗号化手段によりなされた暗号化の逆変換を行う第１復号化手段と、前記第２通信装置と通信を行う第１通信手段とを備えているとともに、
前記第２通信装置との間で共有すべきデータである平文のデータである共有データに前記第１暗号化手段で暗号化のための変換をして第１暗号化共有データとするようになっているとともに、前記第１暗号化共有データを前記第１通信手段で前記第２通信装置に送信するようになっており、
前記第１通信装置から前記第２通信手段で前記第１暗号化共有データを受付けた前記第２通信装置が、前記第２暗号化手段で前記第１暗号化共有データに暗号化のための変換をして第２第１暗号化共有データとするとともに、前記第２第１暗号化共有データを前記第２通信手段で前記第１通信装置に送信した場合に、前記第２通信装置から前記第１通信手段で前記第２第１暗号化共有データを受付け、前記第１復号化手段で前記第２第１暗号化共有データのうち前記第１暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２第１暗号化共有データを第２暗号化共有データとするようになっているとともに、前記第２暗号化共有データを前記第１通信手段で前記第２通信装置に送信するようになっており、
それにより、前記第１通信装置から前記第２通信手段で前記第２暗号化共有データを受付けた前記第２通信装置が、前記第２復号化手段で前記第２暗号化共有データのうち前記第２暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２暗号化共有データを前記共有データとするようになっている、
第１通信装置。
【請求項３】
前記第１暗号化手段と、前記第１復号化手段と、前記第２暗号化手段と、前記第２復号化手段とはそれぞれ、排他的論理和の演算を行うようになっている、
請求項２記載の第１通信装置。
【請求項４】
互いに通信を行う２つの通信装置の一方である第１通信装置と他方の通信装置である第２通信装置とからなる通信システムを、暗号化のための変換を行う第１暗号化手段と、前記第１暗号化手段によりなされた暗号化の逆変換を行う第１復号化手段と、前記第２通信装置と通信を行う第１通信手段とを備えている前記第１通信装置、との組合せにより構成する第２通信装置であって、
暗号化のための変換を行う第２暗号化手段と、前記第２暗号化手段によりなされた暗号化の逆変換を行う第２復号化手段と、前記第１通信装置と通信を行う第２通信手段とを備えており、
前記第１通信装置が、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに前記第１暗号化手段で暗号化のための変換をして第１暗号化共有データとし、前記第１暗号化共有データを前記第１通信手段で前記第２通信装置に送信した場合に、前記第１通信装置から前記第２通信手段で前記第１暗号化共有データを受付け、前記第２暗号化手段で前記第１暗号化共有データに暗号化のための変換をして第２第１暗号化共有データとするとともに、前記第２第１暗号化共有データを前記第２通信手段で前記第１通信装置に送信するようになっており、
前記第２通信装置から前記第１通信手段で前記第２第１暗号化共有データを受付けた前記第１通信装置が、前記第１復号化手段で前記第２第１暗号化共有データのうち前記第１暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２第１暗号化共有データを第２暗号化共有データとし、前記第２暗号化共有データを前記第１通信手段で前記第２通信装置に送信した場合に、前記第１通信装置から前記第２通信手段で前記第２暗号化共有データを受付け、前記第２復号化手段で前記第２暗号化共有データのうち前記第２暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２暗号化共有データを前記共有データとするようになっている、
第２通信装置。
【請求項５】
前記第１暗号化手段と、前記第１復号化手段と、前記第２暗号化手段と、前記第２復号化手段とはそれぞれ、排他的論理和の演算を行うようになっている、
請求項４記載の第２通信装置。
【請求項６】
互いに通信を行う２つの通信装置の一方である第１通信装置と他方の通信装置である第２通信装置とからなる通信システムを、暗号化のための変換を行う第２暗号化手段と、前記第２暗号化手段によりなされた暗号化の逆変換を行う第２復号化手段と、前記第１通信装置と通信を行う第２通信手段とを備えている前記第２通信装置、との組合せにより構成する第１通信装置であり、データ処理を行う第１データ処理手段と、前記第２通信装置と通信を行う第１通信手段とを備えているものの前記第１データ処理手段にて実行される方法であって、
前記第１データ処理手段が実行する、
前記第２通信装置との間で共有すべきデータである平文のデータである共有データに暗号化のための変換をして第１暗号化共有データとする過程、
前記第１暗号化共有データを前記第１通信手段に前記第２通信装置へ送信させる過程、
前記第１通信装置から前記第２通信手段で前記第１暗号化共有データを受付けた前記第２通信装置が、前記第２暗号化手段で前記第１暗号化共有データに暗号化のための変換をして第２第１暗号化共有データとするとともに、前記第２第１暗号化共有データを前記第２通信手段で前記第１通信装置に送信した場合に、前記第２通信装置からの前記第２第１暗号化共有データを前記第１通信手段に受付けさせる過程、
前記第２第１暗号化共有データのうち前記第１データ処理手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２第１暗号化共有データを第２暗号化共有データとする過程、
前記第２暗号化共有データを前記第１通信手段に前記第２通信装置へ送信させる過程、
を含んでおり、
それにより、前記第１通信装置から前記第２通信手段で前記第２暗号化共有データを受付けた前記第２通信装置が、前記第２復号化手段で前記第２暗号化共有データのうち前記第２暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２暗号化共有データを前記共有データとさせられるようになっている、
第１通信装置の第１データ処理手段で実行される方法。
【請求項７】
前記第１通信装置が、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに暗号化のための変換をして第１暗号化共有データとする過程以降の各過程をすべて自動的に行う、
請求項６記載の第１通信装置の第１データ処理手段で実行される方法。
【請求項８】
互いに通信を行う２つの通信装置の一方である第１通信装置と他方の通信装置である第２通信装置とからなる通信システムを、暗号化のための変換を行う第１暗号化手段と、前記第１暗号化手段によりなされた暗号化の逆変換を行う第１復号化手段と、前記第２通信装置と通信を行う第１通信手段とを備えている前記第１通信装置、との組合せにより構成する第２通信装置であり、データ処理を行う第２データ処理手段と、前記第１通信装置と通信を行う第２通信手段とを備えているものの前記第２データ処理手段にて実行される方法であって、
前記第２データ処理手段が実行する、
前記第１通信装置が、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに前記第１暗号化手段で暗号化のための変換をして第１暗号化共有データとし、前記第１暗号化共有データを前記第１通信手段で前記第２通信装置に送信した場合に、前記第１通信装置からの前記第１暗号化共有データを前記第２通信手段に受付けさせる過程、
前記第１暗号化共有データに暗号化のための変換をして第２第１暗号化共有データとする過程、
前記第２第１暗号化共有データを前記第２通信手段に前記第１通信装置へ送信させる過程、
前記第２通信装置から前記第１通信手段で前記第２第１暗号化共有データを受付けた前記第１通信装置が、前記第１復号化手段で前記第２第１暗号化共有データのうち前記第１暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２第１暗号化共有データを第２暗号化共有データとし、前記第２暗号化共有データを前記第１通信手段で前記第２通信装置に送信した場合に、前記第１通信装置からの前記第２暗号化共有データを前記第２通信手段に受付けさせる過程、
前記第２暗号化共有データのうち前記第２データ処理手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２暗号化共有データを前記共有データとする過程、
を含む、
第２通信装置の第２データ処理手段で実行される方法。
【請求項９】
前記第２データ処理手段が、前記第１通信装置が、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに前記第１暗号化手段で暗号化のための変換をして第１暗号化共有データとし、前記第１暗号化共有データを前記第１通信手段で前記第２通信装置に送信した場合に、前記第１通信装置からの前記第１暗号化共有データを前記第２通信手段に受付けさせる過程より後の過程のすべてを、自動的に行う、
請求項８記載の第２通信装置の第２データ処理手段で実行される方法。
【請求項１０】
互いに通信を行う２つの通信装置の一方である第１通信装置と他方の通信装置である第２通信装置とからなる通信システムを、暗号化のための変換を行う第２暗号化手段と、前記第２暗号化手段によりなされた暗号化の逆変換を行う第２復号化手段と、前記第１通信装置と通信を行う第２通信手段とを備えている前記第２通信装置、との組合せにより構成する第１通信装置として、前記第２通信装置と通信を行う第１通信手段を備えているコンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータに、
前記第２通信装置との間で共有すべきデータである平文のデータである共有データに暗号化のための変換をして第１暗号化共有データとする過程、
前記第１暗号化共有データを前記第１通信手段に前記第２通信装置へ送信させる過程、
前記第１通信装置から前記第２通信手段で前記第１暗号化共有データを受付けた前記第２通信装置が、前記第２暗号化手段で前記第１暗号化共有データに暗号化のための変換をして第２第１暗号化共有データとするとともに、前記第２第１暗号化共有データを前記第２通信手段で前記第１通信装置に送信した場合に、前記第２通信装置からの前記第２第１暗号化共有データを前記第１通信手段に受付けさせる過程、
前記第２第１暗号化共有データのうち前記コンピュータによりなされた暗号化のための変換の逆変換を行うことで、前記第２第１暗号化共有データを第２暗号化共有データとする過程、
前記第２暗号化共有データを前記第１通信手段に前記第２通信装置へ送信させる過程、
を実行させるためのものであり、
それにより、前記第１通信装置から前記第２通信手段で前記第２暗号化共有データを受付けた前記第２通信装置が、前記第２復号化手段で前記第２暗号化共有データのうち前記第２暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２暗号化共有データを前記共有データとさせられるようになっている、
コンピュータプログラム。
【請求項１１】
互いに通信を行う２つの通信装置の一方である第１通信装置と他方の通信装置である第２通信装置とからなる通信システムを、暗号化のための変換を行う第１暗号化手段と、前記第１暗号化手段によりなされた暗号化の逆変換を行う第１復号化手段と、前記第２通信装置と通信を行う第１通信手段とを備えている前記第１通信装置、との組合せにより構成する第２通信装置として、前記第１通信装置と通信を行う第２通信手段を備えているコンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータに、
前記第１通信装置が、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに前記第１暗号化手段で暗号化のための変換をして第１暗号化共有データとし、前記第１暗号化共有データを前記第１通信手段で前記第２通信装置に送信した場合に、前記第１通信装置からの前記第１暗号化共有データを前記第２通信手段に受付けさせる過程、
前記第１暗号化共有データに暗号化のための変換をして第２第１暗号化共有データとする過程、
前記第２第１暗号化共有データを前記第２通信手段に前記第１通信装置へ送信させる過程、
前記第２通信装置から前記第１通信手段で前記第２第１暗号化共有データを受付けた前記第１通信装置が、前記第１復号化手段で前記第２第１暗号化共有データのうち前記第１暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２第１暗号化共有データを第２暗号化共有データとし、前記第２暗号化共有データを前記第１通信手段で前記第２通信装置に送信した場合に、前記第１通信装置からの前記第２暗号化共有データを前記第２通信手段に受付けさせる過程、
前記第２暗号化共有データのうち前記第２データ処理手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２暗号化共有データを前記共有データとする過程、
を実行させるための、
コンピュータプログラム。
【請求項１２】
前記第１通信手段を備えた所定の通信装置との組合せにより請求項２記載の第１通信装置を構成するためのコンピュータ装置であって、
前記第１暗号化手段と、前記第１復号化手段とを備えている、
コンピュータ装置。
【請求項１３】
前記第２通信手段を備えた所定の通信装置との組合せにより請求項４記載の第２通信装置を構成するためのコンピュータ装置であって、
前記第２暗号化手段と、前記第２復号化手段とを備えている、
コンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信技術、より詳細には暗号通信技術に関する。
【背景技術】
【０００２】
互いに通信可能な２つの通信装置間で、安全に、つまり第三者による盗聴のおそれなく、ある情報を共有したいという要求が生じる場合がままある。かかる情報は、２つの通信装置の一方から他方へ送信を行うべき秘密とすべき内容が含まれた文章である場合もある。また、第三者による盗聴のおそれなく２つの通信装置間で通信を行うときにはごく当たり前に暗号化通信技術が用いられるところ、暗号化通信技術においては、例えば両者で暗号化又は復号化の処理に用いられるアルゴリズムが予め共通のものとされているにしても、両者で暗号化又は復号化の処理に用いられる鍵を共有することが必要であるから、２つの通信装置間で安全に共有したいという上述の情報は、その鍵そのもの或いは両者において共通する鍵を生成、選択等するための情報である場合もある。
【０００３】
以下、２つの通信装置間で共有されるべき情報が、２つの通信装置で実行される暗号化通信において暗号化と復号化に用いられる鍵である場合を例にとって話を進める。そして、そのような鍵の共有のための技術として、ＳＳＬ（secure sockets layer）と呼ばれる技術が広く普及している。なお、本願でＳＳＬと言う場合には、ＳＳＬを標準化したものであるＴＬＳ（transport layer security）も当然にＳＳＬに含まれる。
【０００４】
ＳＳＬには大きく分けて２つの側面がある。１つは本人確認（認証）であり、もう１つは暗号化通信である。これらがどのように実現されるかについて説明するため、ＳＳＬ通信で実行される処理について説明する。
この例では、上述の２つの通信装置がクライアントとサーバであり、両者間でＳＳＬ通信が実行されるものとする。
（１）前提処理
ａ．サーバは、一対の秘密鍵と公開鍵を生成する。秘密鍵と公開鍵とは、周知のように、そのいずれもが平文のデータを暗号化して暗号化データとすることが可能なものであるとともに、それらの他方で暗号化された暗号化データを復号化して平文のデータに戻すことができるものとされる。他方、サーバには、自己の正当性を相手方が確認するためのデータであるサーバ証明書であって、自己の公開鍵を含み、且つそのサーバ証明書の正当性を示すための電子署名が付されているものがインストールされる。
ｂ．クライアントは、共通鍵を準備する。共通鍵は、周知のように、平文のデータを暗号化して暗号化データとすることが可能なものであるとともに、同じ共通鍵で暗号化された暗号化データを復号化して平文のデータに戻すことができるものとされる。
ｃ．クライアントには、ルート証明書がインストールされる。ルート証明書は、ルート認証局が作成したものである。ルート認証局は、上述のサーバ証明書を作成する者でもあり、サーバ証明書に電子署名を付す者でもある。クライアントは、ルート証明書とサーバ証明書に付された電子署名の組合せにより、サーバ証明書の正当性を確認することができる。
（２）サーバとクライアントでの共通鍵の共有
ａ．クライアントがサーバにＳＳＬ通信の要求を行う。
ｂ．サーバがクライアントに対して上記サーバ証明書を送信する。上述のように、サーバ証明書には、サーバが用いる公開鍵が含まれ、電子署名が付されている。
ｃ．クライアントは、自己が所有するルート証明書とサーバ証明書に付された電子署名とを用いてサーバ証明書の正当性を検証し、サーバ証明書が正当であれば自分が通信しているサーバが正当であると認証し、サーバ証明書が不当であればサーバが正当であるとの認証を行わない。
ｄ．クライアントはサーバを認証した場合には、自己が所有する共通鍵を、サーバから受取ったサーバ証明書に含まれていた公開鍵で暗号化して、サーバに送る。
ｅ．サーバは、クライアントから受取った暗号化された公開鍵を自己が所有する秘密鍵で復号化する。これにて、クライアントの共通鍵は、クライアントとサーバで共有されることになる。
【０００５】
以上が、サーバとクライアントとの間で、暗号化通信を行う場合における暗号化と復号化に用いられる共通の鍵である共通鍵を安全に共有するための処理である。
かかる処理が実行された後、サーバとクライアント間で暗号化通信が実行される。サーバとクライアントとはともに、自分が持つ共通鍵で暗号化した暗号化データを相手方に送る。サーバとクライアントはともに、相手から受取った暗号化データを自分が持つ共通鍵で復号化する。これにて、サーバとクライアントとの間では暗号化通信が可能となる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以上がＳＳＬ通信で実行される処理である。
乱暴であることを承知で言うと、ＳＳＬ通信で実行したいのは、サーバとクライアント間での暗号化通信のみである。これを、共通鍵を用いて行いたいというのがＳＳＬ通信の要点である。なぜ共通鍵でかかる暗号化通信を行いたいかといえば、共通鍵での暗号化通信は、特に公開鍵と秘密鍵とを用いた暗号化通信に較べてその処理が格段に軽いからである。
もっとも、そのためには、共通鍵をサーバとクライアントとの間で共有しなければならない。それを実現するために、サーバが持つ公開鍵と秘密鍵とを用いてクライアントからサーバに共通鍵が送信されるというのが、ＳＳＬ通信についての上記（２）の処理である。公開鍵と秘密鍵を使った暗号化通信では、暗号化と復号化に用いられる鍵が上述のように異なる。したがって、公開鍵で暗号化されたクライアントの共通鍵が仮に、クライアントからサーバに送られている途中で悪意のある第三者に盗まれたとしても、当該第三者は秘密鍵を持たないのでクライアントの共通鍵そのものが第三者に盗まれるということはない。この結果には、公開鍵が公開されていることはまったく影響しない。
クライアントから第三者に共通鍵を送る際には、上述したように、サーバからクライアントに送られてきた公開鍵が用いられる。しかしながら、ここでその公開鍵自体の正当性、ひいては公開鍵を送って来た者（サーバ）の正当性が問題となる。たとえば、悪意のある第三者が公開鍵をクライアントに送ってくることがあるからである。公開鍵乃至それを送ってきた者の正当性を担保するのが、ＳＳＬ通信についての上記（１）、（２）の処理である。これら処理により、クライアントが、サーバの正当性を確認（認証）することで、ＳＳＬ通信の正当性が保証されることになる。
【０００７】
つまり、上述の如きＳＳＬ通信は、共通鍵をサーバとクライアントとの間で共有するために、公開鍵と秘密鍵とを用いた暗号化通信を必ず必要とする。かかる処理は複雑であり、或いは煩雑である。
また、公開鍵自体が悪意のある第三者に偽造されたものでないことを保証するため、ＳＳＬ通信では、認証局の存在が不可欠となっている。しかも、認証局の中には信頼性の程度に不安があるものも存在するから、実務上は、認証局の正当性を認証するための上級認証局なるものを設けるといった、いわば本末転倒な状況も生じている。
これらも含めた、処理、制度等の複雑さ、或いは煩雑さは、手間、或いはコストの上昇の一因となっている。
以上では、主にＳＳＬ通信に関して述べたが、それでもＳＳＬ通信は、２つの通信装置間で、安全にある情報（共通鍵）を共有するための合理的な手法だと考えられており、それ故実用され、普及している。つまり、少なくとも現時点において、安全性と、手間、コスト、制度の簡潔さ等を同時に実現するための技術は存在していない。
【０００８】
本願発明は、互いに通信可能な２つの通信装置間で、安全にある情報を共有することを簡易に実現するための技術を提案することを課題とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決するための本願発明は、以下のようなものである。
本願発明は、互いに通信を行う２つの通信装置の一方である第１通信装置と他方の通信装置である第２通信装置とからなる通信システムである。
前記第１通信装置は、暗号化のための変換を行う第１暗号化手段と、前記第１暗号化手段によりなされた暗号化の逆変換を行う第１復号化手段と、前記第２通信装置と通信を行う第１通信手段とを備えている。また、前記第２通信装置は、暗号化のための変換を行う第２暗号化手段と、前記第２暗号化手段によりなされた暗号化の逆変換を行う第２復号化手段と、前記第１通信装置と通信を行う第２通信手段とを備えている。
前記第１通信装置は、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに前記第１暗号化手段で暗号化のための変換をして第１暗号化共有データとするようになっているとともに、前記第１暗号化共有データを前記第１通信手段で前記第２通信装置に送信するようになっており、前記第２通信装置は、前記第１通信装置から前記第２通信手段で前記第１暗号化共有データを受付けた場合に、前記第２暗号化手段で前記第１暗号化共有データに暗号化のための変換をして第２第１暗号化共有データとするとともに、前記第２第１暗号化共有データを前記第２通信手段で前記第１通信装置に送信するようになっている。また、前記第１通信装置は、前記第２通信装置から前記第１通信手段で前記第２第１暗号化共有データを受付けた場合に、前記第１復号化手段で前記第２第１暗号化共有データのうち前記第１暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２第１暗号化共有データを第２暗号化共有データとするようになっているとともに、前記第２暗号化共有データを前記第１通信手段で前記第２通信装置に送信するようになっている。そして、前記第２通信装置は、前記第１通信装置から前記第２通信手段で前記第２暗号化共有データを受付けた場合に、前記第２復号化手段で前記第２暗号化共有データのうち前記第２暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２暗号化共有データを前記共有データとするようになっている。
【００１０】
最初に定義を述べる。
本願では、平文である共有データに対して暗号化が行われるが、暗号化された共有データに対して更に暗号化の処理が行われる場合がある。例えば、上述の発明の場合では、共有データに対して第１通信装置の第１暗号化手段によって暗号化の処理がなされた結果、平文の共有データが、第１暗号化共有データとされる。また、第１暗号化共有データに対して第２通信装置の第２暗号化手段によって暗号化の処理がなされた結果、第１暗号化共有データが、第２第１暗号化共有データとされる。本願で、「共有データ」の前に、「第１」又は「第２」という文言が付されているときにおいては、「第１」という文言が付されている場合には、第１通信装置にて暗号化された共有データという意味であり、「第２」という文言が付されている場合には、第２通信装置にて暗号化された共有データという意味である。また、本願で、「第２第１暗号化共有データ」のように、「共有データ」の前に、「第１」と「第２」という文言の双方が付されている場合には、共有データを第１通信装置と第２通信装置の双方で暗号化したものであって、且つ「第１」と「第２」という文言のうち、後にある文言に対応する通信装置（つまり、上述の場合では第１通信装置）で先に暗号化が行われた後に、前にある文言に対応する通信装置（つまり、上述の場合では第２通信装置）で暗号化が行われた共有データを意味するものとする。
【００１１】
上述の通信システムは、互いに通信を行う通信装置である第１通信装置と第２通信装置とを含んで構成される。通信システムにはより多くの通信装置が含まれていても良いが、その中の互いに通信を行う２つの通信装置が、本願発明では第１通信装置及び第２通信装置と位置づけられることになる。第１通信装置と第２通信装置との間の通信は、これには限られないが、例えばインターネットその他のネットワークによって行われる。
第１通信装置は、暗号化の処理を行う第１暗号化手段と、第１暗号化手段によって実行された暗号化の処理の逆の処理、つまり復号化の処理を実行することができる第１復号化手段とを備えている。同様に、第２通信装置は、暗号化の処理を行う第２暗号化手段と、第２暗号化手段によって実行された暗号化の処理の逆の処理、つまり復号化の処理を実行することができる第２復号化手段とを備えている。
本願発明では、これら２つの通信装置、つまり第１通信装置と第２通信装置との間で共有すべきデータを、共有データと称する。共有データは平文のデータである。もっとも、共有データは、意味のあるデータである必要は必ずしもなく、例えば、第１通信装置と第２通信装置との間で、暗号化通信を行う場合に用いられる共通鍵の如き、文字、数字等の適当な羅列であっても構わない。
本願による通信システムで、実行される共有データの共有の方法は極めて簡単である。なお、２つの通信装置のうち、先に共有データを有する通信装置、言い換えれば他方の通信装置に共有データを提供する通信装置が本願発明では第１通信装置と称され、２つの通信装置のうちの他方が第２通信装置と称される。
第１通信装置と第２通信装置との間で共有データを共有する場合、本願発明では、まず、共有データが第１通信装置の第１暗号化手段で暗号化され、第１暗号化共有データにされる。第１暗号化共有データは、第１通信装置から第２通信装置へと送られる。仮に、インターネット等のネットワーク上を第１暗号化共有データが送られるにしても、第１暗号化共有データは暗号化されたデータなので、第１暗号化手段で実行された暗号化の処理が強固で安全なものである限り、第１暗号化共有データが第三者に取得されたとしても、基本的には安全であり、第三者に共有データの内容を看破されることはまず無い。
第２通信装置は、第１暗号化共有データを受取る。第２通信装置は、その第２暗号化手段で第１暗号化共有データに対して更に暗号化の処理を行い、第１暗号化共有データを、第２第１暗号化共有データに変化させる。第２第１暗号化共有データは、第２通信装置から第１通信装置へと送られる。仮に、インターネット等のネットワーク上を第２第１暗号化共有データが送られるにしても、第２第１暗号化共有データは暗号化されたデータなので、もっといえば、第１暗号化手段と第２暗号化手段とで２重に暗号化されたデータなので、第１暗号化手段と、第２暗号化手段とで実行された暗号化の処理が強固で安全なものである限り、第２第１暗号化共有データが第三者に取得されたとしても、基本的には安全であり、第三者に共有データの内容を看破されることはまず無い。
第１通信装置は、第２第１暗号化共有データを受取る。第１通信装置は、その第１復号化手段で第２第１暗号化共有データに対して復号化の処理を行う。かかる復号化の処理は、第１暗号化手段で暗号化のために行われた変換の逆変換を行うものとされる。そうすると、第２第１暗号化共有データは、第２暗号化共有データとなる。第２暗号化共有データは、共有データを第２暗号化手段で暗号化することにより暗号化したものである。この第２暗号化共有データは、第１通信装置から第２通信装置へと送られる。仮に、インターネット等のネットワーク上を第２暗号化共有データが送られるにしても、第２暗号化共有データは暗号化されたデータなので、第２暗号化手段で実行された暗号化の処理が強固で安全なものである限り、第２暗号化共有データが第三者に取得されたとしても、基本的には安全であり、第三者に共有データの内容を看破されることはまず無い。
第２通信装置は、第２暗号化共有データを受取る。第２通信装置は、その第２復号化手段で第２暗号化共有データに対して復号化の処理を行う。かかる復号化の処理は、第２暗号化手段で暗号化のために行われた変換の逆変換を行うものとされる。そうすると、第２暗号化共有データは、平文の共有データに戻る。
以上により、第１通信装置と、第２通信装置との間で平文の共有データが共有されることになる。しかも、第１通信装置と第２通信装置との間で共有データが送信されるとき、共有データは平文の状態ではなく、第１暗号化共有データ、第２第１暗号化共有データ、第２暗号化共有データのいずれかの状態となっており、いずれの場合においても暗号化された状態となっている。したがって、かかる通信システムは、第１通信装置で、第１暗号化手段による暗号化と第１復号化手段による復号化の処理という単純な処理を行い、第２通信装置で、第２暗号化手段による暗号化と第２復号化手段による復号化の処理という単純な処理を行い、そして第１通信装置と第２通信装置との間で暗号化された状態の共有データを一往復半させる、という極めて簡単な処理を行うだけで、安全に第１通信装置と第２通信装置との間で共有データを共有できるようになる。しかも、かかる処理を実行する場合において第１通信装置及び第２通信装置で実行される暗号化と復号化の処理は、公開鍵方式の暗号化を用いる必要が特になく、従来のＳＳＬ通信で不可欠であった証明書や認証局に特に頼る必要はない。したがって、かかる通信システムを実現するための手間、コストを抑制できるだけでなく、通信システムを運用するための制度も簡易なものとすることができる。
【００１２】
第１通信装置の第１暗号化手段と第１復号化手段で実行される暗号化と復号化（逆変換）、及び第２通信装置の第２暗号化手段と第２復号化手段で実行される暗号化と復号化（逆変換）は、基本的にそれ程特別なものである必要はないし、公知或いは周知の技術を用いることができる。
もっとも、本願発明の通信システムでは、第１通信装置の第１復号化手段が、第２第１暗号化共有データを第２暗号化共有データに変換することが可能でなければならない。そのため、第１通信装置の第１暗号化手段と第１復号化手段で実行される暗号化と復号化、及び第２通信装置の第２暗号化手段と第２復号化手段で実行される暗号化と復号化が、一定の条件を充足する必要がある。かかる条件が充足されなければならないというのが、本願の通信システムにおける第１通信装置と第２通信装置に対する若干のハードルとなる。
この点について説明する。
平文の状態の共有データをＰとする。これを、第１暗号化手段で行われる暗号化のための演算後のデータを、「Ｐ×Ａ」と示すものとする。つまり、第１暗号化共有データは、「Ｐ×Ａ」となる。次いで、第１暗号化共有データは、第２暗号化手段で更に暗号化される。第１暗号化共有データは上述のようにＰ×Ａなので、第２暗号化手段で暗号化される暗号化のための演算後のデータを、「（Ｐ×Ａ）×Ｂ」と示すものとする。つまり、第２第１暗号化共有データは、「（Ｐ×Ａ）×Ｂ」となる。更に、第１復号化手段で行われる復号化の処理を×Ａ−１と、第２復号化手段で行われる復号化の処理を×Ｂ−１とそれぞれ示すこととすると、第２第１暗号化共有データに対して第１復号化手段で実行される処理は、「（（Ｐ×Ａ）×Ｂ）×Ａ−１」となる。本願発明による通信システムでは、これが、第２暗号化共有データ（第２暗号化共有データは、以上のルールに従えば「Ｐ×Ｂ」と表示することができる）になるのであるから、「（（Ｐ×Ａ）×Ｂ）×Ａ−１＝Ｐ×Ｂ」とならなければならない。Ａ×Ａ−１、或いはＢ×Ｂ−１の演算は、元のデータＰに対して何の演算も行っていない状態とする（或いは、暗号化したものを復号化して元に戻す）処理である（つまり、極普通の暗号化と復号化の処理）だと仮定した上で、（（Ｐ×Ａ）×Ｂ）×Ａ−１＝Ｐ×Ｂが成り立つには、（（Ｐ×Ａ）×Ｂ）×Ａ−１を以下のように変形できなければならない。
（（Ｐ×Ａ）×Ｂ）×Ａ−１
→（Ｐ×（Ａ×Ｂ））×Ａ−１
→（Ｐ×（Ｂ×Ａ））×Ａ−１
→（（Ｐ×Ｂ）×Ａ）×Ａ−１
→（（Ｐ×Ｂ）×（Ａ×Ａ−１）
→Ｐ×Ｂ
つまり、第１通信装置の第１暗号化手段と第１復号化手段で実行される暗号化と復号化、及び第２通信装置の第２暗号化手段と第２復号化手段で実行される暗号化と復号化は、上述の如く、×Ａ、×Ｂという演算の順番を入れ替えることが可能なものでなければならない。言い換えれば、第１通信装置の第１暗号化手段と第１復号化手段で実行される暗号化と復号化（で実行される演算）、及び第２通信装置の第２暗号化手段と第２復号化手段で実行される暗号化と復号化（で実行される演算）は、演算を「×」で表し、演算の対象を「Ｆ」、「Ｇ」、「Ｈ」と表したときに、「Ｆ×Ｇ＝Ｇ×Ｆ」という交換法則と、「（Ｆ×Ｇ）×Ｈ＝Ｆ×（Ｇ×Ｈ）」という結合法則とがそれぞれ成立するものである必要がある。
上記の条件を満足する演算として典型的なものに、排他的論理和の演算がある。他に、同様の演算として、バレルシフト、四則演算等を利用することができる。つまり、第１通信装置の第１暗号化手段と第１復号化手段で実行される暗号化と復号化、及び第２通信装置の第２暗号化手段と第２復号化手段で実行される暗号化と復号化は、例示したこれらの演算とすることが可能である。
【００１３】
本願発明者は、上述の如き通信システムを構成する第１通信装置をも本願発明の一態様として提案する。第１通信装置の効果は、通信システムの効果に等しい。
一例となる第１通信装置は、互いに通信を行う２つの通信装置の一方である第１通信装置と他方の通信装置である第２通信装置とからなる通信システムを、暗号化のための変換を行う第２暗号化手段と、前記第２暗号化手段によりなされた暗号化の逆変換を行う第２復号化手段と、前記第１通信装置と通信を行う第２通信手段とを備えている前記第２通信装置、との組合せにより構成する第１通信装置である。
そして、かかる第１通信装置は、暗号化のための変換を行う第１暗号化手段と、前記第１暗号化手段によりなされた暗号化の逆変換を行う第１復号化手段と、前記第２通信装置と通信を行う第１通信手段とを備えている。
第１通信装置は、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに前記第１暗号化手段で暗号化のための変換をして第１暗号化共有データとするようになっているとともに、前記第１暗号化共有データを前記第１通信手段で前記第２通信装置に送信するようになっている。第１通信装置は、また、前記第１通信装置から前記第２通信手段で前記第１暗号化共有データを受付けた前記第２通信装置が、前記第２暗号化手段で前記第１暗号化共有データに暗号化のための変換をして第２第１暗号化共有データとするとともに、前記第２第１暗号化共有データを前記第２通信手段で前記第１通信装置に送信した場合に、前記第２通信装置から前記第１通信手段で前記第２第１暗号化共有データを受付け、前記第１復号化手段で前記第２第１暗号化共有データのうち前記第１暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２第１暗号化共有データを第２暗号化共有データとするようになっているとともに、前記第２暗号化共有データを前記第１通信手段で前記第２通信装置に送信するようになっている。それにより、前記第１通信装置から前記第２通信手段で前記第２暗号化共有データを受付けた前記第２通信装置が、前記第２復号化手段で前記第２暗号化共有データのうち前記第２暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２暗号化共有データを前記共有データとするようになっている。
本願発明者は、前記第１通信手段を備えた所定の通信装置との組合せにより上述の第１通信装置を構成するためのコンピュータ装置であって、前記第１暗号化手段と、前記第１復号化手段とを備えている、コンピュータ装置をも、本願発明の一態様として提案する。ここで、所定の通信装置の一例は、スマートフォン、或いは携帯電話であって、コンピュータ装置の一例は、所定の通信装置に搭載可能なＳＩＭカード（Subscriber Identity Module Card）である。かかるコンピュータ装置によれば、一般的なスマートフォンその他の通信装置にＳＩＭカードその他のコンピュータ装置を後づけすることで、本願の第１通信装置として機能させることが可能となる。
【００１４】
本願発明者は、上述の如き通信システムを構成する第２通信装置をも本願発明の一態様として提案する。第２通信装置の効果は、通信システムの効果に等しい。
一例となる第２通信装置は、互いに通信を行う２つの通信装置の一方である第１通信装置と他方の通信装置である第２通信装置とからなる通信システムを、暗号化のための変換を行う第１暗号化手段と、前記第１暗号化手段によりなされた暗号化の逆変換を行う第１復号化手段と、前記第２通信装置と通信を行う第１通信手段とを備えている前記第１通信装置、との組合せにより構成する第２通信装置である。
そして、かかる第２通信装置は、暗号化のための変換を行う第２暗号化手段と、前記第２暗号化手段によりなされた暗号化の逆変換を行う第２復号化手段と、前記第１通信装置と通信を行う第２通信手段とを備えている。
第２通信装置は、前記第１通信装置が、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに前記第１暗号化手段で暗号化のための変換をして第１暗号化共有データとし、前記第１暗号化共有データを前記第１通信手段で前記第２通信装置に送信した場合に、前記第１通信装置から前記第２通信手段で前記第１暗号化共有データを受付け、前記第２暗号化手段で前記第１暗号化共有データに暗号化のための変換をして第２第１暗号化共有データとするとともに、前記第２第１暗号化共有データを前記第２通信手段で前記第１通信装置に送信するようになっている。第２通信装置はまた、前記第２通信装置から前記第１通信手段で前記第２第１暗号化共有データを受付けた前記第１通信装置が、前記第１復号化手段で前記第２第１暗号化共有データのうち前記第１暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２第１暗号化共有データを第２暗号化共有データとし、前記第２暗号化共有データを前記第１通信手段で前記第２通信装置に送信した場合に、  前記第１通信装置から前記第２通信手段で前記第２暗号化共有データを受付け、前記第２復号化手段で前記第２暗号化共有データのうち前記第２暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２暗号化共有データを前記共有データとするようになっている。
本願発明者は、前記第２通信手段を備えた所定の通信装置との組合せにより上述の第２通信装置を構成するためのコンピュータ装置であって、前記第２暗号化手段と、前記第２復号化手段とを備えている、コンピュータ装置をも、本願発明の一態様として提案する。ここで、所定の通信装置の一例は、スマートフォン、或いは携帯電話であって、コンピュータ装置の一例は、所定の通信装置に搭載可能なＳＩＭカードである。かかるコンピュータ装置によれば、一般的なスマートフォンその他の通信装置にＳＩＭカードその他のコンピュータ装置を後づけすることで、本願の第２通信装置として機能させることが可能となる。
【００１５】
本願発明者は、上述の如き通信システムを構成する第１通信装置で実行される方法をも本願発明の一態様として提案する。かかる方法の効果は、通信システムの効果に等しい。
かかる方法の一例は、互いに通信を行う２つの通信装置の一方である第１通信装置と他方の通信装置である第２通信装置とからなる通信システムを、暗号化のための変換を行う第２暗号化手段と、前記第２暗号化手段によりなされた暗号化の逆変換を行う第２復号化手段と、前記第１通信装置と通信を行う第２通信手段とを備えている前記第２通信装置、との組合せにより構成する第１通信装置であり、データ処理を行う第１データ処理手段と、前記第２通信装置と通信を行う第１通信手段とを備えているものの前記第１データ処理手段にて実行される方法である。
そしてかかる方法は、前記第１データ処理手段が実行する、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに暗号化のための変換をして第１暗号化共有データとする過程、前記第１暗号化共有データを前記第１通信手段に前記第２通信装置へ送信させる過程、前記第１通信装置から前記第２通信手段で前記第１暗号化共有データを受付けた前記第２通信装置が、前記第２暗号化手段で前記第１暗号化共有データに暗号化のための変換をして第２第１暗号化共有データとするとともに、前記第２第１暗号化共有データを前記第２通信手段で前記第１通信装置に送信した場合に、前記第２通信装置からの前記第２第１暗号化共有データを前記第１通信手段に受付けさせる過程、前記第２第１暗号化共有データのうち前記第１データ処理手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２第１暗号化共有データを第２暗号化共有データとする過程、前記第２暗号化共有データを前記第１通信手段に前記第２通信装置へ送信させる過程、を含んでいる。
それにより、この方法では、前記第１通信装置から前記第２通信手段で前記第２暗号化共有データを受付けた前記第２通信装置が、前記第２復号化手段で前記第２暗号化共有データのうち前記第２暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２暗号化共有データを前記共有データとさせられるようになっている。
【００１６】
本願発明者は、上述の如き通信システムを構成する第２通信装置で実行される方法をも本願発明の一態様として提案する。かかる方法の効果は、通信システムの効果に等しい。
かかる方法の一例は、互いに通信を行う２つの通信装置の一方である第１通信装置と他方の通信装置である第２通信装置とからなる通信システムを、暗号化のための変換を行う第１暗号化手段と、前記第１暗号化手段によりなされた暗号化の逆変換を行う第１復号化手段と、前記第２通信装置と通信を行う第１通信手段とを備えている前記第１通信装置、との組合せにより構成する第２通信装置であり、データ処理を行う第２データ処理手段と、前記第１通信装置と通信を行う第２通信手段とを備えているものの前記第２データ処理手段にて実行される方法である。
そしてかかる方法は、前記第２データ処理手段が実行する、前記第１通信装置が、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに前記第１暗号化手段で暗号化のための変換をして第１暗号化共有データとし、前記第１暗号化共有データを前記第１通信手段で前記第２通信装置に送信した場合に、前記第１通信装置からの前記第１暗号化共有データを前記第２通信手段に受付けさせる過程、前記第１暗号化共有データに暗号化のための変換をして第２第１暗号化共有データとする過程、前記第２第１暗号化共有データを前記第２通信手段に前記第１通信装置へ送信させる過程、前記第２通信装置から前記第１通信手段で前記第２第１暗号化共有データを受付けた前記第１通信装置が、前記第１復号化手段で前記第２第１暗号化共有データのうち前記第１暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２第１暗号化共有データを第２暗号化共有データとし、前記第２暗号化共有データを前記第１通信手段で前記第２通信装置に送信した場合に、前記第１通信装置からの前記第２暗号化共有データを前記第２通信手段に受付けさせる過程、前記第２暗号化共有データのうち前記第２データ処理手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２暗号化共有データを前記共有データとする過程、を含んでいる。
【００１７】
必ずしもこの限りではないが、第１通信装置で実行される上述の方法は、前記第１通信装置が、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに暗号化のための変換をして第１暗号化共有データとする過程の後の各過程をすべて自動的に行うものであってもよい。
これによれば、第１通信装置を扱うユーザは、共有データに暗号化のための変換をして第１暗号化共有データとする処理を第１通信装置に行わせるための操作を行った後一切の操作を行わなくとも、第１通信装置が共有データを第２通信装置と共有するための処理を第１通信装置が自発的に行うことになるから第１通信装置を扱う（例えば、第１通信装置を操作する、或いは管理する）ユーザの手間を省略することができる。更に言えば、第１通信装置で実行される上述の方法は、前記第１通信装置が、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに暗号化のための変換をして第１暗号化共有データとする過程をも第１通信装置が自動的に行うようになっていてもよい。例えば、ＳＳＬ通信では、２つの通信装置の一方が他方と通信を行おうとすると、例えば、他方の通信装置であるサーバが提供するホームページを閲覧しようと一方の通信装置であるクライアントを操作するユーザがそのホームページのＵＲＬをクライアントに実装されたブラウザのアドレスバー上で指定すると、クライアントとサーバとは、クライアントとサーバとの間で共通鍵を用いた暗号化通信であるＳＳＬ通信を開始する前に、共有鍵を共有するための通信を自動的に実行する。これと同様に、第１通信装置は例えば、ユーザが第２通信装置と通信を開始するという意思表示を行うための操作を第１通信装置に対して行ったら、共有データに暗号化のための変換をして第１暗号化共有データとする処理以降のすべての過程を自動的に行うようになっていても構わない。
必ずしもこの限りではないが、第２通信装置で実行される上述の方法は、前記第２データ処理手段が、前記第１通信装置が、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに前記第１暗号化手段で暗号化のための変換をして第１暗号化共有データとし、前記第１暗号化共有データを前記第１通信手段で前記第２通信装置に送信した場合に、前記第１通信装置からの前記第１暗号化共有データを前記第２通信手段に受付けさせる過程を含む以降の過程のすべてを、自動的に行うものであってもよい。これは、上述の場合と同様に、第２通信装置を扱うユーザの手間を軽減するのに役に立つ。
もちろん、第１通信装置と第２通信装置とにおける上述した自動的な処理は、第１通信装置と第２通信装置との双方で実行されるようになっていても良い。
【００１８】
本願発明者は、上述の如き通信システムを構成する第１通信装置として汎用のコンピュータを機能させるためのコンピュータプログラムをも本願発明の一態様として提案する。
一例となるコンピュータプログラムは、互いに通信を行う２つの通信装置の一方である第１通信装置と他方の通信装置である第２通信装置とからなる通信システムを、暗号化のための変換を行う第２暗号化手段と、前記第２暗号化手段によりなされた暗号化の逆変換を行う第２復号化手段と、前記第１通信装置と通信を行う第２通信手段とを備えている前記第２通信装置、との組合せにより構成する第１通信装置として、前記第２通信装置と通信を行う第１通信手段を備えているコンピュータを機能させるためのコンピュータプログラムである。
そしてこのコンピュータプログラムは、前記コンピュータに、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに暗号化のための変換をして第１暗号化共有データとする過程、前記第１暗号化共有データを前記第１通信手段に前記第２通信装置へ送信させる過程、前記第１通信装置から前記第２通信手段で前記第１暗号化共有データを受付けた前記第２通信装置が、前記第２暗号化手段で前記第１暗号化共有データに暗号化のための変換をして第２第１暗号化共有データとするとともに、前記第２第１暗号化共有データを前記第２通信手段で前記第１通信装置に送信した場合に、前記第２通信装置からの前記第２第１暗号化共有データを前記第１通信手段に受付けさせる過程、前記第２第１暗号化共有データのうち前記コンピュータによりなされた暗号化のための変換の逆変換を行うことで、前記第２第１暗号化共有データを第２暗号化共有データとする過程、前記第２暗号化共有データを前記第１通信手段に前記第２通信装置へ送信させる過程、を実行させるためのものである。
かかるコンピュータプログラムを用いることにより、前記第１通信装置から前記第２通信手段で前記第２暗号化共有データを受付けた前記第２通信装置が、前記第２復号化手段で前記第２暗号化共有データのうち前記第２暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２暗号化共有データを前記共有データとさせられるようになる。
【００１９】
本願発明者は、上述の如き通信システムを構成する第２通信装置として汎用のコンピュータを機能させるためのコンピュータプログラムをも本願発明の一態様として提案する。
一例となるコンピュータプログラムは、互いに通信を行う２つの通信装置の一方である第１通信装置と他方の通信装置である第２通信装置とからなる通信システムを、暗号化のための変換を行う第１暗号化手段と、前記第１暗号化手段によりなされた暗号化の逆変換を行う第１復号化手段と、前記第２通信装置と通信を行う第１通信手段とを備えている前記第１通信装置、との組合せにより構成する第２通信装置として、前記第１通信装置と通信を行う第２通信手段を備えているコンピュータを機能させるためのコンピュータプログラムである。
そしてこのコンピュータプログラムは、前記コンピュータに、前記第１通信装置が、前記第２通信装置との間で共有すべきデータである平文のデータである共有データに前記第１暗号化手段で暗号化のための変換をして第１暗号化共有データとし、前記第１暗号化共有データを前記第１通信手段で前記第２通信装置に送信した場合に、前記第１通信装置からの前記第１暗号化共有データを前記第２通信手段に受付けさせる過程、前記第１暗号化共有データに暗号化のための変換をして第２第１暗号化共有データとする過程、前記第２第１暗号化共有データを前記第２通信手段に前記第１通信装置へ送信させる過程、前記第２通信装置から前記第１通信手段で前記第２第１暗号化共有データを受付けた前記第１通信装置が、前記第１復号化手段で前記第２第１暗号化共有データのうち前記第１暗号化手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２第１暗号化共有データを第２暗号化共有データとし、前記第２暗号化共有データを前記第１通信手段で前記第２通信装置に送信した場合に、前記第１通信装置からの前記第２暗号化共有データを前記第２通信手段に受付けさせる過程、前記第２暗号化共有データのうち前記第２データ処理手段によりなされた暗号化のための変換の逆変換を行うことで、前記第２暗号化共有データを前記共有データとする過程、を実行させる。
【図面の簡単な説明】
【００２０】
【図１】一実施形態による通信システムの全体構成を示す図。
【図２】図１に示した通信システムに含まれる通信装置の外観を示す図。
【図３】図１に示した通信システムに含まれる通信装置のハードウェア構成を示す図。
【図４】図１に示した通信システムに含まれる通信装置の内部に生成される機能ブロックを示すブロック図。
【図５】図１に示した通信システムで通信が行われるときに実行される処理の流れを示す図。
【図６】図１に示した通信システムで通信が行われるときに実行される、応用例による処理の流れを示す図。
【発明を実施するための形態】
【００２１】
以下、図面を参照しつつ本発明の好ましい実施形態について説明する。
【００２２】
図１に、本願発明の送受信システムの一実施形態としての通信システムの全体構成を概略で示す。
この実施形態の通信システムは、多数の通信装置１００−１〜１００−Ｎ（以後、単に、「通信装置１００」と記載する場合もある。）を含んで構成されている。多数の通信装置１００のうちの任意の２つの装置は、互いに通信を行うことが可能とされている。この実施形態では多数の通信装置１００はすべて、ネットワーク４００に接続可能とされている。つまり、多数の通信装置１００のうちの任意の２つの装置が行う上述の通信は、この実施形態ではネットワーク４００を介しての通信となる。ネットワーク４００は例えば、インターネットである。もっとも、多数の通信装置１００は必ずしもネットワーク４００に接続可能とされている必要はなく、またそれらのうちの任意の２つの装置が行う上述の通信は、ネットワーク４００を介しての通信である必要は必ずしもない。
【００２３】
上述したように、通信装置１００−１〜１００−Ｎは、それらのうちの２つが互いに通信を行うことを前提としている。各通信装置１００−１〜１００−Ｎは、これには限られないがこの実施形態では、本願発明でいう第１通信装置として機能する場合もあるし、本願発明でいう第２通信装置として機能する場合もある。
【００２４】
次に、通信装置１００の構成を説明する。各通信装置１００−１〜１００−Ｎの構成は、本願発明との関連でいえば同じである。通信装置１００−１〜１００−Ｎはコンピュータを含んでいる。より詳細には、この実施形態における通信装置１００は、汎用のコンピュータにより構成されている。通信装置１００−１〜１００−Ｎは、汎用のサーバであってもよい。
これには限られないが、通信装置１００−１〜１００−Ｎは、各ユーザが個人で所有するコンピュータであるとして話を進める。通信装置１００は、携帯電話、スマートフォン、タブレット、ノート型パソコン、デスクトップ型パソコン等である。それらはすべて、ネットワーク４００を介しての通信が可能なものであり、また後述するコンピュータプログラムをインストールすることによって後述する機能ブロックをその内部に生成し、そして後述する処理を実行できるものであることが求められ、それが可能であるのであればそれ以外の仕様は特に問わない。
例えば、通信装置１００がスマートフォンかタブレットなのであれば、スマートフォンとしての通信装置１００は例えば、Ａｐｐｌｅ  Ｊａｐａｎ合同会社が製造、販売を行うｉＰｈｏｎｅで良いし、タブレットとしての通信装置１００は例えば、Ａｐｐｌｅ  Ｊａｐａｎ合同会社が製造、販売を行うｉＰａｄでよい。以下、これには限られないが、通信装置１００がスマートフォンであるものとする。
【００２５】
通信装置１００の外観の一例を図２に示す。
通信装置１００は、ディスプレイ１０１を備えている。ディスプレイ１０１は、静止画又は動画である画像を表示するためのものであり、公知、或いは周知のものを用いることができる。ディスプレイ１０１は例えば、液晶ディスプレイである。通信装置１００は、また入力装置１０２を備えている。入力装置１０２は、ユーザが所望の入力を通信装置１００に対して行うためのものである。入力装置１０２は、公知或いは周知のものを用いることができる。この実施形態における通信装置１００の入力装置１０２はボタン式のものとなっているが、これには限られず、テンキー、キーボード、トラックボール、マウスなどを用いることも可能である。特に、通信装置１００がノート型パソコン、デスクトップ型パソコンである場合には、入力装置１０２はキーボードや、マウス等になるであろう。また、ディスプレイ１０１がタッチパネルである場合、ディスプレイ１０１は入力装置１０２の機能を兼ねることになり、この実施形態ではそうされている。
【００２６】
通信装置１００のハードウェア構成を、図３に示す。
ハードウェアには、ＣＰＵ（central processing unit）１１１、ＲＯＭ（read only memory）１１２、ＲＡＭ（random access memory）１１３、インターフェイス１１４が含まれており、これらはバス１１６によって相互に接続されている。
ＣＰＵ１１１は、演算を行う演算装置である。ＣＰＵ１１１は、例えば、ＲＯＭ１１２、或いはＲＡＭ１１３に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。図示をしていないが、通信装置１００は、ハードウェアはＨＤＤ（hard disk drive）その他の大容量記録装置を備えていてもよく、コンピュータプログラムは大容量記録装置に記録されていても構わない。
ここでいうコンピュータプログラムには、本願発明の第１通信装置と第２通信装置の双方としてこの通信装置１００を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、通信装置１００にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムの通信装置１００へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、ＬＡＮ或いはインターネットなどのネットワークを介して行なわれても構わない。
ＲＯＭ１１２は、ＣＰＵ１１１が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ＲＯＭ１１２に記録されたコンピュータプログラムとしては、これに限られず、通信装置１００がスマートフォンであれば、通信装置１００をスマートフォンとして機能させるために必要な、例えば、通話や電子メールを実行するためのコンピュータプログラムやデータが記録されている。通信装置１００は、また、ネットワーク４００を介して受取ったデータに基づいて、ホームページを閲覧することも可能とされており、それを可能とするための公知のｗｅｂブラウザを実装している。
ＲＡＭ１１３は、ＣＰＵ１１１が処理を行うために必要なワーク領域を提供する。場合によっては、上述のコンピュータプログラムやデータの例えば一部が記録されていてもよい。
インターフェイス１１４は、バス１１６で接続されたＣＰＵ１１１やＲＡＭ１１３等と外部との間でデータのやり取りを行うものである。インターフェイス１１４には、上述のディスプレイ１０１と、入力装置１０２とが接続されている。入力装置１０２から入力された操作内容は、インターフェイス１１４からバス１１６に入力されるようになっている。また、周知のようにディスプレイ１０１に画像を表示するための画像データは、インターフェイス１１４から、ディスプレイ１０１に出力されるようになっている。
インターフェイス１１４は、また、インターネットであるネットワーク４００を介して外部と通信を行うための公知の手段である送受信機構（図示を省略）に接続されており、それにより、通信装置１００は、ネットワーク４００を介してデータを送信することと、ネットワーク４００を介してデータを受信することとが可能になっている。かかるネットワーク４００を介してのデータの送受信は、有線で行われる場合もあるが無線で行われる場合もある。例えば、通信装置１００がスマートフォンである場合には、かかる通信は無線で行われるのが通常であろう。それが可能な限り、送受信機構の構成は、公知或いは周知のものとすることができる。送受信機構がネットワーク４００から受取ったデータは、インターフェイス１１４により受取られるようになっており、インターフェイス１１４から送受信機構にわたされたデータは、送受信機構によって、ネットワーク４００を介して外部、例えば、他の通信装置１００に送られるようになっている。各通信装置１００がネットワーク４００を介して送受信機構を使って送受信するデータの例は、いずれも追って詳述する第１暗号化共有データ、第２第１暗号化共有データ、及び第２暗号化共有データである。
【００２７】
ＣＰＵ１１１がコンピュータプログラムを実行することにより、通信装置１００内部には、図４で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、通信装置１００を本願発明の通信装置として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、通信装置１００にインストールされたＯＳその他のコンピュータプログラムとの協働により生成されても良い。
通信装置１００内には、本願発明の機能との関係で、データ処理部１２０が生成される。データ処理部１２０の中には、図４に示されたように、少なくとも入力部１２１、制御部１２２、第１暗号化部１２３、第１復号化部１２４、第２暗号化部１２５、第２復号化部１２６、出力部１２７が生成される。なお、以上の入力部１２１、制御部１２２、第１暗号化部１２３、第１復号化部１２４、第２暗号化部１２５、第２復号化部１２６、出力部１２７の機能は、通信装置１００に内蔵されたＳＩＭカード上に存在していても構わない。その場合、それらの機能は、通信装置１００にインストールされたコンピュータプログラムによって生成されるものとは限らない。
【００２８】
入力部１２１は、インターフェイス１１４からの入力を受取るものである。
インターフェイス１１４からの入力には、例えば、入力装置１０２によって入力された特定情報がある。特定情報は、暗号化通信をこれから行おうとする２つの通信装置１００（本願発明における特定通信装置）を特定するためのものである。通信を自分から行う側の通信装置１００に関する特定情報は、すべての通信装置１００についてユニークな情報であることが最低限必要とされ、例えば、通信装置１００のＩＰアドレス、電子メールアドレス、ＵＲＬ、ＳＮＳ（social networking service）のＩＤ等であり、通信を受ける側の通信装置１００についても同様である。この実施形態では、これには限られないが、特定通信装置である２つの通信装置１００の双方をともにＩＰアドレスで特定するものとする。たとえば、ユーザが、暗号化通信を行う２つの通信装置１００のＩＰアドレスの双方を入力装置１０２に入力することによって、特定情報が生成されるようになっていてもよい。他方、共有データの送信を自分から行う側の通信装置１００を特定する情報が入力装置１０２により入力されずとも、相手方の通信装置１００に送信されるデータに例えば制御部１２２或いは送受信機構が自動的に付すようにすることもできる。そのような場合には、ユーザが入力装置１０２を操作することによって入力される特定情報に、相手方の通信装置１００を特定するための情報のみが含まれるようになっていても良い。この実施形態ではこれには限られないが、ユーザが入力装置１０２を操作して暗号化通信をこれから行おうとする相手方の通信装置１００を特定する情報を入力すると、その通信装置１００のＩＰアドレスと相手方の通信装置１００のＩＰアドレスの双方を特定する特定情報が、制御部１２２により自動的に生成されるようになっている。
また、ユーザは、入力装置１０２を操作することにより、送信対象データを生成することができる。かかる送信対象データは、通信装置１００間で暗号化した状態で送受信される場合における送受信の対象となるデータである。例えば、かかる送受信が電子メールの送受信である場合には、そのデータは電子メールのデータになるし、一方の通信装置１００がインターネット上の仮想店舗のホームページを提供するものであって他方の通信装置１００がその仮想店舗で商品を購入しようとする顧客である場合には、仮想店舗の通信装置１００側から顧客に送られるデータは、例えば、商品の選択画面や、顧客情報、送付先情報等の記載を顧客に行わせるためのフォーマットを顧客の通信装置１００に提供するためのデータであり、顧客の通信装置１００側から仮想店舗の通信装置１００に送られるデータは、顧客が購入対象として選択した商品及びその数量を特定する情報であったり、上述の如きフォーマットに顧客が記入を行った顧客情報、送付先情報であったりする。送信対象データは、テキストデータ、画像データ、音声データ等その形式を問わない。送信対象データは、ユーザが入力装置１０２を操作して入力したデータそのものである必要はなく、それに対して通信装置１００が所定の処理を行うことによって作られたデータであってもよく、むしろその方が通常である。
入力部１２１にインターフェイス１１４から入力されうるものとしては他に、第１暗号化共有データ、第２第１暗号化共有データ、第２暗号化共有データがある。これらは、通信の相手方の通信装置１００からネットワーク４００を介して送られてくる場合があるものである。これらデータはいずれも、それらが送られて来た場合には送受信機構で受取られ、送受信機構からインターフェイス１１４に送られてくる。
以上のようにして、入力部１２１には、入力装置１０２から入力されるものとして特定情報と、送受信機構から入力されるものとして、第１暗号化共有データ、第２第１暗号化共有データ、第２暗号化共有データが入力されることになる。
入力部１２１は、これらを受取ると、それらをいずれも制御部１２２へと送るようになっている。
【００２９】
制御部１２２は、通信装置１００内のデータ処理部１２０内に生成された各機能ブロック全体の制御を行うものである。
制御部１２２は、入力部１２１から特定情報を受取る場合がある。特定情報を受取った場合、特定情報に基づく表示をディスプレイ１０１に行わせるためのデータを生成し、それを出力部１２７に送るようになっている。
この実施形態における制御部１２２は、また、共有データを持っている。共有データは、他の通信装置１００との間で共有すべきデータであって、平文のデータである。なお、共有データは、必ずしも制御部１２２が保持している必要はなく、データ処理部１２０内の或いはデータ処理部１２０外から、例えば入力部１２１を介して制御部１２２へと入力されてくるものであってもよい。
他の通信装置１００との通信が開始されるとき、制御部１２２は、共有データを、第１暗号化部１２３に送るようになっている。
また、制御部１２２は、他の通信装置１００からネットワーク４００を介して送られてきた第１暗号化共有データを入力部１２１から受取る場合がある。第１暗号化共有データを受取った場合、制御部１２２はそれを第２暗号化部１２５に送るようになっている。
また、制御部１２２は、他の通信装置１００からネットワーク４００を介して送られてきた第２第１暗号化共有データを入力部１２１から受取る場合がある。第２第１暗号化共有データを受取った場合、制御部１２２はそれを第１復号化部１２４に送るようになっている。
また、制御部１２２は、他の通信装置１００からネットワーク４００を介して送られてきた第２暗号化共有データを入力部１２１から受取る場合がある。第２暗号化共有データを受取った場合、制御部１２２はそれを第２復号化部１２６に送るようになっている。
【００３０】
第１暗号化部１２３は、制御部１２２から共有データを受取った場合に、その共有データを暗号化する処理を実行するものである。その結果、共有データは、第１暗号化共有データに変換される。第１暗号化部１２３は、第１暗号化共有データを、出力部１２７に送るようになっている。
第２暗号化部１２５は、制御部１２２から第１暗号化共有データを受取った場合に、その第１暗号化共有データを更に暗号化する処理を実行するものである。その結果、第１暗号化共有データは、第２第１暗号化共有データに変換される。第２暗号化部１２５は、第２第１暗号化共有データを、出力部１２７に送るようになっている。
第１復号化部１２４は、制御部１２２から第２第１暗号化共有データを受取った場合に、その第２第１暗号化共有データに対して復号化の処理を、別の言葉で言えば、第２第１暗号化共有データに対して第１暗号化部１２３で行われた暗号化のための変換の逆変換を行うものである。その結果、第２第１暗号化共有データは、第２暗号化共有データになる。第２暗号化共有データは、上述した共有データを仮にそのまま第２暗号化部１２５で暗号化した場合に、第２暗号化部１２５で共有データが変換されることによって生成されるデータに等しい。第１復号化部１２４は、第２暗号化共有データを、出力部１２７に送るようになっている。
第２復号化部１２６は、制御部１２２から第２暗号化共有データを受取った場合に、その第２暗号化共有データに対して復号化の処理を、別の言葉で言えば、第２暗号化共有データに対して第２暗号化部１２５で行われた暗号化のための変換の逆変換を行うものである。その結果、第２暗号化共有データは、平文のデータである共有データになる。第２復号化部１２６は、共有データを、出力部１２７に送るようになっている。もっとも、共有データは後述するように、制御部１２２に送られるようになっている場合もある。
第１暗号化部１２３、第１復号化部１２４、第２暗号化部１２５、第２復号化部１２６はそれぞれ上述のようなものであるが、第１暗号化部１２３と、第１復号化部１２４とは、共有データを相手側の通信装置１００に送る側の、言い換えれば最初に共有データを持っていた側の通信装置１００におけるそれらのみが機能するようになっている。更に言い換えるのであれば、第１暗号化部１２３と、第１復号化部１２４とは、本願発明でいう第１通信装置として機能するときの当該通信装置１００でのみ機能するようになっている。
他方、第２暗号化部１２５と、第２復号化部１２６とは、共有データを相手側の通信装置１００から受取る側の、言い換えれば最初に共有データを持っていなかった側の通信装置１００におけるそれらのみが機能するようになっている。更に言い換えるのであれば、第２暗号化部１２５と、第２復号化部１２６とは、本願発明でいう第２通信装置として機能するときの当該通信装置１００でのみ機能するようになっている。
【００３１】
次に、この通信システムの使用方法、及び動作について、主に図５を参照して説明する。
既に述べたように、この通信システムでは通信システムを構成するうちの任意の２つの通信装置１００同士が通信を行う。２つの通信装置１００は、他の通信を行ってももちろん構わないが、この実施形態では、２つの通信装置１００の間で共有データを共有するための通信について説明する。
【００３２】
まず、ある通信装置１００のユーザが２つの通信装置１００間で通信を行うために、そのユーザが有する通信装置１００の操作を開始する（Ｓ５０１）。この実施形態では、この通信装置１００が本願発明における第１通信装置となる。かかる操作は、入力装置１０２の操作によって行う。ユーザは、通信を行うために、電子メール送受信用のアプリケーションである公知或いは周知のメーラーを立ち上げたり、或いはホームページ閲覧用のアプリケーションである公知或いは周知のブラウザを立ち上げるなど必要な操作を行う。かかる操作の内容はインターフェイス１１４を介して入力部１２１に入力され、入力部１２１から制御部１２２へと送られる。制御部１２２は、かかる入力内容に基いて図外のアプリケーションで生成されたディスプレイ１０１に画像を表示させるための画像データを受取り、出力部１２７へと送る。かかる画像データは、出力部１２７からディスプレイ１０１へと送られる。かかる画像データに基づく画像がディスプレイ１０１に表示される。かかる画像は、例えばメーラーの画像であったり、或いはブラウザの画像だったりする。
ユーザは、ディスプレイ１０１を見ながら入力装置１０２の操作を行い、それにより特定情報を入力する（Ｓ５０２）。上述したように、これには限られないがこの実施形態において入力装置１０２によってユーザが入力するのは、通信の相手側の通信装置１００を特定するための情報のみである。より具体的には、相手側の通信装置１００を特定するためのＩＰアドレスを、ユーザは入力装置１０２の操作によって入力する。かかる入力が行われている間、特定情報を入力するための操作内容は、インターフェイス１１４、入力部１２１を介して、制御部１２２に入力される。それを受取った制御部１２２は、ディスプレイ１０１に表示される画像のデータである画像データを生成し、出力部１２７、インターフェイス１１４を介してディスプレイ１０１に送る。ディスプレイ１０１には、ユーザが入力装置１０２で入力中の特定情報がリアルタイムで表示される。その表示を見ながらユーザは、特定情報の入力を行うことができる。
ユーザが相手方の通信装置１００のＩＰアドレスを入力装置１０２によって入力すると、その内容は、インターフェイス１１４、入力部１２１を介して制御部１２２に送られる。そのデータを受取った制御部１２２は、その通信装置１００のＩＰアドレスと通信の相手方の通信装置１００のＩＰアドレスとを含んだ特定情報を自動的に生成する。
【００３３】
特定情報の入力が終わると、制御部１２２は、第１暗号化部１２３に、共有データを送るとともに、共有データを暗号化せよとの指示を送る。なお、必ずしもこの限りではないが、特定情報の入力が終わった後の本願における第１通信装置１００にあたるこの通信装置１００における処理は、少なくとも相手方の通信装置１００への後述するような第２暗号化共有データの送信が完了するまで、ユーザの入力装置１０２の操作を必要とせず、自動的に行われる。上述の指示に基いて、第１暗号化部１２３は、共有データを暗号化するための変換を行う（Ｓ５０３）。なお、これには限られないが、この実施形態では、「ＰＰＰ」という文字列データが共有データであるとする。暗号化の方法の詳細については、後述する。第１暗号化部１２３で共有データが暗号化された結果生成されるのが、第１暗号化共有データである。第１暗号化共有データは、後述するように、ＰＰＰに右下がりの斜線でハッチングをすることにより、ＰＰＰという文字列が第１暗号化部１２３で暗号化されたということを示すものとする。
第１暗号化部１２３は、第１暗号化共有データを出力部１２７に送る。また、それとの前後は問わないが、制御部１２２は、特定情報を出力部１２７に送る。これら第１暗号化共有データと特定情報とは、互いに紐付けられて、出力部１２７からインターフェイス１１４を介して送受信機構へと送られる。
送受信機構は、第１暗号化共有データを、ネットワーク４００を介して、特定情報に含まれた相手方の通信装置１００のＩＰアドレスによって特定される通信装置１００に対してを送信する（Ｓ５０４）。送信されるＰＰＰの文字列は、第１暗号化部１２３で暗号化されたものであるので、右下がりの斜線でハッチングされている。また、第１暗号化共有データとともに特定情報が相手方の通信装置１００へと送られる。
【００３４】
本願発明における第２通信装置に相当する、通信の相手方の通信装置１００は、第１暗号化共有データをその送受信機構で受取る（Ｓ６０１）。第１暗号化共有データは、送受信機構からインターフェイス１１４を介してデータ処理部１２０の中の入力部１２１へ送られる。第１暗号化共有データは、入力部１２１から制御部１２２へと送られる。なお、この限りではないが、この実施形態では、Ｓ６０１の処理から始まる、Ｓ６０２、Ｓ６０３、Ｓ６０４、Ｓ６０５（いずれも後述）の処理はすべて自動的に実行される。
第１暗号化共有データを受取った制御部１２２は、第２暗号化部１２５へ、第１暗号化共有データと、第１暗号化共有データに対して暗号化の処理を行えとの指示とを送る。この指示に基いて、第２暗号化部１２５は、第１暗号化共有データを暗号化するための変換を行う（Ｓ６０２）。暗号化の方法の詳細については後述する。第２暗号化部１２５で共有データが暗号化された結果生成されるのが、第２第１暗号化共有データである。第２第１暗号化共有データは、後述するように、ＰＰＰという文字列に右下がりの斜線に加え左下がりの斜線でハッチングをすることにより、ＰＰＰという文字列が、第１暗号化部１２３で暗号化され、更に第２暗号化部１２５でも暗号化されたということを示すものとする。
生成された第２第１暗号化共有データは、第２暗号化部１２５から出力部１２７へ送られる。第２第１暗号化共有データは、出力部１２７からインターフェイス１１４を介して送受信機構へと送られる。送受信機構は、特定情報に含まれていた本願発明でいう第１通信装置に相当する通信装置１００のＩＰアドレスを参照し、当該通信装置１００に対してネットワーク４００を介して第２第１暗号化共有データを送信する（Ｓ６０３）。
【００３５】
本願発明における第１通信装置に相当する、通信装置１００は、第２第１暗号化共有データをその送受信機構で受取る（Ｓ５０５）。第２第１暗号化共有データは、送受信機構からインターフェイス１１４を介してデータ処理部１２０の中の入力部１２１へ送られる。第２第１暗号化共有データは、入力部１２１から制御部１２２へと送られる。
第２第１暗号化共有データを受取った制御部１２２は、第１復号化部１２４へ、第２第１暗号化共有データと、第２第１暗号化共有データに対して、第１暗号化部１２３が行った変換の逆変換を行えとの指示を送る。この指示に基いて、第２暗号化部１２５は、第２第１暗号化共有データに対して、第１暗号化部１２３が共有データを第１暗号化共有データにしたときの変換と逆の変換を行う（Ｓ５０６）。復号化の方法の詳細については後述する。第１復号化部１２４で共有データが復号化された結果生成されるのが、第２暗号化共有データである。これは、既に述べたように、平文の共有データを第２暗号化部１２５で暗号化した場合に得られるデータと同じである。したがって、第２暗号化共有データは、後述するように、ＰＰＰという文字列に左下がりの斜線のみを含むハッチングをすることにより、ＰＰＰという文字列が、第２暗号化部１２５で暗号化された状態のものであるということを示すものとする。
生成された第２暗号化共有データは、第１復号化部１２５から出力部１２７へ送られる。第２暗号化共有データは、出力部１２７からインターフェイス１１４を介して送受信機構へと送られる。送受信機構は、特定情報に含まれていた本願発明でいう第２通信装置に相当する通信装置１００のＩＰアドレスを参照し、当該通信装置１００に対してネットワーク４００を介して第２暗号化共有データを送信する（Ｓ５０７）。
【００３６】
本願発明における第２通信装置に相当する、通信の相手方の通信装置１００は、第２暗号化共有データをその送受信機構で受取る（Ｓ６０４）。第２暗号化共有データは、送受信機構からインターフェイス１１４を介してデータ処理部１２０の中の入力部１２１へ送られる。第２暗号化共有データは、入力部１２１から制御部１２２へと送られる。
第２暗号化共有データを受取った制御部１２２は、第２復号化部１２６へ、第２暗号化共有データと、第２暗号化共有データに対して第２暗号化部１２５が行った変換の逆変換を行えとの指示とを送る。この指示に基いて、第２復号化部１２６は、第２暗号化共有データに対して、第２暗号化部１２５が行ったのと逆の変換を行う（Ｓ６０５）。復号化の方法の詳細については後述する。第２復号化部１２６で第２暗号化共有データが復号化された結果生成されるのが、平文の共有データである。これにより、本願発明でいう第２通信装置たる通信装置１００は、本願発明でいう第１通信装置たる通信装置１００がそもそも持っていた共有データを、暗号化されていない平文の状態で、持つに至る。第２通信装置に相当する通信装置１００は、共有データの共有が完了するまで、第１暗号化共有データ、第２第１暗号化共有データ、第２暗号化共有データのいずれからも、元の共有データの内容を把握することはできない。しかしながら、第２暗復号化部１２６による復号化のための変換が終了した場合に、平文の共有データを手に入れることができるのである。
【００３７】
以上により、本願発明でいう第１通信装置と第２通信装置に相当する２つの通信装置１００は、共有データを共有することになる。
２つの通信装置１００で共有されるに至るまでに２つの通信装置１００の間を送受信されるデータには、平文の状態の共有データは存在しない。２つの通信装置１００の間を送受信される場合、共有データは、第１暗号化共有データ、第２第１暗号化共有データ、又は第２暗号化共有データという暗号化された状態とされる。これによって、２つの通信装置１００は安全に共有データを共有することができる。
【００３８】
２つの通信装置１００における第１暗号化部１２３、第１復号化部１２４、第２暗号化部１２５、第２復号化部１２６で行われるデータ変換について、詳述する。
上述したように、この実施形態において、共有データは、本願の第１通信装置にあたる通信装置１００の第１暗号化部１２３で暗号化（変換）されて第１暗号化共有データになり、次いで本願の第２通信装置にあたる通信装置１００の第２暗号化部１２５で暗号化（変換）されて第２第１暗号化共有データになり、次いで本願の第１通信装置にあたる通信装置１００の第１復号化部１２４で復号化（変換）されて第２暗号化共有データになり、最後に本願の第２通信装置にあたる通信装置１００の第２復号化部１２６で復号化（変換）されて元の共有データに戻る。
これが可能となるには、本願の第１通信装置に相当する通信装置１００における第１暗号化部１２３と第１復号化部１２４とで実行される暗号化と復号化（逆変換）、及び本願の第２通信装置に相当する通信装置１００における第２暗号化部１２５と第２復号化部１２６とで実行される暗号化と復号化（逆変換）が、ある条件を充足する必要がある。
平文の状態の共有データをＰとすることにする。Ｐは、所定のデータ列である。第１暗号化部１２３で共有データであるＰに対して行われる暗号化のための演算を「×Ａ」と示し、第２暗号化部１２５で第１暗号化共有データに対して行われる暗号化のための演算を「×Ｂ」と示し、第１復号化部１２４で第２第１暗号化共有データに対して行われる第１暗号化部１２３で行われた演算の逆演算を「×Ａ−１」と、第２復号化部１２６で第２暗号化共有データに対して行われる第２暗号化部１２５で行われた演算の逆演算を「×Ｂ−１」と、それぞれ示すことにする。なお、上述の「×」の記号は当然に、単純な積の演算を意味するものではない。
そうすると、第１暗号化データは、「Ｐ×Ａ」と示すことができる。
第２第１暗号化データは、「（Ｐ×Ａ）×Ｂ」と示すことができる。
第２暗号化データは、「Ｐ×Ｂ」と示すことができる。
【００３９】
ここで、問題となるのは、第１復号化部１２４で行われる、第２第１暗号化共有データである「（Ｐ×Ａ）×Ｂ」に対して「×Ａ−１」の演算を行うことにより、「Ｐ×Ｂ」を得るための演算である。第２復号化部１２６で行われる第２暗号化共有データを共有データＰに戻す「（Ｐ×Ｂ）×Ｂ−１」という演算は、一般的な復号化の演算であるから、こちらについては通常の暗号化、復号化についてある以上の特段の困難はない。第１復号化部１２４で行われる上述の演算が成立するためには、Ａ×Ａ−１、或いはＢ×Ｂ−１の演算は、元のデータＰに対して何の演算も行っていない状態とする（或いは、暗号化したものを復号化して元に戻す）処理である（つまり、極普通の暗号化と復号化の処理）だと仮定した上で、「（（Ｐ×Ａ）×Ｂ）×Ａ−１＝Ｐ×Ｂ」が成り立たなければならない。その場合の変形は例えば、以下のようなものとなる。
（（Ｐ×Ａ）×Ｂ）×Ａ−１
→（Ｐ×（Ａ×Ｂ））×Ａ−１
→（Ｐ×（Ｂ×Ａ））×Ａ−１
→（（Ｐ×Ｂ）×Ａ）×Ａ−１
→（（Ｐ×Ｂ）×（Ａ×Ａ−１）
→Ｐ×Ｂ
つまり、本願の第１通信装置に相当する通信装置１００における第１暗号化部１２３と第１復号化部１２４で実行される暗号化と復号化、及び本願の第２通信装置に相当する通信装置１００における第２暗号化部１２５と第２復号化部１２６で実行される暗号化と復号化は、上述の如く、×Ａ、×Ｂという演算の順番を入れ替えることが可能なものでなければならない。言い換えれば、本願の第１通信装置に相当する通信装置１００における第１暗号化部１２３と第１復号化部１２４で実行される暗号化と復号化、及び本願の第２通信装置に相当する通信装置１００における第２暗号化部１２５と第２復号化部１２６で実行される暗号化と復号化は、演算を「×」で表し、演算の対象を「Ｆ」、「Ｇ」、「Ｈ」と表したときに、「Ｆ×Ｇ＝Ｇ×Ｆ」という交換法則と、「（Ｆ×Ｇ）×Ｈ＝Ｆ×（Ｇ×Ｈ）」という結合法則とがそれぞれ成立するものである必要がある。
【００４０】
「（（Ｐ×Ａ）×Ｂ）×Ａ−１＝Ｐ×Ｂ」という式の変形を許容するための上述の条件を満足させるための演算の例を幾つか挙げる。
その一例として、排他的論理和の演算を挙げることができる。排他的論理和を用いてあるデータ列Ｐを暗号化する場合には、データ列であるＰと、異なるデータ（鍵）との排他的論理和を取ることによって実行される。以下も同様であるが、Ｐのデータ長が長いのであれば、Ｐを多数のデータに分割してそれぞれのデータに対して上述の演算を行うのが一般的である。本願の第１通信装置に相当する通信装置１００の第１暗号化部１２３と第１復号化部１２４とで暗号化と復号化のために用いられる鍵と、本願の第２通信装置に相当する通信装置１００の第２暗号化部１２５と第２復号化部１２６とで暗号化と復号化のために用いられる鍵とは、同じものであっても良いが、同じものでなくても良い。つまり、共有データを共有しようとする２つの通信装置１００は、同じ鍵を持たなくとも、各々が持つ鍵を用いて排他的論理和の演算を行うことが可能であり、そうしたとしても上述の「（（Ｐ×Ａ）×Ｂ）×Ａ−１＝Ｐ×Ｂ」という式の変形を実現させることができるのである。
なお、排他的論理和の演算は、同じ演算を２回繰り返すことにより、元のデータ列に戻るという性質を持つ。つまり、（Ｐ×Ａ）×Ａ→Ｐ×（Ａ×Ａ）→Ｐである。この場合においては、第１暗号化部１２３で実行される演算「×Ａ」と、第１復号化部１２４で実行される演算「×Ａ−１」とが同じものとなる。そのような場合には、第１暗号化部１２３と、第１復号化部１２４とを異なるものとする利益はないので、例えば第１復号化部１２４を省略して、第１暗号化部１２３で暗号化と復号化のための演算の双方を実行するようにしても良い。
【００４１】
「（（Ｐ×Ａ）×Ｂ）×Ａ−１＝Ｐ×Ｂ」という式の変形を許容するための上述の条件を満足させるための演算の他の例は、循環シフト（バレルシフト）である。
循環シフトは、ある長さのデータ列が存在する場合であって、そのデータ列の右端と左端が繋がっているとみなした上で、そのデータ列全体を所定の文字数だけ、右又は左にシフトさせるというものである。例えば、右に３文字ずつデータ列全体をシフトさせる、とした場合には、データ列の右端から３文字が削除されるとともに削除された３文字がその順序を保ちながらデータ列の左端に付加され、データ列のその他の部分が３文字分ずつ右側にずらされる。この場合「右に３文字ずつ」というのが、かかる暗号化を行う場合の鍵になる。
例えば、第１暗号化部１２３で「右にＮ文字ずつ」という鍵を用いた共有データの変換を行い、第２暗号化部１２５で「右にＭ文字ずつ」という鍵を用いた第１暗号化共有データの変換を行った場合、第１復号化部１２４で「左にＮ文字ずつ」という鍵を用いた第２第１暗号化共有データの変換を行えば、それは、元の共有データ中の文字が、「左にＮ文字ずつ」ずれた状態となる。これは共有データに対して第２暗号化部１２５が暗号化のための変換を行った場合に得られるデータ列に等しいから、上述した「（（Ｐ×Ａ）×Ｂ）×Ａ−１＝Ｐ×Ｂ」という式の変形が実現しているということを意味する。
この場合第２復号化部１２６で、「左にＭ文字ずつ」という鍵を用いた変換を行うと、第２暗号化共有データは、元の共有データに戻ることになる。
【００４２】
「（（Ｐ×Ａ）×Ｂ）×Ａ−１＝Ｐ×Ｂ」という式の変形を許容するための上述の条件を満足させるための演算の他の例は、四則演算を利用したものがある。
例えば、第１暗号化部１２３で、あるデータ列に対して「Ｎ」という数値を加えるというデータの変換を行うとする。この場合、「Ｎ」という数値が本願発明における第１通信装置たる通信装置１００における鍵となる。次いで、第２暗号化部１２５で、第１暗号化部１２３で変換されたデータ列に対して「Ｍ」という数値を加えるというデータの変換を行うとする。次いで、第１復号化部１２４で、第２暗号化部１２５で変換されたデータ列から、「Ｎ」という数値を減じるという変換を行うとする。そうすると、その変換後のデータ列は、第１暗号部１２３で変換を行われる前の元のデータ列に、「Ｍ」という数値を加えたものとなる。これは共有データに対して第２暗号化部１２５が暗号化のための変換を行った場合に得られるデータ列に等しいから、上述した「（（Ｐ×Ａ）×Ｂ）×Ａ−１＝Ｐ×Ｂ」という式の変形が実現しているということを意味する。
この場合第２復号化部１２６で、「Ｍ」という数値を減じるという変換を行うことにより、第２暗号化共有データは、元の共有データに戻ることになる。
他の四則演算を用いた場合においても、同様に、「（（Ｐ×Ａ）×Ｂ）×Ａ−１＝Ｐ×Ｂ」という式の変形を実現できることになる。
【００４３】
いずれにせよ、本実施形態では、本願発明における第１通信装置と第２通信装置とにそれぞれ相当する２つの通信装置１００の間で共有データが共有されることになる。共有データは、例えば、本願の第２通信装置に相当する通信装置１００における制御部１２２に送られてそこで保存され、場合によってはデータ処理部１２０外に送られ適宜に利用される。
共有データは、２つの通信装置１００が、共有データを共有した後に公知或いは周知の共通鍵方式の暗号化通信を行う際に用いられる共通鍵、又は２つの通信装置１００が同じ共通鍵を各々独自に生成する或いは選択するために用いられる秘密の情報とすることができる。これによれば、２つの通信装置は、共有データであった同一の共通鍵を用いて、又は共有された共有データから生成等された同一の共通鍵を用いて、以後において、共通鍵方式の暗号化通信を行うことが可能となる。
或いは、共通鍵方式の暗号化通信を行わないこととするとともに、２つの通信装置１００の間のデータの送受信を、当初から上述した方法で行うようにすることも可能である。本願における共有データの共有の過程は、ある通信装置１００から他の通信装置１００への共有データの送信の過程と捉えることが可能である。したがって、２つの通信装置１００の間で送受信されるデータの例えばすべてを共有データと捉え、２つの通信装置１００の間での通信を上述した第１暗号化共有データ、第２第１暗号化共有データ、第２暗号化共有データによるものとすれば、２つの通信装置１００の間でのデータの送受信が、共通鍵方式の暗号化通信ではない新たな方式の暗号化通信で実行されることになる。
【００４４】
なお、以上の実施形態では、すべての通信装置１００が本願発明でいう第１通信装置と第２通信装置のいずれの役割をも果たすことができた。それ故、すべての通信装置１００は、第１暗号化部１２３、第１復号化部１２４、第２暗号化部１２５、第２復号化部１２６のすべてを備えていた。
ところで、上述したように、本願発明でいう第１通信装置と第２通信装置の区別は、共有データの送信を最初に行う側かどうかということにより決まる。そして、通信システムを構成する多数の通信装置１００のうち、１つの或いは複数の通信装置を本願発明でいう第１通信装置としてしか機能しないものとするとともに、残りの通信装置を本願発明でいう第２通信装置としてしか機能しないものとする、というようにしても通信システムは成立しうる。
例えば、通信装置１００のうちの１つが、ユーザが所有する通信装置１００にホームページを閲覧させるサーバである場合、このサーバにユーザが所有する通信装置１００からアクセスすることはあっても、サーバからユーザが所有する通信装置１００にアクセスすることはない、という状況はよくある。この場合、サーバである通信装置１００は、本願発明でいう第２通信装置としての性格しか持つ必要がなくなる。他方、このような場合においては、ユーザが所有する通信装置１００のうちの例えば幾つかを、本願発明でいう第１通信装置としての性格しか持たないようにすることも可能である。
本願発明でいう第１通信装置としての性格しか持たない通信装置１００では、第２暗号化部１２５、及び第２復号化部１２６が不要となり、本願発明でいう第２通信装置としての性格しか持たない通信装置１００では、第１暗号化部１２３、及び第１復号化部１２４が不要となる。
【００４５】
上述の通信ステムの応用として、通信装置１００を３つ使った通信を実現することができる。
この場合に、通信に関わる３つの通信装置１００をそれぞれ通信装置Ａ、通信装置Ｂ、通信装置Ｃと呼ぶものとする。通信装置Ａ〜Ｃの構成は基本的に、上述した通信装置１００と同様にすることができる。
その場合に行われる通信の例を、図６に示す。図６に示されたように、通信装置Ａ、通信装置Ｂ、通信装置Ｃは、通信装置Ｂが間に入り、通信装置Ａと通信装置Ｃは、通信装置Ｂを介して通信を行うものとする。共有データを最初に持っているのは通信装置Ａであり、最終的には通信装置Ａと通信装置Ｃとが共有データを共有することを目的としてこの通信は行われる。簡単にいうと、通信装置Ａと通信装置Ｂとの関係は、本願発明における第１通信装置と第２通信装置との関係に等しく、通信装置Ｂと通信装置Ｃとの関係は、本願発明における第１通信装置と第２通信装置との関係に等しい。
この通信では、まず、通信装置Ａで、共有データが暗号化される（Ｓ７０１）。共有データは、図５で示された例と同じように、ＰＰＰと表され、通信装置Ａで暗号化されたデータは、図５で示された第１暗号化共有データと同様に、右下がりの斜線でハッチングしたものとして表示される。このデータは、通信装置Ａから通信装置Ｂに送信される（Ｓ７０２）。
通信装置Ｂは、このデータを受取ると、上述の実施形態における本願発明で第２通信装置に相当する通信装置１００がそうしたように、このデータを更に暗号化するための変換を行う（Ｓ８０１）。その結果、このデータは、図５で示された第２第１暗号化共有データと同様に、右下がりの斜線と左下がりの斜線とでハッチングされたものとして表示される。このデータは、通信装置Ｂから通信装置Ｃに送信される（Ｓ８０２）。
通信装置Ｃと、通信装置Ｂとの関係は、上述したように、本願発明における第２通信装置と第１通信装置との関係に等しい。したがって、通信装置Ｃは、上記データを受取ると、上述の実施形態における本願発明で、第２通信装置に相当する通信装置１００がそうしたように、このデータを更に暗号化するための変換を行う（Ｓ９０１）。その結果、このデータは、通信装置Ｃが受取ったデータを更に暗号化したことを示す水平な線が加わり、都合、右下がりの線と、左下がりの線と、水平な線とでハッチングされたものとして示される。このデータは、通信装置Ｃから通信装置Ｂに送られ（Ｓ９０２）、更に通信装置Ｂから通信装置Ａに送られる（Ｓ８０３）。
通信装置Ａは、このデータを受取る。通信装置Ａは、このデータにおいて、通信装置Ａで行われた暗号化のための変換の逆変換を行う（Ｓ７０３）。これにより、通信装置Ａが受取ったデータは、通信装置Ａで行われた暗号化のための変換がなされなかった状態となる。つまり、通信装置Ａが受取ったデータから、右下がりのハッチングが消える。このデータは、共有データに対して、通信装置Ａで暗号化の処理を行わずに、通信装置Ｂと通信装置Ｃとで連続して暗号化の処理を行うことによって得られるデータに等しい。このデータは、通信装置Ａから通信装置Ｂに送られる（Ｓ７０４）。
通信装置Ｂはこのデータを受取る。通信装置Ｂは、このデータを受取ると、上述の実施形態における本願発明で第２通信装置に相当する通信装置１００がそうしたように、このデータに対して、通信装置Ｂが行った暗号化のための変換の逆変換を行う（Ｓ８０４）。これにより、通信装置Ｂが受取ったデータは、通信装置Ｂで行われた暗号化のための変換がなされなかった状態となる。つまり、通信装置Ｂが受取ったデータから、左下がりのハッチングが消える。このデータは、共有データに対して、通信装置Ａ、通信装置Ｂで暗号化の処理を行わずに、通信装置Ｃのみで暗号化の処理を行うことによって得られるデータに等しい。このデータは、通信装置Ｂから通信装置Ｃに送られる（Ｓ８０５）。
通信装置Ｃはこのデータを受取る。通信装置Ｃはこのデータを受取ると、このデータに対して、通信装置Ｃで暗号化の処理を行ったのと逆の変換を行う（Ｓ９０３）。これにより、通信装置Ｃが受取ったデータは元の共有データに戻る。
これにより、通信装置Ａと、通信装置Ｃは、安全に共有データを共有するに至る。この過程で、通信装置Ａと通信装置Ｂとの間で行われる通信と、通信装置Ｂと通信装置Ｃとの間で行われる通信とで送受信される共有データは、すべて暗号化された状態で送受信されるから、共有データを悪意のある第三者に盗聴されるおそれは基本的に無い。特筆すべきは、通信装置Ａと通信装置Ｃとを仲介する通信装置Ｂですら、共有データの内容を知ることができないということである。かかる仲介を行う通信装置Ｂは、例えば、弁護士や、或いは公的機関が管理する通信装置とすることが可能であり、且つそうすることにより、互いに直接通信を行うことができない者（例えば、通信装置Ａと通信装置Ｂの管理者）が通信を行うことが可能となるため便利であるが、その場合においても仲介を行う者にすら共有データの内容を知られなくて済む、という利点がある。
なお、かかる通信において、Ｓ８０３の過程において、通信装置Ｂから通信装置Ａに送られるデータは、通信装置Ａで行われる暗号化のための変換と復号化のための変換をそれぞれ「×Ａ」と「×Ａ−１」と表示することとし、通信装置Ｂで行われる暗号化のための変換と復号化のための変換をそれぞれ「×Ｂ」と「×Ｂ−１」と表示することとし通信装置Ｃで行われる暗号化のための変換と復号化のための変換をそれぞれ「×Ｃ」と「×Ｃ−１」と表示することとした場合には、「（（Ｐ×Ａ）×Ｂ）×Ｃ」のように表現することができる。
これに対して、通信装置Ａで行われた演算の逆演算を行うＳ７０３による変換は、「（（（Ｐ×Ａ）×Ｂ）×Ｃ）×Ａ−１」と表すことができるが、その結果得られるデータは、共有データに対して、通信装置Ａで暗号化の処理を行わずに、通信装置Ｂと通信装置Ｃとで連続して暗号化の処理を行うことによって得られるデータであるから、「（Ｐ×Ｂ）×Ｃ」と表わすことができる。
つまり、かかる変換においては、「（（（Ｐ×Ａ）×Ｂ）×Ｃ）×Ａ−１＝（Ｐ×Ｂ）×Ｃ」が成り立つ必要がある。
同様に、Ｓ８０４の変換においては、「（Ｐ×Ｂ）×Ｃ×Ｂ−１＝Ｐ×Ｃ」が成り立つ必要がある。
これら条件はともに、上述したように、「×Ａ」、「×Ａ−１」、「×Ｂ」、「×Ｂ−１」、「×Ｃ」、「×Ｃ−１」という各演算に、交換法則と結合法則が成立するのであれば、成り立ちうる。通信装置Ａ、通信装置Ｂ、通信装置Ｃで行われる各演算は、そのようなものである必要があり、その例は上述した通りである。
【符号の説明】
【００４６】
１００  通信装置
１０１  ディスプレイ
１０２  入力装置
１２０  データ処理部
１２１  入力部
１２２  制御部
１２３  第１暗号化部
１２４  第１復号化部
１２５  第２暗号化部
１２６  第２復号化部
１２７  出力部
【図１】
2018174485.tif 000003
【図２】
2018174485.tif 000004
【図３】
2018174485.tif 000005
【図４】
2018174485.tif 000006
【図５】
2018174485.tif 000007
【図６】
2018174485.tif 000008