JP2019102970A - データ共有サーバ装置、鍵生成サーバ装置、通信端末、プログラム - Google Patents

データ共有サーバ装置、鍵生成サーバ装置、通信端末、プログラム Download PDF

Info

Publication number
JP2019102970A
JP2019102970A JP2017231716A JP2017231716A JP2019102970A JP 2019102970 A JP2019102970 A JP 2019102970A JP 2017231716 A JP2017231716 A JP 2017231716A JP 2017231716 A JP2017231716 A JP 2017231716A JP 2019102970 A JP2019102970 A JP 2019102970A
Authority
JP
Japan
Prior art keywords
key
communication terminal
user
server device
ciphertext
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017231716A
Other languages
English (en)
Inventor
裕樹 岡野
Hiroki Okano
裕樹 岡野
麗生 吉田
Reisei Yoshida
麗生 吉田
鉄太郎 小林
Tetsutaro Kobayashi
鉄太郎 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017231716A priority Critical patent/JP2019102970A/ja
Publication of JP2019102970A publication Critical patent/JP2019102970A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】前回ログイン中に用いられたセッション鍵を再ログイン時に共有することができるデータ共有サーバ装置を提供する。【解決手段】ユーザAの通信端末から、セッション鍵SKの暗号化に用いる公開鍵pkAを受信し、公開鍵pkAと対になる秘密鍵skAの暗号文である秘密鍵暗号文CskAを受信する受信部と、ユーザAの通信端末に、他の通信端末の公開鍵を送信する送信部を含み、受信部は、ユーザBの通信端末から、セッション鍵SKの暗号文であるセッション鍵暗号文CSK,Bと、再暗号化鍵を受信し、送信部は、ユーザCの通信端末の秘密鍵暗号文CskCを送信し、ユーザCの秘密鍵skCでセッション鍵SKを復号可能な再暗号化暗号文CSK,Cを生成する再暗号化処理部を含み、送信部は、再暗号化暗号文CSK,CをユーザCの通信端末に送信する。【選択図】図2

Description

本発明は、エンドツーエンド暗号化を実現するデータ共有サーバ装置、鍵生成サーバ装置、通信端末、プログラムに関する。
ビジネスでの使用を前提とするメッセージ送信システムとしてパソコンやスマートフォン等のマルチデバイスに対応可能なシステムが存在する。マルチデバイスに対応可能なシステムのうち、企業の機密情報漏えいを考慮し、通信端末にデータを残さないクラウドベース型のメッセージ送信システムが存在する。クラウドベース型のメッセージ送信システムの例として、非特許文献1が挙げられる。
このようなメッセージ送信システムにおいては、通信路を暗号化することで通信経路上の盗聴防止がなされていたり、既に述べたように、通信端末にデータを残さないことによって通信端末の紛失や不正な持ち出しに起因する情報漏えい防止がなされていたりする。このように、従来のメッセージ送信システムは「通信経路」と「通信端末」に対する脅威に対処している一方、サーバ装置に対する脅威への対処は不十分である。
ここでいうサーバ装置に対する脅威として「サーバ装置に対する外部からの攻撃」や「サーバ装置管理者等による内部不正」等が挙げられる。これらの脅威に対し、メッセージを暗号化して記憶する、という対策が考えられる。しかしながら、サーバ装置側でメッセージを復号可能である以上、前述の脅威に対してサーバ装置からのメッセージ漏えいの可能性が依然として存在する。送受信・記憶を行うサーバ装置に送られてくるメッセージがサーバ装置に対して秘匿化されている(サーバ装置側で盗聴されない)ことが重要である。
1つの方法として、サーバ装置に対してメッセージを秘匿し、通信端末でのみ復号可能なエンドツーエンドの暗号化通信を実現することが考えられる。この場合、通信端末間で用いる共通鍵をどのように共有するかが問題となる。この問題の解決策として例えば非特許文献2が開示されている。非特許文献2では中央に認証サーバ装置をもつスター型のネットワークにおいて、認証サーバ装置に対していかなる情報ももらさずに利用者間で鍵(以下、セッション鍵)を共有するプロトコルが提案されている。
これによって、サーバ装置に対しメッセージを秘匿したまま通信端末間でやりとりすることができる。また、現在参加している通信端末でのみメッセージが読めるようセッション鍵の共有を行うため、ユーザの追加・削除等のイベントによりセッション鍵が更新される。
また、再暗号化技術によって現在閲覧を認可されているユーザはそのグループで共有されているデータを、サーバ装置(以降、データ共有サーバ装置と呼ぶ)から秘匿したまま、すべて閲覧することが可能である。例えば、共有メンバ向けに再暗号化鍵を発行して暗号化データを共有したいユーザが復号できるよう、データ共有サーバ装置から秘匿したまま変換処理を行うサービスが存在する。
NTTソフトウェア、"ビジネス向けグループチャットTopicRoom"、[online]、NTTソフトウェア、[平成29年10月18日検索]、インターネット〈URL:https://www.ntt-tx.co.jp/products/topicroom/〉 小林鉄太郎、米山一樹、吉田麗生、川原祐人、冨士仁、山本具英「スケーラブルな動的多者鍵配布プロトコル」、SCIS2016-暗号と情報セキュリティシンポジウム-講演論文集、一般社団法人電子情報通信学会、平成28年1月、4E2-3
データ共有サーバ装置で再暗号化を行うためには、再暗号化鍵が必要である。再暗号化鍵に必要な情報は更新前後のセッション鍵である。一方、グループ内のユーザが全員ログアウトした場合、データを通信端末に残さないという安全上の仕様に従ってグループ内で共有されていたセッション鍵が削除され、グループ内の任意のユーザがログインするときに新たなセッション鍵が生成される。従って各通信端末は、それ以前に使われたセッション鍵を保持しておらず、再暗号化鍵を生成することができない。
そこで本発明では、前回ログイン中に用いられたセッション鍵を再ログイン時に共有することができるデータ共有サーバ装置を提供することを目的とする。
本発明は、データ共有サーバ装置と、鍵生成サーバ装置と、少なくともユーザAとユーザBとユーザCの各々に対応する通信端末を含む複数の通信端末と、を含む通信システムにおける、データ共有サーバ装置であって、受信部と、送信部と、再暗号化処理部を含む。
受信部は、ユーザAの通信端末から、通信端末間で共有され他の装置に知られていないセッション鍵SKの暗号化に用いる公開鍵pkを受信し、公開鍵pkと対になる秘密鍵skの暗号文である秘密鍵暗号文CskAを受信する。送信部は、ユーザAの通信端末に、他の通信端末の公開鍵を送信する。受信部は、ユーザBの通信端末から、セッション鍵SKの暗号文であるセッション鍵暗号文CSK,Bと、ユーザBの通信端末の公開鍵pkと秘密鍵sk、およびユーザCの通信端末の公開鍵pkを用いて生成される再暗号化鍵rkB→C、すなわち(CSK,B,rkB→C)を受信する。送信部は、ユーザCの通信端末の要求に応じて、ユーザCの通信端末の秘密鍵暗号文CskCを送信する。再暗号化処理部は、ユーザCの通信端末の要求に応じて、再暗号化鍵rkB→C、セッション鍵暗号文CSK,Bを用いて、ユーザCの秘密鍵skでセッション鍵SKを復号可能な再暗号化暗号文CSK,Cを生成する。送信部は、再暗号化暗号文CSK,CをユーザCの通信端末に送信する。
本発明のデータ共有サーバ装置によれば、前回ログイン中に用いられたセッション鍵を再ログイン時に共有することができる。
実施例1の通信システムの構成を示すブロック図。 実施例1のデータ共有サーバ装置の構成を示すブロック図。 実施例1の鍵生成サーバ装置の構成を示すブロック図。 実施例1の公開鍵/秘密鍵生成を実行する通信端末の構成を示すブロック図。 実施例1の再暗号化鍵生成を実行する通信端末の構成を示すブロック図。 実施例1のセッション鍵取得を実行する通信端末の構成を示すブロック図。 実施例1の通信システムの公開鍵/秘密鍵生成動作を示すシーケンス図。 実施例1の通信システムの再暗号化鍵生成動作およびセッション鍵取得動作を示すシーケンス図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
<概要>
実施例1の通信システムでは、証明書不要代理人再暗号化技術と、ユーザの認証情報を利用した共通鍵暗号技術を利用する。各ユーザ(例えば、ユーザAとする)の通信端末は、公開鍵と秘密鍵のペアを生成し、一度ログアウトした後のログイン後でも同じ鍵を保持できるよう、秘密鍵を通信システムにログインする際の認証情報を利用した共通鍵暗号で暗号化して、サーバ装置に記憶する。
セッション鍵が更新された際、当該グループの現在ログイン中のユーザのうち1ユーザ(ユーザBとする)が自分の公開鍵で、証明書不要代理人再暗号化の暗号化機能を使ってセッション鍵を暗号化する。また、ユーザBから同じグループに属するすべてのユーザ向けにそれぞれ再暗号化鍵を生成する。例えばユーザAから同じグループに属するユーザBに再暗号化鍵を生成した場合、これをA→Bへの再暗号化鍵と呼ぶ。セッション鍵の暗号文とすべての再暗号化鍵はサーバ装置に記憶される。
グループのユーザ全員がログアウト後、当該グループのユーザ(ユーザCとする)がログインする場合、まず、自身の秘密鍵の暗号文をサーバ装置からダウンロードし、認証情報を用いて自身の秘密鍵を復号する。サーバ装置では、セッション鍵の暗号文を、A→Cへの再暗号化鍵を用いて再暗号化する。ユーザCは再暗号化された暗号文をダウンロードし、自身の秘密鍵を用いてセッション鍵を復号する。
これにより、グループのユーザが全員ログアウトした後にログインした場合でも、前に共有されたセッション鍵を共有することができ、その鍵と現在のセッション鍵を用いて再暗号化鍵を生成し、サーバ装置に記憶されている共有データをすべて現在のセッション鍵で復号できるように変換できる。また、この一連の手続きの中で、サーバ装置からは共有データの内容が漏れることがない。したがって、エンドツーエンド暗号化を達成するクラウドベースの通信システムが実現できる。また、証明書不要暗号化方式なので、PKIが不要となり、証明書管理や鍵とユーザの対応を管理する必要がなく、さらにユーザの認証情報を用いた秘密鍵は暗号化してサーバ装置に記憶するため、ログアウト後に通信端末にデータを残さないというポリシーも実現することができる。
<準備>
集合Nを正の整数全体の集合とする。一方向性証明書不要代理人再暗号方式(Unidirectional certi cateless proxy re-encryption scheme)は次の9つのアルゴリズム(CLSetup,CLDer,SetSV,SetPK,SetSK,CLEnc,SetRK,CLReEnc,CLDec)からなり、それぞれ、以下の入出力をもつアルゴリズムである。また、k∈Nをセキュリティパラメータとする。なお、この暗号方式を以後CLPREと呼ぶことにする。
≪CLSetup(1k)→(params,msk)≫
セキュリティパラメータkを入力とし、公開パラメータparamsとマスター秘密鍵mskを出力するアルゴリズムである。
≪CLDer(params,msk,IDA)→pskA
公開パラメータparamsとマスター秘密鍵msk、ユーザAの識別子IDAを入力とし、ユーザAの部分秘密鍵pskAを出力するアルゴリズムである。
≪SetSV(params,IDA)→svA
公開パラメータparams、ユーザAの識別子IDAを入力とし、ユーザAの秘密値svAを出力するアルゴリズムである。なお、このアルゴリズムは、同じ入力に対して常に同じ出力となるアルゴリズムでないことが望ましい。例えば、アルゴリズム内部で生成した乱数に依存して出力値がランダムに生成されるアルゴリズムであれば好適である。
≪SetSK(params,pskA,svA)→skA
公開パラメータparams、ユーザAの部分秘密鍵pskA、ユーザAの秘密値svAを入力とし、ユーザAの秘密鍵skAを出力するアルゴリズムである。
≪SetPK(params,svA)→pkA
公開パラメータparams、ユーザAの秘密値svAを入力とし、ユーザAの公開鍵pkAを出力するアルゴリズムである。
≪CLEnc(params,IDA,pkA,m)→CA
公開パラメータparams、ユーザAの識別子IDA、ユーザAの公開鍵pkA、平文mを入力とし、暗号文CAを出力するアルゴリズムである。
≪SetRK(params,IDA,pkA,skA,IDB,pkB)→rkA→B
公開パラメータparams、ユーザAの識別子IDA、ユーザAの公開鍵pkA、ユーザAの秘密鍵skA、ユーザBの識別子IDB、ユーザBの公開鍵pkBを入力とし、(一方向性)再暗号化鍵rkA→Bを出力するアルゴリズムである。
≪CLReEnc(params,rkA→B,CA)→CB
公開パラメータparams、再暗号化鍵rkA→B、暗号文CAを入力とし、再暗号化暗号文CBを出力するアルゴリズムである。
≪CLDec(params,skA,C)→m' or ⊥≫
公開パラメータparams、秘密鍵skA、暗号文Cを入力とし、平文m'または拒絶⊥を出力するアルゴリズムである。
さらに、上記のアルゴリズムは以下の条件も満たすものとする。任意のセキュリティパラメータk、CLSetup(1k)によって出力された任意の公開パラメータとマスター秘密鍵の組(params,msk)、任意のユーザAの任意の識別子IDAと任意のユーザBの任意の識別子IDBに対してそれぞれCLDer(params,msk,IDA),CLDer(params,msk,IDB)によって出力される任意の部分秘密鍵pskA,pskBと、それぞれSetSV(params,IDA),SetSV(params,IDB)によって出力される任意の秘密値svA,svB、それぞれSetSK(params,pskA,svA),SetSK(params,pskB,svB)によって出力される任意の秘密鍵skA,skB、それぞれSetPK(params,svA),SetPK(params,svB)によって出力される任意の公開鍵pkA,pkB、SetRK(params,IDA,pkA,skA,IDB,pkB)によって出力される任意の再暗号化鍵rkA→B、任意の平文mに対して、以下の2つの式が成り立つ。
CLDec(params,skA,CLEnc(params,IDA,pkA,m))=m
CLDec(params,skB,CLReEnc(params,rkA→B,CLEnc(params,IDA,pkA,m)))=m
上記を満たすCLPREは、マスター秘密鍵mskを得ていたとしても秘密鍵skが無ければ暗号文の中身が知られないものが望ましい。そのような例は、参考非特許文献1に開示されている。
(参考非特許文献1:C. Sur, C. D. Jung, Y. Park, and K. H. Rhee, "Chosen ciphertext secure certi cateless proxy re-encryption," CMS 2010, LNCS 6109, pp. 214-232, 2010.)
パスワードベース暗号方式(Password-based encryption scheme)は次の2つのアルゴリズム(PBE.Enc,PBE.Dec)からなり、それぞれ、以下の入出力をもつアルゴリズムである。
≪PBE.Enc(pwd,m)→C≫
パスワードpwdと平文mを入力とし、暗号文Cを出力するアルゴリズムである。
≪PBE.Dec(pwd,C)→m≫
パスワードpwdと暗号文Cを入力とし、平文mを出力するアルゴリズムである。
さらに、上記のアルゴリズムは以下の条件も満たすものとする。任意のパスワードpwdと任意の平文mに対して、PBE.Dec(pwd,PBE.Enc(pwd,m))=mが成り立つ。上記を満たすパスワードベース暗号方式の例については、参考非特許文献2に開示されている。
(参考非特許文献2:" PKCS #5: Password-Based Cryptography Specification Version 2.0," [平成29年11月23日検索]、インターネット〈URL:https://tools.ietf.org/html/rfc2898〉)
図1に示すように、本実施例の通信システム1は、データ共有サーバ装置10、鍵生成サーバ装置11、通信端末12、通信端末13、通信端末14を含み、各装置はネットワーク9により通信可能に接続されている。通信端末12、通信端末13、通信端末14はパソコンやスマートフォン等で実現できるが特に限定しない。
以下の説明では、通信端末12は公開鍵/秘密鍵の生成を担当する端末であるものとし、通信端末13はセッション鍵暗号文と再暗号化鍵の生成を担当する端末であるものとし、通信端末14は、再ログイン後のセッション鍵の取得を担当する端末であるものとする。ただし、上記は説明の便宜上の割り振りであるため、例えば通信端末12、通信端末13、通信端末14の機能をすべて併せ持つ通信端末を実現してもよい。
なお、本実施例の通信システム1では、データをやり取りするユーザのグループを形成することができる。以下の実施例では、グループに対し、少なくともユーザA、ユーザB、ユーザCが登録されているものとし、当該システム内での各ユーザの識別子をそれぞれIDA,IDB,IDCとし、ユーザAと通信端末12、ユーザBと通信端末13、ユーザCと通信端末14が対応づいているものとする。各ユーザの識別子はシステム内で公開されているものとする。
データ共有サーバ装置10と鍵生成サーバ装置11は同一であってもよい。データ共有サーバ装置10は、各通信端末から送信された暗号化メッセージの記憶と、他の通信端末への暗号化メッセージの配送を行う。
また、セッション鍵について説明する。セッション鍵は、グループ毎で、そのグループに属するユーザが利用する通信端末間で共有される鍵のことをいう。セッション鍵は、通信端末間で共有されるが、他の装置(特にデータ共有サーバ装置)に知られていないものとする。
通信端末以外の、例えばデータ共有サーバ装置10に対してセッション鍵に関していかなる情報ももらさずに鍵を共有するプロトコルとして、参考非特許文献3が挙げられる。ただし、セッション鍵共有方法については特に限定しない。
(参考非特許文献3:K. Yoneyama, R. Yoshida, Y. Kawahara, T. Kobayashi, H. Fuji, and T. Yamamoto. 2016.Multi-Cast Key Distribution. Scalable, Dynamic and Provably Secure Construction. Cryptology ePrint Archive, Report 2016/833. (2016).)
なお、セッション鍵を安全に共有するために、グループにユーザが追加される、グループからユーザが離脱する(削除される)、一定時間が経過する、ユーザがログイン/ログアウトする度にログイン中のグループのユーザ間でセッション鍵が新たに生成されるものとする。
<通信システム1を構成する各装置の詳細>
図2に示すように、データ共有サーバ装置10は、セッション鍵暗号文記憶部101と、秘密鍵暗号文記憶部102と、再暗号化鍵記憶部103と、再暗号化処理部104と、公開鍵記憶部105と、送信部106と、受信部107を含む。
図3に示すように、鍵生成サーバ装置11は、暗号セットアップ処理部111と、鍵管理部112と、部分秘密鍵生成部113と、送信部114と、受信部115を含む。
図4に示すように、通信端末12は、グループ情報管理部120と、鍵記憶部121と、公開パラメータ記憶部122と、部分秘密鍵要求部123と、秘密値生成部124と、秘密鍵生成部125と、公開鍵生成部126と、秘密鍵暗号化処理部127と、送信部128と、受信部129を含む。
図5に示すように、通信端末13は、グループ情報管理部131と、鍵記憶部132と、公開パラメータ記憶部133と、セッション鍵暗号化処理部134と、再暗号化鍵生成部135と、送信部136と、受信部137を含む。
図6に示すように、通信端末14は、グループ情報管理部141と、鍵記憶部142と、公開パラメータ記憶部143と、秘密鍵復号処理部144と、セッション鍵復号処理部145と、送信部146と、受信部147を含む。以下、図7、図8を参照して、本実施例の通信システム1の動作について説明する。
<公開パラメータとマスター秘密鍵の生成(システムセットアップ)>
通信システム1のセットアップ時、鍵生成サーバ装置11の暗号セットアップ処理部111は、所定のセキュリティパラメータk(たとえば、鍵長)を入力とし、当該セキュリティパラメータkを用いて、CLSetup(1k)を実行して、公開パラメータparamsとマスター秘密鍵mskを生成し(S11A)、生成した公開パラメータとマスター秘密鍵の組(params,msk)を、鍵管理部112に記憶する。鍵生成サーバ装置11の送信部114は、ユーザが通信システム1にログインするたびに、公開パラメータparamsを、ログインユーザに対応する通信端末に配布(送信)する(S11B)。鍵生成サーバ装置11の鍵管理部112は、マスター秘密鍵mskを秘密に保持しておく。
<公開鍵/秘密鍵の生成(セットアップ)>
通信端末12の受信部129は、事前に鍵生成サーバ装置11から公開パラメータparamsを受信し、通信端末12の公開パラメータ記憶部122は公開パラメータparamsを保持しているものとする。通信端末12の部分秘密鍵要求部123は、ユーザAの識別子IDAを含む部分秘密鍵要求を生成する。通信端末12の送信部128は、鍵生成サーバ装置11にユーザAの識別子IDAを含む部分秘密鍵要求を送信する(S12A)。
鍵生成サーバ装置11の受信部115は、通信端末12から識別子IDAを含む部分秘密鍵要求を受信する(S11C)。鍵生成サーバ装置11の部分秘密鍵生成部113は、鍵管理部112から取得した公開パラメータとマスター秘密鍵のペア(params,msk)を使って、CLDer(params,msk,IDA)を実行して、ユーザAの部分秘密鍵pskAを生成する(S11D)。鍵生成サーバ装置11の送信部114は、部分秘密鍵pskAを通信端末12に送信する(S11E)。
通信端末12の受信部129は、鍵生成サーバ装置11から部分秘密鍵pskAを受信する(S12B)。通信端末12の秘密値生成部124は、SetSV(params,IDA)を実行して、ユーザAの秘密値svAを生成する(S12C)。通信端末12の秘密鍵生成部125は、SetSK(params,pskA,svA)を実行して、ユーザAの秘密鍵skAを生成する(S12D)。通信端末12の公開鍵生成部126は、SetPK(params,svA)を実行して、ユーザAの公開鍵pkAを生成する(S12E)。通信端末12はこのようにして生成した鍵ペア(skA,pkA)を鍵記憶部121に記憶する。なお、通信システム1が、ユーザがログアウトする際に端末にある該システムに係わるデータを消去する場合、鍵記憶部121に記憶されたデータも消去されるのが望ましい。通信端末12の送信部128は、公開鍵pkAをデータ共有サーバ装置10に送信する(S12F)。
データ共有サーバ装置10の受信部107は、通信端末12から公開鍵pkAを受信する(S10A)。データ共有サーバ装置10は、公開鍵記憶部105に公開鍵pkAを記憶する。
通信端末12の秘密鍵暗号化処理部127は、秘密鍵skAを認証情報を用いて、暗号化する。本実施例において、通信システム1にユーザがログインする際のユーザ認証はID/パスワード認証によって行われるものとする。このとき、ユーザAの認証情報はpwdAとする。なお、認証方法はID/パスワード以外でもよく、指紋認証であれば、認証情報として例えば指紋データを符号化したものが挙げられるが、認証方法・認証情報については特に限定しない。通信端末12の秘密鍵暗号化処理部127は、PBE.Enc(pwdA,skA)を実行して、秘密鍵skAの暗号文である秘密鍵暗号文CskAを生成する(S12G)。通信端末12の送信部128は、秘密鍵暗号文CskAをデータ共有サーバ装置10に送信する(S12H)。
データ共有サーバ装置10の受信部107は、通信端末12から秘密鍵暗号文CskAを受信する(S10B)。データ共有サーバ装置10は、秘密鍵暗号文記憶部102に秘密鍵暗号文CskAを記憶する。
なお、ユーザA、B、Cが当該システムにおいて1つのグループ(グループGと呼ぶことにする)を形成しており、かつ、ユーザA、B、Cが上記の鍵セットアップ動作を終えていた場合、データ共有サーバ装置10の送信部106は、各ユーザ(ex.ユーザA)の各通信端末(ex.通信端末12)に、他の通信端末(ex.通信端末13、14)の公開鍵(ex.pkA)を送信する(S10B)。各ユーザ(ex.ユーザA)の各通信端末(ex.通信端末12)の受信部(ex.受信部129)は、データ共有サーバ装置10から、他の通信端末(ex.通信端末13、14)の公開鍵(ex.pkB,pkC)を受信する(S12I)。通信端末12は、当該グループの識別子に紐付けて、グループ情報管理部120に各公開鍵(ex.pkB,pkC)を記憶する。
<セッション鍵の暗号化と再暗号化鍵の生成>
グループGで共有されるセッション鍵が更新されたとする。また、このとき、ユーザBは通信端末13でログイン中であったものとし、通信端末13は、更新したセッション鍵SKを保持しているとする。通信端末13のセッション鍵暗号化処理部134は、鍵記憶部132から、自身の公開鍵pkBを取得し、公開パラメータ記憶部133から、公開パラメータparamsを取得し、CLEnc(params,IDB,pkB,SK)を実行し、セッション鍵暗号文CSK,Bを生成する(S13A)。通信端末13の再暗号化鍵生成部135は、グループ情報管理部131から、ユーザA、ユーザCの公開鍵pkA,pkCを取得し、鍵記憶部132から、自身の秘密鍵skBを取得し、SetRK(params,IDB,pkB,skB,IDA,pkA)と、SetRK(params,IDB,pkB,skB,IDC,pkC)を動作させて、それぞれ再暗号化鍵rkB→A,rkB→Cを生成する(S13B)。通信端末13の送信部136は、セッション鍵暗号文CSK,Bと再暗号化鍵rkB→A,rkB→Cをデータ共有サーバ装置10に送信する(S13C)。
データ共有サーバ装置10の受信部107は、通信端末13からセッション鍵暗号文CSK,Bと再暗号化鍵rkB→A,rkB→Cを受信する(S10C)。データ共有サーバ装置10は、セッション鍵暗号文記憶部101にセッション鍵暗号文CSK,Bを記憶し、再暗号化鍵記憶部103に再暗号化鍵rkB→A,rkB→Cを記憶する。
<グループのユーザ全員がログアウトした後の再ログイン>
グループGに所属する全ユーザが当該システムからログアウトしており、その後、グループGに所属するユーザCが通信端末14を介して通信システム1にログインしたものとする。このとき、グループGの全ユーザがログアウトする直前に共有されていたセッション鍵SKは、通信端末14で保持されておらず、新しいセッション鍵が生成される。
データ共有サーバ装置10に記憶されている、グループGで共有される暗号化データはグループGの全ユーザがログアウトする直前に共有されていたセッション鍵SKで暗号化されており、新しいセッション鍵で復号できるように再暗号化するためには、セッション鍵SKを取得しなければならない。セッション鍵SKは、前述した<セッション鍵の暗号化と再暗号化鍵の生成>処理によって、ユーザB(通信端末13)によって暗号化され、データ共有サーバ装置10のセッション鍵暗号文記憶部101に記憶されているものとする。このセッション鍵暗号文をCSK,Bとする。
まず、通信端末14は、ユーザCの秘密鍵skCを取得する必要がある。通信端末14の送信部146は、秘密鍵暗号文CskC要求を送信する(S14A)。
データ共有サーバ装置10の受信部107は、通信端末14から秘密鍵暗号文CskC要求を受信する(S10D)。データ共有サーバ装置10の送信部106は、秘密鍵暗号文記憶部102から、ユーザCの秘密鍵暗号文CskCを取得し、通信端末14に秘密鍵暗号文CskCを送信する(S10E)。
通信端末14の受信部147は、データ共有サーバ装置10からユーザCの秘密鍵暗号文CskCを受信する(S14B)。通信端末14の秘密鍵復号処理部144は、ユーザCが通信端末14を介して当該システムにログインしたときに使用した認証情報、本実施例ではパスワードpwdCを用いて、PBE.Dec(pwdC,CskC)を実行し、ユーザCの秘密鍵skCを取得(復号)する(S14C)。通信端末14は、ユーザCの秘密鍵skCを鍵記憶部142に記憶する。次に、通信端末14の送信部146は、再暗号化暗号文CSK,C要求を送信する(S14D)。
データ共有サーバ装置10の受信部107は、通信端末14から再暗号化暗号文CSK,C要求を受信する(S10F)。データ共有サーバ装置10の再暗号化処理部104は、グループGに紐付いて記憶されているセッション鍵暗号文CSK,Bをセッション鍵暗号文記憶部101から取得し、再暗号化鍵記憶部103から、再暗号化鍵rkB→Cを取得し、CLReEnc(params,rkB→C,CSK,B)を実行して、再暗号化暗号文CSK,Cを生成する(S10G)。データ共有サーバ装置10の送信部107は、通信端末14に再暗号化暗号文CSK,Cを送信する(S10H)。
通信端末14の受信部147は、データ共有サーバ装置10から再暗号化暗号文CSK,Cを受信する(S14E)。通信端末14のセッション鍵復号処理部145は、公開パラメータ記憶部143から公開パラメータparamsを取得し、鍵記憶部142からユーザCの秘密鍵skCを取得し、CLDec(params,skC,CSK,C)を実行して、セッション鍵SKを取得(復号)する(S14F)。
これにより、通信端末14は、現在のセッション鍵とあわせて再暗号化鍵を生成でき、その再暗号化鍵をもって、データ共有サーバ装置10に記憶されている暗号化共有データをデータ共有サーバ装置10にて再暗号化させ、現在のセッション鍵で復号することができる。なお、データ共有サーバ装置10と鍵生成サーバ装置11は、上記の処理を実行している中では、マスター秘密鍵を得ることはあってもユーザの秘密鍵を得ることはないので、セッション鍵暗号文を復号することはできない。結果的に、データ共有サーバ装置10に記憶されている、グループGで共有される暗号化データの中身をのぞき見ることはできない。したがって、データの共有、セッション鍵の共有すべてにおいてエンドツーエンド暗号化が達成される。
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバ装置コンピュータの記憶装置に格納しておき、ネットワークを介して、サーバ装置コンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバ装置コンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバ装置コンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバ装置コンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (8)

  1. データ共有サーバ装置と、鍵生成サーバ装置と、少なくともユーザAとユーザBとユーザCの各々に対応する通信端末を含む複数の通信端末と、を含む通信システムにおける、前記データ共有サーバ装置であって、
    前記ユーザAの前記通信端末から、前記通信端末間で共有され他の装置に知られていないセッション鍵SKの暗号化に用いる公開鍵pkを受信し、前記公開鍵pkと対になる秘密鍵skの暗号文である秘密鍵暗号文CskAを受信する受信部と、
    前記ユーザAの前記通信端末に、他の前記通信端末の公開鍵を送信する送信部を含み、
    前記受信部は、
    前記ユーザBの前記通信端末から、前記セッション鍵SKの暗号文であるセッション鍵暗号文CSK,Bと、前記ユーザBの前記通信端末の前記公開鍵pkと前記秘密鍵sk、および前記ユーザCの前記通信端末の前記公開鍵pkを用いて生成される再暗号化鍵rkB→C、すなわち(CSK,B,rkB→C)を受信し、
    前記送信部は、
    前記ユーザCの前記通信端末の要求に応じて、前記ユーザCの前記通信端末の前記秘密鍵暗号文CskCを送信し、
    前記ユーザCの前記通信端末の要求に応じて、前記再暗号化鍵rkB→C、前記セッション鍵暗号文CSK,Bを用いて、前記ユーザCの前記秘密鍵skで前記セッション鍵SKを復号可能な再暗号化暗号文CSK,Cを生成する再暗号化処理部を含み、
    前記送信部は、
    前記再暗号化暗号文CSK,Cを前記ユーザCの前記通信端末に送信する
    データ共有サーバ装置。
  2. データ共有サーバ装置と、鍵生成サーバ装置と、少なくともユーザAに対応する通信端末を含む複数の通信端末と、を含む通信システムにおける、前記鍵生成サーバ装置であって、
    所定のセキュリティパラメータkを用いて、公開パラメータparamsと、マスター秘密鍵mskを生成する暗号セットアップ処理部と、
    前記公開パラメータparamsを前記通信システムにログインした前記通信端末に送信する送信部と、
    前記ユーザAの前記通信端末の識別子IDを受信する受信部と、
    前記公開パラメータparamsと、前記マスター秘密鍵mskと、前記識別子IDを用いて、前記ユーザAの前記通信端末の部分秘密鍵psk、すなわち、前記公開パラメータparamsおよび前記識別子IDと共に用いることで、前記通信端末間で共有され他の装置に知られていないセッション鍵SKの暗号化に用いる公開鍵pkおよび対になる秘密鍵skを生成できる前記部分秘密鍵psk、を生成する部分秘密鍵生成部を含み、
    前記送信部は、
    前記ユーザAの前記通信端末に、前記部分秘密鍵pskを送信する
    鍵生成サーバ装置。
  3. データ共有サーバ装置と、鍵生成サーバ装置と、少なくともユーザAに対応する通信端末を含む複数の通信端末と、を含む通信システムにおける、前記ユーザAの前記通信端末であって、
    前記ユーザAの前記通信端末の識別子IDを前記鍵生成サーバ装置に送信する送信部と、
    前記鍵生成サーバ装置から、公開パラメータparamsと、部分秘密鍵pskを受信する受信部と、
    前記公開パラメータparamsと、前記識別子IDを用いて、秘密値svを生成する秘密値生成部と、
    前記公開パラメータparamsと、前記秘密値svを用いて、前記通信端末間で共有され他の装置に知られていないセッション鍵SKの暗号化に用いる公開鍵pkを生成する公開鍵生成部と、
    前記公開パラメータparamsと、前記部分秘密鍵pskと、前記秘密値svを用いて、前記公開鍵pkと対になる秘密鍵skを生成する秘密鍵生成部と、
    前記秘密鍵skの暗号文である秘密鍵暗号文CskAを生成する秘密鍵暗号化処理部を含み、
    前記送信部は、
    前記公開鍵pkと、前記秘密鍵暗号文CskAを前記データ共有サーバ装置に送信し、
    前記受信部は、
    他の前記通信端末の前記公開鍵を受信する
    通信端末。
  4. データ共有サーバ装置と、鍵生成サーバ装置と、少なくともユーザBに対応する通信端末を含む複数の通信端末と、を含む通信システムにおける、前記ユーザBの前記通信端末であって、
    前記鍵生成サーバ装置から送信された公開パラメータparamsと、前記ユーザBの前記通信端末の識別子IDと、前記ユーザBの前記通信端末の公開鍵pkを用いて、前記通信端末間で共有され他の装置に知られていないセッション鍵SKの暗号文であるセッション鍵暗号文CSK,Bを生成するセッション鍵暗号化処理部と、
    前記公開鍵pk、前記公開鍵pkと対になる秘密鍵sk、および他の前記通信端末の前記公開鍵を用いて再暗号化鍵を生成する再暗号化鍵生成部と、
    前記セッション鍵暗号文CSK,Bと、前記再暗号化鍵を、前記データ共有サーバ装置に送信する送信部を含む
    通信端末。
  5. データ共有サーバ装置と、鍵生成サーバ装置と、少なくともユーザBとユーザCの各々に対応する通信端末を含む複数の通信端末と、を含む通信システムにおける、前記ユーザCの前記通信端末であって、
    前記データ共有サーバ装置から、前記ユーザCの前記通信端末の秘密鍵skの暗号文である秘密鍵暗号文CskCを受信する受信部と、
    前記ユーザCの認証情報を用いて、前記秘密鍵暗号文CskCから、前記秘密鍵skを復号する秘密鍵復号処理部を含み、
    前記受信部は、
    前記ユーザBの前記通信端末の公開鍵pkと前記秘密鍵sk、および前記ユーザCの前記通信端末の前記公開鍵pkを用いて生成される再暗号化鍵rkB→C、前記秘密鍵skでセッション鍵SKを復号可能な暗号文であるセッション鍵暗号文CSK,B、すなわち(rkB→C,CSK,B)を用いて生成される再暗号化暗号文CSK,Cであって、前記秘密鍵skで前記セッション鍵SKを復号可能な前記再暗号化暗号文CSK,Cを受信し、
    前記秘密鍵skを用いて、前記再暗号化暗号文CSK,Cから、前記セッション鍵SKであって、前記通信端末間で共有され他の装置に知られていない前記セッション鍵SKを復号するセッション鍵復号処理部を含む
    通信端末。
  6. コンピュータを請求項1に記載のデータ共有サーバ装置として機能させるプログラム。
  7. コンピュータを請求項2に記載の鍵生成サーバ装置として機能させるプログラム。
  8. コンピュータを請求項3から5の何れかに記載の通信端末として機能させるプログラム。
JP2017231716A 2017-12-01 2017-12-01 データ共有サーバ装置、鍵生成サーバ装置、通信端末、プログラム Pending JP2019102970A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017231716A JP2019102970A (ja) 2017-12-01 2017-12-01 データ共有サーバ装置、鍵生成サーバ装置、通信端末、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017231716A JP2019102970A (ja) 2017-12-01 2017-12-01 データ共有サーバ装置、鍵生成サーバ装置、通信端末、プログラム

Publications (1)

Publication Number Publication Date
JP2019102970A true JP2019102970A (ja) 2019-06-24

Family

ID=66974254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017231716A Pending JP2019102970A (ja) 2017-12-01 2017-12-01 データ共有サーバ装置、鍵生成サーバ装置、通信端末、プログラム

Country Status (1)

Country Link
JP (1) JP2019102970A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021111910A (ja) * 2020-01-14 2021-08-02 日本電信電話株式会社 鍵交換システム、情報処理装置、鍵交換方法及びプログラム
CN114449024A (zh) * 2022-04-11 2022-05-06 广东新邦智联科技有限公司 基于物联网的电力设备控制方法、装置、设备和存储介质
JP7377495B2 (ja) 2020-06-10 2023-11-10 日本電信電話株式会社 暗号システム及び方法
WO2024024103A1 (ja) * 2022-07-29 2024-02-01 パスロジ株式会社 鍵端末に秘密鍵を秘匿したまま暗号ファイルを処理するネットワークストレージ

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005149214A (ja) * 2003-11-17 2005-06-09 Nippon Telegr & Teleph Corp <Ntt> 共同利用コンピュータシステムのユーザ環境移行方法および利用方法
JP2006506908A (ja) * 2002-11-14 2006-02-23 ボルテージ セキュリティー インコーポレイテッド 識別ベースの暗号化システム
JP2016012897A (ja) * 2014-06-30 2016-01-21 Kddi株式会社 暗号化データ管理システム、プロキシサーバ、ユーザ端末、暗号化データ管理方法およびコンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006506908A (ja) * 2002-11-14 2006-02-23 ボルテージ セキュリティー インコーポレイテッド 識別ベースの暗号化システム
JP2005149214A (ja) * 2003-11-17 2005-06-09 Nippon Telegr & Teleph Corp <Ntt> 共同利用コンピュータシステムのユーザ環境移行方法および利用方法
JP2016012897A (ja) * 2014-06-30 2016-01-21 Kddi株式会社 暗号化データ管理システム、プロキシサーバ、ユーザ端末、暗号化データ管理方法およびコンピュータプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SUR, C., ET AL.: "Chosen-Ciphertext Secure Certificateless Proxy Re-Encryption", LECTURE NOTES IN COMUPUTER SCIENCE, vol. 6109, JPN6020048015, 2010, pages 214 - 232, XP019142830, ISSN: 0004563741 *
XU, L., ET AL.: "CL-PRE: a Certificateless Proxy Re-Encryption Scheme for Secure Data Sharing with Public Cloud", PROCEEDINGS OF THE 7TH ACM SYMPOSIUM ON INFORMATION, COMPUTER AND COMMUNICATIONS SECURITY (ASIACCS'1, JPN7018000710, May 2012 (2012-05-01), ISSN: 0004563740 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021111910A (ja) * 2020-01-14 2021-08-02 日本電信電話株式会社 鍵交換システム、情報処理装置、鍵交換方法及びプログラム
JP7292648B2 (ja) 2020-01-14 2023-06-19 日本電信電話株式会社 鍵交換システム、情報処理装置、鍵交換方法及びプログラム
JP7377495B2 (ja) 2020-06-10 2023-11-10 日本電信電話株式会社 暗号システム及び方法
CN114449024A (zh) * 2022-04-11 2022-05-06 广东新邦智联科技有限公司 基于物联网的电力设备控制方法、装置、设备和存储介质
WO2024024103A1 (ja) * 2022-07-29 2024-02-01 パスロジ株式会社 鍵端末に秘密鍵を秘匿したまま暗号ファイルを処理するネットワークストレージ

Similar Documents

Publication Publication Date Title
JP5377540B2 (ja) 鍵管理システム
US9465947B2 (en) System and method for encryption and key management in cloud storage
US9426131B2 (en) Server apparatus and program to re-encrypt ciphertext data
CN106790037B (zh) 一种用户态加密的即时通讯方法与系统
US20130179679A1 (en) Methods And Apparatuses For Secure Information Sharing In Social Networks Using Randomly-Generated Keys
CN104735070B (zh) 一种通用的异构加密云间的数据共享方法
CN111193703B (zh) 在分散式网络中使用的通信装置和通信方法
JP6556955B2 (ja) 通信端末、サーバ装置、プログラム
JP5047638B2 (ja) 暗号文復号権委譲システム
JP2019102970A (ja) データ共有サーバ装置、鍵生成サーバ装置、通信端末、プログラム
JP6840685B2 (ja) データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム
KR101812311B1 (ko) 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법
JP6908128B2 (ja) データ共有方法、データ共有システム、データ共有サーバ、通信端末、プログラム
Paverd et al. Omnishare: Encrypted cloud storage for the multi-device era
JP2009065226A (ja) 認証付鍵交換システム、認証付鍵交換方法およびプログラム
JP5643251B2 (ja) 秘密情報通知システム、秘密情報通知方法、プログラム
JP6939897B2 (ja) 通信端末、プログラム
JP7097581B2 (ja) 通信システム、サーバ装置、通信方法、及びプログラム
JP7254296B2 (ja) 鍵交換システム、情報処理装置、鍵交換方法及びプログラム
JP2018107625A (ja) データ配信システム、データ生成装置、仲介装置、データ配信方法、及びプログラム
US20240056288A1 (en) Communication system, information processing apparatus, communication method and program
Ansara et al. Security of Information in Cloud Computing: A Systematic Review
Baskaran et al. Secure Data Transmission With Multiple Key Management In Cloud Environment
JP2016038845A (ja) 利用者認証システム、認証サーバ、利用者認証方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201215

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210803