專利名稱:數(shù)據(jù)管理設(shè)備和數(shù)據(jù)管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)管理設(shè)備、數(shù)據(jù)管理方法以及數(shù)據(jù)管理程序。
背景技術(shù):
已知NTFS(NT文件系統(tǒng))的EFS(加密文件系統(tǒng))是這樣的系 統(tǒng),該系統(tǒng)通過加密預(yù)定的存儲(chǔ)區(qū)域來阻止來自特定人員以外 的人員的數(shù)據(jù)訪問。圖14是用于解釋系統(tǒng)"EFS"的圖。在EFS 中,使用每個(gè)用戶的7>用密鑰(public key)來加密用于加密文件 的乂>共密鑰(common key)。將使用/>用密鑰所加密的加密公共 密鑰和使用公共密鑰所加密的數(shù)據(jù)相互關(guān)聯(lián)地存儲(chǔ)在存儲(chǔ)區(qū)域 上。為了解密加密的數(shù)據(jù),使用公共密鑰,其中7>共密鑰通過 <吏用用作7>用密鑰相對(duì)物(conterpart)的私用密鑰(private key) 來解密加密的公共密鑰而獲得。由于私用密鑰包括隨機(jī)數(shù)據(jù)串, 用戶難以記住私用密鑰的數(shù)據(jù)串。因此,為了使得用戶能夠解 密加密的數(shù)據(jù),有必要在防止數(shù)據(jù)丟失或泄漏的同時(shí)將私用密 鑰保持在存儲(chǔ)介質(zhì)上。
發(fā)明內(nèi)容
然而,在EFS中,在生成加密的數(shù)據(jù)時(shí)對(duì)加密的數(shù)據(jù)進(jìn)行 訪問,只授權(quán)給已經(jīng)生成加密的數(shù)據(jù)的用戶。即,如果用戶丟 失用戶自己的私用密鑰,則不可能解密加密的數(shù)據(jù)。因此,為 防止加密的數(shù)據(jù)變得不可破譯,可以給予多個(gè)用戶(例如,已經(jīng) 生成數(shù)據(jù)的用戶、管理員、在域內(nèi)具有預(yù)定權(quán)限的用戶等)訪問 權(quán)限(privilege)。然而,由于將對(duì)私用密鑰的管理委托給各個(gè)用戶(以及管理員),仍然有丟失或泄漏私用密鑰的危險(xiǎn)。
考慮到這些情況,作出了本發(fā)明。因此本發(fā)明的一個(gè)方面 的目的是提供數(shù)據(jù)管理設(shè)備、數(shù)據(jù)管理方法和數(shù)據(jù)管理程序,
它們能夠避免由于解密加密的數(shù)據(jù)片(piece)所需的信息的泄漏 而導(dǎo)致的安全性降低,以及能夠防止不管存在沒被破壞的加密 的數(shù)據(jù)的事實(shí)而不可能進(jìn)行解密的情形。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種適用于使用公共密鑰 和由公用密鑰及私用密鑰組成的密鑰對(duì)的加密系統(tǒng)的數(shù)據(jù)管理 設(shè)備;在所述加密系統(tǒng)中,通過使用所述公共密鑰加密明文數(shù) 據(jù)以生成加密的數(shù)據(jù)并且通過使用所述公用密鑰加密所述公共 密鑰以生成加密的公共密鑰來進(jìn)行加密,以及通過使用所述私 用密鑰解密所述加密的公共密鑰以獲得解密的公共密鑰并且使 用所述解密的公共密鑰解密所述加密的數(shù)據(jù)來進(jìn)行解密;所述 數(shù)據(jù)管理設(shè)備包括公共密鑰加密單元,其用于使用第一公用 密鑰加密第一公共密鑰,以生成加密的第一公共密鑰;密碼設(shè) 置接收單元,其用于接收第一密碼的設(shè)置;以及私用密鑰加密 單元,其用于使用所述第一密碼加密第一私用密鑰,以生成加 密的第一私用密鑰。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一種適用于使用公共密 鑰和由公用密鑰及私用密鑰組成的密鑰對(duì)的加密系統(tǒng)的數(shù)據(jù)管 理方法;在所述加密系統(tǒng)中,通過使用所述^^共密鑰加密明文 數(shù)據(jù)以生成加密的數(shù)據(jù)并且通過使用所述公用密鑰加密所述公 共密鑰以生成加密的公共密鑰來進(jìn)行加密,以及通過使用所述 私用密鑰解密所述加密的公共密鑰以獲得解密的公共密鑰并且 使用所述解密的公共密鑰解密所述加密的數(shù)據(jù)來進(jìn)行解密;所 述數(shù)據(jù)管理方法包括如下步驟使用第一公用密鑰加密第一公 共密鑰,以生成加密的第一公共密鑰;接收第一密碼的設(shè)置;以及使用所述第一密碼加密第一私用密鑰,以生成加密的第一 私用密鑰。
還根據(jù)本發(fā)明的另一方面,提供了 一種計(jì)算機(jī)可讀介質(zhì),
所述介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序并且所述介質(zhì)可由計(jì)算機(jī)讀取; 當(dāng)由所述計(jì)算機(jī)執(zhí)行所述計(jì)算機(jī)程序時(shí),所述計(jì)算機(jī)程序使得 所述計(jì)算機(jī)進(jìn)行用于數(shù)據(jù)管理設(shè)備的操作,所述數(shù)據(jù)管理設(shè)備 適用于使用公共密鑰和包括公用密鑰和私用密鑰的密鑰對(duì)的加 密系統(tǒng);在所述加密系統(tǒng)中,通過使用所述乂〉共密鑰加密明文 數(shù)據(jù)以生成加密的數(shù)據(jù)并且通過使用所述公用密鑰加密所述公 共密鑰以生成加密的公共密鑰來進(jìn)行加密,以及通過使用所述 私用密鑰解密所述加密的公共密鑰以獲得解密的公共密鑰并且 使用所述解密的公共密鑰解密所述加密的數(shù)據(jù)來進(jìn)行解密,所 述操作包括使用第一公用密鑰加密第一公共密鑰,以生成加 密的第一公共密鑰;接收第一密碼的設(shè)置;以及使用所述第一 密碼加密第一私用密鑰,以生成加密的第一私用密鑰。
圖1是示出實(shí)施例的認(rèn)證(authentication)系統(tǒng)的示意性框
圖2是示出管理處理的流程的流程圖3是用于解釋管理處理的圖4是示出加密初始化處理的流程的流程圖5是用于解釋加密初始化處理的圖6是示出數(shù)據(jù)加密處理的流程的流程圖7是示出數(shù)據(jù)解密處理的流程的流程圖8是用于解釋由用戶進(jìn)行數(shù)據(jù)解密和數(shù)據(jù)加密的圖9是用于解釋由管理員進(jìn)行數(shù)據(jù)解密的圖;圖IOA是示出認(rèn)證系統(tǒng)中密碼相關(guān)信息(password-related information)的分配的例子的圖IOB是示出根據(jù)另 一 實(shí)施例的認(rèn)證系統(tǒng)中的密碼相關(guān)信 息的分配的例子的圖11是用于解釋根據(jù)另 一 實(shí)施例的加密初始化處理的圖12是用于解釋根據(jù)另 一 實(shí)施例的在用戶B的用戶計(jì)算機(jī) 上進(jìn)行的數(shù)據(jù)解密和數(shù)據(jù)加密的圖13是用于解釋根據(jù)另 一實(shí)施例的在用戶A的用戶計(jì)算機(jī) 上進(jìn)行的數(shù)據(jù)解密的圖;以及
圖14是用于解釋普通EFS的圖。
具體實(shí)施例方式
將在下文中以如下順序描述
具體實(shí)施例方式
(1) 實(shí)施例的系統(tǒng)沖既觀;
(2) 管理處理;
(3) 加密初始^f匕處理;
(4) 數(shù)據(jù)加密/解密處理;以及
(5) 各種變型 實(shí)施例的系統(tǒng)概觀
下文中將參照附圖描述根據(jù)本發(fā)明的實(shí)施例的認(rèn)證系統(tǒng)。 認(rèn)證系統(tǒng)適用于使用公共密鑰和由公用密鑰及私用密鑰組 成的密鑰對(duì)的加密系統(tǒng)。在加密系統(tǒng)中,通過4吏用7>共密鑰加 密明文數(shù)據(jù)以生成加密的數(shù)據(jù)并且通過使用公用密鑰加密公共 密鑰來生成加密的公共密鑰來進(jìn)行加密。將加密的數(shù)據(jù)與加密 的公共密鑰相互關(guān)聯(lián)地存儲(chǔ)。通過使用私用密鑰解密加密的公 共密鑰以獲得解密的公共密鑰并且使用解密的公共密鑰解密加 密的數(shù)據(jù)來進(jìn)行解密。公共密鑰是根據(jù)公共密鑰加密方法的加密密鑰。另 一方面, 公用密鑰及私用密鑰是根據(jù)私用密鑰加密方法生成的密鑰對(duì)。 被密鑰對(duì)中的一個(gè)加密的加密數(shù)據(jù)只能被該密鑰對(duì)中的另 一個(gè) 解密。在本實(shí)施例中,用于加密公共密鑰的加密密鑰稱為"公用 密鑰",并且用于解密加密的公共密鑰的加密密鑰稱為"私用密 鑰"。
在圖中,加密處理由EKEY(M) —(M),表示,反之,解密處理
由Dkey((M),)—M表示。參考字符(reference character)"E,,表示加 密函數(shù),參考字符"D"表示解密函數(shù),參考字符"KEY"表示在每 個(gè)函數(shù)中的加密密鑰或解密密鑰,參考字符"M,,表示還沒有加 密的數(shù)據(jù),而參考字符(M),表示加密的數(shù)據(jù)。盡管都通過使用 字符"E,,和"D,,表示函數(shù),可以在各個(gè)加密處理中使用相互不同 的多個(gè)加密或解密函數(shù)。
圖l是示出本實(shí)施例的認(rèn)證系統(tǒng)的示意性框圖。如圖1所示, 認(rèn)證系統(tǒng)100包括管理計(jì)算機(jī)10、用戶計(jì)算機(jī)20和存儲(chǔ)裝置30。 在管理計(jì)算機(jī)10中,通過具有認(rèn)證系統(tǒng)100的管理權(quán)限的管理員 (例如,WindowsNT(注冊(cè)商標(biāo))的"管理員(administrator)"或 UNIX(注冊(cè)商標(biāo))的"超級(jí)管理員(root),,)權(quán)限來執(zhí)行程序。另一 方面,在用戶計(jì)算機(jī)20中,通過不具有系統(tǒng)管理權(quán)限的普通用 戶權(quán)限來執(zhí)行程序。在下面的描述中,將術(shù)語"管理員"和"普通 用戶"統(tǒng)稱為"用戶"。
在圖1中盡管將管理計(jì)算機(jī)10和用戶計(jì)算機(jī)20作為相互分 離的不同的計(jì)算機(jī)示出,如果單個(gè)計(jì)算機(jī)上安裝有OS(操作系 統(tǒng))且該OS支持用以區(qū)分具有管理員權(quán)限的用戶和不具有管理 員權(quán)限的用戶的用戶管理,則管理計(jì)算4幾10和用戶計(jì)算機(jī)20可 以在該單個(gè)計(jì)算機(jī)上操作。可以將存儲(chǔ)裝置30配置為用戶計(jì)算 機(jī)20的內(nèi)部裝置或相對(duì)于用戶計(jì)算機(jī)20的外部裝置。然而,當(dāng)將存儲(chǔ)裝置30配置為內(nèi)部裝置時(shí),可以將存儲(chǔ)裝置物理地或邏 輯地與用戶計(jì)算機(jī)20的系統(tǒng)區(qū)域分離開。在本說明書中,即使 當(dāng)單個(gè)計(jì)算機(jī)用于多個(gè)用戶(管理員或普通用戶等)操作并且用
作管理計(jì)算才幾10和用戶計(jì)算沖幾20時(shí),仍將該用于不同用戶的計(jì) 算機(jī)稱為不同的數(shù)據(jù)管理設(shè)備。
在圖l中示出的管理計(jì)算機(jī)10包括程序執(zhí)行環(huán)境,包括 CPU(中央處理單元)ll、 ROM(只讀存儲(chǔ)器)U和RAM(隨機(jī)存取 存儲(chǔ)器)13; HDD(硬盤驅(qū)動(dòng)器)14等的大容量存儲(chǔ)介質(zhì);以及 LANI/F(局域網(wǎng)接口)16等的通信接口 。用于接收來自管理員的 操作輸入的操作輸入裝置15 (例如,鼠標(biāo)或鍵盤)連接到管理計(jì) 算機(jī)IO。配置為應(yīng)用程序的管理工具APL1的程序數(shù)據(jù)DATA1 存儲(chǔ)在HDD 14中。管理工具APL1可以在管理計(jì)算才幾10的運(yùn)4亍 期間一直執(zhí)行,或者可以在根據(jù)從用戶計(jì)算機(jī)20發(fā)出的請(qǐng)求被 適當(dāng)?shù)剌d入到RAM 13時(shí)才丸行。
管理工具APL1包括密鑰對(duì)生成模塊M11 、 PW(密碼)設(shè)置模 塊M12和私用密鑰加密模塊M13。密鑰對(duì)生成^f莫塊Mll用于生成 包括公用密鑰PKO和私用密鑰SKO的唯一的密鑰對(duì)。PW設(shè)置模 塊M12用于接收從管理員輸入的密碼并且將所輸入的密碼發(fā)送 到私用密鑰加密模塊M13。私用密鑰加密模塊M13用于使用由 P W設(shè)置模塊M12接收到的認(rèn)證密碼P W 0加密私用密鑰S K 0 。
更具體地,私用密鑰加密模塊M13用于通過預(yù)定的求和函 數(shù)f(PW)從由PW設(shè)置模塊M12設(shè)置的認(rèn)證密碼PW0生成散列值 HO,并且將散列值HO用作加密密鑰來加密私用密鑰SKO,從而 生成加密的私用密鑰(SKO)'。為了生成散列值,重復(fù)地進(jìn)行隨 機(jī)字節(jié)序列(salt)相加和散列值計(jì)算。用于生成散列值H的求和 函數(shù)f(PW)不限于單向函數(shù),也可以是用于生成例如CRC(循環(huán) 冗余校驗(yàn))的循環(huán)冗余碼(即,用于糾錯(cuò)的碼)的函數(shù)。在圖1中示出的用戶計(jì)算機(jī)20包括程序執(zhí)行環(huán)境,包括 CPU 21、 ROM 22和RAM 23; HDD 24等的大容量存儲(chǔ)介質(zhì); LAN I/F 26等的通信接口;以及能夠與存儲(chǔ)裝置通信的預(yù)定接 口27(例如,USB(通用串行總線)I/F)。 LANI/F 26可以連接到管 理計(jì)算機(jī)10的LAN I/F 16。用于接收來自用戶的操作輸入的才喿 作輸入裝置25(例如,鼠標(biāo)或鍵盤)連接到用戶計(jì)算機(jī)20。顯示 裝置28連接到用戶計(jì)算機(jī)20。數(shù)據(jù)DATA 2存儲(chǔ)在HDD 24上, 其中數(shù)據(jù)DATA 2涉及配置為應(yīng)用程序的用戶的加密初始化工 具APL2(下文中簡(jiǎn)稱為"初始化工具,,)以及用戶/管理員公共認(rèn) 證工具APL3 (下文中簡(jiǎn)稱為"認(rèn)證工具,,)。初始化工具APL2和認(rèn) 證工具APL3可以在用戶計(jì)算機(jī)的運(yùn)行期間一直執(zhí)行,或者可以 在根據(jù)用戶的操作輸入被適當(dāng)?shù)剌d入到RAM 13時(shí)執(zhí)行。
初始化工具APL2包括密鑰對(duì)生成模塊M21、 PW設(shè)置模塊 M22、私用密鑰加密模塊M23、公共密鑰生成才莫塊M24和公共 密鑰加密模塊M25。
密鑰對(duì)生成模塊M21用于生成包括公用密鑰PK1和私用密 鑰SK1的唯一的密鑰對(duì)。PW設(shè)置模塊M22用于接收從普通用戶 輸入的密碼并且將所輸入的密碼以普通用戶的認(rèn)證密碼PW1的 形式輸出到私用密鑰加密模塊M23。私用密鑰加密模塊M23用 于使用由PW設(shè)置模塊M22接收到的認(rèn)證密碼PW1加密私用密 鑰SK1。
公共密鑰生成模塊M24用于創(chuàng)建用于加密明文數(shù)據(jù)以及解 密加密的明文數(shù)據(jù)的公共密鑰FEK。每當(dāng)選擇了預(yù)定單位區(qū)域 (例如,分區(qū)、文件夾或文件)的加密,則創(chuàng)建公共密鑰FEK作 為單位區(qū)域之間唯一的一個(gè)密鑰,并且每個(gè)用戶的同 一公共密 鑰用在同一單位區(qū)域中。
公共密鑰加密模塊M25用于生成通過使用用戶的公用密鑰加密公共密鑰FEK而獲得的加密的公共密鑰,并且將加密的公 共密鑰和從與用于加密公共密鑰的公用密鑰成對(duì)的私用密鑰生 成的加密的私用密鑰與單位區(qū)域相關(guān)聯(lián)地存儲(chǔ)在存儲(chǔ)裝置3 0 上。關(guān)聯(lián)信息存儲(chǔ)在例如所針對(duì)的單位區(qū)域的頭部中。
認(rèn)證工具A P L 3包括數(shù)據(jù)加密模塊M 31和數(shù)據(jù)解密模塊 M32。數(shù)據(jù)加密模塊M31和數(shù)據(jù)解密模塊M32用于解密加密的 公共密鑰以獲得公共密鑰FEK。數(shù)據(jù)加密模塊M31用于使用所 獲得的公共密鑰FEK加密指定的明文數(shù)據(jù)并且將加密的數(shù)據(jù)存 儲(chǔ)在單位區(qū)域上。數(shù)據(jù)解密模塊M32用于使用所獲得的公共密 鑰FEK解密指定的加密的數(shù)據(jù)并且將明文數(shù)據(jù)存儲(chǔ)在用戶計(jì)算 機(jī)20上。
在圖l中示出的存儲(chǔ)裝置30包括非易失性半導(dǎo)體存儲(chǔ)器或 HD(硬盤)等存儲(chǔ)介質(zhì)31并且可以通過預(yù)定的接口 32連接到用 戶計(jì)算機(jī)20。用戶計(jì)算機(jī)20可以根據(jù)接口32的協(xié)議與存儲(chǔ)裝置 30通信來控制存儲(chǔ)裝置,以將想要的數(shù)據(jù)記錄在存儲(chǔ)介質(zhì)上。 存儲(chǔ)裝置30不限于包括具有固定存儲(chǔ)容量的存儲(chǔ)介質(zhì)的內(nèi)置型 裝置,并且可以是可移除地安裝有可移除介質(zhì)的讀取器/寫入器 (例如,軟盤、MO(磁光盤)或存儲(chǔ)器卡)。
管理處理
根據(jù)上面的系統(tǒng),用戶使用用戶計(jì)算機(jī)20來加密想要的數(shù) 據(jù)并且將加密的數(shù)據(jù)記錄在存儲(chǔ)裝置30上。用戶還將加密的公 共密鑰和從與用于加密公共密鑰FEK的公用密鑰成對(duì)的私用密 鑰生成的加密的私用密鑰記錄在存儲(chǔ)裝置30上。記錄加密的私 用密鑰的原因是如果原樣記錄私用密鑰SK則不能確保數(shù)據(jù)機(jī) 密性。因此,如上所述,使用對(duì)數(shù)據(jù)具有訪問權(quán)限的用戶的密 碼加密要記錄在存儲(chǔ)裝置30上的私用密鑰。
通常,普通用戶"A"作為用戶計(jì)算機(jī)20的用戶將加密的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝置30中。然而,為了應(yīng)對(duì)同樣作為數(shù)據(jù)生成人 員的普通用戶"A"不能解密加密的數(shù)據(jù)的情況,將由普通用戶 "A"生成的加密的數(shù)據(jù)設(shè)置為允許管理員解密數(shù)據(jù)。還存在另 一種情況,其中用戶"B,,也使用由普通用戶"A"生成的加密的數(shù) 據(jù)。對(duì)于這種情況,普通用戶"A"在生成普通用戶"A"的解密信 息之外,還應(yīng)當(dāng)生成管理員的解密信息和用戶"B"的解密信息, 并將解密信息與加密的數(shù)據(jù)一起存儲(chǔ)在存儲(chǔ)裝置30上。然而, 由于管理員將私用密鑰原樣地分配給普通用戶不是優(yōu)選的,因 此由管理計(jì)算機(jī)10通過如下步驟進(jìn)行管理處理,并且加密管理 員的私用密鑰,然后將所得到的加密的私用密鑰分配(傳輸)給 普通用戶。類似地,通過進(jìn)行類似的處理和分配,作為一個(gè)普 通用戶的用戶"B"可以解密由普通用戶"A,,生成的加密的數(shù)據(jù)。
圖2是示出管理處理的流程的流程圖,并且圖3是用于解釋 管理處理的圖。在由用戶計(jì)算機(jī)20將數(shù)據(jù)記錄在存儲(chǔ)裝置30上 之前進(jìn)行該處理。例如,在將管理工具APL1安裝到管理計(jì)算機(jī) IO之后初始化管理工具APLI時(shí)進(jìn)行該處理。
處理開始之后,在步驟SIOO,密鑰對(duì)生成模塊M11生成管 理員的包括公用密鑰PKO和私用密鑰SKO的密鑰對(duì)。公用密鑰 PKO和私用密鑰SKO分別用于加密用于數(shù)據(jù)加密的公共密鑰 FEK和解密存儲(chǔ)在將在后面描述的存儲(chǔ)裝置30中的加密的公共 密鑰(FEK)"。通過私用密鑰SKO解密由公用密鑰PKO加密的公共 密鑰FEK,并且因此可以由解密的公共密鑰FEK生成以及解密 加密的數(shù)據(jù)。
在步驟S100之后的步驟S110, PW設(shè)置模塊M12接收認(rèn)證密 碼PWO的輸入。更具體地,PW設(shè)置模塊M12將從操作輸入裝置 15輸入的字符序列設(shè)置為管理員的認(rèn)證密碼PWO。在從步驟 S110的開始直到操作輸入顯示密碼的輸入完成的期間內(nèi),從操作輸入裝置15輸入該字符序列。如果管理計(jì)算機(jī)10的登錄密碼 等適合該密碼輸入,則在步驟S110建議獲得在管理計(jì)算機(jī)10的 預(yù)定位置寫入的登錄密碼。當(dāng)步驟S110的密碼輸入完成時(shí),處 理進(jìn)入到步驟S120。
在步驟S120,私用密鑰加密模塊M13生成用于加密私用密 鑰SKO的散列值HO。從認(rèn)證密碼PWO生成散列值HO。通過如下 處理生成散列值HO,包括生成隨機(jī)數(shù);然后確定要添加到形 成散列計(jì)算的基礎(chǔ)的認(rèn)證密碼PWO的數(shù)據(jù)(隨機(jī)字節(jié)序列)以及 重復(fù)進(jìn)行散列計(jì)算的次數(shù)(重復(fù)數(shù)目)。此后,每當(dāng)重復(fù)進(jìn)行散 列計(jì)算時(shí),添加隨機(jī)字節(jié)序列SO,并且重復(fù)進(jìn)行由重復(fù)數(shù)目NO 指定的次數(shù)的散列計(jì)算,從而生成散列值HO。通過根據(jù)公共密 鑰加密方法的散列值HO加密私用密鑰SKO。由于在加密私用密 鑰SKO時(shí)以這種方式指定隨機(jī)字節(jié)序列SO或重復(fù)數(shù)目NO,因此 散列值HO(公共密鑰)足夠抵抗字典攻擊(dictionary attack)。此 外,由于基于隨機(jī)數(shù)確定隨機(jī)字節(jié)序列SO和重復(fù)數(shù)目NO,因此 幾乎不能估計(jì)每次生成散列值HO時(shí)的重復(fù)數(shù)目和所生成的隨 機(jī)字節(jié)序列,從而提高了加密的私用密鑰的安全性。換言之, 當(dāng)散列密碼以提高加密的數(shù)據(jù)的機(jī)密性時(shí),將隨機(jī)字節(jié)序列添 加到密碼中,使得用作生成散列值的基礎(chǔ)的字符串不是簡(jiǎn)單的 字符串。另外,通過設(shè)置散列計(jì)算的重復(fù)數(shù)目來提高所生成的 散列值的隨機(jī)性。因此,即使通過字典攻擊等強(qiáng)力攻擊嘗試解 碼密碼,由于必須將隨機(jī)字節(jié)序列添加到字典中的字符串并且 必須進(jìn)行重復(fù)數(shù)目的散列計(jì)算,從而解密密碼所需的處理時(shí)間 增加。因此,實(shí)際上不可能解密加密的私用密鑰。
在步驟S120之后的步驟S130,私用密鑰加密才莫塊M13通過 使用散列值HO加密私用密鑰SKO,并且生成加密的私用密鑰 (SK0)'。利用散列值HO加密私用密鑰SKO使得私用密鑰SKO可以存儲(chǔ)在可由多個(gè)且非指定的人員訪問的位置中,這與要求機(jī)密 地保持并管理私用密鑰的現(xiàn)有技術(shù)系統(tǒng)不同。因此,變得無需
將私用密鑰SK0保持在管理計(jì)算機(jī)10內(nèi),并且通過將加密的私 用密鑰(SKO)'存儲(chǔ)在任意位置變得可以減少丟失私用密鑰SK0 的可能性。
在步驟S130之后的步驟S140,私用密鑰加密才莫塊M13將重 復(fù)數(shù)目NO、隨機(jī)字節(jié)序列SO、加密的私用密鑰(SKO)'和管理員 的公用密鑰PKO作為密碼相關(guān)信息InfO存儲(chǔ)在可連接到管理計(jì) 算沖幾10的外部可移除存4諸裝置、HDD 14和RAM 13等預(yù)定存4諸 區(qū)域上。根據(jù)從普通用戶(或者由普通用戶使用的用戶計(jì)算機(jī)20) 發(fā)送的請(qǐng)求將密碼相關(guān)信息輸出給普通用戶(或者由普通用戶 使用的用戶計(jì)算機(jī)20)。由于人們難以記住或再輸入密碼相關(guān)信 息InfO,因此希望將密碼相關(guān)信息InfO電子地輸出到用戶計(jì)算機(jī) 20。然而,當(dāng)然,密碼相關(guān)信息InfO可以通過紙介質(zhì)直接地分 配給普通用戶,或者可以通過例如電子郵件傳輸給普通用戶。
在圖10A中示出了密碼相關(guān)信息InfO的分配的各種例子。例 如,當(dāng)管理計(jì)算機(jī)10和用戶計(jì)算機(jī)20在同一計(jì)算機(jī)上操作時(shí), 管理計(jì)算機(jī)10可以將密碼相關(guān)信息I n f0輸出到外部存儲(chǔ)裝置 (例如,位于網(wǎng)絡(luò)上的服務(wù)器)或內(nèi)置在計(jì)算機(jī)中的硬盤等的存 儲(chǔ)裝置200,其中,可以從管理計(jì)算機(jī)10和用戶計(jì)算機(jī)20共同地 訪問存儲(chǔ)裝置200。用戶計(jì)算機(jī)20可以通過訪問存儲(chǔ)裝置200接 收密碼相關(guān)信息InfO。另外,管理計(jì)算機(jī)10可以將密碼相關(guān)信 息lnf0輸出到可移除存儲(chǔ)裝置210。用戶計(jì)算機(jī)20可以通過安裝 上可移除存儲(chǔ)裝置210來接收密碼相關(guān)信息InfO。更進(jìn)一步地, 管理計(jì)算機(jī)10可以將密碼相關(guān)信息I n f0打印到紙等可打印介質(zhì) 220上。用戶計(jì)算機(jī)20可以通過鍵盤、掃描儀等輸入設(shè)備輸入在 可打印介質(zhì)220上所打印的密碼相關(guān)信息InfO來接收密碼相關(guān)信息InfO。
在分配密碼相關(guān)信息InfO之外,可以從管理員向普通用戶 分配序列號(hào)Ser,以防止密碼相關(guān)信息InfO;故偽造??梢越?jīng)由可 應(yīng)用于圖IOA中所示例子的任意路徑將序列號(hào)Ser從管理計(jì)算 機(jī)10(或者管理員)分配給用戶計(jì)算機(jī)20(或者用戶)?;诠妹?鑰PKO生成序列號(hào)Ser。例如,可以Y吏用通過將預(yù)定的散列函數(shù) g替換為公共密鑰PKO而生成的散列值。經(jīng)由與密碼相關(guān)信息 InfO不同的分配路徑(例如,紙介質(zhì))將序列號(hào)Ser分配給普通用 戶。例如,管理計(jì)算機(jī)10包括用于分別輸出密碼相關(guān)信息InfO 和序列號(hào)Ser的兩個(gè)不同的輸出裝置。在圖l示出的例子中,管 理計(jì)算機(jī)10從用作第一輸出裝置的LAN I/F 16輸出密碼相關(guān)信 息InfO并且從用作第二輸出裝置的打印機(jī)輸出序列號(hào),其中打 印機(jī)通過包含在管理計(jì)算機(jī)10中的打印控制器連接到計(jì)算機(jī) 10。普通用戶將根據(jù)由用戶計(jì)算機(jī)2 0進(jìn)行的預(yù)定的散列計(jì)算從 公用密鑰PKO生成的散列值和所分配的序列號(hào)Ser進(jìn)行比較,并 且確定是否存在密碼相關(guān)信息InfO的偽造。即,在密碼相關(guān)信 息InfO不能安全地傳送到用戶計(jì)算機(jī)20(例如,由許多成員使用 的室內(nèi)LAN)的環(huán)境中,即使密碼相關(guān)信息InfO在從管理計(jì)算機(jī) IO向用戶計(jì)算機(jī)20發(fā)送密碼相關(guān)信息InfO時(shí)被欺騙性替換了 , 序列號(hào)S er的使用克服了由欺騙性替換所導(dǎo)致的安全性弱點(diǎn),其 中欺騙性替換使得可以使用不是由正確的用戶(管理員)設(shè)計(jì)的 密碼來解密加密的數(shù)據(jù)。
具體地,在管理處理中,在步驟S140完成后進(jìn)行步驟S150, 在步驟S150,根據(jù)預(yù)定的散列計(jì)算從公用密鑰PKO中計(jì)算出散 列值,并且將該散列值定義為序列號(hào)Ser。將序列號(hào)Ser分配給 每個(gè)普通用戶。例如,將寫有序列號(hào)Ser的并且由連接到管理計(jì) 算機(jī)IO的打印機(jī)所打印的或者由管理員復(fù)制在紙張上的紙介質(zhì)發(fā)送給每個(gè)用戶。當(dāng)然,通過紙介質(zhì)分配序列號(hào)Ser不是必須的, 如果通過經(jīng)由與密碼相關(guān)信息Inf0的分配路徑不同的分配路徑 來分配序列號(hào)Ser,則可以采用多種分配方法。例如,可以經(jīng)由 物理上/邏輯上不同的通信線或網(wǎng)絡(luò)將序列號(hào)Ser和密碼相關(guān)信 息發(fā)送到用戶計(jì)算機(jī)20。例如,管理計(jì)算機(jī)10可以包括另 一個(gè) 通信接口,并且可以分別從LAN I/F 16和另 一個(gè)通信4妾口輸出 密碼相關(guān)信息InfO和序列號(hào)Ser。另外,可以在不同的時(shí)刻經(jīng)由 相同的通信線或網(wǎng)絡(luò)將序列號(hào)Ser和密碼相關(guān)信息InfO發(fā)送到 用戶計(jì)算才幾20。例如,管理計(jì)算機(jī)10可以從LAN I/F 16輸出密 碼相關(guān)信息InfO并且在此之后從LANI/F 16車t出序列號(hào)Ser。即, LAN I/F 16是同一輸出裝置但是用作用于分別輸出密碼相關(guān)信 息InfO和序列號(hào)Ser的兩個(gè)輸出單元。另外,管理計(jì)算機(jī)10可以 從可連接到可移除存儲(chǔ)裝置的接口輸出密碼相關(guān)信息InfO和序 列號(hào)Ser,并且可以將密碼相關(guān)信息InfO和序列號(hào)Ser存儲(chǔ)在不同 的存儲(chǔ)器裝置上。在這種情況下,在不同的時(shí)刻使用同一輸出 裝置(用于可移除存儲(chǔ)器裝置的接口)輸出密碼相關(guān)信息InfO和 序列號(hào)Ser,但是該輸出裝置用作用于輸出不同信息的兩個(gè)輸出
單元。相應(yīng)地,可以/人不同的tr出裝置和/或在不同的時(shí)刻從管
理計(jì)算機(jī)10輸出密碼相關(guān)信息InfO和序列號(hào)Ser。
通過這些步驟完成管理處理,并且準(zhǔn)備好由用戶計(jì)算機(jī)20
進(jìn)4亍加密初始4b。
加密初始4b處理
圖4是示出由用戶計(jì)算機(jī)20執(zhí)行的加密初始化處理的流程 的流程圖,并且圖5是用于解釋加密初始化處理的圖。執(zhí)行該處 理的時(shí)刻依賴于可以怎樣選擇要加密的單位區(qū)域。例如,如果 將整個(gè)存儲(chǔ)裝置30假定為單位區(qū)域,則在將初始化工具APL2 安裝到用戶計(jì)算機(jī)20時(shí)執(zhí)行該處理。下文中,將給出一個(gè)例子的描述,在該例子中,假定整個(gè)存儲(chǔ)裝置30是單位區(qū)域來進(jìn)行 加密。
處理開始后,在步驟S200從管理計(jì)算機(jī)10獲得密碼相關(guān)信 息InfO。更具體地,用戶計(jì)算機(jī)20才艮據(jù)TCP/IP等通信協(xié)議與通 過LAN連接的管理計(jì)算機(jī)10通信,并且請(qǐng)求在管理計(jì)算機(jī)10中 執(zhí)行的管理工具APLl發(fā)送密碼相關(guān)信息InfO。將從管理計(jì)算機(jī) 10發(fā)送的密碼相關(guān)信息InfO存儲(chǔ)在例如RAM 23中。
在步驟S200之后的步驟S210到S230,判斷密碼相關(guān)信息 InfO是否一皮偽造。首先,在步驟S210,通過預(yù)定的散列函lt從 密碼相關(guān)信息InfO的公用密鑰PKO生成散列值,并且將作為結(jié)果 的散列值暫時(shí)存儲(chǔ)在例如RAM 23中。這時(shí)所使用的散列函數(shù)與 上述管理處理的步驟S150中用于生成序列號(hào)Ser的散列函數(shù)相 同。在相同的條件下(隨機(jī)字節(jié)序列、重復(fù)數(shù)目等)使用這些散 列函數(shù)。在顯示裝置28上顯示所生成的散列值。
在步驟S210之后的步驟S220,判斷在步驟S210所顯示的散 列值和分離地分配的序列號(hào)Ser是否相互一致。由普通用戶進(jìn)行 該判斷。因此,將"一致"和"不一致"等圖標(biāo)與所顯示的散 列值一 同顯示,并且等待由操作輸入裝置25進(jìn)行對(duì)圖標(biāo)中的任 意一個(gè)的選擇性輸入。選擇性輸入圖標(biāo)的任意一個(gè),并且處理 進(jìn)入到步驟S230。
在步驟S220之后的步驟S230,判斷在步驟S220中的選擇性 輸入的結(jié)果。如果選擇了"一致",則判斷為沒有被偽造,并且 處理進(jìn)入到步驟S250。另一方面,如果選擇了"不一致",則向
用戶發(fā)布表示可能已經(jīng)被偽造的警告,并且加密初始化處理完 成??梢栽俅螐墓芾碛?jì)算機(jī)10獲得密碼相關(guān)信息Inf0,并且可 以進(jìn)行在步驟S210到S230的判斷。
在步驟S230之后的步驟S240,密鑰對(duì)生成模塊M21生成包括公用密鑰PK1和私用密鑰SK1的密鑰對(duì)。這些密鑰分別用于加 密和解密用于數(shù)據(jù)加密、待存儲(chǔ)在存儲(chǔ)裝置30上的公共密鑰 FEK??梢允褂盟接妹荑€SK1解密使用公用密鑰PK1所加密的公 共密鑰FEK,并且從而可以使用解密的公共密鑰FEK解密加密
的數(shù)據(jù)。
在步驟S240之后的步驟S250, PW設(shè)置模塊M22接收認(rèn)證密 碼PW1的輸入。更具體地,PW設(shè)置模塊M22將從操作輸入裝置 25輸入的字符序列設(shè)置為普通用戶的認(rèn)證密碼。在從步驟S250 的開始直到操作輸入顯示密碼輸入完成的期間內(nèi),從操作輸入 裝置25輸入該字符序列。如果用戶計(jì)算機(jī)20的登錄密碼等適合 該密碼輸入,則在步驟S250建議獲得在用戶計(jì)算機(jī)20的預(yù)定位 置寫入的登錄密碼。當(dāng)步驟S250的密碼輸入完成時(shí),處理進(jìn)入 到步驟S260。
在步驟S250之后的步驟S260,私用密鑰加密模塊M23從認(rèn) 證密碼PW1生成散列值H1。從認(rèn)證密碼PW1生成散列值H1。才艮 據(jù)與用于生成散列值HO的方法相同的方法,通過從隨機(jī)數(shù)生成 隨機(jī)字節(jié)序列Sl和重復(fù)數(shù)目Nl并使用所生成的隨機(jī)字節(jié)序列 Sl和重復(fù)數(shù)目N1來生成散列值H1。
在步驟S260之后的步驟S270,私用密鑰加密模塊M23使用 散列值H1加密私用密鑰SK1,并且生成加密的私用密鑰(SK1)'。
在步驟S270之后的步驟S280,公共密鑰生成模塊M24生成 用于解密數(shù)據(jù)的公共密鑰FEK(例如,根據(jù)公共密鑰加密方法的 加密密鑰)。將通過預(yù)定的隨機(jī)數(shù)生成算法所生成的隨機(jī)數(shù)用于 公共密鑰FEK。換言之,公共密鑰FEK可以實(shí)現(xiàn)數(shù)據(jù)不會(huì)在受 到字典攻擊或強(qiáng)力攻擊的情況下容易地被譯解的加密。
在步驟S280之后的步驟S290,公共密鑰加密模塊M25通過 使用公用密鑰PK1加密公共密鑰FEK來生成加密的公共密鑰(FEK)',并且還通過使用公用密鑰PKO加密公共密鑰FEK來生成 加密的公共密鑰(FEK)"。因此,不但可以通過作為加密數(shù)據(jù)生 成人員的普通用戶"A,,的私用密鑰SK1還可以通過管理員的私 用密鑰SKO來解密公共密鑰FEK。
在步驟S290之后的步驟S300,將用戶的解密信息Decl和管 理員的解密信息DecO存儲(chǔ)在存儲(chǔ)裝置30中。解密信息表示以下 信息的結(jié)合,該信息使得待解密的公共密鑰可以與步驟S 1 IO或 S250中所設(shè)置的密碼結(jié)合。用戶的解密信息Decl包括加密的公 共密鑰(FEK)'、加密的私用密鑰(SK1)'、隨機(jī)字節(jié)序列S1和重復(fù) 數(shù)目Nl。管理員的解密信息DecO包括加密的公共密鑰(FEK)"、 加密的私用密鑰(SKO)'、隨機(jī)字節(jié)序列SO和重復(fù)數(shù)目NO。
因此,不要求用戶和管理員兩者將解密信息存儲(chǔ)在管理計(jì) 算機(jī)10或用戶計(jì)算機(jī)20上,并且將用戶和管理員兩者從為防止 數(shù)據(jù)丟失而進(jìn)行的對(duì)私用密鑰備份的管理中解放出來。即使解 密信息落入到第三方的手中,實(shí)際上也不可能只根據(jù)解密信息 解密公共密鑰FEK。因此,沒有降低安全性。此外,也不存在 私用密鑰由于管理計(jì)算機(jī)10或用戶計(jì)算機(jī)20中的問題而丟失的 情況。
附帶地,在圖4的流程圖中,用戶在步驟S220中判斷在顯 示裝置28上所顯示的散列值是否與分離地分配的序列號(hào)Ser— 致,并且用戶計(jì)算機(jī)20基于來自用戶的表示一致/不一致的輸入 在步驟S230判斷序列號(hào)Ser和所顯示的(所生成的)散列值的一 致性。然而, 一致性的判斷不限于此。
例如,用戶計(jì)算機(jī)20在步驟S210生成散列值之后,用戶計(jì) 算機(jī)20可以在顯示裝置28上顯示畫面以允許用戶輸入序列號(hào) Ser。在序列號(hào)打印在可打印介質(zhì)上并且傳送給用戶的情況下, 用戶在查看打印在可打印介質(zhì)上的序列號(hào)Ser的同時(shí)經(jīng)由操作輸入裝置2 5輸入字符序列??梢酝ㄟ^用掃描儀掃描打印的序列 號(hào)并且然后輸入所掃描的數(shù)據(jù)來進(jìn)行字符序列的輸入。在經(jīng)由 存儲(chǔ)裝置200或可移除存儲(chǔ)裝置210分配序列號(hào)Ser的情況下,通 過從存儲(chǔ)裝置200和可移除存儲(chǔ)裝置210中檢索所存儲(chǔ)的序列號(hào) Ser來進(jìn)行字符序列的輸入。然后,用戶計(jì)算才幾20基于所輸入的
種情況下,用戶計(jì)算機(jī)20判斷一致性。同樣,可以將在步驟S230 中對(duì)用戶輸入的一致/不一致的才企測(cè)解釋為用戶計(jì)算機(jī)20判斷 一致性。
通過這些步驟,完成了在存儲(chǔ)裝置30上記錄加密的數(shù)據(jù)的 準(zhǔn)備和解碼記錄在存儲(chǔ)裝置30上的加密的數(shù)據(jù)的準(zhǔn)備。 數(shù)據(jù)加密/解密處理
下面是加密初始化完成之后關(guān)于在存儲(chǔ)裝置30上存儲(chǔ)數(shù)據(jù) 及從存儲(chǔ)裝置30獲取數(shù)據(jù)的描述。除了使用不同的解密信息, 普通用戶和管理員在加密/解密上具有共同的流程,因此,在下 面的描述中以普通用戶作為例子。
圖6是示出數(shù)據(jù)加密處理的流程的流程圖,圖7是示出數(shù)據(jù) 解密處理的流程的流程圖,圖8是用于解釋由用戶進(jìn)行的數(shù)據(jù)解 密和數(shù)據(jù)加密的圖。在加密處理和解密處理中,直到獲得公共 密鑰FEK之前釆取相同的處理步驟。因此,對(duì)相同的處理步驟 給出相同的步驟序號(hào)。
在解密/加密處理開始后,在步驟S400獲得解密信息Decl。 更具體地,數(shù)據(jù)解密模塊M32或數(shù)據(jù)加密模塊M31從存儲(chǔ)裝置 30獲得加密的公共密鑰(FEK)'、加密的私用密鑰(SK1)'、隨機(jī)字 節(jié)序列S1和重復(fù)數(shù)目N1。
在步驟S400之后的步驟S410,接收認(rèn)證密碼PW1的輸入。 更具體地,數(shù)據(jù)加密模塊M31或數(shù)據(jù)解密模塊M32在從步驟S410的開始直到操作輸入顯示密碼輸入完成的期間內(nèi)接收從 操作輸入裝置25輸入的字符序列。當(dāng)步驟S410的密碼輸入完成 時(shí),處理進(jìn)入到步驟S420。
在步驟S410之后的步驟S420,使用認(rèn)證密碼PW1解密加密 的私用密鑰(SK1)'。更具體地,要求普通用戶輸入認(rèn)證密碼
作輸入裝置25輸入的認(rèn)證密碼PW1進(jìn)行散列計(jì)算,其中散列計(jì) 算中指定了隨機(jī)字節(jié)序列SO和重復(fù)數(shù)目NO。根據(jù)該計(jì)算,生成 用于解密加密的私用密鑰(SK1)'的散列值H1,并且用該散列值 Hl解密私用密鑰SK1。
在步驟S420之后的步驟S430,解密加密的公共密鑰(FEK)'。 即,使用在步驟S410中解密的私用密鑰SK1解密公共密鑰FEK。
在步驟S430完成后,在解密處理中執(zhí)行步驟S440,反之, 在加密處理中執(zhí)行步驟S450和S460。
更具體地,在解密處理的步驟S440,通過使用 ^共密鑰FEK 解密加密的數(shù)據(jù)來獲得明文數(shù)據(jù)。如果第三方將數(shù)據(jù)記錄在存 儲(chǔ)裝置30上,則通過使用用戶的密碼進(jìn)行解密處理而獲得任意 的數(shù)據(jù)。具體地,如果從操作輸入裝置25輸入的并由數(shù)據(jù)解密 模塊M32接收的密碼與由PW設(shè)置模塊M22設(shè)置的密碼不同,則 加密的私用密鑰不被正確地解密并且生成無效的私用密鑰。然 后,如果使用無效的私用密鑰加密明文數(shù)據(jù),則不能使用有效 的密碼,即由PW設(shè)置模塊M22設(shè)置的密碼,解密加密的數(shù)據(jù)。 因此,可能識(shí)別出由第三方進(jìn)行的數(shù)據(jù)記錄。同樣,如果從操 作輸入裝置25輸入的并由數(shù)據(jù)解密模塊M32接收的密碼與由 PW設(shè)置模塊M12或M22設(shè)置的密碼不同,則加密的數(shù)據(jù)不被正 確地解密。因此,可以禁止第三方解密加密的數(shù)據(jù)。
另 一方面,在加密處理的步驟S450,通過使用公共密鑰FEK加密明文數(shù)據(jù)。之后,在步驟S460將加密的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝 置30上。
如上所述,可以利用從存儲(chǔ)裝置30獲得的解密信息和由各 個(gè)用戶輸入的密碼PW1加密明文數(shù)據(jù),并且可以將加密的數(shù)據(jù) 存儲(chǔ)在存儲(chǔ)裝置30上。另外,管理員和加密數(shù)據(jù)的用戶只利用 存儲(chǔ)在存儲(chǔ)裝置30上的信息就可以解密加密的數(shù)據(jù)。在加密和 解密中,如果每個(gè)計(jì)算機(jī)上都安裝了認(rèn)證工具,則可以通過使 用來自任何一個(gè)計(jì)算機(jī)的各個(gè)用戶的密碼解密加密的數(shù)據(jù)而獲 得明文數(shù)據(jù)。
另外,如上所述,除了將加密的數(shù)據(jù)與解密信息Decl相關(guān) 聯(lián)地存儲(chǔ)在存儲(chǔ)裝置30上之外,還將加密的數(shù)據(jù)與解密信息 DecO相關(guān)聯(lián)地存儲(chǔ)在存儲(chǔ)裝置30上。因此,允許管理員解密由 用戶計(jì)算機(jī)20加密的加密數(shù)據(jù)。圖9是用于解釋由管理員進(jìn)行數(shù) 據(jù)解密的圖。除l吏用解密信息DecO和密;馬PWO之外,由管理員 進(jìn)行的解密處理類似于在圖6中示出的處理。
各種變型
可以對(duì)上述的實(shí)施例進(jìn)行如下的變型。
1. 作為例子上述的實(shí)施例描述了存在具有管理權(quán)限的管 理員和不具有管理權(quán)限的用戶的認(rèn)證系統(tǒng)。然而,在本發(fā)明中, 管理員不是必不可少的。例如,認(rèn)證系統(tǒng)可以包括用戶計(jì)算機(jī) 和存儲(chǔ)裝置而不具有管理計(jì)算機(jī)。在該系統(tǒng)中,管理員的加密 的公共密鑰和加密的私用密鑰沒有存儲(chǔ)在存儲(chǔ)裝置30上,反而 將用戶的加密的公共密鑰和加密的私用密鑰存儲(chǔ)在存儲(chǔ)裝置30 上。因此,該系統(tǒng)還可以避免增加用于管理加密的數(shù)據(jù)的費(fèi)時(shí) 工作以及降低安全性,并且防止了不管存在沒被破壞的加密的 數(shù)據(jù)的事實(shí)而不能執(zhí)行解密的情況。
2. 作為例子上述的實(shí)施例描述了包括管理計(jì)算機(jī)10和用戶計(jì)算機(jī)20的系統(tǒng)。然而,本發(fā)明還可以應(yīng)用到可由多個(gè)用戶 操作而不用管理員的系統(tǒng)。即,在該系統(tǒng)的用戶之間共享加密 的數(shù)據(jù)。在該系統(tǒng)中,每個(gè)用戶將密碼相關(guān)信息(用戶的公用密 鑰和加密的私用密鑰)傳送給其它用戶。
參照?qǐng)D10B、 11、 12和13描述該例子。在該i兌明性的例子 中,系統(tǒng)包括分別認(rèn)證給普通用戶A和B用戶計(jì)算機(jī)20A和20B, 并且用戶計(jì)算機(jī)生成密碼相關(guān)信息InfO,其中通過與在上面的 實(shí)施例中示出的相同的處理生成密碼相關(guān)信息InfO。
如圖IOB中示出的,從用戶計(jì)算機(jī)20A輸出密碼相關(guān)信息 Infl并且輸入到另 一個(gè)用戶計(jì)算機(jī)20B中。如在關(guān)于圖IOA的描 述中解釋的,可以通過多種方法將密碼相關(guān)信息Infl從用戶計(jì) 算機(jī)20A傳送到用戶計(jì)算機(jī)20B(從用戶A到用戶B)。盡管所解釋 的密碼相關(guān)信息Infl包括加密的私用密鑰(SK1)'、公用密鑰 PK1、隨機(jī)字節(jié)序列Sl和重復(fù)數(shù)目Nl,密碼相關(guān)信息Infl可以 至少包括加密的私用密鑰(SK1)'和公用密鑰PK1。
如圖ll所示,通過與上述的實(shí)施例中描述的類似的處理, 用戶計(jì)算機(jī)20B基于與用戶B相關(guān)的私用密鑰SK2、公用密鑰 PK2、 ?^共密鑰FEK2和密碼PW2生成解密信息Dec2。此外,用 戶計(jì)算機(jī)20B基于接收到的密碼相關(guān)信息Inf 1和與用戶B相關(guān)的 公用密鑰PK2生成解密信息Decl。具體地,用戶計(jì)算機(jī)20B使用 包含在密碼相關(guān)信息Infl中的公用密鑰PK1加密公共密鑰FEK2 以生成加密的/^共密鑰(FEK2)"。與上面的實(shí)施例類似,可以 將序列號(hào)Ser從用戶A提供給用戶B以獲得更高的安全性。相應(yīng) 地,生成解密信息Decl以包括加密的私用密鑰(SK1)'、加密的 公共密鑰(FEK2)"、隨機(jī)字節(jié)序列S1和重復(fù)數(shù)目Nl。
如圖12所示的,當(dāng)已經(jīng)接收到密碼相關(guān)信息Infl的用戶B 使用自身的用于數(shù)據(jù)加密的爿^共密鑰FEK2加密明文數(shù)據(jù)并將加密的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝置30上時(shí),用戶B還使用公用密鑰PK1 加密用于數(shù)據(jù)加密的公共密鑰FEK2,然后生成加密的公共密鑰 (FEK2)",并且將加密的數(shù)據(jù)與加密的/>共密鑰(FEK2)"(解密信 息Dec2)相關(guān)聯(lián)地存儲(chǔ)在存儲(chǔ)裝置30上。
加密的數(shù)據(jù)還可以與解密信息Decl相關(guān)聯(lián)。因此,如圖13 所示,用戶A可以通過使用解密數(shù)據(jù)Decl和用戶A的PW1來解密 加密的數(shù)據(jù)。
即使密碼相關(guān)信息Infl泄露給第三方,也不會(huì)降低安全性, 并且可以安全地傳送密碼相關(guān)信息Infl。每個(gè)用戶生成加密的 數(shù)據(jù),從而使得其它用戶可以使用傳送的密鑰組來解密數(shù)據(jù)。 當(dāng)然,可以對(duì)用戶分等級(jí)以使得較高等級(jí)的用戶可以解密由較
低等級(jí)的用戶生成的加密的數(shù)據(jù),反之,較低等級(jí)的用戶不能 解密由較高等級(jí)的用戶生成的加密的數(shù)據(jù)??蛇x擇地,可以形 成一組用戶以使得只能由屬于改組的用戶解密由屬于該組的用 戶生成的加密的數(shù)據(jù)。
3. 上述的實(shí)施例描述了這樣的系統(tǒng)將關(guān)于管理工具 APL1的程序數(shù)據(jù)、關(guān)于初始化工具APL2的程序數(shù)據(jù)和關(guān)于認(rèn) 證工具APL3的程序數(shù)據(jù)存儲(chǔ)在管理計(jì)算機(jī)10或用戶計(jì)算機(jī)20 上。然而,可以將這些程序數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝置30上。當(dāng)執(zhí)行 應(yīng)用時(shí),將程序數(shù)據(jù)載入到管理計(jì)算機(jī)10或用戶計(jì)算機(jī)20上。 如果存儲(chǔ)裝置30包括執(zhí)行程序的環(huán)境,則可以在存儲(chǔ)裝置30上 執(zhí)行這些應(yīng)用程序??梢圆粚⒊绦蜉d入到用戶計(jì)算機(jī)或管理計(jì) 算機(jī),而只是以由ASP(應(yīng)用服務(wù)供應(yīng)商)提供的類似的處理將處 理結(jié)果的顯示發(fā)送到用戶計(jì)算機(jī)或管理計(jì)算機(jī)。
4. 上述的實(shí)施例描述了生成可以在單個(gè)普通用戶和管理 員之間使用的加密的數(shù)據(jù)的例子。然而,多個(gè)普通用戶也可適 用。另外,可以訪問之前生成的加密的數(shù)據(jù)的用戶是可以改變的,以添加其它普通用戶。為了給予其它普通用戶對(duì)加密的數(shù)
據(jù)的訪問權(quán),可以將用戶添加模塊置入到管理工具A P L1和認(rèn)證 工具APL3。如下是一個(gè)由用戶添加模塊進(jìn)行處理的例子。首先, 執(zhí)行數(shù)據(jù)加密模塊和數(shù)據(jù)解密模塊的步驟S400到S430,以解密 公共密鑰FEK。之后,利用普通用戶"B"的公用密鑰PK2加密公 共密鑰FEK,以生成加密的公共密鑰(FEK)〃'。另外,基于普通 用戶"B"的密碼PW2使用散列值H2(隨機(jī)字節(jié)序列S2和重復(fù)數(shù) 目)加密私用密鑰SK2。之后,對(duì)于普通用戶"B",將加密的公 共密鑰(FEK)'〃、加密的私用密鑰(SK2)'、隨才凡字節(jié)序列S2和重 復(fù)數(shù)目N2以解密信息Dec2的形式存儲(chǔ)在存儲(chǔ)裝置30上。
5. 在上述的實(shí)施例中,在初始化管理工具或安裝初始化工 具時(shí)生成密碼相關(guān)信息InfO和Infl。然而,可以在每次指定要加 密的單位區(qū)域時(shí)生成密碼相關(guān)信息。然而,用于防止偽造管理 員的密碼相關(guān)信息Inf0的序列號(hào)S er的分配與指定單位區(qū)域的 次數(shù)的增加成比例的變得不現(xiàn)實(shí)。在這種情況下,建議允許只 由每個(gè)分區(qū)或每個(gè)文件夾指定要加密的單位區(qū)域以抑制指定單 位區(qū)域的次數(shù)的增加。
6. 上述的實(shí)施例描述了將整個(gè)存儲(chǔ)裝置30指定為單位區(qū) 域的例子。然而,如果將存儲(chǔ)裝置30中的文件夾或文件設(shè)置為 單位區(qū)域,則在選擇了每個(gè)單位區(qū)域的加密時(shí)執(zhí)行處理。這時(shí), 可以只在第 一次或者在每次選擇每個(gè)單位區(qū)域的加密時(shí)執(zhí)行獲 取并檢查密碼相關(guān)信息InfO的處理,例如在步驟S200到S230中 的處理,以獲得密碼相關(guān)信息I n f0并且確定密碼相關(guān)信息I n f0 是否被偽造。如果以此方式將存儲(chǔ)裝置30中的文件夾或文件設(shè) 置為單位區(qū)域,則對(duì)各單位區(qū)域指定彼此不同的解密信息。因 此,不對(duì)存儲(chǔ)裝置30指定解密信息而對(duì)每個(gè)單位區(qū)域指定解密 信息。因此,每個(gè)單位區(qū)域具有用以具有用于存儲(chǔ)解密信息的區(qū)域(例如,頭)的文件結(jié)構(gòu)。
7.在上面的實(shí)施例中,將加密的數(shù)據(jù)與加密的私用密鑰、 加密的公共密鑰、隨機(jī)字節(jié)序列和重復(fù)數(shù)目 一同存儲(chǔ)在相同的 存儲(chǔ)介質(zhì)31上。然而,可以將這些數(shù)據(jù)分離地存儲(chǔ)在不同的存 儲(chǔ)裝置上,只要分離的數(shù)據(jù)可以相互關(guān)聯(lián)。例如,加密的數(shù)據(jù) 可以存儲(chǔ)在可移除的存儲(chǔ)裝置上,而加密的私用密鑰、加密的 公共密鑰、隨機(jī)字節(jié)序列和重復(fù)數(shù)目可以存儲(chǔ)在網(wǎng)絡(luò)上的服務(wù) 器上。在這種情況下,將關(guān)聯(lián)信息附加到加密的數(shù)據(jù),其中關(guān) 聯(lián)信息表示加密的私用密鑰、加密的公共密鑰、隨機(jī)字節(jié)序列 和重復(fù)數(shù)目的存儲(chǔ)位置(例如,服務(wù)器的地址)。
本發(fā)明不限于上述的實(shí)施例和變型。本發(fā)明還包括通過相 互替換在上述實(shí)施例中示出的元件和變型或者改變其中示出的 元件的結(jié)合而獲得的形式,或者包括通過相互替換在已知技術(shù) 中示出的元件、上述的實(shí)施例和變型或者改變其中示出的元件 的結(jié)合而獲得的形式。
本申請(qǐng)基于并要求2007年10月16日提交的日本專利特開 2007-269418的優(yōu)先權(quán),該在先申請(qǐng)的內(nèi)容通過引用全文包含在 此。
權(quán)利要求
1. 一種數(shù)據(jù)管理設(shè)備,適用于使用公共密鑰和包括公用密鑰和私用密鑰的密鑰對(duì)的加密系統(tǒng);在所述加密系統(tǒng)中,通過使用所述公共密鑰加密明文數(shù)據(jù)以生成加密的數(shù)據(jù)并且通過使用所述公用密鑰加密所述公共密鑰以生成加密的公共密鑰來進(jìn)行加密,以及通過使用所述私用密鑰解密所述加密的公共密鑰以獲得解密的公共密鑰并且使用所述解密的公共密鑰解密所述加密的數(shù)據(jù)來進(jìn)行解密;所述數(shù)據(jù)管理設(shè)備包括公共密鑰加密單元,其用于使用第一公用密鑰加密第一公共密鑰,以生成加密的第一公共密鑰;密碼設(shè)置接收單元,其用于接收第一密碼的設(shè)置;以及私用密鑰加密單元,其用于使用所述第一密碼加密第一私用密鑰,以生成加密的第一私用密鑰。
2. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)管理設(shè)備,其特征在于,還 包括密碼輸入接收單元,其用于接收密碼的輸入;以及 數(shù)據(jù)加密單元,其用于使用所輸入的密碼解密所述加密的第一私用密鑰,以 獲得解密的第一私用密鑰;使用所述解密的第 一私用密鑰解密所述加密的第 一公 共密鑰,以獲得解密的第一公共密鑰;并且使用所述解密的第一公共密鑰加密明文數(shù)據(jù),以生成 加密的數(shù)據(jù)。
3. 根據(jù)權(quán)利要求2所述的數(shù)據(jù)管理設(shè)備,其特征在于,還 包括存儲(chǔ)控制單元,其用于將所述加密的數(shù)據(jù)與所述加密的第 一私用密鑰和所述加密的第一公共密鑰相關(guān)聯(lián)地存儲(chǔ)。
4. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)管理設(shè)備,其特征在于,還包括解密數(shù)據(jù)獲取單元,其用于獲取通過使用所述第一公共密 鑰加密明文數(shù)據(jù)而生成的加密的數(shù)據(jù)、所述加密的第一私用密 鑰和所述加密的第 一公共密鑰;密碼輸入接收單元,其用于接收密碼的輸入;以及 數(shù)據(jù)解密單元,其用于使用所輸入的密碼解密所述加密的第一私用密鑰,以 獲得解密的第一私用密鑰;使用所述解密的第一私用密鑰解密所述加密的第一公 共密鑰,以獲得解密的第一公共密鑰;并且使用所述解密的第 一公共密鑰解密所述加密的數(shù)據(jù), 以獲得所述明文數(shù)據(jù)。
5. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)管理設(shè)備,其特征在于,所 述私用密鑰加密單元用于通過預(yù)定的散列函數(shù)從所述第一密碼 計(jì)算散列值并且使用所述散列值加密所述第一私用密鑰。
6. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)管理設(shè)備,其特征在于,還 包括散列條件生成單元,其用于從預(yù)定的隨機(jī)數(shù)生成隨機(jī)字節(jié) 序列和重復(fù)數(shù)目;以及 存儲(chǔ)控制單元,其中,所述私用密鑰加密單元用于通過預(yù)定的散列函數(shù)通 過使用所述隨機(jī)字節(jié)序列和所述重復(fù)數(shù)目從所述第 一 密碼生成 散列值,并且其中,所述存儲(chǔ)控制單元用于將所述隨機(jī)字節(jié)序列和所述 重復(fù)數(shù)目與所述加密的第一公共密鑰和所述加密的第一私用密 鑰相關(guān)聯(lián)地存儲(chǔ)。
7. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)管理設(shè)備,其特征在于,還包括輸出單元,其用于將所述第一公用密鑰和所述加密的第一 私用密鑰輸出到另 一個(gè)數(shù)據(jù)管理設(shè)備。
8. 根據(jù)權(quán)利要求7所述的數(shù)據(jù)管理設(shè)備,其特征在于,還 包括解密數(shù)據(jù)獲取單元,其用于獲取所述加密的第 一私用密鑰、 通過使用所述第一公用密鑰加密第二公共密鑰而生成的加密的 第二公共密鑰和通過使用所述第二公共密鑰加密明文數(shù)據(jù)而生 成的加密的數(shù)據(jù);密碼輸入接收單元,其用于接收密碼的輸入;以及 數(shù)據(jù)解密單元,其用于使用所輸入的密碼解密所述加密的第一私用密鑰,以 獲得解密的第一私用密鑰;使用所述解密的第 一私用密鑰解密所述加密的第二公 共密鑰,以獲得解密的第二公共密鑰;并且使用所述解密的第二公共密鑰解密所述加密的數(shù)據(jù), 以獲得所述明文數(shù)據(jù)。
9. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)管理設(shè)備,其特征在于,所 述7>共密鑰加密單元包括散列生成單元,其用于通過預(yù)定的散列函數(shù)從所述第一公 用密鑰計(jì)算散列值;第一輸出單元,其用于輸出所述散列值;以及 第二輸出單元,其用于輸出所述第一公用密鑰。
10. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)管理設(shè)備,其特征在于,還 包括獲取單元,其用于獲取加密的第二私用密鑰和第二公用密 鑰,所述加密的第二私用密鑰通過使用第二密碼加密第二私用密鑰而生成,所述第二私用密鑰和所述第二公用密鑰相對(duì)于所 述第一私用密鑰和所述第一公用密鑰是唯一的,其中,所述公共密鑰加密單元用于使用所述第二公用密鑰 加密所述第 一公共密鑰,以生成救濟(jì)的加密的第 一公共密鑰。
11. 根據(jù)權(quán)利要求10所述的數(shù)據(jù)管理設(shè)備,其特征在于, 還包括存儲(chǔ)控制單元,其用于將所述加密的第一公共密鑰和所述 加密的第一私用密鑰作為第一解密信息存儲(chǔ)并且將所述救濟(jì)的 加密的第 一公共密鑰和所述加密的第二私用密鑰作為第二解密 信息存儲(chǔ)。
12. 根據(jù)權(quán)利要求ll所述的數(shù)據(jù)管理設(shè)備,其特征在于, 還包括密碼輸入接收單元,其用于接收密碼的輸入;以及 數(shù)據(jù)加密單元,其用于使用所輸入的密碼解密所述加密的第一私用密鑰,以 獲得解密的第一私用密鑰;使用所述解密的第 一私用密鑰解密所述加密的第 一公 共密鑰,以獲得所述解密的第一公共密鑰;并且使用所述解密的第一公共密鑰加密明文數(shù)據(jù),以生成 加密的數(shù)據(jù),其中,所述存儲(chǔ)控制單元用于將所述加密的數(shù)據(jù)與所述第 一解密信息和所述第二解密信息相關(guān)聯(lián)地存儲(chǔ)。
13. 根據(jù)權(quán)利要求10所述的數(shù)據(jù)管理設(shè)備,其特征在于, 還包括散列生成單元,其用于通過預(yù)定的散列函數(shù)從所獲得的第 二公用密鑰計(jì)算散列值;以及判斷單元,其用于判斷所述散列值是否與通過所述預(yù)定的散列函數(shù)從初始第二公用密鑰計(jì)算出的第二散列值一致,所述 初始第二公用密鑰與所述第二公用密鑰相對(duì)應(yīng)但是在所述獲取單元獲取所述第二公用密鑰之前已經(jīng)生成;其中,如果所述判斷單元判斷為所述散列值與所述第二散 列值一致,則所述公共密鑰加密單元使用所述第二公用密鑰加 密所述第 一公共密鑰以生成救濟(jì)的加密的第 一公共密鑰。
14. 一種數(shù)據(jù)管理方法,適用于使用公共密鑰和包括公用 密鑰和私用密鑰的密鑰對(duì)的加密系統(tǒng);在所述加密系統(tǒng)中,通 過使用所述公共密鑰加密明文數(shù)據(jù)以生成加密的數(shù)據(jù)并且通過 使用所述公用密鑰加密所述公共密鑰以生成加密的公共密鑰來 進(jìn)行加密,以及通過使用所述私用密鑰解密所述加密的公共密 鑰以獲得解密的公共密鑰并且使用所述解密的公共密鑰解密所 述加密的數(shù)據(jù)來進(jìn)行解密;所述數(shù)據(jù)管理方法包括如下步驟使用第一公用密鑰加密第一公共密鑰,以生成加密的第一 公共密鑰;接收第一密碼的設(shè)置;以及使用所述第一密碼加密第一私用密鑰,以生成加密的第一 私用密鑰。
15. —種計(jì)算機(jī)可讀介質(zhì),所述介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序 并且所述介質(zhì)可由計(jì)算機(jī)讀?。划?dāng)由所述計(jì)算機(jī)執(zhí)行所述計(jì)算 機(jī)程序時(shí),所述計(jì)算機(jī)程序使得所述計(jì)算機(jī)進(jìn)行用于數(shù)據(jù)管理 設(shè)備的操作,所述數(shù)據(jù)管理設(shè)備適用于使用公共密鑰和包括公 用密鑰和私用密鑰的密鑰對(duì)的加密系統(tǒng);在所述加密系統(tǒng)中, 通過使用所述公共密鑰加密明文數(shù)據(jù)以生成加密的數(shù)據(jù)并且通 過使用所述公用密鑰加密所述公共密鑰以生成加密的公共密鑰 來進(jìn)行加密,以及通過使用所述私用密鑰解密所述加密的公共 密鑰以獲得解密的公共密鑰并且使用所述解密的公共密鑰解密所述加密的數(shù)據(jù)來進(jìn)行解密,所述操作包括使用第一公用密鑰加密第一公共密鑰,以生成加密的第一 公共密鑰;接收第一密碼的設(shè)置;以及使用所述第一密碼加密第一私用密鑰,以生成加密的第一 私用密鑰。
全文摘要
本發(fā)明提供一種數(shù)據(jù)管理設(shè)備、數(shù)據(jù)管理方法以及數(shù)據(jù)管理程序,適用于使用公共密鑰和包括公用密鑰和私用密鑰的密鑰對(duì)的加密系統(tǒng)。數(shù)據(jù)管理設(shè)備包括公共密鑰加密單元,其用于使用第一公用密鑰加密第一公共密鑰,以生成加密的第一公共密鑰;密碼設(shè)置接收單元,其用于接收第一密碼的設(shè)置;以及私用密鑰加密單元,其用于使用所述第一密碼加密第一私用密鑰,以生成加密的第一私用密鑰。
文檔編號(hào)G06F21/24GK101430751SQ200810170268
公開日2009年5月13日 申請(qǐng)日期2008年10月16日 優(yōu)先權(quán)日2007年10月16日
發(fā)明者江尻太一 申請(qǐng)人:巴比祿股份有限公司