首页> 中国专利> 数据解密装置、属性基密码系统、随机数要素去除装置、随机化秘密密钥生成装置、数据解密方法和数据解密程序

数据解密装置、属性基密码系统、随机数要素去除装置、随机化秘密密钥生成装置、数据解密方法和数据解密程序

摘要

本发明的目的在于,能够通过分成多个阶段来执行属性基密码方式的解密处理,提高加密数据的安全性。KEM密钥部分解密部(320)使用在以属性基密码方式生成的利用者秘密密钥中包含随机数要素而得到的r-利用者秘密密钥(221),对使用属性条件式加密后的公共密钥即加密KEM密钥(313)进行解密处理,由此,生成包含随机数要素的r-KEM密钥掩码值(321)。随机数要素去除委托部(330)委托IC卡(400)从r-KEM密钥掩码值(321)中去除随机数要素,从IC卡(400)取得KEM密钥掩码值(411)。掩码去除部(340)使用KEM密钥掩码值(411)生成KEM密钥(341)。数据解密部(350)使用KEM密钥(341),从加密数据主体(312)中对对象数据(301)进行解密。

著录项

  • 公开/公告号CN104919511A

    专利类型发明专利

  • 公开/公告日2015-09-16

    原文格式PDF

  • 申请/专利权人 三菱电机株式会社;

    申请/专利号CN201380070251.0

  • 申请日2013-11-01

  • 分类号

  • 代理机构北京三友知识产权代理有限公司;

  • 代理人李辉

  • 地址 日本东京都

  • 入库时间 2023-12-18 11:04:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-17

    授权

    授权

  • 2015-10-14

    实质审查的生效 IPC(主分类):G09C1/00 申请日:20131101

    实质审查的生效

  • 2015-09-16

    公开

    公开

说明书

技术领域

本发明涉及例如使用属性基密码方式的数据解密装置、属性基密码系统、随机 数要素去除装置、随机化秘密密钥生成装置、数据解密方法和数据解密程序。

背景技术

近年来,已提出被称作属性基密码或函数型密码的融合了访问控制功能和密码 功能的新型密码(例如非专利文献1和非专利文献2)。

这种新型密码是通过指定可解密的利用者的属性来对数据进行加密,使得仅具 有指定属性的利用者能够对已被加密的数据进行解密。

在该属性基密码方式中存在密钥生成服务器和对数据进行加密或解密的利用 者。

密钥生成服务器对利用者的属性进行管理,进而根据利用者的期望生成嵌入有 利用者的属性的秘密密钥,将生成的秘密密钥发送给利用者。

例如,密钥生成服务器针对属于A部B课的田中,生成嵌入有3个属性“A部、 B课、田中”的秘密密钥。

对数据进行加密的利用者利用使用AND或OR等逻辑算子的逻辑式来指定可解 密的利用者应该具有的属性的条件。

例如,在属于A部的人是可解密的利用者的情况下,对数据进行加密的利用者 指定条件式“A部”。并且,在属于A部或B部的人是可解密的利用者的情况下,对 数据进行加密的利用者指定条件式“A部OR B部”。

该情况下,属于A部的田中能够对使用任意条件式加密的数据进行解密。这是 因为,田中的属性“A部”符合条件式“A部”和条件式“A部OR B部”双方。

另一方面,属于B部的佐藤能够对使用条件式“A部OR B部”加密的数据 进行解密,但是,无法对使用条件式“A部”加密的数据进行解密。这是因为,佐 藤的属性“B部”符合条件式“A部OR B部”,但是不符合条件式“A部”。

并且,属于C部的铃木无法对使用任意条件式加密的数据进行解密。这是因为, 铃木的属性“C部”不符合条件式“A部”和条件式“A部OR B部”双方。

但是,这种属性基密码具有高功能性,因此,存在解密处理花费时间这样的缺 点。

这是因为,在解密处理时,执行对用于不篡改条件式的秘密方差进行解码的解 码处理以及作为复杂运算的配对运算。

因此,很难使用组入设备或IC卡等处理速度较慢且存储容量较少的终端设备进 行解密处理。

因此,提出了将解密处理授权给其它装置的解密授权方式。

例如,非专利文献3提出了如下方案:通过针对属性基密码的算法(参照非专 利文献2)追加解密授权的结构,代理执行秘密方差的解码或配对运算,在组入设备 或IC卡等终端设备中仅执行解密处理最后进行的随机数去除。由此,在使用计算能 力较低的终端设备对加密数据进行解密的情况下,也能够在短时间内执行解密处理。

但是,非专利文献3提出的方式存在只能在对攻击者设有制约的状况 (Selective-secure)下确保安全性,在未对攻击者设有制约的状况(Adaptive-secure) 下无法确保安全性的课题。

现有技术文献

非专利文献

非专利文献1:T.Okamoto、K.Takashima、“Fully secure functional encryption with  general relations from the decisional linear assumption”、CRYPTO、2010

非专利文献2:B.Waters、“Ciphertext-policy attibute-based encryption:an  expressive,efficient,and provably secure realization”、PKC、2011

非专利文献3:M.Green、S.Hohenberger、B.Waters、“Outsourcing the Decryption  of ABE Ciphertexts”、Proceedings of the 20th USENIX conference on Security、2011

发明内容

发明要解决的课题

本发明的目的在于,例如能够通过分成多个阶段来执行属性基密码方式的解密 处理,提高加密数据的安全性。

用于解决课题的手段

本发明的数据解密装置具有:公共密钥部分解密部,其利用在使用表示属性的 属性值以属性基密码方式生成的利用者秘密密钥中包含随机数要素而得到的随机化 秘密密钥,对使用包含所述属性值的属性条件式加密后的公共密钥即加密公共密钥进 行解密处理,由此,生成包含所述随机数要素的随机化掩码公共密钥;掩码公共密钥 取得部,其取得从由所述公共密钥部分解密部生成的所述随机化掩码公共密钥中去除 所述随机数要素而得到的掩码公共密钥;掩码去除部,其使用由所述掩码公共密钥取 得部取得的所述掩码公共密钥生成公共密钥;以及数据解密部,其使用由所述掩码去 除部生成的所述公共密钥,对使用所述公共密钥加密后的对象数据进行解密。

发明效果

根据本发明,例如能够通过分成多个阶段来执行属性基密码方式的解密处理, 提高加密数据的安全性。

附图说明

图1是实施方式1中的属性基密码系统100的结构图。

图2是实施方式1中的密钥生成服务器200的功能结构图。

图3是实施方式1中的访问终端300的功能结构图。

图4是实施方式1中的IC卡400的功能结构图。

图5是示出实施方式1中的属性基密码系统100的处理概要的流程图。

图6是示出实施方式1中的初始设定处理(S100)的流程图。

图7是示出实施方式1中的利用者属性表291的一例的图。

图8是示出实施方式1中的r-利用者秘密密钥发行处理(S200)的流程图。

图9是示出实施方式1中的r-利用者秘密密钥生成处理(S220)的流程图。

图10是示出实施方式1中的数据加密处理(S300)的流程图。

图11是示出实施方式1中的KEM密钥加密处理(S340)的流程图。

图12是示出实施方式1中的数据解密处理(S400)的流程图。

图13是示出实施方式1中的随机数要素去除处理(S450)的流程图。

图14是示出实施方式1中的访问终端300的硬件资源的一例的图。

图15是实施方式2中的密钥生成服务器200的功能结构图。

图16是实施方式2中的IC卡400的功能结构图。

图17是示出实施方式2中的属性基密码系统100的处理概要的流程图。

图18是示出实施方式2中的利用者秘密密钥发行处理(S200B)的流程图。

图19是示出实施方式2中的利用者秘密密钥生成处理(S220B)的流程图。

图20是示出实施方式2中的数据解密处理(S400B)的流程图。

图21是示出实施方式2中的r-利用者秘密密钥取得处理(S420B)的流程图。

图22是实施方式3中的密钥生成服务器200的功能结构图。

图23是实施方式3中的访问终端300的功能结构图。

图24是示出实施方式3中的属性基密码系统100的处理概要的流程图。

图25是示出实施方式3中的r-利用者秘密密钥生成处理(S200C)的流程图。

图26是示出实施方式3中的数据解密处理(S400C)的流程图。

具体实施方式

实施方式1

对将属性基密码系统的解密处理的一部分授权给IC卡的方式进行说明。

图1是实施方式1中的属性基密码系统100的结构图。

根据图1对实施方式1中的属性基密码系统100的结构进行说明。

属性基密码系统100是以属性基密码方式(参照非专利文献1)对数据进行加 密或解密的系统。

属性基密码方式是如下的密码方式:使用与被赋予用于访问数据的访问权限的 利用者具有的属性有关的条件式对数据进行加密,由此,仅具有满足条件式的属性的 利用者能够对数据进行解密。属性基密码方式也被称作“函数型密码方式”。

属性基密码系统100具有1个密钥生成服务器200(随机化秘密密钥生成装置 的一例)、1个以上的访问终端300(数据解密装置的一例)、每个利用者的IC卡400 (随机数要素去除装置的一例)、1个文件服务器190。IC是Integrated Circuit(集成 电路)的简称。

但是,属性基密码系统100也可以具有其它结构,各结构的数量也可以是1个 或多个。

密钥生成服务器200、访问终端300、文件服务器190与公司内的局域网(以下 称作公司内LAN101)连接。公司内LAN101也可以是经由路由器或专用线等的复杂 通信路径。

但是,这些结构也可以与公司内LAN101以外的网络(例如因特网)连接。

密钥生成服务器200是生成用于对数据进行加密解密的公开参数、使用随机数 进行随机化的利用者秘密密钥、与用于对利用者秘密密钥进行随机化的随机数有关的 值(以下称作掩码值)的装置。装置也称作计算机。

访问终端300是使用由密钥生成服务器200生成的公开参数212对数据进行加 密的装置(例如个人计算机)。并且,访问终端300是与IC卡400一起对加密的数据 进行解密的装置。

IC卡400是存储由密钥生成服务器200生成的利用者秘密密钥和掩码值的装 置。并且,IC卡400是与访问终端300一起对加密的数据进行解密的装置。

文件服务器190是存储加密的数据的装置。例如,文件服务器190是搭载有 Windows OS(Windows为注册商标)的市售的文件服务器。

图2是实施方式1中的密钥生成服务器200的功能结构图。

根据图2对实施方式1中的密钥生成服务器200的功能结构进行说明。

密钥生成服务器200具有主秘密密钥生成部210、r-利用者秘密密钥生成部220、 r-利用者秘密密钥写入部230、服务器通信部280、服务器存储部290。

主秘密密钥生成部210使用公开参数212中设定的密钥长度201和利用者具有 的属性的种类数量(以下称作属性数量202),生成主秘密密钥211和公开参数212。

r-利用者秘密密钥生成部220使用主秘密密钥211、公开参数212和包含表示利 用者具有的属性的属性值的信息(以下称作利用者属性信息292),生成r-利用者秘 密密钥221和掩码值222。r-利用者秘密密钥221是使用随机数进行随机化的利用者 秘密密钥,掩码值222是与用于对利用者秘密密钥进行随机化的随机数有关的值。

r-利用者秘密密钥写入部230将r-利用者秘密密钥221和掩码值222写入IC卡 400中。

服务器通信部280对密钥生成服务器200中使用的数据进行通信。

例如,服务器通信部280向访问终端300发送公开参数212。

服务器存储部290存储密钥生成服务器200中使用的数据。

例如,服务器存储部290存储主秘密密钥211、公开参数212和利用者属性表 291。

利用者属性表291是按照不同利用者而包含利用者属性信息292的表。

图3是实施方式1中的访问终端300的功能结构图。

根据图3对实施方式1中的访问终端300的功能结构进行说明。

访问终端300(数据解密装置的一例)具有数据加密部310、KEM密钥部分解 密部320(公共密钥部分解密部的一例)、随机数要素去除委托部330(掩码公共密钥 取得部的一例)、掩码去除部340、数据解密部350、终端通信部380、终端存储部390。

数据加密部310使用与被赋予用于访问数据的访问权限的利用者具有的属性有 关的条件式(以下称作属性条件式302)和公开参数212,对作为加密对象的对象数 据301进行加密,生成加密数据311。加密数据311包含加密后的对象数据301即加 密数据主体312、以及对用于对对象数据301进行加密的公共密钥(以下称作KEM 密钥341)加密后的加密KEM密钥313。KEM是Key Encapsulation Mechanism(密 钥封装机制)的简称。

KEM密钥部分解密部320使用公开参数212和r-利用者秘密密钥221,对加密 KEM密钥313进行局部解密。以下将局部解密的加密KEM密钥313称作“r-KEM 密钥掩码值321”。

随机数要素去除委托部330委托IC卡400去除r-KEM密钥掩码值321中包含 的随机数要素,从IC卡400取得去除随机数要素后的r-KEM密钥掩码值321(以下 称作KEM密钥掩码值411)。

掩码去除部340使用KEM密钥掩码值411计算KEM密钥341。

数据解密部350使用KEM密钥341,将加密数据主体312解密成对象数据301。

终端通信部380对访问终端300中使用的数据进行通信。

例如,终端通信部380从密钥生成服务器200接收公开参数212,向文件服务 器190发送加密数据311。并且,终端通信部380从文件服务器190接收加密数据311。

终端存储部390存储访问终端300中使用的数据。

例如,终端存储部390存储加密数据311和公开参数212。

图4是实施方式1中的IC卡400的功能结构图。

根据图4对实施方式1中的IC卡400的功能结构进行说明。

IC卡400具有随机数要素去除部410、卡通信部480、卡存储部490。

随机数要素去除部410使用掩码值222从r-KEM密钥掩码值321中去除随机数 要素,由此计算KEM密钥掩码值411。

卡通信部480对IC卡400中使用的数据进行通信。

例如,卡通信部480从密钥生成服务器200接收r-利用者秘密密钥221和掩码 值222。并且,卡通信部480从访问终端300接收r-KEM密钥掩码值321,向访问终 端300发送KEM密钥掩码值411和r-利用者秘密密钥221。

卡存储部490存储IC卡400中使用的数据。

例如,卡存储部490存储r-利用者秘密密钥221和掩码值222。

图5是示出实施方式1中的属性基密码系统100的处理概要的流程图。

根据图5对实施方式1中的属性基密码系统100的处理概要进行说明。

在S100中,密钥生成服务器200生成公开参数212。

初始设定处理(S100)的详细情况另行说明。

在S100之后,处理进入S200。

在S200中,密钥生成服务器200将r-利用者秘密密钥221和掩码值222写入IC 卡400中。

利用者秘密密钥发行处理(S200)的详细情况另行说明。

在S200之后,处理进入S300。

在S300中,访问终端300使用公开参数212对对象数据301进行加密。

数据加密处理(S300)的详细情况另行说明。

在S300之后,处理进入S400。

在S400中,访问终端300和IC卡400对加密数据311进行解密。

数据解密处理(S400)的详细情况另行说明。

在S400之后,属性基密码系统100的处理结束。

接着,对属性基密码系统100的各处理(图5的S100~S400)的详细情况进行 说明。

图6是示出实施方式1中的初始设定处理(S100)的流程图。

根据图6对实施方式1中的初始设定处理(S100)进行说明。

在S110中,管理者将与加密强度有关的参数即密钥长度201和表示利用者具有 的属性的种类数量的属性数量202输入到密钥生成服务器200。

例如,管理者输入128比特或256比特等比特数作为密钥长度201。

例如,管理者输入利用者属性表291(参照图7)中包含的属性的种类数量“5” 作为属性数量202。

然后,主秘密密钥生成部210取得输入到密钥生成服务器200的密钥长度201 和属性数量202。

在S110之后,处理进入S120。

图7是示出实施方式1中的利用者属性表291的一例的图。

根据图7对实施方式1中的利用者属性表291进行说明。

利用者属性表291是按照不同利用者而包含表示利用者具有的属性的属性值的 数据。

例如,利用者属性表291将利用者ID、店名、部名、课名、职务和姓名对应起 来。

利用者ID表示识别利用者的标识符。

店名表示利用者工作的店的名称。

部名表示利用者所属的部的名称。

课名表示利用者所属的课的名称。

职务表示利用者的职务的名称。

姓名表示利用者的姓名。

这些项目“店名、部名、课名、职务、姓名”是利用者具有的属性的种类的一 例,这些项目中设定的值是属性值的一例。

例如,由利用者ID“User0001”识别的利用者的属性值为“本公司、A部、B 课、课长、田中”。

管理者生成图7所示的利用者属性表291,将生成的利用者属性表291预先存 储在密钥生成服务器200中。

但是,也可以在初始设定处理(S100)的前后或处理中生成和存储利用者属性 表291。

并且,利用者属性表291中设定的属性值可以是利用者当前的属性值、利用者 过去的属性值、这两个属性值中的任意一方。

返回图6,继续进行初始设定处理(S100)的说明。

在S120中,主秘密密钥生成部210使用密钥长度201和属性数量202执行属性 基密码方式的主秘密密钥生成算法(也称作安装算法),由此,生成公开参数212和 主秘密密钥211。

并且,主秘密密钥生成部210将公开参数212和主秘密密钥211存储在服务器 存储部290中。

下面,示出用于生成公开参数pk和主秘密密钥sk的式(1-1)~式(1-8)。

公开参数pk可以用式(1-7)表示,主秘密密钥sk可以用式(1-8)表示。

以下式子中使用的符号的意思如下所述。其中,“^”意味着上标,“_”意味着 下标(以下同样)。例如,“1^λ”意味着“1λ”,“n_1”意味着“n1”。

“pk”是公开参数212。

“sk”是主秘密密钥211。

“1^λ”是密钥长度201。

“d”是属性数量202。

“param”是椭圆曲线的参数。

“g_ob”是计算B_t和B_t^*的对的集合的算法。

“R←”(在箭头上标注有文字R的符号)意味着随机取得值。

其它符号的意思参照非专利文献1的7.1章。

【数学式1】

n:=(d;n1,...,nd)         式(1-1)

(paramn,{Bt,Bt*}t=0,...,d)Rgob(1λ,n)  式(1-2)

B^0:=(b0,1,b0,3,b0,5)       式(1-3)

B^t:=(bt,1,...,bt,nt,bt,3nt+1)for>t=1,...,d      式(1-4)

B^0*:=(b0,1*,b0,3*,b0,4*)         式(1-5)

B^t*:=(bt,1*,...,bt,nt*,bt,2nt+1*,...,bt,3nt*)for>t=1,...,d 式(1-6)

pk:=(1λ,paramn,{B^t}t=0,...,d)        式(1-7)

sk:={B^t*}t=0,...,d         式(1-8)

另外,上述式(1-1)~式(1-8)是与非专利文献1的7.1章所示的式子相同的 式子。

在S120之后,处理进入S130。

在S130中,服务器通信部280向各访问终端300发送公开参数212。

然后,各访问终端300接收公开参数212,将接收到的公开参数212存储在终 端存储部390中。

但是,各访问终端300也可以通过从服务器通信部280接收公开参数212的方 法以外的方法来取得公开参数212。

并且,各访问终端300也可以在S130以外的时刻取得公开参数212。

在S130之后,初始设定处理(S100)结束。

以上述式(1-1)~(1-8)中的n_1~n_d的各个值为“2”的情况为例进行以 后的说明。

图8是示出实施方式1中的r-利用者秘密密钥发行处理(S200)的流程图。

根据图8对实施方式1中的r-利用者秘密密钥发行处理(S200)进行说明。

在S210中,管理者将识别利用者的利用者ID输入到密钥生成服务器200。例 如,管理者输入利用者ID“User0001”。

r-利用者秘密密钥生成部220取得输入到密钥生成服务器200的利用者ID。例 如,r-利用者秘密密钥生成部220取得利用者ID“User0001”。

r-利用者秘密密钥生成部220从利用者属性表291(参照图7)取得与取得的利 用者ID对应的属性值。例如,r-利用者秘密密钥生成部220取得与利用者ID “User0001”对应的属性值“本公司”“A部”“B课”“课长”“田中”。

这里,将表示从利用者属性表291取得的属性值的信息称作利用者属性信息 292。

在S210之后,处理进入S220。

在S220中,r-利用者秘密密钥生成部220使用利用者属性信息292生成r-利用 者秘密密钥221和掩码值222。

r-利用者秘密密钥生成处理(S220)另行说明。

在S220之后,处理进入S230。

在S230中,管理者将卡读写器(以下记作卡R/W)与访问终端300连接,将 由在S210中输入的利用者ID识别出的利用者用的IC卡400与卡R/W连接。

r-利用者秘密密钥写入部230经由卡R/W在IC卡400中写入r-利用者秘密密钥 221和掩码值222。

管理者向由在S210中输入的利用者ID识别出的利用者发布IC卡400。

在S230之后,利用者秘密密钥发行处理(S200)结束。

另外,在向利用者发行IC卡400时或利用者的属性变化时执行利用者秘密密钥 发行处理(S200)。

图9是示出实施方式1中的r-利用者秘密密钥生成处理(S220)的流程图。

根据图9对实施方式1中的r-利用者秘密密钥生成处理(S220)进行说明。

在S221中,r-利用者秘密密钥生成部220使用利用者属性信息292生成属性集 合Γ。

以下,示出表示属性集合Γ的式(2)。

【数学式2】

Γ:={(t,xt:=(1,xt)),1td}      式(2)

例如,在利用者属性信息292包含5个属性值“本公司、A部、B课、课长、 田中”的情况下,属性集合Γ_田中可以用以下式(3)表示。

【数学式3】

                                        式(3)

在S221之后,处理进入S222。

在S222中,r-利用者秘密密钥生成部220使用属性集合Γ生成利用者秘密密钥 sk_Γ。

下面,示出用于生成利用者秘密密钥sk_Γ的式(4-1)~式(4-5)。利用者秘 密密钥sk_Γ可以用式(4-5)表示。

以下式子中使用的符号的意思如下所述。

“F_q”是表示0~q-1的整数的集合的有限体。

“q”是所述式(1-1)中的“param”中包含的群阶数。

“U←”(在箭头上标注有文字U的符号)意味着随机取得值。其中,取得各值 的概率相同。

其它符号的意思参照非专利文献1的7.1章。

【数学式4】

δ,φ0UFq         式(4-1)

φtuFqnt          式(4-2)

  式(4-3)

    式(4-4)

skΓ:=(Γ,k0*,{kt*})          式(4-5)

另外,上述式(4-1)~式(4-5)是与非专利文献1的7.1章所示的式子相同的 式子。

例如,在使用所述式(3)所示的属性集合Γ_田中的情况下,能够通过计算以 下式(5-1)~式(5-5)来生成利用者秘密密钥sk_田中。

【数学式5】

δ,φ0UFq          式(5-1)

φtUFq2(t=1,...,5)         式(5-2)

k0*:=(δ,0,1,φ0,0)B^0*         式(5-3)

 式(5-4)

         式(5-5)

在S222之后,处理进入S223。

在S223中,r-利用者秘密密钥生成部220生成随机数r。

在S223之后,处理进入S224。

在S224中,r-利用者秘密密钥生成部220使用随机数r生成掩码值mask。掩码 值mask是随机数r的逆元。

在S224之后,处理进入S225。

以下,示出用于生成随机数r的式(6-1)和用于生成掩码值mask的式(6-2)。

【数学式6】

rUFq             式(6-1)

mask=r-1        式(6-2)

在S225中,r-利用者秘密密钥生成部220使用随机数r对利用者秘密密钥sk_Γ 进行随机化,由此生成r-利用者秘密密钥sk_Γ-。

“sk_Γ-”末尾的“-”意味着标注于“sk”的上划线。并且,上划线意味着使用 随机数r的随机化(随机数r的乘法)。

以下,示出用于生成r-利用者秘密密钥sk_Γ-的式(7-1)~式(7-3)。r-利用者 秘密密钥sk_Γ-可以用式(7-3)表示。

【数学式7】

k0*:=r·k0*=r·(δ,0,1,φ0,0)B^0*       式(7-1)

kt*:=r·kt*=r·(δxt,0nt,φt,0)B^0*          式(7-2)

skΓ:=(Γ,k0*,{kt*})         式(7-3)

例如,在对所述式(3)所示的利用者秘密密钥sk_田中进行随机化的情况下, 能够通过计算以下式(8-1)~式(8-3)来生成随机化的r-利用者秘密密钥sk_田中-。 “sk_田中-”末尾的“-”意味着标注于“sk”的上划线。

【数学式8】

k0*:=r·(δ,0,1,φ0,0)B^0*        式(8-1)

 式(8-2)

       式(8-3)

在S225之后,r-利用者秘密密钥生成处理(S220)结束。

图10是示出实施方式1中的数据加密处理(S300)的流程图。

根据图10对实施方式1中的数据加密处理(S300)进行说明。

在S310中,提供对象数据301的提供者将要提供的对象数据301和包含属性值 的属性条件式302输入到访问终端300。例如,在针对属于A部或B部的利用者提 供对象数据301的情况下,提供者输入逻辑式“A部OR B部”作为属性条件式302。

然后,数据加密部310取得输入到访问终端300的对象数据301和访问终端300。

在S310之后,处理进入S320。

在S320中,数据加密部310根据公开参数212中包含的密钥长度201生成KEM 密钥341。例如,在密钥长度201为256比特的情况下,数据加密部310生成256比 特的随机比特列作为KEM密钥341。

以下,示出用于生成KEM密钥K_KEM的式(9-1)~式(9-3)。KEM密钥 K_KEM可以用式(9-3)表示。符号的意思如下所述。

“g_T”是公开参数pk(参照所述式(1-1))中包含的椭圆曲线参数param的 基底。

“key_L”是密钥长度201的值(例如256比特)。

“KDF(m,key_L)”是使用输入值m(随机数种类)计算比特长key_L的密钥 (随机数)的密钥导出函数(例如由ISO-18033定义的KDF1)。

【数学式9】

rUFq       式(9-1)

m=gTr          式(9-2)

KKEM=KDF(m,keyL)      式(9-3)

在S320之后,处理进入S330。

在S330中,数据加密部310使用KEM密钥341作为公共密钥,以公共密钥密 码方式(例如AES)对对象数据301进行加密,由此生成加密数据主体312。

在S330之后,处理进入S340。

在S340中,数据加密部310使用属性条件式302对KEM密钥341进行加密, 由此生成加密KEM密钥313。

图11是示出实施方式1中的KEM密钥加密处理(S340)的流程图。

根据图11对实施方式1中的KEM密钥加密处理(S340)进行说明。

在S341中,数据加密部310使用属性条件式302生成访问构造S。

以下,示出用于生成访问构造S的式(10-1)~式(10-2)。访问构造S可以用 式(10-2)表示。符号的意思如下所述。

“S”是表示属性条件式302的访问构造。

“M”是利用例如一般公知的Span Program计算出的值。

“ρ”是通过映射而得到的值。

【数学式10】

      式(10-1)

S:(M,ρ)         式(10-2)

例如,在属性条件式302为“A部OR B部”的情况下,访问构造S=(M,ρ) 的“M”可以用式(11-1)表示,“ρ”可以用式(11-2)表示。

【数学式11】

M=11        式(11-1)

 式(11-2)

在S341之后,处理进入S342。

在S342中,数据加密部310使用访问构造S对KEM密钥341进行加密,由此 生成加密KEM密钥313。

以下,示出用于生成加密KEM密钥ct_S的式(12-1)~式(12-8)。加密KEM 密钥ct_S可以用式(12-8)表示。

【数学式12】

fRFqr      式(12-1)

ST:=(S1,...,Sl)T:=M·fT        式(12-2)

S0:=1·fT      式(12-3)

      式(12-4)

c0:=(-s0,0,ζ,0,η0)-B^0       式(12-5)

 式(12-6)

cd+1:=gTζ·m      式(12-7)

ctS:=(S,c0,c1,...,cl,cd+1)      式(12-8)

另外,上述式(12-1)~式(12-8)是与非专利文献1的7.1章所示的式子相同 的式子。

返回图10,继续进行数据加密处理(S300)的说明。

在S340之后,处理进入S350。

在S350中,数据加密部310生成包含加密数据主体312和加密KEM密钥313 的加密数据311。

然后,终端通信部380向文件服务器190发送加密数据311,文件服务器190 存储加密数据311。

在S350之后,数据加密处理(S300)结束。

图12是示出实施方式1中的数据解密处理(S400)的流程图。

根据图12对实施方式1中的数据解密处理(S400)进行说明。

在S410中,利用者将加密数据311的文件名输入到访问终端300。

然后,终端通信部380从文件服务器190取得输入到访问终端300的文件名的 加密数据311。

在S410之后,处理进入S420。

在S420中,利用者将卡R/W与访问终端300连接,将IC卡400与卡R/W连 接。

KEM密钥部分解密部320经由卡R/W从IC卡400取得r-利用者秘密密钥221。

在S420之后,处理进入S430。

在S430中,KEM密钥部分解密部320从加密数据311取得加密KEM密钥313, 使用r-利用者秘密密钥221对加密KEM密钥313进行解密处理。使用r-利用者秘密 密钥221解密后的加密KEM密钥313是r-KEM密钥掩码值321。

但是,在利用者的属性不满足属性条件式302的情况下,KEM密钥部分解密部 320不对加密KEM密钥313进行解密。

另外,KEM密钥部分解密部320对r-利用者秘密密钥221中包含的属性集合Γ 和加密KEM密钥313中包含的访问构造S进行比较,根据比较结果来判定利用者的 属性是否满足属性条件式302。判定利用者的属性是否满足属性条件式302的判定方 法与现有的属性基密码方式(例如非专利文献1公开的方式)相同。

以下,示出用于使用r-利用者秘密密钥sk_Γ-(参照所述式(7-3))对加密KEM 密钥ct_S(参照所述式(12-8))进行解密处理的式(13-1)~式(13-3)。

通过解密而得到的r-KEM密钥掩码值K-可以用式(13-3)表示。“K-”是在K 上标注有上划线的符号。

另外,符号的意思如下所述。

“M_i”是访问构造S中包含的M的第i行。

“e”意味着配对映射。

【数学式13】

1=ΣiIαiMi,        式(13-1)

                               式(13-2)

                                 式(13-3)

另外,上述式(13-1)~式(13-3)是对非专利文献1的7.1章所示的式子的一 部分进行变更后的式子。

在S430之后,处理进入S440。

在S440中,随机数要素去除委托部330经由卡R/W向IC卡400发送r-KEM 密钥掩码值321,由此委托去除r-KEM密钥掩码值321中包含的随机数要素。去除 随机数要素后的r-KEM密钥掩码值321是KEM密钥掩码值411。

在S440之后,处理进入S450。

在S450中,IC卡400从访问终端300接收r-KEM密钥掩码值321,从r-KEM 密钥掩码值321中去除随机数要素,向访问终端300发送KEM密钥掩码值411。

图13是示出实施方式1中的随机数要素去除处理(S450)的流程图。

根据图13对实施方式1中的随机数要素去除处理(S450)进行说明。

在S451中,卡通信部480经由卡R/W从访问终端300接收r-KEM密钥掩码值 321。

在S451之后,处理进入S452。

在S452中,随机数要素去除部410从卡存储部490取得掩码值222(随机数要 素的逆元),使用掩码值222从r-KEM密钥掩码值321中去除与随机数r有关的随机 数要素。由此,生成KEM密钥掩码值411。

KEM密钥掩码值K可以用以下式(14)表示。符号的意思如下所述。

“K-^mask”意味着使用掩码值mask从r-KEM密钥掩码值K-中去除随机数要 素。

【数学式14】

K=Kmask             式(14)

在S452之后,处理进入S453。

在S453中,卡通信部480经由卡R/W向访问终端300发送KEM密钥掩码值 411。

在S453之后,随机数要素去除处理(S450)结束。

返回图12,继续进行数据解密处理(S400)的说明。

在随机数要素去除处理(S450)之后,处理进入S460。

在S460中,随机数要素去除委托部330经由卡R/W从IC卡400接收KEM密 钥掩码值411。

在S460之后,处理进入S470。

在S470中,掩码去除部340使用KEM密钥掩码值411和加密KEM密钥313 生成KEM密钥341。

以下,示出用于生成KEM密钥K_KEM的式(15-1)~式(15-2)。KEM密钥 K_KEM可以用式(15-2)表示。

另外,c_{d+1}是加密KEM密钥ct_S(参照上述式(12-8))中包含的要素。

【数学式15】

m=cd+1/K         式(15-1)

KKEM=KDF(m,256)      式(15-2)

在S470之后,处理进入S480。

在S480中,数据解密部350从加密数据311取得加密数据主体312,使用KEM 密钥341作为公共密钥以公共密钥密码方式将加密数据主体312解密成对象数据 301。

然后,数据解密部350输出对象数据301。例如,数据解密部350在显示器显 示对象数据301。

通过S480,数据解密处理(S400)结束。

图14是示出实施方式1中的访问终端300的硬件资源的一例的图。

在图14中,访问终端300(计算机的一例)具有CPU901(Central Processing Unit)。 CPU901经由总线902而与ROM903、RAM904、通信板905(通信装置)、显示器911 (显示装置)、键盘912、鼠标913、驱动器914、磁盘装置920等硬件设备连接,对 这些硬件设备进行控制。驱动器914是对FD(Flexible Disk)、CD(Compact Disc)、 DVD(Digital Versatile Disc)等存储介质进行读写的装置。

ROM903、RAM904、磁盘装置920和驱动器914是存储装置的一例。键盘912、 鼠标913和通信板905是输入装置的一例。显示器911和通信板905是输出装置的一 例。

通信板905以有线或无线方式与LAN(Local Area Network)、因特网、电话线 路等通信网连接。

在磁盘装置920中存储有OS921(操作系统)、程序组922、文件组923。

程序组922包含执行在实施方式中作为“~部”说明的功能的程序。程序(例 如数据解密程序)由CPU901读出并执行。即,程序使计算机作为“~部”发挥功能, 并且,使计算机执行“~部”的顺序和方法。

文件组923包含实施方式中说明的“~部”中使用的各种数据(输入、输出、 判定结果、计算结果、处理结果等)。

在实施方式中,结构图和流程图中包含的箭头主要表示数据和信号的输入输出。

使用CPU901、存储装置、输入装置、输出装置等硬件执行根据流程图等说明 的实施方式的处理。

在实施方式中作为“~部”说明的部分可以是“~电路”、“~装置”、“~设备”, 并且也可以是“~步骤”、“~顺序”、“~处理”。即,可以通过固件、软件、硬件或 它们的组合中的任意一方来安装作为“~部”说明的部分。

另外,密钥生成服务器200具有与访问终端300相同的硬件,IC卡400具有作 为与CPU901、存储装置和通信装置相当的硬件的IC芯片。

在实施方式1中,特别地,特征在于与图9的S225中说明的r-利用者秘密密钥 sk_Γ-有关的式(7-1)~式(7-3)。

并且,特征在于与图12的S430中说明的r-KEM密钥掩码值K-有关的式 (13-1)~式(13-3)、与图13的S452中说明的KEM密钥掩码值K有关的式(14)、 与图12的S470中说明的KEM密钥K_KEM有关的式(15-1)(15-2)。

在实施方式1中,也可以仅对利用者秘密密钥sk_Γ的一部分要素进行随机化。 仅对利用者秘密密钥sk_Γ的一部分要素进行随机化的方法在实施方式2中说明。

实施方式1可以如下应用。

(1)在属性基密码系统100中,也可以不向利用者发布存储有随机化利用者秘 密密钥和掩码值的IC卡。

例如,也可以向利用者发布存储有随机化利用者秘密密钥和掩码值的SD卡(注 册商标、以下同样)(SD:Secure Digital)或其它存储卡。并且,随机化利用者秘密 密钥和掩码值也可以经由网络发布给访问终端,在访问终端的硬盘中进行保管。

(2)并且,也可以分别发布随机化利用者秘密密钥和掩码值。

例如,也可以是掩码值保管在IC卡中进行发布,随机化利用者秘密密钥经由网 络发布给访问终端。

而且,也可以在经由网络发布随机化利用者秘密密钥并进行加密KEM密钥的 部分解密后,同样经由网络向访问终端发布掩码值。该情况下,由于随机化利用者秘 密密钥和掩码值不会同时存在于访问终端中,因此能够保证安全性。

(3)并且,也可以在IC卡内生成随机化利用者秘密密钥和掩码值。

该情况下,密钥生成服务器将利用者秘密密钥写入IC卡中,IC卡生成掩码值, 进行利用者秘密密钥的随机化(参照实施方式2)。

(4)也可以使用在S342中生成的g_T^ζ作为KEM密钥的种类m来生成KEM 密钥。该情况下,在生成种类m=g_T^ζ后,生成KEM密钥。并且,解密处理时的式 (15-1)成为“m=K”。

(5)也可以对属于多个部或课的利用者分配多个利用者秘密密钥。

(6)也可以在与密钥生成服务器不同的装置中管理利用者属性信息。

例如,密钥生成服务器也可以利用由Windows(注册商标)的Active Directory 等管理的人事信息作为利用者属性信息。

(7)公开参数也可以存储在IC卡中。并且,访问终端也可以在每当利用公开 参数时,经由网络从密钥生成服务器取得公开参数。

(8)如果能够以属性基密码方式直接对数据进行加密,则也可以不以公共密钥 密码方式对数据进行加密。

(9)在本实施方式中,构成为有意使IC卡的运算成为最小限度。但是,攻击 者可能进行如下攻击:代替r-KEM密钥掩码值K-而选择随意数值来执行随机数要素 去除处理(S450),推测秘密保持在IC卡中的掩码值。

为了保护掩码值不会受到该攻击,也可以使IC卡成为如下结构。

(9-1)IC卡(的随机数要素去除部410)也可以在从r-KEM密钥掩码值K-中 去除随机数要素并计算KEM密钥掩码值K时,确认给定的r-KEM密钥掩码值K-是 否是具有规定阶数q的值,即r-KEM密钥掩码值K-是否是正值。阶数q是式(4-1) 等中使用的值(以下同样)。

在r-KEM密钥掩码值K-是正值的情况下,IC卡计算KEM密钥掩码值,在r-KEM 密钥掩码值K-不是正值的情况下,IC卡不计算KEM密钥掩码值。

这可以对r-KEM密钥掩码值K-进行q乘,通过确认其结果是否成为单位元1 来实现。

如果对r-KEM密钥掩码值K-进行q乘而得到的值为单位元1,则r-KEM密钥 掩码值K-是正值,如果对r-KEM密钥掩码值K-进行q乘而得到的值不是单位元1, 则r-KEM密钥掩码值K-不是正值。

(9-2)如果进行限定确认即可,则也可以事前在IC卡内存储设定有拒绝的值 的拒绝列表,对拒绝列表中设定的值和r-KEM密钥掩码值K-进行比较。

与拒绝列表中设定的值不同的r-KEM密钥掩码值K-是正值,与拒绝列表中设 定的值相同的r-KEM密钥掩码值K-不是正值。

(9-3)并且,由于进行所述(9-1)或(9-2)的确认时花费处理时间,因此, 简便地将为了IC卡从r-KEM密钥掩码值K-中去除随机数要素而利用的参数限定成 不容易受到所述攻击的参数即可。

例如,一般情况下,有限体F_{p^k}的乘法群被用作用于进行属性基密码方式 的配对映射的参数。有限体F_{p^k}是对椭圆曲线F_p的值进行配对映射而得到的值 的集合,有限体F_{p^k}的乘法群是从0到阶数{p^k}-1的整数的集合。“k”被称作 嵌入次数。

设该有限体F_{p^k}的乘法群的阶数p^k-1被因数分解成q×2×h。h有时为质数, 有时为合成数。此时,使用对合成数h进行质因数分解而得到的多个质因数p_h中的 容易解决离散对数问题的较小质因数(小于规定质因数阈值的质因数)之积小于阶数 q的参数,作为IC卡的参数即可。这是因为,当使用合成数h的较小质因数p_h之 积大于阶数q的参数时,离散对数问题将被解决。

例如,设合成数h被质因数分解成h=3×5×7×P。3、5、7是小于质因数阈值的 质因数,P是大于质因数阈值的质因数。在较小质因数之积“105(=3×5×7)”小于阶 数q的情况下,阶数p^k-1被分解成q×2×h的有限体F_{p^k}的乘法群适于作为IC 卡的参数。

但是,理想情况下,数h本身是质数即可。

通过实施方式1,例如能够发挥以下效果。

(1)根据非专利文献1记载的冈本-高岛加密方式的算法,在攻击者不存在制 约的状况(Adaptive-secure)下,能够实现可授权解密的属性基密码系统。但是,实 施方式1也可以应用于冈本、高岛等提出的其它加密方式。

(2)属性基密码系统100利用随机生成的掩码值对利用者秘密密钥进行随机 化,并将其转换成随机化利用者秘密密钥(r-利用者秘密密钥)。并且,属性基密码 系统100在访问终端侧实施使用随机化利用者秘密密钥的部分解密运算。而且,属性 基密码系统100在IC卡中仅实施使用掩码值的随机化的去除运算。

使用随机化利用者秘密密钥的运算包含在属性基密码方式的解密处理中进行的 配对运算等,是占据解密处理的大部分的运算。另一方面,在IC卡内实施的掩码值 的去除运算是幂乘运算仅一次、处理量较少的运算。

因此,能够使存储量较少的IC卡中存储的程序紧凑化,并且,能够减少在计算 资源有限的IC卡中进行的运算的量。

(3)属性基密码系统100向访问终端公开对利用者秘密密钥进行随机化而成的 随机化利用者秘密密钥。

但是,即使存在随机化利用者秘密密钥,如果IC卡中不存在另行保管的掩码值, 则无法对加密数据进行解密。

因此,即使向访问终端公开随机化利用者秘密密钥,也不存在数据泄露的危险 性。并且,不用担心利用者秘密密钥从随机化利用者秘密密钥泄露。

(4)属性基密码系统100使用掩码值将利用者秘密密钥转换成随机化利用者秘 密密钥。

但是,真正必须保护的仅是掩码值。因此,在使用存储量仅有数十千字节左右 的性能较差的IC卡的情况下,也能够安全地保护属性基密码方式的利用者秘密密钥。

(5)属性基密码系统100在密钥生成服务器中生成掩码值,将利用者秘密密钥 转换成随机化利用者秘密密钥。

因此,不需要在存储器或CPU资源较少的IC卡中实施解密处理中的中心处理, 在使用性能较差的IC卡的情况下,也能够安全地保护属性基密码方式的利用者秘密 密钥。

在实施方式中,例如说明了以下的数据解密装置(100)。括弧内记载实施方式 1中说明的结构的符号。

所述数据解密装置具有公共密钥部分解密部(320)、掩码公共密钥取得部(330)、 掩码去除部(340)、数据解密部(350)。

所述公共密钥部分解密部利用在使用表示属性的属性值以属性基密码方式生成 的利用者秘密密钥中包含随机数要素而得到的随机化秘密密钥(221),对使用包含所 述属性值的属性条件式加密后的公共密钥(341)即加密公共密钥(313)进行解密处 理,由此,生成包含所述随机数要素的随机化掩码公共密钥(321)。

所述掩码公共密钥取得部取得从由所述公共密钥部分解密部生成的所述随机化 掩码公共密钥中去除所述随机数要素而得到的掩码公共密钥(411)。

所述掩码去除部使用由所述掩码公共密钥取得部取得的所述掩码公共密钥生成 所述公共密钥。

所述数据解密部使用由所述掩码去除部生成的所述公共密钥,对使用所述公共 密钥加密后的对象数据(301)进行解密。

所述掩码公共密钥取得部向生成所述掩码公共密钥的随机数要素去除装置 (400)发送所述随机化掩码公共密钥,从所述随机数要素去除装置接收所述掩码公 共密钥。

所述随机数要素去除装置利用使用随机数生成的掩码值(222),从所述随机化 掩码公共密钥中去除所述随机数要素,由此生成所述掩码公共密钥,其中,所述随机 数用于使所述利用者秘密密钥包含所述随机数要素。

所述掩码去除部使用所述掩码公共密钥生成输入值(m),使用所生成的输入值 运算密钥导出函数(KDF),由此生成所述公共密钥。

在实施方式中,例如说明了以下的随机数要素去除装置(400)。

所述随机数要素去除装置具有公共密钥接收部(480)、随机数要素去除部(410)、 公共密钥发送部(480)。

所述公共密钥接收部接收包含随机数要素的公共密钥(341)即随机化掩码公共 密钥(321)。

所述随机数要素去除部利用使用随机数生成的掩码值(222),生成从所述随机 化掩码公共密钥中去除所述随机数要素而得到的掩码公共密钥(411)。

所述公共密钥发送部发送由所述随机数要素去除部生成的所述掩码公共密钥。

在实施方式中,例如说明了以下的随机化秘密密钥生成装置(200)。所述随机 化秘密密钥生成装置具有随机化秘密密钥生成部(220)。

所述随机化秘密密钥生成部使用表示属性的属性值以属性基密码方式生成利用 者秘密密钥,生成使用随机数而使生成的所述利用者秘密密钥包含随机数要素的随机 化秘密密钥(221),使用所述随机数生成用于从所述随机化秘密密钥中去除所述随机 数要素的掩码值(222)。

实施方式2

对密钥生成服务器200代替r-利用者秘密密钥221而将利用者秘密密钥写入IC 卡400中,IC卡400对利用者秘密密钥进行随机化而生成r-利用者秘密密钥221的 方式进行说明。

下面,主要说明与实施方式1不同的事项。省略说明的事项与实施方式1相同。

图15是实施方式2中的密钥生成服务器200的功能结构图。

根据图15对实施方式2中的密钥生成服务器200的功能结构进行说明。

密钥生成服务器200代替实施方式1(参照图2)中说明的r-利用者秘密密钥生 成部220和r-利用者秘密密钥写入部230而具有利用者秘密密钥生成部220B和利用 者秘密密钥写入部230B。

利用者秘密密钥生成部220B使用主秘密密钥211、公开参数212和利用者属性 信息292生成利用者秘密密钥223。

利用者秘密密钥写入部230B将利用者秘密密钥223写入IC卡400中。

图16是实施方式2中的IC卡400的功能结构图。

根据图16对实施方式2中的IC卡400的功能结构进行说明。

IC卡400除了实施方式1(参照图4)中说明的结构以外还具有r-利用者秘密 密钥生成部420。

r-利用者秘密密钥生成部420生成掩码值222,使用所生成的掩码值222对利用 者秘密密钥223进行随机化,由此生成r-利用者秘密密钥221。

访问终端300的功能结构与实施方式1(参照图3)相同。

接着,对属性基密码系统100的处理进行说明。

图17是示出实施方式2中的属性基密码系统100的处理概要的流程图。

根据图17对实施方式2中的属性基密码系统100的处理概要进行说明。

属性基密码系统100代替实施方式1(参照图5)中说明的S200和S400而执 行S200B和S400B。

在S100中,密钥生成服务器200生成公开参数212(与实施方式1相同)。

在S200B中,密钥生成服务器200代替r-利用者秘密密钥221和掩码值222而 将利用者秘密密钥223写入IC卡400中。

在S300中,访问终端300使用公开参数212对对象数据301进行加密(与实施 方式1相同)。

在S400B中,访问终端300和IC卡400对加密数据311进行解密。

下面,对属性基密码系统100的各处理的详细情况进行说明。

初始设定处理(S100)与实施方式1(参照图6)相同。

图18是示出实施方式2中的利用者秘密密钥发行处理(S200B)的流程图。

根据图18对实施方式2中的利用者秘密密钥发行处理(S200B)进行说明。

在S210B中,利用者秘密密钥生成部220B从利用者属性表291取得包含属性 值的利用者属性信息292。

S210B与实施方式1(参照图8)中说明的S210相同。

在S210B之后,处理进入S220B。

在S220B中,利用者秘密密钥生成部220B使用利用者属性信息292,代替r- 利用者秘密密钥221和掩码值222而生成利用者秘密密钥223。

利用者秘密密钥生成处理(S220B)另行说明。

在S220B之后,处理进入S230B。

在S230B中,利用者秘密密钥写入部230B代替r-利用者秘密密钥221和掩码 值222而将利用者秘密密钥223写入IC卡400中。在IC卡400中写入数据(223) 的方法与实施方式1(参照图8)的S230相同。

在S230B之后,利用者秘密密钥发行处理(S200B)结束。

图19是示出实施方式2中的利用者秘密密钥生成处理(S220B)的流程图。

根据图19对实施方式2中的利用者秘密密钥生成处理(S220B)进行说明。

在S221B中,利用者秘密密钥生成部220B使用利用者属性信息292生成属性 集合Γ。

S221B与实施方式1(参照图9)中说明的S221相同。

在S221B之后,处理进入S222B。

在S222B中,利用者秘密密钥生成部220B使用属性集合Γ生成利用者秘密密 钥sk_Γ。

S222B与实施方式1(参照图9)中说明的S222相同。

在S222B之后,利用者秘密密钥生成处理(S220B)结束。

数据加密处理(S300)与实施方式1(参照图10)相同。

图20是示出实施方式2中的数据解密处理(S400B)的流程图。

根据图20对实施方式2中的数据解密处理(S400B)进行说明。

数据解密处理(S400B)代替实施方式1(参照图12)中说明的S420而具有 S420B。

在S420B中,IC卡400对利用者秘密密钥223进行随机化而生成r-利用者秘密 密钥221。

然后,KEM密钥部分解密部320从IC卡400取得r-利用者秘密密钥221。

图21是示出实施方式2中的r-利用者秘密密钥取得处理(S420B)的流程图。

根据图21对实施方式2中的r-利用者秘密密钥取得处理(S420B)进行说明。

在S421B中,KEM密钥部分解密部320向IC卡400请求r-利用者秘密密钥sk_Γ。

在S421B之后,处理进入S422B。

在S422B中,IC卡400的r-利用者秘密密钥生成部420生成随机数r。随机数 r的生成方法与实施方式1相同(参照图9的S223)。

在S422B之后,处理进入S423B。

在S423B中,r-利用者秘密密钥生成部420使用随机数r生成掩码值mask,将 生成的掩码值mask存储在卡存储部490中。掩码值mask的生成方法与实施方式1 相同(参照图9的S224)。

在S423B之后,处理进入S424B。

在S424B中,r-利用者秘密密钥生成部420从卡存储部490取得利用者秘密密 钥sk_Γ,使用随机数r对利用者秘密密钥sk_Γ进行随机化,由此生成r-利用者秘密 密钥sk_Γ-。r-利用者秘密密钥sk_Γ-的生成方法与实施方式1相同(参照图9的S225)。

但是,r-利用者秘密密钥生成部420也可以仅对利用者秘密密钥sk_Γ的一部分 要素进行随机化而生成r-利用者秘密密钥sk_Γ-。仅对利用者秘密密钥sk_Γ的一部分 要素进行随机化的方法另行说明。

在S424B之后,处理进入S425B。

在S425B中,卡通信部480向访问终端300发送r-利用者秘密密钥sk_Γ-。

在S425B之后,处理进入S426B。

在S426B中,访问终端300的KEM密钥部分解密部320从IC卡400接收r- 利用者秘密密钥sk_Γ-。

在S426B之后,r-利用者秘密密钥取得处理(S420B)结束。

接着,说明在S424B(参照图21)中仅对利用者秘密密钥sk_Γ的一部分要素 进行随机化的方法。

如实施方式1中说明的那样,利用者秘密密钥sk_Γ可以用式(16)表示。

【数学式16】

skΓ:=(Γ,k0*,{kt*})           式(16)

下面,示出用于不对利用者秘密密钥sk_Γ中包含的第3个要素k_t^*进行随机 化而对第2个要素k_0^*进行随机化的式(17-1)~式(17-4)。第2个要素k_0^*是 解密处理中必须使用的要素。

【数学式17】

rUFq        式(17-1)

mask=r-1        式(17-2)

   式(17-3)

skΓ:=(Γ,k0*,{kt*})       式(17-4)

但是,也可以不对第2个要素k_0^*进行随机化,对其它要素(第3个要素k_t^*) 进行随机化。

接着,说明仅对利用者秘密密钥sk_Γ的一部分要素进行随机化时的数据解密处 理(图20的S430~S480)。

在S430中,KEM密钥部分解密部320使用r-利用者秘密密钥221对加密KEM 密钥313进行解密处理,由此生成r-KEM密钥掩码值321。

以下,示出用于生成r-KEM密钥掩码值321的式(18-1)~式(18-4)。式(18-3) 所示的“K_1-”和式(18-4)所示的“K_2”是r-KEM密钥掩码值321。

【数学式18】

1=ΣiIαiMi          式(18-1)

                             式(18-2)

K1:=e(c0,k0*)           式(18-3)

在S440中,随机数要素去除委托部330向IC卡400发送r-KEM密钥掩码值 321。

在S450中,IC卡400的随机数要素去除部410使用掩码值222从r-KEM密钥 掩码值K_1-中去除随机数要素,由此生成KEM密钥掩码值K_1。

KEM密钥掩码值K_1可以用以下式(19)表示。

【数学式19】

K1=K1mask         式(19)

在S460中,随机数要素去除委托部330从IC卡400接收KEM密钥掩码值411。

在S470中,掩码去除部340使用KEM密钥掩码值“K_1”“K_2”生成KEM 密钥341。

以下,示出用于生成KEM密钥K_KEM的式(20-1)~式(20-3)。KEM密钥 K_KEM可以用式(20-3)表示。

【数学式20】

K=K1·K2       式(20-1)

m=cd+1/K        式(20-2)

KKEM=KDF(m,256)       式(20-3)

在S480中,数据解密部350使用KEM密钥341以公共密钥密码方式将加密数 据主体312解密成对象数据301。

通过以上处理,能够将加密数据主体312解密成对象数据301。

根据实施方式2,例如能够发挥以下效果。

密钥生成服务器在IC卡中写入属性基密码方式的通常的利用者秘密密钥,IC 卡对利用者秘密密钥进行随机化。由此,属性基密码系统100能够利用为了进行属性 基密码而开发的通常的密钥生成服务器。即,能够降低导入成本。

IC卡不对利用者秘密密钥的全体进行随机化,仅对解密处理中必须利用的部分 进行随机化。由此,能够大幅削减利用者秘密密钥的随机化的劳力和时间。

并且,能够发挥与实施方式1中说明的效果(1)(2)(3)相同的效果。

实施方式2可以如下应用。

在属性基密码系统100中,也可以不向利用者发布存储有利用者秘密密钥的IC 卡。

例如,也可以向利用者发布存储有利用者秘密密钥的SD卡或其它存储卡。并 且,利用者秘密密钥也可以经由网络发布给访问终端,在访问终端的硬盘中进行保管。

也可以在访问终端使用随机化利用者秘密密钥进行加密KEM密钥的部分解密 后,IC卡向访问终端发送掩码值,访问终端去除随机数要素。

该情况下,由于随机化利用者秘密密钥和掩码值不会同时存在于访问终端中, 因此能够保证安全性。

密钥生成服务器也可以生成随机化利用者秘密密钥和掩码值(参照实施方式 1)。

也可以使用在S342中生成的g_T^ζ作为KEM密钥的种类m来生成KEM密钥 (与实施方式1的应用(4)相同)。

也可以对属于多个部或课的利用者分配多个利用者秘密密钥(与实施方式1的 应用(5)相同)。

也可以在与密钥生成服务器不同的装置中管理利用者属性信息(与实施方式1 的应用(6)相同)。

公开参数也可以存储在IC卡中。并且,访问终端也可以在每当利用公开参数时, 经由网络从密钥生成服务器取得公开参数(与实施方式1的应用(7)相同)。

如果能够以属性基密码方式直接对数据进行加密,则也可以不以公共密钥密码 方式对数据进行加密(与实施方式1的应用(8)相同)。

在IC卡计算KEM密钥掩码值K_1时,也可以确认不会受到不正当攻击(与实 施方式1的应用(9)相同)。

在实施方式2中,例如说明了以下的随机数要素去除装置(400)。括弧内记载 实施方式中说明的符号。

所述随机数要素去除装置具有随机化秘密密钥生成部(420)、公共密钥接收部 (480)、随机数要素去除部(410)、公共密钥发送部(480)。

所述随机化秘密密钥生成部生成使用随机数而使使用表示属性的属性值以属性 基密码方式生成的利用者秘密密钥(223)包含随机数要素的随机化秘密密钥(221)。

所述公共密钥接收部接收包含所述随机数要素的公共密钥即随机化掩码公共密 钥(321)。

所述随机数要素去除部利用使用所述随机数生成的掩码值(222),生成从所述 随机化掩码公共密钥中去除所述随机数要素而得到的掩码公共密钥(411)。

所述公共密钥发送部发送由所述随机数要素去除部生成的所述掩码公共密钥。

实施方式3

对不使用IC卡400的属性基密码系统100的方式进行说明。

下面,主要说明与实施方式1不同的事项。省略说明的事项与实施方式1相同。

图22是实施方式3中的密钥生成服务器200的功能结构图。

根据图22对实施方式3中的密钥生成服务器200的功能结构进行说明。

密钥生成服务器200也可以不具有实施方式1(参照图2)中说明的r-利用者秘 密密钥写入部230。

服务器存储部290存储由r-利用者秘密密钥生成部220生成的r-利用者秘密密 钥221和掩码值222。

除了公开参数212以外,服务器通信部280还向访问终端300发送r-利用者秘 密密钥221和掩码值222。

图23是实施方式3中的访问终端300的功能结构图。

根据图23对实施方式3中的访问终端300的功能结构进行说明。

访问终端300代替实施方式1(参照图3)中说明的随机数要素去除委托部330 而具有随机数要素去除部360。

随机数要素去除部360使用掩码值222从r-KEM密钥掩码值321中去除随机数 要素,由此生成KEM密钥掩码值411。

图24是示出实施方式3中的属性基密码系统100的处理概要的流程图。

根据图24对实施方式3中的属性基密码系统100的处理概要进行说明。

属性基密码系统100代替实施方式1(参照图5)中说明的S200和S400而执 行S200C和S400C。

在S100中,密钥生成服务器200生成公开参数212(与实施方式1相同)。

在S200C中,密钥生成服务器200生成r-利用者秘密密钥221和掩码值222。 但是,密钥生成服务器200也可以不将r-利用者秘密密钥221和掩码值222写入IC 卡400中。

在S300中,访问终端300使用公开参数212对对象数据301进行加密(与实施 方式1相同)。

在S400C中,访问终端300使用r-利用者秘密密钥221和掩码值222对加密数 据311进行解密。

下面,对属性基密码系统100的各处理的详细情况进行说明。

初始设定处理(S100)与实施方式1(参照图6)相同。

图25是示出实施方式3中的r-利用者秘密密钥生成处理(S200C)的流程图。

根据图25对实施方式3中的r-利用者秘密密钥生成处理(S200C)进行说明。

r-利用者秘密密钥生成处理(S200C)代替实施方式1(参照图8)中说明的S230 而具有S230C。

在S230C中,r-利用者秘密密钥生成部220代替将r-利用者秘密密钥221和掩 码值222写入IC卡400中,将r-利用者秘密密钥221和掩码值222保管在服务器存 储部290中。

数据加密处理(S300)与实施方式1(参照图10)相同。

图26是示出实施方式3中的数据解密处理(S400C)的流程图。

根据图26对实施方式3中的数据解密处理(S400C)进行说明。

数据解密处理(S400C)代替实施方式1(参照图12)中说明的S420~S460而 具有S420C~S450C。

在S410中,终端通信部380从文件服务器190取得加密数据311(与实施方式 1相同)。

在S420C中,KEM密钥部分解密部320经由终端通信部380向密钥生成服务 器200请求r-利用者秘密密钥221,取得r-利用者秘密密钥221。

在S430C中,KEM密钥部分解密部320使用r-利用者秘密密钥221对加密数据 311中包含的加密KEM密钥313进行解密处理,由此生成r-KEM密钥掩码值321。 生成r-KEM密钥掩码值321的方法与实施方式1的S430相同。

KEM密钥部分解密部320在生成r-KEM密钥掩码值321后,从访问终端300 中删除r-利用者秘密密钥221。

在S440C中,随机数要素去除部360经由终端通信部380向密钥生成服务器200 请求掩码值222,取得掩码值222。

在S450C中,随机数要素去除部360使用掩码值222从r-KEM密钥掩码值321 中去除随机数要素,由此生成KEM密钥掩码值411。生成KEM密钥掩码值411的 方法与实施方式1中说明的IC卡400的随机数要素去除部410相同。

随机数要素去除部360在生成KEM密钥掩码值411后,从访问终端300中删 除掩码值222。

在S470中,掩码去除部340使用KEM密钥掩码值411和加密KEM密钥313 生成KEM密钥341(与实施方式1相同)。

在S480中,数据解密部350使用KEM密钥341作为公共密钥,以公共密钥密 码方式将加密数据主体312解密成对象数据301(与实施方式1相同)。

通过以上处理,能够将加密数据主体312解密成对象数据301。

在实施方式3中对不使用IC卡400的属性基密码系统100的方式进行了说明。 但是,也可以使用IC卡400。

例如,密钥生成服务器200也可以将r-利用者秘密密钥221写入IC卡400中, 访问终端300从IC卡400取得r-利用者秘密密钥221。

并且,密钥生成服务器200也可以将掩码值222写入IC卡400中,访问终端 300从IC卡400取得掩码值222。

根据实施方式3,例如能够发挥以下效果。

属性基密码系统100最初在访问终端侧实施使用随机化利用者秘密密钥的部分 解密运算,然后在访问终端侧实施使用掩码值的随机化的去除运算。因此,利用者秘 密密钥不会全部同时出现在访问终端上。

由此,即使存在取得访问终端的主存储快照的恶意软件,即使取得利用者秘密 密钥的一部分,也不会取得利用者秘密密钥的全体,能够降低利用者秘密密钥泄露的 风险。

实施方式3也可以如下应用。

密钥生成服务器也可以读入IC卡或SD卡等存储卡中写入的随机化利用者秘密 密钥和掩码值。并且,随机化利用者秘密密钥和掩码值也可以经由网络发布给访问终 端,在访问终端的硬盘中进行加密并保管,每当利用时进行解密并读入。

也可以分别发布随机化利用者秘密密钥和掩码值。例如,也可以发布存储有掩 码值的IC卡,同时经由网络向访问终端发布随机化利用者秘密密钥。

也可以使用在S342中生成的g_T^ζ作为KEM密钥的种类m来生成KEM密钥 (与实施方式1的应用(4)相同)。

也可以对属于多个部或课的利用者分配多个利用者秘密密钥(与实施方式1的 应用(5)相同)。

也可以在与密钥生成服务器不同的装置中管理利用者属性信息(与实施方式1 的应用(6)相同)。

公开参数也可以存储在IC卡中。并且,访问终端也可以在每当利用公开参数时, 经由网络从密钥生成服务器取得公开参数(与实施方式1的应用(7)相同)。

如果能够以属性基密码方式直接对数据进行加密,则也可以不以公共密钥密码 方式对数据进行加密(与实施方式1的应用(8)相同)。

实施方式3也可以应用于非专利文献1记载的冈本-高岛加密方式以外的加密方 式。

各实施方式也可以成为在不产生矛盾的范围内对一部分或全体进行组合而成的 方式。

标号说明

100:属性基密码系统;101:公司内LAN;190:文件服务器;200:密钥生成 服务器;201:密钥长度;202:属性数量;210:主秘密密钥生成部;211:主秘密密 钥;212:公开参数;220:r-利用者秘密密钥生成部;220B:利用者秘密密钥生成部; 221:r-利用者秘密密钥;222:掩码值;223:利用者秘密密钥;230:r-利用者秘密 密钥写入部;230B:利用者秘密密钥写入部;280:服务器通信部;290:服务器存 储部;291:利用者属性表;292:利用者属性信息;300:访问终端;301:对象数据; 302:属性条件式;310:数据加密部;311:加密数据;312:加密数据主体;313: 加密KEM密钥;320:KEM密钥部分解密部;321:r-KEM密钥掩码值;330:随机 数要素去除委托部;340:掩码去除部;341:KEM密钥;350:数据解密部;360: 随机数要素去除部;380:终端通信部;390:终端存储部;400:IC卡;410:随机 数要素去除部;411:KEM密钥掩码值;420:r-利用者秘密密钥生成部;480:卡通 信部;490:卡存储部;901:CPU;902:总线;903:ROM;904:RAM;905:通 信板;911:显示器;912:键盘;913:鼠标;914:驱动器;915:卡R/W;920:磁 盘装置;921:OS;922:程序组;923:文件组。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号