JP6576699B2 - 暗号化システム、更新方法、および更新プログラム - Google Patents

暗号化システム、更新方法、および更新プログラム Download PDF

Info

Publication number
JP6576699B2
JP6576699B2 JP2015119406A JP2015119406A JP6576699B2 JP 6576699 B2 JP6576699 B2 JP 6576699B2 JP 2015119406 A JP2015119406 A JP 2015119406A JP 2015119406 A JP2015119406 A JP 2015119406A JP 6576699 B2 JP6576699 B2 JP 6576699B2
Authority
JP
Japan
Prior art keywords
key
data
current
encrypted
encryption
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.)
Active
Application number
JP2015119406A
Other languages
English (en)
Other versions
JP2017005587A (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.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2015119406A priority Critical patent/JP6576699B2/ja
Priority to US15/177,514 priority patent/US10243736B2/en
Publication of JP2017005587A publication Critical patent/JP2017005587A/ja
Application granted granted Critical
Publication of JP6576699B2 publication Critical patent/JP6576699B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本開示は、暗号化されたデータを管理する暗号化システム、データの暗号化時に用いられるキーの更新方法、および当該キーの更新プログラムに関する。
近年、クラウドサービスが普及している。クラウドサービスの利用により、たとえば、社内システムによって従業員に提供されていたサービスが、クラウド上のサーバーによって安価に提供される。社内システムにおいては、社内の運用者がデータベースを管理するため、情報が外部に漏えいするリスクが少ない。クラウドサービスにおいては、サーバー内のデータベースが第三者の運用者に閲覧され得るため、情報が外部に漏えいするリスクがある。したがって、機密データは、クラウドサーバーでは暗号化された上で管理されることが望ましい。
このような暗号化技術に関し、特開2014−17763号公報(特許文献1)は、「暗号更新を希望する利用者側の装置の負荷を軽減しながら、暗号化データが記憶されたデータベースの管理者に平文や復号用情報を与えることなく、暗号更新を行う技術」を開示している。
特開2014−17763号公報
一般的に、データの暗号化には暗号化キー(以下、「キー」ともいう。)が用いられる。キーは、定期的に更新されることがセキュリティ上好ましい。キーの更新時には、データベースは、更新後のキーに合わせて再暗号化される必要がある。
再暗号化処理は、たとえば、ネットワークを介してクラウドサーバーに接続されているクライアントによって実行される。より具体的には、クライアントは、クラウドサーバーからデータを取得し、当該データを更新前のキーで復号化し、当該データを更新後のキーで再暗号化し、当該データをクラウドサーバーに格納する。数百万件のデータがデータベース上で管理されている場合には、再暗号化処理に時間がかかり、サービスの提供に支障が生じる可能性がある。
特許文献1に開示される技術は、新たな暗号化キーを生成する度に、暗号化されているデータを新たな暗号化キーで暗号化する。このように、当該技術においては、データが暗号化キーで何重にも暗号化されているため、データの復号時に時間がかかる。また、データのサイズは、暗号化キーの更新の度に増大する。
本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、暗号化キーの更新に起因して暗号化処理および復号化処理の効率が低下することを防止できる暗号化システムを提供することである。他の局面における目的は、暗号化キーの更新に起因して暗号化処理および復号化処理の効率が低下することを防止できるキー更新方法を提供することである。さらに他の局面における目的は、暗号化キーの更新に起因して暗号化処理および復号化処理の効率が低下することを防止できるキー更新プログラムを提供することである。
ある局面に従うと、データの暗号化システムは、第1キーを用いた第1暗号化方式でデータを暗号化し、第1暗号化データを生成するための第1暗号化部と、第2キーを用いた第2暗号化方式で第1暗号化データを暗号化し、第2暗号化データを生成するための第2暗号化部とを備える。第2暗号化方式は、データのシフト量を規定している第2キーに基づいてシフト演算を行う暗号化方式、または、データの反転位置を規定している第2キーに基づいてXOR演算を行う暗号化方式である。暗号化システムは、生成された第2暗号化データを格納するためのデータ記憶部と、現在の第1キーおよび現在の第2キーの両方の更新指示を受け付けたことに基づいて、現在の第1キーを新たな第1キーに更新するとともに、現在の第2キーを新たな第2キーに更新するためのキー更新部と、現在の第2キーの更新時に、現在の第2キーで暗号化されている第2暗号化データを、新たな第2キーで暗号化されている状態に変換するデータ更新部と、現在の第2キーと新たな第2キーとの間の差分を算出するための算出部とを備える。データ更新部は、差分を用いて、現在の第2キーで暗号化されている第2暗号化データを、現在の第2キーで復号化せずに、新たな第2キーで暗号化されている状態に変換する。暗号化システムは、キー更新部による更新後の第2キーで、データ更新部による変換後の第2暗号化データを第1暗号化データに復号化するための第1復号化部と、キー更新部による更新前の第1キーで、第1復号化部による復号化で得られた第1暗号化データをデータに復号化するための第2復号化部とを備える。
好ましくは、データ更新部は、第2暗号化データの変換後に、差分を削除する。
好ましくは、変換処理前における第2暗号化データのデータサイズと、変換処理後における第2暗号化データのデータサイズとは等しい。
好ましくは、データ記憶部は、第2暗号化データと当該第2暗号化データの更新日時とを互いに関連付けて格納する。暗号化システムは、さらに、過去の第1キーと当該第1キーの生成日時とを現在の第1キーで暗号化した上で履歴情報として格納する履歴情報記憶部と、現在の第2キーを現在の第1キーで暗号化した上で第2キー情報として格納するための第2キー記憶部とを備える
好ましくは、キー更新部は、現在の第1キーの更新指示を受け付けたことに基づいて、履歴情報を現在の第1キーで復号化し、現在の第1キーを過去の第1キーとして当該第1キーと当該第1キーの生成日時とを履歴情報に追加し、当該履歴情報を新たな第1キーで暗号化する。
好ましくは、キー更新部は、現在の第2キーの更新指示を受け付けたことに基づいて、第2キー情報を現在の第1キーで復号化し、復号化処理後の第2キー情報に含まれる現在の第2キーを新たな第2キーで置換し、置換処理後の第2キー情報を新たな第1キーで暗号化する。
好ましくは、暗号化システムは、第2暗号化データの更新日時が保管期間を過ぎたことに基づいて、第2暗号化データを削除するための削除部をさらに備える。キー更新部は、第2暗号化データが削除されたことに基づいて、履歴情報を現在の第1キーで復号化し、復号化処理後の履歴情報に含まれる過去の第1キーの中から保管期間が過ぎている第1キーを削除し、削除処理後の履歴情報を現在の第1キーで再び暗号化する。
好ましくは、第2復号化部は、生成日時が第2暗号化データの更新日時よりも前である最新の第1キーで第1暗号化データをデータに復号化する。
好ましくは、暗号化システムは、互いにネットワークで接続されているクライアントとサーバーとを備える。クライアントは、現在の第1キーを格納するための第1キー記憶部を含む。サーバーは、第2キー記憶部と、履歴情報記憶部と、データ記憶部とを含む。
好ましくは、暗号化システムは、互いにネットワークで接続されているクライアントとサーバーとを備える。クライアントは、現在の第1キーを格納するための第1キー記憶部と、第2キー記憶部と、履歴情報記憶部とを含む。サーバーは、データ記憶部を含む。
好ましくは、データから第2暗号化データへの暗号化処理および第2暗号化データからデータへの復号化処理は、クライアントおよびサーバーの少なくとも一方によって実行される。
他の局面に従うと、データの暗号化システムにおけるコンピュータによって実行されるデータの暗号化時に用いられるキーの更新方法であって、コンピュータが、第1キーを用いた第1暗号化方式でデータを暗号化し、第1暗号化データを生成するステップと、コンピュータが、第2キーを用いた第2暗号化方式で第1暗号化データを暗号化し、第2暗号化データを生成するステップとを備える。第2暗号化方式は、データのシフト量を規定している第2キーに基づいてシフト演算を行う暗号化方式、または、データの反転位置を規定している第2キーに基づいてXOR演算を行う暗号化方式である。更新方法は、コンピュータが、生成された第2暗号化データを暗号化システムの記憶装置に格納するステップと、コンピュータが、現在の第1キーおよび現在の第2キーの両方の更新指示を受け付けたことに基づいて、現在の第1キーを新たな第1キーに更新するとともに、現在の第2キーを新たな第2キーに更新するステップと、コンピュータが、現在の第2キーの更新時に、現在の第2キーで暗号化されている第2暗号化データを、新たな第2キーで暗号化されている状態に変換するステップと、コンピュータが、現在の第2キーと新たな第2キーとの間の差分を算出するステップと、備える。変換するステップでは、コンピュータが差分を用いたビットの操作を実行することで、現在の第2キーで暗号化されている第2暗号化データを、現在の第2キーで復号化せずに、新たな第2キーで暗号化されている状態に変換する処理を実行する。更新方法は、更新するステップでの更新後の第2キーで、変換するステップでの変換後の第2暗号化データを第1暗号化データに復号化するステップと、更新するステップでの更新前の第1キーで、復号化するステップで得られた第1暗号化データをデータに復号化するステップとを備える
さらに他の局面に従うと、データの暗号化システムにおけるコンピュータによって実行可能で、データの暗号化時に用いられるキーの更新プログラムであって、コンピュータに、第1キーを用いた第1暗号化方式でデータを暗号化し、第1暗号化データを生成するステップと、第2キーを用いた第2暗号化方式で第1暗号化データを暗号化し、第2暗号化データを生成するステップとを実行させる。第2暗号化方式は、データのシフト量を規定している第2キーに基づいてシフト演算を行う暗号化方式、または、データの反転位置を規定している第2キーに基づいてXOR演算を行う暗号化方式である。コンピュータに、さらに、生成された第2暗号化データをコンピュータの記憶装置に格納するステップと、現在の第1キーおよび現在の第2キーの更新指示を受け付けたことに基づいて、現在の第1キーを新たな第1キーに更新するとともに、現在の第2キーを新たな第2キーに更新するステップと、現在の第2キーの更新時に、現在の第2キーで暗号化されている第2暗号化データを、新たな第2キーで暗号化されている状態に変換するステップと、現在の第2キーと新たな第2キーとの間の差分を算出するステップと、を実行させる。変換するステップでは、差分を用いたビットの操作が実行されることで、現在の第2キーで暗号化されている第2暗号化データを、現在の第2キーで復号化せずに、新たな第2キーで暗号化されている状態に変換する処理を実行させる。コンピュータに、さらに、更新するステップでの更新後の第2キーで、変換するステップでの変換後の第2暗号化データを第1暗号化データに復号化するステップと、更新するステップでの更新前の第1キーで、復号化するステップで得られた第1暗号化データをデータに復号化するステップとを実行させる
ある局面において、暗号化キーの更新に起因して暗号化処理および復号化処理の効率が低下することを防止できる。
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
関連技術に従う暗号化システムによる暗号化キーの更新処理を概略的に示す概念図である。 第1の実施の形態に従う暗号化システムが利用するデータの内容を概略的に示す概念図である。 第1の実施の形態に従う暗号化システムのキー更新時における機能構成の一例を示す図である。 第1の実施の形態に従う暗号化システムのキー更新処理を表わすフローチャートである。 第1の実施の形態に従う暗号化システムの暗号化時における機能構成の一例を示す図である。 第1の実施の形態に従う暗号化システムの暗号化処理を表わすフローチャートである。 第1の実施の形態に従う暗号化システムの復号化時における機能構成の一例を示す図である。 第1の実施の形態に従う暗号化システムの復号化時における機能構成の他の例を示す図である。 第1の実施の形態に従う暗号化システムの復号化処理を表わすフローチャートである。 第1の実施の形態に従う暗号化システムの主要なハードウェア構成を示すブロック図である。 第2の実施の形態に従う暗号化システムのキー削除時における機能構成の一例を示す図である。 第2の実施の形態に従う暗号化システムの削除処理を表わすフローチャートである。
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
<関連技術>
まず、以下の各実施の形態についての理解を深めるために、図1を参照して、関連技術に従う暗号化システム300Xについて説明する。図1は、暗号化システム300Xによる暗号化キーの更新処理を概略的に示す概念図である。図1に示されるように、暗号化システム300Xは、互いにネットワーク上で接続されているクライアント100Xとサーバー200Xとを含む。
クライアント100Xは、暗号化対象のデータを受け付けると、当該データを二段階で暗号化する。以下では、一段階目の暗号化処理で用いられる暗号化キーを「メインキー」ともいう。二段階目の暗号化処理で用いられる暗号化キーを「サブキー」ともいう。クライアント100Xは、暗号化対象のデータをメインキーA0で暗号化し、当該暗号化により得られるデータをさらにサブキーB0で暗号化する。クライアント100Xは、メインキーA0およびサブキーB0で暗号化されたデータDXをサーバー200Xに送信する。サーバー200Xは、クライアント100Xから受信したデータDXを格納する。
クライアント100Xは、メインキーA0およびサブキーB0の更新指示を受け付けると、現在のメインキーA0に代わる新たなメインキーA1を生成するとともに、現在のサブキーB0に代わる新たなサブキーB1を生成する。クライアント100Xは、新たなメインキーA1とサブキーB1とをサーバー200Xに送信するとともに、メインキーA1で暗号化された更新前のサブキーB0をサーバー200Xに送信する。サーバー200Xの更新部20Xは、メインキーA1およびサブキーB1を受信したことに基づいて、サブキーB0で暗号化されているデータDXと、メインキーA1で暗号化されているサブキーB0とをサブキーB1でさらに暗号化する。このように、サーバー200がデータDXを復号化せずにキーを更新するため、データDXの内容がサーバー200Xの管理者に漏えいするリスクが少ない。
暗号化システム300Xは、キーの更新の度にデータDXを新たなサブキーで暗号化し、更新前のサブキーを順次記憶する。そのため、サーバー200X上のデータサイズは、キーの更新の度に大きくなる。また、データDXの復号時には、サブキーで何重にも暗号化されているデータDXを順に復号化する必要があるため、キーの更新回数が多くなるほど復号化処理にかかる時間が長くなる。
以下で説明する実施の形態に従う暗号化システム300は、これらの問題を解決することができる。すなわち、暗号化システム300は、キーの更新の度に、サーバー上のデータサイズが大きくなることを防止するとともに、当該更新処理に起因して復号化処理の効率が低下することを防止する。
<第1の実施の形態>
[データ構造]
図2を参照して、第1の実施の形態に従う暗号化システム300が利用するデータの内容について説明する。図2は、暗号化システム300が利用するデータの内容を概略的に示す概念図である。
図2に示されるように、暗号化システム300は、互いにネットワーク上で接続されているクライアント100とサーバー200とを含む。
クライアント100は、メインキー情報111を含む。メインキー情報111は、たとえば、クライアント100の記憶装置110(図10参照)に格納されている。メインキー情報111には、現在のメインキーに関する情報が含まれる。図2の例では、メインキー情報111には、メインキーA0と、メインキーA0の生成日時とが含まれている。
サーバー200は、メインキー履歴情報211と、サブキー情報212と、データベース213とを含む。メインキー履歴情報211と、サブキー情報212と、データベース213とは、サーバー200の記憶装置210(図10参照)に格納されている。
メインキー履歴情報211には、過去のメインキーに関する情報が含まれる。一例として、メインキー履歴情報211は、過去のメインキーAa〜AzとメインキーAa〜Azの生成日時とを含む。メインキー履歴情報211は、現在のメインキーA0で暗号化されている。
サブキー情報212は、現在のサブキーに関する情報を含む。サブキー情報212は、現在のメインキーA0で暗号化されている。一例として、サブキー情報212は、サブキーB0を含む。
データベース213は、管理対象のデータと、当該データに関する情報とを含む。管理対象のデータは、メインキーで暗号化された上で、さらに、サブキーで暗号化されている。一例として、データベース213においては、暗号化されたデータと、当該データの更新日時とが互いに関連付けられている。
なお、メインキー情報111、メインキー履歴情報211、サブキー情報212、およびデータベース213の格納場所は、図2の例に限定されない。すなわち、これらの格納場所は任意である。たとえば、メインキー情報111、メインキー履歴情報211、およびサブキー情報212がクライアント100に格納されて、データベース213がサーバー200に格納されてもよい。
[暗号化システム300の処理]
暗号化システム300によって実行される処理として、キー更新処理と、暗号化処理と、復号化処理とが挙げられる。暗号化システム300は、キー更新処理を実行することで、暗号化および復号化に用いられるキーを更新する。暗号化システム300は、暗号化処理を実行することで、平文のデータを暗号化し、暗号化データを生成する。暗号化システム300は、復号化処理を実行することで、暗号化データを復号化し、平文のデータを生成する。
以下では、暗号化システム300のキー更新処理、暗号化処理、および復号化処理について順に説明する。
(キー更新処理)
図3および図4を参照して、暗号化システム300のキー更新処理について説明する。図3は、キー更新時における暗号化システム300の機能構成の一例を示す図である。図4は、暗号化システム300のキー更新処理を表わすフローチャートである。図4の処理は、クライアント100のCPU(Central Processing Unit)102(図10参照)およびサーバー200のCPU202(図10参照)がキー更新プログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子その他のハードウェアによって実行されてもよい。
図3に示されるように、クライアント100は、キー更新処理を実現するための機能構成として、キー生成部150と、キー更新部152と、算出部154とを含む。サーバー200は、データ更新部250を含む。
ステップS50において、キー生成部150は、メインキーA0およびサブキーB0を更新する指示を受け付けたことに基づいて、現在のメインキーA0に代わるメインキーA1と、現在のサブキーB0に代わるサブキーB1とを新たに生成する。一例として、キーの更新指示は、予め設定されている期間(たとえば、一日)ごとに発せられる。あるいは、キーの更新指示は、クライアント100に対するキー更新操作に基づいて応じて発せられる。キー生成部150は、新たに生成したメインキーA1をキー更新部152に出力するとともに、新たに生成したサブキーB1を算出部154に出力する。
ステップS52において、キー更新部152は、メインキー履歴情報211をサーバー200から取得する。メインキー履歴情報211は、更新前のメインキーA0で暗号化されているため、キー更新部152は、メインキー履歴情報211をメインキーA0で復号化する。キー更新部152は、新たなメインキーA1と当該メインキーA1の生成日時とを、復号化後のメインキー履歴情報211に追加する。その後、キー更新部152は、新たなメインキーA1でメインキー履歴情報211を暗号化し、当該メインキー履歴情報211をサーバー200に送信する。サーバー200は、受信したメインキー履歴情報211を格納する。
ステップS54において、キー更新部152は、クライアント100に格納されているメインキー情報111を更新する。より具体的には、キー更新部152は、メインキー情報111に含まれるメインキーA0を新たなメインキーA1に置換するとともに、メインキー情報111に含まれるメインキーA0の生成日時をメインキーA1の生成日時に置換する。
ステップS56において、算出部154は、現在のサブキーB0と新たなサブキーB1との差分Cを算出する。算出部154は、算出した差分Cをデータ更新部250に出力する。
ステップS58において、キー更新部152は、サブキー情報212をサーバー200から取得する。サブキー情報212は、更新前のメインキーA0で暗号化されているため、キー更新部152は、サブキー情報212をメインキーA0で復号化する。キー更新部152は、サブキー情報212に含まれるサブキーB0を新たなサブキーB1で置換する。その後、キー更新部152は、新たなメインキーA1でサブキー情報212を暗号化し、当該サブキー情報212をサーバー200に送信する。サーバー200は、受信したサブキー情報212を格納する。
ステップS60において、データ更新部250は、サブキーB0の更新時に、更新前のサブキーB0で暗号化されているデータベース213を更新後の新たなサブキーB1で暗号化されている状態に変換する。より具体的には、データ更新部250は、差分Cを用いて、データベース213をサブキーB0で復号化せずに、データベース213をサブキーB1で暗号化されている状態に変換する。
ステップS60における更新処理について具体例を挙げてさらに詳細に説明する。ある局面において、サブキーによる暗号化は、データをビットシフトさせることで実現される。この場合、サブキーには、データのシフト量が規定されている。一例として、サブキーB0には、シフト量として「3ビット右シフト」が規定されているとする。サブキーB1には、シフト量として「9ビット右シフト」が規定されているとする。この場合、算出部154は、サブキーB1からサブキーB0を差分した「6ビット右シフト」を差分Cとして算出する。
データ更新部250は、差分Cに基づいて、サブキーB0で暗号化されているデータベース213を6ビット右シフトさせることで、データベース213をサブキーB1で暗号化されている状態にする。このように、データ更新部250は、データベース213を更新前のサブキーB0で復号化せずに、更新後のサブキーB1で暗号化した状態にデータベース213を変換する。これにより、データ更新部250は、キー更新時におけるデータベース213の変換処理を高速化することができる。結果として、キー更新中における暗号化システム300への負荷が軽減される。
他の局面において、サブキーによる暗号化は、ビット反転により実現される。この場合、サブキーには、1バイト(すなわち、8ビット)のデータにおいて反転するビット位置が規定されている。一例として、サブキーB0には、反転位置として「1ビット目、3ビット目」が規定されているとする。サブキーB1には、反転位置として「1ビット目、4ビット目」が規定されているとする。この場合、算出部154は、サブキーB1からサブキーB0を差分した「3ビット目、4ビット目」を差分Cとして算出する。
データ更新部250は、差分Cに基づいて、データベース213の1バイトごとのそれぞれのデータについて3,4ビット目を反転する。このように、データ更新部250は、データベース213を更新前のサブキーB0で復号化せずに、更新後のサブキーB1で暗号化した状態にデータベース213を変換することができる。
サーバー200は、新たなサブキーB1を用いずにデータベース213を変換するため、サブキーB1がサーバー200の管理者に漏えいすることはない。さらに、サブキーが頻繁に更新されることにより、仮にサーバー200の管理者が過去のサブキーを入手したとしても、当該管理者は、データベース213を復号化することができない。そのため、データベース213の内容が当該管理者に漏えいリスクは低い。
好ましくは、変換処理前におけるデータベース213のデータサイズと、変換処理後におけるデータベース213のデータサイズとは等しい。これにより、データ更新部250は、サーバー200上でデータサイズがキーの更新の度に増大することを防止する。
さらに好ましくは、データ更新部250は、データベース213の変換後に、差分Cを削除する。これにより、データ更新部250は、キーの更新の度に差分Cが蓄積されることを防止でき、キーの更新処理に起因してサーバー200上でデータサイズが増大することを防止できる。
(暗号化システム300の暗号化処理)
図5および図6を参照して、暗号化システム300の暗号化処理について説明する。図5は、暗号化時における暗号化システム300の機能構成の一例を示す図である。図6は、暗号化システム300の暗号化処理を表わすフローチャートである。図6の処理は、クライアント100のCPU102(図10参照)およびサーバー200のCPU202(図10参照)が暗号化プログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子その他のハードウェアによって実行されてもよい。
図5に示されるように、クライアント100は、暗号化処理を実現するための機能構成として、データ暗号化部130と、データ暗号化部134と、キー復号化部142とを含む。サーバー200は、暗号化処理を実現するための機能構成として、データ更新部250を含む。
ステップS10において、データ暗号化部130は、暗号化対象のデータを取得する。暗号化対象のデータは、たとえば、クライアント100の管理者によって指定されたデータである。あるいは、暗号化対象のデータは、クライアント100において予め設定されているフォルダのデータである。
ステップS12において、データ暗号化部130は、メインキー情報111から現在のメインキーA0を取得する。データ暗号化部130は、メインキーA0を用いた第1暗号化方式で暗号化対象のデータを暗号化し、データD0を生成する。好ましくは、第1暗号化方式には、後述する第2暗号化方式よりも暗号化強度が高い暗号化アルゴリズムが採用される。第1暗号化方式としては、たとえば、AES(Advanced Encryption Standard)−256bitやRSA(Rivest Shamir Adleman)等が挙げられる。データ暗号化部130は、暗号化後のデータD0をデータ暗号化部134に出力する。
ステップS14において、キー復号化部142は、サブキー情報212をサーバー200から受信する。サブキー情報212は、現在のメインキーA0で暗号化されているため、キー復号化部142は、サブキー情報212をメインキーA0で復号化する。キー復号化部142は、復号化後のサブキー情報212からサブキーB0を取得し、当該サブキーB0をデータ暗号化部134に出力する。
ステップS16において、データ暗号化部134は、サブキーB0を用いた第2暗号化方式でデータD0を暗号化し、データD1を生成する。データ暗号化部134は、データD1を生成した時刻を更新日時として、当該更新日時とデータD1とをサーバー200に送信する。
一例として、第2暗号化方式には、第1暗号化方式よりも高速な暗号化方式が採用される。好ましくは、第2暗号化方式には、サブキーの種類によらず暗号化前後でデータサイズが同じになる方式が採用される。さらに好ましくは、第2暗号化方式には、異なるサブキー同士で差分が可能な方式が採用される。
一例として、第2暗号化方式には、XOR演算、シフト演算、小サイズの変換テーブルに基づいたデータ変換アルゴリズム等が採用される。XOR演算においては、データ暗号化部134は、サブキーを種として乱数を発生させ、当該乱数に基づいて1バイト内の反転させるビット位置を決定する。データ暗号化部134は、データD0の1バイトごとのそれぞれのデータについてビット反転する。シフト演算においては、データ暗号化部134は、サブキーを種として乱数を発生させ、当該乱数に基づいてシフト量を決定する。データ暗号化部134は、決定したシフト量の分だけデータD0をビットシフトする。
ステップS18において、データ更新部250は、クライアント100から受信したデータD1と更新日時とを一つのレコードとしてデータベース213に格納する。
なお、上述では、クライアント100が暗号化処理を実行する例について説明したが、クライアント100およびサーバー200間の通信経路のセキュリティに問題がなく、暗号化処理中のデータをサーバー200の管理者に秘匿できれば、サーバー200が暗号化処理を実行してもよい。すなわち、暗号化処理は、クライアント100およびサーバー200の少なくとも一方によって実行され得る。
(暗号化システム300の復号化処理)
図7〜図9を参照して、暗号化システム300の復号化処理について説明する。図7は、復号化時における暗号化システム300の機能構成の一例を示す図である。図8は、復号化時における暗号化システム300の機能構成の他の例を示す図である。図9は、暗号化システム300の復号化処理を表わすフローチャートである。図9の処理は、クライアント100のCPU102(図10参照)およびサーバー200のCPU202(図10参照)が復号化プログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子その他のハードウェアによって実行されてもよい。
図7および図8に示されるように、クライアント100は、復号化処理を実現するためのデータ復号化部140と、キー復号化部142と、キー復号化部144と、データ復号化部146とを含む。
ステップS30において、データ復号化部140は、復号化対象のデータD1と当該データD1の更新日時とをサーバー200のデータベース213から取得する。復号化対象のデータD1は、たとえば、クライアント100の管理者によって指定される。
ステップS32において、キー復号化部142は、サブキー情報212をサーバー200から取得する。サブキー情報212は、現在のメインキーA0で暗号化されているため、キー復号化部142は、メインキー情報111に含まれるメインキーA0でサブキー情報212を復号化する。キー復号化部142は、復号化後のサブキー情報212からサブキーB0を取得する。キー復号化部142は、サブキーB0をデータ復号化部140に出力する。
ステップS34において、データ復号化部140は、サブキーB0で暗号化されているデータD1をサブキーB0で復号化し、データD0を生成する。データ復号化部140は、データD0をデータ復号化部146に出力する。
ステップS36において、クライアント100は、データD1の更新日時が現在のメインキーA0の生成日時よりも新しいか否かを判断する。クライアント100は、データD1の更新日時が現在のメインキーA0の生成日時よりも新しいと判断した場合(ステップS36においてYES)、制御をステップS38に切り替える。そうでない場合には(ステップS36においてNO)、クライアント100は、制御をステップS40に切り替える。
ステップS38において、データ復号化部146は、メインキー情報111からメインキーA0を取得し、データD0をメインキーA0で復号化する。これにより、データ復号化部146は、平文のデータを取得することができる。
ステップS40において、キー復号化部144は、サーバー200からメインキー履歴情報211を取得する。メインキー履歴情報211は、現在のメインキーA0で暗号化されているため、キー復号化部144は、メインキーA0でメインキー履歴情報211を復号化する。その結果、過去のメインキーと、当該メインキーの生成日時が得られる。取得された情報は、クライアント100の内部にキャッシュとして保持されてもよい。これにより、次回の復号化処理が高速化される。キー復号化部144は、生成日時が暗号化データの更新日時よりも古いメインキーをメインキー履歴情報211に含まれるメインキーの中から選択し、選択したメインキーの中で最も新しいメインキーAaを取得する。キー復号化部144は、メインキーAaをデータ復号化部146に出力する。
ステップS42において、データ復号化部146は、データD0をメインキーAaで復号化する。以上のようにして、データ復号化部146は、データD1の更新日時よりも前に生成されたメインキーAaでデータD1を平文のデータに復号化する。
なお、図7および図8では、クライアント100が復号化処理を実行する例について説明したが、クライアント100およびサーバー200間の通信経路のセキュリティに問題がなく、復号化処理中のデータをサーバー200の管理者に秘匿できれば、サーバー200が復号化処理を実行してもよい。すなわち、復号化処理は、クライアント100およびサーバー200の少なくとも一方によって実行され得る。
[暗号化システム300のハードウェア構成]
図10を参照して、暗号化システム300のハードウェア構成の一例について説明する。図10は、暗号化システム300の主要なハードウェア構成を示すブロック図である。図10に示されるように、暗号化システム300は、クライアント100と、サーバー200とを含む。クライアント100およびサーバー200は、互いにネットワーク接続されている。以下では、クライアント100のハードウェア構成と、サーバー200のハードウェア構成とについて順に説明する。
(クライアント100のハードウェア構成)
図10に示されるように、クライアント100は、ROM(Read Only Memory)101と、CPU102と、RAM(Random Access Memory)103と、ネットワークI/F(インタフェース)104と、モニタ105と、記憶装置110とを含む。
ROM101は、クライアント100のオペレーティングシステム、クライアント100で実行される制御プログラム等を格納する。CPU102は、オペレーティングシステムやクライアント100の制御プログラム等の各種プログラムを実行することで、クライアント100の動作を制御する。RAM103は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
ネットワークI/F104には、アンテナやNIC(Network Interface Card)等の通信機器が接続される。クライアント100は、当該通信機器を介して、他の通信端末との間でデータを送受信する。他の通信端末は、たとえば、サーバー200、その他の端末等を含む。クライアント100は、本実施の形態に従う各種の処理を実現するためのプログラム115を、ネットワークI/F104を介してダウンロードできるように構成されてもよい。
モニタ105は、プログラム115を実行することで表示される各種画面を表示する。モニタ105は、タッチセンサ(図示しない)と組み合わされてタッチパネルとして実現されてもよい。タッチパネルは、暗号化対象のデータや復号化対象のデータを選択するための操作を受け付けたり、キーを更新するための操作を受け付けたりする。
記憶装置110は、たとえば、ハードディスクや外付けの記憶装置等の記憶媒体である。一例として、記憶装置110は、メインキー情報111と、本実施の形態に従うプログラム115とを含む。メインキー情報111は、たとえば、記憶装置110の所定の記憶領域であるメインキー記憶部に格納される。プログラム115は、データの暗号化を実現するための暗号化プログラム、暗号化されたデータの復号化を実現するための復号化プログラム、暗号化処理に用いられるキーの更新処理を実現するための更新プログラム等を含む。
なお、プログラム115は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う暗号化システム300の趣旨を逸脱するものではない。さらに、プログラム115によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも1つのサーバーが本実施の形態に従う処理を実現する、所謂クラウドサービスのような形態でクライアント100が構成されてもよい。さらに、プログラム115によって提供される機能の一部または全部は、クライアント100およびサーバー200が協働することで実現されてもよい。
(サーバー200のハードウェア構成)
次に、サーバー200のハードウェア構成について説明する。図10に示されるように、サーバー200は、ROM201と、CPU202と、RAM203と、ネットワークI/F204と、モニタ205と、記憶装置210とを含む。
ROM201は、サーバー200のオペレーティングシステム、サーバー200で実行される制御プログラム等を格納する。CPU202は、オペレーティングシステムやサーバー200の制御プログラム等の各種プログラムを実行することで、サーバー200の動作を制御する。RAM203は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
ネットワークI/F204には、アンテナやNIC等の通信機器が接続される。サーバー200は、当該通信機器を介して、他の通信端末との間でデータを送受信する。他の通信端末は、たとえば、クライアント100、その他の端末等を含む。サーバー200は、本実施の形態に従う各種の処理を実現するためのプログラム215を、ネットワークI/F204を介してダウンロードできるように構成されてもよい。
モニタ205は、プログラム215を実行することで表示される各種画面を表示する。モニタ205は、タッチセンサ(図示しない)と組み合わされてタッチパネルとして実現されてもよい。
記憶装置210は、たとえば、ハードディスクや外付けの記憶装置等の記憶媒体である。一例として、記憶装置210は、メインキー履歴情報211と、サブキー情報212と、データベース213と、本実施の形態に従うプログラム215とを含む。メインキー履歴情報211は、たとえば、記憶装置210の所定の記憶領域である履歴情報記部に格納される。サブキー情報212は、たとえば、記憶装置210の所定の記憶領域であるサブキー記憶部に格納される。データベース213は、たとえば、記憶装置210の所定の記憶領域であるデータ記憶部に格納される。プログラム215は、データの暗号化を実現するための暗号化プログラム、暗号化されたデータの復号化を実現するための復号化プログラム、暗号化処理に用いられたキーの更新処理を実現するための更新プログラム等を含む。
なお、プログラム215は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う暗号化システム300の趣旨を逸脱するものではない。さらに、プログラム215によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも1つのサーバーが本実施の形態に従う処理を実現する、所謂クラウドサービスのような形態でサーバー200が構成されてもよい。さらに、プログラム215によって提供される機能の一部または全部は、クライアント100およびサーバー200が協働することで実現されてもよい。
[小括]
以上のようにして、本実施の形態に従う暗号化システム300は、キーの更新時において、更新前のサブキーで暗号化されている暗号化データを、更新後の新たなサブキーで暗号化されている状態に変換する。すなわち、暗号化システム300は、キーの更新時において、更新前のサブキーで暗号化データを復号化する必要はない。これにより、キーの更新処理の効率が改善される。また、暗号化データの復号時には、更新前のサブキーを用いる必要はないため、復号化処理の効率も改善される。
さらに、キー更新時における暗号化データの変換前後でデータサイズは変わらない。そのため、キーの更新の度にデータサイズが増大していくことに起因して暗号化処理の効率が低下することを防止できる。
<第2の実施の形態>
[概要]
第2の実施の形態に従う暗号化システム300は、データベース213に含まれるデータのうち保管期間が過ぎているデータを削除するとともに、メインキー履歴情報211に含まれるメインキーのうち保管期間が過ぎているメインキーを削除する。これにより、暗号化システム300でのデータ量が抑制される。また、データ量が抑制されることで、暗号化処理および復号化処理にかかる時間が短縮される。
第2の実施の形態に従う暗号化システム300のハードウェア構成等その他の点については、第1の実施の形態に従う暗号化システム300と同じであるので、それらの説明は繰り返さない。
[暗号化システム300の削除処理]
図11および図12を参照して、暗号化システム300の削除処理について説明する。図11は、キー削除時における暗号化システム300の機能構成の一例を示す図である。図12は、暗号化システム300の削除処理を表わすフローチャートである。図12の処理は、クライアント100のCPU102(図10参照)およびサーバー200のCPU202(図10参照)がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子その他のハードウェアによって実行されてもよい。
図11に示されるように、暗号化システム300は、クライアント100とサーバー200とを含む。クライアント100は、削除処理を実現するための機能構成として、キー更新部152を含む。サーバー200は、削除処理を実現するための機能構成として、データ削除部252を含む。
ステップS70において、データ削除部252は、現在時刻を取得し、データの保管期間を決定する。データの保管期間は、たとえば、現在時刻から所定時間前(たとえば、1週間前)までの期間である。当該所定時間は、設計時に予め設定されていてもよいし、クライアント100やサーバー200の管理者によって設定されてもよい。データ削除部252は、保管期間をキー更新部152に送信する。
ステップS72において、データ削除部252は、データベース213に含まれている暗号化データの内から保管期間が過ぎている暗号化データを削除する。すなわち、データ削除部252は、データベース213のデータに関連付けられている更新日時を参照し、当該更新日時が保管期間外であるデータを削除する。これにより、データ削除部252は、データベース213のデータサイズが増大することを防止できる。
ステップS74において、キー更新部152は、メインキー履歴情報211をサーバー200から取得する。メインキー履歴情報211は、現在のメインキーA0で暗号化されているため、キー更新部152は、メインキーA0でメインキー履歴情報211を復号化する。キー更新部152は、復号化処理後のメインキー履歴情報211の中から保管期間が過ぎているメインキーを削除する。すなわち、キー更新部152は、メインキー履歴情報211のメインキーに関連付けられている生成微を参照し、当該生成微が保管期間外であるデータを削除する。これにより、キー更新部152は、メインキー履歴情報211のデータサイズが増大することを防止できる。キー更新部152は、削除処理後のメインキー履歴情報211を現在のメインキーA0で再び暗号化する。その後、キー更新部152は、メインキー履歴情報211をサーバー200に送信する。サーバー200は、受信したメインキー履歴情報211を格納する。
[小括]
以上のようにして、本実施の形態に従う暗号化システム300は、保管期間が過ぎているデータをデータベース213から削除するとともに、保管期間が過ぎているメインキーをメインキー履歴情報211から削除する。これにより、データベース213およびメインキー履歴情報211のデータサイズを一定に保つことができ、暗号化システム300のパフォーマンスを維持することができる。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
20X 更新部、100,100X クライアント、101,201 ROM、102,202 CPU、103,203 RAM、104,204 ネットワークI/F、105,205 モニタ、110,210 記憶装置、111 メインキー情報、115,215 プログラム、130,134 データ暗号化部、142,144 キー復号化部、140,146 データ復号化部、150 キー生成部、152 キー更新部、154 算出部、200,200X サーバー、211 メインキー履歴情報、212 サブキー情報、213 データベース、250 データ更新部、252 データ削除部、300,300X 暗号化システム。

Claims (13)

  1. データの暗号化システムであって、
    第1キーを用いた第1暗号化方式で前記データを暗号化し、第1暗号化データを生成するための第1暗号化部と、
    第2キーを用いた第2暗号化方式で前記第1暗号化データを暗号化し、第2暗号化データを生成するための第2暗号化部とを備え、前記第2暗号化方式は、データのシフト量を規定している前記第2キーに基づいてシフト演算を行う暗号化方式、または、データの反転位置を規定している前記第2キーに基づいてXOR演算を行う暗号化方式であり
    生成された前記第2暗号化データを格納するためのデータ記憶部と、
    現在の前記第1キーおよび現在の前記第2キーの両方の更新指示を受け付けたことに基づいて、現在の前記第1キーを新たな前記第1キーに更新するとともに、現在の前記第2キーを新たな前記第2キーに更新するためのキー更新部と、
    現在の前記第2キーの更新時に、現在の前記第2キーで暗号化されている前記第2暗号化データを、新たな前記第2キーで暗号化されている状態に変換するデータ更新部と、
    現在の前記第2キーと新たな前記第2キーとの間の差分を算出するための算出部とを備え、
    前記データ更新部は、前記差分を用いて、現在の前記第2キーで暗号化されている前記第2暗号化データを、現在の前記第2キーで復号化せずに、新たな前記第2キーで暗号化されている状態に変換し、
    前記キー更新部による更新後の前記第2キーで、前記データ更新部による変換後の前記第2暗号化データを前記第1暗号化データに復号化するための第1復号化部と、
    前記キー更新部による更新前の前記第1キーで、前記第1復号化部による復号化で得られた前記第1暗号化データを前記データに復号化するための第2復号化部とを備える、暗号化システム。
  2. 前記データ更新部は、前記第2暗号化データの変換後に、前記差分を削除する、請求項1に記載の暗号化システム。
  3. 変換処理前における前記第2暗号化データのデータサイズと、変換処理後における前記第2暗号化データのデータサイズとは等しい、請求項1または2に記載の暗号化システム。
  4. 前記データ記憶部は、前記第2暗号化データと当該第2暗号化データの更新日時とを互いに関連付けて格納し、
    前記暗号化システムは、さらに、
    過去の前記第1キーと当該第1キーの生成日時とを現在の第1キーで暗号化した上で履歴情報として格納する履歴情報記憶部と、
    現在の前記第2キーを現在の前記第1キーで暗号化した上で第2キー情報として格納するための第2キー記憶部とを備える、請求項1〜3のいずれか1項に記載の暗号化システム。
  5. 前記キー更新部は、
    現在の前記第1キーの更新指示を受け付けたことに基づいて、前記履歴情報を現在の前記第1キーで復号化し、
    現在の前記第1キーを過去の第1キーとして当該第1キーと当該第1キーの生成日時とを前記履歴情報に追加し、
    当該履歴情報を新たな前記第1キーで暗号化する、請求項4に記載の暗号化システム。
  6. 前記キー更新部は、
    現在の前記第2キーの更新指示を受け付けたことに基づいて、前記第2キー情報を現在の前記第1キーで復号化し、
    復号化処理後の前記第2キー情報に含まれる現在の前記第2キーを新たな前記第2キーで置換し、
    置換処理後の前記第2キー情報を新たな前記第1キーで暗号化する、請求項4または5に記載の暗号化システム。
  7. 前記暗号化システムは、前記第2暗号化データの更新日時が保管期間を過ぎたことに基づいて、前記第2暗号化データを削除するための削除部をさらに備え、
    前記キー更新部は、
    前記第2暗号化データが削除されたことに基づいて、前記履歴情報を現在の前記第1キーで復号化し、
    復号化処理後の前記履歴情報に含まれる過去の第1キーの中から前記保管期間が過ぎている第1キーを削除し、
    削除処理後の前記履歴情報を現在の前記第1キーで再び暗号化する、請求項4〜6のいずれか1項に記載の暗号化システム。
  8. 前記第2復号化部は、生成日時が前記第2暗号化データの更新日時よりも前である最新の第1キーで前記第1暗号化データを前記データに復号化する、請求項4〜7のいずれか1項に記載の暗号化システム。
  9. 前記暗号化システムは、互いにネットワークで接続されているクライアントとサーバーとを備え、
    前記クライアントは、
    現在の前記第1キーを格納するための第1キー記憶部を含み、
    前記サーバーは、
    前記第2キー記憶部と、
    前記履歴情報記憶部と、
    前記データ記憶部とを含む、請求項4〜8のいずれか1項に記載の暗号化システム。
  10. 前記暗号化システムは、互いにネットワークで接続されているクライアントとサーバーとを備え、
    前記クライアントは、
    現在の前記第1キーを格納するための第1キー記憶部と、
    前記第2キー記憶部と、
    前記履歴情報記憶部とを含み、
    前記サーバーは、
    前記データ記憶部を含む、請求項4〜8のいずれか1項に記載の暗号化システム。
  11. 前記データから前記第2暗号化データへの暗号化処理および前記第2暗号化データから前記データへの復号化処理は、前記クライアントおよび前記サーバーの少なくとも一方によって実行される、請求項9または10に記載の暗号化システム。
  12. データの暗号化システムにおけるコンピュータによって実行されるデータの暗号化時に用いられるキーの更新方法であって、
    前記コンピュータが、第1キーを用いた第1暗号化方式で前記データを暗号化し、第1暗号化データを生成するステップと、
    前記コンピュータが、第2キーを用いた第2暗号化方式で前記第1暗号化データを暗号化し、第2暗号化データを生成するステップとを備え、前記第2暗号化方式は、データのシフト量を規定している前記第2キーに基づいてシフト演算を行う暗号化方式、または、データの反転位置を規定している前記第2キーに基づいてXOR演算を行う暗号化方式であり
    前記コンピュータが、生成された前記第2暗号化データを前記暗号化システムの記憶装置に格納するステップと、
    前記コンピュータが、現在の前記第1キーおよび現在の前記第2キーの両方の更新指示を受け付けたことに基づいて、現在の前記第1キーを新たな前記第1キーに更新するとともに、現在の前記第2キーを新たな前記第2キーに更新するステップと、
    前記コンピュータが、現在の前記第2キーの更新時に、現在の前記第2キーで暗号化されている前記第2暗号化データを、新たな前記第2キーで暗号化されている状態に変換するステップと、
    前記コンピュータが、現在の前記第2キーと新たな前記第2キーとの間の差分を算出するステップと、
    を備え、
    前記変換するステップでは、前記コンピュータが前記差分を用いたビットの操作を実行することで、現在の前記第2キーで暗号化されている前記第2暗号化データを、現在の前記第2キーで復号化せずに、新たな前記第2キーで暗号化されている状態に変換する処理を実行し、
    前記更新するステップでの更新後の前記第2キーで、前記変換するステップでの変換後の前記第2暗号化データを前記第1暗号化データに復号化するステップと、
    前記更新するステップでの更新前の前記第1キーで、前記復号化するステップで得られた前記第1暗号化データを前記データに復号化するステップとを備える、更新方法。
  13. データの暗号化システムにおけるコンピュータによって実行可能で、データの暗号化時に用いられるキーの更新プログラムであって、
    前記コンピュータに、
    第1キーを用いた第1暗号化方式で前記データを暗号化し、第1暗号化データを生成するステップと、
    第2キーを用いた第2暗号化方式で前記第1暗号化データを暗号化し、第2暗号化データを生成するステップとを実行させ、前記第2暗号化方式は、データのシフト量を規定している前記第2キーに基づいてシフト演算を行う暗号化方式、または、データの反転位置を規定している前記第2キーに基づいてXOR演算を行う暗号化方式であり
    前記コンピュータに、さらに、
    生成された前記第2暗号化データを前記コンピュータの記憶装置に格納するステップと、
    現在の前記第1キーおよび現在の前記第2キーの更新指示を受け付けたことに基づいて、現在の前記第1キーを新たな前記第1キーに更新するとともに、現在の前記第2キーを新たな前記第2キーに更新するステップと、
    現在の前記第2キーの更新時に、現在の前記第2キーで暗号化されている前記第2暗号化データを、新たな前記第2キーで暗号化されている状態に変換するステップと、
    現在の前記第2キーと新たな前記第2キーとの間の差分を算出するステップと、
    を実行させ、
    前記変換するステップでは、前記差分を用いたビットの操作が実行されることで、現在の前記第2キーで暗号化されている前記第2暗号化データを、現在の前記第2キーで復号化せずに、新たな前記第2キーで暗号化されている状態に変換する処理を実行させ
    前記コンピュータに、さらに、
    前記更新するステップでの更新後の前記第2キーで、前記変換するステップでの変換後の前記第2暗号化データを前記第1暗号化データに復号化するステップと、
    前記更新するステップでの更新前の前記第1キーで、前記復号化するステップで得られた前記第1暗号化データを前記データに復号化するステップとを実行させる、更新プログラム。
JP2015119406A 2015-06-12 2015-06-12 暗号化システム、更新方法、および更新プログラム Active JP6576699B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015119406A JP6576699B2 (ja) 2015-06-12 2015-06-12 暗号化システム、更新方法、および更新プログラム
US15/177,514 US10243736B2 (en) 2015-06-12 2016-06-09 Cryptographic system, updating method, and non-transitory storage medium encoded with computer readable program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015119406A JP6576699B2 (ja) 2015-06-12 2015-06-12 暗号化システム、更新方法、および更新プログラム

Publications (2)

Publication Number Publication Date
JP2017005587A JP2017005587A (ja) 2017-01-05
JP6576699B2 true JP6576699B2 (ja) 2019-09-18

Family

ID=57516176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015119406A Active JP6576699B2 (ja) 2015-06-12 2015-06-12 暗号化システム、更新方法、および更新プログラム

Country Status (2)

Country Link
US (1) US10243736B2 (ja)
JP (1) JP6576699B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878009B (zh) * 2017-02-21 2021-04-09 蔚来(安徽)控股有限公司 密钥更新方法及系统
WO2019093201A1 (ja) * 2017-11-07 2019-05-16 日本電信電話株式会社 通信端末、サーバ装置、プログラム
US11017127B2 (en) * 2018-01-31 2021-05-25 Seagate Technology Llc Storage compute appliance with internal data encryption
US11425559B1 (en) * 2018-05-15 2022-08-23 Know 2Solutions, LLC Data transmission network device
GB2574458A (en) * 2018-06-07 2019-12-11 Gbr14 Ltd Methods and Systems For Secure Data Transmission
CN109871373B (zh) * 2019-01-31 2021-06-08 北京明略软件系统有限公司 一种数据存储方法和装置、计算机可读存储介质
JP7215245B2 (ja) * 2019-03-08 2023-01-31 富士電機株式会社 情報処理装置、情報処理方法及びプログラム
CN112564901B (zh) * 2020-12-08 2023-08-25 三维通信股份有限公司 密钥的生成方法和系统、存储介质及电子装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1020779A (ja) * 1996-07-08 1998-01-23 Hitachi Inf Syst Ltd 公開鍵暗号方式における鍵変更方法
JP2002149608A (ja) * 2000-11-09 2002-05-24 Techno Brain:Kk 暗号の複合化による機密管理システム、暗号の複合化による機密管理方法及びその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
SE522794C2 (sv) * 2001-02-23 2004-03-09 Ericsson Telefon Ab L M Anordning och förfarande för kommunicerande av elektroniska data via en nätverksinfrastruktur som har en unicast-mekanism och multicast-mekanism
JP2003152703A (ja) * 2001-11-12 2003-05-23 Victor Co Of Japan Ltd 暗号化装置、暗号化方法、復号化装置、復号化方法、暗号化復号化装置及び暗号化復号化方法
JP3904432B2 (ja) * 2001-11-16 2007-04-11 株式会社ルネサステクノロジ 情報処理装置
JP2005135003A (ja) * 2003-10-28 2005-05-26 Canon Inc 文書管理システム
US8045714B2 (en) * 2005-02-07 2011-10-25 Microsoft Corporation Systems and methods for managing multiple keys for file encryption and decryption
CA2618135C (en) * 2005-08-09 2014-10-28 Nexsan Technologies Canada Inc. Data archiving system
JP4629602B2 (ja) * 2006-03-24 2011-02-09 日本電信電話株式会社 公開鍵暗号通信システム、公開鍵暗号通信方法、クライアント端末およびクライアントプログラム
US7978849B2 (en) * 2007-11-19 2011-07-12 Kabushiki Kaisha Toshiba Image forming apparatus, and control method thereof
JP2014017763A (ja) 2012-07-11 2014-01-30 Nec Corp 暗号更新システム、暗号更新要求装置、暗号更新装置、復号装置、暗号更新方法、および、コンピュータ・プログラム
JP6033741B2 (ja) * 2013-06-14 2016-11-30 株式会社日立製作所 暗号化鍵更新システム及びその方法
JP6330528B2 (ja) * 2014-07-04 2018-05-30 富士通株式会社 データ分割制御プログラム、データ分割制御方法、及び、データ分割制御装置

Also Published As

Publication number Publication date
US10243736B2 (en) 2019-03-26
US20160365976A1 (en) 2016-12-15
JP2017005587A (ja) 2017-01-05

Similar Documents

Publication Publication Date Title
JP6576699B2 (ja) 暗号化システム、更新方法、および更新プログラム
US7822206B2 (en) Systems and methods for management and auto-generation of encryption keys
US10313119B2 (en) Data management device, system, re-encryption device, data sharing device, and storage medium
US10050777B2 (en) Method of updating a file tree stored on a storage server
CN109922084B (zh) 密钥管理方法、装置以及电子设备
US10735186B2 (en) Revocable stream ciphers for upgrading encryption in a shared resource environment
JPWO2010041442A1 (ja) 情報処理装置、方法、プログラム及び集積回路
JP6341599B2 (ja) 暗号データ更新システム、暗号データ更新方法
US11128452B2 (en) Encrypted data sharing with a hierarchical key structure
US20130227278A1 (en) Generation of relative prime numbers for use in cryptography
US20180026785A1 (en) Data storage apparatus, data updating system, data processing method, and computer readable medium
JP2014175970A (ja) 情報配信システム、情報処理装置及びプログラム
CN100561396C (zh) 修改数字权限对象的方法及其所用的电子设备
JP5732429B2 (ja) 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム
JP2006311383A (ja) データ管理方法、データ管理システムおよびデータ管理装置
JP5964460B2 (ja) データの暗号化記憶システム
JP6266130B2 (ja) 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム
JP6081036B2 (ja) 復号条件追加装置及び暗号システム
JP5784662B2 (ja) 暗号化データ演算システム、装置及びプログラム
Kapusta et al. Enhancing data protection in a distributed storage environment using structure-wise fragmentation and dispersal of encrypted data
CN111224921A (zh) 安全传输方法和安全传输系统
JP3933999B2 (ja) デジタル証明書発行システム及びそのシステムプログラム
CN107769915B (zh) 具备细粒度用户控制的数据加解密系统和方法
JP2014017763A (ja) 暗号更新システム、暗号更新要求装置、暗号更新装置、復号装置、暗号更新方法、および、コンピュータ・プログラム
CN112994880B (zh) 一种密文策略属性基加密方法、装置及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170613

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170809

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180423

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180501

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180713

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190821

R150 Certificate of patent or registration of utility model

Ref document number: 6576699

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150