JP3717176B2 - 暗号化/復号装置および方法 - Google Patents
暗号化/復号装置および方法 Download PDFInfo
- Publication number
- JP3717176B2 JP3717176B2 JP52470194A JP52470194A JP3717176B2 JP 3717176 B2 JP3717176 B2 JP 3717176B2 JP 52470194 A JP52470194 A JP 52470194A JP 52470194 A JP52470194 A JP 52470194A JP 3717176 B2 JP3717176 B2 JP 3717176B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- encryption
- data
- management
- file
- 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
Links
- 238000000034 method Methods 0.000 title claims description 148
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 167
- 230000008569 process Effects 0.000 description 73
- 238000004891 communication Methods 0.000 description 30
- 238000004422 calculation algorithm Methods 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000037430 deletion Effects 0.000 description 14
- 238000013478 data encryption standard Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 9
- 238000012217 deletion Methods 0.000 description 6
- 238000009434 installation Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0822—Key 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 key encryption key
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
Description
【0001】
【技術分野】
この発明は、データの暗号化と、暗号化されたデータの復号とを行う暗号化/復号装置および方法に関する。
【0002】
【背景技術】
ワード・プロセッサで作成された文書データ、コンピュータ・プログラムのコード・データ、統計データや集計データ等の内容の漏洩を防止するために、データの暗号化が行われる。
【0003】
従来は、データの暗号化に用いられる鍵(暗号化鍵)として、キーボード等の入力装置から入力された鍵、または暗号化処理を行う装置(コンピュータ・システム等)の中に記憶されている鍵テーブルから選択された鍵を用いて、暗号化処理が行われていた。
【0004】
しかし、このような従来の方法では、暗号化処理を行う者(暗号文の作成者)の不注意により暗号化鍵(=復号鍵)が第三者に見られたり口頭で伝えられたりすることがあり、第三者に暗号化鍵が知得される危険性が高かった。したがって、データの秘密性が十分に保持できないという問題があった。また、暗号文の作成者以外の暗号文の管理者がこの暗号文の内容を見る場合に、作成者は、暗号文の作成ごとに復号鍵をこの管理者に知らせる必要があった。したがって、復号鍵を知らせるときに、不注意等により復号鍵が第三者に知得されるおそれがあった。また、作成者にとっても管理者にとっても、暗号文と復号鍵との対応づけの管理が煩雑になるという問題もあった。
【0005】
また、企業等では、部下が暗号文を作成し、その上司が暗号文を管理するのが一般的である。このような場合に、上司は、部下による暗号文の復号をできなくして、部下の不注意により暗号文が復号され第三者に知得されることを避けたいという要求がある。すなわち、上司は、暗号文の秘密管理を集中して行いたいという強い要求がある。
【0006】
【発明の開示】
この発明の目的は、暗号文と暗号化に用いられた鍵との対応づけの管理を容易にすることにある。さらに、この発明は、暗号文の管理を管理者が集中して行えるようにすることを目的とする。さらにこの発明は、暗号文の作成者が、その暗号文を復号することができる管理者を選択する(管理者が所持する管理鍵を選択して鍵の暗号化を行う)ことができるようにすることを目的とする。
【0007】
この発明による暗号化/復号装置は、データ暗号用鍵を暗号化するために用いられる秘密鍵を形成する秘密鍵形成手段、データ暗号用鍵を暗号化するために用いられる複数の管理鍵を形成する管理鍵形成手段、上記秘密鍵形成手段によって形成された秘密鍵を、作成者オペレーション記憶媒体に記憶させる第1の記憶制御手段、上記管理鍵形成手段によって形成された複数の管理鍵を、スーパバイザ記憶媒体および上記作成者オペレーション記憶媒体に記憶させ、かつ複数の管理鍵のうち少なくとも一つの管理鍵を管理オペレーション記憶媒体に記憶させる第2の記憶制御手段、平文データを暗号化するために用いられる上記データ暗号用鍵を生成するデータ暗号用鍵生成手段、上記平文データを上記データ暗号用鍵を用いて暗号化して暗号文データを生成するデータ暗号化手段、上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている上記秘密鍵を用いて暗号化して第1の暗号鍵を生成する第1の鍵暗号化手段、上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている複数の管理鍵のうちのいずれか一つを用いて暗号化して第2の暗号鍵を生成する第2の鍵暗号化手段、ならびに上記データ暗号化手段によって生成された暗号文データ、上記第1の鍵暗号化手段によって生成された第1の暗号鍵、および上記第2の鍵暗号化手段によって生成された第2の暗号鍵を含む暗号ファイルを作成する暗号ファイル作成手段を備えた暗号化装置と、上記暗号ファイルから、暗号文データおよび第1の暗号鍵を読出す第1の読出し手段、上記第1の読出し手段により読出された上記第1の暗号鍵を復号するための秘密鍵が記憶されている上記作成者オペレーション記憶媒体から上記秘密鍵を読み出す第2の読出し手段、上記第2の読出し手段により読出された秘密鍵を用いて上記第1の暗号鍵を復号してデータ復号用鍵を生成する第1の鍵復号手段、ならびに上記第1の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記作成者オペレーション記憶媒体を利用した第1のデータ復号手段と、上記暗号ファイルから、暗号文データおよび第2の暗号鍵を読出す第3の読出し手段、上記第2の暗号鍵の生成に用いられた管理鍵が記憶されているスーパバイザ記憶媒体から上記第2の暗号鍵の生成に用いられた管理鍵を読み出す第4の読出し手段、上記第4の読出し手段により読出された上記第2の暗号鍵の生成に用いられた管理鍵を用いて、上記第3の読出し手段によって読み出された上記第2の暗号鍵を復号してデータ復号用鍵を生成する第2の鍵復号手段、ならびに上記第2の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記スーパバイザ記憶媒体を利用した第2のデータ復号手段と、上記暗号ファイルから、暗号文データおよび第2の暗号鍵を読出す第5の読出し手段、上記第2の暗号鍵の生成に用いられた管理鍵が上記管理オペレーション媒体に記憶されているかどうかを判断し、記億されていると判断された場合に、上記管理オペレーション記憶媒体から上記第2の暗号鍵の生成に用いられた管理鍵を読出す第6の読出し手段、上記第6の読出し手段によって読出された上記第2の暗号鍵の生成に用いられた管理鍵を用いて、上記第5の読出し手段によって読出された第2の暗号鍵を復号してデータ復号用鍵を生成する第3の鍵復号手段、ならびに上記第3の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記管理オペレーション記憶媒体を利用した第3のデータ復号手段とを備えている。
【0008】
この発明による暗号化/復号方法は、秘密鍵形成手段によりデータ暗号用鍵を暗号化するために用いられる秘密鍵を形成し、管理鍵形成手段によりデータ暗号用鍵を暗号化するために用いられる複数の管理鍵を形成し、上記秘密鍵形成手段によって形成された秘密鍵を、第1の記憶制御手段により作成者オペレーション記憶媒体に記憶し、上記管理鍵形成手段によって形成された複数の管理鍵を、第2の記憶制御手段によりスーパバイザ記憶媒体および上記作成者オペレーション記憶媒体に記憶し、かつ複数の管理鍵のうち少なくとも一つの管理鍵を管理オペレーション記憶媒体に記憶し、平文データを暗号化するために用いられる上記データ暗号用鍵を、データ暗号用鍵生成手段により生成し、データ暗号化手段により、上記平文データを上記データ暗号用鍵を用いて暗号化して暗号文データを生成し、第1の鍵暗号化手段により、上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている上記秘密鍵を用いて暗号化して第1の暗号鍵を生成し、第2の鍵暗号化手段により上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている複数の管理鍵のうちのいずれか一つを用いて暗号化して第2の暗号鍵を生成し、暗号ファイル作成手段により、上記データ暗号化手段によって生成された暗号文データ、上記第1の鍵暗号化手段によって生成された第1の暗号鍵、および上記第2の鍵暗号化手段によって生成された第2の暗号鍵を含む暗号ファイルを作成し、第1の読出し手段により、上記暗号ファイルから暗号文データおよび第1の暗号鍵を読出し、読出した上記第1の暗号鍵を復号するための秘密鍵が記憶されている上記作成者オペレーション記憶媒体から、第2の読出し手段により上記秘密鍵を読み出し、読出した秘密鍵を用いて、第1の鍵復号手段により上記第1の暗号鍵を復号してデータ復号用鍵を生成し、生成したデータ復号用鍵を用いて、第1のデータ復号手段により上記暗号文データを復号して平文データを生成し、第3の読出し手段により、上記暗号ファイルから、暗号文データおよび第2の暗号鍵を読出し、上記第2の暗号鍵の生成に用いられた管理鍵が記憶されているスーパバイザ記憶媒体から、第4の読出し手段により上記第2の暗号鍵の生成に用いられた管理鍵を読み出し、読出した上記第2の暗号鍵の生成に用いられた管理鍵を用いて、第2の鍵復号手段により、読み出した上記第2の暗号鍵を復号してデータ復号用鍵を生成し、生成したデータ復号用鍵を用いて、第2のデータ復号手段により上記暗号文データを復号して平文データを生成し、第5の読出し手段により、上記暗号ファイルから、暗号文データおよび第2の暗号鍵を読出し、上記第2の暗号鍵の生成に用いられた管理鍵が上記管理オペレーション媒体に記憶されているかどうかを判断し、記憶されていると判断された場合に、第6の読出し手段により、上記管理オペレーション記憶媒体から上記第2の暗号鍵の生成に用いられた管理鍵を読出し、読出した上記第2の暗号鍵の生成に用いられた管理鍵を用いて、読出した第2の暗号鍵を、第3の鍵復号手段によって復号してデータ復号用鍵を生成し、生成したデータ復号用鍵を用いて、第3のデータ復号手段により上記暗号文データを復号して平文データを生成するものである。
【0009】
データ暗号用鍵生成手段によるデータ暗号用鍵の生成には、いくつかの方法があろう。その一つは、鍵生成に用いられるデータを発生し、発生したデータに基づいてデータ暗号用鍵を生成するものである。コンピュータ内部で任意のデータを発生させる。このデータには、例えば操作者による2つのキーの入力時間間隔を計数するカウンタの計数値を採用することができる。このようにして発生したデータは、暗号化される。暗号化に用いる鍵も上記データと同じようにして発生されよう。暗号化されたデータがデータ暗号用鍵となる。
【0010】
他の方法は、ソフトウェアまたはハードウェアにより第1の擬似乱数と第2の擬似乱数とを発生し、発生した第1の擬似乱数を、第2の擬似乱数を鍵として暗号化してデータ暗号用鍵を生成するものである。第1の擬似乱数と第2の擬似乱数とは同じものでもよいし、異なる乱数でもよい。または、一つの乱数の上位複数のビットを第1の擬似乱数とし、下位複数のビットを第2の擬似乱数として用いることもできる。
【0011】
秘密鍵形成手段による秘密鍵の形成には、いくつかの方法がある。その一つは、鍵形成に用いられるデータを発生させ、発生されたデータに基づいて秘密鍵を形成する方法である。その二は、第1の擬似乱数と第2の擬似乱数とを発生し、発生した第1の擬似乱数を、第2の擬似乱数を鍵として暗号化して秘密鍵を形成するものである。これらの方法は、上述したデータ暗号用鍵の生成と同じような処理により実現される。
【0012】
その三は、外部から入力されたデータに基づいて秘密鍵を形成する方法である。例えば、操作者が自分のパスワードをキーボードから入力する。この入力されたパスワードが秘密鍵となる。この場合には、秘密鍵形成手段は入力を受け付ける手段により実現される。入力されたパスワードを特定の鍵を用いて暗号化し、この暗号化されたパスワードを秘密鍵としてもよい。上記特定の鍵はあらかじめコンピュータ内に設定しておいてもよいし、上述したようにキー入力間隔等に基づいて設定することもできるし、擬似乱数を発生させることにより得ることもできる。
【0013】
その四は、外部から与えられる記憶媒体に記憶されているデータに基づいて秘密鍵を形成する方法である。記憶媒体には、フロッピィ・ディスク、ICカード、磁気カード、光カード、その他の媒体が用いられる。記憶媒体に記憶されている上記データは、秘密鍵そのものであってももちろんよい。この場合には、上記秘密鍵形成手段は、記億媒体から上記データを読み取る手段によって実現される。記憶媒体に記憶されている上記データを特定の鍵により暗号化し、この暗号化されたデータを秘密鍵としてもよい。
【0014】
管理鍵形成手段による管理鍵の形成にも、いくつかの方法がある。その一は、あらかじめ与えられたデータに基づいて管理鍵を形成する方法である。例えば、コンピュータ内部のROM、RAM、内蔵ディスク装置等にあらかじめ記憶された特定のデータが管理鍵となる。この場合に、管理鍵形成手段は、ROM等からデータを読み取る手段により実現される。
【0015】
その二は、外部から与えられた記憶媒体に記憶されているデータに基づいて管理鍵を形成する方法である。その三は、鍵形成に用いられるデータを発生し、発生したデータに基づいて管理鍵を形成する方法である。その四は、第1の擬似乱数と第2の擬似乱数とを発生し、発生した第1の擬似乱数を、第2の擬似乱数を鍵として暗号化して管理鍵を形成するものである。これらの方法は、上述したデータ暗号用鍵の生成または秘密鍵の形成と同じような処理により実現される。
【0016】
平文データには、ワード・プロセッサで作成された文書データ、コンピュータ・プログラムのコード・データ、統計データや集計データ等の各種データが含まれる。また、暗号化されたデータをさらに暗号化する場合には、平文データには、暗号化されたデータが含まれる。
【0017】
平文データおよび鍵の暗号化(復号)の方法には、DES(Data Encryption Standard)、FEAL(Fast Encyption ALgorithm)等の種々のアルゴリズムを用いることができる。またアルゴリズムとして対称暗号系と非対称暗号系(べき乗剰余型、ナップザック型等)の別、およびブロック暗号とストリーム暗号(バーナム暗号、NFSR等)の別を問わない。
【0018】
平文データを暗号化するためのデータ暗号用鍵が、自動的に生成される。生成されたデータ暗号用鍵を用いて平文データが暗号化されて暗号文データが生成される。また、データ暗号用鍵を暗号化するための秘密鍵および複数の管理鍵が形成される。形成された秘密鍵を用いて、データ暗号用鍵が暗号化されて第1の暗号鍵(暗号化された鍵)が生成される。また、形成された複数の管理鍵のうちの一つを用いて、データ暗号用鍵が暗号化されて第2の暗号鍵(暗号化された鍵)が生成される。暗号文データ、第1の暗号鍵および第2の暗号鍵は暗号ファイルに記憶される。秘密鍵および複数の管理鍵は、作成者オペレーション記憶媒体に記憶され、複数の管理鍵はさらにスーパバイザ記憶媒体に記憶され、複数の管理鍵のうちのいずれか一つが管理オペレーション記憶媒体に記憶される。これらの記憶媒体には、ハード・ディスク、フロッピィ・ディスク、ICカード、磁気カード、光カード、伝送用バッファ等の各種記憶媒体が含まれる。
【0019】
暗号ファイルは、フロッピィ・ディスクに記憶してもよいし、伝送用のバッファに含ませてもよい。フロッピィ・ディスクの場合には、暗号ファイルを暗号文データ作成者から管理者等の他の者に手渡すことができる。伝送用のバッファの場合には、他の装置等に暗号ファイルを送信することができる。また、第1の記憶媒体は、ハード・ディスク装置、ICカード、磁気カード、光カード等の記憶媒体であってもよい。
【0020】
この発明によれば、平文データを暗号化するためのデータ暗号用鍵が自動的に生成されるので、暗号文データの作成者は鍵を入力する必要もなければ、鍵の内容を知る必要はない。
【0021】
また、暗号文データとこれを復号するためのデータ暗号用鍵(これは第1または第2の暗号鍵として暗号化されている)とが暗号ファイルに記憶されているので、これらの対応づけの管理が容易である。
【0022】
平文データを暗号化した操作者は、秘密鍵を持つことができる。秘密鍵が操作者の入力データに基づいて形成された場合には、操作者(暗号文データの作成者)は当然入力データを知っているのでこれを秘密鍵として用いることができる。秘密鍵が入力データの暗号化や計数に基づいて形成された場合には、形成された秘密鍵は作成者オペレーション記憶媒体(例えばフロッピィ・ディスク)に記憶される。または秘密鍵が記憶媒体にあらかじめ記憶されている場合には、その記憶媒体を操作者は所有している。したがって、操作者は記憶媒体の秘密鍵を用いて暗号文データを復号することができる。
【0023】
スーパバイザ記憶媒体には、第2の暗号鍵の生成に用いられた、複数の管理鍵のうちの一つが必ず記憶されているので、スーパバイザ記憶媒体からその管理鍵を読み出して第2の暗号鍵を復号して、暗号文データを復号することができる。したがって作成者オペレーション記憶媒体を、たとえば従業者個々に渡し平文データを暗号化させ従業者個々が暗号文データを復号することに加えて、スーパバイザ記憶媒体を、たとえば管理者に渡しスーパバイザ記憶媒体から管理鍵を読み出すことにより暗号文データを復号することができる。スーパバイザ記憶媒体を用いることにより従業者個々が作成した暗号文データを復号することが可能となる。暗号文の管理をスーパバイザ記憶媒体の保持者が集中して行うことができる。
【0024】
管理オペレーション記憶媒体には複数の管理鍵のうち少なくともいずれか一つが記憶されている。管理オペレーション記憶媒体を用いた復号処理では、管理オペレーション記憶媒体に、暗号ファイルに含まれる第2の暗号鍵の生成に用いられた管理鍵が記憶されているかどうかが判断され、記憶されていると判断された場合に、その管理オペレーション記憶媒体から上記第2の暗号鍵の生成に用いられた管理鍵が読み出される。読み出された管理鍵を用いて第2の暗号鍵を復号することによりデータ暗号用鍵を得ることが可能となる。復号されたデータ暗号用鍵を用いて暗号文データが復号される。
【0025】
複数の管理鍵の一つが用いられて上記データ暗号用鍵が暗号化される。複数の管理者(複数のオペレーション記憶媒体の保持者)がそれぞれ異なる管理鍵を所持している場合には、暗号文の作成者は、その暗号文を管理する管理者が所持する管理鍵を複数の管理鍵の中から選択して、平文データの暗号化に用いられたデータ暗号用鍵を暗号化することができる。暗号文の作成者が、その暗号文データを復号することができる管理者を選択する(管理者が所持する管理鍵を選択してデータ暗号用鍵の暗号化を行う)ことができる。
【0026】
好ましくは、上記データ暗号用鍵生成手段は、第1の擬似乱数と第2の擬似乱数とを発生し、発生した第1の擬似乱数を、第2の擬似乱数を鍵として暗号化してデータ暗号用鍵を生成するものである。データ暗号用鍵が、擬似乱数をさらに暗号化することにより生成されるので、データ暗号用鍵をランダムなデータとすることができ、第三者による鍵の推測を困難とすることができる。
【0027】
好ましくは、上記第1の暗号鍵または第2の暗号鍵を上記暗号ファイルから消去する消去手段が設けられる。暗号文データを作成する作成者が秘密鍵を管理し、暗号文データを管理する管理者が管理鍵を管理している場合に、管理者が第1の暗号鍵を消去することにより、作成者は秘密鍵を用いた暗号文データの復号ができなくなる。これにより、復号された平文データが作成者の不注意により第三者に知得されることを防止でき、管理者は暗号文データの秘密管理を集中して行える。また、第2の暗号鍵を削除することにより、管理者による暗号文データの復号をできなくすることもできる。これにより、例えば管理者が新たな者に交替した場合等において、過去に管理者であった者による復号を防止できる。
【0028】
一実施態様では、上記暗号化装置は、上記秘密鍵形成手段によって形成された秘密鍵を暗号化する秘密鍵暗号化手段、および上記管理鍵形成手段によって形成された複数の管理鍵を暗号化する管理鍵暗号化手段を備え、上記第1の記憶制御手段は、上記秘密鍵暗号化手段によって暗号化された秘密鍵および上記管理鍵暗号化手段によって暗号化された複数の管理鍵を、作成者オペレーション記憶媒体に記憶させるものであり、上記第2の記憶制御手段は、上記管理鍵暗号化手段によって暗号化された複数の管理鍵を、上記スーパバイザ記憶媒体に記憶させ、上記管理鍵暗号化手段によって暗号化された複数の管理鍵の少なくともいずれか一つを管理オペレーション記憶媒体に記憶させるものである。秘密鍵および管理鍵が暗号化されるので、読み出されても読み出した者は鍵の内容を知ることができない。したがって、秘密鍵および管理鍵は高い秘密性が守られる。
【0029】
上記秘密鍵暗号化手段は、上記秘密鍵形成手段によって形成された秘密鍵を、上記管理鍵形成手段によって形成され第2の暗号鍵の生成に用いられた管理鍵を用いて暗号化するものでもよい。
【0030】
さらに他の実施態様では、上記作成者オペレーション記憶媒体、上記スーパバイザ記憶媒体、および上記管理オペレーション記憶媒体はバージョン・コードを記憶しているものであり、上記第3の記憶制御手段が、上記暗号文データ、上記第1の暗号鍵、および上記第2の暗号鍵に加えて上記バージョン・コードを上記暗号ファイルに記憶させるものである。
【0031】
古いバージョン・コードを記憶している上記作成者オペレーション記憶媒体を用いて暗号化した場合、そのバージョン・コードよりも新しいバージョン・コードを記憶しているスーパバイザ記憶媒体または管理オペレーション記憶媒体を用いて復号できる必要がある。
【0032】
暗号ファイルに、暗号化に用いた作成者オペレーション記憶媒体のバージョン・コードが記憶されるので、バージョン・コードによって,その暗号ファイルに格納されている暗号化データのスーパバイザ記憶媒体または管理オペレーション記憶媒体を用いた復号を管理することができる。
【0033】
時刻データを、入力データ、初期値または暗号鍵として暗号化手段に与え、上記暗号化手段から得られる暗号データを、上記データ暗号用鍵、上記秘密鍵または上記管理鍵として用いるように、上記暗号化/復号装置または暗号化/復号方法を構成してもよい。
【0034】
上記入力データ、上記初期値または上記暗号鍵に時刻データが用いられ、上記暗号データが得られる。得られた暗号文データが、上記データ暗号用鍵、上記秘密鍵または上記管理鍵とされる。時刻データは、第三者にとっては一般に予測が困難なデータである。したがって時刻データを利用して生成されたデータ暗号用鍵を用いて平文データを暗号化すると、データ暗号用鍵を推測することが困難なので、暗号文データを復号することも困難となる。
【0035】
【実施例】
〔第1実施例〕
(1)暗号化/復号装置の構成
第1図は、第1実施例における暗号化/復号装置の構成を示すブロック図である。この暗号化/復号装置は、コンピュータ・システム1、表示装置2(CRT表示装置、液晶表示装置等)、入力装置3(キーボード、ポインティング・デバイス等)、外部記憶装置4(磁気ディスク記憶装置、光ディスク記憶装置等)ならびにフロッピィ・ディスク・ドライブ(以下、単にFDドライブという)5および6によって構成されている。
【0036】
外部記憶装置4には、一または複数の平文のファイル(平文ファイルという)が記憶されている。平文ファイルには、ワード・プロセッサ等で作成された文書ファイル、統計データや集計データ等をファイルにしたデータ・ファイル、コンピュータ・プログラムのコードをファイルにしたプログラム・ファイル等の各種ファイルが含まれる。暗号化されたファイルをさらに暗号化する場合には、平文ファイルは、この暗号化されたファイルも含むものとする。
【0037】
FDドライブ5には、フロッピィ・ディスクFD1(以下、単にFD1という)またはフロッピィ・ディスクFD2(以下、単にFD2という)がセットされ、また取り外される。FDドライブ6には、フロッピィ・ディスクFD3(以下、単にFD3という)がセットされ、また取り外される。
【0038】
FD1には、後に詳述する暗号化/復号プログラムおよび管理鍵があらかじめ格納されている。FD2には、後に詳述する復号プログラム、暗号鍵消去プログラムおよび管理鍵があらかじめ格納されている。FD1に格納されている管理鍵とFD2に格納されている管理鍵とは、同一のものである。FD1およびFD2を作成するときに、同一の管理鍵がそれぞれのフロッピィ・ディスクに格納される。FD1は、平文ファイルから暗号ファイルを作成する作成者にあらかじめ配布される。FD2は、暗号ファイルを管理する管理者にあらかじめ配布される。FD3は、外部記憶装置4の平文ファイルを暗号化して生成される暗号ファイルを格納するためのものである。
【0039】
コンピュータ・システム1の内部のROMまたは外部記憶装置4には、オペレーティング・システム(OS)が格納されている。コンピュータ・システム1は、このOSに基づいて、入力装置3からの入力データの読込みと解析、表示装置2の表示制御、外部記憶装置4の制御、FDドライブ5および6の制御等を行う。また、コンピュータ・システム1は、FD1に格納されている暗号化/復号プログラムならびにFD2に格納されている復号プログラムおよび暗号鍵消去プログラムを内部メモリ(RAM等)に読み込み、これらのプログラムを実行する。
【0040】
暗号化/復号プログラムと復号プログラムとにそれぞれ含まれている暗号(復号)アルゴリズムの一例として、第2図に示されるものがある。この暗号アルゴリズムの例は、DES(Data Encryption Standard)のアルゴリズムを変形したものである(DES型暗号という)。すなわち、DESでは一般に64ビットの平文および56ビットの鍵が用いられるが、この例では8ビットの平文および12ビットの鍵が用いられるように変形されている。
【0041】
Sボックス21〜24は、第3図に示されている換字(変換)の対応表にしたがって、入力データを出力データに換字する。例えば、入力データが1(10進数)の場合には、出力データは14(10進数)に換字される。演算子25〜32は、入力される2つのデータの排他的論理和演算を行い、その結果を出力する。
【0042】
暗号化の対象である8ビットの平文は、上位4ビット・データL1(=0100)と下位4ビット・データR1(=1101)とに分割される。データL1は演算子25に、データR1(=L2)は演算子29および26に入力される。12ビットの鍵K(=001010000110)は、上位から3ビットずつの第1〜4ブロックの4つのブロックに分けられる。第1ブロック(=001)および第3ブロック(=000)には、1ビット・データの1が各ブロックの最上位ビットとしてそれぞれ加えられる。第2ブロック(=010)および第4ブロック(=110)には、1ビット・データの0が各ブロックの最上位ビットとしてそれぞれ加えられる。その結果、鍵Kは4ビット・データK1(=1001)、K2(=0010)、K3(=1000)およびK4(=0110)に変換される。データK1は演算子29に、データK2は演算子30に、データK3は演算子31に、データK4は演算子32にそれぞれ入力される。
【0043】
第1段の処理では、データR1とK1との排他的論理和が、演算子29において求められる。この演算結果は、Sボックス21において変換(換字)される。そして、変換されたデータとデータL1との排他的論理和が、演算子25において求められる。この結果のデータR2(=L3)は演算子30および27に与えられる。
【0044】
第2段においても、データR2、K2およびL2について、第1段と同様の処理が行われる。第3段および第4段においても、データR3、K3およびL3ならびにデータR4、K4およびL4について、第1段と同様の処理がそれぞれ行われる。
【0045】
第1段〜第4段の処理によって、8ビットの暗号文が生成される。演算子28の出力データが、8ビットの暗号文の上位4ビット・データL(=1001)となる。演算子27の出力データR4が、8ビットの暗号文の下位4ビット・データR(=0111)となる。このように、平文は8ビットずつ順次処理されていき、暗号文が8ビットずつ順次生成されていく。
【0046】
8ビットの暗号文を8ビットの平文に復号する場合には、8ビットの暗号文が上位4ビット(L1)と下位4ビット(R1)のデータに分割される。この上位4ビット・データは演算子25に、下位4ビット・データは演算子29および26にそれぞれ入力される。復号鍵(暗号鍵Kと同じもの)が、暗号時と同様に3ビットずつに分割され、データK1〜K4が作成される。そして、データK4が演算子29に、データK3が演算子30に、データK2が演算子31に、データK1が演算子32にそれぞれ入力される。これらの入力データに第1段〜第4段の処理が行われ、平文8ビットが生成される。このように、復号時には、暗号文が8ビットずつ順次処理されていき、平文が8ビットずつ順次生成されていく。
【0047】
暗号および復号に用いられるアルゴリズムには、このDESのアルゴリズムのほかにFEAL(Fast Encyption ALgorithm)等の他のアルゴリズムを用いることもできる。またアルゴリズムとして対称暗号系と非対称暗号系(べき乗剰余型、ナップザック型等)の別、およびブロック暗号とストリーム暗号(バーナム暗号、NFSR等)の別を問わない。
【0048】
これらの暗号化/復号処理は、ソフトウェア(プログラム)によって実現することができる。プログラムによって実現した場合には、このプログラムは、FD1に格納された暗号化/復号プログラムおよびFD2に格納された復号プログラムの一部として組み込まれる。また、これらの暗号化/復号処理をハードウェアによって実現することもできる。この場合には、このバードウェアは、コンピュータ・システム1の内部または外部に設けられるであろう。そして、FD1に格納された暗号化/復号プログラムおよびFD2に格納された復号プログラムは、外部記憶装置4から読みだした平文(または暗号文)および後述する第6図のステップ106で生成された鍵等をこのハードウェアに入力して、暗号化または復号の処理を行わせる。
【0049】
(2)暗号ファイル作成者による暗号化および復号処理
第4図は、暗号ファイル作成者(以下、単に作成者という)が所持するFD1に格納されている暗号化/復号プログラムによる暗号化処理の様子を示している。第5図は、この暗号化/復号プログラムによる復号処理の様子を示している。また、第6図〜第8図は、この暗号化/復号プログラムがコンピュータ・システム1によって実行される場合の処理の流れを示すフローチャートである。
【0050】
FD1が、作成者によってFDドライブ5にセットされる(ステップ101)。次に、FD1に格納されている暗号化/復号プログラムの起動命令が、作成者によって入力装置3からコンピュータ・システム1に入力される。これにより、暗号化/復号プログラムがFD1から読み出され、コンピュータ・システム1の内部メモリ(RAM等)に格納される。そして、コンピュータ・システム1は、このプログラムを実行する(ステップ102)。
【0051】
次に、ファイルの暗号化または復号のいずれを選択するかの案内が、表示装置2の表示画面に表示される。作成者は、暗号化または復号のいずれか一方を選択し、その指示を入力装置3からコンピュータ・システム1に入力する。
【0052】
暗号化が選択されると(ステップ103でYES)、暗号化の対象となる平文ファイルのファイル名が、作成者によって入力装置3からコンピュータ・システム1に入力される(ステップ104)。入力されたファイル名に対応する平文ファイル41が外部記憶装置4から読み出され、コンピュータ・システム1の内部メモリに記憶される(ステップ105)。
【0053】
次に、この平文ファイルを暗号化するために用いられる鍵44(ファイル鍵という)が生成される(ステップ106)。ファイル鍵44の生成方法については後に詳述する。平文ファイル41の平文は、このファイル鍵44を用いて暗号化され、暗号文が生成される(ステップ107)。暗号化処理には、上述した暗号アルゴリズムの一つが用いられる。暗号化処理により生成された暗号文は、中間データ42としてコンピュータ・システム1の内部メモリに記憶される。
【0054】
続いて、秘密鍵47が、作成者によって入力装置3からコンピュータ・システム1に入力される(ステップ108)(第4図)。この秘密鍵47は、作成者が任意に決定するものであり、暗証番号(パスワード)と考えることができる。秘密鍵47は、任意の数字列または文字列等からなる。
【0055】
ファイル鍵44は、秘密鍵47を用いて暗号化される(ステップ109)。ここでは、この暗号化された鍵45を暗号鍵1ということにする。また、ファイル鍵44は、FD1に格納されている管理鍵48を用いて暗号化される(ステップ110)。この暗号化された鍵46を暗号鍵2ということにする。これらのファイル鍵44の暗号化処理にも、上述した暗号アルゴリズムの一つが用いられる。
【0056】
そして、これらの暗号鍵1および2ならびに中間データ(暗号文)42を用いて、暗号ファイル43が作成される(ステップ111)。第11図は、コンピュータ・システム1の内部メモリ上の暗号ファイル43のデータ構造を示している。暗号ファイルの先頭の領域に暗号鍵1および2が記憶されている。この領域に続く領域に中間データ(暗号文)42が記憶されている。暗号ファイルが作成されるときに、暗号ファイル名(平文ファイル名と一部または全部が異なるファイル名)が作成される。この暗号ファイル名も、暗号ファイルのデータ領域に続く領域に記憶されることもある。
【0057】
続いて、FD3が、作成者によってFDドライブ6にセットされる(ステップ112)。もし必要ならば、FD3のセットに先だって、FD3をFDドライブ6にセットすることを作成者に指示するための案内が、表示装置2の表示画面に表示されるであろう。このセットされたFD3に暗号ファイル43および暗号ファイル名が格納される(ステップ113)。そして、暗号化処理は終了する。第12図は、FD3の記憶の構造を示している。FD3には、ディレクトリ、FAT(File Allocation Table)およびデータ領域の3つの領域がある。データ領域のアドレスAD2には、暗号ファイル(暗号鍵1および2ならびに暗号文)が記憶されている。FATのアドレスAD1には、データ領域のアドレスAD2が記憶されている。ディレクトリには、暗号ファイル名(ここでは暗号ファイル名を“ABC.SEC”とする)およびFAT上のアドレスAD1が記憶されている。
【0058】
ステップ103において復号が選択された場合には(ステップ103でNO)、FD3が作成者によってFDドライブ6にセットされる(ステップ114)。FD3のセットに先だって、FD3をFDドライブ6にセットすることを作成者に指示するための案内が、表示装置2の表示画面に表示されることもある。FD3がFDドライブ6にセットされると、暗号ファイルのファイル名(“ABC.SEC”等)がFD3のディレクトリから読み出される。読み出されたファイル名は、表示装置2の表示画面に表示される(ステップ115)。
【0059】
続いて、復号の対象となる暗号ファイルのファイル名が作成者によって入力装置3からコンピュータ・システム1に入力される(ステップ116)。ファイル名は、キーボードを用いて入力することもできるし、表示画面に表示されたファイル名をポインティング・デバイスによって指示(クリック等)して入力することもできる。
【0060】
入力された暗号ファイル名に基づいてFD3のディレクトリが検索され、そのファイル名に対応するFAT上のアドレスAD1が読み出される(第12図)。アドレスAD1に基づいてFAT上のアドレスAD2が読み出される(第12図)。そして、アドレスAD2に基づいて、暗号ファイルがFD3のデータ領域から読み出される(ステップ117)。読み出された暗号ファイルは、コンピュータ・システム1の内部メモリに記憶される。
【0061】
続いて、秘密鍵47が、作成者によって入力装置3からコンピュータ・システム1に入力される(ステップ118)(第5図)。この秘密鍵47は、暗号ファイルの暗号鍵1を復号するときに、復号鍵として用いられる(ステップ119)。したがって、入力される秘密鍵47は、この暗号ファイルのファイル鍵44を暗号化したときに用いられたものと同一のものである。どのファイル鍵をどの秘密鍵で暗号化したかは作成者によって管理されている。作成者は、ファイル鍵44を暗号化して暗号鍵1を生成したときに用いた秘密鍵と同じものを入力する。
【0062】
暗号鍵1は秘密鍵47(復号鍵)を用いて復号され、ファイル鍵44が得られる(ステップ119)。この復号処理において、ファイル鍵44を暗号化したときと同じ暗号(復号)アルゴリズムが用いられるのはもちろんである。続いて、暗号ファイルに含まれている暗号文がこのファイル鍵44(復号鍵)を用いて復号され、平文ファイル41が得られる(ステップ120)。この復号処理でも、平文ファイルを暗号化したときと同じ暗号(復号)アルゴリズムが用いられる。平文ファイル41は、コンピュータ・システム1の内部メモリに記憶される。そして、復号処理は終了する。このとき、暗号鍵2は用いられない。
【0063】
コンピュータ・システム1の内部メモリに記憶されている平文ファイル41を、この内部メモリから外部記憶装置4または他のフロッピィ・ディスクに格納することもできる。
【0064】
この暗号化処理においては、ファイル鍵が自動的に生成されるので、作成者はファイル鍵を入力する必要もなければ、ファイル鍵の内容を知る必要もない。したがって、データ暗号用鍵が暗号文データ作成者の不注意等によって第三者に漏洩することを防止できる。また、暗号文とこれを復号するためのファイル鍵(暗号鍵1と2)とがFD3に記憶されているので、これらの対応づけの管理が容易である。さらに、ファイル鍵は、秘密鍵および管理鍵によってそれぞれ暗号化されているので、たとえ暗号文とこれを復号するためのファイル鍵を一つのFD3に記憶させておいても、高い安全性を保つことができる。
【0065】
ステップ108および118において、秘密鍵47を磁気カード、ICカード(メモリ・カード等)、光カード等にあらかじめ記憶しておき、カード・リーダからコンピュータ・システム1に入力することもできる。また、暗号化/復号装置が各作成者個人の専用のものとして使用されるのであれば、複数の秘密鍵を外部記憶装置4または内部のROM等にあらかじめ記憶しておき、これを表示装置2の表示画面に表示させて、その中から一つを選択することもできる。さらに、入力された秘密鍵47をさらに暗号化した鍵を、ファイル鍵の暗号化に用いることもできる。
【0066】
(3)暗号ファイル管理者による復号処理
第9図は、暗号ファイル管理者(以下、単に管理者という)が暗号ファイルを復号する場合の処理を様子を示している。暗号ファイルが格納されたFD3は、作成者から管理者に渡される。管理者は、自らが所持するFD2に格納された復号プログラムおよび管理鍵を用いて暗号ファイルを復号する。第10図は、この復号プログラムがコンピュータ・システム1によって実行される場合の処理の流れを示すフローチャートである。
【0067】
FD2が、管理者によってFDドライブ5にセットされる(ステップ131)。次に、FD2に格納されている復号プログラムの起動命令が、管理者によって入力装置3からコンピュータ・システム1に入力される。これにより、復号プログラムがFD2から読み出され、コンピュータ・システム1の内部メモリに格納される。そして、コンピュータ・システム1は、この復号プログラムを実行する(ステップ132)。
【0068】
続いて、FD3が管理者によってFDドライブ6にセットされる(ステップ114)。このステップ114およびこれに続くステップ115〜117の処理は、上述の第8図に示されるステップ114〜117の処理と全く同じであるので、ここでは説明を省略する。
【0069】
次に、FD2に記憶されている管理鍵48が読み出され、コンピュータ・システム1の内部メモリに記憶される(ステップ133)(第9図)。この読出しはプログラムによって自動的になされる。管理鍵48は、FD2の特定の場所に記憶されている。復号プログラムには、この特定場所を示すアドレスが含まれている。したがって、コンピュータ・システム1は管理鍵48をFD2の特定場所から読み出すことができる。この管理鍵48は、暗号鍵2を復号するときに復号鍵として用いられる(ステップ134)。したがって、この管理鍵48は、この暗号ファイルのファイル鍵44を暗号化して暗号鍵2を生成したときに用いられた管理鍵と同一のものである。上述したように、FD1とFD2には同一の管理鍵があらかじめ格納されているので、問題はない。
【0070】
暗号ファイル43に含まれる暗号鍵2は、管理鍵48(復号鍵)を用いて復号され、ファイル鍵44が得られる(ステップ134)。この復号処理において、ファイル鍵44を暗号化したときと同じ暗号(復号)アルゴリズムが用いられる。続いて、暗号文42がこのファイル鍵44(復号鍵)を用いて復号され、平文ファイル41が得られる(ステップ135)。この復号処理でも、平文ファイルを暗号化したときと同じ暗号(復号)アルゴリズムが用いられる。平文ファイル41は、コンピュータ・システム1の内部メモリに記憶される。そして、復号処理は終了する。このとき、暗号鍵1は用いられない。
【0071】
コンピュータ・システム1の内部メモリに記憶されている平文ファイル41を、この内部メモリから外部記憶装置4または他のフロッピィ・ディスクに格納することもできる。
【0072】
この復号処理においては、管理者はFD2を所持しておくだけで、作成者から一切の情報をうけとることなく暗号ファイルを復号することができる。また、作成者は、暗号ファイル作成ごとに暗号ファイルと管理鍵とを対応させて管理する煩わしさから解放される。作成者は管理鍵を知る必要もなく、管理者に知らせる必要もないので、作成者の不注意等により管理鍵が第三者に漏洩するおそれもない。管理者も同様に管理鍵を知る必要はなく、入出力する必要もない。このように管理鍵の漏洩を防止できるので、ファイルの内容の秘匿性を一層高めることができる。
【0073】
FDドライブ5と6とを、一つのフロッピィ・ディスク・ドライブによって実現することもできる。この場合に、ステップ112(第7図)および114(第10図)においては、FD1またはFD2がフロッピィ・ディスク・ドライブから取り出され、その後、FD3がそのフロッピィ・ディスク・ドライブにセットされるであろう。また、フロッピィ・ディスクをICカード(メモリ・カード等)、カセット型ハード・ディスク、ミニ・ディスク(MD)、磁気カード等に置き換えることができる。この場合に、フロッピィ・ディスク・ドライブは、カード・リーダ/ライタやカセット型ハード・ディスク・インタフェース装置、ミニ・ディスク・インタフェース装置等に置き換えられる。
【0074】
また、暗号ファイルを外部記憶装置4に格納してもよい。この場合には、作成者および管理者は、外部記憶装置4から暗号ファイルを読み出して、復号処理を行うこととなる。
【0075】
(4)管理者による暗号鍵消去の処理
第13図は、管理者による暗号鍵1の消去処理の流れを示すフローチャートである。
【0076】
FD2が、管理者によってFDドライブ5にセットされる(ステップ141)。次に、FD2に格納されている暗号鍵消去プログラムの起動命令が、管理者によって入力装置3からコンピュータ・システム1に入力される。これにより、暗号鍵消去プログラムがFD2から読み出され、コンピュータ・システム1の内部メモリに記憶される。そして、コンピュータ・システム1は、このプログラムを実行する(ステップ142)。
【0077】
続いて、FD3が管理者によってFDドライブ6にセットされる(ステップ143)。そして、FD3のディレクトリから暗号ファイルのファイル名が読み出され、表示装置2の表示画面に表示される(ステップ144)。表示されたファイル名の中から、管理者によって選択されたファイル名が入力装置3からコンピュータ・システム1に入力される(ステップ145)。コンピュータ・システム1は、入力されたファイル名にしたがってFD3から暗号ファイルを読みだし、内部メモリに記憶する(ステップ146)。そして、この暗号ファイルに含まれている暗号鍵1が消去される(ステップ147)。消去は、暗号鍵1の領域(第11図)に暗号鍵1とは異なるデータを書き込むことにより行われる。異なるデータが書き込まれることにより、暗号鍵1を秘密鍵で復号しても元のファイル鍵は得られない。暗号鍵1が消去された暗号ファイルは、FD3に再び格納される(ステップ148)。そして、処理は終了する。
【0078】
このように暗号鍵1を消去することにより、作成者が暗号ファイルの復号を行えなくすることができる。これにより、暗号ファイルを復号した平文ファイルの内容が、作成者の不注意等によって漏洩することを防止できる。また、管理者が、暗号ファイルの秘密管理を集中して行うことができる。
【0079】
また、この暗号鍵1の消去と同様にして、管理者は暗号鍵2を消去することもできる。また、FD1に暗号鍵消去プログラムを格納して、作成者が管理鍵を消去することもできる。
【0080】
(5)鍵生成処理
第14図は、第6図のステップ106における鍵生成をソフトウェア(プログラム)によって実現した場合の処理の流れを示すフローチャートである。この処理プログラムは、例えばステップ104においてファイル名が入力装置3(ここではキーボードとする)から入力されるときに起動される。
【0081】
入力装置3(キーボード)に作成者がファイル名をキー入力するときに、最初のキーの入力により、カウンタ(プログラム内に設けられた変数)の値があらかじめ定められた値(例えば零)に初期化される(ステップ151)。そして、次のキー入力が行われるまでループ処理が繰り返され、ループが繰り返されるごとにこのカウンタの値が1増加させられていく(ステップ152、153)。例えば、プログラム言語(C言語等)におけるfor文やwhile文等で、このルール処理は実現される。
【0082】
次のキー入力があると(ステップ153でYES)、その時のカウンタの値を平文および鍵として、暗号化が行われる(ステップ154)。この暗号化されたデータがファイル鍵としてステップ107で用いられる。
【0083】
キーボードのキー入力の間隔は、そのときどきに応じてランダムな値となる。このランダムな値をさらに暗号化して鍵が生成されるので、第三者による鍵の推測を非常に困難なものとできる。
【0084】
ハードウェア回路(鍵生成回路)によって鍵を生成することもできる。この場合に、この鍵生成回路は、コンピュータ・システム1の内部または外部に備えられる。そして、この鍵生成回路は、暗号化/復号プログラムからの鍵生成の命令(ステップ106)を受けることにより鍵を生成する。第15図は、鍵生成回路の構成の一例を示すブロック図である。この鍵生成回路は、擬似乱数発生回路50、シフト・レジスタ58および暗号化回路59から構成されている。擬似乱数発生回路50は4ビット・カウンタ51〜54、および排他的論理和演算を行うゲート55〜57によって構成されている。
【0085】
カウンタ51の出力Q4はカウンタ52およびゲート55に、カウンタ52の出力Q4はカウンタ53に、カウンタ53の出力Q4はカウンタ54にそれぞれ入力されている。カウンタ54の出力Q4はシフト・レジスタ58に、出力Q3はゲート57に、出力Q1はゲート56にそれぞれ入力されている。ゲート57の出力はゲート56に、ゲート56の出力はゲート55に、ゲート55の出力はカウンタ51にそれぞれ入力されている。
【0086】
立上げ時(電源投入時またはリセット時)に、カウンタ51〜54の全ての出力値が0となるのを防止するために、立上げ時に初期値1がゲート57に与えられる。また、カウンタ51〜54にはクロック信号が与えられる。これにより、この擬似乱数発生回路50は、原始多項式F(x)=xp+xq+1(p、qは整数)に基づく擬似乱数をカウンタ54の出力Q4から発生する。
【0087】
カウンタ54の出力Q4からの1ビットの出力データ(擬似乱数)は、シフト・レジスタ58に供給される。シフト・レジスタ58は、鍵の長さに応じて任意のビット長から構成されている。例えば、鍵がnビット(nは正の整数)ならば、シフト・レジスタ58はnビットまたはそれ以上のビットによって構成される。また、シフト・レジスタ58には出力指令信号が与えられる。この出力指令信号は、ステップ106の鍵生成の命令に相当する。この出力指令信号が与えられると、シフト・レジスタ58は格納されているデータを暗号化回路59に出力する。
【0088】
暗号化回路59には、シフト・レジスタ58からのデータが平文および鍵として入力される。そして、この暗号化回路59は、これらの平文および鍵に基づいて暗号化処理を行い、暗号文を出力する。この暗号文がステップ107で用いられるファイル鍵となる。暗号アルゴリズムには上述したDES型暗号等の種々のアルゴリズムを用いることができる。シフト・レジスタ58に格納されているデータの一部を、平文として暗号化回路59に入力することもできる。また、平文として入力されるデータの一部を、鍵として暗号化回路59に入力することもできる。さらに、シフト・レジスタ58のデータの一部を平文として、他の一部を鍵として暗号化回路59に入力することもできる。例えば、シフト・レジスタ58が12ビットの場合に、平文および鍵としてこの12ビット・データを用いることもできる。また、シフト・レジスタ58が24ビットの場合に平文として上位12ビットを、鍵として下位12ビットをそれぞれ用いることもできる。シフト・レジスタ58が18ビットの場合に、平文として上位からの12ビットを、鍵として下位からの12ビットをそれぞれ用いることもできる。平文と鍵とのビット長を異ならせてもよい。
【0089】
また、擬似乱数発生回路50および暗号化回路59を、ソフトウェア(プログラム)によって実現することもできる。
【0090】
このように、擬似乱数をさらに暗号化したデータを鍵(ファイル鍵)として用いることにより、第三者による鍵の推測を一層困難とすることができる。
【0091】
〔第2実施例〕
第16図は、第2実施例における暗号化/復号装置の構成を示すブロック図である。第1実施例の暗号化/復号装置(第1図)と同じものには同じ符号が付けられている。第1実施例と異なるところは、コンピュータ・システム1aに内蔵記憶装置11(ROM、磁気ディスク記憶装置、光ディスク記憶装置等)が内蔵されていることである。また、第1実施例でFD1に格納されていた暗号化/復号プログラムと管理鍵およびFD2に格納されていた復号プログラムは、この内蔵記憶装置11にあらかじめ記憶されている。FDドライブ5には、管理鍵および暗号鍵消去プログラムが格納されたフロッピィ・ディスクFD4(以下、単にFD4という)がセットされ、また取り外される。内蔵記憶装置11に記憶されている管理鍵とFD4に格納されている管理鍵とは、同一のものである。FD4は管理者にあらかじめ配布されている。
【0092】
作成者は、内蔵記憶装置11に格納された暗号化/復号プログラムおよび管理鍵によりファイルの暗号化および復号を行う。管理者は、FD4の管理鍵および内蔵記憶装置11の復号プログラムで復号を行い、また暗号鍵消去プログラムで暗号鍵1または2の消去を行う。
【0093】
この第2実施例におけるファイルの暗号化処理、復号処理および暗号鍵消去処理の流れを示すフローチャートは、第1実施例の第6図〜第8図、第10図および第13図に示されるものと次の点を除いて同じである。すなわち、ステップ101のFD1のセットが不要となり、ステップ102において暗号化/復号プログラムが内蔵記憶装置11から読み出されて起動される。ステップ110では、管理鍵が内蔵記憶装置11から読み出される。また、ステップ131および141においてFD4がFDドライブ5にセットされる。ステップ132では、復号プログラムが内蔵記憶装置11から読み出されて起動される。
【0094】
この第2実施例の変形例として、第1実施例と同様に、復号プログラムを内蔵記憶装置11ではなくFD4にあらかじめ格納しておくものがある。
【0095】
〔第3実施例〕
第17図は、第3実施例における暗号化/復号装置の構成を示すブロック図である。第1実施例(第1図)と同じものには同じ符号が付けられている。
【0096】
この暗号化/復号装置では、アダプタ7がコンピュータ・システム1に接続されているところが第1実施例と異なる。アダプタ7は、暗号化/復号プログラム、復号プログラムおよび管理鍵を記憶する記憶装置とこのプログラムを実行する装置(プロセッサ、マイクロコンピュータ等)とを備えた装置である。
【0097】
この第3実施例におけるファイルの暗号化処理、復号処理および暗号鍵消去処理では、アダプタ7がプログラムの実行を行う。また、暗号化/復号プログラムおよび復号プログラムは、アダプタ7の内部の記憶装置から読み出される。この点を除き、この第3実施例における暗号化/復号処理は、第2実施例のものと同じであるので、ここでは説明を省略する。
【0098】
アダプタ7がフロッピィ・ディスク・ドライブを備えることもできる。そして、暗号化/復号プログラムおよび管理鍵が格納されたFD1が、このフロッピィ・ディスク・ドライブにセットされ、アダプタ7がFD1の暗号化/復号プログラムを実行して、暗号化および復号の処理を行うこともできる。
【0099】
〔第4実施例〕
第4実施例は、第1実施例における秘密鍵を、作成者が入力する(第6図のステップ108)のではなく、上述した鍵生成処理(第14図または第15図)によって自動的に生成するものである。暗号化/復号装置のハードウェアとして、第1実施例〜第3実施例のものが使用できる。
【0100】
第18図〜第20図は、第1図に示す暗号化/復号装置を使用した場合の処理の流れを示すフローチャートである。ステップ101〜107の処理は、第1実施例(第6図)と同じなので、ここでは説明を省略する。ステップ168では、秘密鍵が上述した鍵生成処理(第14図または第15図)によって自動的に生成される。生成された秘密鍵は、ファイル鍵の暗号化に用いられた後(ステップ109)、暗号ファイルのファイル名と対応づけられてFD1に格納される(ステップ169)。この暗号ファイルのファイル名は、秘密鍵の識別符号(ID)となる。以下、ステップ110〜113の処理(第1実施例と同じ)が行われる。
【0101】
暗号ファイルの復号時には(ステップ103でNO)、ステップ169でFD1に記憶された暗号ファイルのファイル名(秘密鍵のID)がFD1から読み出されて、表示装置2の表示画面に表示される(ステップ170)。続いて、復号の対象となる暗号ファイルのファイル名(秘密鍵のID)が作成者によって入力装置3からコンピュータ・システム1に入力される(ステップ171)。入力されたファイル名と対応づけられて記憶されている秘密鍵が、FD1から読み出され(ステップ172)、コンピュータ・システム1の内部メモリに記憶される。
【0102】
次に、FD3がFDドライブ6にセットされる(ステップ173)。そして、ステップ171で入力されたファイル名をもつ暗号ファイルが、FD3から読み出され(ステップ174)、コンピュータ・システム1で内部メモリに記憶される。読み出された暗号ファイルの復号が秘密鍵を用いて行われる(ステップ119、120)。
【0103】
FD2の復号プログラムおよび暗号鍵消去プログラムによる処理は、第10図および第13図にそれぞれ示されるフローチャートの処理と全く同じであるので、ここでは説明を省略する。
【0104】
この第4実施例では、秘密鍵が自動的に生成され、FD1に暗号ファイルのファイル名と対応づけられて記憶されるので、作成者は秘密鍵を管理する必要がなくなる。
【0105】
〔第5実施例〕
第5実施例は、FD1に複数のそれぞれ異なる管理鍵があらかじめ格納されているものである。第21図は、暗号化/復号装置のFDドライブ5の部分とFD1およびFD2を示している。他の部分は、第1実施例(第1図)のものと同じである。
【0106】
FD1には、n個の管理鍵(M1〜Mnとする)があらかじめ格納されている。管理鍵M1〜Mnのそれぞれには、鍵の識別符号があらかじめ付けられている。FD2には、管理鍵M1〜Mnのうちの一つの管理鍵Mi(i=1〜n)があらかじめ格納されている。管理鍵と識別符号とは、対応づけられてFD1およびFD2に格納されている。ある管理者には管理鍵Miが格納されたFD2が配布され、他の管理者には管理鍵Mj(i≠j)が格納されたFD2が配布されるといった配布形態をとることができる。
【0107】
第22および第23図は、作成者がFD1の暗号化/復号プログラムを用いて平文ファイルを暗号化する場合の処理の流れを示すフローチャートである。ステップ101〜109は第1実施例の処理(第6図)と同じであるので、説明を省略する。
【0108】
秘密鍵を用いてファイル鍵が暗号化された後(ステップ109)、管理鍵の識別符号がFD1から読み出されて、表示装置2の表示画面に表示される(ステップ181)。管理鍵の内容は表示されない。作成者は、表示された識別符号の一つを選択する(ステップ182)。選択された識別符号に対応する管理鍵が読み出される。そして、この管理鍵を用いてファイル鍵が暗号化されて暗号鍵2が生成される(ステップ183)。続いて暗号ファイルが作成され(ステップ111)、FD3に格納される(ステップ112、113)。
【0109】
この暗号ファイルは、第24図に示されるデータ構造を有する。すなわち、暗号鍵2と暗号文との間に、ファイル鍵を暗号化して暗号鍵2を生成するときに用いられた管理鍵の識別符号が置かれる。この管理鍵の識別符号は、管理者がFD2の復号プログラムを用いて暗号ファイルの復号を行う場合に用いられる。第25図、第26図および第27図は、管理者がFD2の復号プログラムを用いて暗号ファイルの復号を行う場合の処理の流れを示すフローチャートである。
【0110】
ステップ131〜117の処理は、第1実施例(第10図)と同じであるので説明を省略する。FD3から暗号ファイルが読み出されると(ステップ117)、暗号ファイルに含まれている管理鍵の識別符号が読み出される。この管理鍵の識別符号に対応する管理鍵がFD2から読み出される。識別符号に対応する管理鍵がFD2に格納されていれば(ステップ185でYES)、ステップ134および135の処理(第10図と同じ)が行われる。識別符号に対応する管理鍵がFD2に格納されていなければ(ステップ185でNO)、復号できないことを告げるメッセージが表示装置2の表示画面に表示され(ステップ186)、処理は終了する。
【0111】
作成者が暗号ファイルの復号を行う場合(ステップ103でNO)の処理も第8図(第1実施例)と全く同じであるので、このでは説明を省略する。また、FD2の暗号鍵消去プログラムによる暗号鍵1の消去処理も第13図(第1実施例)に示されるフローチャートと同じであるので、説明を省略する。
【0112】
この第5実施例では、作成者は、平文ファイルの暗号化を行うときに、その暗号ファイルの管理者が所持する管理鍵を選択できる。すなわち、作成者は、暗号ファイルごとに管理鍵を使い分けることができる。
【0113】
この第5実施例の変形例として、第2実施例のように内蔵記憶装置11を備えたもの、第3実施例のようにアダプタ7を備えたものおよび第4実施例のように秘密鍵を自動生成するものがある。
【0114】
〔第6実施例〕
第6実施例は、FD1に複数のそれぞれ異なる管理鍵が、FD2にはこれらの複数の管理鍵のうちのすべてまたは一部があらかじめ格納されているものである。第28図は、暗号化/復号装置のFDドライブ5の部分とFD1およびFD2を示している。他の部分は、第1実施例(第1図)のものと同じである。
【0115】
FD1には、n個の管理鍵M1〜Mnがあらかじめ記憶されている。FD2には、一例として、管理鍵M1〜Mnのうちの3つの管理鍵Mi、MjおよびMk(i、j、k=1〜n、i≠j≠k)があらかじめ格納されている。管理鍵M1〜Mnのそれぞれには、鍵の識別符号があらかじめ付けられている。管理鍵と識別符号とは、対応づけられてFD1およびFD2に格納されている。
【0116】
作成者がFD1の暗号化/復号プログラムを用いてファイルの暗号化および復号を行う処理は第5実施例と同じである。また、管理者がFD2の復号プログラムを用いて復号するときの処理および暗号鍵消去プログラムを用いて暗号鍵1を消去するときの処理も、第5実施例(第1実施例)と同じである。したがって、ここではその説明を省略する。
【0117】
この第6実施例の変形例として、第2実施例のように内蔵記憶装置11を備えたもの、第3実施例のようにアダプタ7を備えたものおよび第4実施例のよう秘密鍵を自動生成するものがある。
【0118】
〔第7実施例〕
第7実施例は、管理鍵を新たに生成するものである。暗号化/復号装置のハードウェアとして、第5実施例または第6実施例のものを用いることができる。
【0119】
第29図〜第31図は、作成者がFD1の暗号化/復号プログラムを用いてファイルの暗号化を行う場合の処理の流れを示すフローチャートである。ステップ101〜109および181の処理は、第5実施例(第22図および第23図)と同じであるので、説明を省略する。作成者は、表示された管理鍵の識別符号のいずれか一つに対応する管理鍵を用いてファイル鍵を暗号化するかどうかを選択する(ステップ191)。表示された識別符号に対応する管理鍵のいずれか一つを用いるならば(ステップ191でNO)、表示された管理鍵の識別符号の一つが選択される(ステップ182)。そして、選択された識別符号の管理鍵によってファイル鍵が暗号化され、暗号鍵2が生成される(ステップ183)。以下、第23図と同様にしてステップ111〜113の処理が行われる。
【0120】
FD1に格納されている管理鍵を用いず、新たな管理鍵を生成する場合には(ステップ191でYES)、新たな管理鍵(Mn+1とする)が上述した鍵生成処理(第14図または第15図)によって生成される(ステップ192)。生成された管理鍵Mn+1には識別符号が生成され、これと対応付けられる。そして、管理鍵Mn+1とその識別符号とがFD1に格納される(ステップ193)。続いて、FD2が、作成者によってFDドライブ5にセットされる(ステップ194)。FD2が複数あるならば、このうちの任意の一つのFD2をセットすることができる。そして、セットされたFD2に管理鍵Mn+1とその識別符号が格納される(ステップ195)。続いて、ステップ183からの処理が行われる。
【0121】
作成者が、FD1の暗号化/復号プログラムを用いて、復号処理を行う場合(ステップ103でNO)の処理は、第8図と全く同じなので説明を省略する。また、管理者が、FD2の復号プログラムを用いて行う復号処理は、第5実施例(第25図、第26図および第27図)と全く同じなので、説明を省略する。また、FD2の暗号鍵消去プログラムによる暗号鍵1の消去処理も第13図に示されるフローチャートと同じであるので、説明を省略する。
【0122】
生成された新たな管理鍵Mn+1をFDに格納することにより、管理鍵Mn+1をもつ新しいFD2を作成することができる。
【0123】
この第7実施例の変形例として、第2実施例のように内蔵記憶装置11を備えたもの、第3実施例のようにアダプタ7を備えたものおよび第4実施例のように秘密鍵を自動生成するものがある。
【0124】
〔応用例〕
(1)企業等における管理体制に対応した管理鍵の配布
第32図は、この暗号化/復号装置を用いた一つの応用例を示している。企業等では、社長をトップにその下に部長、課長、係長という階層的な管理体制がとられている。
【0125】
社長には、管理鍵MA、MB、MCおよびMDが格納されているFD21があらかじめ配布されている。部長には、管理鍵MB、MCおよびMDが格納されているFD22があらかじめ配布されている。課長には、管理鍵MCおよびMDが格納されているFD23があらかじめ配布されている。また、係長には、管理鍵MDが格納されているFD24があらかじめ配布されている。また、FD21〜FD24には、第5または第6実施例の復号プログラムもそれぞれ格納されている。作成者には、秘密鍵Sおよび管理鍵MA〜MD(ならびに暗号化/復号プログラム)が格納されたFD1が与えられている。作成者は、平社員である場合もあるし、社長等の管理者である場合もある。作成者および管理者が使用する暗号化/復号装置のハードウェアおよびソフトウェアとして、第6または第7実施例のものを用いることができる。
【0126】
管理鍵MAは暗号情報A(暗号ファイル)に含まれる暗号鍵2をファイル鍵に、管理鍵MBは暗号情報Bに含まれる暗号鍵2をファイル鍵にそれぞれ復号できる。管理鍵MCは暗号情報Cに含まれる暗号鍵2を、管理鍵MDは暗号情報Dに含まれる暗号鍵2をそれぞれ復号できる。また、暗号情報Aを社長のみが復号して見ることができる最も機密性の高い情報とし、暗号情報Bを部長以上の者が見ることができる情報とする。暗号情報Cを課長以上の者が見ることができる情報とし、暗号情報Dを係長以上の者が見ることができる情報とする。
【0127】
作成者は、作成した情報の機密性に応じて、管理鍵を選択して暗号化を行う。例えば、社長のみが見ることができる情報の場合には、管理鍵MAを用いてファイル鍵の暗号化が行われる。このように管理者に一または複数の管理鍵を配布し、情報の機密性(重要性)のレベルに応じて、各管理鍵を使い分けることにより、情報の機密性のレベルに応じた暗号情報の管理および作成を行うことができる。
【0128】
(2)ネットワーク・データ・ベース・システム
第33図は、ネットワーク・データ・ベース・システムの構成を示すブロック図である。このネットワーク・データ・ベース・システムは、データ・ベース・システム60、クライアント63〜68(通信装置を備えたコンピュータ・システム等)およびこれらのデータ・ベース・システム60とクライアント63〜68とを接続する通信回線69から構成されている。データ・ベース・システム60は、サーバ61(通信装置または通信回路を備えたコンピュータ・システム等)および記憶装置62(磁気ディスク記憶装置、光ディスク記憶装置等)から構成されている。サーバ61は、記憶装置62に記憶されている情報(ファイル)の検索装置を含んでいる。
【0129】
クライアント63〜68には、ハードウェアおよびソフトウェアとして第5または第6実施例のものを用いることができる。ハードウェアには通信回線69との通信を行う通信装置が設けられている。記憶装置62には、暗号ファイル1〜4が格納されている。暗号ファイル1は、暗号情報(暗号化された情報)A1および暗号鍵KA1を含んでいる。暗号ファイル2は暗号情報A2および暗号鍵KA2を、暗号ファイル3は暗号情報Bおよび暗号鍵KBを、暗号ファイル4は暗号情報Cおよび暗号鍵KCをそれぞれ含んでいる。暗号鍵KA1〜KCは、上述した暗号鍵2に対応するものである。必要ならば、暗号鍵1に対応する鍵も各ファイルに含めることができる。
【0130】
暗号鍵KA1は、暗号情報A1を生成(平文を暗号化して暗号情報A1を生成)するときに用いられたファイル鍵を管理鍵MAで暗号化したものである。暗号鍵KA2は、暗号情報A2を生成するときに用いられたファイル鍵を管理鍵MAで暗号化したものである。暗号鍵KBは、暗号情報Bを生成するときに用いられたファイル鍵を管理鍵MBで暗号化したものである。暗号鍵KCは、暗号情報Cを生成するときに用いられたファイル鍵を管理鍵MCで暗号化したものである。
【0131】
管理鍵MAは、クライアント63および66にのみあらかじめ配布されている。管理鍵MBは、クライアント63、64、66および67にのみあらかじめ配布されている。管理鍵MCは、クライアント63〜68のすべてにあらかじめ配布されている。
【0132】
サーバ61とクライアント63〜68とは、通信回線69を介して通信を行う。クライアント63〜68は、参照(閲覧)したい暗号ファイルを指定して、参照要求をサーバ61に送信する。サーバ61は、この要求を受信し、指定された暗号ファイルを記憶装置62において検索する。検索された暗号ファイルは、サーバ61から通信回線69を介して参照要求側のクライアントに送信される。管理鍵MA〜MCをもつクライアント63および66は、暗号ファイル1〜4のすべてを復号して参照(閲覧)することができる。管理鍵MBおよびMCのみをもつクライアント64および67は、暗号ファイル3および4のみを復号して参照することができる。管理鍵MCのみをもつクライアント65および68は、暗号ファイル4のみを復号して参照することができる。
【0133】
このように、暗号情報のファイル鍵を異なった管理鍵で暗号化し、各クライアントに配布する管理鍵を異ならせることにより、各クライアントが参照できるファイル(情報)を異ならせることができ、ファイル閲覧の差別化を行うことができる。
【0134】
(3)電子メール・システム
第34図は、電子メール・システムの構成を示すブロック図である。この電子メール・システムは、メール・ゼンタ70、通信装置73〜78およびこれらのメール・センタ70と通信装置73〜78とを接続する通信回線79から構成されている。メール・センタ70は、通信装置71(通信回路を備えたコンピュータ・システムを含む)および記憶装置72(磁気ディスク記憶装置、光ディスク記憶装置等)から構成されている。通信装置73〜78のすべてがメールの送信局となることができるし、受信局となることもできる。通信装置73〜78のハードウェアおよびソフトウェアとして第5〜第7実施例のものを用いることができる。ハードウェアには通信回線79との通信を行う通信装置が設けられている。
【0135】
通信装置74(送信局)がメール(メールaとする)を通信装置75および77(受信局)に送信する場合について考える。送信局74は管理鍵MAを生成し、この鍵MAを受信局75および77に配布(送信)する。また、送信局74では、鍵kaが生成され、この鍵kaを用いてメールaが暗号化されて暗号メールAが生成される。鍵kaは管理鍵MAを用いて暗号化されて暗号鍵KAが生成される。そして、暗号メールAおよび暗号鍵KAにより暗号ファイル1が作成される。この暗号ファイル1はメール・センタ70に送信され、記憶装置72に記憶される。これと同時に、送信局74は、受信局75および77にメールa(または暗号メールA)を送信したという通知(通知NAとする)を送信する。通知NAには、メール・センタ70に格納されている複数のファイル(メール)の中から暗号ファイル1を識別するための識別符号が含まれている。
【0136】
通知NAを受信した受信局75および77は、通知NAに含まれる識別符号に基づいてメール・センタ70の暗号ファイル1を読み出す。そして、受信局75および77は、管理鍵MAを用いて暗号ファイル1に含まれている暗号鍵KAを復号して鍵kaを得、さらに鍵kaを用いて暗号メールAを復号してメールaを得る。
【0137】
送信局74は、管理鍵MAを通知NAに先だって受信局75および77に送信せずに、通知NAの中に管理鍵MAを含めて送信してもよい。
【0138】
送信局74が、メールaと異なるメール(メールbとする)を通信装置73(受信局)に送信する場合についても、これと同様にして処理される。すなわち、送信局74で生成された管理鍵MBが受信局73に送られる。メールbが、生成された鍵kbを用いて暗号化されて暗号メールBが生成される。鍵kbは管理鍵MBを用いて暗号化され暗号鍵KBが生成される。暗号メールBおよび暗号鍵KBによって暗号ファイル2が作成され、この暗号ファイル2がメール・センタ70に格納される。続いて、通知NBが受信局73に送信される。受信局73は、暗号ファイル2をメール・センタ70から読みだす。そして、受信局73では、暗号ファイル2に含まれる暗号鍵KBが管理鍵MBを用いて復号され、鍵kbが得られ、さらに暗号メールBが鍵kbを用いて復号され、メールbが得られる。
【0139】
この電子メール・システムでは、発信局から複数の受信局にメールを送信する場合であっても、1カ所のメール・センタにメールを送信するだけでよいので、発信局側の通信コストを軽減することができる。また、メールの受信者でない第三者がメール・センタに格納された暗号メールまたは通信回線上の暗号メールを閲覧できたとしても、その内容を知ることはできないので、メールの秘密化を図ることができる。
【0140】
この電子メール・システムの他の例として、暗号ファイル(暗号メールおよび暗号鍵)を格納する記憶装置を、通信装置73〜78がそれぞれ備えているものがある。送信局では、送信する暗号ファイルがその送信局に備えられている記憶装置に記憶される。受信局は、送信局の記憶装置から暗号ファイルを読み出す。この場合に、メール・センタを設置する必要はなくなる。
【0141】
(4)電子掲示板システム
第35図は、電子掲示板システムの構成を示すブロック図である。この電子掲示板システムは、電子掲示板装置80、クライアント83〜88(通信装置または通信回路を備えたコンピュータ・システム等)およびこれらの電子掲示板80とクライアント83〜88とを接続する通信回線89から構成されている。電子掲示板装置80は、サーバ81(通信装置または通信回路を備えたコンピュータ・システム等)および記憶装置82(磁気ディスク記憶装置、光ディスク記憶装置等)から構成されている。
【0142】
電子掲示板装置80は、掲示板を電子化したものである。クライアント83〜88は、掲示したい情報を、サーバ81を介して記憶装置82に格納する。記憶装置82に格納された掲示情報は、掲示板に掲示された情報と同じように、クライアント83〜88のすべてが参照できる。
【0143】
サーバ81には、暗号化/復号プログラム(または暗号化(暗号)回路)および鍵生成プログラム(または鍵生成回路)が含まれている。クライアント83〜88がサーバ81に管理鍵の生成要求を発すると、サーバ81は管理鍵を生成する。生成された管理鍵は、管理鍵の生成要求を発したクライアントに送信される。このクライアントは、生成された管理鍵を、掲示板の情報を見てほしい他のクライアントに配布するとともに、自らもこの管理鍵を保持する。管理鍵が配布されたクライアントも、配布された管理鍵を保持する。
【0144】
一例として、クライアント83(Mr.小沢)がクライアント87(Mr.細川)にのみ参照(閲覧)させたい情報(情報aとする)を電子掲示板に掲示する場合について考える。クライアント83は、サーバ81に管理鍵の生成要求を発する。サーバ81によって生成された管理鍵(MAとする)は、クライアント83に送られる。クライアント83は管理鍵MAをクライアント87に送信(配布)するとともに、自らも保持する。クライアント83は、電子掲示板に掲示する情報aおよび管理鍵MAを、サーバ81に送信する。サーバ81は、鍵生成プログラム(または鍵生成回路)によって鍵kaを生成する。そして、サーバ81は、この鍵kaを用いて掲示情報aを暗号化して暗号情報Aを生成する。また、サーバ81は、この鍵kaを管理鍵MAを用いて暗号化して暗号鍵KAを生成する。これらの暗号情報A、暗号鍵KAおよびMr.細川宛の掲示情報であることを告げるメッセージ“Mr.細川”によって暗号ファイル1が構成される。この暗号ファイル1は、記憶装置82に格納され、掲示される。メッセージ“Mr.細川”は暗号化されず、そのまま掲示される。
【0145】
この掲示情報は、クライアント83〜88のすべてが参照できるが、暗号情報Aを復号して参照できるのは、管理鍵MAをもつクライアント87(Mr.細川)と情報の掲示元のクライアント83(Mr.小沢)のみである。クライアント87は、メッセージ“Mr.細川”を見て、自分宛の掲示であることを確認する。そして、クライアント87は、暗号情報Aの復号要求および管理鍵MAをサーバ81に送信する。サーバ81は、管理鍵MAを用いて暗号鍵KAを鍵kaに復号し、鍵kaを用いて暗号情報Aを情報aに復号する。情報aは、クライアント87に送信される。これにより、クライアント87は、掲示情報aの内容を知ることができる。
【0146】
クライアント83がクライアント84(Mr.河野)にのみ参照させたい情報(暗号ファイル2)がある場合にも、同様の処理が行われる。
【0147】
このように、管理鍵を用いた暗号化処理を電子掲示板システムに応用することにより、特定の者のみが情報を参照(閲覧)できる電子掲示板システムを実現することができる。
【0148】
クライアント83〜88が、鍵生成プログラム(または鍵生成回路)および暗号化/復号プログラム(または暗号化(復号)回路)の両方または一方を備え、上述したサーバ81が行った鍵生成、ならびに掲示情報および鍵の暗号化処理の両方または一方を行うこともできる。
【0149】
(5)認証子の暗号化/復号
第36図は、上述した電子メール・システムや電子掲示板システムにおける情報の送受信において認証(送信された情報を確かに受け取ったか否かの判定)を行う場合に用いられる認証子に暗号化/復号処理を応用したものを示している。通信システムのハードウェアとして、上記電子メール・システムや電子掲示板システムものが使用できる。送信装置200および受信装置220のハードウェアとして第1〜第7実施例の暗号化/復号装置に通信装置を設けたものを使用できる。また、これらの装置のソフトウェアまたはハードウェアとして、第1〜第7実施例のものに、後述する認証子の暗号化および復号の処理を行うソフトウェアまたはハードウェアが付加される。
【0150】
送信装置200および受信装置220のそれぞれには、同一の管理鍵205および224があらかじめ与えられている。
【0151】
送信装置200では、鍵204が生成(または操作者によって入力)される。そして、受信装置220への送信情報201(上記の掲示情報やメール等)がこの鍵204を用いて暗号化され、暗号情報211が生成される。鍵204は管理鍵205を用いて暗号化されて暗号鍵212が生成される。また、受信装置220が情報を確かに受け取ったかどうかを確認するための認証子202も鍵204を用いて暗号化されて暗号認証子213(暗号認証子1)が生成される。認証子202は、送信者が任意に定めた記号(文字列等)や文章等からなる。これらの暗号情報211、暗号鍵212および暗号認証子213を含む送信情報210は、受信装置220に送信される。
【0152】
受信装置220では、送信情報210に含まれる暗号鍵212が管理鍵224を用いて復号され、鍵223が得られる。この鍵223はもちろん鍵204と同一のものである。そして、送信情報210に含まれる暗号情報211は、鍵223を用いて復号され、情報221(情報201と同じもの)が得られる。送信情報210に含まれる暗号認証子213も、鍵223を用いて復号され、認証子222(認証子202と同じもの)が得られる。さらに、受信装置220では、認証子222が管理鍵224を用いて暗号化されて暗号認証子231(暗号認証子2)が生成される。この暗号認証子231を含む返信情報230は、受信装置220から送信装置200に送信(返信)される。
【0153】
送信装置200では、返信情報230に含まれる暗号認証子231が管理鍵205を用いて復号され、認証子203が得られる。そして、この認証子203が認証子202と同一のものかどうかが確認される。これらの認証子202と203とが同一のものであれば、送信情報210が正しい受信装置220(受信者)に受信されたことが確認される。これにより、正しい受信装置(受信者)以外のものが情報を受信したにもかかわらず、正しい受信者になりすまして認証子を返信するといった不正な認証を防止することができる。
【0154】
送信装置200では、認証子202を管理鍵205を用いて暗号化し、受信装置220に送信することもできる。また、受信装置220では、受信した認証子222を鍵223を用いて暗号化し、送信装置200に返信してもよい。また、管理鍵は、送信装置200から受信装置220に前もって秘密裏に送信しておくこともできる。
【0155】
〔第8実施例〕
(1)システム構成および暗号化/復号処理
第37図は、第8実施例における暗号化/復号装置の構成を示すブロック図である。第37図において第1図に示すものと同一物には同一符号を付して説明を省略する。
【0156】
第37図に示す暗号化/復号装置では1つのスーパバイザ・フロッピィ・ディスク(以下SVFDという)とSVFDによって管理される複数のオペレーション・フロッピィ・ディスク(以下OPFDという)とが用いられる。
【0157】
暗号化/復号システム(一般には複数の暗号化/復号装置が含まれる)ごとに、1つのSVFDが用いられる。一の暗号化/復号システムに用いられるSVFDと他の暗号化/復号システムに用いられるSVFDとを識別するために、SVFDには固有の情報IDsが付けられる。IDsは、SVFDに固有の名称と固有の識別データとから構成される。SVFDに固有の名称は管理者(例えば、社長、社長秘書など)によって装置に入力される。SVFDに固有の識別データには、乱数データなどが用いられる。固有の名称と固有の識別データtからSVFDのIDsが構成されているので、SVFD固有の名称として同一の名称が入力されても、一般的にIDsは異なる。これにより複数のSVFDを相互に識別できる。
【0158】
またOPFDにも固有の情報IDmが付けられる。IDmもOPFDに固有の名称と固有の識別データとから構成される。OPFDに固有の名称は管理者または暗号文の作成者によって装置に入力される。OPFDに固有の識別データには、乱数データなどが用いられる。固有の名称と固有の識別データとからOPFDのIDmが構成されているので同一の名称が入力されても、一般的にIDmは異なる。これにより複数のOPFDを相互に識別できる。
【0159】
OPFDには作成者用のOPFD、管理用のOPFDおよび被管理OPFDがある。
【0160】
作成者用のOPFDは暗号文データの作成者がもつOPFDである。作成者用のOPFDには、後述するように暗号化された秘密鍵47Eおよび暗号化された作成者自身の管理鍵48Eが格納されている。平文データの暗号化処理においては、秘密鍵47または管理鍵48を用いてファイル鍵44が暗号化される。また暗号文データの復号においては、秘密鍵47を用いて暗号化されたファイル鍵44が復号される。また暗号文データの復号においては、秘密鍵47を用いて暗号化されたファイル鍵44が得られる。この復号されたファイル鍵44を用いて暗号文データが復号される。
【0161】
管理用OPFDは、一の作成者用のOPFDに格納されるものと同じ暗号化された管理鍵48Eを格納している。一の作成者用のOPFDに格納されている暗号化された管理鍵48Eを、他の作成者用のOPFDに移すことにより管理用OPFDを作成してもよいし、作成者用OPFDをつくるときに同時に管理専用OPFDをつくってもよい。作成者用のOPFDに格納されている暗号化された管理鍵48Eを用いて暗号化されたファイル鍵44を、管理用のOPFDに格納されている暗号化された管理鍵48Eを用いて復号することができる。さらに一の管理用のOPFDに格納されている暗号化された管理鍵48Eを、他の管理用のOPFDに移すこともできる。
【0162】
被管理OPFDとは、そこに記憶されている暗号化された管理鍵48Eと同じものが管理用のOPFDに格納されているOPFDをいう。被管理OPFDは管理用OPFDを用いて管理される。作成者用OPFDは被管理OPFDになることもあるし管理用OPFDになることもある。
【0163】
特に断わらない限り、OPFDは、管理用のOPFDおよび被管理用のOPFDの両方を含む。
【0164】
SVFDにはOPFDに格納されている暗号化された管理鍵48Eと同一である。暗号化された管理鍵48Eが複数のOPFDのそれぞれに対応して複数個格納されている。これによりOPFDに格納されている暗号化された管理鍵48Eを用いて暗号化されたファイル鍵44を、SVFDに格納されている暗号化された管理鍵48Eを用いて復号できる。復号されたファイル機44を用いて暗号文データを復号できる。このようにOPFDはSVFDによって管理される。
【0165】
また暗号ファイル43(FD3に格納されている)には固有のファイル番号IDfが含まれる。このIDfは暗号ファイル43を識別するためのものである。
【0166】
この実施例による暗号化/復号装置を会社で利用する場合には、SVFDは管理者である社長または社長秘書に渡され、管理用のOPFDは、部長、課長などの管理職の者に渡され、作成者用のOPFDは、作成者である一般社員によって所持される。SVFDをもつ社長または社長秘書はすべての社員が作成した暗号文データを復号できる。管理用のOPFDをもつ管理職は、自分の部下のもつOPFDに格納されている暗号化された管理鍵48Eを管理用のOPFDに移すことにより、自分の部下が作成した暗号文データを復号できる。作成者用のOPFDをもつ一般社員は、自分で作成した暗号文データの復号が可能となる。
【0167】
第37図に示す暗号化/復号装置においては、第1図に示す暗号化/復号装置の構成に、FDドライブ7およびハード・ディスク・ドライブ(以下HDドライブという)8が加えられている。もちろんFDドライブ7はFDドライブ5またはFDドライブ6と兼用することもできる。
【0168】
第37図に示す暗号化/復号装置においてはFDドライブ5に第1のOPFD1、またはSVFDがセットされ、また取り外される。FDドライブ7には第2のOPFD2がセットされ、取り外される。OPFD1が作成者用のOPFD、OPFD2が管理用のOPFDである。
【0169】
HDドライブ8は、ハード・ディスク(以下HDという)に記録されているデータの読出しおよびHDへのデータの記録を行なうものである。
【0170】
作成者用のOPFD1および管理用のOPFD2には後に後述するように各種プログラムを含むプログラム・ファイル、秘密鍵ファイル、管理鍵ファイル等が格納されている。SVFDには各種プログラムを含むプログラム・ファイル、管理鍵ファイル、登録名称閲覧用ファイル等が格納されている。
【0171】
第37図に示す暗号化/復号装置においては、OPFD1とOPFD2との相互間でのファイルの転送、OPFD1またはOPFD2とHD相互間でのファイルの転送およびSVFDとHDとの相互間でのファイルの転送が可能である。
【0172】
第38図は作成者用のOPFD1に格納されている暗号化/復号プログラムによる暗号化処理の様子を示している。第39図はこの暗号化/復号プログラムによる復号処理の様子を示している。第38図および第39図に示す処理において、第4図および第5図に示すものと同じ処理については重複説明をさける。
【0173】
第38図に示す暗号化処理においては、暗号化処理で用いられる秘密鍵47および管理鍵48は暗号化された上で(これらの暗号化された秘密鍵および管理鍵をそれぞれ符号47Eおよび48Eで示す)OPFD1(第38図および第39図においては第1のOPFD1が示されているが、複数のOPFDのうち他のOPFDであってよい)に格納されている。暗号化された秘密鍵47Eおよび管理鍵48EはOPFD1から読み出されて復号される。この復号プログラムがOPFD1が有している。復号により得られた秘密鍵47を用いてファイル鍵44が暗号化され暗号鍵1が作られ、管理鍵48を用いて暗号鍵2が作られる。これらの暗号鍵1および2が暗号ファイル43に格納されるのは第4図に示す暗号処理と同じである。
【0174】
第39図に示す復号処理においては、OPFD1から暗号化された秘密鍵47Eが読み出され、これが復号されることにより秘密鍵47が得られる。暗号ファイル43から暗号鍵1が読み出され、秘密鍵47を用いて暗号鍵1が復号される。これによりファイル鍵44が得られ、このファイル鍵44を用いて暗号文データが平文データに復元されるのは第5図に示す復号処理と同じである。
【0175】
第40図は、管理用のOPFD2またはSVFDを用いて作成者用のOPFD1によって暗号化したデータを復号する処理を示しており、第9図に示す処理に対応している。
【0176】
管理用のOPFD2またはSVFDには作成者用のOPFD1の管理鍵48と同じ管理鍵が暗号化されて記憶されている。管理用のOPFD2またはSVFDがFDドライブ7または5にセットされ、暗号化された管理鍵48Eが読出されて復号され、管理鍵48となる。暗号化された管理鍵48Eの復号プログラムはOPFD2およびSVFDにも記憶されている。復号された管理鍵48を用いて、暗号ファイル43に格納されている暗号鍵2が復号されファイル鍵44が得られる。このファイル鍵44を用いて暗号文データが平文データに復号されるのは第9図に示す処理と同様である。
【0177】
このように、第37図に示す暗号化/復号装置では作成者用のOPFD1に格納されている管理鍵を用いて暗号処理を行ない、得られた暗号文データを、管理用のOPFD2に格納されている暗号化された管理鍵48EまたはSVFDに格納されている暗号化された管理鍵48Eを用いて復号することが可能である。
【0178】
(2)ファイルの内容
第41図は暗号ファイル43の内容を示している。
【0179】
暗号ファイル43には、この暗号ファイル43を作成するのに用いたOPFDのバージ番号、後述のように暗号の作成者による復号の禁止が設定されているかどうかを表わす作成者復号禁止情報(作成者復号禁止情報を設定するのに用いたOPFD固有の名称を含む)、暗号ファイルの作成に用いられたOPFDに格納されているSVFDの固有情報IDs、暗号ファイルの作成に用いられたOPFDに格納されているOPFDの固有情報IDm、暗号ファイル43に固有のファイル番号IDf、平文データのファイル名、暗号鍵1、暗号鍵2、暗号文の大きさおよび暗号文データが格納される。
【0180】
第42図および第43図はSVFDに格納されたファイルの内容を示している。SVFDに格納されたファイルには第42図に示す管理鍵ファイル1と第43図に示す登録名称閲覧用ファイルとが含まれている。
【0181】
第42図を参照して、管理鍵ファイル1にはSVFDの正当な使用者を確認するためのパスワードを暗号化した暗号化パスワード、SVFDのバージョンを示すバージョン番号(このバージョン番号はSVFDの作成時または出荷前に登録される)、およびSVFDのIDsが格納されている。さらに管理鍵ファイル1には、すべてのOPFDのIDmと、OPFDに格納されているものと同じ暗号化された管理鍵48Eと、個別化フラグ(OPFDは後述のようにIDmを構成する名称が付与された場合を個別化されている、名称が付与されていない場合を個別化されていないという)とからなる組が、OPFDの数だけ格納されている。
【0182】
第43図を参照して、登録名称閲覧用ファイルにはSVFDのIDsが格納されている。さらに登録名称閲覧用ファイルには、すべてのOPFDの名称が格納されている。またOPFDが管理用のOPFD2であるときには、その管理用のOPFD2によって管理されるすべての被管理OPFDの名称も登録名称閲覧用ファイルに格納される。
【0183】
第44図および第45図はOPFDに格納されたファイルの内容を示している。OPFDに格納されたファイルには第44図に示す秘密鍵ファイルと第45図に示す管理鍵ファイル2とが含まれている。
【0184】
第44図を参照して、秘密鍵ファイルにはOPFDのバージョンを示すバージョン番号、OPFDの正当な使用者を確認するためのパスワードを暗号化した暗号化パスワード、SVFDのIDs、自分のIDm、および自己の管理鍵48を暗号化した暗号化管理鍵48Eが格納されている。
【0185】
さらに秘密鍵ファイルには暗号ファイル43に固有のファイル番号IDfおよびファイル鍵44を暗号化するための秘密鍵47が暗号化された暗号化秘密鍵47Eとの組が、作成した暗号文データの数に対応して格納されている。
【0186】
第41図を参照して、管理鍵ファイル2には自分のOPFD以外の他のOPFDのIDmとこの他のOPFDの暗号化管理鍵48Eと同じ暗号化管理鍵との組が格納されている。OPFDの管理鍵ファイル2に、これらIDmおよび暗号化管理鍵が格納されていることにより、他のOPFDの管理鍵48を用いて作られた暗号鍵2を復号でき、暗号文データの復号処理が可能となる。
【0187】
作成者用のOPFD1には、他のOPFDのIDmおよび暗号化された管理鍵48Eは一般には格納されない。この場合には作成者のOPFD1には管理鍵ファイル2は設けられていない。もっとも作成者用OPFDが管理用OPFDであれば、管理鍵ファイル2が設けられる。
【0188】
(3)SVFDのプログラムの内容
第46図はSVFDに格納されているプログラム・ファイルの内容を示している。第47図から第64図はこのプログラム・ファイルに格納されているプログラムにしたがう処理を示すフローチャートである。
【0189】
第47図および第48図は、制御プログラム1のフローチャートであり、主として表示装置2にメニュー画面を表示する処理手順を示している。
【0190】
SVFDをもつ管理者によってSVFDがFDドライブ5にセットされる。FDドライブ5によって、SVFDに格納されているプログラム・ファイルの内容を表わすデータが読出され、第46図に示すような形態でプログラム・ファイルの内容が表示装置2に表示される。
【0191】
表示装置2に表示されたプログラム・ファイル中のプログラムのうち制御プログラム1の動作指令が、入力装置3から与えられると、制御プログラム1にしたがう動作が開始する。
【0192】
第47図において制御プログラム1の動作が開始すると、SVFDに格納されている管理鍵ファイル1の内容がFDドライブ5によって読出されコンピュータ・システム1の内部メモリに記憶される(ステップ201)。
【0193】
第37図に示す暗号化/復号装置においては、SVFDに格納されているすべてのファイルの内容を一旦HDにインストールして、HDからファイルのデータを逐次読み出し暗号化処理または復号処理をすることができる。このため、SVFD、またはSVFDのファイルがインストールされたHDのいずれからデータが読み出されているかが判断される(ステップ202)。このデータの読み出し判断は、SVFDまたはHDのうちどちらからのデータの読み出し指令が入力装置3から与えられるかにより行なわれる。
【0194】
SVFDに格納されているデータの読み出し指令が与えられているときには、SVFD内の実行禁止フラグが1にセットされているかどうかが判断される(ステップ203)。これは後述のようにSVFDに格納されているファイルの内容がHDにインストールされた場合には、SVFDからのデータの読出しが禁止され、実行禁止フラグが1にセットされるからである。したがって実行禁止フラグが1にセットされているときには制御プログラム1は終了する(ステップ203でYES)。
【0195】
実行禁止フラグが1にセットされていなければ(ステップ203でNO)、SVFDの初期設定がすでに行なわれているかどうかが判断される(ステップ204)。SVFDの初期設定はSVFDの初期化ならびに後述するシステム登録処理および継承処理を含むものである。
【0196】
SVFDの初期設定が行なわれていなければ(ステップ204でNO)、SVFDの初期化が行なわれる(ステップ205)。SVFDのバージョン番号は出荷時にすでに登録されており、この初期化では消去されない。
【0197】
SVFDの初期化が終了するとシステム登録処理のメニューおよび継承処理のメニューが、表示装置2に表示される。入力装置3からの指令に応じてシステム登録処理または継承処理が行なわれる(ステップ206、207)。これらシステム登録処理および継承処理については後述する。
【0198】
SVFDの初期設定が終了していると(ステップ204でYES)、SVFDをもつ管理者により入力装置3からパスワードが入力される(ステップ210)。入力されたパスワードが、すでに管理鍵ファイル1に格納されている暗号化パスワードによって表わされるパスワードと一致するかどうかが判断される(ステップ211)。
【0199】
パスワードが一致すると(ステップ211でYES)、SVFDの正当な管理者と判断されるため、第48図を参照して、バックアップ消去処理(ステップ212)、パスワード再設定処理(ステップ213)、OPFD禁止解除処理(ステップ214)、OPFD用IDm設定処理(ステップ215)、OPFDに登録した名前を閲覧する処理(ステップ216)、自己の管理下にあるOPFDの個別化処理(ステップ217)、管理鍵登録処理(ステップ218)、管理鍵削除処理(ステップ219)、暗号文データの復号処理(ステップ220)およびファイル・チェック処理(ステップ221)のメニューが表示装置2に表示される。この表示を見て所望の処理が行なわれるように入力装置3から動作指令が与えられる。与えられた動作指令にもとづいた処理が行なわれる。それぞれの処理については後述する。
【0200】
つづいて、SVFDのバックアップ・ファイルの作成のために、バックアップ・ファイルを格納するディスク(FDかHDか)にデータを書込むために使用するドライブの指定およびディレクトリ名の入力が、SVFDの管理者によって行なわれる(ステップ208)、これにより、ステップ212〜221において生成された管理鍵ファイル1および登録名称閲覧用ファイルに格納されているデータがバックアップ・ファイルに転送される(ステップ209)。
【0201】
第49図は、システム登録プログラムの処理手順(ステップ206)を示している。
【0202】
管理者によって、入力装置3からSVFDに固有であってIDsを構成する名称が入力される(ステップ231)。入力された名称とSVFDに固有の識別データ(この固有の識別データにはたとえば乱数データ、名称が入力されたときの時刻データなどが用いられる)とからIDsが作られる(ステップ232)。管理鍵ファイル1および登録名称閲覧用ファイルに、作られたIDsが登録される(ステップ233)。
【0203】
またSVFDに登録するパスワードが、管理者によって、入力装置3から入力される(ステップ234)。入力されたパスワードが暗号化され(ステップ235)、管理鍵ファイル1に登録される(ステップ236)。パスワードは暗号化されて登録されているので、他人が読出してもその内容が知られることを防止できる。
【0204】
第50図は継承プログラムの処理手順(ステップ207)を示している。この継承プログラムは、SVFDが壊れた場合、紛失した場合などSVFDの使用ができなくなった場合に第48図ステップ209の処理において作成されたバックアップ・ファイルをもつFDまたはHDに格納されているSVFDのすべてのファイルを新たなFDに書込んで新たなSVFDを作成し、新たなSVFDによる処理を続行させるものである。
【0205】
第50図を参照して、入力装置3を用いてHDまたはFDに格納されているバックアップ・ファイルを呼出す呼出指令が与えられる(ステップ241)。呼出されたバックアッフ・ファイルから暗号化パスワードが読出され(ステップ242)、復号される(ステップ243)。
【0206】
管理者によって入力装置3からパスワードが入力されると(ステップ244)、バックアップ・ファイルから読出され復号されたパスワードと入力されたパスワードとが一致するかどうかが判断される(ステップ245)。パスワードが一致すると正当な管理者と判断されるので、バックアップ・ファイルに格納されていた管理鍵ファイル1および登録名称閲覧用ファイルのデータが新しいFDに格納される(ステップ246)。これにより、新たなSVFDが作成され、これを用いて暗号文データの復号などのSVFDを用いた処理が可能となる。
【0207】
第51図は、バックアップ消去プログラムによる処理手順(ステップ212)を示している。この処理手順はSVFDのバックアップ用として作成されたバックアップ・ファイルの消去処理を示している。
【0208】
第51図において、バックアップ・ファイルが格納されている格納先(HDかFDか)を読出すためのドライブ(HDドライブ8またはFDドライブ5、6もしくは7)が指定され、ディレクトリ名が入力される(ステップ251)。これによりバックアップ・ファイルが読出される(ステップ252)。またSVFDに格納されているIDsと読出されたバックアップ・ファイルに格納されているIDsとが比較される(ステップ253)。IDsが一致すると(ステップ253でYES)、SVFDに記憶されているデータとバックアップ・ファイルに記憶されているデータとが同一と判断される。これにより入力装置3から入力されるバックアップ・ファイル消去指令に応じてバックアップ・ファイルが消去される(ステップ254)。
【0209】
第52図は、SVFDに登録されたパスワードを他の新しいパスワードに変更するパスワード再設定プログラムの処理手順(ステップ213)を示している。
【0210】
入力装置3からパスワードを変更すべきSVFDのパスワードが入力される(ステップ261)。入力されたパスワードとパスワードを変更すべきSVFDのパスワードとが一致するとパスワードを変更しようとする者は正当な使用者と判断され(ステップ261でYES)、入力装置3から新たなパスワードが受付けられる(ステップ262)。入力された新たなパスワードは暗号化されて(ステップ263)、管理鍵ファイル1に登録される(ステップ264)。これ以後、SVFDのパスワードは新たに入力されたパスワードとなる。
【0211】
ステップ261において入力装置3から入力したパスワードと、パスワードを変更すべきSVFDのパスワードとが一致しなければ、パスワードの変更はできない(ステップ261でNO)。
【0212】
第53図は、OPFD禁止解除プログラムの処理手順(ステップ214)を示すものである。OPFDに格納されているファイルをHDにインストールしてしまうとこのOPFDを用いて暗号化処理または復号処理を行なうことは禁止される。このような場合にOPFDを用いた暗号化処理または復号処理の禁止を解除するのがOPFD禁止解除プログラムである。
【0213】
SVFDがFDドライブ5に装着され、SVFDに格納されているIDsが読出され、コンピュータ・システム1の内部メモリに記憶される。暗号化処理または復号処理が禁止されているOPFDをFDドライブ5に装着すべき旨の指示が表示装置2に表示される(ステップ271)。FDドライブ5にOPFDが装着されると、OPFDに格納されている秘密鍵ファイルが読出される(ステップ272)。秘密鍵ファイルが読出されると、秘密鍵ファイルに格納されているIDsとSVFDから読出されコンピュータ・システム1の内部メモリに記憶されているIDsとが一致するかどうかが判定される(ステップ273)。一致すればOPFDによる暗号化処理または復号処理の実行禁止が解除される(ステップ274)。これにより、ファイルがインストールされたHDが壊れHDからファイルの読出しができなくなった場合であってもOPFDに格納されたファイルの読出しが可能となる。
【0214】
第54図は、IDmをSVFDに登録するプログラムの処理手順(ステップ215)を示している。
【0215】
OPFDにはOPFDに固有の名称が設定され、それぞれのOPFDを利用する作成者によって所持される。この固有の名称をSVFDに設定する処理手順が、第54図に示すものである。
【0216】
入力装置3を用いてOPFDに固有の名称が入力される(ステップ281)。すでに入力されたOPFDの名称と同じ名称が入力されることがある。その場合には、入力された名称に何らかの名称を付加した名称をOPFDの固有の名称とすればよい。入力された固有の名称とOPFDに固有の識別データとを合わせることによりOPFDのIDmが生成される(ステップ282)。またOPFDに固有の管理鍵48が生成され(ステップ283)、暗号化される(ステップ284)。
【0217】
生成されたIDmと、暗号化された管理鍵とがSVFDの管理鍵ファイル1に登録される(ステップ285)。入力装置3から入力された固有の名称は、SVFDの登録名称閲覧用ファイルにも格納される(ステップ286)。
【0218】
つづいて生成されたIDmおよび暗号化管理鍵をOPFDに登録するかどうかが判断される(ステップ287)。入力装置3から、これらのIDmおよび暗号化管理鍵を登録する旨の指令が与えられると(ステップ287でYES)、表示装置2にOPFDの装着指示が表示される(ステップ288)。OPFDがFDドライブ7に装着されるとOPFDの秘密鍵ファイルにSVFDのIDs、自己のIDmおよび自分の暗号化管理鍵が格納される(ステップ289)。秘密鍵ファイルにIDs、IDmおよび暗号化管理鍵が格納されると、SVFDの管理鍵ファイル1においてそのIDmに対応する個別化フラグが1にセットされる。
【0219】
第55図は登録名称閲覧プログラムの処理手順(ステップ216)を示している。登録名称閲覧プログラムは、SVFDが管理するOPFDの名称を閲覧するためのものである。
【0220】
入力装置3から登録名称閲覧指令が与えられると、SVFDから管理鍵ファイル1が読込まれる(ステップ291)。管理鍵ファイル1に格納されているすべてのIDmからすべてのOPFDの名称が抽出され(IDmはOPFDの名称とOPFD固有の識別データから構成されている)、表示装置2に表示される(ステップ292)。表示装置2に表示されたOPFDの名称のうち、所望のOPFDの名称が、入力装置3から入力される(ステップ293)。
【0221】
つづいて登録名称閲覧用ファイルが読込まれる(ステップ294)。上述したように管理用のOPFD2はその管理用のOPFD2が管理する作成者のOPFD1を用いて暗号化された暗号文データを復号することができる。ステップ293において入力されたOPFDの名称が管理用のOPFDの名称であると、その管理用のOPFDが管理するOPFDの名称(被管理OPFDの名称)が検索され、検索された名称が表示装置2に表示される(ステップ295)。
【0222】
第56図はOPFD個別化プログラムの処理手順を示している(ステップ217)。
【0223】
OPFD個別化プログラムは、SVFDのIDs、OPFDのIDmiおよび暗号化管理鍵−i(第44図参照)を秘密鍵ファイルに格納する処理(個別化処理)を行うものである。
【0224】
第56図を参照して、OPFD個別化プログラムにおいてはまず表示装置2に、個別化すべきOPFDをFDドライブ7に装着するように指示が表示される(ステップ301)。
【0225】
個別化すべきOPFDがFDドライブ7にセットされると、そのOPFDに格納されている秘密鍵ファイルが読み出されコンピュータ・システム1の内部メモリに記憶される(ステップ302)。
【0226】
またSVFDの管理鍵ファイル1に格納されているIDmを構成するOPFDの名称の一覧表が表示され、一覧表に表示されたOPFDの名称のうち個別化するOPFDの名称が入力装置3から入力される(ステップ303)。入力された名称をもつOPFDを管理するSVFDのIDs、IDmおよび暗号化管理鍵がSVFDの管理鍵ファイル1から読み出され個別化すべきOPFDの秘密鍵ファイルに登録される(ステップ304)。これによりOPFDの個別化が行なわれたこととなり、SVFDの管理鍵ファイル1において個別化されたOPFDのIDmに対応した個別化フラグが1にセットされる(ステップ305)。
【0227】
個別化処理済のOPFDにはIDs、IDmおよび暗号化管理鍵48Eが格納されている。個別化処理済のOPFDがFDドライブ7に装着された場合には、すでに秘密鍵ファイルに格納されているIDs、IDmおよび暗号化管理鍵48Eに、新たに個別化処理されることにより得られるIDs、IDmおよび暗号化管理鍵48Eが上書きされる。すでに秘密鍵ファイルに格納されているIDs、IDmおよび暗号化管理鍵は消去されることとなる。したがって消去されたIDmを構成するOPFDの名称をSVFDの登録名称閲覧用ファイルから削除する必要がある。ステップ301で装着されたOPFDが個別化処理済のものであったときに再登録処理が行なわれる(ステップ306)。再登録の場合であれば(ステップ306でYES)、登録名称閲覧用ファイルが読み出され、再登録前のOPFDの名称が検索される(ステップ307)。再登録前のOPFDの名称が検索されると、検索されたOPFDの名称とその名称に対応して格納されている被管理OPFDの名称が、登録名称閲覧ファイルから消去される(ステップ308)。OPFDの再登録でなければ(ステップ306でNO)、ステップ307および308の処理はスキップされる。
【0228】
つづいて、他のOPFDを管理するために、他のOPFDに格納されている暗号化管理鍵48Eと同じ暗号化管理鍵48Eを個別化処理を受けたOPFDの管理鍵ファイル2に登録するかどうかが判断される(ステップ309)。
【0229】
管理すべきOPFDの暗号化管理鍵を管理鍵ファイル2に登録する場合には(ステップ309でYES)、管理鍵ファイル1に登録されたOPFDの名称の一覧が表示装置2に表示され、所望の名称が入力装置3から入力される(ステップ310)。入力装置3から入力された名称に対応するIDmとその名称に対応するOPFDの暗号化管理鍵がOPFDの管理鍵ファイル2に登録される(ステップ311)。
【0230】
さらに登録名称閲覧用ファイルが読み出され(ステップ312)、この登録名称閲覧用ファイルに、ステップ311で暗号化管理鍵が管理鍵ファイル2に登録されたOPFDの名称が格納される(ステップ313)。
【0231】
第57図は管理鍵登録プログラムの処理手順(ステップ218)を示している。
【0232】
管理鍵登録プログラムは、一のOPFDに、他のOPFDの暗号化管理鍵を登録するプログラムである。
【0233】
第57図において管理鍵登録指令が、入力装置3から与えられると、FDドライブ5に装着されたSVFDの管理鍵ファイル1および登録名称閲覧用ファイルが読出され、コンピュータ・システム1の内部メモリに格納される。管理鍵を登録すべき一のOPFDをFDドライブ7に装着させる指示が表示装置2に表示される(ステップ321)。一のOPFDがFDドライブ7に装着されると、そのOPFDに格納されている管理鍵ファイル2が読出され、コンピュータ・システム1の内部メモリに記憶される(ステップ322)。
【0234】
つづいてSVFDの管理鍵ファイル1に格納されている暗号化管理鍵をもつOPFDの名称が表示装置2に表示される。表示装置2に表示されたOPFDの名称の中から一のOPFDの管理鍵ファイル2に登録すべき暗号化管理鍵をもつ他のOPFDの名称が入力装置3を用いて指定される(ステップ323)。入力装置3によって指定された名称のOPFDに対応してSVFDの管理鍵ファイル1に格納されている暗号化管理鍵、およびIDmがコンピュータ・システム1の内部メモリ上で一のOPFDの管理鍵ファイル2に格納される。管理鍵ファイル2はコンピュータ・システム1の内部メモリからFDドライブ7に装着された一のOPFDに転送される。(ステップ324)。
【0235】
さらにSVFDから読出された登録名称閲覧用ファイルに格納されているOPFDの名称の中からFDドライブ7に装着された一のOPFDの名称が検索される(ステップ325)。登録名称閲覧用ファイルにおいて検索された名称をもつ一のOPFDが管理するOPFD(被管理OPFD)の名称として、ステップ324で管理鍵ファイル2に格納されたIDmを構成する名称が登録名称閲覧用ファイルに格納される(ステップ326)。
【0236】
第58図は管理鍵削除プログラムの処理手順(ステップ219)を示している。
【0237】
管理鍵削除指令が、入力装置3に入力されると削除すべき管理鍵が格納されているOPFDをFDドライブ7に装着することを指示するガイダンスが表示装置2に表示される(ステップ331)。FDドライブ7に装着されたOPFDから管理鍵ファイル2が読出され、コンピュータ・システム1の内部メモリに一旦記憶される(ステップ332)。またFDドライブ5にセットされたSVFDの管理鍵ファイル1も読出される(ステップ333)。
【0238】
OPFDから読出された管理鍵ファイル2に格納されている管理鍵をもつ被管理OPFDの名称の一覧が表示装置2に表示される(ステップ334)。
【0239】
表示装置2に表示された被管理OPFDの名称のうち、削除すべき管理鍵をもつ被管理OPFDの名称が入力装置3から入力される(ステップ335)。入力装置3から名称が入力されると、その名称によって特定されるIDmおよび暗号化管理鍵が管理鍵ファイル2から消去される(ステップ336)。
【0240】
また登録名称閲覧用ファイルから、FDドライブ7に装着されているOPFDの名称が検索される(ステップ337)。検索されたOPFDの名称に対応して格納されている被管理OPFDの名称のうち消去されたIDmを構成する名称と同じ名称の被管理OPFDの名称が検索され、登録名称閲覧用ファイルから削除される(ステップ338、339)。
【0241】
第59図および第60図は、SVFDによる、暗号文データの復号プログラムの処理手順(ステップ220)を示している。この処理は、OPFDに格納される秘密鍵および管理鍵を用いて作成された暗号文データをSVFDに格納された管理鍵を用いて復号する処理である。
【0242】
第59図において、暗号ファイルが格納されているFD3がFDドライブ6にセットされる。FD3に格納されている暗号ファイルのファイル名がすべて表示装置2に表示される。表示装置2に表示されたファイル名のうち復号すべき暗号ファイルのファイル名が入力装置3を通して選択される(ステップ341)。選択されたファイル名をもつ暗号ファイルが、FD3から読込まれる(ステップ342)。
【0243】
暗号文データの復号処理においては、低いバージョンのOPFDによって暗号化された暗号文データを、それと同等かまたはそれよりも新しいバージョンのSVFDによって復号することができる必要がある。このために暗号ファイルに格納されているOPFDのバージョンとSVFDのバージョンとの比較が行なわれる(ステップ343)。暗号ファイルに格納されているバージョンが、SVFDのバージョンよりも古ければまたは等しければ暗号文データの復号が可能であり、そうでなければ復号できない。
【0244】
暗号ファイルに格納されているバージョンが、SVFDのバージョンよりも古いまたは等しい場合には(ステップ343でYES)、SVFDの管理鍵ファイル1または登録名称閲覧用ファイルに格納されているIDsと暗号ファイルに格納されているIDsとが比較される(ステップ344)。IDsが一致しているとこのSVFDの管理下に置かれたOPFDによって暗号化されたものであり、復号可能である。これに対し、IDsが一致しないということはこのSVFDの管理下にはないOPFDによって暗号化されたものであり復号は不可能である。
【0245】
IDsが一致することにより、復号可能と判断されると(ステップ344でYES)、暗号ファイルに格納されているIDmと同じIDmが管理鍵ファイル1から検索される(ステップ345)。
【0246】
同じIDmが見つかると(ステップ345)、見つかったIDmに対応して管理鍵ファイル1に記憶されている暗号化管理鍵が読み出され復号される(ステップ346)。
【0247】
続いて暗号鍵2が、暗号ファイルから読出され、復号された管理鍵48によって復号されファイル鍵44が得られる(ステップ347)。ファイル鍵44を用いて暗号文データが復号され、平文データが得られる(ステップ348)。平文データが表示装置2に表示される(ステップ349)。
【0248】
表示装置2に表示されたデータのスクロール指示が入力されているかどうかが判断され(ステップ350)、スクロール指示が与えられている場合にはその指示にしたがってデータ・スクロール処理が行われる(ステップ354)。スクロール指示が入力されていない場合には(ステップ350でNO)、復号された平文データを格納するためのファイルを作成する指示が与えられたかどうかが判断される(ステップ351)。
【0249】
ファイルを作成する場合には、外部記憶装置4への平文データの転送指令が入力装置3から与えられ、外部記憶装置4に記憶される(ステップ352、353)。
【0250】
第61図はファイル・チェック・プログラムの処理手順(ステップ221)を示している。ファイル・チェック・プログラムは、暗号ファイルの作成者および復号禁止設定者を確認するための処理である。
【0251】
第61図において、FDドライブ6にセットされたFD3に格納された暗号ファイルが読出され、コンピュータ・システム1の内蔵メモリに記憶される(ステップ361)。SVFDの管理下に置かれたOPFDによって暗号化された暗号ファイルかどうかを確認するために、暗号ファイルに格納されているIDsとSVFDの管理鍵ファイル1または登録名称閲覧用ファイルに格納されたIDsとの比較が行なわれる(ステップ362)。
【0252】
IDsが一致すると、暗号ファイルの作成に用いたOPFDの名称が暗号ファイルから読出され、表示装置2に表示される(ステップ363)。
【0253】
また、暗号ファイルに格納されている作成者復号禁止情報が1にセットされているかどうかが判断される(ステップ364)。作成者復号禁止情報が1にセットされている場合には、作成者復号禁止処理に用いられたOPFDの名称が暗号ファイルから読出され表示装置2に表示される(ステップ365)。
【0254】
第62図は、インストール・プログラム1の処理手順を示している。インストール・プログラム1もSVFDのプログラム・ファイルに格納されている。このインストール・プログラムはSVFDに格納されているすべてのファイルをHDに転送し、HDからファイルを読み出し暗号化/復号処理を行なうものである。
【0255】
SVFDに格納されているすべてのファイルがすでにHDにインストールされているときにはSVFD内の実行禁止フラグが1にセットされインストールが禁止される。これはSVFDに格納されているファイルのコピーを防止するためである。このためまず、実行禁止フラグが1にセットされているかどうかが判断される(ステップ371)。実行禁止フラグが1にセットされていると(ステップ371でYES)、インストールできずインストール・プログラムは終了する。
【0256】
実行禁止フラグが1にセットされていなければ(ステップ371でNO)、インストール先のドライブ(HDドライブ8)を指定すべき旨およびディレクトリを入力すべき旨の指示が表示装置2に表示される(ステップ372)。この表示にもとづいて、インストール先のドライブが指定され、ディレクトリが入力装置3から入力される(ステップ373)。
【0257】
入力装置3によって指定されたインストール先のドライブのHDにすでにディレクトリが作成されているかどうかが判断される(ステップ374)。ディレクトリが作成されていない場合には(ステップ374でNO)、ディレクトリが作成され(ステップ375)、すでにディレクトリが作成されているときには(ステップ374でYES)、ステップ375の処理はスキップされる。
【0258】
また、SVFDがすでにHDにインストールされているかどうかが判断され(ステップ376)、インストールされていないときにはSVFDに格納されているすべてのファイルがHDに転送され(ステップ377)、SVFDの実行禁止フラグが1にセットされる(ステップ378)。
【0259】
第63図は逆インストール・プログラム1の処理手順を示している。逆インストール・プログラムもSVFDのプログラム・ファイルに格納されている。逆インストール・プログラムは、SVFDからHDにインストールされたファイルを再びSVFDに戻す処理を示すものである。
【0260】
第63図において、HDドライブ8の指定とディレクトリ名が入力装置3から入力される(ステップ381)。指定されたHDドライブ8によってHDに格納されているファイルのうち入力されたディレクトリ名をもつファイルが読取られ、それらのファイルのうち管理鍵ファイル1がコンピュータ・システム1の内部メモリに一旦記憶される(ステップ382)。逆インストールすべきSVFDがFDドライブ5にセットされ、SVFDの管理鍵ファイル1が読取られ、コンピュータ・システム1の内部メモリに一旦記憶される(ステップ383)。
【0261】
HDから読取られた管理鍵ファイル1に格納されているIDsとSVFDから読取られた管理鍵ファイル1に格納されているIDsとが比較される(ステップ384)。このIDsが一致するとFDドライブ5に装着されているSVFDが、HDにファイルをインストールしたSVFDであると判断され、HDに格納されていた管理鍵ファイル1と登録名称閲覧用ファイルがSVFDに転送される(ステップ385)。SVFDの実行禁止フラグが0にリセットされる。SVFDに管理鍵ファイル1と登録名称閲覧用ファイルとが転送されると、HDに格納されているHDのプログラム・ファイル、管理鍵ファイル1および登録名称閲覧用ファイルが消去される(ステップ386)。これによりHDからのファイルの読出しができなくなる。
【0262】
第64図は暗号鍵生成プログラム1の処理手順を示している。この暗号鍵生成プログラム1はSVFDのプログラム・ファイルに格納されている。また第65図は第64図に示す暗号鍵生成プログラム1にしたがって暗号鍵を生成する暗号鍵生成回路の電気的構成を示している。
【0263】
第65図を参照して、所定の入力データと初期値データまたは暗号化回路92の出力データとが加算回路91に与えられ加算される。加算回路91から出力される加算データは暗号化回路92に入力する。暗号化回路92に入力したデータは、鍵を用いて暗号化されて出力される。暗号化回路92から出力されるデータが暗号鍵として用いられる。
【0264】
このような暗号鍵生成において、鍵、加算回路91に入力する入力データおよび初期値データのうちいずれかのデータに、時刻データを用いて暗号鍵を生成するのが第64図に示す処理手順である。
【0265】
第64図において、時刻データが入力され(ステップ391)、この時刻データを第65図に示す入力データ、初期値データまたは鍵として用いて暗号データが生成される(ステップ392)。このようにして生成された暗号データがファイル鍵44、秘密鍵47または管理鍵48として用いられる(ステップ393)。
【0266】
(4)OPFDのプログラムの内容
第66図はOPFDのプログラム・ファイルの内容を示している。
【0267】
OPFDのプログラム・ファイルには、制御プログラム2、暗号化プログラム、復号プログラム2、作成者復号禁止プログラム、管理用名称閲覧プログラム、パスワード再設定プログラム2、インストール・プログラム2、逆インストール・プログラム2および鍵生成プログラムが格納されている。
【0268】
第67図から第77図はこのプログラム・ファイルに格納されているプログラムにしたがう処理を示すフローチャートである。
【0269】
第67図および第68図はOPFDの制御プログラム2のフローチャートである。
【0270】
第67図において、OPFDがFDドライブ5にセットされ、OPFDに格納されている秘密鍵ファイルが読取られる(ステップ401)。OPFDのプログラム・ファイルに格納されている各プログラム(実行プログラム)がHDにすでにインストールされているかどうかが判断される(ステップ402)。HDにイントールされていなければ、OPFD内にあるFD実行禁止フラグが1にセットされているかどうかが判断される(ステップ403)。
【0271】
FD実行禁止フラグが1にセットされていなければ(ステップ403でNO)、OPFDが個別化されているかが判断される(ステップ404)。すでに個別化されていればFDドライブにセットされたOPFDは使用可能である。つづいてOPFDの秘密鍵ファイルに暗号化パスワードが記憶されているかどうかが判断され(ステップ405)、OPFDに暗号化パスワードが記憶されていると(ステップ405でYES)、OPFDの使用者が正当な使用者かどうかを確認するために入力装置3からパスワードが入力される(ステップ406)。
【0272】
入力されたパスワードがOPFD内のパスワードと一致するかどうかが判断され(ステップ407)、一致すると(ステップ407でYES)OPFDの使用者が正当な使用者と判断され暗号化等の処理が可能となる。これにより暗号化処理(ステップ408)、復号処理(ステップ409)、作成者復号禁止処理(ステップ410)、管理用名称閲覧処理(ステップ411)、およびパスワード再設定処理(ステップ412)が可能となる。これらの各処理について詳しくは後述する。
【0273】
FDドライブ5にセットされたOPFDに暗号化パスワードが格納されていないときには(ステップ405でNO)、OPFDの正当使用者の確認のために用いられるパスワードが入力装置3から入力され(ステップ413)、暗号化されて秘密鍵ファイルに格納される(ステップ414)。
【0274】
第69図は、OPFDを用いた暗号化プログラムの処理手順(ステップ408)を示している。
【0275】
外部記憶装置4に格納されている平文ファイルのうち暗号化すべき平文ファイルが入力装置3によって選択される(ステップ421)。入力装置3によって選択された平文ファイルに格納されている平文データが表示装置3に表示される(ステップ422)。この平文データのスクロール指示が入力されていれば(ステップ423でYES)、スクロール表示が行なわれ表示装置3に表示されている平文データが、暗号化すべきデータかどうか確認される(ステップ424)。
【0276】
暗号化すべきデータであることが確認されると、秘密鍵47が生成され、これが暗号化されることにより暗号化秘密鍵47Eがつくれる(ステップ425、426)。
【0277】
FDドライブ5にOPFDがセットされ、OPFDに格納されている秘密鍵ファイルがコンピュータ・システム1の内部メモリに読取られる(ステップ427)。この秘密鍵ファイルに暗号化秘密鍵47EおよびIDfが格納される(ステップ428)。
【0278】
またファイル鍵44が生成される(ステップ429)。秘密鍵ファイルに格納されている暗号化管理鍵48Eが復号される(ステップ430)。
【0279】
生成された秘密鍵47および復号された管理鍵を用いて暗号鍵1および暗号鍵2が生成される(ステップ431、432)。
【0280】
暗号文データ、暗号鍵1および暗号鍵2を格納すべき暗号ファイルの格納先が指定され(ステップ433)、暗号ファイルが作成され格納される(ステップ434)。
【0281】
暗号文データが作成されたときには、作成された暗号文データは表示装置2に表示され暗号化されていることが確認される(ステップ435、436)。
【0282】
第70図、第71図および第72図は復号プログラムの処理手順(ステップ409)を示している。この復号プログラムはファイル鍵44を用いて暗号化された暗号文データをOPFDに格納されている暗号化秘密鍵47Eまたは暗号化管理鍵48Eを用いて復号するものである。この復号プログラムにおいては自己のOPFDを用いて暗号文データを復号する場合と、他人のOPFDを用いて暗号文データを復号する場合とがある。
【0283】
第70図において、FDドライブ5にセットされたFD3に格納されている暗号ファイルのうち復号すべき暗号ファイルが、入力装置3によって選択される(ステップ441)。
【0284】
暗号ファイルに格納されているバージョン番号が、OPFDの秘密鍵ファイルに格納されているバージョン番号と等しいかまたは古いかどうかが判断される(ステップ442)。暗号ファイルに格納されているバージョン番号がOPFDの秘密鍵ファイルに格納されているバージョン番号と等しいかまたは古ければ(ステップ442でYES)、復号が可能であるからOPFDに格納されている秘密鍵ファイルが読出される。暗号ファイルに格納されているIDsと秘密鍵ファイルに格納されているIDsとが一致するかどうかが判断される(ステップ444、445)。
【0285】
IDsが一致しなければ(ステップ444でNO)、同一のSVFDの管理下にあるOPFDによって暗号化されたものではないため復号することはできない。
【0286】
IDsが一致すると(ステップ444でYES)、同一のSVFDの管理下にあるOPFDによって暗号化されたものであり復号可能となる。IDsが一致すると暗号ファイルに格納されているIDmと秘密鍵ファイルに格納されているIDmとが一致するかどうかが判断される(ステップ445)。IDmが一致すると自分のOPFDを用いて作成した暗号文データであり秘密鍵47によって復号処理が行なわれる。IDmが不一致だと他人のOPFDを用いて作成した暗号文データであり管理鍵48によって復号処理が行なわれる。
【0287】
IDmが一致すると(ステップ445でYES)、暗号ファイルに格納されている作成者復号禁止情報が1にセットされているかどうかが判断される(ステップ446)。作成者復号禁止情報が1にセットされているとこのOPFDを利用した復号は禁止される。
【0288】
作成者復号禁止情報が1にセットされていないと(ステップ446でYES)、暗号ファイルに格納されているIDfと同じIDfが秘密鍵ファイルに格納されているかどうかが判断される(ステップ447)。このIDfが秘密鍵ファイルに格納されていると(ステップ447でYES)、確認のために第72図において表示装置2に暗号文データがスクロール表示される(ステップ448、449)。
【0289】
秘密鍵ファイルにおいて検索されたIDfに対応した暗号化秘密鍵47Eが復号され(ステップ450)、復号された秘密鍵47によって暗号鍵1が復号される(ステップ451)。これによりファイル鍵44が得られる。このファイル鍵44を用いて暗号ファイルに格納されていた暗号文データが復号される(ステップ452)。
【0290】
暗号文データが復号されると復号された平文データは表示装置3に表示される(ステップ453)。データのスクロール指示が入力されていなければ(ステップ454でNO)、外部記憶装置4に平文データが記憶され、コンピュータ・システム1の内部メモリに記憶されていた平文データは消去(復号バッファの消去)される(ステップ455)。復号データのスクロール指示が入力されている場合には(ステップ454でYES)、その指示にしたがってデータ・スクロール処理が行なわれ、データが確認される(ステップ461)。
【0291】
ステップ445においてIDmが一致しないと、他人のOPFDを用いて暗号文データを復号する処理となる。
【0292】
第71図において暗号ファイルのIDmが管理鍵ファイル2から見つけられる(ステップ456)、IDmが見つかると表示装置2に暗号文データがスクロール表示される(ステップ457、458)。検索されたIDmに対応する暗号化管理鍵48Eが検索され復号される(ステップ459)。復号された管理鍵48によって暗号鍵2が復号される(ステップ460)。これによりファイル鍵44が得られる。このファイル鍵44を用いて暗号文データが復号される(ステップ452)。
【0293】
以降の処理は秘密鍵47を用いて暗号鍵1からファイル鍵44を生成して暗号文データの復号を行なう場合と同じであるため説明を省略する。
【0294】
第73図は作成者復号禁止プログラムの処理手順(ステップ410)を示している。作成者復号禁止プログラムは暗号文を作成した作成者による暗号文の復号を禁止するものである。
【0295】
FDドライブ6に暗号ファイルを格納したFD3がセットされ、作成者復号を禁止すべき暗号ファイルが選択される(ステップ471)。またOPFDがFDドライブにセットされ、OPFDに格納されている秘密鍵ファイルがコンピュータ・システム1の内蔵メモリに読取られる(ステップ472)。
【0296】
暗号ファイルに格納されているIDsと秘密鍵ファイルに格納されているIDsとが一致するかどうかが判断される(ステップ473)。一致すると暗号ファイルを生成するのに用いたOPFDとFDドライブ5にセットされたOPFDとが同一のSVFDの管理下におかれていると判断され(ステップ473でYES)、OPFDの管理鍵ファイル2がコンピュータ・システム1の内蔵メモリに格納される(ステップ474)。
【0297】
管理鍵ファイル2の中に暗号ファイルのIDmと一致するIDmが存在すると(ステップ475でYES)、暗号ファイルはFDドライブ5にセットされたOPFDによって管理される被管理OPFDによって暗号化されたものと判断されるため、作成者復号禁止の確認が行なわれて暗号ファイルの暗号鍵1が消去される(ステップ477)。暗号鍵1が消去されてしまうので秘密鍵47を用いてもファイル鍵44を得ることができず、復号処理ができなくなる。暗号ファイルには作成者の復号が禁止されたOPFDの名称が記憶される(ステップ478)。
【0298】
第74図は管理用名称閲覧プログラムの処理手順(ステップ411)を示している。これは、自己のOPFDが管理する他人のOPFDの名称を表示するものである。すなわち他人のOPFDを利用して生成された暗号ファイルの暗号文データを、自己のOPFDに格納されている暗号化管理鍵48Eを用いて復号可能な、そのような他人のOPFDの名称の一覧表を表示する。
【0299】
OPFDがFDドライブ6にセットされると、コンピュータ・システム1に内蔵されるメモリに管理鍵ファイル2が読取られる(ステップ481)。これにより、表示装置3に自己のOPFDが管理する他人のOPFDの名称が表示される(ステップ482)。
【0300】
第75図はパスワード再設定プログラム2の処理手順(ステップ412)を示している。
【0301】
OPFDにおいてもパスワードが暗号化されて格納されているが、その変更も可能である。パスワードを変更する場合、入力装置3から新しいパスワードが入力され(ステップ491)、暗号化される(ステップ492)。暗号化された新しいパスワードが秘密鍵ファイルに格納される(ステップ493)。新しいパスワードがOPFDに格納されるとそれ以後は新しいパスワードを用いて正当なOPFDの使用者かどうかを確認することになる。パスワードの再設定においては再設定前に古いパスワードが入力され、OPFDの正当な使用者であることが確認されることはいうまでもない。
【0302】
第76図はOPFDのインストール・プログラム2の処理手順を示している。このインストール・プログラム2もOPFDのプログラム・ファイルに格納されている。
【0303】
OPFDに実行禁止フラグが設定されていなければ(ステップ501でNO)、すでにOPFDがHDにインストールされているかどうかが判断される(ステップ502)、OPFDのすべてのファイルがすでにHDにインストールされていなければOPFDのすべてのファイルが読出されHDにインストールされ(ステップ503)、OPFDの実行禁止フラグが1にセットされる。
【0304】
第77図は逆インストール・プログラムの処理手順を示している。この逆インストール・プログラムもOPFDのプログラム・ファイルに格納されている。
【0305】
HDドライブ名が入力され(ステップ511)、HDに格納されている秘密鍵ファイルが読取られる(ステップ512)。秘密鍵ファイルがあれば(ステップ513でYES)、FDドライブ5にOPFDがセットされOPFDの秘密鍵ファイルが読取られる(ステップ514)。
【0306】
HDから読取られた秘密鍵ファイルに格納されているIDsとOPFDから読取られた秘密鍵ファイルに格納されているIDsとが一致するかどうか(ステップ515)、HDから読取られた秘密鍵ファイルに格納されているIDmとOPFDから読取られた秘密鍵ファイルに格納されているIDmとが一致するかどうかが判断される(ステップ516)。IDsが一致し(ステップ515でYES)、かつIDmが一致すると(ステップ516でYES)、HDに格納されていた秘密鍵ファイルはFDドライブにセットされているOPFDから転送されたものと判断されHDに格納されていたすべてのファイルがOPFDに転送され格納される(ステップ517)。HDに格納されていたファイルは消去される(ステップ518)。
【0307】
OPFDのプログラム・ファイルにも鍵生成プログラム2が含まれており、この鍵生成プログラム2により暗号鍵を生成することもできるが、その処理手順はSVFDのプログラム・ファイルに格納されている鍵生成プログラム1と同様であるため重複説明は省略する。
【0308】
このようにして第8実施例によると、SVFDを1人の管理者、たとえば社長、秘書などにもたせ、それぞれのOPFDを社員にもたせることにより、各社員が作成した暗号データを、SVFDをもつ社長、秘書などが復号できるようになる。またOPFDに他のOPFDの管理鍵を記憶させることにより、他のOPFDをもつ者、たとえば部下の作成した暗号データを、その上司が復号することも可能である。
【0309】
SVFDおよびOPFDには、固有の識別名称に加えて、固有の識別データが記憶されているから、新たなSVFDまたはOPFDを購入しても、固有の識別名称および固有の識別名称は異なっている。したがって新たに購入したSVFDまたはOPFDを用いて、そのほかのSVFDまたはOPFDを用いて暗号化されたデータを復号することはできない。このため、暗号文データの高い機密性が保持される。
【図面の簡単な説明】
【図1】第1実施例における暗号化/復号装置の構成を示すブロック図である。
【図2】暗号アルゴリズムの一例を示す。
【図3】Sボックスの一例を示す。
【図4】暗号化/復号装置におけるファイルの暗号化処理の様子を示す。
【図5】暗号化/復号装置における復号処理の様子を示す。
【図6】第1実施例における暗号化/復号処理の流れを示すフローチャートである。
【図7】第1実施例における暗号化/復号処理の流れを示すフローチャートである。
【図8】第1実施例における暗号化/復号処理の流れを示すフローチャートである。
【図9】第1実施例における暗号化/復号装置における復号処理の様子を示す。
【図10】第1実施例における復号処理の流れを示すフローチャートである。
【図11】暗号ファイルのデータ構造を示す。
【図12】暗号ファイルのフロッピィ・ディスク内でのデータ構造を示す。
【図13】第1実施例における暗号鍵1の消去の処理の流れを示すフローチャートである。
【図14】鍵生成処理の流れを示すフローチャートである。
【図15】鍵生成回路の構成を示すブロック図である。
【図16】第2実施例における暗号化/復号装置の構成を示すブロック図である。
【図17】第3実施例における暗号化/復号装置の構成を示すブロック図である。
【図18】第4実施例における暗号化/復号処理の流れを示すフローチャートである。
【図19】第4実施例における暗号化/復号処理の流れを示すフローチャートである。
【図20】第4実施例における暗号化/復号処理の流れを示すフローチャートである。
【図21】第5実施例における暗号化/復号装置のFDドライブ5の部分とFD1およびFD2を示す。
【図22】第5実施例における暗号化処理の流れを示すフローチャートである。
【図23】第5実施例における暗号化処理の流れを示すフローチャートである。
【図24】暗号ファイルのデータ構造を示す。
【図25】第5実施例における復号処理の流れを示すフローチャートである。
【図26】第5実施例における復号処理の流れを示すフローチャートである。
【図27】第5実施例における復号処理の流れを示すフローチャートである。
【図28】第6実施例における暗号化/復号装置のFDドライブ5の部分とFD1およびFD2を示す。
【図29】第7実施例における暗号化処理の流れを示すフローチャートである。
【図30】第7実施例における暗号化処理の流れを示すフローチャートである。
【図31】第7実施例における暗号化処理の流れを示すフローチャートである。
【図32】企業等における管理体制に対応した管理鍵の配布の様子を示す。
【図33】ネットワーク・データ・ベース・システムの構成を示すブロック図である。
【図34】電子メール・システムの構成を示すブロック図である。
【図35】電子掲示板システムの構成を示すブロック図である。
【図36】認証子を含む送受信情報の暗号化/復号処理の様子を示す。
【図37】暗号化/復号装置の構成を示している。
【図38】暗号化処理を示す。
【図39】暗号文の作成者による復号処理を示している。
【図40】管理者または暗号文作成者以外の作業者による復号処理を示している。
【図41】暗号ファイルの内容を示している。
【図42】SVFDに含まれる管理鍵ファイル1の内容を示している。
【図43】SVFDに含まれる登録名称閲覧用ファイルの内容を示している。
【図44】OPFDに含まれる秘密鍵ファイルの内容を示している。
【図45】OPFDに含まれる秘密鍵ファイル2の内容を示している。
【図46】SVFDに含まれるプログラム・ファイルの内容を示している。
【図47】SVFDに格納される制御プログラム1の処理手順を示すフローチャートである。
【図48】SVFDに格納される制御プログラム1の処理手順を示すフローチャートである。
【図49】SVFDに格納されるシステム登録プログラムの処理手順を示すフローチャートである。
【図50】SVFDに格納される継承プログラムの処理手順を示すフローチャートである。
【図51】SVFDに格納されるバックアップ消去プログラムの処理手順を示すフローチャートである。
【図52】SVFDに格納されるパスワード再設定プログラム1の処理手順を示すフローチャートである。
【図53】SVFDに格納されるOPFD禁止解除プログラムの処理手順を示すフローチャートである。
【図54】SVFDに格納されるOPFD用IDm設定プログラムの処理手順を示すフローチャートである。
【図55】SVFDに格納される登録名称閲覧プログラムの処理手順を示すフローチャートである。
【図56】SVFDに格納されるOPFD個別化プログラムの処理手順を示すフローチャートである。
【図57】SVFDに格納される管理鍵登録プログラムの処理手順を示すフローチャートである。
【図58】SVFDに格納される管理鍵削除プログラムの処理手順を示すフローチャートである。
【図59】SVFDに格納される復号プログラムの処理手順を示すフローチャートである。
【図60】SVFDに格納される復号プログラムの処理手順を示すフローチャートである。
【図61】SVFDに格納されるファイル・チェック・プログラムの処理手順を示すフローチャートである。
【図62】SVFDに格納されるインストール・プログラム1の処理手順を示すフローチャートである。
【図63】SVFDに格納される逆インストール・プログラム1の処理手順を示すフローチャートである。
【図64】SVFDに格納される鍵生成プログラム1の処理手順を示すフローチャートである。
【図65】鍵生成回路の構成の一例を示している。
【図66】OPFDのプログラム・ファイルの内容を示している。
【図67】OPFDに格納される制御プログラム2の処理手順を示すフローチャートである。
【図68】OPFDに格納される制御プログラム2の処理手順を示すフローチャートである。
【図69】OPFDに格納される暗号化プログラムの処理手順を示すフローチャートである。
【図70】OPFDに格納される復号プログラム2の処理手順を示すフローチャートである。
【図71】OPFDに格納される復号プログラム2の処理手順を示すフローチャートである。
【図72】OPFDに格納される復号プログラム2の処理手順を示すフローチャートである。
【図73】OPFDに格納される作成者復号禁止プログラムの処理手順を示すフローチャートである。
【図74】OPFDに格納される管理用名称閲覧プログラムの処理手順を示すフローチャートである。
【図75】OPFDに格納されるパスワード再設定プログラム2の処理手順を示すフローチャートである。
【図76】OPFDに格納されるインストール・プログラム2の処理手順を示すフローチャートである。
【図77】OPFDに格納される逆インストール・プログラム2の処理手順を示すフローチャートである。
【符号の説明】
1 コンピュータ・システム
2 表示装置
3 入力装置
4 外部記憶装置
5 FDドライブ
6 FDドライブ
7 FDドライブ
SVFD スーパバイザ・フロッピィ・ディスク
OPFD オペレーション・フロッピィ・ディスク
41 平文ファイル
42 暗号文ファイル
43 暗号ファイル
44 ファイル鍵
45、46 暗号鍵
47 秘密鍵
47E 暗号化秘密鍵
48 管理鍵
48E 暗号化管理鍵
【技術分野】
この発明は、データの暗号化と、暗号化されたデータの復号とを行う暗号化/復号装置および方法に関する。
【0002】
【背景技術】
ワード・プロセッサで作成された文書データ、コンピュータ・プログラムのコード・データ、統計データや集計データ等の内容の漏洩を防止するために、データの暗号化が行われる。
【0003】
従来は、データの暗号化に用いられる鍵(暗号化鍵)として、キーボード等の入力装置から入力された鍵、または暗号化処理を行う装置(コンピュータ・システム等)の中に記憶されている鍵テーブルから選択された鍵を用いて、暗号化処理が行われていた。
【0004】
しかし、このような従来の方法では、暗号化処理を行う者(暗号文の作成者)の不注意により暗号化鍵(=復号鍵)が第三者に見られたり口頭で伝えられたりすることがあり、第三者に暗号化鍵が知得される危険性が高かった。したがって、データの秘密性が十分に保持できないという問題があった。また、暗号文の作成者以外の暗号文の管理者がこの暗号文の内容を見る場合に、作成者は、暗号文の作成ごとに復号鍵をこの管理者に知らせる必要があった。したがって、復号鍵を知らせるときに、不注意等により復号鍵が第三者に知得されるおそれがあった。また、作成者にとっても管理者にとっても、暗号文と復号鍵との対応づけの管理が煩雑になるという問題もあった。
【0005】
また、企業等では、部下が暗号文を作成し、その上司が暗号文を管理するのが一般的である。このような場合に、上司は、部下による暗号文の復号をできなくして、部下の不注意により暗号文が復号され第三者に知得されることを避けたいという要求がある。すなわち、上司は、暗号文の秘密管理を集中して行いたいという強い要求がある。
【0006】
【発明の開示】
この発明の目的は、暗号文と暗号化に用いられた鍵との対応づけの管理を容易にすることにある。さらに、この発明は、暗号文の管理を管理者が集中して行えるようにすることを目的とする。さらにこの発明は、暗号文の作成者が、その暗号文を復号することができる管理者を選択する(管理者が所持する管理鍵を選択して鍵の暗号化を行う)ことができるようにすることを目的とする。
【0007】
この発明による暗号化/復号装置は、データ暗号用鍵を暗号化するために用いられる秘密鍵を形成する秘密鍵形成手段、データ暗号用鍵を暗号化するために用いられる複数の管理鍵を形成する管理鍵形成手段、上記秘密鍵形成手段によって形成された秘密鍵を、作成者オペレーション記憶媒体に記憶させる第1の記憶制御手段、上記管理鍵形成手段によって形成された複数の管理鍵を、スーパバイザ記憶媒体および上記作成者オペレーション記憶媒体に記憶させ、かつ複数の管理鍵のうち少なくとも一つの管理鍵を管理オペレーション記憶媒体に記憶させる第2の記憶制御手段、平文データを暗号化するために用いられる上記データ暗号用鍵を生成するデータ暗号用鍵生成手段、上記平文データを上記データ暗号用鍵を用いて暗号化して暗号文データを生成するデータ暗号化手段、上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている上記秘密鍵を用いて暗号化して第1の暗号鍵を生成する第1の鍵暗号化手段、上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている複数の管理鍵のうちのいずれか一つを用いて暗号化して第2の暗号鍵を生成する第2の鍵暗号化手段、ならびに上記データ暗号化手段によって生成された暗号文データ、上記第1の鍵暗号化手段によって生成された第1の暗号鍵、および上記第2の鍵暗号化手段によって生成された第2の暗号鍵を含む暗号ファイルを作成する暗号ファイル作成手段を備えた暗号化装置と、上記暗号ファイルから、暗号文データおよび第1の暗号鍵を読出す第1の読出し手段、上記第1の読出し手段により読出された上記第1の暗号鍵を復号するための秘密鍵が記憶されている上記作成者オペレーション記憶媒体から上記秘密鍵を読み出す第2の読出し手段、上記第2の読出し手段により読出された秘密鍵を用いて上記第1の暗号鍵を復号してデータ復号用鍵を生成する第1の鍵復号手段、ならびに上記第1の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記作成者オペレーション記憶媒体を利用した第1のデータ復号手段と、上記暗号ファイルから、暗号文データおよび第2の暗号鍵を読出す第3の読出し手段、上記第2の暗号鍵の生成に用いられた管理鍵が記憶されているスーパバイザ記憶媒体から上記第2の暗号鍵の生成に用いられた管理鍵を読み出す第4の読出し手段、上記第4の読出し手段により読出された上記第2の暗号鍵の生成に用いられた管理鍵を用いて、上記第3の読出し手段によって読み出された上記第2の暗号鍵を復号してデータ復号用鍵を生成する第2の鍵復号手段、ならびに上記第2の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記スーパバイザ記憶媒体を利用した第2のデータ復号手段と、上記暗号ファイルから、暗号文データおよび第2の暗号鍵を読出す第5の読出し手段、上記第2の暗号鍵の生成に用いられた管理鍵が上記管理オペレーション媒体に記憶されているかどうかを判断し、記億されていると判断された場合に、上記管理オペレーション記憶媒体から上記第2の暗号鍵の生成に用いられた管理鍵を読出す第6の読出し手段、上記第6の読出し手段によって読出された上記第2の暗号鍵の生成に用いられた管理鍵を用いて、上記第5の読出し手段によって読出された第2の暗号鍵を復号してデータ復号用鍵を生成する第3の鍵復号手段、ならびに上記第3の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記管理オペレーション記憶媒体を利用した第3のデータ復号手段とを備えている。
【0008】
この発明による暗号化/復号方法は、秘密鍵形成手段によりデータ暗号用鍵を暗号化するために用いられる秘密鍵を形成し、管理鍵形成手段によりデータ暗号用鍵を暗号化するために用いられる複数の管理鍵を形成し、上記秘密鍵形成手段によって形成された秘密鍵を、第1の記憶制御手段により作成者オペレーション記憶媒体に記憶し、上記管理鍵形成手段によって形成された複数の管理鍵を、第2の記憶制御手段によりスーパバイザ記憶媒体および上記作成者オペレーション記憶媒体に記憶し、かつ複数の管理鍵のうち少なくとも一つの管理鍵を管理オペレーション記憶媒体に記憶し、平文データを暗号化するために用いられる上記データ暗号用鍵を、データ暗号用鍵生成手段により生成し、データ暗号化手段により、上記平文データを上記データ暗号用鍵を用いて暗号化して暗号文データを生成し、第1の鍵暗号化手段により、上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている上記秘密鍵を用いて暗号化して第1の暗号鍵を生成し、第2の鍵暗号化手段により上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている複数の管理鍵のうちのいずれか一つを用いて暗号化して第2の暗号鍵を生成し、暗号ファイル作成手段により、上記データ暗号化手段によって生成された暗号文データ、上記第1の鍵暗号化手段によって生成された第1の暗号鍵、および上記第2の鍵暗号化手段によって生成された第2の暗号鍵を含む暗号ファイルを作成し、第1の読出し手段により、上記暗号ファイルから暗号文データおよび第1の暗号鍵を読出し、読出した上記第1の暗号鍵を復号するための秘密鍵が記憶されている上記作成者オペレーション記憶媒体から、第2の読出し手段により上記秘密鍵を読み出し、読出した秘密鍵を用いて、第1の鍵復号手段により上記第1の暗号鍵を復号してデータ復号用鍵を生成し、生成したデータ復号用鍵を用いて、第1のデータ復号手段により上記暗号文データを復号して平文データを生成し、第3の読出し手段により、上記暗号ファイルから、暗号文データおよび第2の暗号鍵を読出し、上記第2の暗号鍵の生成に用いられた管理鍵が記憶されているスーパバイザ記憶媒体から、第4の読出し手段により上記第2の暗号鍵の生成に用いられた管理鍵を読み出し、読出した上記第2の暗号鍵の生成に用いられた管理鍵を用いて、第2の鍵復号手段により、読み出した上記第2の暗号鍵を復号してデータ復号用鍵を生成し、生成したデータ復号用鍵を用いて、第2のデータ復号手段により上記暗号文データを復号して平文データを生成し、第5の読出し手段により、上記暗号ファイルから、暗号文データおよび第2の暗号鍵を読出し、上記第2の暗号鍵の生成に用いられた管理鍵が上記管理オペレーション媒体に記憶されているかどうかを判断し、記憶されていると判断された場合に、第6の読出し手段により、上記管理オペレーション記憶媒体から上記第2の暗号鍵の生成に用いられた管理鍵を読出し、読出した上記第2の暗号鍵の生成に用いられた管理鍵を用いて、読出した第2の暗号鍵を、第3の鍵復号手段によって復号してデータ復号用鍵を生成し、生成したデータ復号用鍵を用いて、第3のデータ復号手段により上記暗号文データを復号して平文データを生成するものである。
【0009】
データ暗号用鍵生成手段によるデータ暗号用鍵の生成には、いくつかの方法があろう。その一つは、鍵生成に用いられるデータを発生し、発生したデータに基づいてデータ暗号用鍵を生成するものである。コンピュータ内部で任意のデータを発生させる。このデータには、例えば操作者による2つのキーの入力時間間隔を計数するカウンタの計数値を採用することができる。このようにして発生したデータは、暗号化される。暗号化に用いる鍵も上記データと同じようにして発生されよう。暗号化されたデータがデータ暗号用鍵となる。
【0010】
他の方法は、ソフトウェアまたはハードウェアにより第1の擬似乱数と第2の擬似乱数とを発生し、発生した第1の擬似乱数を、第2の擬似乱数を鍵として暗号化してデータ暗号用鍵を生成するものである。第1の擬似乱数と第2の擬似乱数とは同じものでもよいし、異なる乱数でもよい。または、一つの乱数の上位複数のビットを第1の擬似乱数とし、下位複数のビットを第2の擬似乱数として用いることもできる。
【0011】
秘密鍵形成手段による秘密鍵の形成には、いくつかの方法がある。その一つは、鍵形成に用いられるデータを発生させ、発生されたデータに基づいて秘密鍵を形成する方法である。その二は、第1の擬似乱数と第2の擬似乱数とを発生し、発生した第1の擬似乱数を、第2の擬似乱数を鍵として暗号化して秘密鍵を形成するものである。これらの方法は、上述したデータ暗号用鍵の生成と同じような処理により実現される。
【0012】
その三は、外部から入力されたデータに基づいて秘密鍵を形成する方法である。例えば、操作者が自分のパスワードをキーボードから入力する。この入力されたパスワードが秘密鍵となる。この場合には、秘密鍵形成手段は入力を受け付ける手段により実現される。入力されたパスワードを特定の鍵を用いて暗号化し、この暗号化されたパスワードを秘密鍵としてもよい。上記特定の鍵はあらかじめコンピュータ内に設定しておいてもよいし、上述したようにキー入力間隔等に基づいて設定することもできるし、擬似乱数を発生させることにより得ることもできる。
【0013】
その四は、外部から与えられる記憶媒体に記憶されているデータに基づいて秘密鍵を形成する方法である。記憶媒体には、フロッピィ・ディスク、ICカード、磁気カード、光カード、その他の媒体が用いられる。記憶媒体に記憶されている上記データは、秘密鍵そのものであってももちろんよい。この場合には、上記秘密鍵形成手段は、記億媒体から上記データを読み取る手段によって実現される。記憶媒体に記憶されている上記データを特定の鍵により暗号化し、この暗号化されたデータを秘密鍵としてもよい。
【0014】
管理鍵形成手段による管理鍵の形成にも、いくつかの方法がある。その一は、あらかじめ与えられたデータに基づいて管理鍵を形成する方法である。例えば、コンピュータ内部のROM、RAM、内蔵ディスク装置等にあらかじめ記憶された特定のデータが管理鍵となる。この場合に、管理鍵形成手段は、ROM等からデータを読み取る手段により実現される。
【0015】
その二は、外部から与えられた記憶媒体に記憶されているデータに基づいて管理鍵を形成する方法である。その三は、鍵形成に用いられるデータを発生し、発生したデータに基づいて管理鍵を形成する方法である。その四は、第1の擬似乱数と第2の擬似乱数とを発生し、発生した第1の擬似乱数を、第2の擬似乱数を鍵として暗号化して管理鍵を形成するものである。これらの方法は、上述したデータ暗号用鍵の生成または秘密鍵の形成と同じような処理により実現される。
【0016】
平文データには、ワード・プロセッサで作成された文書データ、コンピュータ・プログラムのコード・データ、統計データや集計データ等の各種データが含まれる。また、暗号化されたデータをさらに暗号化する場合には、平文データには、暗号化されたデータが含まれる。
【0017】
平文データおよび鍵の暗号化(復号)の方法には、DES(Data Encryption Standard)、FEAL(Fast Encyption ALgorithm)等の種々のアルゴリズムを用いることができる。またアルゴリズムとして対称暗号系と非対称暗号系(べき乗剰余型、ナップザック型等)の別、およびブロック暗号とストリーム暗号(バーナム暗号、NFSR等)の別を問わない。
【0018】
平文データを暗号化するためのデータ暗号用鍵が、自動的に生成される。生成されたデータ暗号用鍵を用いて平文データが暗号化されて暗号文データが生成される。また、データ暗号用鍵を暗号化するための秘密鍵および複数の管理鍵が形成される。形成された秘密鍵を用いて、データ暗号用鍵が暗号化されて第1の暗号鍵(暗号化された鍵)が生成される。また、形成された複数の管理鍵のうちの一つを用いて、データ暗号用鍵が暗号化されて第2の暗号鍵(暗号化された鍵)が生成される。暗号文データ、第1の暗号鍵および第2の暗号鍵は暗号ファイルに記憶される。秘密鍵および複数の管理鍵は、作成者オペレーション記憶媒体に記憶され、複数の管理鍵はさらにスーパバイザ記憶媒体に記憶され、複数の管理鍵のうちのいずれか一つが管理オペレーション記憶媒体に記憶される。これらの記憶媒体には、ハード・ディスク、フロッピィ・ディスク、ICカード、磁気カード、光カード、伝送用バッファ等の各種記憶媒体が含まれる。
【0019】
暗号ファイルは、フロッピィ・ディスクに記憶してもよいし、伝送用のバッファに含ませてもよい。フロッピィ・ディスクの場合には、暗号ファイルを暗号文データ作成者から管理者等の他の者に手渡すことができる。伝送用のバッファの場合には、他の装置等に暗号ファイルを送信することができる。また、第1の記憶媒体は、ハード・ディスク装置、ICカード、磁気カード、光カード等の記憶媒体であってもよい。
【0020】
この発明によれば、平文データを暗号化するためのデータ暗号用鍵が自動的に生成されるので、暗号文データの作成者は鍵を入力する必要もなければ、鍵の内容を知る必要はない。
【0021】
また、暗号文データとこれを復号するためのデータ暗号用鍵(これは第1または第2の暗号鍵として暗号化されている)とが暗号ファイルに記憶されているので、これらの対応づけの管理が容易である。
【0022】
平文データを暗号化した操作者は、秘密鍵を持つことができる。秘密鍵が操作者の入力データに基づいて形成された場合には、操作者(暗号文データの作成者)は当然入力データを知っているのでこれを秘密鍵として用いることができる。秘密鍵が入力データの暗号化や計数に基づいて形成された場合には、形成された秘密鍵は作成者オペレーション記憶媒体(例えばフロッピィ・ディスク)に記憶される。または秘密鍵が記憶媒体にあらかじめ記憶されている場合には、その記憶媒体を操作者は所有している。したがって、操作者は記憶媒体の秘密鍵を用いて暗号文データを復号することができる。
【0023】
スーパバイザ記憶媒体には、第2の暗号鍵の生成に用いられた、複数の管理鍵のうちの一つが必ず記憶されているので、スーパバイザ記憶媒体からその管理鍵を読み出して第2の暗号鍵を復号して、暗号文データを復号することができる。したがって作成者オペレーション記憶媒体を、たとえば従業者個々に渡し平文データを暗号化させ従業者個々が暗号文データを復号することに加えて、スーパバイザ記憶媒体を、たとえば管理者に渡しスーパバイザ記憶媒体から管理鍵を読み出すことにより暗号文データを復号することができる。スーパバイザ記憶媒体を用いることにより従業者個々が作成した暗号文データを復号することが可能となる。暗号文の管理をスーパバイザ記憶媒体の保持者が集中して行うことができる。
【0024】
管理オペレーション記憶媒体には複数の管理鍵のうち少なくともいずれか一つが記憶されている。管理オペレーション記憶媒体を用いた復号処理では、管理オペレーション記憶媒体に、暗号ファイルに含まれる第2の暗号鍵の生成に用いられた管理鍵が記憶されているかどうかが判断され、記憶されていると判断された場合に、その管理オペレーション記憶媒体から上記第2の暗号鍵の生成に用いられた管理鍵が読み出される。読み出された管理鍵を用いて第2の暗号鍵を復号することによりデータ暗号用鍵を得ることが可能となる。復号されたデータ暗号用鍵を用いて暗号文データが復号される。
【0025】
複数の管理鍵の一つが用いられて上記データ暗号用鍵が暗号化される。複数の管理者(複数のオペレーション記憶媒体の保持者)がそれぞれ異なる管理鍵を所持している場合には、暗号文の作成者は、その暗号文を管理する管理者が所持する管理鍵を複数の管理鍵の中から選択して、平文データの暗号化に用いられたデータ暗号用鍵を暗号化することができる。暗号文の作成者が、その暗号文データを復号することができる管理者を選択する(管理者が所持する管理鍵を選択してデータ暗号用鍵の暗号化を行う)ことができる。
【0026】
好ましくは、上記データ暗号用鍵生成手段は、第1の擬似乱数と第2の擬似乱数とを発生し、発生した第1の擬似乱数を、第2の擬似乱数を鍵として暗号化してデータ暗号用鍵を生成するものである。データ暗号用鍵が、擬似乱数をさらに暗号化することにより生成されるので、データ暗号用鍵をランダムなデータとすることができ、第三者による鍵の推測を困難とすることができる。
【0027】
好ましくは、上記第1の暗号鍵または第2の暗号鍵を上記暗号ファイルから消去する消去手段が設けられる。暗号文データを作成する作成者が秘密鍵を管理し、暗号文データを管理する管理者が管理鍵を管理している場合に、管理者が第1の暗号鍵を消去することにより、作成者は秘密鍵を用いた暗号文データの復号ができなくなる。これにより、復号された平文データが作成者の不注意により第三者に知得されることを防止でき、管理者は暗号文データの秘密管理を集中して行える。また、第2の暗号鍵を削除することにより、管理者による暗号文データの復号をできなくすることもできる。これにより、例えば管理者が新たな者に交替した場合等において、過去に管理者であった者による復号を防止できる。
【0028】
一実施態様では、上記暗号化装置は、上記秘密鍵形成手段によって形成された秘密鍵を暗号化する秘密鍵暗号化手段、および上記管理鍵形成手段によって形成された複数の管理鍵を暗号化する管理鍵暗号化手段を備え、上記第1の記憶制御手段は、上記秘密鍵暗号化手段によって暗号化された秘密鍵および上記管理鍵暗号化手段によって暗号化された複数の管理鍵を、作成者オペレーション記憶媒体に記憶させるものであり、上記第2の記憶制御手段は、上記管理鍵暗号化手段によって暗号化された複数の管理鍵を、上記スーパバイザ記憶媒体に記憶させ、上記管理鍵暗号化手段によって暗号化された複数の管理鍵の少なくともいずれか一つを管理オペレーション記憶媒体に記憶させるものである。秘密鍵および管理鍵が暗号化されるので、読み出されても読み出した者は鍵の内容を知ることができない。したがって、秘密鍵および管理鍵は高い秘密性が守られる。
【0029】
上記秘密鍵暗号化手段は、上記秘密鍵形成手段によって形成された秘密鍵を、上記管理鍵形成手段によって形成され第2の暗号鍵の生成に用いられた管理鍵を用いて暗号化するものでもよい。
【0030】
さらに他の実施態様では、上記作成者オペレーション記憶媒体、上記スーパバイザ記憶媒体、および上記管理オペレーション記憶媒体はバージョン・コードを記憶しているものであり、上記第3の記憶制御手段が、上記暗号文データ、上記第1の暗号鍵、および上記第2の暗号鍵に加えて上記バージョン・コードを上記暗号ファイルに記憶させるものである。
【0031】
古いバージョン・コードを記憶している上記作成者オペレーション記憶媒体を用いて暗号化した場合、そのバージョン・コードよりも新しいバージョン・コードを記憶しているスーパバイザ記憶媒体または管理オペレーション記憶媒体を用いて復号できる必要がある。
【0032】
暗号ファイルに、暗号化に用いた作成者オペレーション記憶媒体のバージョン・コードが記憶されるので、バージョン・コードによって,その暗号ファイルに格納されている暗号化データのスーパバイザ記憶媒体または管理オペレーション記憶媒体を用いた復号を管理することができる。
【0033】
時刻データを、入力データ、初期値または暗号鍵として暗号化手段に与え、上記暗号化手段から得られる暗号データを、上記データ暗号用鍵、上記秘密鍵または上記管理鍵として用いるように、上記暗号化/復号装置または暗号化/復号方法を構成してもよい。
【0034】
上記入力データ、上記初期値または上記暗号鍵に時刻データが用いられ、上記暗号データが得られる。得られた暗号文データが、上記データ暗号用鍵、上記秘密鍵または上記管理鍵とされる。時刻データは、第三者にとっては一般に予測が困難なデータである。したがって時刻データを利用して生成されたデータ暗号用鍵を用いて平文データを暗号化すると、データ暗号用鍵を推測することが困難なので、暗号文データを復号することも困難となる。
【0035】
【実施例】
〔第1実施例〕
(1)暗号化/復号装置の構成
第1図は、第1実施例における暗号化/復号装置の構成を示すブロック図である。この暗号化/復号装置は、コンピュータ・システム1、表示装置2(CRT表示装置、液晶表示装置等)、入力装置3(キーボード、ポインティング・デバイス等)、外部記憶装置4(磁気ディスク記憶装置、光ディスク記憶装置等)ならびにフロッピィ・ディスク・ドライブ(以下、単にFDドライブという)5および6によって構成されている。
【0036】
外部記憶装置4には、一または複数の平文のファイル(平文ファイルという)が記憶されている。平文ファイルには、ワード・プロセッサ等で作成された文書ファイル、統計データや集計データ等をファイルにしたデータ・ファイル、コンピュータ・プログラムのコードをファイルにしたプログラム・ファイル等の各種ファイルが含まれる。暗号化されたファイルをさらに暗号化する場合には、平文ファイルは、この暗号化されたファイルも含むものとする。
【0037】
FDドライブ5には、フロッピィ・ディスクFD1(以下、単にFD1という)またはフロッピィ・ディスクFD2(以下、単にFD2という)がセットされ、また取り外される。FDドライブ6には、フロッピィ・ディスクFD3(以下、単にFD3という)がセットされ、また取り外される。
【0038】
FD1には、後に詳述する暗号化/復号プログラムおよび管理鍵があらかじめ格納されている。FD2には、後に詳述する復号プログラム、暗号鍵消去プログラムおよび管理鍵があらかじめ格納されている。FD1に格納されている管理鍵とFD2に格納されている管理鍵とは、同一のものである。FD1およびFD2を作成するときに、同一の管理鍵がそれぞれのフロッピィ・ディスクに格納される。FD1は、平文ファイルから暗号ファイルを作成する作成者にあらかじめ配布される。FD2は、暗号ファイルを管理する管理者にあらかじめ配布される。FD3は、外部記憶装置4の平文ファイルを暗号化して生成される暗号ファイルを格納するためのものである。
【0039】
コンピュータ・システム1の内部のROMまたは外部記憶装置4には、オペレーティング・システム(OS)が格納されている。コンピュータ・システム1は、このOSに基づいて、入力装置3からの入力データの読込みと解析、表示装置2の表示制御、外部記憶装置4の制御、FDドライブ5および6の制御等を行う。また、コンピュータ・システム1は、FD1に格納されている暗号化/復号プログラムならびにFD2に格納されている復号プログラムおよび暗号鍵消去プログラムを内部メモリ(RAM等)に読み込み、これらのプログラムを実行する。
【0040】
暗号化/復号プログラムと復号プログラムとにそれぞれ含まれている暗号(復号)アルゴリズムの一例として、第2図に示されるものがある。この暗号アルゴリズムの例は、DES(Data Encryption Standard)のアルゴリズムを変形したものである(DES型暗号という)。すなわち、DESでは一般に64ビットの平文および56ビットの鍵が用いられるが、この例では8ビットの平文および12ビットの鍵が用いられるように変形されている。
【0041】
Sボックス21〜24は、第3図に示されている換字(変換)の対応表にしたがって、入力データを出力データに換字する。例えば、入力データが1(10進数)の場合には、出力データは14(10進数)に換字される。演算子25〜32は、入力される2つのデータの排他的論理和演算を行い、その結果を出力する。
【0042】
暗号化の対象である8ビットの平文は、上位4ビット・データL1(=0100)と下位4ビット・データR1(=1101)とに分割される。データL1は演算子25に、データR1(=L2)は演算子29および26に入力される。12ビットの鍵K(=001010000110)は、上位から3ビットずつの第1〜4ブロックの4つのブロックに分けられる。第1ブロック(=001)および第3ブロック(=000)には、1ビット・データの1が各ブロックの最上位ビットとしてそれぞれ加えられる。第2ブロック(=010)および第4ブロック(=110)には、1ビット・データの0が各ブロックの最上位ビットとしてそれぞれ加えられる。その結果、鍵Kは4ビット・データK1(=1001)、K2(=0010)、K3(=1000)およびK4(=0110)に変換される。データK1は演算子29に、データK2は演算子30に、データK3は演算子31に、データK4は演算子32にそれぞれ入力される。
【0043】
第1段の処理では、データR1とK1との排他的論理和が、演算子29において求められる。この演算結果は、Sボックス21において変換(換字)される。そして、変換されたデータとデータL1との排他的論理和が、演算子25において求められる。この結果のデータR2(=L3)は演算子30および27に与えられる。
【0044】
第2段においても、データR2、K2およびL2について、第1段と同様の処理が行われる。第3段および第4段においても、データR3、K3およびL3ならびにデータR4、K4およびL4について、第1段と同様の処理がそれぞれ行われる。
【0045】
第1段〜第4段の処理によって、8ビットの暗号文が生成される。演算子28の出力データが、8ビットの暗号文の上位4ビット・データL(=1001)となる。演算子27の出力データR4が、8ビットの暗号文の下位4ビット・データR(=0111)となる。このように、平文は8ビットずつ順次処理されていき、暗号文が8ビットずつ順次生成されていく。
【0046】
8ビットの暗号文を8ビットの平文に復号する場合には、8ビットの暗号文が上位4ビット(L1)と下位4ビット(R1)のデータに分割される。この上位4ビット・データは演算子25に、下位4ビット・データは演算子29および26にそれぞれ入力される。復号鍵(暗号鍵Kと同じもの)が、暗号時と同様に3ビットずつに分割され、データK1〜K4が作成される。そして、データK4が演算子29に、データK3が演算子30に、データK2が演算子31に、データK1が演算子32にそれぞれ入力される。これらの入力データに第1段〜第4段の処理が行われ、平文8ビットが生成される。このように、復号時には、暗号文が8ビットずつ順次処理されていき、平文が8ビットずつ順次生成されていく。
【0047】
暗号および復号に用いられるアルゴリズムには、このDESのアルゴリズムのほかにFEAL(Fast Encyption ALgorithm)等の他のアルゴリズムを用いることもできる。またアルゴリズムとして対称暗号系と非対称暗号系(べき乗剰余型、ナップザック型等)の別、およびブロック暗号とストリーム暗号(バーナム暗号、NFSR等)の別を問わない。
【0048】
これらの暗号化/復号処理は、ソフトウェア(プログラム)によって実現することができる。プログラムによって実現した場合には、このプログラムは、FD1に格納された暗号化/復号プログラムおよびFD2に格納された復号プログラムの一部として組み込まれる。また、これらの暗号化/復号処理をハードウェアによって実現することもできる。この場合には、このバードウェアは、コンピュータ・システム1の内部または外部に設けられるであろう。そして、FD1に格納された暗号化/復号プログラムおよびFD2に格納された復号プログラムは、外部記憶装置4から読みだした平文(または暗号文)および後述する第6図のステップ106で生成された鍵等をこのハードウェアに入力して、暗号化または復号の処理を行わせる。
【0049】
(2)暗号ファイル作成者による暗号化および復号処理
第4図は、暗号ファイル作成者(以下、単に作成者という)が所持するFD1に格納されている暗号化/復号プログラムによる暗号化処理の様子を示している。第5図は、この暗号化/復号プログラムによる復号処理の様子を示している。また、第6図〜第8図は、この暗号化/復号プログラムがコンピュータ・システム1によって実行される場合の処理の流れを示すフローチャートである。
【0050】
FD1が、作成者によってFDドライブ5にセットされる(ステップ101)。次に、FD1に格納されている暗号化/復号プログラムの起動命令が、作成者によって入力装置3からコンピュータ・システム1に入力される。これにより、暗号化/復号プログラムがFD1から読み出され、コンピュータ・システム1の内部メモリ(RAM等)に格納される。そして、コンピュータ・システム1は、このプログラムを実行する(ステップ102)。
【0051】
次に、ファイルの暗号化または復号のいずれを選択するかの案内が、表示装置2の表示画面に表示される。作成者は、暗号化または復号のいずれか一方を選択し、その指示を入力装置3からコンピュータ・システム1に入力する。
【0052】
暗号化が選択されると(ステップ103でYES)、暗号化の対象となる平文ファイルのファイル名が、作成者によって入力装置3からコンピュータ・システム1に入力される(ステップ104)。入力されたファイル名に対応する平文ファイル41が外部記憶装置4から読み出され、コンピュータ・システム1の内部メモリに記憶される(ステップ105)。
【0053】
次に、この平文ファイルを暗号化するために用いられる鍵44(ファイル鍵という)が生成される(ステップ106)。ファイル鍵44の生成方法については後に詳述する。平文ファイル41の平文は、このファイル鍵44を用いて暗号化され、暗号文が生成される(ステップ107)。暗号化処理には、上述した暗号アルゴリズムの一つが用いられる。暗号化処理により生成された暗号文は、中間データ42としてコンピュータ・システム1の内部メモリに記憶される。
【0054】
続いて、秘密鍵47が、作成者によって入力装置3からコンピュータ・システム1に入力される(ステップ108)(第4図)。この秘密鍵47は、作成者が任意に決定するものであり、暗証番号(パスワード)と考えることができる。秘密鍵47は、任意の数字列または文字列等からなる。
【0055】
ファイル鍵44は、秘密鍵47を用いて暗号化される(ステップ109)。ここでは、この暗号化された鍵45を暗号鍵1ということにする。また、ファイル鍵44は、FD1に格納されている管理鍵48を用いて暗号化される(ステップ110)。この暗号化された鍵46を暗号鍵2ということにする。これらのファイル鍵44の暗号化処理にも、上述した暗号アルゴリズムの一つが用いられる。
【0056】
そして、これらの暗号鍵1および2ならびに中間データ(暗号文)42を用いて、暗号ファイル43が作成される(ステップ111)。第11図は、コンピュータ・システム1の内部メモリ上の暗号ファイル43のデータ構造を示している。暗号ファイルの先頭の領域に暗号鍵1および2が記憶されている。この領域に続く領域に中間データ(暗号文)42が記憶されている。暗号ファイルが作成されるときに、暗号ファイル名(平文ファイル名と一部または全部が異なるファイル名)が作成される。この暗号ファイル名も、暗号ファイルのデータ領域に続く領域に記憶されることもある。
【0057】
続いて、FD3が、作成者によってFDドライブ6にセットされる(ステップ112)。もし必要ならば、FD3のセットに先だって、FD3をFDドライブ6にセットすることを作成者に指示するための案内が、表示装置2の表示画面に表示されるであろう。このセットされたFD3に暗号ファイル43および暗号ファイル名が格納される(ステップ113)。そして、暗号化処理は終了する。第12図は、FD3の記憶の構造を示している。FD3には、ディレクトリ、FAT(File Allocation Table)およびデータ領域の3つの領域がある。データ領域のアドレスAD2には、暗号ファイル(暗号鍵1および2ならびに暗号文)が記憶されている。FATのアドレスAD1には、データ領域のアドレスAD2が記憶されている。ディレクトリには、暗号ファイル名(ここでは暗号ファイル名を“ABC.SEC”とする)およびFAT上のアドレスAD1が記憶されている。
【0058】
ステップ103において復号が選択された場合には(ステップ103でNO)、FD3が作成者によってFDドライブ6にセットされる(ステップ114)。FD3のセットに先だって、FD3をFDドライブ6にセットすることを作成者に指示するための案内が、表示装置2の表示画面に表示されることもある。FD3がFDドライブ6にセットされると、暗号ファイルのファイル名(“ABC.SEC”等)がFD3のディレクトリから読み出される。読み出されたファイル名は、表示装置2の表示画面に表示される(ステップ115)。
【0059】
続いて、復号の対象となる暗号ファイルのファイル名が作成者によって入力装置3からコンピュータ・システム1に入力される(ステップ116)。ファイル名は、キーボードを用いて入力することもできるし、表示画面に表示されたファイル名をポインティング・デバイスによって指示(クリック等)して入力することもできる。
【0060】
入力された暗号ファイル名に基づいてFD3のディレクトリが検索され、そのファイル名に対応するFAT上のアドレスAD1が読み出される(第12図)。アドレスAD1に基づいてFAT上のアドレスAD2が読み出される(第12図)。そして、アドレスAD2に基づいて、暗号ファイルがFD3のデータ領域から読み出される(ステップ117)。読み出された暗号ファイルは、コンピュータ・システム1の内部メモリに記憶される。
【0061】
続いて、秘密鍵47が、作成者によって入力装置3からコンピュータ・システム1に入力される(ステップ118)(第5図)。この秘密鍵47は、暗号ファイルの暗号鍵1を復号するときに、復号鍵として用いられる(ステップ119)。したがって、入力される秘密鍵47は、この暗号ファイルのファイル鍵44を暗号化したときに用いられたものと同一のものである。どのファイル鍵をどの秘密鍵で暗号化したかは作成者によって管理されている。作成者は、ファイル鍵44を暗号化して暗号鍵1を生成したときに用いた秘密鍵と同じものを入力する。
【0062】
暗号鍵1は秘密鍵47(復号鍵)を用いて復号され、ファイル鍵44が得られる(ステップ119)。この復号処理において、ファイル鍵44を暗号化したときと同じ暗号(復号)アルゴリズムが用いられるのはもちろんである。続いて、暗号ファイルに含まれている暗号文がこのファイル鍵44(復号鍵)を用いて復号され、平文ファイル41が得られる(ステップ120)。この復号処理でも、平文ファイルを暗号化したときと同じ暗号(復号)アルゴリズムが用いられる。平文ファイル41は、コンピュータ・システム1の内部メモリに記憶される。そして、復号処理は終了する。このとき、暗号鍵2は用いられない。
【0063】
コンピュータ・システム1の内部メモリに記憶されている平文ファイル41を、この内部メモリから外部記憶装置4または他のフロッピィ・ディスクに格納することもできる。
【0064】
この暗号化処理においては、ファイル鍵が自動的に生成されるので、作成者はファイル鍵を入力する必要もなければ、ファイル鍵の内容を知る必要もない。したがって、データ暗号用鍵が暗号文データ作成者の不注意等によって第三者に漏洩することを防止できる。また、暗号文とこれを復号するためのファイル鍵(暗号鍵1と2)とがFD3に記憶されているので、これらの対応づけの管理が容易である。さらに、ファイル鍵は、秘密鍵および管理鍵によってそれぞれ暗号化されているので、たとえ暗号文とこれを復号するためのファイル鍵を一つのFD3に記憶させておいても、高い安全性を保つことができる。
【0065】
ステップ108および118において、秘密鍵47を磁気カード、ICカード(メモリ・カード等)、光カード等にあらかじめ記憶しておき、カード・リーダからコンピュータ・システム1に入力することもできる。また、暗号化/復号装置が各作成者個人の専用のものとして使用されるのであれば、複数の秘密鍵を外部記憶装置4または内部のROM等にあらかじめ記憶しておき、これを表示装置2の表示画面に表示させて、その中から一つを選択することもできる。さらに、入力された秘密鍵47をさらに暗号化した鍵を、ファイル鍵の暗号化に用いることもできる。
【0066】
(3)暗号ファイル管理者による復号処理
第9図は、暗号ファイル管理者(以下、単に管理者という)が暗号ファイルを復号する場合の処理を様子を示している。暗号ファイルが格納されたFD3は、作成者から管理者に渡される。管理者は、自らが所持するFD2に格納された復号プログラムおよび管理鍵を用いて暗号ファイルを復号する。第10図は、この復号プログラムがコンピュータ・システム1によって実行される場合の処理の流れを示すフローチャートである。
【0067】
FD2が、管理者によってFDドライブ5にセットされる(ステップ131)。次に、FD2に格納されている復号プログラムの起動命令が、管理者によって入力装置3からコンピュータ・システム1に入力される。これにより、復号プログラムがFD2から読み出され、コンピュータ・システム1の内部メモリに格納される。そして、コンピュータ・システム1は、この復号プログラムを実行する(ステップ132)。
【0068】
続いて、FD3が管理者によってFDドライブ6にセットされる(ステップ114)。このステップ114およびこれに続くステップ115〜117の処理は、上述の第8図に示されるステップ114〜117の処理と全く同じであるので、ここでは説明を省略する。
【0069】
次に、FD2に記憶されている管理鍵48が読み出され、コンピュータ・システム1の内部メモリに記憶される(ステップ133)(第9図)。この読出しはプログラムによって自動的になされる。管理鍵48は、FD2の特定の場所に記憶されている。復号プログラムには、この特定場所を示すアドレスが含まれている。したがって、コンピュータ・システム1は管理鍵48をFD2の特定場所から読み出すことができる。この管理鍵48は、暗号鍵2を復号するときに復号鍵として用いられる(ステップ134)。したがって、この管理鍵48は、この暗号ファイルのファイル鍵44を暗号化して暗号鍵2を生成したときに用いられた管理鍵と同一のものである。上述したように、FD1とFD2には同一の管理鍵があらかじめ格納されているので、問題はない。
【0070】
暗号ファイル43に含まれる暗号鍵2は、管理鍵48(復号鍵)を用いて復号され、ファイル鍵44が得られる(ステップ134)。この復号処理において、ファイル鍵44を暗号化したときと同じ暗号(復号)アルゴリズムが用いられる。続いて、暗号文42がこのファイル鍵44(復号鍵)を用いて復号され、平文ファイル41が得られる(ステップ135)。この復号処理でも、平文ファイルを暗号化したときと同じ暗号(復号)アルゴリズムが用いられる。平文ファイル41は、コンピュータ・システム1の内部メモリに記憶される。そして、復号処理は終了する。このとき、暗号鍵1は用いられない。
【0071】
コンピュータ・システム1の内部メモリに記憶されている平文ファイル41を、この内部メモリから外部記憶装置4または他のフロッピィ・ディスクに格納することもできる。
【0072】
この復号処理においては、管理者はFD2を所持しておくだけで、作成者から一切の情報をうけとることなく暗号ファイルを復号することができる。また、作成者は、暗号ファイル作成ごとに暗号ファイルと管理鍵とを対応させて管理する煩わしさから解放される。作成者は管理鍵を知る必要もなく、管理者に知らせる必要もないので、作成者の不注意等により管理鍵が第三者に漏洩するおそれもない。管理者も同様に管理鍵を知る必要はなく、入出力する必要もない。このように管理鍵の漏洩を防止できるので、ファイルの内容の秘匿性を一層高めることができる。
【0073】
FDドライブ5と6とを、一つのフロッピィ・ディスク・ドライブによって実現することもできる。この場合に、ステップ112(第7図)および114(第10図)においては、FD1またはFD2がフロッピィ・ディスク・ドライブから取り出され、その後、FD3がそのフロッピィ・ディスク・ドライブにセットされるであろう。また、フロッピィ・ディスクをICカード(メモリ・カード等)、カセット型ハード・ディスク、ミニ・ディスク(MD)、磁気カード等に置き換えることができる。この場合に、フロッピィ・ディスク・ドライブは、カード・リーダ/ライタやカセット型ハード・ディスク・インタフェース装置、ミニ・ディスク・インタフェース装置等に置き換えられる。
【0074】
また、暗号ファイルを外部記憶装置4に格納してもよい。この場合には、作成者および管理者は、外部記憶装置4から暗号ファイルを読み出して、復号処理を行うこととなる。
【0075】
(4)管理者による暗号鍵消去の処理
第13図は、管理者による暗号鍵1の消去処理の流れを示すフローチャートである。
【0076】
FD2が、管理者によってFDドライブ5にセットされる(ステップ141)。次に、FD2に格納されている暗号鍵消去プログラムの起動命令が、管理者によって入力装置3からコンピュータ・システム1に入力される。これにより、暗号鍵消去プログラムがFD2から読み出され、コンピュータ・システム1の内部メモリに記憶される。そして、コンピュータ・システム1は、このプログラムを実行する(ステップ142)。
【0077】
続いて、FD3が管理者によってFDドライブ6にセットされる(ステップ143)。そして、FD3のディレクトリから暗号ファイルのファイル名が読み出され、表示装置2の表示画面に表示される(ステップ144)。表示されたファイル名の中から、管理者によって選択されたファイル名が入力装置3からコンピュータ・システム1に入力される(ステップ145)。コンピュータ・システム1は、入力されたファイル名にしたがってFD3から暗号ファイルを読みだし、内部メモリに記憶する(ステップ146)。そして、この暗号ファイルに含まれている暗号鍵1が消去される(ステップ147)。消去は、暗号鍵1の領域(第11図)に暗号鍵1とは異なるデータを書き込むことにより行われる。異なるデータが書き込まれることにより、暗号鍵1を秘密鍵で復号しても元のファイル鍵は得られない。暗号鍵1が消去された暗号ファイルは、FD3に再び格納される(ステップ148)。そして、処理は終了する。
【0078】
このように暗号鍵1を消去することにより、作成者が暗号ファイルの復号を行えなくすることができる。これにより、暗号ファイルを復号した平文ファイルの内容が、作成者の不注意等によって漏洩することを防止できる。また、管理者が、暗号ファイルの秘密管理を集中して行うことができる。
【0079】
また、この暗号鍵1の消去と同様にして、管理者は暗号鍵2を消去することもできる。また、FD1に暗号鍵消去プログラムを格納して、作成者が管理鍵を消去することもできる。
【0080】
(5)鍵生成処理
第14図は、第6図のステップ106における鍵生成をソフトウェア(プログラム)によって実現した場合の処理の流れを示すフローチャートである。この処理プログラムは、例えばステップ104においてファイル名が入力装置3(ここではキーボードとする)から入力されるときに起動される。
【0081】
入力装置3(キーボード)に作成者がファイル名をキー入力するときに、最初のキーの入力により、カウンタ(プログラム内に設けられた変数)の値があらかじめ定められた値(例えば零)に初期化される(ステップ151)。そして、次のキー入力が行われるまでループ処理が繰り返され、ループが繰り返されるごとにこのカウンタの値が1増加させられていく(ステップ152、153)。例えば、プログラム言語(C言語等)におけるfor文やwhile文等で、このルール処理は実現される。
【0082】
次のキー入力があると(ステップ153でYES)、その時のカウンタの値を平文および鍵として、暗号化が行われる(ステップ154)。この暗号化されたデータがファイル鍵としてステップ107で用いられる。
【0083】
キーボードのキー入力の間隔は、そのときどきに応じてランダムな値となる。このランダムな値をさらに暗号化して鍵が生成されるので、第三者による鍵の推測を非常に困難なものとできる。
【0084】
ハードウェア回路(鍵生成回路)によって鍵を生成することもできる。この場合に、この鍵生成回路は、コンピュータ・システム1の内部または外部に備えられる。そして、この鍵生成回路は、暗号化/復号プログラムからの鍵生成の命令(ステップ106)を受けることにより鍵を生成する。第15図は、鍵生成回路の構成の一例を示すブロック図である。この鍵生成回路は、擬似乱数発生回路50、シフト・レジスタ58および暗号化回路59から構成されている。擬似乱数発生回路50は4ビット・カウンタ51〜54、および排他的論理和演算を行うゲート55〜57によって構成されている。
【0085】
カウンタ51の出力Q4はカウンタ52およびゲート55に、カウンタ52の出力Q4はカウンタ53に、カウンタ53の出力Q4はカウンタ54にそれぞれ入力されている。カウンタ54の出力Q4はシフト・レジスタ58に、出力Q3はゲート57に、出力Q1はゲート56にそれぞれ入力されている。ゲート57の出力はゲート56に、ゲート56の出力はゲート55に、ゲート55の出力はカウンタ51にそれぞれ入力されている。
【0086】
立上げ時(電源投入時またはリセット時)に、カウンタ51〜54の全ての出力値が0となるのを防止するために、立上げ時に初期値1がゲート57に与えられる。また、カウンタ51〜54にはクロック信号が与えられる。これにより、この擬似乱数発生回路50は、原始多項式F(x)=xp+xq+1(p、qは整数)に基づく擬似乱数をカウンタ54の出力Q4から発生する。
【0087】
カウンタ54の出力Q4からの1ビットの出力データ(擬似乱数)は、シフト・レジスタ58に供給される。シフト・レジスタ58は、鍵の長さに応じて任意のビット長から構成されている。例えば、鍵がnビット(nは正の整数)ならば、シフト・レジスタ58はnビットまたはそれ以上のビットによって構成される。また、シフト・レジスタ58には出力指令信号が与えられる。この出力指令信号は、ステップ106の鍵生成の命令に相当する。この出力指令信号が与えられると、シフト・レジスタ58は格納されているデータを暗号化回路59に出力する。
【0088】
暗号化回路59には、シフト・レジスタ58からのデータが平文および鍵として入力される。そして、この暗号化回路59は、これらの平文および鍵に基づいて暗号化処理を行い、暗号文を出力する。この暗号文がステップ107で用いられるファイル鍵となる。暗号アルゴリズムには上述したDES型暗号等の種々のアルゴリズムを用いることができる。シフト・レジスタ58に格納されているデータの一部を、平文として暗号化回路59に入力することもできる。また、平文として入力されるデータの一部を、鍵として暗号化回路59に入力することもできる。さらに、シフト・レジスタ58のデータの一部を平文として、他の一部を鍵として暗号化回路59に入力することもできる。例えば、シフト・レジスタ58が12ビットの場合に、平文および鍵としてこの12ビット・データを用いることもできる。また、シフト・レジスタ58が24ビットの場合に平文として上位12ビットを、鍵として下位12ビットをそれぞれ用いることもできる。シフト・レジスタ58が18ビットの場合に、平文として上位からの12ビットを、鍵として下位からの12ビットをそれぞれ用いることもできる。平文と鍵とのビット長を異ならせてもよい。
【0089】
また、擬似乱数発生回路50および暗号化回路59を、ソフトウェア(プログラム)によって実現することもできる。
【0090】
このように、擬似乱数をさらに暗号化したデータを鍵(ファイル鍵)として用いることにより、第三者による鍵の推測を一層困難とすることができる。
【0091】
〔第2実施例〕
第16図は、第2実施例における暗号化/復号装置の構成を示すブロック図である。第1実施例の暗号化/復号装置(第1図)と同じものには同じ符号が付けられている。第1実施例と異なるところは、コンピュータ・システム1aに内蔵記憶装置11(ROM、磁気ディスク記憶装置、光ディスク記憶装置等)が内蔵されていることである。また、第1実施例でFD1に格納されていた暗号化/復号プログラムと管理鍵およびFD2に格納されていた復号プログラムは、この内蔵記憶装置11にあらかじめ記憶されている。FDドライブ5には、管理鍵および暗号鍵消去プログラムが格納されたフロッピィ・ディスクFD4(以下、単にFD4という)がセットされ、また取り外される。内蔵記憶装置11に記憶されている管理鍵とFD4に格納されている管理鍵とは、同一のものである。FD4は管理者にあらかじめ配布されている。
【0092】
作成者は、内蔵記憶装置11に格納された暗号化/復号プログラムおよび管理鍵によりファイルの暗号化および復号を行う。管理者は、FD4の管理鍵および内蔵記憶装置11の復号プログラムで復号を行い、また暗号鍵消去プログラムで暗号鍵1または2の消去を行う。
【0093】
この第2実施例におけるファイルの暗号化処理、復号処理および暗号鍵消去処理の流れを示すフローチャートは、第1実施例の第6図〜第8図、第10図および第13図に示されるものと次の点を除いて同じである。すなわち、ステップ101のFD1のセットが不要となり、ステップ102において暗号化/復号プログラムが内蔵記憶装置11から読み出されて起動される。ステップ110では、管理鍵が内蔵記憶装置11から読み出される。また、ステップ131および141においてFD4がFDドライブ5にセットされる。ステップ132では、復号プログラムが内蔵記憶装置11から読み出されて起動される。
【0094】
この第2実施例の変形例として、第1実施例と同様に、復号プログラムを内蔵記憶装置11ではなくFD4にあらかじめ格納しておくものがある。
【0095】
〔第3実施例〕
第17図は、第3実施例における暗号化/復号装置の構成を示すブロック図である。第1実施例(第1図)と同じものには同じ符号が付けられている。
【0096】
この暗号化/復号装置では、アダプタ7がコンピュータ・システム1に接続されているところが第1実施例と異なる。アダプタ7は、暗号化/復号プログラム、復号プログラムおよび管理鍵を記憶する記憶装置とこのプログラムを実行する装置(プロセッサ、マイクロコンピュータ等)とを備えた装置である。
【0097】
この第3実施例におけるファイルの暗号化処理、復号処理および暗号鍵消去処理では、アダプタ7がプログラムの実行を行う。また、暗号化/復号プログラムおよび復号プログラムは、アダプタ7の内部の記憶装置から読み出される。この点を除き、この第3実施例における暗号化/復号処理は、第2実施例のものと同じであるので、ここでは説明を省略する。
【0098】
アダプタ7がフロッピィ・ディスク・ドライブを備えることもできる。そして、暗号化/復号プログラムおよび管理鍵が格納されたFD1が、このフロッピィ・ディスク・ドライブにセットされ、アダプタ7がFD1の暗号化/復号プログラムを実行して、暗号化および復号の処理を行うこともできる。
【0099】
〔第4実施例〕
第4実施例は、第1実施例における秘密鍵を、作成者が入力する(第6図のステップ108)のではなく、上述した鍵生成処理(第14図または第15図)によって自動的に生成するものである。暗号化/復号装置のハードウェアとして、第1実施例〜第3実施例のものが使用できる。
【0100】
第18図〜第20図は、第1図に示す暗号化/復号装置を使用した場合の処理の流れを示すフローチャートである。ステップ101〜107の処理は、第1実施例(第6図)と同じなので、ここでは説明を省略する。ステップ168では、秘密鍵が上述した鍵生成処理(第14図または第15図)によって自動的に生成される。生成された秘密鍵は、ファイル鍵の暗号化に用いられた後(ステップ109)、暗号ファイルのファイル名と対応づけられてFD1に格納される(ステップ169)。この暗号ファイルのファイル名は、秘密鍵の識別符号(ID)となる。以下、ステップ110〜113の処理(第1実施例と同じ)が行われる。
【0101】
暗号ファイルの復号時には(ステップ103でNO)、ステップ169でFD1に記憶された暗号ファイルのファイル名(秘密鍵のID)がFD1から読み出されて、表示装置2の表示画面に表示される(ステップ170)。続いて、復号の対象となる暗号ファイルのファイル名(秘密鍵のID)が作成者によって入力装置3からコンピュータ・システム1に入力される(ステップ171)。入力されたファイル名と対応づけられて記憶されている秘密鍵が、FD1から読み出され(ステップ172)、コンピュータ・システム1の内部メモリに記憶される。
【0102】
次に、FD3がFDドライブ6にセットされる(ステップ173)。そして、ステップ171で入力されたファイル名をもつ暗号ファイルが、FD3から読み出され(ステップ174)、コンピュータ・システム1で内部メモリに記憶される。読み出された暗号ファイルの復号が秘密鍵を用いて行われる(ステップ119、120)。
【0103】
FD2の復号プログラムおよび暗号鍵消去プログラムによる処理は、第10図および第13図にそれぞれ示されるフローチャートの処理と全く同じであるので、ここでは説明を省略する。
【0104】
この第4実施例では、秘密鍵が自動的に生成され、FD1に暗号ファイルのファイル名と対応づけられて記憶されるので、作成者は秘密鍵を管理する必要がなくなる。
【0105】
〔第5実施例〕
第5実施例は、FD1に複数のそれぞれ異なる管理鍵があらかじめ格納されているものである。第21図は、暗号化/復号装置のFDドライブ5の部分とFD1およびFD2を示している。他の部分は、第1実施例(第1図)のものと同じである。
【0106】
FD1には、n個の管理鍵(M1〜Mnとする)があらかじめ格納されている。管理鍵M1〜Mnのそれぞれには、鍵の識別符号があらかじめ付けられている。FD2には、管理鍵M1〜Mnのうちの一つの管理鍵Mi(i=1〜n)があらかじめ格納されている。管理鍵と識別符号とは、対応づけられてFD1およびFD2に格納されている。ある管理者には管理鍵Miが格納されたFD2が配布され、他の管理者には管理鍵Mj(i≠j)が格納されたFD2が配布されるといった配布形態をとることができる。
【0107】
第22および第23図は、作成者がFD1の暗号化/復号プログラムを用いて平文ファイルを暗号化する場合の処理の流れを示すフローチャートである。ステップ101〜109は第1実施例の処理(第6図)と同じであるので、説明を省略する。
【0108】
秘密鍵を用いてファイル鍵が暗号化された後(ステップ109)、管理鍵の識別符号がFD1から読み出されて、表示装置2の表示画面に表示される(ステップ181)。管理鍵の内容は表示されない。作成者は、表示された識別符号の一つを選択する(ステップ182)。選択された識別符号に対応する管理鍵が読み出される。そして、この管理鍵を用いてファイル鍵が暗号化されて暗号鍵2が生成される(ステップ183)。続いて暗号ファイルが作成され(ステップ111)、FD3に格納される(ステップ112、113)。
【0109】
この暗号ファイルは、第24図に示されるデータ構造を有する。すなわち、暗号鍵2と暗号文との間に、ファイル鍵を暗号化して暗号鍵2を生成するときに用いられた管理鍵の識別符号が置かれる。この管理鍵の識別符号は、管理者がFD2の復号プログラムを用いて暗号ファイルの復号を行う場合に用いられる。第25図、第26図および第27図は、管理者がFD2の復号プログラムを用いて暗号ファイルの復号を行う場合の処理の流れを示すフローチャートである。
【0110】
ステップ131〜117の処理は、第1実施例(第10図)と同じであるので説明を省略する。FD3から暗号ファイルが読み出されると(ステップ117)、暗号ファイルに含まれている管理鍵の識別符号が読み出される。この管理鍵の識別符号に対応する管理鍵がFD2から読み出される。識別符号に対応する管理鍵がFD2に格納されていれば(ステップ185でYES)、ステップ134および135の処理(第10図と同じ)が行われる。識別符号に対応する管理鍵がFD2に格納されていなければ(ステップ185でNO)、復号できないことを告げるメッセージが表示装置2の表示画面に表示され(ステップ186)、処理は終了する。
【0111】
作成者が暗号ファイルの復号を行う場合(ステップ103でNO)の処理も第8図(第1実施例)と全く同じであるので、このでは説明を省略する。また、FD2の暗号鍵消去プログラムによる暗号鍵1の消去処理も第13図(第1実施例)に示されるフローチャートと同じであるので、説明を省略する。
【0112】
この第5実施例では、作成者は、平文ファイルの暗号化を行うときに、その暗号ファイルの管理者が所持する管理鍵を選択できる。すなわち、作成者は、暗号ファイルごとに管理鍵を使い分けることができる。
【0113】
この第5実施例の変形例として、第2実施例のように内蔵記憶装置11を備えたもの、第3実施例のようにアダプタ7を備えたものおよび第4実施例のように秘密鍵を自動生成するものがある。
【0114】
〔第6実施例〕
第6実施例は、FD1に複数のそれぞれ異なる管理鍵が、FD2にはこれらの複数の管理鍵のうちのすべてまたは一部があらかじめ格納されているものである。第28図は、暗号化/復号装置のFDドライブ5の部分とFD1およびFD2を示している。他の部分は、第1実施例(第1図)のものと同じである。
【0115】
FD1には、n個の管理鍵M1〜Mnがあらかじめ記憶されている。FD2には、一例として、管理鍵M1〜Mnのうちの3つの管理鍵Mi、MjおよびMk(i、j、k=1〜n、i≠j≠k)があらかじめ格納されている。管理鍵M1〜Mnのそれぞれには、鍵の識別符号があらかじめ付けられている。管理鍵と識別符号とは、対応づけられてFD1およびFD2に格納されている。
【0116】
作成者がFD1の暗号化/復号プログラムを用いてファイルの暗号化および復号を行う処理は第5実施例と同じである。また、管理者がFD2の復号プログラムを用いて復号するときの処理および暗号鍵消去プログラムを用いて暗号鍵1を消去するときの処理も、第5実施例(第1実施例)と同じである。したがって、ここではその説明を省略する。
【0117】
この第6実施例の変形例として、第2実施例のように内蔵記憶装置11を備えたもの、第3実施例のようにアダプタ7を備えたものおよび第4実施例のよう秘密鍵を自動生成するものがある。
【0118】
〔第7実施例〕
第7実施例は、管理鍵を新たに生成するものである。暗号化/復号装置のハードウェアとして、第5実施例または第6実施例のものを用いることができる。
【0119】
第29図〜第31図は、作成者がFD1の暗号化/復号プログラムを用いてファイルの暗号化を行う場合の処理の流れを示すフローチャートである。ステップ101〜109および181の処理は、第5実施例(第22図および第23図)と同じであるので、説明を省略する。作成者は、表示された管理鍵の識別符号のいずれか一つに対応する管理鍵を用いてファイル鍵を暗号化するかどうかを選択する(ステップ191)。表示された識別符号に対応する管理鍵のいずれか一つを用いるならば(ステップ191でNO)、表示された管理鍵の識別符号の一つが選択される(ステップ182)。そして、選択された識別符号の管理鍵によってファイル鍵が暗号化され、暗号鍵2が生成される(ステップ183)。以下、第23図と同様にしてステップ111〜113の処理が行われる。
【0120】
FD1に格納されている管理鍵を用いず、新たな管理鍵を生成する場合には(ステップ191でYES)、新たな管理鍵(Mn+1とする)が上述した鍵生成処理(第14図または第15図)によって生成される(ステップ192)。生成された管理鍵Mn+1には識別符号が生成され、これと対応付けられる。そして、管理鍵Mn+1とその識別符号とがFD1に格納される(ステップ193)。続いて、FD2が、作成者によってFDドライブ5にセットされる(ステップ194)。FD2が複数あるならば、このうちの任意の一つのFD2をセットすることができる。そして、セットされたFD2に管理鍵Mn+1とその識別符号が格納される(ステップ195)。続いて、ステップ183からの処理が行われる。
【0121】
作成者が、FD1の暗号化/復号プログラムを用いて、復号処理を行う場合(ステップ103でNO)の処理は、第8図と全く同じなので説明を省略する。また、管理者が、FD2の復号プログラムを用いて行う復号処理は、第5実施例(第25図、第26図および第27図)と全く同じなので、説明を省略する。また、FD2の暗号鍵消去プログラムによる暗号鍵1の消去処理も第13図に示されるフローチャートと同じであるので、説明を省略する。
【0122】
生成された新たな管理鍵Mn+1をFDに格納することにより、管理鍵Mn+1をもつ新しいFD2を作成することができる。
【0123】
この第7実施例の変形例として、第2実施例のように内蔵記憶装置11を備えたもの、第3実施例のようにアダプタ7を備えたものおよび第4実施例のように秘密鍵を自動生成するものがある。
【0124】
〔応用例〕
(1)企業等における管理体制に対応した管理鍵の配布
第32図は、この暗号化/復号装置を用いた一つの応用例を示している。企業等では、社長をトップにその下に部長、課長、係長という階層的な管理体制がとられている。
【0125】
社長には、管理鍵MA、MB、MCおよびMDが格納されているFD21があらかじめ配布されている。部長には、管理鍵MB、MCおよびMDが格納されているFD22があらかじめ配布されている。課長には、管理鍵MCおよびMDが格納されているFD23があらかじめ配布されている。また、係長には、管理鍵MDが格納されているFD24があらかじめ配布されている。また、FD21〜FD24には、第5または第6実施例の復号プログラムもそれぞれ格納されている。作成者には、秘密鍵Sおよび管理鍵MA〜MD(ならびに暗号化/復号プログラム)が格納されたFD1が与えられている。作成者は、平社員である場合もあるし、社長等の管理者である場合もある。作成者および管理者が使用する暗号化/復号装置のハードウェアおよびソフトウェアとして、第6または第7実施例のものを用いることができる。
【0126】
管理鍵MAは暗号情報A(暗号ファイル)に含まれる暗号鍵2をファイル鍵に、管理鍵MBは暗号情報Bに含まれる暗号鍵2をファイル鍵にそれぞれ復号できる。管理鍵MCは暗号情報Cに含まれる暗号鍵2を、管理鍵MDは暗号情報Dに含まれる暗号鍵2をそれぞれ復号できる。また、暗号情報Aを社長のみが復号して見ることができる最も機密性の高い情報とし、暗号情報Bを部長以上の者が見ることができる情報とする。暗号情報Cを課長以上の者が見ることができる情報とし、暗号情報Dを係長以上の者が見ることができる情報とする。
【0127】
作成者は、作成した情報の機密性に応じて、管理鍵を選択して暗号化を行う。例えば、社長のみが見ることができる情報の場合には、管理鍵MAを用いてファイル鍵の暗号化が行われる。このように管理者に一または複数の管理鍵を配布し、情報の機密性(重要性)のレベルに応じて、各管理鍵を使い分けることにより、情報の機密性のレベルに応じた暗号情報の管理および作成を行うことができる。
【0128】
(2)ネットワーク・データ・ベース・システム
第33図は、ネットワーク・データ・ベース・システムの構成を示すブロック図である。このネットワーク・データ・ベース・システムは、データ・ベース・システム60、クライアント63〜68(通信装置を備えたコンピュータ・システム等)およびこれらのデータ・ベース・システム60とクライアント63〜68とを接続する通信回線69から構成されている。データ・ベース・システム60は、サーバ61(通信装置または通信回路を備えたコンピュータ・システム等)および記憶装置62(磁気ディスク記憶装置、光ディスク記憶装置等)から構成されている。サーバ61は、記憶装置62に記憶されている情報(ファイル)の検索装置を含んでいる。
【0129】
クライアント63〜68には、ハードウェアおよびソフトウェアとして第5または第6実施例のものを用いることができる。ハードウェアには通信回線69との通信を行う通信装置が設けられている。記憶装置62には、暗号ファイル1〜4が格納されている。暗号ファイル1は、暗号情報(暗号化された情報)A1および暗号鍵KA1を含んでいる。暗号ファイル2は暗号情報A2および暗号鍵KA2を、暗号ファイル3は暗号情報Bおよび暗号鍵KBを、暗号ファイル4は暗号情報Cおよび暗号鍵KCをそれぞれ含んでいる。暗号鍵KA1〜KCは、上述した暗号鍵2に対応するものである。必要ならば、暗号鍵1に対応する鍵も各ファイルに含めることができる。
【0130】
暗号鍵KA1は、暗号情報A1を生成(平文を暗号化して暗号情報A1を生成)するときに用いられたファイル鍵を管理鍵MAで暗号化したものである。暗号鍵KA2は、暗号情報A2を生成するときに用いられたファイル鍵を管理鍵MAで暗号化したものである。暗号鍵KBは、暗号情報Bを生成するときに用いられたファイル鍵を管理鍵MBで暗号化したものである。暗号鍵KCは、暗号情報Cを生成するときに用いられたファイル鍵を管理鍵MCで暗号化したものである。
【0131】
管理鍵MAは、クライアント63および66にのみあらかじめ配布されている。管理鍵MBは、クライアント63、64、66および67にのみあらかじめ配布されている。管理鍵MCは、クライアント63〜68のすべてにあらかじめ配布されている。
【0132】
サーバ61とクライアント63〜68とは、通信回線69を介して通信を行う。クライアント63〜68は、参照(閲覧)したい暗号ファイルを指定して、参照要求をサーバ61に送信する。サーバ61は、この要求を受信し、指定された暗号ファイルを記憶装置62において検索する。検索された暗号ファイルは、サーバ61から通信回線69を介して参照要求側のクライアントに送信される。管理鍵MA〜MCをもつクライアント63および66は、暗号ファイル1〜4のすべてを復号して参照(閲覧)することができる。管理鍵MBおよびMCのみをもつクライアント64および67は、暗号ファイル3および4のみを復号して参照することができる。管理鍵MCのみをもつクライアント65および68は、暗号ファイル4のみを復号して参照することができる。
【0133】
このように、暗号情報のファイル鍵を異なった管理鍵で暗号化し、各クライアントに配布する管理鍵を異ならせることにより、各クライアントが参照できるファイル(情報)を異ならせることができ、ファイル閲覧の差別化を行うことができる。
【0134】
(3)電子メール・システム
第34図は、電子メール・システムの構成を示すブロック図である。この電子メール・システムは、メール・ゼンタ70、通信装置73〜78およびこれらのメール・センタ70と通信装置73〜78とを接続する通信回線79から構成されている。メール・センタ70は、通信装置71(通信回路を備えたコンピュータ・システムを含む)および記憶装置72(磁気ディスク記憶装置、光ディスク記憶装置等)から構成されている。通信装置73〜78のすべてがメールの送信局となることができるし、受信局となることもできる。通信装置73〜78のハードウェアおよびソフトウェアとして第5〜第7実施例のものを用いることができる。ハードウェアには通信回線79との通信を行う通信装置が設けられている。
【0135】
通信装置74(送信局)がメール(メールaとする)を通信装置75および77(受信局)に送信する場合について考える。送信局74は管理鍵MAを生成し、この鍵MAを受信局75および77に配布(送信)する。また、送信局74では、鍵kaが生成され、この鍵kaを用いてメールaが暗号化されて暗号メールAが生成される。鍵kaは管理鍵MAを用いて暗号化されて暗号鍵KAが生成される。そして、暗号メールAおよび暗号鍵KAにより暗号ファイル1が作成される。この暗号ファイル1はメール・センタ70に送信され、記憶装置72に記憶される。これと同時に、送信局74は、受信局75および77にメールa(または暗号メールA)を送信したという通知(通知NAとする)を送信する。通知NAには、メール・センタ70に格納されている複数のファイル(メール)の中から暗号ファイル1を識別するための識別符号が含まれている。
【0136】
通知NAを受信した受信局75および77は、通知NAに含まれる識別符号に基づいてメール・センタ70の暗号ファイル1を読み出す。そして、受信局75および77は、管理鍵MAを用いて暗号ファイル1に含まれている暗号鍵KAを復号して鍵kaを得、さらに鍵kaを用いて暗号メールAを復号してメールaを得る。
【0137】
送信局74は、管理鍵MAを通知NAに先だって受信局75および77に送信せずに、通知NAの中に管理鍵MAを含めて送信してもよい。
【0138】
送信局74が、メールaと異なるメール(メールbとする)を通信装置73(受信局)に送信する場合についても、これと同様にして処理される。すなわち、送信局74で生成された管理鍵MBが受信局73に送られる。メールbが、生成された鍵kbを用いて暗号化されて暗号メールBが生成される。鍵kbは管理鍵MBを用いて暗号化され暗号鍵KBが生成される。暗号メールBおよび暗号鍵KBによって暗号ファイル2が作成され、この暗号ファイル2がメール・センタ70に格納される。続いて、通知NBが受信局73に送信される。受信局73は、暗号ファイル2をメール・センタ70から読みだす。そして、受信局73では、暗号ファイル2に含まれる暗号鍵KBが管理鍵MBを用いて復号され、鍵kbが得られ、さらに暗号メールBが鍵kbを用いて復号され、メールbが得られる。
【0139】
この電子メール・システムでは、発信局から複数の受信局にメールを送信する場合であっても、1カ所のメール・センタにメールを送信するだけでよいので、発信局側の通信コストを軽減することができる。また、メールの受信者でない第三者がメール・センタに格納された暗号メールまたは通信回線上の暗号メールを閲覧できたとしても、その内容を知ることはできないので、メールの秘密化を図ることができる。
【0140】
この電子メール・システムの他の例として、暗号ファイル(暗号メールおよび暗号鍵)を格納する記憶装置を、通信装置73〜78がそれぞれ備えているものがある。送信局では、送信する暗号ファイルがその送信局に備えられている記憶装置に記憶される。受信局は、送信局の記憶装置から暗号ファイルを読み出す。この場合に、メール・センタを設置する必要はなくなる。
【0141】
(4)電子掲示板システム
第35図は、電子掲示板システムの構成を示すブロック図である。この電子掲示板システムは、電子掲示板装置80、クライアント83〜88(通信装置または通信回路を備えたコンピュータ・システム等)およびこれらの電子掲示板80とクライアント83〜88とを接続する通信回線89から構成されている。電子掲示板装置80は、サーバ81(通信装置または通信回路を備えたコンピュータ・システム等)および記憶装置82(磁気ディスク記憶装置、光ディスク記憶装置等)から構成されている。
【0142】
電子掲示板装置80は、掲示板を電子化したものである。クライアント83〜88は、掲示したい情報を、サーバ81を介して記憶装置82に格納する。記憶装置82に格納された掲示情報は、掲示板に掲示された情報と同じように、クライアント83〜88のすべてが参照できる。
【0143】
サーバ81には、暗号化/復号プログラム(または暗号化(暗号)回路)および鍵生成プログラム(または鍵生成回路)が含まれている。クライアント83〜88がサーバ81に管理鍵の生成要求を発すると、サーバ81は管理鍵を生成する。生成された管理鍵は、管理鍵の生成要求を発したクライアントに送信される。このクライアントは、生成された管理鍵を、掲示板の情報を見てほしい他のクライアントに配布するとともに、自らもこの管理鍵を保持する。管理鍵が配布されたクライアントも、配布された管理鍵を保持する。
【0144】
一例として、クライアント83(Mr.小沢)がクライアント87(Mr.細川)にのみ参照(閲覧)させたい情報(情報aとする)を電子掲示板に掲示する場合について考える。クライアント83は、サーバ81に管理鍵の生成要求を発する。サーバ81によって生成された管理鍵(MAとする)は、クライアント83に送られる。クライアント83は管理鍵MAをクライアント87に送信(配布)するとともに、自らも保持する。クライアント83は、電子掲示板に掲示する情報aおよび管理鍵MAを、サーバ81に送信する。サーバ81は、鍵生成プログラム(または鍵生成回路)によって鍵kaを生成する。そして、サーバ81は、この鍵kaを用いて掲示情報aを暗号化して暗号情報Aを生成する。また、サーバ81は、この鍵kaを管理鍵MAを用いて暗号化して暗号鍵KAを生成する。これらの暗号情報A、暗号鍵KAおよびMr.細川宛の掲示情報であることを告げるメッセージ“Mr.細川”によって暗号ファイル1が構成される。この暗号ファイル1は、記憶装置82に格納され、掲示される。メッセージ“Mr.細川”は暗号化されず、そのまま掲示される。
【0145】
この掲示情報は、クライアント83〜88のすべてが参照できるが、暗号情報Aを復号して参照できるのは、管理鍵MAをもつクライアント87(Mr.細川)と情報の掲示元のクライアント83(Mr.小沢)のみである。クライアント87は、メッセージ“Mr.細川”を見て、自分宛の掲示であることを確認する。そして、クライアント87は、暗号情報Aの復号要求および管理鍵MAをサーバ81に送信する。サーバ81は、管理鍵MAを用いて暗号鍵KAを鍵kaに復号し、鍵kaを用いて暗号情報Aを情報aに復号する。情報aは、クライアント87に送信される。これにより、クライアント87は、掲示情報aの内容を知ることができる。
【0146】
クライアント83がクライアント84(Mr.河野)にのみ参照させたい情報(暗号ファイル2)がある場合にも、同様の処理が行われる。
【0147】
このように、管理鍵を用いた暗号化処理を電子掲示板システムに応用することにより、特定の者のみが情報を参照(閲覧)できる電子掲示板システムを実現することができる。
【0148】
クライアント83〜88が、鍵生成プログラム(または鍵生成回路)および暗号化/復号プログラム(または暗号化(復号)回路)の両方または一方を備え、上述したサーバ81が行った鍵生成、ならびに掲示情報および鍵の暗号化処理の両方または一方を行うこともできる。
【0149】
(5)認証子の暗号化/復号
第36図は、上述した電子メール・システムや電子掲示板システムにおける情報の送受信において認証(送信された情報を確かに受け取ったか否かの判定)を行う場合に用いられる認証子に暗号化/復号処理を応用したものを示している。通信システムのハードウェアとして、上記電子メール・システムや電子掲示板システムものが使用できる。送信装置200および受信装置220のハードウェアとして第1〜第7実施例の暗号化/復号装置に通信装置を設けたものを使用できる。また、これらの装置のソフトウェアまたはハードウェアとして、第1〜第7実施例のものに、後述する認証子の暗号化および復号の処理を行うソフトウェアまたはハードウェアが付加される。
【0150】
送信装置200および受信装置220のそれぞれには、同一の管理鍵205および224があらかじめ与えられている。
【0151】
送信装置200では、鍵204が生成(または操作者によって入力)される。そして、受信装置220への送信情報201(上記の掲示情報やメール等)がこの鍵204を用いて暗号化され、暗号情報211が生成される。鍵204は管理鍵205を用いて暗号化されて暗号鍵212が生成される。また、受信装置220が情報を確かに受け取ったかどうかを確認するための認証子202も鍵204を用いて暗号化されて暗号認証子213(暗号認証子1)が生成される。認証子202は、送信者が任意に定めた記号(文字列等)や文章等からなる。これらの暗号情報211、暗号鍵212および暗号認証子213を含む送信情報210は、受信装置220に送信される。
【0152】
受信装置220では、送信情報210に含まれる暗号鍵212が管理鍵224を用いて復号され、鍵223が得られる。この鍵223はもちろん鍵204と同一のものである。そして、送信情報210に含まれる暗号情報211は、鍵223を用いて復号され、情報221(情報201と同じもの)が得られる。送信情報210に含まれる暗号認証子213も、鍵223を用いて復号され、認証子222(認証子202と同じもの)が得られる。さらに、受信装置220では、認証子222が管理鍵224を用いて暗号化されて暗号認証子231(暗号認証子2)が生成される。この暗号認証子231を含む返信情報230は、受信装置220から送信装置200に送信(返信)される。
【0153】
送信装置200では、返信情報230に含まれる暗号認証子231が管理鍵205を用いて復号され、認証子203が得られる。そして、この認証子203が認証子202と同一のものかどうかが確認される。これらの認証子202と203とが同一のものであれば、送信情報210が正しい受信装置220(受信者)に受信されたことが確認される。これにより、正しい受信装置(受信者)以外のものが情報を受信したにもかかわらず、正しい受信者になりすまして認証子を返信するといった不正な認証を防止することができる。
【0154】
送信装置200では、認証子202を管理鍵205を用いて暗号化し、受信装置220に送信することもできる。また、受信装置220では、受信した認証子222を鍵223を用いて暗号化し、送信装置200に返信してもよい。また、管理鍵は、送信装置200から受信装置220に前もって秘密裏に送信しておくこともできる。
【0155】
〔第8実施例〕
(1)システム構成および暗号化/復号処理
第37図は、第8実施例における暗号化/復号装置の構成を示すブロック図である。第37図において第1図に示すものと同一物には同一符号を付して説明を省略する。
【0156】
第37図に示す暗号化/復号装置では1つのスーパバイザ・フロッピィ・ディスク(以下SVFDという)とSVFDによって管理される複数のオペレーション・フロッピィ・ディスク(以下OPFDという)とが用いられる。
【0157】
暗号化/復号システム(一般には複数の暗号化/復号装置が含まれる)ごとに、1つのSVFDが用いられる。一の暗号化/復号システムに用いられるSVFDと他の暗号化/復号システムに用いられるSVFDとを識別するために、SVFDには固有の情報IDsが付けられる。IDsは、SVFDに固有の名称と固有の識別データとから構成される。SVFDに固有の名称は管理者(例えば、社長、社長秘書など)によって装置に入力される。SVFDに固有の識別データには、乱数データなどが用いられる。固有の名称と固有の識別データtからSVFDのIDsが構成されているので、SVFD固有の名称として同一の名称が入力されても、一般的にIDsは異なる。これにより複数のSVFDを相互に識別できる。
【0158】
またOPFDにも固有の情報IDmが付けられる。IDmもOPFDに固有の名称と固有の識別データとから構成される。OPFDに固有の名称は管理者または暗号文の作成者によって装置に入力される。OPFDに固有の識別データには、乱数データなどが用いられる。固有の名称と固有の識別データとからOPFDのIDmが構成されているので同一の名称が入力されても、一般的にIDmは異なる。これにより複数のOPFDを相互に識別できる。
【0159】
OPFDには作成者用のOPFD、管理用のOPFDおよび被管理OPFDがある。
【0160】
作成者用のOPFDは暗号文データの作成者がもつOPFDである。作成者用のOPFDには、後述するように暗号化された秘密鍵47Eおよび暗号化された作成者自身の管理鍵48Eが格納されている。平文データの暗号化処理においては、秘密鍵47または管理鍵48を用いてファイル鍵44が暗号化される。また暗号文データの復号においては、秘密鍵47を用いて暗号化されたファイル鍵44が復号される。また暗号文データの復号においては、秘密鍵47を用いて暗号化されたファイル鍵44が得られる。この復号されたファイル鍵44を用いて暗号文データが復号される。
【0161】
管理用OPFDは、一の作成者用のOPFDに格納されるものと同じ暗号化された管理鍵48Eを格納している。一の作成者用のOPFDに格納されている暗号化された管理鍵48Eを、他の作成者用のOPFDに移すことにより管理用OPFDを作成してもよいし、作成者用OPFDをつくるときに同時に管理専用OPFDをつくってもよい。作成者用のOPFDに格納されている暗号化された管理鍵48Eを用いて暗号化されたファイル鍵44を、管理用のOPFDに格納されている暗号化された管理鍵48Eを用いて復号することができる。さらに一の管理用のOPFDに格納されている暗号化された管理鍵48Eを、他の管理用のOPFDに移すこともできる。
【0162】
被管理OPFDとは、そこに記憶されている暗号化された管理鍵48Eと同じものが管理用のOPFDに格納されているOPFDをいう。被管理OPFDは管理用OPFDを用いて管理される。作成者用OPFDは被管理OPFDになることもあるし管理用OPFDになることもある。
【0163】
特に断わらない限り、OPFDは、管理用のOPFDおよび被管理用のOPFDの両方を含む。
【0164】
SVFDにはOPFDに格納されている暗号化された管理鍵48Eと同一である。暗号化された管理鍵48Eが複数のOPFDのそれぞれに対応して複数個格納されている。これによりOPFDに格納されている暗号化された管理鍵48Eを用いて暗号化されたファイル鍵44を、SVFDに格納されている暗号化された管理鍵48Eを用いて復号できる。復号されたファイル機44を用いて暗号文データを復号できる。このようにOPFDはSVFDによって管理される。
【0165】
また暗号ファイル43(FD3に格納されている)には固有のファイル番号IDfが含まれる。このIDfは暗号ファイル43を識別するためのものである。
【0166】
この実施例による暗号化/復号装置を会社で利用する場合には、SVFDは管理者である社長または社長秘書に渡され、管理用のOPFDは、部長、課長などの管理職の者に渡され、作成者用のOPFDは、作成者である一般社員によって所持される。SVFDをもつ社長または社長秘書はすべての社員が作成した暗号文データを復号できる。管理用のOPFDをもつ管理職は、自分の部下のもつOPFDに格納されている暗号化された管理鍵48Eを管理用のOPFDに移すことにより、自分の部下が作成した暗号文データを復号できる。作成者用のOPFDをもつ一般社員は、自分で作成した暗号文データの復号が可能となる。
【0167】
第37図に示す暗号化/復号装置においては、第1図に示す暗号化/復号装置の構成に、FDドライブ7およびハード・ディスク・ドライブ(以下HDドライブという)8が加えられている。もちろんFDドライブ7はFDドライブ5またはFDドライブ6と兼用することもできる。
【0168】
第37図に示す暗号化/復号装置においてはFDドライブ5に第1のOPFD1、またはSVFDがセットされ、また取り外される。FDドライブ7には第2のOPFD2がセットされ、取り外される。OPFD1が作成者用のOPFD、OPFD2が管理用のOPFDである。
【0169】
HDドライブ8は、ハード・ディスク(以下HDという)に記録されているデータの読出しおよびHDへのデータの記録を行なうものである。
【0170】
作成者用のOPFD1および管理用のOPFD2には後に後述するように各種プログラムを含むプログラム・ファイル、秘密鍵ファイル、管理鍵ファイル等が格納されている。SVFDには各種プログラムを含むプログラム・ファイル、管理鍵ファイル、登録名称閲覧用ファイル等が格納されている。
【0171】
第37図に示す暗号化/復号装置においては、OPFD1とOPFD2との相互間でのファイルの転送、OPFD1またはOPFD2とHD相互間でのファイルの転送およびSVFDとHDとの相互間でのファイルの転送が可能である。
【0172】
第38図は作成者用のOPFD1に格納されている暗号化/復号プログラムによる暗号化処理の様子を示している。第39図はこの暗号化/復号プログラムによる復号処理の様子を示している。第38図および第39図に示す処理において、第4図および第5図に示すものと同じ処理については重複説明をさける。
【0173】
第38図に示す暗号化処理においては、暗号化処理で用いられる秘密鍵47および管理鍵48は暗号化された上で(これらの暗号化された秘密鍵および管理鍵をそれぞれ符号47Eおよび48Eで示す)OPFD1(第38図および第39図においては第1のOPFD1が示されているが、複数のOPFDのうち他のOPFDであってよい)に格納されている。暗号化された秘密鍵47Eおよび管理鍵48EはOPFD1から読み出されて復号される。この復号プログラムがOPFD1が有している。復号により得られた秘密鍵47を用いてファイル鍵44が暗号化され暗号鍵1が作られ、管理鍵48を用いて暗号鍵2が作られる。これらの暗号鍵1および2が暗号ファイル43に格納されるのは第4図に示す暗号処理と同じである。
【0174】
第39図に示す復号処理においては、OPFD1から暗号化された秘密鍵47Eが読み出され、これが復号されることにより秘密鍵47が得られる。暗号ファイル43から暗号鍵1が読み出され、秘密鍵47を用いて暗号鍵1が復号される。これによりファイル鍵44が得られ、このファイル鍵44を用いて暗号文データが平文データに復元されるのは第5図に示す復号処理と同じである。
【0175】
第40図は、管理用のOPFD2またはSVFDを用いて作成者用のOPFD1によって暗号化したデータを復号する処理を示しており、第9図に示す処理に対応している。
【0176】
管理用のOPFD2またはSVFDには作成者用のOPFD1の管理鍵48と同じ管理鍵が暗号化されて記憶されている。管理用のOPFD2またはSVFDがFDドライブ7または5にセットされ、暗号化された管理鍵48Eが読出されて復号され、管理鍵48となる。暗号化された管理鍵48Eの復号プログラムはOPFD2およびSVFDにも記憶されている。復号された管理鍵48を用いて、暗号ファイル43に格納されている暗号鍵2が復号されファイル鍵44が得られる。このファイル鍵44を用いて暗号文データが平文データに復号されるのは第9図に示す処理と同様である。
【0177】
このように、第37図に示す暗号化/復号装置では作成者用のOPFD1に格納されている管理鍵を用いて暗号処理を行ない、得られた暗号文データを、管理用のOPFD2に格納されている暗号化された管理鍵48EまたはSVFDに格納されている暗号化された管理鍵48Eを用いて復号することが可能である。
【0178】
(2)ファイルの内容
第41図は暗号ファイル43の内容を示している。
【0179】
暗号ファイル43には、この暗号ファイル43を作成するのに用いたOPFDのバージ番号、後述のように暗号の作成者による復号の禁止が設定されているかどうかを表わす作成者復号禁止情報(作成者復号禁止情報を設定するのに用いたOPFD固有の名称を含む)、暗号ファイルの作成に用いられたOPFDに格納されているSVFDの固有情報IDs、暗号ファイルの作成に用いられたOPFDに格納されているOPFDの固有情報IDm、暗号ファイル43に固有のファイル番号IDf、平文データのファイル名、暗号鍵1、暗号鍵2、暗号文の大きさおよび暗号文データが格納される。
【0180】
第42図および第43図はSVFDに格納されたファイルの内容を示している。SVFDに格納されたファイルには第42図に示す管理鍵ファイル1と第43図に示す登録名称閲覧用ファイルとが含まれている。
【0181】
第42図を参照して、管理鍵ファイル1にはSVFDの正当な使用者を確認するためのパスワードを暗号化した暗号化パスワード、SVFDのバージョンを示すバージョン番号(このバージョン番号はSVFDの作成時または出荷前に登録される)、およびSVFDのIDsが格納されている。さらに管理鍵ファイル1には、すべてのOPFDのIDmと、OPFDに格納されているものと同じ暗号化された管理鍵48Eと、個別化フラグ(OPFDは後述のようにIDmを構成する名称が付与された場合を個別化されている、名称が付与されていない場合を個別化されていないという)とからなる組が、OPFDの数だけ格納されている。
【0182】
第43図を参照して、登録名称閲覧用ファイルにはSVFDのIDsが格納されている。さらに登録名称閲覧用ファイルには、すべてのOPFDの名称が格納されている。またOPFDが管理用のOPFD2であるときには、その管理用のOPFD2によって管理されるすべての被管理OPFDの名称も登録名称閲覧用ファイルに格納される。
【0183】
第44図および第45図はOPFDに格納されたファイルの内容を示している。OPFDに格納されたファイルには第44図に示す秘密鍵ファイルと第45図に示す管理鍵ファイル2とが含まれている。
【0184】
第44図を参照して、秘密鍵ファイルにはOPFDのバージョンを示すバージョン番号、OPFDの正当な使用者を確認するためのパスワードを暗号化した暗号化パスワード、SVFDのIDs、自分のIDm、および自己の管理鍵48を暗号化した暗号化管理鍵48Eが格納されている。
【0185】
さらに秘密鍵ファイルには暗号ファイル43に固有のファイル番号IDfおよびファイル鍵44を暗号化するための秘密鍵47が暗号化された暗号化秘密鍵47Eとの組が、作成した暗号文データの数に対応して格納されている。
【0186】
第41図を参照して、管理鍵ファイル2には自分のOPFD以外の他のOPFDのIDmとこの他のOPFDの暗号化管理鍵48Eと同じ暗号化管理鍵との組が格納されている。OPFDの管理鍵ファイル2に、これらIDmおよび暗号化管理鍵が格納されていることにより、他のOPFDの管理鍵48を用いて作られた暗号鍵2を復号でき、暗号文データの復号処理が可能となる。
【0187】
作成者用のOPFD1には、他のOPFDのIDmおよび暗号化された管理鍵48Eは一般には格納されない。この場合には作成者のOPFD1には管理鍵ファイル2は設けられていない。もっとも作成者用OPFDが管理用OPFDであれば、管理鍵ファイル2が設けられる。
【0188】
(3)SVFDのプログラムの内容
第46図はSVFDに格納されているプログラム・ファイルの内容を示している。第47図から第64図はこのプログラム・ファイルに格納されているプログラムにしたがう処理を示すフローチャートである。
【0189】
第47図および第48図は、制御プログラム1のフローチャートであり、主として表示装置2にメニュー画面を表示する処理手順を示している。
【0190】
SVFDをもつ管理者によってSVFDがFDドライブ5にセットされる。FDドライブ5によって、SVFDに格納されているプログラム・ファイルの内容を表わすデータが読出され、第46図に示すような形態でプログラム・ファイルの内容が表示装置2に表示される。
【0191】
表示装置2に表示されたプログラム・ファイル中のプログラムのうち制御プログラム1の動作指令が、入力装置3から与えられると、制御プログラム1にしたがう動作が開始する。
【0192】
第47図において制御プログラム1の動作が開始すると、SVFDに格納されている管理鍵ファイル1の内容がFDドライブ5によって読出されコンピュータ・システム1の内部メモリに記憶される(ステップ201)。
【0193】
第37図に示す暗号化/復号装置においては、SVFDに格納されているすべてのファイルの内容を一旦HDにインストールして、HDからファイルのデータを逐次読み出し暗号化処理または復号処理をすることができる。このため、SVFD、またはSVFDのファイルがインストールされたHDのいずれからデータが読み出されているかが判断される(ステップ202)。このデータの読み出し判断は、SVFDまたはHDのうちどちらからのデータの読み出し指令が入力装置3から与えられるかにより行なわれる。
【0194】
SVFDに格納されているデータの読み出し指令が与えられているときには、SVFD内の実行禁止フラグが1にセットされているかどうかが判断される(ステップ203)。これは後述のようにSVFDに格納されているファイルの内容がHDにインストールされた場合には、SVFDからのデータの読出しが禁止され、実行禁止フラグが1にセットされるからである。したがって実行禁止フラグが1にセットされているときには制御プログラム1は終了する(ステップ203でYES)。
【0195】
実行禁止フラグが1にセットされていなければ(ステップ203でNO)、SVFDの初期設定がすでに行なわれているかどうかが判断される(ステップ204)。SVFDの初期設定はSVFDの初期化ならびに後述するシステム登録処理および継承処理を含むものである。
【0196】
SVFDの初期設定が行なわれていなければ(ステップ204でNO)、SVFDの初期化が行なわれる(ステップ205)。SVFDのバージョン番号は出荷時にすでに登録されており、この初期化では消去されない。
【0197】
SVFDの初期化が終了するとシステム登録処理のメニューおよび継承処理のメニューが、表示装置2に表示される。入力装置3からの指令に応じてシステム登録処理または継承処理が行なわれる(ステップ206、207)。これらシステム登録処理および継承処理については後述する。
【0198】
SVFDの初期設定が終了していると(ステップ204でYES)、SVFDをもつ管理者により入力装置3からパスワードが入力される(ステップ210)。入力されたパスワードが、すでに管理鍵ファイル1に格納されている暗号化パスワードによって表わされるパスワードと一致するかどうかが判断される(ステップ211)。
【0199】
パスワードが一致すると(ステップ211でYES)、SVFDの正当な管理者と判断されるため、第48図を参照して、バックアップ消去処理(ステップ212)、パスワード再設定処理(ステップ213)、OPFD禁止解除処理(ステップ214)、OPFD用IDm設定処理(ステップ215)、OPFDに登録した名前を閲覧する処理(ステップ216)、自己の管理下にあるOPFDの個別化処理(ステップ217)、管理鍵登録処理(ステップ218)、管理鍵削除処理(ステップ219)、暗号文データの復号処理(ステップ220)およびファイル・チェック処理(ステップ221)のメニューが表示装置2に表示される。この表示を見て所望の処理が行なわれるように入力装置3から動作指令が与えられる。与えられた動作指令にもとづいた処理が行なわれる。それぞれの処理については後述する。
【0200】
つづいて、SVFDのバックアップ・ファイルの作成のために、バックアップ・ファイルを格納するディスク(FDかHDか)にデータを書込むために使用するドライブの指定およびディレクトリ名の入力が、SVFDの管理者によって行なわれる(ステップ208)、これにより、ステップ212〜221において生成された管理鍵ファイル1および登録名称閲覧用ファイルに格納されているデータがバックアップ・ファイルに転送される(ステップ209)。
【0201】
第49図は、システム登録プログラムの処理手順(ステップ206)を示している。
【0202】
管理者によって、入力装置3からSVFDに固有であってIDsを構成する名称が入力される(ステップ231)。入力された名称とSVFDに固有の識別データ(この固有の識別データにはたとえば乱数データ、名称が入力されたときの時刻データなどが用いられる)とからIDsが作られる(ステップ232)。管理鍵ファイル1および登録名称閲覧用ファイルに、作られたIDsが登録される(ステップ233)。
【0203】
またSVFDに登録するパスワードが、管理者によって、入力装置3から入力される(ステップ234)。入力されたパスワードが暗号化され(ステップ235)、管理鍵ファイル1に登録される(ステップ236)。パスワードは暗号化されて登録されているので、他人が読出してもその内容が知られることを防止できる。
【0204】
第50図は継承プログラムの処理手順(ステップ207)を示している。この継承プログラムは、SVFDが壊れた場合、紛失した場合などSVFDの使用ができなくなった場合に第48図ステップ209の処理において作成されたバックアップ・ファイルをもつFDまたはHDに格納されているSVFDのすべてのファイルを新たなFDに書込んで新たなSVFDを作成し、新たなSVFDによる処理を続行させるものである。
【0205】
第50図を参照して、入力装置3を用いてHDまたはFDに格納されているバックアップ・ファイルを呼出す呼出指令が与えられる(ステップ241)。呼出されたバックアッフ・ファイルから暗号化パスワードが読出され(ステップ242)、復号される(ステップ243)。
【0206】
管理者によって入力装置3からパスワードが入力されると(ステップ244)、バックアップ・ファイルから読出され復号されたパスワードと入力されたパスワードとが一致するかどうかが判断される(ステップ245)。パスワードが一致すると正当な管理者と判断されるので、バックアップ・ファイルに格納されていた管理鍵ファイル1および登録名称閲覧用ファイルのデータが新しいFDに格納される(ステップ246)。これにより、新たなSVFDが作成され、これを用いて暗号文データの復号などのSVFDを用いた処理が可能となる。
【0207】
第51図は、バックアップ消去プログラムによる処理手順(ステップ212)を示している。この処理手順はSVFDのバックアップ用として作成されたバックアップ・ファイルの消去処理を示している。
【0208】
第51図において、バックアップ・ファイルが格納されている格納先(HDかFDか)を読出すためのドライブ(HDドライブ8またはFDドライブ5、6もしくは7)が指定され、ディレクトリ名が入力される(ステップ251)。これによりバックアップ・ファイルが読出される(ステップ252)。またSVFDに格納されているIDsと読出されたバックアップ・ファイルに格納されているIDsとが比較される(ステップ253)。IDsが一致すると(ステップ253でYES)、SVFDに記憶されているデータとバックアップ・ファイルに記憶されているデータとが同一と判断される。これにより入力装置3から入力されるバックアップ・ファイル消去指令に応じてバックアップ・ファイルが消去される(ステップ254)。
【0209】
第52図は、SVFDに登録されたパスワードを他の新しいパスワードに変更するパスワード再設定プログラムの処理手順(ステップ213)を示している。
【0210】
入力装置3からパスワードを変更すべきSVFDのパスワードが入力される(ステップ261)。入力されたパスワードとパスワードを変更すべきSVFDのパスワードとが一致するとパスワードを変更しようとする者は正当な使用者と判断され(ステップ261でYES)、入力装置3から新たなパスワードが受付けられる(ステップ262)。入力された新たなパスワードは暗号化されて(ステップ263)、管理鍵ファイル1に登録される(ステップ264)。これ以後、SVFDのパスワードは新たに入力されたパスワードとなる。
【0211】
ステップ261において入力装置3から入力したパスワードと、パスワードを変更すべきSVFDのパスワードとが一致しなければ、パスワードの変更はできない(ステップ261でNO)。
【0212】
第53図は、OPFD禁止解除プログラムの処理手順(ステップ214)を示すものである。OPFDに格納されているファイルをHDにインストールしてしまうとこのOPFDを用いて暗号化処理または復号処理を行なうことは禁止される。このような場合にOPFDを用いた暗号化処理または復号処理の禁止を解除するのがOPFD禁止解除プログラムである。
【0213】
SVFDがFDドライブ5に装着され、SVFDに格納されているIDsが読出され、コンピュータ・システム1の内部メモリに記憶される。暗号化処理または復号処理が禁止されているOPFDをFDドライブ5に装着すべき旨の指示が表示装置2に表示される(ステップ271)。FDドライブ5にOPFDが装着されると、OPFDに格納されている秘密鍵ファイルが読出される(ステップ272)。秘密鍵ファイルが読出されると、秘密鍵ファイルに格納されているIDsとSVFDから読出されコンピュータ・システム1の内部メモリに記憶されているIDsとが一致するかどうかが判定される(ステップ273)。一致すればOPFDによる暗号化処理または復号処理の実行禁止が解除される(ステップ274)。これにより、ファイルがインストールされたHDが壊れHDからファイルの読出しができなくなった場合であってもOPFDに格納されたファイルの読出しが可能となる。
【0214】
第54図は、IDmをSVFDに登録するプログラムの処理手順(ステップ215)を示している。
【0215】
OPFDにはOPFDに固有の名称が設定され、それぞれのOPFDを利用する作成者によって所持される。この固有の名称をSVFDに設定する処理手順が、第54図に示すものである。
【0216】
入力装置3を用いてOPFDに固有の名称が入力される(ステップ281)。すでに入力されたOPFDの名称と同じ名称が入力されることがある。その場合には、入力された名称に何らかの名称を付加した名称をOPFDの固有の名称とすればよい。入力された固有の名称とOPFDに固有の識別データとを合わせることによりOPFDのIDmが生成される(ステップ282)。またOPFDに固有の管理鍵48が生成され(ステップ283)、暗号化される(ステップ284)。
【0217】
生成されたIDmと、暗号化された管理鍵とがSVFDの管理鍵ファイル1に登録される(ステップ285)。入力装置3から入力された固有の名称は、SVFDの登録名称閲覧用ファイルにも格納される(ステップ286)。
【0218】
つづいて生成されたIDmおよび暗号化管理鍵をOPFDに登録するかどうかが判断される(ステップ287)。入力装置3から、これらのIDmおよび暗号化管理鍵を登録する旨の指令が与えられると(ステップ287でYES)、表示装置2にOPFDの装着指示が表示される(ステップ288)。OPFDがFDドライブ7に装着されるとOPFDの秘密鍵ファイルにSVFDのIDs、自己のIDmおよび自分の暗号化管理鍵が格納される(ステップ289)。秘密鍵ファイルにIDs、IDmおよび暗号化管理鍵が格納されると、SVFDの管理鍵ファイル1においてそのIDmに対応する個別化フラグが1にセットされる。
【0219】
第55図は登録名称閲覧プログラムの処理手順(ステップ216)を示している。登録名称閲覧プログラムは、SVFDが管理するOPFDの名称を閲覧するためのものである。
【0220】
入力装置3から登録名称閲覧指令が与えられると、SVFDから管理鍵ファイル1が読込まれる(ステップ291)。管理鍵ファイル1に格納されているすべてのIDmからすべてのOPFDの名称が抽出され(IDmはOPFDの名称とOPFD固有の識別データから構成されている)、表示装置2に表示される(ステップ292)。表示装置2に表示されたOPFDの名称のうち、所望のOPFDの名称が、入力装置3から入力される(ステップ293)。
【0221】
つづいて登録名称閲覧用ファイルが読込まれる(ステップ294)。上述したように管理用のOPFD2はその管理用のOPFD2が管理する作成者のOPFD1を用いて暗号化された暗号文データを復号することができる。ステップ293において入力されたOPFDの名称が管理用のOPFDの名称であると、その管理用のOPFDが管理するOPFDの名称(被管理OPFDの名称)が検索され、検索された名称が表示装置2に表示される(ステップ295)。
【0222】
第56図はOPFD個別化プログラムの処理手順を示している(ステップ217)。
【0223】
OPFD個別化プログラムは、SVFDのIDs、OPFDのIDmiおよび暗号化管理鍵−i(第44図参照)を秘密鍵ファイルに格納する処理(個別化処理)を行うものである。
【0224】
第56図を参照して、OPFD個別化プログラムにおいてはまず表示装置2に、個別化すべきOPFDをFDドライブ7に装着するように指示が表示される(ステップ301)。
【0225】
個別化すべきOPFDがFDドライブ7にセットされると、そのOPFDに格納されている秘密鍵ファイルが読み出されコンピュータ・システム1の内部メモリに記憶される(ステップ302)。
【0226】
またSVFDの管理鍵ファイル1に格納されているIDmを構成するOPFDの名称の一覧表が表示され、一覧表に表示されたOPFDの名称のうち個別化するOPFDの名称が入力装置3から入力される(ステップ303)。入力された名称をもつOPFDを管理するSVFDのIDs、IDmおよび暗号化管理鍵がSVFDの管理鍵ファイル1から読み出され個別化すべきOPFDの秘密鍵ファイルに登録される(ステップ304)。これによりOPFDの個別化が行なわれたこととなり、SVFDの管理鍵ファイル1において個別化されたOPFDのIDmに対応した個別化フラグが1にセットされる(ステップ305)。
【0227】
個別化処理済のOPFDにはIDs、IDmおよび暗号化管理鍵48Eが格納されている。個別化処理済のOPFDがFDドライブ7に装着された場合には、すでに秘密鍵ファイルに格納されているIDs、IDmおよび暗号化管理鍵48Eに、新たに個別化処理されることにより得られるIDs、IDmおよび暗号化管理鍵48Eが上書きされる。すでに秘密鍵ファイルに格納されているIDs、IDmおよび暗号化管理鍵は消去されることとなる。したがって消去されたIDmを構成するOPFDの名称をSVFDの登録名称閲覧用ファイルから削除する必要がある。ステップ301で装着されたOPFDが個別化処理済のものであったときに再登録処理が行なわれる(ステップ306)。再登録の場合であれば(ステップ306でYES)、登録名称閲覧用ファイルが読み出され、再登録前のOPFDの名称が検索される(ステップ307)。再登録前のOPFDの名称が検索されると、検索されたOPFDの名称とその名称に対応して格納されている被管理OPFDの名称が、登録名称閲覧ファイルから消去される(ステップ308)。OPFDの再登録でなければ(ステップ306でNO)、ステップ307および308の処理はスキップされる。
【0228】
つづいて、他のOPFDを管理するために、他のOPFDに格納されている暗号化管理鍵48Eと同じ暗号化管理鍵48Eを個別化処理を受けたOPFDの管理鍵ファイル2に登録するかどうかが判断される(ステップ309)。
【0229】
管理すべきOPFDの暗号化管理鍵を管理鍵ファイル2に登録する場合には(ステップ309でYES)、管理鍵ファイル1に登録されたOPFDの名称の一覧が表示装置2に表示され、所望の名称が入力装置3から入力される(ステップ310)。入力装置3から入力された名称に対応するIDmとその名称に対応するOPFDの暗号化管理鍵がOPFDの管理鍵ファイル2に登録される(ステップ311)。
【0230】
さらに登録名称閲覧用ファイルが読み出され(ステップ312)、この登録名称閲覧用ファイルに、ステップ311で暗号化管理鍵が管理鍵ファイル2に登録されたOPFDの名称が格納される(ステップ313)。
【0231】
第57図は管理鍵登録プログラムの処理手順(ステップ218)を示している。
【0232】
管理鍵登録プログラムは、一のOPFDに、他のOPFDの暗号化管理鍵を登録するプログラムである。
【0233】
第57図において管理鍵登録指令が、入力装置3から与えられると、FDドライブ5に装着されたSVFDの管理鍵ファイル1および登録名称閲覧用ファイルが読出され、コンピュータ・システム1の内部メモリに格納される。管理鍵を登録すべき一のOPFDをFDドライブ7に装着させる指示が表示装置2に表示される(ステップ321)。一のOPFDがFDドライブ7に装着されると、そのOPFDに格納されている管理鍵ファイル2が読出され、コンピュータ・システム1の内部メモリに記憶される(ステップ322)。
【0234】
つづいてSVFDの管理鍵ファイル1に格納されている暗号化管理鍵をもつOPFDの名称が表示装置2に表示される。表示装置2に表示されたOPFDの名称の中から一のOPFDの管理鍵ファイル2に登録すべき暗号化管理鍵をもつ他のOPFDの名称が入力装置3を用いて指定される(ステップ323)。入力装置3によって指定された名称のOPFDに対応してSVFDの管理鍵ファイル1に格納されている暗号化管理鍵、およびIDmがコンピュータ・システム1の内部メモリ上で一のOPFDの管理鍵ファイル2に格納される。管理鍵ファイル2はコンピュータ・システム1の内部メモリからFDドライブ7に装着された一のOPFDに転送される。(ステップ324)。
【0235】
さらにSVFDから読出された登録名称閲覧用ファイルに格納されているOPFDの名称の中からFDドライブ7に装着された一のOPFDの名称が検索される(ステップ325)。登録名称閲覧用ファイルにおいて検索された名称をもつ一のOPFDが管理するOPFD(被管理OPFD)の名称として、ステップ324で管理鍵ファイル2に格納されたIDmを構成する名称が登録名称閲覧用ファイルに格納される(ステップ326)。
【0236】
第58図は管理鍵削除プログラムの処理手順(ステップ219)を示している。
【0237】
管理鍵削除指令が、入力装置3に入力されると削除すべき管理鍵が格納されているOPFDをFDドライブ7に装着することを指示するガイダンスが表示装置2に表示される(ステップ331)。FDドライブ7に装着されたOPFDから管理鍵ファイル2が読出され、コンピュータ・システム1の内部メモリに一旦記憶される(ステップ332)。またFDドライブ5にセットされたSVFDの管理鍵ファイル1も読出される(ステップ333)。
【0238】
OPFDから読出された管理鍵ファイル2に格納されている管理鍵をもつ被管理OPFDの名称の一覧が表示装置2に表示される(ステップ334)。
【0239】
表示装置2に表示された被管理OPFDの名称のうち、削除すべき管理鍵をもつ被管理OPFDの名称が入力装置3から入力される(ステップ335)。入力装置3から名称が入力されると、その名称によって特定されるIDmおよび暗号化管理鍵が管理鍵ファイル2から消去される(ステップ336)。
【0240】
また登録名称閲覧用ファイルから、FDドライブ7に装着されているOPFDの名称が検索される(ステップ337)。検索されたOPFDの名称に対応して格納されている被管理OPFDの名称のうち消去されたIDmを構成する名称と同じ名称の被管理OPFDの名称が検索され、登録名称閲覧用ファイルから削除される(ステップ338、339)。
【0241】
第59図および第60図は、SVFDによる、暗号文データの復号プログラムの処理手順(ステップ220)を示している。この処理は、OPFDに格納される秘密鍵および管理鍵を用いて作成された暗号文データをSVFDに格納された管理鍵を用いて復号する処理である。
【0242】
第59図において、暗号ファイルが格納されているFD3がFDドライブ6にセットされる。FD3に格納されている暗号ファイルのファイル名がすべて表示装置2に表示される。表示装置2に表示されたファイル名のうち復号すべき暗号ファイルのファイル名が入力装置3を通して選択される(ステップ341)。選択されたファイル名をもつ暗号ファイルが、FD3から読込まれる(ステップ342)。
【0243】
暗号文データの復号処理においては、低いバージョンのOPFDによって暗号化された暗号文データを、それと同等かまたはそれよりも新しいバージョンのSVFDによって復号することができる必要がある。このために暗号ファイルに格納されているOPFDのバージョンとSVFDのバージョンとの比較が行なわれる(ステップ343)。暗号ファイルに格納されているバージョンが、SVFDのバージョンよりも古ければまたは等しければ暗号文データの復号が可能であり、そうでなければ復号できない。
【0244】
暗号ファイルに格納されているバージョンが、SVFDのバージョンよりも古いまたは等しい場合には(ステップ343でYES)、SVFDの管理鍵ファイル1または登録名称閲覧用ファイルに格納されているIDsと暗号ファイルに格納されているIDsとが比較される(ステップ344)。IDsが一致しているとこのSVFDの管理下に置かれたOPFDによって暗号化されたものであり、復号可能である。これに対し、IDsが一致しないということはこのSVFDの管理下にはないOPFDによって暗号化されたものであり復号は不可能である。
【0245】
IDsが一致することにより、復号可能と判断されると(ステップ344でYES)、暗号ファイルに格納されているIDmと同じIDmが管理鍵ファイル1から検索される(ステップ345)。
【0246】
同じIDmが見つかると(ステップ345)、見つかったIDmに対応して管理鍵ファイル1に記憶されている暗号化管理鍵が読み出され復号される(ステップ346)。
【0247】
続いて暗号鍵2が、暗号ファイルから読出され、復号された管理鍵48によって復号されファイル鍵44が得られる(ステップ347)。ファイル鍵44を用いて暗号文データが復号され、平文データが得られる(ステップ348)。平文データが表示装置2に表示される(ステップ349)。
【0248】
表示装置2に表示されたデータのスクロール指示が入力されているかどうかが判断され(ステップ350)、スクロール指示が与えられている場合にはその指示にしたがってデータ・スクロール処理が行われる(ステップ354)。スクロール指示が入力されていない場合には(ステップ350でNO)、復号された平文データを格納するためのファイルを作成する指示が与えられたかどうかが判断される(ステップ351)。
【0249】
ファイルを作成する場合には、外部記憶装置4への平文データの転送指令が入力装置3から与えられ、外部記憶装置4に記憶される(ステップ352、353)。
【0250】
第61図はファイル・チェック・プログラムの処理手順(ステップ221)を示している。ファイル・チェック・プログラムは、暗号ファイルの作成者および復号禁止設定者を確認するための処理である。
【0251】
第61図において、FDドライブ6にセットされたFD3に格納された暗号ファイルが読出され、コンピュータ・システム1の内蔵メモリに記憶される(ステップ361)。SVFDの管理下に置かれたOPFDによって暗号化された暗号ファイルかどうかを確認するために、暗号ファイルに格納されているIDsとSVFDの管理鍵ファイル1または登録名称閲覧用ファイルに格納されたIDsとの比較が行なわれる(ステップ362)。
【0252】
IDsが一致すると、暗号ファイルの作成に用いたOPFDの名称が暗号ファイルから読出され、表示装置2に表示される(ステップ363)。
【0253】
また、暗号ファイルに格納されている作成者復号禁止情報が1にセットされているかどうかが判断される(ステップ364)。作成者復号禁止情報が1にセットされている場合には、作成者復号禁止処理に用いられたOPFDの名称が暗号ファイルから読出され表示装置2に表示される(ステップ365)。
【0254】
第62図は、インストール・プログラム1の処理手順を示している。インストール・プログラム1もSVFDのプログラム・ファイルに格納されている。このインストール・プログラムはSVFDに格納されているすべてのファイルをHDに転送し、HDからファイルを読み出し暗号化/復号処理を行なうものである。
【0255】
SVFDに格納されているすべてのファイルがすでにHDにインストールされているときにはSVFD内の実行禁止フラグが1にセットされインストールが禁止される。これはSVFDに格納されているファイルのコピーを防止するためである。このためまず、実行禁止フラグが1にセットされているかどうかが判断される(ステップ371)。実行禁止フラグが1にセットされていると(ステップ371でYES)、インストールできずインストール・プログラムは終了する。
【0256】
実行禁止フラグが1にセットされていなければ(ステップ371でNO)、インストール先のドライブ(HDドライブ8)を指定すべき旨およびディレクトリを入力すべき旨の指示が表示装置2に表示される(ステップ372)。この表示にもとづいて、インストール先のドライブが指定され、ディレクトリが入力装置3から入力される(ステップ373)。
【0257】
入力装置3によって指定されたインストール先のドライブのHDにすでにディレクトリが作成されているかどうかが判断される(ステップ374)。ディレクトリが作成されていない場合には(ステップ374でNO)、ディレクトリが作成され(ステップ375)、すでにディレクトリが作成されているときには(ステップ374でYES)、ステップ375の処理はスキップされる。
【0258】
また、SVFDがすでにHDにインストールされているかどうかが判断され(ステップ376)、インストールされていないときにはSVFDに格納されているすべてのファイルがHDに転送され(ステップ377)、SVFDの実行禁止フラグが1にセットされる(ステップ378)。
【0259】
第63図は逆インストール・プログラム1の処理手順を示している。逆インストール・プログラムもSVFDのプログラム・ファイルに格納されている。逆インストール・プログラムは、SVFDからHDにインストールされたファイルを再びSVFDに戻す処理を示すものである。
【0260】
第63図において、HDドライブ8の指定とディレクトリ名が入力装置3から入力される(ステップ381)。指定されたHDドライブ8によってHDに格納されているファイルのうち入力されたディレクトリ名をもつファイルが読取られ、それらのファイルのうち管理鍵ファイル1がコンピュータ・システム1の内部メモリに一旦記憶される(ステップ382)。逆インストールすべきSVFDがFDドライブ5にセットされ、SVFDの管理鍵ファイル1が読取られ、コンピュータ・システム1の内部メモリに一旦記憶される(ステップ383)。
【0261】
HDから読取られた管理鍵ファイル1に格納されているIDsとSVFDから読取られた管理鍵ファイル1に格納されているIDsとが比較される(ステップ384)。このIDsが一致するとFDドライブ5に装着されているSVFDが、HDにファイルをインストールしたSVFDであると判断され、HDに格納されていた管理鍵ファイル1と登録名称閲覧用ファイルがSVFDに転送される(ステップ385)。SVFDの実行禁止フラグが0にリセットされる。SVFDに管理鍵ファイル1と登録名称閲覧用ファイルとが転送されると、HDに格納されているHDのプログラム・ファイル、管理鍵ファイル1および登録名称閲覧用ファイルが消去される(ステップ386)。これによりHDからのファイルの読出しができなくなる。
【0262】
第64図は暗号鍵生成プログラム1の処理手順を示している。この暗号鍵生成プログラム1はSVFDのプログラム・ファイルに格納されている。また第65図は第64図に示す暗号鍵生成プログラム1にしたがって暗号鍵を生成する暗号鍵生成回路の電気的構成を示している。
【0263】
第65図を参照して、所定の入力データと初期値データまたは暗号化回路92の出力データとが加算回路91に与えられ加算される。加算回路91から出力される加算データは暗号化回路92に入力する。暗号化回路92に入力したデータは、鍵を用いて暗号化されて出力される。暗号化回路92から出力されるデータが暗号鍵として用いられる。
【0264】
このような暗号鍵生成において、鍵、加算回路91に入力する入力データおよび初期値データのうちいずれかのデータに、時刻データを用いて暗号鍵を生成するのが第64図に示す処理手順である。
【0265】
第64図において、時刻データが入力され(ステップ391)、この時刻データを第65図に示す入力データ、初期値データまたは鍵として用いて暗号データが生成される(ステップ392)。このようにして生成された暗号データがファイル鍵44、秘密鍵47または管理鍵48として用いられる(ステップ393)。
【0266】
(4)OPFDのプログラムの内容
第66図はOPFDのプログラム・ファイルの内容を示している。
【0267】
OPFDのプログラム・ファイルには、制御プログラム2、暗号化プログラム、復号プログラム2、作成者復号禁止プログラム、管理用名称閲覧プログラム、パスワード再設定プログラム2、インストール・プログラム2、逆インストール・プログラム2および鍵生成プログラムが格納されている。
【0268】
第67図から第77図はこのプログラム・ファイルに格納されているプログラムにしたがう処理を示すフローチャートである。
【0269】
第67図および第68図はOPFDの制御プログラム2のフローチャートである。
【0270】
第67図において、OPFDがFDドライブ5にセットされ、OPFDに格納されている秘密鍵ファイルが読取られる(ステップ401)。OPFDのプログラム・ファイルに格納されている各プログラム(実行プログラム)がHDにすでにインストールされているかどうかが判断される(ステップ402)。HDにイントールされていなければ、OPFD内にあるFD実行禁止フラグが1にセットされているかどうかが判断される(ステップ403)。
【0271】
FD実行禁止フラグが1にセットされていなければ(ステップ403でNO)、OPFDが個別化されているかが判断される(ステップ404)。すでに個別化されていればFDドライブにセットされたOPFDは使用可能である。つづいてOPFDの秘密鍵ファイルに暗号化パスワードが記憶されているかどうかが判断され(ステップ405)、OPFDに暗号化パスワードが記憶されていると(ステップ405でYES)、OPFDの使用者が正当な使用者かどうかを確認するために入力装置3からパスワードが入力される(ステップ406)。
【0272】
入力されたパスワードがOPFD内のパスワードと一致するかどうかが判断され(ステップ407)、一致すると(ステップ407でYES)OPFDの使用者が正当な使用者と判断され暗号化等の処理が可能となる。これにより暗号化処理(ステップ408)、復号処理(ステップ409)、作成者復号禁止処理(ステップ410)、管理用名称閲覧処理(ステップ411)、およびパスワード再設定処理(ステップ412)が可能となる。これらの各処理について詳しくは後述する。
【0273】
FDドライブ5にセットされたOPFDに暗号化パスワードが格納されていないときには(ステップ405でNO)、OPFDの正当使用者の確認のために用いられるパスワードが入力装置3から入力され(ステップ413)、暗号化されて秘密鍵ファイルに格納される(ステップ414)。
【0274】
第69図は、OPFDを用いた暗号化プログラムの処理手順(ステップ408)を示している。
【0275】
外部記憶装置4に格納されている平文ファイルのうち暗号化すべき平文ファイルが入力装置3によって選択される(ステップ421)。入力装置3によって選択された平文ファイルに格納されている平文データが表示装置3に表示される(ステップ422)。この平文データのスクロール指示が入力されていれば(ステップ423でYES)、スクロール表示が行なわれ表示装置3に表示されている平文データが、暗号化すべきデータかどうか確認される(ステップ424)。
【0276】
暗号化すべきデータであることが確認されると、秘密鍵47が生成され、これが暗号化されることにより暗号化秘密鍵47Eがつくれる(ステップ425、426)。
【0277】
FDドライブ5にOPFDがセットされ、OPFDに格納されている秘密鍵ファイルがコンピュータ・システム1の内部メモリに読取られる(ステップ427)。この秘密鍵ファイルに暗号化秘密鍵47EおよびIDfが格納される(ステップ428)。
【0278】
またファイル鍵44が生成される(ステップ429)。秘密鍵ファイルに格納されている暗号化管理鍵48Eが復号される(ステップ430)。
【0279】
生成された秘密鍵47および復号された管理鍵を用いて暗号鍵1および暗号鍵2が生成される(ステップ431、432)。
【0280】
暗号文データ、暗号鍵1および暗号鍵2を格納すべき暗号ファイルの格納先が指定され(ステップ433)、暗号ファイルが作成され格納される(ステップ434)。
【0281】
暗号文データが作成されたときには、作成された暗号文データは表示装置2に表示され暗号化されていることが確認される(ステップ435、436)。
【0282】
第70図、第71図および第72図は復号プログラムの処理手順(ステップ409)を示している。この復号プログラムはファイル鍵44を用いて暗号化された暗号文データをOPFDに格納されている暗号化秘密鍵47Eまたは暗号化管理鍵48Eを用いて復号するものである。この復号プログラムにおいては自己のOPFDを用いて暗号文データを復号する場合と、他人のOPFDを用いて暗号文データを復号する場合とがある。
【0283】
第70図において、FDドライブ5にセットされたFD3に格納されている暗号ファイルのうち復号すべき暗号ファイルが、入力装置3によって選択される(ステップ441)。
【0284】
暗号ファイルに格納されているバージョン番号が、OPFDの秘密鍵ファイルに格納されているバージョン番号と等しいかまたは古いかどうかが判断される(ステップ442)。暗号ファイルに格納されているバージョン番号がOPFDの秘密鍵ファイルに格納されているバージョン番号と等しいかまたは古ければ(ステップ442でYES)、復号が可能であるからOPFDに格納されている秘密鍵ファイルが読出される。暗号ファイルに格納されているIDsと秘密鍵ファイルに格納されているIDsとが一致するかどうかが判断される(ステップ444、445)。
【0285】
IDsが一致しなければ(ステップ444でNO)、同一のSVFDの管理下にあるOPFDによって暗号化されたものではないため復号することはできない。
【0286】
IDsが一致すると(ステップ444でYES)、同一のSVFDの管理下にあるOPFDによって暗号化されたものであり復号可能となる。IDsが一致すると暗号ファイルに格納されているIDmと秘密鍵ファイルに格納されているIDmとが一致するかどうかが判断される(ステップ445)。IDmが一致すると自分のOPFDを用いて作成した暗号文データであり秘密鍵47によって復号処理が行なわれる。IDmが不一致だと他人のOPFDを用いて作成した暗号文データであり管理鍵48によって復号処理が行なわれる。
【0287】
IDmが一致すると(ステップ445でYES)、暗号ファイルに格納されている作成者復号禁止情報が1にセットされているかどうかが判断される(ステップ446)。作成者復号禁止情報が1にセットされているとこのOPFDを利用した復号は禁止される。
【0288】
作成者復号禁止情報が1にセットされていないと(ステップ446でYES)、暗号ファイルに格納されているIDfと同じIDfが秘密鍵ファイルに格納されているかどうかが判断される(ステップ447)。このIDfが秘密鍵ファイルに格納されていると(ステップ447でYES)、確認のために第72図において表示装置2に暗号文データがスクロール表示される(ステップ448、449)。
【0289】
秘密鍵ファイルにおいて検索されたIDfに対応した暗号化秘密鍵47Eが復号され(ステップ450)、復号された秘密鍵47によって暗号鍵1が復号される(ステップ451)。これによりファイル鍵44が得られる。このファイル鍵44を用いて暗号ファイルに格納されていた暗号文データが復号される(ステップ452)。
【0290】
暗号文データが復号されると復号された平文データは表示装置3に表示される(ステップ453)。データのスクロール指示が入力されていなければ(ステップ454でNO)、外部記憶装置4に平文データが記憶され、コンピュータ・システム1の内部メモリに記憶されていた平文データは消去(復号バッファの消去)される(ステップ455)。復号データのスクロール指示が入力されている場合には(ステップ454でYES)、その指示にしたがってデータ・スクロール処理が行なわれ、データが確認される(ステップ461)。
【0291】
ステップ445においてIDmが一致しないと、他人のOPFDを用いて暗号文データを復号する処理となる。
【0292】
第71図において暗号ファイルのIDmが管理鍵ファイル2から見つけられる(ステップ456)、IDmが見つかると表示装置2に暗号文データがスクロール表示される(ステップ457、458)。検索されたIDmに対応する暗号化管理鍵48Eが検索され復号される(ステップ459)。復号された管理鍵48によって暗号鍵2が復号される(ステップ460)。これによりファイル鍵44が得られる。このファイル鍵44を用いて暗号文データが復号される(ステップ452)。
【0293】
以降の処理は秘密鍵47を用いて暗号鍵1からファイル鍵44を生成して暗号文データの復号を行なう場合と同じであるため説明を省略する。
【0294】
第73図は作成者復号禁止プログラムの処理手順(ステップ410)を示している。作成者復号禁止プログラムは暗号文を作成した作成者による暗号文の復号を禁止するものである。
【0295】
FDドライブ6に暗号ファイルを格納したFD3がセットされ、作成者復号を禁止すべき暗号ファイルが選択される(ステップ471)。またOPFDがFDドライブにセットされ、OPFDに格納されている秘密鍵ファイルがコンピュータ・システム1の内蔵メモリに読取られる(ステップ472)。
【0296】
暗号ファイルに格納されているIDsと秘密鍵ファイルに格納されているIDsとが一致するかどうかが判断される(ステップ473)。一致すると暗号ファイルを生成するのに用いたOPFDとFDドライブ5にセットされたOPFDとが同一のSVFDの管理下におかれていると判断され(ステップ473でYES)、OPFDの管理鍵ファイル2がコンピュータ・システム1の内蔵メモリに格納される(ステップ474)。
【0297】
管理鍵ファイル2の中に暗号ファイルのIDmと一致するIDmが存在すると(ステップ475でYES)、暗号ファイルはFDドライブ5にセットされたOPFDによって管理される被管理OPFDによって暗号化されたものと判断されるため、作成者復号禁止の確認が行なわれて暗号ファイルの暗号鍵1が消去される(ステップ477)。暗号鍵1が消去されてしまうので秘密鍵47を用いてもファイル鍵44を得ることができず、復号処理ができなくなる。暗号ファイルには作成者の復号が禁止されたOPFDの名称が記憶される(ステップ478)。
【0298】
第74図は管理用名称閲覧プログラムの処理手順(ステップ411)を示している。これは、自己のOPFDが管理する他人のOPFDの名称を表示するものである。すなわち他人のOPFDを利用して生成された暗号ファイルの暗号文データを、自己のOPFDに格納されている暗号化管理鍵48Eを用いて復号可能な、そのような他人のOPFDの名称の一覧表を表示する。
【0299】
OPFDがFDドライブ6にセットされると、コンピュータ・システム1に内蔵されるメモリに管理鍵ファイル2が読取られる(ステップ481)。これにより、表示装置3に自己のOPFDが管理する他人のOPFDの名称が表示される(ステップ482)。
【0300】
第75図はパスワード再設定プログラム2の処理手順(ステップ412)を示している。
【0301】
OPFDにおいてもパスワードが暗号化されて格納されているが、その変更も可能である。パスワードを変更する場合、入力装置3から新しいパスワードが入力され(ステップ491)、暗号化される(ステップ492)。暗号化された新しいパスワードが秘密鍵ファイルに格納される(ステップ493)。新しいパスワードがOPFDに格納されるとそれ以後は新しいパスワードを用いて正当なOPFDの使用者かどうかを確認することになる。パスワードの再設定においては再設定前に古いパスワードが入力され、OPFDの正当な使用者であることが確認されることはいうまでもない。
【0302】
第76図はOPFDのインストール・プログラム2の処理手順を示している。このインストール・プログラム2もOPFDのプログラム・ファイルに格納されている。
【0303】
OPFDに実行禁止フラグが設定されていなければ(ステップ501でNO)、すでにOPFDがHDにインストールされているかどうかが判断される(ステップ502)、OPFDのすべてのファイルがすでにHDにインストールされていなければOPFDのすべてのファイルが読出されHDにインストールされ(ステップ503)、OPFDの実行禁止フラグが1にセットされる。
【0304】
第77図は逆インストール・プログラムの処理手順を示している。この逆インストール・プログラムもOPFDのプログラム・ファイルに格納されている。
【0305】
HDドライブ名が入力され(ステップ511)、HDに格納されている秘密鍵ファイルが読取られる(ステップ512)。秘密鍵ファイルがあれば(ステップ513でYES)、FDドライブ5にOPFDがセットされOPFDの秘密鍵ファイルが読取られる(ステップ514)。
【0306】
HDから読取られた秘密鍵ファイルに格納されているIDsとOPFDから読取られた秘密鍵ファイルに格納されているIDsとが一致するかどうか(ステップ515)、HDから読取られた秘密鍵ファイルに格納されているIDmとOPFDから読取られた秘密鍵ファイルに格納されているIDmとが一致するかどうかが判断される(ステップ516)。IDsが一致し(ステップ515でYES)、かつIDmが一致すると(ステップ516でYES)、HDに格納されていた秘密鍵ファイルはFDドライブにセットされているOPFDから転送されたものと判断されHDに格納されていたすべてのファイルがOPFDに転送され格納される(ステップ517)。HDに格納されていたファイルは消去される(ステップ518)。
【0307】
OPFDのプログラム・ファイルにも鍵生成プログラム2が含まれており、この鍵生成プログラム2により暗号鍵を生成することもできるが、その処理手順はSVFDのプログラム・ファイルに格納されている鍵生成プログラム1と同様であるため重複説明は省略する。
【0308】
このようにして第8実施例によると、SVFDを1人の管理者、たとえば社長、秘書などにもたせ、それぞれのOPFDを社員にもたせることにより、各社員が作成した暗号データを、SVFDをもつ社長、秘書などが復号できるようになる。またOPFDに他のOPFDの管理鍵を記憶させることにより、他のOPFDをもつ者、たとえば部下の作成した暗号データを、その上司が復号することも可能である。
【0309】
SVFDおよびOPFDには、固有の識別名称に加えて、固有の識別データが記憶されているから、新たなSVFDまたはOPFDを購入しても、固有の識別名称および固有の識別名称は異なっている。したがって新たに購入したSVFDまたはOPFDを用いて、そのほかのSVFDまたはOPFDを用いて暗号化されたデータを復号することはできない。このため、暗号文データの高い機密性が保持される。
【図面の簡単な説明】
【図1】第1実施例における暗号化/復号装置の構成を示すブロック図である。
【図2】暗号アルゴリズムの一例を示す。
【図3】Sボックスの一例を示す。
【図4】暗号化/復号装置におけるファイルの暗号化処理の様子を示す。
【図5】暗号化/復号装置における復号処理の様子を示す。
【図6】第1実施例における暗号化/復号処理の流れを示すフローチャートである。
【図7】第1実施例における暗号化/復号処理の流れを示すフローチャートである。
【図8】第1実施例における暗号化/復号処理の流れを示すフローチャートである。
【図9】第1実施例における暗号化/復号装置における復号処理の様子を示す。
【図10】第1実施例における復号処理の流れを示すフローチャートである。
【図11】暗号ファイルのデータ構造を示す。
【図12】暗号ファイルのフロッピィ・ディスク内でのデータ構造を示す。
【図13】第1実施例における暗号鍵1の消去の処理の流れを示すフローチャートである。
【図14】鍵生成処理の流れを示すフローチャートである。
【図15】鍵生成回路の構成を示すブロック図である。
【図16】第2実施例における暗号化/復号装置の構成を示すブロック図である。
【図17】第3実施例における暗号化/復号装置の構成を示すブロック図である。
【図18】第4実施例における暗号化/復号処理の流れを示すフローチャートである。
【図19】第4実施例における暗号化/復号処理の流れを示すフローチャートである。
【図20】第4実施例における暗号化/復号処理の流れを示すフローチャートである。
【図21】第5実施例における暗号化/復号装置のFDドライブ5の部分とFD1およびFD2を示す。
【図22】第5実施例における暗号化処理の流れを示すフローチャートである。
【図23】第5実施例における暗号化処理の流れを示すフローチャートである。
【図24】暗号ファイルのデータ構造を示す。
【図25】第5実施例における復号処理の流れを示すフローチャートである。
【図26】第5実施例における復号処理の流れを示すフローチャートである。
【図27】第5実施例における復号処理の流れを示すフローチャートである。
【図28】第6実施例における暗号化/復号装置のFDドライブ5の部分とFD1およびFD2を示す。
【図29】第7実施例における暗号化処理の流れを示すフローチャートである。
【図30】第7実施例における暗号化処理の流れを示すフローチャートである。
【図31】第7実施例における暗号化処理の流れを示すフローチャートである。
【図32】企業等における管理体制に対応した管理鍵の配布の様子を示す。
【図33】ネットワーク・データ・ベース・システムの構成を示すブロック図である。
【図34】電子メール・システムの構成を示すブロック図である。
【図35】電子掲示板システムの構成を示すブロック図である。
【図36】認証子を含む送受信情報の暗号化/復号処理の様子を示す。
【図37】暗号化/復号装置の構成を示している。
【図38】暗号化処理を示す。
【図39】暗号文の作成者による復号処理を示している。
【図40】管理者または暗号文作成者以外の作業者による復号処理を示している。
【図41】暗号ファイルの内容を示している。
【図42】SVFDに含まれる管理鍵ファイル1の内容を示している。
【図43】SVFDに含まれる登録名称閲覧用ファイルの内容を示している。
【図44】OPFDに含まれる秘密鍵ファイルの内容を示している。
【図45】OPFDに含まれる秘密鍵ファイル2の内容を示している。
【図46】SVFDに含まれるプログラム・ファイルの内容を示している。
【図47】SVFDに格納される制御プログラム1の処理手順を示すフローチャートである。
【図48】SVFDに格納される制御プログラム1の処理手順を示すフローチャートである。
【図49】SVFDに格納されるシステム登録プログラムの処理手順を示すフローチャートである。
【図50】SVFDに格納される継承プログラムの処理手順を示すフローチャートである。
【図51】SVFDに格納されるバックアップ消去プログラムの処理手順を示すフローチャートである。
【図52】SVFDに格納されるパスワード再設定プログラム1の処理手順を示すフローチャートである。
【図53】SVFDに格納されるOPFD禁止解除プログラムの処理手順を示すフローチャートである。
【図54】SVFDに格納されるOPFD用IDm設定プログラムの処理手順を示すフローチャートである。
【図55】SVFDに格納される登録名称閲覧プログラムの処理手順を示すフローチャートである。
【図56】SVFDに格納されるOPFD個別化プログラムの処理手順を示すフローチャートである。
【図57】SVFDに格納される管理鍵登録プログラムの処理手順を示すフローチャートである。
【図58】SVFDに格納される管理鍵削除プログラムの処理手順を示すフローチャートである。
【図59】SVFDに格納される復号プログラムの処理手順を示すフローチャートである。
【図60】SVFDに格納される復号プログラムの処理手順を示すフローチャートである。
【図61】SVFDに格納されるファイル・チェック・プログラムの処理手順を示すフローチャートである。
【図62】SVFDに格納されるインストール・プログラム1の処理手順を示すフローチャートである。
【図63】SVFDに格納される逆インストール・プログラム1の処理手順を示すフローチャートである。
【図64】SVFDに格納される鍵生成プログラム1の処理手順を示すフローチャートである。
【図65】鍵生成回路の構成の一例を示している。
【図66】OPFDのプログラム・ファイルの内容を示している。
【図67】OPFDに格納される制御プログラム2の処理手順を示すフローチャートである。
【図68】OPFDに格納される制御プログラム2の処理手順を示すフローチャートである。
【図69】OPFDに格納される暗号化プログラムの処理手順を示すフローチャートである。
【図70】OPFDに格納される復号プログラム2の処理手順を示すフローチャートである。
【図71】OPFDに格納される復号プログラム2の処理手順を示すフローチャートである。
【図72】OPFDに格納される復号プログラム2の処理手順を示すフローチャートである。
【図73】OPFDに格納される作成者復号禁止プログラムの処理手順を示すフローチャートである。
【図74】OPFDに格納される管理用名称閲覧プログラムの処理手順を示すフローチャートである。
【図75】OPFDに格納されるパスワード再設定プログラム2の処理手順を示すフローチャートである。
【図76】OPFDに格納されるインストール・プログラム2の処理手順を示すフローチャートである。
【図77】OPFDに格納される逆インストール・プログラム2の処理手順を示すフローチャートである。
【符号の説明】
1 コンピュータ・システム
2 表示装置
3 入力装置
4 外部記憶装置
5 FDドライブ
6 FDドライブ
7 FDドライブ
SVFD スーパバイザ・フロッピィ・ディスク
OPFD オペレーション・フロッピィ・ディスク
41 平文ファイル
42 暗号文ファイル
43 暗号ファイル
44 ファイル鍵
45、46 暗号鍵
47 秘密鍵
47E 暗号化秘密鍵
48 管理鍵
48E 暗号化管理鍵
Claims (5)
- データ暗号用鍵を暗号化するために用いられる秘密鍵を形成する秘密鍵形成手段、
データ暗号用鍵を暗号化するために用いられる複数の管理鍵を形成する管理鍵形成手段、
上記秘密鍵形成手段によって形成された秘密鍵を、作成者オペレーション記憶媒体に記憶させる第1の記憶制御手段、
上記管理鍵形成手段によって形成された複数の管理鍵を、スーパバイザ記憶媒体および上記作成者オペレーション記憶媒体に記憶させ、かつ複数の管理鍵のうち少なくとも一つの管理鍵を管理オペレーション記憶媒体に記憶させる第2の記憶制御手段、
平文データを暗号化するために用いられる上記データ暗号用鍵を生成するデータ暗号用鍵生成手段、
上記平文データを上記データ暗号用鍵を用いて暗号化して暗号文データを生成するデータ暗号化手段、
上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている上記秘密鍵を用いて暗号化して第1の暗号鍵を生成する第1の鍵暗号化手段、
上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている複数の管理鍵のうちのいずれか一つを用いて暗号化して第2の暗号鍵を生成する第2の鍵暗号化手段、ならびに
上記データ暗号化手段によって生成された暗号文データ、上記第1の鍵暗号化手段によって生成された第1の暗号鍵、および上記第2の鍵暗号化手段によって生成された第2の暗号鍵を含む暗号ファイルを作成する暗号ファイル作成手段、
を備えた暗号化装置と、
上記暗号ファイルから、暗号文データおよび第1の暗号鍵を読出す第1の読出し手段、
上記第1の読出し手段により読出された上記第1の暗号鍵を復号するための秘密鍵が記憶されている上記作成者オペレーション記憶媒体から上記秘密鍵を読み出す第2の読出し手段、
上記第2の読出し手段により読出された秘密鍵を用いて上記第1の暗号鍵を復号してデータ復号用鍵を生成する第1の鍵復号手段、ならびに
上記第1の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記作成者オペレーション記憶媒体を利用した第1のデータ復号手段と、
上記暗号ファイルから、暗号文データおよび第2の暗号鍵を読出す第3の読出し手段、
上記第2の暗号鍵の生成に用いられた管理鍵が記憶されているスーパバイザ記憶媒体から上記第2の暗号鍵の生成に用いられた管理鍵を読み出す第4の読出し手段、
上記第4の読出し手段により読出された上記第2の暗号鍵の生成に用いられた管理鍵を用いて、上記第3の読出し手段によって読み出された上記第2の暗号鍵を復号してデータ復号用鍵を生成する第2の鍵復号手段、ならびに
上記第2の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記スーパバイザ記憶媒体を利用した第2のデータ復号手段と、
上記暗号ファイルから、暗号文データおよび第2の暗号鍵を読出す第5の読出し手段、
上記第2の暗号鍵の生成に用いられた管理鍵が上記管理オペレーション媒体に記憶されているかどうかを判断し、記憶されていると判断された場合に、上記管理オペレーション記憶媒体から上記第2の暗号鍵の生成に用いられた管理鍵を読出す第6の読出し手段、
上記第6の読出し手段によって読出された上記第2の暗号鍵の生成に用いられた管理鍵を用いて、上記第5の読出し手段によって読出された第2の暗号鍵を復号してデータ復号用鍵を生成する第3の鍵復号手段、ならびに
上記第3の鍵復号手段によって生成されたデータ復号用鍵を用いて上記暗号文データを復号して平文データを生成する、上記管理オペレーション記憶媒体を利用した第3のデータ復号手段と、
を備えた暗号化/復号装置。 - 上記暗号化装置は、
上記秘密鍵形成手段によって形成された秘密鍵を暗号化する秘密鍵暗号化手段、および
上記管理鍵形成手段によって形成された複数の管理鍵を暗号化する管理鍵暗号化手段を備え、
上記第1の記憶制御手段は、
上記秘密鍵暗号化手段によって暗号化された秘密鍵および上記管理鍵暗号化手段によって暗号化された複数の管理鍵を、作成者オペレーション記憶媒体に記憶させるものであり、
上記第2の記憶制御手段は、
上記管理鍵暗号化手段によって暗号化された複数の管理鍵を、上記スーパバイザ記憶媒体に記憶させ、上記管理鍵暗号化手段によって暗号化された複数の管理鍵の少なくともいずれか一つを記憶させるものである、
請求項1に記載の暗号化/復号装置。 - 上記秘密鍵暗号化手段は、
上記秘密鍵形成手段によって形成された秘密鍵を、上記管理鍵形成手段によって形成され、第2の暗号鍵の生成に用いられた管理鍵を用いて暗号化するものである、
請求項2に記載の暗号化/復号装置。 - 上記作成者オペレーション記憶媒体、スーパバイザ記憶媒体および管理オペレーション記憶媒体はバージョン・コードを記憶しているものであり、
上記暗号ファイル作成手段が、上記暗号文データ、上記第1の暗号鍵、および上記第2の暗号鍵に加えて上記バージョン・コードを上記暗号ファイルに記憶させるものである、請求項1に記載の暗号化/復号装置。 - 秘密鍵形成手段によりデータ暗号用鍵を暗号化するために用いられる秘密鍵を形成し、
管理鍵形成手段によりデータ暗号用鍵を暗号化するために用いられる複数の管理鍵を形成し、
上記秘密鍵形成手段によって形成された秘密鍵を、第1の記憶制御手段により作成者オペレーション記憶媒体に記憶し、
上記管理鍵形成手段によって形成された複数の管理鍵を、第2の記憶制御手段によりスーパバイザ記憶媒体および上記作成者オペレーション記憶媒体に記憶し、かつ複数の管理鍵のうち少なくとも一つの管理鍵を管理オペレーション記憶媒体に記憶し、
平文データを暗号化するために用いられる上記データ暗号用鍵を、データ暗号用鍵生成手段により生成し、
データ暗号化手段により、上記平文データを上記データ暗号用鍵を用いて暗号化して暗号文データを生成し、
第1の鍵暗号化手段により、上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている上記秘密鍵を用いて暗号化して第1の暗号鍵を生成し、
第2の鍵暗号化手段により上記データ暗号用鍵を、上記作成者オペレーション記憶媒体に記憶されている複数の管理鍵のうちのいずれか一つを用いて暗号化して第2の暗号鍵を生成し、
暗号ファイル作成手段により、上記データ暗号化手段によって生成された暗号文データ、上記第1の鍵暗号化手段によって生成された第1の暗号鍵、および上記第2の鍵暗号化手段によって生成された第2の暗号鍵を含む暗号ファイルを生成し、
第1の読出し手段により、上記暗号ファイルから暗号文データおよび第1の暗号鍵を読出し、
読出した上記第1の暗号鍵を復号するための秘密鍵が記憶されている上記作成者オペレーション記憶媒体から、第2の読出し手段により上記秘密鍵を読み出し、
読出した秘密鍵を用いて、第1の鍵復号手段により上記第1の暗号鍵を復号してデータ復号用鍵を生成し、
生成したデータ復号用鍵を用いて、第1のデータ復号手段により上記暗号文データを復号して平文データを生成し、
第3の読出し手段により、上記暗号ファイルから、暗号文データおよび第2の暗号鍵を読出し、
上記第2の暗号鍵の生成に用いられた管理鍵が記憶されているスーパバイザ記憶媒体から、第4の読出し手段により上記第2の暗号鍵の生成に用いられた管理鍵を読み出し、
読出した上記第2の暗号鍵の生成に用いられた管理鍵を用いて、第2の鍵復号手段により、読み出した上記第2の暗号鍵を復号してデータ復号用鍵を生成し、
生成したデータ復号用鍵を用いて、第2のデータ復号手段により上記暗号文データを復号して平文データを生成し、
第5の読出し手段により、上記暗号ファイルから、暗号文データおよび第2の暗号鍵を読出し、
上記第2の暗号鍵の生成に用いられた管理鍵が上記管理オペレーション媒体に記憶されているかどうかを判断し、記憶されていると判断された場合に、第6の読出し手段により、上記管理オペレーション記憶媒体から上記第2の暗号鍵の生成に用いられた管理鍵を読出し、
読出した上記第2の暗号鍵の生成に用いられた管理鍵を用いて、読出した第2の暗号鍵を、第3の鍵復号手段によって復号してデータ復号用鍵を生成し、
生成したデータ復号用鍵を用いて、第3のデータ復号手段により上記暗号文データを復号して平文データを生成する、
暗号化/復号方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26405893 | 1993-09-29 | ||
JP34578593 | 1993-12-24 | ||
PCT/JP1994/001617 WO1995009410A1 (fr) | 1993-09-29 | 1994-09-29 | Dispositif et procede de chiffrement/dechiffrement et systeme de communication a chiffrement/dechiffrement |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11353697A Division JP2000151576A (ja) | 1993-09-29 | 1999-12-13 | コンピュ―タを用いて暗号化/復号方法を実現するためのプログラム記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP3717176B2 true JP3717176B2 (ja) | 2005-11-16 |
Family
ID=26546327
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52470194A Expired - Fee Related JP3717176B2 (ja) | 1993-09-29 | 1994-09-29 | 暗号化/復号装置および方法 |
JP11353697A Pending JP2000151576A (ja) | 1993-09-29 | 1999-12-13 | コンピュ―タを用いて暗号化/復号方法を実現するためのプログラム記録媒体 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11353697A Pending JP2000151576A (ja) | 1993-09-29 | 1999-12-13 | コンピュ―タを用いて暗号化/復号方法を実現するためのプログラム記録媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5870477A (ja) |
JP (2) | JP3717176B2 (ja) |
AU (1) | AU7707894A (ja) |
WO (1) | WO1995009410A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020101087A1 (ko) * | 2018-11-16 | 2020-05-22 | (주) 더존비즈온 | 개인정보 처리를 위한 암호화 시스템 및 방법 |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049774A (en) * | 1996-07-08 | 2000-04-11 | At&T Corp. | Machine, method and medium for dynamic optimization for resource allocation |
US6912652B2 (en) * | 1996-11-08 | 2005-06-28 | Monolith Co., Ltd. | Method and apparatus for imprinting ID information into a digital content and for reading out the same |
JPH10301492A (ja) | 1997-04-23 | 1998-11-13 | Sony Corp | 暗号化装置および方法、復号装置および方法、並びに情報処理装置および方法 |
US6272631B1 (en) * | 1997-06-30 | 2001-08-07 | Microsoft Corporation | Protected storage of core data secrets |
US6249866B1 (en) * | 1997-09-16 | 2001-06-19 | Microsoft Corporation | Encrypting file system and method |
US7096358B2 (en) * | 1998-05-07 | 2006-08-22 | Maz Technologies, Inc. | Encrypting file system |
US6590981B2 (en) | 2000-02-22 | 2003-07-08 | Zyfer, Inc. | System and method for secure cryptographic communications |
JP3499810B2 (ja) * | 2000-03-06 | 2004-02-23 | 株式会社東芝 | 暗号化装置、暗号化方法及び暗号化装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体並びに復号装置、復号方法及び復号装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体 |
US7051111B1 (en) * | 2000-04-25 | 2006-05-23 | Digeo, Inc. | Multiple source proxy management system |
KR100773446B1 (ko) * | 2000-07-31 | 2007-11-05 | 소니 가부시끼 가이샤 | 기록매체와 기록매체에 대한 기록 및/또는 재생방법과기록매체에 대한 기록 및/또는 재생장치 |
US7688803B1 (en) | 2000-09-01 | 2010-03-30 | Young Steven J | System and method for coordinating between multiple telephony channels |
US7200859B1 (en) | 2000-11-22 | 2007-04-03 | Digeo, Inc. | Apparatus and method for intelligent multimedia compression and distribution |
US7308477B1 (en) * | 2001-01-10 | 2007-12-11 | Cisco Technology, Inc. | Unified messaging system configured for transport of encrypted messages |
US20020116705A1 (en) | 2001-02-20 | 2002-08-22 | Perlman Stephen G. | System and method for processing conditional access data |
US20020114360A1 (en) * | 2001-02-20 | 2002-08-22 | Perlman Stephen G. | System and method for processing multiple broadcast multimedia streams |
US20020114453A1 (en) * | 2001-02-21 | 2002-08-22 | Bartholet Thomas G. | System and method for secure cryptographic data transport and storage |
US7046805B2 (en) * | 2001-03-20 | 2006-05-16 | Digeo, Inc. | System and method for efficiently storing and processing multimedia content |
WO2002087146A1 (fr) * | 2001-04-18 | 2002-10-31 | Pumpkin House Incorporated | Systeme de chiffrement et procede de commande dudit systeme |
US7093277B2 (en) * | 2001-05-30 | 2006-08-15 | Digeo, Inc. | System and method for improved multi-stream multimedia transmission and processing |
US7386129B2 (en) * | 2001-05-30 | 2008-06-10 | Digeo, Inc. | System and method for multimedia content simulcast |
US6922108B2 (en) * | 2001-06-08 | 2005-07-26 | Lucent Technologies Inc. | Active balun circuit for single-ended to differential RF signal conversion with enhanced common-mode rejection |
US7463737B2 (en) * | 2001-08-15 | 2008-12-09 | Digeo, Inc. | System and method for conditional access key encryption |
US20030044012A1 (en) * | 2001-08-31 | 2003-03-06 | Sharp Laboratories Of America, Inc. | System and method for using a profile to encrypt documents in a digital scanner |
US7203317B2 (en) * | 2001-10-31 | 2007-04-10 | Hewlett-Packard Development Company, L.P. | System for enabling lazy-revocation through recursive key generation |
US7200747B2 (en) * | 2001-10-31 | 2007-04-03 | Hewlett-Packard Development Company, L.P. | System for ensuring data privacy and user differentiation in a distributed file system |
JP2003140972A (ja) * | 2001-11-08 | 2003-05-16 | Nec Corp | プログラム実行装置及びプログラム実行方法並びにそれを用いた携帯端末及び情報提供システム |
US10360545B2 (en) | 2001-12-12 | 2019-07-23 | Guardian Data Storage, Llc | Method and apparatus for accessing secured electronic data off-line |
US7921450B1 (en) | 2001-12-12 | 2011-04-05 | Klimenty Vainstein | Security system using indirect key generation from access rules and methods therefor |
US7930756B1 (en) | 2001-12-12 | 2011-04-19 | Crocker Steven Toye | Multi-level cryptographic transformations for securing digital assets |
US7260555B2 (en) * | 2001-12-12 | 2007-08-21 | Guardian Data Storage, Llc | Method and architecture for providing pervasive security to digital assets |
US7565683B1 (en) | 2001-12-12 | 2009-07-21 | Weiqing Huang | Method and system for implementing changes to security policies in a distributed security system |
US8006280B1 (en) | 2001-12-12 | 2011-08-23 | Hildebrand Hal S | Security system for generating keys from access rules in a decentralized manner and methods therefor |
US7562232B2 (en) * | 2001-12-12 | 2009-07-14 | Patrick Zuili | System and method for providing manageability to security information for secured items |
US7681034B1 (en) | 2001-12-12 | 2010-03-16 | Chang-Ping Lee | Method and apparatus for securing electronic data |
US7921288B1 (en) | 2001-12-12 | 2011-04-05 | Hildebrand Hal S | System and method for providing different levels of key security for controlling access to secured items |
US7783765B2 (en) * | 2001-12-12 | 2010-08-24 | Hildebrand Hal S | System and method for providing distributed access control to secured documents |
US8065713B1 (en) | 2001-12-12 | 2011-11-22 | Klimenty Vainstein | System and method for providing multi-location access management to secured items |
US7380120B1 (en) | 2001-12-12 | 2008-05-27 | Guardian Data Storage, Llc | Secured data format for access control |
US10033700B2 (en) * | 2001-12-12 | 2018-07-24 | Intellectual Ventures I Llc | Dynamic evaluation of access rights |
US7478418B2 (en) | 2001-12-12 | 2009-01-13 | Guardian Data Storage, Llc | Guaranteed delivery of changes to security policies in a distributed system |
US7178033B1 (en) | 2001-12-12 | 2007-02-13 | Pss Systems, Inc. | Method and apparatus for securing digital assets |
US7921284B1 (en) | 2001-12-12 | 2011-04-05 | Gary Mark Kinghorn | Method and system for protecting electronic data in enterprise environment |
USRE41546E1 (en) | 2001-12-12 | 2010-08-17 | Klimenty Vainstein | Method and system for managing security tiers |
US7631184B2 (en) * | 2002-05-14 | 2009-12-08 | Nicholas Ryan | System and method for imposing security on copies of secured items |
US7950066B1 (en) | 2001-12-21 | 2011-05-24 | Guardian Data Storage, Llc | Method and system for restricting use of a clipboard application |
GB0202431D0 (en) * | 2002-02-02 | 2002-03-20 | F Secure Oyj | Method and apparatus for encrypting data |
US8176334B2 (en) | 2002-09-30 | 2012-05-08 | Guardian Data Storage, Llc | Document security system that permits external users to gain access to secured files |
US8613102B2 (en) | 2004-03-30 | 2013-12-17 | Intellectual Ventures I Llc | Method and system for providing document retention using cryptography |
US7748045B2 (en) * | 2004-03-30 | 2010-06-29 | Michael Frederick Kenrich | Method and system for providing cryptographic document retention with off-line access |
CN1307503C (zh) * | 2002-04-23 | 2007-03-28 | 松下电器产业株式会社 | 服务器装置及程序管理系统 |
EP1535159B1 (en) | 2002-08-09 | 2016-03-02 | Good Technology Corporation | System and method for preventing access to data on a compromised remote device |
US7512810B1 (en) | 2002-09-11 | 2009-03-31 | Guardian Data Storage Llc | Method and system for protecting encrypted files transmitted over a network |
US7836310B1 (en) | 2002-11-01 | 2010-11-16 | Yevgeniy Gutnik | Security system that uses indirect password-based encryption |
US7890990B1 (en) | 2002-12-20 | 2011-02-15 | Klimenty Vainstein | Security system with staging capabilities |
US7577838B1 (en) | 2002-12-20 | 2009-08-18 | Alain Rossmann | Hybrid systems for securing digital assets |
US7383586B2 (en) | 2003-01-17 | 2008-06-03 | Microsoft Corporation | File system operation and digital rights management (DRM) |
US7181016B2 (en) * | 2003-01-27 | 2007-02-20 | Microsoft Corporation | Deriving a symmetric key from an asymmetric key for file encryption or decryption |
JP3984570B2 (ja) * | 2003-02-12 | 2007-10-03 | 株式会社パンプキンハウス | 署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム |
US8707034B1 (en) | 2003-05-30 | 2014-04-22 | Intellectual Ventures I Llc | Method and system for using remote headers to secure electronic files |
US7730543B1 (en) | 2003-06-30 | 2010-06-01 | Satyajit Nath | Method and system for enabling users of a group shared across multiple file security systems to access secured files |
US7555558B1 (en) | 2003-08-15 | 2009-06-30 | Michael Frederick Kenrich | Method and system for fault-tolerant transfer of files across a network |
US7703140B2 (en) * | 2003-09-30 | 2010-04-20 | Guardian Data Storage, Llc | Method and system for securing digital assets using process-driven security policies |
US8127366B2 (en) | 2003-09-30 | 2012-02-28 | Guardian Data Storage, Llc | Method and apparatus for transitioning between states of security policies used to secure electronic documents |
US20050086531A1 (en) * | 2003-10-20 | 2005-04-21 | Pss Systems, Inc. | Method and system for proxy approval of security changes for a file security system |
US7260380B2 (en) * | 2003-12-18 | 2007-08-21 | Sap Aktiengesellschaft | Storing and synchronizing data on a removable storage medium |
US20050138371A1 (en) * | 2003-12-19 | 2005-06-23 | Pss Systems, Inc. | Method and system for distribution of notifications in file security systems |
US7702909B2 (en) * | 2003-12-22 | 2010-04-20 | Klimenty Vainstein | Method and system for validating timestamps |
JP4696449B2 (ja) * | 2004-01-09 | 2011-06-08 | ソニー株式会社 | 暗号化装置およびその方法 |
EP1733555A4 (en) * | 2004-02-23 | 2009-09-30 | Lexar Media Inc | SAFE COMPACT FLASH |
US8015211B2 (en) * | 2004-04-21 | 2011-09-06 | Architecture Technology Corporation | Secure peer-to-peer object storage system |
US8281152B2 (en) * | 2004-06-18 | 2012-10-02 | Emc Corporation | Storage data encryption |
US7707427B1 (en) | 2004-07-19 | 2010-04-27 | Michael Frederick Kenrich | Multi-level file digests |
US8001082B1 (en) | 2004-10-28 | 2011-08-16 | Good Technology, Inc. | System and method of data security in synchronizing data with a wireless device |
US7707417B2 (en) * | 2005-06-23 | 2010-04-27 | Masami Yoshioka | Secure transmission of data between clients over communications network |
TWI268081B (en) * | 2005-06-24 | 2006-12-01 | Hitrust Com Inc | Data-encrypting/decrypting method, data-saving media using the method, and data-encrypting/decrypting module |
US7499552B2 (en) * | 2006-01-11 | 2009-03-03 | International Business Machines Corporation | Cipher method and system for verifying a decryption of an encrypted user data key |
JP4778798B2 (ja) * | 2006-01-26 | 2011-09-21 | 株式会社野村総合研究所 | データ管理装置 |
JP4795800B2 (ja) * | 2006-01-27 | 2011-10-19 | 株式会社野村総合研究所 | 保険証券データ管理装置 |
WO2007099716A1 (ja) * | 2006-03-01 | 2007-09-07 | Bellwood International, Inc. | データ通信システムおよび可搬型メモリ |
JP4755737B2 (ja) * | 2006-08-31 | 2011-08-24 | 株式会社日立ソリューションズ | 可搬記憶媒体暗号化システム及び該システムを用いたデータ持ち運び方法並びに可搬記憶媒体 |
US20080144821A1 (en) * | 2006-10-26 | 2008-06-19 | Marvell International Ltd. | Secure video distribution |
JP4902318B2 (ja) * | 2006-11-14 | 2012-03-21 | 東芝情報システム株式会社 | 情報通信システム、情報送信デバイス、情報受信デバイス及び情報送受信デバイス |
WO2010008625A2 (en) * | 2008-03-27 | 2010-01-21 | Unified Gravity Corporation | Fusion heat engine and electrogravity generator methods and applications |
KR20100125875A (ko) * | 2009-05-22 | 2010-12-01 | 삼성전자주식회사 | 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템 |
US8412934B2 (en) * | 2010-04-07 | 2013-04-02 | Apple Inc. | System and method for backing up and restoring files encrypted with file-level content protection |
US8510552B2 (en) * | 2010-04-07 | 2013-08-13 | Apple Inc. | System and method for file-level data protection |
US8788842B2 (en) | 2010-04-07 | 2014-07-22 | Apple Inc. | System and method for content protection based on a combination of a user PIN and a device specific identifier |
CN102156843B (zh) * | 2011-03-28 | 2015-04-08 | 威盛电子股份有限公司 | 数据加密方法与系统以及数据解密方法 |
US9754130B2 (en) | 2011-05-02 | 2017-09-05 | Architecture Technology Corporation | Peer integrity checking system |
US20130034229A1 (en) | 2011-08-05 | 2013-02-07 | Apple Inc. | System and method for wireless data protection |
US10075471B2 (en) | 2012-06-07 | 2018-09-11 | Amazon Technologies, Inc. | Data loss prevention techniques |
US9367697B1 (en) * | 2013-02-12 | 2016-06-14 | Amazon Technologies, Inc. | Data security with a security module |
US9705674B2 (en) | 2013-02-12 | 2017-07-11 | Amazon Technologies, Inc. | Federated key management |
US9608813B1 (en) | 2013-06-13 | 2017-03-28 | Amazon Technologies, Inc. | Key rotation techniques |
US10467422B1 (en) | 2013-02-12 | 2019-11-05 | Amazon Technologies, Inc. | Automatic key rotation |
US11044076B2 (en) * | 2013-02-25 | 2021-06-22 | Hecusys, LLC | Encrypted data processing |
JP5689571B2 (ja) | 2013-02-28 | 2015-03-25 | パナソニックIpマネジメント株式会社 | 暗号処理装置 |
US10708043B2 (en) | 2013-03-07 | 2020-07-07 | David Mayer Hutchinson | One pad communications |
WO2015130297A1 (en) * | 2014-02-28 | 2015-09-03 | Empire Technology Development Llc | Homomorphic encryption scheme |
US9438421B1 (en) | 2014-06-27 | 2016-09-06 | Amazon Technologies, Inc. | Supporting a fixed transaction rate with a variably-backed logical cryptographic key |
US9866392B1 (en) | 2014-09-15 | 2018-01-09 | Amazon Technologies, Inc. | Distributed system web of trust provisioning |
US9767318B1 (en) * | 2015-08-28 | 2017-09-19 | Frank Dropps | Secure controller systems and associated methods thereof |
WO2020141584A1 (ja) * | 2019-01-06 | 2020-07-09 | 株式会社フューチャーアイ | 処理システムおよびプログラム |
CN110059499A (zh) * | 2019-03-22 | 2019-07-26 | 华为技术有限公司 | 一种文件访问权限认证方法及电子设备 |
US11537740B2 (en) | 2021-01-04 | 2022-12-27 | Bank Of America Corporation | System for enhanced data security using versioned encryption |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6117176A (ja) * | 1984-07-04 | 1986-01-25 | 東芝テック株式会社 | 端末機における暗号デ−タの解読装置 |
CA1238427A (en) * | 1984-12-18 | 1988-06-21 | Jonathan Oseas | Code protection using cryptography |
JPS61177479A (ja) * | 1985-02-01 | 1986-08-09 | 沖電気工業株式会社 | 暗号化鍵管理方式 |
JPS61264371A (ja) * | 1985-05-20 | 1986-11-22 | 森 亮一 | デ−タ保護方式 |
JPS62287388A (ja) * | 1986-06-06 | 1987-12-14 | Nec Corp | Icカ−ド |
JPS63182758A (ja) * | 1987-01-23 | 1988-07-28 | Nec Corp | 情報記憶装置 |
JPH0382238A (ja) * | 1989-08-25 | 1991-04-08 | Kondeishiyonaru Akusesu Technol Kenkyusho:Kk | 暗号化鍵配送方法 |
JPH03265888A (ja) * | 1990-03-15 | 1991-11-26 | Nec Corp | オンライントランザクション機密保護システム |
JPH03278137A (ja) * | 1990-03-27 | 1991-12-09 | Hitachi Ltd | 暗号化データ処理システム |
US5200999A (en) * | 1991-09-27 | 1993-04-06 | International Business Machines Corporation | Public key cryptosystem key management based on control vectors |
US5201000A (en) * | 1991-09-27 | 1993-04-06 | International Business Machines Corporation | Method for generating public and private key pairs without using a passphrase |
JPH05289612A (ja) * | 1992-04-06 | 1993-11-05 | Nhk Spring Co Ltd | 情報記録システム及び情報通信システム |
-
1994
- 1994-09-29 US US08/619,601 patent/US5870477A/en not_active Expired - Fee Related
- 1994-09-29 JP JP52470194A patent/JP3717176B2/ja not_active Expired - Fee Related
- 1994-09-29 WO PCT/JP1994/001617 patent/WO1995009410A1/ja active Application Filing
- 1994-09-29 AU AU77078/94A patent/AU7707894A/en not_active Abandoned
-
1999
- 1999-12-13 JP JP11353697A patent/JP2000151576A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020101087A1 (ko) * | 2018-11-16 | 2020-05-22 | (주) 더존비즈온 | 개인정보 처리를 위한 암호화 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP2000151576A (ja) | 2000-05-30 |
WO1995009410A1 (fr) | 1995-04-06 |
US5870477A (en) | 1999-02-09 |
AU7707894A (en) | 1995-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3717176B2 (ja) | 暗号化/復号装置および方法 | |
US7536549B2 (en) | Methods for generating a partially encrypted and compressed database and decrypting and decompressing the database | |
US7137025B2 (en) | Key controlling system, key controlling apparatus, information encrypting apparatus, information decrypting apparatus and storage media for storing programs | |
US8140857B2 (en) | Method for selective encryption within documents | |
US7873168B2 (en) | Secret information management apparatus and secret information management system | |
US5802175A (en) | Computer file backup encryption system and method | |
JP4334580B2 (ja) | 鍵管理システム及び鍵管理方法 | |
TWI222609B (en) | A method of producing a decrypting apparatus having a cryptographic device and cryptographic information, a system for providing such device and information, and the decrypting apparatus produced by the production method | |
JP4597784B2 (ja) | データ処理装置 | |
JPH09179768A (ja) | ファイル暗号化システム及びファイル復号化システム | |
JP4755737B2 (ja) | 可搬記憶媒体暗号化システム及び該システムを用いたデータ持ち運び方法並びに可搬記憶媒体 | |
US20020116382A1 (en) | Data distribution system | |
JP2009146450A (ja) | ファイルアクセスシステム、記録媒体およびコンピュータプログラム | |
CN112333153A (zh) | 一种登录码的安全管理和告警邮件的发送方法及相关设备 | |
JPH11331145A (ja) | 情報共有システム、情報保管装置およびそれらの情報処理方法、並びに記録媒体 | |
JPH11346209A (ja) | ネットワークコンピューティグシステムに於ける暗号化システム、同システムに於ける暗号鍵管理方法、及び記憶媒体 | |
EP2916494A1 (en) | Encapsulated key controllable encryption | |
JP2000244475A (ja) | ファイル暗号システム | |
JPS6265150A (ja) | 秘匿情報記憶方法 | |
KR102343711B1 (ko) | 패시브 암호화 시스템 | |
JP4302076B2 (ja) | 鍵判定装置 | |
JP4652025B2 (ja) | 利用回数限定情報移転システム、および利用回数限定情報移転プログラム | |
JP2022124446A (ja) | ファイル提供システム、ファイル提供方法及びプログラム | |
JP2004112571A (ja) | 移動通信装置、暗号システム、移動通信方法、および暗号方法 | |
JP2001036518A (ja) | 暗号通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050502 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050727 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050830 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |