安全校验方法、装置、终端及服务器
技术领域
本申请涉及通信技术领域,尤其涉及安全校验方法、装置、终端及服务器。
背景技术
随着智能终端的发展和网络应用的开发,用户通过终端上安装的各种应用客户端可以对各种网络应用进行访问,在访问过程中,用户往往需要进行身份认证、会员注册、网络交易等,此时应用服务器会对用户身份进行验证。传统的验证方式为应用服务器校验,即用户通过终端向应用服务器发送预设的校验密码,应用服务器验证该校验密码与用户注册时的密码一致时,通过校验。但是上述校验方式中的校验密码容易被恶意第三方通过木马程序窃取,因此现有技术中在校验时,可以采用终端本地校验替代应用服务器校验,即终端基于应用服务器发送的校验提示信息,在终端本地进行基于用户生物特征的指纹校验,或基于动态识别的手势校验等,从而完成对用户的身份校验,并将校验结果发送给服务器。
然而,采用终端本地校验替代应用服务器校验时,当恶意第三方模拟终端与服务器交互,并将伪造的终端本地的校验结果发送给服务器时,服务器由于无法确定作为替代校验方式的终端本地校验方式的可信性,从而导致现有安全校验方式可靠性较差,网络应用的访问安全性不高。
发明内容
本申请提供安全校验方法、装置、终端及服务器,以解决现有技术中安全校验方式可靠性较差的问题。
根据本申请实施例的第一方面,提供一种安全校验方法,所述方法包括:
在终端用户进行安全校验时,通过更新校验方式进行本地校验,获得本地校验结果;
根据保存的替换凭证信息对所述本地校验结果进行加密,获得加密校验结果,所述替换凭证信息为采用所述更新校验方式替换原始校验方式时生成的信息;
将所述加密校验结果、所述本地校验结果和所述终端用户的用户信息发送至服务器,以使所述服务器通过与所述用户信息对应的替换凭证信息对所述加密校验结果验证通过时,确定所述本地校验结果可信。
根据本申请实施例的第二方面,提供另一种安全校验方法,所述方法包括:
接收终端发送的加密校验结果、本地校验结果和终端用户的用户信息,所述加密校验结果为所述终端根据保存的替换凭证信息对所述本地校验结果进行加密生成的加密校验结果,所述替换凭证信息为所述终端采用更新校验方式替换原始校验方式时生成的信息,所述本地校验结果为所述终端用户进行安全校验时,由所述终端通过所述更新校验方式进行本地校验获得的校验结果;
获得与所述用户信息对应的替换凭证信息;
通过与所述用户信息对应的替换凭证信息对所述加密校验结果进行验证,当验证通过时,确定所述本地校验结果可信。
根据本申请实施例的第三方面,提供一种安全校验装置,所述装置包括:
校验单元,用于在终端用户进行安全校验时,通过更新校验方式进行本地校验,获得本地校验结果;
加密单元,用于根据保存的替换凭证信息对所述本地校验结果进行加密,获得加密校验结果,所述替换凭证信息为采用所述更新校验方式替换原始校验方式时生成的信息;
第一发送单元,用于将所述加密校验结果、所述本地校验结果和所述终端用户的用户信息发送至服务器,以使所述服务器通过与所述用户信息对应的第二替换凭证信息对所述加密校验结果验证通过时,确定所述本地校验结果可信。
根据本申请实施例的第四方面,提供另一种安全校验装置,所述装置包括:
第一接收单元,用于接收终端发送的加密校验结果、本地校验结果和终端用户的用户信息,所述加密校验结果为所述终端根据保存的替换凭证信息对所述本地校验结果进行加密生成的加密校验结果,所述替换凭证信息为所述终端采用更新校验方式替换原始校验方式时生成的信息,所述本地校验结果为所述终端用户进行安全校验时,由所述终端通过所述更新校验方式进行本地校验获得的校验结果;
获得单元,用于获得与所述用户信息对应的替换凭证信息;
校验单元,用于通过与所述用户信息对应的替换凭证信息对所述加密校验结果进行验证,当验证通过时,确定所述本地校验结果可信。
根据本申请实施例的第五方面,提供一种终端,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
在终端用户进行安全校验时,通过更新校验方式进行本地校验,获得本地校验结果;
根据保存的替换凭证信息对所述本地校验结果进行加密,获得加密校验结果,所述替换凭证信息为采用所述更新校验方式替换原始校验方式时生成的信息;
将所述加密校验结果、所述本地校验结果和所述终端用户的用户信息发送至服务器,以使所述服务器通过与所述用户信息对应的替换凭证信息对所述加密校验结果验证通过时,确定所述本地校验结果可信。
根据本申请实施例的第六方面,提供一种服务器,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收终端发送的加密校验结果、本地校验结果和终端用户的用户信息,所述加密校验结果为所述终端根据保存的替换凭证信息对所述本地校验结果进行加密生成的加密校验结果,所述替换凭证信息为所述终端采用更新校验方式替换原始校验方式时生成的信息,所述本地校验结果为所述终端用户进行安全校验时,由所述终端通过所述更新校验方式进行本地校验获得的校验结果;
获得与所述用户信息对应的替换凭证信息;
通过与所述用户信息对应的替换凭证信息对所述加密校验结果进行验证,当验证通过时,确定所述本地校验结果可信。
本申请实施例由于在采用更新校验方式替换原始校验方式时,终端和服务器均保存了为更新校验方式生成的替换凭证信息,因此在采用更新校验方式进行校验时,可以通过替换凭证信息对本地校验结果进行加密,而相应的服务器可以通过替换凭证信息对终端传输的加密后的加密校验结果进行验证,并在验证通过后确定本地校验结果可信。应用本申请实施例,由于恶意第三方无法获得替换凭证信息,即使其获取了本地校验结果也无法完成安全校验,因此本申请实施例可以提高安全校验的可靠性,保证网络应用的访问安全性。
附图说明
图1为本申请实施例的安全校验场景示意图;
图2A为本申请安全校验方法的一个实施例流程图;
图2B为本申请安全校验方法的另一个实施例流程图;
图3为本申请安全校验方法的另一个实施例流程图;
图4为本申请安全校验方法的另一个实施例流程图;
图5为本申请安全校验装置所在设备的一种硬件结构图;
图6为本申请安全校验装置的一个实施例框图;
图7为本申请安全校验装置的另一个实施例框图;
图8为本申请安全校验装置的另一个实施例框图;
图9为本申请安全校验装置的另一个实施例框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在基于互联网通信的场景中,用户可以通过所持终端上安装的各种应用客户端实现对各种网络应用的访问,在访问过程中,用户往往需要进行身份认证、会员注册、网络交易等,为了保证上述访问过程的安全性,需要服务器对用户身份进行安全性校验,现有技术中在进行安全校验时,逐步采用终端本地校验方式替代服务器端校验方式,但是由于替换过程中恶意第三方容易伪造终端本地的校验结果,与服务器进行交互,从而导致安全校验的可靠性较差。参见图1,为本申请实施例实现安全校验的应用场景示意图,其中终端与服务器之间的所有校验过程均基于互联网完成,在采用更新校验方式替换原始校验方式时,终端和服务器均保存了为更新校验方式生成的替换凭证信息,因此在采用更新校验方式进行校验时,可以通过替换凭证信息对本地校验结果进行加密,而相应的服务器可以通过替换凭证信息对终端传输的加密后的加密校验结果进行验证,并在验证通过后确定本地校验结果可信,以此提高安全校验的可靠性,保证网络应用的访问安全性,下面对本申请实施例进行详细说明。
参见图2A,为本申请安全校验方法的一个实施例的流程图,该实施例从实现安全校验的终端侧进行描述:
步骤201:在终端用户进行安全校验时,通过更新校验方式进行本地校验,获得本地校验结果。
本实施例中,可以将在服务器侧进行安全校验的方式称为原始校验方式,原始校验方式通常由服务器通过终端用户注册时保存的校验密码进行校验;可以将在终端本地进行安全校验的方式称为更新校验方式,更新校验方式可以包括指纹校验方式、手势校验方式、面部姿态校验方式等。
本实施例中在采用更新校验方式替换原始校验方式时,终端可以获得原始校验方式的第一原始校验凭证信息,其中,该第一原始校验凭证信息可以是终端用户在注册时设置的校验密码;终端为更新校验方式生成替换凭证信息,并将该第一原始校验凭证信息、替换凭证信息和终端用户的用户信息传输至服务器,其中,替换凭证信息可以为密钥或者随机串,用户信息可以为终端用户的用户名,进一步还可以包括终端的终端标识,通过用户信息可以唯一识别该终端用户;同时,终端可以在本地保存生成的替换凭证信息,例如将替换凭证信息保存到TEE(Trusted Execution Environment,可信运行环境)模块或SE(Security Environment,安全环境)模块。服务器在接收到第一原始校验凭证信息、替换凭证信息和终端用户的用户信息后,可以查找与该用户信息对应的第二原始校验凭证信息,该第二原始校验凭证信息可以是终端用户注册时,由终端向服务器发送的该终端用户设置的校验密码;服务器比较第二原始校验凭证信息与第一原始校验凭证信息一致时,可以保存替换凭证信息与用户信息之间的对应关系。
在终端用户进行安全校验时,终端可以通过更新校验方式进行本地校验,获得本地校验结果。在采用更新校验方式进行本地校验时,通常可以由服务器向终端发送校验提示信息,终端根据该校验提示信息实时获得本地校验结果。
步骤202:根据保存的替换凭证信息对本地校验结果进行加密,获得加密校验结果,该替换凭证信息为采用更新校验方式替换原始校验方式时生成的信息。
本实施例中,终端在得到本地校验结果后,可以获得已经保存的为更新校验方式生成的替换凭证信息,通过该替换凭证信息对本地校验结果进行加密,获得加密校验结果。根据替换凭证信息的类型不同,可以采用不同的加密方式,后续图3和图4示出的实施例中将分别以密钥和随机串为例进行详细描述,在此不再赘述。
步骤203:将加密校验结果、本地校验结果和终端用户的用户信息发送至服务器,以使服务器通过与该用户信息对应的替换凭证信息对加密校验结果验证通过时,确定本地校验结果可信。
由上述实施例可见,由于在采用更新校验方式替换原始校验方式时,终端和服务器均保存了为更新校验方式生成的替换凭证信息,因此在采用更新校验方式进行校验时,可以通过替换凭证信息对本地校验结果进行加密,而相应的服务器可以通过替换凭证信息对终端传输的加密后的加密校验结果进行验证,并在验证通过后确定本地校验结果可信。应用本申请实施例,由于恶意第三方无法获得替换凭证信息,即使其获取了本地校验结果也无法完成安全校验,因此该实施例可以提高安全校验的可靠性,保证网络应用的访问安全性。
参见图2B,为本申请安全校验方法的另一个实施例的流程图,该实施例从实现安全校验的服务器侧进行描述:
步骤211:接收终端发送的加密校验结果、本地校验结果和终端用户的用户信息。
参见前述步骤201中的描述,在采用更新校验方式替换原始校验方式时,终端可以获得原始校验方式的第一原始校验凭证信息,为更新校验方式生成替换凭证信息,并将该第一原始校验凭证信息、替换凭证信息和终端用户的用户信息传输至服务器;服务器在接收到第一原始校验凭证信息、替换凭证信息和终端用户的用户信息后,可以查找与该用户信息对应的第二原始校验凭证信息,服务器比较第二原始校验凭证信息与第一原始校验凭证信息一致时,可以保存替换凭证信息与用户信息之间的对应关系。
在终端用户进行安全校验时,终端将采用更新校验方式获得的本地校验结果、根据保存的替换凭证信息对本地校验结果进行加密生成的加密校验结果、以及终端用户的用户信息发送至服务器。
步骤212:获得与用户信息对应的替换凭证信息。
本实施例中,服务器在接收到加密校验结果、本地校验结果和终端用户的用户信息后,可以查找保存的替换凭证信息与用户信息之间的对应关系,获得与接收到的用户信息对应的替换凭证信息。
步骤213:通过与用户信息对应的替换凭证信息对加密校验结果进行验证,当验证通过时,确定本地校验结果可信。
本实施例中,服务器在通过替换凭证信息对较密校验结果进行验证时,根据替换凭证信息的类型不同,可以采用不同的验证方式,后续图3和图4示出的实施例中将分别以密钥和随机串为例进行详细描述,在此不再赘述。当服务器对加密校验结果验证通过时,可以确定终端发送的本地校验结果为可信的校验结果。
由上述实施例可见,由于在采用更新校验方式替换原始校验方式时,终端和服务器均保存了为更新校验方式生成的替换凭证信息,因此在采用更新校验方式进行校验时,可以通过替换凭证信息对本地校验结果进行加密,而相应的服务器可以通过替换凭证信息对终端传输的加密后的加密校验结果进行验证,并在验证通过后确定本地校验结果可信。应用本申请实施例,由于恶意第三方无法获得替换凭证信息,即使其获取了本地校验结果也无法完成安全校验,因此该实施例可以提高安全校验的可靠性,保证网络应用的访问安全性。
参见图3,为本申请安全校验方法的另一个实施例的流程图,该实施例以替换凭证信息是公钥和私钥为例,通过终端与服务器之间的交互详细描述了安全校验的过程:
步骤301:在采用更新校验方式替换原始校验方式时,终端获得原始校验方式的第一原始校验凭证信息。
本实施例中,可以将在服务器侧进行安全校验的方式称为原始校验方式,原始校验方式通常由服务器通过终端用户注册时保存的校验密码进行校验;可以将在终端本地进行安全校验的方式称为更新校验方式,更新校验方式可以包括指纹校验方式、手势校验方式、面部姿态校验方式等。
本实施例中在采用更新校验方式替换原始校验方式时,终端可以获得原始校验方式的第一原始校验凭证信息,其中,该第一原始校验凭证信息可以是终端用户在注册时设置的校验密码。在采用原始校验方式进行安全校验时,终端用户在终端的安全校验界面上输入注册时设置的用户名和校验密码,终端可以在安全校验请求中携带该用户名和校验密码,并将安全校验请求发送至服务器,服务器在保存的用户注册信息中查找与该用户名对应的校验密码,如果查找到的校验密码与终端发送的校验密码相同,则能够确认终端用户通过安全校验,从而可以对终端用户执行的业务操作进行放行。
步骤302:终端为更新校验方式生成公钥和私钥。
本实施例中,在确定采用更新校验方式替换原始校验方式后,终端可以为更新校验方式生成作为替换凭证信息的密钥,包括公钥和私钥,生成密钥可以采用现有技术中的各种密钥生成算法,在此不再赘述。
步骤303:终端将私钥保存到与终端用户关联的可信存储区域。
本实施例中可信存储区域可以包括TEE模块或SE模块,在终端生成公钥和私钥后,可以将私钥保存到可信存储区域。
步骤304:终端将第一原始校验凭证信息、公钥和终端用户的用户信息传输至服务器。
本实施例中用户信息可以为终端用户的用户名,例如,终端用户注册时设置的用户名,进一步该用户信息还可以包括终端的终端标识,例如,终端MAC(Media AccessControl,介质访问控制层)地址等,通过该用户信息可以唯一识别该终端用户。终端将获得的第一原始校验凭证信息、生成的公钥、以及终端用户的用户信息传输至服务器,以便服务器对第一原始校验凭证信息进行验证。
步骤305:服务器查找与该用户信息对应的第二原始校验凭证信息。
对于所有在服务器注册的终端用户,服务器保存了这些终端用户的用户信息与校验密码的对应关系,该校验密码即为校验凭证信息。本实施例中,当服务器接收到终端传输的第一原始校验凭证信息、公钥、以及终端用户的用户信息,可以查找用户信息与校验密码的对应关系,获得与接收到的用户信息对应的校验密码,该校验密码在本实施例中称为第二原始校验凭证信息。
步骤306:服务器比较第一原始校验凭证信息和第二原始校验凭证信息是否一致。
本实施例中,服务器比较接收到的第一原始校验凭证信息和查找到的第二原始校验凭证信息是否一致,即比较服务器保存的终端用户的校验密码与终端传输的校验密码是否相同,以便确定当前执行安全校验方式替换的对象是否为终端用户本人。
步骤307:当第一原始校验凭证信息与第二原始校验凭证信息一致时,服务器保存公钥与用户信息之间的对应关系。
当服务器根据比较结果确定第一原始校验凭证信息与第二原始校验凭证信息一致时,可以确定当前执行安全校验方式替换的对象为终端用户本人,此时服务器可以保存接收到的公钥与用户信息之间的对应关系。
步骤308:在终端用户进行安全校验时,终端通过更新校验方式进行本地校验,获得本地校验结果。
在终端用户进行安全校验时,终端可以通过更新校验方式进行本地校验,获得本地校验结果。在采用更新校验方式进行本地校验时,通常可以由服务器向终端发送校验提示信息,终端根据该校验提示信息实时获得本地校验结果;以更新校验方式是手势校验方式为例,假设服务器向终端返回手势校验提示信息为“2”,则终端用户按照该手势校验提示信息呈现两根手指,终端采用图像识别处理技术识别出该两根手指后,将识别结果“2”作为本地校验结果。
步骤309:终端根据可信存储区域保存的私钥对本地校验结果进行数字签名,获得签名信息。
本实施例中,终端在得到本地校验结果后,可以从可信存储区域中获取保存的私钥,利用该私钥对本地校验结果进行数字签名。数字签名技术是一种加密技术,其可以将摘要信息用发送者的私钥加密,与原文一起传送给接收者,接收者用发送者的公钥能解密被加密的摘要信息,然后用HASH(哈希)函数对收到的原文产生一个摘要信息,与解密的摘要信息对比,如果相同,则说明收到的信息未被修改,因此数字签名能够验证信息的完整性。本实施例对本地校验结果进行数字签名的具体过程可以参见现有数字签名技术的实现过程,在此不再赘述。
步骤310:终端将签名信息、本地校验结果和终端用户的用户信息发送至服务器。
步骤311:服务器通过查找保存的对应关系获得与接收到的用户信息对应的公钥。
参见前述步骤307,在采用更新校验方式替换本地校验方式时,服务器保存了公钥与用户信息之间的对应关系。本步骤中,服务器在接收到签名信息、本地校验结果和终端用户的用户信息后,可以查找前述对应关系,获得与接收到的用户信息对应的公钥。
步骤312:服务器通过查找到的公钥对接收到的签名信息进行验证,当验证通过时,确定接收到的本地校验结果可信。
与步骤309中终端本地进行的数字签名过程相对应,对签名信息进行验证是解密的过程。在验证签名信息时,服务器可以通过查找到的公钥对签名信息进行验证,具体验证过程与现有数字签名技术一致,在此不再赘述,在验证通过时,服务器可以确定接收到的本地校验结果为可信的校验结果。
进一步,服务器可以对该校验结果的准确性进行判断,在校验结果准确时,可以对终端用户当前业务操作进行放行,在校验结果不准确时,禁止终端用户执行当前业务操作。
由上述实施例可见,由于在采用更新校验方式替换原始校验方式时,终端保存了为更新校验方式生成的私钥,而服务器保存了为更新校验方式生成的公钥,因此在采用更新校验方式进行校验时,终端可以通过私钥对本地校验结果进行数字签名,而相应的服务器可以通过公钥对终端传输的签名信息进行验证,并在验证通过后确定本地校验结果可信。应用本申请实施例,由于恶意第三方无法获得私钥和公钥,即使其获取了本地校验结果也无法完成安全校验,因此该实施例可以提高安全校验的可靠性,保证网络应用的访问安全性。
参见图4,为本申请安全校验方法的另一个实施例的流程图,该实施例以替换凭证信息是随机串为例,通过终端与服务器之间的交互详细描述了安全校验的过程:
步骤401:在采用更新校验方式替换原始校验方式时,终端获得原始校验方式的第一原始校验凭证信息。
本步骤401的描述与前述步骤301一致,在此不再赘述。
步骤402:终端为更新校验方式生成随机串。
与图3中生成密钥作为替换凭证信息不同,本实施例中在确定采用更新校验方式替换原始校验方式后,终端可以为更新校验方式生成作为替换凭证信息的随机串,本申请实施例对生成随机串的具体算法不进行限制。
步骤403:终端将随机串保存到与终端用户关联的可信存储区域。
本实施例中可信存储区域可以包括TEE模块或SE模块,在终端生成随机串后,可以将随机串保存到可信存储区域。
步骤404:终端将第一原始校验凭证信息、随机串和终端用户的用户信息传输至服务器。
与步骤304中的描述一致,本实施例中用户信息是唯一识别该终端用户的信息,可以为终端用户的用户名。
步骤405:服务器查找与该用户信息对应的第二原始校验凭证信息。
步骤406:服务器比较第一原始校验凭证信息和第二原始校验凭证信息是否一致。
本实施例中步骤405和步骤406的描述与前述步骤305和步骤306的描述一致,在此不再赘述。
步骤407:当第一原始校验凭证信息与第二原始校验凭证信息一致时,服务器保存随机串与用户信息之间的对应关系。
当服务器根据比较结果确定第一原始校验凭证信息与第二原始校验凭证信息一致时,可以确定当前执行安全校验方式替换的对象为终端用户本人,此时服务器可以保存接收到的随机串与用户信息之间的对应关系。
步骤408:在终端用户进行安全校验时,终端通过更新校验方式进行本地校验,获得本地校验结果。
本步骤408的描述与前述步骤308的描述一致,在此不再赘述。
步骤409:终端通过与服务器预先协商的消息摘要算法对可信存储区域内保存的随机串和本地校验结果进行加密,获得第一加密数据结果。
本实施例中,终端和服务器可以预先协商消息摘要算法,该消息摘要算法可以具体为HMAC(Hash-based Message Authentication Code,哈希运算消息认证码),HMAC可以利用哈希算法以一个密钥和一个消息为输入,生成一个消息摘要作为输出。
本实施例中,终端在得到本地校验结果后,可以从可信存储区域中获取保存的随机串,将该随机串作为一个密钥,将本地校验结果作为一个消息,通过HMAC算法对该随机串和本地校验结果进行加密,生成第一加密数据结果。
步骤410:终端将第一加密数据结果、本地校验结果和终端用户的用户信息发送至服务器。
步骤411:服务器通过查找保存的对应关系获得与接收到的用户信息对应的随机串。
参见前述步骤407,在采用更新校验方式替换本地校验方式时,服务器保存了随机串与用户信息之间的对应关系。本步骤中,服务器在接收到第一加密数据结果、本地校验结果和终端用户的用户信息后,可以查找前述对应关系,获得与接收到的用户信息对应的随机串。
步骤412:服务器通过与终端预先协商的消息摘要算法对查找到的随机串和本地校验结果进行加密,获得第二加密数据结果。
与步骤409中终端本地通过消息摘要算法对本地校验结果和随机串进行加密的过程相对应,本步骤中服务器可以获得与终端预先协商的消息摘要算法,然后通过该消息摘要算法对接收到的本地校验结果和查找到的随机串进行加密得到第二加密数据结果。
步骤413:服务器判断第二加密数据结果与第一加密数据结果是否一致,如果一致,确定本地校验结果可信。
本实施例中当服务器判断第二加密数据结果与第一加密数据结果一致时,可以确定本地校验结果可信。进一步,服务器可以对该校验结果的准确性进行判断,在校验结果准确时,可以对终端用户当前业务操作进行放行,在校验结果不准确时,禁止终端用户执行当前业务操作。
由上述实施例可见,由于在采用更新校验方式替换原始校验方式时,终端和服务器保存了为更新校验方式生成的随机串,因此在采用更新校验方式进行校验时,终端可以通过预先协商的消息摘要算法对随机串和本地校验结果进行加密,而相应的服务器可以通过同样的消息摘要算法对随机串和终端传输的本地校验结果进行加密,并在两个加密后的数据结果一致时确定本地校验结果可信。应用本申请实施例,由于恶意第三方无法获得随机串,以及终端与服务器预先协商的消息摘要算法,即使其获取了本地校验结果也无法完成安全校验,因此该实施例可以提高安全校验的可靠性,保证网络应用的访问安全性。
与本申请安全校验方法的实施例相对应,本申请还提供了安全校验装置、终端及服务器的实施例。
本申请安全校验装置的实施例可以分别应用在终端和服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请安全校验装置所在设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,如对于终端来说,可能包括摄像头、触摸屏子、通信组件等,对于服务器来说,可能包括负责处理报文的转发芯片等等。
参见图6,为本申请安全校验装置的一个实施例框图,该安全校验装置可以应用在终端上,该装置包括:校验单元610、加密单元620和第一发送单元630。
其中,校验单元610,用于在终端用户进行安全校验时,通过更新校验方式进行本地校验,获得本地校验结果;
加密单元620,用于根据保存的替换凭证信息对所述本地校验结果进行加密,获得加密校验结果,所述替换凭证信息为采用所述更新校验方式替换原始校验方式时生成的信息;
第一发送单元630,用于将所述加密校验结果、所述本地校验结果和所述终端用户的用户信息发送至服务器,以使所述服务器通过与所述用户信息对应的替换凭证信息对所述加密校验结果验证通过时,确定所述本地校验结果可信。
参见图7,为本申请安全校验装置的一个实施例框图,该安全校验装置可以应用在终端上,该装置包括:获得单元710、生成单元720、第二发送单元730、保存单元740、校验单元750、加密单元760和第一发送单元770。
其中,获得单元710,用于在采用所述更新校验方式替换原始校验方式时,获得所述原始校验方式的第一原始校验凭证信息;
生成单元720,用于为所述更新校验方式生成所述替换凭证信息;
第二发送单元730,用于将所述第一原始校验凭证信息、替换凭证信息和所述用户信息传输至所述服务器,以使所述服务器查找到与所述用户信息对应的第二原始校验凭证信息,且所述第二原始校验凭证信息与所述第一原始校验凭证信息一致时,保存所述替换凭证信息与所述用户信息的对应关系;
保存单元740,用于将所述替换凭证信息保存到与所述终端用户关联的可信存储区域;其中,所述可信存储区域包括:TEE模块或SE模块;
校验单元750,用于在终端用户进行安全校验时,通过更新校验方式进行本地校验,获得本地校验结果;
加密单元760,用于根据保存的替换凭证信息对所述本地校验结果进行加密,获得加密校验结果,所述替换凭证信息为采用所述更新校验方式替换原始校验方式时生成的信息;
第一发送单元770,用于将所述加密校验结果、所述本地校验结果和所述终端用户的用户信息发送至服务器,以使所述服务器通过与所述用户信息对应的替换凭证信息对所述加密校验结果验证通过时,确定所述本地校验结果可信。
在一个可选的实现方式中:
所述替换凭证信息可以包括:公钥和私钥;
所述第二发送单元730,可以具体用于将所述公钥传输至所述服务器;
所述加密单元760,可以具体用于根据保存的所述私钥对所述本地校验结果进行数字签名,获得签名信息;
所述第一发送单元770,可以具体用于将所述签名信息发送至服务器,以使所述服务器根据与所述用户信息对应的公钥对所述签名信息验证通过后,确定所述本地校验结果可信。
在另一个可选的实现方式中:
所述替换凭证信息可以包括:随机串;
所述第二发送单元730,可以具体用于将所述随机串传输至所述服务器;
所述加密单元760,可以具体用于通过与所述服务器预先协商的消息摘要算法对所述随机串和所述本地校验结果进行加密,获得第一加密数据结果;
所述第一发送单元770,可以具体用于将所述第一加密数据结果发送至服务器,以使所述服务器获得与所述用户信息对应的随机串,并通过所述消息摘要算法对与所述用户信息对应的随机串和所述本地校验结果进行加密,获得第二加密数据结果,且所述第二加密数据结果与所述第一加密数据结果一致时,确定所述本地校验结果可信。
参见图8,为本申请安全校验装置的另一个实施例框图,该安全校验装置可以应用在服务器上,该装置包括:第一接收单元810、获得单元820和校验单元830。
其中,第一接收单元810,用于接收终端发送的加密校验结果、本地校验结果和终端用户的用户信息,所述加密校验结果为所述终端根据保存的替换凭证信息对所述本地校验结果进行加密生成的加密校验结果,所述替换凭证信息为所述终端采用更新校验方式替换原始校验方式时生成的信息,所述本地校验结果为所述终端用户进行安全校验时,由所述终端通过所述更新校验方式进行本地校验获得的校验结果;
获得单元820,用于获得与所述用户信息对应的替换凭证信息;
校验单元830,用于通过与所述用户信息对应的替换凭证信息对所述加密校验结果进行验证,当验证通过时,确定所述本地校验结果可信。
参见图9,为本申请安全校验装置的另一个实施例框图,该安全校验装置可以应用在服务器上,该装置包括:第二接收单元910、查找单元920、比较单元930、保存单元940、第一接收单元950、获得单元960和校验单元970。
其中,第二接收单元910,用于在所述终端采用所述更新校验方式替换原始校验方式时,接收所述终端发送的第一原始校验凭证信息、替换凭证信息和所述用户信息,所述第一原始校验凭证信息为所述原始校验方式的校验凭证信息,所述替换凭证信息为所述终端为所述更新校验方式生成的替换凭证信息;
查找单元920,用于查找与所述用户信息对应的第二原始校验凭证信息;
比较单元930,用于比较所述第一原始校验凭证信息和所述第二原始校验凭证信息是否一致;
保存单元940,用于当所述第一原始校验凭证信息与所述第二原始校验凭证信息一致时,保存所述替换凭证信息与所述用户信息之间的对应关系;
第一接收单元950,用于接收终端发送的加密校验结果、本地校验结果和终端用户的用户信息,所述加密校验结果为所述终端根据保存的替换凭证信息对所述本地校验结果进行加密生成的加密校验结果,所述替换凭证信息为所述终端采用更新校验方式替换原始校验方式时生成的信息,所述本地校验结果为所述终端用户进行安全校验时,由所述终端通过所述更新校验方式进行本地校验获得的校验结果;
获得单元960,用于获得与所述用户信息对应的替换凭证信息;
校验单元970,用于通过与所述用户信息对应的替换凭证信息对所述加密校验结果进行验证,当验证通过时,确定所述本地校验结果可信。
在一个可选的实现方式中:
所述替换凭证信息可以包括:公钥和私钥;
所述第二接收单元910,可以具体用于接收所述终端发送的所述公钥;
所述第一接收单元950,可以具体用于接收所述终端发送的签名信息,所述签名信息为所述终端根据保存的所述私钥对所述本地校验结果进行数字签名获得的签名信息;
所述获得单元960,可以具体用于通过查找所述对应关系获得与所述用户信息对应的公钥;
所述校验单元970,可以具体用于通过与所述用户信息对应的公钥对所述签名信息进行验证。
在另一个可选的实现方式中:
所述替换凭证信息包括:随机串;
所述第二接收单元910,可以具体用于接收所述终端发送的所述随机串;
所述第一接收单元950,可以具体用于接收所述终端发送的第一加密数据结果,所述第一加密数据结果为所述终端通过与服务器预先协商的消息摘要算法对所述随机串和所述本地校验结果进行加密获得的加密数据结果;
所述获得单元960,可以具体用于通过查找所述对应关系获得与所述用户信息对应的随机串;
所述校验单元970可以包括(图9中未示出):
结果加密子单元,用于通过所述消息摘要算法对与所述用户信息对应的随机串和所述本地校验结果进行加密,获得第二加密数据结果;
结果判断子单元,用于判断所述第二加密数据结果与所述第一加密数据结果是否一致,如果一致,则验证通过。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,由于在采用更新校验方式替换原始校验方式时,终端和服务器均保存了为更新校验方式生成的替换凭证信息,因此在采用更新校验方式进行校验时,可以通过替换凭证信息对本地校验结果进行加密,而相应的服务器可以通过替换凭证信息对终端传输的加密后的加密校验结果进行验证,并在验证通过后确定本地校验结果可信。应用本申请实施例,由于恶意第三方无法获得替换凭证信息,即使其获取了本地校验结果也无法完成安全校验,因此本申请实施例可以提高安全校验的可靠性,保证网络应用的访问安全性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。