JP5034498B2 - ディジタルコンテンツの暗号化,復号方法,及び,ディジタルコンテンツを利用した業務フローシステム - Google Patents

ディジタルコンテンツの暗号化,復号方法,及び,ディジタルコンテンツを利用した業務フローシステム Download PDF

Info

Publication number
JP5034498B2
JP5034498B2 JP2006353690A JP2006353690A JP5034498B2 JP 5034498 B2 JP5034498 B2 JP 5034498B2 JP 2006353690 A JP2006353690 A JP 2006353690A JP 2006353690 A JP2006353690 A JP 2006353690A JP 5034498 B2 JP5034498 B2 JP 5034498B2
Authority
JP
Japan
Prior art keywords
encryption
key
encrypted
user
content
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
JP2006353690A
Other languages
English (en)
Other versions
JP2007251921A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006353690A priority Critical patent/JP5034498B2/ja
Priority to US11/706,430 priority patent/US7840487B2/en
Publication of JP2007251921A publication Critical patent/JP2007251921A/ja
Application granted granted Critical
Publication of JP5034498B2 publication Critical patent/JP5034498B2/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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/60Digital content management, e.g. content distribution

Landscapes

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

Description

本発明はディジタルコンテンツの暗号化,復号方法にかかわり,利用者の権限に応じてディジタルコンテンツの選択的な開示を可能とするための技術である。
近年,情報通信機器の発展によって,従来紙で行われていた業務処理が電子化されるようになってきている。これに伴い,従来紙で行われていた書類の申請・承認などの手続き(業務フロー)も,ネットワークを利用して電子的に行われるようになってきている(例えば,特許文献1)。このようなネットワークを通してやり取りされるディジタルコンテンツには,例えば個人情報など,そのコンテンツを閲覧する利用者によっては開示が制限されるべき情報も含まれている。このような情報は,一度漏洩してしまうと,損害補償,信頼の失墜など,計り知れない損害を与えることになる。
ここでコンテンツとは,申請書や申込書や会議の議事録などに記載された文章,音声,または映像などの記録,或いはこれらの2つ以上を任意に組み合わせた情報のことであり,特にこれらがディジタルデータとして表現されている場合,ディジタルコンテンツと呼ぶ。ただし,以下の説明においては,ディジタルコンテンツを単にコンテンツという。
従来,利用者の役割に応じてコンテンツを選択的に開示する場合には,コンテンツをデータベースで一元的に管理し,データベースへのアクセスを制御することによって,権限のない利用者に情報を開示しないようにする方法がとられている(例えば,特許文献1)。
一方で,ネットワークを通してやり取りされるコンテンツに対しては,暗号化を行うことによって情報を保護する方法が知られている。
これらの方法では,階層的に暗号化鍵の生成を行い,これを用いてコンテンツの部分暗号化を行うことによって,権限の低い受信者にはコンテンツの閲覧できる領域を制限する方法(例えば,特許文献3)や,電子カルテ内の個人情報を,権限を持たない利用者には閲覧できないように,特定の利用者の鍵で部分暗号化を行う方法などが知られている(例えば,特許文献2)。
特開2005−135072号公報 (段落0013〜0024) 特開2003−5645号公報 (段落0009〜0011) 特開2002−366030号公報 (段落0013〜0035)
特許文献1が開示するような,データベースを利用したコンテンツの一元的な管理方法では,利用者は,常に同一のデータベースサーバにアクセスできる必要がある。しかしながら,例えば,社外の取引先を介して書類を処理する場合など,同一のデータベースサーバにアクセスできないような状況下では,情報そのものを入手することができなくなる。また,データベースによる一元管理を行った場合には,コンテンツがデータベースの管理下を離れてしまうと,利用者に応じて選択的に情報の開示を制御することが困難になるといった問題も生じる。
また,一般に,データベースの管理者は,そのデータベースで管理されている全ての情報が閲覧できてしまう。
一方,特許文献2による方法には,同じ領域に複数の異なる権限を持つ利用者がアクセスする場合については考慮されていない,という問題があり,また,特許文献3による方法には,同一の領域を権限の異なる複数の利用者が閲覧することが可能であるが,利用者間の権限には包含関係がなければならないという制約がある。
そのため,多様な利用者の権限に応じた情報の柔軟な開示・非開示の制御を行うことは困難である。
本発明は,同一領域を権限の異なる複数の利用者が閲覧することを可能とし,多様な利用者の権限構造に対応した,より柔軟な暗号化方法を提供する。これによって,コンテンツ内の情報に応じて,閲覧する利用者に応じた選択的な情報の開示が可能となる。
また,上記暗号化技術を利用することによって,データベースによる一元管理を必要としない業務フローシステムの構築を可能とする技術を提供する。
また,本発明は,コンテンツの作成者自身がコンテンツ内のどの部分を誰に閲覧させるかを決定することも可能であり,データベース管理者にさえ情報を秘匿にしたまま,コンテンツの保管,配布を行うことも可能とする。
具体的には,本発明では,コンテンツを権限に応じて複数の領域(部分コンテンツともいう)に分割し,各分割された領域毎に異なる秘密鍵(共通鍵暗号技術の暗号化/復号鍵)の生成と生成された秘密鍵を用いて分割領域毎にコンテンツの暗号化を行う。さらに生成された秘密鍵は,各権限に応じて予め設定された公開鍵暗号技術の公開鍵を用いて暗号化を行う。ここで,権限の異なる複数の,利用者または利用者のグループに対して開示する場合には,それぞれ別々に秘密鍵の暗号化を行う。また,暗号化されたコンテンツをやり取りすることによって,データベースの管理下を離れたコンテンツに対しても利用者に応じた選択的な情報の開示を可能とする。
暗号化されたコンテンツをデータベースに保管しておけば,コンテンツへのアクセス制御は予め利用者に配布された鍵によって管理される。そのため,データベースサーバのアクセス制御を簡略化でき,これに関わる負荷の軽減が期待できる。
本発明による,より具体的な暗号化方法は,暗号化装置において,ディジタルコンテンツを複数の領域に分割し,上記分割により生成された上記領域毎に,互いに異なるセッション鍵の割り当てを行い,上記領域毎に割り当てた上記セッション鍵を用いて,当該領域の暗号化を行い,暗号化された上記ディジタルコンテンツを利用する利用者の一人以上からなる集合毎に,互いに異なる,公開鍵暗号技術による一対の公開鍵と秘密鍵の割り当てを行い,各々の上記領域について,当該領域の閲覧を許可された上記利用者の集合毎に割り当てられた上記公開鍵を用いて,当該領域毎の上記セッション鍵の暗号化を行い,上記暗号化された複数の領域と,上記領域毎に一つ以上生成された,上記暗号化されたセッション鍵と,からなる暗号化されたディジタルコンテンツの出力を行うことを特徴とする。
さらに,上記ディジタルコンテンツの分割箇所を示す情報と,上記暗号化ディジタルコンテンツ内のどの上記暗号化された領域が,どの上記利用者によって復号できるかという情報と,を区切り情報として,上記暗号化されたディジタルコンテンツのヘッダ情報に含ませてもよい。
さらに,鍵管理装置において,上記利用者を木構造の端点に対応させ,上記利用者が属する一つ以上の集合を木構造の節点または根に対応させ,上記利用者と上記一つ以上の集合との包含関係を木構造によって表現した場合の,上記端点または上記節点または上記根それぞれに異なる,公開鍵とそれに対応する秘密鍵を割り当て,一人の上記利用者に対応する一つの上記端点と上記根とこれらをつなぐ経路上にある上記端点とに,おのおの異なるように割り当てた複数の上記秘密鍵を復号鍵として,上記端点に対応する上記利用者に配付し,複数の上記秘密鍵に対応する複数の公開鍵を,上記復号鍵に対応する暗号化鍵として公開してもよい。
また,上記方法により暗号化されたコンテンツのより具体的な復号方法は,復号装置において,いずれかの上記利用者が当該復号装置に提供する秘密鍵を用いて,当該秘密鍵に対応する公開鍵を用いて暗号化された上記セッション鍵の復号を行い,上記復号されたセッション鍵を用いて,当該セッション鍵を用いて暗号化された上記領域の復号を行い,復号した上記領域の表示と,当該復号装置において復号しない領域の墨塗り表示と,を行うことを特徴とする。
さらに,暗号化装置において,利用者ごとに,当該利用者が閲覧可能な各々の領域を暗号化したセッション鍵を有するセッション鍵集合を構成し,利用者ごとのセッション鍵集合を,利用者ごとに割り当てられた公開鍵暗号技術の公開鍵を用いて,暗号化してもよい。
さらに,暗号化装置において,第一の利用者用の順序制御用乱数を生成し,第一の利用者用の,第一のセッション鍵集合と,順序制御用乱数と,を当該第一の利用者に割り当てられた公開鍵暗号技術の公開鍵を用いて,暗号化し,暗号化結果を第一のセッション鍵集合とは異なる,第二の利用者用の第二のセッション鍵集合の暗号化に用いる第二の利用者の順序制御用乱数としてもよい。
また,上記方法により暗号化されたコンテンツのより具体的な復号方法は,復号装置において,第二の利用者の順序制御用乱数を,利用者が当該復号装置に提供する秘密鍵を用いて復号し,復号結果を,第一の利用者の順序制御用乱数と第二のセッション鍵集合とに分割し,第二のセッション鍵集合から取得したセッション鍵を用いて暗号化された領域の復号を行い,第一の利用者の順序制御用乱数と,暗号化された複数の領域と,から暗号化ディジタルコンテンツを,生成することを特徴とする。
また,上記暗号化方法において,順序制御用乱数に対し,しきい値型秘密分散処理を適用することによって複数の第二順序制御用乱数を生成し,第二順序制御用乱数それぞれに対して,セッション鍵の暗号化を行い,セッション鍵の暗号化処理の結果からなる集合を,第二の利用者の順序制御用乱数としてもよい。
本発明によれば,複数の利用者を介してコンテンツがやり取りされる場合に,データベースによる一元管理を用いることなく,コンテンツを閲覧する利用者に応じて選択的な情報の開示を行うことが可能となる。
以下,本発明の実施形態について述べる。
図1は,第一の実施例におけるコンテンツの流通を示した概略図である。図示したように,本システムでは,コンテンツ105を暗号化する暗号化装置101と暗号化されたコンテンツ(以下,暗号化コンテンツ)106を受信する復号装置107が,ネットワーク100を介してコンテンツの送受信を行う。なお,図示したように,復号装置102が受け取る暗号化コンテンツ106は,ネットワーク100ではなく,外部記憶媒体110を通してオフラインでやり取りされてもよい。また,ネットワーク100はインターネットのような外部ネットワークだけでなく,LANなどの内部ネットワークでもよい。図1では,外部記憶媒体110を利用したコンテンツの配布が,復号装置102同士で行われる場合について示したが,暗号化装置101から直接外部記憶媒体110を利用して復号装置102にコンテンツを配布してもよい。
鍵管理装置103は,権限と暗号化鍵111と復号鍵112の対応づけを行い,さらに利用者の権限に応じた復号鍵112の配布,各権限に応じた暗号化鍵111の公開などを行う。なお,暗号化鍵111,復号鍵112としては,それぞれ,公開鍵暗号技術における公開鍵と,それに対応する秘密鍵を用いると良い。なぜなら,鍵管理装置103が,暗号化鍵111として公開鍵暗号技術における公開鍵を公開することによって,任意の利用者が鍵管理装置103から容易に暗号化鍵111の入手することが可能となり,任意の利用者がコンテンツを暗号化することが可能となるからである。
なお,暗号化鍵111の公開は,例えば,鍵管理装置103においてWebサーバなどを用いて各利用者やグループなどの情報,対応する暗号化鍵103を公開し,暗号装置101からは,鍵管理装置103のWebサーバへアクセスすることによって必要となる暗号化鍵111を取得できるようにすればよい。
図1では,暗号化装置101,或いは,復号装置112に暗号化鍵111,復号鍵112を直接配布しているが,これと異なっていてもよい。例えば,各利用者に復号鍵112を,外部記憶媒体110を利用して配布してもよい。ただし,復号鍵112は各利用者が権限を行使するために使用する重要なデータであるため,ICカードなど耐タンパ性のある装置に格納しておくことが望ましい。
ここで権限とは,例えば社内組織の役職や所属する部などのグループといった,コンテンツにアクセスする際に閲覧可能な領域を示すために使用される,利用者に対して設定される属性のことである。
復号鍵112は,利用者に対して複数配布される場合もある。例えば,ある利用者UがA部のB課に所属している場合には,鍵管理装置103は以下のように鍵の割当てを行うことが考えられる。
鍵管理装置103は,A部に所属する利用者共有の暗号化鍵111(PA),復号鍵112(SA)の組,B課に所属する利用者共有の暗号化鍵111(PB),復号鍵112(SB)の組,と,利用者U用の暗号化鍵111(PU),復号鍵112(SU)の生成を行う。さらに,鍵管理装置103は,A部共有の暗号化鍵111(PA),B課共有の暗号化鍵111(PB),及び,利用者U用の暗号化鍵111(PU)の公開を行い,暗号化装置101が,これらの暗号化鍵111を取得できるようにする。さらに,利用者Uに対して,A部とB課の共有の復号鍵112(SA,SB)と,利用者U固有の復号鍵112(SU)を利用者Uに配布する。
したがって,利用者Uが所有する鍵は,A部共有の復号鍵112(SA)とB課共有の復号鍵112(SB),さらに利用者U固有の復号鍵112(SU)の3つとなる。
なお,暗号化鍵111の公開にあたっては,例えば鍵管理装置103において,暗号化鍵111に対する証明書を発行するなど,鍵管理装置103から暗号化鍵111が発行されたことが検証できることが望ましい。
図2は,暗号化装置101の構成の概略を示した図である。暗号化装置101は,CPU201,CPU201の作業領域として機能するRAM202,HDなどの外部記憶装置203,FD,CD−ROMなどの外部記憶媒体110からデータを取り込む読取装置204,ディスプレイなどの出力装置205,マウス,キーボードなどの入力装置206,ネットワーク100を介して他の装置と通信を行う通信装置207,上記の各構成要素間のデータ通信を司るインターフェイス208から構成される,一般的な構成を有する電子計算機220である。
また,暗号化装置101の外部記憶装置203には,コンテンツ作成・読込プログラム(以下,プログラムをPGという)215,暗号化PG216,コンテンツ送信PG217が格納される。これらのプログラム(PG)は,CPU201により実行され,コンテンツ作成・読込処理部210,暗号化処理部211,コンテンツ送信処理部212という処理部を暗号化装置上に具現化する。
復号装置102は,暗号化装置101と同様の構成を持つ。ただし,復号装置102の外部記憶装置203には,暗号化コンテンツ106,復号鍵112と,それぞれ,復号処理部,復号コンテンツ表示処理部,コンテンツ送信処理部,コンテンツ受信処理部を具現化する復号PG,復号コンテンツ表示PG,コンテンツ送信PG217,コンテンツ受信PGが格納される。
鍵管理装置103も,暗号化装置101と同様の構成を持つ。ただし,鍵管理装置103においては,外部記憶装置203には,それぞれ,鍵管理処理部,暗号化鍵・復号鍵生成処理部,暗号化鍵配信処理部,復号鍵配信処理部を具現化する鍵管理PG,暗号化鍵・復号鍵生成PG,暗号化鍵配信PG,復号鍵配信PGと,暗号化鍵111,復号鍵112,が格納される。なお,鍵管理装置103において,必ずしも暗号化鍵111,復号鍵112の両方を,外部記憶装置203に格納している必要はない。例えば,鍵管理装置103において,復号鍵112と権限の対応関係の管理を行い,暗号化鍵111は,別途,個人あるいは,権限に属するグループ内で共有して管理してもよい。
なお,上述のように,鍵管理装置103において暗号化鍵111に対して証明書の発行を行う場合には,鍵管理装置103の外部記憶装置203に証明書発行用秘密鍵,証明書発行処理部を具現化する証明書発行PGが,暗号化装置101,復号装置102の外部記憶装置203に,証明書検証用公開鍵,証明書検証処理部を具現化する証明書検証PGが格納される。
上記各PGは,予めそれぞれの電子計算機220の外部記憶装置203に,予め格納されていても良いし,必要に応じて,各電子計算機220が利用可能な,着脱可能な外部記憶媒体110または,ネットワーク100やネットワーク100を伝搬する搬送波やデジタル信号といった通信媒体を介して,上記電子計算機220に導入されてもよい。
なお,復号コンテンツ107は,外部記憶装置203などには保存されないようにすることが望ましい。これは,例えば図1に示したように,ある復号装置102から別の復号装置102に,ネットワーク100,或いは,外部記憶媒体110を通して暗号化コンテンツ106が再配信された場合に,配信先の復号装置102においても,暗号化コンテンツ106が閲覧する利用者の権限に応じた開示の制限が行われるようにするためである。
以下に,本実施例におけるコンテンツのフローの概略について示し,コンテンツの暗号化処理,復号処理について示す。さらに,暗号化処理,復号処理で使用される暗号化鍵111,復号鍵112の鍵管理装置103での管理方法(利用者への割当て方法)について示し,最後に,XMLを用いた本実施例の具体例,暗号化コンテンツから復号コンテンツ表示イメージまでの処理の概略を示す。
図3に本実施例におけるコンテンツのデータフローの概略を示す。コンテンツのデータフローは次のとおりである。
300:開始
301:暗号化装置101内のコンテンツ作成・読込処理部210を用いて,コンテンツを作成,または読込を行う。
302:暗号化装置101内の暗号処理部211が,コンテンツの暗号化を行い,暗号化コンテンツ106を作成する。
303:暗号化装置101内のコンテンツ送信処理部212が,暗号化コンテンツ106を復号装置102に送信する。
304:復号装置102内のコンテンツ受信処理部が,暗号化装置101により送信された暗号化コンテンツ106を受信する。
305:復号装置102内のコンテンツ復号処理,及び復号コンテンツ表示処理部が,暗号化コンテンツ106を復号,表示を行う。
306:復号装置102内のコンテンツ送信処理部212が,暗号化コンテンツ106を別の復号装置102に送信する。
307:受信側の復号装置102内のコンテンツ受信処理部が,暗号化コンテンツ106を受信する。
ステップ306において,復号装置102は受信した暗号化コンテンツ106をそのまま他の復号装置102に送信する。暗号化コンテンツ106は,暗号化装置102において,コンテンツ内の各情報は,閲覧権限を持たない利用者には復号できないように暗号化される(暗号化処理,復号処理については後述する)。これによって,他の復号装置102から送信されたコンテンツを受信した場合であっても,暗号化装置102で設定された利用者に応じた適切な情報開示が可能となる。
なお,図3では復号装置102において暗号化コンテンツ106を別の復号装置102に送信している(ステップ306)が,再送信先がそれ以上存在しない場合には,暗号化コンテンツ106の保管,或いは,破棄を行う。また,保管する場合には,復号装置102で保管する他,データベースサーバへの登録などを行ってもよい。また,暗号化コンテンツ107は,複数の復号装置102に送信してもよい。
コンテンツ105の暗号化(ステップ302),暗号化コンテンツ106の復号(ステップ305)は,それぞれ,暗号化装置101内の暗号化処理部211,復号装置102内の復号処理部によって処理が行われる。これらの処理の概略について,以下に述べる。
図4は,暗号化処理部211における暗号化処理の手順の概略を示している。暗号化の処理の手順は次のとおりである。
400:開始
401:コンテンツ105の分割
402:分割によってできた部分コンテンツ毎に暗号化鍵111を設定
403:部分コンテンツがまだあればステップ404へ,なければステップ407へ
404:セッション鍵を生成
405:セッション鍵により,対象となる部分コンテンツを暗号化
406:セッション鍵をステップ402で設定された暗号化鍵111を利用して暗号化し,ステップ403へ
407:ヘッダの構成
408:終了
ステップ401において,情報の選択的な開示を実現するため,コンテンツ105の分割を行う。このコンテンツ105の分割には,例えば単語単位による分割の他,対象となるコンテンツ105が表形式を持つ場合にはセル単位,フィールド単位による分割,或いは,XMLを対象とする場合にはXMLの要素を利用してもよい。また,利用者がマウスなどの入力装置206を使用して領域の指定を行い,これを用いてコンテンツ105の分割を行ってもよい。これらコンテンツを分割した箇所を示す情報は,ステップ407において,暗号化コンテンツのどの領域(部分コンテンツのどれ)が誰によって復号できるかという情報と併せて,コンテンツ区切り情報としてヘッダに記述する。すなわち,コンテンツ区切り情報には,暗号化コンテンツ内のどの領域が,誰によって復号できるかという情報と,復号されたコンテンツが,元のコンテンツのどの領域に対応しているかの二つの情報を持つ。なお,このコンテンツ区切り情報は,後述するXMLを利用した例では,これらはそれぞれMRBlock要素,及び,TargetList要素に相当する。
ステップ402における,分割されたコンテンツへの暗号化鍵111の設定では,その領域を閲覧可能な利用者,或いは,グループに割り当てられている暗号化鍵111を用いる。このとき,暗号化鍵111の設定は,一つの領域に対して複数の暗号化鍵111を設定してよい。この場合,ステップ406におけるセッション鍵の暗号化処理は,ステップ402において設定された複数の暗号化鍵111,それぞれに対して個別に暗号化を行う。また,プログラムの上では,暗号化鍵111そのものではなく,暗号化鍵111への参照を設定してもよい。
ここで,暗号化鍵111は,以下のようにして予め暗号化装置101内の外部記憶装置203に取り込んでおけばよい。例えば,前述したように鍵管理装置103においてWebサーバを用いて,利用者やグループなどと,それに対応する暗号化鍵111の公開を行う。上記の暗号化処理(ステップ400からステップ408)に先立ち,暗号化装置101から鍵管理装置103のWebサーバにアクセスし,鍵管理装置103から暗号化鍵111を取得する。なお,暗号化鍵111の取得の仕方は必ずしも上記の通りでなくともよい。
なお,上記のステップ(ステップ404)において,セッション鍵は,分割されたコンテンツの暗号化と復号のために使用する共通鍵暗号技術(例えば,DESなど)における秘密鍵のことであり,セキュリティ上の観点からは乱数生成器から生成された乱数を,頻繁に切り替えて使用することが望ましい。
このような共通鍵暗号技術の利用によって,対象となるコンテンツのサイズが大きい場合でも,公開鍵暗号技術の公開鍵である暗号化鍵111を利用して直接データを暗号化する方法と比べて,暗号化処理の高速化・データサイズの削減が可能となる。
なお,上記の暗号化処理では,セッション鍵の暗号化は各部分コンテンツごとに別々に行っていたが,これと異なってもよい。例えば,一人の利用者にひとつ以上の部分コンテンツの閲覧を許可する場合,これらひとつ以上の部分コンテンツのそれぞれを暗号化した互いに異なるセッション鍵を,たとえば連結により,ひとまとめにし,それを当該利用者の暗号化鍵(すなわち,公開鍵)111で暗号化してもよい。これによって,暗号化処理におけるセッション鍵の暗号化回数の削減,及び,暗号化コンテンツ106のデータサイズの削減を行うことが可能となる。
この場合,複数のセッション鍵を連結した後,暗号化鍵111による暗号化処理を行うことになるが,セッション鍵の連結には,例えば,セッション鍵を128ビットなど,特定の固定長ビットのセッション鍵を利用することをシステム全体で予め定めておき,単純にセッション鍵同士を連結する,或いは,ASN.1のような特定のフォーマットを用い,セッション鍵同士の区切り目を明示する,などすればよい。
また,復号時には,結果として取り出されたセッション鍵が,どの部分コンテンツを復号するためのセッション鍵なのかをわかるようにするため,各部部分コンテンツにIDを付与し,セッション鍵の前に対応する部分コンテンツのID番号を付与する,或いは,単純に,取り出されたセッション鍵を上位から順番に使う,ことをシステム全体で予め定めておけばよい。
図5は,上記の処理によって作成された暗号化コンテンツ106の構造の概略の一例を示している。暗号化コンテンツ106は,ヘッダ501と暗号化コンテンツ本体502の2箇所から構成されている。暗号化コンテンツ本体502は,コンテンツ105を暗号化したものであり,ヘッダ501には,暗号化されたセッション鍵や,暗号化コンテンツ本体502のどの領域がどの権限をもつ利用者によって復号(閲覧)できるかを示すためのコンテンツ区切り情報を格納する。ヘッダ501の具体的な構成方法については後述する(図10参照)。
なお,暗号化コンテンツ106の構造は必ずしも図5に示した方法でなくともよい。例えば,図10で示すXMLを用いてヘッダ501を構成した場合には,ヘッダ501には,暗号化されたセッション鍵,暗号化コンテンツ本体502の分割したコンテンツ区切り情報の他,暗号化されたコンテンツそのものを含んでおり,暗号化コンテンツ本体502には,元の文書のフォーマットを格納し,暗号化されたコンテンツそのものは含まない。
図6に,復号PGを実行することによる復号処理の手順の概略を示している。復号の手順は次のとおりである。
600:開始
601:暗号化コンテンツ本体502を分割
602:復号していない部分コンテンツがまだあればステップ603へ,なければステップ606へ
603:当該部分コンテンツに対応する暗号化されたセッション鍵を,利用者から与えられた復号鍵の情報を元に,復号することが可能ならばステップ604へ,可能でなければステップ602へ
604:暗号化されたセッション鍵を,復号鍵112を用いて復号
605:復号したセッション鍵を用い,暗号化された部分コンテンツを復号し,ステップ602へ
606:ステップ605で復号した,一つ以上の部分コンテンツから元のコンテンツ(復号コンテンツという)を構成
607:終了
ステップ601における暗号化コンテンツ本体502の分割では,例えば以下のようにする。暗号化においてヘッダ501を生成する際に(ステップ407),コンテンツ区切り情報803内に暗号化コンテンツ本体502内のどの領域(どの部分コンテンツ)がどの利用者によって閲覧可能なのかを明記(例えば,暗号化コンテンツ本体502のnバイト目からmバイト目までが利用者Uによって閲覧可能など)しておく。ステップ601では,この情報を参照して,暗号化コンテンツ本体502から,暗号化されたセッション鍵,暗号化された部分コンテンツを取り出す。また,復号された部分コンテンツから,コンテンツ区切り情報内に記載された情報をもとに,復号コンテンツの構成を行う(ステップ606)。
なお,復号装置102において,復号コンテンツの一部修正を行う場合には,修正した部分コンテンツに対して,再度セッション鍵の生成を行い,部分コンテンツの暗号化,及び,セッション鍵の暗号化を行い,暗号ディジタルコンテンツ106の更新を行えばよい。
なお,後述するXMLを用いたヘッダ501の構成では,部分コンテンツは要素毎に管理されており,その要素(MRBlock要素)を参照することによって,上記の暗号化されたセッション鍵,暗号化された部分コンテンツなどを取り出すことができる。また,復号コンテンツの構成に当たっては,TargetList要素内のTarget要素を参照し,復号されたコンテンツをTarget要素内に記述された要素内に復号されたコンテンツを記述することによって行う(詳細は後述する)。
また,上記の処理において,復号鍵112は,暗号化コンテンツ502から参照可能であることが望ましいが,プログラムの実行に先立ち,利用者が所有している復号鍵112を明示的に復号PGに引数として与えてもよい。このとき,プログラム上では,復号鍵112は,復号鍵112そのものではなく,復号鍵112への参照であってもよい。
なお,復号処理の手順は,必ずしもステップ600からステップ607の通りでなくともよい。例えば,ステップ606の復号コンテンツの構成は,各部分コンテンツ毎にステップ605で復号処理を行った後に行ってもよい。
次に,鍵管理装置103における鍵管理方法(暗号化鍵111,復号鍵112の利用者への割当て方法)について述べる。
図7は鍵管理装置103における鍵管理方法の一例を示している。本鍵管理方法では,例えば社内などのグループの階層構造に着目し,各利用者,グループをそれぞれ,端点,節点または根(ノードと総称する)とする木構造として表現する。各ノードには,それぞれ異なる暗号化鍵111と復号鍵112の組を割当て,各利用者には,自らに割り当てられた端点から木のルート(根)までの経路に属する全ての復号鍵112を配布する。
例えば,図7に示した例において,利用者U1は,部B1,課K1に所属している。そのため,利用者U1には,自らに割り当てられたノードからルートノードまでの経路上にある鍵,利用者U1の個人鍵KU1=(PU1,SU1),課の共有鍵KK1=(PK1,SK1),部の共有鍵KB1=(PB1,SB1),...が,割り当てられる。ここで,SU1,SK1,SB1は復号鍵112であり,PU1,PK1,PB1は,それらに対応した暗号化鍵111である。したがって,鍵管理装置103は利用者U1に,利用者U1に割り当てられたノードからルートノードまでの経路に割り当てられた復号鍵SU1,SK1,SB1,...を配布する。
なお,同一の利用者が複数の部署に属する場合には,例えば,異なる利用者として木のノードとして表現し,それぞれのノードからルートノードまで経路に割り当てられた復号鍵112を,その利用者に配布すればよい。このとき,例えば二つの経路が重なる場合など,利用者に配布する復号鍵112に重複する場合には,重複した復号鍵112のうち一つを配布すればよい。また,利用者自身に相当するノード(端点,リーフともいう)についても,それらのうち一つに暗号化鍵111,復号鍵112を割り当て,これを配布,公開すればよい。
このような鍵管理方法によって,以下のように利用者間での暗号化コンテンツ105のやりとりを効率的に行うことが可能となる。
本実施例で述べた暗号化処理部211では,部分コンテンツ毎に生成されたセッション鍵を,その領域を閲覧可能な利用者の暗号化鍵111を用いて暗号化し,ヘッダ501に格納する(ステップ406)。そのため,同一の領域に対して複数の利用者が閲覧する場合には,セッション鍵を複数の暗号化鍵111で暗号化するため,ヘッダ501のデータサイズが増加する。各利用者固有の暗号化鍵111の代わりに,部・課での共有している暗号化鍵PK1,PB1を用いることによって,部,課の共有情報に対しては,セッション鍵の暗号化を集約することができ,暗号化コンテンツ106のヘッダ501のデータサイズを削減できる(暗号化,復号の具体例については図8,9を参照)。
鍵管理装置103は,各利用者,及びグループに割り当てられた暗号化鍵を公開する。なお,前述したように,各利用者に割り当てられた復号鍵は,例えばICカードなど,耐タンパ性を持った装置内に格納し,そのICカードを各利用者に配布することが望ましい。
本鍵管理方法においては,利用者の追加,削除,移動等が行われた場合には,新たに鍵の生成,共有鍵の更新などを行い,追加された利用者はそれ以前に暗号化されたコンテンツを,削除された利用者はそれ以降に暗号化されたコンテンツを,それぞれ不正に閲覧できないようにすることが望まれる。
これを達成するためには,以下のようにする。
まず,利用者が削除される場合には,削除される利用者に対応する端点から根までの経路上にある,端点,根を含む節点の暗号化鍵111と復号鍵112の組を全て更新する。更新後,鍵管理装置103は,更新された復号鍵112をその節点が表す利用者またはグループに属する利用者に配布し,暗号化鍵111の公開を行う。
また,利用者が追加される場合も同様に,その利用者を木構造上の端点として追加し,端点から根までの経路上にある,端点,根を含む節点の暗号化鍵111,復号鍵112の組を全て更新する。更新後,鍵管理装置103は,更新された復号鍵112をその節点が表すグループに属する利用者に配布し,暗号化鍵111の公開を行う。
例えば,図7において,利用者U1を削除する場合には,課と部の共有鍵KK1,KB1を更新し,利用者U2,U3に更新された復号鍵SK1,SB1を,また,利用者U4,U5,U6には更新された復号鍵SB1を配布し,暗号化鍵PK1,PB1を公開する。
図7において,利用者U1が新たに追加された利用者である場合には,利用者U1の鍵KU1を新たに生成し,課K1,部B1の共有鍵,KK1,KB1を更新する。更新後,利用者U1に対して復号鍵SU1,SK1,SB1の配布を行い,また,利用者U2,U3に対して復号鍵SK1,SB1を,利用者U4,U5,U6に対しては,復号鍵SB1をそれぞれ配布し,対応する暗号化鍵PU1,PK1,PB1を公開する。
上記の鍵更新処理において,復号鍵112をICカードなどの外部記憶媒体110に格納している場合,更新された復号鍵112の配布にあたって,再度外部記憶媒体110の回収と再配布を行うと,時間やコストが増大するといった問題が生じる。このような場合には,ネットワーク100を介して更新後の復号鍵112を配布してもよい。なお,ネットワーク100を介して復号鍵112を配布する場合,以下のようにすることによって,安全に更新後の復号鍵112を配布することができる。
利用者が削除された場合には,まず更新された復号鍵112が割り当てられた節点の下位の端点,節点に割り当てられた暗号化鍵111を用いて,更新後の復号鍵112をそれぞれ暗号化し,暗号化に使用した暗号化鍵111に対応する復号鍵112を持つ利用者に配布する。また,利用者が追加された場合には,更新された復号鍵112を更新前の暗号化鍵112を用いて暗号化し,その暗号化鍵111に対応する復号鍵112(更新前の復号鍵112)を持つ利用者に配布する。
なお,以上の処理において,更新後の復号鍵112を同一の利用者に複数配布する場合,上記処理において暗号化を行った暗号化鍵111のうち,その利用者が持つ最も下位の端点,節点に割り当てられた暗号化鍵111を用いて,これら複数の復号鍵112をまとめて暗号化して,配布してもよい。
具体的には,上記の例において,利用者U1を削除する場合には,利用者U2,U3に対しては,課K1,部B1の復号鍵SK1,SB1をそれぞれ利用者U2,U3の暗号化鍵PU2,PU3を用いて暗号化して送信する。また,利用者U4,U5,U6に対しては,部共有の復号鍵SB1を課K2の暗号化鍵PK2を用いて暗号化して配布する。
また,利用者U1が新たに追加された利用者である場合には,利用者U2,U3に対して,課K1,部B1の復号鍵SK1,SB1を更新前の暗号化鍵PK1を用いて暗号化し配布する。また,利用者U4,U5,U6に対しては,更新後の暗号化鍵KB1を課K2の暗号化鍵PB2を用いて暗号化し配布する。なお,利用者U1への復号鍵SK1,SB1,SU1の配布に当たっては,復号鍵112を格納している外部記憶媒体110を手渡しするなど,直接利用者U1に配布することが望ましい。
なお,上記の処理において利用者に対して復号鍵112を配布する場合には,他の利用者に誤って復号鍵112を配布することや悪意のある利用者に不正な復号鍵112が漏洩しないよう,利用者の認証を行うことが望ましい。
以上のようにすることによって,鍵管理装置103から利用者への鍵配布を安全に行うことが可能となる。
本鍵管理方法を利用したコンテンツの暗号化の方法を以下に示す。
図8は,図7に示した鍵管理方法を利用した場合のコンテンツ105の暗号化処理の一例を模式的にあらわしている。図8に示したとおり,コンテンツ105は,コンテンツ内の情報に応じて分割され(ステップ401に対応),それぞれの領域を閲覧できる利用者の権限応じて暗号化処理が行われる(ステップ402から407に対応)。図4の処理フローに示したとおり,暗号化に際しては,各領域にセッション鍵802を生成し,これを用いてコンテンツ105を暗号化する。また,セッション鍵802を,暗号化鍵111を用いて暗号化する。
ここで,図8に示したように,同一領域を異なる権限を持った複数の利用者に対して,特定の情報を開示したい場合(図8内の暗号化コンテンツ本体502の領域α部分)には,セッション鍵802をそれぞれの権限に応じた暗号化鍵で別々に暗号化を行い,複数の暗号化されたセッション鍵801を作成する。例えば,図8に示した例では,暗号化コンテンツ本体502の領域α804は利用者U1,U5,それぞれに開示される。この場合には,利用者U1,U5固有の暗号化鍵であるPU1,PU5を用いてセッション鍵802をそれぞれ別々に暗号化する。これによって,利用者U1,及び,利用者U5は,自分の所有する復号鍵SU1,SU5を利用して,暗号化コンテンツ本体502の領域α部分を閲覧することができ,その他の利用者は,暗号化されたセッション鍵を復号できないので,該当する暗号化されたコンテンツを閲覧することができなくなる。
図9は,図8の暗号化コンテンツ106を,利用者U5が復号する場合の処理を模式的にあらわしている。図7に示すとおり,利用者U5が所持する復号鍵がSU5,SK2,SB1であるため,利用者U5が復号できる箇所は,図8においてPU5,PB1を用いて暗号化した領域となる(それぞれ領域α804,領域γ806に対応)。復号の際には,図6のステップ600から606に示した手順に従い,暗号化コンテンツ106のヘッダ501を参照(ステップ601)し,利用者U5が所持する復号鍵で復号可能な領域の特定(ステップ603),暗号化されたセッション鍵801を,復号鍵112を用いて復号(ステップ604)し,復号されたセッション鍵802を利用して暗号化された部分コンテンツの復号(ステップ605),復号コンテンツ901の構成(ステップ606)を行う。
なお,図9中の黒く塗潰されて表示されている領域は,暗号化コンテンツ106のうち,利用者U5が所持する復号鍵では復号できなかった領域を表している。
次に第一の実施例におけるデータ表現方法と復号コンテンツの表示方法の一例について示す。
図10は,暗号化コンテンツヘッダ501の構成例の一例を示している。なお,図10ではXMLを用いて暗号化コンテンツ502を使用しているが,例えばPDFを利用するなど,必ずしもXMLを利用する必要はない。以下,図10に示すXMLによるデータフォーマットについて説明を行う。
暗号化コンテンツ501のヘッダは,MRCipher要素1000によって構成され,MRCipher要素1000は,MRCipherParam要素1001とMRBlocks要素1003の二つの要素から構成される。MRCipherParam要素1001は,暗号PG216,復号PGで暗号化・復号処理を行う際に共通的に使用するパラメータを設定するための要素で,例えば暗号化に使用する共通鍵暗号技術のアルゴリズムなどを設定する。また,MRBlocks要素1003は,分割されたコンテンツの各領域を復号するために必要な情報を記述する。以下,図10におけるMRCipherParam要素1001,MRBlocks要素1003の詳細について述べる。
MRCipherParam要素1001は,EncryptionAlgorithm要素1002から構成される。EncryptionAlgorithm要素1002には,コンテンツの暗号化に使用する共通鍵暗号技術のアルゴリズム名を指定する。例えば,128ビット鍵のAESをCBCモードで使用する場合には,“http://www.w3.org/2001/04/xmlenc#aes128−cbc”をEncryptionAlgorithm要素1002のAlgorithm属性に記述すればよい。
MRBlocks要素1003はMRBlock要素1004から構成される。MRBlock要素1004は,分割されたコンテンツの各領域の復号に必要な情報を記述するための要素であり,EncryptedKeyList要素1005,TargetList要素1009,CiphertextData要素1011から構成される。
EncryptedKeyList要素1005には,セッション鍵802の復号に使用する復号鍵112の指定と暗号化されたセッション鍵801を記述する。セッション鍵802の復号に使用する復号鍵112の指定は,EncyrptedKey要素1006内のKey_id属性によって行う。Key_id属性によって復号鍵112の指定を行うためには,それぞれの復号鍵112に対して予め一意な識別子を定めておけばよい。例えば,図7に示した鍵管理方法では,KB1,KK1などを識別子として使用すればよい。
EncyptedKey要素1006は,KeyEncytptionAlgorithm要素1007,EncryptedSEKValue要素1008の二つから構成される。KeyEncytptionAlgorithm要素1007は暗号化されたセッション鍵801を復号するための暗号アルゴリズムを記述し,EncryptedSEKValue要素1008は,暗号化されたセッション鍵801をBASE64符号化した文字列を記述する。
なお,同一の領域に対して,異なる権限を持つ複数の利用者の閲覧を許可する場合には,EncryptedKeyList要素1005内に複数のEncryptedKey要素1006を用意すればよい。
対象となる領域(例えば,XMLの要素)の指定は,TargetList要素1009によって行う。例えば,対象となるコンテンツ105がXML文書で,要素毎に閲覧できる利用者の制限を行っている場合には,復号の対象となる領域(要素の値)をTargetList要素1009内のTarget要素1010に,XPathやURIなどを利用して指定すればよい。同一の権限を持つ利用者によって閲覧できる領域が複数ある場合には,Target要素1010を複数用意すればよい。これがMRCipher要素1000を利用した場合のコンテンツ区切り情報803となる。
図10に示すフォーマットでは,暗号化されたコンテンツはCiphertextData要素1011にまとめてBASE64符号化した文字列として記述する。そのため,同一の権限を持つ利用者によって閲覧できる領域(要素)が複数ある場合など,復号されたデータのどの部分がどの要素の値に対応するかを特定しなければならない場合がある。この場合には,CiphertextData要素1011の属性として復号されたデータのnバイト目からmバイト目までが要素Aに対応といった情報を,例えばTarget要素1010の属性として持たせておく,或いは暗号化の際に,暗号化の対象となる要素だけでなく,長さも含めて暗号化し,復号した際にどこまでがどの要素に対応するかを,復号装置102によって判別できるようにしておく。例えば,長さ情報を含めて暗号化する場合には,Target要素1011で得られた対象領域(要素)をASN.1のBIT STRING型を用いて表現するなどすればよい。これによって,対象領域の長さを明確にできる。
なお,図10に示すようにCiphertextData要素1011内を利用する場合には,暗号化に際して,Target要素1010によって指定された対象領域は,コンテンツ105から削除する(例えば,ステップ405を行う際に実行する)。また,これを復号する際には,暗号化の際に削除された対象領域をTarget要素1011内の情報を,復号されたコンテンツを用いて復元することによって,復号コンテンツの構成を行う(図6においては,ステップ607に対応)。
図10に示す暗号化ヘッダ501は必ずしも暗号化コンテンツ106の先頭にある必要はなく,ヘッダ501の構成は図10の通りでなくともよい,例えば,Key_id属性で指定された復号鍵112から,セッション鍵802を暗号化したアルゴリズムが自明であればKeyEncryptionAlgorithm要素は不要である。また,図10では各領域の暗号化されたデータはCiphertextData要素1011にまとめて記述しているが,例えば,暗号化の対象となる領域を暗号化されたデータと置き換えてもよい。この場合には,CiphertextData要素1011は不要である。
さらに,暗号化に際しては,TargetList要素1009も暗号化してCiphertextData要素1011に含めてもよい。これによって,どの領域が暗号化されているかも,権限を持った利用者にだけ開示することができる。
暗号化ヘッダ501の実現方法は,XMLに限ったものでなくともよい。例えば,ASN.1などのデータ記述言語を利用してもよい。また,図10に示すフォーマットでは,独自に定めたフォーマットを利用しているが,例えばXML Encryptionのフォーマットを利用して,図10と等価な表現を有するフォーマットを利用してもよい。なお,XML Encryptionについては,以下の文献に詳しい。XML Encryption Syntax and Processing W3C Recommendation 10 December 2002 URL:<http://www.w3.org/TR/xmlenc-core/>
図11は,暗号化コンテンツ106がXMLを用いて表現されていた場合に,暗号化コンテンツ106を復号し,表示装置205で表示するまでのフローの一例を示している。暗号化コンテンツ106は,復号PG1101に入力され,図6(または図9)に示した処理フローにしたがって復号され,復号コンテンツ901に変換される。復号コンテンツ901に対して,表示スタイル定義ファイル1105を用いて,復号コンテンツ変換PG1102を用いて表示イメージソース1106を生成し,これを用いて表示用PG1103を通して表示装置205上に復号コンテンツ901を表示する。図11において,復号コンテンツ変換PG1102,表示スタイル定義ファイル1105,表示イメージソース1106は,XSLT,XSL,HTMLであり,XSLT以降の処理は,例えば一般的なWebブラウザを用いて行うことができる。
暗号化コンテンツ106の復号処理において復号できなかった領域は,図11に示す復号コンテンツ表示イメージ107上では,黒く塗潰して表示している。図11に示した例では,復号コンテンツ表示イメージ107の顧客情報以下にある表が黒く塗潰されて表示されており,この復号コンテンツ表示イメージ107を閲覧する利用者にはこの領域を閲覧する権限がないことをあらわしている。なお,復号コンテンツイメージ表示イメージ107において,復号できなかった領域の表示は必ずしも黒く塗潰す必要はなく,他の表示方法を用いても良いし,その領域自体を表示しなくてもよい。
図11では,暗号化コンテンツ106,復号コンテンツ901としてXMLを用い,また表示イメージソース1106としてHTMLを用いて表記した場合について示したが,これと異なっていてもよい。例えば,暗号化コンテンツ106がPDFを用いて表記されている場合には,復号コンテンツ901,表示イメージソース1106をともにPDFとすることができ,復号コンテンツ変換PG1102を省略することができる。また,復号PG1101と復号コンテンツ変換PG1102を同一プログラムとみなし,暗号化コンテンツ106から直接表示イメージソース1106を出力するなど,図11の実現例には多様な実装方法がありえる。
なお,セキュリティ上の観点からは,復号コンテンツ901,表示イメージソース1106はファイル等,外部記憶装置203,外部記憶媒体110に保存できない状態で利用されることが望ましい。
業務フローにおいては,コンテンツを閲覧する各利用者が,コンテンツが改ざんされていないかどうかを検証することが可能であることが望まれる場合がある。この場合には,暗号化装置101において,生成された暗号化コンテンツ106に対して,電子署名の付与などを行うことが望ましい。これによって,暗号化コンテンツ106の完全性を保証することが可能となる。なお,電子署名の付与にあたっては,暗号化コンテンツ本体502だけでなく,暗号化されたセッション鍵801などの付加情報も含めて電子署名の生成を行うことが望ましい。
電子署名の付与を行う場合には,暗号化装置101の外部記憶装置203に,署名生成PG,利用者の署名用秘密鍵が格納される。また,復号装置102の外部記憶装置203には,検証PGと検証用公開鍵が格納される。
第2の実施例では,本発明をクレジットカードの申し込みにおける申込書の処理フローに適用した場合について述べる。
図12,図13は,本発明をクレジットカード申込みに適用した場合の処理フローの一例を示している。本実施例における業務フローシステムは,図12,図13に示した,申込み装置1220,受付装置1221,与信確認装置1222,口座登録装置1223の4つの装置と,これらの装置に暗号化鍵111,復号鍵112を配布する鍵管理装置103から構成される。ここで,申込み装置1220は,図1の暗号化装置101に,受付装置1221,与信確認装置1222,口座登録装置1223は,ともに図1の復号装置102に相当し,申込み装置1220には暗号化鍵111が,受付装置1221,与信確認装置1222,口座登録装置1223には,それぞれの権限に応じて復号鍵112が,鍵管理装置103から配布される。また,申込書はコンテンツ105に,暗号化された申込書は暗号化コンテンツ106に相当する。処理フローは次のとおりである。
1200:開始
1201:申込み装置1220内のコンテンツ作成・読込処理部210を用いて,申込書の作成,または,読込を行い,さらにコンテンツ暗号化処理部211が申込書の暗号化を行う。
1202:申込み装置1220内のコンテンツ送信処理部212が暗号化された申込書を受付装置1221に送信する。
1203:受付装置1221内のコンテンツ受信部が,暗号化された申込書を受信する。
1204:受付装置1221内のコンテンツ復号処理部が暗号化された申込書の復号を行い,さらにコンテンツ表示処理部で復号コンテンツの表示を行い,表示結果から申込書の内容の確認を行う。
1205:受付装置1221内のコンテンツ送信処理部212が,暗号化された申込書を与信確認装置1222に送信する。
1206:与信確認装置1222内のコンテンツ受信処理部が,暗号化された申込書を受信する。
1207:与信確認装置1222内のコンテンツ復号処理部が暗号化された申込書の復号を行い,さらにコンテンツ表示処理部で復号コンテンツの表示を行い,表示結果から内容の閲覧,与信審査を行う。
1208:与信確認装置1222が,審査結果を受付確認装置1221に送信する。
1302:受付装置1221が,与信確認置1222からの与信結果を受信する。
1303:受付装置1221内のコンテンツ送信処理部212が,暗号化された申込書を口座登録装置1223に送信する。
1304:口座登録装置1223内のコンテンツ受信処理部が,暗号化された申込書を受信する。
1305:口座登録装置1223内のコンテンツ復号処理部が暗号化された申込書の復号を行い,コンテンツ表示処理部で復号コンテンツの表示を行い,申込書の内容確認,口座番号の登録を行う。
1306:口座登録装置1223が,口座登録完了の通知を受付装置1221に送信する。
1307:受付装置1221が,口座登録完了の通知を受信する。
1308:受付装置1221内のコンテンツ復号処理部が,暗号化された申込書を復号し,コンテンツ表示処理部が復号コンテンツの表示を行い,表示結果からカード利用者情報としてデータベースへの登録を行う。また,申込書の保管を行う。
1309:受付装置1221が,申込み装置1220へ登録完了の通知を送信する。
1310:申込み装置1220が,登録完了の通知を受信する。
1311:終了
図12,図13において,申込み装置1220,受付装置1221,与信確認装置1222,口座登録装置1223は,それぞれ,申込み利用者のPCなどの電子計算機端末,クレジットカード会社内の業務端末,審査機関の業務端末,銀行内の業務端末などである。なお,図12,図13において,この処理フローを構成する各装置の構成は,必ずしもこの通りでなくともよい。例えば,新規利用者がクレジットカード会社の窓口で直接申し込みを行う場合には,申込み装置1220と受付確認装置1221は,ともにクレジットカード会社内の業務端末となる。
ステップ1201における申込書の暗号化,及び,ステップ1204,1207,1305,1308における暗号化された申込書の復号は,それぞれ,第一の実施例で述べた図4,図6の処理にしたがって処理が行われる。上記の処理フローでは,申込みから登録が完了する場合のフローを示しているが,例えばステップ1204での登録内容の確認において登録内容に誤りがあるなど,処理の過程で利用者の登録ができない状況が発生した場合には,申込み装置1220に登録失敗の通知を行う等の処理を行い,処理の停止,或いは,再処理の要求を行う。
図14は,本実施例において利用される申込書のイメージ図である。なお,申込書のフォーマットとしては,例えばXMLなどを利用して表現することができる。図14に示した申込書は,項目毎に区切られ,図4の処理にしたがって暗号化が行われる。ここで,図14の表に示した領域は,各フィールドを暗号化する暗号化鍵111の種類をあらわしている(すなわち,申込者氏名,住所,生年月日は同一の鍵を用いて暗号化される。)。
ここで,申込み装置1220,受付装置1221,与信確認装置1222,口座登録装置1223には,鍵管理装置103は,以下のようにして鍵の配布を行う。
まず,鍵管理装置103において,受付装置1221,与信確認装置1222,口座登録装置1223に対して,それぞれ固有の暗号化鍵111,復号鍵112の生成を行う。以下では,これをそれぞれ,KX=(PX,SX),KY=(PY,SY),KZ=(PZ,SZ)とする。ここで,PX,PY,PZは暗号化鍵111であり,SX,SY,SZは復号鍵112である。なお,以下の説明では,鍵管理装置103は,各装置に対して鍵の配布を行っているが,各装置の利用者に対して行ってもよい。また,鍵の生成は,必ずしも鍵管理装置103において行わなくてもよい。
次に,申込み装置1220に,暗号化鍵PX,PY,PZを配布し,受付装置1221,与信確認装置1222,口座登録装置1223に対して,それぞれSX,SY,SZを配布する。ここで,SX,SY,SZの配布は,暗号化通信を行う,或いは,ICカードなどの耐タンパ性を持った媒体に格納し,これを直接,各装置の利用者に対して配布することが望ましい。
申込み装置1220において,申込書の暗号化する際には,以下のようにする。まず,図14に示したフィールドA,B,C,Dに対して,乱数生成器などを用いてセッション鍵802の生成を行う。次に生成されたセッション鍵に対して,各装置の暗号化鍵111を用いて暗号化を行う。ここで,領域Aに対するセッション鍵は,PX,PY,PZを用いてそれぞれ個別に暗号化を行い,さらに領域Bに対するセッション鍵にはPX,PZを,領域Cのセッション鍵にはPX,PYを,領域Dのセッション鍵にはPXを用いてそれぞれ個別に暗号化を行い,暗号化されたセッション鍵801の生成を行う。
これによって,例えば,与信確認装置1222では,復号鍵SYによって復号できる領域A,Cが閲覧でき,口座登録装置1223では,復号鍵SZによって復号できる領域A,Bが閲覧できる。
図15は,口座登録装置1223において閲覧される復号された申込書の表示イメージ(復号コンテンツ表示イメージ107に相当)の一例である。図15に示したように,口座登録装置1223では,口座登録に不要な情報(年収,暗証番号等)は復号するができないため,墨塗りされて表示される。同様に与信確認装置1222では,与信確認に不要な情報(ID,暗証番号)などは表示(復号)されないように暗号化処理が施される。
上記の例では,各装置(或いは,その利用者)に着目して,鍵(権限)の割当てを行っているが,本実施例の場合,申込書内のフィールドに着目して鍵(権限)の割当てを行ってもよい。その場合,暗号化鍵111,復号鍵112の配布,申込装置1220における暗号化は,以下のようになる。
まず,鍵管理装置103において,各領域A,B,C,Dに対して,暗号化鍵111と復号鍵112の生成を行う。これを,それぞれKA=(PA,SA),KB=(PB,SB),KC=(PC,SC),KD=(PD,SD)とする。ここで,SA,SB,SC,SDは復号鍵112であり,PA,PB,PC,PDは,それに対応する暗号化鍵111である。
さらに鍵管理装置103は,上記の生成された暗号化鍵PA,PB,PC,PDを公開し,申込み装置1220から取得できるようにする。また,受付装置1221に復号鍵SA,SB,SC,SDを,与信確認装置1222に復号鍵SA,SCを,口座登録装置1223に復号鍵SA,SBを配布する。
なお,受付装置1221,与信確認装置1222,口座登録装置1223への復号鍵112の配布は,装置に直接復号鍵112を送付するのではなく,各装置の利用者に送付してもよい。また,復号鍵112の配布に当っては,暗号化通信を利用する,或いは,ICカードなどの耐タンパ性のある媒体に復号鍵112を格納し,これを各装置の利用者に直接渡すなど,することが望ましい。
申込書を暗号化する際には,以下のようにする。まず,各領域A,B,C,Dに対して,乱数生成器などを用いて,セッション鍵802の生成を行う。次にA,B,C,Dの各領域に対して生成されたセッション鍵802に対して,それぞれ,暗号化鍵PA,PB,PC,PDを用いて暗号化を行い,暗号化コンテンツ106の生成を行う。
以上の鍵管理方法,及び,暗号化方法によって,前述の各装置に復号鍵112を一つずつ割り当てた場合と同様の機能が実現できる。例えば,口座登録装置1223は,復号鍵SA,SBを保持しているので,領域A,Bを復号することができる。したがって,口座登録装置1223では,領域A(ID,申込者氏名,住所,生年月日),B(銀行口座番号)を閲覧することが可能となり,図15に示す復号コンテンツ表示イメージ107を得ることができる。
本鍵管理方法では,各装置に複数の復号鍵112の配布が必要となるが,前述の各装置に一つの復号鍵を配布する方法と比較して,暗号化コンテンツ106のデータサイズを削減することができる。
以上に示した手順(ステップ1200からステップ1208,ステップ1302からステップ1308)によって,申込書のデータベースの一元管理によらない業務フローが実現できる。本システムでは,申込み装置1220,受付装置1221,与信確認装置1222,口座登録装置1223は,例えば暗号化されたデータをメール等を用いて送信することによって,送信先での利用者の権限に応じた適切な情報の開示が可能となる。なお,本実施例における適用例は,この他,旅行代理店における宿泊施設などへの予約申し込みにおけるワンストップサービス,銀行の口座開設における申込書の処理フローなどにも適用できる。なお,ワンストップサービスとは,複数の手続きが必要となる場合に,これら必要となる手続きを,一度の手続きで完了することが可能なサービスのことである。
例えば,旅行代理店の予約申込みにおけるワンストップサービスでは,以下のようになる。ワンストップサービスのためのシステムは,鍵管理装置103と旅行代理店における受付装置(暗号化装置101に相当),各宿泊施設,航空会社などにおける複数の予約登録装置(復号装置102に相当)から構成される。鍵管理装置103は,受付装置に対して暗号化鍵111の送付,予約登録装置に対して復号鍵112を配布する。旅行代理店では,受付装置からにおいて申込書を宿泊施設,航空会社などの予約登録装置に送信する。このとき,本実施例と同様の暗号化処理を施すことによって,各予約登録装置において適切な情報開示が行われるように暗号化処理を施すことが可能となる。
また,銀行の口座開設における処理フローの場合には,システムは,鍵管理装置103と受付装置(暗号化装置101に相当),複数の承認装置102(復号装置)から構成される。鍵管理装置103は,上記と同様,受付装置に暗号化鍵110を,承認装置に復号鍵111の配布を行う。申込書への暗号化は受付装置で行い,承認者装置へ送付する。各承認装置は,それぞれの権限に応じた復号鍵111を利用することによって,申込書内の選択的な開示を行い,口座登録の承認の可否を決定し,他の承認装置に送付する。このとき,受付装置において,本実施例と同様の暗号化処理を施すことによって,承認装置(承認者)の権限に応じた適切な情報開示が可能となる。
また,本実施例においても,第一の実施例と同様,暗号化された申込書に申込者の電子署名を付与することよって,暗号化された申込書の改ざんを検知することができ,申込書の改ざんを防ぐことができるようになる。
実施例1,2によって,利用者に応じてコンテンツを部分的に開示することが可能となり,これによって業務フローシステムを構成することができる。
しかしながら,実施例1,2に示した暗号化処理では,どの利用者から順に閲覧を許可するかという順序の制御までは行っていない。そこで,本実施例では,復号する利用者の順序を制御可能な暗号化方法,及び,その復号方法について述べる。これによって,不正な,または誤った処理フローによって,正規の順序とは異なる順序で利用者にコンテンツが受信された場合でも,正規の受信順序以外では,コンテンツを閲覧することができなくなり,不正な,または誤った処理フローの実行を未然に防ぐことができる。
図16は本実施例における暗号化処理の概略を示している。以下に,暗号化処理の概略について示す。なお,以下では,i番目にコンテンツを閲覧する利用者をUとし,コンテンツ105はm人の利用者(U,...,U)によって,U→U→...→Uの順序で閲覧されるものとする。
1600:開始
1601:コンテンツ105を部分コンテンツに分割(ステップ405に対応)
1602:分割されたコンテンツ105に開示権限を設定(ステップ402に対応)
1603:暗号化されていない部分コンテンツがまだあれば,ステップ1604へ,なければステップ1606へ(ステップ403に対応)
1604:セッション鍵の生成(ステップ404に対応)
1605:セッション鍵を用いて,対象となる部分コンテンツを暗号化し,ステップ1603へ
1606:iをm+1として,順序制御用乱数Rm+1を生成
1607:i>1なら,ステップ1608へ,そうでなければステップ1610へ
1608:i番目にコンテンツを閲覧する利用者Uが閲覧可能な部分コンテンツを暗号化したセッション鍵と順序制御用乱数Rを連結し,利用者Uの暗号化鍵111を利用して暗号化を行い、暗号化した結果をRi-1とする。
1609:i←i−1とし,ステップ1606へ
1610:ヘッダ501を構成(ステップ407に対応)
1611:終了
上記のステップ1602の処理において,開示権限の設定は,例えば設定ファイル等に,利用者の閲覧順序と各利用者の閲覧可能な領域を予め書込んでおき,これを用いて行ってもよい。
ステップ1608の処理において,セッション鍵に順序制御用乱数Rを連結して,暗号化処理を行っている。順序制御用乱数Rは,さらに次の利用者Ui−1の暗号化鍵111で暗号化される。これによって,利用者UがRを知るためには,利用者Ui−1がRi−1を復号することが条件となり,結果として利用者Uが,暗号化コンテンツ106の閲覧が可能となるのは,利用者Ui−1が閲覧を終了した後になる。
上記のステップ1608では,セッション鍵と順序制御用乱数Rを連結して暗号化しているが,これと異なっていてもよい。例えば,順序制御用乱数Rから例えばハッシュ関数などを用いて共通鍵暗号技術における秘密鍵の生成を行い,これを用いてセッション鍵の暗号化を行い,さらにRを利用者Uの暗号化鍵111で暗号化してもよい。
また,このとき,利用者Ui-1の順序制御用乱数Ri−1は,Rを利用者Uの暗号化鍵111で暗号化した結果と暗号化されたセッション鍵とを連結したものでもよいし,Rの暗号化結果のみでもよい。
このとき共通鍵暗号技術における秘密鍵だけでなく,RからMAC(Message Authentication Code)生成のための鍵も生成して,セッション鍵に対するMACを生成することによって,復号時にセッション鍵が正しく復号できたかどうかを確認できるようにしてもよい。
図17は,図16の暗号化処理によって暗号化された暗号化コンテンツ106の復号処理の概略を示している。なお,以下では復号する利用者をUとする。
1700:開始
1701:ヘッダ501を参照し,暗号化コンテンツ106を分割して,暗号化された部分コンテンツと,乱数制御用Rを抽出(ステップ601に対応)
1702:Rを利用者Uの復号鍵112を用いて復号し,Ri+1とセッション鍵の抽出を試みる。
1703:ステップ1702において取り出されたセッション鍵があればステップ1704へ,なければステップ1705へ
1704:セッション鍵を用いて対応する部分コンテンツを復号し,ステップ1703へ(ステップ605に対応)
1705:ステップ1704から得られた一つ以上の復号された部分コンテンツを用いて,復号コンテンツを構成(ステップ606に対応)
1706:暗号化コンテンツ106から,Rを削除,Ri+1の付与,ヘッダ502の再構成を行い,新たな暗号化コンテンツ106を生成する。
1707:終了
ステップ1707の処理において,暗号化コンテンツ106から,Rが削除され,代わりにRi+1が暗号化コンテンツ106に付与される。Ri+1は,利用者Ui+1の復号鍵112によって復号可能であり,その復号結果に暗号化された部分コンテンツを復号するためのセッション鍵の情報が含まれる。このステップ1707の処理によって,暗号化コンテンツ106が利用者Ui+1によって閲覧されることが可能になる。
なお,図16の暗号化処理では,
i番目の利用者Uは一人,と想定していたが、複数人であってもよい。この場合、i番目のn人の利用者利用者をU ,U ,...,U と表すと、以下のようにして、n人の利用者U ,U ,...,U の内のいずれかk人が閲覧すれば、i+1番目の利用者Ui+1が閲覧できるようにする,というしきい値処理を行うことも可能である。
すなわち,順序制御用乱数Rの暗号化を行う前(ステップ1608)に,Rに対し閾値型秘密分散処理を適用し,R ,...,R を生成する。これらR ,...,R を,それぞれ順序制御用乱数Rとみなして,別々にステップ1608の処理を行い,Ri−1 ,...,Ri−1 の生成を行う。次に,これらRi−1 ,...,Ri−1 を連結したデータをRi−1として,以下,ステップ1609以降を実行する。
復号装置102において暗号化コンテンツ106を復号する際には,受信した暗号化コンテンツ106から,ステップ1701の処理によって,R を取り出す。復号装置102がR をk個以上取得(暗号化コンテンツ106をk個以上受信)した場合,閾値型秘密分散処理の逆変換処理を用いることでRを復元できるので,これを用いてステップ1702以降の処理を実行すればよい。
閾値型秘密分散については,各種の処理方法が提案されており,例えば,以下の文献などが知られている。
Adi Shamir,“How to share a secret”,Communications of the ACM, 22(11) pp.612−613,November, 1979.
以下に,Rに閾値型秘密分散処理を適用し,R ,...,R を生成する方法の一例を示す。
まず,暗号化装置101において,ステップ1608を実行する前に,以下の処理を実行する。Rをaとして,乱数生成器をもちいてa,...,aを生成する。次に,f(x)=a+ax+a+...+aとし,R =f(j)(j=1,...,m)によって,R ,...,R を計算する。
つぎに,上記によって生成されたR ,...,R を用いて暗号処理を行った場合,対応する復号装置102における処理の概略について示す。ここで,利用者Uが受信した暗号化コンテンツ106に含まれる順序制御用乱数をR j1,...,R jk’(k’>k)を受信したとする。
復号装置102においては復号処理のステップ1701の処理によって,受信した複数の暗号化コンテンツ106からR を取得する。そして,ステップ1703の処理の前に,
=Σ(j=j1,...,jk’) Π(l=j1,...,jk’,l≠j)(−l)/(j−l)
を計算する。ここで,Σ(i),Π(i)は,それぞれ()内を満たす全てのxの和,積を計算することを表す。これによって,Rが得られるので,Rを利用者Uの復号鍵112で復号し,Ri+1,セッション鍵を取り出し(ステップ1702に対応 ),以下ステップ1703以降の処理を行う。
上記の処理では閾値型秘密分散処理によって,n人の利用者U ,U ,...,U のいずれかk人が閲覧すれば利用者Ui+1が暗号化コンテンツ106を閲覧できるようにすることを可能にしたが,利用者U ,U ,...,U のn人すべてが閲覧した後でなければ,利用者Ui+1が閲覧できないようにすることも可能である。
これを実現するためには,上記の閾値型秘密分散処理をAONT(All Or Nothing Transform)処理によって置き換えればよい。なお,AONTにはいくつかの方式が提案されており,例えば,以下の文献などが知られている。
R.Rivest,“All−Or−Nothing encryption and the package transform”, Fast Software Encryption ‘97,Lecture Notes in Computer Science, LNCS.1267,pp.210−218,Springer−Verlag,1997.
以上の暗号化処理(ステップ1600〜ステップ1611),復号処理(ステップ1700〜ステップ1707)によって,閲覧順序の制御が可能となる。ここで,暗号化処理,或いは,復号処理終了後,暗号化装置101,或いは,復号装置102は,暗号化コンテンツ106を,次に閲覧を行う復号装置102へ送信する。
ここで,例えば上記に述べた閾値型秘密分散処理を用いることによって,並列処理を行うような場合には,並列処理を行う前の利用者Uが次に閲覧を許可された利用者Ui+1 ,...,Ui+1 に暗号化コンテンツ106を送付すればよい。
また,誤って別の復号装置102に暗号化コンテンツ106を送ってしまった場合には,受信した復号装置102が受信した暗号化コンテンツ106を,受信元の復号装置102(或いは,暗号化装置101)に送り返す,または,本来の復号装置102に送信するようにすればよい。
暗号化コンテンツ106を受信した復号装置102が,受信した暗号化コンテンツ106が正しい順序で受信されたものなのかどうかを判断するためには,例えば,暗号化コンテンツ106のヘッダ501に復号順序を明示して示しておけばよい。
例えば,図10に示したXMLを利用した場合には,EncryptedKey要素1006を,閲覧する順序に並べておく,或いは,EncryptedKey要素1006に閲覧順序をあらわす属性(例えば,DecryptedOrderなど)を追加すればよい。
このとき,次に閲覧可能な利用者のためのMRBlock要素1004以外を暗号化しておき,次の閲覧可能な利用者のMRBlock要素1004のTargetList要素1009に,それ以降の利用者のためのMRBlock要素1004を含ませる(すなわち、それ以降の利用者のためのMRBlock要素1004を暗号化しておく)ことによって,次に閲覧する利用者以外,閲覧順序をわからないようにしてもよい。
この他,例えば,前述したように暗号化処理のステップ1608において,セッション鍵の暗号化時にセッション鍵のMACを生成することによって,これを用いてセッション鍵が正しく復号できたかどうかを確認することによって,暗号化コンテンツ106が正しい順序で受信されたか(閲覧できるのか)どうかを確認してもよい。
なお,上記各実施例を組み合わせて実施することも可能である。例えば、実施例2での暗号化の際に実施例3に記載の方法を用いてもよい。
第一の実施例におけるネットワーク構成の概略を例示する図である。 第一の実施例における暗号化装置の概略を例示する図である。 第一の実施例におけるデータフローの概略を例示する図である。 第一の実施例における暗号化処理の概略を例示する図である。 第一の実施例における暗号化コンテンツの構造の概略を例示する図である。 第一の実施例における復号装置の概略を例示する図である。 第一の実施例における鍵管理方法を例示する図である。 第一の実施例における暗号化処理を模式的に表した図である。 第一の実施例における復号処理を模式的に表した図である。 第一の実施例における暗号化コンテンツの実現方法を表す図である。 第一の実施例における暗号化コンテンツの表示方法を例示する図である。 第二の実施例における処理フローの概略を例示する図である。 第二の実施例におけるコンテンツのイメージを例示する図である。 第二の実施例における,利用される申込書の表示イメージを例示する図である。 第二の実施例における,閲覧される復号コンテンツ表示イメージを例示する図である。 第三の実施例における暗号処理の概略を例示する図である。 第三の実施例における復号処理の概略を例示する図である。
符号の説明
101:暗号化装置,102:復号装置,103:鍵管理装置,105:コンテンツ,106:暗号化コンテンツ,111:暗号鍵,112:復号鍵,501:ヘッダ,502:暗号化コンテンツ本体,801:暗号化されたセッション鍵,802:セッション鍵,803:コンテンツ区切り情報。

Claims (9)

  1. ディジタルコンテンツの暗号化方法に従って暗号化されたディジタルコンテンツを復号する暗号化及び復号方法であって,
    暗号化装置のコンテンツ作成読込処理部は、前記ディジタルコンテンツを作成又は読み込みを行い、
    暗号化装置の暗号化処理部は,
    前記ディジタルコンテンツを複数の領域に分割し,
    前記分割により生成された領域ごとに、鍵管理装置から取得した、コンテンツを閲覧することを許可された利用者に割り当てられた一つ以上の暗号化鍵の割り当てを行い,
    前記分割により生成された前記領域毎に,互いに異なるセッション鍵の割り当てを行い,
    前記領域毎に割り当てた前記セッション鍵を用いて,当該領域の暗号化を行い,
    各々の前記分割により生成された領域ごとに割り当てられた前記暗号を用いて,セッション鍵の暗号化を行い,
    前記ディジタルコンテンツの分割箇所を示す情報と、前記暗号化ディジタルコンテンツ内のどの前記暗号化された領域が、どの前記利用者によって復号できるかという情報と、
    を区切り情報として、前記暗号化されたディジタルコンテンツのヘッダ情報に含ませ,
    前記暗号化装置のコンテンツ送信部は,前記ヘッダ情報と,前記暗号化された複数の領域と,前記領域毎に一つ以上生成された,前記暗号化されたセッション鍵と,からなる暗号化されたディジタルコンテンツの出力を行い,
    復号装置において,
    いずれかの前記利用者が当該復号装置に提供する秘密鍵を用いて,
    当該秘密鍵に対応する公開鍵を用いて暗号化された前記セッション鍵の復号を行い,
    前記復号されたセッション鍵を用いて,当該セッション鍵を用いて暗号化された前記領域の復号を行い,
    復号した前記領域の表示と,当該復号装置において復号しない領域の墨塗り表示と,を行うことを特徴とするディジタルコンテンツの暗号化及び復号方法。
  2. 請求項1に記載のディジタルコンテンツの暗号化及び復号方法であって,
    暗号化装置の暗号化処理部は,同一の前記利用者によって閲覧される前記分割により生成された領域に対し、割り当てられたセッション鍵をひとまとめにし、暗号化することを特徴とするディジタルコンテンツの暗号化及び復号方法
  3. 請求項1に記載のディジタルコンテンツの暗号化及び復号方法であって,
    鍵管理装置において,
    前記利用者を木構造の端点に対応させ,前記利用者が属する一つ以上の集合を木構造の節点または根に対応させ,前記利用者と前記一つ以上の集合との包含関係を木構造によって表現した場合の,前記端点または前記節点または前記根それぞれに異なる,公開鍵とそれに対応する秘密鍵を割り当て,
    一人の前記利用者に対応する一つの前記端点と前記根とこれらをつなぐ経路上にある前記端点とに,おのおの異なるように割り当てた複数の前記秘密鍵を復号鍵として,前記端点に対応する前記利用者に配付し,
    複数の前記秘密鍵に対応する複数の公開鍵を,前記復号鍵に対応する暗号化鍵として公開することを特徴とするディジタルコンテンツの暗号化及び復号方法
  4. 請求項1に記載のディジタルコンテンツの暗号化及び復号方法であって,
    前記暗号化装置において
    前記暗号化された複数の領域,または,前記暗号化された複数の領域と前記暗号化された複数のセッション鍵,に対する電子署名を生成し付与することを特徴とする暗号化及び復号方法。
  5. 請求項に記載のディジタルコンテンツの暗号化及び復号方法であって,
    前記復号装置において,
    前記付与された電子署名を検証することによって,
    前記暗号化されたディジタルコンテンツの改ざんの有無を検査することを特徴とするディジタルコンテンツの暗号化及び復号方法
  6. 請求項1に記載の暗号化及び復号方法であって,
    前記暗号化装置において,
    前記利用者ごとに,当該利用者が閲覧可能な各々の前記領域を暗号化したセッション鍵を有するセッション鍵集合を,構成し,
    前記利用者ごとの前記セッション鍵集合を,
    利用者ごとに割り当てられた前記公開鍵暗号技術の公開鍵を用いて,
    暗号化することを特徴とする暗号化及び復号方法
  7. 請求項に記載の暗号化及び復号方法であって,
    前記暗号化装置において,
    第一の前記利用者用の順序制御用乱数を生成し,
    前記第一の利用者用の,第一の前記セッション鍵集合と,前記順序制御用乱数と,を当該第一の利用者に割り当てられた前記公開鍵暗号技術の公開鍵を用いて,暗号化し,
    前記暗号化結果を
    前記第一のセッション鍵集合とは異なる,第二の利用者用の第二の前記セッション鍵集合の暗号化に用いる第二の利用者の順序制御用乱数とすることを特徴とする暗号化及び復号方法
  8. 請求項に記載された暗号化方法を復号する暗号化及び復号方法であって
    前記復号装置において,
    第二の利用者の前記順序制御用乱数を,
    利用者が当該復号装置に提供する秘密鍵を用いて復号し,
    前記復号結果を,前記第一の利用者の順序制御用乱数と第二の前記セッション鍵集合とに分割し,
    前記第二のセッション鍵集合から取得したセッション鍵を用いて暗号化された領域の復号を行い,
    前記第一の利用者の順序制御用乱数と,前記暗号化された複数の領域と,から暗号化ディジタルコンテンツを,生成することを特徴とする暗号化及び復号方法
  9. 請求項に記載の暗号化及び復号方法であって,
    前記順序制御用乱数に対し,しきい値型秘密分散処理を適用することによって複数の第二順序制御用乱数を生成し,
    前記第二順序制御用乱数それぞれに対して,前記セッション鍵の暗号化を行い,
    前記セッション鍵の暗号化処理の結果からなる集合を,
    前記第二の利用者の順序制御用乱数とする
    ことを特徴とする暗号化及び復号方法
JP2006353690A 2006-02-20 2006-12-28 ディジタルコンテンツの暗号化,復号方法,及び,ディジタルコンテンツを利用した業務フローシステム Expired - Fee Related JP5034498B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006353690A JP5034498B2 (ja) 2006-02-20 2006-12-28 ディジタルコンテンツの暗号化,復号方法,及び,ディジタルコンテンツを利用した業務フローシステム
US11/706,430 US7840487B2 (en) 2006-02-20 2007-02-15 Digital content encryption and decryption method and workflow system using digital content

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006041813 2006-02-20
JP2006041813 2006-02-20
JP2006353690A JP5034498B2 (ja) 2006-02-20 2006-12-28 ディジタルコンテンツの暗号化,復号方法,及び,ディジタルコンテンツを利用した業務フローシステム

Publications (2)

Publication Number Publication Date
JP2007251921A JP2007251921A (ja) 2007-09-27
JP5034498B2 true JP5034498B2 (ja) 2012-09-26

Family

ID=38519100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006353690A Expired - Fee Related JP5034498B2 (ja) 2006-02-20 2006-12-28 ディジタルコンテンツの暗号化,復号方法,及び,ディジタルコンテンツを利用した業務フローシステム

Country Status (2)

Country Link
US (1) US7840487B2 (ja)
JP (1) JP5034498B2 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008128212A1 (en) * 2007-04-12 2008-10-23 Ncipher Corporation Ltd. Method and system for identifying and managing encryption keys
US20090094372A1 (en) * 2007-10-05 2009-04-09 Nyang Daehun Secret user session managing method and system under web environment, recording medium recorded program executing it
EP2056517A2 (en) * 2007-10-31 2009-05-06 Hitachi Ltd. Encryption apparatus, decryption apparatus and cryptography system
JP4925345B2 (ja) * 2008-01-30 2012-04-25 東芝ソリューション株式会社 秘密分散装置及びプログラム
US8171560B2 (en) * 2008-04-07 2012-05-01 Microsoft Corporation Secure content pre-distribution to designated systems
JP5268413B2 (ja) * 2008-04-22 2013-08-21 三菱電機株式会社 開示制限処理装置及びデータ処理システム及びプログラム
JP5536313B2 (ja) * 2008-04-23 2014-07-02 株式会社日立製作所 地図加工装置、プログラム、地図表示装置及び地理情報システム
JP5395372B2 (ja) 2008-06-19 2014-01-22 株式会社東芝 通信装置、鍵サーバ及びデータ
JP2010021888A (ja) * 2008-07-11 2010-01-28 Toshiba Corp 通信装置、鍵サーバ及び管理サーバ
US8995665B1 (en) * 2008-08-20 2015-03-31 Symantec Corporation Role based encryption without key management system
JP2010050760A (ja) 2008-08-22 2010-03-04 Hitachi Ltd コンテンツ保護装置、および、コンテンツ利用装置
JP5140026B2 (ja) * 2009-03-19 2013-02-06 株式会社日立製作所 データベース処理方法、データベース処理プログラム、および、暗号化装置
WO2012039704A1 (en) 2010-09-21 2012-03-29 Hewlett-Packard Development Company, L.P. Application of differential policies to at least one digital document
US8566615B2 (en) * 2011-04-28 2013-10-22 Hewlett-Packard Development Company, L.P. Document management system and method
US9224000B1 (en) 2011-06-14 2015-12-29 Ionic Security, Inc. Systems and methods for providing information security using context-based keys
DE102011083062A1 (de) * 2011-09-20 2013-03-21 Hoccer GmbH System und Verfahren zur sicheren spontanen Übermittlung vertraulicher Daten über unsichere Verbindungen und Vermittlungsrechner
JP6242036B2 (ja) * 2011-11-17 2017-12-06 ソニー株式会社 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
AU2013200916B2 (en) * 2012-02-20 2014-09-11 Kl Data Security Pty Ltd Cryptographic Method and System
CN103366125B (zh) * 2012-03-28 2017-07-21 富泰华工业(深圳)有限公司 文件加密系统和方法
JP5966505B2 (ja) * 2012-03-28 2016-08-10 日本電気株式会社 サーバ装置、クライアント装置、リクエスト処理方法、サーバ応答処理方法、リクエスト処理プログラム、および、応答処理プログラム
US20140222493A1 (en) * 2013-02-04 2014-08-07 Uni-B Solutions Llc Process management system, method, and computer-readable medium
US10484353B2 (en) * 2015-01-29 2019-11-19 Red Hat, Inc. Multiple recipient message encryption
US9608809B1 (en) 2015-02-05 2017-03-28 Ionic Security Inc. Systems and methods for encryption and provision of information security using platform services
US10528753B2 (en) 2015-06-26 2020-01-07 Hewlett-Packard Development Company, L.P. Portable document format file custom field
CN105721413B (zh) * 2015-09-08 2018-05-29 腾讯科技(深圳)有限公司 业务处理方法及装置
US10740474B1 (en) 2015-12-28 2020-08-11 Ionic Security Inc. Systems and methods for generation of secure indexes for cryptographically-secure queries
US10503730B1 (en) 2015-12-28 2019-12-10 Ionic Security Inc. Systems and methods for cryptographically-secure queries using filters generated by multiple parties
US9954684B2 (en) * 2016-02-29 2018-04-24 PreVeil LLC Secure sharing
US11210412B1 (en) 2017-02-01 2021-12-28 Ionic Security Inc. Systems and methods for requiring cryptographic data protection as a precondition of system access
US11528129B2 (en) 2017-06-04 2022-12-13 Apple Inc. Synchronizing content
US11182349B2 (en) 2017-06-04 2021-11-23 Apple Inc. Synchronizing content
US10756898B2 (en) * 2017-06-12 2020-08-25 Rebel AI LLC Content delivery verification
US10958424B1 (en) * 2017-11-02 2021-03-23 Amazon Technologies, Inc. Mechanism to allow third party to use a shared secret between two parties without revealing the secret
JP6908128B2 (ja) * 2017-11-06 2021-07-21 日本電信電話株式会社 データ共有方法、データ共有システム、データ共有サーバ、通信端末、プログラム
KR101920597B1 (ko) * 2017-11-16 2018-11-21 숭실대학교산학협력단 동적 코드 추출 기반 자동 분석 방지 우회 및 코드 로직 해석 장치
US11190498B1 (en) * 2018-01-11 2021-11-30 Secure Channels, Inc. System and method for use of filters within a cryptographic process
US10078759B1 (en) * 2018-01-19 2018-09-18 Griffin Group Global, LLC System and method for data sharing via a data structure having different-scheme-derived portions
US10068099B1 (en) * 2018-01-19 2018-09-04 Griffin Group Global, LLC System and method for providing a data structure having different-scheme-derived portions
US11704395B2 (en) * 2018-11-02 2023-07-18 Jpmorgan Chase Bank, N.A. Methods for augmented reality data decryption and devices thereof
JP2022506633A (ja) 2018-11-09 2022-01-17 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 無線アップグレード方法および関連装置
WO2020102696A1 (en) 2018-11-15 2020-05-22 Airside Mobile, Inc. Methods and apparatus for encrypting, storing, and/or sharing sensitive data
US11763011B2 (en) 2019-02-25 2023-09-19 Oocl (Infotech) Holdings Limited Zero trust communication system for freight shipping organizations, and methods of use
US11361088B2 (en) 2019-02-25 2022-06-14 Oocl (Infotech) Holdings Limited Zero trust communication system for freight shipping organizations, and methods of use
US11804955B1 (en) 2019-09-13 2023-10-31 Chol, Inc. Method and system for modulated waveform encryption
EP3860035A1 (en) * 2020-01-29 2021-08-04 Sebastien Armleder Storing and determining a data element
US12001523B2 (en) 2020-09-29 2024-06-04 International Business Machines Corporation Software access through heterogeneous encryption

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
KR100484209B1 (ko) * 1998-09-24 2005-09-30 삼성전자주식회사 디지털컨텐트암호화/해독화장치및그방법
CA2347176A1 (en) * 1998-10-23 2000-05-04 L-3 Communications Corporation Apparatus and methods for managing key material in heterogeneous cryptographic assets
US6671805B1 (en) 1999-06-17 2003-12-30 Ilumin Corporation System and method for document-driven processing of digitally-signed electronic documents
JP2001273285A (ja) * 2000-03-27 2001-10-05 Mitsubishi Electric Corp 開示情報制御装置及び開示情報制御方法
JP2002204228A (ja) * 2000-12-28 2002-07-19 Toshinori Hayashi コンテンツ配信装置、コンテンツ配信方法、コンテンツダウンロードプログラム、コンテンツダウンロード装置
JP3659178B2 (ja) 2001-02-22 2005-06-15 日本電信電話株式会社 分散ディジタル署名作成方法及び装置及び分散ディジタル署名付ディジタル文書作成方法及び装置及び分散ディジタル署名作成プログラム及び分散ディジタル署名作成プログラムを格納した記憶媒体
JP4850351B2 (ja) * 2001-06-04 2012-01-11 哲也 高橋 暗号化データ生成装置、暗号化データ生成方法
JP2003005645A (ja) 2001-06-19 2003-01-08 Toshitada Kameda 暗号方法、暗号システム、暗号化装置、復号化装置及びコンピュータプログラム
JP2003078515A (ja) * 2001-09-05 2003-03-14 Nec Corp コンテンツ配信システム、復号装置、暗号化装置、復号プログラム、暗号化プログラム
KR100458516B1 (ko) 2001-12-28 2004-12-03 한국전자통신연구원 웹-리소스 불법 변경 감지 장치 및 그 방법
JP2004133801A (ja) * 2002-10-11 2004-04-30 Toshiba Corp コンテンツ提供システム及びコンテンツ提供方法
US7181016B2 (en) * 2003-01-27 2007-02-20 Microsoft Corporation Deriving a symmetric key from an asymmetric key for file encryption or decryption
JP2005135072A (ja) 2003-10-29 2005-05-26 Ricoh System Kaihatsu Co Ltd セキュア文書交換システム、文書承認方法、文書交換管理方法およびそのプログラム
JP2005165738A (ja) * 2003-12-03 2005-06-23 Fusionsys:Kk 電子コンテンツ管理システム、電子コンテンツ管理方法、及びそのプログラム
JP2005217794A (ja) * 2004-01-29 2005-08-11 Ntt Electornics Corp コンテンツデータ記録装置及びコンテンツデータ再生装置
JPWO2006001268A1 (ja) * 2004-06-25 2008-04-17 株式会社ジャストシステム 文書処理装置、文書閲覧装置および文書処理方法
JP2006041570A (ja) * 2004-07-22 2006-02-09 Sony Corp 情報処理システム、情報処理装置、情報処理方法、並びにプログラム

Also Published As

Publication number Publication date
JP2007251921A (ja) 2007-09-27
US20070219915A1 (en) 2007-09-20
US7840487B2 (en) 2010-11-23

Similar Documents

Publication Publication Date Title
JP5034498B2 (ja) ディジタルコンテンツの暗号化,復号方法,及び,ディジタルコンテンツを利用した業務フローシステム
JP4256415B2 (ja) 暗号化装置、復号装置、情報システム、暗号化方法、復号方法及びプログラム
US6105012A (en) Security system and method for financial institution server and client web browser
US7320076B2 (en) Method and apparatus for a transaction-based secure storage file system
KR100753932B1 (ko) 컨텐츠 암호화 방법, 이를 이용한 네트워크를 통한 컨텐츠제공 시스템 및 그 방법
JP3130267B2 (ja) 暗号エンベロープの作成方法
Jager et al. How to break XML encryption
JP5554066B2 (ja) 情報流通システム、情報端末及びプログラム
US20100017599A1 (en) Secure digital content management using mutating identifiers
JP2010050760A (ja) コンテンツ保護装置、および、コンテンツ利用装置
KR20080098372A (ko) 컴퓨터 시스템, 복수의 웹사이트와 통신하기 위한 방법, 제1 웹사이트가 제2 웹사이트와 사용자 계정들을 링크하기 위한 방법, 및 컴퓨터 판독가능 매체
CN102428686A (zh) 用于安全保护云中的数据的系统和方法
JP2008259139A (ja) 鍵管理システム及び鍵管理方法
WO2002046893A1 (en) A method and apparatus for providing xml document encryption
JP2006229948A (ja) 記憶媒体に対するリモート・サービス・インターフェースのサービス担当ユーザを確実に認証する方法およびシステム
JP2009049731A (ja) 暗号化方法,復号方法,および,鍵管理方法
US20020116382A1 (en) Data distribution system
KR101220166B1 (ko) 데이터 접근 권한 관리 방법
CN108882030A (zh) 一种基于时域信息的监控视频分级加解密方法和系统
JP5404501B2 (ja) 暗号化情報の有効期限延長システム、有効期限延長方法及びプログラム
US20090169016A1 (en) Method and system for keying and securely storing data
JP2021072593A (ja) 暗号処理システム及び暗号処理方法
JP2008506293A (ja) デジタル認証機能を提供する方法
WO2022137668A1 (ja) データファイル暗号化送受信システム及びデータファイル暗号化送受信方法
JP3984570B2 (ja) 署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120516

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: 20120605

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120618

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees