CN111464494A - 一种电子邮件加密方法、第一客户端以及区块链系统 - Google Patents
一种电子邮件加密方法、第一客户端以及区块链系统 Download PDFInfo
- Publication number
- CN111464494A CN111464494A CN202010121629.7A CN202010121629A CN111464494A CN 111464494 A CN111464494 A CN 111464494A CN 202010121629 A CN202010121629 A CN 202010121629A CN 111464494 A CN111464494 A CN 111464494A
- Authority
- CN
- China
- Prior art keywords
- client
- encrypted
- certificate
- key
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/56—Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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 a third party or a trusted authority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种电子邮件加密方法、第一客户端以及区块链系统,该方法包括:获取待传输的电子邮件;在第一客户端与第一区块链节点建立通信连接的情况下,获取第一客户端本次传输对应的密钥;根据密钥对电子邮件进行加密,获得加密邮件,以及邮件凭证;将邮件凭证上传到第一区块链节点中,以使第一区块链节点将邮件凭证广播到第二区块链节点,并向第二客户端提供;向第二客户端发送加密邮件,以使第二客户端通过邮件凭证,对加密邮件解密从而获得电子邮件。通过在原有邮件传输路径基础上,仅将邮件凭证通过区块链传输,符合区块链适用小体量数据传输的性质,在实现邮件加密的同时,降低了邮件系统的改建、运营、维护成本。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种电子邮件加密方法、第一客户端以及区块链系统。
背景技术
电子邮件是计算机网络中最早也是最重要的应用服务之一,通过电子邮件,世界各地的人们可以方便、快捷的传递消息、进行网上交流。目前,电子邮件通信已成为人们常用的沟通往来方式。另外,随着便于携带的移动终端逐渐普及,越来越多的人通过移动终端收发电子邮件,电子邮件也内嵌到越来越多的应用程序中。
目前,多数电子邮件在传输过程中采用明文传输,而有些电子邮件的内容属于敏感信息,在网络中明文传输造成了电子邮件传输的安全隐患。为了保证电子邮件信息安全,当前采用了对电子邮件进行加密,并将加密后的电子邮件通过区块链进行传输的方案。区块链作为分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、易于追溯、集体维护、公开透明等特点,从而能够保证电子邮件传输过程的安全性和可追溯性。
但是,区块链具有适合存储账单等数据量较小的信息的局限,传输数据量较大的电子邮件,尤其是带附件的电子邮件时需要额外部署独立的存储系统,而使用、维护该系统都需要大量的人力成本和时间成本。
发明内容
本发明实施例提供一种电子邮件加密方法、第一客户端以及区块链系统,以解决现有通过区块链对电子邮件进行加密传输时成本高的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供一种电子邮件加密方法,应用于第一客户端,该方法可以包括:
获取待传输的电子邮件;
在所述第一客户端与第一区块链节点建立通信连接的情况下,获取所述第一客户端本次传输对应的密钥;
根据所述密钥对所述电子邮件进行加密,获得加密邮件,以及所述加密邮件对应的邮件凭证;
将所述邮件凭证上传到所述第一区块链节点中,以使所述第一区块链节点将所述邮件凭证广播到第二区块链节点,并由所述第二区块链节点向第二客户端提供所述邮件凭证;
向所述第二客户端发送所述加密邮件,以使所述第二客户端通过所述邮件凭证,对所述加密邮件解密从而获得电子邮件。
第二方面,本发明实施例还提供了一种区块链系统,该区块链系统可以包括:第一区块链节点和第二区块链节点;
所述第一区块链节点用于从第一客户端接收加密邮件对应的邮件凭证,并将所述邮件凭证广播到所述第二区块链节点;所述加密邮件由所述第一客户端对待传输的电子邮件加密得到;
所述第二区块链节点用于存储所述邮件凭证,并在接收到第二客户端发送的请求指令时,将所述邮件凭证添加至针对所述请求指令的响应中,以使第二客户端根据所述响应中的邮件凭证,对所述第一客户端发送的所述加密邮件进行解密获得电子邮件。
第三方面,本发明实施例还提供了一种第一客户端,该第一客户端可以包括:
邮件获取模块,用于获取待传输的电子邮件;
密钥获取模块,用于在所述第一客户端与第一区块链节点建立通信连接的情况下,获取所述第一客户端本次传输对应的密钥;
邮件加密模块,用于根据所述密钥对所述电子邮件进行加密,获得加密邮件,以及所述加密邮件对应的邮件凭证;
第一发送模块,用于将所述邮件凭证上传到所述第一区块链节点中,以使所述第一区块链节点将所述邮件凭证广播到第二区块链节点,并由所述第二区块链节点向第二客户端提供所述邮件凭证;
第二发送模块,用于向所述第二客户端发送所述加密邮件,以使所述第二客户端通过所述邮件凭证,对所述加密邮件解密从而获得电子邮件。
第四方面,本发明实施例还提供一种移动终端,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的电子邮件加密方法的步骤。
第五方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的电子邮件加密方法的步骤。
在本发明实施例中,针对与第一区块链节点建立通信连接的第一客户端提供发送加密邮件的功能,通过获取第一客户端对应的密钥对待传输的电子邮件进行加密,并获取加密邮件对应的邮件凭证,将邮件凭证上传到第一区块链节点中,第一客户端将加密邮件发送给第二客户端,第一区块链节点将邮件凭证广播到第二区块链节点,以使第二客户端从第二区块链节点中获取邮件凭证从而对加密邮件解密,即加密邮件通过原有的邮件发送接收路径传输,而加密邮件对应的邮件凭证在区块链系统不同的区块链节点间传输。加密邮件的邮件凭证不与加密邮件一同传输,从而加大了加密邮件的破译难度,提高了加密邮件传输过程中的安全性。另外,本发明实施例中提供的邮件加密方法仅需要在现有的邮件传输路径上,与对应存储、传输邮件凭证的区块链节点建立通信连接,无需对邮件传输路径本身进行改进、调整、重建等。而且区块链仅需要存储、传输体量较小的邮件凭证,符合区块链本身适合存储账单等数据量较小的信息的特点,无需再布置第三方独立的存储系统存储加密邮件的内容,降低了部署、使用和维护成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1表示本发明实施例提供的一种电子邮件加密方法的步骤流程图;
图2表示本发明实施例的一种区块链系统的架构示意图;
图3表示本发明实施例的一种电子邮件加密方法具体示例的多端交互示意图;
图4表示本发明实施例提供的一种电子邮件加密方法具体示例的架构示意图;
图5表示本发明实施例的一种第一客户端的结构框图;
图6表示本发明实施例的一种终端设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
参见图1,示出了本发明实施例提供的一种电子邮件加密方法的步骤流程图,应用于第一客户端,如图1所示,所述方法包括:
步骤101,获取待传输的电子邮件。
在本发明的实施例中,第一客户端可以是具有邮件收发功能的终端设备,如通过网页、APP(Application,应用软件)等提供电子邮箱账号登录功能的终端设备,如个人电脑、平板电脑、笔记本电脑、手机等,可选地,一个终端设备上可以登录一个或多个电子邮箱账号。
本发明实施例中,可以先获取待传输的电子邮件,可选地,可以是在用户根据电子邮箱账号信息登录电子邮箱、编辑电子邮件并选择发送后,根据用户的选择获得待传输的电子邮件,其中待传输的电子邮件可以包括电子邮件的标题内容、正文内容、附件内容等。可选地,还可以获取第一客户端的地址信息、接收电子邮件的第二客户端地址信息、电子邮件发送时间信息等,以便后续对电子邮件进行验证。
步骤102,在所述第一客户端与第一区块链节点建立通信连接的情况下,获取所述第一客户端本次传输对应的密钥。
本发明实施例中,区块链指分布式的共享账本和数据库,其具有去中心化、不可篡改、全程留痕、可以追溯、基体维护、公开透明等特点,能够实现多个主题间的协作信任与一致行动。其中,区块链可以包括对应的区块链节点、区块链账号和区块链钱包,区块链节点用于存放数据、区块链账号用于验证用户身份以向用户提供区块链服务,区块链钱包中包括区块链节点地址、余额等信息。可选地,第一客户端与第一区块链节点建立通信连接,可以是第一客户端与第一区块链节点对应的第一区块链账号绑定,从而使得第一客户端可以将数据向第一区块链钱包中的地址发送,以使得第一区块链节点获取、存储该数据。
本发明实施例中,可以根据用户的操作建立第一客户端与第一区块链节点的通信连接,可选地,在用户登录第一客户端的邮箱账户时,可以向用户提供选择绑定区块链账号的界面,根据用户在该界面上的操作,选择一个区块链账号或多个区块链账号,从而将一个或多个区块链节点作为第一区块链节点建立与第一客户端的通信连接。另外,可选地,对于与第一区块链节点建立通信连接的第一客户端,在电子邮件的发送界面,可以提供电子邮件加密发送的选择按键,根据用户的操作可以选择明文发送或者加密发送。
本发明实施例中,对于与第一区块链节点建立通信连接的第一客户端,在确定当前待传输的电子邮件为加密发送后,可以获取第一客户端对应的密钥,可选地,密钥可以是保存在终端设备本地的、第一客户端对应的密钥,用于对第一客户端发送的所有的电子邮件进行加密;也可以是实时生成的密钥,用于对第一客户端本次发送的电子邮件进行加密。可选地,密钥可以是随机生成的密钥,也可以根据第二客户端接收加密邮件的邮箱账户生成,本发明实施例对此不做具体限制。
步骤103,根据所述密钥对所述电子邮件进行加密,获得加密邮件,以及所述加密邮件对应的邮件凭证。
本发明实施例中,可以根据第一客户端本次传输对应的密钥对待传输的电子邮件加密,以获得加密邮件,其中,可以根据用户的操作选择或默认对邮件标题、邮件正文和邮件附件中至少一个进行加密,以获得加密邮件。可选地,还可以获得加密邮件对应的邮件凭证,邮件凭证中可以包括用于加密电子邮件的加密信息,也可以包括电子邮件的发送端、接收端、发送时间、邮件长度等邮件信息。
步骤104,将所述邮件凭证上传到所述第一区块链节点中,以使所述第一区块链节点将所述邮件凭证广播到第二区块链节点,并由所述第二区块链节点向第二客户端提供所述邮件凭证。
本发明实施例中,在获得加密邮件和邮件凭证后,可以将邮件凭证上传到第一区块链节点,第一区块链节点可以将邮件凭证广播到第二区块链节点,其中,第二区块链节点与接收加密邮件的第二客户端之间建立通信连接,从而使得第二客户端可以从第二区块链节点中获取加密邮件对应的邮件凭证,第一区块链节点与第二区块链节点仅用于区分接收第一客户端上传的邮件凭证,或向第二客户端提供邮件凭证,在实际的应用中也可以是同一区块链节点。可选地,由于区块链不适宜存放大体积数据,而适合存放简易信息的特质,可以根据邮件凭证的大小,将其依次分开上传到多个第一区块链节点,并广播到第二区块链节点,进一步提升数据传输的效率。
步骤105,向所述第二客户端发送所述加密邮件,以使所述第二客户端通过所述邮件凭证,对所述加密邮件解密从而获得电子邮件。
可选地,本发明实施例中,步骤102包括,
步骤S11,在所述第一客户端与所述第一区块链节点建立通信连接的情况下,根据所述第二客户端的标识信息确定所述第一客户端本次传输对应的加密公钥。
步骤S12,根据所述第一客户端的标识信息确定所述第一客户端本次传输对应的签名密钥对。
本发明实施例中,可以根据SM9标识密码算法进行对待传输的电子邮件进行加密,其中,SM9标识密码算法是一种以用户的身份标识作为公钥,不依赖于数字证书的密码算法,主要包括密钥部分和算法部分。密钥部分包括签名密钥对、加密密钥对,算法部分包括签名验签算法、密钥封装解封算法、加密解密算法、密钥交换算法。加密密钥对用于对数据加密,从而保证数据不被拦截、破解,签名密钥对用于对数据进行签名,用于验证发送端、接收端的身份。可选地,本发明实施例中密钥生成器仅用于计算生成密钥,而不用于存储密钥,以避免密钥通过密钥生成器泄露,造成电子邮件传输的安全风险。
可选地,本发明实施例中,所述步骤103包括,
根据所述加密公钥对所述电子邮件进行加密,获得加密邮件。
本发明实施例中,第一客户端可以直接将第二客户端的标识信息作为加密邮件的加密公钥,也可以对第二客户端的标识信息进行一定程度上的格式处理后,再作为加密公钥对待传输的电子邮件进行加密。由于根据第二客户端的标识信息进行加密,因此,在接收到加密邮件后,第二客户端能够通过从密钥生成器中获取的,根据第二客户端的标识信息计算得到的加密私钥对加密邮件进行解密,以获得电子邮件。由于加密密钥对私钥仅由密钥生成器计算生成发给第二客户端保存,不在网路中传播,因此,降低了被拦截、错误接收的加密邮件被破密的风险。其中,第二客户端的标识信息可以是第二客户端接收电子邮件的邮箱账户,在确定对待传输的电子邮件加密后,第一客户端可以获取接收电子邮件的邮箱账户以对电子邮件进行加密。
本发明实施例中,第一客户端对应的签名密钥对可以是根据第一客户端的标识信息计算得到的签名密钥对。可选地,可以在对电子邮件加密前进行签名,也可以在电子邮件加密后对加密邮件进行签名,其中,签名密钥对可以包括签名公钥和签名私钥,在对加密邮件进行签名时,可以通过签名私钥对对加密邮件进行签名,在第二客户端接收到加密邮件后,可以根据签名公钥如第一客户端的标识信息对加密邮件进行身份验证,即发送端通过独立持有的签名私钥对加密邮件进行签名,接收端通过可知的签名公钥对签名进行验证以唯一确认发送端身份,从而避免加密邮件的篡改、伪装等。
可选地,本发明实施例中,所述步骤103包括,
获取所述加密邮件对应的加密信息,所述加密信息包括所述第一区块链节点的地址信息、所述第一客户端的标识信息、所述电子邮件的时间信息、所述电子邮件的长度信息中的至少一种;
根据所述签名密钥对对所述加密信息进行签名,获得所述加密邮件对应的邮件凭证,以使所述第二客户端根据所述邮件凭证验证所述加密邮件的完整性和合法性。
在本发明的实施例中,在对待传输的电子邮件加密获得加密邮件后,可以获取加密邮件对应的加密信息,如第一区块链节点的地址信息、第一客户端的标识信息、电子邮件的时间信息、电子邮件的长度信息等。其中,第一客户端的标识信息可以是第一客户端的邮箱账户信息、或者第一客户端的用户ID(Identity)信息等;电子邮件的时间信息可以包括电子邮件的发送时间信息、电子邮件的编辑时长等;电子邮件的长度信息可以包括电子邮件标题长度、电子邮件正文长度、电子邮件附件长度等。本领域技术人员可以根据具体需求,确定加密邮件相关的加密信息的种类,本发明实施例对此不做具体限制。
在本发明实施例中,获取加密邮件的加密信息后,可以对加密信息进行组合,并通过签名密钥对进行签名以获得加密邮件的邮件凭证,邮件凭证可用于第二客户端验证加密邮件的完整性,即加密邮件的邮件内容在传输过程中是否出现损坏、丢失,如验证加密邮件对应的邮件内容长度与邮件凭证中电子邮件的长度信息是否一致,加密邮件的发送时间与邮件凭证中电子邮件的时间信息是否一致等;还可以用于验证加密邮件的合法性,即加密邮件的发送端是否为第一客户端,在传输过程中是否出现篡改、伪装、替换,如验证邮件凭证的签名与加密邮件的签名是否一致,邮件凭证中第一客户端的标识信息与加密邮件的发送端标识信息是否一致,邮件凭证中第一区块链的地址信息是否与发送端的第一客户端建立通信连接等。
在本发明实施例中,可选地,当加密邮件的合法性和/或完整性验证失败时,可以向用户提示当前电子邮件身份验证失败,可能被篡改的信息,以提高用户的防范意识,避免电子邮件的信息的进一步泄露;当加密邮件的合法性和完整性验证成功时,第二客户端可以对加密邮件进行解密,以获得明文的电子邮件,从而完成电子邮件的传输。
其中,第二客户端可以根据加密密钥对中的加密私钥对加密邮件进行解密,可选地,由于加密私钥是根据第二客户端的标识信息计算得到的,因此,第二客户端可以在解密时通过密钥生成器获取加密密钥对中的加密私钥,也可以预先将密钥生成器根据第二客户端的标识信息计算得到的加密私钥保存在本地。另外,当第二客户端的加密私钥与第一客户端加密电子邮件时使用的加密公钥不匹配时,即加密公钥对应的标识信息与加密私钥对应的标识信息不符,可以认为第二客户端没有解密该加密邮件的权限,此时,加密邮件的解密失败。即上述过程中,发送端通过加密公钥对电子邮件进行加密,接收端再通过加密私钥解密,发送端通过签名私钥对电子邮件进行签名,接收端再通过签名公钥对签名进行验证,即各端独立保存加密私钥和/或签名私钥,保证的私钥的安全性。
本发明实施例中,第二客户端在接收到第一客户端发送的加密邮件后,可以在第二区块链节点中获取加密邮件对应的邮件凭证,并根据邮件凭证中的电子邮件的加密信息对加密邮件进行解密,以获得明文电子邮件,其中,基于区块链系统性质,上传到某一区块链节点的数据可以共享给所有的区块链节点共同维护,因此,第二区块链节点可以是区块链系统中的任意区块链节点。
综上所述,本发明实施例中加密邮件的邮件凭证不与加密邮件一同传输,从而加大了加密邮件的破译难度,提高了加密邮件传输过程中的安全性。另外,本发明实施例中提供的邮件加密方法仅需要在现有的邮件传输路径上,与对应存储、传输邮件凭证的区块链节点建立通信连接,无需对邮件传输路径本身进行改进、调整、重建等。而且区块链仅需要存储、传输体量较小的邮件凭证,符合区块链本身适合存储账单等数据量较小的信息的特点,无需再布置第三方独立的存储系统存储加密邮件的内容,降低了部署、使用和维护成本。
参见图2,示出了本发明实施例提供的一种区块链系统201在电子邮件加密方法中的多端交互示意图,如图2所示,该区块链系统201包括:第一区块链节点2011和第二区块链节点2012,在电子邮件加密方法实现过中还可以包括第一客户端202、第二客户端203;
所述第一区块链节点2011用于从第一客户端202接收加密邮件对应的邮件凭证,并将所述邮件凭证广播到所述第二区块链节点2012;所述加密邮件由所述第一客户端202对待传输的电子邮件加密得到。
本发明实施例中,采用区块链系统对加密邮件的邮件凭证进行传输,其中,区块链包括多个对应的区块链账号、区块链节点和区块链钱包。客户端的电子邮箱可以与一个或多个区块链账号绑定,在一次电子邮件传输中,一个邮箱账号与一个区块链节点建立通信连接,从而使得客户端能够将邮件凭证上传到对应地址的区块链节点中,并广播给区块链系统中其他的区块链节点,地址保存在区块链钱包中,以实现邮件凭证在区块链系统中的传输。
本发明实施例中,第一客户端在对待传输的电子邮件加密获得加密邮件,并获得加密邮件对应的邮件凭证后,可以针对邮件凭证发起第一区块链账号与第二区块链账号间的交易,包括确定交易的Nonce(Number used once,被使用一次的非重复的随机数值)值、交易价格、交易数据即邮件凭证大小、交易对象及第二区块链账号等。可选地,Nonce值是每一个区块链账号从同一个区块链节点发起交易时,从0开始计数Nonce值,每发送一笔交易Nonce值加1,只有当前面Nonce值较小的交易处理完成之后才会处理后面nonce值较大的交易,以防止防止多重交易。交易价格可以包括执行交易最多被允许使用的计算步骤(Gaslimit),以及交易发起者对每一个计算步骤愿意支付的费用(Gas Price)等,在区块链中可以通过比特币、以太币等数字货币支付交易价格。在发起交易且交易被矿工挖矿后,邮件凭证会广播到所有区块链系统所有的区块链节点上。
所述第二区块链节点2012用于存储所述邮件凭证,并在接收到第二客户端203发送的请求指令时,将所述邮件凭证添加至针对所述请求指令的响应中,以使第二客户端203根据所述响应中的邮件凭证,对所述第一客户端发送的所述加密邮件进行解密获得电子邮件。
本发明实施例中,以第二区块链节点表示向第二客户端提供邮件凭证的区块链节点,第二区块链节点通过交易接收、保存邮件凭证后,可以接收第二客户端发送的请求指令。其中,请求指令为第二客户端接收到加密邮件后,确认该加密邮件为区块链加密邮件后,向建立通信连接的第二区块链节点发送获取该加密邮件对应的邮件凭证的请求指令。第二区块链节点将邮件凭证添加至针对该请求指令的响应中,从而使得第二客户端可以根据该邮件凭证对加密邮件进行解密,也可以先确定加密邮件的合法性、完整性等。
可选地,在本发明实施例中,所述第一区块链节点3011还用于在所述邮件凭证满足预设条件时,确定所述邮件凭证具有合法性。
本发明实施例中,第一区块链账号针对邮件凭证向第二区块链账号发起交易时,可以先确认邮件凭证是否满足预设条件,以判断邮件凭证的交易是否具有合法性,从而保证邮件凭证在区块链中传输的安全、有序,避免邮件凭证传输失败、传输错误的问题,或者其他数据伪装邮件凭证上传造成的安全问题等。
可选地,在本发明实施例中,所述预设条件包括以下一种或多种情况:
所述邮件凭证不是重复交易;
所述邮件凭证具有合法签名;
所述邮件凭证的大小小于或等于所述第一区块链节点对应的交易数据大小限制;
所述邮件凭证的交易价格小于或等于所述第一区块链节点对应的余额。
在本发明的实施例中,可以通过判断该邮件凭证的交易是否为重复交易,以确定邮件凭证的合法性。如果针对该邮件凭证的交易已经发起过是重复交易,此时,本次交易的邮件凭证可能存在伪装、篡改的安全隐患,或者,也可能是网络、配置等错误导致的交易重复发起。因此,可以将重复交易的邮件凭证确定为非法,从而阻止该交易的执行。可选地,可以通过交易的Nonce值确定针对该邮件凭证的交易是否为重复交易,如当Nonce小于或等于之前已有交易的Nonce值时,确定该交易为重复交易。
本发明实施例中,可以通过判断该邮件凭证的签名是否为合法签名,以确定邮件凭证的合法性,其中,邮件凭证的签名可以是第一客户端通过签名密钥对中的签名私钥对邮件凭证进行的签名。此时,第二客户端可以根据第一客户端的签名公钥对邮件凭证的签名进行验证,当确定邮件凭证的签名私钥是第一客户端的签名公钥对应的签名私钥时,则确定邮件凭证具有合法签名,反之则认为邮件凭证具有非法签名,即邮件凭证的发送发身份不明,具有安全隐患,其中,签名公钥可以是第一客户端的标识信息如发送电子邮件的电子邮箱账号。
本发明实施例中,可以通过判断邮件凭证的大小是否小于或等于第一区块链节点对应的交易数据大小限制,以确定邮件凭证的合法性。在区块链的交易过程中,基于区块链适宜账本、凭证等简易信息等特点,签名后的交易数据字节数据有一定限制,以避免交易数据过大影响传输效率。当邮件凭证的大小大于交易数据大小限制时,可以取消本次交易,并对邮件凭证进行分片获得数据大小小于或等于交易数据限制的分片,在针对分片次序依次发起交易,从而保证邮件凭证的交易正常进行。
本发明实施例中,可以通过判断邮件凭证的交易价格是否小于或等于第一区块链节点对应的余额,以确定邮件凭证的合法性。可选地,可以是根据Gaslimit和Gasprice计算得到的最大交易费用作为交易价格,与区块链节点对应的区块链钱包中的余额比较。当交易价格小于或等于余额时,说明当前区块链账号有能力支付在第一区块链节点发起的,针对邮件凭证的交易,从而确定邮件凭证合法;反之,则确定邮件不合法,取消本次交易。此时,可以通过调节Gas limit和Gas price来调节交易价格,或者使用其他余额大于或等于交易价格的区块链节点发起交易,从而避免交易半途而废,邮件凭证无法正常达到第二区块链节点。
综上所述,通过区块链系统传输小体量的邮件凭证,从而在保证传输效率,降低部署成本的情况下,利用区块链系统去中心化、不可篡改、全程留痕、易于追溯、集体维护、公开透明等特点,从而能够保证电子邮件的邮件凭证传输过程的安全性和可追溯性。
参见图3,示出了本发明实施例的一种电子邮件加密方法具体示例的多端交互示意图,图4为本发明实施例提供的实现电子邮件加密方法的架构示意图,如图4所示,包括区块链系统401、第一客户端402、第二客户端403、密钥生成器404,邮件系统405;其中,区块链系统401包括第一区块链节点4011、第二区块链节点4012,邮件系统405包括第一邮件服务器4051、第一邮件服务器4052;
通过图4所示的架构实现的电子加密方法如图3所示,用户A对应第一客户端402,用户B对应第二客户端403,当用户A需要向用户B发送加密邮件时:
步骤301:第一客户端402获取待传输的电子邮件。
步骤302:第一客户端402在与第一区块链节点4011建立通信连接的情况下,根据所述第二客户端的标识信息确定所述第一客户端本次传输对应的加密公钥。
步骤303:第一客户端402根据加密公钥对对电子邮件进行加密,获得加密邮件。
步骤304:密钥生成器404根据第一客户端的标识信息确定第一客户端本次传输对应的签名密钥对,并根据第二客户端的标识信息确定第一客户端本次传输对应的加密私钥。
步骤305:密钥生成器404将签名密钥对向所述第一客户端发送。
步骤306:密钥生成器404将加密私钥向所述第二客户端发送。
本发明实施例中,由于第一客户端在向第二客户端发送加密邮件时,时通过第一客户端加密密钥对中的加密公钥进行加密的,而第二客户端则通过加密密钥对中的加密私钥进行解密,即只要不更换加密密钥对,第二客户端可以使用同样的加密私钥解密相同的邮箱账户接收到的所有加密邮件。因此,第二客户端可以在获得加密私钥后,将加密私钥保存在本地以避免每次解密时都需要与密钥生成器交互导致的解密效率低的问题,此时,第二客户端可以直接从本地获取加密私钥。同时,密钥生成器可以针对同一第二客户端同一邮箱账户仅发送一次加密私钥,以减轻密钥生成器的计算量。另外,由于第一客户端在签名时仅使用签名私钥,因此,密钥生成器也可以仅向第一客户端发送签名私钥,以降低数据传输量,提高数据传输的效率。
步骤307:第一客户端402向第二客户端403发送所述加密邮件。
本发明实施例中,可选地,如图4所示,第一客户端402可以通过邮件系统405向第二客户端403发送加密邮件;第一客户端402将加密邮件发送到邮件系统405的第一邮件服务器4051;第一邮件服务器4051再通过互联网将加密邮件发送到第二邮件服务器4052;第二邮件服务器4052再将加密邮件发送给第二客户端403。可选地,第一客户端402也可以根据签名密钥对对加密邮件进行签名后再向第二客户端403发送。
步骤308:第一客户端402获取所述加密邮件对应的加密信息。
步骤309:第一客户端402根据所述签名密钥对对所述加密信息进行签名,获得所述加密邮件对应的邮件凭证。
本发明实施例中,在获得邮件凭证时,可以使用加密前信息,也可以使用加密后信息,如加密前邮件长度或加密后邮件长度、加密前邮件编辑信息或加密后邮件编辑信息等,通过对加密前信息或加密后信息进行签名,均可获得用于验证加密邮件的邮件凭证,本发明实施例对此不作具体限制。
步骤310:第一客户端402向第一区块链节点4011发送所述邮件凭证。
步骤311:第一区块链节点4011从第一客户端402接收加密邮件对应的邮件凭证,并将所述邮件凭证广播到第二区块链节点4012。
步骤312:第二客户端403接收所述第一客户端402发送的加密邮件,并向第二区块链节点4012发送请求指令。
步骤313:第二区块链节点4012存储所述邮件凭证,并在接收到第二客户端403发送的请求指令时,将所述邮件凭证添加至针对所述请求指令的响应中。
步骤314:第二客户端403从所述第二区块链节点4012的响应中获取所述加密邮件对应的邮件凭证,并根据所述邮件凭证验证所述加密邮件的完整性和合法性。
步骤315:第二客户端403根据对所述加密邮件的验证结果,通过加密私钥对所述加密邮件进行解密,获得电子邮件。
可选地,第二客户端403可以向用户B展示电子邮件的内容,根据不同的情况,邮件展示内容可以如下所示:
第二客户端403接收到的是非加密邮件,则直接展示电子邮件的明文;
第二客户端403接收到的是加密邮件,但是第二客户端403没有与第二区块链节点4012建立通信连接,则显示加密邮件的密文;
第二客户端403接收到的是加密邮件,且第二客户端403与第二区块链节点4012建立通信连接,但是第二客户端403通过邮件凭证验证加密邮件的发送端即第一客户端402身份非法、或加密邮件发生数据损坏、篡改、伪装等,则显示加密邮件的密文;
第二客户端403接收到的是加密邮件,且第二客户端403与第二区块链节点4012建立通信连接,但是第二客户端403的标识信息与用于计算加密密钥对的标识信息不符没有加密权限,则显示加密邮件的密文;
第二客户端403接收到的是加密邮件,且第二客户端403与第二区块链节点4012建立通信连接,第一客户端402身份合法,第二客户端403有解密权限,则对加密邮件解密成功,显示电子邮件明文。
在本发明实施例中,针对与第一区块链节点建立通信连接的第一客户端提供发送加密邮件的功能,通过获取第一客户端对应的密钥对待传输的电子邮件进行加密,并获取加密邮件对应的邮件凭证,将邮件凭证上传到第一区块链节点中,第一客户端将加密邮件发送给第二客户端,第一区块链节点将邮件凭证广播到第二区块链节点,以使第二客户端从第二区块链节点中获取邮件凭证从而对加密邮件解密,即加密邮件通过原有的邮件发送接收路径传输,而加密邮件对应的邮件凭证在区块链系统不同的区块链节点间传输。加密邮件的邮件凭证不与加密邮件一同传输,从而加大了加密邮件的破译难度,提高了加密邮件传输过程中的安全性。另外,本发明实施例中提供的邮件加密方法仅需要在现有的邮件传输路径上,与对应存储、传输邮件凭证的区块链节点建立通信连接,无需对邮件传输路径本身进行改进、调整、重建等。而且区块链仅需要存储、传输体量较小的邮件凭证,符合区块链本身适合存储账单等数据量较小的信息的特点,无需再布置第三方独立的存储系统存储加密邮件的内容,降低了部署、使用和维护成本。
以上介绍了本发明实施例提供的电子邮件加密方法,下面将结合附图介绍本发明实施例提供的终端设备。
参见图5,本发明实施例还提供了一种第一客户端500的结构框图,包括:
邮件获取模块501,用于获取待传输的电子邮件;
密钥获取模块502,用于在所述第一客户端与第一区块链节点建立通信连接的情况下,获取所述第一客户端本次传输对应的密钥;
邮件加密模块503,用于根据所述密钥对所述电子邮件进行加密,获得加密邮件,以及所述加密邮件对应的邮件凭证;
第一发送模块504,用于将所述邮件凭证上传到所述第一区块链节点中,以使所述第一区块链节点将所述邮件凭证广播到第二区块链节点,并由所述第二区块链节点向第二客户端提供所述邮件凭证;
第二发送模块505,用于向所述第二客户端发送所述加密邮件,以使所述第二客户端通过所述邮件凭证,对所述加密邮件解密从而获得电子邮件。
可选地,所述密钥获取模块502,包括:
第一密钥获取子模块,用于在所述第一客户端与所述第一区块链节点建立通信连接的情况下,根据所述第二客户端的标识信息确定所述第一客户端本次传输对应的加密公钥;
第二密钥获取子模块,用于根据所述第一客户端的标识信息确定所述第一客户端本次传输对应的签名密钥对。。
可选地,所述邮件加密模块503,具体用于根据所述加密公钥对对所述电子邮件进行加密,获得加密邮件。
可选地,所述邮件加密模块503,包括:
加密信息获取子模块5031,用于获取所述加密邮件对应的加密信息,所述加密信息包括所述第一区块链节点的地址信息、所述第一客户端的标识信息、所述电子邮件的时间信息、所述电子邮件的长度信息中的至少一种;
邮件凭证获取子模块5032,用于根据所述签名密钥对对所述加密信息进行签名,获得所述加密邮件对应的邮件凭证,以使所述第二客户端根据所述邮件凭证验证所述加密邮件的完整性和合法性。
本发明实施例提供的第一客户端500能够实现图1的方法实施例中移动终端实现的各个过程,为避免重复,这里不再赘述。
本发明的实施例中,针对与第一区块链节点建立通信连接的第一客户端提供发送加密邮件的功能,通过获取第一客户端对应的密钥对待传输的电子邮件进行加密,并获取加密邮件对应的邮件凭证,将邮件凭证上传到第一区块链节点中,第一客户端将加密邮件发送给第二客户端,第一区块链节点将邮件凭证广播到第二区块链节点,以使第二客户端从第二区块链节点中获取邮件凭证从而对加密邮件解密,即加密邮件通过原有的邮件发送接收路径传输,而加密邮件对应的邮件凭证在区块链系统不同的区块链节点间传输。加密邮件的邮件凭证不与加密邮件一同传输,从而加大了加密邮件的破译难度,提高了加密邮件传输过程中的安全性。另外,本发明实施例中提供的邮件加密方法仅需要在现有的邮件传输路径上,与对应存储、传输邮件凭证的区块链节点建立通信连接,无需对邮件传输路径本身进行改进、调整、重建等。而且区块链仅需要存储、传输体量较小的邮件凭证,符合区块链本身适合存储账单等数据量较小的信息的特点,无需再布置第三方独立的存储系统存储加密邮件的内容,降低了部署、使用和维护成本。
图6为实现本发明各个实施例的一种终端设备600的硬件结构示意图;
该移动终端600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、处理器610、以及电源611等部件。本领域技术人员可以理解,图6中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,移动终端包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等,终端设备用于提供登录第一客户端、第二客户端的功能,并通过第一客户端、第二客户端发送、接收邮件。
其中,应用于第一客户端,用户输入单元607,用于获取待传输的电子邮件;
处理器610,用于在所述第一客户端与第一区块链节点建立通信连接的情况下,获取所述第一客户端本次传输对应的密钥;
根据所述密钥对所述电子邮件进行加密,获得加密邮件,以及所述加密邮件对应的邮件凭证;
将所述邮件凭证上传到所述第一区块链节点中,以使所述第一区块链节点将所述邮件凭证广播到第二区块链节点,并由所述第二区块链节点向第二客户端提供所述邮件凭证;
向所述第二客户端发送所述加密邮件,以使所述第二客户端通过所述邮件凭证,对所述加密邮件解密从而获得电子邮件。
本发明实施例中,针对与第一区块链节点建立通信连接的第一客户端提供发送加密邮件的功能,通过获取第一客户端对应的密钥对待传输的电子邮件进行加密,并获取加密邮件对应的邮件凭证,将邮件凭证上传到第一区块链节点中,第一客户端将加密邮件发送给第二客户端,第一区块链节点将邮件凭证广播到第二区块链节点,以使第二客户端从第二区块链节点中获取邮件凭证从而对加密邮件解密,即加密邮件通过原有的邮件发送接收路径传输,而加密邮件对应的邮件凭证在区块链系统不同的区块链节点间传输。加密邮件的邮件凭证不与加密邮件一同传输,从而加大了加密邮件的破译难度,提高了加密邮件传输过程中的安全性。另外,本发明实施例中提供的邮件加密方法仅需要在现有的邮件传输路径上,与对应存储、传输邮件凭证的区块链节点建立通信连接,无需对邮件传输路径本身进行改进、调整、重建等。而且区块链仅需要存储、传输体量较小的邮件凭证,符合区块链本身适合存储账单等数据量较小的信息的特点,无需再布置第三方独立的存储系统存储加密邮件的内容,降低了部署、使用和维护成本。
应理解的是,本发明实施例中,射频单元601可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器610处理;另外,将上行的数据发送给基站。通常,射频单元601包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元601还可以通过无线通信系统与网络和其他设备通信。
移动终端通过网络模块602为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元603可以将射频单元601或网络模块602接收的或者在存储器609中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元603还可以提供与移动终端600执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元603包括扬声器、蜂鸣器以及受话器等。
输入单元604用于接收音频或视频信号。输入单元604可以包括图形处理器(Graphics Processing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元606上。经图形处理器6041处理后的图像帧可以存储在存储器609(或其它存储介质)中或者经由射频单元601或网络模块602进行发送。麦克风6042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元601发送到移动通信基站的格式输出。
移动终端600还包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板6061的亮度,接近传感器可在移动终端600移动到耳边时,关闭显示面板6061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器605还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元606用于显示由用户输入的信息或提供给用户的信息。显示单元606可包括显示面板6061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板6061。
用户输入单元607可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板6071上或在触控面板6071附近的操作)。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器610,接收处理器610发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6071。除了触控面板6071,用户输入单元607还可以包括其他输入设备6072。具体地,其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板6071可覆盖在显示面板6061上,当触控面板6071检测到在其上或附近的触摸操作后,传送给处理器610以确定触摸事件的类型,随后处理器610根据触摸事件的类型在显示面板6061上提供相应的视觉输出。虽然在图6中,触控面板6071与显示面板6061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板6071与显示面板6061集成而实现移动终端的输入和输出功能,具体此处不做限定。
接口单元608为外部装置与移动终端600连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元608可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端600内的一个或多个元件或者可以用于在移动终端600和外部装置之间传输数据。
存储器609可用于存储软件程序以及各种数据。存储器609可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器609可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器610是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器609内的软件程序和/或模块,以及调用存储在存储器609内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器610可包括一个或多个处理单元;优选的,处理器610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
移动终端600还可以包括给各个部件供电的电源611(比如电池),优选的,电源611可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,移动终端600包括一些未示出的功能模块,在此不再赘述。
优选的,本发明实施例还提供一种移动终端,包括处理器610,存储器609,存储在存储器609上并可在所述处理器610上运行的计算机程序,该计算机程序被处理器610执行时实现上述电子邮件加密方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述电子邮件加密方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (10)
1.一种电子邮件加密方法,应用于第一客户端,其特征在于,所述方法包括:
获取待传输的电子邮件;
在所述第一客户端与第一区块链节点建立通信连接的情况下,获取所述第一客户端本次传输对应的密钥;
根据所述密钥对所述电子邮件进行加密,获得加密邮件,以及所述加密邮件对应的邮件凭证;
将所述邮件凭证上传到所述第一区块链节点中,以使所述第一区块链节点将所述邮件凭证广播到第二区块链节点,并由所述第二区块链节点向第二客户端提供所述邮件凭证;
向所述第二客户端发送所述加密邮件,以使所述第二客户端通过所述邮件凭证,对所述加密邮件解密从而获得电子邮件。
2.根据权利要求1所述的方法,其特征在于,所述在所述第一客户端与第一区块链节点建立通信连接的情况下,获取所述第一客户端本次传输对应的密钥包括:
在所述第一客户端与所述第一区块链节点建立通信连接的情况下,根据所述第二客户端的标识信息确定所述第一客户端本次传输对应的加密公钥;
根据所述第一客户端的标识信息确定所述第一客户端本次传输对应的签名密钥对。
3.根据权利要求2所述的方法,其特征在于,所述根据所述密钥对所述电子邮件进行加密,获得加密邮件,包括:
根据所述加密公钥对所述电子邮件进行加密,获得加密邮件。
4.根据权利要求2所述的方法,其特征在于,所述根据所述密钥对所述电子邮件进行加密,获得所述加密邮件对应的邮件凭证,包括:
获取所述加密邮件对应的加密信息,所述加密信息包括所述第一区块链节点的地址信息、所述第一客户端的标识信息、所述电子邮件的时间信息、所述电子邮件的长度信息中的至少一种;
根据所述签名密钥对对所述加密信息进行签名,获得所述加密邮件对应的邮件凭证,以使所述第二客户端根据所述邮件凭证验证所述加密邮件的完整性和合法性。
5.一种区块链系统,其特征在于,所述区块链系统包括:第一区块链节点和第二区块链节点;
所述第一区块链节点用于从第一客户端接收加密邮件对应的邮件凭证,并将所述邮件凭证广播到所述第二区块链节点;所述加密邮件由所述第一客户端对待传输的电子邮件加密得到;
所述第二区块链节点用于存储所述邮件凭证,并在接收到第二客户端发送的请求指令时,将所述邮件凭证添加至针对所述请求指令的响应中,以使第二客户端根据所述响应中的邮件凭证,对所述第一客户端发送的所述加密邮件进行解密获得电子邮件。
6.根据权利要求5所述的系统,其特征在于,所述第一区块链节点还用于在所述邮件凭证满足预设条件时,确定所述邮件凭证具有合法性。
7.根据权利要求6所述的系统,其特征在于,所述预设条件包括以下一种或多种情况:
所述邮件凭证不是重复交易;
所述邮件凭证具有合法签名;
所述邮件凭证的大小小于或等于所述第一区块链节点对应的交易数据大小限制;
所述邮件凭证的交易价格小于或等于所述第一区块链节点对应的余额。
8.一种第一客户端,其特征在于,所述第一客户端包括:
邮件获取模块,用于获取待传输的电子邮件;
密钥获取模块,用于在所述第一客户端与第一区块链节点建立通信连接的情况下,获取所述第一客户端本次传输对应的密钥;
邮件加密模块,用于根据所述密钥对所述电子邮件进行加密,获得加密邮件,以及所述加密邮件对应的邮件凭证;
第一发送模块,用于将所述邮件凭证上传到所述第一区块链节点中,以使所述第一区块链节点将所述邮件凭证广播到第二区块链节点,并由所述第二区块链节点向第二客户端提供所述邮件凭证;
第二发送模块,用于向所述第二客户端发送所述加密邮件,以使所述第二客户端通过所述邮件凭证,对所述加密邮件解密从而获得电子邮件。
9.一种移动终端,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的电子邮件加密方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的电子邮件加密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010121629.7A CN111464494A (zh) | 2020-02-26 | 2020-02-26 | 一种电子邮件加密方法、第一客户端以及区块链系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010121629.7A CN111464494A (zh) | 2020-02-26 | 2020-02-26 | 一种电子邮件加密方法、第一客户端以及区块链系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111464494A true CN111464494A (zh) | 2020-07-28 |
Family
ID=71684166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010121629.7A Pending CN111464494A (zh) | 2020-02-26 | 2020-02-26 | 一种电子邮件加密方法、第一客户端以及区块链系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111464494A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112616139A (zh) * | 2020-12-14 | 2021-04-06 | Oppo广东移动通信有限公司 | 一种数据传输方法、电子设备及计算机可读存储介质 |
CN113642022A (zh) * | 2021-08-20 | 2021-11-12 | 成都卫士通信息产业股份有限公司 | 一种电子邮件处理方法、装置、系统及存储介质 |
CN114205093A (zh) * | 2021-12-15 | 2022-03-18 | 深圳前海微众银行股份有限公司 | 区块链消息传输方法、装置、客户端及存储介质 |
WO2022142112A1 (zh) * | 2020-12-31 | 2022-07-07 | 平安科技(深圳)有限公司 | 基于区块链的邮件处理方法、邮件发送端、接收端及设备 |
CN115396209A (zh) * | 2022-08-26 | 2022-11-25 | 中国联合网络通信集团有限公司 | 访问授权方法、装置、电子设备及可读存储介质 |
CN115967583A (zh) * | 2023-03-16 | 2023-04-14 | 安羚科技(杭州)有限公司 | 基于联盟链的密钥管理系统及方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968091A (zh) * | 2006-07-19 | 2007-05-23 | 王李琰 | 一种基于标识的密码技术的邮件认证及可靠分类传递方法 |
CN103188246A (zh) * | 2011-12-31 | 2013-07-03 | 上海格尔软件股份有限公司 | 安全电子邮件系统 |
CN106790234A (zh) * | 2017-01-18 | 2017-05-31 | 维沃移动通信有限公司 | 一种邮件发送方法、接收方法、第一终端和第二终端 |
CN109462483A (zh) * | 2018-11-27 | 2019-03-12 | 平安科技(深圳)有限公司 | 基于区块链的邮件存证方法、装置、设备和存储介质 |
CN109462540A (zh) * | 2018-10-12 | 2019-03-12 | 彩讯科技股份有限公司 | 邮件存证方法、装置和系统 |
US10305833B1 (en) * | 2017-07-23 | 2019-05-28 | Turing Technology, Inc. | Blockchain based email procedures |
CN110351185A (zh) * | 2019-06-28 | 2019-10-18 | 太原理工大学 | 一种基于区块链技术的分布式电子邮箱系统 |
US20190327216A1 (en) * | 2018-04-24 | 2019-10-24 | Capital One Services, Llc | Message encryption using public keychains |
CN110557359A (zh) * | 2018-06-01 | 2019-12-10 | 厦门本能管家科技有限公司 | 一种基于区块链的消息通信方法及其装置 |
CN110611657A (zh) * | 2019-08-16 | 2019-12-24 | 中国人民银行数字货币研究所 | 一种基于区块链的文件流处理的方法、装置及系统 |
-
2020
- 2020-02-26 CN CN202010121629.7A patent/CN111464494A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968091A (zh) * | 2006-07-19 | 2007-05-23 | 王李琰 | 一种基于标识的密码技术的邮件认证及可靠分类传递方法 |
CN103188246A (zh) * | 2011-12-31 | 2013-07-03 | 上海格尔软件股份有限公司 | 安全电子邮件系统 |
CN106790234A (zh) * | 2017-01-18 | 2017-05-31 | 维沃移动通信有限公司 | 一种邮件发送方法、接收方法、第一终端和第二终端 |
US10305833B1 (en) * | 2017-07-23 | 2019-05-28 | Turing Technology, Inc. | Blockchain based email procedures |
US20190327216A1 (en) * | 2018-04-24 | 2019-10-24 | Capital One Services, Llc | Message encryption using public keychains |
CN110557359A (zh) * | 2018-06-01 | 2019-12-10 | 厦门本能管家科技有限公司 | 一种基于区块链的消息通信方法及其装置 |
CN109462540A (zh) * | 2018-10-12 | 2019-03-12 | 彩讯科技股份有限公司 | 邮件存证方法、装置和系统 |
CN109462483A (zh) * | 2018-11-27 | 2019-03-12 | 平安科技(深圳)有限公司 | 基于区块链的邮件存证方法、装置、设备和存储介质 |
CN110351185A (zh) * | 2019-06-28 | 2019-10-18 | 太原理工大学 | 一种基于区块链技术的分布式电子邮箱系统 |
CN110611657A (zh) * | 2019-08-16 | 2019-12-24 | 中国人民银行数字货币研究所 | 一种基于区块链的文件流处理的方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
严春: "《计算机网络基础》", 31 July 2008, 北京邮电大学出版社 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112616139A (zh) * | 2020-12-14 | 2021-04-06 | Oppo广东移动通信有限公司 | 一种数据传输方法、电子设备及计算机可读存储介质 |
CN112616139B (zh) * | 2020-12-14 | 2023-02-10 | Oppo广东移动通信有限公司 | 一种数据传输方法、电子设备及计算机可读存储介质 |
WO2022142112A1 (zh) * | 2020-12-31 | 2022-07-07 | 平安科技(深圳)有限公司 | 基于区块链的邮件处理方法、邮件发送端、接收端及设备 |
CN113642022A (zh) * | 2021-08-20 | 2021-11-12 | 成都卫士通信息产业股份有限公司 | 一种电子邮件处理方法、装置、系统及存储介质 |
CN113642022B (zh) * | 2021-08-20 | 2023-07-25 | 成都卫士通信息产业股份有限公司 | 一种电子邮件处理方法、装置、系统及存储介质 |
CN114205093A (zh) * | 2021-12-15 | 2022-03-18 | 深圳前海微众银行股份有限公司 | 区块链消息传输方法、装置、客户端及存储介质 |
CN114205093B (zh) * | 2021-12-15 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 区块链消息传输方法、装置、客户端及存储介质 |
WO2023109268A1 (zh) * | 2021-12-15 | 2023-06-22 | 深圳前海微众银行股份有限公司 | 区块链消息传输方法、装置、客户端及存储介质 |
CN115396209A (zh) * | 2022-08-26 | 2022-11-25 | 中国联合网络通信集团有限公司 | 访问授权方法、装置、电子设备及可读存储介质 |
CN115396209B (zh) * | 2022-08-26 | 2024-03-08 | 中国联合网络通信集团有限公司 | 访问授权方法、装置、电子设备及可读存储介质 |
CN115967583A (zh) * | 2023-03-16 | 2023-04-14 | 安羚科技(杭州)有限公司 | 基于联盟链的密钥管理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111464494A (zh) | 一种电子邮件加密方法、第一客户端以及区块链系统 | |
CN109472166B (zh) | 一种电子签章方法、装置、设备及介质 | |
CN109600223B (zh) | 验证方法、激活方法、装置、设备及存储介质 | |
EP3605989B1 (en) | Information sending method, information receiving method, apparatus, and system | |
CN108769027B (zh) | 安全通信方法、装置、移动终端和存储介质 | |
WO2017041599A1 (zh) | 业务处理方法及电子设备 | |
CN109033801B (zh) | 应用程序验证用户身份的方法、移动终端以及存储介质 | |
CN110417543B (zh) | 一种数据加密方法、装置和存储介质 | |
CN113259301B (zh) | 一种账号数据共享方法及电子设备 | |
CN104954126B (zh) | 敏感操作验证方法、装置及系统 | |
US9680817B2 (en) | Information display method, terminal, security server and system | |
CN113794734A (zh) | 车载can总线加密通信方法、控制装置和可读存储介质 | |
CN110620846B (zh) | 消息合并方法、装置、设备及存储介质 | |
CN107317680B (zh) | 安全账号的标记方法、系统及计算机可读存储介质 | |
US20110202772A1 (en) | Networked computer identity encryption and verification | |
CN109886010A (zh) | 验证图片发送方法、合成方法及装置、存储介质和终端 | |
CN111404991A (zh) | 获取云服务的方法、装置、电子设备及介质 | |
CN107154935A (zh) | 业务请求方法及装置 | |
CN109376519A (zh) | 一种指纹解锁方法及终端设备 | |
KR101067146B1 (ko) | 휴대용 단말의 암호화 메시지 처리 방법 및 그 휴대용 단말 | |
CN109525666A (zh) | 一种数据备份方法及移动终端 | |
CN108737341B (zh) | 业务处理方法、终端及服务器 | |
CN107172076B (zh) | 安全验证方法及移动终端和服务器端 | |
CN115589286A (zh) | 一种数据加解密方法、装置、电子设备及存储介质 | |
CN104980266A (zh) | 数据通信方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200728 |
|
RJ01 | Rejection of invention patent application after publication |