可共享的网络身份生成方法与流程

文档序号:15682720发布日期:2018-10-16 20:44阅读:326来源:国知局

本发明涉及网络信息安全技术领域,具体而言,涉及一种可共享的网络身份生成方法。



背景技术:

目前,用户在使用网络的过程中,很多网站和应用软件都需要用户进行实名认证,用户需要填入姓名、身份证号和联系电话等信息。用户可能在多个不同的网站或应用软件的服务器上注册过这些个人信息,这就造成了用户的个人信息很容易泄露。而这些用户的个人信息,尤其是身份证号,一旦泄露,可能会给用户带来不必要的损失。



技术实现要素:

针对上述现有技术中存在的问题,本发明提供了一种可共享的网络身份生成方法,可以根据用户信息为用户生成一个唯一的网络身份,用于多个网站服务器或应用软件的服务器进行认证,降低用户的个人信息被泄露的风险。

第一方面,本发明实施例提供了一种可共享的网络身份生成方法,应用于网络身份签发服务器;所述方法包括:

接收用户终端发送的申请网络身份的请求;所述申请网络身份的请求携带有用户信息;所述用户信息至少包括用户的身份证号;

对所述用户信息进行加密运算,为所述用户生成一个唯一的网络身份;

将生成的所述网络身份发送至所述用户终端。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述用户信息包括以下信息中的三种:姓名、身份证号、生物特征信息、联系方式;对所述用户信息进行加密运算,为所述用户生成一个唯一的网络身份,包括:

将所述用户信息保存至数据表中,并获取该用户信息在所述数据表的编号;

采用哈希算法,对所述用户信息进行加密;

根据加密后的用户信息和所述编号,为所述用户生成一个唯一的网络身份。

结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,采用哈希算法,对所述用户信息进行加密的步骤,包括:

从所述用户信息中分离出三种信息;

根据三种信息所占的比例,确定三种信息在网络身份中所占的比例;

根据三种信息在网络身份中所占的比例,采用哈希算法,分别对三种信息进行加密。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,对所述用户信息进行加密运算,为所述用户生成一个唯一的网络身份,包括:

采用md5算法,将所述用户信息转化为字符串;

从所述字符串中提取部分字符,为所述用户生成一个唯一的网络身份。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,对所述用户信息进行加密运算,为所述用户生成一个唯一的网络身份,包括:

根据所述用户信息,确定用户所属的类别;

根据用户所属的类别,从预先存储的数据分区中读取对应的数组;

从所述数组内选取一个或多个字符;

采用选取的字符对所述用户信息进行加密运算,为所述用户生成一个唯一的网络身份。

结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,对所述用户信息进行加密运算,为所述用户生成一个唯一的网络身份的步骤之后,所述方法还包括:

将生成的所述网络身份与所述用户信息相对应地存储至数据表内。

结合第一方面或第一方面的第五种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述接收用户终端发送的申请网络身份的请求的步骤之后,所述方法还包括:

根据所述身份信息中包含的关键字,确定所述身份信息是否已存在对应的网络身份;

如果是,向所述用户终端发送所述用户已有网络身份的通知;

如果否,执行对所述用户信息进行加密运算,为所述用户生成一个唯一的网络身份的步骤。

结合第一方面的第六种可能的实施方式,本发明实施例提供了第一方面的第七种可能的实施方式,其中,确定所述身份信息是否已存在对应的网络身份,包括:

根据所述身份信息中包含的关键字,查找所述数据表中是否包含所述用户信息。

第二方面,本发明实施例还提供了一种可共享的网络身份生成方法,应用于用户终端;所述方法包括:

接收用户输入的用户信息;所述用户信息至少包括用户的身份证号;

根据所述用户信息生成申请网络身份的请求,并将所述申请网络身份的请求发送至网络身份签发服务器;

接收所述网络身份签发服务器返回的网络身份。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,接收所述网络身份签发服务器返回的网络身份的步骤之后,所述方法还包括:

根据所述网络身份,生成对应的认证二维码。

本发明实施例带来了以下有益效果:

本发明实施例提供的可共享的网络身份生成方法,对用户终端发送的用户信息;进行加密运算,为用户生成一个唯一的网络身份;将网络身份发送至用户终端。用户可以将该网络身份共享至需要进行身份认证的网络服务器。由于该网络身份与用户是唯一对应的,因此可以用于在多个网站服务器或应用软件的服务器上进行认证,同时用户信息是加密的,降低用户的个人信息被泄露的风险,提高了用户信息的安全性。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例所提供的可共享的网络身份生成方法的流程图;

图2为本发明另一实施例所提供的可共享的网络身份生成方法的流程图;

图3为本发明又一实施例所提供的可共享的网络身份生成方法的流程图;

图4为本发明一实施例所提供的网络身份签发服务器与用户终端之间的交互图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

针对现有的网上注册及使用的用户信息容易泄露的问题,本发明实施例提供了一种可共享的网络身份生成方法,可以根据用户信息为用户生成一个唯一的网络身份,用于多个网站服务器或应用软件的服务器进行认证,降低用户的个人信息被泄露的风险。

实施例一

本实施例提供了一种可共享的网络身份生成方法,应用于网络身份签发服务器。如图1所示,该方法包括:

步骤s102,接收用户终端发送的申请网络身份的请求。

该申请网络身份的请求携带有用户信息,用户信息可以包括用户的姓名、身份证号、生物特征信息、电话号码等。生物特征信息可以是用户的指纹、掌纹、脸部信息、语音信息等。

步骤s104,对用户信息进行加密运算,为用户生成一个唯一的网络身份。

根据生成网络身份所要求的均匀性和唯一性要求,可以采用如下几种方式中的一种为用户生成一个唯一的网络身份,该网络身份可以是ssn(网络唯一数字身份)号。

第一种实现方式:用户信息包括以下信息中的三种:姓名、身份证号、生物特征信息、联系方式。联系方式可以是电话号码。将用户信息保存至数据表中,并获取该用户信息在数据表的编号;采用哈希算法,对用户信息进行加密;根据加密后的用户信息和编号,为用户生成一个唯一的网络身份。

具体地,根据用户信息的组成,判断用户采用的是哪种数据输入组合方式,从而将数据录入相应的数据表内,在相应表内的前一条记录的编号的基础上以数字1的大小递增产生新的编号。从用户信息中分离出三种信息;根据三种信息所占的比例,确定三种信息在网络身份中所占的比例;根据三种信息在网络身份中所占的比例,采用哈希算法,分别对三种信息进行加密。

例如,三种信息中,其中第一种方式所占比例最高,可以考虑为第一种方式分配十位ssn号最高位0--9中的0--5,第二种方式占6--7,第三种方式占8--9。对于第一种输入方式,根据身份证号对应的省份信息将60亿的ssn号平均分配给每个省,每个省的身份证号等信息组成一张表。根据加密后的用户信息和编号,为用户生成一个唯一对应的ssn号。

由于每个编号都是在相应数据表内递增产生,因此,存在表内的编号是唯一的,其对应的ssn号也是唯一的。

第二种实现方式:采用md5算法,将用户信息转化为字符串;从字符串中提取部分字符,为用户生成一个唯一的网络身份。例如,根据md5算法将输入转化为32位的16进制输出数据,然后将其转化为对应的二进制数,再分别从这128位的二进制数中分前、中、后三段分别取11位二进制数字组成新的33位二进制数,并将其作为生成的ssn号。根据产生的ssn号的值大小将其写入不同的表内。

由于md5算法本身产生碰撞的概率在2的69次方左右,因此在现有规模的输入条件下,基本上不会出现不同输入产生相同md5值的情况。因此,产生的ssn号可以认定是唯一的。对于经过选取后可能出现的ssn值相同情况,首先排除是否是相同的输入数据,然后才考虑是不同输入数据源,但是在经过选择后产生了相同的ssn号。针对后一种情况,可以考虑再在原始md5值的基础(应考虑再加入初始输入信息)上再一次进行md5计算,最后再生成ssn号。

如果有n个不同的输入,取md5算法其中的33位输出,碰撞的概率可以通过下述公式计算。经过计算可以确定,碰撞的概率很小。

第三种实现方式:根据用户信息,确定用户所属的类别;根据用户所属的类别,从预先存储的数据分区中读取对应的数组;从数组内选取一个或多个字符;采用选取的字符对用户信息进行加密运算,为用户生成一个唯一的网络身份。

例如,可以预先设置若干包含连续整数的大数组,采用分布式结构存储,当用户提交ssn申请资料时,首先根据用户所属类别,从相应的数据分区里读取对应的数组,从该数组内随机一数字以形成用户ssn号。

将ssn号平均分布在一定数量的数据表内,每隔一段时间统计现有数据表内已存在的数据记录的数目,确保生成的ssn号平均分布在数据库内对应的数据表内。

由于ssn号的生成是在互不存在重复数字的n个数组内随机生成的,当生成一个ssn号后就将该数字从对应的数组内删除,更新数组内数据。

为用户生成一个唯一的网络身份之后,将生成的网络身份与用户信息相对应地存储至数据表内。

步骤s106,将生成的网络身份发送至用户终端。

用户可以将该网络身份共享至需要进行身份认证的网络服务器。由于该网络身份与用户是唯一对应的,因此可以用于在多个网站服务器或应用软件的服务器上进行认证,同时用户信息是加密的,降低用户的个人信息被泄露的风险,提高了用户信息的安全性。

实施例二

在上述实施例一的基础上,本实施例提供了另一种可共享的网络身份生成方法,应用于网络身份签发服务器。如图2所示,该方法包括:

步骤s202,接收用户终端发送的申请网络身份的请求。

该申请网络身份的请求携带有用户信息,用户信息可以包括用户的姓名、身份证号、生物特征信息、电话号码等。

步骤s204,根据身份信息中包含的关键字,确定身份信息是否已存在对应的网络身份;如果是,执行步骤s206;如果否,执行步骤s208。

由于接收到身份信息或生产对应的网络身份之后,会将身份信息和网络身份对应存储于数据表中。因此,可以根据身份信息中包含的关键字,查找数据表中是否包含用户信息。

例如,接收到用户信息,判断用户信息中是否包含身份证号,如果用户信息中包含身份证号,将身份证号作为关键字,查找数据表中是否包含该用户信息。如果用户信息中不包含身份证号,可以将其他内容作为关键字(如电话号码等),查找数据表中是否包含该用户信息。

该方法在录入用户信息时,可以根据用户录入信息查询是否存在相同的关键字信息以确保不会出现相同输入信息产生不同的网络身份。

步骤s206,向用户终端发送用户已有网络身份的通知。

步骤s208,对用户信息进行加密运算,为用户生成一个唯一的网络身份。

步骤s210,将生成的网络身份发送至用户终端。

用户可以将该网络身份共享至需要进行身份认证的网络服务器。由于该网络身份与用户是唯一对应的,因此可以用于在多个网站服务器或应用软件的服务器上进行认证,同时用户信息是加密的,降低用户的个人信息被泄露的风险,提高了用户信息的安全性。

实施例三

与上述两个实施例相对应地,本实施例提供了另一种可共享的网络身份生成方法,应用于用户终端。如图3所示,该方法包括如下步骤:

步骤s302,接收用户输入的用户信息。

该用户信息可以包括用户的姓名、身份证号、生物特征信息、电话号码等。

步骤s304,根据用户信息生成申请网络身份的请求,并将申请网络身份的请求发送至网络身份签发服务器。

步骤s306,接收网络身份签发服务器返回的网络身份。

步骤s308,根据网络身份,生成对应的认证二维码。

本地终端或其它终端程序可以使用二维码扫码工具识别该认证二维码,提取认证二维码内容,并提交给需要认证的服务端;服务端通过国密对称算法解密认证二维码内容,验证用户的网络身份。

为了更便于理解,图4示出了本发明实施例的网络身份签发服务器与用户终端之间的交互图。如图4所示,用户终端接收用户输入的用户信息,根据用户信息生成申请网络身份的请求,并将申请网络身份的请求发送至网络身份签发服务器。网络身份签发服务器接收到用户终端发送的申请网络身份的请求后,对用户信息进行加密运算,为所述用户生成一个唯一的网络身份,将生成的网络身份发送至用户终端。用户终端接收网络身份签发服务器返回的网络身份,根据网络身份,生成对应的认证二维码。

用户可以使用该认证二维码将该网络身份共享至需要进行身份认证的网络服务器。由于该网络身份与用户是唯一对应的,因此可以用于在多个网站服务器或应用软件的服务器上进行认证,同时用户信息是加密的,降低用户的个人信息被泄露的风险,提高了用户信息的安全性。

本发明实施例提供的可共享的网络身份生成方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

需要说明的是,在本发明所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1