发明内容
本发明的目的在于提供一种身份认证方法、装置及系统,该方法可以避免帐号被盗取的风险,并且在身份认证的整个过程中不需要与用户交互,无硬件成本,系统自动完成,用户零门槛,可以覆盖所有用户,从而实现对帐号进行安全、便捷、低成本的保护。
为解决上述问题,本发明提供一种身份认证方法,包括:
客户端向服务器端发出帐号认证的请求;
服务器端判断所述客户端是否有大文件;
若有大文件,所述服务器端判断所述帐号是否已与所述大文件绑定,若已绑定则直接进行身份认证,若未绑定则将所述帐号与所述大文件绑定,再进行身份认证;
若无大文件,所述客户端进行初始化以生成大文件,然后将所述帐号与所述大文件绑定,再进行身份认证。进一步的,在上述方法中,所述客户端进行初始化以生成大文件的步骤包括:
所述客户端读取其硬盘的剩余空间值;
所述服务器端向所述客户端下发本地算法、一密钥及大文件的序列号;
所述客户端根据所述本地算法、密钥和所述硬盘的剩余空间值生成所述大文件;
所述服务器端将所述序列号与所述密钥的对应关系、所述客户端与所述序列号的对应关系存储入所述客户端的数据库。
进一步的,在上述方法中,所述客户端进行初始化以生成大文件的步骤包括:
所述客户端读取其硬盘的剩余空间值并发送给所述服务器端;
所述服务器端向所述客户端下发本地算法、一密钥、大文件的序列号并根据所述硬盘的剩余空间值向所述客户端下发所述大文件的片数值;
所述客户端根据所述本地算法、密钥、所述硬盘的剩余空间值和所述片数值在客户端上生成所述大文件;
所述服务器端将所述序列号与所述密钥的对应关系、所述客户端与所述序列号的对应关系存储入所述客户端的数据库。
进一步的,在上述方法中,将所述帐号与所述大文件绑定的步骤包括:
所述服务器端与所述客户端之间通过帐号的认证短信对所述帐号进行绑定;
所述服务器端建立所述帐号与所述序列号的对应关系,并将所述帐号与所述序列号的对应关系存储入数据库,以将所述帐号与大文件绑定。
进一步的,在上述方法中,所述身份认证步骤包括:
所述客户端向所述服务器端发出帐号认证的请求;
所述服务器端指定大文件中的特定位置,并将所述特定位置发送给客户端;
所述客户端读取所述特定位置的偏移值并上报给服务器端;
所述服务器端根据所述大文件的序列号在所述数据库查询生成所述大文件的密钥,并通过所述密钥、本地算法以及特定位置,计算出所述大文件的特定位置的计算值;
将所述特定位置的偏移值与所述计算值比较,如果两值相等,则认证成功;如两值不相等,则认证失败。
根据本发明的另一面,提供一种身份认证的初始化装置,包括,
服务器端,用于向所述客户端发送生成所述大文件的本地算法;
客户端,用于读取其硬盘的剩余空间值并生成对帐号进行身份认证的大文件;
数据库,用于存储生成所述大文件时的对应关系数据。
进一步的,在上述装置中,所述服务器端包括,
参数模块,用于向所述客户端下发生成大文件的本地算法和密钥、大文件的序列号以及根据所述硬盘的剩余空间值确定的大文件的片数值;
初始化模块,用于将生成所述大文件时的对应关系数据存储入所述数据库。
进一步的,在上述装置中,所述客户端包括,
硬盘读取模块,用于读取所述客户端的硬盘的剩余空间值并发送给所述服务器端;
大文件模块,用于根据所述本地算法、密钥、所述硬盘的剩余空间值以及所述大文件的片数值,在客户端生成大文件并进行存储。
进一步的,在上述装置中,所述数据库包括,
序列号密钥模块,用于存储所述序列号和所述密钥的对应关系数据;
客户端序列号模块,用于存储所述客户端和所述序列号的对应关系数据。
根据本发明的另一面,提供一种身份认证的绑定装置,包括:
短信接收端,用于接收服务器端发出的帐号的认证短信;
客户端,用于存储所述大文件,并向所述服务器端发回所述认证短信;
所述服务器端,用于通过所述认证短信建立所述帐号与所述大文件的序列号的对应关系;
所述数据库,用于存储所述帐号与所述序列号的对应关系数据。
进一步的,在上述装置中,所述客户端包括,
短信发回模块,用于向所述服务器端发回所述认证短信;
大文件模块,用于存储所述大文件。
进一步的,在上述装置中,所述服务器端包括,
短信发出模块,用于向所述客户端发出所述认证短信;
短信认证模块,用于比较所述短信发回模块所发回的认证短信与所述短信发出模块所发出的认证短信是否一致;
帐号绑定模块,用于建立所述帐号与所述序列号的对应关系,并将所述帐号与所述序列号的对应关系数据存储入所述数据库。
进一步的,在上述装置中,所述数据库包括,
帐号序列号模块,用于存储所述帐号和所述序列号的对应关系数据。
根据本发明的另一面,提供一种身份认证的认证装置,包括,
数据库,用于存储帐号进行身份认证时需要使用的对应关系数据;
客户端,用于存储对帐号进行身份认证的大文件,向服务器端发出所述帐号的认证请求以及读取所述大文件中特定位置的偏移值并发送给服务器端;
所述服务器端,用于指定所述大文件的特定位置,计算大文件中特定偏移的计算值,并将所述偏移值和所述计算值比较,如果两值相等,则认证成功,如两值不相等,则认证失败。
进一步的,在上述装置中,所述数据库包括:
帐号序列号模块,用于存储所述帐号和所述大文件的序列号的对应关系数据;
序列号密钥模块,用于存储所述序列号和所述大文件的密钥的对应关系数据;
客户端序列号模块,用于存储所述客户端和所述序列号的对应关系数据。
进一步的,在上述装置中,所述客户端包括,
大文件模块,用于存储所述大文件;
认证请求模块,用于向所述服务器端发出所述帐号的认证请求;
偏移读取模块,用于读取所述特定位置的偏移值并上报给所述服务器端。
进一步的,在上述装置中,所述服务器端包括,
参数模块,用于存储所述大文件的本地算法;
偏移指定模块,用于指定所述大文件中特定位置并发送给所述偏移读取模块;
计算模块,用于根据所述序列号在所述数据库中查询生成所述大文件的密钥,并通过所述密钥、所述本地算法以及所述特定位置,计算出所述大文件的特定位置的计算值;
比较模块,用于将所述偏移值和所述计算值比较,如果两值相等,则认证成功,如两值不相等,则认证失败。
根据本发明的另一面,提供一种身份认证系统,包括,
客户端,用于读取其硬盘的剩余空间值、生成对帐号进行身份认证的大文件并存储大文件以及对服务器端发送的帐号的认证短信进行响应;
服务器端,用于根据所述硬盘的剩余空间值向所述客户端下发所述大文件的片数值以及生成所述大文件的本地算法和密钥、通过所述认证短信对所述帐号进行绑定、对所述帐号进行认证;
短信接收端,用于接收服务器端发出的帐号的认证短信;
数据库,用于存储进行身份认证的对应关系数据。
进一步的,在上述系统中,所述客户端包括,
硬盘读取模块,用于读取所述客户端的硬盘的剩余空间值并发送给所述服务器端;
大文件模块,用于根据所述本地算法、密钥、所述硬盘的剩余空间值以及所述大文件的片数值,在客户端生成大文件并进行存储;
短信发回模块,用于向所述服务器端发回所述认证短信;
认证请求模块,用于向所述服务器端发出所述帐号的认证请求;
偏移读取模块,用于读取所述大文件的特定位置的偏移值并上报给所述服务器端。
进一步的,在上述系统中,所述服务器端包括,
参数模块,用于向所述客户端下发本地算法、密钥、所述大文件的序列号以及大文件的片数值;
初始化模块,用于将生成所述大文件时的对应关系数据存储入所述数据库;
短信发出模块,用于向所述客户端发出所述认证短信;
短信认证模块,用于比较所述短信发回模块所发回的认证短信与所述短信发出模块所发出的认证短信是否一致;
帐号绑定模块,用于建立所述帐号与所述序列号的对应关系,并将所述帐号与所述序列号的对应关系数据存储入所述数据库;
偏移指定模块,用于指定所述大文件中的特定位置并发送给所述偏移读取模块;
计算模块,用于根据所述大文件的序列号在所述数据库中查询生成所述大文件的密钥,并通过所述密钥、所述本地算法以及所述特定位置,计算出所述大文件的特定位置的计算值;
比较模块,用于将所述偏移值和所述计算值比较,如果两值相等,则认证成功,如两值不相等,则认证失败。
进一步的,在上述系统中,所述数据库包括:
序列号密钥模块,用于存储所述序列号和所述密钥的对应关系数据;
客户端序列号模块,用于存储所述客户端和所述序列号的对应关系数据;
帐号序列号模块,用于存储所述帐号和所述大文件的序列号的对应关系数据。
与现有技术相比,本发明通过客户端根据所述本地算法、密钥和所述剩余空间值生成一个大文件,为该大文件分配一个唯一的序列号,所述服务器端建立所述帐号和所述序列号的对应关系,将所述帐号和所述序列号的对应关系存储入数据库,所述服务器端将特定偏移的读取值与计算值核对实现了帐号的身份认证,生成的供认证用的大文件由于容量大,所以难以盗取,而且服务器端仅存储有难以盗取密钥和大文件的序列号,用户只要在客户端生成一次大文件并进行帐号绑定,今后只要用户使用该帐号从同一客户端登录,则所有认证的步骤系统会自动完成,无硬件成本,整个认证过程不需要同用户进行交互,非常便捷,实现对用户帐号的安全保护。
具体实施方式
以下结合附图和具体实施例对本发明提出通讯录系统及方法进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。
图1是本发明一实施例的身份认证方法的流程图。如图1所示,所述身份认证方法包括如下步骤:
步骤S1,客户端向服务器端发出帐号认证的请求;
步骤S2,服务器端判断所述客户端是否有大文件;
若有大文件,所述服务器端判断所述帐号是否已与所述大文件绑定(如图1中步骤S3),若已绑定则直接进行身份认证(如图1中步骤S4),若未绑定则将所述帐号与所述大文件绑定(如图1中步骤S5),再进行身份认证(如图1中步骤S4);
若无大文件,所述客户端进行初始化以生成大文件(如图1中步骤S6),然后将所述帐号与所述大文件绑定(如图1中步骤S5),再进行身份认证(如图1中步骤S4)。
如图2所示,所述客户端进行初始化以生成大文件的步骤包括::
步骤S61,所述客户端读取其硬盘的剩余空间值;
步骤S62,所述服务器端向所述客户端下发本地算法、一密钥及大文件的序列号,所述序列号为与欲生成的大文件相对应的唯一的序列号;
步骤S63,所述客户端根据所述本地算法、密钥和所述硬盘的剩余空间值生成所述大文件,具体来说,客户端读取其硬盘的剩余空间值(步骤S61)是为了根据硬盘的剩余空间的实际大小,选择确定生成适合大小的大文件,此步骤生成多大的大文件,可由用户自行选择,也可由客户端自动确定,一般来说,在客户端大文件应尽量生成得大些,从而有效防止整个大文件被盗取;
步骤S64,所述服务器端将所述序列号与所述密钥的对应关系、所述客户端与所述序列号的对应关系存储入所述客户端的数据库,以便后续在执行帐号与大文件绑定的步骤时服务器端进行相关查询,其中所述序列号和所述密钥是一对一的对应关系,即一个密钥只能跟一个序列号对应,由于一个大文件只能对应到一个唯一的序列号,所以密钥-序列号-大文件之间也是一对一的对应关系,所述客户端和所述序列号也是一对一的对应关系,即一个客户端只需生成一个大文件即可,随后可以安排不同的帐户同该大文件的序列号绑定,以节省客户端的硬盘资源,所以客户端-序列号-大文件之间是一对一的对应关系。
如图3所示,本发明另一实施例的所述客户端进行初始化以生成大文件的步骤包括:
步骤S611,此步骤与图2中步骤S61不同之处在于,所述客户端读取其硬盘的剩余空间值后,还将读取到的剩余空间值发送给所述服务器端;
步骤S612,此步骤与图2中步骤S62不同之处在于,所述服务器端向所述客户端下发本地算法、一密钥、大文件的序列号的同时,还根据所述硬盘的剩余空间值向所述客户端下发所述大文件的片数值,由于要在客户端生成的大文件比较大,在后续身份认证中(步骤S4),要读取大文件位置中的特定位置的偏移值时,需要耗费大量的时间才能读取到所述偏移值,因此,这里增加了一个根据所述硬盘的剩余空间值向所述客户端下发所述大文件的片数值的步骤,这样在生成大文件前不仅根据客户端硬盘的剩余空间的大小来决定生成大文件的大小,而且可以根据要生成的大文件的大小决定大文件可分解为多少片子文件,具体来说,客户端上生成的大文件是由带序号的各个子文件按顺序首尾相连组成的,所述序号可从1开始编号,其中所述片数值是指组成大文件的若干个子文件的个数,最后一个子文件的序号等于所述片数值,这样在后续身份认证中(步骤S4),可以通过先定位子文件再快速定位到指定的特定位置的,从而加快了读取特定位置的偏移值的速度;
步骤S613,此步骤与图2中步骤S63不同之处在于,所述客户端根据所述本地算法、密钥、所述硬盘的剩余空间值和所述片数值在客户端上生成所述大文件,具体来说,大文件是由带序号的各个子文件按顺序首尾相连组成;
步骤S614,所述服务器端将所述序列号与所述密钥的对应关系、所述客户端与所述序列号的对应关系存储入所述客户端的数据库。
由于目前网络速度以及木马的运营方式,盗取生成该大文件的密钥和本地算法的成本非常高,而且由于生成的大文件数据量较大,盗号者如果想盗取该大文件,则需要从传统的租用空间运营模式要转换为独立主机运营模式,运营成本更高,本方法能够保证无论是大文件本身,还是生成该大文件的密钥和本地算法都无法盗取,从而实现了对用户使用的帐号的有效保护。
如图4所示,所述帐号与所述大文件绑定的步骤包括:
步骤S51,所述服务器端与所述客户端之间通过帐号的认证短信对所述帐号进行绑定;
步骤S52,所述服务器端建立所述帐号与所述序列号的对应关系,并将所述帐号与所述序列号的对应关系存储入数据库,以将所述帐号与大文件绑定,为后续进行身份认证(如图1步骤S4)时供服务器端进行相关查询。
需要说明的是,在客户端第一次生成大文件时,需要接着执行绑定步骤;当客户端需要增加绑定的帐号时,也需要接着执行绑定步骤;当用户更换客户端时,且更换后的客户端已经生成过大文件,但用户需要使用的帐号未与该客户的大文件的序列号绑定时,还是需要接着执行绑定步骤。具体来说,帐号与序列号的关系是多对多的对应关系,即一个帐号可以分别同多个不同客户端上的大文件的序列号对应,一个客户端上的大文件的序列号也可以与多个帐号对应。
经过前面的所述客户端进行初始化以生成大文件的步骤,以及所述帐号与所述大文件绑定的步骤后,所述数据库中存有帐号--序列号的绑定关系记录,这种绑定关系是通过建立帐号与大文件所对应的唯一的序列号之间的对应关系来实现的,如果用户帐号与客户端机器上的大文件已经绑定,则服务器端通过查询该数据库,就能找到帐号--序列号之间对应关系数据,确定用户帐号与客户端机器上的大文件已经绑定,则可以直接执行身份认证的步骤S4,具体来说,如图5所示,所述身份认证的步骤S4,包括:
步骤S41,所述客户端向所述服务器端发出帐号认证的请求。步骤S42,所述服务器端指定大文件中的特定位置,并将所述特定位置发送给客户端,所述特定位置指服务器端随机指定客户端上已经过绑定的大文件中的某个具体位置给客户端。
步骤S43,所述客户端读取所述特定位置的偏移值并上报给服务器端,具体来说,客户端读取由服务器端随机指定的客户端上已经过绑定的大文件中的某个具体位置的值并上报给服务器端。
步骤S44,所述服务器端根据所述大文件的序列号在所述数据库查询生成所述大文件的密钥,并通过所述密钥、本地算法以及特定位置,计算出所述大文件的特定位置的计算值;具体来说,本步骤中,计算值是通过密钥、本地算法以及特定位置在服务器端计算得出,不需要在服务器端先生成大文件,然后再在服务器端读取该大文件的特定位置的偏移值,这样充分节省了服务器端的硬盘空间。
步骤S45,将所述特定位置的偏移值与所述计算值比较,如果两值相等,则认证成功;如两值不相等,则认证失败。
本实施例中,只要客户端已生成了大文件,并且该大文件的序列号已经同帐号绑定,今后用户只要使用该帐号从同一客户端登录,则上述认证的步骤系统会自动完成,无硬件成本,整个认证过程不需要同用户进行交互,非常便捷,实现对用户使用的帐号的安全保护。
如图6所示,本发明还提供一种身份认证的初始化装置,包括:
服务器端2,用于向所述客户端1发送生成所述大文件的本地算法;
客户端1,用于读取其硬盘的剩余空间值并生成对帐号进行身份认证的大文件;以及
数据库3,用于存储生成所述大文件时的对应关系数据。
进一步的,所述服务器端2包括:参数模块21,用于向所述客户端1下发生成大文件的本地算法和密钥、大文件的序列号以及根据所述硬盘的剩余空间值确定的大文件的片数值;以及初始化模块22,用于将生成所述大文件时的对应关系数据存储入所述数据库3。
进一步的,所述客户端1包括:硬盘读取模块11,用于读取所述客户端1的硬盘的剩余空间值并发送给所述服务器端2;以及大文件模块12,用于根据所述本地算法、密钥、所述硬盘的剩余空间值以及所述大文件的片数值,在客户端1生成大文件并进行存储。
进一步的,所述数据库3包括:序列号密钥模块31,用于存储所述序列号和所述密钥的对应关系数据;以及客户端序列号模块32,用于存储所述客户端和所述序列号的对应关系数据。
由于目前网络速度以及木马的运营方式,盗取生成该大文件的密钥和本地算法的成本非常高,而且由于生成的大文件数据量较大,盗号者如果想盗取该大文件,则需要从传统的租用空间运营模式要转换为独立主机运营模式,运营成本更高,本实施例的装置能够保证无论是大文件本身,还是生成该大文件的密钥和本地算法都无法盗取,从而实现了对用户帐号的有效保护。
如图7所示,本发明还提供一种身份认证的绑定装置,包括:
短信接收端4,用于接收服务器端2发出的帐号的认证短信;
客户端1,用于存储所述大文件,并向所述服务器端2发回所述认证短信;
所述服务器端2,用于通过所述认证短信建立所述帐号与所述大文件的序列号的对应关系;以及
所述数据库3,用于存储所述帐号与所述序列号的对应关系数据。
进一步的,所述客户端1包括:短信发回模块13,用于向所述服务器端2发回所述认证短信;以及大文件模块12,用于存储所述大文件。
进一步的,所述服务器端2包括:短信发出模块23,用于向所述客户端1发出所述认证短信;短信认证模块24,用于比较所述短信发回模块13所发回的认证短信与所述短信发出模块23所发出的认证短信是否一致;以及帐号绑定模块25,用于建立所述帐号与所述序列号的对应关系,并将所述帐号与所述序列号的对应关系数据存储入所述数据库3。
进一步的,所述数据库3包括:帐号序列号模块33,用于存储所述帐号和所述序列号的对应关系数据。
本实施例的装置能够在帐号与序列号之间建立绑定的对应关系,而且这种对应关系可以是多对多的对应关系,即一个帐号可以同多个客户端上的大文件的序列号对应,一个客户端上的大文件的序列号可以与多个帐号对应,从而帐号与序列号之间快速、安全绑定。
如图8所示,本发明还提供一种身份认证的认证装置,包括,
数据库3,用于存储帐号进行身份认证时需要使用的对应关系数据;
客户端1,用于存储对帐号进行身份认证的大文件,向服务器端2发出帐号的认证请求以及读取所述大文件中特定位置的偏移值并发送给服务器端2;以及
所述服务器端2,用于指定所述大文件的特定位置,计算大文件中特定偏移的计算值,并将所述偏移值和所述计算值比较,如果两值相等,则认证成功,如两值不相等,则认证失败。
进一步的,所述数据库3包括:帐号序列号模块33,用于存储所述帐号和所述大文件的序列号的对应关系数据;序列号密钥模块31,用于存储所述序列号和所述大文件的密钥的对应关系数据;以及客户端序列号模块32,用于存储所述客户端和所述序列号的对应关系数据。
进一步的,所述客户端1包括:大文件模块12,用于存储所述大文件;认证请求模块14,用于向所述服务器端2发出所述帐号的认证请求;以及偏移读取模块15,用于读取所述特定位置的偏移值并上报给所述服务器端2。
进一步的,所述服务器端2包括:参数模块21,用于存储所述大文件的本地算法;偏移指定模块26,用于指定所述大文件中特定位置并发送给所述偏移读取模块15;计算模块27,用于根据所述序列号在所述数据库3查询生成所述大文件的密钥,并通过所述密钥、所述本地算法以及所述特定位置,计算出所述大文件的特定位置的计算值;以及比较模块28,用于将所述偏移值和所述计算值比较,如果两值相等,则认证成功,如两值不相等,则认证失败。
本实施例中,只要客户端已生成了大文件,并且该大文件的序列号已经同帐号绑定,今后只要用户使用该帐号从同一客户端登录,则上述认证的步骤系统会自动完成,无硬件成本,整个认证过程不需要同用户进行交互,非常便捷,实现对用户帐号的安全保护。
如图9所示,本发明还提供一种身份认证系统,包括:
客户端1,用于读取其硬盘的剩余空间值、生成对帐号进行身份认证的大文件并存储大文件以及对服务器端2发送的帐号的认证短信进行响应;
服务器端2,用于根据所述硬盘的剩余空间值向所述客户端1下发所述大文件的片数值以及生成所述大文件的本地算法和密钥、通过所述认证短信对所述帐号进行绑定、对所述帐号进行认证;
短信接收端4,用于接收服务器端2发出的帐号的认证短信;以及
数据库3,用于存储进行身份认证的对应关系数据。
进一步的,所述客户端1包括:
硬盘读取模块11,用于读取所述客户端1的硬盘的剩余空间值并发送给所述服务器端2;
大文件模块12,用于根据所述本地算法、密钥、所述硬盘的剩余空间值以及所述大文件的片数值,在客户端生成大文件并进行存储;
短信发回模块13,用于向所述服务器端2发回所述认证短信;
认证请求模块14,用于向所述服务器端2发出所述帐号的认证请求;以及
偏移读取模块15,用于读取所述大文件的特定位置的偏移值并上报给所述服务器端2。
进一步的,所述服务器端2包括:
参数模块21,用于向所述客户端下发本地算法、密钥、所述大文件的序列号以及大文件的片数值;
初始化模块22,用于将生成所述大文件时的对应关系数据存储入所述数据库3;
短信发出模块23,用于向所述客户端1发出所述认证短信;
短信认证模块24,用于比较所述短信发回模块13所发回的认证短信与所述短信发出模块23所发出的认证短信是否一致;
帐号绑定模块25,用于建立所述帐号与所述序列号的对应关系,并将所述帐号与所述序列号的对应关系数据存储入所述数据库3;
偏移指定模块26,用于指定所述大文件中的特定位置并发送给所述偏移读取模块15;
计算模块27,用于根据所述大文件的序列号在所述数据库3中查询生成所述大文件的密钥,并通过所述密钥、所述本地算法以及所述特定位置,计算出所述大文件的特定位置的计算值;以及
比较模块28,用于将所述偏移值和所述计算值比较,如果两值相等,则认证成功,如两值不相等,则认证失败。
进一步的,所述数据库包3包括:
序列号密钥模块31,用于存储所述序列号和所述密钥的对应关系数据;
客户端序列号模块32,用于存储客户端和序列号的对应关系数据;以及
帐号序列号模块33,用于存储所述帐号和大文件的序列号的对应关系数据。
图10是本发明一实施例的身份认证方法的执行初始化、绑定和认证的步骤的时序图。如图10所示,在客户端没有大文件的情况下,则用户必须依次执行初始化、绑定和认证的步骤,以实现在客户端生成大文件,并将该大文件的序列号与帐号进行绑定,最后对帐号进行安全认证,具体包括如下步骤:
步骤T1,客户端向服务器端发送请求帐号的认证请求;
步骤T2,服务器端向数据库查询客户端是否有大文件并且大文件是否绑定,本实施列中假设服务器端经过查询后发现客户端没有大文件;
步骤T3,客户端读取其硬盘的剩余空间值发送给所述服务器端;
步骤T4,服务器端向客户端下发本地算法、一个唯一的密钥、一个唯一序列号以及根据所述剩余空间值下发大文件的片数值;
步骤T5,客户端根据所述本地算法、密钥和所述片数在客户端的机器上生成一个大文件;
步骤T6,所服务器端通过认证短信对客户端帐号进行身份认证,所述服务器端建立所述帐号和客户端大文件的序列号的对应关系,从而完成帐号绑定;
步骤T7,服务器端请求客户端认证,具体来说,服务器端指定客户端已经建立帐号与序列号对应关系的大文件特定位置并发送给客户端;
步骤T8,客户端上报认证,具体来说,客户端读取所述特定位置的偏移值上报给服务器端;
步骤T9,服务器端进行结果认证,具体来说,服务器端先根据客户端大文件的序列号查询所述数据库,找到对应生成所述大文件的密钥,然后通过密钥、本地算法以及特定偏移,计算出指定客户端大文件的特定位置的计算值,最后将所述偏移值与计算值核对,如果两值相等,则认证成功,如两值不等,则认证失败;
步骤T10,对应关系存储入数据库,服务器端将所述序列号和所述密钥的对应关系、所述客户端和所述序列号的对应关系存储入所述数据库,将所述帐号和序列号的对应关系存储入数据库。
本实施例在客户端生成大文件,并将大文件的序列号与帐号进行绑定,最后执行帐号认证的步骤,由于目前网络速度以及木马的运营方式,盗取生成该大文件的密钥和本地算法的成本非常高,而且由于生成的大文件数据量较大,盗号者如果想盗取该大文件,则需要从传统的租用空间运营模式要转换为独立主机运营模式,运营成本更高,本实施例能够保证无论是大文件本身,还是生成该大文件的密钥和本地算法都无法盗取,从而实现了对用户使用的帐号的有效保护。
图11是本发明身份认证方法的只执行认证的步骤的时序图。如图11所示,在客户端有大文件,且该大文件的序列号已经同帐号绑定的情况下,则用户只要执行的认证步骤的步骤即可实现对帐号的安全认证,具体包括如下步骤:
步骤T1,客户端向服务器端发送帐号认证的请求;
步骤T2,服务器端向数据库查询客户端是否有大文件并且大文件是否绑定,本实施列中假设服务器端经过查询后发现客户端有大文件且已经与帐号绑定;
步骤T7,服务器端请求客户端认证,具体来说,服务器端指定客户端已经建立帐号与序列号对应关系的大文件特定位置并发送给客户端。
步骤T8,客户端上报认证,具体来说,客户端读取所述特定位置的偏移值上报给服务器端。
步骤T9,服务器端进行结果认证,具体来说,服务器端先根据客户端大文件的序列号查询所述数据库,找到对应生成所述大文件的密钥,然后通过密钥、本地算法以及特定偏移,计算出指定客户端大文件的特定位置的计算值,最后将所述偏移值与计算值核对,如果两值相等,则认证成功,如两值不等,则认证失败。
步骤T11,服务器端记录结果认证的流水,用于事后提供给用户查询。
本实施例中,只要客户端已生成了大文件,并且该大文件的序列号已经同帐号绑定,今后只要用户使用该帐号从同一客户端登录,则上述认证的步骤系统会自动完成,无硬件成本,整个认证过程不需要同用户进行交互,非常便捷,实现对用户帐号的安全保护。
综上所述,本发明通过客户端根据所述本地算法、密钥和所述剩余空间值生成一个大文件,为该大文件分配一个唯一的序列号,所述服务器端建立所述帐号和所述序列号的对应关系,将所述帐号和所述序列号的对应关系存储入数据库,所述服务器端将特定偏移的读取值与计算值核对实现了帐号的身份认证,生成的供认证用的大文件由于容量大,所以难以盗取,而且服务器端仅存储有难以盗取密钥和大文件的序列号也,用户只要在客户端生成一次大文件并进行帐号绑定,今后只要用户使用该帐号从同一客户端登录,则所有认证的步骤系统会自动完成,无硬件成本,整个认证过程不需要同用户进行交互,非常便捷,实现对用户帐号的安全保护。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,介是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可檫除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意或其它形式的存储介质中。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。