一种基于B/S结构的SM9加密邮件生成及阅读方法与流程

文档序号:16671952发布日期:2019-01-18 23:38阅读:262来源:国知局
本发明涉及邮件传输技术,尤其涉及一种基于b/s结构的sm9加密邮件生成及阅读方法。
背景技术
::随着网络技术在我们的生活与工作中变得越来越亲密,e-mail电子邮件的传递给我们的沟通带来了前所未有的快捷与方便。不过当我们的e-mail的账号密码以及内容被他人或恶意软件所窃取或修改时,就不但体会不到快捷与方便,还有可能给我们带来极大的损失。例如将客户终端中的重要数据擦除,或盗取客户终端中的隐私信息。为了确保电子邮件中发送的文档不是伪造的,同时保证所发送的邮件不被除收件人以外的其他人截取和偷阅,就产生了加密电子邮件的需求,目前,较为常见的是使用数字证书来加密邮件以保护邮件的保密性。对电子邮件进行加密(使用接收人的数字证书中的公钥进行加密)可以保证所发送的邮件不被除收件人以外的其他人截取和偷阅。当发件人对邮件进行加密时,使用接收人的数字证书中的公钥对邮件进行加密。邮件的接收方接收到该邮件后,使用自己的私钥对邮件进行解密,可以得到邮件的明文。鉴于此,有必要发明一种加密邮件生成及阅读方法,对电子邮件的生成和阅读进行加密,防止信息泄露。技术实现要素:本发明针对现有技术中存在的问题,提供一种基于b/s结构的sm9加密邮件生成及阅读方法,所述方法包括sm9邮件生成方法和sm9邮件阅读方法,其中,所述sm9邮件生成方法包括,步骤a1,用户输入;步骤a2,生成明文邮件的内容;步骤a3,生成sm9加密邮件;步骤a4,投递sm9加密邮件;所述sm9邮件阅读方法包括,步骤b1,拉取邮件;步骤b2,解密sm9加密邮件;步骤b3,显示sm9加密邮件;步骤b4,附件下载。进一步地,所述步骤a1具体包括:用户在浏览器输入收件人,抄送人,密送人,主题和邮件正文,正文取用kindeditor富文本编辑器进行编辑。进一步地,所述步骤a2具体包括:当接收到用户上传的邮件内容后,web服务器会对输入内容进安全检测,通过安全检测后,如邮件内容中存在附件hash值,则从缓存中取出附件内容,取出后删除缓存中的附件,按照标准的smtp协议对邮件内容的要求进行拼装,填入收件人,抄送人,密送人,主题和邮件正文。进一步地,所述步骤a3具体包括:明文的邮件生成之后将会请求xengine代理服务进行加密,xengine代理接收到加密请求后,通过安全应用id向ibc服务进行身份认证,取得认证后,web把明文的邮件内容提交到xengine代理服务,xengine代理把加密请求转交给ibc服务,ibc服务验证并确认xengine代理的合法身份后,使用sm9算法加密功能把请求的明文邮件内容中的收信人,抄送人,密送人和发信人的身份标识取出来,用收信人,抄送人,密送人和发信人的身份标识的公钥对明文邮件内容进行加密,如果身份标识不存在就创建。进一步地,所述步骤a4具体包括:当从xengine返回了sm9算法加密的sm9加密邮件内容给web服务器,因为sm9加密邮件内容是一个标准的smtp协议数据包,所以用smtp协议发送到邮件服务器,web服务器会在本地保存一份sm9算法加密邮件内容的eml文件,用于发件邮件的阅读。进一步地,所述步骤b1具体包括:用户在浏览器中触发收取邮件动作向web服务器发出异步请求,web服务用imap或pop3协议从邮件服务器中拉取sm9加密邮件到web服务器本地保存。把邮件头部的收件人,抄送人,密送人,主题和本地邮件路径取出入库,方便邮件的检索。进一步地,所述步骤b2具体包括:当用户查阅sm9邮件时web服务器才会执行解密邮件事务,本地不会保存任何解密后邮件信息,web服务使用收邮件人的身份标识,向ibc服务确认收件人的身份标识是否ibc用户,是则输入ibc密码认证身份(在一个会话中只需要认证一次),否则先到ibc平台上注册ibc身份再输入ibc官码进行身份认证。进一步地,所述步骤b3具体包括:当用web服务器接收到明文的邮件内容后,web服务器会对输出内容进安全检测,一但发现邮件存在安全风险,将不再返回给浏览器用户端,通过安全测试后,把附件和相关信息提取出来,用于附件的下载,最后把所有信息返回明文邮件到浏览器。进一步地,,所述步骤b4具体包括:由于web服务器是不会保存任明文的邮件数据的,那么当用户要下载附件时就会带上相关的附件信息请求web服务器,web检查是否已经经过ibc身份认证,然后就再一次解密sm9邮件,返回附件给用户端。与现有技术相比,本发明提供的基于b/s结构的sm9加密邮件生成及阅读方法,解决了sm9加密邮件的生成及阅读能在b/s系统上适配所有电子邮件服务器,取代邮件器服务器厂商的web客户端,保证邮件内容保密不受邮件服务厂商的影响的问题。附图说明图1、2为本发明的基于b/s结构的sm9加密邮件生成及阅读方法的流程图。具体实施方式下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。参考图1、2,本发明提供一种基于b/s结构的sm9加密邮件生成及阅读方法,所述方法包括sm9邮件生成方法和sm9邮件阅读方法,其中,所述sm9邮件生成方法包括,步骤a1,用户输入;步骤a2,生成明文邮件的内容;步骤a3,生成sm9加密邮件;步骤a4,投递sm9加密邮件;所述sm9邮件阅读方法包括,步骤b1,拉取邮件;步骤b2,解密sm9加密邮件;步骤b3,显示sm9加密邮件;步骤b4,附件下载。进一步地,所述步骤a1具体包括:用户在浏览器输入收件人,抄送人,密送人,主题和邮件正文,正文取用kindeditor富文本编辑器进行编辑。进一步地,所述步骤a2具体包括:当接收到用户上传的邮件内容后,web服务器会对输入内容进安全检测,通过安全检测后,如邮件内容中存在附件hash值,则从缓存中取出附件内容,取出后删除缓存中的附件,按照标准的smtp协议对邮件内容的要求进行拼装,填入收件人,抄送人,密送人,主题和邮件正文。进一步地,所述步骤a3具体包括:明文的邮件生成之后将会请求xengine代理服务进行加密,xengine代理接收到加密请求后,通过安全应用id向ibc服务进行身份认证,取得认证后,web把明文的邮件内容提交到xengine代理服务,xengine代理把加密请求转交给ibc服务,ibc服务验证并确认xengine代理的合法身份后,使用sm9算法加密功能把请求的明文邮件内容中的收信人,抄送人,密送人和发信人的身份标识取出来,用收信人,抄送人,密送人和发信人的身份标识的公钥对明文邮件内容进行加密,如果身份标识不存在就创建。进一步地,所述步骤a4具体包括:当从xengine返回了sm9算法加密的sm9加密邮件内容给web服务器,因为sm9加密邮件内容是一个标准的smtp协议数据包,所以用smtp协议发送到邮件服务器,web服务器会在本地保存一份sm9算法加密邮件内容的eml文件,用于发件邮件的阅读。进一步地,所述步骤b1具体包括:用户在浏览器中触发收取邮件动作向web服务器发出异步请求,web服务用imap或pop3协议从邮件服务器中拉取sm9加密邮件到web服务器本地保存。把邮件头部的收件人,抄送人,密送人,主题和本地邮件路径取出入库,方便邮件的检索。进一步地,所述步骤b2具体包括:当用户查阅sm9邮件时web服务器才会执行解密邮件事务,本地不会保存任何解密后邮件信息,web服务使用收邮件人的身份标识,向ibc服务确认收件人的身份标识是否ibc用户,是则输入ibc密码认证身份(在一个会话中只需要认证一次),否则先到ibc平台上注册ibc身份再输入ibc官码进行身份认证。进一步地,所述步骤b3具体包括:当用web服务器接收到明文的邮件内容后,web服务器会对输出内容进安全检测,一但发现邮件存在安全风险,将不再返回给浏览器用户端,通过安全测试后,把附件和相关信息提取出来,用于附件的下载,最后把所有信息返回明文邮件到浏览器。进一步地,所述步骤b4具体包括:由于web服务器是不会保存任明文的邮件数据的,那么当用户要下载附件时就会带上相关的附件信息请求web服务器,web检查是否已经经过ibc身份认证,然后就再一次解密sm9邮件,返回附件给用户端。下面对上述技术方案进行具体说明sm9邮件生成过程:1.用户输入用户在浏览器输入收件人,抄送人,密送人,主题和邮件正文,正文取用kindeditor富文本编辑器进行编辑。输入收件人,抄送人和密送人可以从来往邮件,个人通迅录和组织通迅中快速关键字检索并填充,高级功能按个人通迅录和组织通迅中的组进行群发,自定义邮件地址会进行严格的邮件地址正则过滤。当用户所写邮件带附件时,会对附件的大小限制在指定大小以内,附件会异步先行上传到web服务器,返回一个hash值给浏览器,一但超过指定的时间服务器就会删除上传的附件,服务器上不保存任何的用户明文数据,用户邮件内容上传时带上附件hash值。进入下一环节—生成明文邮件内容。2.生成明文邮件的内容当接收到用户上传的邮件内容后,web服务器会对输入内容进安全检测,检测内容包括:xss检测,sql注入检测,csrf检测和敏感内容检测,一但发现邮件存在安全风险,将不再投递邮件到邮箱服务器。通过安全检测后,如邮件内容中存在附件hash值,则从缓存中取出附件内容,取出后删除缓存中的附件,按照标准的smtp协议对邮件内容的要求进行拼装,填入收件人,抄送人,密送人,主题和邮件正文。进入下一环节—生成sm9加密邮件。3.生成sm9加密邮件上一步明文的邮件生成之后将会请求xengine代理服务进行加密,xengine代理接收到加密请求后,通过安全应用id向ibc服务进行身份认证,取得认证后,web把明文的邮件内容提交到xengine代理服务,xengine代理把加密请求转交给ibc服务,ibc服务验证并确认xengine代理的合法身份后,使用sm9算法加密功能把请求的明文邮件内容中的收信人,抄送人,密送人和发信人的身份标识取出来,用收信人,抄送人,密送人和发信人的身份标识的公钥对明文邮件内容进行加密,如果身份标识不存在就创建。加密完成后生成一个新的邮件内容,邮件头部不会改变,但原邮件内容已经加密放到附件上了,按请求链路返回加密邮件内容,此时xengine返回了sm9算法加密的邮件内容给web服务器了。进行下一环节—投递sm9加密邮件。4.投递sm9加密邮件当从xengine返回了sm9算法加密的sm9加密邮件内容给web服务器,因为sm9加密邮件内容是一个标准的smtp协议数据包,所以用smtp协议发送到邮件服务器,web服务器会在本地保存一份sm9算法加密邮件内容的eml文件,用于发件邮件的阅读。完成整个邮件生成过程完成,扩展功能—解决带大附件sm9加密邮件生成。5.带大附件sm9加密邮件生成sm9邮件生成的具体实现和上面的步骤基本一样,不同之处在于用户在浏览器上先会把大附件上传到web服务器,web务服务会把大附件分片上传到sm9加密网盘,上传过程采用断点续传技术,sm9返回文件下载的url连接给web服务,web服务把url以特定的格式插入到第一种没有大附件情况中的eml文件内容中,然后就用没有大附件情况一样的实现方法生成sm9加密邮件。sm9邮件的阅读过程:1.拉取邮件用户在浏览器中触发收取邮件动作向web服务器发出异步请求,web服务用imap或pop3协议从邮件服务器中拉取sm9加密邮件到web服务器本地保存。把邮件头部的收件人,抄送人,密送人,主题和本地邮件路径取出入库,方便邮件的检索。2.解密sm9加密邮件当用户查阅sm9邮件时web服务器才会执行解密邮件事务,本地不会保存任何解密后邮件信息,web服务使用收邮件人的身份标识,向ibc服务确认收件人的身份标识是否ibc用户,是则输入ibc密码认证身份(在一个会话中只需要认证一次),否则先到ibc平台上注册ibc身份再输入ibc官码进行身份认证,经ibc平台认证通过后,web服务会向xengine代理发起解密事务并把sm9加密邮件内容提交给xengine代理,xengine代理向ibc服务认证应用身份后,xengine代理会把sm9加密邮件和收信人的身份标识提交给ibc服务,ibc服务会用收信人的身份的私钥进行解密,返回明文的邮件内容给xengine代理,xengine代理会把明文的邮件内容转交给web服务,web服务不会本地缓存eml邮件文件。进行下一环节—显示sm9加密邮件。3.显示sm9加密邮件当用web服务器接收到明文的邮件内容后,web服务器会对输出内容进安全检测,检测内容包括:xss检测,sql注入检测,csrf检测和敏感内容检测,一但发现邮件存在安全风险,将不再返回给浏览器用户端,通过安全测试后,把附件和相关信息提取出来,用于附件的下载,最后把所有信息返回明文邮件到浏览器。进行入一环节—附件下载。4.附件下载由于web服务器是不会保存任明文的邮件数据的,那么当用户要下载附件时就会带上相关的附件信息请求web服务器,web检查是否已经经过ibc身份认证,然后就再一次解密sm9邮件,返回附件给用户端。完成整个邮件生成过程完成,扩展功能—大附件下载。5.大附件下载在解密sm9邮件的实现过程是上面的步骤是一样的,只是明文sm9邮件体里面多了大附件的下载连接,当用户打开连接下载的时候,会直接向sm9加密网盘发起请求,sm9加密网盘重定向到web服务申请票据,web服务生成票据给sm9加密网盘,网盘再带上票据向web服务验证身份,验证成功后web服务返回用户的身份标识给网盘,网盘用sm9算法进行解密后返回到浏览器的用户端,完成在大附件的下载。上述整个技术实现主要由web服务、邮件服务、ibc服务、xengine代理服务、sm9加密网盘和浏览器五部分组成。web服务、xengine代理服务、ibc服务、sm9加密网盘之间的通迅认证采用sm9算法的应用级的身份标识进行认证。邮件服务:该服务使用smtp来发送电子邮件,使用pop3或imap来接收电子邮件。smtp在rfc821中定义,它的作用是把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。pop3在rfc1939中定义,它的作用是从邮件服务器上获取邮件的信息,下载邮件。imap在rfc3501中定义,它的作用是从邮件服务器上获取邮件的信息,下载邮件,它与pop3主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。ibc是identity-basedcryptograph的缩写,就是基于标识的密码体系。核心功能有用户标识管理和密钥分发。用户标识管理:授权管理员添加和删除用户的私钥标识、管理私钥标识关联用户的相关信息(包括基本用户信息、企业组织架构)。由于标识密码管理软件对标识的管理采用在系统中映射应用单位实际组织结构的方式,对用户按照所属组织机构进行统一管理,用户标识管理进一步分成:组织管理:包括企业的管理和企业内组织的管理,组织内用户标识的管理。密钥分发:标识私钥的生成、分发和撤销:授权管理员生成、分发和撤销对应用户标识的私钥。xengine代理服务:该服务是与ibc服务进行sm9邮件加解密交互的代理。核心功能有邮件加密,邮件解密。邮件加密:对明文邮件用sm9算法进行加密返回密文邮件内容。邮件解密:对密文邮件用sm9算法进行解密返回明文邮件内容。sm9加密网盘:基于sm9的国密算法的网盘,用于大附件的上传和下载。web服务:采用php作为开发语言,以thinkphp3.2.3web框架作为后端,前端采用bootstrap、jquery、kindeditor和datatables等技术搭建出一个的邮件web客户端平台。以上所述仅为本发明的较佳实施例,并不用于限制本发明,凡在本发明的精神和原则内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1