CN103684987A - 发送设备、接收设备、发送方法、接收方法和程序 - Google Patents

发送设备、接收设备、发送方法、接收方法和程序 Download PDF

Info

Publication number
CN103684987A
CN103684987A CN201310425917.1A CN201310425917A CN103684987A CN 103684987 A CN103684987 A CN 103684987A CN 201310425917 A CN201310425917 A CN 201310425917A CN 103684987 A CN103684987 A CN 103684987A
Authority
CN
China
Prior art keywords
email
electronic signature
pki
information
algorithm
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
CN201310425917.1A
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 CN103684987A publication Critical patent/CN103684987A/zh
Pending legal-status Critical Current

Links

Images

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开内容涉及发送设备、接收设备、发送方法、接收方法和程序。提供了一种发送设备,包括:公钥信息添加器,所述公钥信息添加器把对应于电子签名的公钥的信息添加到附加有所述电子签名的电子邮件中的发件人地址,以及发送所述电子邮件的发送器。

Description

发送设备、接收设备、发送方法、接收方法和程序
技术领域
本公开涉及发送设备、接收设备、发送方法、接收方法和程序。
背景技术
在相关技术中,例如,未经审查的日本专利申请公开No.2005-141461描述了一种技术,该技术用于消除每当发送或接收加密邮件消息时都要告知加密方案和共享密钥的必要性,并提供能够解决诸如通信流量的增大之类的问题的加密通信系统。就在未经审查的日本专利申请公开No.2005-141461中描述的技术来说,从一个通信客户端设备F1发送特定加密能力查询电子邮件,并且当在另一个通信客户端设备F2处收到所述查询电子邮件时,以电子邮件答复的形式,发送预先准备的诸如加密方案和公钥之类的加密能力信息。
发明内容
但是,在未经审查的日本专利申请公开No.2005-141461中描述的技术预先假定当利用电子邮件转发公钥时转发收件人关联并管理公钥和电子邮件。为此,关联公钥和电子邮件的复杂处理变得有必要。
因而,需要在不进行复杂处理的情况下关联公钥和电子邮件。
按照本公开的实施例,提供了一种发送设备,包括:公钥信息添加器,所述公钥信息添加器把对应于电子签名的公钥的信息添加到附加有所述电子签名的电子邮件中的发件人地址,以及发送器,所述发送器发送所述电子邮件。
此外,发送设备还可以包括:密钥生成器,所述密钥生成器生成成对的公钥和私钥,签名生成器,所述签名生成器生成电子签名,以及电子邮件创建器,所述电子邮件创建器创建附加有电子签名的电子邮件。
此外,发送设备还可以包括:接收器,所述接收器从另一个设备接收附加有电子签名的电子邮件,以及公钥信息储存器,所述公钥信息储存器保存对应于电子签名的公钥的信息。公钥信息添加器可以把从公钥信息储存器提取的公钥的信息添加到从所述另一个设备接收的电子邮件中的发件人地址。
此外,发送设备还可以包括验证结果接收器,所述验证结果接收器从接收了电子邮件的接收设备接收基于公钥的信息验证电子签名的结果。
此外,电子签名可以是按照MQ协议的电子签名。
此外,按照本公开的实施例,提供了一种接收设备,所述接收设备包括:接收器,所述接收器接收附加有电子签名的电子邮件,公钥信息提取器,所述公钥信息提取器提取添加到电子邮件中的发件人地址的对应于电子签名的公钥的信息,以及验证器,所述验证器基于公钥的信息来验证电子签名。
此外,接收设备还可以包括发送器,所述发送器发送验证器的验证结果。
此外,所述发送器可使发送收件人设备以按照验证结果更改文本或标记的显示或者显示颜色的方式显示验证结果。
此外,电子邮件可以是从邮件发送清单转发的电子邮件,并且和公钥的信息等同的信息被包含在列入了邮件发送清单中的邮寄者的邮件地址中。
此外,电子签名可以是按照MQ协议的电子签名。
此外,按照本公开的实施例,提供了一种发送方法,包括:把对应于电子签名的公钥的信息添加到附加有电子签名的电子邮件中的发件人地址,以及发送所述电子邮件。
此外,按照本公开的实施例,提供了一种使计算机起以下作用的程序:公钥信息添加器,所述公钥信息添加器把对应于电子签名的公钥的信息添加到附加有所述电子签名的电子邮件中的发件人地址,以及发送器,所述发送器发送所述电子邮件。
此外,按照本公开的实施例,提供了一种接收方法,包括:接收附加有电子签名的电子邮件,提取添加到电子邮件中的发件人地址的对应于电子签名的公钥的信息,以及基于公钥的信息来验证电子签名。
此外,按照本公开的实施例,提供了一种使计算机起以下作用的程序:接收器,所述接收器接收附加有电子签名的电子邮件,公钥信息提取器,所述公钥信息提取器提取添加到电子邮件中的发件人地址的对应于电子签名的公钥的信息,以及验证器,所述验证器基于公钥的信息来验证电子签名。
按照本公开的实施例,在不进行复杂处理的情况下关联公钥和电子邮件变得可能。
附图说明
图1是概述公钥认证方案的算法的示意图;
图2是概述电子签名方案的算法的示意图;
图3是图解说明n遍公钥认证方案的说明图;
图4是图解说明与3遍方案相关的具体算法结构的示图;
图5是图解说明使图4中图解说明的3遍方案的算法并行化的方法的示意图;
图6是图解说明从3遍公钥认证方案到电子签名方案的修改的示意图;
图7是图解说明按照本实施例的具有一体化的电子邮件地址和公钥的邮件地址的示意图;
图8是图解说明邮件地址的显示格式的例子的示意图;
图9是图解说明显示作为待显示标记的具体例子的手写体签名的例子的示意图;
图10是图解说明按照本实施例的处理的序列图;
图11是图解说明邮件发送服务器200添加公钥pk的情况的处理的序列图;
图12是图解说明按照本实施例的系统配置的示意图;
图13是就其中邮件发送服务器自动把公钥pk添加到发件人地址的例子来说,图解说明邮件发送服务器的配置的示意图;以及
图14是图解说明信息处理装置的硬件配置的示意图。
具体实施方式
下面,将参考附图详细说明本技术的优选实施例。注意在本说明书和附图中,功能和结构基本相同的构成元件用相同的附图标记表示,这些构成元件的重复说明被省略。
[描述的流程]
现在将简要讨论以下描述的关于本技术的实施例的描述的流程。首先,将参考图1描述公钥认证方案的算法结构。随后,将参考图2描述电子签名方案的算法结构。接下来,将参考图3描述n遍公钥认证方案。
之后,将参考图4和6描述与3遍公钥认证方案相关的算法结构的例子。然后,将参考图7-13描述本公开的第一至第四实施例。之后,将参考图14描述能够实现按照本技术的实施例的各种算法的信息处理装置的示例性硬件结构。
(内容表)
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.基于公钥的发件人确认
4-5.发送服务器添加公钥
4-6.按照本实施例的系统的示例性配置
4-7.对邮件转发和邮件发送清单的应用
4-8.指定公钥部分的方法
5.示例性硬件配置
<1.介绍>
本文的实施例涉及使其安全性建立在求解高次多元方程组的难度的基础上的公钥认证方案和电子签名方案(下文在一些情况下也称为MQ协议)。不过,本文的实施例不同于相关技术的技术,比如HFE电子签名方案,并且涉及利用缺少有效求解机制(陷门)的高次多元方程组的公钥认证方案和电子签名方案。注意适用于本文的实施例的认证方案并不局限于上述方案,并且能够广泛应用其它公钥认证方案。首先,将简要概述公钥认证方案的算法、电子签名方案的算法、和n遍公钥认证方案。
[1-1.公钥认证方案的算法]
首先将参考图1概述公钥认证方案的算法。图1是概述公钥认证方案的算法的说明图。
使用公钥认证以使某人(证明者,也称为Alice)通过利用公钥pk和私钥sk让另一人(验证者,也称为Bob)确信她是她本人。例如,使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的代理是信息处理装置。这些信息处理装置的硬件配置例如如图14中所示。换句话说,密钥生成算法Gen、证明者算法P和验证者算法V由诸如CPU902之类的设备根据记录在诸如ROM904、RAM906、存储单元920或可拆卸记录介质928之类的设备上的程序而执行。
(密钥生成算法Gen)
密钥生成算法Gen由证明者使用。密钥生成算法Gen是生成证明者特有的一对私钥sk和公钥pk的算法。使利用密钥生成算法Gen生成的公钥pk公开。如此公开的公钥pk随后被验证者使用。同时,证明者使利用密钥生成算法Gen生成的私钥sk保密。由证明者保密的私钥sk随后被用于向验证者证实证明者拥有与公钥pk对应的私钥sk。形式上,密钥生成算法Gen被表示成类似下式1的算法,所述算法接受安全性参数1λ(其中λ是等于或大于0的整数)作为输入,并输出私钥sk和公钥pk。
(sk,pk)←Gen(1λ)
…(1)
(证明者算法P)
证明者算法P由证明者使用。证明者算法P是向验证者证实证明者拥有与公钥pk对应的私钥sk的算法。换句话说,证明者算法P是接受私钥sk和公钥pk作为输入并执行会话协议的算法。
(验证者算法V)
验证者算法V由验证者使用。验证者算法V是在会话协议期间验证证明者是否拥有与公钥pk对应的私钥sk的算法。验证者算法V是接受公钥pk作为输入并按照会话协议的执行结果输出0或1(1比特)的算法。此时,如果验证者算法V输出0,那么验证者判定证明者非法,而如果验证者算法V输出1,那么验证者判定证明者合法。形式上,如下式(2)中那样地表示验证者算法V。
0/1←V(pk)
…(2)
如上所述,实现有意义的公钥认证涉及使会话协议满足健全性和零知识性这两个条件。不过,证实证明者拥有私钥sk涉及证明者执行依赖于私钥sk的过程,并在把结果通知验证者之后,使验证者根据通知的内容进行验证。为了确保健全性,进行依赖于私钥sk的过程。同时,不应向验证者泄漏关于私钥sk的任何信息。因此,为了满足这些要求,要巧妙地设计上述密钥生成算法Gen、证明者算法P和验证者算法V。
从而,上面概述了公钥认证方案中的算法。
[1-2.电子签名方案的算法]
下面将参考图2概述电子签名方案的算法。图2是概述电子签名方案的算法的说明图。
不同于纸质文档,不可能物理地对数字化数据签名或附加印章。因此,证明数字化数据的创作者涉及与对纸质文档签名或附加印章类似地产生效果的电子设置。这种设置是电子签名。电子签名指的是如下设置:该设置使特定数据与只为所述数据的创建者所知的签名数据关联,向收件人提供签名数据,并在收件人一端验证所述签名数据。
(模型)
如图2中图解所示,在电子签名方案的模型中存在签名者和验证者这两个实体。另外,电子签名方案的模型由三种算法组成:密钥生成算法Gen、签名生成算法Sig和签名验证算法Ver。
签名者利用密钥生成算法Gen来生成签名者特有的一对签名密钥sk和验证密钥pk。签名者还利用签名生成算法Sig来生成待附加到消息M的电子签名σ。换句话说,签名者是把电子签名附加到消息M的实体。同时,验证者利用签名验证算法Ver来验证附加到消息M的电子签名σ。换句话说,验证者是验证电子签名σ以确认消息M的创建者是否是签名者的实体。
注意,尽管在下面的描述中使用术语“签名者”和“验证者”,不过这些术语最终意味实体。因此,执行密钥生成算法Gen和签名生成算法Sig的代理是与“签名者”实体对应的信息处理装置。类似地,执行签名验证算法Ver的代理是信息处理装置。这些信息处理装置的硬件配置例如如图14中所示。换句话说,密钥生成算法Gen、签名生成算法Sig和签名验证算法Ver由诸如CPU902之类的设备根据记录在诸如ROM904、RAM906、存储单元920或可拆卸记录介质928之类的设备上的程序而执行。
(密钥生成算法Gen)
密钥生成算法Gen由签名者使用。密钥生成算法Gen是生成签名者特有的一对签名密钥sk和验证密钥pk的算法。密钥生成算法Gen生成的验证密钥pk被公开。同时,签名者使利用密钥生成算法Gen生成的签名密钥sk保密。签名密钥sk随后被用于生成待附加到消息M的电子签名σ。例如,密钥生成算法Gen接受安全性参数1λ(其中λ是等于或大于0的整数)作为输入,并输出签名密钥sk和验证密钥pk。这种情况下,形式上可类似于下式(3)表述密钥生成算法Gen。
(sk,pk)←Gen(1λ)
…(3)
(签名生成算法Sig)
签名生成算法Sig由签名者使用。签名生成算法Sig是生成待附加到消息M的电子签名σ的算法。签名生成算法Sig是接受签名密钥sk和消息M作为输入并输出电子签名σ的算法。形式上可类似于下式(4)表述签名生成算法Sig。
σ←Sig(sk,M)
…(4)
(签名验证算法Ver)
签名验证算法Ver由验证者使用。签名验证算法Ver是验证电子签名σ是否是消息M的有效电子签名的算法。签名验证算法Ver是接受签名者的验证密钥pk、消息M和电子签名σ作为输入并输出0或1(1比特)的算法。形式上可类似于下式(5)表述签名验证算法Ver。此时,如果签名验证算法Ver输出0(验证密钥pk拒绝消息M和电子签名σ的情况),那么验证者判定电子签名σ无效,而如果签名验证算法Ver输出1(验证密钥pk接受消息M和电子签名σ的情况),那么验证者判定电子签名σ有效。
0/1←Ver(pk,M,σ)
…(5)
从而,上面概述了电子签名方案中的算法。
[1-3:n遍公钥认证方案]
下面将参考图3描述n遍公钥认证方案。图3是图解说明n遍公钥认证方案的说明图。
如上所述,公钥认证方案是在会话协议期间向验证者证实证明者拥有与公钥pk对应的私钥sk的认证方案。此外,会话协议必须满足健全性和零知识性这两个条件。因此,如图3中所示,在会话协议期间,在进行相应处理的时候,证明者和验证者交换n遍信息。
就n遍公钥认证方案来说,证明者利用证明者算法P执行处理(操作#1),并把信息T1发送给验证者。之后,验证者利用验证者算法V执行处理(操作#2),并把信息T2发送给证明者。相继进行该执行和处理以及信息Tk的发送(k=3至n),最后,执行处理(操作#n+1)。从而,按照这种方式n次发送和接收信息被称为“n遍”公钥认证方案。
从而,上面描述了n遍公钥认证方案。
<2.与3遍公钥认证方案相关的算法结构>
下面,将描述与3遍公钥认证方案相关的算法。注意在下面的描述中,在一些情况下,3遍公钥认证方案也被称为“3遍方案”。
[2-1.具体算法结构的例子(图4)]
首先将参考图4介绍与3遍方案相关的具体算法结构的例子。图4是图解说明与3遍方案相关的具体算法结构的示图。此时,考虑利用2次多项式组(f1(x),...,fm(x))作为公钥pk的一部分的情况。不过,假定如下式(6)中那样表述2次多项式fi(x)。另外,x将表示向量(x1,...,xn),多元多项式F(x)表示2次多项式组(f1(x),...,fm(x))。
f i ( x 1 , . . . , x n ) = &Sigma; j , k a ijk x j x k + &Sigma; j b ij x j . . . ( 6 )
也可如下式(7)中那样表述2次多项式组(f1(x),...,fm(x)),其中A1至Am是n×n矩阵,b1至bm都是n×1向量。
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 )
利用该表达式,可如下式(8)和(9)中那样表述多元多项式F。根据下式(10)能够容易地确认这些表达式。
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 l 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。在这种情况下,如下式(11)中那样表述多元多项式F(x+r0)和G(x)之和。假定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,从而使得能够实现通信用数据大小较小的高效算法。
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首先随机生成作为集合Kn的元素的向量r0、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从3种验证模式中选择要使用哪种验证模式。例如,验证者算法V可从代表验证模式的3个数值{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以指示认证成功,而在某项验证失败的情况下,验证者算法V输出值0以指示认证失败。
在Ch=1的情况下,验证者算法V验证等式c0=H(r1,G(t0,r1)+e0)是否成立。另外,验证者算法V验证等式c1=H(t0,e0)是否成立。在所有这些验证都成功的情况下,验证者算法V输出值1以指示认证成功,而在某项验证失败的情况下,验证者算法V输出值0以指示认证失败。
在Ch=2的情况下,验证者算法V验证等式c0=H(r1,y-F(r1)-G(t1,r1)-e1)是否成立。另外,验证者算法V验证等式c2=H(t1,e1)是否成立。在所有这些验证都成功的情况下,验证者算法V输出值1以指示认证成功,而在某项验证失败的情况下,验证者算法V输出值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随机生成作为集合Kn的元素的向量r0i、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(t0i,t1i)+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。这样,在被发送给验证者算法V之前,消息(c01,c11,c21,...,c0N,c1N,c2N)被转换成散列值,从而使得能够减少通信量。注意,证明者算法P也可把(c01,c11,c21,...,c0N,c1N,c2N)发送给验证者算法V。
操作#2:
当收到散列值Cmt时,验证者算法V对于i=1至N中的每一个从3种验证模式中选择要使用哪种验证模式。例如,验证者算法V可以对于i=1至N中的每一个从代表验证模式的3个数值{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以指示认证成功,而在验证失败的情况下,验证者算法V输出值0以指示认证失败。
从而,上面描述了与3遍方案相关的高效并行化算法结构的例子。
<3.对于电子签名方案的修改>
下面将介绍把上述公钥认证方案修改成电子签名方案的方法。
如果使公钥认证方案的模型中的证明者与电子签名方案中的签名者关联,那么易于论证公钥认证方案的模型近似于电子签名方案的模型,因为只有证明者能够说服验证者。根据这样的思想,下面将描述把上面讨论的公钥认证方案修改成电子签名方案的方法。
[3-1.从3遍公钥认证方案到电子签名方案的修改(图6)]
首先,将描述从3遍公钥认证方案到电子签名方案的修改。如图6中图解所示,从3遍公钥认证方案修改成电子签名方案的算法类似于利用图5描述的3遍方案的算法的并行化形式的各个部分。利用图5中的操作#1至操作#4表示的公钥认证方案的算法被修改成签名生成算法Sig和签名验证算法Ver,如图6中图解所示。
操作#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的σi。在Chi=0的情况下,签名生成算法Sig生成响应σi=(r0i,t1i,e1i,c0i)。在Chi=1的情况下,签名生成算法Sig生成响应σi=(r1i,t0i,e0i,c2i)。在Chi=2的情况下,签名生成算法Sig生成响应σi=(r1i,t1i,e1i,c1i)。
在操作#3中生成的σ1,...,σN和Ch1,...,ChN被发送给签名验证算法Ver。同时,附加有签名的消息M也被发送给签名验证算法Ver。
操作#4:
如图6中图解所示,操作#4基本上类似于图5中的操作#4。当收到响应σ1,...,σN时,签名验证算法Ver利用收到的响应σ1,...,σN对于i=1至N执行以下处理(1)至(3)。这里,签名验证算法Ver在Chi=0的情况下执行处理(1),在Chi=1的情况下执行处理(2),而在Chi=2的情况下执行处理(3)。
处理(1):在Chi=0的情况下,签名验证算法Ver从σi取回(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从σi取回(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从σi取回(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以指示认证成功,而在验证失败的情况下,签名验证算法Ver输出值0以指示认证失败。
如上所述,使公钥认证方案的模型中的证明者与电子签名方案中的签名者关联使得能够把公钥认证方案的算法修改成电子签名方案的算法。
<4.具体实施例>
[4-1.按照本公开的实施例的系统的概述]
在把上面描述的电子签名添加到电子邮件的情况下,电子签名是对于特定公钥验证签名是否有效的技术,而邮件地址不被验证。因此,验证附加到电子邮件的电子签名的有效性涉及利用某种方法单独保证如前所述的电子邮件地址和公钥之间的关联关系。例如,可以利用诸如把指示电子邮件地址和公钥之间的关联关系的列表保存在PC内的某处之类的方法,来将发送的公钥与电子邮件地址相关联。不过,这种方法涉及单独提供指示电子邮件地址和公钥之间的关联关系的列表,并且处理变得复杂。
通过把电子邮件地址和公钥结合成一体,本实施例消除了电子邮件地址和公钥的关联,从而易于实现邮件地址和公钥被关联的验证。
因此,在本实施例中,利用具有一体化的电子邮件地址和公钥的邮件地址,并且通过利用在发件人地址中的公钥来进行签名验证。图7是图解说明按照本实施例的具有一体化的电子邮件地址和公钥的邮件地址的示意图。如图7中图解所示,发件人利用他或她自己的邮件地址(senderexample.com)发送电子邮件。在把公钥pk添加到邮件地址的情况下,公钥pk被添加到邮件地址(senderexample.com)内,并作为(sender+pkexample.com)被发送。公钥pk是例如利用Base64(一种利用多个单个字符表述6比特信息的技术)编码的,并被结合到邮件地址中。这样,在本实施例中,公钥pk被嵌入邮件地址(senderexample.com)中。尽管公钥pk被嵌入邮件地址(senderexample.com)中,不过,发送方在忽略公钥pk部分的同时发送电子邮件。
“+”号指示在“+”号之后嵌入公钥pk。公钥pk是嵌入在“+”号和“”符号之间的部分。预先在发件人一方和收件人一方之间达成这种约定。
在收件人一方,当收到来自sender+pkexample.com的邮件消息时,提取公钥pk,并向用户报告利用公钥pk验证附加到邮件消息的数字签名的结果(接受或拒绝)。
借助前面讨论的MQ方案,能够使公钥pk的长度(比特数)最小化,使得能够构成100比特或者更短(更特别地,最好80比特或者更短)的公钥pk。从而,利用按照MQ方案的公钥pk尤其使得能够容易地把公钥pk嵌入邮件地址中。另一方面,在利用除MQ方案外的公钥认证协议的情况下,公钥变得长于100比特,从而使邮件地址中的公钥的长度非常长。因此,邮件地址变得过长,导致处理和识别邮件地址的复杂处理和困难。从而,利用按照MQ方案的公钥pk尤其使得即使在使邮件地址和公钥一体化的情况下,也能够使邮件地址的长度最小化。注意,在公钥认证方案中,MQ认证方案是能够使公钥的长度为80比特或更短的唯一方案。
这样,由于在本实施例中使邮件地址和公钥pk一体化,所以邮件传输的收件人一方能够从接收的电子邮件中的发件人地址中推导公钥pk,而不用单独保存邮件地址和公钥pk之间的关联关系。从而,能够容易地关联电子邮件的发件人和公钥pk,而不用单独地验证电子邮件的发件人与公钥pk被关联。
注意,尽管在上面的例子中,在发送时公钥pk被嵌入邮件地址中,不过可以获得具有嵌入原始邮件地址中的公钥pk的邮件地址,并且可以不断地使用具有嵌入的公钥pk的邮件地址(sender+pkexample.com)。
[4-2.邮件地址显示格式的例子]
图8是图解说明邮件地址的显示格式的例子的示意图。图8假定“receiverexample.com”是发件人发送的电子邮件的收件人,并且“senderexample.com”是发件人的电子邮件地址。和上面类似,发件人把公钥pk添加在他或她自己的邮件地址(senderexample.com)内,并发送发件人被设定成“sender+pkexample.com”的邮件消息。这样,在发件人一方使用能够在用“sender+pkexample.com”替代发件人地址的时候发送邮件消息的设备或服务器。
在接收端,收到把发件人指定为“sender+pkexample.com”的电子邮件。此时,也可以把公钥隐藏起来,从而看不见。在隐藏公钥pk的情况下,例如,在收件人一方的设备(邮件接收设备400)显示发件人被显示成“sender[+]example.com”(用“[+]”替代“pk”)的邮件消息。通过点击“[+]”,用户可以使公钥pk被显示。
由于能够验证从相同地址“sender+pkexample.com”到达的两个或者更多的邮件消息是否是从同一人发送的邮件消息,因此能够可靠地验证地址是否被伪造。注意,由于不利用公钥基础架构(PKI),因此不验证与公钥pk对应的发件人的身份。换句话说,本实施例链接发件人的邮件地址和公钥pk,但不链接发件人他或她自己和公钥pk。
收件人一方向发件人一方报告对电子签名σ的验证结果。报告方法可包括例如改变显示的部分的颜色、或者显示标记。例如,可通过在电子签名σ真实并且验证成功的情况下把显示颜色改变成绿色,而在验证失败的情况下把显示颜色改变成红色,来发出报告。另外,在验证成功的情况下,可以显示标记“O”,而在验证失败的情况下,可以显示标记“X”。
作为待显示标记的另一个具体例子,也可显示如图9中图解所示的手写体签名。在这种情况下,通过按照公钥改变手写体签名的形状,还可以提醒用户注意公钥的差异。也可随公钥而变更字体。
在从其中在发件人地址内只有公钥pk不同的多个不同发件人收到电子邮件的情况下,取决于策略,电子邮件可被视为来自相同的发件人或者不同的发件人。不过,由于在这样的情况下存在发件人地址可能被伪造的可能性,因此优选的是向用户报告只有公钥pk不同而邮件地址的其他部分都相同,并提示用户小心注意。
[4-3.按照本实施例的系统的处理]
下面,将描述按照本实施例的系统的处理。图10是图解说明按照本实施例的处理的序列图。首先,在步骤S10,邮件发送设备100生成公钥pk和私钥sk。在下一个步骤S12,邮件发送设备100生成待发送邮件的电子签名σ。
在下一个步骤S14,邮件发送设备100把公钥pk添加到原始发件人地址(senderexample.com),把发件人地址设定成“sender+pkexample.com”,附加电子签名σ,并且把电子邮件发送给收件人(receiverexample2.com)。
在下一步骤S16,邮件发送服务器200接收在步骤S14中邮件发送设备100发送的电子邮件。邮件发送服务器忽略发件人地址(sender+pkexample.com)中的在“+”和“”之间的“pk”,并且好像邮件消息来自“senderexample.com”账户似地处理该邮件消息。这样做时,能够避免电子邮件未被正确发送的情形,而不会使邮件发送服务器200确定从邮件发送设备100发送的电子邮件是发送自具有账户“sender+pkexample.com”的未知用户。
在下一步骤S18,邮件发送服务器200把电子邮件发送给邮件接收服务器300。在步骤S18中发送的电子邮件由邮件接收服务器300按照邮件协议(SMTP)在“receiverexample2.com”处接收。
在下一步骤S20,邮件接收服务器300把电子邮件发送给邮件接收设备400,并且邮件接收设备400接收该电子邮件。在步骤S22,收到电子邮件的邮件接收设备400参看发件人地址(sender+pkexample.com),把“+”和“”之间的pk视为公钥,并提取该公钥。邮件接收设备400随后按照利用图6描述的电子签名认证来验证附加的电子签名是否是该电子邮件的正确签名。此时,电子邮件的主体可被视为对应于消息M。另外,邮件发送设备100对应于签名者,而邮件接收设备400对应于验证者。邮件接收设备400随后向邮件发送设备100报告指示是接受还是拒绝该电子邮件的验证结果。
[4-4.基于公钥的发件人确认]
按照如上所述的使电子邮件地址和公钥pk一体化的技术,即使电子邮件发送自不同的地址,如果在发件人地址中包含相同的公钥pk,那么仍然能够确认发件人相同。
例如,即使邮件消息发送自不同的地址,如果在发件人地址中包含相同的公钥,那么仍然能够确认发件人相同。例如,在电子邮件发送自“kumagmail.com”和“pandahotmail.com”这两个地址的情况下,难以判定这两个发件人是否相同。
然而,按照本实施例,公钥和电子邮件地址被一体化,从而从上述两个地址发送的电子邮件的发件人变成:
kuma+pkAgmail.com
panda+pkAhotmail.com
由于只有拥有与公钥pkA对应的私钥skA的用户才能够利用公钥pkA附加电子签名,因此能够确认这两个发送的邮件消息发送自同一人。
[4-5.发送服务器添加公钥]
在上面描述的例子中,邮件发送设备100(发件人他或她自己)发送具有添加到发件人地址(senderexample.com)的公钥pk的邮件消息。不过,邮件发送服务器200也可把公钥pk添加到发件人地址(senderexample.com)。这种情况下,代替发件人他或她自己在发送时添加公钥pk,发件人预先在邮件发送服务器200中登记他或她自己的公钥pk,并且当发件人发送附加有电子签名的邮件消息时,发送服务器自动把公钥pk添加到发件人地址并投递该邮件消息。从而,能够简单地进行处理,而不必使发件人把他或她自己的公钥pk添加到发件人地址中。
图11是图解说明邮件发送服务器200添加公钥pk的情况的处理的序列图。首先,在步骤S20,邮件发送设备100生成公钥pk和私钥sk。在下一步骤S22,邮件发送设备100把公钥pk发送给邮件发送服务器200。在步骤S23,邮件发送服务器200登记该公钥pk。这样,邮件发送设备100预先在邮件发送服务器200中登记待利用的公钥pk。邮件发送服务器200关联并保存发件人地址(senderexample.com)和公钥pk。
在下一步骤S24,邮件发送设备100生成待发送的电子邮件的电子签名σ。
在下一步骤S26,邮件发送设备100把发件人设定成“senderexample.com”,附加电子签名σ,并且把电子邮件发送给收件人(receiverexample2.com)。
在下一步骤S28,邮件发送服务器200接收邮件发送设备100在步骤S26中发送的电子邮件。随后,邮件发送服务器200把与发件人地址(senderexample.com)对应的公钥pk添加到发件人地址,从而把地址改变成“sender+pkexample.com”。
在下一步骤S30,邮件发送服务器200把电子邮件发送给邮件接收服务器300。在步骤S30发送的电子邮件由邮件接收服务器300按照邮件协议(SMTP)在“receiverexample2.com”处接收。
在下一步骤S32,收到电子邮件的邮件接收服务器300把电子邮件发送给邮件接收设备400。收到电子邮件的邮件接收设备400参看发件人地址(sender+pkexample.com),把“+”和“”之间的pk视为公钥,并验证附加的电子签名σ是否是电子邮件的正确签名(步骤S34)。邮件接收设备400随后向邮件发送设备100报告指示是接受还是拒绝该电子邮件的验证结果。
[4-6.按照本实施例的系统的示例性结构]
图12是图解说明按照本实施例的系统中的邮件发送设备100和邮件接收设备400的配置的示意图。邮件发送设备100包括密钥生成器102、密钥储存器104、电子签名生成器106、邮件创建器108、公钥信息添加器110、邮件发送器112和操作输入单元118。密钥生成器102生成公钥pk和私钥sk对。具体地,密钥生成器102进行包括图6中的操作#1的处理。密钥储存器104是保存由密钥生成器102生成的公钥pk和私钥sk的存储器。注意,公钥pk和私钥sk对也可由外部设备生成,并被保存在密钥储存器104中。电子签名生成器106进行图6中的操作#2和#3,并且生成电子签名σ。邮件创建器108根据诸如输入到操作输入单元118中的信息之类的因素来创建待发送给邮件接收设备400的电子邮件。邮件创建器108把电子签名σ附加到创建的电子邮件。公钥信息添加器110把公钥pk添加到电子邮件的发件人地址。此时,在所述添加之前,公钥信息添加器110可以按照诸如Base64之类的技术对公钥pk编码。邮件发送器112发送具有附加的电子签名σ和添加到发件人地址的公钥pk的电子邮件。验证结果接收器114接收从邮件接收设备400发送的验证结果。验证结果显示器116呈现根据收到的验证结果的显示。操作输入单元118包括用户操作以便输入信息的诸如触摸传感器和键盘之类的结构元件。
同时,邮件接收设备400包括邮件接收器402、结构分析器(公钥提取器)404、邮件显示器406、电子签名验证器408、验证结果显示器412和操作输入单元410。邮件接收器402经由邮件发送服务器200和邮件接收服务器300接收由邮件发送设备100发送的电子邮件。结构分析器404分析电子邮件中的发件人地址的结构,并从发件人地址中提取公钥pk。具体地,结构分析器404提取发件人地址中的在“+”和“”之间的文本串,作为公钥pk。结构分析器404还可解码已按照诸如Base64之类的技术编码的公钥pk。公钥pk被传给电子签名验证器408。邮件显示器406显示电子邮件的内容。电子签名验证器408进行图6中的操作#4,并且验证附加到电子邮件的电子签名σ。验证结果由验证结果显示器412显示。操作输入单元410包括用户操作以便输入信息的诸如触摸传感器和键盘之类的结构元件。
图13是就其中如前所述邮件发送服务器200自动把公钥pk添加到发件人地址的例子来说,图解说明邮件发送服务器200的配置的示意图。如图13中图解所示,邮件发送服务器200包括邮件接收器202、公钥信息储存器204、公钥信息添加器206和邮件发送器208。邮件接收器202接收由邮件发送设备100的邮件创建器108创建的电子邮件。尽管电子签名σ被附加到该电子邮件,不过公钥pk还未被添加到发件人地址。公钥信息储存器204是保存公钥pk的存储器,并且相互关联地保存电子邮件的发件人地址和公钥pk。从公钥信息储存器204,公钥信息添加器206提取与邮件接收器202收到的电子邮件的发件人地址对应的公钥pk,并把提取的公钥pk添加到电子邮件的发件人地址。消息发送器112把具有附加的电子签名σ和附于发件人地址的公钥pk的电子邮件发送给邮件接收服务器300。
注意,在图12和13中图解说明的各个结构元件可以利用硬件(电路)实现,或者可以利用使诸如CPU之类的处理器起结构元件作用的程序(软件)实现。在这种情况下,程序可被保存在记录介质上,比如设置在相应设备中的存储器或者外部连接到相应设备的外部存储器。
[4-7.对邮件转发和邮件发送清单的应用]
下面,将描述对邮件转发和邮件发送清单的发件人地址的应用。当转发邮件时,或者当利用邮件发送清单时,邮件有时是在邮件服务器更改发件人的情况下投递的。在这样的情况下,可以设想的是,由于发件人更改,真正的发件人会变得未知。
在这种情况下,通过使添加到地址的公钥保持原样而只替换发件人地址,应用按照本公开的技术。例如,假定“OriginalAddress+pkAexample.com”是列入邮件发送清单中的电子邮件的真实发件人地址,而“MailingListAddress+pkAexample2.com”是当该电子邮件被递送到邮件发送列表时显示的发件人地址。这样,即使在发件人地址被更改的情况下,公钥pkA部分也不被更改。从而,只要仅仅公钥部分匹配,即使发件人地址被更改,在电子邮件接收端仍然能够确认邮件消息是由同一人发送的。
[4-8.指定公钥部分的方法]
在上述实施例中,公钥部分被指定为在发件人邮件地址中的“+”和“”之间的部分。不过,指定方法没有特定的限制,并且不局限于上面的例子。例如,从地址的开始到“+”的部分也可被指定为公钥pkA,如下所示:
pkA+senderexample.com
另外,从“+”到地址的结尾的部分也可被指定为公钥pkA,如下所示:
senderexample.com+pkA
此外,虽然上面的“+”意味转义字符,不过显然可以使用除“+”号外的符号。公钥部分的指定可涉及任何方法的使用,只要所述指定使得能够确定邮件地址的哪个部分是公钥pk即可。
<5.示例性的硬件配置(图14)>
例如,通过利用图14中图解所示的信息处理装置的硬件配置,能够执行上面的各种算法。换句话说,通过利用计算机程序控制图14中图解所示的硬件,来实现每种算法的处理。注意,所述硬件的格式是任意的,例如包含个人计算机、移动电话机、诸如PHS设备和PDA之类的便携式信息终端、游戏控制台、接触或非接触式IC芯片、接触或非接触式IC卡、以及各种信息电器。注意,上面的PHS是个人手提移动电话系统的缩写,而PDA是个人数字助手的缩写。
如图14中所示,所述硬件主要包括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是硬盘驱动器的缩写。
驱动器922是读出例如记录在可拆卸记录介质928(比如磁盘、光盘、磁光盘或半导体存储器)上的信息的设备,并且还可把信息写入可拆卸记录介质928。例如,可拆卸记录介质928是DVD介质、蓝光介质、HDDVD介质、或者各种半导体储存器介质的实例。显然,可拆卸记录介质928也可以是例如安装有非接触式IC芯片的IC卡或者其它电子设备。注意,上面的IC是集成电路的缩写。
连接端口924是例如连接到外部连接设备930的端口,比如USB端口、IEEE1394端口、SCSI端口、RS-232C端口、或者光学音频端。例如,外部连接设备930可以是打印机、便携式音乐播放器、数字照相机、数字摄像机或者IC记录器。注意,上面的USB是通用串行总线的缩写,而上面的SCSI是小型计算机系统接口的缩写。
通信单元926是连接到网络932的通信设备,例如可以是用于有线或无线LAN、蓝牙(注册商标)或WUSB的通信卡、光通信路由器、ADSL路由器、或者用于接触或非接触式通信的设备。并且,连接到通信单元926的网络932是有线连接或者无线连接的网络,例如可以是因特网、家用LAN、红外通信、可见光通信、广播或者卫星通信。此外,上面的LAN是局域网的缩写,而上面的WUSB是无线USB的缩写,上面的ADSL是非对称数字用户线路的缩写。
上面讨论的技术内容可应用于各种信息处理装置,例如,比如PC、移动电话机、游戏控制台、信息终端、信息电器和车载导航系统。注意,通过利用单个信息处理装置可以实现下面讨论的信息处理装置的功能,并且通过利用多个信息处理装置也可实现下面讨论的信息处理装置的功能。另外,当下面讨论的信息处理装置执行处理时使用的数据存储机构和计算机构可设置在该信息处理装置中,并且也可设置在通过网络连接的设备中。
按照如上所述的本实施例,使电子邮件的发件人邮件地址与公钥pk一体化避免了在收件人一方将邮件地址和公钥pk关联的处理。从而,变得能够利用公钥pk来容易地验证电子签名σ。
本领域的技术人员应明白,根据设计要求和其它因素,可以出现各种修改、组合、子组合和变更,只要它们在所附的权利要求或其等同物的范围之内即可。
另外,也可如下配置本技术。
(1)一种发送设备,包括:
公钥信息添加器,所述公钥信息添加器把对应于电子签名的公钥的信息添加到附加有所述电子签名的电子邮件中的发件人地址;以及
发送所述电子邮件的发送器。
(2)按照(1)所述的发送设备,还包括:
密钥生成器,所述密钥生成器生成成对的公钥和私钥;
签名生成器,所述签名生成器生成电子签名;以及
电子邮件创建器,所述电子邮件创建器创建附加有电子签名的电子邮件。
(3)按照(1)所述的发送设备,还包括:
接收器,所述接收器从另一个设备接收附加有电子签名的电子邮件;以及
公钥信息储存器,所述公钥信息储存器保存对应于电子签名的公钥的信息,
其中,公钥信息添加器把从公钥信息储存器提取的公钥的信息添加到从所述另一个设备接收的电子邮件中的发件人地址。
(4)按照(1)-(3)任意之一所述的发送设备,还包括:
验证结果接收器,所述验证结果接收器从接收了电子邮件的接收设备接收基于公钥的信息验证电子签名的结果。
(5)按照(1)-(4)任意之一所述的发送设备,其中
电子签名是按照MQ协议的电子签名。
(6)一种接收设备,包括:
接收器,所述接收器接收附加有电子签名的电子邮件;
公钥信息提取器,所述公钥信息提取器提取添加到电子邮件中的发件人地址的对应于电子签名的公钥的信息;以及
验证器,所述验证器基于公钥的信息来验证电子签名。
(7)按照(6)所述的接收设备,还包括:
发送器,所述发送器发送验证器的验证结果。
(8)按照(7)所述的接收设备,其中
所述发送器使发送收件人设备以按照验证结果更改文本或标记的显示或者显示颜色的方式显示验证结果。
(9)按照(6)-(8)任意之一所述的接收设备,其中
电子邮件是从邮件发送清单转发的电子邮件,并且和公钥的信息等同的信息被包含在列入了邮件发送清单中的邮寄者的邮件地址中。
(10)按照(6)-(9)任意之一所述的接收设备,其中
电子签名是按照MQ协议的电子签名。
(11)一种发送方法,包括:
把对应于电子签名的公钥的信息添加到附加有电子签名的电子邮件中的发件人地址;以及
发送所述电子邮件。
(12)一种使计算机起以下作用的程序:
公钥信息添加器,所述公钥信息添加器把对应于电子签名的公钥的信息添加到附加有所述电子签名的电子邮件中的发件人地址;以及
发送所述电子邮件的发送器。
(13)一种接收方法,包括:
接收附加有电子签名的电子邮件;
提取添加到电子邮件中的发件人地址的对应于电子签名的公钥的信息;以及
基于公钥的信息来验证电子签名。
(14)一种使计算机起以下作用的程序:
接收器,所述接收器接收附加有电子签名的电子邮件;
公钥信息提取器,所述公钥信息提取器提取添加到电子邮件中的发件人地址的对应于电子签名的公钥的信息;以及
验证器,所述验证器基于公钥的信息来验证电子签名。
本公开包含与在2012年9月25日向日本专利局提交的日本优先权专利申请JP2012-211130中公开的主题相关的主题,该专利申请的整个内容通过引用合并于此。

Claims (14)

1.一种发送设备,包括:
公钥信息添加器,所述公钥信息添加器把对应于电子签名的公钥的信息添加到附加有所述电子签名的电子邮件中的发件人地址;以及
发送器,所述发送器发送所述电子邮件。
2.按照权利要求1所述的发送设备,还包括:
密钥生成器,所述密钥生成器生成成对的公钥和私钥;
签名生成器,所述签名生成器生成电子签名;以及
电子邮件创建器,所述电子邮件创建器创建附加有电子签名的电子邮件。
3.按照权利要求1所述的发送设备,还包括:
接收器,所述接收器从另一个设备接收附加有电子签名的电子邮件;以及
公钥信息储存器,所述公钥信息储存器保存对应于电子签名的公钥的信息,
其中,公钥信息添加器把从公钥信息储存器提取的公钥的信息添加到从所述另一个设备接收的电子邮件中的发件人地址。
4.按照权利要求1所述的发送设备,还包括:
验证结果接收器,所述验证结果接收器从接收了电子邮件的接收设备接收基于公钥的信息验证电子签名的结果。
5.按照权利要求1所述的发送设备,其中
电子签名是按照MQ协议的电子签名。
6.一种接收设备,包括:
接收器,所述接收器接收附加有电子签名的电子邮件;
公钥信息提取器,所述公钥信息提取器提取添加到电子邮件中的发件人地址的对应于所述电子签名的公钥的信息;以及
验证器,所述验证器基于所述公钥的信息来验证所述电子签名。
7.按照权利要求6所述的接收设备,还包括:
发送器,所述发送器发送验证器的验证结果。
8.按照权利要求7所述的接收设备,其中
所述发送器使发送收件人设备以按照验证结果更改文本或标记的显示或者显示颜色的方式显示验证结果。
9.按照权利要求6所述的接收设备,其中
电子邮件是从邮件发送清单转发的电子邮件,并且和公钥的信息等同的信息被包含在列入了邮件发送清单中的邮寄者的邮件地址中。
10.按照权利要求6所述的接收设备,其中
电子签名是按照MQ协议的电子签名。
11.一种发送方法,包括:
把对应于电子签名的公钥的信息添加到附加有所述电子签名的电子邮件中的发件人地址;以及
发送所述电子邮件。
12.一种使计算机起以下作用的程序:
公钥信息添加器,所述公钥信息添加器把对应于电子签名的公钥的信息添加到附加有所述电子签名的电子邮件中的发件人地址;以及
发送器,所述发送器发送所述电子邮件。
13.一种接收方法,包括:
接收附加有电子签名的电子邮件;
提取添加到所述电子邮件中的发件人地址的对应于所述电子签名的公钥的信息;以及
基于所述公钥的信息来验证所述电子签名。
14.一种使计算机起以下作用的程序:
接收器,所述接收器接收附加有电子签名的电子邮件;
公钥信息提取器,所述公钥信息提取器提取添加到所述电子邮件中的发件人地址的对应于所述电子签名的公钥的信息;以及
验证器,所述验证器基于所述公钥的信息来验证所述电子签名。
CN201310425917.1A 2012-09-25 2013-09-18 发送设备、接收设备、发送方法、接收方法和程序 Pending CN103684987A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012211130A JP2014068139A (ja) 2012-09-25 2012-09-25 送信装置、受信装置、送信方法、受信方法及びプログラム
JP2012-211130 2012-09-25

Publications (1)

Publication Number Publication Date
CN103684987A true CN103684987A (zh) 2014-03-26

Family

ID=50321353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310425917.1A Pending CN103684987A (zh) 2012-09-25 2013-09-18 发送设备、接收设备、发送方法、接收方法和程序

Country Status (3)

Country Link
US (1) US9300466B2 (zh)
JP (1) JP2014068139A (zh)
CN (1) CN103684987A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743181A (zh) * 2019-01-14 2019-05-10 深圳大学 一种邮件隐私保护方法、装置及终端设备
CN116886319A (zh) * 2023-09-08 2023-10-13 海马云(天津)信息技术有限公司 证书校验方法及装置、通信设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019118447A1 (en) * 2017-12-11 2019-06-20 Celo Labs Inc. Decentralized database associating public keys and communications addresses

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024147A (ja) * 2000-07-05 2002-01-25 Nec Corp セキュアメールプロキシシステム及び方法並びに記録媒体
US7363490B2 (en) * 2002-09-12 2008-04-22 International Business Machines Corporation Method and system for selective email acceptance via encoded email identifiers
CN1729460B (zh) * 2002-12-20 2010-05-12 日本电信电话株式会社 通信方法、通信系统、中继系统、邮件发送的系统及方法
US7640427B2 (en) * 2003-01-07 2009-12-29 Pgp Corporation System and method for secure electronic communication in a partially keyless environment
US7266847B2 (en) * 2003-09-25 2007-09-04 Voltage Security, Inc. Secure message system with remote decryption service
JP2005141461A (ja) 2003-11-06 2005-06-02 Murata Mach Ltd 暗号化通信システム
US7610627B1 (en) * 2004-01-23 2009-10-27 Acxiom Corporation Secure data exchange technique
US7886144B2 (en) * 2004-10-29 2011-02-08 Research In Motion Limited System and method for retrieving certificates associated with senders of digitally signed messages
US7370202B2 (en) * 2004-11-02 2008-05-06 Voltage Security, Inc. Security device for cryptographic communications
US7660861B2 (en) * 2005-06-21 2010-02-09 Data Laboratory, L.L.C. System and method for verifying the identity of a sender of electronic mail and preventing unsolicited bulk email
JP5017830B2 (ja) * 2005-09-22 2012-09-05 富士ゼロックス株式会社 電子メール送受信装置、プログラム
US20070130069A1 (en) * 2005-12-06 2007-06-07 Microsoft Corporation Encapsulating Address Components
EP2348449A3 (en) * 2009-12-18 2013-07-10 CompuGroup Medical AG A computer implemented method for performing cloud computing on data being stored pseudonymously in a database
US8327157B2 (en) * 2010-02-15 2012-12-04 Vistech LLC Secure encrypted email server

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743181A (zh) * 2019-01-14 2019-05-10 深圳大学 一种邮件隐私保护方法、装置及终端设备
CN109743181B (zh) * 2019-01-14 2022-04-19 深圳大学 一种邮件隐私保护方法、装置及终端设备
CN116886319A (zh) * 2023-09-08 2023-10-13 海马云(天津)信息技术有限公司 证书校验方法及装置、通信设备

Also Published As

Publication number Publication date
JP2014068139A (ja) 2014-04-17
US20140089668A1 (en) 2014-03-27
US9300466B2 (en) 2016-03-29

Similar Documents

Publication Publication Date Title
US10122710B2 (en) Binding a data transaction to a person&#39;s identity using biometrics
US9438589B2 (en) Binding a digital file to a person&#39;s identity using biometrics
Yung Practical signcryption
CN107733656A (zh) 一种密码认证方法及装置
EP2961094A1 (en) System and method for generating a random number
CN1937492A (zh) 信息处理设备及其控制方法
CN101715638A (zh) 为获取解密密钥而请求密钥获取的安全电子消息系统
CN102792633A (zh) 访问控制
CN103678995A (zh) 信息处理装置、信息处理方法以及非暂态计算机可读介质
CN102263639A (zh) 认证装置、认证方法、程序和签名生成装置
CN107835079A (zh) 一种基于数字证书的二维码认证方法和设备
CN105323063B (zh) 基于二维码的移动终端与固定智能终端的身份验证方法
US20210184851A1 (en) Authentication device, system and method
CN109918888A (zh) 基于公钥池的抗量子证书颁发方法及颁发系统
CN107690079A (zh) 直播平台中的用户隐私保护方法
CN103684987A (zh) 发送设备、接收设备、发送方法、接收方法和程序
JP2005213020A (ja) 配送管理方法
CN102340399A (zh) 信息处理装置和信息处理方法
CN102077542B (zh) 安全数字通信
CN103188271A (zh) 一种安全的邮件客户端本地数据存储、识别方法和装置
Chiou et al. Design and implementation of a mobile voting system using a novel oblivious and proxy signature
JP2006185124A (ja) 漏洩元特定可能メールアドレス構成方法およびそれを利用した漏洩元特定可能メール送受信方法とそのシステム
CN103795536A (zh) 印刷媒体,卡片制作方法和程序
JP2015219822A (ja) ワンストップ申請システム、ワンストップ申請方法およびプログラム
WO2017135866A1 (en) Method and system for assurance of message integrity

Legal Events

Date Code Title Description
PB01 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: 20140326