JP6318878B2 - 通信装置、システム及び通信処理方法 - Google Patents

通信装置、システム及び通信処理方法 Download PDF

Info

Publication number
JP6318878B2
JP6318878B2 JP2014116257A JP2014116257A JP6318878B2 JP 6318878 B2 JP6318878 B2 JP 6318878B2 JP 2014116257 A JP2014116257 A JP 2014116257A JP 2014116257 A JP2014116257 A JP 2014116257A JP 6318878 B2 JP6318878 B2 JP 6318878B2
Authority
JP
Japan
Prior art keywords
data
identifier
storage unit
encryption key
stored
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.)
Expired - Fee Related
Application number
JP2014116257A
Other languages
English (en)
Other versions
JP2015230379A (ja
Inventor
泰生 野口
泰生 野口
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014116257A priority Critical patent/JP6318878B2/ja
Priority to US14/695,324 priority patent/US10116636B2/en
Publication of JP2015230379A publication Critical patent/JP2015230379A/ja
Application granted granted Critical
Publication of JP6318878B2 publication Critical patent/JP6318878B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Description

本発明は、通信量の削減技術に関する。
ある従来技術には、送信ノードでは既に送信したデータをキャッシュに格納しておき、受信ノードでも既に受信したデータをキャッシュに格納しておき、送信済みのデータについて再度送信が要求されると送信ノードから受信ノードへ識別子のみを送信することで、重複データの送信を回避する技術が開示されている。
より具体的には、図1に示すように、ユーザAからユーザBへセグメントA、B及びCを含むデータを送信する場合(ステップ(1))を検討する。この場合、ノードAのキャッシュに送信済みセグメントA、C及びEが格納されていれば、ノードAから、セグメントBとセグメントAの識別子aとセグメントCの識別子cとをノードBへ送信する(ステップ(2))。
ノードBのキャッシュには受信済みセグメントA、C及びEが格納されており、ノードBは、受信したセグメントAの識別子aとセグメントCの識別子cとからセグメントA及びCをキャッシュから読み出して、受信したセグメントBと共にユーザBへ出力する(ステップ(3))。
このようにすることで、異なるユーザ間の通信であっても、重複するデータの送信が抑制される。より具体的には、図2に示すように、ノードAにはユーザX及びWが接続され、ノードBにはユーザY及びZが接続されており、最初に、ユーザXからユーザYへ、セグメントA、B、C及びDを含むデータを送信するものとする。この際、ユーザXから、セグメントA、B、C及びDを含むデータをノードAに送信すると(ステップ(11))、ノードAは、セグメントA、B、C及びDをキャッシュに格納すると共に(ステップ(12))、ノードBへ送信する(ステップ(13))。
ノードBは、セグメントA、B、C及びDを受信すると、それらをキャッシュに格納すると共に(ステップ(14))、ユーザYへ、セグメントA、B、C及びDを送信する(ステップ(15))。
その後、図3に示すように、ユーザWが、ユーザZに対して、セグメントB、C、D及びEを含むデータを送信するものとする。この際、ユーザWは、セグメントB、C、D及びEを含むデータを、ノードAに送信する(ステップ(21))。ノードAは、キャッシュに格納されている送信済みセグメントB、C及びDについては、その識別子b、c及びdを特定し、キャッシュに格納されていないセグメントEについてはキャッシュに格納する(ステップ(22))。そして、ノードAは、送信済みセグメントの識別子b、c及びdとセグメントEとを、ノードBに送信する(ステップ(23))。
ノードBは、ノードAから受信したがキャッシュに格納されていないセグメントEについてはキャッシュに格納し(ステップ(24))、受信した識別子b、c及びdに対応するセグメントB、C及びDをキャッシュから読み出して、ユーザZに対して、セグメントB、C、D及びEを送信する(ステップ(25))。
このようにすれば、図3の段階では、セグメント自体については未送信のセグメントEを送信するだけで、ノードA及びBの間の通信量は削減されている。
しかしながら、ノードAのキャッシュにも、ノードBのキャッシュにも、セグメントのデータがそのまま格納されることになる。そうすると、無関係な第三者ユーザが、ノードA又はBに不正にアクセスしてキャッシュを盗み見た場合、セグメントのデータが漏洩してしまう。
特開2010−072740号公報 特開2009−171635号公報
従って、本発明の目的は、一側面としては、セキュリティを向上させた重複除去通信を可能にするための技術を提供することである。
本発明の第1の態様に係る通信装置は、(A)識別子に対応付けて暗号化データを格納するデータ格納部と、(B)他の通信装置からの受信データに含まれる識別子に対応付けて暗号化データがデータ格納部に格納されているか判定する判定部と、(C)受信データに含まれる識別子に対応付けて暗号化データがデータ格納部に格納されていると判定部により判定された場合には、受信データに含まれる暗号鍵で、データ格納部に識別子に対応付けて格納された暗号化データを復号する復号処理部と、(D)復号処理部により復号されたデータを出力する出力部とを有する。
また、本発明の第2の態様に係る通信装置は、(A)送信されたデータの識別子に対応付けて暗号鍵を格納するデータ格納部と、(B)送信が依頼されたデータの識別子に対応付けて暗号鍵がデータ格納部に格納されているか判定する処理部と、(C)送信が依頼されたデータの識別子に対応付けて暗号鍵がデータ格納部に格納されていると処理部により判定された場合には、送信が依頼されたデータの識別子及び対応付けられている暗号鍵を、他の通信装置に送信する送信制御部とを有する。
さらに、本発明の第3の態様に係るシステムは、(A)第1の通信装置と、(B)第2の通信装置とを有する。そして、第1の通信装置は、(a1)送信されたデータの識別子に対応付けて暗号鍵を格納する第1のデータ格納部と、(a2)送信が依頼されたデータの識別子に対応付けて暗号鍵が第1のデータ格納部に格納されているか判定する処理部と、(a3)送信が依頼されたデータの識別子に対応付けて暗号鍵が第1のデータ格納部に格納されていると処理部により判定された場合には、送信が依頼されたデータの識別子及び対応付けられている暗号鍵を、第2の通信装置に送信する送信制御部とを有する。また、第2の通信装置は、(b1)識別子に対応付けて暗号化データを格納する第2のデータ格納部と、(b2)第2の通信装置からの受信データに含まれる識別子に対応付けて暗号化データが第2のデータ格納部に格納されているか判定する判定部と、(b3)受信データに含まれる識別子に対応付けて暗号化データが第2のデータ格納部に格納されていると判定部により判定された場合には、受信データに含まれる暗号鍵で、第2のデータ格納部に識別子に対応付けて格納された暗号化データを復号する復号処理部と、(b4)復号処理部により復号されたデータを出力する出力部とを有する。
一側面としては、セキュリティを向上させた重複除去通信が可能になる。
図1は、従来技術を説明するための図である。 図2は、従来技術を説明するための図である。 図3は、従来技術を説明するための図である。 図4は、実施の形態に係るシステムの概要を示す図である。 図5は、送信側ノードの構成例を示す図である。 図6は、ハッシュデータ格納部に格納されるデータの一例を示す図である。 図7は、暗号鍵格納部に格納されているデータの一例を示す図である。 図8は、受信側ノードの構成例を示す図である。 図9は、索引格納部に格納されているデータの一例を示す図である。 図10は、暗号化キャッシュに格納されているデータの一例を示す図である。 図11は、第1の実施の形態に係る処理の概要を説明するための図である。 図12は、第1の実施の形態に係る処理の概要を説明するための図である。 図13は、送信側ノードの処理内容を示す図である。 図14は、送信側ノードの処理内容を示す図である。 図15は、ハッシュ処理の処理フローを示す図である。 図16は、受信側ノードの処理内容を示す図である。 図17は、受信側ノードの処理内容を示す図である。 図18は、比較例の処理の概要を示す図である。 図19は、比較例の処理の概要を示す図である。 図20は、第2の実施の形態において送信側ノードで用いられるデータの一例を示す図である。 図21は、第2の実施の形態において受信側ノードで用いられるデータの一例を示す図である。 図22は、第2の実施の形態に係る処理の概要を説明するための図である。 図23は、第2の実施の形態に係る処理の概要を説明するための図である。 図24は、第3の実施の形態に係る送信側ノードの構成例を示す図である。 図25は、第3の実施の形態に係る送信側ノードの処理内容を示す図である。 図26は、第3の実施の形態に係る受信側ノードの構成例を示す図である。 図27は、第3の実施の形態に係る受信側ノードの処理内容を示す図である。 図28は、コンピュータの機能ブロック図である。
[実施の形態1]
図4に、本実施の形態に係るシステムの概要を示す。本システムにおいては、ノード1とノード2とはネットワーク400を介して接続されている。また、ノード1には、例えばファイルサーバである情報処理装置501及び502等が接続されており、ノード2には、端末装置301及び302などが接続されている。例えば、端末装置301から、あるファイルの要求を、ノード2、ネットワーク400及びノード1を介して、情報処理装置501に送信すると、情報処理装置501は、要求に係るファイルのデータを、要求元の端末装置301宛に送信する。同様に、端末装置302から、同じ内容を含むファイルの要求を、ノード2、ネットワーク400及びノード1を介して、情報処理装置502に送信すると、情報処理装置502は、要求に係るファイルのデータを、要求元の端末装置302宛に送信する。このような場合に、ノード1とノード2の間で通信されるデータ量を削減する。
次に、ノード1の構成例を図5に示す。ノード1は、受信部101と、入力バッファ102と、分割部103と、データ格納部104と、ハッシュ処理部105と、ハッシュデータ格納部106と、暗号鍵処理部107と、暗号鍵格納部108と、暗号処理部109と、送信バッファ110と、送信制御部111とを有する。
受信部101は、例えば情報処理装置501からデータを受信し、入力バッファ102に格納する。分割部103は、入力バッファ102に格納されたデータを、所定のルールに従って複数のセグメントに分割する処理を行い、処理結果をデータ格納部104に格納する。
ハッシュ処理部105は、データ格納部104に格納されているセグメントのハッシュ値を算出し、ハッシュ値でハッシュデータ格納部106を検索することで、セグメントの識別子が登録されているか否かを判断する。
例えば、ハッシュデータ格納部106には、例えば図6に示すようなデータが格納される。図6の例では、セグメントのハッシュ値と、セグメントの識別子とが対応付けられている。
ハッシュデータ格納部106に、セグメントの識別子が登録されていない場合には、ハッシュ処理部105は、セグメントの識別子を生成すると共に、算出したハッシュ値に対応付けてハッシュデータ格納部106に格納する。
セグメントの識別子が登録済みであれば、暗号鍵処理部107は、そのセグメントの識別子をハッシュ処理部105から受け取って、暗号鍵格納部108を、受け取ったセグメントの識別子で検索して、暗号鍵を読み出す。
一方、セグメントの識別子を新たに生成した場合には、暗号鍵処理部107は、そのセグメントの識別子とセグメントとを、ハッシュ処理部105から受け取って、暗号鍵を生成すると共に、セグメントの識別子に対応付けて暗号鍵を暗号鍵格納部108に格納する。
暗号鍵格納部108には、例えば図7に示すようなデータが格納される。図7の例では、セグメントの識別子と、暗号鍵とが対応付けられている。
そして、セグメントの識別子及び暗号鍵が暗号鍵格納部108に登録済みであれば、セグメントの識別子及び暗号鍵を、送信バッファ110に格納する。
一方、セグメントの識別子及び暗号鍵が暗号鍵格納部108に新たに登録された場合には、暗号鍵処理部107は、セグメント、当該セグメントの識別子及び暗号鍵を、暗号処理部109に出力する。
暗号処理部109は、暗号鍵処理部107からセグメント、セグメントの識別子及び暗号鍵を受け取ると、そのセグメントを暗号鍵で暗号化し、セグメントの識別子と、暗号鍵と、暗号化されたセグメントとを、送信バッファ110に格納する。
送信制御部111は、送信バッファ110に格納されたデータを、入力バッファ102に格納されている宛先データと共に、ノード2に対して送信する。
次に、ノード2の構成例を図8に示す。ノード2は、受信部201と、受信バッファ202と、判定部203と、索引格納部204と、暗号化キャッシュ205と、復号処理部206と、出力バッファ207と、出力処理部208とを有する。
受信部201は、ノード1からデータを受信すると、受信バッファ202に格納する。
判定部203は、受信バッファ202に格納されているセグメントの識別子で、索引格納部204を検索して、暗号化されたセグメントが登録済みであるか否かを判定する。登録済みであれば、判定部203は、索引格納部204にセグメントの識別子に対応付けて格納されているアドレスを読み出し、暗号化キャッシュ205から暗号化されたセグメントを読み出す。
一方、セグメントの識別子が未登録の場合には、判定部203は、受信バッファ202に格納されている暗号化されたセグメントを、暗号化キャッシュ205に格納すると共に、格納先のアドレスを、セグメントの識別子に対応付けて索引格納部204に格納する。
索引格納部204には、例えば図9に示すようなデータが格納される。図9の例では、セグメントの識別子と、暗号化されたセグメントの格納先のアドレスとが対応付けられている。
また、暗号化キャッシュ205には、例えば図10に示すようなデータが格納される。図10の例では、各アドレスに、暗号化されたセグメントのデータが格納されている。なお、暗号化されたセグメントは、例えばリングバッファ状に格納される。
そして、判定部203は、暗号化されたセグメントと受信バッファ202に格納されている暗号鍵とを、復号処理部206に出力する。
復号処理部206は、暗号化されたセグメントを暗号鍵で復号する処理を実行し、処理結果を出力バッファ207に格納する。
出力処理部208は、出力バッファ207に格納されているセグメントのデータを、受信バッファ202に格納されている宛先に出力する。
次に、図11及び12を用いて、本実施の形態に係る処理の概要を説明する。まず、情報処理装置501が、図11に示すように、セグメントA、B、C及びDを含むデータを端末装置301宛に送信する場合を考える。この場合、情報処理装置501は、セグメントA、B、C及びDを含むデータをノード1に送信する(ステップ(51))。
ノード1は、セグメントA、B、C及びDを含むデータを受信すると、そのハッシュ値h(A)、h(B)、h(C)及びh(D)が、ハッシュデータ格納部106に登録されているか否かを判断する。ここでは未登録として、ノード1は、各セグメントについて識別子idA,idB、idC及びidDを生成し、ハッシュ値h(A)、h(B)、h(C)及びh(D)を、ハッシュデータ格納部106に登録する(ステップ(52))。また、暗号鍵も未登録になるので、ノード1は、各セグメントについて暗号鍵KA、KB、KC及びKDを生成し、暗号鍵格納部108に格納する(ステップ(53))。
そして、ノード1は、セグメントAについて識別子idA、暗号鍵KA、暗号化されたセグメントe(A)と、セグメントBについて識別子idB、暗号鍵KB、暗号化されたセグメントe(B)と、セグメントCについて識別子idC、暗号鍵KC、暗号化されたセグメントe(C)と、セグメントDについて識別子idD、暗号鍵KD、暗号化されたセグメントe(D)とを、ネットワーク400を介してノード2に送信する(ステップ(54))。この通信は暗号化される場合もある。
ノード2は、ノード1からデータを受信すると、受信した識別子に係り且つ暗号化されたセグメントが暗号化キャッシュ205に登録されているかを判断する。この場合、登録されていないとして、ノード2は、暗号化されたセグメントe(A)、e(B)、e(C)及びe(D)を、暗号化キャッシュ205に登録する(ステップ(55))。
そして、ノード2は、受信した暗号鍵KA、KB、KC及びKDを用いて、暗号化されたセグメントe(A)、e(B)、e(C)及びe(D)を復号して、復号されたデータA、B、C及びDを、端末装置301に出力する(ステップ(56))。
ノード2は、暗号鍵については保存せず、復号処理が終了すれば、消去する。
このように、暗号化されたセグメントはノード2にのみ保持され、暗号鍵についてはノード1のみに保持されているため、セグメントの内容を得るためには、ノード1及び2の両方に不正アクセスしてデータを読み出さなければならない。従って、セキュリティレベルが向上している。
その後、情報処理装置502が、図12に示すように、セグメントB、C、D及びEを含むデータを端末装置302宛に送信する場合を考える。この場合、情報処理装置502は、セグメントB、C、D及びEを含むデータを、ノード1に送信する(ステップ(61))。
ノード1は、セグメントB、C、D及びEを含むデータを受信すると、そのハッシュ値h(B)、h(C)、h(D)及びh(E)が、ハッシュデータ格納部106に登録されているか否かを判断する。ハッシュ値h(B)、h(C)及びh(D)については登録されているが、ハッシュ値(E)については登録されていないものと判断される。そうすると、ノード1は、セグメントEについて識別子idEを生成し、ハッシュ値h(E)を、ハッシュデータ格納部106に登録する(ステップ(62))。また、暗号鍵も未登録なので、ノード1は、セグメントEについて暗号鍵KEを生成し、暗号鍵格納部108に格納する(ステップ(63))。
そして、ノード1は、ハッシュ値が登録済みのセグメントBについて識別子idB及び暗号鍵KBと、ハッシュ値が登録済みのセグメントCについて識別子idC及び暗号鍵KCと、ハッシュ値が登録済みのセグメントDについて識別子idD及び暗号鍵KDと、ハッシュ値が未登録のセグメントEについて識別子idE、暗号鍵KE、暗号化されたセグメントe(E)とを、ネットワーク400を介してノード2に送信する(ステップ(64))。
このように、送信したことがないセグメントEについてのみ、暗号化されたセグメントe(E)が送信されることになり、ネットワーク400を介して通信されるデータ量を削減できるようになる。
ノード2は、ノード1からデータを受信すると、受信した識別子に係り且つ暗号化されたセグメントが暗号化キャッシュ205に登録されているかを判断する。この場合、暗号化されたセグメントe(B)、e(C)及びe(D)については暗号化キャッシュ205に登録されているが、暗号化されたセグメントe(E)については登録されていない。従って、ノード2は、暗号化されたセグメントe(E)を、暗号化キャッシュ205に登録する(ステップ(65))。
そして、ノード2は、受信した暗号鍵KB、KC、KD及びKEを用いて、暗号化されたセグメントe(B)、e(C)及びe(D)については暗号化キャッシュ205から読み出した上で復号し、暗号化されたセグメントe(E)について受信データを復号し、復号されたデータB、C、D及びEを、端末装置301に出力する(ステップ(66))。
このように、送信したことがないセグメントEについてのみ、暗号化されたセグメントe(E)が送信されることになり、ネットワーク400を介して通信されるデータ量を削減できるようになる。また、図11について説明したように、ノード1にのみ暗号鍵が保持されており、ノード2にのみ暗号化されたセグメントが保持されているので、不正アクセスに対するセキュリティレベルが高くなっている。
次に、図13乃至図19を用いて、詳細な処理内容について説明する。
まず、ノード1の処理内容について、図13乃至図15を用いて説明する。
ノード1の受信部101は、情報処理装置501又は502からの送信データを受信すると(図13:ステップS1)、当該送信データを、入力バッファ102に格納する(ステップS3)。
その後、ノード1の分割部103は、入力バッファ102からデータを読み出して、当該データをセグメントに分割し、データ格納部104に格納する(図14:ステップS11)。セグメント分割の方法は、どのような方法であっても良く、例えば特開2009−171635号公報に開示されている方法を採用しても良い。
そして、ハッシュ処理部105は、データ格納部104に未処理のセグメントが存在するか否かを判断する(ステップS13)。未処理のセグメントが存在する場合には(ステップS13:Yesルート)、ハッシュ処理部105は、未処理のセグメントを1つ特定し(ステップS15)、そのセグメントについて、ハッシュ処理を実行する(ステップS17)。ハッシュ処理については、図15を用いて説明する。
ハッシュ処理部105は、特定されたセグメントのハッシュ値を算出する(図15:ステップS31)。ハッシュ関数には例えばSHA1のようなセキュアハッシュを用いることが好ましい。
ハッシュ処理部105は、算出したハッシュ値で、ハッシュデータ格納部106を検索する(ステップS33)。
算出したハッシュ値が登録済みであれば(ステップS35:Yesルート)、ハッシュ処理部105は、ハッシュデータ格納部106において対応付けられているセグメントの識別子を特定する(ステップS37)。そして呼び出し元の処理に戻る。
一方、算出したハッシュ値が未登録であれば(ステップS35:Noルート)、ハッシュ処理部105は、セグメントの識別子を生成し、ハッシュ値に対応付けて当該セグメントの識別子を、ハッシュデータ格納部106に格納する(ステップS39)。そして呼び出し元の処理に戻る。
そして、ハッシュ処理部105は、登録済みであれば、セグメントの識別子を暗号鍵処理部107に出力し、未登録であれば、セグメントと当該セグメントの識別子とを、暗号鍵処理部107に出力する。
図14の説明に戻って、暗号鍵処理部107は、ハッシュ処理部105からの受け取ったデータ(すなわちセグメントを受け取ったか否か)から、暗号鍵が登録済みであるか否かを判断する(ステップS19)。登録済みではない場合には(ステップS19:Noルート)、暗号鍵処理部107は、特定されたセグメントについての暗号鍵を生成し、当該セグメントの識別子に対応付けて、暗号鍵格納部108に格納する(ステップS21)。さらに、暗号鍵処理部107は、セグメント及び暗号鍵を暗号処理部109に出力する。
暗号処理部109は、暗号鍵でセグメントを暗号化し(ステップS22)、送信バッファ110に、セグメントの識別子と、暗号化されたセグメントと、暗号鍵とを格納する(ステップS23)。
一方、登録済みである場合には(ステップS19:Yesルート)、暗号鍵処理部107は、暗号鍵格納部108からセグメントの識別子に対応付けられている暗号鍵を読み出し(ステップS25)、送信バッファ110に、セグメントの識別子と暗号鍵を格納する(ステップS27)。
ステップS23及びS27の後に処理は、ステップS13に戻る。
そして、未処理のセグメントが存在しない場合には(ステップS13:Noルート)、ハッシュ処理部105は、送信制御部111に処理を依頼して、送信制御部111は、依頼に応じて、入力バッファ102などから宛先のデータを取得して、送信バッファ110に格納されているデータと共に、ノード2に送信する(ステップS29)。
このような処理を実行することで、送信済みのセグメントについては、セグメントの識別子と暗号鍵の組み合わせを送信し、未送信のセグメントについては、セグメントの識別子、暗号鍵及び暗号化されたセグメントとの組み合わせを送信するようになる。
次に、ノード2の詳細な処理内容について図16及び図17を用いて説明する。
まず、受信部201は、ノード1からデータを受信すると、受信バッファ202に格納する(図16:ステップS41)。受信データには、宛先のデータも含まれる。
その後、判定部203は、受信バッファ202内の受信データに含まれる未処理のセグメント識別子を1つ特定する(ステップS43)。そして、判定部203は、特定されたセグメント識別子で、索引格納部204を検索する(ステップS45)。
索引格納部204にセグメント識別子が登録済みであれば(ステップS47:Yesルート)、判定部203は、受信バッファ202からセグメント識別子に対応する暗号鍵を読み出す(ステップS49)。さらに判定部203は、当該セグメント識別子に対応付けられている暗号化キャッシュ205内のアドレスを読み出し、当該アドレスから暗号化されたセグメント(暗号化セグメント)を読み出す(ステップS51)。その後、判定部203は、暗号鍵及び暗号化セグメントを復号処理部206に出力する。復号処理部206は、判定部203から受け取った暗号鍵で暗号化セグメントを復号して(ステップS53)、セグメントを出力バッファ207に格納する(ステップS55)。
一方、索引格納部204にセグメント識別子が登録済みでなければ(ステップS47:Noルート)、判定部203は、受信バッファ202からセグメント識別子に対応する暗号鍵を読み出し(ステップS59)、受信バッファ202から暗号化セグメントを読み出す(ステップS61)。そして、判定部203は、暗号化セグメントを暗号化キャッシュ205に格納すると共に、格納先のアドレスを、セグメント識別子に対応付けて索引格納部204に格納する(ステップS63)。その後、判定部203は、暗号鍵及び暗号化セグメントを復号処理部206に出力する。そして処理はステップS53に移行する。
判定部203は、受信バッファ202に未処理のデータが存在するか否かを判断する(ステップS57)。未処理のデータが存在する場合には(ステップS57:Yesルート)、処理はステップS43に戻る。未処理のデータが存在しない場合には(ステップS57:Noルート)、判定部203は、出力処理部208に処理を指示する。そうすると、図17に示す処理が出力処理部208により行われる。
すなわち、出力処理部208は、出力バッファ207内のデータを読み出し(ステップS71)、受信バッファ202に格納されている宛先のデータを読み出して、当該宛先に対して読み出したデータを送信する(ステップS73)。なお、例えばこの段階で、受信バッファ202のデータを消去する。
以上のような処理を実行することで、セキュリティレベルを向上させつつ、重複データの再送を回避できるようになる。
なお、セキュリティレベルを上げるために、通信相手毎に共通鍵を用いて通信することも考えられる。例えば図18に示すように、ユーザXとユーザYとが通信を行う際に、第1の共通鍵で暗号化するものとする。そうすると、ユーザXは、送信すべきセグメントA、B、C及びDから、第1の共通鍵で暗号化されたセグメントe(A)、e(B)、e(C)及びe(D)を生成し、ノードAに送信することになる(ステップ(31))。
ノードAのキャッシュに、暗号化されたセグメントe(A)、e(B)、e(C)及びe(D)が格納されていないので、ノードAは、暗号化されたセグメントe(A)、e(B)、e(C)及びe(D)をキャッシュに格納する(ステップ(32))。また、ノードAは、暗号化されたセグメントe(A)、e(B)、e(C)及びe(D)を、ノードBに送信する(ステップ(33))。
ノードBのキャッシュにも、暗号化されたセグメントe(A)、e(B)、e(C)及びe(D)が格納されていないので、ノードBは、暗号化されたセグメントe(A)、e(B)、e(C)及びe(D)を、キャッシュに格納する(ステップ(34))。そして、ノードBは、ユーザYに対して、暗号化されたセグメントe(A)、e(B)、e(C)及びe(D)を送信する(ステップ(35))。
また、図19に示すように、ユーザWとユーザZとが通信を行う際に、第1の共通鍵とは異なる第2の共通鍵で暗号化するものとする。そうすると、ユーザWは、送信すべきセグメントB、C、D及びEから、第2の共通鍵で暗号化されたセグメントf(B)、f(C)、f(D)及びf(E)を生成し、ノードAに送信することになる(ステップ(41))。
ノードAのキャッシュに、暗号化されたセグメントe(A)、e(B)、e(C)及びe(D)は格納されているが、暗号鍵が異なるので、元のセグメントは同じであっても、暗号化されたセグメントf(B)、f(C)及びf(D)は格納されていない。従って、ノードAは、暗号化されたセグメントf(B)、f(C)、f(D)及びf(E)をキャッシュに格納する(ステップ(42))。また、ノードAは、暗号化されたセグメントf(B)、f(C)、f(D)及びf(E)を、ノードBに送信する(ステップ(43))。
ノードBのキャッシュにも、暗号化されたセグメントf(B)、f(C)、f(D)及びf(E)は格納されていないので、ノードBは、暗号化されたセグメントf(B)、f(C)、f(D)及びf(E)を、キャッシュに格納する(ステップ(44))。そして、ノードBは、ユーザZに対して、暗号化されたセグメントf(B)、f(C)、f(D)及びf(E)を送信する(ステップ(45))。
このようにユーザ間で単純に暗号化を行うようなセキュリティ対策を行うと、元のセグメントは同じであっても、暗号化すると異なるデータになるので、重複除去ができなくなってしまう。
これに対して、本実施の形態のようにノード間でセグメント単位で暗号化することで、セキュリティレベルを向上させつつ効果的に重複除去が行えるようになる。
[実施の形態2]
第1の実施の形態では、セグメントのハッシュ値とは異なるセグメント識別子を用いているが、セグメント識別子を用いない場合もある。すなわち、セグメントのハッシュ値を、セグメント識別子として用いるようにしても良い。
例えば、ノード1においてハッシュデータ格納部106と暗号鍵格納部108とを統合して、図20に示すようなデータを用いるようにしても良い。図20の例では、ハッシュ値に対応付けて暗号鍵が登録されている。
このようなデータを例えばハッシュデータ格納部106に格納するのであれば、暗号鍵格納部108に対する検索は省略される。
同様に、ノード2において索引格納部204と暗号化キャッシュ205とを用いているが、これについても統合することができる。例えば、図21に示すようなデータを用いるようにしても良い。図21の例では、ハッシュ値に対応付けて暗号化セグメントが格納されるようになっている。
このようなデータを例えば暗号化キャッシュ205に格納するのであれば、索引格納部204に対する検索は省略される。
このような変形を行うため、ノード1からノード2へ送信されるデータも異なる。図22を用いて、本実施の形態に係る処理の概要を説明する。まず、情報処理装置501が、セグメントA、B、C及びDを含むデータを端末装置301宛に送信する場合を考える。この場合、情報処理装置501は、セグメントA、B、C及びDを含むデータをノード1に送信する(ステップ(71))。
ノード1は、セグメントA、B、C及びDを含むデータを受信すると、そのハッシュ値h(A)、h(B)、h(C)及びh(D)が、例えばハッシュデータ格納部106に登録されているか否かを判断する。ここでは未登録として、ノード1は、各セグメントについて暗号鍵KA、KB、KC及びKDを生成し、ハッシュ値h(A)、h(B)、h(C)及びh(D)に対応付けて格納する(ステップ(72))。
そして、ノード1は、セグメントAについてハッシュ値h(A)、暗号鍵KA、暗号化されたセグメントe(A)と、セグメントBについてハッシュ値h(B)、暗号鍵KB、暗号化されたセグメントe(B)と、セグメントCについてハッシュ値h(C)、暗号鍵KC、暗号化されたセグメントe(C)と、セグメントDについてハッシュ値h(D)、暗号鍵KD、暗号化されたセグメントe(D)とを、ネットワーク400を介してノード2に送信する(ステップ(73))。この通信は暗号化される場合もある。
ノード2は、ノード1からデータを受信すると、受信したハッシュ値に係り且つ暗号化されたセグメントが暗号化キャッシュ205に登録されているかを判断する。この場合、登録されていないとして、ノード2は、暗号化されたセグメントe(A)、e(B)、e(C)及びe(D)を、ハッシュ値h(A)、h(B)、h(C)及びh(D)に対応付けて暗号化キャッシュ205に登録する(ステップ(74))。
そして、ノード2は、受信した暗号鍵KA、KB、KC及びKDを用いて、暗号化されたセグメントe(A)、e(B)、e(C)及びe(D)を復号して、復号されたデータA、B、C及びDを、端末装置301に出力する(ステップ(75))。ノード2は、暗号鍵については保存せず、復号処理が終了すれば、消去する。
その後、図23に示すように、情報処理装置502が、セグメントB、C、D及びEを含むデータを端末装置302宛に送信する場合を考える。この場合、情報処理装置502は、セグメントB、C、D及びEを含むデータを、ノード1に送信する(ステップ(81))。
ノード1は、セグメントB、C、D及びEを含むデータを受信すると、そのハッシュ値h(B)、h(C)、h(D)及びh(E)が、例えばハッシュデータ格納部106に登録されているか否かを判断する。ハッシュ値h(B)、h(C)及びh(D)については登録されているが、ハッシュ値h(E)については登録されていないものと判断される。そうすると、ノード1は、セグメントEについての暗号鍵KEを生成し、ハッシュ値h(E)に対応付けて、例えばハッシュデータ格納部106に格納する(ステップ(82))。
そして、ノード1は、ハッシュ値が登録済みのセグメントBについてハッシュ値h(B)及び暗号鍵KBと、ハッシュ値が登録済みのセグメントCについてハッシュ値h(C)及び暗号鍵KCと、ハッシュ値が登録済みのセグメントDについてハッシュ値h(D)及び暗号鍵KDと、ハッシュ値が未登録のセグメントEについてハッシュ値h(E)、暗号鍵KE及び暗号化されたセグメントe(E)とを、ネットワーク400を介してノード2に送信する(ステップ(83))。
ノード2は、ノード1からデータを受信すると、受信したハッシュ値に係り且つ暗号化されたセグメントが暗号化キャッシュ205に登録されているかを判断する。この場合、暗号化されたセグメントe(B)、e(C)及びe(D)については暗号化キャッシュ205に登録されているが、暗号化されたセグメントe(E)については登録されていない。従って、ノード2は、暗号化されたセグメントe(E)を、ハッシュ値h(E)に対応付けて暗号化キャッシュ205に登録する(ステップ(84))。
そして、ノード2は、受信した暗号鍵KB、KC、KD及びKEを用いて、暗号化されたセグメントe(B)、e(C)及びe(D)については暗号化キャッシュ205から読み出した上で復号し、暗号化されたセグメントe(E)について受信データを復号し、復号されたデータB、C、D及びEを、端末装置301に出力する(ステップ(85))。
このように送信されるデータは、セグメント識別子に代わってハッシュ値となっているが、セキュリティレベルを向上させつつ重複データの再送を回避できるようになっている。
[実施の形態3]
ノード1及び2への不正アクセスに対処するのであれば、例えば本実施の形態のような変形例も採用可能である。より具体的には、ノード1では暗号化処理を行わず、ノード2で暗号化処理を行うものである。
すなわち、ノード1については、図24に示すようなノード1bに変更する。図5と比較すると、ノード1bには、暗号処理部109が含まれていない。
暗号鍵処理部107は、ハッシュ値がハッシュデータ格納部106に格納されている場合には、暗号鍵及びセグメント識別子を送信バッファ110に格納するが、ハッシュ値がハッシュデータ格納部106に格納されていない場合には、セグメントとそのセグメント識別子と暗号鍵とを送信バッファ110に格納する。
従って、図14の処理フローについても、図25に示すようなものに変更される。但し、上でも述べたように、ハッシュ値がハッシュデータ格納部106に格納されていない場合においても暗号化しないので、ステップS22が行われず、ステップS23の代わりにステップS23bが実行される。ステップS23bでは、暗号鍵処理部107は、送信バッファ110に、セグメント識別子とセグメントと暗号鍵とを格納する。
一方、ノード2については、図26に示すようなノード2bに変更する。変更点は、判定部203に代わって判定部203とは異なる処理を行う判定部203bを導入し、暗号処理部209を追加した点が異なる。
また、具体的な処理内容は、図27に示すようになる。
まず、受信部201は、ノード1bからデータを受信すると、受信バッファ202に格納する(図27:ステップS141)。受信データには、宛先のデータも含まれる。
その後、判定部203bは、受信バッファ202内の受信データに含まれる未処理のセグメント識別子を1つ特定する(ステップS143)。そして、判定部203bは、特定されたセグメント識別子で、索引格納部204を検索する(ステップS145)。
索引格納部204にセグメント識別子が登録済みであれば(ステップS147:Yesルート)、判定部203bは、受信バッファ202からセグメント識別子に対応する暗号鍵を読み出す(ステップS149)。さらに判定部203bは、当該セグメント識別子に対応付けられている暗号化キャッシュ205内のアドレスを読み出し、当該アドレスから暗号化されたセグメント(暗号化セグメント)を読み出す(ステップS151)。その後、判定部203bは、暗号鍵及び暗号化セグメントを復号処理部206に出力する。復号処理部206は、判定部203bから受け取った暗号鍵で暗号化セグメントを復号して(ステップS153)、セグメントを出力バッファ207に格納する(ステップS155)。ここまでの処理は第1の実施の形態と同じである。
一方、索引格納部204にセグメント識別子が登録済みでなければ(ステップS147:Noルート)、判定部203bは、受信バッファ202からセグメント識別子に対応する暗号鍵を読み出し(ステップS159)、受信バッファ202からセグメントを読み出す(ステップS161)。そして、判定部203bは、暗号鍵及びセグメントを暗号処理部209に出力して、暗号処理部209にセグメントを暗号化させ、暗号化されたセグメントを取得する。そうすると、判定部203bは、取得した暗号化セグメントを暗号化キャッシュ205に格納すると共に、格納先のアドレスを、セグメント識別子に対応付けて索引格納部204に格納する(ステップS163)。そして処理はステップS155に移行する。
判定部203bは、受信バッファ202に未処理のデータが存在するか否かを判断する(ステップS157)。未処理のデータが存在する場合には(ステップS157:Yesルート)、処理はステップS143に戻る。未処理のデータが存在しない場合には(ステップS157:Noルート)、判定部203bは、出力処理部208に処理を指示する。そうすると、図17に示す処理が出力処理部208により行われる。
なお、ノード1とノード2との間の通信を、一般的な暗号通信を行えば、セグメントが漏洩することもない。また、ノード1とノード2の両方に不正アクセスして、暗号鍵と暗号化されたセグメントを得ないとデータを復元できないので、セキュリティレベルを向上させつつ、重複データの再送を回避できるようになる。
本実施の形態に対して、さらに第2の実施の形態を適用するようにしても良い。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。
例えば、上で述べたノードの機能ブロック構成は、プログラムモジュール構成とは一致しない場合がある。また、処理フローについても、処理結果が変わらない限り、順番を入れ替えたり、複数ステップを並列に実行する場合もある。
さらに、実施の形態に係るノードは1台のコンピュータではなく、複数台のコンピュータで機能分担する場合もある。
なお、上で述べたノード1、1b、2及び2b、情報処理装置501及び502並びに端末装置301及び302は、コンピュータ装置であって、図28に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
実施の形態の第1の態様に係る通信装置(例えば実施の形態におけるノード2等)は、(A)識別子(例えば実施の形態における識別子又はハッシュ値)に対応付けて暗号化データを格納するデータ格納部と、(B)他の通信装置からの受信データに含まれる識別子に対応付けて暗号化データがデータ格納部に格納されているか判定する判定部と、(C)受信データに含まれる識別子に対応付けて暗号化データがデータ格納部に格納されていると判定部により判定された場合には、受信データに含まれる暗号鍵で、データ格納部に識別子に対応付けて格納された暗号化データを復号する復号処理部と、(D)復号処理部により復号されたデータを出力する出力部とを有する。
データ格納部に暗号化データが既に格納されている場合には他の通信装置からの受信データに暗号化データが含まなくても良いので、通信データ量を削減できる。また、暗号鍵を、この通信装置内に保持しておかなければ、この通信装置に不正アクセスがあって暗号化データが漏洩した場合でも、それだけではデータが復号されるわけではないので、セキュリティレベルが向上している。
なお、上で述べた判定部は、(b1)受信データに含まれる識別子に対応付けて暗号化データがデータ格納部に格納されていない場合には、データ格納部に、識別子に対応付けて受信データに含まれる暗号化データを格納するようにしても良い。この場合、上で述べた復号処理部は、(c1)受信データに含まれる識別子に対応付けて暗号化データがデータ格納部に格納されていないと判定部により判定された場合には、受信データに含まれる暗号鍵で、受信データに含まれる暗号化データを復号するようにしても良い。初めて受信した暗号化データを後に有効活用できるようにするものである。
さらに、上で述べた判定部は、(b2)受信データに含まれる識別子に対応付けて暗号化データがデータ格納部に格納されていない場合には、データ格納部に、受信データに含まれる情報を暗号鍵で暗号化することで得られるデータを識別子に対応付けて格納するようにしても良い。この場合、上で述べた出力部は、(d1)受信データに含まれる情報を出力するようにしても良い。このように、暗号化されずに情報が送信されてくるような場合もある。
また、実施の形態の第2の態様に係る通信装置は、(A)送信されたデータの識別子に対応付けて暗号鍵を格納するデータ格納部と、(B)送信が依頼されたデータの識別子に対応付けて暗号鍵がデータ格納部に格納されているか判定する処理部と、(C)送信が依頼されたデータの識別子に対応付けて暗号鍵がデータ格納部に格納されていると処理部により判定された場合には、送信が依頼されたデータの識別子及び対応付けられている暗号鍵を、他の通信装置に送信する送信制御部とを有する。
なお、上で述べた処理部は、(b1)送信が依頼されたデータの識別子に対応付けて暗号鍵がデータ格納部に格納されていない場合には、送信が依頼されたデータの暗号鍵を生成して、送信が依頼されたデータの識別子に対応付けてデータ格納部に格納し、(b2)送信が依頼されたデータを、暗号鍵で暗号化することで暗号化データを生成するようにしても良い。この場合、上で述べた送信制御部は、(c1)送信が依頼されたデータの識別子と暗号鍵と暗号化データとを送信するようにしても良い。初めて送信するデータの場合には、次回の送信に備えるものである。
また、上で述べた処理部は、(b2)送信が依頼されたデータの識別子に対応付けて暗号鍵がデータ格納部に格納されていない場合には、送信が依頼されたデータの暗号鍵を生成して、送信が依頼されたデータの識別子に対応付けてデータ格納部に格納するようにしても良い。この場合、上で述べた送信制御部は、(c2)送信が依頼されたデータの識別子と暗号鍵と送信が依頼されたデータとを送信するようにしても良い。このように暗号化せずとも、通信路が秘匿化されていれば問題はない。
さらに、実施の形態の第3の態様に係るシステムは、(A)第1の通信装置と、(B)第2の通信装置とを有する。そして、第1の通信装置は、(a1)送信されたデータの識別子に対応付けて暗号鍵を格納する第1のデータ格納部と、(a2)送信が依頼されたデータの識別子に対応付けて暗号鍵が第1のデータ格納部に格納されているか判定する処理部と、(a3)送信が依頼されたデータの識別子に対応付けて暗号鍵が第1のデータ格納部に格納されていると処理部により判定された場合には、送信が依頼されたデータの識別子及び対応付けられている暗号鍵を、第2の通信装置に送信する送信制御部とを有する。また、第2の通信装置は、(b1)識別子に対応付けて暗号化データを格納する第2のデータ格納部と、(b2)第2の通信装置からの受信データに含まれる識別子に対応付けて暗号化データが第2のデータ格納部に格納されているか判定する判定部と、(b3)受信データに含まれる識別子に対応付けて暗号化データが第2のデータ格納部に格納されていると判定部により判定された場合には、受信データに含まれる暗号鍵で、第2のデータ格納部に識別子に対応付けて格納された暗号化データを復号する復号処理部と、(b4)復号処理部により復号されたデータを出力する出力部とを有する。
このような2つの通信装置を設けることによって、セキュリティを向上させた重複除去通信が可能になる。
なお、上で述べたような処理をコンピュータ又はプロセッサに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
識別子に対応付けて暗号化データを格納するデータ格納部と、
他の通信装置からの受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されているか判定する判定部と、
前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されていると前記判定部により判定された場合には、前記受信データに含まれる暗号鍵で、前記データ格納部に前記識別子に対応付けて格納された暗号化データを復号する復号処理部と、
前記復号処理部により復号されたデータを出力する出力部と、
を有する通信装置。
(付記2)
前記判定部は、
前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されていない場合には、前記データ格納部に、前記識別子に対応付けて前記受信データに含まれる暗号化データを格納し、
前記復号処理部は、
前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されていないと前記判定部により判定された場合には、前記受信データに含まれる暗号鍵で、前記受信データに含まれる暗号化データを復号する
付記1記載の通信装置。
(付記3)
前記判定部は、
前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されていない場合には、前記データ格納部に、前記受信データに含まれる情報を前記暗号鍵で暗号化することで得られるデータを前記識別子に対応付けて格納し、
前記出力部は、
前記受信データに含まれる情報を出力する
付記1記載の通信装置。
(付記4)
送信されたデータの識別子に対応付けて暗号鍵を格納するデータ格納部と、
送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されているか判定する処理部と、
前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されていると前記処理部により判定された場合には、前記送信が依頼されたデータの識別子及び対応付けられている暗号鍵を、他の通信装置に送信する送信制御部と、
を有する通信装置。
(付記5)
前記処理部は、
前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されていない場合には、前記送信が依頼されたデータの暗号鍵を生成して、前記送信が依頼されたデータの識別子に対応付けて前記データ格納部に格納し、
前記送信が依頼されたデータを、前記暗号鍵で暗号化することで暗号化データを生成し、
前記送信制御部は、
前記送信が依頼されたデータの識別子と前記暗号鍵と前記暗号化データとを送信する
付記4記載の通信装置。
(付記6)
前記処理部は、
前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されていない場合には、前記送信が依頼されたデータの暗号鍵を生成して、前記送信が依頼されたデータの識別子に対応付けて前記データ格納部に格納し、
前記送信制御部は、
前記送信が依頼されたデータの識別子と前記暗号鍵と前記送信が依頼されたデータとを送信する
付記4記載の通信装置。
(付記7)
他の通信装置からの受信データに含まれる識別子に対応付けて暗号化データがデータ格納部に格納されているか判定し、
前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されている場合には、前記受信データに含まれる暗号鍵で、前記データ格納部に前記識別子に対応付けて格納された暗号化データを復号し、
復号されたデータを出力する
処理を含む通信処理方法。
(付記8)
送信が依頼されたデータの識別子に対応付けて暗号鍵がデータ格納部に格納されているか判定し、
前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されている場合には、前記送信が依頼されたデータの識別子及び対応付けられている暗号鍵を、他の通信装置に送信する
処理を含む通信処理方法。
(付記9)
第1の通信装置と、
第2の通信装置と、
を有し、
前記第1の通信装置は、
送信されたデータの識別子に対応付けて暗号鍵を格納する第1のデータ格納部と、
前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記第1のデータ格納部に格納されているか判定する処理部と、
前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記第1のデータ格納部に格納されていると前記処理部により判定された場合には、前記送信が依頼されたデータの識別子及び対応付けられている暗号鍵を、前記第2の通信装置に送信する送信制御部と
を有し、
前記第2の通信装置は、
識別子に対応付けて暗号化データを格納する第2のデータ格納部と、
前記第2の通信装置からの受信データに含まれる識別子に対応付けて暗号化データが前記第2のデータ格納部に格納されているか判定する判定部と、
前記受信データに含まれる識別子に対応付けて暗号化データが前記第2のデータ格納部に格納されていると前記判定部により判定された場合には、前記受信データに含まれる暗号鍵で、前記第2のデータ格納部に前記識別子に対応付けて格納された暗号化データを復号する復号処理部と、
前記復号処理部により復号されたデータを出力する出力部と、
を有するシステム。
(付記10)
他の通信装置からの受信データに含まれる識別子に対応付けて暗号化データがデータ格納部に格納されているか判定し、
前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されている場合には、前記受信データに含まれる暗号鍵で、前記データ格納部に前記識別子に対応付けて格納された暗号化データを復号し、
復号されたデータを出力する
処理を、コンピュータに実行させるための通信処理プログラム。
(付記11)
送信が依頼されたデータの識別子に対応付けて暗号鍵がデータ格納部に格納されているか判定し、
前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されている場合には、前記送信が依頼されたデータの識別子及び対応付けられている暗号鍵を、他の通信装置に送信する
処理を、コンピュータに実行させるための通信処理プログラム。
1 ノード
101 受信部
102 入力バッファ
103 分割部
104 データ格納部
105 ハッシュ処理部
106 ハッシュデータ格納部
107 暗号鍵処理部
108 暗号鍵格納部
109 暗号処理部
110 送信バッファ
111 送信制御部
2 ノード
201 受信部
202 受信バッファ
203 判定部
204 索引格納部
205 暗号化キャッシュ
206 復号処理部
207 出力バッファ
208 出力処理部

Claims (8)

  1. 識別子に対応付けて暗号化データを格納するデータ格納部と、
    他の通信装置からの受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されているか判定する判定部と、
    前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されていると前記判定部により判定された場合には、前記受信データに含まれる暗号鍵で、前記データ格納部に前記識別子に対応付けて格納された暗号化データを復号する復号処理部と、
    前記復号処理部により復号されたデータを出力する出力部と、
    を有し、
    前記判定部は、
    前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されていない場合には、前記データ格納部に、前記識別子に対応付けて前記受信データに含まれる暗号化データを格納し、
    前記復号処理部は、
    前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されていないと前記判定部により判定された場合には、前記受信データに含まれる暗号鍵で、前記受信データに含まれる暗号化データを復号する
    通信装置。
  2. 識別子に対応付けて暗号化データを格納するデータ格納部と、
    他の通信装置からの受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されているか判定する判定部と、
    前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されていると前記判定部により判定された場合には、前記受信データに含まれる暗号鍵で、前記データ格納部に前記識別子に対応付けて格納された暗号化データを復号する復号処理部と、
    前記復号処理部により復号されたデータを出力する出力部と、
    を有し、
    前記判定部は、
    前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されていない場合には、前記データ格納部に、前記受信データに含まれる情報を前記暗号鍵で暗号化することで得られるデータを前記識別子に対応付けて格納し、
    前記出力部は、
    前記受信データに含まれる情報を出力する
    通信装置。
  3. 送信されたデータの識別子に対応付けて暗号鍵を格納するデータ格納部と、
    送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されているか判定する処理部と、
    前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されていると前記処理部により判定された場合には、前記送信が依頼されたデータの識別子及び対応付けられている暗号鍵を、他の通信装置に送信する送信制御部と、
    を有し、
    前記処理部は、
    前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されていない場合には、前記送信が依頼されたデータの暗号鍵を生成して、前記送信が依頼されたデータの識別子に対応付けて前記データ格納部に格納し、
    前記送信が依頼されたデータを、前記暗号鍵で暗号化することで暗号化データを生成し、
    前記送信制御部は、
    前記送信が依頼されたデータの識別子と生成された前記暗号鍵と前記暗号化データとを送信する
    通信装置。
  4. 送信されたデータの識別子に対応付けて暗号鍵を格納するデータ格納部と、
    送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されているか判定する処理部と、
    前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されていると前記処理部により判定された場合には、前記送信が依頼されたデータの識別子及び対応付けられている暗号鍵を、他の通信装置に送信する送信制御部と、
    を有し、
    前記処理部は、
    前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されていない場合には、前記送信が依頼されたデータの暗号鍵を生成して、前記送信が依頼されたデータの識別子に対応付けて前記データ格納部に格納し、
    前記送信制御部は、
    前記送信が依頼されたデータの識別子と生成された前記暗号鍵と前記送信が依頼されたデータとを送信する
    通信装置。
  5. 他の通信装置からの受信データに含まれる識別子に対応付けて暗号化データがデータ格納部に格納されているか判定し、
    前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されている場合には、前記受信データに含まれる暗号鍵で、前記データ格納部に前記識別子に対応付けて格納された暗号化データを復号し、復号されたデータを出力し、
    前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されていない場合には、前記データ格納部に、前記識別子に対応付けて前記受信データに含まれる暗号化データを格納し、
    前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されていない場合には、前記受信データに含まれる暗号鍵で、前記受信データに含まれる暗号化データを復号し、復号されたデータを出力する
    処理を、コンピュータに実行させるための通信処理プログラム。
  6. 他の通信装置からの受信データに含まれる識別子に対応付けて暗号化データがデータ格納部に格納されているか判定し、
    前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されている場合には、前記受信データに含まれる暗号鍵で、前記データ格納部に前記識別子に対応付けて格納された暗号化データを復号し、復号されたデータを出力し、
    前記受信データに含まれる識別子に対応付けて暗号化データが前記データ格納部に格納されていない場合には、前記データ格納部に、前記受信データに含まれる情報を前記暗号鍵で暗号化することで得られるデータを前記識別子に対応付けて格納し、前記受信データに含まれる情報を出力する
    処理を、コンピュータに実行させるための通信処理プログラム。
  7. 送信が依頼されたデータの識別子に対応付けて暗号鍵がデータ格納部に格納されているか判定し、
    前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されている場合には、前記送信が依頼されたデータの識別子及び対応付けられている暗号鍵を、他の通信装置に送信し、
    前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されていない場合には、前記送信が依頼されたデータの暗号鍵を生成して、前記送信が依頼されたデータの識別子に対応付けて前記データ格納部に格納し、
    前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されていない場合には、前記送信が依頼されたデータを、前記暗号鍵で暗号化することで暗号化データを生成し、
    前記送信が依頼されたデータの識別子と生成された前記暗号鍵と前記暗号化データとを前記他の通信装置に送信する
    処理を、コンピュータに実行させるための通信処理プログラム。
  8. 送信が依頼されたデータの識別子に対応付けて暗号鍵がデータ格納部に格納されているか判定し、
    前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されている場合には、前記送信が依頼されたデータの識別子及び対応付けられている暗号鍵を、他の通信装置に送信し、
    前記送信が依頼されたデータの識別子に対応付けて暗号鍵が前記データ格納部に格納されていない場合には、前記送信が依頼されたデータの暗号鍵を生成して、前記送信が依頼されたデータの識別子に対応付けて前記データ格納部に格納し、
    前記送信が依頼されたデータの識別子と生成された前記暗号鍵と前記送信が依頼されたデータとを前記他の通信装置に送信する
    処理を、コンピュータに実行させるための通信処理プログラム。
JP2014116257A 2014-06-04 2014-06-04 通信装置、システム及び通信処理方法 Expired - Fee Related JP6318878B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014116257A JP6318878B2 (ja) 2014-06-04 2014-06-04 通信装置、システム及び通信処理方法
US14/695,324 US10116636B2 (en) 2014-06-04 2015-04-24 Apparatus and method for secure transmission avoiding duplicate data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014116257A JP6318878B2 (ja) 2014-06-04 2014-06-04 通信装置、システム及び通信処理方法

Publications (2)

Publication Number Publication Date
JP2015230379A JP2015230379A (ja) 2015-12-21
JP6318878B2 true JP6318878B2 (ja) 2018-05-09

Family

ID=54770482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014116257A Expired - Fee Related JP6318878B2 (ja) 2014-06-04 2014-06-04 通信装置、システム及び通信処理方法

Country Status (2)

Country Link
US (1) US10116636B2 (ja)
JP (1) JP6318878B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6318878B2 (ja) * 2014-06-04 2018-05-09 富士通株式会社 通信装置、システム及び通信処理方法
US20180124025A1 (en) * 2016-10-31 2018-05-03 Riverbed Technology, Inc. Providing visibility into encrypted traffic without requiring access to the private key
JP6747303B2 (ja) * 2017-01-13 2020-08-26 富士通株式会社 通信装置、通信システム、通信方法、および、通信プログラム
JP6900833B2 (ja) * 2017-08-10 2021-07-07 日本電信電話株式会社 通信システム、通信方法および通信処理プログラム
KR102030785B1 (ko) * 2019-04-26 2019-10-10 주식회사그린존시큐리티 의사난수를 이용한 IoT 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법
CN110213042B (zh) * 2019-05-09 2021-02-02 电子科技大学 一种基于无证书代理重加密的云数据去重方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4131581B2 (ja) * 1998-01-30 2008-08-13 株式会社東芝 通信データ秘匿制御システム、及び通信データ秘匿制御方法
JP2000244475A (ja) * 1999-02-19 2000-09-08 Nec Corp ファイル暗号システム
US7003667B1 (en) * 1999-10-04 2006-02-21 Canon Kabushiki Kaisha Targeted secure printing
US7412462B2 (en) * 2000-02-18 2008-08-12 Burnside Acquisition, Llc Data repository and method for promoting network storage of data
JP2001290691A (ja) * 2000-04-07 2001-10-19 Hitachi Ltd 計算機システム及び二次記憶装置
JP2002312314A (ja) * 2001-04-13 2002-10-25 Seiko Epson Corp サービス提供システム
JP4196561B2 (ja) * 2001-12-12 2008-12-17 日本電気株式会社 コンテンツ配信方法、サーバ端末、中継サーバ、サーバクラスタ及びプログラム
US6667700B1 (en) * 2002-10-30 2003-12-23 Nbt Technology, Inc. Content-based segmentation scheme for data compression in storage and transmission including hierarchical segment representation
JP2004153590A (ja) * 2002-10-31 2004-05-27 Hitachi Ltd コンテンツ配信方法およびそのためのコンテンツ記憶装置記憶装置
JP5414223B2 (ja) 2008-09-16 2014-02-12 株式会社日立ソリューションズ インターネットバックアップにおける転送データ管理システム
US8504844B2 (en) * 2008-12-19 2013-08-06 Teradata Us, Inc. System, method, and computer-readable medium for cryptographic key rotation in a database system
US9742564B2 (en) * 2010-05-14 2017-08-22 Oracle International Corporation Method and system for encrypting data
JP2012010052A (ja) * 2010-06-24 2012-01-12 Sony Corp 情報処理装置および方法、プログラム、並びに、情報処理システム
JP5541039B2 (ja) * 2010-09-27 2014-07-09 富士通株式会社 生体認証システム、生体認証サーバ、生体認証方法及びそのプログラム。
US8943023B2 (en) * 2010-12-29 2015-01-27 Amazon Technologies, Inc. Receiver-side data deduplication in data systems
US9116909B2 (en) * 2010-12-29 2015-08-25 Amazon Technologies, Inc. Reduced bandwidth data uploading in data systems
EP2562675A1 (fr) * 2011-08-19 2013-02-27 Gemalto SA Procédé de cloisonnement matériel des ressources d'un système informatique sécurisé
US9380032B2 (en) * 2012-04-25 2016-06-28 International Business Machines Corporation Encrypting data for storage in a dispersed storage network
US8762718B2 (en) * 2012-08-03 2014-06-24 Palo Alto Research Center Incorporated Broadcast deduplication for satellite broadband
WO2014138120A1 (en) * 2013-03-04 2014-09-12 Docusign, Inc. Systems and methods for cloud data security
WO2014207929A1 (ja) * 2013-06-28 2014-12-31 富士通株式会社 情報処理装置、端末機、情報処理システム及び情報処理方法
US9350550B2 (en) * 2013-09-10 2016-05-24 M2M And Iot Technologies, Llc Power management and security for wireless modules in “machine-to-machine” communications
US9225691B1 (en) * 2013-09-27 2015-12-29 Emc Corporation Deduplication of encrypted dataset on datadomain backup appliance
WO2015100627A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 一种分布式文件存储系统中的数据处理方法及设备
JP6318878B2 (ja) * 2014-06-04 2018-05-09 富士通株式会社 通信装置、システム及び通信処理方法
JP6362483B2 (ja) * 2014-09-02 2018-07-25 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
US20150358302A1 (en) 2015-12-10
JP2015230379A (ja) 2015-12-21
US10116636B2 (en) 2018-10-30

Similar Documents

Publication Publication Date Title
JP6318878B2 (ja) 通信装置、システム及び通信処理方法
US11921905B2 (en) Secure collaboration between processors and processing accelerators in enclaves
US9735962B1 (en) Three layer key wrapping for securing encryption keys in a data storage system
US9985782B2 (en) Network bound decryption with offline encryption
US10609006B2 (en) Self-encrypting key management system
US20160364343A1 (en) Systems and methods for data encryption
WO2019015598A1 (zh) 混合云的数据存储方法、装置、相关设备及云系统
US11949775B2 (en) Network bound encryption for recovery of trusted execution environments
WO2022028289A1 (zh) 数据加密方法、数据解密方法、装置、终端和存储介质
US11159309B2 (en) Obtaining quorum approval to perform an operation with a cryptographic item of a key management system
US9619658B2 (en) Homomorphically encrypted one instruction computation systems and methods
TW202242693A (zh) 用於總儲存加密之系統、方法及設備
US10686769B2 (en) Secure key caching client
US20140059341A1 (en) Creating and accessing encrypted web based content in hybrid applications
WO2023226308A1 (zh) 一种文件共享方法、系统、电子设备及可读存储介质
US11671412B2 (en) Network bound encryption for orchestrating workloads with sensitive data
US20230222230A1 (en) Key distribution system in a secure enclave
JP2016129403A (ja) 暗号化プロトコルの難読化された初期値に対するシステムおよび方法
JP2010165275A (ja) データ格納システム及び情報送信装置及びサーバ装置
US8706635B2 (en) Use of licensed content without identification thereof
CN111831978A (zh) 一种对配置文件进行保护的方法及装置
CN108985109A (zh) 一种数据存储方法及装置
CN110881015B (zh) 用于处理用户信息的系统和方法
JP6381861B2 (ja) 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム
JP4945265B2 (ja) サービス利用識別情報生成装置、サービス利用識別情報生成システム、サービス利用識別情報生成方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180319

R150 Certificate of patent or registration of utility model

Ref document number: 6318878

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees