网络电子身份证中网络身份标识码的生成和校验控制方法技术领域
本发明涉及身份管理和信息安全领域,特别涉及互联网网络环境中的身份认证管理技术
领域,具体是指一种网络电子身份证中网络身份标识码的生成和校验控制方法。
背景技术
互联网基础设施及应用在世界各国的迅猛发展,各国社会的发展和运转已经与网络密不
可分,对信息网络依赖度日益增加。据2011年7月CNNIC发布的第28次统计调查报告,截
至2011年6月底,我国网民规模达到4.85亿人,居世界第一,普及率达到36.2%,超过全
球平均水平。现实社会中的问题会越来越多的反映到“网络社会”中,“网络社会”所产生的问
题也将更充分地影响现实社会,2011年上半年,遇到过病毒或木马攻击的网民达到2.17亿,
比例为44.7%,受害网民人数较2010年底增加735万。同时,2011年上半年,有过账号或
密码被盗经历的网民达到1.21亿人,半年增加2107万人,占到网民总数的24.9%,较2010
年底增加了3.1个百分点。网络安全与诚信问题已成为影响我国互联网发展最重要的问题之
一。
实施网络身份管理,对整个社会公共领域而言,可以有效遏制互联网虚拟性滥用导致虚
假信息、不良信息泛滥现象;对民生服务而言,可以提供社会公共服务,为公民提供便利;
对于商业服务而言,可以提供多样性的电子商务服务,解决网络交易诚信问题,已成为我国
社会和谐发展的迫切需求。实现网络身份管理需要能够在表明网络上公民真实身份的准确标
识。网络电子身份证(electronic IDentity,简称eID)是在现有居民身份管理体系基础上,以
密码技术为基础,以智能卡芯片为载体,由公安机关统一签发给公民用于在互联网上远程证
实身份的网络电子身份证件,具有权威性、统一性、普适性的特点。
现有网络身份标识符的形式主要有:
(1)自定义的用户名(一般为字母数字混合形式)、电子邮箱名(xxxxx.xxx形式)等,
与个人身份没有内在关联性且容易被窃取或滥用;
(2)直接以姓名或身份证号等作为标识符,容易暴露个人身份隐私。例如:现有各类数
字认证中心颁发的个人数字证书一般直接将个人身份信息(如:姓名、身份证号等)作为个
人数字证书主题项(subject)。
发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种能够实现网络身份有效管理和
充分保护隐私的双重目的、便于各个身份服务系统间的互联互通、保护互联网应用安全、使
用快捷方便、工作性能稳定可靠、适用范围较为广泛的网络电子身份证中网络身份标识码的
生成和校验控制方法。
为了实现上述的目的,本发明的网络电子身份证中网络身份标识码的生成和校验控制方
法如下:
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法,所述的网络电子身
份证通过客户端与服务器端相连接,其主要特点是,所述的方法包括以下步骤:
(1)服务器端进行初始化,并预先进行随机数生成和分配处理;
(2)服务器端接收客户端发送来的网络身份标识码生成请求,并从中提取用户身份识别
信息;
(3)服务器端对该身份识别信息进行审核处理;
(4)如果审核未通过,则进行信息提示,并退出;
(5)如果审核通过,则根据所述的身份识别信息及所对应的随机数,并进行加密编码处
理得到编码值;
(6)服务器端根据所述的编码值生成网络身份标识码,并将该网络身份标识码通过所述
的客户端发送至所述的网络电子身份证;
(7)所述的网络电子身份证接收到客户端转发来的写入网络身份标识码的请求,进行网
络身份标识码校验处理操作,并将结果通过所述的客户端反馈给所述的服务器端;
(8)服务器端判断是否接收到客户端转发来的将网络身份标识码成功写入网络电子身份
证的信息;
(9)如果未收到,则进行错误信息提示,并退出;
(10)如果收到,则服务器端将该网络身份标识码存入数据库中,并通知用户。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的预先进行随机数
生成和分配处理,包括以下步骤:
(11)所述的服务器端通过真随机数生成器TRNG产生随机数;
(12)所述的服务器端将所述的随机数作为卡片序列号信息直接写入对应的网络电子身
份证中;
(13)所述的服务器端获取持有该网络电子身份证的用户身份识别信息,并建立该用户
身份识别信息与随机数之间的对应关系。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的随机数为128字
节。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的用户身份识别信
息包括网络身份标识码的版本号、用户证件号码、用户姓名、有效证件类型。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的有效证件类型包
括居民身份证、居民户口簿、中国护照、军官证、士兵证、警官证、港澳通行证、台胞证、
外国护照和其他证件。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的对该身份识别信
息进行审核处理,包括以下步骤:
(31)服务器端判断所述的身份识别信息是否已经生成了对应的有效的网络身份识别码;
(32)如果是,则返回审核未通过的结果;
(33)如果否,则返回审核通过的结果。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的进行信息提示,
具体为:
向用户发出“用户审核未通过,已申领过网络身份标识码”的提示信息。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的进行加密编码处
理得到编码值,包括以下步骤:
(51)按照以下公式产生原始字符串:
原始字符串=append(用户证件号码,用户姓名,有效证件类型,随机数);
其中,append为字符串连接操作符;
(52)对所述的原始字符串基于预设的加密算法进行填充和迭代压缩,得到杂凑值;
(53)对所述的杂凑值基于预设的编码规则进行编码处理,并得到编码值。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的加密算法可以为
SM3密码杂凑加密算法或者SHA256加密算法。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的杂凑值为32字
节长度的二进制信息。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的编码规则为
Base64编码。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的编码值为44字
节长度的字符串。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的根据编码值生成
网络身份标识码,具体为:
按照以下公式产生网络身份标识码:
网络身份标识码=append(网络身份标识码的版本号,编码值,预留位);
其中,append为字符串连接操作符。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的预留位为3个字
节的字符串,且默认值为0。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的网络身份标识码
校验处理操作,包括以下步骤:
(71)网络电子身份证进行初始化,并读取用户身份识别信息和卡片序列号信息;
(72)所述的网络电子身份证实时判断是否收到客户端发来的写入网络身份标识码的请
求;
(73)如果否,则重复上述步骤(72);
(74)如果是,则读取该网络身份标识码中的编码值,并根据所述的身份识别信息和卡
片序列号信息进行加密编码处理得到卡片编码值;
(75)所述的网络电子身份证对所述的编码值和卡片编码值进行一致性校验;
(76)如果验证通过,则将该网络身份识别码写入,并返回成功写入网络身份识别码的
结果;如果验证不通过,则直接返回写入网络身份识别码失败的结果。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的进行加密编码处
理得到卡片编码值,包括以下步骤:
(741)按照以下公式产生卡片原始字符串:
卡片原始字符串=append(用户证件号码,用户姓名,有效证件类型,卡片序列号信息);
其中,append为字符串连接操作符;
(742)对所述的卡片原始字符串基于预设的卡片加密算法进行填充和迭代压缩,得到卡
片杂凑值;
(743)对所述的卡片杂凑值基于预设的卡片编码规则进行编码处理,并得到卡片编码值。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的卡片加密算法可
以为SM3密码杂凑加密算法或者SHA256加密算法。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的卡片杂凑值为32
字节长度的二进制信息。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的卡片编码规则为
Base64编码。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的卡片编码值为44
字节长度的字符串。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的进行一致性校
验,包括以下步骤:
(751)所述的网络电子身份证对所述的编码值和卡片编码值进行逐位比较;
(752)如果两者完全一致吻合,则返回验证通过的结果;
(753)如果两者不完全吻合,则返回校验不通过的结果。
该实现网络电子身份证中网络身份标识码的生成和校验控制的方法中的进行错误信息提
示,具体为:
所述的服务器端向客户端发送“网络身份识别码生成失败”的提示信息。
采用了该发明的网络电子身份证中网络身份标识码的生成和校验控制方法,由于其中的
编码方法是根据256位杂凑密码算法(国密SM3或SHA256),由用户证件号码、用户姓名
和128字节随机数的字串进行运算得出的32字节二进制信息的Base64编码,从而具有唯一
性、计算开销小、不可逆推的特点,并达到了网络身份管理和隐私保护的双重目的;同时,
网络身份标识符(eID_code)代表eID所对应公民身份的标识符,与公民身份一一对应,其
本身不含任何用户身份信息,这样既确保了个人身份的真实性,又可有效避免身份信息曝光;
另一方面,本发明通过对互联网身份管理与服务中的各类身份相关信息进行分析,给出统一
的eID_code编码方法规则,并以此来认证、交换、保存、管理身份信息,从而便于各个身份
服务系统间的互联互通,有效保护互联网应用安全和公民身份信息隐私,使用快捷方便、工
作性能稳定可靠、适用范围较为广泛,为建立统一的互联网身份管理与服务生态系统奠定了
坚实的基础。
附图说明
图1为本发明的网络电子身份证中网络身份标识码的生成和校验控制方法的整体流程示
意图。
图2为本发明的网络电子身份证中网络身份标识码的生成和校验控制方法中网络身份标
识码校验处理操作流程示意图。
具体实施方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
请参阅图1和图2所示,该实现网络电子身份证中网络身份标识码的生成和校验控制的
方法,所述的网络电子身份证通过客户端与服务器端相连接,其主要特点是,所述的方法包
括以下步骤:
(1)服务器端进行初始化,并预先进行随机数生成和分配处理,包括以下步骤:
(a)所述的服务器端通过真随机数生成器TRNG产生随机数;该随机数为128字节;
(b)所述的服务器端将所述的随机数作为卡片序列号信息直接写入对应的网络电子
身份证中;
(c)所述的服务器端获取持有该网络电子身份证的用户身份识别信息,并建立该用
户身份识别信息与随机数之间的对应关系;该用户身份识别信息包括网络身份标识码
的版本号、用户证件号码、用户姓名、有效证件类型;该有效证件类型包括居民身份
证、居民户口簿、中国护照、军官证、士兵证、警官证、港澳通行证、台胞证、外国
护照和其他证件;
(2)服务器端接收客户端发送来的网络身份标识码生成请求,并从中提取用户身份识别
信息;
(3)服务器端对该身份识别信息进行审核处理,包括以下步骤:
(a)服务器端判断所述的身份识别信息是否已经生成了对应的有效的网络身份识别
码;
(b)如果是,则返回审核未通过的结果;
(c)如果否,则返回审核通过的结果;
(4)如果审核未通过,则进行信息提示,并退出;该进行信息提示,具体为:
向用户发出“用户审核未通过,已申领过网络身份标识码”的提示信息;
(5)如果审核通过,则根据所述的身份识别信息及所对应的随机数,并进行加密编码处
理得到编码值,包括以下步骤:
(a)按照以下公式产生原始字符串:
原始字符串=append(用户证件号码,用户姓名,有效证件类型,随机数);
其中,append为字符串连接操作符;
(b)对所述的原始字符串基于预设的加密算法进行填充和迭代压缩,得到杂凑值;
该加密算法可以为SM3密码杂凑加密算法或者SHA256加密算法,也可以是其它合
适的算法;该杂凑值为32字节长度的二进制信息;
(c)对所述的杂凑值基于预设的编码规则进行编码处理,并得到编码值;该编码规
则为Base64编码,该编码值为44字节长度的字符串;
(6)服务器端根据所述的编码值生成网络身份标识码,并将该网络身份标识码通过所述
的客户端发送至所述的网络电子身份证;该根据编码值生成网络身份标识码,具体为:
按照以下公式产生网络身份标识码:
网络身份标识码=append(网络身份标识码的版本号,编码值,预留位);
其中,append为字符串连接操作符;该预留位为3个字节的字符串,且默认值为0;
(7)所述的网络电子身份证接收到客户端转发来的写入网络身份标识码的请求,进行网
络身份标识码校验处理操作,并将结果通过所述的客户端反馈给所述的服务器端;该网络身
份标识码校验处理操作,包括以下步骤:
(a)网络电子身份证进行初始化,并读取用户身份识别信息和卡片序列号信息;
(b)所述的网络电子身份证实时判断是否收到客户端发来的写入网络身份标识码的
请求;
(c)如果否,则重复上述步骤(b);
(d)如果是,则读取该网络身份标识码中的编码值,并根据所述的身份识别信息和
卡片序列号信息进行加密编码处理得到卡片编码值,包括以下步骤:
(i)按照以下公式产生卡片原始字符串:
卡片原始字符串=append(用户证件号码,用户姓名,有效证件类型,卡片序列
号信息);
其中,append为字符串连接操作符;
(ii)对所述的卡片原始字符串基于预设的卡片加密算法进行填充和迭代压缩,
得到卡片杂凑值;该卡片加密算法可以为SM3密码杂凑加密算法或者SHA256
加密算法,也可以为其它合适的加密算法;该卡片杂凑值为32字节长度的二进
制信息;
(iii)对所述的卡片杂凑值基于预设的卡片编码规则进行编码处理,并得到卡片
编码值;该卡片编码规则为Base64编码,该卡片编码值为44字节长度的字符串;
(e)所述的网络电子身份证对所述的编码值和卡片编码值进行一致性校验,包括以
下步骤:
(i)所述的网络电子身份证对所述的编码值和卡片编码值进行逐位比较;
(ii)如果两者完全一致吻合,则返回验证通过的结果;
(iii)如果两者不完全吻合,则返回校验不通过的结果;
(f)如果验证通过,则将该网络身份识别码写入,并返回成功写入网络身份识别码
的结果;如果验证不通过,则直接返回写入网络身份识别码失败的结果;
(8)服务器端判断是否接收到客户端转发来的将网络身份标识码成功写入网络电子身份
证的信息;
(9)如果未收到,则进行错误信息提示,并退出;该错误信息提示,具体为:
所述的服务器端向客户端发送“网络身份识别码生成失败”的提示信息;
(10)如果收到,则服务器端将该网络身份标识码存入数据库中,并通知用户。
在实际使用当中,本发明主要是提供网络电子身份证的网络身份标识符(eID_code)的
编码方法,目前在网络身份管理领域,尚没有相关解决方案。
eID_code的编码方法是根据256位杂凑密码算法(国密SM3或SHA256),由用户证件
号码、用户姓名和128字节随机数的字串进行运算得出的32字节二进制信息的Base64编码,
具有唯一性、计算开销小、不可逆推的特点,以达到网络身份管理和隐私保护的目的。
网络身份标识符(eID_code),是代表eID所对应公民身份的标识符,与公民身份一一对
应,其本身不含任何用户身份信息,这样既确保了个人身份的真实性,又可有效避免身份信
息曝光。今后eID在各行业各领域的应用中,eID_code将作为各种应用服务的消息/会话的唯
一标识符,因此eID_code的编码方法是互联网身份管理的核心环节。
本发明通过对互联网身份管理与服务中的各类身份相关信息进行分析,给出统一的
eID_code编码方法规则,并以此来认证、交换、保存、管理身份信息,便于各个身份服务系
统间的互联互通、保护互联网应用安全和公民身份信息隐私,为建立统一的互联网身份管理
与服务生态系统奠定基础。
本发明结合互联网发展形势和网络身份管理的需求,根据256位杂凑密码算法(国密SM3
或SHA256),提出了网络身份标识码(eID_code)的编码方法。其目标是实施我国的网络身
份管理,为公民提供隐私信息的保护。
本发明可广泛地支持在以eID为载体解决电子政务、电子商务、网银、网上支付等领域
的相关应用。
下面给出本发明中用到的定义:
网络电子身份证(eID):eID是electronic Identity的缩写,是在现有居民身份管理体系
基础上,以密码技术为基础,以智能卡芯片为载体,由公安机关统一签发给公民用于在互联
网上远程证实身份的网络电子身份证件,具有权威性、统一性、普适性的特点。
网络身份标识码(eID_code):是一段网络身份标识符,与公民身份的一一对应,且本身
不含任何用户身份信息。eID_code的长度为48字节,类型为String各字节之间的数字依次连
接,不留空格和任何其他字符(例如_,~,、,/,/,&等)。
SM3算法——全称为SM3密码杂凑算法(SM3 Cryptographic Hash Algorithm)。对长
度为l(l<264)比特的消息m,SM3杂凑算法经过填充和迭代压缩,生成杂凑值,杂凑值长
度为32字节(256比特)。
SHA256算法——SHA(Secure Hash Algorithm,译作安全散列算法)是美国国家安全
局(NSA)设计,美国国家标准与技术研究院(NIST)发布的一系列密码散列函数。NIST
发布了三个额外的SHA变体,每个都有更长的讯息摘要。以它们的摘要长度(以位元计算)
加在原名后面来命名:“SHA-256”、“SHA-384”和“SHA-512”。它们发布于2001年的FIPS
PUB 180-2草稿中,随即通过审查和评论。
Base64编码——按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设
计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(The Base64
Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need
not be humanly readable)。
网络电子身份证(eID)的编码对象是在中华人民共和国境内使用互联网上网的所有网民。
网络电子身份标识码(eID_code)编码方法的格式如下:
(1)编码格式:
eID_version
BHash_Value
eid_code_rvb
说明如下:
eID_version:表示eID的版本号,占1个字节,类型为string。
BHash_Value:表示杂凑值,占44个字节,类型为string。它是根据国密SM3(或SHA256)
密码杂凑算法标准,由用户证件号码(IDnumber)、用户姓名(name)、有效证件类型(type)、
128字节随机数的字串(random_eid_hash)进行运算得出的32字节二进制信息的Base64编
码,记为BHash_Value。其计算公式如下:
BHash_Value=Base64{(SM3|SHA256)[append(IDnumber||name||type||random_eid_hash)]}……(1)
其中“有效证件类型”如表1中所示。
表1有效证件类型
eid_code_rvb:表示预留位(ReserVation Byte),占3个字节,类型为string。默认全填充
0。
即有eID_code的计算公式如下:
eID_code=append(eID_version||BHash_Value||eID_code_rvb)……(2)
在用户在相关渠道申领到eID载体后,需要上网通过客户端来激活载体,获取其网络身
份标识码(eID_code)。具体的生成的步骤如下:
首先,服务器端会预先通过真随机数生成器(TRNG)产生128字节的随机数,赋值给
string类型的变量random_eid_hash。生成3字节string类型的预留位eid_code_rvb,值默认填
充为0。当服务器端收到客户端发送的eID_code生成请求,服务器将从请求信息中读取版本
号eid_version、用户证件号码(IDnumber)、用户姓名(name)、有效证件类型(type)。
然后,为了保证用户eID_code的唯一性,服务器将启动审核程序,审核该用户是否之前
已经持有了有效的eID,即已经生成了有效eID_code。服务器将拒绝为已经持有有效eID的
用户再次生成新的eID_code,并提示用户“审核未通过,已申领过eID”的信息。
如果审核通过了,那么服务器将IDnumber,name,type,random_eid_hash连接起来进行
SM3(或SHA256算法)的填充和迭代压缩,生成32字节二进制信息的杂凑值,再进行Base64
编码,得到44字节的字符串。将该字符串与eID_version和eid_code_rvb连接起来后组成
eID_code。
最后,服务器将eID_code返回给客户端;如果收到客户端将该eID_code成功写入eID
的回复消息,则将该eID_code存入到数据库,并通知用户可查看其eID_code的消息;否则
提示客户端“eID_code生成失败”信息。
网络身份标识码(eID_code)的验证方法如下:
(1)初始化,读取用户证件号码(IDnumber)、用户姓名(name)、有效证件类型(type)
和卡片128字节的序列文件(card_sn)。
(2)如果网络电子身份证的卡内收到客户端发来的写入eID_code请求,则读取
BHash_Value,并转step 3,否则转入等待流程。
(3)调用连接函数append(),令string类型变量Hash_orign=append(Idnumber,name,
type,card_sn)。
(4)对Hash_origin根据密码杂凑算法SM3(或SHA256)进行填充和迭代压缩,生成
32字节二进制信息的杂凑值,赋值给Hash_card,即:
Hash_card=(SM3|SHA256)[append(IDnumber||name||type||card_sn)];
(5)对得出的Hash_card进行Base64编码,得到44字节的字符串,赋值给BHash_card,
即BHash_card=Base64{Hash_card}。
(6)激活卡内数据一致性校验指令eid_code_verify,对BHash_card和BHash_Value进行
校验,如果校验结果一致,则同意将eID_code写入请求,否则拒绝eID_code写入请求,并
向客户端提示“eID_code写入请求错误”信息。
用户持有效证件通过相关渠道成功申领eID并激活后,通过网络可以在相关eID管理系
统中查询到其eID_code。
表2不同类型证件的eID_code实例
为了方便描述,以下结合公式(1)、(2)说明eID_code的计算公式;结合附图1说明生
成eID_code的实现步骤;结合附图2说明卡内数据一致性验证的步骤。
eID_code的计算公式如下:
eID_version
BHash_Value
eid_code_rvb
BHash_Value=Base64{(SM3|SHA256)[append(IDnumber||name||type||random_eid_hash)]}……(1)
eID_code=append(eID_version||Hash_Value||eID_code_rvb)……(2)
生成网络身份标识码(eID_code)的步骤如下:
(1)初始化,通过真随机数生成器(TRNG)产生128字节的随机数,赋值给string类型
的变量random_eid_hash。生成3字节string类型的预留位eid_code_rvb,值默认填充为0;
(2)收到客户端发送的eID_code生成请求,服务器从请求信息中读取版本号eid_version、
用户证件号码(IDnumber)、用户姓名(name)、有效证件类型(type);
(3)服务器启动审核程序;如果审核通过,转step 4;否则提示用户“审核未通过,已申
领过eID”的信息;
(4)调用连接函数append(),令string类型变量Hash_origin=append(IDnumber,name,
type,random_eid_hash);
(5)对Hash_origin进行SM3(或SHA256算法)的填充和迭代压缩,生成32字节二
进制信息的杂凑值,赋值给Hash_Value,即Hash_Value=(SM3|SHA256)[Hash_origin];
(6)对得出的Hash_Value进行Base64编码,得到44字节的字符串,赋值给BHash_Value,
即BHash_Value=Base64[Hash_Value];
(7)调用连接函数append(),将eID_version、BHash_Value和eid_code_rvb连接起来,
赋值给eID_code,即eID_code=append(eID_version,BHash_Value,eid_code_rvb);
(8)将eID_code返回给客户端;如果收到客户端将该eID_code成功写入eID的回复消
息,则转step 9;否则提示客户端“eID_code生成失败”信息;
(9)将该eID_code存入到数据库,并通知用户可查看其eID_code的消息。
eID_code在网络电子身份证的卡内的数据一致性校验的步骤如下:
(1)初始化,读取用户证件号码(IDnumber)、用户姓名(name)、有效证件类型(type)和卡
片128字节的序列文件(card_sn);
(2)如果卡内收到客户端发来的写入eID_code请求,则读取BHash_Value,并转step 3,
否则等待;
(3)调用连接指令append,令string类型变量Hash_origin=append(Idnumber,name,type,
card_sn);
(4)对Hash_origin根据密码杂凑算法SM3(或SHA256)进行填充和迭代压缩,生成32
字节二进制信息的杂凑值,赋值给Hash_card,即:
Hash_card=(SM3|SHA256)[append(IDnumber||name||type||card_sn)];
(5)对得出的Hash_card进行Base64编码,得到44字节的字符串,赋值给BHash_card,
即BHash_card=Base64[Hash_card];
(6)激活卡内数据一致性验证指令eid_code_verify,对BHash_card和BHash_Value进行
校验,如果校验结果一致,则同意将eID_code写入请求,否则拒绝eID_code写入请求,并
向客户端提示“eID_code写入请求错误”信息。
本发明的上述方法,能够在安全与隐私保护方面实现如下的特性:
(1)唯一性
网络电子身份证的身份标识符eID_code,根据公民的有效身份证件号码、类型、姓名及
随机数生成的,利用256位杂凑密码算法确保eID_code的唯一性,利用内部数据一致性校验
机制确保公民有效eID_code的唯一性,实现与公民身份的一一对应。
(2)隐私性
eID_code本身不含任何用户身份信息(如有效身份证件号码、类型、姓名等),防止了公
民身份隐私信息的泄露。
(3)不可逆性
eID_code是根据256位杂凑密码算法(国密SM3或SHA256)产生再用Base64编码;
因为杂凑密码算法的逆向计算具有不可行性,Base64编码会使得原信息难以辨识;并且,由
于计算过程中引入了128字节随机数作为因子,使得暴力破解也变得不可行,因此,生成的
eID_code具有不可逆推性。
(4)可替换性
同于当前身份证号码的固定编码,eID_code与公民个人身份信息对应关系一旦泄露;经
过公民个人申请,可以重新生成新的128字节随机数,计算出新的eID_code替换旧的
eID_code,从而持续保护用户隐私。
(5)支持卡内安全验证
设计了专用cos指令eid_code_verify,实现对卡片拥有者身份一致性的卡内安全验证;设
计了卡片拥有者身份一致性的在线安全验证流程。
采用了上述的网络电子身份证中网络身份标识码的生成和校验控制方法,由于其中的编
码方法是根据256位杂凑密码算法(国密SM3或SHA256),由用户证件号码、用户姓名和
128字节随机数的字串进行运算得出的32字节二进制信息的Base64编码,从而具有唯一性、
计算开销小、不可逆推的特点,并达到了网络身份管理和隐私保护的双重目的;同时,网络
身份标识符(eID_code)代表eID所对应公民身份的标识符,与公民身份一一对应,其本身
不含任何用户身份信息,这样既确保了个人身份的真实性,又可有效避免身份信息曝光;另
一方面,本发明通过对互联网身份管理与服务中的各类身份相关信息进行分析,给出统一的
eID_code编码方法规则,并以此来认证、交换、保存、管理身份信息,从而便于各个身份服
务系统间的互联互通,有效保护互联网应用安全和公民身份信息隐私,使用快捷方便、工作
性能稳定可靠、适用范围较为广泛,为建立统一的互联网身份管理与服务生态系统奠定了坚
实的基础。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种
修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限
制性的。