一种数字证件的生成方法和验证方法

文档序号:6660691阅读:159来源:国知局
专利名称:一种数字证件的生成方法和验证方法
技术领域
本发明涉及用于身份认证的证件制造和使用技术,特别涉及一种数字证件的生成方法和验证方法。
背景技术
在生活和工作中,常常需要使用到各种用于身份认证的证件,如在银行、饭店、车站和海关等部门,人员进入时需要出示证件进行身份认证。目前,用于身份认证的证件一般使用的是纸质身份信息,身份验证完全依赖人的判断来完成,因此,这种证件存在以下缺点验证耗时长、易伪造、安全性能低和使用者无法自己复制,即丢失后必须到发证机关进行补办,浪费了使用者的时间。
针对上述问题,各种数字证件开始出现,如基于射频卡技术的数字证件和包含用户数字证书的数字证件。下面对这两种证件进行简单的说明。
基于射频卡技术的数字证件有两种,一种为电子标签卡(RFID,RadioFrequency ID),另一种为射频数字证件卡。
其中,RFID的存储量较小,一般为32字节(Byte),RFID存储有一个数字串,作为该卡的识别码,该数字串没有加密,所以该卡易伪造。
射频数字证件卡是一种基于对称加密算法的安全性射频证件卡,其将用户信息和照片以对称算法加密后进行存储,卡内具有中央处理器(CPU)完成计算功能。在使用时,读卡器和该射频数字证件卡用公钥相互认证,成功后从卡内读出用户信息以及照片。这种射频数字证件卡安全性比较高、防伪能力比较强,但存在以下缺点1、由于采用了对称算法加密,技术保密,需要技术授权后制造的读卡器才能用来读取卡内信息;2、由于卡内存在CPU,成本较高;卡内的CPU需要进行运算,功耗大;如果有人恶意修改CPU中的工作流程,使其绕过认证过程则该卡的安全性遭到破坏。
包含用户数字证书的数字证件可以为接触式IC卡,其具有以下功能公私密钥对生成、身份认证、数字签名、证书存储和数据加密等,卡内包含CPU完成以上功能。但是,这类包含用户数字证书的数字证件也存在缺点1、由于卡内存在CPU,成本较高;卡内的CPU需要进行运算,功耗大;2、由于功能实现依赖于完整的X.509数字证书,需要在卡中存储完整的X.509数字证书和非对称加密算法,需要的存储空间大;3、身份认证过程需要经过复杂的数学计算从而解密,不能快速有效地进行认证。
在申请日为1996年4月9日,专利号为5,505,494,名称为“System forproducing a personal ID Card”的美国专利中还公开了另一种形式的数字证件,该数字证件的卡内用二维条码存储压缩的用户信息,用读卡器读出用户信息并解压后和在数据库存储的用户信息比较进行身份验证,特别地,该卡内存储的压缩用户信息可以加密,密钥以卡外或电子方式传送给验证者。这种数字证件也存在着缺点该数字证件只是采用了加密算法对用户信息进行加密,在解密时需要密钥,如果密钥泄漏,则安全性没有保证。
从上述分析可以看出,目前还没有一种数字证件既可以满足安全性高、存储空间小和随意复制的要求,又可以满足验证时间短的要求,因此,如何生成一种既满足安全性高、存储空间小和随意复制的要求,又满足验证时间短的要求的数字证件成为了亟待解决的问题。

发明内容
有鉴于此,本发明的主要目的在于一方面提供一种数字证件的生成方法,该方法能够生成一种安全性高、存储空间小和可以随意复制的数字证件。
本发明另一方面提供一种数字证件的验证方法,用该验证方法验证持数字证件人的身份简单可靠并且验证速度快。
根据上述目的,本发明的技术方案是这样实现的
一种数字证件的生成方法,所述的数字证件具有存储介质,该方法包括A、对接收到的持数字证件人的信息进行数字签名;B、将经过数字签名的持数字证件人的信息和数字签名发送到数字证件具有的存储介质中;C、数字证件具有的存储介质存储经过数字签名的持数字证件人的信息和数字签名。
在步骤A之前,该方法还包括对持数字证件人的信息进行DER(Distinguished Encoding Rules)编码和哈希HASH运算。
步骤A所述持数字证件人的信息的数据格式包括用于存储数字证件版本号的版本域、用于标识数字证件证件号的证件号域、用于标识所使用算法标识符的签名算法标识符域、用于标识发数字证件机关的颁发者域、用于标识使用时间的有效期域、用于标识持数字证件人身份的所有者域、用于存储持数字证件人信息的证件描述域、用于存储持数字证件人照片的照片域、用于标识使用算法参数的签名算法参数域、和用于存储数字签名的签名值域。
步骤A所述持数字证件人的信息的数据格式还包括用于存储持数字证件人的指纹、虹膜、和手写签名中的之一或多项的生物信息扩展域。
在步骤C之后,该方法进一步包括D、在数字证件的卡面上打印持数字证件人的信息。
步骤D所述持数字证件人的信息包括姓名、性别、民族、生日、住址、发证单位、数字证件号码、照片和手写签名。
所述的数字证件为能够被读卡器验证的物理实体。
一种数字证件的验证方法,该方法包括A1、判断从数字证件读出的数字签名是否为真,如果是,执行步骤B1;否则,结束;B1、从数字证件中读出持数字证件人的信息,判断该信息是否和持数字证件人本人的信息相吻合,如果是,判定数字证件通过验证;否则,判定数字证件没有通过验证。
步骤B1所述判断该信息是否和持数字证件人本人的信息相吻合的过程包括对比该信息中的照片和用采集设备采集的持数字证件人的面貌是否相吻合、对比该信息中的手写签名和用采集设备采集的持数字证件人的手写签名是否相吻合、对比该信息中的指纹和用采集设备采集的持数字证件人的指纹是否相吻合、和对比该信息中的虹膜和用采集设备采集的持数字证件人的虹膜是否相吻合中的之一或多项。
步骤B1所述判断该信息是否和持数字证件人本人的信息相吻合的过程为对比该信息和数据库中预先存储的持数字证件人本人的信息是否相吻合。从上述方案可以看出,本发明提供的生成数字证件方法,可以生成一串包含持数字证件人信息的、不加密的和有数字签名的数字串并存储在数字证件的存储介质中。由于该数字串可以通过数字签名验证真伪、并且数字签名无法伪造,所以生成的数字证书的安全性高;由于数字串不需加密,所以占用存储空间小;由于数字证件的真伪是由存储的数字签名确定的,而且由于数字签名的存在,数字证件是无法伪造的,所以持数字证件人可以随意复制数字证件中的数字串。因此,本发明提供的生成数字证件方法能够生成一种安全性高、存储空间小和可以随意复制的数字证件。由于数字证件中存储的数字串不加密并且没有公钥,读卡器无须和数字证件相互验证并解密,从而使验证数字证件的方法简单可靠、验证速度快。更近一步,本发明可以在数字证件中印制持数字证件人的信息,从而可以和读卡器读出的持数字证件人的信息进行比较,更加加快了验证的速度。


图1为数字证件内数字串的数据格式的示意图。
图2为本发明提供的数字证件生成方法流程图。
图3为本发明对数字证件进行验证的方法流程图。
图4为本发明提供的数字证件外观示意图。
具体实施例方式
为了使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进行进一步详细说明。
本发明提供了一种数字证件,其只具有存储介质,而不具有任何计算器件,如CPU。该数字证件中存储了一串数字串,该数字串包含了持数字证件人的基本信息证件号码、姓名、性别、民族、出生日期、住址、照片、手写签名、指纹和虹膜等。其中,也可以将证件号码、姓名、性别、民族、出生日期、住址、照片和手写签名打印在数字证件上,作为可视的持数字证件人的信息。数字证件中存储的数字串可以为一个数字证书,如该数字证书可以采用X.509数字证书的基本格式,但与标准的X.509数字证书基本域的定义和取值不同(1)不包括X.509数字证书的扩展域,而是设置了一项生物信息扩展域;(2)不包括X.509数字证书的公钥,即读卡器不需要用公钥与数字证件相互认证就可以读取数字证件所存储的信息。
完整的X.509数字证书可以实现证件的安全性,但X.509证书里面包含公钥信息,公钥信息用来加密X.509数字证书中的数据和数字签名。在本发明的数字证件中,所有信息是公开的,无须加密,数字证件也无须验证验证者,所以本发明的数字证件中不包括公钥信息,节省了存储空间。由于对数字证件中的数据使用了数字签名,所以也没有降低安全性。
现有技术中带照片的X.509数字证书采用统一资源定位(URL)方式存放照片,验证者必须链接到指定的地址去查看照片,而不能立即得到照片,比较耗时,验证时间长。而本发明的数字证件直接将照片以数字串的形式进行存储,使验证者直接可以从数字证件中读取照片。
数字证件内数字串的数据格式如图1所示,其数据包括版本、证件号、签名算法标识符、颁发者、有效期、所有者、证件描述、照片、生物信息扩展、签名算法参数和签名值。以下分别对各域数据进行叙述。
版本,8bit整数,描述了该数字证件使用的数据格式的版本号。
证件号,64bit整数,给每张数字证件设置的正整数,每张数字证件的证件号是唯一的。
签名算法标识符,包含数字证件所使用的密码算法标识符,其ASN.1(Abstract Syntax Notation One)的数据结构定义如下AlgorithmIdentifier ∷=SEQUENCE{algorithm OBJECT IDENTIFIER,parametersANY DEFINED BY algorithm OPTIONAL }颁发者,该域数据标识了数字证件的签名和颁发实体,该域是一个X.509的名字(Name),其ASN.1的结构如下Name∷=CHOICE{RDNSequence}RDNSequence∷=SEQUENCE OF RelativeDistinguishedNameRelativeDistinguishedName∷=SET OF AttributeTypeAndValueAttributeTypeAndValue∷=SEQUENCE{typeAttributeType,value AttributeValue}AttributeType∷=OBJECT IDENTIFIERAttributeValue∷=ANY DEFINED BY AttributeType有效期,该域数据标识了一个时间段,在这个时间段内,该证件都有效。该域数据被表示成一个具有两个时间值的序列(SEQUENCE)类型数据证件有效期的起始时间(notBefore)和证件有效期的终止时间(notAfter)。notBefore和notAfter这两个时间编码为GeneralizedTime类型。
所有者,该域数据描述了持数字证件人的身份。其ASN.1的结构如下Name∷=CHOICE{RDNSequence}RDNSequence∷=SEQUENCE OF RelativeDistinguishedNameRelativeDistinguishedName∷=SET OF AttributeTypeAndValueAttributeTypeAndValue∷=SEQUENCE{typeAttributeType,
Value AttributeValue}AttributeType∷=OBJECT IDENTIFIERAttributeValue∷=ANY DEFINED BY AttributeType证件描述,该域的OID(Object Identifier)为1.3.6.1.4.1.21315.5.1。该域数据包含了持数字证件人的所有信息,包括证件类型,如驾驶证、英语证书、学位证书和毕业证书,性别,民族,出生日期和住址等。
其ASN.1的数据结构如下id-ce-CertDescript OBJECTIDENTIFIER∷={id-ce 1.3.6.1.4.1.21315.5.1}SubjectExtInfo∷=CHOICE{RDNSequence}RDNSequence∷=SEQUENCE OF RelativeDistinguishedNameRelativeDistinguishedName∷=SET OF AttributeTypeAndValueAttributeTypeAndValue∷=SEQUENCE{typeAttributeType,value AttributeValue}AttributeType∷=OBJECT IDENTIFIERAttributeValue∷=ANY DEFINED BY AttributeType--Naming attributes of type certtypeid-at-certtypeAttributeType∷={id-at 1.3.6.1.4.1.21315.5.1.1}certtype∷=BITString--Naming attributes of type nationalityid-at-nationality AttributeType∷={id-at 1.3.6.1.4.1.21315.5.1.2}nationality∷=BITString--Naming attributes of type sexid-at-sexAttributeType∷={id-at 1.3.6.1.4.1.21315.5.1.3}sex∷=BITString-Naming attributes of type birthday
id-at-birthday AttributeType∷={id-at 1.3.6.1.4.1.21315.5.1.4}birthday∷=BITString--Naming attributes of type postalcodeid-at-postalcodeAttributeType∷={id-at 1.3.6.1.4.1.21315.5.1.5}postalcode∷=BITString照片,该域的OID为1.3.6.1.4.1.21315.5.2,该域数据包含了持数字证件人的彩色或黑白照片,照片规格可以预先设定,如大小为358像素(宽)×441像素(高),分辨率为350dpi。图像格式为JPG,采用JPEG压缩技术,压缩品质因子70。其ASN.1的数据结构如下id-ce-Image OBJECTIDENTIFIER∷={id-ce 1.3.6.1.4.1.21315.5.5.2}Image∷=CHOICE{bmpstring BITString(SIZE(1..MAX)),jpgstring BITString}生物信息扩展,生物信息扩展域是一个可选的数字证书扩展域数据,该域的OID为1.3.6.1.4.1.21315.5.3。它的ASN.1的数据结构如下id-ce-biologicInfo OBJECTIDENTIFIER∷={id-ce 1.3.6.1.4.1.21315.5.3}biologicInfoExtension∷=SET OF AttributeTypeAndValueAttributeTypeAndValue∷=SEQUENCE{typeAttributeType,value AttributeValue}AttributeType∷=OBJECT IDENTIFIERAttributeValue∷=ANY DEFINED BY AttributeType--Naming attributes of type fingerprintid-at-fingerprintAttributeType∷={id-at 1.3.6.1.4.1.21315.5.3.1}fingerprint∷=BITString--Naming attributes of type retina
id-at-retina AttributeType∷={id-at 1.3.6.1.4.1.21315.5.3.2}retina∷=BITString--Naming attributes of type signatureid-at-signature AttributeType∷={id-at 1.3.6.1.4.1.21315.5.3.3}signature∷=BITString该扩展域数据中可以包含有持数字证件人的指纹信息、持数字证件人的视网膜信息、和/或持数字证件人的手写签名。
签名算法,该域数据用来标识一个密码算法,其中的OBJECTIDENTIFIER部分标识了具体的签名算法,可选参数的内容完全依赖于所标识的算法。该域的算法参数应与数字串的签名算法标识符数据域存储的签名算法标识符相符。其ASN.1数据结构定义为AlgorithmIdentifier∷=SEQUENCE{algorithmOBJECT IDENTIFIER,parameters ANY DEFINED BY algorithmOPTIONAL }签名值域,包含了对前面各域数据进行数字签名的结果。经过ASN.1DER编码和哈希(HASH)算法的各域数据作为数字签名算法的输入,签名的结果按照ASN.1编码成BIT STRING类型并保存在签名值域中。
图2为本发明提供的数字证件生成方法流程图,其具体步骤为步骤200、填充数字证件各域数据,包括版本、证件号、签名算法标识符、颁发者、有效期、所有者、证件描述、照片和签名算法参数,如果有生物扩展域数据则填充生物扩展域数据;填充数字证件各域数据的过程为计算机将接收到的持数字证件人的信息依次填充到数字证件的各域;步骤201、对步骤200填充的各域数据进行DER编码;步骤202、对步骤201进行DER编码后的各域数据进行哈希(HASH)运算;步骤203、计算机使用私钥对步骤202进行HASH运算的DER编码后的各域数据进行数字签名,将数字签名放入签名值域;步骤204、将步骤203中所述的所有数据导入到数字证件的存储介质中;步骤205、在数字证件的卡面上打印证件信息,包括姓名、性别、民族、生日、住址、发证单位、证件号码、照片和手写签名等。
在图2中,步骤205用于主动验证持卡人和数字证件卡面上打印证件信息是否相符。
由于有签名值域的存在,即数字签名的存在,非法用户无法修改数字证件中的信息,如果要修改的话,必须重新产生数据和进行数字签名后,再导入数字证件中,这和图2所述的生成数字证件的过程相同。这样,就保证了数字证件不会被恶意修改。
除了签名算法标识符域、签名算法参数域和签名值域必须设置在数字证件里,其他用于存储持数字证件人的信息的各域都可以进行增减,以使数字证件用于不同的场合。
将数字证件生成后,必须对数字证件进行验证。由于本发明的数字证件不需要公钥对其解密,所以本发明进行验证的读卡器不需要和数字证件相互认证,从而也不需要进行授权,只是采用可以进行签名算法的一般读卡器即可。如数字证件为射频卡时,采用射频卡读卡器;数字证件为IC卡时,采用IC卡读卡器等。
图3为本发明对数字证件进行验证的方法流程图,其具体步骤为步骤300、读卡器从数字证件中读出签名值域的数字签名和其他各域数据;步骤301、读卡器或与读卡器相连接的识别设备判断数字签名的真伪,如果为真,则执行步骤302;否则,执行步骤306;判断数字签名真伪的过程
得到数字证件中的签名值域数据后,用发证机关的私钥对签名值域的数字签名进行解密,得到第一值;对不包括签名值域的各域数据用与图2所述相同DER编码和HASH算法进行DER编码和HASH运算,得到第二值;第一值和第二值相同则证明数字签名是真的;否则,签名是伪造的,数字证件是假的;步骤302、读卡器从数字证件中读取各域数据后,根据各域数据显示持数字证件人的信息和照片;步骤303、与读卡器相连接的识别设备根据所显示的信息以及照片和持数字证件本人信息做比较,用采集设备采集持数字证件本人的指纹以及虹膜和从数字证件生物信息扩展域中读取的数据做比较;步骤304、与读卡器相连接的识别设备判断数字证件的各域数据是否都和持数字证件本人的信息相吻合,如果是,执行步骤305;否则,执行步骤306;步骤305、数字证件验证通过,可以按照该数字证件的功能使用该证件,如启动门禁等;步骤306、数字证件验证不通过,读卡器报警,不允许按照该数字证件的功能使用该证件,如仍然保持门禁关闭等。
在步骤303中做比较时,如果数字证件上印制有持数字证件人的信息,也可以和印制的信息做比较,则在步骤304中,判断的是数字证件的各域数据是否都和从数字证件印制的信息中所采集到的信息相吻合,再执行后续步骤。同样地,如果预先设置了数据库用于存储持数字证件人的信息,则可以和数据库中所存储相应的持数字证件人的信息做比较,在步骤304中,判断的是数字证件的各域数据是否都和数据库中所存储相应的持数字证件人的信息相吻合,再执行后续步骤。
图4为本发明提供的数字证件外观示意图,如图所示,数字证件的卡正面包括持数字证件本人的信息,如姓名、性别、民族、出生日期、住址、颁发日期、有效期、证件号、持有者签名和照片。数字证件的卡背面包括发证人,如果数字证件的存储信息介质为二维数字条形码,则还包括二维数字条形码。
本发明的这种数字证件不仅可以为射频卡、IC卡、磁卡和包含二维条码的各种材料卡片,甚至可以为软盘、光盘和闪存,因此,只要具有存储介质并可以被读卡器验证的任何载体都可以作为本发明的数字证件。
本发明提供的数字证件具有以下优点。1、杜绝假数字证件由于所存储的数字串包含数字签名,而数字签名是无法伪造的,所以即使丢失数字证件,他人也无法通过更改数字证件卡内的信息来冒名顶替。2、数字证件复印、复制有效数字证件的真伪是由卡内存储的数字签名确定的,而且由于数字签名的存在,数字证件是无法伪造的,所以持数字证件人只需把所存储的数字串复制或者导入到其他存储介质,无需再到发证机关再次申领新证件。3、无需使用授权读卡器由于读取数字证件卡内存储的数据不需要加密存储,任何能够读取数字证件存储信息的设备增加一个签名验证算法的算法部件就都可以用来验证数字证件信息的合法性,该进行签名验证算法的算法部件是公开的。4、功耗低数字证件的安全性和防伪性在数字串内体现,验证工作由读卡器完成,无需数字证件自身进行任何计算,从而数字证件不包括CPU、功耗低。5、成本低数字证件内存储的数字串采用X.509数字证书基本格式,但不包括公钥,所以占用存储资源少,可以采用多种存储介质作为数字串载体。6、验证快速和准确验证由读卡器完成,而且数字证件表面印有持数字证件人的信息,为验证提供了更直观可靠的信息,验证过程更加快速、准确,适合大流量用户的认证场所。
本发明提供的数字证件可以作为多种功能类型的验证卡,如驾驶证、英语证书、学位证书、毕业证书、学生证和军官证。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种数字证件的生成方法,所述的数字证件具有存储介质,该方法包括A、对接收到的持数字证件人的信息进行数字签名;B、将经过数字签名的持数字证件人的信息和数字签名发送到数字证件具有的存储介质中;C、数字证件具有的存储介质存储经过数字签名的持数字证件人的信息和数字签名。
2.如权利要求1所述的方法,其特征在于,在步骤A之前,该方法还包括对持数字证件人的信息进行DER编码和哈希HASH运算。
3.如权利要求1所述的方法,其特征在于,步骤A所述持数字证件人的信息的数据格式包括用于存储数字证件版本号的版本域、用于标识数字证件证件号的证件号域、用于标识所使用算法标识符的签名算法标识符域、用于标识发数字证件机关的颁发者域、用于标识使用时间的有效期域、用于标识持数字证件人身份的所有者域、用于存储持数字证件人信息的证件描述域、用于存储持数字证件人照片的照片域、用于标识使用算法参数的签名算法参数域、和用于存储数字签名的签名值域。
4.如权利要求3所述的方法,其特征在于,步骤A所述持数字证件人的信息的数据格式还包括用于存储持数字证件人的指纹、虹膜、和手写签名中的之一或多项的生物信息扩展域。
5.如权利要求1所述的方法,其特征在于,在步骤C之后,该方法进一步包括D、在数字证件的卡面上打印持数字证件人的信息。
6.如权利要求5所述的方法,其特征在于,步骤D所述持数字证件人的信息包括姓名、性别、民族、生日、住址、发证单位、数字证件号码、照片和手写签名。
7.如权利要求1所述的方法,其特征在于,所述的数字证件为能够被读卡器验证的物理实体。
8.一种数字证件的验证方法,其特征在于,该方法包括A1、判断从数字证件读出的数字签名是否为真,如果是,执行步骤B1;否则,结束;B1、从数字证件中读出持数字证件人的信息,判断该信息是否和持数字证件人本人的信息相吻合,如果是,判定数字证件通过验证;否则,判定数字证件没有通过验证。
9.如权利要求8所述的方法,其特征在于,步骤B1所述判断该信息是否和持数字证件人本人的信息相吻合的过程包括对比该信息中的照片和用采集设备采集的持数字证件人的面貌是否相吻合、对比该信息中的手写签名和用采集设备采集的持数字证件人的手写签名是否相吻合、对比该信息中的指纹和用采集设备采集的持数字证件人的指纹是否相吻合、和对比该信息中的虹膜和用采集设备采集的持数字证件人的虹膜是否相吻合中的之一或多项。
10.如权利要求8所述的方法,其特征在于,步骤B1所述判断该信息是否和持数字证件人本人的信息相吻合的过程为对比该信息和数据库中预先存储的持数字证件人本人的信息是否相吻合。
全文摘要
一种数字证件的生成方法和验证方法,生成方法包括A.对接收到的持数字证件人的信息进行数字签名;B.将经过数字签名的持数字证件人的信息和数字签名发送到数字证件具有的存储介质中;C.数字证件具有的存储介质存储经过数字签名的持数字证件人的信息和数字签名。验证方法包括A1、判断从数字证件读出的数字签名是否为真,如果是,执行步骤B1;否则,结束;B1、从数字证件中读出持数字证件人的信息,判断该信息是否和持数字证件人本人的信息相吻合,如果是,判定数字证件通过验证;否则,判定数字证件没有通过验证。该生成方法能够生成安全性高、存储空间小、功耗低和复制有效的数字证件。该验证方法准确可靠、简单并且验证速度快。
文档编号G07C7/00GK1779702SQ200410096290
公开日2006年5月31日 申请日期2004年11月26日 优先权日2004年11月26日
发明者刘昕, 荆继武, 胡冰 申请人:刘昕
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1