专利名称:一种基于cpk安全认证的电子邮件系统和方法
技术领域:
本发明涉及数字通信安全认证领域,特别是涉及一种基于组合公钥算法(CPK)安全认证的电子邮件系统和方法。
背景技术:
伴随中国互联网的发展和政府、企业信息化的进程,电子邮件系统越来越占据着举足轻重的地位。电子邮件系统在国内的应用,经历了从科研机构的专用工作方式到步入寻常百姓的日常生活,到为政府和诸多企业认可,成为人们工作、生活“标准配置”的发展历程。据CNNIC今年一月发布的最新统计,目前我国网民的电子邮件账号总数已超过7000万;而据调查,国内有24.03%的企业已拥有了自己的电子邮件系统,以专用E-mail进行工作交流和与业务伙伴的信息交换。
网络的飞速发展,网络的“无所不在”与网络的“无所不能”使人们对网络安全变得更为警觉。信箱中的垃圾邮件使人头晕目眩,通过电子邮件系统传播的“爱虫”病毒和“简历”病毒在短短几天内便席卷全球,因此防范邮件系统中的病毒和垃圾邮件日益成为人们关注的问题。实际上,电子邮件的传送过程是邮件在网络上反复复制的过程,其传输路径不确定,很容易遭到不明身份者的窃取、篡改、冒用甚至恶意破坏。因此,电子邮件的安全问题已经成为人们在使用邮件时迫切需要解决的问题。
现有的对电子邮件系统的安全认证方法主要采用被动的安全认证防护方法,如公钥基础设施算法(Pubic Key Infrastructure,PKI)和基于标识的密码算法(Identity-Based Encryption,IBE)。
PKI算法是目前应用最广泛的一种加密算法,是信息安全基础设施的一个重要组成部分,是一种普遍适用的网络安全基础设施。PKI是20世纪80年代由美国学者提出来了的概念,实际上,授权管理基础设施、可信时间戳服务系统、安全保密管理系统、统一的安全电子政务平台等的构筑都离不开它的支持。在这一算法中,加密密钥与解密密钥各不相同,发送信息的人利用接收者的公钥发送加密信息,接收者再利用自己专有的私钥进行解密。这种方式既保证了信息的机密性,又能保证信息具有不可抵赖性。目前,公钥体制广泛地用于CA认证、数字签名和密钥交换等领域。数字证书认证中心CA、审核注册中心RA(Registration Authority)、密钥管理中心KM(Key Manager)都是组成PKI的关键组件。
IBE算法系统中,每个实体同样具有一个标识。该标识可以是任何有意义的字符串。但和传统公钥系统最大的不同是,在IBE系统中,实体的标识本身就是实体的公开密钥。例如,可以用Email地址、姓名、职位、时间等甚至它们的组合作为实体的标识和公钥。该系统极大的方便了公开密码的管理。例如,发送方想发送一封Email到mike@network.com,他可以直接使用该Email地址作为接收方的公钥进行加密。甚至,一方可以发信的同时指定接收方只能在特定的时间才能解密。
但是,这两种电子邮件系统被动安全认证的方法,都需要维护具有大量数据的数据库存在,占用大量的存储空间,运行时的效率也不高,处理速度很慢,不能适应公众网络(如国际互联网Internet)安全由被动防护进入可信要求的主动防护,无法在电子邮件系统这样超大规模的公众网络范围内建立可信系统这样的需求。
发明内容
本发明目的在于克服上述缺陷而提供的一种基于CPK的电子邮件安全认证系统和方法。其使电子邮件系统更加安全,高效而又更加经济。
为实现本发明目的而提供的一种基于CPK的电子邮件安全认证系统,包括ID证书模块和协议模块;ID证书模块,用于提供在传输电子邮件时对电子邮件进行加密、认证、签名的标识和CPK私钥;协议模块,用于在电子邮件传输过程中利用ID证书模块所提供的标识和CPK私钥对电子邮件进行加解密,认证和验证,签名和验证签名合法性。
所述ID证书模块为物理存储体。
所述物理存储体为ROM,EEPROM,FLASH存储器中任意一种非易失性存储器。
所述ID证书模块包括证书体和扩展体;所述证书体为证书中不变部分,记录电子邮件的属性;扩展体为证书的内容。
所述证书的内容为标识域、安全域、等级、角色,以及对应的私钥和参数。
所述协议模块包括签名协议模块、密钥交换协议模块、ID证书验证协议模块。
所述协议模块还包括数据分级加密协议模块、口令验证和更换协议模块、运行格式协议模块中的一种或者多种组合。
本发明还提供了一种基于CPK的电子邮件安全认证方法,包括下列步骤步骤A)ID证书模块提供对电子邮件进行加密、认证、签名的标识和私钥;步骤B)协议模块在电子邮件传输过程中利用ID证书模块所提供的标识和CPK私钥对电子邮件进行加解密,认证和验证,签名和验证签名合法性。
所述步骤A)包括下列步骤CA证书中心生成密钥数据,管理标识及密钥;并将数据封装到ID证书模块中。
所述步骤B)包括下列步骤步骤B1)邮件客户端,从邮件服务器接收一封电子邮件;步骤B2)CPK安全电子邮件对格式作了扩展,增加了CPK标志,邮件客户端在判断出该邮件的格式后,根据CPK标志判断出此邮件为CPK安全电子邮件;步骤B3)通过私钥对电子邮件进行解密,根据安全域和安全等级对加密数据进行访问控制;步骤B4)通过邮件中附带的签名公钥验证电子邮件签名是否正确。
所述格式为S/MIME格式。
所述私钥为USBkey。
本发明的有益效果是本发明的基于CPK安全认证的电子邮件系统和方法,采用了密钥集中生成、分散保存的体制,采用标识自身证明的技术,不再需要第三方证明,需要公布的不是单个用户的相关信息,而是用户的公用信息安全认证参数,信息量大大减小,不再需要数据库的支持,因此不占用存储空间,运行效率得到提高,处理速度也相应大大增加,适应电子邮件系统主动防护,能够在电子邮件系统这样超大规模的公众网络范围内建立可信系统。
图1为本发明基于CPK安全认证电子邮件系统结构示意图;图2为本发明ID证书申请、发行流程示意图;图3为本发明基于CPK的电子邮件安全认证方法过程示意图。
具体实施例方式
下面结合附图1~3进一步详细说明本发明的一种基于CPK安全认证的电子邮件系统和方法。
组合公钥(Combined Public Key,CPK)安全认证算法是离散对数难题型的基于标识的密钥生成与管理体制。它依据离散对数难题的数学原理,构建安全认证的算法中加解密算法,生成公钥和私钥矩阵,采用杂凑函数(HASH)和密码变换将实体的标识映射为矩阵的行坐标与列坐标序列,并对矩阵元素进行选取与组合,生成数量庞大的由公钥和私钥组成的公、私钥对,从而实现基于标识的超大规模的密钥生成与分发。
CPK密钥算法利用离散对数、椭圆曲线密码理论,构造公、私钥对,以映射算法将公、私钥变量和用户标识绑定,从而解决基于标识的密钥管理。CPK密钥管理采用密钥集中生成,统筹配发的集中式模式,具有可控制、可管理的优点,便于构建由上而下的网络信任体制。CPK的密钥管理采用了密钥分散存储、静态调用的运行模式,从而可以实现第三方和非在先认证。
本发明的基于CPK的电子邮件安全认证系统,是在超大规模的公众网上为电子邮件提供可信性证明的系统。
本实施例特别以国际互联网Internet为例对本发明的电子邮件安全认证系统而进行描述,但本发明同样适用于除了以上提到的网络以外的任何可进行电子邮件发送与接收的网络系统。
Internet电子邮件系统包括到Internet接入网络、电子邮件系统应用软件单元、数据库、服务器设备、存储备份、集群、安全加密单元等。
电子邮件系统软件单元包括SMTP(SimplE-mail Transfer Protocol)协议,是用来接收和发送电子邮件的协议,POP(Post Office Protocol)协议,是关于接收电子邮件的协议,它是一个客户机/服务器协议,其中电子邮件由服务器接收并保存,由客户电子邮件接收程序检查邮箱并下载邮件。
要实现电子邮件的基本收发功能非常简单,但要真正构建充分满足各类用户特别是现代企业需要的具有高度稳定性、可靠性、安全性、高性能、易管理、可扩展的电子邮件系统,需要完善的设计开发和成熟的技术积累,才能提供真正满足电子邮件应用市场不断发展的产品和个性化的解决方案。
本发明的基于CPK的电子邮件安全认证系统,包括ID证书模块和协议模块。
ID证书模块,用于提供在传输电子邮件时对电子邮件进行加密、认证、签名的标识和私钥;协议模块,用于在电子邮件传输过程中利用ID证书模块所提供的标识和私钥对电子邮件进行加解密,认证和验证,签名和验证签名合法性。
要实现本发明的基于CPK的电子邮件安全认证可信系统,首先要有可信逻辑的理论与技术方法。
可信逻辑与以往的相信逻辑都包括主体、客体、内容、行为,但两者具有很多不相同的地方,相信逻辑是在主体可信的前提条件下,推理证明客体的真实性;而可信逻辑则以“条件的满足性”来证明主体、客体、内容、行为的真实性;本发明的电子邮件系统的可信逻辑SOB的目标是为整个电子邮件系统提供主体可信性(Subject Trust)、客体可信性(Object Trust)、内容可信性(Contents Trust)和行为可信性(Behavior Trust)的证明。
设一次交易(事务)S1(O)→S2;S1、S2是主体,O是客体,→代表交易行为。
主体可信性主体是作用于对象的实体,标识(identity)是实体的名称,如姓名、邮件地址、电话号码、银行账号、单位名称、设备序列号等都可以作为实体的标识。主体鉴别必须满足注册性(Regislation,Re)、一体性(Integration,Int)、解读性(Message Readable,MR)要求,在应用模式ρ情景和鉴别状态σ条件下,构成下列函数F(Subject)ρσ=(Re,Int,MR);注册性(Regislation,Re)确定管辖性和所属关系,进而确定安全域。
如果注册方和被注册方直接形成的验证与被验证关系,则称直接级证明,获得直接级信任关系。在银行和客户之间,公安部和国民之间大都属于这种关系。
但是在很多情况下,验证和被验证并不在注册方和被注册方之间直接进行。如A和B都在C注册,A和B之间的互相验证是间接的,这种验证与被验证关系称为一级推理证明,获得一级推理信任关系。在多层结构的证书链中,随层次的增加,信任关系也随之退化。与PKI系统不同,CPK系统的信任链保证一级推理关系,信任不会退化。
一体性(Integration,Int)验证方验证时,证明方必须提供持证人和证件的一体性证明。在当面验证时,要提供生物特征的证明(指纹、虹膜、照片等),也可以提供逻辑特征(密钥、随机数等参数);在不能进行当面验证的环境下,应提供可以进行当场验证的逻辑参数(nonce或时间戳)。
解读性(Message Readable,MR)A加的密,B能解读,证明A和B具有相同的密钥(参数),而这种密钥或参数是事先约定的。在可解性的验证中,必须使用对称密钥实现。
客体可信性客体是受主体作用的对象。对客体○真实性的证明至少满足完整性(Integrity)、当次性(nonce)、对本数据负责的所为性(done-by),在应用模式ρ情景和鉴别状态σ条件下,构成函数F(Object)ρσ=(integrity,nonce,done-by)完整性数据未被改动的证明。
当次性提供新鲜性证明(不是过去有效),这是防止重放攻击,实现“当场验证”的逻辑方法。
所为性提供客体O是由主体A所作为的证明,也可以说是A对数据的负责性。
内容可信性内容(Content)指公文中的印章、票据中的印章,印章以一般以数据形式存在,但又不是普通数据,印章本身有标识,因此又是主体,而且需要证明其真实性。内容是含在客体中的另一类实体。
内容可信性的函数在应用模式ρ情景和鉴别状态σ条件下,其鉴别函数的形式为F(Content)ρσ=(content1,content2,,...,);内容的真实性可以有第三方证明的方式(PKI)和标识自身证明的方式(IBE/CPK)。
行为可信性行为(Behavior)鉴别有当次行为评估与历史记录的评估。当前行为评估包括信任链的层次、协议执行情况、行为发生地点、事件等,历史行为的评估是统计意义上的评估。在应用模式ρ情景和鉴别状态σ条件下,当前行为鉴别函数是F(Behavior)ρσ=(location,time,device)令行为α的前期行为踪迹为α1α2α3...αn,在应用模式ρ情景和鉴别状态σ条件下,历史行为鉴别函数是F(α)ρσ=authenticity(α1α2α3...αnα)ρσ本函数将为行为监管提供鉴别统计结果。
步骤A)ID证书模块提供对电子邮件进行加密、认证、签名的标识和私钥;ID证书模块是本发明电子邮件安全认证系统的核心部件,CPK安全网络中的终端实体借助于ID证书实现加密、认证、签名等活动。如图2所示,在本发明的基于CPK的电子邮件安全认证系统中,ID证书由CA证书中心统一管理,证书中心包括注册管理中心,负责密钥管理和密钥数据的生成;证书发行中心负责将证书数据封装到物理存储体(芯片)中。ID证书最重要的参数是用户的标识和用户的私钥,用户标识,即用户ID,是电子邮件中实体的身份的全局唯一逻辑表示,在本发明基于CPK的电子邮件安全认证系统中,每个标识都可以映射到唯一的一个公钥;ID证书模块中还包括和该标识对应的私钥。
ID证书模块同时满足专用网的强制性安全性策略和公众网的自主性安全策略。在很多场合下,这两种不同要求的安全策略并存。
ID证书模块与CA证书不同,不是以公钥变量而是以私钥变量来管理实体。ID证书模块包括两个部分证书体、扩展体。
证书体为证书中不变部分,记录实体电子邮件的属性。
扩展体为证书的内容,定义标识域、安全域、等级、角色,以及对应的私钥和相关参数。密钥设计是实现通用化和一卡通的关键技术。
本实施例采用国际标准的ASN.1语言描述ID证书的格式,但本发明并不限于这种语言描述的证书,也可以用其他国际标准语言实现,其在本发明的保护范围之内。
ID证书包括对象CPKIdentity类型和CPKDomain类型。
CPKIdentifier::=CHOICE{ --Need change and expansionoctetString
OCTET STRING,emailAddress[1]EmailAddress,--Need definitionnumber [2]INTEGER}CPKIdentitfier数据类型用于定义CPK标识,其值为电子邮件地址(emailAddress)。
CPK标识的具体格式,将在正式标准中进一步定义CPKDomain::=SEQUENCE{identityCPKIdentity,
parameters CPKDomainParameters OPTIONAL,}数据类型CPKDomain用于描述CPK认证系统中的一个安全域,它包括两个子参数,域的标识(identity)和域的参数(parameters)。域的标识是一个全局唯一的名字,和域的参数,即公钥因子矩阵一一对应。因此,公钥因子矩阵的值是可选的(OPTIONAL)。
CPK域参数主要包括域的标识和域的公钥因子矩阵,其中公钥因子矩阵是可选的。
CPK认证系统中的标识由CPKIdentity类型进行表示,在不同的应用系统中CPKIdentity有不同的表示形式。系统将根据CPKIdentity的类型将文本形式的数据映射为一致的二进制数据。再由CPK映射算法将其映射为公钥。
例如在Email应用中,CPKIdentity采用EmailAddress形式。在映射为公钥的过程中,电子邮件地址会被映射为一致的形式,例如,Alice@example.com和ALICE@Example.com都将被转化为无差别的alice@example.com,因为二者虽然在字符上有所差别,但是属于同一个标识。
标识根据策略的不同还可以加入其它字段,例如加入时间字段可以给标识增加有效期,即为证书提供定时撤销的功能。加入安全等级字段,可以为CPK认证系统增加多安全等级和支持强制访问控制能力。
CPK安全域是由同一个公私钥因子矩阵派生出的CPK ID证书及其拥有者构成的。这些实体之间可以通过ID证书进行公钥加解密、数字签名和验证。CPK安全域及其参数由CPKDmain类型表示,包括安全域的标识和安全域的公钥因子矩阵(CPKDomainParameters对象)。
本实施例中的ID证书除具有实体属性外,还具有密钥分发功能。并且包括用于定义安全域的CPKCertificate对象和CPKDmomainParameters对象。
CPKCertificate::=SEQUENCE{version Version DEFAULT v1(1),domainCPKDomain,identifier CPKIdentity,privateKeyCPKPrivateKeyInfo,--Not sure,use PKCS#8 standard
keyUsage KeyUsage,--X.509 KeyUsagevalidity Validity, --X.509 Validityextensions Extensions--X.509 Extensions}CPKPrivateKeyInfo::=EncryptedPrivateKeyInfo--PKCS#8数据类型CPKCertificate用于描述CPK证书。包括的子参数有证书的版本号(version),不同版本号的具体格式可能有扩展和不同。Domain描述了证书所属于的安全域。Identifier描述了用户标识,privateKey为对应的私钥,privateKey的数据类型CPKPrivateKeyInfo遵从PKCS#8标准中的PrivateKeyInfo或ProtectedPrivateKeyInfo标准。KeyUsage描述该证书中私钥的用途,如用于签名、公钥加密、密钥交换等,其数据类型遵从X.509标准中KeyUsage类型的定义。Validity描述证书的有效期,是一个时间范围,其数据类型遵从X.509标准中Validity数据类型的定义。Extensions描述了证书的扩展格式,用于CPK证书未来版本的功能扩展或厂商根据应用对CPK证书进行扩展,其数据类型遵从X.509标准中Extensions数据类型的定义。
受加密保护的私钥信息由PKCS#8的相关标准定义。
其中,keyUsage密钥用途,Validity有效期,Extensions扩展,由X.509标准定义。
CPKDomainParameters::=SEQUENCE{version Version,mapAlgorithm AlgorithmIdentifier,--Not sure,use PKCS standardcolumnSizeINTEGER,rowSize INTEGER,ellipticCurve CurveParameters,publicMatrix PublicMatrix}Version::=INTEGERINTEGER为ASN.1标准数据类型,表示一个任意长度的整数CurveParameters::=Parameters
Parameters数据类型表示椭圆曲线的参数,由[SEC1]定义。
PublicMatrix::-=SEQUENCE OF ECPoint;PublicMatrix是由columnSize*rowgize个椭圆曲线点构成的序列,ECPoint由[SEC1]定义。
本实施例的CPK ID证书由CA证书中心统一管理,包括注册中心,负责生成证书数据,发行中心负责将数据写入CPK芯片做成ID证书,并将其交付给用户。
其中,CPK芯片可以是ROM,EEPROM,FLASH存储器中任意一种的非易失性存储器。
电子邮件的ID证书用USB Key实现,USB Key将CPK专用芯片内嵌而成,即插即用。专用芯片的内容包括定义的标识和对应私钥、签名协议、密钥交换协议、相关加密算法等,还包括公钥矩阵。所有认证功能基本上在芯片中进行,作到即插即用。因此用户只要有ID证书(USB Key),就可以在数亿计的用户群中,任一实体对任一实体的认证、还可以进行加密通信(手机)。
步骤B)协议模块在电子邮件传输过程中利用ID证书模块所提供的标识和CPK私钥对电子邮件进行加解密,认证和验证,签名和验证签名合法性。
本发明电子邮件安全认证系统协议模块包括签名协议、密钥交换协议、数据分级加密协议、口令验证和更换协议、ID证书验证协议、运行格式协议等。
B1)数字签名协议本发明的签名算法是在美国标准与技术协会数字签名标准(DSS)基础上实现的。其将离散对数的DSS用椭圆曲线模拟就可以,算法完全相同。签名协议是在PKI标准协议基础上,根据CPK算法特点,简化了签名验证中调对方证书,检查证书合法性的过程。
B2)密钥交换协议B21)一对一密钥交换步骤B211)B要给A发一个电子邮件,首先根据A的邮件地址A@abc.org计算出A的公钥,PKA=CPK(A@abc.org);即B使用CPK算法,利用A的邮件地址计算出A的公钥;步骤B212)在范围[1,n-1]随机地选择一个整数r(倍数),其中n是椭圆曲线倍数的界。
步骤B213)计算R=r PKA;步骤B214)计算加密密钥key=r G=Q;其中G是CPK算法公布的基点;步骤B215)对B发送的数据X利用CPK算法进行加密C=Ekey(X);然后将R,C发给A;步骤B216)当A收到邮件后,用自己的私钥的逆SKA-1计算(SKA-1)R由于A的公钥PKA是私钥SKA和基点G的乘积,因此,(SKA-1)R=(SKA-1)r(PKA)=(SKA-1)r(SKA*G)=rG=Q=key;步骤B217)由于A有了与B相同的key,就可以进行解密Dkey(C)=X;B22)一对多密钥交换一对多的密钥交换用一对一的方法实现。设A把data发给B、C、D等几个用户。
1.A产生随机数r;2.计算rG作三级密钥KEY,并对数据加密;EKEY(DATA)=CODE3.发给B,设B的公钥是bG=β,则发送rβ和CODE;4.发给C,设C的公钥是cG=γ,则发送rγ,和CODE;5.发给D,设D的公钥是dG=δ,则发送rδ和CODE;等等。
B3)分级加密协议在ID证书中设置了等级密钥和角色密钥,等级密钥划分为,绝密、机密、秘密、内部、公开;角色密钥划分为高级职员、中级职员、普通职员、一般顾客,用户根据不同授权和角色,配置相应的密钥变量。密级只能向低处兼容,如授权级别为机密级,那么就配置机密、秘密、内部、公开等密钥,如果角色为普通职员,则配置普通职员、一般顾客密钥。
B31)等级密钥1.绝密级密钥变量CLASS1-KEY;2.机密级密钥变量CLASS2-KEY;
3.秘密级密钥变量CLASS3-KEY;4.内部级密钥变量CLASS4-KEY;5.公开级密钥变量CLASS5-KEY;B32)角色密钥1.系统管理员密钥变量ROLE1-KEY2.高级职员级密钥变量ROLE2-KEY;3.中级职员级密钥变量ROLE3-KEY;4.普通职员级密钥变量ROLE4-KEY;5.一般顾客级密钥变量ROLE5-KEY;B33)数据加密将三级密钥定义为RAN-KEYCLASSn-KEYROLEn-KEY;加密过程生产随机数RAN-KEY;ERAN-KEYCLASSnROLEn(data)=coded-text;EPK(RAN-KEY)=coded-key;PK为对方公钥;解密过程DSK(code-key)=RAN-KEY;SK为自己的私钥;DRAN-KEYCLASSnROLEn(coded-text)=data;B4)口令验证与更换协议B41)口令验证当次转入认证状态,则进入口令验证过程提示请输入口令(PWD)xxxxxxxx用户口令是用来保护私钥变量的,其保护关系如下。
私钥变量的保护ER1(私钥1)=Y1;ER1(私钥2)=Y2;Y1,Y2是私钥在R1下的密码。私钥变量可以是多个。R1是随机变量,由用户定义。
R1变量受口令保护EPWD(R1)=Z1;(Z1证书中给出)因此,当口令输入后,先将R1解密出DPWD(Z1)=R1;然后,检查口令的合法性ER1(R1)R1=Z2;(Z2证书中给出)
将Z2和证书中的Z2相比较,对口令作出正确与否得判断。如果正确,则进入下一步。
口令一旦被输入,在退出认证状态之前一直存在于证书口令区中,无需重新输入,并处于随时调用各种密钥变量的状态。
较佳地,口令连续5次不符,算一次安全事故,并将参数Z2置“0””。只能到CA中心才能恢复。
B42)口令更换当进入口令更换状态,提示进入修改口令程序请输入口令(PWD)xxxxxxxx检查用户口令合法性DPWD(Z1)=R1;ER1(R1)R1=Z2;将Z2与证书中的Z2核对,如果正确请输入新口令(PWD1)xxxxxxxx核对新口令(PWD1)xxxxxxxx用原口令PWD对Z1脱密DPWD(Z1)=R1;用新口令PWD1对R1重新加密;EPWD1(R1)=Z2;将原变量Z1改成Z2即可。提示口令更换结束B5)运行格式协议本发明的运行格式协议完全按着国际标准执行。
在本发明具体实施例中采用Outlook插件的形式为Outlook客户端用户提供CPK内核的邮件安全服务。如图所示,基于CPK的Outlook安全邮件插件系统可以划分为两个硬件和软件两个部分硬件部分是以USB Key形式封装的CPK安全芯片;软件部分是以根据COM(Component Object Model)规范开发的Win32动态链接库(DLL)文件,Outlook启动时会根据注册表的信息自动加载该DLL文件。
USB Key里面以可靠的方式保存了用户的私钥和公钥矩阵。公钥库可以从USB Key内部读出,也可以在本地硬盘上保留一个备份,以加快处理速度。根据CPK算法,能够根据用户标识(即收信方邮件地址)从公钥库中提取出对应标识的公钥,所以免除了其他加密方式(如PGP,S/MIME)存在的获取公钥证书,以及公钥证书的权威性认证等步骤以及带来的问题。USB Key中的公钥库,只占48KB的空间,通过组合可以生成多达1048个公钥,完全满足安全使用的需要。
如图3所示,软件部分通过CPK算法取得对方的公钥,在发信前截获邮件,对正文和附件进行加密或者用自己的私钥签名,然后Outlook用正常的方式把邮件发送出去。邮件被接受以后,该插件会在阅读邮件前根据对方公钥对正文和附件数据解密或者认证签名。整个处理过程以基本对用户透明的方式进行。加密/解密和签名/认证过程是该插件和USB Key共同配合完成的。该过程中用户必须保证USB Key接在USB口上。
本发明专利在协议上完全遵从电子邮件各个传输协议如SMTP和POP3协议,在电子邮件格式协议上遵从RFC822和S/MIME安全电子邮件标准,对其格式作了一定的扩展用以支持基于CPK算法的加密和签名功能,所增加的扩展仍和RFC822和S/MIME保持兼容,可以被其他标准邮件客户端所正常访问(但无法解密和验证签名)。本发明的独特之处是在实现了S/MIME所具有的全部安全特性的基础之上,简化了其操作流程。
标准S/MIME安全电子邮件处理方法如下步骤1)邮件客户端,如Outlook,从邮件服务器接收一封电子邮件步骤2)根据邮件中的标志判断出这是一封S/MIME格式的安全电子邮件步骤3)通过本地存储的用户私钥对电子邮件进行解密步骤4)通过邮件中附带的签名公钥验证电子邮件签名是否正确步骤5)通过邮件附带的证书或证书链验证数字签名所用的密钥和签名者的标识是否一致。
下面详细描述本实施例中CPK安全电子邮件的邮件格式和处理过程方法中对上述标准有的修改和简化步骤1′)同标准中的步骤1);步骤2′)CPK安全电子邮件对S/MIME格式作了扩展,增加了CPK标志,邮件客户端在判断出该邮件为S/MIME格式后,还可以根据CPK标志判断出此邮件为CPK安全电子邮件。
步骤3′)通过本地的USBKey对电子邮件进行解密,而不是存储在本地的私钥,这种方式增强了私钥的安全性,并可以根据安全域和安全等级的设计对加密数据进行访问控制。
步骤4′)同标准中的步骤4)。
因为CPK算法可以直接通过签名者的标识计算出签名者的公钥,因此S/MIME标准处理流程中的验证步骤5)可以省略,同时S/MIME邮件中也不必附带数据量很大的证书链,大大降低了计算机的处理能力需求、减少了数据量的传递。这是CPK安全电子邮件的独特优点。
本实施例是为了更好地理解本发明进行的详细的描述,并不是对本发明所保护的范围的限定,因此,本领域普通技术人员不脱离本发明的主旨未经创造性劳动而对本明所做的改变在本发明的保护范围内。
权利要求
1.一种基于CPK的电子邮件安全认证系统,其特征在于,包括ID证书模块和协议模块;ID证书模块,用于提供在传输电子邮件时对电子邮件进行加密、认证、签名的标识和CPK私钥;协议模块,用于在电子邮件传输过程中利用ID证书模块所提供的标识和CPK私钥对电子邮件进行加解密,认证和验证,签名和验证签名合法性。
2.根据权利要求1所述的基于CPK的电子邮件安全认证系统,其特征在于,所述ID证书模块为物理存储体。
3.根据权利要求2所述的基于CPK的电子邮件安全认证系统,其特征在于,所述物理存储体为ROM,EEPROM,FLASH存储器中任意一种非易失性存储器。
4.根据权利要求1所述的基于CPK的电子邮件安全认证系统,其特征在于,所述ID证书模块包括证书体和扩展体;所述证书体为证书中不变部分,记录电子邮件的属性;扩展体为证书的内容。
5.根据权利要求4所述的基于CPK的电子邮件安全认证系统,其特征在于,所述证书的内容为标识域、安全域、等级、角色,以及对应的私钥和参数。
6.根据权利要求1所述的基于CPK的电子邮件安全认证系统,其特征在于,所述协议模块包括签名协议模块、密钥交换协议模块、ID证书验证协议模块。
7.根据权利要求6所述的基于CPK的电子邮件安全认证系统,其特征在于,所述协议模块还包括数据分级加密协议模块、口令验证和更换协议模块、运行格式协议模块中的一种或者多种组合。
8.一种基于CPK的电子邮件安全认证方法,其特征在于,包括下列步骤步骤A)ID证书模块提供对电子邮件进行加密、认证、签名的标识和私钥;步骤B)协议模块在电子邮件传输过程中利用ID证书模块所提供的标识和CPK私钥对电子邮件进行加解密,认证和验证,签名和验证签名合法性。
9.根据权利要求8所述的电子邮件安全认证方法,其特征在于,所述步骤A)包括下列步骤CA证书中心生成密钥数据,管理标识及密钥;并将数据封装到ID证书模块中。
10.根据权利要求8或9所述的电子邮件安全认证方法,其特征在于,所述步骤B)包括下列步骤步骤B1)邮件客户端,从邮件服务器接收一封电子邮件;步骤B2)CPK安全电子邮件对格式作了扩展,增加了CPK标志,邮件客户端在判断出该邮件的格式后,根据CPK标志判断出此邮件为CPK安全电子邮件;步骤B3)通过私钥对电子邮件进行解密,根据安全域和安全等级对加密数据进行访问控制;步骤B4)通过邮件中附带的签名公钥验证电子邮件签名是否正确。
11.根据权利要求10所述的电子邮件安全认证方法,其特征在于,所述格式为S/MIME格式。
12.根据权利要求10所述的电子邮件安全认证方法,其特征在于,所述私钥为USBkey。
全文摘要
本发明公开了一种基于CPK安全认证的电子邮件系统和方法,该系统包括ID证书模块和协议模块;ID证书模块,用于提供在传输电子邮件时对电子邮件进行加密、认证、签名的标识和CPK私钥;协议模块,用于在电子邮件传输过程中利用ID证书模块所提供的标识和CPK私钥对电子邮件进行加解密,认证和验证,签名和验证签名合法性;本发明还公开了一种基于CPK电子邮件安全认证方法,其使电子邮件系统更加安全,高效而又更加经济。
文档编号H04L12/58GK1835434SQ200610072748
公开日2006年9月20日 申请日期2006年4月10日 优先权日2006年4月10日
发明者南相浩, 郭文嘉 申请人:北京易恒信认证科技有限公司