CN103888410B - 应用身份验证方法及*** - Google Patents
应用身份验证方法及*** Download PDFInfo
- Publication number
- CN103888410B CN103888410B CN201210554774.XA CN201210554774A CN103888410B CN 103888410 B CN103888410 B CN 103888410B CN 201210554774 A CN201210554774 A CN 201210554774A CN 103888410 B CN103888410 B CN 103888410B
- Authority
- CN
- China
- Prior art keywords
- application
- client
- fingerprint
- file
- static state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明实施例公开了一种应用身份验证方法及***。服务器接收来自客户端的业务请求消息,所述业务请求消息包含应用标识、业务内容和静态指纹,所述静态指纹是利用所述应用标识对所述应用标识对应的应用签名和应用文件信息加密后生成的,所述静态指纹具有预先定义的标准数据结构;根据所述应用标识对所述业务请求消息进行解密,得到客户端静态指纹;当所述客户端静态指纹符合所述标准数据结构且所述客户端静态指纹的内容与预先保存的服务器静态指纹的内容相同时,确认应用身份合法。采用本发明,提高了应用身份验证的准确度。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种应用身份验证方法及***。
背景技术
在现有的计算机应用领域,常见的应用身份识别技术有以下两种:
1、服务器为应用分配应用标识(简称应用ID)与对应的应用密钥,应用开发者将应用ID、应用密钥保存在应用中;应用通过网络向服务器请求时,请求中包含应用ID、请求消息、及使用应用密钥对请求消息的签名,服务器根据预先存储的应用ID、应用密钥进行签名验证,签名验证通过才认可该应用身份。在该技术方案中,应用ID和应用密钥保存在应用中,容易被窃取,一旦恶意开发者窃取应用ID和应用密钥后,就可以伪造应用身份,欺骗服务器。另外,一组的应用ID-应用密钥关系无法适用于同一个应用、多个版本的场景。
2、服务器为应用分配应用ID,应用开发者将应用ID保存在应用中,应用开发者将应用提交给服务器,服务器生成应用的摘要,保存在应用的附加信息中以及服务器上;应用通过网络向服务器请求时,先根据应用摘要进行应用摘要比对,比对成功才发送请求,请求中包含应用ID、请求消息、及使用应用摘要对请求消息的签名,服务器根据存储的应用ID、应用摘要进行签名验证,签名验证通过才认可该应用身份。在该技术方案中,应用在本地进行应用摘要比对,比对的时间较长,影响用户体验;同时恶意开发者也可以通过修改应用的方式,跳过应用摘要比对;另外,应用摘要是一个固定值,使用应用摘要进行消息签名的方式,也可以被伪造,产生不良的后果。
发明内容
本发明实施例所要解决的技术问题在于,提供一种应用身份验证方法及***,可提高应用的安全性。
为了解决上述技术问题,本发明实施例提供了一种应用身份验证方法,包括:
服务器接收来自客户端的业务请求消息,所述业务请求消息包含应用标识、业务内容和静态指纹,所述静态指纹是利用所述应用标识对所述应用标识对应的应用签名和应用文件信息加密后生成的,所述静态指纹具有预先定义的标准数据结构;
根据所述应用标识对所述业务请求消息进行解密,得到客户端静态指纹;
当所述客户端静态指纹符合所述标准数据结构且所述客户端静态指纹的内容与预先保存的服务器静态指纹的内容相同时,确认应用身份合法。
其中,所述确认应用身份合法的步骤之前,还包括:
根据所述应用标识对应的应用文件,随机生成动态指纹挑战问题和与所述动态指纹挑战问题相对应的服务器动态指纹,将所述动态指纹挑战问题返回给客户端;
接收客户端返回的客户端动态指纹,所述客户端动态指纹是所述客户端通过所述安全组件根据所述动态指纹挑战问题和客户端本地存储的应用文件生成的;
当客户端动态指纹与所述服务器动态指纹相同时,确认应用身份合法。
其中,所述接收来自客户端的业务请求消息之前,还包括:
当应用运行到计费点时,客户端携带应用标识调用应用中内置的安全组件;
通过所述安全组件获取应用文件信息以及应用签名,根据所述应用文件信息以及所述应用签名构建客户端静态指纹,利用所述应用标识对所述客户端静态指纹进行加密,生成业务请求消息,将业务请求消息发送给服务器。
其中,所述接收来自客户端的业务请求消息之前,还包括:
服务器接收来自开发者平台的应用开发请求;
生成应用标识,将所述应用标识和安全组件返回给所述开发者平台,所述安全组件中包含通用应用签名文件;
接收来自所述开发者平台的应用,所述应用中内置有所述应用标识、安全组件和应用文件;
根据所述应用文件生成所述应用对应的应用签名文件,替换所述安全组件中的通用应用签名文件;
保存所述应用对应的应用文件信息和应用签名文件;
授予所述应用合法身份,将新生成的应用返回给所述开发者平台。
其中,所述动态指纹挑战问题是按照预设的摘要算法计算应用文件的x位置开始长度为y的文件片段的摘要值。
相应地,本发明还公开了一种应用身份验证***,包括服务器和客户端,所述服务器包括:
业务请求接收模块,用于接收来自客户端的业务请求消息,所述业务请求消息包含应用标识、业务内容和静态指纹,所述静态指纹是利用所述应用标识对所述应用标识对应的应用签名和应用文件信息加密后生成的,所述静态指纹具有预先定义的标准数据结构;
解密模块,用于根据所述应用标识对所述业务请求消息进行解密,得到客户端静态指纹;
静态指纹验证模块,用于当所述客户端静态指纹符合所述标准数据结构且所述客户端静态指纹的内容与预先保存的服务器静态指纹的内容相同时,确认应用身份合法。
其中,所述服务器还包括:
动态指纹挑战模块,用于根据所述应用标识对应的应用文件,随机生成动态指纹挑战问题和与所述动态指纹挑战问题相对应的服务器动态指纹,将所述动态指纹挑战问题返回给客户端;
动态指纹接收模块,用于接收客户端返回的客户端动态指纹,所述客户端动态指纹是所述客户端通过所述安全组件根据所述动态指纹挑战问题和客户端本地存储的应用文件生成的;
动态指纹验证模块,用于当客户端动态指纹与所述服务器动态指纹相同时,确认应用身份合法。
其中,所述客户端包括:
安全组件调用模块,用于当应用运行到计费点时,携带应用标识调用应用中内置的安全组件;
安全组件,用于获取应用文件信息以及应用签名,根据所述应用文件信息以及所述应用签名构建客户端静态指纹,利用所述应用标识对所述客户端静态指纹进行加密,生成业务请求消息,将业务请求消息发送给服务器。
其中,所述服务器还包括:
应用开发请求接收模块,用于接收来自开发者平台的应用开发请求;
应用身法分发模块,用于生成应用标识,将所述应用标识和安全组件返回给所述开发者平台,所述安全组件中包含通用应用签名文件;
应用接收模块,用于接收来自所述开发者平台的应用,所述应用中内置有所述应用标识、安全组件和应用文件;
应用签名生成模块,用于根据所述应用文件生成所述应用对应的应用签名文件,替换所述安全组件中的通用应用签名文件;
应用信息存储模块,用于保存所述应用对应的应用文件信息和应用签名文件;
应用身份授权模块,用于授予所述应用合法身份,将新生成的应用返回给所述开发者平台。
其中,所述动态指纹挑战问题是按照预设的摘要算法计算应用文件的x位置开始长度为y的文件片段的摘要值。
实施本发明实施例,具有如下有益效果:通过将应用签名和应用文件信息按照预先定义的标准数据结构存储,并利用应用标识对其进行加密,构成应用的静态指纹,然后根据解密后的业务请求消息中包含的客户端静态指纹的数据结构和数据内容来判断应用是否合法,不需使用应用密钥,而且即使应用标识被窃取,或者应用摘要被伪造,也可以准确地识别非法应用的身份,过滤来自非授权应用的异常请求,提高安全度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的应用身份验证方法的第一实施例流程图;
图2是本发明提供的应用身份验证方法的第二实施例流程图;
图3是本发明提供的客户端生成并发送业务请求消息的方法的流程图;
图4是本发明提供的授予应用合法身份的方法的流程图;
图5是本发明提供的服务器的第一实施例结构示意图;
图6是本发明提供的服务器的第二实施例结构示意图;
图7是本发明提供的服务器的第三实施例结构示意图;
图8是本发明提供的客户端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,是本发明提供的应用身份验证方法的第一实施例流程图,包括:
S100、服务器接收来自客户端的业务请求消息,所述业务请求消息包含应用标识、业务内容和静态指纹,所述静态指纹是利用所述应用标识对所述应用标识对应的应用签名和应用文件信息加密后生成的,所述静态指纹具有预先定义的标准数据结构。
S101、根据所述应用标识对所述业务请求消息进行解密,得到客户端静态指纹。
S102、当所述客户端静态指纹符合所述标准数据结构且所述客户端静态指纹的内容与预先保存的服务器静态指纹的内容相同时,确认应用身份合法。
本发明提供的应用身份验证方法,通过将应用签名和应用文件信息按照预先定义的标准数据结构存储,利用应用标识对其进行加密,构成应用的静态指纹,然后根据解密后的业务请求消息中包含的客户端静态指纹的数据结构和数据内容来判断应用是否合法,不需使用应用密钥,即使应用标识被窃取,或者应用摘要被伪造,也可以准确地识别非法应用的身份,过滤来自非授权应用的异常请求,提高安全度。
除了通过静态指纹进行验证以外,为了进一步提高安全性,还可以根据动态指纹对应用身份进行验证,该实施例将参考图2进行详细描述。
请参见图2,是本发明提供的应用身份验证方法的第二实施例流程图,包括:
S200、服务器接收来自客户端的业务请求消息,所述业务请求消息包含应用标识、业务内容和静态指纹,所述静态指纹是利用所述应用标识对所述应用标识对应的应用签名和应用文件信息加密后生成的,所述静态指纹具有预先定义的标准数据结构。本领域技术人员应当理解,该标准数据结构可以是任意合适的数据存储结构,只要能存储应用的应用签名和应用文件信息即可。例如,如下表1所示,预先定义的静态指纹的标准数据结构包括应用ID字段、应用签名字段、应用文件列表字段,其中应用ID字段又包括应用ID的值部分和说明部分,应用签名字段又包括应用签名的32位MD5值部分和说明部分,应用文件列表字段又包括应用文件名部分、应用主程序大小部分和应用程序包文件大小部分。当然,本发明并不限于这种数据结构,也可以是自定义的其它合适的数据结构。另外,本领域技术人员应当理解,应用签名通常是指所有应用文件的应用摘要,而一个应用文件的应用摘要通常指该应用文件的MD5值。
表1
S201、根据所述应用标识对所述业务请求消息进行解密,得到客户端静态指纹。
S202、判断所述客户端静态指纹的数据结构是否与所述标准数据结构相同。
若S202的判断结果为否,则执行S203。在S203,向客户端返回错误消息。
若S202的判断结果为是,则执行S204。在S204,判断所述客户端静态指纹的内容是否与预先保存的服务器静态指纹的内容相同。
若S204的判断结果为否,则执行S203。
若S204的判断结果为是,则执行S205。在S205、根据所述应用标识对应的应用文件,随机生成动态指纹挑战问题和与所述动态指纹挑战问题相对应的服务器动态指纹,将所述动态指纹挑战问题返回给客户端。具体地,如表2所示,可以生成一组动态指纹挑战问题,对应地,如表3所示,生成一组服务器动态指纹,每个动态指纹挑战问题分别与一个服务器动态指纹对应。其中,动态指纹挑战问题可以是按照预设的摘要算法计算从某个应用文件的x位置开始、长度为y的文件片段的摘要值(如表2中的动态指纹挑战问题1-5),也可以是某个应用文件的全长。在表2中,每一行都是一个单独的动态指纹挑战问题,每个动态指纹挑战问题只涉及一个应用文件,但是可以多个动态指纹挑战问题都涉及同一个应用文件(例如表2中的问题4和5都涉及应用文件bb.so)。表3所示的服务器动态指纹列表即为根据服务器存储的应用文件,生成的分别对应于每个动态指纹挑战问题的答案(即动态指纹)。注意,动态指纹的排列顺序最好与动态指纹挑战问题的顺序一致。
表2
表3
S206、接收客户端返回的客户端动态指纹,所述客户端动态指纹是所述客户端通过所述安全组件根据所述动态指纹挑战问题和客户端本地存储的应用文件生成的。安全组件生成客户端动态指纹的方法与服务器端相同,因此不再赘述。优选地,安全组件可以使用客户端动态指纹的摘要来代替动态指纹,例如动态指纹摘要=(1_第一个问题的指纹+2_第二个问题的指纹+……),在服务器端也同样地生成服务器动态指纹的摘要,这样可以减小网络传输流量,即使在低带宽情况下,也不影响使用。
S207、判断所述客户端动态指纹与所述服务器动态指纹是否相同。
若S207的判断结果为否,则执行S203。
若S207的判断结果为是,则执行S208。在S208、确认应用身份合法,并处理来自客户端的所述业务内容。
请参见图3,是本发明提供的客户端生成并发送业务请求消息的方法的流程图,包括:
S300、当应用运行到计费点时,客户端携带应用ID调用应用中内置的安全组件。
S301、通过所述安全组件获取应用文件信息以及应用签名,根据所述应用文件信息以及所述应用签名构建客户端静态指纹,利用所述应用标识对所述客户端静态指纹进行加密,生成业务请求消息,将业务请求消息发送给服务器。
请参见图4,是本发明提供的授予应用合法身份的方法的流程图,包括:
S400、服务器接收来自开发者平台的应用开发请求。
S401、生成应用标识,将所述应用标识和安全组件返回给所述开发者平台,所述安全组件中包含通用应用签名文件。具体地,此步骤中分配给所有应用的安全组件是统一的,即其中都包含有同样的通用应用签名文件,该通用应用签名文件可能是空白的。可以借助安全组件实现应用身份验证,并能够提高与服务器通信的安全性。
S402、接收来自所述开发者平台的应用,所述应用中内置有所述应用标识、安全组件和应用文件。
S403、根据所述应用文件生成所述应用对应的应用签名文件,替换所述安全组件中的通用应用签名文件。具体地,根据每个应用文件分别生成对应的应用摘要,然后根据该应用中所有应用文件的摘要生成应用签名文件,来替换安全组件中预置的通用应用签名文件。
S404、保存所述应用对应的应用文件信息和应用签名文件。具体地,应用文件信息可以包括应用文件列表、应用文件大小等有关应用文件的信息。
S405、授予所述应用合法身份,将新生成的应用返回给所述开发者平台。具有合法身份的应用才能够通过服务器进行业务处理。
请参见图5,是本发明提供的服务器500的结构示意图,服务器500包括:
业务请求接收模块510,用于接收来自客户端的业务请求消息,所述业务请求消息包含应用标识、业务内容和静态指纹,所述静态指纹是利用所述应用标识对所述应用标识对应的应用签名和应用文件信息加密后生成的,所述静态指纹具有预先定义的标准数据结构。
解密模块520,用于根据所述应用标识对所述业务请求消息进行解密,得到客户端静态指纹。
静态指纹验证模块530,用于当所述客户端静态指纹符合所述标准数据结构且所述客户端静态指纹的内容与预先保存的服务器静态指纹的内容相同时,确认应用身份合法。
本发明提供的应用身份验证***,通过将应用签名和应用文件信息按照预先定义的标准数据结构存储,利用应用标识对其进行加密,构成应用的静态指纹,然后根据解密后的业务请求消息中包含的客户端静态指纹的数据结构和数据内容来判断应用是否合法,不需使用应用密钥,即使应用标识被窃取,或者应用摘要被伪造,也可以准确地识别非法应用的身份,过滤来自非授权应用的异常请求,提高安全度。
除了通过静态指纹进行验证以外,为了进一步提高安全性,服务器还可以根据动态指纹对应用身份进行验证,该实施例将参考图6进行详细描述。
请参见图6,是本发明提供的服务器600的结构示意图,服务器600还包括:
业务请求接收模块610,用于接收来自客户端的业务请求消息,所述业务请求消息包含应用标识、业务内容和静态指纹,所述静态指纹是利用所述应用标识对所述应用标识对应的应用签名和应用文件信息加密后生成的,所述静态指纹具有预先定义的标准数据结构。本领域技术人员应当理解,该标准数据结构可以是任意合适的数据存储结构,只要能存储应用的应用签名和应用文件信息即可。例如,如下表1所示,预先定义的静态指纹的标准数据结构包括应用ID字段、应用签名字段、应用文件列表字段,其中应用ID字段又包括应用ID的值部分和说明部分,应用签名字段又包括应用签名的32位MD5值部分和说明部分,应用文件列表字段又包括应用文件名部分、应用主程序大小部分和应用程序包文件大小部分。当然,本发明并不限于这种数据结构,也可以是自定义的其它合适的数据结构。另外,本领域技术人员应当理解,应用签名通常是指所有应用文件的应用摘要,而一个应用文件的应用摘要通常指该应用文件的MD5值。
解密模块620,用于根据所述应用标识对所述业务请求消息进行解密,得到客户端静态指纹。
静态指纹验证模块630,用于判断所述客户端静态指纹的数据结构是否与所述标准数据结构相同,当数据结构相同时,再判断所述客户端静态指纹的内容是否与预先保存的服务器静态指纹的内容相同。
动态指纹挑战模块640,用于当静态指纹验证模块630的判断结果为内容相同时,根据所述应用标识对应的应用文件,随机生成动态指纹挑战问题和与所述动态指纹挑战问题相对应的服务器动态指纹,将所述动态指纹挑战问题返回给客户端。具体地,如表2所示,可以生成一组动态指纹挑战问题,对应地,如表3所示,生成一组服务器动态指纹,每个动态指纹挑战问题分别与一个服务器动态指纹对应。其中,动态指纹挑战问题可以是按照预设的摘要算法计算从某个应用文件的x位置开始、长度为y的文件片段的摘要值(如表2中的动态指纹挑战问题1-5),也可以是某个应用文件的全长。在表2中,每一行都是一个单独的动态指纹挑战问题,每个动态指纹挑战问题只涉及一个应用文件,但是可以多个动态指纹挑战问题都涉及同一个应用文件(例如表2中的问题4和5都涉及应用文件bb.so)。表3所示的服务器动态指纹列表即为根据服务器存储的应用文件,生成的分别对应于每个动态指纹挑战问题的答案(即动态指纹)。注意,动态指纹的排列顺序最好与动态指纹挑战问题的顺序一致。
动态指纹接收模块650,用于接收客户端返回的客户端动态指纹,所述客户端动态指纹是所述客户端通过所述安全组件根据所述动态指纹挑战问题和客户端本地存储的应用文件生成的。安全组件生成客户端动态指纹的方法与服务器端相同,因此不再赘述。优选地,安全组件可以使用客户端动态指纹的摘要来代替动态指纹,例如动态指纹摘要=(1_第一个问题的指纹+2_第二个问题的指纹+……),在服务器端也同样地生成服务器动态指纹的摘要,这样可以减小网络传输流量,即使在低带宽情况下,也不影响使用。
动态指纹验证模块660,用于当客户端动态指纹与所述服务器动态指纹相同时,确认应用身份合法。
请参见图7,是本发明提供的服务器700的结构示意图。除了图5或6所示的功能模块以外,服务器700还包括:
应用开发请求接收模块710,用于接收来自开发者平台的应用开发请求。
应用身法分发模块720,用于生成应用标识,将所述应用标识和安全组件返回给所述开发者平台,所述安全组件中包含通用应用签名文件。具体地,应用身法分发模块720分配给所有应用的安全组件是统一的,即其中都包含有同样的通用应用签名文件,该通用应用签名文件可能是空白的。可以借助安全组件实现应用身份验证,并能够提高与服务器通信的安全性。
应用接收模块730,用于接收来自所述开发者平台的应用,所述应用中内置有所述应用标识、安全组件和应用文件。
应用签名生成模块740,用于根据所述应用文件生成所述应用对应的应用签名文件,替换所述安全组件中的通用应用签名文件。具体地,应用签名生成模块740根据每个应用文件分别生成对应的应用摘要,然后根据该应用中所有应用文件的摘要生成应用签名文件,来替换安全组件中预置的通用应用签名文件。
应用信息存储模块750,用于保存所述应用对应的应用文件信息和应用签名文件。具体地,应用文件信息可以包括应用文件列表、应用文件大小等有关应用文件的信息。
应用身份授权模块760,用于授予所述应用合法身份,将新生成的应用返回给所述开发者平台。具有合法身份的应用才能够通过服务器进行业务处理。
请参见图8,是本发明提供的客户端800的结构示意图,客户端800包括:
安全组件调用模块810,用于当应用运行到计费点时,携带应用ID调用应用中内置的安全组件。
安全组件820,用于获取应用文件信息以及应用签名,根据所述应用文件信息以及所述应用签名构建客户端静态指纹,利用所述应用标识对所述客户端静态指纹进行加密,生成业务请求消息,将业务请求消息发送给服务器。
在应用身份验证***中,通过客户端800与服务器500、600或700的交互,可以准确地识别应用的身份,从而为合法应用提供业务服务。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (8)
1.一种应用身份验证方法,其特征在于,包括:
服务器接收来自客户端的业务请求消息,所述业务请求消息包含应用标识、业务内容和静态指纹,所述静态指纹是利用所述应用标识对所述应用标识对应的应用签名和应用文件信息加密后生成的,所述静态指纹具有预先定义的标准数据结构;
根据所述应用标识对所述业务请求消息进行解密,得到客户端静态指纹;
当所述客户端静态指纹符合所述标准数据结构且所述客户端静态指纹的内容与预先保存的服务器静态指纹的内容相同时,确认应用身份合法;
所述应用身份验证方法在所述确认应用身份合法的步骤之前,还包括:
根据所述应用标识对应的应用文件,随机生成动态指纹挑战问题和与所述动态指纹挑战问题相对应的服务器动态指纹,将所述动态指纹挑战问题返回给客户端;
接收客户端返回的客户端动态指纹,所述客户端动态指纹是所述客户端通过安全组件根据所述动态指纹挑战问题和客户端本地存储的应用文件生成的;
当客户端动态指纹与所述服务器动态指纹相同时,确认应用身份合法。
2.如权利要求1所述的方法,其特征在于,所述接收来自客户端的业务请求消息之前,还包括:
当应用运行到计费点时,客户端携带应用标识调用应用中内置的安全组件;
通过所述安全组件获取应用文件信息以及应用签名,根据所述应用文件信息以及所述应用签名构建客户端静态指纹,利用所述应用标识对所述客户端静态指纹进行加密,生成业务请求消息,将业务请求消息发送给服务器。
3.如权利要求1所述的方法,其特征在于,所述接收来自客户端的业务请求消息之前,还包括:
服务器接收来自开发者平台的应用开发请求;
生成应用标识,将所述应用标识和安全组件返回给所述开发者平台,所述安全组件中包含通用应用签名文件;
接收来自所述开发者平台的应用,所述应用中内置有所述应用标识、安全组件和应用文件;
根据所述应用文件生成所述应用对应的应用签名文件,替换所述安全组件中的通用应用签名文件;
保存所述应用对应的应用文件信息和应用签名文件;
授予所述应用合法身份,将新生成的应用返回给所述开发者平台。
4.如权利要求1所述的方法,其特征在于,所述动态指纹挑战问题是按照预设的摘要算法计算应用文件的x位置开始长度为y的文件片段的摘要值。
5.一种应用身份验证***,其特征在于,包括服务器和客户端,所述服务器包括:
业务请求接收模块,用于接收来自客户端的业务请求消息,所述业务请求消息包含应用标识、业务内容和静态指纹,所述静态指纹是利用所述应用标识对所述应用标识对应的应用签名和应用文件信息加密后生成的,所述静态指纹具有预先定义的标准数据结构;
解密模块,用于根据所述应用标识对所述业务请求消息进行解密,得到客户端静态指纹;
静态指纹验证模块,用于当所述客户端静态指纹符合所述标准数据结构且所述客户端静态指纹的内容与预先保存的服务器静态指纹的内容相同时,确认应用身份合法;
所述服务器还包括:
动态指纹挑战模块,用于根据所述应用标识对应的应用文件,随机生成动态指纹挑战问题和与所述动态指纹挑战问题相对应的服务器动态指纹,将所述动态指纹挑战问题返回给客户端;
动态指纹接收模块,用于接收客户端返回的客户端动态指纹,所述客户端动态指纹是所述客户端通过安全组件根据所述动态指纹挑战问题和客户端本地存储的应用文件生成的;
动态指纹验证模块,用于当客户端动态指纹与所述服务器动态指纹相同时,确认应用身份合法。
6.如权利要求5所述的***,其特征在于,所述客户端包括:
安全组件调用模块,用于当应用运行到计费点时,携带应用标识调用应用中内置的安全组件;
安全组件,用于获取应用文件信息以及应用签名,根据所述应用文件信息以及所述应用签名构建客户端静态指纹,利用所述应用标识对所述客户端静态指纹进行加密,生成业务请求消息,将业务请求消息发送给服务器。
7.如权利要求5所述的***,其特征在于,所述服务器还包括:
应用开发请求接收模块,用于接收来自开发者平台的应用开发请求;
应用身法分发模块,用于生成应用标识,将所述应用标识和安全组件返回给所述开发者平台,所述安全组件中包含通用应用签名文件;
应用接收模块,用于接收来自所述开发者平台的应用,所述应用中内置有所述应用标识、安全组件和应用文件;
应用签名生成模块,用于根据所述应用文件生成所述应用对应的应用签名文件,替换所述安全组件中的通用应用签名文件;
应用信息存储模块,用于保存所述应用对应的应用文件信息和应用签名文件;
应用身份授权模块,用于授予所述应用合法身份,将新生成的应用返回给所述开发者平台。
8.如权利要求5所述的***,其特征在于,所述动态指纹挑战问题是按照预设的摘要算法计算应用文件的x位置开始长度为y的文件片段的摘要值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210554774.XA CN103888410B (zh) | 2012-12-19 | 2012-12-19 | 应用身份验证方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210554774.XA CN103888410B (zh) | 2012-12-19 | 2012-12-19 | 应用身份验证方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103888410A CN103888410A (zh) | 2014-06-25 |
CN103888410B true CN103888410B (zh) | 2018-05-18 |
Family
ID=50957132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210554774.XA Active CN103888410B (zh) | 2012-12-19 | 2012-12-19 | 应用身份验证方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103888410B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850519B (zh) * | 2016-01-08 | 2020-11-17 | 北京万维星辰科技有限公司 | 应用安全性认证方法及装置 |
CN106453257A (zh) * | 2016-09-09 | 2017-02-22 | 北京小米移动软件有限公司 | 安全验证方法、装置、***、终端设备和网络服务器 |
CN108259429B (zh) * | 2016-12-29 | 2021-01-29 | 航天信息股份有限公司 | 一种针对软件分发进行控制的方法和*** |
CN109426502A (zh) * | 2017-07-04 | 2019-03-05 | 普天信息技术有限公司 | 一种前后端分离架构的安全保障方法 |
CN109583157A (zh) * | 2017-09-29 | 2019-04-05 | 卓望数码技术(深圳)有限公司 | 一种app远程追踪保护方法和*** |
CN107919960A (zh) * | 2017-12-04 | 2018-04-17 | 北京深思数盾科技股份有限公司 | 一种应用程序的认证方法和*** |
CN111294326B (zh) * | 2018-12-10 | 2022-09-27 | ***通信集团新疆有限公司 | 确认***数据安全的方法、装置、设备和介质 |
CN112035881B (zh) * | 2020-11-03 | 2021-02-09 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的应用程序识别方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101291223A (zh) * | 2007-12-21 | 2008-10-22 | 任少华 | 由第三方提供身份认证服务的***和方法 |
CN101510877A (zh) * | 2009-02-25 | 2009-08-19 | 中国网络通信集团公司 | 单点登录方法和***、通信装置 |
CN101764806A (zh) * | 2009-12-31 | 2010-06-30 | 卓望数码技术(深圳)有限公司 | 一种单点登录方法、***以及登录服务平台 |
CN102117437A (zh) * | 2009-12-31 | 2011-07-06 | 鸿富锦精密工业(深圳)有限公司 | 实现分布式电子签核的***及方法 |
-
2012
- 2012-12-19 CN CN201210554774.XA patent/CN103888410B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101291223A (zh) * | 2007-12-21 | 2008-10-22 | 任少华 | 由第三方提供身份认证服务的***和方法 |
CN101510877A (zh) * | 2009-02-25 | 2009-08-19 | 中国网络通信集团公司 | 单点登录方法和***、通信装置 |
CN101764806A (zh) * | 2009-12-31 | 2010-06-30 | 卓望数码技术(深圳)有限公司 | 一种单点登录方法、***以及登录服务平台 |
CN102117437A (zh) * | 2009-12-31 | 2011-07-06 | 鸿富锦精密工业(深圳)有限公司 | 实现分布式电子签核的***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103888410A (zh) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103888410B (zh) | 应用身份验证方法及*** | |
US10891384B2 (en) | Blockchain transaction device and method | |
US20200242218A1 (en) | Systems and methods for providing identity assurance for decentralized applications | |
EP2731040B1 (en) | Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method | |
US11151260B2 (en) | Providing and checking the validity of a virtual document | |
EP2304636B1 (en) | Mobile device assisted secure computer network communications | |
CA2241052C (en) | Application level security system and method | |
CN109829269A (zh) | 基于电子***验证电子文档的方法、装置及*** | |
US20040088541A1 (en) | Digital-rights management system | |
CN102946392A (zh) | 一种url数据加密传输方法及*** | |
CN206212040U (zh) | 一种用于快递行业的实名认证*** | |
US8700909B2 (en) | Revocation of a biometric reference template | |
US7991151B2 (en) | Method for secure delegation of calculation of a bilinear application | |
CN104574652B (zh) | Ic卡排污数据增加、扣减的方法和ic卡 | |
CN106452796B (zh) | 认证授权方法、涉税业务平台和相关设备 | |
CN108768963A (zh) | 可信应用与安全元件的通信方法和*** | |
CN107359990A (zh) | 一种秘密信息处理方法、装置及*** | |
CN111566647B (zh) | 基于区块链的身份识别*** | |
CN108965324A (zh) | 一种短信验证码防刷方法、终端、服务器、设备及介质 | |
CN102868702A (zh) | ***登录装置和***登录方法 | |
CN106656955A (zh) | 一种通信方法及***、客户端 | |
CN107358118A (zh) | Sfs访问控制方法及***、sfs及终端设备 | |
CN106992978A (zh) | 网络安全管理方法及服务器 | |
CN111932261A (zh) | 一种基于可验证声明的资产数据管理方法和装置 | |
KR101666243B1 (ko) | 식별자를 생성하기 위한 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |