太阳城集团

  • / 38
  • 下载费用:30 金币  

太阳城集团处理装置、太阳城集团处理方法以及非暂态计算机可读介质.pdf

摘要
申请专利号:

太阳城集团CN201310394534.2

申请日:

2013.09.03

公开号:

太阳城集团CN103678995A

公开日:

2014.03.26

当前法律状态:

撤回

有效性:

无权

法律详情: 发明专利申请公布后的视为撤回IPC(主分类):G06F 21/45申请公布日:20140326|||公开
IPC分类号: G06F21/45(2013.01)I 主分类号: G06F21/45
申请人: 索尼公司
发明人: 樋渡玄良; 作本紘一; 坚木雅宣; 神尾一也
地址: 日本东京
优先权: 2012.09.10 JP 2012-198343
专利代理机构: 中国国际贸易促进委员会专利商标事务所 11038 代理人: 王莉莉
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201310394534.2

授权太阳城集团号:

|||

法律状态太阳城集团日:

2016.04.27|||2014.03.26

法律状态类型:

太阳城集团发明专利申请公布后的视为撤回|||公开

摘要

太阳城集团提供了一种太阳城集团处理装置、太阳城集团处理方法以及非暂态计算机可读介质。太阳城集团处理装置包括:在针对在验证者中登记的一个公共密钥存在多个不同的秘密密钥的公共密钥认证方案或数字签名方案中,被配置为从所述多个不同的秘密密钥中选择一个秘密密钥的密钥选择部;以及被配置为通过使用由所述密钥选择部选择的秘密密钥执行根据公共密钥认证方案的与验证者之间的认证处理或根据数字签名方案的向验证者的数字签名生成处理的处理执行部。

权利要求书

权利要求书
1.  一种太阳城集团处理装置,包括:
在针对在验证者中登记的一个公共密钥存在多个不同的秘密密钥的公共密钥认证方案或数字签名方案中,被配置为从所述多个不同的秘密密钥中选择一个秘密密钥的密钥选择部;以及
被配置为通过使用由所述密钥选择部选择的秘密密钥执行根据公共密钥认证方案的与验证者之间的认证处理或根据数字签名方案的向验证者的数字签名生成处理的处理执行部。

2.  如权利要求1所述的太阳城集团处理装置,
其中密钥选择部被配置为在执行与验证者之间的认证处理或数字签名生成处理时从所述多个不同的秘密密钥中随机选择一个秘密密钥。

3.  如权利要求2所述的太阳城集团处理装置,
其中密钥选择部被配置为,在处理执行部通过重复与验证者之间的认证处理而完成一次认证的情况下,或在处理执行部通过重复数字签名生成处理而完成一次数字签名的生成的情况下,针对认证处理或数字签名生成处理的每一个从所述多个不同的秘密密钥中随机选择一个秘密密钥。

4.  如权利要求1所述的太阳城集团处理装置,
其中处理执行部被配置为在验证者中登记通过将散列函数应用于所述多个不同的秘密密钥中的第一秘密密钥而获取的第一散列值。

5.  如权利要求4所述的太阳城集团处理装置,
其中处理执行部被配置为将散列函数应用于在根据公共密钥认证方案执行与验证者之间的认证处理或根据数字签名方案向验证者执 行数字签名生成处理时使用的秘密密钥,并向该验证者传送用于要与第一散列值相比较的第二散列值。

6.  根据权利要求5所述的太阳城集团处理装置,还包括:
被配置为在验证者使用公共密钥认证方案或数字签名方案执行验证处理时将第一散列值和第二散列值相比较,并且根据上述比较的结果执行规定通知处理的比较处理部。

7.  如权利要求1所述的太阳城集团处理装置,
其中所述多个不同的秘密密钥分别被登记在不同装置内,并且
其中密钥选择部被配置为选择登记的秘密密钥。

8.  如权利要求1所述的太阳城集团处理装置,
其中公共密钥认证方案或数字签名方案是将s∈Kn设为秘密密钥并将环K上的多次多项式fi(x1,...,xn)和yi=fi(s)设为公共密钥的公共密钥认证方案,其中i=1至m。

9.  一种太阳城集团处理方法,包括:
在针对在验证者中登记的一个公共密钥存在多个不同的秘密密钥的公共密钥认证方案或数字签名方案中,从所述多个不同的秘密密钥中选择一个秘密密钥;以及
通过使用由密钥选择步骤选择的秘密密钥执行根据公共密钥认证方案的与验证者之间的认证处理或根据数字签名方案的向验证者的数字签名生成处理。

10.  一种包括计算机程序的非暂态计算机可读介质,所述计算机程序在被计算机执行时使得计算机:
在针对在验证者中登记的一个公共密钥存在多个不同的秘密密钥的公共密钥认证方案或数字签名方案中,从所述多个不同的秘密密 钥中选择一个秘密密钥;以及
通过使用由密钥选择步骤选择的秘密密钥执行根据公共密钥认证方案的与验证者之间的认证处理或根据数字签名方案的向验证者的数字签名生成处理。

11.  一种太阳城集团处理装置,包括
比较处理部,所述比较处理部被配置为:在针对一个公共密钥存在多个不同的秘密密钥的公共密钥认证方案或数字签名方案中,获取通过证明者将散列函数应用于所述多个不同的秘密密钥中的第一秘密密钥而得到的第一散列值、以及通过证明者向在执行与验证者之间的认证处理或根据数字签名方案向验证者的数字签名处理时使用的秘密密钥应用散列函数而得到的第二散列值;在使用公共密钥认证方案或数字签名方案执行认证处理时比较所述第一散列值和所述第二散列值;以及根据上述比较的结果向证明者执行规定通知处理。

说明书

说明书太阳城集团处理装置、太阳城集团处理方法以及非暂态计算机可读介质
技术领域
本公开涉及太阳城集团处理装置、太阳城集团处理方法以及非暂态计算机可读介质。
背景技术
随着太阳城集团处理技术和通信技术的快速发展,官方和私人文档的数字化正被快速推进。因此,许多个人和公司对电子文档的安全管理抱有极大的兴趣。随着这一兴趣的增长,对抗诸如电子文档的窃听和伪造之类的篡改的安全性在许多领域被热烈讨论。对抗电子文档窃听的安全性例如通过加密电子文档来确保。同样地,对抗电子文档伪造的安全性例如通过使用数字签名来确保。然而,加密和数字签名需要具有足够的抗篡改性。
一般地,公共密钥加密技术被广泛地用于个人验证。公共密钥加密方案是其中某个人(证明者)通过使用公共密钥和秘密密钥来说服另一个人(验证者)他/她是证明者本人的认证方案。
在此公共密钥加密技术中,秘密密钥的泄漏是最应避免的事件。由于秘密密钥对用于个人验证的认证或签名等而言是必须的,因此期望的是,证明者能够在需要时访问秘密密钥。例如,可以要求证明者存储诸如密码的秘密密钥,携带写在纸上的秘密密钥,或是携带存储在诸如IC卡之类的设备内的秘密密钥。例如,JP2011-87284A公开了使用其中包括有秘密密钥的IC卡的认证系统的技术。
发明内容
在公共密钥加密技术中,由于秘密密钥不像密码那样易于记忆,因此证明者想要记住秘密密钥并不容易。进一步地,如果秘密密钥被 写在纸上,则存在很高的风险该秘密密钥的内容会因被其他人窥伺或秘密拍照而被泄漏给其他人。在相关领域的公共密钥加密技术中,由于通过使用与一个公共密钥相对应的一种类型的秘密密钥来执行认证,因此如果秘密密钥泄漏,则无法知晓该秘密密钥是否被本人使用还是已被其他人仿制。如果秘密密钥泄漏,那么密钥泄漏太阳城集团之后的仿制将无法避免,除非通过某类方法检测到这一仿制。
另一方面,在其中秘密密钥被存储在诸如IC卡之类的设备中的情况下,除非该IC卡遗失,否则其他人将难以仿制。在IC卡遗失的情况下,如果存储在该IC卡内的秘密密钥的使用被中止,则能防止其他人的仿制并且能够抑制损害的扩大。然而,已经针对诸如IC卡的设备提出了诸如侧通道攻击的解析方法,并且如果不应用针对该侧通道攻击的对策,则秘密密钥可能会被泄漏。
此外,在其中要实现分散至多个服务器的认证、由多个用户的签名等的情况下,签名生成或认证的权利可以由多个人分享,并且已经提出了群组签名技术,例如作为多人分享签名生成权利的技术。然而,这一群组签名技术仅涉及用于多人共享签名生成权利的专门应用的某些特定签名方案,并且上述情况无法在任意签名方案或认证方案中实现。
简单地,可以考虑由多个用户共享相同的秘密密钥来作为多人共享签名生成或认证权利的另一方法。然而,在这一共享秘密密钥的方法中,其他用户会因为某疏忽的用户的密钥管理导致秘密密钥泄露而遭受损害。进一步地,由于同一秘密密钥由多个用户共享,因此还需要考虑即使尝试根据泄露的秘密密钥找出泄漏该秘密密钥的用户也会很难确认该泄露秘密密钥的用户的状况。
因此,本公开通过考虑上述状况而被作出。根据本公开的一个实施例,提供了一种新颖且改进的太阳城集团处理装置、太阳城集团处理方法和非暂态计算机可读介质,其通过使用针对同一公共密钥的多个秘密密钥实现了一种检测密钥泄漏的方法、一种防止密钥泄漏的方法、以及一种抑制密钥泄漏的方法。
根据本公开的一个实施例,提供了一种太阳城集团处理装置,包括:在针对在验证者中登记的一个公共密钥存在多个不同的秘密密钥的公共密钥认证方案或数字签名方案中,被配置为从所述多个不同的秘密密钥中选择一个秘密密钥的密钥选择部;以及被配置为通过使用由所述密钥选择部选择的秘密密钥执行根据公共密钥认证方案的与验证者之间的认证处理或根据数字签名方案的向验证者的数字签名生成处理的处理执行部。
根据本公开的一个实施例,提供了一种太阳城集团处理方法,包括:在针对在验证者中登记的一个公共密钥存在多个不同的秘密密钥的公共密钥认证方案或数字签名方案中,从所述多个不同的秘密密钥中选择一个秘密密钥;以及通过使用由密钥选择步骤选择的秘密密钥执行根据公共密钥认证方案的与验证者之间的认证处理或根据数字签名方案的向验证者的数字签名生成处理。
根据本公开的一个实施例,提供了一种包括计算机程序的非暂态计算机可读介质,所述计算机程序在被计算机执行时使得计算机:在针对在验证者中登记的一个公共密钥存在多个不同的秘密密钥的公共密钥认证方案或数字签名方案中,从所述多个不同的秘密密钥中选择一个秘密密钥;以及通过使用由密钥选择步骤选择的秘密密钥执行根据公共密钥认证方案的与验证者之间的认证处理或根据数字签名方案的向验证者的数字签名生成处理。
根据本公开的一个实施例,提供了一种包括比较处理部的太阳城集团处理装置,所述比较处理部被配置为:在针对一个公共密钥存在多个不同的秘密密钥的公共密钥认证方案或数字签名方案中,获取通过证明者将散列函数应用于所述多个不同的秘密密钥中的第一秘密密钥而得到的第一散列值、以及通过证明者向在执行与验证者之间的认证处理或根据数字签名方案向验证者的数字签名处理时使用的秘密密钥应用散列函数而得到的第二散列值;在使用公共密钥认证方案或数字签名方案执行认证处理时比较所述第一散列值和所述第二散列值;以及根据上述比较的结果向证明者执行规定通知处理。
根据如上所述的本公开,能够提供一种新颖且改进的太阳城集团处理装置、太阳城集团处理方法和非暂态计算机可读介质,其通过使用针对同一公共密钥的多个秘密密钥实现了一种检测密钥泄漏的方法、一种防止密钥泄漏的方法、以及一种抑制密钥泄漏的方法。
附图说明
图1是例示了根据公共密钥认证方案的算法配置的说明图;
图2是例示了根据数字签名方案的算法配置的说明图;
图3是例示了根据n遍公共密钥认证方案的算法配置的说明图;
图4是例示了在其中存储有秘密密钥的认证处理设备100a和执行验证处理的验证处理设备200a之间的认证处理的概况的说明图;
图5是示出了在其中存储有秘密密钥的认证处理设备100a和执行验证处理的验证处理设备200a之间的认证处理的流程图;
图6A是示出了平均波形的差分波形的例子的说明图;
图6B是示出了平均波形的差分波形的例子的说明图;
图7是示出了本公开第一实施例的操作的流程图;
图8是示出了在其中存储有秘密密钥的认证处理设备100b和执行验证处理的验证处理设备200b之间的认证处理的概况的说明图;
图9是示出了在其中存储有秘密密钥的认证处理设备100b和执行验证处理的验证处理设备200b之间的认证处理的流程图;
图10是示出了本公开第二实施例的操作的流程图;
图11是示出了通过生成共享的秘密密钥x的密钥生成器将秘密密钥x提供给每个不同的用户的认证系统的概念的说明图;
图12是示出了根据本公开第三实施例的认证系统的概念的说明图;
图13是示出了根据本公开第三实施例的认证系统的概念的说明图;
图14是示出了本公开第一实施例的变形例的操作的流程图;
图15是例示了根据3遍公共密钥认证方案的高效算法的说明图; 以及
图16是例示了能够执行根据本公开每个实施例的算法的太阳城集团处理装置的硬件配置例的说明图。
具体实施方式
其后,将参考附图详细描述本公开的优选实施例。注意到,在本说明书和附图中,具有基本相同功能和结构的结构性元件由相同的参考编号所指示,并由此省略对这些结构性元件的重复解释。
描述将以如下次序给出。
<1.对公共密钥认证方案和秘密密钥的描述>
<2.本公开的第一实施例>
[概述]
[操作]
<3.本公开的第二实施例>
[概述]
[操作]
<4.本公开的第三实施例>
[概述]
<5.变形例>
<6.硬件配置>
<7.结论>
<1.对公共密钥认证方案和秘密密钥的描述>
在描述本公开的适当实施例之前,首先将描述公共密钥认证方案和数字签名方案的概述,随后将描述由在本实施例随后描述的实施例中的每一个实施例所使用的秘密密钥。
公共密钥认证方案是其中一个人(证明者)通过使用公共密钥和秘密密钥来说服另一个人(验证者)他/她是证明者本人的认证方案。例如,使得证明者A的公共密钥pkA对验证者已知。另一方面,证明者A的秘密密钥skA由证明者秘密管理。根据公共密钥认证方案,知 晓与公共密钥pkA相对应的秘密密钥skA的人被认为是证明者A本身。
在证明者A试图向验证者B证明他/她是证明者本身的情况下,证明者A能够与验证者B执行交互协议并且证明他/她知晓与公共密钥pkA相对应的秘密密钥skA。随后,在验证者B通过证明者A知晓秘密密钥skA的交互协议而进行证明的情况下,证明者A的合法性(他/她是证明者本身)得到证明。
此外,为了确保公共密钥认证方案的安全性,要满足如下阐述的两个条件。
第一条件是在交互协议由不具有密钥sk的伪造者执行时尽可能地降低伪造被建立的可能性。该第一条件被满足的状况被称为“健全性”。换句话说,使用健全性交互协议,不具有密钥sk的伪造者无法以不能忽视的可能性建立伪造。第二条件是即使交互协议被执行,太阳城集团证明者A的秘密密钥skA的太阳城集团也不会完全被泄漏给验证者B。该第二条件被满足的状况被称为“零知识性”。
公共密钥认证方案的安全性通过使用具有如上所述的健全性和零知识性的交互方案来确保。
在公共密钥认证方案的模型中,存在如图1所示的两个实体,即,证明者和验证者。证明者通过使用密钥生成算法Gen生成公共密钥pk和该证明者唯一的秘密密钥sk的密钥对。随后,证明者通过使用由使用所述密钥生成算法Gen生成的公共密钥pk和秘密密钥sk的密钥对来执行与验证者的交互协议。此时,证明者通过使用证明者算法P来执行该交互协议。如上所述,在该交互协议中,证明者通过使用该证明者算法P向验证者证明他/她持有该秘密密钥sk。
另一方面,验证者通过使用验证者算法V来执行交互协议,并且验证该证明者是否持有与证明者已经发布的公共密钥相对应的秘密密钥。也就是说,验证者是验证证明者是否具有与公共密钥相对应的秘密密钥的实体。如所述,公共密钥认证方案的模型由两个实体(即,证明者和验证者)和三个算法(即,密钥生成算法Gen、证明者算法P和验证者算法V)配置而来。
附加地,虽然在如下的描述中使用表达“证明者”和“验证者”,但是这些表达严格意味着实体。因此,执行密钥生成算法Gen和证明者算法P的对象是与实体“证明者”相对应的太阳城集团处理装置。类似地,执行验证者算法V的对象是太阳城集团处理装置。
(密钥生成算法Gen)
密钥生成算法Gen由证明者使用。密钥生成算法Gen是用于生成公共密钥pk和证明者唯一的秘密密钥sk的密钥对的算法。由密钥生成算法Gen生成的公共密钥pk被公布。进一步地,公布的公共密钥pk由验证者使用。另一方面,由密钥生成算法Gen生成的秘密密钥sk由证明者秘密管理。被秘密管理的秘密密钥sk被用来向验证者证明与公共密钥pk相对应的秘密密钥的持有。形式上,密钥生成算法Gen由如下公式(1)表示,作为使用安全参数1λ(λ是零或以上的整数)作为输入并输出秘密密钥sk和公共密钥pk的算法。
(sk,pk)←Gen(1λ)...(1)
(证明者算法P)
证明者算法P由证明者使用。证明者算法P是用于证明持有与公共密钥pk相对应的秘密密钥sk的算法。证明者算法P被定义为将证明者的公共密钥pk和秘密密钥sk作为输入并与证明者执行交互协议的算法。
(验证者算法V)
验证者算法V由验证者使用。验证者算法V是用于在交互协议中验证证明者是否持有与公共密钥pk相对应的秘密密钥sk的算法。验证者算法V被定义为使用证明者的公共密钥pk作为输入并在与证明者执行交互协议之后输出0或1(1位)的算法。此外,在输出为0的情况下,认定证明者非法,而在输出为1的情况下,则认定证明者合法。形式上,验证者算法V被表示为如下的式(2)。
0/1←V(pk)…(2)
如上所述,公共密钥认证方案必须满足两个条件(即,健全性和零知识性)来确保安全性。然而,为了让证明者证明他/她持有秘密密 钥sk,该证明者必须执行依赖于秘密密钥sk的过程,将结果通知给验证者,并使得验证者基于通知的内容执行验证。依赖于秘密密钥sk的过程的执行是确保健全性所必须的。另一方面,即使在将上述过程的结果通知给验证者的情况下,也必须完全不向验证者泄漏秘密密钥sk。因此,需要设计密钥生成算法Gen、证明者算法P和验证者算法V来满足这些条件。
接下来,将参考图2提供对数字签名方案的算法的概述。图2是例示了数字签名方案的算法概述的说明图。
与纸质文档相反,难以向数字化数据加盖印章或添加签名。然后,为了证明该数字化数据的创建者,需要用于实现与加盖印章或添加签名类似效果的电子机制。该机制是数字签名。数字签名是其中仅由数据创建者知晓的签名数据被提供给与该数据关联的接收人并且签名数据由接收人验证的机制。
(模型)
在数字签名方案的模型中,如图2所示,存在被称为签署者和验证者的两个实体。然后,数字签名方案的模型包括三个算法:密钥生成算法Gen、签名生成算法sig和签名验证算法Ver。
签署者通过使用密钥生成算法Gen生成签署者唯一的签名密钥sk和验证密钥pk的密钥对。签署者还使用签名生成算法sig生成要被附至文档M的数字签名σ。也就是说,签署者是将数字签名附至文档M的实体。另一方面,验证者通过使用签名验证算法Ver验证附至文档M的数字签名σ。也就是说,验证者是验证该数字签名σ以检查该文档M的创建者是否是签署者的实体。
在随后的描述中,虽然使用“签署者”和“验证者”的表达,但是这些表达在严格意义上指代实体。因此,执行密钥生成算法Gen和签名生成算法sig的主体是与“签署者”实体相对应的太阳城集团处理装置。类似地,执行签名验证算法Ver的主体是太阳城集团处理装置。这些太阳城集团处理装置的硬件配置例如如图16所示。也就是说,密钥生成算法Gen、签名生成算法sig和签名验证算法Ver由CPU902等基于记录在ROM 904、RAM906、存储单元920和可移除记录介质928等上的程序执行。
(密钥生成算法Gen)
密钥生成算法Gen由签署者使用。密钥生成算法Gen是用于生成签署者唯一的签名密钥sk和验证密钥pk的密钥对的算法。由密钥生成算法Gen生成的验证密钥pk变得公开。另一方面,由密钥生成算法Gen生成的签名密钥sk由签署者秘密管理。然后,签名密钥sk被用于生成要被附至文档M的数字签名σ。例如,密钥生成算法Gen采用安全参数1λ(λ是等于0或大于0的整数)作为输入并输出签名密钥sk和验证密钥pk。在此情况下,密钥生成算法Gen在形式上被表达为类似如下的式(3):
(sk,pk)←Gen(1λ)
...(3)
(签名生成算法sig)
签名生成算法sig由签署者使用。签名生成算法sig是生成要被附至文档M的数字签名σ的算法。签名生成算法sig是采用签名密钥sk和文档M作为输入并输出数字签名σ的算法。签名生成算法sig可以在形式上被表达为类似如下式(4):
σ←Sig(sk,M)
...(4)
(签名验证算法Ver)
签名验证算法Ver由验证者使用。签名验证算法Ver是验证数字签名σ是否是对文档M的有效数字签名的算法。签名验证算法Ver是采用签署者的验证密钥pk、文档M和数字签名σ作为输入并且输出0或1(1位)的算法。签名验证算法Ver能够在形式上被表达为类似如下式(5):如果签名验证算法Ver输出为0(验证密钥pk拒绝文档M和数字签名σ),则验证者判断数字签名σ无效,但如果签名验证算法Ver输出为1(验证密钥pk接受文档M和数字签名σ),则验证者 判断数字签名σ有效。
0/1←Ver(pk,M,σ)
...(5)
(n遍公共密钥认证方案)
接下来,将参考图3描述n遍(n-pass)公共密钥认证方案。图3是例示了n遍公共密钥认证方案的说明图。
公共密钥认证方案如上所述是在交互协议期间向验证者证明该证明者持有与公共密钥pk相对应的秘密密钥sk的认证方案。此外,需要交互协议满足健全性和零知识性的两个条件。然后,如图3所示,证明者和验证者在各自执行相应的处理的同时交换太阳城集团n次。
在n遍公共密钥认证方案中,处理(进程#1)由证明者使用证明者算法P执行并且太阳城集团T1被发送至验证者。接下来,处理(进程#2)由验证者使用验证者算法V执行并且太阳城集团T2被发送至证明者。进一步地,在处理(进程#n+1)被最后执行之前,对于k=3~n,顺续地执行处理并发送太阳城集团Tk。如上所述发送并接收太阳城集团n次的方案被称为“n遍”公共密钥认证方案。
上文已经描述了n遍公共密钥认证方案。
如上所述,存在有诸如在JP2012-98690A中所公开那样的公共密钥认证方案和数字签名方案,这些方案以源自求解多次多变量联立方程的困难性的安全性为基础,由此满足设计密钥生成算法Gen、证明者算法P和验证者算法V时的要求。由JP2012-98690A使用的函数是由m行的n变量2次多项式(m和n分别是2或大于2的整数)构成的函数,并且通过使用这一函数,诸如JP2012-98690A中所述的公共密钥认证方案能够从一个公共密钥中生成多个秘密密钥。JP2012-98690A中使用的由m行的n变量2次多项式构成的函数被称为MQ(多变量2次)函数。
首先将描述JP2012-98690A使用的公共密钥认证方案的密钥生成算法。在此,将考虑其中一组二次多项式(f1(x),...,fm(x))被用作公共密钥pk的一部分的情况。然而,二次多项式fi(x)可被诸如表达为如 下的式(6)。进一步地,向量(x1,...,xn)被表示为x,该组二次多项式(f1(x),...,fm(x))被表示为多变量多项式F(x)。
f1(x1,...,xn)=Σj,kaijkxjxk+Σjbijxj...(6)]]>
进一步地,该组二次多项式(f1(x),...,fm(x))可被诸如表达为如下的式(7)。进一步地,A1,...,Am是n×n矩阵。此外,b1,...,bm分别是n×1向量。
F(x)=f1(x)...fm(x)=xTA1x+b1Tx...xTAmx+bmTx...(7)]]>
在使用这一表达时,多变量多项式F可被诸如表达为如下的式(8)和(9)。这一表达的建立可以容易地从如下的式(10)确认。
F(x+y)=F(x)+F(y)+G(x,y)...(8)
G(x,y)=yT(A1T+A1)x...yT(AmT+Am)x...(9)]]>
f1(x+y)=(x+y)TA1(x+y)+b1T(x+y)=xTA1x+xTA1y+yTA1x+yTA1y+b1Tx+b1Ty=f1(x)+f1(y)+xTA1y+yTA1x=f1(x)+f1(y)+xT(A1T)Ty+yTA1x=f1(x)+f1(y)(A1Tx)Ty+yTA1x=f1(x)+f1(y)+yT(A1Tx)+yTA1x=f1(x)+f1(y)+yT(A1T+A1)x---(10)]]>
在分成其中F(x+y)依赖于x的第一部分、其中F(x+y)依赖于y的第二部分以及其中F(x+y)依赖于x和y两者的第三部分时,与第三部分相对应的项G(x,y)变为太阳城集团x和y的双线性。其后,将会存在其中项G(x,y)被称为双线性项的情况。当使用这一性质时,将变得能够建立高效算法。
例如,通过使用向量t0∈Kn和e0∈Km,用于掩蔽多变量多项式F(x+r)的多变量多项式F1(x)被表示为F1(x)=G(x,t0)+e0。在此情况下,多变量多项式F(x+r0)和F1(x)之和可被诸如表达为如下的式(11)。在 此,如果t1=r0+t0且e1=F(r0)+e0,则多变量多项式F2(x)=F(x+r0)+F1(x)可由向量t1∈Kn和e1∈Km表达。因此,如果设F1(x)=G(x,t0)+e0,则可以使用Kn上的向量和Km上的向量来表达F1和F2,并且能够使用通信所需的减小的数据大小来表达该有效算法。
F(x+r0)+F1(x)
=F(x)+F(r0)+G(x,r0)+G(x,t0)+e0...(11)
=F(x)+G(x,r0+t0)+F(r0)+e0
注意到有关来自F2(或F1)的r0的太阳城集团完全不会被泄漏。例如,只要e0和t0(或e1和t1)不被知晓,就完全无法知晓r0的太阳城集团,即便在提供了e1和t1(或e0和t0)的情况下亦是如此。因此,确保了零知识性的性质。
在此,在m=n的情况下,MQ函数可以得到变为F(x1)=F(x2)的x1和x2。具体的导出方法如下。
当n=m时,在为MQ函数提供(Δ∈GF)(2n)之时,将存在其中输出x(s.t.F(x)=F(x+Δ)的算法。这是因为如下的函数成立。
(x)=F(x+Δ)&LeftRightArrow;F(Δ)+G(x,Δ)=0]]>
上述函数变为与x=(x1,...,xn)和xi=GF(2)相关的联立线性方程。由于变量xi(i=1,2,...,n)的数目和式子的行数相匹配,因此能够从上述联立线性方程中导出解x。
当n=cm(c是等于2或大于2的整数)时,在为MQ函数提供(Δ1,…,Δc∈GF)(2n)之时,将存在输出x(s.t.F(x)=F(x+Δ1)=…=F(x+Δc)的算法。这是因为如下的函数成立。
F(x)=F(x+Δ1)&LeftRightArrow;F(Δ1)+G(x,Δ1)=0]]>
...
F(x)=F(x+Δc)&LeftRightArrow;F(Δc)+G(x,Δc)=0]]>
每一个上述方程都变为与x=(x1,...,xn)和xi=GF(2)相关的联立线性方程。当组合每一个上述方程时,方程的行数变为与用于变量xi(i=1,2,...,n)的cm的联立线性方程。因此,与n=m的情况相类似,可以从上述联立线性方程中导出解x。
以此方式,可以通过使用能够从一个公共密钥生成多个秘密密钥 的公共密钥认证方案来实现检测密钥泄漏的方法、防止密钥泄漏的方法以及抑制密钥泄漏的方法。其后,将详细描述能够从一个公共密钥生成多个秘密密钥的公共密钥认证方案的应用例。
<2.本公开的第一实施例>
[概述]
首先将描述本公开的第一实施例的概述。本公开的第一实施例是可应用于秘密密钥被存储在诸如IC卡之类的设备中并且认证过程由所述设备执行以供个人认证的情况的技术。
图4是例示了在其中存储有秘密密钥的认证处理设备100a和执行验证处理的验证处理设备200a之间的认证处理的概况的说明图。由上述密钥生成算法Gen生成的秘密密钥x在认证处理之前被存储在认证处理设备100a内。进一步地,由上述密钥生成算法Gen生成的公共密钥F(x)在认证处理之前被存储在验证处理设备200a内。例如,认证处理设备100a是IC卡,而验证处理设备200a是服务器装置、金融机构的ATM(自动柜员机)等。同样地,在认证处理设备100a被保持在读取器/写入器之上时,执行认证处理设备100a和验证处理设备200a之间的认证协议。
图5是示出了在其中存储有秘密密钥的认证处理设备100a和执行验证处理的验证处理设备200a之间的认证处理的流程图。
希望认证其本人的用户通过上述密钥生成算法Gen预先生成秘密密钥x和公共密钥F(x)(步骤S11)。该秘密密钥x和公共密钥F(x)的生成由能够执行密钥生成算法Gen的太阳城集团处理装置执行。
当用户生成秘密密钥x和公共密钥F(x)时,秘密密钥x在保持秘密性的同时在认证处理设备100a内登记(步骤S12),而公共密钥F(x)则在验证处理设备200a内登记(步骤S13)。然后,当用户指示对认证处理设备100a执行认证时,证明者算法P由认证处理设备100a执行(步骤S14),并且认证处理设备100a和验证处理设备200a之间的认证处理由正在认证处理设备100a中执行的验证者算法V来执行(步骤S15)。
如果秘密密钥x被存储在诸如IC卡之类的设备中,则只要该设备未丢失,就能预期该秘密密钥x的内容不会被泄漏给第三方。然而,如上所述,已经提出了针对诸如IC卡之类的设备的解析方法,诸如侧通道攻击。在该侧通道攻击中,存在电力解析攻击。电力解析攻击是从实现密码算法的设备的电力消耗中提取存储在该设备中的秘密密钥的攻击方法。
已知诸如IC卡之类的设备的电力消耗随着输入变化。因此,存在有其中秘密密钥的值能够通过观察依赖于存储在该设备中的秘密密钥值的电力消耗改变而被解析的情况。基本上,由于电力消耗中混有噪声,因此在电力解析攻击中需要通过统计学处理多个波形来减小噪声的影响以提取秘密密钥。业已提出了差分电力解析(DPA)作为一种这样的方法(Paul Kocher,Joshua Jaffe,Benjamin Jun,“Differential Power Analysis”,CRYPT0’99)。
在此,将描述用于使用MQ函数的签名方案(MQ签名方案)的1位DPA的例子。在MQ签名方案中,对秘密密钥x执行随机数r0的异或操作,并在其后随机输出该随机数r0作为签名中的元素。通过这一操作可以解析秘密密钥x中的第i位xi。具体地,xi可由如下描述的1位DPA进行解析。
首先,在生成了多个签名之后,收集输出了随机数r0的签名。接下来,根据该随机数r0的第i位r0,i的值而将收集的签名分为两组。随后,计算每组的平均波形,并且计算着两个平均波形的差分波形。秘密密钥x的第i位xi能够通过这一差分波形的峰姿态而被解析。
图6A和6B是示出了平均波形的差分波形的例子的说明图。图6A是在秘密密钥x的第i位xi为0时可被预期的平均波形的差分波形的例子,而图6B是在秘密密钥x的第i位xi为1时可被预期的平均波形的差分波形的例子。在xi为0时,随机数r0的值与该随机数r0和秘密密钥x0(r0+x0)之间的异或值彼此匹配。因此,在装载之时和在存储这些值之时的电力消耗类似,并且如图6A所示,平均波形的正负两个峰变得相同。另一方面,在xi为1时,随机数r0的值与该随机数r0和秘密密钥x0(r0+x0) 之间的异或值不相同。因此,在装载之时和在存储这些值之时的电力消耗显著不同,并且如图6B所示,平均波形的正负两个峰变得不同。通过尝试对该秘密密钥x的所有位进行解析,就可以利用电力解析攻击来提取秘密密钥x的内容。
虽然这是执行MQ签名方案时的1位DPA示例,但是存在有用于MQ认证方案的类似处理。因此,MQ签名方案时的1位DPA能够很容易地扩展至MQ认证方案时的1位DPA。
因此,在本公开的第一实施例中,是无法从通过电力解析攻击获取的平均波形的差分波形中估计某一位的值的。具体地,如上所述,生成与一个公共密钥相对应的多个秘密密钥,并且在执行认证处理时,认证处理设备100a从该多个秘密密钥中随机选择一个秘密密钥。以此方式,认证处理设备100a就能够通过从多个秘密密钥中随机选择一个秘密密钥并执行认证处理来防止秘密密钥被电力解析攻击所提取。
[操作]
图7是根据本公开的第一实施例示出了在其中存储有秘密密钥的认证处理设备100a和执行验证处理的验证处理设备200a之间的认证处理的流程图。图7所示的流程图示出了其中希望认证其本身的用户生成公共密钥以及与该公共密钥相对应的两个秘密密钥的情况下的认证处理。
希望认证其本人的用户通过上述密钥生成算法Gen预先生成秘密密钥x1、x2和公共密钥F(x1)(步骤S101)。在此,公共密钥F(x1)满足F(x1)=F(x2)。这些秘密密钥x1、x2以及公共密钥F(x1)的生成由能够执行密钥生成算法Gen的太阳城集团处理装置执行。
当用户生成秘密x1、x2和公共密钥F(x1)时,秘密密钥x1、x2在保持秘密性的同时在认证处理设备100a内登记(步骤S102),而公共密钥F(x1)则在验证处理设备200a内登记(步骤S103)。随后,当用户指示对认证处理设备100a执行认证时(步骤S104),该认证处理设备100a首先随机选择i∈{1,2}(步骤S105)。然后,使用与在上述步骤S105中选择的i相对应的秘密密钥xi,由证明者算法P和验证 者算法V在认证处理设备100a和验证处理设备200a之间执行认证处理(步骤S106)。
以此方式,在执行认证处理时,由于是该认证处理设备100a从两个秘密密钥中随机选择一个秘密密钥,因此由电力解析攻击进行的1位DPA变得困难。这是因为秘密密钥x1的第i位x1i和秘密密钥x2的第i位x2i是不同的,由此就无法精确执行统计学处理。虽然上述1位DPA估计其中平均波形的差分波形被计算的位的值,但由于峰不会由于算出平均波形的差分波形而出现,因此在某些位的值针对每个处理而不同时,对这一位的值的估计将变得非常困难。
另一方面,由于认证处理设备100a在执行认证处理之时仅从两个秘密密钥中选择一个秘密密钥,因此就可以不需要包括作为电力解析攻击的对抗措施的不必要的电路,并且可以不需要执行不必要的处理。因此,认证处理设备100a能够以较低的成本并且在几乎不降低速度或增加电力消耗的情况下实现针对电力解析攻击的对抗措施。
<3.本公开的第二实施例>
[概述]
接下来将描述本公开的第二实施例的概述。本公开的第二实施例是可应用于其中用户在执行用于个人验证的认证之时将预先生成的秘密密钥的内容输入到设备中的情况的技术。
图8是示出了在其中执行认证处理的认证处理装置100b和执行验证处理的验证处理装置200b之间的认证处理的概况的说明图。由上述密钥生成算法Gen生成的秘密密钥x由希望接收个人验证的用户输入至认证处理设备100b。进一步地,由上述密钥生成算法Gen生成的公共密钥F(x)在由证明者算法P和验证者算法V进行的认证处理之前被存储在验证处理设备200b内。
例如,认证处理设备100b是前端装置,并且可以是诸如个人计算机、智能电话或平板之类的太阳城集团处理装置之外的装置,例如金融机构的ATM(自动柜员机)等。例如,验证处理设备200b是后端装置,并且是服务器装置等。同样地,在认证处理设备100b执行来自用户的 秘密密钥的输入之时,通过证明者算法P和验证者算法V执行认证处理设备100b和验证处理设备200b之间的认证协议。
图9是示出了由证明者算法P和验证者算法V在执行认证处理的认证处理设备100b和执行验证处理的验证处理设备200b之间执行的认证处理的流程图。
希望认证其本人的用户通过上述密钥生成算法Gen生成秘密密钥x和公共密钥F(x)(步骤S21)。该秘密密钥x和公共密钥F(x)的生成由能够执行密钥生成算法Gen的太阳城集团处理装置执行。
当用户生成秘密密钥x和公共密钥F(x)时,公共密钥在验证处理设备200b中登记(步骤S22)。秘密密钥x处于在保持秘密性的同时用户还能在任意时刻对其进行访问的状态。虽然如果防止秘密密钥泄漏,用户会希望记忆该秘密密钥x的内容,但由于秘密密钥x不像密码那样容易记住,因此假设该秘密密钥x会被写在纸上等以供忘时之需。同样地,用户将秘密密钥x输入至认证处理设备100b,用以在认证处理设备100b和验证处理设备200b之间执行认证处理(步骤S23)。当秘密密钥x被输入至认证处理设备100b时,由证明者算法P和验证者算法V在认证处理设备100b和验证处理设备200b之间执行认证处理(步骤S24)。
与其中秘密密钥被记忆的条件相比,在秘密密钥被写在纸上等的情况下,存在有该秘密密钥的内容将会归因于其他人的窥视或秘密摄影而被泄漏给其他人的高度风险。以此方式,在秘密密钥x被从外部直接输入认证处理设备100b并且认证处理由证明者算法P和验证者算法V在认证处理设备100b和验证处理设备200b之间执行的情况下,如果该秘密密钥x被泄漏给其他人,则存在这个人将使用秘密密钥x执行常规认证的可能性。在此情况下,认证处理设备100b无法区别该秘密密钥x是由常规用户还是由这个人输入的。
因此,在本公开的第二实施例中,如上所述,生成与一个公共密钥相对应的多个秘密密钥,其中一个秘密密钥被用户作为常规使用的秘密密钥存储,而另一个秘密密钥则被用户写在了例如纸上等以供在 忘记秘密密钥的内容时临时使用。同样地,验证处理设备200b在执行认证处理之时,判断哪个秘密密钥是输入至认证处理设备100b的秘密密钥,并且判定其是否是并非常规使用的秘密密钥的临时使用秘密密钥,即,是被用户写在纸上等的秘密密钥。在执行认证处理之时,正被使用的临时使用秘密密钥由验证处理设备200b判定,并且如果使用的是该临时使用秘密密钥,则可以通过通知用户该临时使用秘密密钥已被使用来提醒用户判定这是用户对临时使用秘密密钥的有意使用,还是该临时使用秘密密钥已被泄漏。
[操作]
图10是示出了根据本公开的第二实施例的在被输入秘密密钥的认证处理设备100b和执行验证处理的验证处理设备200b之间的认证处理的流程图。图10所示的流程图示出了其中希望认证其本身的用户生成公共密钥以及与该公共密钥相对应的两个秘密密钥的情况下的认证处理。
希望认证其本身的用户通过上述密钥生成算法Gen预先生成秘密密钥x1、x2和公共密钥F(x1),并将散列函数h应用于秘密密钥x1、x2以生成散列值z2=h(x2)(步骤S201)。在此,公共密钥F(x1)满足F(x1)=F(x2)。这些秘密密钥x1、x2以及公共密钥F(x1)的生成由能够执行密钥生成算法Gen的太阳城集团处理装置执行。例如,用户通过记忆秘密密钥x1或将其写在纸上等而不将其出示给其他人的方式严格保持秘密密钥x1作为常规使用的秘密密钥,并且通常携带写在纸介质上等的秘密密钥x2作为临时使用秘密密钥。
用户通过执行密钥生成算法生成秘密密钥x1、x2和公共密钥F(x1),并且在通过将散列函数应用于秘密密钥x2以附加地生成散列值z2时,在验证处理设备200b中登记公共密钥F(x1)和散列值z2(步骤S202)。随后,用户从秘密密钥x1、x2中输入一个秘密密钥x至认证处理设备100b,以通过证明者算法P和验证者算法V在认证处理设备100b和验证处理设备200b之间执行认证处理(步骤S203)。
当秘密密钥由用户输入时,认证处理设备100b通过将散列函数 h应用于输入的秘密密钥来计算散列值z,并将该散列值z传送至验证处理设备200b(步骤S204)。验证处理设备200b比较发送自认证处理设备100b的散列值z和由用户预先登记的散列值z2是否相互匹配。
如果散列值z和z2不匹配,则验证处理设备200b不执行任何具体处理,并且如果散列值z和z2匹配,则验证处理设备200b通过诸如电子邮件等的方法通知用户该临时使用的秘密密钥x2已被输入至认证处理设备100b(步骤S205)。
然后,使用在上述步骤S203输入的秘密密钥x,由证明者算法P和验证者算法V在认证处理设备100b和验证处理设备200b之间执行认证处理(步骤S206)。然后,如果用户接收到来自验证处理设备200b的通知,则密钥的泄漏能够通过判断是否使用了用户本身记不住的临时使用的秘密密钥x2而被检测到(步骤S207)。
如上所述,在本实施例中,假设用户通常携带写在纸介质上等的秘密密钥x2作为临时使用秘密密钥。因此,该秘密密钥x2是很可能出于某种原因(诸如纸介质丢失)而被其他人得到的太阳城集团。
然而,在此通过将从秘密密钥x2生成的散列值连同公共密钥一起登记在验证处理设备200b中,用户能被来自验证处理设备200b的通知告知在执行认证处理之时所使用的秘密密钥x2是由用户本人输入的还是由其他人输入的。使用秘密密钥x1、x2的用户能够凭借来自验证处理设备200b的通知检测是否存在有临时使用秘密密钥的泄漏,并且在已经存在泄漏的情况下,用户可以通过无效在验证处理设备200b中登记的公共密钥来防止损失的扩大。
注意到虽然在以上的描述中验证处理设备200b在散列值z和z2不相互匹配时不执行任何具体处理,但是本公开不限于这一例子。由于不相互匹配的散列值z和z2由常规使用的秘密密钥x1使用,因此验证处理设备200b可以通过诸如电子邮件等的方法通知用户该常规使用的秘密密钥x1已被使用。
<4.本公开的第三实施例>
[概述]
接下来将描述本公开的第三实施例的概述。本公开的第三实施例是可应用于其中通过向每个不同的用户提供两个或更多个秘密密钥中的一个密钥而在多个用户之间共享认证权利的情况的技术。
图11是示出了通过生成共享的秘密密钥x的密钥生成器将秘密密钥x提供给每个不同的用户的认证系统的概念的说明图。该密钥生成器生成公共密钥y=F(x)和秘密密钥x,并将生成的秘密密钥发送给用户1和2。密钥生成器向其发送秘密密钥x的用户1和2使用该秘密密钥x执行认证。也就是说,共享的秘密密钥x由用户1和2共享。
然而,如果这一相同的秘密密钥被提供给多个用户,那么通过在秘密密钥已被发布在互联网的网站上等发觉该秘密密钥已被泄漏的情况下,将无法检测出是哪个用户泄漏了该秘密密钥的内容。因此,在本公开的第三实施例中,公开了一种在发觉秘密密钥已被泄漏的情况下能够轻易追踪是哪个用户泄漏了秘密密钥的机制。
如上所述,当MQ函数被用于生成秘密密钥时,可以生成与同一公共密钥相对应的多个不同的秘密密钥。因此,在发觉秘密密钥已被泄漏的情况下,由于通过向多个用户中的每一个用户发送不同的秘密密钥而能够轻易追踪是哪个用户泄漏了秘密密钥,因此能够制止秘密密钥的泄漏。
图12是示出了根据本公开第三实施例的认证系统的概念的说明图。图12中示出的是其中通过密钥生成器生成不同的秘密密钥x1、x2而向每个不同的用户提供秘密密钥x1、x2的认证系统。
密钥生成器通过使用上述密钥生成算法生成与同一公共密钥y相对应的多个不同的秘密密钥x1、x2,并将秘密密钥x1发送给用户1而将秘密密钥x2发送给用户2。进一步地,该密钥生成器管理要将哪个秘密密钥发送给哪个用户。然后,用户1使用秘密密钥x1而用户2使用秘密密钥x2,以分别与验证者执行认证处理和签名生成处理。
由此,通过生成与同一公共密钥相对应的多个不同的秘密密钥并将不同的秘密密钥发送给相应的用户,通过管理要将哪个秘密密钥发送给哪个用户,就能够在发觉秘密密钥已被泄漏的情况下轻易追踪是 哪个用户泄漏了秘密密钥,因此能够制止秘密密钥的泄漏。
注意到虽然上述的例子描述了其中生成与同一公共密钥相对应的多个不同的秘密密钥并将不同的秘密密钥发送给各用户的情况,但是本公开的第三实施例在认证处理由多个服务器中的秘密密钥执行时可以类似地应用于其中生成与同一公共密钥相对应的多个不同的秘密密钥并将不同的秘密密钥发送给各用户的情况。
图13是示出了根据本公开第三实施例的认证系统的概念的说明图。图13中示出的是其中通过密钥生成器生成不同的秘密密钥x1、x2而向每个不同的服务器提供秘密密钥x1、x2的认证系统。由此,密钥生成器向每个不同的服务器提供秘密密钥x1、x2,并且管理要将哪个秘密密钥发送给哪个服务器。同样地,如果各服务器变为证明者和签署者并且分别同验证者执行认证处理和签名生成处理,则能够在发觉秘密密钥已被泄漏的情况下轻易追踪是哪个服务器泄漏了秘密密钥。
<5.变形例>
虽然以上的描述示出了其中通过使用MQ函数针对一个公共密钥生成两个秘密密钥的情况,但是可以通过如上所述将由m行的n变量多次多项式构成的MQ函数的n值设置为m的c倍(c是2或以上的整数)来针对一个公共密钥生成c个秘密密钥。
同样地,作为上述第一实施例的变形例,针对一个公共密钥生成的c个秘密密钥被全部包括在认证处理设备100a中,并且在执行认证处理时,可以通过从c个秘密密钥中随机选择一个秘密密钥来防止由电力解析攻击导致的秘密密钥的泄漏。
进一步地,作为上述第二实施例的变形例,可以为三种或更多种类型的秘密密钥中的每一种提供不同的角色。虽然在上述第二实施例中在临时使用的秘密密钥被使用的情况下从验证处理设备200b通过电子邮件等来通知用户该临时使用的秘密密钥已被使用,但是也可以针对一个公共密钥生成三个秘密密钥,例如,其中的两个秘密密钥可以用作临时使用的秘密密钥,并且向这些临时使用的秘密密钥分别提 供不同的角色。
进一步地,作为上述第三实施例的变形例,可以通过向每个不同的用户提供针对一个公共密钥生成的c个秘密密钥而在三个或更多个人之间共享权利,并且能够在发觉秘密密钥已被泄漏的情况下轻易追踪是哪个用户泄漏了秘密密钥。
如上所述,当通过使用MQ函数生成的秘密密钥执行认证处理时,一次认证处理被设为上述第一实施例的变形例,并且已知该一次认证处理的伪成功的概率能够随着使用上述n遍公共密钥认证方案来重复多次(多回)该认证处理而降低。同样地,在其中已经针对一个公共密钥生成了多个秘密密钥的情况下,通过为每回使用不同的秘密密钥来执行认证处理也是可行的。因此,作为上述第一实施例的变形例,认证处理设备100a可以在执行一次认证处理时为每回随机选择秘密密钥。
图14是根据本公开的第一实施例的变形例示出了在其中存储有秘密密钥的认证处理设备100a和执行验证处理的验证处理设备200a之间的认证处理的流程图。图14所示的流程图示出了其中希望认证其本身的用户生成公共密钥以及与该公共密钥相对应的两个秘密密钥的情况下的认证处理。
希望认证其本人的用户通过上述密钥生成算法Gen预先生成秘密密钥x1、x2和公共密钥F(x1)(步骤S111)。在此,公共密钥F(x1)满足F(x1)=F(x2)。这些秘密密钥x1、x2以及公共密钥F(x1)的生成由能够执行密钥生成算法Gen的太阳城集团处理装置执行。
当用户生成秘密密钥x1、x2和公共密钥F(x1)时,秘密密钥x1、x2在保持秘密性的同时在认证处理设备100a内登记(步骤S112),而公共密钥F(x1)则在验证处理设备200a内登记(步骤S113)。随后,当用户指示对认证处理设备100a执行认证时(步骤S114),该认证处理设备100a首先随机选择(i1,i2,...,iN)∈{1,2}(步骤S115)。在此,N代表在该一次认证处理中的回数。因此,上述步骤S115是其中认证处理设备100a从x1、x2中为每回随机选择要使用的秘密密钥的处理。
然后,使用与在上述步骤S115中选择的i相对应的秘密密钥xij来在认证处理设备100a和验证处理设备200a之间执行认证处理(步骤S116。注意到j是从1到N的整数。
由此,就能够预期其中由电力解析攻击进行的1位DPA会由于认证处理设备100a在一次认证处理中为每回随机选择要使用的秘密密钥而变得困难的效果。
虽然上述实施例示出了其中使用MQ函数生成秘密密钥的情况的例子,但是不言自明的是其可以类似地应用于使用MQ函数的数字签名的情况。进一步地,虽然上述实施例在针对一个公共密钥生成多个秘密密钥时使用MQ函数,但是不言自明的是,如果存在有能够针对一个公共密钥生成多个秘密密钥的算法,则本公开将不会限于对MQ函数的使用。
在此,将描述在每个上述实施例中执行的认证处理的算法例。在此,将描述3遍方案的算法。3遍方案的算法诸如下文所述由密钥生成算法Gen、证明者算法P和验证者算法V组成。
密钥生成算法Gen生成在环K上定义的m行的多变量多项式f1(x1,...,xn),...,fm(x1,...,xn)以及向量s=(s1,...,sn)∈Kn。接下来,该密钥生成算法Gen计算y=(y1,...,ym)←(f1(s),...,fm(s))。随后,该密钥生成算法Gen将(f1(x1,...,xn),...,fm(x1,...,xn),y)设为公共密钥pk并将s设为秘密密钥。
其后,将参考图15描述在交互协议中执行证明者算法P的处理和执行验证者算法V的处理。在此交互协议中,证明者在不向验证者泄漏秘密密钥s的任何太阳城集团的情况下向验证者示出“其本身知晓满足y=F(s)的s”。另一方面,验证者验证该证明者是否知晓满足y=F(s)的s。注意到公共密钥pk被公开给验证者。此外,秘密密钥s由证明者秘密管理。其后,将按照图15所示的流程图来进行描述。
进程#1
如图15所示,首先证明者算法P随机生成向量t0∈Kn和e0∈Km。接下来,证明者算法P计算r1←s-r0。这一计算对应于由向量r0掩蔽 秘密密钥s的操作。此外,证明者算法P计算t1←r0-t0。接下来,证明者算法P计算e1←F(r0)-e0。
进程#1(继续):
接下来,证明者算法P计算c0←H(r1,G(t0,r1)+e0)。接下来,证明者算法P计算c1←H(t0,e0)。接下来,证明者算法P计算c2←H(t1,e1)。在进程#1中生成的消息(c0,c1,c2)被发送给验证者算法V。
进程#2
接收到消息(c0,c1,c2)的验证者算法V从三个验证模式中选择要使用哪个验证消息。例如,验证者算法V从表示验证模式的类型的三个数值{0,1,2}中选择一个数值,并且将选择的数值设为请求Ch。该请求Ch被发送给证明者算法P。
进程#3
接收到该请求Ch的证明者算法P根据接收到的请求Ch生成要发送给验证者算法V的响应Rsp。在其中Ch=0的情况下,证明者算法P生成响应Rsp=(r0,t1,e1)。在其中Ch=1的情况下,证明者算法P生成响应Rsp=(r1,t0,e0)。在其中Ch=2的情况下,证明者算法P生成响应Rsp=(r1,t1,e1)。在进程#3中生成的响应Rsp被发送给验证者算法V。
进程#4
接收到响应Rsp的验证者算法V通过使用接收到的响应Rsp执行随后的验证处理。
在Ch=0的情况下,验证者算法V验证c1=H(r0-t1,F(r0)-e1)的等号成立与否。此外,验证者算法V验证c2=H(t1,e1)的等号成立与否。验证者算法V在这些验证全部成功时输出指示成功验证的值1,而在验证中存在失败时输出指示验证失败的值0。
在Ch=1的情况下,验证者算法V验证c0=H(r1,G(t0,r1)+e0)的等号成立与否。此外,验证者算法V验证c1=H(t0,e0)的等号成立与否。验证者算法V在这些验证全部成功时输出指示成功验证的值1,而在验证中存在失败时输出指示验证失败的值0。
在Ch=2的情况下,验证者算法V验证c0=H(r1,y-F(r1)-G(t1,r1)-e1)的等号成立与否。此外,验证者算法V验证c2=H(t1,e1)的等号成立与否。验证者算法V在这些验证全部成功时输出指示成功验证的值1,而在验证中存在失败时输出指示验证失败的值0。
至此,已经描述了根据3遍方案的有效算法的配置例。当然,在本公开中执行认证处理时的算法不限于这一示例,并且不言自明的是,在从m行多变量多项式中生成公共密钥以及与该公共密钥相对应的多个秘密密钥的情况下,可以在类似的认证处理中使用其他算法。
<6:硬件配置>
上述的每个算法例如可以通过使用图16所示的太阳城集团处理装置的硬件配置来执行。也就是说,可以使用计算机程序通过控制图16所示的硬件来实现每个算法的处理。此外,这一硬件的模式是任意的,并且可以是个人计算机,诸如移动电话、PHS或PDA之类的移动太阳城集团终端,游戏机,接触或非接触式IC芯片,接触或非接触式IC卡,或是各种类型的太阳城集团家电。此外,PHS是个人轻便电话系统的缩写。同样地,PDA是个人数字助理的缩写。
如图16所示,硬件主要包括CPU902、ROM904、RAM906、主机总线908和桥910。此外,这一硬件包括外部总线912、接口914、输入单元916、输出单元918、存储单元920、驱动器922、连接端口924和通信单元926。此外,CPU是中央处理单元的缩写。同样地,ROM是只读存储器的缩写。进一步地,RAM是随机存取存储器的缩写。
CPU902例如起到算术处理单元或控制单元的作用,并且基于记录在ROM904、RAM906、存储单元920和可移除记录介质928等上的各种程序执行每个结构元件的操作或部分操作。ROM904是用于存储例如要被装载到CPU902上的程序或要在算术操作中使用的数据等的设备。RAM906临时或永久性地存储例如被装载到CPU902上的程序或在程序执行过程中任意改变的各种参数等。
这些结构性元件彼此通过例如能够执行高速数据传输的主机总 线908相连接。一方面,主机总线908通过桥910连接至外部总线912,后者的数据传输速度例如相对较低。此外,输入单元916例如是鼠标、键盘、触摸面板、按钮、开关、杠杆等。此外,输入单元916可以是能够通过使用红外线或其他无线电波传送控制信号的遥控器。
输出单元918是能够视觉或听觉通知用户所获得的太阳城集团的例如像是CRT、LCD、PDP或ELD的显示设备,像是扬声器或耳机的音频输出设备,打印机,移动电话或传真机。此外,CRT是阴极射线管的缩写。LCD是液晶显示器的缩写。PDP是等离子显示面板的缩写。同样地,ELD是电致发光显示器的缩写。
存储单元920是用于存储各种数据的设备。存储单元920是例如像是硬盘驱动器(HDD)、半导体存储设备的磁性存储设备、光学存储设备或磁光存储设备。HDD是硬盘驱动器的缩写。
驱动器922是读取记录在诸如磁盘、光盘、磁光盘或半导体存储器的可移除记录介质928上的太阳城集团并将太阳城集团写入该可移除记录介质928的设备。该可移除记录介质928例如是DVD介质、蓝光介质、HD-DVD介质、各种类型的半导体存储介质等。当然,该可移除记录介质928也可以是例如其上装有非接触式IC芯片的电子设备或IC卡。IC是集成电路的缩写。
连接端口924是诸如USB端口、IEEE1394端口、SCSI、RS-232C端口的端口,或是用于连接诸如光学音频终端的外部连接设备930的端口。该外部连接设备930例如是打印机、移动音乐播放器、数码相机、数码摄像机或IC记录器。此外,USB是通用串行总线的缩写。同样地,SCSI是小型计算机系统接口的缩写。
通信单元926是要与网络932相连接的通信设备,并且例如是用于有线或无线LAN的通信卡、Bluetooth(注册商标)或WUSB、光学通信路由器、ADSL路由器或是用于接触式或非接触式通信的设备。连接至该通信单元926的网络932由有线连接或无线连接的网络配置,并且例如是因特网、家用LAN、红外通信、可见光通信、广播或卫星通信等。此外,LAN是局域网的缩写。同样地,WUSB是无线USB 的缩写。此外,ADSL是非对称数字订户线路的缩写。
<7.结论>
根据如上所述的本公开,通过使用其中能够针对同一公共密钥生成多个秘密密钥的公共密钥认证方案(诸如,使用MQ函数的密钥生成算法)实现了一种检测密钥泄漏的方法、一种防止密钥泄漏的方法以及一种抑制密钥泄漏的方法。
在本公开的第一实施例中,针对同一公共密钥生成的多个秘密密钥被记录在认证处理设备内,作为其中记录有秘密密钥的诸如IC卡的认证处理设备的电力解析攻击的对抗措施。在执行认证处理时,该认证处理设备从多个秘密密钥中随机选取一个秘密密钥。通过具有在执行认证处理时从多个秘密密钥中随机选取一个秘密密钥的认证处理设备,通过电力解析攻击提取秘密密钥将变得困难。
在本公开的第二实施例中,在其中秘密密钥被输入认证处理设备的情况下,如果并非常规使用的秘密密钥的临时使用秘密密钥被输入到认证处理设备内,则将经由认证处理设备通知用户该临时使用的秘密密钥已被使用。通过向用户通知该临时使用的秘密密钥已被使用,使得用户可以判断该临时使用的秘密密钥是已被有意使用还是已被泄漏。
在本公开的第三实施例中,与一个公共密钥相对应的多个秘密密钥被分别发送至不同的用户。在一个秘密密钥被泄漏的情况下,由于通过将与一个公共密钥应的多个秘密密钥中的每一个发送至不同的用户而能够容易地追踪是谁泄漏了密钥,因此能够制止秘密密钥的泄漏。
注意到虽然已经通过示出使用MQ函数生成秘密密钥作为能够针对一个公共密钥生成的多个秘密密钥的的例子描述了每一个的上述实施例,但是本公开不限于这些例子。根据能够生成针对一个公共密钥的多个秘密密钥的公共密钥认证方案和数字签名方案,不言自明的是这些方案可以类似地应用于每一个的上述实施例。此外,虽然在每一个的上述实施例,执行认证处理的认证处理设备和实现验证处理的验证处理设备可以分别被包括在分开的装置内,但是它们也可被包括 在同一装置内。
最后,将简要描述根据本技术实施例的技术性内容。在此阐述的技术性内容可被应用于各种太阳城集团处理装置,诸如个人计算机、移动电话、便携式游戏机、便携式太阳城集团终端、太阳城集团家电、车辆导航系统等。进一步地,可以通过使用单个太阳城集团处理装置或使用多个太阳城集团处理装置来实现如下描述的太阳城集团处理装置的功能。此外,用于由如下描述的太阳城集团处理装置执行的处理的数据存储设备和算术处理设备可以被安装在该太阳城集团处理装置上,或者可被安装在经网络相连的设备上。
注意到,以上描述的密钥生成算法Gen、证明者算法P、验证者算法V、签名生成算法sig和签名验证算法Ver是根据本公开实施例的密钥选择部和处理执行部的例子。
本领域技术人员应该理解的是,取决于设计要求和其他因素,会出现各种修改、组合、子组合和变化,而这些修改、组合、子组合和变化仍将位于所附权利要求或其等效方案的范围内。
此外,本技术还可如下构成。
(1)一种太阳城集团处理装置,包括:
在针对在验证者中登记的一个公共密钥存在多个不同的秘密密钥的公共密钥认证方案或数字签名方案中,被配置为从所述多个不同的秘密密钥中选择一个秘密密钥的密钥选择部;以及
被配置为通过使用由所述密钥选择部选择的秘密密钥执行根据公共密钥认证方案的与验证者之间的认证处理或根据数字签名方案的向验证者的数字签名生成处理的处理执行部。
(2)如(1)的太阳城集团处理装置,
其中密钥选择部被配置为在执行与验证者之间的认证处理或数字签名生成处理时从所述多个不同的秘密密钥中随机选择一个秘密密钥。
(3)如(2)的太阳城集团处理装置,
其中密钥选择部被配置为,在处理执行部通过重复与验证者之间的认证处理而完成一次认证的情况下,或在处理执行部通过重复数字 签名生成处理而完成一次数字签名的生成的情况下,针对认证处理或数字签名生成处理的每一个从所述多个不同的秘密密钥中随机选择一个秘密密钥。
(4)如(1)的太阳城集团处理装置,
其中处理执行部被配置为在验证者中登记通过将散列函数应用于所述多个不同的秘密密钥中的第一秘密密钥而获取的第一散列值。
(5)如(4)的太阳城集团处理装置,
其中处理执行部被配置为将散列函数应用于在根据公共密钥认证方案执行与验证者之间的认证处理或根据数字签名方案向验证者执行数字签名生成处理时使用的秘密密钥,并向该验证者传送用于要与第一散列值相比较的第二散列值。
(6)如(5)的太阳城集团处理装置,还包括:
被配置为在验证者使用公共密钥认证方案或数字签名方案执行验证处理时将第一散列值和第二散列值相比较,并且根据上述比较的结果执行规定通知处理的比较处理部。
(7)如(1)的太阳城集团处理装置,
其中所述多个不同的秘密密钥分别被登记在不同装置内,并且
其中密钥选择部被配置为选择登记的秘密密钥。
(8)如(1)的太阳城集团处理装置,
其中公共密钥认证方案或数字签名方案是将s∈Kn设为秘密密钥并将环K上的多次多项式fi(x1,...,xn)和yi=fi(s)设为公共密钥的公共密钥认证方案,其中i=1至m。
(9)一种太阳城集团处理方法,包括:
在针对在验证者中登记的一个公共密钥存在多个不同的秘密密钥的公共密钥认证方案或数字签名方案中,从所述多个不同的秘密密钥中选择一个秘密密钥;以及
通过使用由密钥选择步骤选择的秘密密钥执行根据公共密钥认证方案的与验证者之间的认证处理或根据数字签名方案的向验证者的数字签名生成处理。
(10)一种包括计算机程序的非暂态计算机可读介质,所述计算机程序在被计算机执行时使得计算机:
在针对在验证者中登记的一个公共密钥存在多个不同的秘密密钥的公共密钥认证方案或数字签名方案中,从所述多个不同的秘密密钥中选择一个秘密密钥;以及
通过使用由密钥选择步骤选择的秘密密钥执行根据公共密钥认证方案的与验证者之间的认证处理或根据数字签名方案的向验证者的数字签名生成处理。
(11)一种太阳城集团处理装置,包括
比较处理部,所述比较处理部被配置为:在针对一个公共密钥存在多个不同的秘密密钥的公共密钥认证方案或数字签名方案中,获取通过证明者将散列函数应用于所述多个不同的秘密密钥中的第一秘密密钥而得到的第一散列值、以及通过证明者向在执行与验证者之间的认证处理或根据数字签名方案向验证者的数字签名处理时使用的秘密密钥应用散列函数而得到的第二散列值;在使用公共密钥认证方案或数字签名方案执行认证处理时比较所述第一散列值和所述第二散列值;以及根据上述比较的结果向证明者执行规定通知处理。
本公开包含在于2012年10月9日向日本专利局提交的日本优先权专利申请JP2012-198343中所公开的主题,其中该专利申请的全部内容通过引用合并在此。

关 键 词:
太阳城集团处理 装置 方法 以及 非暂态 计算机 可读 介质
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:太阳城集团处理装置、太阳城集团处理方法以及非暂态计算机可读介质.pdf
链接地址:http://zh228.com/p-6180688.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');