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

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

▶ 株式会社メガチップスの特許一覧 ▶ アメラアイオーティーインクの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-04
(45)【発行日】2024-10-15
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
   G06F 21/60 20130101AFI20241007BHJP
【FI】
G06F21/60 360
G06F21/60 320
【請求項の数】 9
(21)【出願番号】P 2022548183
(86)(22)【出願日】2021-07-01
(65)【公表番号】
(43)【公表日】2023-09-01
(86)【国際出願番号】 US2021040104
(87)【国際公開番号】W WO2022010735
(87)【国際公開日】2022-01-13
【審査請求日】2024-01-16
(31)【優先権主張番号】63/048,383
(32)【優先日】2020-07-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】591128453
【氏名又は名称】株式会社メガチップス
(73)【特許権者】
【識別番号】522314728
【氏名又は名称】アメラアイオーティーインク
(74)【代理人】
【識別番号】100088672
【弁理士】
【氏名又は名称】吉竹 英俊
(74)【代理人】
【識別番号】100088845
【弁理士】
【氏名又は名称】有田 貴弘
(74)【代理人】
【識別番号】100156177
【弁理士】
【氏名又は名称】池見 智治
(72)【発明者】
【氏名】押切 崇
(72)【発明者】
【氏名】今川 雅之
(72)【発明者】
【氏名】楊 攀
(72)【発明者】
【氏名】澤田 孝司
(72)【発明者】
【氏名】ダリー クリストファー ジェー
(72)【発明者】
【氏名】フレミング マックス エル
【審査官】平井 誠
(56)【参考文献】
【文献】特開2005-278007(JP,A)
【文献】特開2012-009928(JP,A)
【文献】特開2015-142213(JP,A)
【文献】特開2007-115192(JP,A)
【文献】米国特許出願公開第2016/0366131(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
情報処理装置であって、
制御回路構成と、暗号処理回路構成と、通信回路構成とを備え、
前記制御回路構成は前記情報処理装置での所定の処理の実行を制御し、
前記暗号処理回路構成は前記制御回路構成と前記通信回路構成との間に流れるデータの暗号化又は復号化を行い、
前記通信回路構成は、暗号化又は復号化されたデータを前記情報処理装置以外の外部機器と送受信し、
前記暗号処理回路構成は、
ユーザ端末の権限を示すユーザ権限情報を有し、
通信データを受信したとき、前記ユーザ権限情報に基づいて、当該通信データが正規の権限に基づくものであるか否かの判定を行い、
前記判定によって、正規の権限に基づく前記通信データであると判定した場合に、前記通信データを送信先となる前記制御回路構成又は前記通信回路構成に送信する、情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記暗号処理回路構成は前記制御回路構成と前記通信回路構成との間のデータ経路上に位置し、
前記制御回路構成と前記通信回路構成との間に流れるデータは、前記暗号処理回路構成を介して送受信される、情報処理装置。
【請求項3】
請求項2に記載の情報処理装置であって、
前記暗号処理回路構成は、前記暗号処理回路構成を介して送受信されるデータのうち一部のデータを選択して暗号化又は復号化処理を行う、情報処理装置。
【請求項4】
請求項1に記載の情報処理装置であって、
前記制御回路構成は、暗号化要求信号及び暗号化対象データ、又は復号化要求信号及び復号化対象データを前記暗号処理回路構成に送信し、
前記暗号処理回路構成は、前記暗号化要求信号又は前記復号化要求信号に応じて、前記暗号化対象データの暗号化又は復号化対象データの復号化を行う、情報処理装置。
【請求項5】
請求項1から請求項4のいずれか1つに記載の情報処理装置であって、
前記暗号処理回路構成は、受信データを復号化し、当該受信データが正規の暗号鍵で暗号化されたものか否かを判定する認証を行う、情報処理装置。
【請求項6】
請求項5に記載の情報処理装置であって、
前記暗号処理回路構成は、前記受信データが前記正規の暗号鍵で暗号化されたものであると判定した場合に、復号したデータを前記制御回路構成に送信する、情報処理装置。
【請求項7】
請求項5に記載の情報処理装置であって、
前記暗号処理回路構成は、前記受信データが前記正規の暗号鍵で暗号化されたものでないと判定した場合に、当該受信データの削除、第1の認証失敗情報の前記制御回路構成への送信及び当該第1の認証失敗情報の前記通信回路構成への送信のうちの少なくとも1つを行い、
前記第1の認証失敗情報は正規の暗号鍵で暗号化されていないデータを受信したことを示す情報である、情報処理装置。
【請求項8】
請求項5に記載の情報処理装置であって、
前記情報処理装置が暗号鍵を有していない場合、前記暗号処理回路構成は前記受信データを削除する、情報処理装置。
【請求項9】
請求項1から請求項8のいずれか1つに記載の情報処理装置であって、
前記暗号処理回路構成は、
記判定によって、正規の権限に基づく通信データでないと判定した場合に、前記通信データを削除する、情報処理装置。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2020年7月6日に出願された米国仮特許出願第63/048,383号の優先権を主張するものであり、当該出願の開示全体を、ここに参照のために取り込む。
【技術分野】
【0002】
本開示は情報処理に関する。
【背景技術】
【0003】
近年、"DX(デジタルトランスフォーメーション)"と呼ばれる概念が提唱されており、IoT機器をはじめとしたIT技術の普及が広まっている。IT技術の進歩に伴って、遠隔地にいる者同士のコミュニケーション及びインターネットを介したIoT機器の操作等が可能となっている。一方、こうした通信で送受信されているデータが悪意のある第3者によって不正に閲覧,改竄される弊害が発生している。そのため、情報通信におけるセキュリティレベルの向上が求められている。
【発明の概要】
【0004】
情報処理装置は、制御回路構成と、暗号処理回路構成と、通信回路構成とを備える。前記制御回路構成は前記情報処理装置での所定の処理の実行を制御する。前記暗号処理回路構成は前記制御回路構成と前記通信回路構成との間に流れるデータの暗号化又は復号化を行う。前記通信回路構成は、暗号化又は復号化されたデータを当該情報処理装置以外の外部機器と送受信を行う。
【図面の簡単な説明】
【0005】
図1】通信システムの一例を示す図である。
図2】通信システムの一例を示す図である。
図3】通信システムの一例を示す図である。
図4】通信システムの一例を示す図である。
図5】通信システムの一例を示す図である。
図6】通信システムの動作の一例を示す図である。
図7】通信システムの動作の一例を示す図である。
図8】通信システムの動作の一例を示す図である。
図9】通信システムの動作の一例を示す図である。
図10】通信データの一例を示す図である。
図11】通信システムの動作の一例を示す図である。
図12】通信システムの動作の一例を示す図である。
図13】通信システムの一例を示す図である。
図14】通信システムの一例を示す図である。
図15】通信システムの動作の一例を示す図である。
図16】通信システムの一例を示す図である。
図17】通信システムの一例を示す図である。
図18】通信システムの一例を示す図である。
図19】通信システムの動作の一例を示す図である。
図20】通信システムの動作の一例を示す図である。
図21】通信システムの動作の一例を示す図である。
図22】通信システムの動作の一例を示す図である。
図23】通信システムの動作の一例を示す図である。
図24】通信データの一例を示す図である。
図25】通信システムの動作の一例を示す図である。
図26】通信システムの動作の一例を示す図である。
図27】通信システムの一例を示す図である。
図28】通信システムの動作の一例を示す図である。
図29】暗号鍵の生成方法の一例を示す図である。
図30】複数のユーザ端末のグループ分けの一例を示す図である。
図31】通信システムの動作の一例を示す図である。
図32】通信システムの動作の一例を示す図である。
【発明を実施するための形態】
【0006】
本願で開示されている手段によって生成,共有された暗号鍵を用いて暗号化通信を行うことにより、ユーザのプライバシーを保護することができる。下記に、本願発明の技術を適用可能な分野を列挙する。例えば、各種センサ(人感センサ,環境センサ,インフラ関連のセンサ)、FA機器(工場設備,PLC(programmable logic controller)機器,医療機器,交通設備,ファイルサーバ)、OA機器(複写機,大容量記憶装置)、自動車,重機(自動車,建設機械,農機)、POS、ATM、貨幣交換機、Web会議システムなどの遠隔操作やモニタリングに利用可能である。また、ゲームなどの遊技機のセキュリティにも適用可能である。例えば遠隔診療のような場合、患者自宅にカメラ、スピーカー、非接触のバイタルセンサ(心拍,体温,呼吸計測)を組み合わせた情報処理装置を設置することができる。医師がユーザ端末を用いてインターネット経由で情報処理装置を遠隔制御/観測することで診療を行うケース(例えば、カメラの角度やズームを操作して、患者の状態を診る)において、患者自宅にセキュリティ上脆弱な情報処理装置を設置するとプライバシー上の問題が発生するリスクがある。そのため、特に厳重なセキュリティが必要となる。本発明の技術を用いることで、共通鍵を持つ限られたユーザ端末のみが情報処理装置の制御部にアクセスできるようになるため、より安全な情報処理装置を実現できる。このように、遠隔地から情報処理装置を制御/観測する応用例は、今後ますます重要になり、本技術を用いることで、そのリスクを大幅に低減することができる。
【0007】
1. E2EE通信システム概要(実施形態1)
図1は通信システム100(単に通信システムともいう)の一例を示す図である。本開示は、ホストサーバ200(単にホストあるいはホストサーバともいう)、ユーザ端末400(単にユーザ端末ともいう)、情報処理装置300(単に情報処理装置ともいう)を備え、ユーザ端末400と情報処理装置300とで、ホストを経由したE2EE(End To End Encryption)通信を行う通信システム100及びその方法に関する。情報処理装置とユーザ端末は、情報処理装置とユーザ端末のみが持つ共通鍵によって暗号化された通信を行う。このため、例えば、悪意のある第3者、あるいはホストサーバの運営者に情報処理装置とユーザ端末との通信内容を知られることなく、遠隔地に存在するユーザ端末から情報処理装置を操作することが可能となる。また、特にユーザ端末と情報処理装置との暗号化通信は、ホストサーバを経由して行われてもよい。その場合、ホストサーバは、情報処理装置とユーザ端末との通信記録をロギングして記憶することができる。
【0008】
上述の暗号通信は共通鍵方式の暗号鍵Aを用いて実現される。暗号鍵Aは、ユーザの選択した画像ファイル等のデータと、ユーザの選択したPIN(Personal Identification Number)と、ホストサーバによって生成されたホストデータと、を用いて生成される。下記ではユーザの選択した画像データを用いて暗号鍵を生成する例を挙げているが、画像データの代わりに音楽ファイル、ビデオファイル、あるいはその他ドキュメントファイル等を用いても良い。また、PINは、例えば、ユーザによって選択された6桁以上の任意の英数字から成る文字列である。
【0009】
情報処理装置300は、例えばWebカメラなどのIoT機器であり、既存の情報処理装置の機能である主機能の他に、ユーザ端末400とのE2EE通信を行うための暗号処理機能を実行する。ユーザ端末400は、PC(Personal Computer)や携帯端末などのユーザによって操作される端末であれば何でも良い。
【0010】
1.1 情報処理装置の構成
図2に示されるように、情報処理装置300は、情報処理装置300の主機能を実行する処理部310(単に処理部ともいう)と、暗号処理を行う暗号処理部340(単に暗号処理部ともいう)と、ホストサーバと通信を行う通信部350(単に通信部ともいう)と、ユーザ端末との間で鍵共有処理を行う鍵共有部330(単に鍵共有部ともいう)と、制御部320(単に制御部ともいう)を備える。暗号処理部340は、鍵共有部330がユーザ端末から受信した共通鍵を記憶するための鍵記憶部360(単に鍵記憶部ともいう)を備える。
【0011】
制御部と通信部との間に暗号処理部が存在しており、制御部と暗号処理部とは異なるハードによって構成される。暗号処理部は、情報処理装置内部の、通信部と制御部との間の通信経路上に存在する。また、暗号処理部は、通信部の内部に含まれる構成としても良い。そして、後述するように、通信部と制御部との通信は全て暗号処理部による暗号化,又は復号化を介して行われる。暗号処理部は、通信部から制御部へ送信されるデータが正規の暗号鍵で暗号化されたものか否かを確認するための認証処理(AES-GCM等の認証付暗号に関する従来技術)を行い、正規の暗号鍵で暗号化されていないと判定したデータを制御部に送信することなく削除する。これによって、同じ暗号鍵を持つユーザ端末のみによる情報処理装置の制御/観測が可能となり、より強固なセキュリティを実現できる。また、悪意のある第3者から攻撃を受けているときの制御部の負荷を減らすことができる。また、暗号処理部は、通信部と制御部との間で送受信されるデータのうち一部のデータのみを選択してもよい。その場合、暗号処理部は、前記選択したデータに対してのみ、暗号化又は復号化処理を行ってよい。
【0012】
鍵共有部は、図2のように通信部とは別に設けられてもよく、図3のように通信部に設けられてもよい。また、通信部の中に、暗号処理部、鍵記憶部、及び鍵共有部が含まれる形態としても良い。ただし、後述するように、ユーザ端末による鍵共有部への暗号鍵の送信は、近距離通信手段を用いて行う。また、処理部は、情報処理装置の本来の機能を実行するために必要なセンサ、記憶部、UI(User Interface)等を備える。情報処理装置は、例えば、ホストサーバを介してユーザ端末が遠隔操作可能なスマート家電(照明装置,空調,電子錠)や、遠隔地をモニタリング可能なスマートメータ,監視カメラなどのIoT機器であってもよいし、遠隔操作によってデータの入出力が可能な記憶装置であってもよいし、他の装置であってもよい。
【0013】
また、図4に記載したように、通信部350は、ユーザ端末2(ユーザ端末400の一種)を介してホストサーバ200と通信を行っても良い。例えば、通信部は、USB方式等によってユーザ端末2に接続される。この場合、ユーザ端末1(ユーザ端末400の一種)は、ホストサーバとユーザ端末2とを介して情報処理装置を遠隔操作できる。また、ユーザ端末1はユーザ端末2とも暗号鍵を共有して良い。その場合、ユーザ端末2も情報処理装置を操作することが可能となる。一方、ユーザ端末2が暗号鍵を記憶していない場合、ユーザ端末2は情報処理装置を操作することができない。
【0014】
1.2 ホストサーバ、ユーザ端末、情報処理装置間の認証及び鍵交換処理
下記の記載による暗号鍵の共有方法などは一例であり、他の方法によって暗号鍵を共有してもよい。
【0015】
1.2.1 情報処理装置の製造時
情報処理装置の製造時、又は情報処理装置の製造が完了してから販売するまでの間に、認証鍵S、認証鍵D、及びL2U鍵(Left to Up 鍵)を情報処理装置に記憶させる(図5を参照)。認証鍵S及び認証鍵Dは、証明書を作成するための鍵である。L2U鍵は、ホストサーバと情報処理装置との通信を暗号化するための暗号鍵である。また、情報処理装置は、上記の鍵の他に、情報処理装置を識別するための固有の識別情報(ESID(Electronic Serial Identification))を記憶している。また、ホストサーバは、情報処理装置に記憶されている認証鍵S,認証鍵D、及びL2U鍵を、それぞれそれらの鍵を所有する情報処理装置のESIDに対応付けて記憶している。通信システムは複数の情報処理装置を備えてもよい。ホストサーバは、複数の情報処理装置のESIDと、それぞれのESIDに対応付けられている認証鍵S、認証鍵D、L2U鍵を記憶している。
【0016】
1.2.2 暗号鍵Aの生成
情報処理装置を入手したユーザが所持するユーザ端末が、暗号鍵Aを生成する際の情報処理システムの動作を説明する。図6に示されるように、まずステップS001において、ユーザ端末は、ホストサーバにユーザ情報を送信し、ステップS002において、ホストサーバは、ユーザ情報を記憶する。上記においてホストサーバに記憶されるユーザ情報は、ユーザとそのユーザ端末を特定するための情報である。ユーザ情報は、例えば、ユーザの名前及び生年月日と、ユーザに割り当てられたメールアドレス等を含む。また、ホストサーバは、ユーザを識別するためのユーザIDを各ユーザに対して割り振り、ユーザ情報の一部として管理してもよい。ユーザ端末は、これ以降の処理においてホストサーバにデータを送信する際に、送信したい任意のデータとともに自身のユーザ情報を送信することができる。このようにすることで、ホストサーバは、ユーザ端末から受信したデータとユーザ情報とを関連付けることができる。
【0017】
次にユーザ端末は、ステップS003において、所定の近距離通信手段(USB,NFC,BLE,Zigbee等)を用いて、情報処理装置にESIDの送信を要求する。前記要求を受けた情報処理装置は、ステップS004において、近距離通信手段を用いてユーザ端末にESIDを送信する。なお、近距離通信手段の代わりに、Wifi等の他の通信手段を用いても良い。
【0018】
次に、ユーザ端末は、ステップS005において、受信したESIDをホストサーバに送信する。この時のユーザ端末とホストサーバとの通信は、例えば既存のHttps方式等で保護される。また、ユーザ端末は、ESIDと共に自身のユーザ情報をホストサーバに送信する。ステップS006において、ホストサーバは、受信したESIDと、ユーザ情報とを関連付けて記憶する。具体的には、ホストサーバは、ESIDと共にユーザ端末から送信されたユーザ情報を参照することで、ESIDがどのユーザ情報に対応するかを関連付けて記憶する。また、上記のようにしてユーザ情報とESIDとが関連付けて保存された後は、ユーザ端末がユーザ情報と共に任意のデータをホストサーバに送信することで、ホストサーバは、ユーザ情報を参照して関連するESIDを確認することにより、ESIDと任意のデータとを関連付けて記憶することもできる。このようにして、ユーザ情報を中心に複数のデータを関連付けることができる。なお、前述したデータ同士の関連付けは、実施形態2及び実施形態3でも同様に行う。ホストサーバは、「1.2.1 情報処理装置の製造時」で説明したように、予めESIDと、そのESIDに対応する情報処理装置が保持する認証鍵S,認証鍵D、L2U鍵を記憶している。そのため、上記のようにステップS005でESIDをホストサーバに記憶することで、ホストサーバは、ユーザの持つ情報処理装置の認証鍵S、認証鍵D、L2U鍵を知ることができる。
【0019】
次にユーザ端末は、ステップS007において、暗号鍵Aを生成するために必要なPINと画像を設定する。例えば、PIN及び画像は、ユーザ1の操作によってユーザ端末1上で生成されても良いし、図示しない他の装置からユーザ端末に入力されても良い。次にステップS008において、ユーザ端末は、ホストサーバにホストデータの発行を要求する。ホストデータの発行要求を受けたホストサーバは、ステップS009においてホストデータを生成してユーザ端末に送信する。また、ホストサーバは、送信したホストデータを、前記ESIDと関連付けて記憶する。このとき、ホストサーバは、ホストデータの生成、及びホストデータのユーザ端末への送信タイミングをホストデータ生成履歴情報として記憶していてもよい。その場合、ユーザ端末は、ホストデータ生成履歴情報をホストサーバから受信することで、自身の意図しないタイミングで不正にホストデータが生成された場合にそのことを知ることができる。
【0020】
次にユーザ端末は、ステップS010において、ステップS007で設定されたPIN及び画像と、ホストサーバから受信したホストデータとの3つを用いて、暗号鍵A、L2R鍵(Left to Right 鍵)及びR2U鍵(Right to Up 鍵)を生成する。暗号鍵Aは、情報処理装置とユーザ端末とのE2EE通信で使用される。L2R鍵は、情報処理装置とユーザ端末との通信で使用される。R2U鍵は、情報処理装置とホストサーバとの通信で使用される。このとき、暗号鍵AとL2R鍵とR2U鍵を生成するアルゴリズムを変えることによって異なる鍵としてもよい。また、それぞれ異なるホストデータを用いることで上記3つの鍵を異なるものとしてもよい。ユーザ端末上で、画像、PIN、ホストデータを用いて上記暗号鍵A、L2R鍵、R2U鍵を生成するためのアルゴリズムは、鍵生成ソフトとして、予めユーザ端末上にダウンロードされていても良い。例えば、ユーザが情報処理装置を入手してからユーザ情報がホストサーバに登録される前に、ユーザ端末は鍵生成ソフトをホストサーバからダウンロードしてもよい。そして、鍵生成ソフトによってユーザ端末上に表示される指示に従ってユーザがユーザ端末を操作することによって、ユーザ情報登録以降の処理が進行してもよい。また、上記鍵の生成後、ユーザ端末はホストデータを削除しても良い。上記の例では、ホストサーバがホストデータを生成して発行する形態について説明したが、ユーザ端末がホストデータを生成する形態としても良い。その場合、図6のステップS008においてユーザ端末はホストデータを生成し、ホストサーバに送信する。次にステップS009において、ホストサーバは、受信したホストデータが適切であるか否かを認証する。ホストデータが適切であると判定した場合、ホストサーバはそのホストデータをユーザ情報と関連付けて記憶し、ユーザ端末にホストデータとしての使用を許可する。また、ホストサーバが、ホストデータが適切でないと判定した場合は、ユーザ端末に対し再度のホストデータ生成を要求し、ステップS008、ステップS009を繰り返す。またこの場合、以降の処理におけるホストデータの管理は、ホストサーバが行ってもよい。
【0021】
1.2.3 暗号鍵Aの共有
ユーザ端末が暗号鍵Aを生成した後、暗号鍵Aをユーザ端末と情報処理装置とが共有するための処理を説明する。図7に示されるように、ステップS101において、ホストサーバは、認証鍵Dを認証鍵Sで暗号化して証明書Sを生成し、ステップS102においてユーザ端末に送信する。ステップS103において、ユーザ端末は、近距離通信手段を用いて、証明書S、暗号鍵A、L2R鍵を情報処理装置に送信する。ステップS104において、情報処理装置は、予め記憶している認証鍵Sを用いて、受信した証明書Sを復号した結果(認証鍵D’)と予め記憶している認証鍵Dとが一致するかどうかで判定を行う認証処理を実行する。ステップS104の認証がクリアできた場合、情報処理装置は、正規のユーザ端末との鍵共有が行われていると判定し、ステップS105Aにおいて、ユーザ端末から受信した暗号鍵AとL2R鍵を記憶する。ステップS104の認証がクリアできない場合、情報処理装置は、正規のユーザ端末との鍵交換ではないと判定し、ステップS105Bにおいて、受信した暗号鍵AとL2R鍵を削除する。上記では、暗号鍵A、証明書S、L2R鍵の送受信に近距離通信手段を用いているが、Wifi等の無線通信によって送受信を行っても良い。また、ホストサーバは、認証鍵Dを暗号化するのではなく、ESIDを認証鍵Sで暗号化して証明書Sを作成し、証明書Sをユーザ端末を介して情報処理装置に送信しても良い。その場合、情報処理装置は、受信した証明書Sを認証鍵Sを用いて復号した結果(ESID’)が自身のESIDと一致した場合に、認証が正しく行われたと判断し、正しいユーザ端末との鍵共有であると判定してもよい。
【0022】
1.2.4 ホストサーバと情報処理装置との初期通信
情報処理装置とユーザ端末との暗号鍵共有後、情報処理装置とホストサーバとが初期通信を行う場合の情報処理システムの動作を説明する。ユーザは、情報処理装置から図示しないWifiルータへの接続設定を行う。図8に示されるように、ステップS201において、ユーザ端末は、ホストサーバにテスト通信開始信号と、ユーザ情報とを送信する。次に、ステップS202においてユーザ端末は、ホストサーバのアドレス、及びユーザ情報を近距離通信手段で情報処理装置に送信する。ステップS203において、情報処理装置は、ユーザ端末から受信したホストサーバのアドレスを基に、自身のESIDとユーザ情報をホストサーバに送信する。ステップS204において、ホストサーバは、情報処理装置との通信によって、情報処理装置に接続可能なIPアドレスとルータのポートナンバーを把握し、ESIDに関連付けて記憶する。上記例では、情報処理装置は、ESIDとユーザ情報の両方をホストサーバに送信したが、どちらか一方のみを送信してもよい。また、上記例では、ユーザ端末は、ホストサーバのアドレスと同時にユーザ情報を情報処理装置に送信したが、ユーザ端末が情報処理装置にユーザ情報を送信するタイミングは暗号鍵Aを送信するときでも良い。ホストサーバは、ステップS204で情報処理装置のアドレスを記憶した後、ユーザ端末に対し、テスト通信が完了したことを示すテスト通信完了信号を送信しても良い。
【0023】
1.2.5 R2U鍵の共有
「1.2.2 暗号鍵Aの生成」でユーザ端末が生成したR2U鍵の共有方法について説明する。図9に示されるように、ステップS301において、ユーザ端末は、L2R鍵を用いて暗号化したR2U鍵を情報処理装置に送信する。ステップS302において、情報処理装置は、受信した暗号化されたR2U鍵をL2R鍵を用いて復号し、R2U鍵を得る。次にステップS303において、R2U鍵をL2U鍵を用いて暗号化する。ステップS304において、情報処理装置は、認証鍵Sを認証鍵Dで暗号化して証明書Dを生成する。
【0024】
次に情報処理装置は、ステップS305において、証明書Dと、L2U鍵で暗号化されたR2U鍵と、ESIDとをホストサーバに送信する。ステップS306において、ホストサーバは、情報処理装置から受信した証明書Dを、受信したESIDに紐付いた認証鍵Dを用いて復号化した結果(認証鍵S’)と予め記憶している認証鍵Sとが一致するか否かで判定を行う認証処理を実行する。また、情報処理装置は、認証鍵Sを暗号化するのではなく、ESIDを認証鍵Dで暗号化して証明書Dを作成し、証明書Dをユーザ端末を介してホストサーバに送信しても良い。その場合、ホストサーバは、受信した証明書Dを認証鍵Dを用いて復号した結果(ESID’)が自身が記憶するESIDと一致した場合に、認証が正しく行われたと判断し、正しいユーザ端末との鍵共有であると判定してもよい。認証がクリアできた場合、ホストサーバは、正しい情報処理装置との鍵共有が行われていると判定し、ステップS307Aにおいて、予め記憶しているL2U鍵で復号したR2U鍵をESIDと関連付けて記憶する。なお、上記において、情報処理装置とホストサーバとの初期通信がまだなされていない場合、情報処理装置は、ESIDと、証明書Dと、L2U鍵で暗号化されたR2U鍵をホストサーバに送信する代わりに、近距離通信手段などを用いてユーザ端末に送信しても良い。その場合、ユーザ端末が、情報処理装置から受信したESIDと、証明書Dと、L2U鍵で暗号化されたR2U鍵と、をホストサーバに送信することで、ホストサーバはESIDと証明書DとR2U鍵を入手する。
【0025】
上記のようにして共有した暗号鍵Aを用いて、ユーザ端末、及び情報処理装置は、互いに送受信するデータを暗号化及び復号化することにより、E2EE通信を行う。上記E2EE通信の際にホストサーバを介する通信を行った場合であっても、ホストサーバは暗号鍵Aを有していないため、暗号鍵Aで暗号化されたデータを復号することができない。そのため、例えば、情報処理装置からユーザ端末に送信した暗号化データをホストサーバに所定の期間保存することができる。この場合、必要に応じてユーザ端末1がホストサーバに前記暗号化データの送信を要求することで、ホストサーバに暗号化データの中身を知られることなく、ホストサーバを記憶装置として運用することを可能にする。
【0026】
1.3 暗号鍵Aを用いた、情報処理装置とユーザ端末とのE2EE通信
暗号鍵Aによる暗号化は、共通暗号方式で行われる。図10の例では、AES-GCM暗号方式での例を記載している。AES-GCM以外にも、例えば、AES-CCM、AES-CBC、AES-CTR、3DES、chacha等の共通鍵方式を用いてもよい。
【0027】
図10において、IVとsaltはリプレイ攻撃への対策として付加される合計32bitのデータである。IVの最初の12bitは、ユーザ端末と情報処理装置との通信回数を示す12bitのカウンタ値であり、残りの値は全てランダムデータである。またsaltは、全てランダムデータである。
【0028】
図11に示されるように、ユーザ端末は、ステップS351において、情報処理装置へ送信するデータを暗号鍵Aを用いて暗号化する。次にステップS352において、ユーザ端末は、暗号化された送信データを基にタグを生成する。タグの生成は、例えば、既存のAES-GCM暗号方式を用いた既知の処理である。次にステップS353において、ユーザ端末は、IV,saltを設定し、ステップS351で暗号化した送信データに付加して暗号化データとする。IVを生成するために必要な、ユーザ端末と情報処理装置との通信回数を示すカウンタ値は、ホストサーバに記憶されている後述するデータ通信履歴から算出されても良く、またユーザ端末内のカウンタでカウントしておいた数値が用いられてもよい。
【0029】
次にステップS354において、ユーザ端末は、タグ、IV、saltを付加して生成された暗号化データを、ホストサーバに送信する。ホストサーバは、ユーザ端末から暗号化データを受信すると、ステップS355において、暗号化データを情報処理装置に送信する。このとき、ホストサーバは、ユーザ端末から情報処理装置へのデータ送信が行われたことを、データ通信履歴としてユーザ情報とESIDに関連付けて記憶しても良い。ホストサーバからユーザ端末にデータ通信履歴を送信することで、ユーザは自身の操作していないタイミングで不正に情報処理装置の操作が行われていないかを確認することができる。また、ユーザ端末と情報処理装置との暗号化通信はホストサーバを介さずに行ってもよい。その場合、ステップS354において、ユーザ端末は情報処理装置に暗号化データを送信し、ステップS356以降の処理に進む。
【0030】
次にステップS356において、情報処理装置内の通信部は、ホストサーバから受信したデータを暗号処理部に送信する。暗号処理部は、受信した暗号化データのうち、暗号鍵Aを用いて暗号化された送信データを基に暗号鍵Aを用いてタグを生成する。そして、暗号化処理部は、生成したタグと、ホストサーバから受信した暗号化データのタグとを比較することで暗号化データの認証を行う。暗号処理部は、上記認証がクリアされた場合のみ、ステップS357Aにおいて、暗号鍵Aを用いて復号した送信データを制御部に送信する。上記認証がクリアされなかった場合、暗号処理部は、ステップS357Bにおいて、暗号化データを制御部に送信せず破棄する。このとき、暗号処理部は、正規の暗号鍵Aによって暗号化されていないデータを受信した旨を、不正データ受信情報として通信部を介してホストサーバに送信しても良い。この場合、ホストサーバは受信した不正データ受信情報をユーザ情報、ESIDと関連付けて不正データ受信記録として記録し、ユーザ端末からの要求に応じて、不正データ受信記録をユーザ端末に送信しても良い。このようにすることで、ユーザは、自身の情報処理装置に不正なデータが入力されていないかを確認することができる。また、情報処理装置が暗号鍵Aを保有しておらず、上記の認証自体が実行できない場合も、認証が失敗したとして暗号化データを削除してよい。
【0031】
上記の例では、ステップS356で暗号化データの認証処理が行われた後、その認証処理の結果に応じて暗号化データが復号又は削除されている。これに対して、AES-GCM等のように暗号化データを復号することによって暗号化データの認証をおこなう認証方法が用いられる場合、ステップS356において暗号化データの復号処理と認証処理とがまとめて行われてもよい。その場合、認証処理に失敗した暗号化データは、ステップS357Bにおいて削除される。
【0032】
このようにして、暗号鍵Aを持つユーザ端末によって正規に暗号化されたデータだけが制御部に送信され、認証をクリアしなかった暗号化データが制御部に入力されることを防ぐ。また、暗号処理部は、認証をクリアしない暗号化データがあった場合、暗号鍵Aを用いない不正なデータが入力されたとして、ユーザ端末に通知を行っても良い。また、暗号化データには、図10に図示しない、送信元を識別するための送信元情報と、送信先を識別するための送信先情報を、ホストサーバが識別可能な平文データとして付加されてもよい。
【0033】
1.4 情報処理装置内での処理
ユーザ端末から送信された暗号鍵A、L2R鍵は、情報処理装置内の鍵共有部で受信される。鍵共有部は、ホストサーバとの通信を行う通信部の一部、又は通信部自身であっても良く、通信部とは別に独立して存在しても良い。上記暗号鍵AとL2R鍵は、近距離通信手段によって情報処理装置から鍵共有部へと送信される。情報処理装置は、ステップS104の認証処理において、証明書Sの認証結果が正しかった場合、暗号鍵AとL2R鍵とを、暗号処理部内の鍵記憶部に記憶する。
【0034】
制御部、暗号処理部、処理部、通信部及び鍵共有部はそれぞれ別のハードウェア(回路構成)で独立して存在していても良く、あるいは同一ハードウェア上で実行される機能であっても良い。
【0035】
情報処理装置は、Webカメラ及びスマートライトなどのIoT機器であってもよいし、ハードディスクであってもよいし、他の装置であってもよい。ここでは情報処理装置がスマートライトである場合を例に、ユーザ端末が情報処理装置を操作する処理を説明する。
【0036】
ユーザ端末が情報処理装置であるスマートライトを点灯させる処理を例に、ユーザ端末が情報処理装置を遠隔操作する方法を説明する。以下において、情報処理装置は、ユーザ端末が遠隔操作可能な照明装置であり、処理部と制御部とを備える。処理部は電球などの点灯部と、電球が点灯しているか否かを確認するためのセンサとを含む。また制御部は、点灯部に流れる電流量を制御することで照明のオン/オフを切り替える。また制御部は、センサを制御して実際の照明のオン/オフを確認する。
【0037】
図12に示されるように、まず、ステップS401において、ユーザ端末は、スマートライトを点灯させるための点灯コマンドを生成する。そして、ユーザ端末は、生成した点灯コマンドを暗号鍵Aを用いて暗号化して暗号化点灯コマンドを生成する。
【0038】
次にステップS402において、ユーザ端末は、暗号化点灯コマンドを、ホストサーバに送信する。次にステップS403において、ホストサーバは、暗号化点灯コマンドを情報処理装置の通信部に送信する。このとき、ホストサーバは、ユーザ端末から情報処理装置へのデータ送信が行われたことを、データ通信履歴としてユーザ情報とESIDに関連付けて記憶しても良い。ホストサーバからユーザ端末にデータ通信履歴を送信することで、ユーザは自身の操作していないタイミングで不正に情報処理装置の操作が行われていないかを確認することができる。また、ステップS403において、ユーザ端末は、ホストサーバを介さずに暗号化データを情報処理装置に送信してもよい。
【0039】
ステップS404において、情報処理装置の通信部は、ホストサーバから受信した暗号化点灯コマンドを暗号処理部に送信する。ステップS405において、暗号処理部は、受信した暗号化点灯コマンドに対し、認証処理(AES-GCM等の認証付暗号に関する従来技術)を行う。暗号処理部による認証処理によって暗号化点灯コマンドが正規の暗号鍵Aによって生成されたものでないと判定された場合は、ステップS406Bにおいて、暗号処理部はステップS404で受信した暗号化点灯コマンドを削除する。このとき、暗号処理部は、正規の暗号鍵Aによって暗号化されていないデータを受信した旨を、不正データ受信情報として通信部を介してホストサーバに送信しても良い。この場合、ホストサーバは受信した不正データ受信情報をユーザ情報、ESIDと関連付けて不正データ受信記録として記録し、ユーザ端末からの要求に応じて、不正データ受信記録をユーザ端末に送信しても良い。このようにすることで、ユーザは、自身の情報処理装置に不正なデータが入力されていないかを確認することができる。また、ステップS405の認証処理によって、受信した暗号化点灯コマンドが正規の暗号鍵Aで暗号化されたものであると暗号処理部が判定した場合、ステップS406Aにおいて、暗号処理部は、暗号処理部内の鍵記憶部に記憶された暗号鍵Aを用いて暗号化点灯コマンドを復号し、復号した点灯コマンドを制御部に送信する。制御部は、受信した点灯コマンドに従って、点灯部に流れる電流を調整して点灯部を点灯させる。
【0040】
次に、ステップS407において、制御部は、センサに輝度を測定させるための輝度測定信号を送信する。輝度測定信号を受信したセンサは点灯部の輝度を測定し、測定結果を輝度情報として制御部に送信する。次のステップS408において、制御部は、センサから受信した輝度情報を暗号処理部に送信する。ステップS409において、暗号処理部は受信した輝度情報を暗号鍵Aによって暗号化し、暗号化輝度情報を通信部に送信する。ステップS410において、通信部は、受信した暗号化輝度情報をホストサーバに送信する。
【0041】
ステップS411において、ホストサーバは、受信した暗号化輝度情報をユーザ端末に送信する。このとき、ホストサーバは、照明装置からユーザ端末にデータ送信が行われたことを、データ通信履歴として、ユーザ情報とESIDとに関連付けて記憶しても良い。ホストサーバからユーザ端末にデータ通信履歴を送信することで、ユーザは、自身の把握していないタイミングで照明装置からのデータ送信が行われていないか確認することができる。次のステップS412において、ユーザ端末はホストサーバからの暗号化輝度情報を受信し、ユーザ端末上に記憶された暗号鍵Aを用いて復号する。本例のような処理が行われることによって、ユーザ端末は、遠隔地から照明装置を操作することができる。そして、ユーザ端末は、照明装置が正しく点灯したことを知ることができる。
【0042】
なお、暗号処理部は、ステップS405において暗号化データの認証処理を行う代わりに、図11のステップS356についての上記の説明と同様に、暗号化データの認証と復号をまとめて行ってもよい。その場合、暗号処理部は、認証に成功したデータをステップS406Aにおいて制御部に送信する。また、暗号処理部は、認証に失敗したデータをステップS406Bにおいて削除する。
【0043】
上記の説明では、暗号処理部は制御部と通信部との間に位置し、暗号処理部を介さなければ制御部と通信部との間でデータの送受信が行えない構成となっていたが、図13図14のような構成としてもよい。図13及び図14の構成では、暗号処理部は、制御部からの指示によって暗号化、及び復号化を行う。なお、図13図14のような構成にする場合であっても、制御部は、通信部を通じて外部とデータの送受信をする際に、必ず暗号処理部を用いてデータの暗号化、又は復号化を行う。また、情報処理装置とユーザ端末との暗号鍵の共有が行われていない場合、暗号処理部は、認証が正しく行われなかったとして、暗号化データを削除する。例えば、既存の情報処理装置等にソフトウェアで暗号処理部、鍵共有部を実現するような場合に、上記図13図14のような構成を用いてもよい。
【0044】
ユーザ端末が図13及び図14の情報処理装置であるスマートライトを点灯させる処理を例に、ユーザ端末が情報処理装置を遠隔操作する方法を図15を用いて説明する。以下において、情報処理装置は、ユーザ端末が遠隔操作可能な照明装置であり、処理部と制御部とを備える。処理部は、電球などの点灯部と、電球が点灯しているか否かを確認するためのセンサとを含む。また制御部は、点灯部に流れる電流量を制御することで照明のオン/オフを切り替える。また、制御部は、センサを制御して実際の照明のオン/オフを確認する。なお、図12で説明したものと同じ処理のステップに関しては、説明を省略する。ステップS451において、通信部が暗号化点灯コマンドをホストサーバから受信すると、通信部は暗号化点灯コマンドを制御部に送信する。
【0045】
図15に示されるように、ステップS452において、制御部は、受信した暗号化点灯コマンドと、暗号処理部に暗号化点灯コマンドの復号処理を行わせるための復号化要求信号と、を暗号処理部に送信する。ステップS453において、暗号処理部は、受信した暗号化点灯コマンドの認証処理を実行する。前記認証処理によって受信した暗号化点灯コマンドが正規の暗号鍵Aを用いて暗号化されたものでないと判定すると、ステップS454Bにおいて、暗号処理部は暗号化点灯コマンドを削除する。
【0046】
次にステップS455Bにおいて、暗号処理部は、復号化失敗情報を制御部に送信する。このとき、制御部は、正規の暗号鍵Aによって暗号化されていないデータを受信した旨を、不正データ受信情報として通信部を介してホストサーバに送信しても良い。前記の場合、ホストサーバは受信した不正データ受信情報をユーザ情報、ESIDと関連付けて不正データ受信記録として記録し、ユーザ端末からの要求に応じて、不正データ受信記録をユーザ端末に送信しても良い。このようにすることで、ユーザは、自身の情報処理装置に不正なデータが入力されていないかを確認することができる。また、ステップS453の認証処理において暗号化点灯コマンドが正規の暗号鍵Aを用いて暗号化されたものであると判断すると、ステップS454Aにおいて、暗号処理部は暗号鍵Aを用いて暗号化点灯コマンドを復号し、復号した点灯コマンドと、復号化が成功したことを示す復号化成功情報を制御部に送信する。
【0047】
ステップS407において、復号化成功情報を受信した制御部は、点灯コマンドが正規のユーザ端末から送信されたものであるとして、点灯コマンドを実行する。つまり、制御部は点灯部に流れる電流量を調節することで点灯部を点灯させ、センサに輝度を測定させるための輝度測定信号を送信する。輝度測定信号を受信したセンサは点灯部の輝度を測定し、測定結果を輝度情報として制御部に送信する。次のステップS456において、制御部は、輝度情報と、暗号処理部にデータを暗号化させるための暗号化要求信号と、を暗号処理部に送信する。暗号処理部は、制御部からの輝度情報と暗号化要求信号を受信すると、ステップS457において、輝度情報を暗号鍵Aで暗号化したデータである暗号化輝度情報を、制御部に送信する。ステップS458において、制御部は暗号化輝度情報を通信部に送信する。
【0048】
なお、暗号処理部は、ステップS453において暗号化データの認証処理を行う代わりに、図11のステップS356についての上記の説明と同様に、暗号化データの認証と復号をまとめて行ってもよい。その場合、暗号処理部は、認証に成功したデータをステップS454Aにおいて制御部に送信する。また、暗号処理部は、認証に失敗したデータをステップS454Bにおいて削除する。
【0049】
2. ホストサーバを介したE2EE通信を行うためのその他の態様(実施形態2)
上記の例では、情報処理装置300の内部において制御部320と通信部350との間で送受信されるデータを暗号処理部340が暗号化,復号化している。その他の例として暗号処理部340は、図16のように、暗号処理装置3400として情報処理装置300の外部に接続されてもよい。この場合、暗号処理装置3400(単に暗号処理装置ともいう)は、ユーザ端末2と情報処理装置300との間で送受信されるデータを暗号化又は復号化する。
【0050】
図16の形態においては、暗号処理装置は、USBケーブルなどを用いて、ユーザ端末2、及び情報処理装置と有線で接続されて、ユーザ端末2がユーザ端末1と通信を行う。図16の例では、暗号処理装置及びユーザ端末1、が暗号鍵Aを有している。情報処理装置とユーザ端末1との間でのホストサーバ、ユーザ端末2及び暗号処理装置を介したE2EE通信によって、ユーザ端末1が情報処理装置を操作することが可能となる。
【0051】
情報処理装置とユーザ端末1との通信は、必ず情報処理装置とユーザ端末1との間に存在する暗号処理装置を介して行われる。暗号処理装置内部において、暗号化データが正しい暗号鍵で暗号化されたものか否かの認証を行い、認証に失敗したデータは全て、情報処理装置に送信されることなく削除される。また、暗号処理装置とユーザ端末との暗号鍵の共有前に暗号処理装置が通信データを受信した場合、認証失敗として前記通信データを削除する。
【0052】
上記のように、ユーザ端末1と暗号処理装置のみが暗号鍵を共有する態様では、情報処理装置と直接接続されるユーザ端末2が悪意のある第3者に操作された場合であっても、情報処理装置への不正なアクセスを防ぐことが可能である。また、ユーザ端末2が暗号鍵Aを有しても良く、その場合ユーザ端末2は暗号処理装置を操作することができる。その場合、暗号処理装置は、ユーザ端末2から近距離通信手段を用いて暗号鍵を受信してもよい。上述したようにユーザ端末と暗号処理装置がUSBケーブルなどの近距離通信手段によって接続されている場合は、暗号鍵の共有も前記USBケーブルなどの近距離通信手段を用いて行ってもよい。
【0053】
本態様において、情報処理装置内部の情報は暗号処理装置によって暗号化されているため、悪意のある第3者が情報処理装置を直接自身の端末に接続した場合に情報処理装置内のデータを知ることは出来ない。また、暗号処理装置を介して情報処理装置を操作するためには暗号鍵Aによるコマンドの暗号化が必要である。そのため、悪意のある第3者の端末は、情報処理装置内部のデータを抜き出すことは出来ない。
【0054】
図示していないが、以降、ユーザ端末1の所有者をユーザ1、ユーザ端末2の所有者をユーザ2とする。図16の例では、暗号処理装置をユーザ端末2に接続して、ユーザ端末1は、ホストサーバ、ユーザ端末2を介して暗号処理装置にアクセスすることで情報処理装置の遠隔操作をする例を説明している。しかしながら、例えば、暗号処理装置が、ユーザ端末2との接続を行わずに、直接Wifiルータに接続されることによって、ホストサーバを介してユーザ端末1とデータを送受信する形態にしても良い。
【0055】
また、図16のように暗号処理装置が装置として独立しておらず、ユーザ端末2にソフトウェアとしてインストールすることで、本例の暗号処理装置の機能を実行する形態にしても良い。この場合、暗号処理装置はユーザ端末2に含まれる。また、暗号処理装置がWifiモジュールとしての機能を備える構成としても良い。その場合、暗号処理装置は、ユーザ端末2を介さずにホストサーバと通信を行う。つまり、ユーザ端末2を介さずに、ユーザ端末1は情報処理装置を遠隔操作することが可能となる。
【0056】
2.1 暗号処理装置の構成
図17に示されるように、暗号処理装置3400は、ユーザ端末2と通信を行う入出力部3401と、ユーザ端末2との通信を制御するデバイスコントローラ3403と、図16に図示した情報処理装置と通信を行う入出力部3402と、前記通信部350との通信を制御するホストコントローラ3404と、暗号処理装置3400を介して情報処理装置とユーザ端末2との間で送受信されるデータの暗号化,復号化を制御する暗号処理装置制御部3405と、暗号処理装置制御部3405からの指示に応じて、情報処理装置とユーザ端末2との間で送受信されるデータを、暗号鍵Aを用いて暗号化、復号化する暗号処理部3406と、鍵記憶部3407と、を備える。また、暗号処理部3406は、鍵共有部3408から受信した暗号鍵を記憶するための鍵記憶部3407を備える。鍵共有部3408は暗号処理部3406と接続されている。図17で示した暗号処理装置3400内の各部は、独立したハードウェアで構成されていても良いし、ソフトウェアで実現される複数の機能であっても良い。
【0057】
本形態では、通信データの暗号化、及び復号化を行う暗号処理装置3400を情報処理装置の内部、又は情報処理装置とユーザ端末2との間に接続される装置として説明している。しかしながら、情報処理装置と同様の暗号処理機能を有するソフトウェアをユーザ端末2内に実装することで、上記暗号処理を実現しても良い。また、図17の例において、デバイスコントローラ3403及び入出力部3401がWifi等の通信部であってもよい。この場合、暗号処理装置3400は、ユーザ端末2を経由せずに直接インターネット、特にホストサーバと通信を行う。
【0058】
2.2 ホストサーバ、ユーザ端末、暗号処理装置間の認証、鍵交換処理
下記の記載による暗号鍵共有などの処理は一例であり、他の方法によって鍵の共有などを行ってもよい。
【0059】
2.2.1 暗号処理装置の製造時
暗号処理装置の製造時、又は暗号処理装置の製造が完了してから販売するまでの間に、認証鍵S、認証鍵D及びL2U鍵を暗号処理装置に記憶させる(図18参照)。認証鍵S及び認証鍵Dは、証明書を作成するための鍵である。L2U鍵は、ホストサーバと暗号処理装置との間の通信を暗号化するための暗号鍵である。また、暗号処理装置は、上記の鍵の他に、暗号処理装置を識別するための固有の識別情報(ESID)を記憶している。また、ホストサーバは、情報処理装置に記憶されている認証鍵S、認証鍵D、及びL2U鍵を、それぞれそれらの鍵を所有する情報処理装置のESIDに関連付けて記憶している。通信システムは複数の情報処理装置及び暗号処理装置を備えてもよい。ホストサーバは、複数の暗号処理装置のESIDと、それぞれのESIDに関連付けられている認証鍵S、認証鍵D、L2U鍵とを記憶している。
【0060】
2.2.2 暗号鍵Aの生成
図19に示される、暗号処理装置を入手したユーザ1が所持するユーザ端末1が、暗号鍵Aを生成するまでの情報処理システムの動作は、「1.2.2 暗号鍵Aの生成」において説明したものと対応する。具体的には、図19のステップS501からステップS510までは、図6のステップS001からステップS010までの”情報処理装置”を”暗号処理装置”に、“ユーザ端末”を“ユーザ端末1”にそれぞれ読み替えたものであるため、説明を省略する。
【0061】
2.2.3 ユーザ端末1と暗号処理装置との暗号鍵Aの共有
図20に示される、「2.2.2 暗号鍵Aの生成」において生成された暗号鍵Aをユーザ端末1と暗号処理装置とで共有する動作は、「1.2.3 暗号鍵Aの共有」において説明した内容と対応する。具体的には、図20のステップS601からステップS605A及びステップS605Bまでは、図7のステップS101からステップS105A及びステップS105Bまでの“情報処理装置”を“暗号処理装置”に、“ユーザ端末”を“ユーザ端末1”にそれぞれ読み替えたものであるため、説明を省略する。
【0062】
2.2.4 ホストサーバとユーザ端末1とのR2U鍵の共有
「2.2.2 暗号鍵Aの生成」でユーザ端末1が生成したR2U鍵の共有方法について説明する。なお、「1.2.5 R2U鍵の共有」で説明したものと同様の内容は省略する。
【0063】
図21に示されるように、ステップS701において、ユーザ端末1は、R2U鍵をL2R鍵で暗号化し、近距離通信手段を用いて、L2R鍵によって暗号化されたR2U鍵を暗号処理装置に送信する。ステップS702において、暗号処理装置は、ユーザ端末1から前記L2R鍵によって暗号化されたR2U鍵を受信する。そして、暗号処理装置は、暗号処理装置内部に記憶されたL2R鍵によって、暗号化されたR2U鍵を復号し、R2U鍵を得る。
【0064】
次に暗号処理装置は、ステップS703において、ステップS702で復号したR2U鍵を、暗号処理装置内部に記憶されたL2U鍵で暗号化する。ステップS704において、暗号処理装置は、認証鍵Sを認証鍵Dで暗号化して証明書Dを生成する。次に暗号処理装置は、ステップS705において、ESIDと、証明書Dと、L2U鍵で暗号化されたR2U鍵と、を近距離通信手段を用いてユーザ端末1に送信する。ユーザ端末1は、ステップS706において、暗号処理装置から証明書DとL2U鍵で暗号化されたR2U鍵を受信する。
【0065】
次にステップS707において、ユーザ端末1は、証明書Dと、L2U鍵で暗号化されたR2U鍵とをホストサーバに送信する。ステップS708において、ホストサーバは、ユーザ端末1から証明書DとL2U鍵で暗号化されたR2U鍵を受信する。ステップS709において、ホストサーバは、暗号処理装置から受信した証明書Dを受信したESIDに紐付いた認証鍵Dを用いて復号化した結果(認証鍵S’)と予め記憶している認証鍵Sとが一致するかどうかで判定を行う認証処理を実行する。認証がクリアできた場合、ホストサーバは、正しい暗号処理装置との鍵共有であるとして、予め記憶しているL2U鍵で復号したR2U鍵を、暗号処理装置のESIDと関連付けて記憶する。また、前記認証がクリアできなかった場合、ホストサーバは、正しい暗号処理装置との鍵共有ではないとして、ステップS708において受信したR2U鍵を削除する。また、暗号処理装置が既にUSB等の有線接続でユーザ端末2と接続されており、ユーザ端末2を介して暗号処理装置とホストサーバとの通信が可能である場合、ステップS705において、暗号処理装置は、ユーザ端末1ではなくユーザ端末2に証明書DとR2U鍵を送信しても良い。その場合、ステップS706,S707において、ユーザ端末1ではなくユーザ端末2が、証明書DとR2U鍵を受信してホストサーバに送信する処理を行う。
【0066】
2.2.5 ユーザ端末2とユーザ端末1との暗号鍵Aの共有
ユーザ端末1から情報処理装置の遠隔操作を行うために、情報処理装置は暗号処理装置に接続され、暗号処理装置は情報処理装置とユーザ端末2とに接続される。上記ユーザ端末2と暗号処理装置と情報処理装置との接続はUSB方式など、既存の有線通信方式を用いる。
【0067】
図22に示されるように、ステップS801において、ユーザ端末2を特定するためのユーザ情報2を、ユーザ情報1と共にホストサーバに送信する。ユーザ情報2は、例えば、ユーザ2の名前、メールアドレス等の連絡先等である。次にステップS802において、ホストサーバは、ユーザ端末1から送信されたユーザ情報2とユーザ情報1を受信し、ユーザ端末1とユーザ情報2とを関連付けて記憶する。つまり、ホストサーバは、ユーザ情報2を、ESIDと関連付けて記憶する。次にステップS803において、ユーザ端末1は、電子メール等の既存の通信方法を用いて、ユーザ端末2に、暗号鍵Aを生成するために用いるPINと画像を送信する。ステップS804においてユーザ端末からPINと画像を受信したユーザ端末2は、ホストサーバに対し、ホストデータの発行を要求するための、ホストデータ要求信号を送信する。
【0068】
ホストサーバは、ステップS806においてユーザ端末2からのホストデータ要求信号を受信すると、ステップS807において、ESIDと関連付けて記憶されているホストデータをユーザ端末2に送信する。ユーザ端末2は、ホストサーバからホストデータを受信すると、ステップS808において、ユーザ端末1から受信したPINと画像、ホストサーバから受信したホストデータを基に暗号鍵Aを生成する。このようにして、ユーザ端末1から電子メール等の既存の通信手段を用いてユーザ端末2に送信されたPIN、及び画像と、ホストサーバからユーザ端末2に送信されたホストデータと、を用いてユーザ端末2上で暗号鍵Aを生成することで、ユーザ端末2との鍵共有を安全に行うことができる。
【0069】
2.3 ユーザ端末1から情報処理装置を遠隔操作する方法
2.3.1 ユーザ端末1から情報処理装置へのデータ送信
ユーザ端末1が情報処理装置300を遠隔操作する処理を説明する。ここで、情報処理装置300は、暗号処理装置3400を介してユーザ端末2に接続されている外付けハードディスク(HDD)であり、ユーザ端末1からHDDにデータの書込み、読出しを行う例を記載する。この例において情報処理装置300は、記憶部及び制御部を含む記憶装置であり、制御部はユーザ端末1から受信したコマンドを基に、記憶部にデータの読み書きを行う。また、本例において、記憶装置(情報処理装置300)の記憶部内のデータは暗号鍵Aによって暗号化されたまま記録されている。
【0070】
図23に示されるように、まずステップS901において、ユーザ端末1は、記憶装置(情報処理装置300)からデータを読み出すための読出しコマンド、及び記憶装置にデータを書き込むための書込みコマンドを暗号化する。また、ユーザ端末1は、記憶装置に書き込むデータを、後述する方法を用いて2重暗号化する。
【0071】
次にステップS902において、ユーザ端末1は暗号化データをホストサーバに送信し、ステップS903においてホストサーバは、暗号化データをユーザ端末2に送信する。このとき、ホストサーバは、ユーザ端末1から暗号処理装置へのデータ送信が行われたことを、データ通信履歴としてユーザ情報1又はESIDと関連付けて記憶しても良い。このようにすることで、ユーザは自身の操作していないタイミングで不正に情報処理装置の操作が行われていないかを確認することができる。
【0072】
次にステップS904において、ユーザ端末2は、暗号化データを暗号処理装置に送信する。次にステップS905において、暗号処理装置は、暗号化データの認証処理を実行する。前記認証によって、暗号処理装置が、暗号化データが正規の暗号鍵Aで暗号化されたものでないと判定した場合、次のステップS906Bにおいて、暗号処理装置は暗号化データを削除する。このとき、暗号処理装置は、正規の暗号鍵Aによって暗号化されていないデータを受信した旨を、不正データ受信情報として、ユーザ端末2を介してホストサーバに送信しても良い。前記の場合、ホストサーバは受信した不正データ受信情報をユーザ情報1、又はESIDと関連付けて不正データ受信記録として記憶し、ユーザ端末からの要求に応じて、不正データ受信記録をユーザ端末に送信してもよい。このようにすることで、ユーザ1は、自身の情報処理装置に不正なデータが入力されていないかを確認することが出来る。また、ステップS905の認証処理において、暗号処理装置が暗号鍵Aを有していない場合、暗号処理装置は、認証に失敗したとして暗号化データを削除してもよい。また、ステップS905の認証において、暗号処理装置が、暗号化データが正規の暗号鍵Aで暗号化されたものであると判定された場合、ステップS906Aにおいて、暗号処理装置は暗号化データを復号する。このとき、2重に暗号化を施した2重暗号化データは、2重目のみが復号化され、暗号化データとして出力される。具体的には、書込みデータは暗号化されたままの暗号化書込みデータであり、書込みコマンド、及び読出しコマンドは平文データとなっている。次にステップS907において、暗号処理装置は暗号化データと平文データを記憶装置(情報処理装置300)の通信部に送信し、ステップS908において、通信部は暗号化データと平文データとを記憶装置の制御部に送信する。
【0073】
ステップS909において、制御部は受信した書込みコマンドを実行し、暗号化された書込みデータを記憶部に書き込む。また、ステップS910において、制御部は、読出しコマンドを実行し、暗号化されている暗号化読出しデータを記憶部から読み出す。次にステップS911において、制御部は暗号化データを通信部に送信し、ステップS912において、通信部が暗号化データを暗号処理装置に送信する。ステップS913において、暗号処理装置は、受信した暗号化データをさらに暗号化することで、2重暗号化データを生成する。次にステップS914において、暗号処理装置は2重暗号化データをユーザ端末2に送信し、ステップS915において、ユーザ端末2は、受信した2重暗号化データをホストサーバに送信する。ステップS916においてホストサーバは暗号化データをユーザ端末1に送信する。このとき、ホストサーバは、記憶装置からユーザ端末にデータ送信が行われたことを、データ通信履歴として、ユーザ情報1又はESIDに関連付けて記憶しても良い。ホストサーバからユーザ端末1にデータ通信履歴を送信することで、ユーザ1は、自身の把握していないタイミングで記憶装置からのデータ送信が行われていないかを確認することが出来る。次にステップS917において、ユーザ端末1は暗号鍵Aを用いて暗号化データを復号する。上記のようにすることで、ユーザ端末1を操作して記憶装置を遠隔操作することで、データの読出しと書込みが可能となる。
【0074】
なお、暗号処理部は、ステップS905において暗号化データの認証処理を行う代わりに、図11のステップS356についての上記の説明と同様に、暗号化データの認証と復号をまとめて行ってもよい。その場合、暗号処理部は、ステップS907において、認証に成功したデータを記憶装置(情報処理装置300)の通信部に送信する。また、暗号処理部は、認証に失敗したデータをステップS906Bにおいて削除する。
【0075】
2.3.2 通信データの2重暗号化
2重暗号化は、図24に示したように、暗号鍵Aを用いて暗号化した暗号化データを、もう一度同じ暗号鍵Aを用いて暗号化することで生成される。このとき、暗号鍵Aは同じものを用いるが、暗号鍵Aの他に暗号化に必要なIVとsaltは、1重目と2重目で異なる値が用いられる。また暗号化部分2については、暗号鍵Aではなく、ユーザ端末1によって設定された任意の暗号鍵Xによって暗号化しても良い。その場合、図23の例において記憶装置に書き込まれる暗号化データは、暗号鍵Xを有するものによってのみ復号が可能となる。
【0076】
2.3.3 暗号処理装置内の処理
「2.3.1 ユーザ端末1から情報処理装置へのデータ送信」における、暗号処理装置内部の処理について説明する。
【0077】
ステップS904においてユーザ端末2が暗号処理装置3400に暗号化データを送信すると、図25に示されるように、ステップS1301において、入出力部3401が暗号化データを受信する。次に、ステップS1302において、デバイスコントローラ3403は、入出力部3401に入力された暗号化データを記憶部3409に送信し記憶させる。次に、ステップS1303において、暗号処理装置制御部3405は、記憶部3409から暗号化データを読み出し、暗号処理部3406に送信する。暗号化データを受信した暗号処理部3406は、ステップS905の認証を行う。認証については、図23で説明したため省略する。認証の結果、正規の暗号鍵であると判定された場合、ステップS1304A(ステップS906に対応)において、暗号処理部3406は暗号化データを復号する。次にステップS1305において、暗号処理部3406は入出力部3402に復号化データを送信する。ステップS1306(ステップS907に対応)において、入出力部3402は、復号化データを情報処理装置300の通信部350に送信する。
【0078】
ステップS912において、情報処理装置が暗号処理装置に送信データ(図23では暗号化データとしている)を送信すると、図26に示されるように、ステップS1351において、入出力部3402が暗号化データを受信する。次にステップS1352において、ホストコントローラ3404は、入出力部3402に入力された送信データを記憶部3409に送信し記憶させる。次にステップS1353において、暗号処理装置制御部3405は、記憶部3409から送信データを読み出し、暗号処理部3406に送信する。送信データを受信した暗号処理部3406は、ステップS1354(ステップS913に対応)において送信データを暗号化する。次にステップS1355において、暗号処理部3406は入出力部3401に暗号化データを送信する。ステップS1356(ステップS914に対応)において、入出力部3401は、暗号化データをユーザ端末2に送信する。
【0079】
なお、暗号処理部は、ステップS1303において暗号化データの認証を行う代わりに、図11のステップS356についての上記の説明と同様に、暗号化データの認証と復号をまとめて行ってもよい。その場合、暗号処理部は、ステップS1305において、認証に成功したデータを入出力部に送信する。また、暗号処理部は、ステップS1304Bにおいて、認証に失敗したデータを削除する。
【0080】
3. ホストサーバを介したE2EE通信を行うためのその他の態様(実施形態3)
3.1 通信システムの構成
上記実施形態1、2の例では、ユーザ端末から情報処理装置の遠隔操作を行うためにホストサーバを介したE2EE通信を説明したが、図27に示される実施形態3では、ユーザ端末1とユーザ端末2とのE2EE通信について記載する。ユーザ端末1とユーザ端末2とのE2EE通信には、例えば、E2EEによるファイル共有、メッセージ送信、ビデオ通話等が含まれる。また、図27において、ユーザ端末2にUSBケーブルなどを介して情報処理装置を接続してもよい。情報処理装置は、例えば、Webカメラや照明装置などのIoT機器である。このようにすることで、ユーザ端末1が、ユーザ端末2を介して情報処理装置を遠隔操作することが可能となる。
【0081】
3.2 暗号鍵Aの生成、共有処理
図28に示されるように、ステップS1001において、ユーザ端末1は、ユーザ情報1をホストサーバに送信する。ユーザ情報1は、ユーザ端末1の所有者であるユーザ1を特定するための情報である。ステップS1002において、ホストサーバは、ユーザ端末1からユーザ情報1を受信し、ユーザ情報1を記憶する。次にユーザ端末1は、ステップS1003において、暗号鍵Aを生成するために必要なPINと画像を入力される。例えば、前記PIN及び画像は、ユーザ1の操作によってユーザ端末1上で生成されても良いし、図示しない他の装置から入力されても良い。
【0082】
次にステップS1004において、ユーザ端末1は、ホストサーバにホストデータの発行を要求するためのホストデータ要求信号をホストサーバに送信する。ホストデータ要求信号を受信したホストサーバは、ステップS1005においてホストデータを発行し、ユーザ端末1に送信する。なお、この時、ホストサーバは、発行したホストデータを、ユーザ情報1と関連付けて記憶する。
【0083】
ステップS1006において、ユーザ端末1は、ステップS1003で入力されたPIN、及び画像と、ステップS1005でホストサーバから送信されたホストデータとを用いて、暗号鍵Aを生成する。次にステップS1007において、ユーザ端末1は、ユーザ情報2を、ユーザ情報1と共にホストサーバに送信する。ユーザ情報2は、ユーザ端末2及びユーザ2を特定するためのデータである。次に、ステップS1008において、ユーザ端末1からのユーザ情報2を受信したホストサーバは、ユーザ情報2をユーザ情報1と関連付けて記憶する。
【0084】
次に、ステップS1009において、ユーザ端末1は、電子メール等の既存の通信方法を用いて、ユーザ端末2に、暗号鍵Aを生成するために用いるPINと画像とを送信する。ステップS1010においてユーザ端末1からPINと画像を受信したユーザ端末2は、ステップS1011において、ホストデータの発行を要求するためのホストデータ要求信号をホストサーバに送信する。ホストサーバは、ステップS1012においてユーザ端末2からのホストデータ要求信号を受信すると、ユーザ情報1と関連付けられて記憶しているホストデータをユーザ端末2に送信する。ステップS1014において、ユーザ端末2は、ステップS1010でユーザ端末から受信したPIN、及び画像と、ステップS1013でホストサーバから送信されたホストデータとを用いて、暗号鍵Aを生成する。ユーザ端末2が、画像、PIN、ホストデータを用いて上記暗号鍵Aを生成するためのアルゴリズムは、鍵生成ソフトとして、予めユーザ端末2上にダウンロードされていても良い。
【0085】
上記のようにして、ユーザ端末1から電子メール等の既存の通信手段を用いてユーザ端末2に送信されたPIN、及び画像と、ホストサーバからユーザ端末2に送信されたホストデータと、を用いてユーザ端末2上で暗号鍵Aを生成することで、ユーザ端末2との鍵共有を安全に行うことができる。上記のようにして共有した暗号鍵Aを用いて、ユーザ端末1、及びユーザ端末2は、互いに送受信するデータを暗号化、復号化することにより、E2EE通信を行う。
【0086】
4. 暗号鍵Aの生成方法と暗号化データ
4.1 暗号鍵Aの生成方法
上記の実施形態1,2,3での暗号鍵Aの生成方法を説明する。なお、下記における暗号鍵Aの生成方法は一例であり、他の方法によって、画像、PIN及びホストデータから暗号鍵Aを生成してもよい。また、上述したように、ホストサーバではなくユーザ端末がホストデータを生成してもよい。
【0087】
図29に示すように、画像とPINとを用いて、暗号鍵Aの元となる種暗号鍵αが生成される。PINは、ユーザが任意に入力するデータであり、例えば、6桁以上の英数字である。また、本例ではPINと画像とを用いて種暗号鍵を生成するが、画像の代わりに、音楽ファイル、ビデオデータ、あるいはその他のドキュメントファイル等を用いても良い。PINと画像とを用いて種暗号鍵αを生成する処理は、同一の画像とPINとを用いた場合、必ず同一の種暗号鍵αが得られるものである。例えば、画像データの一部をPINによって一意に選択し、選択された画像データの一部に対してPINによってスクランブルを行って種暗号鍵αを一意に決定することができる。上記のようにして得られた種暗号鍵αとホストデータを用いて、暗号鍵Aを生成する。種暗号鍵αとホストデータとから暗号鍵Aを生成する処理は、同一の種暗号鍵αとホストデータを用いた場合、必ず同一の暗号鍵Aが得られるものである。例えば、種暗号鍵αと、ホストデータとの排他的論理和を取ることによって、暗号鍵Aを生成しても良い。そして、ホストサーバがホストデータの制御を行うことで、ユーザ端末に入力された画像とPINが同一のものであっても、もとの暗号鍵A1が異なる暗号鍵A2に変更される。例えば実施形態1において、複数の情報処理装置(情報処理装置A1と情報処理装置A2)をそれぞれ暗号鍵A1と暗号鍵A2とを用いて操作する場合、ホストサーバがホストデータを制御することによって、ユーザ端末は同一のPINと画像を用いて異なる暗号鍵A1とA2を使い分けることができる。また実施形態2において、複数の暗号処理装置(暗号処理装置A1と暗号処理装置A2)をそれぞれ暗号鍵A1と暗号鍵A2とを用いて操作する場合も、ユーザ端末1は上記と同様にして異なる暗号鍵A1とA2を使いわけることができる。また実施形態3において、複数のユーザ端末(ユーザ端末A1とユーザ端末A2)とそれぞれ暗号鍵A1と暗号鍵A2とを用いて通信する場合も、ユーザ端末1は上記と同様に異なる暗号鍵A1とA2を使い分けることができる。実施形態1の場合、例えば、暗号鍵Aを生成するためにホストサーバにホストデータの送信を要求する際、ユーザ端末は、情報処理装置のESIDを送信しても良い。このようにすることで、ホストサーバがホストデータを生成してユーザ端末に送信する際、ホストデータとESIDとが1対1対応するように制御することができる。
【0088】
また、ホストサーバは、ユーザ端末からの要求を受けて、あるいは定期的に、異なるホストデータをユーザ端末に送信してもよい。このようにすることで、暗号鍵Aは、例えば後述するグループメンバーの削除処理において更新される。
【0089】
また、ホストサーバ又はユーザ端末は、暗号鍵Aの生成に用いたホストデータと、ホストデータを特定するためのホストデータ識別情報とを関連付けて記憶してもよい。そして、ユーザ端末及び暗号処理部は、暗号鍵Aを用いて生成した暗号化データを送信する際に、ホストデータ識別情報を付加してもよい。そして、ユーザ端末及び暗号処理部は、暗号化データに付加されたホストデータ識別情報に対応するホストデータによって生成された暗号鍵Aで、当該暗号化データを復号する。このようにすることで、ユーザ端末又は暗号処理装置は、上記のように暗号鍵Aが異なる暗号鍵A’に更新された場合であっても、過去に暗号鍵Aで暗号化された暗号化データを復号することができる。
【0090】
5. 複数のユーザ端末によるグループの作成方法
実施形態1~3において、暗号鍵Aを用いたユーザ端末1単独による情報処理装置の遠隔操作、及びユーザ端末1とユーザ端末2との間の通信について説明した。本発明においては、図30のように、複数のユーザ端末が属するグループ間で暗号鍵Aを共有しても良い。また、あるグループに属するユーザ端末が、他の任意のグループに属していても良い。
【0091】
5.1 新規ユーザの追加と暗号鍵A1の共有方法
実施形態3の態様を用いて、グループの作成方法を説明する。ここでは、ユーザ端末1とユーザ端末2とで構成されるグループ1に、新たにユーザ端末3(ユーザ端末400の一種)を追加する場合を例に説明する。図31に示されるように、ステップS1101において、ユーザ端末1は、グループIDを生成し、ホストサーバに送信する。グループIDは、グループを識別するためのIDである。このとき、実施形態1又は2において、すでに情報処理装置又は暗号処理装置のESIDとユーザ端末1とがホストサーバに関連付けて記憶されている場合は、グループIDと、ユーザ端末3に操作を許可する情報処理装置又は暗号処理装置のESIDとをホストサーバに送信する。
【0092】
次にステップS1102において、ホストサーバは、ユーザ端末1から送信されたグループIDと、ユーザ情報1とを関連付けて記憶する。また、グループIDと共に、情報処理装置又は暗号処理装置のESIDがユーザ端末1から送信された場合は、グループIDと、ユーザ情報1と、ESIDとを関連付けて記憶する。
【0093】
ステップS1103において、ユーザ端末1は、ユーザ端末3をグループに追加するために、ユーザ端末3の情報であるユーザ情報3を、グループIDとともにホストサーバに送信する。このとき、実施形態1又は2の場合において、すでに情報処理装置又は暗号処理装置のESIDとユーザ端末とがホストサーバに関連付けて記憶されている場合は、ユーザ情報3と、グループIDと、情報処理装置又は暗号処理装置のESIDとを、ホストサーバに送信しても良い。
【0094】
次にステップS1104において、ホストサーバは、ユーザ端末1から送信されたグループIDと、ユーザ情報3とを、関連付けて記憶する。また、グループIDと共に、情報処理装置又は暗号処理装置にESIDがユーザ端末1から送信された場合は、グループIDと、ユーザ情報3と、ESIDとを関連付けて記憶する。ステップS1105において、ユーザ端末1は、ユーザ端末3に、自身の暗号鍵Aを生成するために用いるPINと画像を、電子メール等の既存の通信方式で送信する。ここで、ユーザ端末1はすでに実施形態1,2,3で説明した方法で、自身の暗号鍵を生成するものとする。例えば、ユーザ端末1は、自身の暗号鍵Aを生成してから、ステップS1101の処理を開始する。ステップS1106において、ユーザ端末3は、ユーザ端末1からPINと画像を受信する。
【0095】
次にユーザ端末3は、ステップS1107において、ホストサーバに、ホストデータの発行を要求するための、ホストデータ要求信号を送信する。ステップS1108において、ホストサーバは、ホストデータ要求信号を受信する。次にステップS1109において、ホストサーバは、ユーザ端末1が暗号鍵Aを生成する際にユーザ情報と関連付けて記憶したホストデータを、ユーザ端末3に送信する。ステップS1110において、ユーザ端末3は、ステップS1106で受信したPIN、及び画像と、ステップS1109においてホストサーバが送信したホストデータとを用いて、暗号鍵Aを生成する。このようにしてユーザ端末1は、ユーザ端末3を自身の作成したグループに加入させることができる。また、ユーザ端末1は、図30に示したように、複数のグループに属しても良い。このとき、ユーザ端末1は、複数のグループに対して異なる暗号鍵A1と暗号鍵A2を共有しても良い。「4.1 暗号鍵Aの生成方法」で説明したように、同一のPINと画像を基に同一の種暗号鍵αを生成し、ホストサーバがホストデータを制御することで異なる暗号鍵A1と暗号鍵A2とを生成することができる。その場合、ホストサーバは、ホストデータとグループIDとが1対1の対応になるように、ホストデータの発行を行う。上記では、ホストサーバは、ユーザよって送られたPINと画像を受信していないため、暗号鍵Aをホストサーバ上で生成することが出来ない。このようにすることで、ユーザ端末1とユーザ端末3は、ホストサーバに暗号鍵を知られることなく暗号鍵Aを共有することができるため、ホストサーバの運営者に対するユーザのプライバシーを保護し、機密情報等の漏洩を防ぐことができる。
【0096】
5.2 ユーザ端末をグループから削除する方法
グループからユーザ端末を削除する方法について説明する。図30で示した、ユーザ端末1、ユーザ端末2、ユーザ端末4(ユーザ端末400の一種)からなるグループ2から、ユーザ端末4を削除する処理を例に挙げて説明する。また、グループ2は、「5.1 新規ユーザの追加と暗号鍵A1の共有方法」において説明した方法で作成されており、ユーザ端末1、ユーザ端末2、ユーザ端末4は、暗号鍵A2と、暗号鍵A2を作成するために用いた画像、PINを有しているものとする。また、ホストサーバは、各ユーザ端末が暗号鍵A2を生成するために発行したホストデータHと、ユーザ情報1、ユーザ情報2、ユーザ情報4とを関連付けて記憶しているものとする。実施形態1又は2の形態においては、ホストデータHと、ユーザ情報1と、ユーザ情報2と、ユーザ情報4と、情報処理装置又は暗号処理装置のESIDと、が関連付けて記憶されている。
【0097】
図32に示されるように、まずステップS1201において、ユーザ端末1は、グループ2から削除したいユーザ端末の情報であるユーザ情報4と、ユーザ端末4をグループ2から削除するためのユーザ削除要求信号と、グループ2のグループIDとをホストサーバに送信する。前記ユーザ削除要求信号を受信したホストサーバは、ステップS1202において、グループ2のグループIDに関連付けて記憶されたユーザ情報4を削除し、ユーザ端末1及びユーザ端末2に、ホストデータHとは異なる新たなホストデータH’を送信する。次にステップS1204において、ユーザ端末1は、自身が記憶しているPINと、画像と、新たにホストサーバから送信されたホストデータH’とを用いて、新たな暗号鍵A2’を生成する。
【0098】
次に、ステップS1205において、ユーザ端末2は、自身が記憶しているPINと、画像と、新たにホストサーバから送信されたホストデータH’とを用いて、新たな暗号鍵A2’を生成する。ステップS1204でのユーザ端末1による暗号鍵A2’の生成と、ステップS1205でのユーザ端末2による暗号鍵A2’の生成とは、順序が逆になっても良い。また、暗号鍵A2の生成に用いたPIN、及び画像と、暗号鍵A2’の生成に用いたPIN、及び画像とは、同一であっても良い。その場合、暗号鍵A2と暗号鍵A2’とは共に同一の種暗号鍵αから生成されることになる。上記の例で説明したように、暗号鍵A2と暗号鍵A2’とは、異なるホストデータであるホストデータHとホストデータH’とを用いて生成しているため、それぞれ異なる暗号鍵となる。このようにすることで、ユーザ端末1とユーザ端末2との暗号鍵A2を新たな暗号鍵A2’に変換できる一方、ユーザ端末4はホストサーバからのホストデータH’を受信できないために暗号鍵A2’を生成することができない。したがって、新たに暗号鍵A2’を使用して暗号化通信を行うグループ2からユーザ端末4を削除することができる。また、図32のステップS1202で、ホストサーバはユーザ情報4を削除せず、単にユーザ端末4にホストデータH’を送信しないことでグループ2からユーザ端末4を削除してもよい。
【0099】
実施形態1又は2においては、例えばユーザ端末1が、上記の例において生成した暗号鍵AM’を、近距離通信手段によって、情報処理装置又は暗号処理装置に送信してもよい。また、実施形態1又は2においては、ホストサーバが、上記の例におけるホストデータH’情報処理装置又は暗号処理装置に送信してもよい。この場合、情報処理装置及び暗号処理装置は暗号鍵生成アルゴリズムを有する。そして、情報処理装置又は暗号処理装置は、予めユーザ端末が送信したPIN及び画像と、ホストサーバが送信したホストデータH’とを用いて暗号鍵AN’を生成する。
【0100】
また、上記のように暗号鍵Aを暗号鍵A’に変更せず、ホストサーバによってユーザ端末4のデータの送受信を制御することでグループユーザの管理を行ってもよい。例えば、実施形態1のように情報処理装置の遠隔操作を行う形態において、情報処理装置と共有された暗号鍵A2を保持するグループ2からユーザ端末4を削除する例を以下で説明する。この場合、ホストサーバは、ユーザ端末4に送受信される暗号化データを全て削除して情報処理装置との通信を遮断する。
【0101】
また、ホストサーバは、ユーザ端末4がグループから削除されたことを示すユーザ削除情報とユーザ情報4とを情報処理装置に送信しても良い。前記ユーザ削除情報を受信した情報処理装置は、ユーザ端末4との間で送受信されたデータを、暗号処理部において全て削除する。
【0102】
また、前記ユーザ削除情報は、上述のようにホストサーバから自発的に送信されるほかに、情報処理装置の起動時、又は通信処理の開始時など、所定のタイミングで情報処理装置からホストサーバに対し、最新のユーザ削除情報を送信するよう要求してもよい。このようにすることで、情報処理装置内の暗号処理部においても、グループから削除されたユーザ端末との通信を遮断することが可能となる。
【0103】
また、ホストサーバ又は/及び情報処理装置は各ユーザの権限を表すユーザ権限情報を保持しても良い。ユーザ権限情報とは、例えば、各ユーザが情報処理装置に対し行うことの出来る操作の種類等を規定した情報である。このようにすることで、ホストサーバ又は/及び情報処理装置は、各ユーザの操作が、ユーザ権限情報によって許可された範囲のものでない場合に、ユーザ端末からの送信データを削除して、通信を遮断することが出来る。上記のように、暗号処理部がユーザ削除情報又はユーザ権限情報を保持することにより、特定のユーザ端末がホストサーバを介さずに情報処理装置と通信を行う場合であっても、ユーザとの情報処理装置内の制御部との通信を適切に遮断することができる。
【0104】
ここに開示される要素の機能は、当該開示される要素を実行するように構成された、あるいは当該開示される機能を実行するようにプログラミングされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(「特定用途向け集積回路」)、従来の回路構成及び/またはそれらの組み合わせを含む回路構成あるいは処理回路構成が用いられて実装されてもよい。プロセッサは、それが、その中にトランジスタ及び他の回路構成を含むとき、処理回路構成あるいは回路構成として見なされる。本開示において、回路構成、ユニットあるいは手段は、挙げられた機能を実行するハードウェア、あるいは当該機能を実行するようにプログラミングされたハードウェアである。ハードウェアは、挙げられた機能を実行するようにプログラミングされた、あるいは当該機能を実行するように構成された、ここで開示されるいかなるハードウェアあるいは既知の他のものであってもよい。ハードウェアが、あるタイプの回路構成として見なされるかもしれないプロセッサであるとき、回路構成、手段あるいはユニットは、ハードウェアとソフトウェアの組み合わせ、ハードウェアを構成するために用いられるソフトウェア及び/またはプロセッサである。
本開示には以下の態様が含まれる。
第1の態様に係る情報処理装置は、制御回路構成と、暗号処理回路構成と、通信回路構成とを備え、前記制御回路構成は前記情報処理装置での所定の処理の実行を制御し、前記暗号処理回路構成は前記制御回路構成と前記通信回路構成との間に流れるデータの暗号化又は復号化を行い、前記通信回路構成は、暗号化又は復号化されたデータを当該情報処理装置以外の外部機器と送受信を行う。
第2の態様に係る情報処理装置は、第1の態様に係る情報処理装置であって、前記暗号処理回路構成は前記制御回路構成と前記通信回路構成との間のデータ経路上に位置し、前記制御回路構成と前記通信回路構成との間に流れるデータは、前記暗号処理回路構成を介して送受信される。
第3の態様に係る情報処理装置は、第2の態様に係る情報処理装置であって、前記暗号処理回路構成は、前記暗号処理回路構成を介して送受信されるデータのうち一部のデータを選択して暗号化又は復号化処理を行う。
第4の態様に係る情報処理装置は、第1の態様に係る情報処理装置であって、前記制御回路構成は、暗号化要求信号及び暗号化対象データ、又は復号化要求信号及び復号化対象データを前記暗号処理回路構成に送信し、前記暗号処理回路構成は、前記暗号化要求信号又は前記復号化要求信号に応じて、前記暗号化対象データの暗号化又は復号化対象データの復号化を行う。
第5の態様に係る情報処理装置は、第1の態様から第4の態様のいずれか1つに係る情報処理装置であって、前記暗号処理回路構成は、受信データを復号化し、当該受信データが正規の暗号鍵で暗号化されたものか否かを判定する認証を行う。
第6の態様に係る情報処理装置は、第5の態様に係る情報処理装置であって、前記暗号処理回路構成は、前記受信データが前記正規の暗号鍵で暗号化されたものであると判定した場合に、復号したデータを前記制御回路構成に送信する。
第7の態様に係る情報処理装置は、第5の態様に係る情報処理装置であって、前記暗号処理回路構成は、前記受信データが前記正規の暗号鍵で暗号化されたものでないと判定した場合に、当該受信データの削除、第1の認証失敗情報の前記制御回路構成への送信及び当該第1の認証失敗情報の前記通信回路構成への送信のうちの少なくとも1つを行い、前記第1の認証失敗情報は正規の暗号鍵で暗号化されていないデータを受信したことを示す情報である。
第8の態様に係る情報処理装置は、第5の態様に係る情報処理装置であって、前記情報処理装置が暗号鍵を有していない場合、前記暗号処理回路構成は前記受信データの削除、第2の認証失敗情報の前記制御回路構成への送信及び当該第2の認証失敗情報の前記通信回路構成への送信のうちの少なくとも1つを行い、前記第2の認証失敗情報は正規の暗号鍵を有していない前記暗号処理回路構成がデータを受信したことを示す情報である。
第9の態様に係る暗号処理装置は、情報処理装置と、前記情報処理装置に有線もしくは無線によって接続された外部装置と、暗号処理装置とを備える暗号通信システムの当該暗号処理装置であって、前記外部装置と前記情報処理装置との間で通信される通信データは全て前記暗号処理装置を介して送受信され、前記暗号処理装置は前記通信データの暗号化又は復号化を行う。
第10の態様に係る暗号処理装置は、第9の態様に係る暗号処理装置であって、前記暗号処理装置は、受信データを復号し、当該受信データが正規の暗号鍵で暗号化されたものか否かを判定する認証を行う。
第11の態様に係る暗号処理装置は、第10に係る暗号処理装置であって、前記暗号処理装置は、前記受信データが前記正規の暗号鍵で暗号化されたものであると判定した場合に、復号化したデータを前記情報処理装置あるいは前記外部装置に送信する。
第12の態様に係る暗号処理装置は、第10の態様に係る暗号処理装置であって、前記暗号処理装置は、前記受信データが前記正規の暗号鍵で暗号化されたものでないと判定した場合に、当該受信データの削除及び第1の認証失敗情報の前記外部装置への送信のうちの少なくとも1つを行い、前記第1の認証失敗情報は前記正規の暗号鍵で暗号化されていないデータを受信したことを示す情報である。
第13の態様に係る暗号処理装置は、第10の態様に係る暗号処理装置であって、前記暗号処理装置は、暗号鍵を有していない場合、前記受信データの削除及び第2の認証失敗情報の前記外部装置への送信のうちの少なくとも1つを行い、前記第2の認証失敗情報は前記正規の暗号鍵を有していない前記暗号処理装置がデータを受信したことを示す情報である。
第14の態様に係る暗号処理装置は、第9の態様に係る暗号処理装置であって、前記外部装置又は前記情報処理装置から、少なくとも2重に暗号化された暗号化データを受信する。
第15の態様に係る方法は、サーバ装置と、種暗号鍵を有する複数のユーザ端末とを備える通信システムにおいて、第1の暗号鍵を共有する第1の暗号鍵共有ユーザ端末群を構成する方法であり、複数のユーザ端末のうち、少なくとも1つのユーザ端末が、前記サーバ装置からホストデータを受信するステップと、前記少なくとも1つの各ユーザ端末のそれぞれが、前記種暗号鍵と、前記サーバ装置から受信した前記ホストデータとに基づいて第1の暗号鍵を生成するステップとを備えることによって、前記第1の暗号鍵共有ユーザ端末群を構成する方法である。
第16の態様に係る方法は、複数のユーザ端末と、各ユーザ端末の権限を示すユーザ権限情報を有するサーバ装置とを備え、前記複数のユーザ端末が、前記サーバ装置を介して通信データを送受信する通信システムにおいて、前記通信データの送受信を遮断する方法であって、前記サーバ装置が、ユーザ端末によって送信された前記通信データを受信するステップと、前記サーバ装置が、前記通信データの送信元又は送信先となるユーザ端末のユーザ権限情報を確認するステップと、前記サーバ装置が、前記ユーザ権限情報に基づいて、前記通信データが正規の権限に基づくものであるか否かの判定を行うステップと、前記判定によって正規の権限に基づく前記通信データであると判定した場合に、前記サーバ装置は前記通信データを送信先となるユーザ端末に送信するステップと、前記判定によって正規の権限に基づく前記通信データで無いと判定された場合に、前記サーバ装置は前記通信データを削除するステップとを備える。
第17の態様に係る方法は、複数のユーザ端末と、各ユーザ端末の権限を示すユーザ権限情報を有するサーバ装置と、情報処理装置とを備え、ユーザ端末と前記情報処理装置とは前記サーバ装置を介して通信データを送受信する通信システムにおいて、前記通信データの送受信を遮断する方法であり、前記サーバ装置が、ユーザ端末と前記情報処理装置との間で通信された前記通信データを受信するステップと、前記サーバ装置が、前記通信データの送信元又は送信先となるユーザ端末の前記ユーザ権限情報を確認するステップと、 前記サーバ装置が、前記ユーザ権限情報に基づいて、前記通信データが正規の権限に基づくものであるか否かの判定を行うステップと、前記判定によって正規の権限に基づく前記通信データであると判定した場合に、前記サーバ装置は前記通信データを送信先となるユーザ端末又は前記情報処理装置に送信するステップと、前記判定によって正規の権限に基づく前記通信データで無いと判定された場合に、前記サーバ装置は前記通信データを削除するステップとを備える。
第18の態様に係る情報処理装置は、第1の態様から第8の態様のいずれか1つ係る情報処理装置であって、前記暗号処理回路構成は、ユーザ端末の権限を示すユーザ権限情報を有し、通信データを受信したとき、前記ユーザ権限情報に基づいて、当該通信データが正規の権限に基づくものであるか否かの判定を行い、前記判定によって、正規の権限に基づく前記通信データであると判定した場合に、前記通信データを送信先となる前記制御回路構成又は前記通信回路構成に送信し、前記判定によって、正規の権限に基づく通信データでないと判定した場合に、前記通信データを削除する。
第19の態様に係る暗号処理装置は、第9の態様から第14の態様のいずれか1つに係る暗号処理装置であって、前記外部装置は、ユーザ端末、又はユーザ端末と前記暗号処理装置との間の通信を経由する通信装置であって、暗号処理装置は、前記ユーザ端末の権限を示すユーザ権限情報を有し、通信データを受信したとき、前記ユーザ権限情報に基づいて、当該通信データが正規の権限に基づくものであるか否かの判定を行い、前記判定によって、正規の権限に基づく前記通信データであると判定した場合に、前記通信データを送信先となる前記情報処理装置又は前記外部装置に送信し、前記判定によって正規の権限に基づく通信データで無いと判定した場合に、前記通信データを削除する。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32