CN113067823B - 邮件用户身份认证和密钥分发方法、系统、设备及介质 - Google Patents

邮件用户身份认证和密钥分发方法、系统、设备及介质 Download PDF

Info

Publication number
CN113067823B
CN113067823B CN202110300068.1A CN202110300068A CN113067823B CN 113067823 B CN113067823 B CN 113067823B CN 202110300068 A CN202110300068 A CN 202110300068A CN 113067823 B CN113067823 B CN 113067823B
Authority
CN
China
Prior art keywords
key
mail
user
identity
verification
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.)
Active
Application number
CN202110300068.1A
Other languages
English (en)
Other versions
CN113067823A (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 CN202110300068.1A priority Critical patent/CN113067823B/zh
Publication of CN113067823A publication Critical patent/CN113067823A/zh
Application granted granted Critical
Publication of CN113067823B publication Critical patent/CN113067823B/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/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Abstract

本发明公开了一种邮件用户身份认证和密钥分发方法、系统、设备及介质,包括对用户身份进行验证;以邮箱账号为身份标识,对对称密钥Key和对称加密算法进行SM9算法加密处理,得到密文C1;根据邮箱账户标识,获取用户验证私钥;利用用户验证私钥,对密文C1进行解密,得到解密后的对称密钥Key;利用解密后的对称密钥Key,采用对称加密算法对用户验证私钥进行加密处理,得到密文C2;利用对称密钥Key对密文C2进行解密,获取用户收发私钥,并对用户收发私钥进行加密保存,即完成身份认证和密钥分发;本发明能够很好地整治邮件不安全乱象,保护用户邮件安全,避免了密钥生成中心泄露攻击,出错率较低。

Description

邮件用户身份认证和密钥分发方法、系统、设备及介质
技术领域
本发明属于网络空间安全技术领域,特别涉及一种邮件用户身份认证和密钥分发方法、系统、设备及介质。
背景技术
随着互联网的成熟,PC端电子邮件的发展已经趋于平稳,移动端电子邮件迅速发展;移动端与PC端进行互通,有利于整合用户移动端和PC端的各类信息和资料,帮助用户更加方便的处理各种设计、办公信息,提升用户在移动端使用电子邮箱的体验;但由于网络的开放性,部分邮箱账号采用弱口令,邮件数据采用明文传输容易被窃听和恶意篡改,无法保证邮件的机密性和完整性,给电子邮件带来了安全隐患。
当前,在电子邮件安全领域通常采用软加密方式实现加密邮件业务,并且很多采用固定密钥直接对邮件数据进行加密传输,容易遭受逆向暴力破解,安全级别不高;另外,现有技术中,为实现邮件的加密传输,有些系统需要自建邮件服务器,即专用邮箱系统的支持,不适用于多种邮箱账号的应用场景,通用性差,成本较高。
1984年,RSA算法的发明人Shamir提出了基于标识的密码技术,其利用用户的某个唯一标识,例如手机号或邮箱地址作为公钥,从而使得用户不再频繁地申请和交换证书,极大降低了证书和密钥管理的复杂性,降低了使用者的成本投入;因此,身份标识密码算法和邮件加密系统非常契合;2016年3月,中国标识密码SM9算法正式对外发布;但是,目前,密钥生成中心KGC对邮件用户的身份认证以及认证成功后密钥的安全下发,仍然缺乏完整的统一标准;Sui等人提出了基于双线性对的可分离且匿名的标识私钥分发方案[Sui et al.,IEEE,11th International Conference on Parallel and Distributed Systems 2005],系统需要本地注册中心LRA和密钥生成中心KGC两个责任主体,并且存在消息完整性保护攻击和潜在的密钥生成中心KGC泄漏攻击;Wang等人给出了基于秘密共享的密钥分发方案[Wang et al.,Springer-Verlag International Conference on Theory andApplications of Crypto graphic Techniques 2010],但是该方案需要大量计算,效率较低,并且配置复杂,容易出错。
发明内容
针对现有技术中存在的技术问题,本发明提供了一种邮件用户身份认证和密钥分发方法、系统、设备及介质,以解决现有密钥分发方案中,存在消息完整性保护攻击和潜在的密钥生成中心泄露攻击,计算量较大,出错率较高的技术问题。
为达到上述目的,本发明采用的技术方案为:
本发明提供了一种邮件用户身份认证和密钥分发方法,包括以下步骤:
对用户身份进行验证;
以邮箱账号为身份标识,对对称密钥Key和对称加密算法进行SM9算法加密处理,得到密文C1;
根据邮箱账户标识,获取用户验证私钥;
利用用户验证私钥,对密文C1进行解密,得到解密后的对称密钥Key;
利用解密后的对称密钥Key,采用对称加密算法对用户验证私钥进行加密处理,得到密文C2;
利用对称密钥Key对密文C2进行解密,获取用户收发私钥,并对用户收发私钥进行加密保存,即完成身份认证和密钥分发。
进一步的,对用户身份进行验证过程如下:
构建验证码邮件并发送至邮件收发系统;其中,验证邮件详细内容界面设置有验证按钮;
点击验证按钮发送验证码至邮箱验证码系统,判断验证码的有效性,获取身份验证结果。
进一步的,构建验证码邮件过程如下:
向邮箱账户的官方邮件服务器发起登录请求,登录成功后,邮件收发系统向邮箱验证码系统发送验证用户身份指令I;
邮箱验证码系统收到用户身份指令I后,判断是否存在该用户未验证的有效验证码,根据判断结果,执行以下验证码邮件构建步骤;
邮箱验证码系统随机生成验证码,启动验证码有效期计时器,构建得到验证码邮件。
进一步的,邮箱验证码系统随机生成验证码过程,通过调用邮箱验证码系统中的随机数生成器,生成随机数作为验证码,并将验证码保存在(key-value)数据结构容器内存中;其中,key为邮箱账户,value为随机数;验证码有效期计时器采用Java中的线程池Timer实现。
进一步的,对称密钥Key通过邮件收发系统中的随机数发生器,生成的六位数字作为密码进行初始化生成。
进一步的,密文C1采用在邮件收发系统中,结合SM9算法的系统参数及密钥生成中心生成的主公钥,以邮箱账号为身份标识,对对对称密钥Key和对称加密算法进行SM9算法加密处理得到。
进一步的,密文C2采用在密钥生成中心中,采用对称加密算法对用户验证私钥进行加密处理得到。
本发明还提供了一种邮件用户身份认证和密钥分发系统,包括身份认证模块和密钥分发模块;
身份认证模块,用于对用户身份进行验证;
密钥分发模块,用于以邮件账号为身份标识,对对称密钥Key和对称加密算法A进行SM9身份标识加密处理,得到密文C1;根据邮箱账户标识,获取所有用户的私钥;利用所有用户的私钥,对密文C1进行解密,得到解密后的对称密钥Key;利用解密后的对称密钥Key,采用加密算法A对私钥进行加密处理,得到密文C2;利用对称密钥Key对密文C2进行解密,获取私钥,并对私钥进行加密保存,即完成身份认证和密钥分发。
本发明还提供了一种邮件用户身份认证和密钥分发设备,包括存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令;所述处理器执行所述可执行指令时实现如所述的邮件用户身份认证和密钥分发方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现所述的邮件用户身份认证和密钥分发方法。
与现有技术相比,本发明的有益效果为:
本发明提供了一种邮件用户身份认证和密钥分发方法、系统、设备及介质;通过对用户身份进行验证和基于SM9算法的密钥分发方法,无需提供安全的传输信道,也不需要额外的证书认证和其他的第三方担保,整个过程相对简单,减少了安全漏洞隐患;在性能上,仅仅只增加一次对称加密运算开销,极大地减轻了服务器负担,节省了资源,降低了成本;同时,结合本发明在单纯的邮件收发系统中对邮件进行SM9算法加密解密变得完全可行,构成了一整套邮件身份标识加密方案;能够很好地整治邮件不安全乱象,保护用户邮件安全,避免了密钥生成中心泄露攻击,出错率较低。
进一步的,身份认证过程基本处于全自动模式,用户首次登录进邮件收发系统,会马上收到验证码邮件,接下来仅需点击验证按钮即可,不需要任何额外操作,其他信息的交互认证步骤都在底层自动完成,整个过程快速便捷,对用户来说非常友好;同时,本发明使得第三方的纯粹邮件代收发系统对邮件账户的身份认证成为现实,不需要自建邮件服务器和维护自身的邮件账号系统,只需要关注邮件自身的收发显示等操作,极大的节省了前期的开发成本和后期的运维成本,并为将来其他基于身份认证的新功能开发奠定了基础。
附图说明
图1为本发明所述的邮件用户身份认证和密钥分发总体结构图;
图2为本发明中的身份认证流程图;
图3为本发明中的密钥分发流程图。
具体实施方式
为了使本发明所解决的技术问题,技术方案及有益效果更加清楚明白,以下具体实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种邮件用户身份认证和密钥分发方法,包括以下步骤:
步骤1、对用户身份进行验证;具体的,通过构建验证码邮件并发送至邮件收发系统;其中,验证邮件详细内容界面设置有验证按钮;点击验证按钮发送验证码至邮箱验证码系统,判断验证码的有效性,获取身份验证结果。
本发明中,构建验证码邮件过程如下:
向邮箱账户的官方邮件服务器发起登录请求,登录成功后,邮件收发系统向邮箱验证码系统发送验证用户身份指令I;邮箱验证码系统收到用户身份指令I后,判断是否存在该用户未验证的有效验证码;根据判断结果,执行以下邮件构建步骤;邮箱验证码系统随机生成验证码,启动验证码有效期计时器,构建得到验证码邮件。
其中,邮箱验证码系统随机生成验证码过程,通过调用邮箱验证码系统中的随机数生成器,生成一个六位随机数作为验证码,并将验证码保存在(key-value)数据结构容器内存中;其中,key为邮箱账户,value为随机数;验证码有效期计时器采用Java中的线程池Timer实现。
步骤2、在邮件收发系统中,以邮箱账号为身份标识,对对称密钥Key和对称加密算法进行SM9算法加密,得到密文C1;其中,对称密钥Key采用在密钥生成中心的随机数发生器生成的六位数字作为密码进行初始化生成。
步骤3、在密钥生成中心中,根据邮箱账户标识,获取用户验证私钥;
步骤4、在密钥生成中心中,利用用户验证私钥,对密文C1进行解密,得到解密后的对称密钥Key;
步骤5、在密钥生成中心中,利用解密后的对称密钥Key,采用对称加密算法对用户验证私钥进行加密处理,得到密文C2;
步骤6、在邮件收发系统中,利用对称密钥Key对密文C2进行解密,获取用户收发私钥,并对用户收发私钥进行加密保存,即完成身份认证和密钥分发。
本发明所述的一种邮件用户身份认证和密钥分发方法,基于SM9算法,以搭建邮件加密的基础安全环境,保护用户邮件安全;具体包括以下步骤:
(1)身份认证的步骤
(1.1)用户登录邮箱;
(1.2)如果是首次成功登录,则执行步骤(1.3),否则不进行身份认证;
(1.3)邮件收发系统给邮箱验证码系统发送验证用户身份指令I;
(1.4)邮箱验证码系统收到指令I后,判断是否存在该用户未验证的有效验证码;如果有未验证的有效验证码,则从验证码系统中去除掉该验证码,然后继续以下步骤;如果不存在,也继续以下步骤。
(1.5)邮箱验证码系统随机生成验证码并保存好该验证码;
(1.6)邮箱验证码系统启动该验证码有效期计时器,开始计时;
(1.7)邮箱验证码系统构建验证码邮件并发送给邮件收发系统;
(1.8)邮件收发系统收到验证码邮件;对验证码邮件区别于其他一般邮件进行显示,并通知用户及时查看;
(1.9)如果用户在有效期之外点击验证码邮件查看,则跳转到步骤(1.10),如果在有效期之内点击验证码邮件查看,则跳转到(1.11);
(1.10)验证码邮件详细内容界面显示有一个重新获取验证码的按钮,若用户点击则跳到步骤(1.3)来重新获取;
(1.11)验证码邮件详细内容界面显示有一个验证按钮,用户点击验证将向邮箱验证码系统发送验证码;
(1.12)邮箱验证码系统收到发来的验证码,判断其是否有效,有效则验证成功,无效则跳转到步骤(1.5)提示用户再次验证。
(2)密钥分发的步骤
(2.1)密钥生成中心KGC进行SM9算法的系统参数初始化,同时生成主公钥;
(2.2)邮件收发系统获得初始化后的SM9算法的系统参数和主公钥;
(2.3)用户开始申请用户私钥;
(2.4)邮件收发系统生成对称密钥Key;
(2.5)邮件收发系统采用邮箱账号作为身份标识,结合初始化后的SM9算法的系统参数和主公钥,对对称密钥Key及对称加密算法进行SM9算法加密,生成密文C1;
(2.6)邮件收发系统将密文C1发送给密钥生成中心KGC;
(2.7)密钥生成中心KGC首先判断用户身份是否已经验证,如果未验证,则必须先完成身份验证;如果已完成验证,然后转至以下步骤;
(2.8)密钥生成中心KGC根据邮箱账户标识计算出用户验证私钥;
(2.9)密钥生成中心KGC采用用户验证私钥对密文C1进行解密得到解密后的对称密钥Key和解密后的对称加密算法;
(2.10)密钥生成中心KGC采用解密后的对称密钥Key,对用户验证私钥,用对称加密算法进行加密,得到密文C2并发回至邮件收发系统;
(2.11)邮件收发系统通过对称密钥Key对密文C2进行解密获得用户收发私钥;
(2.12)邮件收发系统将用户收发私钥安全保存到本地。
本发明还提供了一种邮件用户身份认证和密钥分发系统,包括身份认证模块和密钥分发模块;其中,身份认证模块,用于对用户身份进行验证;密钥分发模块,用于以邮箱账号为身份标识,对对称密钥Key和对称加密算法进行SM9算法加密处理,得到密文C1;根据邮箱账户标识,获取用户验证私钥;利用用户验证私钥,对密文C1进行解密,得到解密后的对称密钥Key;利用解密后的对称密钥Key,采用对称加密算法对用户验证私钥进行加密处理,得到密文C2;利用对称密钥Key对密文C2进行解密,获取用户收发私钥,并对用户收发私钥进行加密保存,即完成身份认证和密钥分发。
本发明还提供了邮件用户身份认证和密钥分发设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。
所述处理器执行所述计算机程序时,实现如下方法:
对用户身份进行验证;以邮箱账号为身份标识,对对称密钥Key和对称加密算法进行SM9算法加密处理,得到密文C1;根据邮箱账户标识,获取用户验证私钥;利用用户验证私钥,对密文C1进行解密,得到解密后的对称密钥Key;利用解密后的对称密钥Key,采用对称加密算法对用户验证私钥进行加密处理,得到密文C2;利用对称密钥Key对密文C2进行解密,获取用户收发私钥,并对用户收发私钥进行加密保存,即完成身份认证和密钥分发。
或者,所述处理器执行所述计算机程序时,实现上述邮件用户身份认证和密钥分发系统中各个模块的功能;例如:身份认证模块,用于对用户身份进行验证;密钥分发模块,用于以邮箱账号为身份标识,对对称密钥Key和对称加密算法进行SM9算法加密处理,得到密文C1;根据邮箱账户标识,获取用户验证私钥;利用用户验证私钥,对密文C1进行解密,得到解密后的对称密钥Key;利用解密后的对称密钥Key,采用对称加密算法对用户验证私钥进行加密处理,得到密文C2;利用对称密钥Key对密文C2进行解密,获取用户收发私钥,并对用户收发私钥进行加密保存,即完成身份认证和密钥分发。
所述计算机程序可以被分割成一个或多个模块/单元,所述一个或多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。
所述邮件用户身份认证和密钥分发设备可以时桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述邮件用户身份认证和密钥分发设备,可包括,但不仅限于,处理器及存储器。
所述处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述邮件用户身份认证和密钥分发系统的各种功能。
本发明所述的邮件用户身份认证和密钥分发系统集成的模块/单元,如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述所述邮件用户身份认证和密钥分发方法的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本发明所述的一种邮件用户身份认证和密钥分发系统、设备及可读存储介质中相关部分的说明,可以参见本实施例所述的一种邮件用户身份认证和密钥分发方法中对应部分的详细说明,在此不再赘述。
实施例
如附图1-3所示,本实施例提供了一种邮件用户身份认证和密钥分发方法,涉及邮件验证码单元、密钥生成单元KGC及邮件收发系统;其中,用户使用邮件收发系统除了能完成最基本的收发写邮件等操作,也能实现邮件的加解密;但是邮件加解密的前提是能拥有属于用户自己的公私钥,并且只能有用户自己知晓;否则无法保证邮件的安全;本实施例通过邮件验证码单元来进行验证码邮件发送和对验证码的验证,进而实现用户身份认证,最后由密钥生成单元KGC安全下发属于该用户身份的私钥。
具体包括以下步骤:
步骤1、身份认证
步骤11、用户登录邮箱;其中,登录邮箱是向邮箱账户的官方邮件服务器发起登录请求;如163邮箱则向163邮箱服务器发起登录请求。
步骤12、如果是首次成功登录,则执行步骤13,否则不进行身份验证;由于如果登录失败,其之后的身份验证自然不必进行;如果之前已经在邮件收发系统上成功登录过,则验证码邮件已经下发,验证已经成功,不用再次发起身份验证。
步骤13、邮件收发系统给邮箱验证码系统发送验证用户身份指令I;本实施例中,邮件收发系统和邮件验证码系统之间通过Socket网络通信,验证用户身份指令I为用户邮箱账号加上身份验证特征码的字符串。
步骤14、邮箱验证码系统收到验证用户身份指令I后,判断该用户是否存在未验证的有效验证码,有则废除,无则继续;其中,通过识别身份验证特征码,明确该验证用户身份指令I为身份验证,用于获取验证码邮件;邮箱验证码系统在内存中查找是否存在该用户邮箱账号对应的验证码,若存在,则从内存中去除。
步骤15、邮箱验证码系统随机生成验证码并保存该验证码;其中,利用邮箱验证码系统随机生成验证码过程,采用调用系统的随机数生成器来生成一个六位的随机数作为验证码,并将保存在(key-value)数据结构容器内存中;其中,key为邮箱账户,value为随机数。
步骤16、启动该验证码有效期计时器;本实施例中,为了防止验证码泄露或者被破解,必须为每个验证码设置一个有效期,超过该有效期则失效,不能再继续使用,应当从容器内存中去除;本实施例中,计时器采用的Java中的线程池Timer实现,通过自定义按时去掉过期验证码任务ClearVerifiedCodeTask,将其提交到线程池中,能够保证高并发下的稳定性。
步骤17、构建验证码邮件并发送;
具体的,首先需要提供一个邮箱账号,作为系统的官方邮箱账号,后续的验证码邮件发送都通过该邮箱账户发送;其中,验证码邮件的内容包括验证码以及验证码过期时间;同时为了防止发送的验证码邮件被接收方的邮件服务器认作垃圾邮件,验证码邮件的内容处理为html格式。
为了和普通的邮件相区分,选择通过在验证码邮件的邮件头中加入验证码邮件的特征码的方式实现;最后通过导入Oracle研发的javamail.jar包,并调用相应的Api接口构建验证码邮件,构建完成后将其放到邮件发送队列中,有专门的线程从队列中取邮件再调用相应的Api接口进行邮件发送。
步骤18、邮件收发系统收到验证码邮件,并区别于其他一般邮件进行显示,并通知用户及时查看;本实施例中,为了让用户能尽快在验证码有效期内完成验证,所以在收到邮件时,通过检查邮件头中是否有验证码邮件的邮件头,来区分是否为验证码邮件;若是,则在收件箱列表中对该邮件进行标红处理,同时弹出对话框提醒用户查看。
步骤19、如果用户在有效期之后查看,则跳转到步骤110;如果在有效期之内查看,则跳转到步骤111;为了能够更智能更快捷的验证用户身份,通过识别邮件内容,获得验证码的过期时间,通过与当前的本地时间进行对比,从而判断该验证码是否已过期。
步骤110、邮件查看界面显示重新获取验证码按钮,用户点击则跳到步骤13来重新获取;
步骤111、邮件查看界面显示验证按钮,用户点击将向邮箱验证码系统发送验证码;根据是否过期,会在邮件内容显示界面的底部显示不同文字的按钮,未过期则显示验证按钮,用于去服务器验证验证码,过期则会显示重新获取按钮,用于重新获取验证码邮件。
步骤112、邮箱验证码系统收到发来的验证码,判断其是否有效,有效则验证成功,无效则跳转到步骤15再次验证。
步骤2、密钥分发
本实施例步骤1中的身份认证为步骤2中的密钥分发做准备,只有在身份认证成功的情况下,才能将用户的私钥安全地下发给用户;以下对私钥的安全分发进行详细描述。
步骤21、密钥生成中心KGC进行SM9算法的系统参数初始化,生成主公钥;其中,SM9算法的系统参数包括椭圆曲线参数;
步骤22、邮件收发系统获得初始化后的SM9算法的系统参数和主公钥;
步骤23、用户开始申请用户私钥;
步骤24、邮件收发系统生成对称密钥Key;其中,对称密钥Key是通过随机数发生器生成的六位数字作为密码进行初始化而生成;本实施例中,每次申请都会生成不同的对称密钥Key;同时,生成申请请求ID号,该ID号是4位数,从0001开始的自动递增,将请求ID号和对称密钥Key一一对应,以键值对的形式保存,有利于后续获得对称密钥Key,进行解密私钥。
步骤25、在邮件收发系统中,以自身的邮箱账号作为身份标识,对对称密钥Key和对称加密算法进行SM9算法加密,获得密文C1;
其中,以自身邮箱账户作为身份标识进行加密,最终也只能通过自身邮箱账户的SM9算法私钥来解密;在正常情况下,知道这个私钥的只有密钥生成中心KGC和用户自己,其他用户无法解密,这是身份标识加密的特性;同时也需要将以该对称密钥Key为密钥的加密算法附上,以便于后续对私钥的加密。
步骤26、将密文C1发送给密钥生成中心KGC;
步骤27、密钥生成中心KGC首先判断用户身份是否已验证,如果未验证,则必须先完成身份验证;若已完成验证,则进行解密;其中,将密钥生成中心KGC验证过程和上述的验证码验证结合起来,在收到用户发送的验证码后,进行验证码合法性验证,验证通过才能进行接下来的操作,否则重新身份认证。
步骤28、密钥生成中心KGC根据邮箱账户标识计算出用户验证私钥;根据身份标识加密的特性,密钥生成中心KGC能够独自通过得到所有人的用户验证私钥。
步骤29、在密钥生成中心中,采用用户验证私钥对密文C1进行解密,得到解密后的对称密钥Key;
步骤210、在密钥生成中心中,采用解密后的对称密钥Key对用户验证私钥用加密算法A进行加密得到密文C2,并将其发回给用户;本实施例通过进行一次了对称加密,从而达到加密传输的效果,防止被第三方窃听到,同时用户终端拥有对称密钥Key,所以也能保证最后还原出正确的对称密钥Key。
步骤211、在邮件收发系统内部,用对称密钥Key对密文C2进行解密获得用户收发私钥;其中,根据申请请求ID号,从本地的内存中拿出对应的对称密钥Key,用此对称密钥Key结合之间的对称加密算法,解密出用户收发私钥。
步骤212、对用户收发私钥进行加密保存到本地。
本发明中,因为邮件解密的时候会用到用户收发私钥,所以必须对用户收发私钥进行持久化保存,但是直接明文保存存在泄露的风险,采用对称加密的方式对私钥进行加密,并且将用户的邮箱账户密码用作加密的密钥,增加了加密的随机性,进一步提高了安全性。
本发明所述的邮件用户身份认证和密钥分发方法及系统,其中,身份认证过程基本处于全自动模式;用户首次登录进邮件收发系统,会马上收到验证码邮件,接下来只要点击验证按钮即可,不需要任何额外操作,其他信息的交互认证步骤都在底层自动完成,整个过程快速便捷,对用户来说非常友好;同时,本发明使得第三方的纯粹邮件代收发系统对邮件账户的身份认证成为现实,不需要自建邮件服务器和维护自身的邮箱账号系统,只需要关注邮件自身的收发显示等操作,极大的节省了前期的开发成本和后期的运维成本,并为将来其他基于身份认证的新功能开发奠定了基础;本发明中,基于SM9算法的密钥分发方法,不需要提供安全的传输信道,也不需要额外的证书认证和其他的第三方担保,整个过程相对简单,减少了安全漏洞隐患。在性能上,该发明仅仅只增加一次对称加密运算开销,极大地减轻了服务器负担,节省了资源,降低了成本;同时,结合本发明的身份认证方法,使得在单纯的邮件收发系统中对邮件进行SM9算法加密解密变得完全可行,构成了一整套邮件身份标识加密方案。该方案能够很好地整治邮件不安全乱象,保护用户邮件安全。
上述实施例仅仅是能够实现本发明技术方案的实施方式之一,本发明所要求保护的范围并不仅仅受本实施例的限制,还包括在本发明所公开的技术范围内,任何熟悉本技术领域的技术人员所容易想到的变化、替换及其他实施方式。

Claims (10)

1.一种邮件用户身份认证和密钥分发方法,其特征在于,包括以下步骤:
对用户身份进行验证;
以邮箱账号为身份标识,对对称密钥Key和对称加密算法进行SM9算法加密处理,得到密文C1;
根据邮箱账户标识,获取用户验证私钥;
利用用户验证私钥,对密文C1进行解密,得到解密后的对称密钥Key;
利用解密后的对称密钥Key,采用对称加密算法对用户验证私钥进行加密处理,得到密文C2;
利用对称密钥Key对密文C2进行解密,获取用户收发私钥,并对用户收发私钥进行加密保存,即完成身份认证和密钥分发。
2.根据权利要求1所述的一种邮件用户身份认证和密钥分发方法,其特征在于,对用户身份进行验证过程如下:
构建验证码邮件并发送至邮件收发系统;其中,验证邮件详细内容界面设置有验证按钮;
点击验证按钮发送验证码至邮箱验证码系统,判断验证码的有效性,获取身份验证结果。
3.根据权利要求1所述的一种邮件用户身份认证和密钥分发方法,其特征在于,构建验证码邮件过程如下:
向邮箱账户的官方邮件服务器发起登录请求,登录成功后,邮件收发系统向邮箱验证码系统发送验证用户身份指令I;
邮箱验证码系统收到用户身份指令I后,判断是否存在该用户未验证的有效验证码,根据判断结果,执行以下验证码邮件构建步骤;
邮箱验证码系统随机生成验证码,启动验证码有效期计时器,构建得到验证码邮件。
4.根据权利要求3所述的一种邮件用户身份认证和密钥分发方法,其特征在于,邮箱验证码系统随机生成验证码过程,通过调用邮箱验证码系统中的随机数生成器,生成随机数作为验证码,并将验证码保存在(key-value)数据结构容器内存中;其中,key为邮箱账户,value为随机数;验证码有效期计时器采用Java中的线程池Timer实现。
5.根据权利要求1所述的一种邮件用户身份认证和密钥分发方法,其特征在于,对称密钥Key通过邮件收发系统中的随机数发生器,生成的六位数字作为密码进行初始化生成。
6.根据权利要求1所述的一种邮件用户身份认证和密钥分发方法,其特征在于,密文C1采用在邮件收发系统中,结合SM9算法的系统参数及密钥生成中心生成的主公钥,以邮箱账号为身份标识,对对称密钥Key和对称加密算法进行SM9算法加密处理得到。
7.根据权利要求1所述的一种邮件用户身份认证和密钥分发方法,其特征在于,密文C2采用在密钥生成中心中,采用对称加密算法对用户验证私钥进行加密处理得到。
8.一种邮件用户身份认证和密钥分发系统,包括身份认证模块和密钥分发模块;
身份认证模块,用于对用户身份进行验证;
密钥分发模块,用于以邮件账号为身份标识,对对称密钥Key和对称加密算法A进行SM9身份标识加密处理,得到密文C1;根据邮箱账户标识,获取所有用户的私钥;利用所有用户的私钥,对密文C1进行解密,得到解密后的对称密钥Key;利用解密后的对称密钥Key,采用加密算法A对私钥进行加密处理,得到密文C2;利用对称密钥Key对密文C2进行解密,获取私钥,并对私钥进行加密保存,即完成身份认证和密钥分发。
9.一种邮件用户身份认证和密钥分发设备,其特征在于,包括存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令;所述处理器执行所述可执行指令时实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如权利要求1-7任一项所述的方法。
CN202110300068.1A 2021-03-22 2021-03-22 邮件用户身份认证和密钥分发方法、系统、设备及介质 Active CN113067823B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110300068.1A CN113067823B (zh) 2021-03-22 2021-03-22 邮件用户身份认证和密钥分发方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110300068.1A CN113067823B (zh) 2021-03-22 2021-03-22 邮件用户身份认证和密钥分发方法、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN113067823A CN113067823A (zh) 2021-07-02
CN113067823B true CN113067823B (zh) 2021-11-23

Family

ID=76562769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110300068.1A Active CN113067823B (zh) 2021-03-22 2021-03-22 邮件用户身份认证和密钥分发方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN113067823B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113824702B (zh) * 2021-09-02 2024-02-02 积至(海南)信息技术有限公司 一种基于ibe身份认证技术的邮件系统
CN114221927A (zh) * 2021-12-17 2022-03-22 成都国泰网信科技有限公司 基于国密算法的邮件加密服务系统及方法
CN114650181B (zh) * 2022-03-31 2023-06-09 西安电子科技大学 电子邮件加解密方法、系统、设备及计算机可读存储介质
CN115941180B (zh) * 2023-02-15 2023-05-30 华中科技大学 一种基于后量子安全和身份标识的密钥分发方法和系统
CN117155670A (zh) * 2023-09-06 2023-12-01 淮北师范大学 一种身份加密的安全电子邮件传输方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107172087A (zh) * 2017-06-30 2017-09-15 北京小米移动软件有限公司 基于验证邮件的验证方法、装置及存储介质
CN108599950A (zh) * 2018-04-09 2018-09-28 北京无字天书科技有限公司 一种适用于sm9标识密码的用户密钥申请下载安全协议的实现方法
CN110166239A (zh) * 2019-06-04 2019-08-23 成都卫士通信息产业股份有限公司 用户私钥生成方法、系统、可读存储介质及电子设备
CN111490871A (zh) * 2020-03-13 2020-08-04 南京南瑞国盾量子技术有限公司 一种基于量子密钥云的sm9密钥认证方法、系统及存储介质
CN112003696A (zh) * 2020-08-25 2020-11-27 成都卫士通信息产业股份有限公司 Sm9密钥生成方法、系统、电子设备、装置及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171523B2 (en) * 2006-04-29 2012-05-01 Lenovo (Singapore) Pte. Ltd. Embedded email receiver authentication
CN101567784B (zh) * 2008-04-21 2016-03-30 华为数字技术(成都)有限公司 一种获取密钥的方法、系统和设备
US9237149B2 (en) * 2009-02-27 2016-01-12 Red Hat, Inc. Certificate based distributed policy enforcement

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107172087A (zh) * 2017-06-30 2017-09-15 北京小米移动软件有限公司 基于验证邮件的验证方法、装置及存储介质
CN108599950A (zh) * 2018-04-09 2018-09-28 北京无字天书科技有限公司 一种适用于sm9标识密码的用户密钥申请下载安全协议的实现方法
CN110166239A (zh) * 2019-06-04 2019-08-23 成都卫士通信息产业股份有限公司 用户私钥生成方法、系统、可读存储介质及电子设备
CN111490871A (zh) * 2020-03-13 2020-08-04 南京南瑞国盾量子技术有限公司 一种基于量子密钥云的sm9密钥认证方法、系统及存储介质
CN112003696A (zh) * 2020-08-25 2020-11-27 成都卫士通信息产业股份有限公司 Sm9密钥生成方法、系统、电子设备、装置及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Collaborative Generations of SM9 Private Key and Digital Signature using Homomorphic Encryption";Yihong Long;《IEEE》;20200616;全文 *
"Separable and Anonymous Identity-Based Key Issuing";Ai-fen Sui;《IEEE》;20051121;全文 *
"SM9及其PKI在电子政务邮件系统中的应用";闻庆峰;《万方》;20170522;全文 *
"一种关于SM9的安全密钥分发方案";许盛伟;《万方》;20200329;全文 *

Also Published As

Publication number Publication date
CN113067823A (zh) 2021-07-02

Similar Documents

Publication Publication Date Title
CN113067823B (zh) 邮件用户身份认证和密钥分发方法、系统、设备及介质
CN107483212B (zh) 一种双方协作生成数字签名的方法
CN101789865B (zh) 一种用于加密的专用服务器及加密方法
CN109495274B (zh) 一种去中心化智能锁电子钥匙分发方法及系统
CN105553654B (zh) 密钥信息处理方法和装置、密钥信息管理系统
CN111130803B (zh) 数字签名的方法、系统及装置
CN110099048B (zh) 一种云存储方法及设备
Rezaeighaleh et al. New secure approach to backup cryptocurrency wallets
CN109800588B (zh) 条码动态加密方法及装置、条码动态解密方法及装置
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN108964922A (zh) 移动终端令牌激活方法、终端设备及服务器
CN113346995B (zh) 基于量子安全密钥的邮件传输过程中防篡改的方法和系统
CN113285803B (zh) 一种基于量子安全密钥的邮件传输系统和传输方法
CN113452687B (zh) 基于量子安全密钥的发送邮件的加密方法和系统
US9917694B1 (en) Key provisioning method and apparatus for authentication tokens
US20240106633A1 (en) Account opening methods, systems, and apparatuses
CN111241492A (zh) 一种产品多租户安全授信方法、系统及电子设备
CN110176989A (zh) 基于非对称密钥池的量子通信服务站身份认证方法和系统
CN116528230A (zh) 验证码处理方法、移动终端及可信服务系统
US11757856B2 (en) Cryptographic communication system, cryptographic communication method, and cryptographic communication apparatus
CN113438074B (zh) 基于量子安全密钥的接收邮件的解密方法
CN114650181A (zh) 电子邮件加解密方法、系统、设备及计算机可读存储介质
CN110572257B (zh) 基于身份的数据来源鉴别方法和系统
CN106357659A (zh) 一种云存储认证系统、方法及数据传输方法
Lee et al. An interactive mobile SMS confirmation method using secret sharing technique

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