一种基于电子身份证的身份认证***和方法
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种身份认证***和方法。
背景技术
随着互联网基础设施及互联网应用的迅猛发展,我国的发展和运转已与网络密不可分,对信息网络的依赖也日益增加,网上购物、网上支付等也就越来越普遍。但是与此同时,现实社会中的问题会越来越多的反应到网络社会当中去,如木马攻击、账号密码被盗等已是屡见不鲜,因而实施网络身份管理成为了较为迫切的一个问题。
目前,国内的网络远程身份验证普遍使用“关联比对”的方法,即将用户输入的“姓名+身份证号”等个人信息,传到管理平台对该个人信息的正确性进行比对来认定其身份。但是,这种“关联比对"的方法在大规模应用的场景下存在以下问题:1)个人信息比对正确并不表示就是本人真实的意愿,无法有效防范个人身份被冒用或盗用的风险;2)现有的采集个人信息的网络应用服务机构安全水平不一,即个人信息大规模泄露的风险越来越高。
国际上对电子身份证的通用定义是:“由政府颁发给公民的用于线上和线下识别身份的证件”。与用于线下身份识别的第二代身份证不同的是,电子身份证是以密码技术为基础、以智能芯片为载体、由“公安部公民网络身份识别***”签发给公民的网络身份标识,方便用户在***露身份信息的前提下在线远程识别身份。
但是,现有的电子身份证主要载体依然是智能芯片,如用户需要使用该电子身份证,则需携带智能银行卡等硬件载体,且使用时需要专用读取设备才能获取硬件载体内的网络身份信息从而实现对用户个人身份的认证。可见,这种应用形态依旧会出现用户使用起来不够方便的问题,因而一种能够解决上述问题的全新的身份认证***和方法成为了一种需求。
发明内容
针对上述问题,本发明旨在提供一种基于电子身份证的身份认证***和方法,其将与用户唯一关联的第一临时密钥存储在智能终端的安全区域中,这样用户进行线上支付或线上身份认证的时候,不再需要携带硬件载体,同时也不需要担心信息泄露等风险。
本发明提供的技术方案如下:
一种基于电子身份证的身份认证***,所述身份认证***包括:智能终端、运营商服务器、网络身份认证中心以及应用平台,其中,
所述智能终端,用于存储与用户电子身份证唯一关联的第一临时密钥,同时用于获取用户信息和当前时间信息,所述智能终端使用第一算法对所述当前时间信息和所述第一临时密钥进行加密生成待认证加密信息,随后结合第一公钥和第二算法对所述待认证加密信息、所述当前时间信息以及所述用户信息进行加密生成第一加密信息;
所述运营商服务器,与所述智能服务终端连接,所述运营商服务器从所述智能终端中获取所述第一加密信息,并结合第一私钥和所述第二算法对所述第一加密信息进行解密得到所述待认证加密信息、所述当前时间信息以及所述用户信息,进而对所述用户信息进行初步认证;之后再结合第二公钥和第三算法对接收到的所述待认证加密信息、所述当前时间信息以及所述用户信息进行加密生成第二加密信息;同时所述运行商服务器从所述网络身份认证中心中获取用户身份认证结果;
所述网络身份认证中心,与所述运行商服务器连接,所述网络身份认证中心从所述运营商服务器获取所述第二加密信息,并结合第二私钥和所述第三算法对所述第二加密信息进行解密得到所述待认证加密信息、所述当前时间信息以及所述用户信息,进而根据接收所述用户信息查找与之关联的用户电子身份证并生成第二临时密钥,随后再使用所述第一算法对所述当前时间信息和所述第二临时密钥进行加密生成认证加密信息,最后将所述待认证加密信息与所述认证加密信息进行比对,实现用户身份认证,并将所述用户身份认证结果反馈给所述运营商服务器;
所述应用平台,与所述密钥服务器连接,所述应用平台发送认证请求,同时用于从所述运营商服务器获取用户身份认证结果。
在本技术方案中,将在网络身份认证中心中生成的与用户唯一关联的电子身份证并对该电子身份证进行分散生成第一临时密钥,之后再将第一临时密钥存储在智能终端的安全区域内,这样,当用户需要进行身份验证的时候,不需要再携带硬件载体,只要携带该智能终端即可,安全可靠的同时简单方便。另外,要说明的是,这里说到的网络身份认证中心是一个公安部公民网络身份识别***,由该***中预存的与用户相关信息绝对真实有效,故用户可以放心的使用由该网络身份认证中心生成并下发的电子身份证。
优选地,所述用户信息为用户姓名、身份证号、身份证照以及用户本人头像和/或手机号和/或智能终端IMEI(International Mobile Equipment Identity,移动设备国际身份码)号。
优选地,所述网络身份认证中心中预存了所有在所述网络身份认证中心中进行了注册的用户电子身份证。
优选地,所述第一算法为SM3算法,所述第二算法和所述第三算法为SM2算法。
一种基于电子身份证的身份认证方法,应用于上述身份认证***,所述身份认证方法具体包括以下步骤:
应用平台发送认证请求;
用户确认所述认证请求;
智能终端获取用户信息和当前时间信息,并结合获取的当前时间信息和预存的第一临时密钥生成待认证密钥信息,随后结合所述用户信息、所述待认证加密信息以及所述当前时间信息加密生成第一加密信息;
运营商服务器获取所述第一加密信息并对其进行解密,进而对用户信息进行初步认证,再对解密后的信息进行加密生成第二加密信息;
网络身份认证中心获取所述第二加密信息并对其进行解密得到所述用户信息、所述待认证加密信息以及所述当前时间信息,根据用户电子身份证得到第二临时密钥,并结合所述第二临时密钥和所述当前时间生成认证加密信息;
所述网络身份认证中心将接收到的待认证加密信息与生成的认证加密信息进行比对,实现对用户身份的认证,并将用户身份认证结果反馈给运营商服务器;
所述运营商服务器将用户身份认证结果发送至应用平台。
在本技术方案中,首先通过运营商服务器对用户信息进行初步认证,再将用户信息等发送到网络身份认证中心中进行身份认证,最后再将用户身份认证结果发送至应用平台中,这样用户就能够顺利的登录应用平台、银行卡支付等功能,安全方便,且整个方法较为简单,即使对于年龄较大的用户也能使用。
优选地,应用平台在发送认证请求之前,用户通过智能终端在网络身份认证中心中进行注册,具体步骤如下:
用户通过智能终端向运营商服务器提交用户姓名、身份证号、身份证照以及用户本人头像和/或手机号和/或智能终端IMEI号;
运营商服务器对用户进行初步信息核查并将接收到的用户姓名、身份证号、身份证照以及用户本人头像和/或手机号和/或智能终端IMEI号发送至网络身份认证中心;
所述网络身份认证中心实现接收到的用户姓名和身份证号的一致性验证,同时将接收到的用户本人头像与身份证照进行人像比对;
所述网络身份认证中心生成与用户唯一关联的电子身份证并进行存储;
所述网络身份认证中心对所述电子身份证进行分散得到第一临时密钥;
所述智能终端获取所述第一临时密钥并进行存储。
在本技术方案中,在使用该用户认证方法实现用户身份认证之前,都需要在网络身份认证中心中进行注册。
优选地,用户通过智能终端向运营商服务器提交用户姓名、身份证号、身份证照以及用户本人头像和/或手机号和/或智能终端IMEI号的同时还向所述运营商服务器提供银行***,且所述运营商服务器接收到所述银行***之后对所述银行卡进行鉴权。
在本技术方案中,用户只有在银行卡进行了鉴权之后才能使用该银行卡进行消费。
本发明提供的基于电子身份证的身份认证***和方法,能够带来以下有益效果:
1.在本发明中,网络身份认证中心实质上是一个基于公安部公民网络身份识别***,其生成的电子身份证的信息经过了公安部人口库的审核再由公安部公民网络身份识别***统一签发,这样大大提高了该身份认证***的可靠性;且在网络身份认证中心中采用国际商用密码算法生成电子身份证,生成的电子身份证不含任何的个人身份信息,有效的保护了公民的身份隐私,这样用户不管是进行线上还是线下的身份认证都不需要担心隐私的泄露;
2.在本发明中,将在网络身份认证中心中使用算法对生成的电子身份证进行分散得到第一临时密钥,并将该第一临时密钥存储在智能终端中的安全区域,且不允许复制和篡改,这样,当用户需要进行身份认证时,只需要使用到随身携带的智能终端即可,而不需要携带任何其他的硬件载体,大大提高了用户的使用起来的便利性;且在智能终端中对第一临时密钥进行存储,同样不含任何的个人身份信息,即使被不法分子获取了该第一临时密钥,也不会知道该第一临时密钥代表的含义,这样用户不用再担心隐私的泄露。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对上述特性、技术特征、优点及其实现方式予以进一步说明。
图1为本发明中基于电子身份证的身份认证***结构示意图;
图2为本发明中基于电子身份证的身份认证方法流程示意图;
图3为本发明中用户在网络身份认证中心中注册流程图。
附图标记:
100-智能终端,200-运营商服务器,300-网络身份认证中心,400-应用平台。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
如图1所示为本发明中基于电子身份证的身份认证***的结构示意图,从图中可以看出,该身份认证***包括:智能终端100、运营商服务器200、网络身份认证中心300以及应用平台400,其中,智能终端100与运营商服务器200连接,智能终端100将信息发送到运营商服务器200中;运营商服务器200与网络身份认证中心300可进行双向通信,且运营商服务器200与应用平台400连接,将用户身份认证结果发送到应用平台400中。要注意的是,图1中的箭头并不表示硬件上的连接关系,只表示信息的流向,当然,也并不是说单向箭头就不能实现双向通信,其只是在使用该身份认证***进行用户身份认证的过程中信息的流向,如,智能终端100与运营商服务器200之间虽然使用了单箭头,但是在用户通过智能终端100实现在网络身份认证中心300进行注册的过程中,智能终端100与运营商服务器200之间进行是双向通信。
要说明的是,在使用该智能终端100生成待认证加密信息之前,需要使用该智能终端100输入用户的相关信息完成用户在网络身份认证中心300的注册,在具体实施例中,智能终端100可以使用手机、平板电脑等人们日常生活中必不可少便于携带的轻便设备。更具体地,若该智能终端100为手机,要完成上述功能,用户可以利用手机通过网页或者APP(Application,应用程序)实现与网络身份认证中心300的通信,当然,为了用户的方便快捷,使用APP作为载体更佳。作为一种具体的实施方式,手机使用APP作为载体实现用户在网络身份认证中心300注册的过程具体为:首先通过用户主动输入的方式或者通过手机摄像头扫描的方式获取用户的用户姓名、身份证号、身份证照以及用户本人头像和/或手机号和/或智能终端IMEI号并将获取到的这些用户信息发送到运营商服务器200,这样运营商服务器200对接收到的用户信息进行了初步核查之后(初步核查的内容包括用户姓名、用户身份证号、手机号、智能终端IMEI号等),将该用户信息发送到网络身份认证中心300;网络身份认证中心300将接收到的姓名和身份证号与接收到的身份证照中的姓名和身份证号进行比对,实现用户姓名和身份证号一致性验证,紧接着网络身份认证中心300将接收到的用户本人头像与身份证照进行人像比对。要说明的是,在网络身份认证中心300中,只有对用户的用户姓名、身份证号以及用户本人头像的认证,才会根据上述信息生成与用户唯一关联的电子身份证,并将用户的电子身份证和用户身份证照片或扫面照片保存在网络身份认证中心300的安全区域中。最后,网络身份认证中心300使用国家商用密码算法对生成的电子身份证进行分散,得到第一临时密钥,再将该第一临时密钥通过运营商服务器200发送至智能终端100中进行存储,以此完成了用户在网络身份认证中心300的注册。以下我们对网络身份认证中心300根据获取的用户信息生成电子身份证的具体过程作出具体描述:在网络身份认证中心300实现了对用户的姓名和身份证号进行了一致性认证同时实现了用户本人头像的比对之后,网络身份认证中心300使用国家商用密码算法(如SM2、SM3、SM4国密算法等)生成电子身份证,随即同样的使用国家商用密码算法(如,SM4国密算法等)对电子身份证进行发散生成第一临时密钥并将该第一临时密钥通过运营商服务器200发送至手机,手机在接收到该第一临时密钥时,采用只读方式的将其存储在手机中的安全区域,不允许任何人的复制和篡改。要说明的是,在这个过程中,网络身份认证中心300中使用的国家商用密码算法我们不做具体限定,只要能够保障信息的安全性能的算法,都包括在本发明的内容中。
另外,在使用智能终端100实现在网络身份认证中心300中进行注册的过程中,为了使提供的身份认证***实现银行卡消费,我们可以绑定能够实现扣款的银行卡,在绑定银行卡的过程中,先在智能终端100中通过拍照或者用户手动的方式获取银行***,并将银行***发送至运营商服务器200,在运营商服务器200中实现对银行卡的鉴权,这样用户就可以通过使用该身份认证***实现消费、扣款等。
在对用户通过智能终端100实现在网络身份认证中心300中的注册的过程进行详细描述之后,我们要对通过本发明提供的身份认证***实现用户身份认证的过程进行描述,在这个过程中:
智能终端100,用于存储与用户电子身份证唯一关联的第一临时密钥,同时用于获取用户信息和当前时间信息。具体来说,用户信息包括用户姓名、身份证号、身份证照以及用户本人头像和/或手机号和/或智能终端IMEI号,对于用户姓名和身份证号,可以通过用户手动输入或者拍照扫描的方式获取;同样的,对于手机号甚至前面描述到的银行***,也可以通过用户手动输入或者拍照扫描的方式获取;当然,手机号也可以智能终端100直接获取,而不需要用户输入或者拍照扫描的方式获取,智能终端IMEI号也是类似的情况,智能终端100直接获取就可以。从前面描述的用户在网络身份认证中心300中注册的过程中可以看出,在该过程中,智能终端100用于获取上述用户信息,并将该信息发送至运营商服务器200中,同时接收运营商服务器200中发送过来的第一临时密钥进行存储;在对用户身份进行认证的过程中,智能终端100同样的首先还是获取用户信息,另外获取当前时间信息,随后使用第一算法对当前时间信息和第一临时密钥进行加密生成待认证加密信息,接着结合第一公钥和第二算法对待认证加密信息、当前时间信息以及用户信息进行加密生成第一加密信息。在具体实施例中,上述的第一算法可以是SM3算法,第二算法为SM2算法,当然,我们对这里的第一算法和第二算法的具体形式并不做具体限定,只要这两个算法能够实现本发明的目的,都包括在本发明的内容中。
运营商服务器200,与智能服务终端连接。具体来说,在注册的过程中,运营商服务器200都从智能终端100中获取用户信息,并对获取的用户信息进行初步核查,当然,如果从智能终端100中还获取了银行***,则运营商服务器200还会根据接收到的信息实现该银行卡的鉴权;在该用户在网络身份认证中心300中进行了注册并生成了第一临时密钥之后,运营商服务器200将从网络身份认证中心300中获取的第一临时密钥发送至智能终端100中进行存储,即在注册的过程中,运营商服务器200和智能终端100中进行双向通信。在进行身份认证的过程中,运营商服务器200从智能终端100中获取第一加密信息,并结合与第一公钥对应的第一私钥和第二算法对第一加密信息进行解密得到待认证加密信息、当前时间信息以及用户信息,进而对用户信息进行初步认证;之后再结合与第一公钥不同的第二公钥和第三算法对接收到的待认证加密信息、当前时间信息以及用户信息进行加密生成第二加密信息;且在网络身份认证中心300实现了对用户身份认证之后运行商服务器从网络身份认证中心300中获取用户身份认证结果并将该用户身份认证结果发送至应用平台400。在具体实施例中,上述的第二算法和第三算法都可以是SM2算法,当然,我们对这里的第二算法和第三算法的具体形式并不做具体限定,只要这两个算法能够实现本发明的目的,都包括在本发明的内容中。
网络身份认证中心300,与运行商服务器连接。具体来说,在注册的过程中,网络身份认证中心300从运营商服务器200中获取了用户信息之后,分别对用户姓名和身份证号的一致性验证和用户本人头像的认证之后,使用国密算法生成与该用户唯一关联的电子身份证并进行存储,之后再使用算法对生成的电子身份证进行分散得到第一临时密钥。可以看出,网络身份认证中心300中预存了所有在网络身份认证中心300中进行了注册的用户电子身份证。在对用户身份进行认证的过程中,网络身份认证中心300从运营商服务器200获取第二加密信息,并结合与第二公钥对应的第二私钥和第三算法对第二加密信息进行解密得到待认证加密信息、当前时间信息以及用户信息,进而根据接收用户信息查找与之关联的用户电子身份证;且在查找到了电子身份证之后,使用与注册过程中相同的算法对该电子身份证进行分散生成第二临时密钥,随后再使用第一算法对当前时间信息和第二临时密钥进行加密生成认证加密信息,最后将待认证加密信息与认证加密信息进行比对,实现用户身份认证,并将用户身份认证结果反馈给运营商服务器200。当然,在这个过程中,在注册的过程中我们同样可以通过将第一临时密钥存储在网络身份认证平台中,然后在身份认证过程中直接查找到与用户关联的第一临时密钥并将其与接收到的第一临时密钥进行比对,实现对用户身份的认证。在具体实施例中,上述第一算法与智能终端100中相同的SM3算法,第三算法为与运营商服务器200中相同的SM2算法,当然,同样的,我们对这里的第一算法和第三算法的具体形式并不做具体限定,只要这里使用的第一算法和第三算法与在智能终端100和运营商服务器200中使用到的第一算法和第三算法相同,都包括在本发明的内容中。
应用平台400,与密钥服务器连接。具体来说,在对用户身份进行认证的过程中,应用平台400首先会发送认证请求,这里的认证请求通过用户进行确认,且当用户确认了之后,随即在智能终端100中生成待认证加密信息和第一加密信息,进而通过运营商服务器200、网络身份认证中心300实现用户身份的认证,最后应用平台400从运营商服务器200获取用户身份认证结果。若用户身份认证成功,则实现用户的登录或支付等操作;相反的,若认证失败,则应用平台400接收到的是认证失败的认证结果,提醒用户认证失败,拒绝用户的登录,并提示用户重新认证。
如图2所示为本发明提供的基于电子身份证的身份认证方法的流程示意图,该身份认证方法应用于上述身份认证***,具体来说,该身份认证方法具体包括以下步骤:
S1应用平台400发送认证请求。具体来说,在这一步骤中,用户首先在应用平台400中发送登录请求,这样应用平台400随即发送认证请求请求用户身份的认证。
S2用户确认认证请求。具体来说,在这一步骤中,用户在应用平台400中确认认证请求,进而在智能终端100中操作生成待认证加密信息和第一加密信息。
S3智能终端100获取用户信息和当前时间信息,并结合获取的当前时间信息和预存的第一临时密钥生成待认证密钥信息,随后结合用户信息、待认证加密信息以及当前时间信息加密生成第一加密信息。用户通过智能终端100向运营商服务器200提交用户姓名、身份证号、身份证照以及用户本人头像和/或手机号和/或智能终端IMEI号的同时还向运营商服务器200提供银行***,且运营商服务器200接收到银行***之后对银行卡进行鉴权,这样,用户就能通过该银行卡进行消费。在具体实施例中,智能终端100使用SM3算法对当前时间信息和第一临时密钥生成待认证信息,使用SM2算法结合用户信息、待认证加密信息以及当前时间信息加密生成第一加密信息。
S4运营商服务器200获取第一加密信息并对其进行解密,进而对用户信息进行初步认证,再对解密后的信息进行加密生成第二加密信息。具体来说,运营商服务器200获取第一加密信息并对其进行解密得到用户信息、待认证加密信息以及当前时间信息,随后对该用户信息进行初步认证,并在初步认证之后,使用SM2算法重新对用户信息、待认证加密信息以及当前时间信息进行加密生成第二加密信息。
S5网络身份认证中心300获取第二加密信息并对其进行解密得到用户信息、待认证加密信息以及当前时间信息,根据用户电子身份证得到第二临时密钥,并结合第二临时密钥和当前时间生成认证加密信息。在这一过程中,网络身份认证中心300使用与网络身份认证中心300中得到第一临时密钥相同的算法得到第二临时密钥。
S6网络身份认证中心300将接收到的待认证加密信息与生成的认证加密信息进行比对,实现对用户身份的认证,并将用户身份认证结果反馈给运营商服务器200;
S7运营商服务器200将用户身份认证结果发送至应用平台400。
具体来说,如图3所示,在应用平台400在发送认证请求之前,用户通过智能终端100在网络身份认证中心300中进行注册,具体步骤如下:
S01用户通过智能终端100向运营商服务器200提交用户姓名、身份证号、身份证照以及用户本人头像和/或手机号和/或智能终端IMEI号;
S02运营商服务器200对用户进行初步信息核查并将接收到的用户姓名、身份证号、身份证照以及用户本人头像和/或手机号和/或智能终端IMEI号发送至网络身份认证中心300;
S03网络身份认证中心300实现接收到的用户姓名和身份证号的一致性验证,同时将接收到的用户本人头像与身份证照进行人像比对;
S04网络身份认证中心300生成与用户唯一关联的电子身份证并进行存储;
S05网络身份认证中心300对电子身份证进行分散得到第一临时密钥;
S06智能终端100获取第一临时密钥并进行存储。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。