CN104137470A - 信息处理装置,信息处理系统,信息处理方法和程序 - Google Patents

信息处理装置,信息处理系统,信息处理方法和程序 Download PDF

Info

Publication number
CN104137470A
CN104137470A CN201380010503.0A CN201380010503A CN104137470A CN 104137470 A CN104137470 A CN 104137470A CN 201380010503 A CN201380010503 A CN 201380010503A CN 104137470 A CN104137470 A CN 104137470A
Authority
CN
China
Prior art keywords
information
message
algorithm
external equipment
digital signature
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.)
Pending
Application number
CN201380010503.0A
Other languages
English (en)
Inventor
川元洋平
田中雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN104137470A publication Critical patent/CN104137470A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种信息处理系统,包括:接口电路,配置为接收消息无关信息,所述消息无关信息被以另一个装置产生,并且被在产生数字签名之前传输到所述接口,向外部设备发送消息相关信息,和从所述外部设备接收数字签名;和处理电路,配置为从一个消息和所述消息无关信息的至少一部分产生所述消息相关信息,和将所述数字签名与所述消息相关联。

Description

信息处理装置,信息处理系统,信息处理方法和程序
技术领域
本公开涉及信息处理装置、信息处理系统、信息处理方法和程序。
本公开包含关于在2012年8月30日提交日本专利局的日本优先权专利申请JP 2012-190446中公开的主题内容,因此通过引用将其完整内容结合在此。
背景技术
现在正在广泛使用向信息诸如文档和消息添加电子签名的技术。当使用外部终端增加签名时,用户可以使用IC卡以便不向该外部终端输入他或者她的电子签名的秘密密钥。例如,如下面PTL 1中描述的,存在通过使用公共密钥密码函数诸如RSA在IC卡内产生电子签名的技术。
[参考文献列表]
[专利文献]
PTL 1:JP 2902087B
发明内容
[技术问题]
然而,电子签名处理使用关于公共密钥密码术的计算,并且因为处理公共密钥密码函数一般是计算密集的,在具有有限处理能力的IC卡上实施这些函数是困难的。为此,当在IC卡上处理这些函数的情况下,可以在板上提供更强有力的CPU,但是这在制造成本增长方面是有问题的。另外,由于大的处理负载,在IC卡上产生电子签名还产生费时的签名产生的问题。
因此,希望最小化在使用IC卡产生电子签名时的处理负载。
[问题的解决方案]
根据本公开的一个实施例,提供了一种信息处理系统,包括:接口电路,配置为:接受消息无关信息,所述消息无关信息由另一个装置产生,并且在产生数字签名之前被传输到该接口,将消息相关信息发送到外部设备,和从所述外部设备接收数字签名;和处理电路,配置为从一个消息和所述消息无关信息的至少一部分产生消息相关信息,并且将所述数字签名与所述消息相关联。
[发明的有益效果]
根据上面所述的本公开实施例,最小化使用IC卡产生电子签名时的处理负载成为可能。
附图说明
图1是概述用于公共密钥验证方案的算法的示意图。
图2是概述用于电子签名方案的算法的示意图。
图3是示出了n遍公共密钥验证方案的解释图。
图4是示出了关于3遍方案的具体算法结构的图。
图5是示出了并行化图4所示的3遍方案的算法的方法的示意图。
图6是示出了从3遍公共密钥验证方案到电子签名方案的修改的示意图。
图7是概述根据第一实施例的系统的示意图。
图8是示出了产生用于消息相关部分的信息的处理的序列图。
图9是示出了第一实施例的配置的功能方框图。
图10是概述根据第二实施例的系统的示意图。
图11是示出了根据第二实施例的处理的序列图。
图12是示出了第二实施例的配置的功能方框图。
图13是示出了对第一实施例的修改的示意图。
图14是示出了第三实施例的配置的功能方框图。
图15是示出了MD散列函数(Merkle-Damgard构造)的示意图。
图16是示出了根据第四实施例的处理的序列图。
图17是示出了一种信息处理装置的硬件配置的示意图。
具体实施方式
以下,将参考附图详细描述本公开的优选实施例。注意,在本说明书和所附附图中,具有大体相同的功能和结构的结构元件被以相同参考号表示,并且忽略对这些结构元件的重复解释。
(说明的流程)
现在将简要地讨论关于以下描述的本技术的实施例的说明的流程。首先,将参考图1描述用于公共密钥验证方案的算法结构。接下来,将参考图2描述用于电子签名方案的算法结构。接着,将参考图3描述n遍公共密钥验证方案。
接下来,将参考图4和图5描述关于3遍公共密钥验证方案的算法结构。接着,将参考图7到图16描述本公开的第一到第四实施例。接着,将参考图17描述根据本技术的实施例的能够实现各个算法的信息处理装置的示例性硬件配置。
(目录)
1.介绍
1-1.用于公共密钥验证方案的算法
1-2.用于电子签名方案的算法
1-3.n遍公共密钥验证方案
2.关于3遍公共密钥验证方案的算法结构
2-1.具体的算法结构的例子
2-2.并行算法结构的例子
3.对电子签名方案的修改
3-1.从3遍公共密钥验证方案到电子签名方案的修改
4.第一实施例
4-1.根据第一实施例的系统的总结
4-2.根据第一实施例的系统的处理
4-3.根据第一实施例的系统的示例性配置
4-4.对第一实施例的修改
5.第二实施例
5-1.根据第二实施例的系统的总结
5-2.根据第二实施例的系统的处理
5-3.根据第二实施例的系统的示例性配置
6.第三实施例
6-1.根据第三实施例的系统的总结
6-2.根据第三实施例的系统的示例性配置
7.第四实施例
7-1.根据第四实施例的系统的总结
7-2.根据第四实施例的系统的处理
7-3.根据第四实施例的系统的示例性配置
8.验证协议
9.示例性硬件配置
1.介绍
此处的实施例涉及公共密钥验证方案和电子签名方案,它们的安全性基于求解高阶多元方程组的困难。然而,此处的实施例不同于相关领域的技术,诸如HFE电子签名方案,并且涉及利用缺少有效的求解手段(陷门)的高阶多元方程组的公共密钥验证方案和电子签名方案。首先,将简要地概述用于公共密钥验证方案的算法,用于电子签名方案的算法和n遍公共密钥验证方案。
1-1.用于公共密钥验证方案的算法
首先,将参考图1概述用于公共密钥验证方案的算法。图1是用于公共密钥验证方案的算法的解释图。
使用公共密钥验证,以便某个人(证明者,也被称为Alice)使另一个人(检验者,也被称为Bob)通过使用公共密钥pk和秘密密钥sk确信她是她自己。例如,Alice的公共密钥pkA被公开给Bob。在另一方面,Alice将她的秘密密钥skA保密。在公共密钥验证设置中,假设Alice她自己是知道对应于公共密钥pkA的秘密密钥skA的人。
Alice使用公共密钥验证设置为了向Bob证明她是Alice自己,Alice通过一个会话协议向Bob给出指示她知道对应于公共密钥pkA的秘密密钥skA的证据。然后指示Alice知道秘密密钥skA的证据被呈现给Bob,并且在Bob能够确认该证据的情况下,Alice的真实性(Alice是她自己的事实)得以证明。
然而,公共密钥验证设置需要以下条件以便确保安全。
第一个条件是不具有秘密密钥sk的伪造者在执行该会话协议时具有创建伪造品的趋于零的小概率。支持第一个条件被称为“健壮性”。换言之,健壮性可被重新叙述为:“缺少秘密密钥sk的伪造者在会话协议过程中建立伪造品的可能性是可忽略的”。第二个条件是,即使执行该会话协议,没有关于Alice的秘密密钥skA的信息被泄露给Bob。支持第二个条件被称为“零知识”。
安全地实施公共密钥验证涉及使用表现出健壮性和零知识两者的会话协议。如果一种验证处理被使用缺少健壮性和零知识的会话协议假设地实施,将存在虚假验证的确切的可能性以及秘密密钥信息泄露的确切的可能性,并且因此即使成功地完成该处理本身,也不能证明证明者的真实性。因此,如何确保会话协议的健壮性和零知识的问题是重要的。
(模型)
如图1所示,公共密钥验证方案的模型中存在证明者和检验者两种身份。证明者使用密钥产生算法Gen产生证明者独有的配对的秘密密钥sk和公共密钥pk。随后,证明者使用利用密钥产生算法Gen产生的配对的秘密密钥sk和公共密钥pk与检验者执行一个会话协议。此时,证明者通过使用证明者算法P执行会话协议。如上所述,证明者使用证明者算法P在会话协议过程中向检验者给出她拥有秘密密钥sk的证据。
同时,检验者使用检验者算法V执行会话协议,并且检验证明者是否拥有与该证明者公布的公共密钥对应的秘密密钥。换言之,检验者是检验证明者是否拥有对应于该公共密钥的秘密密钥的实体。这样,公共密钥验证方案的模型由检验者和证明者两个实体,以及密钥产生算法Gen、证明者算法P和检验者算法V三个算法组成。
注意,虽然以下在本说明书中使用了术语"证明者"和"检验者",这些术语最终意指实体。因此,执行密钥产生算法Gen和证明者算法P的机构是对应于"证明者"实体的信息处理装置。类似地,执行检验者算法V的机构是一种信息处理装置。这些信息处理装置的硬件配置,例如,如图17所示。换言之,根据记录在诸如ROM 904、RAM 906、存储单元920或者可移动介质928的设备上的程序,使用设备诸如CPU 902,由处理电路执行密钥产生算法Gen、证明者算法P和检验者算法V。
(密钥产生算法Gen)
证明者使用密钥产生算法Gen。密钥产生算法Gen是产生证明者独有的配对的秘密密钥sk和公共密钥pk的算法。以密钥产生算法Gen产生的公共密钥pk被公布。然后由检验者使用这样公布的公共密钥pk。同时,证明者将通过密钥产生算法Gen产生的秘密密钥sk保密。被证明者保密的秘密密钥sk然后被用于向检验者证明证明者拥有对应于公共密钥pk的秘密密钥sk。在形式上,密钥产生算法Gen被表示为类似下面公式1的算法,其接受安全参数1p(其中p是等于或者大于0的整数)作为输入,并且输出秘密密钥sk和公共密钥pk。
[数学式1]
(sk,pk)←Gen(1p)
…(1)
(证明者算法P)
证明者算法P由证明者使用。证明者算法P是用于向检验者证明证明者拥有对应于公共密钥pk的秘密密钥sk的算法。换言之,证明者算法P是接受秘密密钥sk和公共密钥pk作为输入,并且执行会话协议的算法。
(检验者算法V)
检验者算法V由检验者使用。检验者算法V是在会话协议过程中检验证明者是否拥有对应于公共密钥pk的秘密密钥sk的算法。检验者算法V是接受公共密钥pk作为输入,并且根据会话协议的执行结果输出0或者1(1比特)的算法。此时,在检验者算法V输出0的情况下,检验者决定证明者是无效的,并且在检验者算法V输出1的情况下决定证明者有效。在形式上,检验者算法V被以下列公式2表示。
[数学式2]
O/1←V(pk)
…(2)
如上所述,实现有意义的公共密钥验证涉及使得会话协议满足健壮性和零知识两个条件。然而,证实证明者拥有秘密密钥sk涉及证明者执行依赖于秘密密钥sk的处理过程,并且之后将结果通知检验者,使得检验者基于通知的内容执行检验。执行依赖于秘密密钥sk的处理过程以便确保健壮性。同时,不向检验者揭示关于秘密密钥sk的信息。为此,上面的密钥产生算法Gen、证明者算法P和检验者算法V被巧妙地设计以便满足这些要求。
因此上述概述了公共密钥验证方案中的算法。
1-2.用于电子签名方案的算法
接着,将参考图2概述用于电子签名方案的算法。图2是概述用于电子签名方案的算法的解释图。
不同于书面文件,不可能在数字化数据上物理地签名或者加盖印信。为此,证明数字化数据的创建者涉及产生类似于给纸面文档物理地签名或加盖印信的效果的电子设置。这种设置是电子签名。电子签名指以下设置:将给定数据与仅有该数据的创建者知道的签名数据相关联,将签名数据提供给接收者,并且在接收者一端检验签名数据。
(模型)
如图2所示,电子签名方案的模型中存在签名者和检验者两种身份。另外,电子签名方案的模型由三个算法组成:密钥产生算法Gen、签名产生算法Sig和签名检验算法Ver。
签名者使用密钥产生算法Gen产生签名者独有的配对的签名密钥sk和检验密钥pk。签名者还使用签名产生算法Sig产生电子签名q以便附加于消息M。换言之,签名者是将电子签名附加到消息M的实体。同时,检验者使用签名检验算法Ver检验附接到消息M的电子签名。换言之,检验者是检验电子签名q以便确认消息M的创建者是否是签名者的实体。
注意,虽然以下在本说明书中使用术语"签名者"和"检验者",这些术语最终意指实体。因此,执行密钥产生算法Gen和签名产生算法Sig的机构是一种对应于"签名者"实体的信息处理装置。类似地,执行签名检验算法Ver的机构是一种信息处理装置。这些信息处理装置的硬件配置,例如,如图17所示。换言之,由诸如CPU 902的设备根据记录在诸如ROM 904、RAM 906、存储单元920或者可移动介质928的设备上的程序执行密钥产生算法Gen、签名产生算法Sig和签名检验算法Ver。
(密钥产生算法Gen)
密钥产生算法Gen由签名者使用。密钥产生算法Gen是产生签名者独有的配对的签名密钥sk和检验密钥pk的算法。以密钥产生算法Gen产生的检验密钥pk被公布。同时,签名者将密钥产生算法Gen产生的签名密钥sk保密。然后签名密钥sk用于产生电子签名q以便附加于消息M。例如,密钥产生算法Gen接受安全参数1p(其中p是等于或者大于0的整数)作为输入,并且输出签名密钥sk和检验密钥pk。在这种情况下,密钥产生算法Gen可被在形式上以下列公式3表示。
[数学式3]
(sk,pk)←Gen(1p)
…(3)
(签名产生算法Sig)
签名产生算法Sig由签名者使用。签名产生算法Sig是产生将被附加到消息M的电子签名q的算法。签名产生算法Sig是接受签名密钥sk和消息M作为输入,并且输出电子签名q的算法。签名产生算法Sig可被在形式上以下列公式4表示。
[数学式4]
q←Sig(sk,M)
…(4)
(签名检验算法Ver)
签名检验算法Ver由检验者使用。签名检验算法Ver是检验电子签名q是否是用于消息M的有效的电子签名的算法。签名检验算法Ver是接受签名者的检验密钥pk、消息M和电子签名q作为输入,并且输出0或者1(1比特)的算法。签名检验算法Ver可被在形式上以下列公式5表示。此时,在签名检验算法Ver输出0的情况下(检验密钥pk拒绝消息M和电子签名q的情况),检验者决定电子签名q是无效的,并且在签名检验算法Ver输出1的情况下(检验密钥pk接受消息M和电子签名q的情况),决定电子签名q是有效的。
[数学式5]
0/1←Ver(pk,M,q)
…(5)
因此前面概述了电子签名方案中的算法。
1-3.n遍公共密钥验证方案
接着,将参考图3描述n遍公共密钥验证方案。图3是示出了n遍公共密钥验证方案的解释图。
如上所述,公共密钥验证方案是在会话协议过程中向检验者证明证明者拥有对应于公共密钥pk的秘密密钥sk的验证方案。另外,会话协议必须满足健壮性和零知识两个条件。为此,如图3所示,在会话协议过程中,证明者和检验者两者在执行相应处理的同时交换n次信息。
在n遍公共密钥验证方案的情况下,证明者使用证明者算法P执行处理(操作#1),并且将信息T1传输给检验者。随后,检验者使用检验者算法V执行处理(操作#2),并且将信息T2传输给证明者。对于k=3到n,这种执行和处理以及信息Tk的传输被连续地实施,并且最后执行处理(操作#n+1)。因此以这种方式传输和接收信息n次被称为"n遍"公共密钥验证方案。
因此前面描述了一种n遍公共密钥验证方案。
2.关于3遍公共密钥验证方案的算法结构
以下,将描述关于3遍公共密钥验证方案的算法。注意在下面的说明书中,在某些情况下,3遍公共密钥验证方案还可以被称为"3遍方案"。
2-1.具体算法结构的例子(图4)
首先,将参考图4介绍关于3遍方案的具体算法结构的例子。图4是示出了关于3遍方案的具体算法结构的图。此时,考虑使用二阶多项式组(f1(x),...,fm(x))作为公共密钥pk的一部分的情况。然而,假设二阶多项式fi(x)被以下列公式6表达。另外,x表示向量(x1,...,xn),并且多元多项式F(x)表示二阶多项式组(f1(x),...,fm(x))。
[数学式6]
f i ( x 1 , . . . , x n ) = Σ j , k a ijk x j x k + Σ j b ij x j . . . ( 6 )
二阶多项式组(f1(x),...,fm(x))还可以被下列公式7表示,其中A1到Am是n x n矩阵,并且b1到bm是相应的n x 1向量。
[数学式7]
F ( x ) = f 1 ( x ) . . . f m ( x ) = x T A 1 x + b 1 T x . . . x T A m x + b m T x . . . ( 7 )
使用这种表达式,多元多项式F可被下列的公式8和9表示。可以容易地从下面的公式10确认这些表达式。
[数学式8]
F(x+y)=F(x)+F(y)+G(x,y)
...(8)
G ( x , y ) = y T ( A 1 T + A 1 ) x . . . y T ( A m T + A m ) x . . . ( 9 )
f l ( x + y ) = ( x + y ) T A l ( x + y ) + b l T ( x + y ) = x T A l x + x T A 1 y + y T A l x + y T A l y + b l T x + b l T y = f l ( x ) + f l ( y ) + x T A l y + y T A l x = f l ( x ) + f l ( y ) + x T ( A l T ) T y + y T A l x = f l ( x ) + f l ( y ) + ( A l T x ) T y + y T A l x = f l ( x ) + f l ( y ) + y T ( A l T x ) + y T A l x = f l ( x ) + f l ( y ) + y T ( A l T + A l ) x . . . ( 10 )
当将F(x+y)以这种方式划分为依赖于x的第一部分,依赖于y的第二部分以及依赖于x和y两者的第三部分时,对应于第三部分的项G(x,y)相对于x和y成为是双线性的。以下,项G(x,y)在某些情况下可被称为双线性项。使用这种性质使得能够构造有效的算法。
例如,使用作为集合Kn的元素的向量t0和作为集合Km的元素的向量e0来将用于掩饰多元多项式F(x+r)的多元多项式F1(x)表达为F1(x)=G(x,t0)+e0。在这种情况下,多元多项式F(x+r0)和G(x)的和被下面的公式11表达。如果t1=r0+t0且e1=F(r0)+e0,多元多项式F2(x)=F(x+r0)+F1(x)可被以作为集合Kn的元素的向量t1和作为集合Km的元素的向量e1表达。为此,设置F1(x)=G(x,t0)+e0使得能够使用Kn中的向量和Km中的向量表达F1和F2,使得可以用小的通信数据量实现有效的算法。
[数学式9]
F(x+r0)+F1(x)
=F(x)+F(r0)+G(x,r0)+G(x,t0)+e0
=F(x)+G(x,r0+t0)+F(r0)+e0
…(11)
注意,F2(或者F1)没有泄露关于r0的信息。例如,即使给出e1和t1(或者e0和t0),只要e0和t0(或者e1和t1)是未知的,就不能确定关于r0的信息。因此,确保零知识。以下,将描述基于上面的逻辑构造的3遍方案的算法。此处描述的3遍方案的算法由类似下列的密钥产生算法Gen、证明者算法P和检验者算法V组成。
(密钥产生算法Gen)
密钥产生算法Gen产生在环K上定义的m个多元多项式f1(x1,...,xn),...,fm(x1,...,xn),以及作为集合Kn的元素的向量s=(s1,...,sn)。接着,密钥产生算法Gen计算y=(y1,...,ym)<-(f1(s),...,fm(s))。密钥产生算法Gen还设置f1(x1,...,xn),...,fm(x1,...,xn)作为公共密钥,并且设置s作为秘密密钥。
(证明者算法P,检验者算法V)
以下,将参考图4描述在会话协议过程中由证明者算法P执行的处理和由检验者算法V执行的处理。在会话协议过程中,证明者向检验者指出"我知道满足y=F(s)的s",而不向检验者泄露关于秘密密钥s的信息。同时,检验者检验证明者是否知道满足y=F(s)的s。注意,假设公共密钥pk被向检验者公开。另外,假设秘密密钥s由证明者保密。以下,说明书将按照图4所示的流程图继续。
操作#1:
如图4所示,证明者算法P首先随机产生向量r0,作为集合Kn的元素的t0,以及作为集合Km的元素的向量e0。随后,证明者算法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}中选择数值,并在挑战(challenge)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遍方案的有效算法结构的例子。
2-2.并行算法结构的例子(图5)
接着,将参考图5描述并行化图4所示的3遍方案的算法的方法。然而,将省略对密钥产生算法Gen的结构的进一步说明。
应用上面的会话协议使得可以将成功伪造品的概率保持为2/3或者更低。因此,执行两次该会话协议使得可以将成功伪造品的概率保持为(2/3)2或者更低。此外,如果执行该会话协议N次,成功伪造品的概率将成为(2/3)N,并且如果N被设置为足够大的数(例如,N=140),成功伪造品的概率将变得可忽视地小。
多次执行会话协议的可以构想的方法包括顺序地多次重复消息交换、挑战和响应的串行方法,以及例如在单个交换中交换多个消息、挑战和响应的并行方法。另外,还可以构想组合串行方法和并行方法的混合方法。现在将参考图5描述并行执行上面的关于3遍方案的会话协议的算法(以下被称为并行化算法)。
操作#1:
如图5所示,证明者算法P首先针对i=1到N执行下列处理(1)到(6)。
处理(1):证明者算法P随机产生r0i,作为集合Kn的元素的向量t0i,以及作为集合Km的元素的向量e0i
处理(2):证明者算法P计算r1i<-s-r0i。该计算等价于以向量r0i屏蔽秘密密钥s。另外,证明者算法P计算t1i<-r0i+t0i
处理(3):证明者算法P计算e1i<-F(r0i)-e0i
处理(4):证明者算法P计算c0i<-H(r1i,G(r1i,t0i)+e0i)。
处理(5):证明者算法P计算c1i<-H(t0i,e0i)。
处理(6):证明者算法P计算c2i<-H(t1i,e1i)。
操作#1(继续):
在针对i=1到N执行上面的处理(1)到(6)之后,证明者算法P计算Cmt<-H(c01,c11,c21,...,c0N,c1N,c2N)。在操作#1中产生的哈希值Cmt被发送给检验者算法V。以这种方式,消息(c01,c11,c21,...,c0N,c1N,c2N)在被发送给检验者算法V之前被转变为哈希值,因此使得能够减少通信量。注意,证明者算法P还可以将(c01,c11,c21,...,c0N,c1N,c2N)发送给检验者算法V。
操作#2:
在接收到哈希值Cmt之后,检验者算法V为i=1到N中的每一个从三个检验模式中选择使用的检验模式。例如,检验者算法V可以,为i=1到N中的每一个,从表示检验模式的三个数值{0,1,2}中选择数值,并且在挑战Chi中设置所选择的数值。挑战Ch1,...,ChN被发送给证明者算法P。
操作#3:
在接收到挑战Ch1,...,ChN之后,证明者算法P响应于接收到的挑战Ch1,...,ChN中的每一个产生要发送给检验者算法V的响应Rsp1,...,RspN。在Chi=0的情况下,证明者算法P产生响应Rspi=(r0i,t1i,e1i,c0i)。在Chi=1的情况下,证明者算法P产生响应Rspi=(r1i,t0i,e0i,c2i)。在Chi=2的情况下,证明者算法P产生响应Rspi=(r1i,t1i,e1i,c1i)。
在操作#3中产生的响应Rsp1,...,RspN被发送给检验者算法V。
操作#4:
在接收到响应Rsp1,...,RspN之后,检验者算法V使用接收到的响应Rsp1,...,RspN针对i=1到N执行下列处理(1)到(3)。此处,检验者算法V针对Chi=0的情况执行处理(1),在Chi=1的情况下执行处理(2),并且在Chi=2的情况下执行处理(3)。
处理(1):在Chi=0的情况下,检验者算法V从Rspi检索(r0i,t1i,e1i,c0i)。随后,检验者算法V计算c1i=H(r0i-t1i,F(r0i)-e1i)。另外,检验者算法V计算c2i=H(t1i,e1i)。检验者算法V然后存储(c0i,c1i,c2i)。
处理(2):在Chi=1的情况下,检验者算法V从Rspi检索(r1i,t0i,e0i,c2i)。随后,检验者算法V计算c0i=H(r1i,G(t0i,r1i)+e0i)。另外,检验者算法V计算c1i=H(t0i,e0i)。检验者算法V然后存储(c0i,c1i,c2i)。
处理(3):在Chi=2的情况下,检验者算法V从Rspi检索(r1i,t1i,e1i,c1i)。随后,检验者算法V计算c0i=H(r1i,y-F(r1i)-G(t1i,r1i)-e1i)。另外,检验者算法V计算c2i=H(t1i,e1i)。检验者算法V然后存储(c0i,c1i,c2i)。
在针对i=1到N执行上面的处理(1)至(3)之后,检验者算法V检验等式Cmt=H(c01,c11,c21,...,c0N,c1N,c2N)是否成立。在检验成功的情况下,检验者算法V输出值1以便指示验证成功,并且在该检验失败的情况下输出值0以便指示验证失败。
因此,前面描述了关于3遍方案的有效的并行化算法结构的例子。
3.对电子签名方案的修改
接着,将介绍将上面的公共密钥验证方案修改为电子签名方案的方法。
将公共密钥验证方案的模型中的证明者与电子签名方案中的签名者相关联容易表明公共密钥验证方案的模型在仅有证明者能够使得检验者确信方面与电子签名方案的模型是近似的。基于这种想法,将描述将上面讨论的公共密钥验证方案修改为电子签名方案的方法。
3-1.从3遍公共密钥验证方案到电子签名方案的修改(图6)
首先,将描述从3遍公共密钥验证方案到电子签名方案的修改。如图6所示,从3遍公共密钥验证方案修改为电子签名方案的算法类似于参考图5描述的3遍方案的算法的并行化版本的一部分。如图6所示,以图5中的操作#1到操作#4表示的公共密钥验证方案的算法被修改为签名产生算法Sig和签名检验算法Ver。
操作#1:
如图6所示,操作#1类似于图5中的操作#1。
操作#2:
在接下来的操作#2中,在图5中被发送给检验者算法V的Cmt<-H(c01,c11,c21,...,c0N,c1N,c2N)不被发送给签名检验算法Ver,相反,签名产生算法Sig计算附加有Cmt和签名的消息M的哈希值H(M,c01,c11,c21,...,c0N,c1N,c2N)作为(Ch1,...,ChN)。换言之,签名产生算法Sig计算(Ch1,…,ChN)<-H(M,c01,c11,c21,...,c0N,c1N,c2N)。
操作#3:
如图6所示,操作#3类似于图5中的操作#3。签名产生算法Sig响应于Ch1,...,ChN中的每一个而产生要发送给签名检验算法Ver的qi。在Chi=0的情况下,签名产生算法Sig产生响应qi=(r0i,t1i,e1i,c0i)。在Chi=1的情况下,签名产生算法Sig产生响应qi=(r1i,t0i,e0i,c2i)。在Chi=2的情况下,签名产生算法Sig产生响应qi=(r1i,t1i,e1i,c1i)。
在操作#3中产生的Ch1,...,ChN和q1,...,qN被发送给签名检验算法Ver。同时,附加有签名的消息M也被发送给签名检验算法Ver。
操作#4:
如图6所示,操作#4基本上类似于图5中的操作#4。在接收到响应q1,...,qN之后,签名检验算法Ver使用接收到的响应q1,...,qN为i=1到N执行下列处理(1)到(3)。此处,签名检验算法Ver为Chi=0的情况执行处理(1),在Chi=1的情况下执行处理(2),并且在Chi=2的情况下执行处理(3)。
处理(1):在Chi=0的情况下,签名检验算法Ver从qi检索(r0i,t1i,e1i,c0i)。随后,签名检验算法Ver计算c1i=H(r0i-t1i,F(r0i)-e1i)。另外,签名检验算法Ver计算c2i=H(t1i,e1i)。签名检验算法Ver然后存储(c0i,c1i,c2i)。
处理(2):在Chi=1的情况下,签名检验算法Ver从qi检索(r1i,t0i,e0i,c2i)。随后,签名检验算法Ver计算c0i=H(r1i,G(t0i,r1i)+e1i)。另外,签名检验算法Ver计算c1i=H(t0i,e0i)。签名检验算法Ver然后存储(c0i,c1i,c2i)。
处理(3):在Chi=2的情况下,签名检验算法Ver从qi检索(r1i,t1i,e1i,c1i)。随后,签名检验算法Ver计算c0i=H(r1i,y-F(r1i)-G(t1i,r1i)-e1i)。另外,签名检验算法Ver计算c2i=H(t1i,e1i)。签名检验算法Ver然后存储(c0i,c1i,c2i)。
在为i=1到N执行上面的处理(1)到(3)之后,签名检验算法Ver检验等式(Ch1,...,ChN)=H(M,c01,c11,c21,...,c0N,c1N,c2N)是否成立。在检验成功的情况下,签名检验算法Ver输出值1以便指示验证成功,并且在检验失败的情况下输出值0以便指示验证失败。
如上所述,将公共密钥验证方案的模型中的证明者与电子签名方案中的签名者相关联使得能够将公共密钥验证方案的算法修改为电子签名方案的算法。
4.第一实施例
4-1.根据第一实施例的系统的总结
图7是概述根据第一实施例的系统的示意图。首先,将参考图7概述根据第一实施例的系统。如图7所示,根据第一实施例的系统包括第一信息处理装置100和第二信息处理装置200。第一信息处理装置100是,例如,由使用该系统的用户拥有的装置。同时,第二信息处理装置200是例如不由该用户拥有的外部装置。
为了根据上面讨论的电子签名方案进行验证,在第一实施例中,IC卡300配备有电子签名产生功能。通过携带这种IC卡300,即使在使用外部第二信息处理装置200的情况下,用户能够安全地产生电子签名。IC卡300和第一信息处理装置100或者第二信息处理装置200之间的信息的交换使用诸如FeliCa端口或者NFC设备的接口。
采用图7所示的配置,用户能够在外面携带具有签名产生功能的IC卡300,并且结合作为外部终端的第二信息处理装置200产生签名。此时,大部分计算被事先在用户自己的第一信息处理装置100上执行,并且给出的信息被保存在IC卡300上。在第一信息处理装置100上执行不依赖该消息并且不造成安全风险的计算。通过使得与IC卡300有关的处理仅仅涉及从IC卡300读出数据,可以使得在IC卡300上执行的计算最少化。因此,可以减少IC卡300上的处理负载,以便实现更快的处理。
4-2.根据第一实施例的系统的处理
在第一实施例中,第一信息处理装置100实施图6所示的算法的不依赖消息(Msg)的部分(消息无关的部分)。当基于图7描述由第一信息处理装置100进行的处理时,第一信息处理装置100首先产生作为集合Kn的元素的秘密密钥x,其被保存在第一信息处理装置100中的内部存储器内。接下来,产生用于产生电子签名的信息。此时,产生以图6描述的r1,i,r0,i,t1,i,t0,i,e1,i,e0,i,c0,i,c1,i和c2,i(其中i=1,...,N)。通过使用诸如FeliCa端口或者NFC设备的接口在第一信息处理装置100和IC卡300之间进行近场通信,产生的信息r1,i,r0,i,t1,i,t0,i,e1,i,e0,i,c0,i,c1,i,和c2,i(其中i=1,...,N)被从第一信息处理装置100传输到IC卡300。注意,每次产生电子签名时,信息r1,i,r0,i,t1,i,t0,i,e1,i,e0,i,c0,i,c1,i,和c2,i(其中i=1,...,N)被更新。
以这种方式,通过事先在第一信息处理装置100上计算消息无关的部分(随机数生成,MQ函数计算和消息无关的部分的哈希值计算),IC卡300能够跳过这些计算。因此,即使在使用IC卡300产生电子签名的情况下,可以减少IC卡300的制造成本,并且不增加IC卡300的处理能力。另外,因为用于电子签名产生的总处理时间几乎完全被产生消息无关的部分所占据,使得第一信息处理装置100事先执行这些计算使得能够显著加速产生签名所花费的总时间。
接着,第二信息处理装置200和IC卡300通信,由此产生用于图6所示的依赖于消息M的部分的信息(消息相关的部分)。图8是示出了产生用于消息相关部分的信息的处理的序列图。根据该序列,最终在第二信息处理装置200产生电子签名。
首先,在步骤S10,在第二信息处理装置200上产生消息M。接着,在步骤S12,从第二信息处理装置200向IC卡300传输用于产生消息M的签名的启动命令。在下一个步骤S14中,用于签名产生的信息c0,i,c1,i和c2,i(其中i=1,...,N)被从IC卡300传输到第二信息处理装置200。
在下一个步骤S16,第二信息处理装置200产生用于签名产生的信息Ch1,...,ChN。信息Ch1,...,ChN被作为哈希值H(M,c0,1,c1,1,c2,1,...,c0,N,c1,N,c2,N)产生。在下一个步骤S18,第二信息处理装置200将用于签名产生的信息Ch1,...,ChN传输到IC卡300。
在下一个步骤S20,IC卡300基于传输的信息Ch1,...,ChN检索IC卡300内部的值qi。在下一个步骤S22,IC卡300将在步骤S20检索的信息qi传输到第二信息处理装置200。在下一个步骤S24,第二信息处理装置200获得电子签名q1,...,qN。在步骤S20和S22,IC卡300根据Chi的值为i=1,...,N选择qi<-(r0,i,t1,i,e1,i,c0,i),qi<-(r1,i,t1,i,e1,i,c1,i)和qi<-(r1,i,t0,i,e0,i,c2,i)中的任意一个。获得该电子签名之后,第二信息处理装置200将消息M和电子签名q1,...,qN和Ch1,...,ChN一起发送到检验者的终端,从而使得可以如图6所示接收检验。
注意,可以确定一种卡使用限制作为防止丢失IC卡300的对策,其中每次使用都从IC卡300内部的存储器中删除等同于单个电子签名产生的信息。可替换地,可以存储电子签名产生计数,并且当达到给定计数时,可以删除IC卡300内部的信息。
根据上面的处理,IC卡300能够结合外部终端(第二信息处理装置200)产生签名,并且因此可以减少IC卡300上的计算负载。IC卡300基本上仅仅实施数据检索处理,由外部终端(第一信息处理装置100)通过代理实施哈希值计算。因此,可以最小化IC卡300上的处理负载。
4-3.根据第一实施例的系统的示例性配置
图9是示出了第一实施例的配置的功能方框图。如图9所示,第二信息处理装置200包括消息产生器202、哈希值产生器204、信息存储单元206、收发器208和电子签名产生器210。同时,IC卡300包括信息存储单元(信息保留单元)302和收发器304。注意,图9所示的配置可被以电路(硬件)实现,或被以使得处理器(诸如CPU)发挥这种配置的功能的程序(软件)实现。这类似地适用于图12和14。
消息产生器202在图8的步骤S10产生消息M。哈希值产生器204在图8的步骤S16产生用于签名产生的哈希值。信息存储单元206是存储诸如用于签名产生的信息c0,i,c1,i和c2,i(其中i=1,...,N)、消息M的信息的信息记录单元。收发器208在图8的步骤S12中向IC卡300传输签名产生命令。收发器208还在步骤S14接收用于签名产生的信息c0,i,c1,i和c2,i(其中i=1,...,N)。收发器208还在步骤S18将哈希值Ch1,...,ChN传输到IC卡300。收发器208还在步骤S22从IC卡300接收电子签名q1,...,qN
IC卡300内的信息存储单元302存储(保留)由第一信息处理装置100产生的用于消息无关部分的信息。收发器304在图8的步骤S14将存储在信息存储单元302内的信息中用于签名产生的信息c0,i,c1,i和c2,i(其中i=1,...,N)传输到第二信息处理装置200。收发器304还在步骤S20将基于从第二信息处理装置200传输的信息从信息存储单元302检索的信息qi传输到第二信息处理装置200。
4-4.对第一实施例的修改
在图8所示的例子的步骤S22,cj,i被作为qi的一部分传输到第二信息处理装置200。换言之,在步骤S20,检索下列值作为qi
对于i=1,...,N
如果Chi=0则qi->(r0,i,t1,i,e1,i,c0,i)
如果Chi=1则qi->(r1,i,t1,i,e1,i,c1,i)
如果Chi=2则qi->(r1,i,t0,i,e0,i,c2,i)
此时,因为cj,i已经在步骤S14被发送给第二信息处理装置200,还可以省略在步骤S22中的cj,i的传输。
为此,在图13中,取代图8的步骤S22提供步骤S26。在步骤S26,qi'=q1',...,qN'(其中cj,i被从qi中去除)被从IC卡300传输到第二信息处理装置200。换言之,在步骤S20检索下列值。
对于i=1,...,N
如果Chi=0则qi->(r0,i,t1,i,e1,i)
如果Chi=1则qi->(r1,i,t1,i,e1,i)
如果Chi=2则qi->(r1,i,t0,i,e0,i)
因此,在步骤S26,与传输qi=q1...,qN的图8的步骤S22相比,可以进一步减少通信量。
在通过步骤S26的处理接收qi'=q1',...,qN'之后,第二信息处理装置200在步骤S28给q1',...,qN'中的每一个添加cj,i以便产生q1,...,qN。项cj,i在被于步骤S14从IC卡300接收之后被在步骤S15中存储在哈希值产生器204内。因此,第二信息处理装置200能够在步骤S28产生电子签名q1,...,qN。图9所示的电子签名产生器210产生电子签名q1,...,qN
根据如上所述的第一实施例,消息无关的部分由用户自己的终端(第一信息处理装置100)产生,并且被传送到IC卡300,由此使得能够使用外部终端(第二信息处理装置200)产生电子签名。
5.第二实施例
5-1.根据第二实施例的系统的总结
接着,将描述本公开的第二实施例。在第一实施例中,第二信息处理装置200产生哈希值Ch1,...,ChN(图8中的步骤S16,图9中的哈希值产生器204)。在第二实施例中,在第二信息处理装置200不配备有哈希产生功能的情况下,通过配备有哈希产生功能的另一个设备上的替代计算产生哈希值。
图10是概述根据第二实施例的系统的示意图。首先,将参考图10概述根据第二实施例的系统。如图10所示,除了第一信息处理装置100和第二信息处理装置200之外,根据第二实施例的系统还包括服务器400。第一信息处理装置100和第二信息处理装置200的基本配置类似于第一实施例,但是假设第二信息处理装置200缺少哈希产生功能。
类似于第一实施例,在第二实施例中,第一信息处理装置100同样地实施图6所示的算法的不依赖消息(Msg)的一部分(消息无关部分)。第一信息处理装置100产生作为集合Kn的元素的秘密密钥x,其被保存在第一信息处理装置100内的内部存储器内。接着,产生用于产生电子签名的信息。通过在第一信息处理装置100和IC卡300之间实施近场通信,产生的信息r1,i,r0,i,t1,i,t0,i,e1,i,e0,i,c0,i,c1,i,和c2,i(其中i=1,...,N)被从第一信息处理装置100传输到IC卡300。
另外,第一信息处理装置100将用于计算哈希值的信息传输到服务器400。具体地,第一信息处理装置100将ID号和c0,i,c1,i和c2,i(其中i=1,...,N)作为用于计算哈希值的信息传输到服务器400。ID号和c0,i,c1,i和c2,i(其中i=1,...,N)被保存在服务器400内。此处ID号是对应于c0,i,c1,i和c2,i(其中i=1,...,N)的值,并且服务器400能够基于ID号提取对应的c0,i,c1,i和c2,i(其中i=1,...,N)。
第二信息处理装置200配合服务器400创建消息相关的部分。此时,第二信息处理装置200结合服务器400工作,以便基于保存在IC卡300内的信息创建由第二信息处理装置200创建的文档、数据或者其它信息(消息M)的签名。其细节如下所述。
5-2.根据第二实施例的系统的处理
将基于图11描述第二实施例的处理。图11是示出了第二实施例的处理的序列图,并且示出了产生用于消息相关部分的信息的处理。首先,在步骤S30,在第二信息处理装置200上产生消息M。接着,在步骤S32,将用于产生用于消息M的签名的启动命令从第二信息处理装置200传输到IC卡300。
在下一个步骤S34,用于产生签名的签名产生ID号被从IC卡300发送到第二信息处理装置200。发送该签名产生ID号以便识别c0,1,...,c2,n。在下一个步骤S36,该ID号被从第二信息处理装置200传输到服务器400。
如以前讨论的,服务器400已经存储了从第一信息处理装置100传输的ID号和信息c0,i,c1,i和c2,i(其中i=1,...,N)。
在下一个步骤S38,服务器400检查从第二信息处理装置200接收的ID号。在下一个步骤S40,从服务器400向第二信息处理装置200传输消息发送命令。在下一个步骤S42,消息M被从第二信息处理装置200传输到服务器400。
在下一个步骤S44,服务器400产生用于签名产生的信息(哈希值Ch1,...,ChN)。此时,服务器400从存储器提取对应于在步骤S38检查的ID号的c0,i,c1,i和c2,i(其中i=1,..,N),并且计算哈希值H(M,c0,1,c1,1,c2,1,...,c0,N,c1,N,c2,N)为Ch1,...,ChN。在下一个步骤S46,服务器400将用于签名产生的信息Ch1,.,ChN传输到第二信息处理装置200。在下一个步骤S48,第二信息处理装置200将用于签名产生的信息Ch1,...,ChN传输到IC卡300。
在下一个步骤S50,IC卡300基于传输的信息Ch1,...,ChN检索在内部记录的值。在下一个步骤S52,IC卡300将检索到的信息(电子签名qi,...,qN)传输到第二信息处理装置200。在步骤S50和S52,IC卡300根据Chi的值,为i=1,...,N,选择qi<-(r0,i,t1,i,e1,i,c0,i),qi<-(r1,i,t1,i,e1,i,c1,i)和qi<-(r1,i,t0,i,e0,i,c2,i)中的任意一个。在下一个步骤S54,第二信息处理装置200获得电子签名q1,...,qN。在获得该电子签名之后,第二信息处理装置200将消息M与电子签名q1,...,qN和Ch1,...,ChN一起发送到检验者的终端,从而使得可以接收检验。
5-3.根据第二实施例的系统的示例性配置
图12是示出了第二实施例的配置的功能方框图。如图12所示,第二信息处理装置200包括消息产生器202、信息存储单元206和收发器208。同时,IC卡300包括信息存储单元302和收发器304。服务器400包括ID号检查器402、哈希值产生器404、信息存储单元406和收发器408。
图12中的消息产生器202在图11的步骤S30产生消息M。信息存储单元206存储信息,诸如消息M、用于签名产生的信息Ch1,...,ChN,和电子签名q1,...,qN。收发器208在图11的步骤S32向IC卡300传输签名产生命令。收发器208还在步骤S34接收ID号,并且在步骤S36传输该ID号。收发器208还在步骤S40接收消息发送命令,并且在步骤S42传输消息M。收发器208还在步骤S46接收用于签名产生的信息Ch1,...,ChN,并且在步骤S48将用于签名产生的信息Ch1,...,ChN传输到IC卡300。收发器208还在步骤S52接收电子签名q1,...,qN
根据如上所述的第二实施例,在第二信息处理装置200不配备有哈希产生功能的情况下,可以在服务器400处产生哈希值。因此,即使在第二信息处理装置200(即,外部终端)缺少特殊功能的情况下,也可以获得电子签名。
6.第三实施例
6-1.根据第三实施例的系统的总结
接着,将描述本公开的第三实施例。第三实施例的基本系统配置类似于图7所示的第一实施例。在第三实施例中,不是将第一实施例的第一信息处理装置100保存到IC卡300的所有信息保存到安全区域,并且在安全区域内仅仅保存并且保护关于秘密密钥的信息。因此,可以限制安全存储器区域的大小,并且减少IC卡300的制造成本。
在第三实施例中,第一信息处理装置100同样地实施图6所示的算法的不依赖消息(Msg)的一部分(消息无关的部分)。通过在第一信息处理装置100和IC卡300之间实施近场通信,产生的信息r1,i,r0,i,t1,i,t0,i,e1,i,e0,i,c0,i,c1,i和c2,i(其中i=1,...,N)被从第一信息处理装置100传输到IC卡300。
在第一实施例中,信息r1,i,r0,i,t1,i,t0,i,e1,i,e0,i,c0,i,c1,i和c2,i(其中i=1,...,N)被完全存储在信息存储单元302的安全区域内。相反,在第三实施例中,仅有信息r1,i,r0,i,t1,i,t0,i,e1,i,e0,i,c0,i,c1,i和c2,i(其中i=1,...,N)中的关于秘密密钥的信息r1,i,r0,i,t1,i和t0,i(其中i=1,...,N)被存储在安全区域内。
6-2.根据第三实施例的系统的示例性配置
图14是示出了第三实施例的配置的功能方框图。与图9中的配置相比,IC卡300的信息存储单元302被分成两个单元,并且IC卡300配备有信息存储单元(安全区域)302a和信息存储单元(非安全区域)302b。尽管非安全区域302b是普通的存储器区域,安全区域302a是针对诸如外部攻击或者侵入、窃听和篡改的因素受到保护的区域。仅有信息r1,i,r0,i,t1,i,t0,i,e1,i,e0,i,c0,i,c1,i,和c2,i(其中i=1,...,N)中的关于秘密密钥的信息r1,i,r0,i,t1,i和t0,i(其中i=1,...,N)被存储在信息存储单元(安全区域)302a中。其它信息被存储在信息存储单元(非安全区域)302b内。因此,可以可靠地阻止秘密密钥的泄露,同时还保持安全存储器区域的大小为最小。
根据如上所述的第三实施例,可以将在IC卡300内提供的存储器区域中的安全区域保持为最小。因此,可以减少IC卡300的制造成本。
7.第四实施例
7-1.根据第四实施例的系统的总结
接着,将描述本公开的第四实施例。在第一实施例中,ci,j=c0,i,c1,i,c2,i(其中i=1,...,N)=c0,1,c1,1,c2,1,...,c0,N,c1,N,c2,N在图8的步骤S14被从IC卡300传输到第二信息处理装置200。然后第二信息处理装置200在步骤S16基于ci,j计算哈希值。通过发送利用MD散列函数的特征事先压缩ci,j的信息,第四实施例减少了步骤S14中的通信量以及步骤S16的计算复杂性。
图15是示出了MD散列函数(Merkle-Damgard构造)的示意图。图15所示的散列函数等价于,例如,根据联邦信息处理标准(FIPS)公开180-3的SHA-1/224/256/384/512。该类型的散列函数具有从开始顺序地压缩输入消息(任意长度的数据m)的特征。当被修改时,在图8中的步骤S16计算的哈希值可被如下表示。
H(c0,1,c1,1,c2,2,...,c0,N,c1,N,c2,N,M)=g(k(c0,1,c1,1,c2,1,...,c0,N,c1,N,c2,N),M)
在上面的等式的右侧,k(c0,1,c1,1,c2,1,...,c0,N,c1,N,c2,N)是关于ci,j=c0,i,c1,i,c2,i(其中i=1,...,N)的哈希值,并且可被事先计算,而不用先获得消息M。为此,在第四实施例中,由第一信息处理装置100以压缩形式预先计算关于ci,j的信息k(c0,1,c1,1,c2,1,...,c0,N,c1,N,c2,N)。然后第二信息处理装置200根据消息M计算最终哈希值g(k(c0,1,c1,1,c2,1,...,c0,N,c1,N,c2,N),M)。因此,可以大大地减少步骤S16的计算复杂性。
第四实施例中的系统的一般特征类似于图7所示的第一实施例的特征。在第四实施例中,第一信息处理装置100实施图6所示的算法的不依赖消息M的部分(消息无关的部分),并且类似于第一实施例产生信息r1,i,r0,i,t1,i,t0,i,e1,i,e0,i,c0,i,c1,i和c2,i(其中i=1,...,N)。
在第一实施例中,产生的信息r1,i,r0,i,t1,i,t0,i,e1,i,e0,i,c0,i,c1,i和c2,i(其中i=1,...,N)被传输到IC卡300。相反,在第四实施例中,第一信息处理装置100基于c0,i,c1,i和c2,i(其中i=1,...,N)产生信息k(c0,1,...,c2,N)。然后通过在第一信息处理装置100和IC卡300之间实施近场通信,将第一信息处理装置100产生的信息r1,i,r0,i,t1,i,t0,i,e1,i,e0,i,c0,i,c1,i和c2,i(其中i=1,...,N)以及k(c0,1,...,c2,N)从第一信息处理装置100传输到IC卡300。
图16是示出了第四实施例的处理的序列图,并且示出了产生用于消息相关部分的信息的处理。与第一实施例的图8相比,除了信息r1,i,r0,i,t1,i,t0,i,e1,i,e0,i,c0,i,c1,i和c2,i(其中i=1,...,N)之外,信息k(c0,1,...,c2,N)被事先保存在IC卡300内。
另外,在图16中,取代图8中的步骤S14实施S15步骤的处理。在步骤S15,信息k(c0,1,...,c2,N)被作为用于签名产生的信息从IC卡300传输到第二信息处理装置200。因此,与传输c0,1,...,c2,N的图8中的步骤14相比,可以大大地减少通信量。
另外,在图16中,取代图8中的步骤S16提供步骤S17。在步骤S17,通过计算g(k(c0,1,c1,1,c2,1,...,c0,N,c1,N,c2,N),M)计算哈希值H(c0,1,c1,1,c2,2,...,c0,N,c1,N,c2,N,M)。因此,因为k(c0,1,c1,1,c2,1,...,c0,N,c1,N,c2,N)被在步骤S15从IC卡300传输到第二信息处理装置200,当计算哈希值H(c0,1,c1,1,c2,2,...,c0,N,c1,N,c2,N,M)时,可以减少步骤S17的计算复杂性,使其小于图8的步骤S16的计算复杂性。
根据如上所述的第四实施例,第一信息处理装置100部分地计算关于ci,j的哈希值H,并且将结果作为k(c0,1,c1,1,c2,1,...,c0,N,c1,N,c2,N)保存在IC卡300内。因此,当从IC卡300向第二信息处理装置200发送关于签名产生的信息时,可以减少通信量,并且还可以减小第二信息处理装置200处的计算复杂性。
8.验证协议
在各个实施例的上述说明中,给出了其安全性基于求解高阶多元方程组的困难性的公共密钥验证方案作为用户验证方案的例子。然而,用户验证协议不局限于此,并且如在图6中作为例子示出的,只要验证协议可被分解为不依赖于消息M的部分和依赖该消息的部分,可以广泛地使用其它协议。注意,如以前讨论的,验证协议涉及用于证明一个实体拥有对应于公共密钥v的秘密密钥s,而不揭示秘密密钥s的密码技术。因此,通过事先在第二信息处理装置200中记录公共密钥v,可以使用第二信息处理装置200验证用户。
例如,可以使用诸如ECDSA的其它验证协议。还可以使用诸如基于伴随式解码问题的验证协议的另一个验证协议(见"A newparadigm for public key identification"CRYTPO 1993,IEEE Trans.on IT 1996)。因为这种验证协议可被分解为不依赖消息M的部分和依赖该消息的部分,它仍然可以与上述类似地产生电子签名。
9.示例性硬件配置(图17)
例如,可以通过使用图17所示的信息处理装置的硬件配置执行上面相应的算法。换言之,通过使用计算机程序以便控制图17所示的硬件,实现每个算法的处理。注意,该硬件的形式是任意的,并且包括,例如,个人计算机、移动电话、便携式信息终端诸如PHS设备和PDA、游戏控制台、接触或者无接触IC芯片、接触或者无接触IC卡和各种信息装置。注意,上面的PHS是个人轻便电话系统的缩写,而上面的PDA是个人数字助理的缩写。
如图17所示,该硬件主要包括CPU 902、ROM 904、RAM 906、主机总线908和桥910。该硬件附加地包括外部总线912、接口914、输入单元916、输出单元918、存储单元920、驱动器922、连接端口924和通信单元926。注意,上面的CPU是中央处理单元的缩写,而上面的ROM是只读存储器的缩写,并且上面的RAM是随机访问存储器的缩写。
CPU 902例如起计算处理设备或者控制设备的作用,并且基于记录在ROM 904、RAM 906、存储单元920或者可移动记录介质928内的各种程序控制每个结构元件的所有或者部分操作。ROM 904是存储信息诸如由CPU 902装入的程序和计算所使用的数据的装置。例如,RAM 906暂时地或者持久地存储信息,诸如由CPU 902装入的程序和当执行这些程序时适当地改变的各种参数。
这些结构元件通过例如能够进行高速数据传输的主机总线908互连。同时,主机总线908通过桥910连接到例如具有相对低速的数据传输的外部总线912。例如,可以使用诸如鼠标、键盘、触控板、按钮、开关和操纵杆的设备作为输入单元916。附加地,在某些情况下,可以使用能够使用红外线或者其它电磁波传输控制信号的遥控器(以下称为遥控)作为输入单元916。
例如,输出单元918包括能够视觉地或听觉地向用户报告获得的信息的设备,并且可以是显示设备,诸如CRT、LCD、PDP或者ELD、声音输出设备,诸如一个或多个扬声器或者头戴耳机、打印机、移动电话或者传真机。注意,上面的CRT是阴极射线管的缩写,而上面的LCD是液晶显示器的缩写,上面的PDP是等离子体显示板的缩写,并且上面的ELD是电致发光显示器的缩写。
存储单元920是存储各种数据的设备。例如,可以使用诸如硬盘驱动器或者其它磁存储设备、半导体存储设备、光存储设备或者磁光存储设备的设备作为存储单元920。注意,上面的HDD是硬盘驱动器的缩写。
例如,驱动器922是读取记录在可移动记录介质928诸如磁盘、光盘、磁光盘、半导体存储器上的信息,并且还可以向可移动记录介质928写信息的设备。例如,可移动记录介质928是DVD介质、蓝光介质、HD DVD介质或者各种半导体存储介质的实例。显然,可移动记录介质928还可以是,例如,安装有无接触IC芯片的IC卡或者其它电子设备。注意,上面的IC是集成电路的缩写。
连接端口924是连接到外部连接设备930的端口,例如,诸如USB端口、IEEE 1394端口、SCSI端口、RS-232C端口或者光声端子。外部连接设备930可以是,例如,打印机、便携式音乐播放器、数字照相机、数字摄像机或者IC记录器。注意,上面的USB是通用串行总线的缩写,而上面的SCSI是小型计算机系统接口的缩写。
通信单元926是连接到网络932的通信设备,并且例如可以是用于有线或无线局域网的通信卡、蓝牙(注册商标)或者WUSB、光通信路由器、ADSL路由器或者用于接触或者无接触通信的设备。另外,连接到通信单元926的网络932是以有线或无线方式连接的网络,并且可以是例如互联网、家庭LAN、红外通信、可见光通信、广播或者卫星通信。注意,上面的LAN是局域网的缩写,而上面的WUSB是无线USB的缩写,并且上面的ADSL是异步数字用户线路的缩写。
前面讨论的技术内容可被应用于各种信息处理装置,例如,诸如PC、移动电话、游戏控制台、信息终端、信息电器和汽车导航系统。注意,下面讨论的信息处理装置的功能可被使用单个信息处理装置实现,并且可被使用多个信息处理装置实现。另外,可以在该信息处理装置中并且可以在通过网络连接的设备中提供当下面讨论的信息处理装置执行处理时所使用的数据存储装置和计算装置。
本领域技术人员应当理解,根据设计要求及其它因素,可以有在所附权利要求和其同等物的范围内的各种修改、组合子组合和改变。
本公开包含关于2012年8月30日提交日本专利局的日本优先专利申请JP 2012-190446中公开的主题内容,因此通过引用将其完整内容结合在此。然而,应当注意,JP2012-190446中使用的希腊字母λ和σ分别被替换为本说明书和附图中的“p”和“q”。
另外,本技术还可以被如下配置。
(1)一种信息处理系统,包括:
接口电路,被配置为:
接收消息无关信息,所述消息无关信息由另一个装置产生,并且在产生数字签名之前被传输到所述接口,
向外部设备发送消息相关信息,和
接收来自所述外部设备的数字签名;和
处理电路,被配置为
根据消息和所述消息无关信息的至少一部分产生所述消息相关信息,和
将所述数字签名与所述消息相关联。
(2)根据(1)所述的信息处理系统,其中:
所述接口电路被配置为接收在至少一个近场通信消息中的消息无关信息。
(3)根据(1)所述的信息处理系统,还包括:
所述外部设备,
其中所述外部设备被配置为在预定的使用数目之后删除用于产生数字签名的信息。
(4)根据(3)所述的信息处理系统,其中:
所述外部设备被配置为对数字签名产生事件的数目计数,并且在所述计数达到预定阈值之后删除所述信息。
(5)根据(1)所述的信息处理系统,其中:
所述接口电路从所述外部设备接收用于产生所述数字签名的信息。
(6)根据(1)所述的信息处理系统,其中:
所述接口电路从所述外部设备接收从所述消息无关信息提取的信息,并且对应于发送给所述外部设备的所述消息相关信息。
(7)根据(1)所述的信息处理系统,还包括:
另一个外部设备,产生用于产生数字签名的哈希值,并且将所述哈希值发送到所述接口电路和所述外部设备中的至少一个。
(8)根据(1)所述的信息处理系统,还包括:
外部设备;
其中所述外部设备包括仅保持关于秘密密钥的信息的安全区域。
(9)根据(1)所述的信息处理系统,其中:
所述接口电路从所述外部设备接收与签名产生有关的哈希值,以便减少所述外部设备和所述接口电路之间的通信量。
(10)根据(1)所述的信息处理系统,其中:
所述数字签名符合MQ协议。
(11)根据(1)所述的信息处理系统,其中:
每当产生不同的数字签名时更新所述消息无关信息。
(12)根据(7)所述的信息处理系统,其中:
所述另一个外部设备基于存储或者传输到所述另一个外部设备的ID号产生所述哈希值。
(13)根据(1)所述的信息处理系统,其中:
所述处理电路将具有所述数字签名的消息发送给检验者。
(14)根据(1)所述的信息处理系统,其中:
所述外部设备是IC卡、移动电话或者PDA中的一个。
(15)一种信息处理方法,包括:
接收消息无关信息,所述消息无关信息由另一个装置产生,并且在产生数字签名之前被传输到接口,
根据消息和所述消息无关信息的至少一部分,利用处理电路产生消息相关信息;
将所述消息相关信息发送给外部设备;
接收来自所述外部设备的数字签名;以及
利用所述处理电路将所述数字签名与所述消息相关联。
(16)一种存储有程序的非暂时性计算机可读介质,当所述程序被处理电路执行时,执行一种方法,所述方法包括:
从另一个装置接收消息无关信息,所述消息无关信息由另一个装置产生,并且在产生数字签名之前被传输到接口,
根据消息和所述消息无关信息的至少一部分,利用所述处理电路产生消息相关信息;
将所述消息相关信息发送给外部设备;
从所述外部设备接收数字签名;以及
利用所述处理电路将所述数字签名与所述消息相关联。
(17)一种信息处理装置,包括:
接口电路,被配置为
接收消息无关信息,所述消息无关信息由另一个装置产生,并且在产生数字签名之前被传输到所述接口,和
从外部设备接收签名产生信息;以及
处理电路,被配置为
根据所述消息无关信息和所述签名产生信息产生所述数字签名。
(18)根据(17)所述的信息处理装置,其中:
所述接口电路被配置为使用近场通信交换信息。
(19)根据(17)所述的信息处理装置,其中:
所述处理电路被配置为在预定的使用数目之后删除用于产生数字签名的信息。
(20)根据(19)所述的信息处理装置,其中:
所述处理电路被配置为对数字签名产生事件的数目计数,并且在所述计数达到预定阈值之后删除所述信息。
(21)根据(17)所述的信息处理装置,其中:
所述接口电路向所述外部设备发送从所述消息无关信息提取的信息,并且对应于从所述外部设备接收的消息相关信息。
(22)根据(17)所述的信息处理装置,还包括:
一种具有安全区域的非暂时性存储介质,所述安全区域仅保持关于秘密密钥的信息。
(23)根据(17)所述的信息处理装置,其中:
所述接口电路将与签名产生有关的哈希值发送给所述外部设备,以便减少所述外部设备和所述接口电路之间的通信量。
(24)根据(17)所述的信息处理装置,其中:
所述处理电路产生符合MQ协议的数字签名。
(25)根据(17)所述的信息处理装置,其中:
每当产生不同的数字签名时更新所述消息无关信息。
(26)根据(17)所述的信息处理装置,其中:
所述信息处理装置是IC卡、移动电话和PDA中的一个。
(27)一种信息处理方法,包括:
接收来自另一个设备的消息无关信息,在产生数字签名之前产生和传输所述消息无关信息;
从外部设备接收签名产生信息;和
根据所述消息无关信息和所述签名产生信息,利用处理电路产生所述数字签名。
(28)一种存储有程序的非暂时性计算机可读介质,当处理电路执行所述程序时,执行一个方法,所述方法包括:
接收来自另一个设备的消息无关信息,在产生数字签名之前产生和传输所述消息无关信息;
从外部设备接收签名产生信息;和
根据所述消息无关信息和所述签名产生信息,利用处理电路产生所述数字签名。
(29)一种信息处理装置,包括:
消息产生器,产生附加有电子签名的消息;
消息相关信息传输器,其向另一个装置传输根据所述消息和从其它装置接收的消息无关信息的至少一部分产生的消息相关信息;和
电子签名信息接收器,其接收由所述其它装置基于所述消息相关信息从所述消息无关信息提取的与电子签名有关的信息。
(30)根据(29)的信息处理装置,还包括:
产生信息接收器,其接收用于产生所述消息相关信息的产生信息;和
消息相关信息产生器,其根据所述产生信息和所述消息产生所述消息相关信息。
(31)根据(30)的信息处理装置,还包括:
电子签名产生器,其基于所述产生信息接收器接收的所述产生信息和所述电子签名相关信息,产生电子签名。
(32)根据(29)的信息处理装置,还包括:
消息相关信息接收器,其从消息相关信息产生装置接收所述消息相关信息,所述消息相关信息产生装置根据所述产生信息和所述消息产生所述消息相关信息。
(33)根据(30)的信息处理装置,其中
所述产生信息接收器接收所述产生信息作为哈希值,和
所述消息相关信息产生器产生所述消息相关信息作为所述产生信息的哈希值和所述消息的哈希值。
(34)根据(29)到(33)中任意一个的信息处理装置,其中
所述其它装置是IC卡。
(35)根据(29)到(34)中任意一个的信息处理装置,其中
所述电子签名是根据MQ协议的电子签名。
(36)一种信息处理装置,包括:
信息保持单元,其保持不依赖于附加有电子签名的消息的消息无关信息;
消息无关信息传输器,其传输所述消息无关信息的至少一部分;
消息相关信息接收器,其接收根据所述消息无关信息和所述消息产生的消息相关信息;和
电子签名信息传输器,其传输基于所述消息相关信息从所述消息无关信息提取的电子签名相关信息。
(37)根据(36)的信息处理装置,其中
所述消息无关信息传输器包括产生信息传输器,其传输所述消息无关信息中的用于产生消息相关信息的产生信息,和
所述消息相关信息接收器接收根据所述产生信息和所述消息产生的所述消息相关信息。
(38)根据(37)的信息处理装置,其中
所述电子签名信息传输器传输从所述消息无关信息提取的所述电子签名相关信息中的除了所述产生信息之外的部分。
(39)根据(37)的信息处理装置,其中
所述产生信息传输器传输对应于所述产生信息的标识号,而不是所述产生信息,和
所述消息相关信息接收器接收根据所述消息和所述产生信息产生的消息相关信息,消息相关信息产生装置将所述产生信息与所述标识号相关联地存储。
(40)根据(36)到(39)中任意一个的信息处理装置,其中
所述信息保持单元包括
安全区域,所述安全区域保持消息无关信息中的关于电子签名算法中的秘密密钥的信息,和
非安全区域,所述非安全区域保持所述消息无关信息中的与所述秘密密钥无关的信息。
(41)根据(37)的信息处理装置,其中
所述产生信息传输器传输所述产生信息作为哈希值,和
所述消息相关信息接收器接收作为所述产生信息的哈希值和所述消息的哈希值而产生的所述消息相关信息。
(42)一种信息处理系统,包括:
信息处理装置,包括
消息产生器,其产生附加有电子签名的消息,
消息相关信息传输器,其向另一个装置传输根据所述消息和从其它装置接收的消息无关信息的至少一部分产生的消息相关信息,和
电子签名信息接收器,其接收由其它装置基于所述消息相关信息从所述消息无关信息提取的与电子签名有关的信息;和
提供的IC卡,包括
信息保持单元,其保持所述消息无关信息,
消息无关信息传输器,其传输所述消息无关信息的至少一部分;
消息相关信息接收器,其接收根据所述消息无关信息和所述消息产生的消息相关信息,和
电子签名信息传输器,其传输基于所述消息相关信息从所述消息无关信息提取的电子签名相关信息。
(43)一种信息处理方法,包括:
产生附加有电子签名的消息;
向另一个装置传输根据所述消息和从所述另一个装置接收的消息无关信息的至少一部分产生的消息相关信息;和
接收由所述另一个装置基于所述消息相关信息从所述消息无关信息提取的电子签名相关信息。
(44)一种程序,用于使得计算机作为:
消息产生器,其产生附加有电子签名的消息;
消息相关信息传输器,其向另一个装置传输根据所述消息和从所述另一个装置接收的消息无关信息的至少一部分产生的消息相关信息;和
电子签名信息接收器,其接收由所述另一个装置基于所述消息相关信息从所述消息无关信息提取的与电子签名相关信息。
(45)一种信息处理方法,包括:
保持不依赖附加有电子签名的消息的消息无关信息;
传输所述消息无关信息的至少一部分;
接收根据所述消息和所述消息无关信息产生的消息相关信息;和
传输基于所述消息相关信息从所述消息无关信息提取的电子签名相关信息。
(46)一种程序,用于使得计算机作为:
信息保持单元,其保持不依赖附加有电子签名的消息的消息无关信息;
消息无关信息传输器,其传输所述消息无关信息的至少一部分;
消息相关信息接收器,其接收根据所述消息和所述消息无关信息产生的消息相关信息;和
电子签名信息传输器,其传输基于所述消息相关信息从所述消息无关信息提取的电子签名相关信息。
[参考符号列表]
200 第二信息处理装置
202 消息产生器
204 哈希值产生器
208 收发器
300 IC卡
302 信息存储单元
304 收发器
302a 安全区域
302b 非安全区域
400 服务器

Claims (28)

1.一种信息处理系统,包括:
接口电路,被配置为:
接收消息无关信息,所述消息无关信息由另一个装置产生,并且在产生数字签名之前被传输到所述接口,
向外部设备发送消息相关信息,和
接收来自所述外部设备的数字签名;和
处理电路,被配置为
根据消息和所述消息无关信息的至少一部分产生所述消息相关信息,和
将所述数字签名与所述消息相关联。
2.如权利要求1所述的信息处理系统,其中:
所述接口电路被配置为接收在至少一个近场通信消息中的消息无关信息。
3.如权利要求1所述的信息处理系统,还包括:
所述外部设备,
其中所述外部设备被配置为在预定的使用数目之后删除用于产生数字签名的信息。
4.如权利要求3所述的信息处理系统,其中:
所述外部设备被配置为对数字签名产生事件的数目计数,并且在所述计数达到预定阈值之后删除所述信息。
5.如权利要求1所述的信息处理系统,其中:
所述接口电路从所述外部设备接收用于产生所述数字签名的信息。
6.如权利要求1所述的信息处理系统,其中:
所述接口电路从所述外部设备接收从所述消息无关信息提取的信息,并且对应于发送给所述外部设备的所述消息相关信息。
7.如权利要求1所述的信息处理系统,还包括:
另一个外部设备,产生用于产生数字签名的哈希值,并且将所述哈希值发送到所述接口电路和所述外部设备中的至少一个。
8.如权利要求1所述的信息处理系统,还包括:
外部设备;
其中所述外部设备包括仅保持关于秘密密钥的信息的安全区域。
9.如权利要求1所述的信息处理系统,其中:
所述接口电路从所述外部设备接收与签名产生有关的哈希值,以便减少所述外部设备和所述接口电路之间的通信量。
10.如权利要求1所述的信息处理系统,其中:
所述数字签名符合MQ协议。
11.如权利要求1所述的信息处理系统,其中:
每当产生不同的数字签名时更新所述消息无关信息。
12.如权利要求7所述的信息处理系统,其中:
所述另一个外部设备基于存储或者传输到所述另一个外部设备的ID号产生所述哈希值。
13.如权利要求1所述的信息处理系统,其中:
所述处理电路将具有所述数字签名的消息发送给检验者。
14.如权利要求1所述的信息处理系统,其中:
所述外部设备是IC卡、移动电话或者PDA中的一个。
15.一种信息处理方法,包括:
接收消息无关信息,所述消息无关信息由另一个装置产生,并且在产生数字签名之前被传输到接口,
根据消息和所述消息无关信息的至少一部分,利用处理电路产生消息相关信息;
将所述消息相关信息发送给外部设备;
接收来自所述外部设备的数字签名;以及
利用所述处理电路将所述数字签名与所述消息相关联。
16.一种存储有程序的非暂时性计算机可读介质,当所述程序被处理电路执行时,执行一种方法,所述方法包括:
从另一个装置接收消息无关信息,所述消息无关信息由另一个装置产生,并且在产生数字签名之前被传输到接口,
根据消息和所述消息无关信息的至少一部分,利用所述处理电路产生消息相关信息;
将所述消息相关信息发送给外部设备;
从所述外部设备接收数字签名;以及
利用所述处理电路将所述数字签名与所述消息相关联。
17.一种信息处理装置,包括:
接口电路,被配置为
接收消息无关信息,所述消息无关信息由另一个装置产生,并且在产生数字签名之前被传输到所述接口,和
从外部设备接收签名产生信息;以及
处理电路,被配置为
根据所述消息无关信息和所述签名产生信息产生所述数字签名。
18.如权利要求17所述的信息处理装置,其中:
所述接口电路被配置为使用近场通信交换信息。
19.如权利要求17所述的信息处理装置,其中:
所述处理电路被配置为在预定的使用数目之后删除用于产生数字签名的信息。
20.如权利要求19所述的信息处理装置,其中:
所述处理电路被配置为对数字签名产生事件的数目计数,并且在所述计数达到预定阈值之后删除所述信息。
21.如权利要求17所述的信息处理装置,其中:
所述接口电路向所述外部设备发送从所述消息无关信息提取的信息,并且对应于从所述外部设备接收的消息相关信息。
22.如权利要求17所述的信息处理装置,还包括:
一种具有安全区域的非暂时性存储介质,所述安全区域仅保持关于秘密密钥的信息。
23.如权利要求17所述的信息处理装置,其中:
所述接口电路将与签名产生有关的哈希值发送给所述外部设备,以便减少所述外部设备和所述接口电路之间的通信量。
24.如权利要求17所述的信息处理装置,其中:
所述处理电路产生符合MQ协议的数字签名。
25.如权利要求17所述的信息处理装置,其中:
每当产生不同的数字签名时更新所述消息无关信息。
26.如权利要求17所述的信息处理装置,其中:
所述信息处理装置是IC卡、移动电话和PDA中的一个。
27.一种信息处理方法,包括:
接收来自另一个设备的消息无关信息,在产生数字签名之前产生和传输所述消息无关信息;
从外部设备接收签名产生信息;和
根据所述消息无关信息和所述签名产生信息,利用处理电路产生所述数字签名。
28.一种存储有程序的非暂时性计算机可读介质,当处理电路执行所述程序时,执行一个方法,所述方法包括:
接收来自另一个设备的消息无关信息,在产生数字签名之前产生和传输所述消息无关信息;
从外部设备接收签名产生信息;和
根据所述消息无关信息和所述签名产生信息,利用处理电路产生所述数字签名。
CN201380010503.0A 2012-08-30 2013-08-22 信息处理装置,信息处理系统,信息处理方法和程序 Pending CN104137470A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012-190446 2012-08-30
JP2012190446A JP2014048414A (ja) 2012-08-30 2012-08-30 情報処理装置、情報処理システム、情報処理方法及びプログラム
PCT/JP2013/004971 WO2014034054A1 (en) 2012-08-30 2013-08-22 Information processing apparatus, information processing system, information processing method, and program

Publications (1)

Publication Number Publication Date
CN104137470A true CN104137470A (zh) 2014-11-05

Family

ID=49115553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380010503.0A Pending CN104137470A (zh) 2012-08-30 2013-08-22 信息处理装置,信息处理系统,信息处理方法和程序

Country Status (6)

Country Link
US (1) US9882721B2 (zh)
EP (1) EP2805448A1 (zh)
JP (1) JP2014048414A (zh)
CN (1) CN104137470A (zh)
RU (1) RU2014134532A (zh)
WO (1) WO2014034054A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243484B (zh) * 2014-09-25 2016-04-13 小米科技有限责任公司 信息交互方法及装置、电子设备

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2902087B2 (ja) 1990-09-07 1999-06-07 株式会社エヌ・ティ・ティ・データ Icカードによる電子署名方法
US5537475A (en) * 1994-02-01 1996-07-16 Micali; Silvio Efficient digital signature algorithm and use thereof technical field
US5694471A (en) * 1994-08-03 1997-12-02 V-One Corporation Counterfeit-proof identification card
US7286665B1 (en) * 1999-04-06 2007-10-23 Contentguard Holdings, Inc. System and method for transferring the right to decode messages
US6859533B1 (en) * 1999-04-06 2005-02-22 Contentguard Holdings, Inc. System and method for transferring the right to decode messages in a symmetric encoding scheme
DE19947986A1 (de) * 1999-10-05 2001-04-12 Ibm System und Verfahren zum Herunterladen von Anwendungsteilen auf eine Chipkarte
EP1094424A3 (en) * 1999-10-22 2004-06-16 Hitachi, Ltd. Digital signing method
WO2001084761A1 (en) * 2000-04-28 2001-11-08 Swisscom Mobile Ag Method for securing communications between a terminal and an additional user equipment
AU2001292555A1 (en) * 2000-08-18 2002-03-04 United States Postal Service Apparatus and methods for the secure transfer of electronic data
DE10111756A1 (de) * 2001-03-12 2002-11-14 Infineon Technologies Ag Verfahren zur Authentikation
US6983364B2 (en) * 2001-06-29 2006-01-03 Hewlett-Packard Development Company, Lp. System and method for restoring a secured terminal to default status
US7254706B2 (en) * 2001-06-29 2007-08-07 Hewlett-Packard Development Company, L.P. System and method for downloading of files to a secure terminal
CN100452699C (zh) * 2001-09-27 2009-01-14 松下电器产业株式会社 加密装置、解密装置、密钥生成装置、版权保护系统和密码通信装置
US7496604B2 (en) * 2001-12-03 2009-02-24 Aol Llc Reducing duplication of files on a network
US7177364B2 (en) * 2002-01-10 2007-02-13 The Boeing Company System, decoder and method for transmitting, receiving and decoding high-speed digital data signals with reduced electromagnetic emissions
FR2840748B1 (fr) * 2002-06-05 2004-08-27 France Telecom Procede et systeme de verification de signatures electroniques et carte a microcircuit pour la mise en oeuvre du procede
US7895443B2 (en) * 2002-11-05 2011-02-22 Safenet, Inc. Secure authentication using hardware token and computer fingerprint
US20060059548A1 (en) * 2004-09-01 2006-03-16 Hildre Eric A System and method for policy enforcement and token state monitoring
JP2006203564A (ja) * 2005-01-20 2006-08-03 Nara Institute Of Science & Technology マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法
JP3905907B2 (ja) * 2005-03-14 2007-04-18 株式会社エヌ・ティ・ティ・ドコモ 電子価値交換システム、及び、電子価値交換方法
US20090043681A1 (en) * 2005-08-12 2009-02-12 Mamoru Shoji Authentication system
US8112787B2 (en) * 2005-12-31 2012-02-07 Broadcom Corporation System and method for securing a credential via user and server verification
US20080005034A1 (en) * 2006-06-09 2008-01-03 General Instrument Corporation Method and Apparatus for Efficient Use of Trusted Third Parties for Additional Content-Sharing Security
CN1889432B (zh) * 2006-07-13 2010-09-22 上海交通大学 基于智能卡的口令远程认证方法、智能卡、服务器和系统
WO2008085579A2 (en) * 2006-10-25 2008-07-17 Spyrus, Inc. Method and system for deploying advanced cryptographic algorithms
US8578168B2 (en) * 2006-10-30 2013-11-05 Hewlett-Packard Development Company, L.P. Method and apparatus for preparing and verifying documents
JP4293238B2 (ja) * 2006-12-25 2009-07-08 日本電気株式会社 資産持ち出し管理システム、資産持ち出し管理方法、持ち出し資産、持ち出し資産制御プログラム
KR20080084480A (ko) * 2007-03-16 2008-09-19 삼성전자주식회사 매개 모듈을 이용한 디바이스간의 상호 인증 방법 및 그시스템
US8019079B2 (en) * 2007-07-08 2011-09-13 Georgia Tech Research Corporation Asymmetric cryptosystem employing paraunitary matrices
CN101911130B (zh) * 2008-01-15 2016-03-23 泰利特汽车解决方案公司 道路收费系统
US8302167B2 (en) * 2008-03-11 2012-10-30 Vasco Data Security, Inc. Strong authentication token generating one-time passwords and signatures upon server credential verification
KR101508794B1 (ko) * 2008-07-09 2015-04-06 삼성전자주식회사 Ndef 메시지에서 선택적으로 레코드들을 보안하기 위한 방법
WO2010069033A1 (en) * 2008-12-18 2010-06-24 Bce Inc Validation method and system for use in securing nomadic electronic transactions
US10095276B2 (en) * 2009-11-25 2018-10-09 Visa International Service Association Information access device and data transfer
EP2348447B1 (en) * 2009-12-18 2014-07-16 CompuGroup Medical AG A computer implemented method for generating a set of identifiers from a private key, computer implemented method and computing device
CN101800987B (zh) * 2010-02-10 2014-04-09 中兴通讯股份有限公司 一种智能卡鉴权装置及方法
JP5736816B2 (ja) * 2010-05-31 2015-06-17 ソニー株式会社 認証装置、認証方法、プログラム、及び署名生成装置
DK2559012T3 (da) * 2010-07-09 2014-09-01 Izettle Merchant Services Ab System til sikker betaling via et trådløst kommunikationsnetværk
US20120089519A1 (en) * 2010-10-06 2012-04-12 Prasad Peddada System and method for single use transaction signatures
DE102010050195A1 (de) * 2010-10-31 2012-05-03 Tu Darmstadt Lesegerät als elektronischer Ausweis
EP2461613A1 (en) * 2010-12-06 2012-06-06 Gemalto SA Methods and system for handling UICC data
JP5700422B2 (ja) * 2011-02-23 2015-04-15 セイコーインスツル株式会社 長期署名用端末、長期署名用サーバ、長期署名用端末プログラム、及び長期署名用サーバプログラム
US9098691B2 (en) * 2011-02-25 2015-08-04 Vasco Data Security, Inc. Method and apparatus for encoding and decoding data transmitted to an authentication token
CN204965434U (zh) * 2011-02-25 2016-01-13 威斯科数据安全国际有限公司 用于生成动态安全值的强认证令牌
US8583933B2 (en) * 2011-12-23 2013-11-12 Ebay Inc. Authenticated checkin via passive NFC
US8966268B2 (en) * 2011-12-30 2015-02-24 Vasco Data Security, Inc. Strong authentication token with visual output of PKI signatures
US20150074421A1 (en) * 2012-05-25 2015-03-12 Kabushiki Kaisha Toshiba Security system

Also Published As

Publication number Publication date
WO2014034054A1 (en) 2014-03-06
EP2805448A1 (en) 2014-11-26
RU2014134532A (ru) 2016-03-20
US9882721B2 (en) 2018-01-30
US20140331056A1 (en) 2014-11-06
JP2014048414A (ja) 2014-03-17

Similar Documents

Publication Publication Date Title
EP2961094A1 (en) System and method for generating a random number
US10516529B2 (en) Information processing apparatus and information processing method
US9979549B2 (en) Information processing to perform authentication between a prover and a verifier
CN108924147B (zh) 通信终端数字证书签发的方法、服务器以及通信终端
US20150106622A1 (en) Information processing device, information processing method, and program
US9438589B2 (en) Binding a digital file to a person&#39;s identity using biometrics
JP2017063400A (ja) 聴覚装置及び聴覚装置の更新方法
CN106330857A (zh) 具有证书的客户端设备及相关方法
CN108011715A (zh) 一种密钥的分发方法、相关设备和系统
US10447673B2 (en) Information processing apparatus, information processing method, and computer program
US9807071B2 (en) Information processing apparatus, information processing system, information processing method and computer program
CN102263639A (zh) 认证装置、认证方法、程序和签名生成装置
US20220239509A1 (en) Method for storing and recovering key for blockchain-based system, and device therefor
KR101856682B1 (ko) 엔티티의 인증 방법 및 장치
KR20140030616A (ko) 중요 정보 원격 삭제 장치 및 방법
JP2014090235A (ja) 情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム
CN104137470A (zh) 信息处理装置,信息处理系统,信息处理方法和程序
US9300466B2 (en) Transmitting device, receiving device, transmitting method, receiving method, and program
CN113923668A (zh) 识别网络攻击行为的方法、装置、芯片及可读存储介质
JP2006302116A (ja) 認証システム、認証サーバ、端末装置、認証方法およびプログラム
KR102375785B1 (ko) 그룹 서명 기법
WO2013031413A1 (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
JP2006025279A (ja) 電子名刺、電子名刺プログラム及び記憶媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141105