數(shù)據(jù)解密裝置、屬性基密碼系統(tǒng)、隨機數(shù)要素去除裝置、隨機化秘密密鑰生成裝置、數(shù)據(jù)解 ...的制作方法
【技術領域】
[0001] 本發(fā)明涉及例如使用屬性基密碼方式的數(shù)據(jù)解密裝置、屬性基密碼系統(tǒng)、隨機數(shù) 要素去除裝置、隨機化秘密密鑰生成裝置、數(shù)據(jù)解密方法和數(shù)據(jù)解密程序。
【背景技術】
[0002] 近年來,已提出被稱作屬性基密碼或函數(shù)型密碼的融合了訪問控制功能和密碼功 能的新型密碼(例如非專利文獻1和非專利文獻2)。
[0003] 這種新型密碼是通過指定可解密的利用者的屬性來對數(shù)據(jù)進行加密,使得僅具有 指定屬性的利用者能夠對已被加密的數(shù)據(jù)進行解密。
[0004] 在該屬性基密碼方式中存在密鑰生成服務器和對數(shù)據(jù)進行加密或解密的利用者。
[0005] 密鑰生成服務器對利用者的屬性進行管理,進而根據(jù)利用者的期望生成嵌入有利 用者的屬性的秘密密鑰,將生成的秘密密鑰發(fā)送給利用者。
[0006] 例如,密鑰生成服務器針對屬于A部B課的田中,生成嵌入有3個屬性"A部、B課、 田中"的秘密密鑰。
[0007] 對數(shù)據(jù)進行加密的利用者利用使用AND或OR等邏輯算子的邏輯式來指定可解密 的利用者應該具有的屬性的條件。
[0008] 例如,在屬于A部的人是可解密的利用者的情況下,對數(shù)據(jù)進行加密的利用者指 定條件式"A部"。并且,在屬于A部或B部的人是可解密的利用者的情況下,對數(shù)據(jù)進行加 密的利用者指定條件式"A部OR B部"。
[0009] 該情況下,屬于A部的田中能夠對使用任意條件式加密的數(shù)據(jù)進行解密。這是因 為,田中的屬性"A部"符合條件式"A部"和條件式"A部OR B部"雙方。
[0010] 另一方面,屬于B部的佐藤能夠對使用條件式"A部OR B部"加密的數(shù)據(jù)進行解 密,但是,無法對使用條件式"A部"加密的數(shù)據(jù)進行解密。這是因為,佐藤的屬性"B部"符 合條件式"A部OR B部",但是不符合條件式"A部"。
[0011] 并且,屬于C部的鈴木無法對使用任意條件式加密的數(shù)據(jù)進行解密。這是因為,鈴 木的屬性"C部"不符合條件式"A部"和條件式"A部OR B部"雙方。
[0012] 但是,這種屬性基密碼具有高功能性,因此,存在解密處理花費時間這樣的缺點。
[0013] 這是因為,在解密處理時,執(zhí)行對用于不篡改條件式的秘密方差進行解碼的解碼 處理以及作為復雜運算的配對運算。
[0014] 因此,很難使用組入設備或IC卡等處理速度較慢且存儲容量較少的終端設備進 行解密處理。
[0015] 因此,提出了將解密處理授權給其它裝置的解密授權方式。
[0016] 例如,非專利文獻3提出了如下方案:通過針對屬性基密碼的算法(參照非專利文 獻2)追加解密授權的結構,代理執(zhí)行秘密方差的解碼或配對運算,在組入設備或IC卡等終 端設備中僅執(zhí)行解密處理最后進行的隨機數(shù)去除。由此,在使用計算能力較低的終端設備 對加密數(shù)據(jù)進行解密的情況下,也能夠在短時間內執(zhí)行解密處理。
[0017] 但是,非專利文獻3提出的方式存在只能在對攻擊者設有制約的狀況 (Selective-secure)下確保安全性,在未對攻擊者設有制約的狀況(Adaptive-secure)下 無法確保安全性的課題。
[0018] 現(xiàn)有技術文獻
[0019] 非專利文獻
[0020] 非專利文獻 I :T. 0kamoto、K. Takashima、"Fully secure functional encryption with general relations from the decisional linear assumption''、CRYPT0、2010
[0021] 非專利文獻 2 :B. Waters、"Ciphertext_policy attibute-based encryption :an expressive, efficient, and provably secure realization''、PKC、2011
[0022] 非專利文獻 3 :M. Green、S. Hohenberger、B. Waters、"Outsourcing the Decryption of ABE Ciphertexts''、Proceedings of the 20th USENIX conference on Security、2011
【發(fā)明內容】
[0023] 發(fā)明要解決的課題
[0024] 本發(fā)明的目的在于,例如能夠通過分成多個階段來執(zhí)行屬性基密碼方式的解密處 理,提高加密數(shù)據(jù)的安全性。
[0025] 用于解決課題的手段
[0026] 本發(fā)明的數(shù)據(jù)解密裝置具有:公共密鑰部分解密部,其利用在使用表示屬性的屬 性值以屬性基密碼方式生成的利用者秘密密鑰中包含隨機數(shù)要素而得到的隨機化秘密密 鑰,對使用包含所述屬性值的屬性條件式加密后的公共密鑰即加密公共密鑰進行解密處 理,由此,生成包含所述隨機數(shù)要素的隨機化掩碼公共密鑰;掩碼公共密鑰取得部,其取得 從由所述公共密鑰部分解密部生成的所述隨機化掩碼公共密鑰中去除所述隨機數(shù)要素而 得到的掩碼公共密鑰;掩碼去除部,其使用由所述掩碼公共密鑰取得部取得的所述掩碼公 共密鑰生成公共密鑰;以及數(shù)據(jù)解密部,其使用由所述掩碼去除部生成的所述公共密鑰,對 使用所述公共密鑰加密后的對象數(shù)據(jù)進行解密。
[0027] 發(fā)明效果
[0028] 根據(jù)本發(fā)明,例如能夠通過分成多個階段來執(zhí)行屬性基密碼方式的解密處理,提 高加密數(shù)據(jù)的安全性。
【附圖說明】
[0029] 圖1是實施方式1中的屬性基密碼系統(tǒng)100的結構圖。
[0030] 圖2是實施方式1中的密鑰生成服務器200的功能結構圖。
[0031] 圖3是實施方式1中的訪問終端300的功能結構圖。
[0032] 圖4是實施方式1中的IC卡400的功能結構圖。
[0033] 圖5是示出實施方式1中的屬性基密碼系統(tǒng)100的處理概要的流程圖。
[0034] 圖6是示出實施方式1中的初始設定處理(S100)的流程圖。
[0035] 圖7是示出實施方式1中的利用者屬性表291的一例的圖。
[0036] 圖8是示出實施方式1中的r-利用者秘密密鑰發(fā)行處理(S200)的流程圖。
[0037] 圖9是示出實施方式1中的r-利用者秘密密鑰生成處理(S220)的流程圖。
[0038] 圖10是示出實施方式1中的數(shù)據(jù)加密處理(S300)的流程圖。
[0039] 圖11是示出實施方式1中的KEM密鑰加密處理(S340)的流程圖。
[0040] 圖12是示出實施方式1中的數(shù)據(jù)解密處理(S400)的流程圖。
[0041] 圖13是示出實施方式1中的隨機數(shù)要素去除處理(S450)的流程圖。
[0042] 圖14是示出實施方式1中的訪問終端300的硬件資源的一例的圖。
[0043] 圖15是實施方式2中的密鑰生成服務器200的功能結構圖。
[0044] 圖16是實施方式2中的IC卡400的功能結構圖。
[0045] 圖17是示出實施方式2中的屬性基密碼系統(tǒng)100的處理概要的流程圖。
[0046] 圖18是示出實施方式2中的利用者秘密密鑰發(fā)行處理(S200B)的流程圖。
[0047] 圖19是示出實施方式2中的利用者秘密密鑰生成處理(S220B)的流程圖。
[0048] 圖20是示出實施方式2中的數(shù)據(jù)解密處理(S400B)的流程圖。
[0049] 圖21是示出實施方式2中的r-利用者秘密密鑰取得處理(S420B)的流程圖。
[0050] 圖22是實施方式3中的密鑰生成服務器200的功能結構圖。
[0051] 圖23是實施方式3中的訪問終端300的功能結構圖。
[0052] 圖24是示出實施方式3中的屬性基密碼系統(tǒng)100的處理概要的流程圖。
[0053] 圖25是示出實施方式3中的r-利用者秘密密鑰生成處理(S200C)的流程圖。
[0054] 圖26是示出實施方式3中的數(shù)據(jù)解密處理(S400C)的流程圖。
【具體實施方式】
[0055] 實施方式1
[0056] 對將屬性基密碼系統(tǒng)的解密處理的一部分授權給IC卡的方式進行說明。
[0057] 圖1是實施方式1中的屬性基密碼系統(tǒng)100的結構圖。
[0058] 根據(jù)圖1對實施方式1中的屬性基密碼系統(tǒng)100的結構進行說明。
[0059] 屬性基密碼系統(tǒng)100是以屬性基密碼方式(參照非專利文獻1)對數(shù)據(jù)進行加密 或解密的系統(tǒng)。
[0060] 屬性基密碼方式是如下的密碼方式:使用與被賦予用于訪問數(shù)據(jù)的訪問權限的利 用者具有的屬性有關的條件式對數(shù)據(jù)進行加密,由此,僅具有滿足條件式的屬性的利用者 能夠對數(shù)據(jù)進行解密。屬性基密碼方式也被稱作"函數(shù)型密碼方式"。
[0061] 屬性基密碼系統(tǒng)100具有1個密鑰生成服務器200 (隨機化秘密密鑰生成裝置的 一例)、1個以上的訪問終端300 (數(shù)據(jù)解密裝置的一例)、每個利用者的IC卡400 (隨機數(shù) 要素去除裝置的一例)、1個文件服務器190。IC是Integrated Circuit (集成電路)的簡 稱。
[0062] 但是,屬性基密碼系統(tǒng)100也可以具有其它結構,各結構的數(shù)量也可以是1個或多 個。
[0063] 密鑰生成服務器200、訪問終端300、文件服務器190與公司內的局域網(wǎng)(以下稱 作公司內LAN101)連接。公司內LANlOl也可以是經(jīng)由路由器或專用線等的復雜通信路徑。
[0064] 但是,這些結構也可以與公司內LANlOl以外的網(wǎng)絡(例如因特網(wǎng))連接。
[0065] 密鑰生成服務器200是生成用于對數(shù)據(jù)進行加密解密的公開參數(shù)、使用隨機數(shù)進 行隨機化的利用者秘密密鑰、與用于對利用者秘密密鑰進行隨機化的隨機數(shù)有關的值(以 下稱作掩碼值)的裝置。裝置也稱作計算機。
[0066] 訪問終端300是使用由密鑰生成服務器200生成的公開參數(shù)212對數(shù)據(jù)進行加密 的裝置(例如個人計算機)。并且,訪問終端300是與IC卡400 -起對加密的數(shù)據(jù)進行解 密的裝置。
[0067] IC卡400是存儲由密鑰生成服務器200生成的利用者秘密密鑰和掩碼值的裝置。 并且,IC卡400是與訪問終端300 -起對加密的數(shù)據(jù)進行解密的裝置。
[0068] 文件服務器190是存儲加密的數(shù)據(jù)的裝置。例如,文件服務器190是搭載有 Windows OS (Windows為注冊商標)的市售的文件服務器。
[0069] 圖2是實施方式1中的密鑰生成服務器200的功能結構圖。
[0070] 根據(jù)圖2對實施方式1中的密鑰生成服務器200的功能結構進行說明。
[0071] 密鑰生成服務器200具有主秘密密鑰生成部210、r-利用者秘密密鑰生成部220、 r_利用者秘密密鑰寫入部230、服務器通信部280、服務器存儲部290。
[0072] 主秘密密鑰生成部210使用公開參數(shù)212中設定的密鑰長度201和利用者具有的 屬性的種類數(shù)量(以下稱作屬性數(shù)量202),生成主秘密密鑰211和公開參數(shù)212。
[0073] r-利用者秘密密鑰生成部220使用主秘密密鑰211、公開參數(shù)212和包含表示利 用者具有的屬性的屬性值的信息(以下稱作利用者屬性信息292),生成r-利用者秘密密鑰 221和掩碼值222。r-利用者秘密密鑰221是使用隨機數(shù)進行隨機化的利用者秘密密鑰,掩 碼值222是與用于對利用者秘密密鑰進行隨機化的隨機數(shù)有關的值。
[0074] r-利用者秘密密鑰寫入部230將r-利用者秘密密鑰221和掩碼值222寫入IC卡 400 中。
[0075] 服務器通信部280對密鑰生成服務器200中使用的數(shù)據(jù)進行通信。
[0076] 例如,服務器通信部280向訪問終端300發(fā)送公開參數(shù)212。
[0077] 服務器存儲部290存儲密鑰生成服務器200中使用的數(shù)據(jù)。
[0078] 例如,服務器存儲部290存儲主秘密密鑰211、公開參數(shù)212和利用者屬性表291。
[0079] 利用者屬性表291是按照不同利用者而包含利用者屬性信息292的表。
[0080] 圖3是實施方式1中的訪問終端300的功能結構圖。
[0081] 根據(jù)圖3對實施方式1中的訪問終端300的功能結構進行說明。
[0082] 訪問終端300 (數(shù)據(jù)解密裝置的一例)具有數(shù)據(jù)加密部310、KEM密鑰部分解密部 320 (公共密鑰部分解密部的一例)、隨機數(shù)要素去除委托部330 (掩碼公共密鑰取得部的一 例)、掩碼去除部340、數(shù)據(jù)解密部350、終端通信部380、終端存儲部390。
[0083] 數(shù)據(jù)加密部310使用與被賦予用于訪問數(shù)據(jù)的訪問權限的利用者具有的屬性有 關的條件式(以下稱作屬性條件式302)和公開參數(shù)212,對作為加密對象的對象數(shù)據(jù)301 進行加密,生成加密數(shù)據(jù)311。加密數(shù)據(jù)311包含加密后的對象數(shù)據(jù)301即加密數(shù)據(jù)主體 312、以及對用于對對象數(shù)據(jù)301進行加密的公共密鑰(以下稱作KEM密鑰341)加密后的 加密KEM密鑰313。KEM是Key Encapsulation Mechanism(密鑰封裝機制)的簡稱。
[0084] KEM密鑰部分解密部320使用公開參數(shù)212和r-利用者秘密密鑰221,對加密KEM 密鑰313進行局部解密。以下將局部解密的加密KEM密鑰313稱作"r-KEM密鑰掩碼值321"。
[0085] 隨機數(shù)要素去除委托部330委托IC卡400去除r-KEM密鑰掩碼值321中包含的 隨機數(shù)要素,從IC卡400取得去除隨機數(shù)要素后的r-KEM密鑰掩碼值321 (以下稱作KEM 密鑰掩碼值411)。
[0086] 掩碼去除部340使用KEM密鑰掩碼值411計算KEM密鑰