CN114650181A - 电子邮件加解密方法、系统、设备及计算机可读存储介质 - Google Patents

电子邮件加解密方法、系统、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN114650181A
CN114650181A CN202210337476.9A CN202210337476A CN114650181A CN 114650181 A CN114650181 A CN 114650181A CN 202210337476 A CN202210337476 A CN 202210337476A CN 114650181 A CN114650181 A CN 114650181A
Authority
CN
China
Prior art keywords
mail
preset
key
encrypted
symmetric
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.)
Granted
Application number
CN202210337476.9A
Other languages
English (en)
Other versions
CN114650181B (zh
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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN202210337476.9A priority Critical patent/CN114650181B/zh
Publication of CN114650181A publication Critical patent/CN114650181A/zh
Application granted granted Critical
Publication of CN114650181B publication Critical patent/CN114650181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/308Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information retaining data, e.g. retaining successful, unsuccessful communication attempts, internet access, or e-mail, internet telephony, intercept related information or call content
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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/3236Cryptographic 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 cryptographic hash functions
    • 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/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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明公开了一种电子邮件加解密方法、系统、设备及介质,方法包括:生成对称密钥Key1;以待加密邮件对象的接收方邮件地址作为身份标识IDB,利用SM9算法对对称密钥Key1进行加密处理,得到密文C1;将身份标识IDB与密文C1,写入待加密邮件对象的邮件头中;利用对称密钥Key1对待加密邮件对象的邮件内容进行加密,得到密文C2;并利用密文C2替换待加密邮件对象的邮件内容,作为附件A1;利用预设的签名私钥对所述附件A1进行签名处理,得到签名S1;并将签名S1写入待加密邮件对象的邮件头中,完成电子邮件的加密过程,即得到加密邮件;本发明邮件内容以加密文件传输和存储,有效降低了邮件的安全风险,操作方便,资源开销较小。

Description

电子邮件加解密方法、系统、设备及计算机可读存储介质
技术领域
本发明属于网络空间安全技术领域,特别涉及一种电子邮件加解密方法、系统、设备及计算机可读存储介质。
背景技术
随着互联网技术的迅速发展,电子邮件已成为日常工作和生活中不可或缺的一部分;但由于网络的开放性和邮件协议的设计问题,电子邮件在诞生初期是以明文形式进行网络传输和存储的,这使得用户的电子邮件数据无法得到有效的保护,存在被恶意监听和窃取的风险;根据调查研究显示,电子邮件环境是多种网络攻击的常用手段;为此,国内外学者已经提出了多种安全协议和算法来解决电子邮件安全问题,主要包含PEM(PrivacyEnhanced Mail,隐私增强邮件)、PGP(Pretty Good Privacy,优良保密协议)和S/MIME(Secure/Mult-ipurposeInternet Mail Extensions,安全多用途互联网邮件扩展协议)等;上述方法主要基于PKI公钥基础设施体系,使用对称加密和非对称加密技术来保护邮件内容的安全,存在使用难度较大、不易部署、需要对证书的生命周期管理、证书可信验证繁琐和需要提前交换证书等缺点,并没有在互联网中广泛使用。
目前,为了保障邮件安全,大多邮件服务提供商使用SSL(Secure Sockets Layer,安全套接字)协议对邮件传输进行保护,其邮件内容及其附件仍然是以明文状态存储在云端服务器和用户本地,这给电子邮件带来巨大的安全威胁。
发明内容
针对现有技术中存在的技术问题,本发明提供了一种电子邮件加解密方法、系统、设备及计算机可读存储介质,以解决现有邮件应用安全配置操作困难,邮件内容以明文传输和存储存在安全风险的技术问题。
为达到上述目的,本发明采用的技术方案为:
本发明提供了一种电子邮件加密方法,应用于邮件加密端的预设邮件插件系统,方法包括:
生成对称密钥Key1;
以待加密邮件对象的接收方邮件地址作为身份标识IDB,利用SM9算法对所述对称密钥Key1进行加密处理,得到密文C1;将所述身份标识IDB与所述密文C1,写入待加密邮件对象的邮件头中;
利用所述对称密钥Key1对待加密邮件对象的邮件内容进行加密处理,得到密文C2;并利用所述密文C2替换待加密邮件对象的邮件内容,作为附件A1;
利用预设的签名私钥对所述附件A1进行签名处理,得到签名S1;并将所述签名S1写入待加密邮件对象的邮件头中,完成电子邮件的加密过程,即得到加密邮件。
进一步的,还包括所述预设邮件插件系统登录和用户密钥信息下发步骤;
所述预设邮件插件系统登录和用户密钥信息下发步骤,具体如下:
步骤a、发送证书请求,并获取服务器证书;所述证书请求,用于触发业务服务器,下发服务器证书至预设邮件插件系统;
步骤b、对所述服务器证书的有效性进行验证;若所述服务器证书的验证结果为有效,则转至步骤c;否则,结束;
步骤c、判断是否首次登录所述预设邮件插件系统;
步骤d、若为首次登录,则发送验证码请求;所述验证码请求,用于触发业务服务器下发邮件验证码至Outlook客户端;
步骤e、利用所述预设邮件插件系统,获取所述Outlook客户端接收的所述邮件验证码,并利用KDF密钥派生算法对所述邮件验证码进行处理,生成对称会话密钥Key01;
步骤f、利用所述服务器证书,对所述对称会话密钥Key01进行加密,得到密文C01;并发送所述密文C01至所述业务服务器;
步骤g、所述业务服务器使用预设的私钥解密密文对所述密文C01进行解密,得到对称会话密钥Key02;并利用KDF密钥派生算法对所述邮件验证码进行处理,生成对称会话密钥Key03;
步骤h、对所述对称会话密钥Key02与所述对称会话密钥Key03进行对比,若所述对称会话密钥Key02与所述对称会话密钥Key03一致,则执行步骤i;否则,登录验证失败,并生成登录验证失败的弹窗提示;
步骤i、所述业务服务器向预设邮件插件系统发送登录成功的响应消息;
步骤j、所述预设邮件插件系统接收所述登录成功的响应消息后,向所述业务服务器发送密钥信息下发请求;
步骤k、所述业务服务器响应所述密钥信息下发请求,从KGC服务器中获取密钥信息;其中,所述密钥信息包括用户私钥、系统主公钥及系统参数;并使用所述对称会话密钥Key02对所述密钥信息加密,得到加密后的密钥信息;发送所述加密后的密钥信息至所述预设邮件插件系统;
步骤l、所述预设邮件插件系统利用所述对称会话密钥Key01,对所述加密后的密钥信息进行解密,得到解密后的密钥信息;将所述解密后的密钥信息保存至本地文件;并生成登录验证成功的弹窗提示,即预设邮件插件系统和用户密钥信息下发完成。
进一步的,所述预设邮件插件系统登录和用户密钥信息下发步骤,还包括:
若所述预设邮件插件系统非首次登录,则生成随机数;
利用预设的签名私钥,对所述随机数进行签名处理,得到签名值;并利用所述服务器证书对所述签名值进行加密,得到密文C02;发送所述密文C02至所述业务服务器;
所述业务服务器利用预设的私钥对所述密文C02进行解密,得到解密后的明文及签名值;
利用预设的签名主公钥对所述解密后的明文及签名值进行验证,若验证成功,则所述业务服务器向预设邮件插件系统发送登录成功的响应消息;否则,验证失败,并生成登录验证失败的弹窗提示;
所述预设邮件插件系统接收到所述登录成功的响应消息后,对所述随机数利用KDF密钥派生函数进行处理,得到对称会话密钥Key04;利用所述对称会话密钥Key04对步骤f-l中的所述对称会话密钥Key01进行更新替换,并执行步骤f-l的操作;即完成所述预设邮件插件系统登录和用户密钥信息下发。
进一步的,将所述身份标识IDB与所述密文C1,写入待加密邮件对象的邮件头中的过程,具体如下:
将待加密邮件对象的接收方邮件地址及所述密文C1,以键值对的形式,写入待加密邮件对象中邮件头的第一自定义字段中;其中,所述第一自定义字段为X-KeyData;
将所述签名S1写入待加密邮件对象的邮件头中的过程,具体如下:
将所述签名S1写入待加密邮件对象的第二自定义字段中;其中,所述第二自定义字段为:X-Signature。
本发明还提供了一种电子邮件加解密方法,应用于邮件解密端的预设邮件插件系统,方法包括:
读取待解密邮件对象的邮件头中预设字段A的值,作为会话密钥密文C3;其中,所述预设字段A的值与接收方邮箱地址相同;
利用邮件接收方的预设用户加密私钥,通过SM9算法对所述会话密钥密文C3进行解密,得到对称密钥Key2;
利用所述对称密钥Key2对待解密邮件对象的邮件内容进行解密,得到邮件内容明文,并利用所述邮件内容明文替换待解密邮件对象的邮件内容,完成电子邮件的解密,即得到解密邮件。
进一步的,读取待解密邮件对象的邮件头中预设字段A的值,作为会话密钥密文C3之前,还包括签名验证步骤;所述签名验证步骤,包括:
读取待解密邮件对象的邮件头中预设字段B的值,作为签名S2;
以待解密邮件对象的发送方邮箱地址为身份标识IDA,利用SM9算法对所述所述签名S2进行验签处理;
若验证成功,则执行读取待解密邮件对象的邮件头中预设字段A的值,作为会话密钥密文C3的步骤。
进一步的,利用所述对称密钥Key2对待解密邮件对象的邮件内容进行解密,得到邮件内容明文的过程,具体如下:
利用所述对称密钥Key2对待解密邮件对象的邮件正文进行解密,得到邮件正文明文M1;
利用所述对称密钥Key2对待解密邮件对象的邮件附件进行解密,得到邮件附件明文M2。
本发明还提供了一种电子邮件加解密系统,包括:
加密模块,用于生成对称密钥Key1;以待加密邮件对象的接收方邮件地址作为身份标识IDB,利用SM9算法对所述对称密钥Key1进行加密处理,得到密文C1;将所述身份标识IDB与所述密文C1,写入待加密邮件对象的邮件头中;利用所述对称密钥Key1对待加密邮件对象的邮件内容进行加密处理,得到密文C2;并利用所述密文C2替换待加密邮件对象的邮件内容,作为附件A1;利用预设的签名私钥对所述附件A1进行签名处理,得到签名S1;并将所述签名S1写入待加密邮件对象的邮件头中,完成电子邮件的加密过程,即得到加密邮件;
解密模块,用于读取待解密邮件对象的邮件头中预设字段A的值,作为会话密钥密文C3;其中,所述预设字段A的值与接收方邮箱地址相同;利用邮件接收方的预设用户加密私钥,对所述会话密钥密文C3进行解密,得到对称密钥Key2;利用所述对称密钥Key2对待解密邮件对象的邮件内容进行解密,得到邮件内容明文,并利用所述邮件内容明文替换待解密邮件对象的邮件内容,完成电子邮件的解密,即得到解密邮件。
本发明还提供了一种电子邮件加解密设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的电子邮件加解密方法。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的电子邮件加解密方法。
与现有技术相比,本发明的有益效果为:
本发明提供了一种电子邮件加解密方法及系统,利用插件技术根据加密算法对邮件内容进行加密保护,加解密处理和密钥存储的资源开销较小;操作方便,邮件内容以加密文件传输和存储,有效降低了邮件的安全风险;相较于原有的安全电子邮件保护方法有效节省了资源,降低了成本;预设邮件插件系统能够与现有的办公软件无缝衔接,部署简单,使用方便,能够较好地保护邮件从建立、传输到存储的全生命周期的安全。
进一步的,所述预设邮件插件系统的登录和用户密钥下发过程,使用SM9算法和预设邮件插件系统与业务服务器之间的双向验证方式,能够使预设邮件插件系统和业务服务器之间建立安全信道,便于安全地对密钥信息进行下发。
附图说明
图1为实施例中基于预设邮件插件系统的Outlook客户端的邮件加解密系统的结构框图;
图2实施例中的预设邮件插件系统登录和密钥信息下发流程图;
图3为实施例中的邮件加密流程图;
图4为实施例中的邮件解密流程图。
具体实施方式
为了使本发明所解决的技术问题,技术方案及有益效果更加清楚明白,以下具体实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种电子邮件加解密方法,应用于邮件加密端的预设邮件插件系统,方法包括:
步骤1、预设邮件插件系统登录和用户密钥信息下发
步骤11、发送证书请求,并获取服务器证书;所述证书请求,用于触发业务服务器,下发服务器证书至预设邮件插件系统。
步骤12、对所述服务器证书的有效性进行验证;若所述服务器证书的验证结果为有效,则转至步骤13;否则,结束。
步骤13、判断是否首次登录所述预设邮件插件系统,若为首次登录,则执行步骤14;否则,执行步骤113。
步骤14、发送验证码请求;所述验证码请求,用于触发业务服务器下发邮件验证码至Outlook客户端。
步骤15、获取所述Outlook客户端接收的所述邮件验证码,并利用KDF密钥派生算法对所述邮件验证码进行处理,生成对称会话密钥Key01。
步骤16、利用所述服务器证书,对所述对称会话密钥Key01进行加密,得到密文C01;并发送所述密文C01至所述业务服务器。
步骤17、所述业务服务器使用预设的私钥解密密文对所述密文C01进行解密,得到对称会话密钥Key02;并利用KDF密钥派生算法对所述邮件验证码进行处理,生成对称会话密钥Key03。
步骤18、对所述对称会话密钥Key02与所述对称会话密钥Key03进行对比,若所述对称会话密钥Key02与所述对称会话密钥Key03一致,则执行步骤19;否则,登录验证失败,并生成登录验证失败的弹窗提示。
步骤19、所述业务服务器向预设邮件插件系统发送登录成功的响应消息。
步骤110、所述预设邮件插件系统接收所述登录成功的响应消息后,向所述业务服务器发送密钥信息下发请求。
步骤111、所述业务服务器响应所述密钥信息下发请求,从KGC服务器中获取密钥信息;其中,所述密钥信息包括用户私钥、系统主公钥及系统参数;并使用所述对称会话密钥Key02对所述密钥信息加密,得到加密后的密钥信息;发送所述加密后的密钥信息至所述预设邮件插件系统。
步骤112、所述预设邮件插件系统利用所述对称会话密钥Key01,对所述加密后的密钥信息进行解密,得到解密后的密钥信息;将所述解密后的密钥信息保存至本地文件,用于加解密过程中SM9算法的加解密操作;并生成登录验证成功的弹窗提示,即预设邮件插件系统和用户密钥信息下发完成。
步骤113、生成随机数。
步骤114、利用预设的签名私钥,对所述随机数进行签名处理,得到签名值;并利用所述服务器证书对所述签名值进行加密,得到密文C02;发送所述密文C02至所述业务服务器。
步骤115、所述业务服务器利用预设的私钥对所述密文C02进行解密,得到解密后的明文和签名值。
步骤116、利用预设的签名主公钥对所述解密后的明文及签名值进行验证,若验证成功,则所述业务服务器向预设邮件插件系统发送登录成功的响应消息;否则,验证失败,并生成登录验证失败的弹窗提示。
步骤117、预设邮件系统接收所述登录成功的响应消息后,对所述随机数利用KDF密钥派生函数进行处理,得到对称会话密钥Key04;利用所述对称会话密钥Key04对步骤16-112中所述对称会话密钥Key01进行更新替换,并执行步骤16-112的操作;即完成所述预设邮件插件系统登录和用户密钥信息下发。
步骤2、邮件加密
步骤21、生成对称密钥Key1。
步骤22、以待加密邮件对象的接收放邮件地址作为身份标识IDB,利用SM9算法对所述对称密钥Key1进行加密处理,得到密文C1;将所述身份标识IDB与所述密文C1,写入待加密邮件对象的邮件头中;其中,将所述身份标识IDB与所述密文C1,写入待加密邮件对象的邮件头中的过程,具体如下:
将待加密邮件对象的接收方邮件地址及所述密文C1,以键值对的形式,写入待加密邮件对象中邮件头的第一自定义字段中;其中,所述第一自定义字段为X-KeyData。
步骤23、利用所述对称密钥Key1对待加密邮件对象的邮件内容进行加密处理,得到密文C2;并利用所述密文C2替换待加密邮件对象的邮件内容,作为附件A1。
步骤24、利用预设的签名私钥对所述附件A1进行签名处理,得到签名S1;并将所述签名S1写入待加密邮件对象的邮件头中,完成电子邮件的加密过程,即得到加密邮件;其中,将所述签名S1写入待加密邮件对象的邮件头中的过程,具体如下:
将所述签名S1写入待加密邮件对象的第二自定义字段中;其中,所述第二自定义字段为:X-Signature。
步骤3、邮件解密
步骤31、读取待解密邮件对象的邮件头中预设字段B的值,作为签名S2;
步骤32、以待解密邮件对象的发送方邮箱地址为身份标识IDA,利用SM9算法对所述签名S2进行验签处理;
步骤33、若验证成功,则执行步骤34。
步骤34、读取待解密邮件对象的邮件头中预设字段A的值,作为会话密钥密文C3;其中,所述预设字段A的值与接收方邮箱地址相同。
步骤35、利用邮件接收方的预设用户加密私钥,通过SM9算法对所述会话密钥密文C3进行解密,得到对称密钥Key2。
步骤36、利用所述对称密钥Key2对待解密邮件对象的邮件内容进行解密,得到邮件内容明文,并利用所述邮件内容明文替换待解密邮件对象的邮件内容,完成电子邮件的解密,即得到解密邮件;具体的,利用所述对称密钥Key2对待解密邮件对象的邮件正文进行解密,得到邮件正文明文M1;利用所述对称密钥Key2对待解密邮件对象的邮件附件进行解密,得到邮件附件明文M2;利用所述邮件正文M1和所述邮件附件明文M2,替换所述待解密邮件对象的邮件内容。
本发明中,通过预设邮件插件系统和业务服务器之间进行双向验证身份,协商一个会话密钥来加密传输信道,并安全下发用户密钥信息;并对密钥信息加密保存在插件本地;邮件加密过程,通过监听Outlook端邮件发送事件;利用对称密钥加密邮件内容作为新的附件;利用SM9算法加密对称密钥放入邮件头;利用SM9算法签名加密后的附件放入邮件头;利用Outlook客户端发送修改后的邮件对象,完成邮件加密发送;邮件解密过程,通过监听Outlook端邮件接收事件;利用SM9算法验证邮件头中的签名值;利用SM9算法解密邮件头中对称密钥密文,得到对称密钥;利用对称密钥解密邮件附件,得到原有邮件正文和邮件附件明文;利用Outlook客户端显示解密后的邮件对象,完成邮件的解密。
本发明所述的电子邮件加解密方法,采用SM9算法和预设邮件插件系统与业务服务器之间的双向验证方式,使得预设邮件插件系统和业务服务器之间建立安全信道,便于安全的对用户密钥信息进行下发;同时,利用插件技术可以监听Outlook客户端对邮件收发并注册回调函数,进而使用加解密算法对邮件内容进行加密保护;在性能上加解密过程和密钥信息存储所带来的资源开销较小,相较于现有的安全电子邮件方法大大节省了资源开销,降低了成本;同时,所述预设邮件插件系统能够与现有办公软件系统无缝衔接,部署方式简单,使用方便,能够较好地保护用户邮件从建立、传输到存储的全生命周期安全。
本发明还提供了一种电子邮件加解密系统,包括加密模块及解密模块;所述加密模块,用于生成对称密钥Key1;以待加密邮件对象的接收方邮件地址作为身份标识IDB,利用SM9算法对所述对称密钥Key1进行加密处理,得到密文C1;将所述身份标识IDB与所述密文C1,写入待加密邮件对象的邮件头中;利用所述对称密钥Key1对待加密邮件对象的邮件内容进行加密处理,得到密文C2;并利用所述密文C2替换待加密邮件对象的邮件内容,作为附件A1;利用预设的签名私钥对所述附件A1进行签名处理,得到签名S1;并将所述签名S1写入待加密邮件对象的邮件头中,完成电子邮件的加密过程,即得到加密邮件;所述解密模块,用于读取待解密邮件对象的邮件头中预设字段A的值,作为会话密钥密文C3;其中,所述预设字段A的值与接收方邮箱地址相同;利用邮件接收方的预设用户加密私钥,对所述会话密钥密文C3进行解密,得到对称密钥Key2;利用所述对称密钥Key2对待解密邮件对象的邮件内容进行解密,得到邮件内容明文,并利用所述邮件内容明文替换待解密邮件对象的邮件内容,完成电子邮件的解密,即得到解密邮件。
本发明还提供了一种电子邮件加解密方法设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现电子邮件加解密方法方法的步骤。
所述处理器执行所述计算机程序时实现上述电子邮件加解密方法方法的步骤,例如:生成对称密钥Key1;以待加密邮件对象的接收方邮件地址作为身份标识IDB,利用SM9算法对所述对称密钥Key1进行加密处理,得到密文C1;将所述身份标识IDB与所述密文C1,写入待加密邮件对象的邮件头中;利用所述对称密钥Key1对待加密邮件对象的邮件内容进行加密处理,得到密文C2;并利用所述密文C2替换待加密邮件对象的邮件内容,作为附件A1;利用预设的签名私钥对所述附件A1进行签名处理,得到签名S1;并将所述签名S1写入待加密邮件对象的邮件头中,完成电子邮件的加密过程,即得到加密邮件;读取待解密邮件对象的邮件头中预设字段A的值,作为会话密钥密文C3;其中,所述预设字段A的值与接收方邮箱地址相同;利用邮件接收方的预设用户加密私钥,对所述会话密钥密文C3进行解密,得到对称密钥Key2;利用所述对称密钥Key2对待解密邮件对象的邮件内容进行解密,得到邮件内容明文,并利用所述邮件内容明文替换待解密邮件对象的邮件内容,完成电子邮件的解密,即得到解密邮件。
或者,所述处理器执行所述计算机程序时实现上述系统中各模块的功能,例如:加密模块,用于生成对称密钥Key1;以待加密邮件对象的接收方邮件地址作为身份标识IDB,利用SM9算法对所述对称密钥Key1进行加密处理,得到密文C1;将所述身份标识IDB与所述密文C1,写入待加密邮件对象的邮件头中;利用所述对称密钥Key1对待加密邮件对象的邮件内容进行加密处理,得到密文C2;并利用所述密文C2替换待加密邮件对象的邮件内容,作为附件A1;利用预设的签名私钥对所述附件A1进行签名处理,得到签名S1;并将所述签名S1写入待加密邮件对象的邮件头中,完成电子邮件的加密过程,即得到加密邮件;解密模块,用于读取待解密邮件对象的邮件头中预设字段A的值,作为会话密钥密文C3;其中,所述预设字段A的值与接收方邮箱地址相同;利用邮件接收方的预设用户加密私钥,对所述会话密钥密文C3进行解密,得到对称密钥Key2;利用所述对称密钥Key2对待解密邮件对象的邮件内容进行解密,得到邮件内容明文,并利用所述邮件内容明文替换待解密邮件对象的邮件内容,完成电子邮件的解密,即得到解密邮件。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成预设功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序在所述电子邮件加解密方法设备中的执行过程。例如,所述计算机程序可以被分割成加密模块及解密模块,各模块具体功能如下:所述加密模块,用于生成对称密钥Key1;以待加密邮件对象的接收方邮件地址作为身份标识IDB,利用SM9算法对所述对称密钥Key1进行加密处理,得到密文C1;将所述身份标识IDB与所述密文C1,写入待加密邮件对象的邮件头中;利用所述对称密钥Key1对待加密邮件对象的邮件内容进行加密处理,得到密文C2;并利用所述密文C2替换待加密邮件对象的邮件内容,作为附件A1;利用预设的签名私钥对所述附件A1进行签名处理,得到签名S1;并将所述签名S1写入待加密邮件对象的邮件头中,完成电子邮件的加密过程,即得到加密邮件;所述解密模块,用于读取待解密邮件对象的邮件头中预设字段A的值,作为会话密钥密文C3;其中,所述预设字段A的值与接收方邮箱地址相同;利用邮件接收方的预设用户加密私钥,对所述会话密钥密文C3进行解密,得到对称密钥Key2;利用所述对称密钥Key2对待解密邮件对象的邮件内容进行解密,得到邮件内容明文,并利用所述邮件内容明文替换待解密邮件对象的邮件内容,完成电子邮件的解密,即得到解密邮件。
所述电子邮件加解密方法设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子邮件加解密方法设备可包括,但不仅限于处理器、存储器。本领域技术人员可以理解,上述是电子邮件加解密方法设备的示例,并不构成对电子邮件加解密方法设备的限定,可以包括比上述更多的部件,或者组合某些部件,或者不同的部件,例如所述电子邮件加解密方法设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器也可以是任何常规的处理器等,所述处理器是所述电子邮件加解密方法设备的控制中心,利用各种接口和线路连接整个电子邮件加解密方法设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述电子邮件加解密方法设备的各种功能。
所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的一种电子邮件加解密方法方法的步骤。
所述电子邮件加解密方法系统集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
基于这样的理解,本发明实现上述电子邮件加解密方法方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述电子邮件加解密方法方法的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或预设中间形式等。
所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
实施例
如附图1所示,本实施例以部署有预设邮件插件系统的Outlook客户端的邮件加密过程为例;所述部署有预设邮件插件系统的Outlook客户端还分别与业务服务器及邮件服务器建立双向连接,所述业务服务器与KGC服务器和邮件服务器分别建立双向连接;其中,所述KGC服务器即为密钥生成中心;所述预设邮件插件系统,用于对Outlook客户端上收发的邮件进行加解密保护;所述业务服务器以及邮件服务器,用于预设邮件插件系统的登录验证及用户密钥下发的操作;所述预设邮件插件系统与业务服务器之间进行身份验证,并建立安全信道,用于密钥信息传输。
如附图2-4所示,本实施例提供了一种电子邮件加解密方法,具体包括以下步骤:
步骤1、预设邮件插件系统登录和用户密钥信息下发
步骤11、用户使用已有的邮箱账号登录Outlook客户端后,开始登录预设邮件插件系统。
步骤12、所述预设邮件插件系统发送证书请求至业务服务器,并获取服务器证书;其中,所述证书请求,用于触发所述业务服务器,下发服务器证书至预设邮件插件系统。
步骤13、所述预设邮件插件系统对所述服务器证书的有效性进行验证;若所述服务器证书的验证结果为有效,则转至步骤14;否则,结束。
步骤14、判断是否首次登录所述预设邮件插件系统,若为首次登录,则执行步骤14;否则,执行步骤115。
步骤15、所述预设邮件插件系统向所述业务服务器,发送验证码请求;所述验证码请求,用于触发所述业务服务器下发邮件验证码至Outlook客户端。
步骤16、所述业务服务器接收并响应所述验证码请求后,生成邮件验证码,并将所述邮件验证码保存至内存中;其中,所述邮件验证码为六位随机数;并将所述邮件验证码提交至邮件服务器;所述邮件服务器接收所述邮件验证码后,下发包含所述邮件验证码的验证码邮件至Outlook客户端。
步骤17、所述预设邮件插件系统监听所述Outlook客户端的收信事件,获取所述Outlook客户端接收的所述邮件验证码,并利用KDF密钥派生算法对所述邮件验证码进行处理,生成对称会话密钥Key01。
步骤18、利用所述服务器证书,对所述对称会话密钥Key01进行加密,得到密文C01;并发送所述密文C01至所述业务服务器。
步骤19、所述业务服务器使用预设的私钥解密密文对所述密文C01进行解密,的的对称密钥Key02;并利用KDF密钥派生算法对所述邮件验证码进行处理,生成对称会话密钥Key03。
步骤110、对所述对称会话密钥Key02与所述对称会话密钥Key03进行对比,若所述对称会话密钥Key02与所述对称会话密钥Key03一致,则执行步骤111;否则,登录验证失败,并生成登录验证失败的弹窗提示,需重新进行登录验证操作。
步骤111、所述业务服务器向预设邮件插件系统发送登录成功的响应消息。
步骤112、所述预设邮件插件系统接收所述登录成功的响应消息后,向所述业务服务器发送密钥信息下发请求。
步骤113、所述业务服务器响应所述密钥信息下发请求,从KGC服务器中获取密钥信息;其中,所述密钥信息包括用户私钥、系统主公钥及系统参数;并使用所述对称会话密钥Key02对所述密钥信息加密,得到加密后的密钥信息;发送所述加密后的密钥信息至所述预设邮件插件系统。
步骤114、所述预设邮件插件系统利用所述对称会话密钥Key01,对所述加密后的密钥信息进行解密,得到解密后的密钥信息;将所述解密后的密钥信息保存至本地文件,用于加解密过程中SM9算法的加解密操作;并生成登录验证成功的弹窗提示,即预设邮件插件系统和用户密钥信息下发完成。
步骤115、所述预设邮件插件系统在本地生成随机数。
步骤116、利用预设的签名私钥,对所述随机数进行签名处理,得到签名值;并利用所述服务器证书对所述签名值进行加密,得到密文C02;发送所述密文C02至所述业务服务器。
步骤117、所述业务服务器利用预设的私钥对所述密文C02进行解密,得到解密后的明文和签名值。
步骤118、利用预设的签名主公钥对所述解密后的明文及签名值进行验证,若验证成功,则所述业务服务器向预设邮件插件系统发送登录成功的响应消息;否则,验证失败,并生成登录验证失败的弹窗提示,需要重新进行登录验证操作。
步骤119、预设邮件系统接收所述登录成功的响应消息后,对所述随机数利用KDF密钥派生函数进行处理,得到对称会话密钥Key04;利用所述对称会话密钥Key04对步骤16-112中所述对称会话密钥Key01进行更新替换,并执行步骤18-114的操作;即完成所述预设邮件插件系统登录和用户密钥信息下发。
本实施例步骤1中的预设邮件插件系统登录和用户密钥信息下发操作,为下述的步骤2以及步骤3的邮件加解密过程做准备,在成功登录获取到用户密钥信息,以后才能使用预设邮件插件系统进行邮件加解密操作。
步骤2、邮件加密
步骤21、预设邮件插件系统登录成功后,利用所述预设邮件插件系统监听Outlook客户端的邮件发送事件,并注册回调函数。
步骤22、当用户填写完邮件发送方地址和邮件内容,并点击发送按钮时,触发预设邮件插件系统的发送函数;利用所述预设邮件插件系统的发送函数获取用户填写完邮件发送方地址和邮件内容,作为待加密邮件对象MailItem,并传递所述待加密邮件对象MailItem至所述预设邮件插件系统进行加密操作。
步骤23、所述预设邮件插件系统获取待加密邮件对象MailItem后,生成对称密钥Key1;其中,所述对称密钥Key1为128位的随机数,所述对称密钥Key1为SM4对称密钥。
步骤24、以待加密邮件对象的接收放邮件地址作为身份标识IDB,利用SM9算法对所述对称密钥Key1进行加密处理,得到密文C1;具体的,利用所述身份标识IDB和SM9算法的预设加密主公钥生成用户加密公钥;利用所述用户加密公钥,对所述对称密钥Key1进行加密,得到密文C1;将所述身份标识IDB与所述密文C1,写入待加密邮件对象MailItem的邮件头中;其中,待加密邮件对象MailItem的接收方邮件地址及所述密文C1,以键值对的形式,写入待加密邮件对象MailItem中邮件头的第一自定义字段中;其中,所述第一自定义字段为X-KeyData。
步骤25、利用所述对称密钥Key1对待加密邮件对象MailItem的邮件内容进行加密处理,得到密文C2;并利用所述密文C2替换待加密邮件对象的邮件内容,作为附件A1;具体的,利用所述所述对称密钥Key1对待加密邮件对象MailItem中的邮件正文MailBody进行加密,得到密文C21;利用所述所述对称密钥Key1对待加密邮件对象MailItem中的邮件附件MailAttachment进行加密,得到密文C22;并将所述密文C21和所述密文C22按照MIME标准格式组装得到所述附件A1;利用所述附件A1,替换待加密邮件对象MailItem中的邮件正文MailBody和邮件附件MailAttachment。
步骤26、利用本地预设的签名私钥对所述附件A1进行签名处理,得到签名S1;并将所述签名S1写入待加密邮件对象MailItem的邮件头中,完成电子邮件的加密过程,即得到加密邮件;其中,将所述签名S1写入待加密邮件对象MailItem的邮件头中的过程,具体如下:
将所述签名S1写入待加密邮件对象MailItem的第二自定义字段中;其中,所述第二自定义字段为:X-Signature。
步骤27、将所述加密邮件,返回至Outlook客户端;并使用Outlook客户端的邮件发送队列发送所述加密邮件。
步骤3、邮件解密
步骤31、利用所述预设邮件插件系统监听Outlook客户端的邮件接收事件,并注册回调函数。
步骤32、当Outlook客户端接收到邮件时,触发预设邮件插件系统的发送函数;利用所述预设邮件插件系统的发送函数获取所述邮件,作为待解密邮件对象,并传递所述待解密邮件对象至所述预设邮件插件系统进行解密操作。
步骤33、读取待解密邮件对象的邮件头中预设字段B的值,作为签名S2;其中,所述待解密邮件对象的邮件头中预设字段B的值为待解密邮件对象的邮件头中的X-Signature字段的值。
步骤34、以待解密邮件对象的发送方邮箱地址为身份标识IDA,利用SM9算法对所述所述签名S2进行验签处理;具体的,使用邮件发送方的邮件地址作为身份标识IDA和预设签名主公钥生成用户签名公钥;根据所述用户签名公钥,利用SM9算法对所述签名S2进行验签处理。
步骤35、若验证成功,则执行步骤36;否则,验证失败,并生成待解密邮件的签名不正确的弹窗提示。
步骤36、利用预设邮件插件系统读取待解密邮件对象的邮件头中预设字段A的值,作为会话密钥密文C3;其中,所述预设字段A的值与接收方邮箱地址相同;所述待解密邮件对象的邮件头中预设字段A的值为待解密邮件对象的邮件头中X-KeyData字段的值。
步骤37、利用邮件接收方的预设用户加密私钥,通过SM9算法对所述会话密钥密文C3进行解密,得到对称密钥Key2。
步骤38、利用所述对称密钥Key2对待解密邮件对象的邮件内容进行解密,得到邮件内容明文,并利用所述邮件内容明文替换待解密邮件对象的邮件内容,完成电子邮件的解密,即得到解密邮件;具体的,利用所述对称密钥Key2对待解密邮件对象的邮件正文进行解密,得到邮件正文明文M1;利用所述对称密钥Key2对待解密邮件对象的邮件附件进行解密,得到邮件附件明文M2;利用所述邮件正文M1和所述邮件附件明文M2,替换所述待解密邮件对象的邮件内容。
步骤39、将所述解密邮件返回至Outlook客户端;利用Outlook客户端将所述解密邮件以明文的形式进行展示,供用户操作。
本实施例所述的电子邮件加解密方法,在预设邮件插件系统登录过程,通过预设邮件插件系统与业务服务器间的双向身份认证,即利用预设邮件插件系统验证服务器证书对业务服务器的身份进行验证,业务服务器通过邮件验证码对预设邮件插件系统的身份进行验证,形成用于密钥信息的安全加密信道;在会话密钥协商过程,预设邮件插件系统与业务服务器采用相同的KDF密钥派生算法生成对称会话密钥;其中,预设邮件插件系统使用服务器证书加密对称会话密钥发送至业务服务器,业务服务器解密后的对称会话密钥Key02与业务服务器利用KDF密钥派生算法对所述邮件验证码进行处理生成的对称会话密钥Key03进行对比,验证会话密钥的有效性;在邮件加密过程,将所述身份标识IDB与所述密文C1以键值对的形式,写入待加密邮件对象的邮件头;并利用加密后的附件替换待加密邮件的邮件内容,生成加密邮件;在邮件解密过程,从待解密邮件的邮件头中取出签名值,并对签名进行验证,验证成功则继续解密操作,否则结束;使用对称密钥Key2来解密邮件附件的不同部分,还原出原有的邮件正文和邮件附件,替换掉当前的邮件对象,获得解密邮件;本实施例中,加解密操作和密钥存储所带来的开销较小,相较于原有的安全电子邮件方案节省了资源,降低了成本;同时,使用SM9算法和双向验证方式,使得预设邮件插件系统和业务服务器之间能够建立安全加密信道,能够方便安全的对密钥信息进行下发。
本实施例中,所述KGC服务器用于生成加密主密钥对和签名主密钥对;其中,所述加密主密钥对包括加密主公钥和加密主私钥;所述签名主密钥包括签名主公钥和签名主私钥;且所述加密主公钥和签名主公钥及系统参数均下发至用户端;所述用户私钥需要向KGC服务器申请得到,所述用户私钥包括用户加密私钥和用户签名私钥;KGC服务器验证用户身份后,利用加密主私钥或签名主私钥和身份标识计算得到用户加密私钥或用户签名私钥,并安全下发至用户;对于SM9加解密、签名及验签过程,具体如下:SM9加密过程为:将加密主公钥和接收方身份标识传入SM9加密算法,以对明文加密形成密文;SM9解密过程为:接收方向KGC服务器请求用户加密私钥,KGC服务器响应请求并下发;将接收方加密私钥传入SM9解密算法,以对密文解密形成明文;签名过程:发送方向KGC服务器请求用户签名私钥,KGC服务器响应请求并下发;将发送方签名私钥传入SM9签名算法,以对明文签名;验签过程为:将签名主公钥和发送方身份标识传入SM9验签算法,以对签名值进行验签。
本实施例提供的一种电子邮件加解密系统、设备及计算机可读存储介质中相关部分的说明可以参见本实施例所述的一种电子邮件加解密方法中对应部分的详细说明,在此不再赘述。
本发明所述电子邮件加解密方法,通过验证服务器证书来验证业务服务器的身份;利用邮件服务器下发邮件验证码,对邮件验证码使用KDF密钥派生函数生成对称会话密钥Key01;并对对称会话密钥Key01使用服务器证书加密得到密文C01;利用预设的私钥解密密文对密文C01解密,得到对称会话密钥Key02;然后对对称会话密钥Key01与对称会话密钥Key02进行对比,以验证预设邮件插件系统的身份;利用对从KGC服务器中获取密钥信息进行加密处理,得到加密后的密钥信息;用对称会话密钥Key01对加密后的密钥信息进行解密,得到解密后的密钥信息,并对其加密保存,即完成插件登录和密钥信息下发。
本发明中,邮件加密过程利用插件监听Outlook端邮件发送事件并注册回调函数;以接收方邮箱地址为身份标识,对对称密钥Key1进行SM9算法加密处理,得到密文C1,并写入邮件对象的邮件头;利用对称密钥Key1对邮件内容进行加密处理,得到密文C2,替换原来邮件对象中的邮件正文和邮件附件;利用预设的签名私钥对所述附件A1进行签名处理,得到签名S1,并写入邮件头中,完成邮件加密操作,即得到加密邮件;利用Outlook端发送加密邮件,完成加密邮件的发送;
本发明中,邮件解密过程,利用插件监听Outlook客户端邮件接收事件并注册回调函数;读取邮件对象的邮件头中签名信息,利用发送方邮件身份标识,对所述签名信息进行SM9算法验签处理,以验证签名的有效性;读取待解密邮件对象的邮件头中会话密钥密文C3,利用邮件接收方的预设用户加密私钥对会话密钥密文C3使用SM9算法解密处理,得到对称密钥Key2;利用对称密钥Key2对邮件内容进行解密,得到邮件正文M1和邮件附件M2,利用邮件正文M1和邮件附件M2替换邮件对象的相关部分,完成邮件解密过程,即得到解密邮件;利用Outlook客户端显示解密后的邮件对象,完成邮件的解密。
上述实施例仅仅是能够实现本发明技术方案的实施方式之一,本发明所要求保护的范围并不仅仅受本实施例的限制,还包括在本发明所公开的技术范围内,任何熟悉本技术领域的技术人员所容易想到的变化、替换及其他实施方式。

Claims (10)

1.一种电子邮件加密方法,其特征在于,应用于邮件加密端的预设邮件插件系统,方法包括:
生成对称密钥Key1;
以待加密邮件对象的接收方邮件地址作为身份标识IDB,利用SM9算法对所述对称密钥Key1进行加密处理,得到密文C1;将所述身份标识IDB与所述密文C1,写入待加密邮件对象的邮件头中;
利用所述对称密钥Key1对待加密邮件对象的邮件内容进行加密处理,得到密文C2;并利用所述密文C2替换待加密邮件对象的邮件内容,作为附件A1;
利用预设的签名私钥对所述附件A1进行签名处理,得到签名S1;并将所述签名S1写入待加密邮件对象的邮件头中,完成电子邮件的加密过程,即得到加密邮件。
2.根据权利要求1所述的一种电子邮件加解密方法,其特征在于,还包括所述预设邮件插件系统登录和用户密钥信息下发步骤;
所述预设邮件插件系统登录和用户密钥信息下发步骤,具体如下:
步骤a、发送证书请求,并获取服务器证书;所述证书请求,用于触发业务服务器,下发服务器证书至预设邮件插件系统;
步骤b、对所述服务器证书的有效性进行验证;若所述服务器证书的验证结果为有效,则转至步骤c;否则,结束;
步骤c、判断是否首次登录所述预设邮件插件系统;
步骤d、若为首次登录,则发送验证码请求;所述验证码请求,用于触发业务服务器下发邮件验证码至Outlook客户端;
步骤e、利用所述预设邮件插件系统,获取所述Outlook客户端接收的所述邮件验证码,并利用KDF密钥派生算法对所述邮件验证码进行处理,生成对称会话密钥Key01;
步骤f、利用所述服务器证书,对所述对称会话密钥Key01进行加密,得到密文C01;并发送所述密文C01至所述业务服务器;
步骤g、所述业务服务器使用预设的私钥解密密文对所述密文C01进行解密,得到对称会话密钥Key02;并利用KDF密钥派生算法对所述邮件验证码进行处理,生成对称会话密钥Key03;
步骤h、对所述对称会话密钥Key02与所述对称会话密钥Key03进行对比,若所述对称会话密钥Key02与所述对称会话密钥Key03一致,则执行步骤i;否则,登录验证失败,并生成登录验证失败的弹窗提示;
步骤i、所述业务服务器向预设邮件插件系统发送登录成功的响应消息;
步骤j、所述预设邮件插件系统接收所述登录成功的响应消息后,向所述业务服务器发送密钥信息下发请求;
步骤k、所述业务服务器响应所述密钥信息下发请求,从KGC服务器中获取密钥信息;其中,所述密钥信息包括用户私钥、系统主公钥及系统参数;并使用所述对称会话密钥Key02对所述密钥信息加密,得到加密后的密钥信息;发送所述加密后的密钥信息至所述预设邮件插件系统;
步骤l、所述预设邮件插件系统利用所述对称会话密钥Key01,对所述加密后的密钥信息进行解密,得到解密后的密钥信息;将所述解密后的密钥信息保存至本地文件;并生成登录验证成功的弹窗提示,即预设邮件插件系统和用户密钥信息下发完成。
3.根据权利要求2所述的一种电子邮件加解密方法,其特征在于,所述预设邮件插件系统登录和用户密钥信息下发步骤,还包括:
若所述预设邮件插件系统非首次登录,则生成随机数;
利用预设的签名私钥,对所述随机数进行签名处理,得到签名值;并利用所述服务器证书对所述签名值进行加密,得到密文C02;发送所述密文C02至所述业务服务器;
所述业务服务器利用预设的私钥对所述密文C02进行解密,得到解密后的明文及签名值;
利用预设的签名主公钥对所述解密后的明文及签名值进行验证,若验证成功,则所述业务服务器向预设邮件插件系统发送登录成功的响应消息;否则,验证失败,并生成登录验证失败的弹窗提示;
所述预设邮件插件系统接收到所述登录成功的响应消息后,对所述随机数利用KDF密钥派生函数进行处理,得到对称会话密钥Key04;利用所述对称会话密钥Key04对步骤f-l中的所述对称会话密钥Key01进行更新替换,并执行步骤f-l的操作;即完成所述预设邮件插件系统登录和用户密钥信息下发。
4.根据权利要求1所述的一种电子邮件加解密方法,其特征在于,将所述身份标识IDB与所述密文C1,写入待加密邮件对象的邮件头中的过程,具体如下:
将待加密邮件对象的接收方邮件地址及所述密文C1,以键值对的形式,写入待加密邮件对象中邮件头的第一自定义字段中;其中,所述第一自定义字段为X-KeyData;
将所述签名S1写入待加密邮件对象的邮件头中的过程,具体如下:
将所述签名S1写入待加密邮件对象的第二自定义字段中;其中,所述第二自定义字段为:X-Signature。
5.一种电子邮件加解密方法,其特征在于,应用于邮件解密端的预设邮件插件系统,方法包括:
读取待解密邮件对象的邮件头中预设字段A的值,作为会话密钥密文C3;其中,所述预设字段A的值与接收方邮箱地址相同;
利用邮件接收方的预设用户加密私钥,通过SM9算法对所述会话密钥密文C3进行解密,得到对称密钥Key2;
利用所述对称密钥Key2对待解密邮件对象的邮件内容进行解密,得到邮件内容明文,并利用所述邮件内容明文替换待解密邮件对象的邮件内容,完成电子邮件的解密,即得到解密邮件。
6.根据权利要求1所述的一种电子邮件加解密方法,其特征在于,读取待解密邮件对象的邮件头中预设字段A的值,作为会话密钥密文C3之前,还包括签名验证步骤;所述签名验证步骤,包括:
读取待解密邮件对象的邮件头中预设字段B的值,作为签名S2;
以待解密邮件对象的发送方邮箱地址为身份标识IDA,利用SM9算法对所述所述签名S2进行验签处理;
若验证成功,则执行读取待解密邮件对象的邮件头中预设字段A的值,作为会话密钥密文C3的步骤。
7.根据权利要求1所述的一种电子邮件加解密方法,其特征在于,利用所述对称密钥Key2对待解密邮件对象的邮件内容进行解密,得到邮件内容明文的过程,具体如下:
利用所述对称密钥Key2对待解密邮件对象的邮件正文进行解密,得到邮件正文明文M1;
利用所述对称密钥Key2对待解密邮件对象的邮件附件进行解密,得到邮件附件明文M2。
8.一种电子邮件加解密系统,其特征在于,包括:
加密模块,用于生成对称密钥Key1;以待加密邮件对象的接收方邮件地址作为身份标识IDB,利用SM9算法对所述对称密钥Key1进行加密处理,得到密文C1;将所述身份标识IDB与所述密文C1,写入待加密邮件对象的邮件头中;利用所述对称密钥Key1对待加密邮件对象的邮件内容进行加密处理,得到密文C2;并利用所述密文C2替换待加密邮件对象的邮件内容,作为附件A1;利用预设的签名私钥对所述附件A1进行签名处理,得到签名S1;并将所述签名S1写入待加密邮件对象的邮件头中,完成电子邮件的加密过程,即得到加密邮件;
解密模块,用于读取待解密邮件对象的邮件头中预设字段A的值,作为会话密钥密文C3;其中,所述预设字段A的值与接收方邮箱地址相同;利用邮件接收方的预设用户加密私钥,对所述会话密钥密文C3进行解密,得到对称密钥Key2;利用所述对称密钥Key2对待解密邮件对象的邮件内容进行解密,得到邮件内容明文,并利用所述邮件内容明文替换待解密邮件对象的邮件内容,完成电子邮件的解密,即得到解密邮件。
9.一种电子邮件加解密设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如下之一:
如权利要求1-4任一项所述的电子邮件加解密方法;
如权利要求5-7任一项所述的电子邮件加解密方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如下之一:
如权利要求1-4任一项所述的电子邮件加解密方法;
如权利要求5-7任一项所述的电子邮件加解密方法。
CN202210337476.9A 2022-03-31 2022-03-31 电子邮件加解密方法、系统、设备及计算机可读存储介质 Active CN114650181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210337476.9A CN114650181B (zh) 2022-03-31 2022-03-31 电子邮件加解密方法、系统、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210337476.9A CN114650181B (zh) 2022-03-31 2022-03-31 电子邮件加解密方法、系统、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN114650181A true CN114650181A (zh) 2022-06-21
CN114650181B CN114650181B (zh) 2023-06-09

Family

ID=81994910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210337476.9A Active CN114650181B (zh) 2022-03-31 2022-03-31 电子邮件加解密方法、系统、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114650181B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113642022A (zh) * 2021-08-20 2021-11-12 成都卫士通信息产业股份有限公司 一种电子邮件处理方法、装置、系统及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1788770A1 (en) * 2005-11-16 2007-05-23 Totemo AG A method for establishing a secure e-mail communication channel between a sender and a recipient
WO2018113708A1 (zh) * 2016-12-21 2018-06-28 北京奇虎科技有限公司 一种邮件发送、查看、查看控制方法及其设备
CN110535868A (zh) * 2019-09-05 2019-12-03 山东浪潮商用系统有限公司 基于混合加密算法的数据传输方法及系统
CN112367175A (zh) * 2020-11-12 2021-02-12 西安电子科技大学 基于sm2数字签名的隐式证书密钥生成方法
CN113067823A (zh) * 2021-03-22 2021-07-02 西安电子科技大学 邮件用户身份认证和密钥分发方法、系统、设备及介质
CN113285959A (zh) * 2021-06-25 2021-08-20 贵州大学 一种邮件加密方法、解密方法及加解密系统
CN113381852A (zh) * 2020-03-09 2021-09-10 中国电信股份有限公司 电子邮件安全传送方法和系统
CN114172694A (zh) * 2021-11-19 2022-03-11 卓望数码技术(深圳)有限公司 电子邮件加解密方法、系统及存储介质
CN114221927A (zh) * 2021-12-17 2022-03-22 成都国泰网信科技有限公司 基于国密算法的邮件加密服务系统及方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1788770A1 (en) * 2005-11-16 2007-05-23 Totemo AG A method for establishing a secure e-mail communication channel between a sender and a recipient
WO2018113708A1 (zh) * 2016-12-21 2018-06-28 北京奇虎科技有限公司 一种邮件发送、查看、查看控制方法及其设备
CN110535868A (zh) * 2019-09-05 2019-12-03 山东浪潮商用系统有限公司 基于混合加密算法的数据传输方法及系统
CN113381852A (zh) * 2020-03-09 2021-09-10 中国电信股份有限公司 电子邮件安全传送方法和系统
CN112367175A (zh) * 2020-11-12 2021-02-12 西安电子科技大学 基于sm2数字签名的隐式证书密钥生成方法
CN113067823A (zh) * 2021-03-22 2021-07-02 西安电子科技大学 邮件用户身份认证和密钥分发方法、系统、设备及介质
CN113285959A (zh) * 2021-06-25 2021-08-20 贵州大学 一种邮件加密方法、解密方法及加解密系统
CN114172694A (zh) * 2021-11-19 2022-03-11 卓望数码技术(深圳)有限公司 电子邮件加解密方法、系统及存储介质
CN114221927A (zh) * 2021-12-17 2022-03-22 成都国泰网信科技有限公司 基于国密算法的邮件加密服务系统及方法

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
JIANGHONG WEI: "Enabling (End-to-End) Encrypted Cloud Emails With Practical Forward Secrecy", 《IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING ( VOLUME: 19, ISSUE: 4, 01 JULY-AUG. 2022)》 *
JIANGHONG WEI: "Enabling (End-to-End) Encrypted Cloud Emails With Practical Forward Secrecy", 《IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING ( VOLUME: 19, ISSUE: 4, 01 JULY-AUG. 2022)》, 29 January 2021 (2021-01-29) *
XINGHUA LI: "VRFMS: Verifiable Ranked Fuzzy Multi-keyword Search over Encrypted Data", 《 IEEE TRANSACTIONS ON SERVICES COMPUTING ( EARLY ACCESS )》 *
XINGHUA LI: "VRFMS: Verifiable Ranked Fuzzy Multi-keyword Search over Encrypted Data", 《 IEEE TRANSACTIONS ON SERVICES COMPUTING ( EARLY ACCESS )》, 4 January 2022 (2022-01-04) *
廖明涛: "基于多特征模糊关联的垃圾邮件过滤方法", 《微电子学与计算机》 *
廖明涛: "基于多特征模糊关联的垃圾邮件过滤方法", 《微电子学与计算机》, 5 March 2008 (2008-03-05) *
殷明: "基于标识的密码算法SM9研究综述", 《信息技术与信息化》 *
殷明: "基于标识的密码算法SM9研究综述", 《信息技术与信息化》, 28 May 2020 (2020-05-28) *
王长广: "一种无尺度网络上垃圾邮件蠕虫的传播模型", 《计算机科学》 *
王长广: "一种无尺度网络上垃圾邮件蠕虫的传播模型", 《计算机科学》, 25 February 2007 (2007-02-25) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113642022A (zh) * 2021-08-20 2021-11-12 成都卫士通信息产业股份有限公司 一种电子邮件处理方法、装置、系统及存储介质

Also Published As

Publication number Publication date
CN114650181B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
CN107483212B (zh) 一种双方协作生成数字签名的方法
CN101247232B (zh) 数据交换传输中基于数字签名的加密技术方法
CN104618120A (zh) 一种移动终端密钥托管数字签名方法
US20170180367A1 (en) System And Method For Encrypted And Authenticated Electronic Messaging Using A Central Address Book
CN109800588B (zh) 条码动态加密方法及装置、条码动态解密方法及装置
CN105447407A (zh) 一种离线数据的加密方法、解密方法及相应装置和系统
CN113806772A (zh) 基于区块链的信息加密传输方法及装置
CN113067823B (zh) 邮件用户身份认证和密钥分发方法、系统、设备及介质
CN113346995B (zh) 基于量子安全密钥的邮件传输过程中防篡改的方法和系统
CN108809936B (zh) 一种基于混合加密算法的智能移动终端身份验证方法及其实现系统
CN109684129B (zh) 数据备份恢复方法、存储介质、加密机、客户端和服务器
CN112766962A (zh) 证书的接收、发送方法及交易系统、存储介质、电子装置
CN113285803B (zh) 一种基于量子安全密钥的邮件传输系统和传输方法
CN110166489B (zh) 一种物联网中数据传输方法、系统、设备及计算机介质
CN113204760B (zh) 用于软件密码模块的安全通道建立方法及系统
CN111914291A (zh) 消息处理方法、装置、设备及存储介质
CN113542428B (zh) 车辆数据上传方法、装置、车辆、系统及存储介质
CN113452687B (zh) 基于量子安全密钥的发送邮件的加密方法和系统
CN110690969B (zh) 一种多方协同完成双向ssl/tls认证的方法和系统
CN110611679A (zh) 一种数据传输方法、装置、设备及系统
CN114650181B (zh) 电子邮件加解密方法、系统、设备及计算机可读存储介质
CN114331456A (zh) 一种通信方法、装置、系统以及可读存储介质
CN109492359B (zh) 一种用于身份认证的安全网络中间件及其实现方法和装置
WO2023284691A1 (zh) 一种账户的开立方法、系统及装置
CN112995210B (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
GR01 Patent grant
GR01 Patent grant