JP3815107B2 - Method for generating and browsing encrypted file using common key - Google Patents

Method for generating and browsing encrypted file using common key Download PDF

Info

Publication number
JP3815107B2
JP3815107B2 JP07547899A JP7547899A JP3815107B2 JP 3815107 B2 JP3815107 B2 JP 3815107B2 JP 07547899 A JP07547899 A JP 07547899A JP 7547899 A JP7547899 A JP 7547899A JP 3815107 B2 JP3815107 B2 JP 3815107B2
Authority
JP
Japan
Prior art keywords
encrypted
encryption
key
decryption
common
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
JP07547899A
Other languages
Japanese (ja)
Other versions
JP2000267939A (en
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.)
Miyazaki Epson Corp
Original Assignee
Miyazaki Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Miyazaki Epson Corp filed Critical Miyazaki Epson Corp
Priority to JP07547899A priority Critical patent/JP3815107B2/en
Publication of JP2000267939A publication Critical patent/JP2000267939A/en
Application granted granted Critical
Publication of JP3815107B2 publication Critical patent/JP3815107B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、異なる復号鍵を有する複数の閲覧者が利用する共通鍵を用いたデータファイルの生成方法及び閲覧方法に関する。
【0002】
【従来の技術】
近年、コンピュータネットワークを用いた情報の共有環境が急速に普及している。共有する文書その他の情報をネットワークのサーバー上に蓄積し、多数のクライアントからこれにアクセスすることによって、該情報の管理や利用効率が格段に改善される。このような環境において、特定の情報を閲覧可能なユーザを限定したいという要求がある。例えば、社内ネットワーク環境においては、特定の役員のみ、特定の部署のみ、あるいは特定の社員のみに目的の文書を閲覧し得るように構成する必要が生じる。
【0003】
この種の要求に応えるために、情報の暗号化技術を用いて目的の情報を暗号化し、この暗号に対応する復号鍵を持った者のみがこれを閲覧可能とする方法がある。
【0004】
暗号化技術を用いた従来の方法の一つは、閲覧者を限定するセキュリティレベルを設定し、該セキュリティレベル毎に異なる鍵で目的の情報を暗号化して、それに対する復号鍵を持つ者のみが目的の情報を閲覧可能とするものである。
【0005】
しかしながら、セキュリティレベル毎に鍵を設定するこの方法では、特定のユーザが複数のセキュリティレベルの情報を閲覧できるようにするためには、複数の鍵を管理しなければならず、ユーザ側及び管理者側において鍵管理が煩雑になる。例えば、社内ネットワークにおいて役員等に対しては、役員レベル、監督する各事業部レベルに対応した鍵を配布し、必要に応じてこれを使い分けるようにする必要がある。また、予め設定したセキュリティレベルに従わないユーザ群に対して情報を提供することが困難であり、閲覧対象者を選択する自由度が低いという問題がある。
【0006】
暗号化技術を用いた従来の他の方法は、ユーザ毎に個別の復号鍵を設定し、情報の対象ユーザ毎にその復号鍵に対応した暗号鍵で情報を暗号化するものである。図7及び図8は、上記方法に従う従来の暗号化ファイルの作成及び閲覧システムを示している。最初に、図7に従って、従来の暗号化ファイルの作成方法において、ユーザA〜Cに同一内容の文書Pを暗号化して提供する方法について説明する。図に示すように、各ユーザA〜Cに対し、それぞれ固有の暗号鍵KEA、KEB及びKECが予め決められており、各暗号鍵KEを用いて文書Pが暗号化され、暗号文CA〜CCが生成される。すなわちシステムは、暗号部70においてユーザA用に文書Pを暗号鍵KEAを用いて暗号化し、文書CAを主記憶上に生成する。書き込み部71は、主記憶上の文書CAをサーバーのハードディスク上に、1つのデータファイルとして保存する。同様に、暗号鍵KEBを用いてユーザB用の暗号文CBを、また暗号鍵KECを用いてユーザC用の暗号文CCを生成し、サーバー上にデータファイルとして保存する。
【0007】
これらの暗号文CA〜CCは、図8に示すように、ユーザA〜Cの操作するクライアントにおいて、それぞれの復号鍵KDA〜KDCを用いて復号化される。すなわち、ユーザAは、自クライアントの主記憶上に、暗号文CAを読み出し、その復号化部81において、暗号鍵KEAに対応する復号鍵KDAを用いて復号化を行い、元の文書Pを得る。同様に、ユーザB及びユーザCのクライアントにおいて、それぞれ復号鍵KDB、KDCを用いて暗号文CB、CCが復号化される。
【0008】
【発明が解決しようとする課題】
しかしながら上記従来の方法によれば、ユーザ側及び管理者側における鍵の管理は容易になるものの、上記した例のように、同じ内容の文書についてそれを閲覧可能なユーザが複数である場合、そのユーザの数だけデータファイルが作成されることとなるので、サーバー上に蓄積されるファイルの数が膨大になる可能性があり、管理上問題がある。
【0009】
従って本発明の目的は、暗号化された文書の管理及びその暗号化に必要な鍵の管理が容易な暗号化ファイルの生成方法及び閲覧方法を提供することにある。
【0010】
【課題を解決するための手段】
上記目的を達成するため本発明は、異なる復号鍵を有する複数の閲覧者が利用するデータファイルの生成方法であって、少なくとも一つの被閲覧情報を、所定の共通暗号鍵で暗号化する手順と、上記所定の共通暗号鍵に対応する共通復号鍵を、上記異なる復号鍵に対応する暗号鍵でそれぞれ暗号化する手順と、上記暗号化された被閲覧情報及び上記暗号化された複数の共通復号鍵を、少なくとも1つのデータファイルとして保存する手順とを備えて構成される。
【0011】
また、上記暗号化ファイルの生成方法は、所定の判定用コードを、上記異なる復号鍵に対応する暗号鍵でそれぞれ暗号化する手順と、上記暗号化された各共通復号鍵に対し、同じ鍵で暗号化された上記判定用コードをそれぞれ対応付ける手順とを更に備え、上記保存する手順が、上記暗号化された被閲覧情報及び上記暗号化された複数の共通復号鍵を上記判定用コードと共に1つのデータファイルとして保存するものであることが好ましい。
【0012】
また、上記暗号化ファイルの生成方法は、上記データファイル内における少なくとも上記暗号化された被閲覧情報の位置を特定する位置情報を生成する手順を更に備え、上記保存する手順が、上記暗号化された被閲覧情報を上記位置情報と共に1つのデータファイルとして保存するものであることが好ましい。
【0013】
本発明は、また上記方法により生成された暗号化ファイルを閲覧する方法であって、上記データファイルを主記憶上にロードする手順と、上記データファイル内の暗号化された複数の共通復号鍵を、該閲覧者が有する復号鍵で順次復号化する手順と、上記復号化された共通復号鍵が、暗号化前の共通復号鍵に正しく復号化されたか否かを順次判断する手順と、正しく復号化された上記共通復号鍵で、上記暗号化された被閲覧情報を復号化する手順と、上記復号化された被閲覧情報を閲覧者に対し表示する手順とを備えて構成される。
【0014】
また、上記暗号化ファイルの閲覧方法は、上記暗号化された複数の判定用コードを、該閲覧者が有する復号鍵で順次復号化する手順を更に備え、上記判断する手順が、上記復号化された判定用コードを、暗号化前の上記判定用コードと順次比較することにより、上記復号化された共通復号鍵が、暗号化前の共通復号鍵に正しく復号化されたか否かを判断するものであることが好ましい。
【0015】
更に、上記暗号化ファイルの閲覧方法は、上記被閲覧情報を復号化する手順が、上記位置情報に基いて上記データファイルの中から上記被閲覧情報を抽出する手順を更に備えることが好ましい。
【0016】
【発明の実施の形態】
以下、図示した一実施形態に基いて本発明を詳細に説明する。図1は本発明の一実施形態に係る暗号化ファイルの作成方法を実現するシステム構成図を示している。基本的に、本作成方法によって、提供すべき一つの文書が所定の共通暗号鍵によって暗号化される。これと共に、該共通暗号鍵に対応する共通復号鍵が、各ユーザに設定された暗号鍵を用いてそれぞれ暗号化される。暗号化された文書及び各共通復号鍵は、一つのデータファイルにまとめられ保存される。
【0017】
図1において、暗号化ファイル生成装置10は、ファイル管理者が操作するコンピュータ及びこの上で動作されるプログラムによって実現可能であり、その機能的な構成として、鍵暗号部11、鍵設定部12、鍵鍵データ書き込み部13、ブロックサイズ算出部14、文書暗号部15、文書書き込み部16及びデータ保存部17を備える。
【0018】
鍵暗号部11は、鍵設定部12によって設定された暗号鍵KEを用いて所定のアルゴリズムにより入力データを暗号化する。鍵暗号部11に入力されるデータは、確認コードM及び共通復号鍵KYであり、鍵暗号部11は、確認コードMを暗号化して暗号化確認コードM’を生成し、また共通復号鍵KYを暗号化して暗号化共通復号鍵KY’を生成する。ここで、確認コードMは、文書Pを閲覧しようとするユーザが、上記共通復号鍵KYを使用する権限を有しているか否かを判断するためのものである。確認コードMは、任意の文字列、記号その他の識別子であれば良いが、文書Pに基いて生成されるハッシュ値その他のメッセージダイジェストを確認コードMとしても良い。確認コードMを用いた閲覧権限の判定の方法については後述する。共通復号鍵KYは、閲覧に付される文書Pを暗号化するために用いられる共通暗号鍵KXに対応したもので、共通暗号鍵KXで暗号化された文書Pを正しく復号化するための鍵である。
【0019】
鍵設定部12は、鍵暗号部11で用いられる暗号鍵KEを設定するためのものである。図に示す例で、鍵設定部12は、暗号化しようとする文書Pに対する閲覧権限を有するユーザA、B及びCに対し予め配布された復号鍵KDA、KDB及びKDCに対応する暗号鍵KEA、KEB及びKECを、順次鍵暗号部11で用いる鍵として設定する。これによって、鍵暗号部11は、ユーザA用のデータとして、暗号鍵KEAで暗号化された暗号化確認コードMA’及び暗号化共通復号鍵KYA’を生成し、ユーザB用のデータとして、暗号鍵KEBで暗号化された暗号化確認コードMB’及び暗号化共通復号鍵KYB’を生成し、ユーザC用のデータとして、暗号鍵KECで暗号化された暗号化確認コードMC’及び暗号化共通復号鍵KYC’を生成する。
【0020】
鍵データ書き込み部13は、上記鍵暗号部11で生成された暗号化確認コードM’、暗号化共通復号鍵KY’及び後述するそれらのブロックサイズデータSを主記憶18上に配置するものである。図で示すように、上記各データはユーザ毎にまとめられ、順次主記憶上にマッピングされる(以下ではこれらのデータを必要に応じて、鍵データという)。すなわち、主記憶18上には、ユーザA用の鍵データとして、ブロックサイズデータSA、暗号化確認コードMA’及び暗号化共通復号鍵KYA’が連続して配置され、続いてユーザB用の鍵データとして、ブロックサイズデータSB、暗号化確認コードMB’及び暗号化共通復号鍵KYB’が連続して配置され、続いてユーザC用の鍵データとして、ブロックサイズデータSC、暗号化確認コードMC’及び暗号化共通復号鍵KYC’が連続して配置される。
【0021】
ブロックサイズ算出部14は、各暗号鍵KEA〜KECを用いた鍵暗号部11の出力毎に、鍵データ書き込み部13に入力された暗号化確認コードM’と暗号化共通復号鍵KY’の総計バイト数を算出し、該バイト数を格納したブロックサイズデータSを鍵データ書き込み部13に出力する。この実施例では、各ユーザA、B及びCに対して、3つのブロックサイズデータSA、SB及びSCが生成される。上述のように生成されたブロックサイズデータSA〜SCは、鍵データ書き込み部13によって、暗号化確認コードM’及び暗号化共通復号鍵KY’と共に主記憶18上に配置される。ブロックサイズ算出部14は、また、後述する暗号化文書コードN’及び暗号文Cの総計バイト数を算出し、該バイト数を格納したブロックサイズデータSPを鍵データ書き込み部13に出力する。生成されたブロックサイズデータSPは、後述する文書書き込み部16によって、暗号化文書コードN’及び暗号文Cと共に主記憶18上における、上記鍵データ書き込み部13で書き込まれたデータに続く領域に配置される。
【0022】
文書暗号部15は、共通暗号鍵KXを用いて所定のアルゴリズムにより入力データを暗号化する。文書暗号部15に入力されるデータは、文書コードN及び閲覧に付する文書Pであり、文書暗号部15は、文書コードNを暗号化して暗号化文書コードN’を生成し、また文書Pを暗号化して暗号文Cを生成する。ここで、文書コードNは、文書Pを閲覧しようとするユーザが、その文書に対する閲覧権限を有しているか否かを判断するためのものである。文書コードNは、上記確認コードMと同様、任意の文字列、記号その他の識別子で構成できる。
【0023】
文書書き込み部16は、上記文書暗号部15で生成された暗号化文書コードN’、暗号文C及び後述するそれらのブロックサイズデータSP(以下これらを必要に応じて文書データという)を主記憶18上に配置するものである。上記文書データは先の鍵データ書き込み部13で書き込まれた鍵データに続いて、順次主記憶上にマッピングされる。すなわち、主記憶18上には、図で示すように、上記ユーザC用の暗号化共通復号鍵KYC’に続いて、順次、ブロックサイズデータSP、暗号化文書コードN’及び暗号文Cが配置される。なお、上記ブロックサイズデータSPは、上述したブロックサイズ算出部14によって生成される。
【0024】
データ保存部17は、主記憶18上に配置された上記データ、すなわち鍵データ書き込み部13によって書き込まれたブロックサイズデータSA〜SC、暗号化確認コードMA’〜MC’及び暗号化共通復号鍵KYA’〜KYC’、並びに文書書き込み部16によって書き込まれたブロックサイズデータSP、暗号化文書コードN’及び暗号文Cをその配列の順に従って1つのデータファイルFとして、サーバーのハードディスク上に保存する。なお、上記鍵書き込み部13によって書き込まれた鍵データと、上記文書書き込み部16によって書き込まれた文書データを、別のファイルに保存するようにすることもできる。この場合、鍵データを保存したデータファイルには、対応する文書データを保存したデータファイルへのリンク情報を含ませる。
【0025】
図2は、上記システムにおける暗号ファイルの生成手順を示すフローチャートである。以下、本図及び図1に沿って、暗号ファイルの生成手順について説明する。ファイル管理者が操作するコンピュータにおいて暗号ファイルの生成プログラムが起動されると、鍵設定部12によって文書Pを提供するユーザA用の暗号鍵KEAが、鍵暗号部11にセットされる(201)。鍵暗号部11は、この暗号鍵KEAを用いて、所定の確認コードMを暗号化し、暗号化確認コードMA’を生成する(202)。これに続いて、鍵暗号部11は、同じ暗号鍵KEAを用いて、共通復号鍵KYを暗号化し、暗号化共通復号鍵KYA’を生成する(203)。
【0026】
次に、ブロックサイズ算出部14によって、上記生成した暗号化確認コードMA’及び暗号化共通復号鍵KYA’の総バイト数が算出され、該バイト数を格納したブロックサイズデータSAが生成される(204)。そして、鍵データ書き込み部13によって、上記ブロックサイズデータSA、暗号化確認コードMA’及び暗号化共通復号鍵KYA’が主記憶18上の所定領域に書き込まれる(205)。
【0027】
上記ステップ201から205の処理は、対象となるユーザの数だけ繰り返される(206)。上記例では対象ユーザはユーザA〜Cであり、ユーザB及びユーザCについて上記処理が繰り返される。この場合において、鍵設定部12は鍵暗号部11に対し、ユーザB用のデータを生成するために暗号鍵KEBを、ユーザC用のデータを生成するために暗号鍵KECをそれぞれセットし、上記処理を実行する。
【0028】
上記処理により鍵データの生成が終わると、次に、文書暗号部15が起動される。文書暗号部15は、設定された共通暗号鍵KXを用いて、文書コードNを暗号化し、暗号化文書コードN’を生成する(207)。これに続いて、文書暗号部15は、同じく共通暗号鍵KXを用いて、文書Pを暗号化し、暗号文Cを生成する(208)。
【0029】
ブロックサイズ算出部14によって、上記生成した暗号化文書コードN’及び暗号文Cの総バイト数が算出され、該バイト数を格納したブロックサイズデータSPが生成される(209)。そして、文書書き込み部16によって、上記ブロックサイズデータSP、暗号化文書コードN’及び暗号文Cが主記憶18上の上記鍵データの後に書き込まれる(210)。
【0030】
これらの処理を経て、主記憶18上には、図1に示すように生成されたデータが配置される。そして、主記憶18上の該データは、データ保存部17によって、1つのデータファイルFとして、サーバー上に保存される(211)。以上により暗号化ファイルが生成される。
【0031】
図3は、図1のシステムにより暗号化された文書Pを閲覧するためのシステムの構成図である。暗号化ファイル閲覧装置30は、ユーザが操作するクライアントコンピュータ及びこの上で動作されるプログラムによって実現可能であり、その機能的な構成として、ファイル読み出し部31、鍵ブロック読み出し部32、鍵復号部33、確認コード判定部34、文書ブロック読み出し部35、文書復号部36、鍵設定部37、文書コード判定部38及び文書表示部39を備える。
【0032】
ファイル読み出し部31は、ユーザの指定したファイルを自クライアントの主記憶40上に読み出すための機能であり、これによって、サーバー上に格納した上記データファイルFが任意のユーザによってその主記憶上に展開される。鍵ブロック読み出し部32は、主記憶40上に展開されたデータファイルFからブロック単位での読み出しを可能とするもので、最初にデータファイルFの先頭にあるブロックサイズデータSAを読み出し、その値、すなわち以下に続く暗号化確認コードMA’と暗号化共通復号鍵KYA’の総バイト数をブロックサイズレジスタ41に保持する。鍵ブロック読み出し部32は、また、暗号化確認コードM’及び暗号化共通復号鍵KY’のブロックを順次読み出し、鍵復号部33へ与える。
【0033】
鍵復号部33は、暗号化確認コードM’を復号化して確認コードMを生成すると共に、暗号化共通復号鍵KY’を復号化して共通復号鍵KYを生成するものである。ここで、鍵復号部33において用いられる復号鍵KDは、各ユーザ毎に割り当てられたもの(この例ではユーザA、B、Cに対するKDA、KDB、KDC)が用いられる。従って、例えばユーザAが使用する復号鍵KDAを用いて、上記確認コード及び暗号文の復号を行った場合、それに対応した暗号鍵KEAによって暗号化された暗号化確認コードMA’及び暗号化共通復号鍵KYA’のみが正常に復号化される。
【0034】
確認コード判定部34は、鍵復号部33によって復号化された確認コードMが正常に復号化されているかどうかを判定するものである。確認コード判定部34は、復号化された確認コードMと予め設定された確認コードとを比較し、その結果に応じて上記鍵ブロック読み出し部32の読み出しブロックを制御する。確認コードを暗号化した鍵KEとそれを復号化する鍵KDが対応したものでない場合、正常な復号化は行われず、確認コード判定部34は不一致を出力する。これによって、該確認コードに続く暗号文Cが、これを閲覧をしようとしているユーザ以外のユーザに対し提供されたものであることが判断される。確認コード判定部34において、復号化された確認コードMが正常に復号化されたと判断された場合、確認コード判定部34は、ブロックサイズレジスタ41の値に従って、鍵ブロック読み出し部32に対し、続く暗号化共通復号鍵KY’を読み出し鍵復号部33へ与えるよう指示する。これに応じて鍵復号部33は、暗号化共通復号鍵KY’を復号化して、元の共通復号鍵KYを生成する。生成された共通復号鍵KYは、後述する鍵設定部37にセットされる。確認コード判定部34において、復号化された確認コードMが正常に復号化されなかったと判断された場合、確認コード判定部34は、ブロックサイズレジスタ41の値に従って、鍵ブロック読み出し部32に対し、続く暗号化共通復号鍵KY’を飛ばして、次のブロック、すなわちブロックサイズデータSBを読み出す。
【0035】
文書ブロック読み出し部35は、上記確認コード判定部34からの指令を受けて、主記憶40上に展開されたデータファイルFにおける文書データの各ブロックを読み出し可能とする。確認コード判定部34が確認コードの一致信号を出力した場合、文書ブロック読み出し部35は、ブロックサイズデータSPを読み出し、その値、すなわち以下に続く暗号化文書コードN’と暗号文Cの総バイト数をブロックサイズレジスタ42に保持する。文書ブロック読み出し部35は、また、暗号化文書コードN’及び暗号文Cのブロックを順次読み出し、文書復号部36へ与える。
【0036】
文書復号部36は、暗号化文書コードN’を復号化して文書コードNを生成すると共に、暗号文Cを復号化して文書Pを生成するものである。ここで、文書復号部36において用いられる復号鍵は、鍵設定部37にセットされる共通復号鍵KYである。共通復号鍵KYは、上記確認コード判定部34により確認コードが一致した場合に、上記鍵復号部33によって正常に復号化され、鍵設定部37にセットされる。
【0037】
文書コード判定部38は、文書復号部36によって復号化された文書コードNが正常に復号化されているかどうかを判定するものである。文書コード判定部38は、復号化された文書コードNと予め設定された文書コードNとを比較し、その結果に応じて上記文書ブロック読み出し部35の読み出しブロックを制御する。文書コードを暗号化した鍵KXとそれを復号化する鍵KYが対応したものでない場合、正常な復号化は行われず、文書コード判定部38は不一致を出力する。これによって、該文書コードに続く暗号文Cが、これを閲覧をしようとしているユーザ以外のユーザに対し提供されたものであることが判断される。文書コード判定部38において、復号化された文書コードNが正常に復号化されたと判断された場合、文書コード判定部38は、ブロックサイズレジスタ42の値に従って、文書ブロック読み出し部35に対し、続く暗号文Cを読み出し文書復号部36へ与えるよう指示する。これに応じて文書復号部36は、暗号文Cを復号化して、元の文書Pを生成する。
【0038】
文書表示部39は、上記復号化された文書Pをユーザが閲覧可能なように表示する機能である。上記操作を行うユーザが、提供された文書Pに対し閲覧権限を有している場合、文書表示部39によって、クライアントのディスプレイ上に対象文書が表示される。
【0039】
図4及び図5は、上記システムにおける暗号ファイルの閲覧手順を示すフローチャートである。以下、本図及び図3に沿って、復号鍵KDBを有する任意のユーザBが、暗号ファイルを閲覧する手順について説明する。ユーザBが操作するクライアントコンピュータにおいて暗号ファイルの閲覧プログラムが起動され、サーバ上のデータファイルFが指定されると、ファイル読み出し部31によって該クライアントの主記憶40の所定エリアにデータファイルFが展開される(401)。鍵ブロック読み出し部32によって、該データファイルFの先頭ブロックであるブロックサイズデータSAが読み出され(402)、ブロックサイズレジスタ41へ格納される(403)。次いで、次のブロックにある暗号化確認コードMA’が読み出され、鍵復号部33へ送られる。鍵復号部33では、ユーザBに割り当てられた復号鍵KDBによって、この暗号化確認コードMA’が復号化される(404)。
【0040】
次に、この符号化された確認コードは、確認コード判定部34によって正しいものか判定される(405)。しかし、この暗号化確認コードMA’は、ユーザA用の暗号鍵KEAで暗号化されているので、復号鍵KDBでは正しく復号化できない。そのため、処理はステップ406に移り、確認コード判定部34によってブロックサイズレジスタ41内の値に従って、次に読み出すブロックを指標するポインタを次のブロックサイズデータSBの先頭アドレスに移動する。
【0041】
上記ポインタの移動によって、鍵ブロック読み出し部32は、次にブロックサイズデータSBを読み出し(402)、ブロックサイズレジスタ41へ格納する(403)。次いで、次のブロックにある暗号化確認コードMB’が読み出され、鍵復号部33へ送られる。鍵復号部33では、ユーザBに割り当てられた復号鍵KDBによって、この暗号化確認コードMB’が復号化される(404)。上記処理と同様に、復号化された確認コードは、確認コード判定部34によって正しいものか判定されるが(405)、今度は、暗号化確認コードMB’は、ユーザB用の暗号鍵KEBで暗号化されているので、復号鍵KDBで正しく復号化される。これによって、処理はステップ407へ移される。
【0042】
ステップ407では、ブロックサイズレジスタ41の値に従って、暗号化共通復号鍵KYB’のサイズが確認される。鍵ブロック読み出し部32は、確認されたサイズに従って、暗号化共通復号鍵KYB’を読み出し、鍵復号部33へ送る。鍵復号部33は、暗号化共通復号鍵KYB’を上記ユーザBに割り当てられた復号鍵KDBで復号化する(408)。これによって正常に共通復号鍵KYが復号化される。復号化された共通復号鍵KYは、文書復号部36の鍵設定部37にセットされる(409)。
【0043】
次に、文書ブロック読み出し部35は、文書データの最初のブロックにあるブロックサイズデータSPを読み出し(図5の501)、その値をブロックサイズレジスタ42へ格納する(502)。次いで、次のブロックにある暗号化文書コードN’が読み出され、文書復号部36へ送られる。文書復号部36では、上記設定された共通復号鍵KYによって、この暗号化文書コードN’が復号化される(503)。
【0044】
次に、この符号化された文書コードは、文書コード判定部38によって正しいものか判定される(504)。鍵設定部37にセットされた復号鍵が正しくない場合、暗号化文書コードN’は、正しく復号化できない。この場合、文書Pが復号化されることなく処理は終了する。鍵設定部37にセットされた鍵が復号鍵KYである場合、暗号化文書コードN’は、共通暗号鍵KXで暗号化されているので、復号鍵KYで正しく復号化される。これによって、処理はステップ505へ移される。
【0045】
ステップ505では、ブロックサイズレジスタ42の値に従って、暗号文Cのサイズが確認される。文書ブロック読み出し部35は、確認されたサイズに従って、暗号文Cを読み出し、これを文書復号部36へ送る。文書復号部36は、暗号文Cを設定された共通復号鍵KYで復号化する(506)。これによって正常に暗号文Cが復号化され、元の文書Pが得られる。復号化された文書Pは、文書表示部39によって、ディスプレイ上に表示され、ユーザBが閲覧可能となる。
【0046】
同様にして、ユーザA及びCも、自クライアント上で上記プログラムを実行し、同じデータファイルFにアクセスすることにより、目的の文書Pを閲覧可能となる。一方で、文書Pの閲覧権限を有していないユーザ(例えば、暗号鍵KEDに対する復号鍵KDDを有するユーザD)が、上記データファイルFにアクセスした場合、確認コード判定部34において確認コードが正しく復号されないと判断される。この結果、何れの暗号文も閲覧することができない。このような場合、データファイルFの最終ブロックに、「閲覧権限がありません」等の閲覧権限を有していないユーザに対するメッセージを格納し、これを表示するよう構成することもできる。
【0047】
次に、本発明の他の実施形態について説明する。本実施形態においては、基本的に、先の実施形態で用いられる暗号化ファイル生成装置10及び暗号化ファイル閲覧装置30が用いられる。本実施形態における暗号化ファイルの生成及び閲覧では、異なるセキュリティレベル(例えば、役員、社内特定部門及び一般社員)毎に、異なる共通鍵KX及びKYを使い分ける。これによって、単一のデータファイル内に、同一テーマであるが(各セキュリティレベルに合わせた)内容の異なる複数の文書を含め、対応するセキュリティレベルにあるユーザのみが対象文書を閲覧できるようにする。
【0048】
図6には、本実施形態に従う暗号化ファイル生成装置によって生成されたデータファイルFが示されている。データファイルFには、その下部に、内容の異なる3つの暗号文C1〜C3が含まれており、これらは、異なる共通暗号鍵KX1〜KX3で暗号化されている。すなわち、暗号文C1は、第1のセキュリティレベル(例えば役員レベル。以下、レベル1)に属するユーザA及びBに対し提供された文書P1を、該レベルに対し割り当てられた共通暗号鍵KX1で暗号化したものであり、暗号文C2は、第2のセキュリティレベル(例えば、特定部門レベル。以下、レベル2)に属するユーザC及びDに対し提供された文書P2を、該レベルに対し割り当てられた共通暗号鍵KX2で暗号化したものであり、また、暗号文C3は、第3のセキュリティレベル(例えば、一般社員レベル。以下、レベル3)に属するユーザE、F及びGに対し提供された文書P3を、該レベルに対し割り当てられた共通暗号鍵KX3で暗号化したものである。なお、各暗号文の上位には、対応する共通暗号鍵で暗号化された文書コードN、すなわち暗号化文書コードN1’〜N3’及びブロックサイズデータSP1〜SP3が格納される。
【0049】
データファイルFの上部には、各ユーザA〜Gがそれぞれアクセスする7つのブロックが存在し、各ブロックには、各ユーザの所属するレベルに割り当てられた共通復号鍵KY1〜KY3を、そのユーザに割り当てられた暗号鍵KEA〜KEGで暗号化したものが格納される。例えば、ユーザAはレベル1に属しているので、対応するレベルの共通復号鍵KY1を、その暗号鍵KEAで暗号化したもの、すなわち暗号化共通鍵KY1A’がユーザA用のものとして格納される。また、ユーザCはレベル2に属しているので、対応するレベルの共通復号鍵KY2を、その暗号鍵KECで暗号化したもの、すなわち暗号化共通復号鍵KY2C’がユーザC用のものとして格納される。そして各暗号化共通復号鍵の上位には、対応する共通暗号鍵で暗号化された確認コードM、すなわち暗号化確認コードM1’〜M3’及びブロックサイズデータSA〜SGが格納される。
【0050】
上記生成されたデータファイルFは、先の実施形態で示した暗号化ファイル閲覧装置30によって閲覧可能となる。すなわち、図4及び図5の手順に従って、各ユーザA〜Gは、自己の復号鍵KDA〜KDGをそれぞれ用いることにより、そのセキュリティレベルに対応した共通復号鍵KY1〜KY3を正しく復号可能であり、該復号化された共通復号鍵KY1〜KY3を用いてそれぞれに提供された文書P1〜P3を、正しく復号化し、その閲覧が可能である。一方で、ユーザが、他のセキュリティレベルのユーザに対し提供された文書(例えば、レベル3にあるユーザEに対する文書C1)を正しく復号化することはできず、よってそのセキュリティが保証される。
【0051】
以上、本発明の一実施形態を図面に沿って説明した。しかしながら本発明は上記実施形態に示した事項に限定されず、特許請求の範囲の記載に基いてその変更、改良等が可能であることは明らかである。本発明で用いることのできる暗号アルゴリズムには特に制限はなく、各種の暗号方式(それが対称鍵暗号方式であるか非対称鍵暗号方式であるか、ストリーム暗号方式であるかブロック暗号方式であるか等を問わない)を用いることができる。
【0052】
本発明の方法は、コンピュータネットワーク環境において好適に用いられるが、該ネットワークはローカル(例えば社内LAN)なものでも、広域的なもの(例えばインターネット)でも良い。また、暗号化される情報は、文書に限らず、画像、音声又はこれらと文書を混在したもので良く、また関連する複数の情報を1つのデータファイルとして保存しても良い。また、本方法は特定のユーザに対する商品カタログの配信に用いることができ、この場合、該特定ユーザ毎に異なる暗号鍵を用いて商品キーその他の秘匿情報を商品カタログの配送と共に配送するようにすることができる。
【0053】
本発明の方法は、基本的には、コンピュータ及びその上で動作されるプログラムによって実現することができるが、ネットワーク間で送受される情報の表示インタフェースとなるプログラム(例えば、インターネットのWWWブラウザ)に所定の機能を追加する形(いわゆるプラグイン)で実現しても良い。
【0054】
また、上記実施形態では作成するデータファイルの上部に鍵データを、下部に文書データを配置した例を示した。しかしながら、文書データが短いものである等の場合には、各ユーザ毎の鍵データ内にこれを記録するようにしても良い。更に、特定のユーザに対しては、上記暗号化共通復号鍵を配置するブロックに、該ユーザに割り当てられた暗号鍵(例えば、KEA)を用いて文書データを暗号化したものを配置するよう構成しても良い。この場合、該ブロックに納められたデータが暗号化共通復号鍵であるか文書データであるかを識別するために、確認コードを2種類用意し、確認コード判定部においてこれを識別するようにすれば良い。
【0055】
【発明の効果】
以上の如く本発明によれば、複数のユーザに提供する同一又は関連する情報のファイルを暗号化した状態で1つにまとめることができ、蓄積する情報の管理が容易であるという利点がある。また、この場合にユーザ側及び管理者側において暗号及び復号のための鍵の管理が容易である。
【0056】
更に、データファイル内には共通暗号鍵によって暗号化された1つの文書を格納すれば良いので、ファイルサイズを最小限に抑えることができる。
【0057】
また、判定用コードを用いて正しく復号化が行われるかを被閲覧情報の復号化に先立って判断することによって、容易且つ迅速にユーザが該情報に対する閲覧権限を有しているか否かが判断できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る暗号化ファイルの作成方法を実現するシステム構成図である。
【図2】図1のシステムにおける暗号ファイルの生成手順を示すフローチャートである。
【図3】図1のシステムにより暗号化された文書を閲覧するためのシステム構成図である。
【図4】図3のシステムにおける暗号ファイルの閲覧手順を示すフローチャートである。
【図5】図3のシステムにおける暗号ファイルの閲覧手順を示すフローチャートである。
【図6】本発明の他の実施形態に従う暗号化ファイル生成装置によって生成されたデータファイルを示す図である。
【図7】従来の暗号化ファイルの作成方法を実現するシステム構成図である。
【図8】従来の暗号化ファイルの閲覧方法を実現するシステム構成図である。
【符号の説明】
KX 共通暗号鍵
KYA’〜KYC’ 暗号化共通復号鍵
KDA〜KDC 復号鍵
KEA〜KEC 暗号鍵
P 文書
C 暗号文
M 確認コード
MA’〜MC’ 暗号化確認コード
N 文書コード
N’ 暗号化文書コード
SA〜SC ブロックサイズデータ
SP ブロックサイズデータ
F データファイル
10 暗号化ファイル生成装置
11 鍵暗号部
12 鍵設定部
13 鍵データ書き込み部部
14 ブロックサイズ算出部
15 文書暗号部
16 文書書き込み部
17 データ保存部
18 主記憶
30 暗号化ファイル閲覧装置
31 ファイル読み出し部
32 鍵ブロック読み出し部
33 鍵復号部
34 確認コード判定部
35 文書ブロック読み出し部
36 文書復号部
37 鍵設定部
38 文書コード判定部
39 文書表示部
40 主記憶
41、42 ブロックサイズレジスタ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data file generation method and a browsing method using a common key used by a plurality of viewers having different decryption keys.
[0002]
[Prior art]
In recent years, information sharing environments using computer networks have rapidly spread. By storing documents and other information to be shared on a network server and accessing them from a large number of clients, the management and use efficiency of the information is greatly improved. In such an environment, there is a demand to limit users who can view specific information. For example, in an in-house network environment, it is necessary to configure so that a target document can be viewed only by a specific officer, only by a specific department, or only by a specific employee.
[0003]
In order to meet this type of request, there is a method in which target information is encrypted using an information encryption technique, and only a person having a decryption key corresponding to this encryption can view it.
[0004]
One of the conventional methods using encryption technology is to set a security level that limits the viewers, encrypt the target information with a different key for each security level, and only those who have the decryption key for it. The target information can be browsed.
[0005]
However, in this method of setting a key for each security level, in order to allow a specific user to view information on a plurality of security levels, a plurality of keys must be managed. On the side, key management becomes complicated. For example, in the in-house network, it is necessary to distribute the keys corresponding to the officer level and the division level to be supervised to the officers, and use them appropriately as necessary. In addition, it is difficult to provide information to a group of users who do not follow a preset security level, and there is a problem that the degree of freedom for selecting a person to be viewed is low.
[0006]
Another conventional method using an encryption technique is to set an individual decryption key for each user and encrypt information with an encryption key corresponding to the decryption key for each target user of information. 7 and 8 show a conventional encrypted file creation and browsing system according to the above method. First, a method of encrypting and providing the document P having the same contents to the users A to C in the conventional encrypted file creation method will be described with reference to FIG. As shown in the figure, unique encryption keys KEA, KEB, and KEC are determined in advance for each of the users A to C, and the document P is encrypted using each encryption key KE, and ciphertexts CA to CC are obtained. Is generated. That is, the system encrypts the document P for the user A using the encryption key KEA in the encryption unit 70, and generates the document CA on the main memory. The writing unit 71 stores the document CA on the main memory as one data file on the hard disk of the server. Similarly, a ciphertext CB for user B is generated using the encryption key KEB, and a ciphertext CC for user C is generated using the encryption key KEC, and stored as a data file on the server.
[0007]
As shown in FIG. 8, the ciphertexts CA to CC are decrypted by using the decryption keys KDA to KDC in the clients operated by the users A to C. That is, the user A reads the ciphertext CA from the main memory of the client, and the decryption unit 81 decrypts the ciphertext CA using the decryption key KDA corresponding to the encryption key KEA to obtain the original document P. . Similarly, in the clients of user B and user C, the ciphertexts CB and CC are decrypted using the decryption keys KDB and KDC, respectively.
[0008]
[Problems to be solved by the invention]
However, according to the above conventional method, although the key management on the user side and the administrator side becomes easy, as in the above example, when there are a plurality of users who can view the same document, Since as many data files as the number of users are created, there is a possibility that the number of files stored on the server may become enormous, which causes a management problem.
[0009]
Accordingly, an object of the present invention is to provide an encrypted file generation method and a browsing method that can easily manage an encrypted document and a key necessary for the encryption.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides a method for generating a data file used by a plurality of viewers having different decryption keys, and a procedure for encrypting at least one browsed information with a predetermined common encryption key; A procedure for encrypting a common decryption key corresponding to the predetermined common encryption key with an encryption key corresponding to the different decryption key, the encrypted browsed information, and the plurality of encrypted common decryption keys And a procedure for storing the key as at least one data file.
[0011]
In addition, the method for generating the encrypted file includes a step of encrypting a predetermined determination code with an encryption key corresponding to the different decryption key and the same key for each encrypted common decryption key. A procedure for associating the encrypted determination codes with each other, wherein the storing procedure includes the encrypted browsed information and the plurality of encrypted common decryption keys together with the determination code. It is preferable to save the data file.
[0012]
The method for generating the encrypted file further includes a procedure for generating position information for specifying a position of at least the encrypted browsed information in the data file, and the storing procedure is the encrypted file. The browsed information is preferably stored as a data file together with the position information.
[0013]
The present invention is also a method for browsing an encrypted file generated by the above method, the procedure for loading the data file onto the main memory, and a plurality of encrypted common decryption keys in the data file. A procedure for sequentially decrypting with the decryption key possessed by the viewer, a procedure for sequentially determining whether or not the decrypted common decryption key is correctly decrypted with the common decryption key before encryption, and a correct decryption The encrypted common decryption key is used to decrypt the encrypted browsed information, and the decrypted browsed information is displayed to the viewer.
[0014]
In addition, the method for browsing the encrypted file further includes a step of sequentially decrypting the plurality of encrypted determination codes with a decryption key possessed by the viewer, and the step of determining is decrypted. By sequentially comparing the determination code with the determination code before encryption to determine whether or not the decrypted common decryption key is correctly decrypted with the common decryption key before encryption. It is preferable that
[0015]
In the encrypted file browsing method, it is preferable that the procedure for decrypting the browsed information further includes a procedure for extracting the browsed information from the data file based on the position information.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in detail based on the illustrated embodiment. FIG. 1 is a system configuration diagram for realizing a method for creating an encrypted file according to an embodiment of the present invention. Basically, one document to be provided is encrypted with a predetermined common encryption key by this creation method. At the same time, the common decryption key corresponding to the common encryption key is encrypted using the encryption key set for each user. The encrypted document and each common decryption key are collected and stored in one data file.
[0017]
In FIG. 1, the encrypted file generation apparatus 10 can be realized by a computer operated by a file manager and a program operated on the computer, and as a functional configuration thereof, a key encryption unit 11, a key setting unit 12, A key / key data writing unit 13, a block size calculation unit 14, a document encryption unit 15, a document writing unit 16, and a data storage unit 17 are provided.
[0018]
The key encryption unit 11 encrypts input data by a predetermined algorithm using the encryption key KE set by the key setting unit 12. The data input to the key encryption unit 11 is the confirmation code M and the common decryption key KY. The key encryption unit 11 encrypts the confirmation code M to generate an encrypted confirmation code M ′, and the common decryption key KY. Is encrypted to generate an encrypted common decryption key KY ′. Here, the confirmation code M is used to determine whether or not the user who wants to view the document P has the authority to use the common decryption key KY. The confirmation code M may be any character string, symbol or other identifier, but a hash value or other message digest generated based on the document P may be used as the confirmation code M. A method for determining the viewing authority using the confirmation code M will be described later. The common decryption key KY corresponds to the common encryption key KX used for encrypting the document P to be browsed, and is a key for correctly decrypting the document P encrypted with the common encryption key KX. It is.
[0019]
The key setting unit 12 is for setting the encryption key KE used in the key encryption unit 11. In the example shown in the figure, the key setting unit 12 has encryption keys KEA, KDA, KDB, and KDC corresponding to the decryption keys KDA, KDB, and KDC distributed in advance to users A, B, and C who have the viewing authority for the document P to be encrypted. KEB and KEC are sequentially set as keys used in the key encryption unit 11. Thereby, the key encryption unit 11 generates the encryption confirmation code MA ′ and the encrypted common decryption key KYA ′ encrypted with the encryption key KEA as the data for the user A, and the encryption is performed as the data for the user B. An encryption confirmation code MB ′ encrypted with the key KEB and an encryption common decryption key KYB ′ are generated, and the encryption confirmation code MC ′ encrypted with the encryption key KEC and the encryption common are generated as data for the user C. A decryption key KYC ′ is generated.
[0020]
The key data writing unit 13 arranges the encryption confirmation code M ′ generated by the key encryption unit 11, the encrypted common decryption key KY ′, and their block size data S described later on the main memory 18. . As shown in the figure, each of the above data is collected for each user and sequentially mapped onto the main memory (hereinafter, these data are referred to as key data as necessary). That is, the block size data SA, the encryption confirmation code MA ′, and the encrypted common decryption key KYA ′ are successively arranged on the main memory 18 as the key data for the user A, and subsequently the key for the user B. As data, block size data SB, encryption confirmation code MB ′ and encrypted common decryption key KYB ′ are arranged in succession, and subsequently, block size data SC and encryption confirmation code MC ′ as key data for user C. The encrypted common decryption key KYC ′ is continuously arranged.
[0021]
The block size calculation unit 14 sums up the encryption confirmation code M ′ and the encryption common decryption key KY ′ input to the key data writing unit 13 for each output of the key encryption unit 11 using the encryption keys KEA to KEC. The number of bytes is calculated, and the block size data S storing the number of bytes is output to the key data writing unit 13. In this embodiment, three block size data SA, SB and SC are generated for each user A, B and C. The block size data SA to SC generated as described above are arranged on the main memory 18 by the key data writing unit 13 together with the encryption confirmation code M ′ and the encryption common decryption key KY ′. The block size calculation unit 14 also calculates the total number of bytes of an encrypted document code N ′ and ciphertext C, which will be described later, and outputs the block size data SP storing the number of bytes to the key data writing unit 13. The generated block size data SP is arranged in an area following the data written by the key data writing unit 13 on the main memory 18 together with the encrypted document code N ′ and the ciphertext C by the document writing unit 16 described later. Is done.
[0022]
The document encryption unit 15 encrypts input data by a predetermined algorithm using the common encryption key KX. Data input to the document encryption unit 15 is a document code N and a document P to be browsed. The document encryption unit 15 encrypts the document code N to generate an encrypted document code N ′, and the document P Is encrypted to generate a ciphertext C. Here, the document code N is for determining whether or not the user who wants to browse the document P has the viewing authority for the document. The document code N can be composed of an arbitrary character string, symbol, or other identifier as in the case of the confirmation code M.
[0023]
The document writing unit 16 stores the encrypted document code N ′ generated by the document encryption unit 15, the ciphertext C, and block size data SP described later (hereinafter referred to as document data as necessary) in the main memory 18. It is to be placed on top. The document data is sequentially mapped onto the main memory following the key data written by the previous key data writing unit 13. That is, on the main memory 18, as shown in the figure, the block size data SP, the encrypted document code N ', and the ciphertext C are sequentially arranged following the encrypted common decryption key KYC' for the user C. Is done. The block size data SP is generated by the block size calculation unit 14 described above.
[0024]
The data storage unit 17 stores the data arranged on the main memory 18, that is, the block size data SA to SC written by the key data writing unit 13, the encryption confirmation codes MA ′ to MC ′, and the encrypted common decryption key KYA. '˜KYC' and the block size data SP, encrypted document code N ′ and ciphertext C written by the document writing unit 16 are stored as one data file F on the hard disk of the server in the order of the arrangement. Note that the key data written by the key writing unit 13 and the document data written by the document writing unit 16 may be stored in separate files. In this case, the data file storing the key data includes link information to the data file storing the corresponding document data.
[0025]
FIG. 2 is a flowchart showing an encryption file generation procedure in the system. The encryption file generation procedure will be described below with reference to FIG. 1 and FIG. When the encryption file generation program is started on the computer operated by the file manager, the key setting unit 12 sets the encryption key KEA for the user A that provides the document P in the key encryption unit 11 (201). The key encryption unit 11 encrypts a predetermined confirmation code M using the encryption key KEA, and generates an encryption confirmation code MA ′ (202). Following this, the key encryption unit 11 encrypts the common decryption key KY using the same encryption key KEA, and generates an encrypted common decryption key KYA ′ (203).
[0026]
Next, the block size calculation unit 14 calculates the total number of bytes of the generated encryption confirmation code MA ′ and the encrypted common decryption key KYA ′, and generates block size data SA storing the number of bytes ( 204). The key data writing unit 13 writes the block size data SA, the encryption confirmation code MA ′, and the encrypted common decryption key KYA ′ in a predetermined area on the main memory 18 (205).
[0027]
The processes in steps 201 to 205 are repeated by the number of target users (206). In the above example, the target users are users A to C, and the above process is repeated for user B and user C. In this case, the key setting unit 12 sets the encryption key KEB for generating the data for the user B and the encryption key KEC for generating the data for the user C, respectively. Execute the process.
[0028]
When the generation of the key data is completed by the above processing, the document encryption unit 15 is activated next. The document encryption unit 15 encrypts the document code N using the set common encryption key KX, and generates an encrypted document code N ′ (207). Subsequently, the document encryption unit 15 encrypts the document P using the common encryption key KX, and generates a ciphertext C (208).
[0029]
The block size calculation unit 14 calculates the total number of bytes of the generated encrypted document code N ′ and ciphertext C, and generates block size data SP storing the number of bytes (209). Then, the document writing unit 16 writes the block size data SP, the encrypted document code N ′, and the ciphertext C after the key data on the main memory 18 (210).
[0030]
Through these processes, the generated data is arranged on the main memory 18 as shown in FIG. Then, the data on the main memory 18 is stored on the server as one data file F by the data storage unit 17 (211). Thus, an encrypted file is generated.
[0031]
FIG. 3 is a configuration diagram of a system for browsing the document P encrypted by the system of FIG. The encrypted file browsing device 30 can be realized by a client computer operated by a user and a program operated on the client computer. As a functional configuration thereof, a file reading unit 31, a key block reading unit 32, and a key decrypting unit 33 are provided. A confirmation code determination unit 34, a document block reading unit 35, a document decryption unit 36, a key setting unit 37, a document code determination unit 38, and a document display unit 39.
[0032]
The file reading unit 31 is a function for reading a file designated by the user onto the main memory 40 of the own client, whereby the data file F stored on the server is expanded on the main memory by an arbitrary user. Is done. The key block reading unit 32 enables reading in units of blocks from the data file F expanded on the main memory 40. First, the block size data SA at the head of the data file F is read, and the value, That is, the block size register 41 holds the total number of bytes of the encryption confirmation code MA ′ and the encrypted common decryption key KYA ′ that follow. The key block reading unit 32 sequentially reads out the blocks of the encryption confirmation code M ′ and the encrypted common decryption key KY ′, and gives them to the key decryption unit 33.
[0033]
The key decryption unit 33 decrypts the encryption confirmation code M ′ to generate the confirmation code M, and decrypts the encrypted common decryption key KY ′ to generate the common decryption key KY. Here, the decryption key KD used in the key decryption unit 33 is assigned to each user (in this example, KDA, KDB, KDC for the users A, B, and C). Therefore, for example, when the confirmation code and the ciphertext are decrypted using the decryption key KDA used by the user A, the encrypted confirmation code MA ′ and the encrypted common decryption encrypted with the corresponding encryption key KEA. Only the key KYA 'is successfully decrypted.
[0034]
The confirmation code determination unit 34 determines whether or not the confirmation code M decrypted by the key decryption unit 33 is normally decrypted. The confirmation code determination unit 34 compares the decrypted confirmation code M with a preset confirmation code, and controls the reading block of the key block reading unit 32 according to the result. If the key KE that encrypts the confirmation code does not correspond to the key KD that decrypts the confirmation code, normal decryption is not performed, and the confirmation code determination unit 34 outputs a mismatch. As a result, it is determined that the ciphertext C following the confirmation code is provided to a user other than the user who intends to view it. When the confirmation code determination unit 34 determines that the decrypted confirmation code M has been successfully decrypted, the confirmation code determination unit 34 continues to the key block reading unit 32 according to the value of the block size register 41. An instruction to give the encrypted common decryption key KY ′ to the read key decryption unit 33 is given. In response to this, the key decryption unit 33 decrypts the encrypted common decryption key KY ′ to generate the original common decryption key KY. The generated common decryption key KY is set in a key setting unit 37 described later. When the confirmation code determination unit 34 determines that the decrypted confirmation code M has not been decrypted normally, the confirmation code determination unit 34 determines whether the decryption confirmation code M is normally decrypted or not according to the value of the block size register 41. The subsequent encrypted common decryption key KY ′ is skipped, and the next block, that is, the block size data SB is read.
[0035]
Upon receiving a command from the confirmation code determination unit 34, the document block reading unit 35 can read each block of document data in the data file F expanded on the main memory 40. When the confirmation code determination unit 34 outputs a coincidence signal of the confirmation code, the document block reading unit 35 reads the block size data SP, and the value, that is, the following encrypted document code N ′ and the total bytes of the ciphertext C The number is held in the block size register 42. The document block reading unit 35 sequentially reads the encrypted document code N ′ and the block of the ciphertext C and supplies them to the document decryption unit 36.
[0036]
The document decryption unit 36 decrypts the encrypted document code N ′ to generate the document code N, and decrypts the ciphertext C to generate the document P. Here, the decryption key used in the document decryption unit 36 is the common decryption key KY set in the key setting unit 37. The common decryption key KY is normally decrypted by the key decryption unit 33 and set in the key setting unit 37 when the confirmation code determination unit 34 matches the confirmation code.
[0037]
The document code determination unit 38 determines whether or not the document code N decrypted by the document decryption unit 36 is normally decrypted. The document code determination unit 38 compares the decrypted document code N with a preset document code N, and controls the reading block of the document block reading unit 35 according to the result. If the key KX for encrypting the document code and the key KY for decrypting the document code do not correspond to each other, normal decryption is not performed, and the document code determination unit 38 outputs a mismatch. As a result, it is determined that the ciphertext C following the document code is provided to a user other than the user who intends to view it. When the document code determination unit 38 determines that the decrypted document code N has been successfully decoded, the document code determination unit 38 continues to the document block reading unit 35 according to the value of the block size register 42. An instruction is given to read the ciphertext C to the document decryption unit 36. In response to this, the document decryption unit 36 decrypts the ciphertext C and generates the original document P.
[0038]
The document display unit 39 has a function of displaying the decrypted document P so that the user can view it. When the user who performs the above operation has the viewing authority for the provided document P, the document display unit 39 displays the target document on the display of the client.
[0039]
4 and 5 are flowcharts showing the browsing procedure of the encrypted file in the system. Hereinafter, a procedure for an arbitrary user B having the decryption key KDB to browse the encrypted file will be described with reference to FIGS. When the encryption file browsing program is started on the client computer operated by the user B and the data file F on the server is designated, the file reading unit 31 expands the data file F in a predetermined area of the main memory 40 of the client. (401). The block size data SA which is the first block of the data file F is read by the key block reading unit 32 (402) and stored in the block size register 41 (403). Next, the encryption confirmation code MA ′ in the next block is read and sent to the key decryption unit 33. The key decryption unit 33 decrypts the encryption confirmation code MA ′ with the decryption key KDB assigned to the user B (404).
[0040]
Next, it is determined whether the encoded confirmation code is correct by the confirmation code determination unit 34 (405). However, since this encryption confirmation code MA ′ is encrypted with the encryption key KEA for user A, it cannot be correctly decrypted with the decryption key KDB. Therefore, the process moves to step 406, and the pointer indicating the next block to be read is moved to the head address of the next block size data SB according to the value in the block size register 41 by the confirmation code determination unit 34.
[0041]
By moving the pointer, the key block reading unit 32 next reads the block size data SB (402) and stores it in the block size register 41 (403). Next, the encryption confirmation code MB ′ in the next block is read and sent to the key decryption unit 33. The key decryption unit 33 decrypts the encryption confirmation code MB ′ with the decryption key KDB assigned to the user B (404). Similar to the above process, the decrypted confirmation code is determined by the confirmation code determination unit 34 (405), but this time the encrypted confirmation code MB ′ is the user B encryption key KEB. Since it is encrypted, it is correctly decrypted with the decryption key KDB. As a result, the process proceeds to step 407.
[0042]
In step 407, the size of the encrypted common decryption key KYB 'is confirmed according to the value of the block size register 41. The key block reading unit 32 reads the encrypted common decryption key KYB ′ according to the confirmed size and sends it to the key decryption unit 33. The key decryption unit 33 decrypts the encrypted common decryption key KYB ′ with the decryption key KDB assigned to the user B (408). As a result, the common decryption key KY is normally decrypted. The decrypted common decryption key KY is set in the key setting unit 37 of the document decryption unit 36 (409).
[0043]
Next, the document block reading unit 35 reads the block size data SP in the first block of the document data (501 in FIG. 5) and stores the value in the block size register 42 (502). Next, the encrypted document code N ′ in the next block is read and sent to the document decryption unit 36. The document decrypting unit 36 decrypts the encrypted document code N ′ with the set common decryption key KY (503).
[0044]
Next, it is determined whether or not the encoded document code is correct by the document code determination unit 38 (504). If the decryption key set in the key setting unit 37 is not correct, the encrypted document code N ′ cannot be decrypted correctly. In this case, the process ends without the document P being decrypted. When the key set in the key setting unit 37 is the decryption key KY, since the encrypted document code N ′ is encrypted with the common encryption key KX, it is correctly decrypted with the decryption key KY. As a result, the process proceeds to step 505.
[0045]
In step 505, the size of the ciphertext C is confirmed according to the value of the block size register 42. The document block reading unit 35 reads the ciphertext C according to the confirmed size and sends it to the document decryption unit 36. The document decryption unit 36 decrypts the ciphertext C with the set common decryption key KY (506). As a result, the ciphertext C is normally decrypted, and the original document P is obtained. The decrypted document P is displayed on the display by the document display unit 39 so that the user B can view it.
[0046]
Similarly, the users A and C can browse the target document P by executing the program on their own clients and accessing the same data file F. On the other hand, when the user who does not have the authority to view the document P (for example, the user D who has the decryption key KDD with respect to the encryption key KED) accesses the data file F, the confirmation code in the confirmation code determination unit 34 is correct. It is determined not to be decrypted. As a result, any ciphertext cannot be browsed. In such a case, a message for a user who does not have browsing authority such as “no browsing authority” may be stored in the final block of the data file F and displayed.
[0047]
Next, another embodiment of the present invention will be described. In the present embodiment, basically, the encrypted file generation device 10 and the encrypted file browsing device 30 used in the previous embodiment are used. In the generation and browsing of the encrypted file in the present embodiment, different common keys KX and KY are used separately for different security levels (for example, officers, internal specific departments and general employees). As a result, a single data file can include a plurality of documents with the same theme but different contents (according to each security level), and only a user at the corresponding security level can view the target document. .
[0048]
FIG. 6 shows a data file F generated by the encrypted file generation device according to the present embodiment. The lower part of the data file F includes three ciphertexts C1 to C3 having different contents, and these are encrypted with different common encryption keys KX1 to KX3. That is, the ciphertext C1 encrypts the document P1 provided to the users A and B belonging to the first security level (for example, officer level; hereinafter, level 1) with the common encryption key KX1 assigned to the level. The ciphertext C2 is assigned to the document P2 provided to the users C and D belonging to the second security level (for example, the specific department level; hereinafter, level 2). The ciphertext C3 is a document provided to users E, F, and G belonging to the third security level (for example, general employee level; hereinafter, level 3). P3 is encrypted with the common encryption key KX3 assigned to the level. A document code N encrypted with a corresponding common encryption key, that is, encrypted document codes N1 ′ to N3 ′ and block size data SP1 to SP3 are stored above each ciphertext.
[0049]
At the top of the data file F, there are seven blocks to be accessed by each of the users A to G. In each block, the common decryption keys KY1 to KY3 assigned to the level to which each user belongs are assigned to that user. The one encrypted with the assigned encryption keys KEA to KEG is stored. For example, since user A belongs to level 1, the corresponding level common decryption key KY1 is encrypted with the encryption key KEA, that is, the encrypted common key KY1A 'is stored for user A. . Since user C belongs to level 2, the corresponding level common decryption key KY2 is encrypted with the encryption key KEC, that is, the encrypted common decryption key KY2C ′ is stored for user C. The The confirmation code M encrypted with the corresponding common encryption key, that is, the encryption confirmation codes M1 ′ to M3 ′ and the block size data SA to SG are stored above each encrypted common decryption key.
[0050]
The generated data file F can be browsed by the encrypted file browsing apparatus 30 shown in the previous embodiment. That is, according to the procedures of FIGS. 4 and 5, each user A to G can correctly decrypt the common decryption keys KY1 to KY3 corresponding to the security level by using their own decryption keys KDA to KDG, respectively. Documents P1 to P3 provided respectively using the decrypted common decryption keys KY1 to KY3 can be correctly decrypted and viewed. On the other hand, the user cannot correctly decrypt a document provided to a user of another security level (for example, the document C1 for the user E at the level 3), so that the security is guaranteed.
[0051]
The embodiment of the present invention has been described with reference to the drawings. However, the present invention is not limited to the matters shown in the above-described embodiments, and it is obvious that changes, improvements, and the like can be made based on the description of the scope of claims. The encryption algorithm that can be used in the present invention is not particularly limited, and various encryption methods (whether it is a symmetric key encryption method, an asymmetric key encryption method, a stream encryption method, or a block encryption method) Etc.) can be used.
[0052]
Although the method of the present invention is preferably used in a computer network environment, the network may be local (for example, an in-house LAN) or wide area (for example, the Internet). The information to be encrypted is not limited to a document, but may be an image, sound, or a mixture of these and a document, and a plurality of related information may be stored as one data file. In addition, this method can be used for distribution of a product catalog to a specific user, and in this case, the product key and other confidential information are delivered together with the distribution of the product catalog using a different encryption key for each specific user. be able to.
[0053]
The method of the present invention can be basically realized by a computer and a program operated on the computer. However, the method of the present invention can be applied to a program (for example, a WWW browser on the Internet) that serves as an interface for displaying information transmitted and received between networks. You may implement | achieve in the form (what is called a plug-in) which adds a predetermined function.
[0054]
In the above embodiment, an example is shown in which key data is arranged in the upper part of the data file to be created and document data is arranged in the lower part. However, when the document data is short, it may be recorded in the key data for each user. Furthermore, for a specific user, the block in which the encrypted common decryption key is arranged is arranged such that document data encrypted using an encryption key (for example, KEA) assigned to the user is arranged. You may do it. In this case, in order to identify whether the data stored in the block is the encryption common decryption key or the document data, two types of confirmation codes are prepared, and the confirmation code determination unit identifies them. It ’s fine.
[0055]
【The invention's effect】
As described above, according to the present invention, files of the same or related information provided to a plurality of users can be combined into one in an encrypted state, and there is an advantage that management of stored information is easy. In this case, it is easy to manage keys for encryption and decryption on the user side and the administrator side.
[0056]
Furthermore, since it is sufficient to store one document encrypted with the common encryption key in the data file, the file size can be minimized.
[0057]
In addition, it is determined whether or not the user has the authority to view the information easily and quickly by determining whether the information to be browsed is correctly decoded using the determination code. it can.
[Brief description of the drawings]
FIG. 1 is a system configuration diagram for realizing an encrypted file creation method according to an embodiment of the present invention.
FIG. 2 is a flowchart showing a procedure for generating an encrypted file in the system of FIG. 1;
FIG. 3 is a system configuration diagram for browsing a document encrypted by the system of FIG. 1;
4 is a flowchart showing a procedure for browsing an encrypted file in the system of FIG.
FIG. 5 is a flowchart showing a procedure for browsing an encrypted file in the system of FIG. 3;
FIG. 6 is a diagram showing a data file generated by an encrypted file generation device according to another embodiment of the present invention.
FIG. 7 is a system configuration diagram for realizing a conventional method for creating an encrypted file.
FIG. 8 is a system configuration diagram for realizing a conventional encrypted file browsing method;
[Explanation of symbols]
KX common encryption key
KYA'-KYC 'encryption common decryption key
KDA to KDC decryption key
KEA to KEC encryption key
P Document
C Ciphertext
M confirmation code
MA 'to MC' encryption confirmation code
N Document code
N 'Encrypted document code
SA to SC block size data
SP block size data
F data file
10 Encrypted file generator
11 Key encryption part
12 Key setting part
13 Key data writing part
14 Block size calculator
15 Document encryption part
16 Document writer
17 Data storage
18 Main memory
30 Encrypted file browsing device
31 File reading part
32 Key block reading unit
33 Key decryption unit
34 Confirmation code judgment part
35 Document block reading section
36 Document decryption unit
37 Key setting part
38 Document code determination unit
39 Document display area
40 Main memory
41, 42 Block size register

Claims (2)

入力されたデータを共通暗号鍵にて暗号化するための第1の暗号手段と、入力されたデータを異なる複数の暗号鍵にてそれぞれ暗号化する第2の暗号手段と、暗号化された暗号化データを主記憶手段に書き込む書き込み手段と、を少なくとも備えた暗号化ファイル生成装置にて、前記異なる複数の暗号鍵に対応した復号鍵を保有する複数の閲覧者が利用するデータファイルの生成方法であって、
被閲覧情報を第1の暗号手段にて共通暗号鍵を用いて暗号化するか、又は第2の暗号手段にて前記異なる複数の暗号鍵を用いて暗号化するか、の何れかを操作者の操作に応じて選択的に実行する手順と、
第2の暗号手段に入力した所定の判定用コードを前記複数の暗号鍵でそれぞれ暗号化して複数の暗号化判定用コードを生成する手順と、
上記被閲覧情報を上記所定の共通暗号鍵で暗号化した場合に、該共通暗号鍵に対応する共通復号鍵を上記異なる複数の暗号鍵で暗号化して複数の暗号化共通復号鍵を生成する手順と、書き込み手段にて上記暗号化被閲覧情報を主記憶手段に書き込む手順と、書き込み手段にて上記各暗号化共通復号鍵と同じ鍵で暗号化された上記暗号化判定用コードとをそれぞれ対応付けた上で主記憶手段に書き込む手順とを備えると共に、
上記被閲覧情報を上記異なる復号鍵に対応する暗号鍵で暗号化した場合に、書き込み手段にて上記各暗号化被閲覧情報と同じ鍵で暗号化された上記暗号化判定用コードとをそれぞれ対応付けた上で主記憶手段に書き込む手順を含み、
上記主記憶手段に保管された上記暗号化被閲覧情報、上記暗号化判定用コード、及び共通暗号鍵を用いた場合は上記暗号化共通復号鍵とを結合して1つのデータファイルとするものであって、
前記判定用コードとして、上記被閲覧情報を上記所定の共通暗号鍵で暗号化した場合の判定用コードと、記被閲覧情報を上記異なる復号鍵に対応する暗号鍵で暗号化した場合の判定用コードと、の2種類の判定用コードが用意されていることを特徴とする暗号化ファイルの生成方法。
A first encryption means for encrypting input data with a common encryption key; a second encryption means for encrypting input data with a plurality of different encryption keys; and an encrypted encryption A method for generating a data file used by a plurality of viewers having a decryption key corresponding to a plurality of different encryption keys in an encrypted file generation device comprising at least a writing means for writing encrypted data to a main storage means Because
Either the first encryption means encrypts the browsed information using the common encryption key or the second encryption means encrypts using the plurality of different encryption keys. Steps to be selectively performed according to the operation of
A procedure for generating a plurality of encrypted determination codes by respectively encrypting the predetermined determination codes input to the second encryption means with the plurality of encryption keys;
A procedure for generating a plurality of encrypted common decryption keys by encrypting a common decryption key corresponding to the common encryption key with the plurality of different encryption keys when the browsed information is encrypted with the predetermined common encryption key And a procedure for writing the encrypted browsing information in the main storage means by the writing means, and the encryption determination code encrypted by the writing means with the same key as each of the encrypted common decryption keys. And writing to the main memory means after attaching,
When the browsed information is encrypted with an encryption key corresponding to the different decryption key, the encryption determination code encrypted with the same key as each of the encrypted browsed information is associated with the writing means. Including the procedure of writing to the main memory means after attaching
When the encrypted browsing information stored in the main storage means, the encryption determination code, and the common encryption key are used, the encrypted common decryption key is combined to form one data file. There,
As the determination code, a determination code when the browsed information is encrypted with the predetermined common encryption key and a determination code when the browsed information is encrypted with an encryption key corresponding to the different decryption key A method for generating an encrypted file, characterized in that two types of determination codes are prepared.
主記憶手段と、主記憶手段から暗号化された情報を読み出す読み出し手段と、共通暗号鍵にて暗号化された情報を復号化するための第1の復号化手段と、前記複数の暗号鍵で暗号化された情報を復号化するための第2の復号化手段と、判定用コードの正否を判定する判定手段と、表示手段と、を少なくとも備えた暗号化ファイル閲覧装置にて、請求項1記載の方法により生成された暗号化ファイルを閲覧する方法であって、
上記データファイルを主記憶上にロードする手順と、読み出し手段にて上記データファイル内の暗号化判定用コードを読み出す手順と、該閲覧者が有する復号鍵を用いて第2の復号化手段にて暗号化判定用コードを順次復号化する手順と、復号化された判定用コードが暗号化前の2種類の判定用コードのいずれかに正しく復号化されたか否かを判定手段にて順次判定する手順と、第2の復号化手段にて上記暗号化共通復号鍵を該閲覧者が有する復号鍵を用いて復号化するか、又は暗号化被閲覧情報を被閲覧者が有する復号鍵を用いて復号化するか、の何れかを復号化された判定用コードに応じて選択的に実行する手順と、暗号化共通復号鍵を復号化した場合に復号化された共通復号鍵を用いて第1の復号化手段にて暗号化被閲覧情報を復号化する手順と、復号化された被閲覧情報を表示手段に表示する手順と、を備えたことを特徴とする暗号化ファイルの閲覧方法。
A main storage means, a reading means for reading out information encrypted from the main storage means, a first decryption means for decrypting information encrypted with the common encryption key, and the plurality of encryption keys. An encrypted file browsing device comprising at least a second decryption unit for decrypting encrypted information, a determination unit for determining whether the determination code is correct, and a display unit. A method of browsing an encrypted file generated by the described method,
The procedure for loading the data file onto the main memory, the procedure for reading the encryption determination code in the data file by the reading means, and the second decryption means using the decryption key possessed by the viewer A procedure for sequentially decrypting the encryption determination code and whether or not the decrypted determination code has been correctly decrypted into one of the two types of determination codes before encryption is sequentially determined by the determination means. The procedure and the second decryption means decrypt the encrypted common decryption key using the decryption key possessed by the viewer, or use the decryption key possessed by the browse user with the encrypted browsed information A first step using a procedure for selectively executing one of the decryption and a decryption code that is decrypted when the encrypted common decryption key is decrypted. Decrypt encrypted browsing information with the decryption means That procedure and, browsing method of the encrypted file, characterized by comprising, a step of displaying on the display means to be viewed decoded information.
JP07547899A 1999-03-19 1999-03-19 Method for generating and browsing encrypted file using common key Expired - Fee Related JP3815107B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07547899A JP3815107B2 (en) 1999-03-19 1999-03-19 Method for generating and browsing encrypted file using common key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07547899A JP3815107B2 (en) 1999-03-19 1999-03-19 Method for generating and browsing encrypted file using common key

Publications (2)

Publication Number Publication Date
JP2000267939A JP2000267939A (en) 2000-09-29
JP3815107B2 true JP3815107B2 (en) 2006-08-30

Family

ID=13577456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07547899A Expired - Fee Related JP3815107B2 (en) 1999-03-19 1999-03-19 Method for generating and browsing encrypted file using common key

Country Status (1)

Country Link
JP (1) JP3815107B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003069554A (en) * 2001-08-28 2003-03-07 Toppan Forms Co Ltd Method and system for hiding information in ic module
JP2006180110A (en) 2004-12-21 2006-07-06 Nec Corp Data transmission system, data transmission method, data transmission server, data receiving terminal and data transmitting program
JP5217178B2 (en) * 2007-02-07 2013-06-19 富士ゼロックス株式会社 Document processing apparatus and program

Also Published As

Publication number Publication date
JP2000267939A (en) 2000-09-29

Similar Documents

Publication Publication Date Title
US11461434B2 (en) Method and system for secure distribution of selected content to be protected
US11664984B2 (en) Method and system for secure distribution of selected content to be protected on an appliance-specific basis with definable permitted associated usage rights for the selected content
TW514844B (en) Data processing system, storage device, data processing method and program providing media
US7873168B2 (en) Secret information management apparatus and secret information management system
EP1012691B1 (en) Encrypting file system and method
CN110784463B (en) File storage and access method based on block chain
US20080092240A1 (en) Method and system for secure distribution of selected content to be protected on an appliance specific basis
KR101405720B1 (en) Accelerated cryptography with an encryption attribute
US20080082836A1 (en) Method and apparatus for data protection
JP2004510367A (en) Protection by data chunk address as encryption key
JP2004126639A (en) Data management system, method and program
CN105718808A (en) File encryption storage system and method based on multiple network disks
WO2013075673A1 (en) Method, system, and server for digital copyright management
US20190171841A1 (en) Method and system for encrypting files and storing the encrypted files in a storage file system
JP2010171920A (en) Key management apparatus and key management method
JPH06259012A (en) Enciphering method by hierarchic key control and information communication system
JP5511925B2 (en) Encryption device with access right, encryption system with access right, encryption method with access right, and encryption program with access right
JP3815107B2 (en) Method for generating and browsing encrypted file using common key
JPH10293726A (en) External storage device, ciphering unit device, decoding unit device, ciphering system, decoding system, ciphering method and decoding method
JPH10293724A (en) Unit device, decoding unit device, ciphering unit device, ciphering system, ciphering method and decoding method
JP2000269953A (en) Generating method and browsing method for ciphered file
JP2001022645A (en) Method for generating and reading enciphered file
JP2004135005A (en) Data management system, data management method, client terminal, server apparatus, data decoding apparatus, data decoding method, and recording medium
JP2003179591A (en) Smart card, reproduction/management device, method and program
Pal et al. Enhancing file data security in linux operating system by integrating secure file system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060331

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060331

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060529

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080618

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20081007

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20100616

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110616

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120616

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120616

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120616

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130616

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130616

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130616

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130616

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130616

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130616

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20130616

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees