背景技术
电子邮件(Email)作为目前互联网使用最为广泛的一种应用,人们不但用它进行通信,还往往将一些重要的个人信息或资料保存在自己的个人邮箱中。目前,基于网页页面的电子邮件(Webmail,简称网页邮件)在客户端是通过用账户/密码认证方式实现其访问控制服务。一旦用账户/密码信息泄露,则用户邮箱中的所有邮件信息将完全暴露在入非法用户眼中,包括一些重要的个人信息。
如图1,现有的邮件加密***主要考虑邮件传输过程中的信息保密性,即在电子邮件通信中发信人发送邮件时对邮件信息进行加密,接收人在收到邮件后再对邮件进行解密。这种方法不但需要***支持标准的邮件安全通信协议(如S/MIME,OpenPGP),而且采用对称密码、公钥密码和哈希密码相结合的混合密码体制来实现。因此,不但会受到一些密码算法的专利权限制,而且具有实现复杂、难度大的缺点;第二,现有的邮件加密***的邮件加密和解密操作是分别由发信端和收信端完成的,即它们是分开操作的。因此,***中进行邮件加密的时候,发送方需要获得接收方使用的正确公钥信息。因此需要进行密钥交换与管理,具有操作和使用不方便的缺点。第三,其密钥交换采用了基于PKI/CA的认证体系,必须依赖第三方机构,所以具有通用性不高的缺点。第四,由于现有的邮件加密***的邮件加密操作是在发送端进行的,对接收端收到的邮件,则无法通过现有的邮件加密***进行加密保护。第五,加密***主要在邮件客户端中得到支持(Outlook S/MIME,PGP for Outlook,Gnupg withThunderBird),现有的网页邮件***自身并没有这方面的加密支持,即没有网页邮件***自身提供这方面的加密服务,只是有些第三方开发者针对特定网页邮件***或浏览器提供一些加密插件(如Gmail S/MIME;FireGPG),具有***的安全性不高的缺点,因为这将影响网页邮件***自身的安全性。第六,现有的网页邮件中,也无法实现对用户自身网页显示的邮件信息进行加密保护。
现有的网页邮件信息加密的方法主要有如下两种:
1)账户/口令认证方法
身份认证作为信息安全的第一道防线,它通常采用各种认证技术,对信息操作中所涉及到的各方进行身份鉴别,防止非法用户对数据信息的非法操作。身份认证主要通过下面三种基本途径之一或其组合来实现:①用户所知,即个人所知道的或掌握的知识,如账户/密码。②用户所有,即个人所拥有的东西,如磁卡、条码卡、IC卡或智能令牌等各种智能卡。③用户个人特征,即用户所具有的个人生物特性,如指纹、掌纹、声纹、脸形、DNA、视网膜等等。其中,基于账户/密码的身份认证技术因其简单、易用,得到了广泛的使用。它,是基于“用户所知(what you know)”的验证手段。每个用户的账户/密码信息由用户自己设定的,只有用户自己才知道。只要能够正确输入账户/密码,***就认为操作者就是合法用户,允许其对***资源进行操作。图2显示了基于账户/密码的身份认证基本原理。
从图2中可以看出,在身份认证过程中,当计算机***收到用户输入的账户/密码信息时,计算机***将根据账户进行从***的账户/密码信息表中查询该账户所对应的密码信息。然后将该密码信息与用户输入的密码信息进行比较。如果它们一致,则认为该用户是合法用户,身份认证通过。如果它们不一致,那么认为该用户不是合法用户,无法通过身份认证。
(2)安全邮件通信协议
保证电子邮件的安全常用到两种端到端的安全技术主要是PGP(Pretty Good Privacy)和S/MIME(Secure Multi-Part Intermail MailExtension)。它们的主要功能就是身份的认证和传输数据的加密。其中,PGP是20世纪80年代中期Hil Zimmermann提出的方案。PGP(PrettyGood Privacy)美国Phil Zimmermann发明的,它最初是一个软件加密程序,用户可以使用它在不安全的通信链路上创建安全的消息和通信,例如电子邮件。PGP使用各种形式的加密方法,它用一种简单的包格式组合消息以提供简单、高效的安全机制,使得消息在互联网或者其他网络上安全地传送。PGP应用程序的一个特点是它的速度快,效率高;另一个显著特点就是其可移植性出色,它可以在多种操作平台上运行等,因此PGP成为当前流行的电子邮件公钥加密软件包。
S/MIME是一个新的邮件安全通信协议,它是从PEM(PrivacyEnhanced Mail)和MIME(Internet邮件的附件标准)发展而来的。同PGP一样,S/MIME也利用单向散列算法和公钥与私钥的加密体系。但它与PGP主要有两点不同:它的认证机制依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,而最上一级的组织(根证书)之间相互认证,整个信任关系基本是树状的,这就是所谓的Tree of Trust。还有,S/MIME将信件内容加密签名后作为特殊的附件传送,它的证书格式采用X.509,但与一般浏览器网上使用的SSL证书有一定差异。国内众多的认证机构基本都提供一种叫“安全电子邮件证书”的服务,其技术对应的就是S/MIME技术,平台使用的基本上是美国Versign的。主要提供商有北京的天威诚信(http://www.itrus.com.cn/)和TrustAsia上海(http://www.trustasia.com.cn/),它们一个是Versign的中国区合作伙伴,一个是Versign亚太区分支机构。
网页邮件机密性保护目前主要通过以下几种方式来处理:(1)S/MIME协议和树状结构的第三方PKI/CA公钥认证***实现对发送邮件的加密和签名;(2)PGP协议和网状结构对等认证实现对发送邮件的加密和签名;(3)通过第三方插件/模块增加对网页邮件在发送/接收时的邮件内容的加密保护。然而上述方式存在不同的缺点:方式(1)要求S/MIME的公钥保存在数字证书中,并且由第三方公认的机构CA中心负责生成和签发,认证机制依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,而最上一级的组织(根证书)之间相互认证,整个信任关系基本是树状的,这就是所谓的Tree of Trust,而作为密钥认证机构,CA中心不仅要求使用者提交诸如身份证、电话号码之类的个人身份证明,还按时限收取数字证书的使用费,对于普通用户来说无疑是一个巨大的障碍,而每次使用证书时必须到CA中心验证,也对用户的使用体验造成不利影响,此外,大量证书(公钥)的管理也成为令CA中心头疼的问题,同时基于S/MIME的邮件***只能对发送的电子邮件信息实施保护,无法对接受的电子邮件进行加密保护;方式(2)与S/MIME的公钥管理机制不同,PGP发展了一种从人与人之间相互信任的模型传递公钥的手段,这种使用私人方式的密钥转介,更能反映出人们自然的社会交往,而且人们也能自由地选择信任的人来介绍,但是由于信任的对象是个体的人,不是公共权威机构,因此其公钥的安全性低于S/MIME,此外PGP同样存在密钥交换和管理等复杂的操作问题,同时和S/MIME一样,PGP也只支持邮件***发送端的邮件保护,对接收端的邮件不支持;方式(3)在网页邮件上采用第三方插件存在网页邮件***自身的安全性问题。
具体实施方式
实施例:本发明提供了一种对网页邮件(Webmail)的邮件内容实施加密保护的具体实施例,其用于解决网页邮件的邮件内容以明文显示而出现的信息保密问题,其方法具体如下:
1.加密步骤
从图3中我们可以看出,网页邮件的加密过程及其显示执行步骤如下:
S1当用户在网页邮件***中通过用户登录认证后,首先网页邮件***(MUA)读取邮件信息,即从邮件服务器通过邮件通信协议,如POP3,IMAP等通信协议,但不限于此,获取邮件服务器中用户的所有邮件,其中邮件服务器为任意的第三方独立的邮件服务器。
S2读取本地的加密邮件记录,即从数据库或文件中读取加密邮件记录中的加密邮件的特征值(ID),该特征值可以是/包括邮件头中符合RFC822/MIME规范的“X-ID”,或“X-Message”等字段,也可以是用户自定义的特征值邮件头信息字段。加密邮件记录在网页邮件***中采用如数据库或文件等方式进行存储和读取,但可以不限于此,即可以以各种方式进行存储和读取。同时加密邮件记录可采用加密方式进行存储,提高安全性。加密邮件记录在网页邮件***中实现,相对于邮件服务器,它是属于本地。
S3接着,网页邮件***将从邮件服务器读取的每一封邮件的特征值与加密邮件记录中的加密邮件的特征值进行比较,如果发现该邮件的特征值有在加密邮件记录中,则对该邮件在“邮件列表”页面中显示的信息内容进行加密处理,而加密处理方式可以是简单的替代或置换,如用“*”替代,或者采用现代密码算法进行加密保护。否则,不对该邮件的邮件列表显示内容进行处理,其中“邮件列表”至少包括邮件主题名称、邮件来源、邮件到达时间等项目。
S4然后,网页邮件***根据处理后的“邮件列表”的数据生成静态的“邮件列表”网页(Web)页面,并将该页面传给用户的浏览器显示。这时,用户将在“邮件列表”网页页面中看到以下内容:对于未加密的邮件,将显示其列表的明文信息;对于已加密的邮件将显示其列表的密文信息。用户对邮件的浏览可以通过任意的浏览器查看,如IE,Firefox等,但不限于此。
S5如果用户需要对“邮件列表”中的明文邮件进行加密操作,则在“邮件列表”网页页面中点击与此对应的加密操作控件,并设置加密口令。
S6网页邮件***记录用户选定加密邮件的特征值和设置的加密口令,即“加密邮件记录”。“加密邮件记录”可以在网页邮件***中采用如数据库或文件等进行存储和读取,但可以不限于此,即可以以各种方式进行存储,另外“加密邮件记录”可以采用加密方式进行存储,提高安全性。为了安全考虑,还可以将加密口令信息加密,如采用散列函数MD5或SHA1进行加密,但不限于此。然后,回到步骤S1刷新网页邮件的“邮件列表”网页显示页面,即可显示加密后的邮件列表信息。
S7如果用户需要显示邮件的具体内容,则用户在“邮件列表”网页页面中选择该邮件并点击该邮件的链接,进入该邮件的“邮件内容”网页页面,其中“邮件内容”包括“邮件列表”中所有的项目、和邮件具体正文项目或附件项目。
S8网页邮件***从邮件服务器中读取用户选择的邮件,即当用户进入该邮件的“邮件内容”网页页面时,网页邮件***将从邮件服务器读取该邮件的内容,通信方式可以采用POP3/IMAP协议,但不限于此。
S9网页邮件***读取加密邮件记录,其中网页邮件***读取的“加密邮件记录”信息是指加密邮件记录中的加密邮件的特征值,该特征值可以是/包括邮件头中符合RFC822/MIME规范的“X-ID”,或“X-Message”等字段,也可以是用户自定义的特征值邮件头信息字段。另外,“加密邮件记录”可以在网页邮件***中采用如数据库或文件等进行存储和读取,但可以不限于此,即可以以各种方式进行存储和读取。另外“加密邮件记录”可以采用加密方式进行存储,提高安全性。
S10接着,将用户选择显示的邮件的特征值与加密邮件记录中的加密邮件的特征值进行比较,如果发现该邮件的特征值有在加密邮件记录中,则执行步骤S11;如用户选择的邮件不在加密邮件记录中,则执行步骤S12。
S11网页邮件***根据加密处理后的邮件内容信息生成静态“邮件内容”网页页面,并将该网页页面传给用户的浏览器显示;用户将在“邮件内容”网页页面中只能看到加密后的邮件信息;对该邮件在“邮件内容”页面中显示的信息内容进行加密处理,该加密处理方式可以是简单的替代或置换,如用“*”替代,或者采用现代密码算法进行加密。网页邮件***将根据判断结果对特征值为“加密”的邮件的邮件内容信息进行动态加密处理,至此结束。
S12不对该邮件的“邮件内容”进行处理,并执行步骤S13;
S13网页邮件***根据邮件明文内容信息生成静态“邮件内容”网页页面,并将该网页页面传给用户的浏览器显示,用户将在“邮件内容”网页页面中看到明文邮件信息;用户对邮件的浏览可以通过任意的浏览器查看,如IE,Firefox等,但不限于此。
S14如果用户需要对“邮件内容”网页页面看到的明文邮件进行加密操作,则在“邮件内容”网页页面中点击与此对应的加密操作控件,并设置加密口令;
S15网页邮件***记录用户选定加密的邮件的特征值和设置的加密口令,即“加密邮件记录”,并回到步骤S8刷新网页邮件***的“邮件内容”显示网页页面,以显示加密后的“邮件内容”信息。为了安全考虑,还可以将口令信息加密,如采用散列函数MD5或SHA1进行加密,但不限于此。用户对邮件的浏览可以通过任意的浏览器查看,如IE,Firefox等,但不限于此。用户通过“邮件内容”网页页面对明文邮件进行加密操作时,需要记录该加密邮件的特征值和用户设置的加密口令信息,即加密邮件记录。加密邮件记录可以在网页邮件中采用如数据库或文件等进行存储和读取,但可以不限于此,即可以以各种方式进行存储。另外加密邮件记录可以采用加密方式进行存储,提高安全性。在完成加密操作后,通过刷新“邮件内容”网页页面即可显示加密后的邮件内容信息。
2.解密步骤
从图4中我们可以看出,网页邮件的解密过程及其显示执行步骤如下:
S16当用户在网页邮件***中通过用户登录认证后,网页邮件***从邮件服务器获取用户的所有邮件,即从邮件服务器通过邮件通信协议,如POP3,IMAP等,并存放在一个临时变量中;
S17读取加密邮件记录,即从数据库或文件中读取加密邮件记录中的加密邮件的特征值;本步骤中网页邮件***读取的“加密邮件记录”的信息是指加密邮件记录中的加密邮件的特征值,该特征值可以是包括邮件头中符合RFC822/MIME规范的“X-ID”,或“X-Message”等字段,也可以是用户自定义的特征值邮件头信息字段。另外,“加密邮件记录”可以在网页邮件***中采用如数据库或文件等方式进行存储和读取,但可以不限于此,即可以以各种方式进行存储和读取。另外“加密邮件记录”可以采用加密方式进行存储,提高安全性。
S18接着,将从邮件服务器读取的每一封邮件的特征值与加密邮件记录中的加密邮件的特征值进行比较,如果发现该邮件不在加密邮件记录中,则不对该邮件的邮件列表显示内容进行处理;否则,如果发现该邮件有在加密邮件记录中,则读取临时解密邮件记录,并判断该邮件是否属于临时解密的邮件;如果该邮件属于“临时解密”的邮件,则同样不对该邮件的邮件列表显示内容进行处理;否则,对该邮件在“邮件列表”显示内容进行加密处理;其中加密处理方式可以是简单的替代/置换,如用“*”替代,或者采用现代密码算法进行加密。网页邮件***将从邮件服务器中获取的邮件中提取每封邮件的特征值,并将每封邮件的特征值与“加密邮件记录”中的加密邮件的特征值进行比较,从而判断该邮件是否属于加密的邮件。网页邮件***读取的“临时解密邮件记录”的信息是指临时解密邮件记录中的临时解密邮件的特征值,该特征值可以是/包括邮件头中符合RFC822/MIME规范的“X-ID”,或“X-Message”等字段,也可以是用户自定义的特征值邮件头信息字段。另外,“临时解密邮件记录”可以在网页邮件中采用如Session等方式进行存储和读取,但可以不限于此,即可以以各种方式进行存储和读取。另外“临时解密邮件记录”可以采用加密方式进行存储,提高安全性。网页邮件***将从加密邮件中提取其邮件的特征值,并将其特征值与“临时解密邮件记录”中的临时解密邮件的特征值进行比较,从而判断该邮件是否属于临时的解密邮件。网页邮件***将根据判断结果对属性为“加密”且“非临时解密”的邮件的列表信息进行“动态”加密处理。
S19然后,网页邮件***根据处理后的“邮件列表”的数据生成静态的“邮件列表”网页页面,并将该页面传给用户的浏览器显示:对于未加密的邮件,将显示邮件列表的明文信息;对于加密的邮件,如果该邮件临时解密,则显示邮件列表的明文信息,否则将显示邮件列表的密文信息;用户对邮件的浏览可以通过任意的浏览器查看,如IE,Firefox等,但不限于此。网页邮件***将根据处理结果生成静态“邮件列表”网页页面,并将该页面传输给用户浏览器显示。
S20如果用户需要对“邮件列表”中的密文邮件进行解密操作,则用户在“邮件列表”网页页面中点击与此对应的解密操作控件,并输入解密口令和选择解密方式,其中解密方式包括“临时解密”和“永久解密”两种;用户可以在“邮件列表”网页页面中对任意的加密邮件分别进行解密操作。用户在“邮件列表”网页页面中对加密邮件进行解密操作时,需要输入解密口令,并选择解密方式:“临时解密”或者“永久解密”。
S21网页邮件***读取加密邮件记录中的加密邮件的加密口令信息,并与用户输入的口令进行比较,如果口令不正确,则终止解密操作;如果口令正确,则判断是否属于“临时解密”还是“永久解密”,如果是临时解密,在临时解密邮件记录中存储该邮件的特征值;如果是永久解密,则删除加密邮件记录中的该邮件的特征值及其口令信息,并回到步骤S16刷新网页邮件***的“邮件列表”网页显示页面;用户对邮件的浏览可以通过任意的浏览器查看,如IE,Firefox等,但不限于此。网页邮件***在用户通过“邮件列表”网页页面对加密邮件进行解密操作时,需要先读取“加密邮件记录”中用户选择的邮件的加密口令信息,并将它与用户输入的口令信息进行比较。网页邮件***根据口令比较结果确定是否需要进行解密操作。如果口令不正确,则禁止解密操作;如果口令正确,则根据用户选择的解密方式进行不同的操作:对于“临时解密”,需要在“临时解密邮件记录”中记录该临时解密邮件的特征值信息,而“临时解密邮件记录”可以在网页邮件***中采用如Session等方式进行存储和读取,但可以不限于此,即可以以各种方式进行存储,另外“临时解密邮件记录”可以采用加密方式进行存储,提高安全性;对于“永久解密”,需要在“加密邮件记录”中删除该解密邮件的特征值信息,“加密邮件记录”可以在网页邮件***中采用如数据库或文件等方式进行存储和读取,但可以不限于此,即可以以各种方式进行存储,另外,“加密邮件记录”可以采用加密方式进行存储,提高安全性。网页邮件***在完成解密操作后,通过刷新“邮件列表”网页页面即可显示解密后的邮件列表信息。
S22如果用户需要查显示邮件的具体信息内容,在“邮件列表”网页页面中点击该邮件的链接;
S23网页邮件***从邮件服务器中读取用户选择邮件的邮件内容,用户进入该邮件的“邮件内容”网页页面时,网页邮件***将从邮件服务器读取该邮件的邮件内容,通信方式可以采用POP3/IMAP协议,但不限于此。
S24网页邮件***读取加密邮件记录;其主要是读取加密邮件记录中的加密邮件的特征值,该特征值可以是包括邮件头中符合RFC822/MIME规范的“X-ID”,或“X-Message”等在内的字段信息,也可以是用户自定义的特征值邮件头信息字段。另外,“加密邮件记录”可以在网页邮件***中采用如数据库或文件等进行存储和读取,但可以不限于此,即可以以各种方式进行存储和读取。另外“加密邮件记录”可以采用加密方式进行存储,提高安全性。
S25接着,网页邮件***将用户选择查看的邮件的特征值与加密邮件记录中的加密邮件的特征值进行比较,如果该邮件不在加密邮件记录中,则不对该邮件在“邮件内容”页面中显示的信息内容进行处理,并执行步骤S26,如果该邮件在加密邮件记录中,则执行步骤S27;
S26网页邮件***根据邮件明文内容信息,生成静态解密“邮件内容”网页页面,并将该页面传给用户的浏览器显示,直至结束;
S27先读取临时解密邮件记录,并判断该邮件是否属于临时解密的邮件;如果该邮件属于“临时解密”的邮件,则同样不对该邮件的显示内容进行处理,如果该邮件不属于“临时解密”的邮件,则执行步骤S28;网页邮件***将根据判断结果对属性为“加密”的邮件读取其邮件的特征值,将邮件的特征值与“临时解密邮件记录”中的临时解密邮件的特征值进行比较,从而判断该邮件是否属于临时解密的邮件。网页邮件***将根据判断结果对属性为“临时解密”的邮件的邮件内容信息进行不做加密处理,然后执行步骤S26。
S28网页邮件***根据加密处理后的邮件内容信息,生成静态密文“邮件内容”网页页面,并将该页面传给用户的浏览器显示,用户将在“邮件内容”网页页面中将看到加密后的邮件信息;对该邮件在“邮件内容”页面中显示的内容进行加密处理:加密处理方式可以是简单的替代或置换,如用“*”替代,或者采用现代密码算法进行加密,但不限于此。网页邮件***对属性为“加密”且“非临时解密”的邮件的邮件内容信息进行“动态/实时”加密处理。
S29用户对“邮件内容”网页页面看到的密文邮件进行解密操作时,则在“邮件内容”网页页面中点击与此对应的解密操作控件,并输入解密口令和选择解密方式,其中解密方式至少包括“临时解密”和“永久解密”两种;用户可以在加密“邮件内容”网页页面中对该邮件进行解密操作。
S30网页邮件***读取加密邮件记录中的加密邮件的加密口令信息,并与用户所输入的口令进行比较,如果口令不正确,则终止解密操作;如果口令正确,则判断是否属于“临时解密”还是“永久解密”;如果是临时解密,则在临时解密邮件记录中存储该邮件的特征值;如果是永久解密,则删除加密邮件记录中的该邮件的特征值及其口令信息,且解密之后回到步骤23。用户对邮件的浏览可以通过任意的浏览器查看,如IE,Firefox等,但不限于此。网页邮件***在用户通过“邮件内容”网页页面对加密邮件进行解密操作时,需要先读取“加密邮件记录”中该加密邮件的加密口令信息,并将用户输入的口令信息与“加密邮件记录”中该加密邮件的加密口令进行比较。网页邮件***根据口令比较结果确定是否需要进行解密操作,如果口令不正确,则禁止解密操作。如果口令正确,则根据用户选择的解密方式进行不同的操作。对于“临时解密”,需要在“临时解密邮件记录”中记录该临时解密邮件的特征值信息。“临时解密邮件记录”可以在网页邮件***中采用如Session等方式进行存储和读取,但可以不限于此,即可以以各种方式进行存储。另外“临时解密邮件记录”可以采用加密方式进行存储,提高安全性;对于“永久解密”,需要在“加密邮件记录”中删除该解密邮件的特征值及其口令信息。“加密邮件记录”可以在网页邮件***中采用如数据库或文件等方式进行存储和读取,但可以不限于此,即可以以各种方式进行存储。另外“加密邮件记录”可以采用加密方式进行存储,提高安全性。另外在完成解密操作后,通过刷新“邮件内容”网页页面即可显示解密后的邮件内容信息。
本发明通过根据用户指定的邮件在网页邮件***实现对邮件的加密显示,实现对邮件的加密保护,并通过口令机制实现对加密邮件的解密认证,从而实现对加密邮件的身份认证,防止非法用户查看加密邮件的邮件列表及其邮件内容。
当然上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明主要技术方案的精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。