本说明书涉及身份认证,更具体地涉及一种身份认证方法及装置。
背景技术:
1、基于互联网技术的发展,用户可通过安装在终端设备上的各种应用程序(即应用客户端)实现不同的功能。应用客户端在实现其功能时,通常需要与应用服务端进行信息交互,例如访问应用服务端的数据,调用应用服务端的接口等等;因此应用服务端需对应用客户端进行身份认证,避免非法应用客户端调用隐私数据,造成隐私泄露。
2、现有技术中,通常在开发阶段就将身份认证功能加入应用客户端和应用服务端,这样,当应用客户端需要访问应用服务端时,应用服务端将对应用客户端进行身份认证,身份认证通过后,再接受应用客户端的访问请求。
3、但是,现有的身份认证功能与应用程序的其他功能是耦合的,当需要对身份认证功能进行修改时,需要对应用程序的源代码进行修改,导致对应用程序的其他功能造成干扰。
技术实现思路
1、本说明书的目的之一在于提供一种身份认证方法,通过预先注入在应用客户端的第一预设切点的第一切面程序实现身份认证,从而使身份认证功能与应用客户端的其他功能解耦,避免对其他功能造成干扰。
2、基于上述目的,本说明书一方面提供一种身份认证方法,应用于应用客户端,所述方法包括:
3、通过预先部署的第一切面底座,在所述应用客户端的第一预设切点处注入第一切面程序;
4、在所述应用客户端访问应用服务端时,生成用于访问应用服务端的访问请求;
5、通过所述第一切面程序构造访问令牌,并将所述访问令牌插入所述访问请求中;其中,所述访问令牌包括可信身份信息;
6、将携带所述访问令牌的访问请求发送至应用服务端,以使所述应用服务端接收携带所述访问令牌的访问请求,并根据所述访问令牌的可信身份信息验证所述应用客户端是否可信。
7、进一步地,在一些实施方式中,通过所述第一切面程序构造访问令牌,具体包括:
8、通过所述第一切面程序判断所述应用客户端中是否存在可信身份信息;
9、若否,则通过所述第一切面程序向身份服务端申请可信身份信息;
10、所述第一切面程序根据所述可信身份信息构造访问令牌。
11、进一步地,在一些实施方式中,向身份服务端申请可信身份信息,具体包括:
12、采集所述应用客户端的度量数据;
13、将所述度量数据发送至所述身份服务端;
14、接收所述身份服务端对所述度量数据进行安全校验后生成并发送的所述可信身份信息。
15、进一步地,在一些实施方式中,所述可信身份信息包括客户端公钥,根据所述可信身份信息构造访问令牌,具体包括:
16、生成令牌有效期;
17、利用客户端私钥对所述可信身份信息和所述令牌有效期进行签名,得到第一签名结果;
18、根据所述可信身份信息和所述第一签名结果构造访问令牌。
19、本说明书的另一目的在于提供一种身份认证方法,通过预先注入在应用服务端的第二预设切点的第二切面程序实现身份认证,从而使身份认证功能与应用服务端的其他功能解耦,避免对其他功能造成干扰。
20、基于上述目的,本说明书另一方面提供一种身份认证方法,应用于应用服务端,所述方法包括:
21、通过预先部署的第二切面底座,在所述应用服务端的第二预设切点处注入第二切面程序;
22、在应用客户端访问应用服务端时,接收所述应用客户端发送的携带访问令牌的访问请求;其中,所述访问令牌包括可信身份信息;
23、通过所述第二切面程序根据所述访问令牌的可信身份信息验证所述应用客户端是否可信。
24、进一步地,在一些实施方式中,所述可信身份信息包括客户端公钥和利用预置的身份服务端私钥对所述客户端公钥进行签名后得到的第二签名结果;根据所述访问令牌的可信身份信息验证所述应用客户端是否可信,具体包括:
25、利用预置的身份服务端公钥对所述第二签名结果进行验签;
26、若验签通过,则所述应用客户端可信。
27、进一步地,在一些实施方式中,所述可信身份信息包括还包括客户端公钥的有效期,所述第二签名结果为利用所述身份服务端私钥对所述客户端公钥和所述客户端公钥的有效期进行签名后得到的;
28、利用预置的身份服务端公钥对所述第二签名结果进行验签,若验签通过,则所述应用客户端可信,具体包括:
29、利用预置的身份服务端公钥对所述第二签名结果进行验签;
30、在验签通过后,校验所述客户端公钥的有效期是否过期;
31、若否,则所述应用客户端可信。
32、进一步地,在一些实施方式中,所述访问令牌还包括令牌有效期和利用客户端私钥对所述可信身份信息和所述令牌有效期进行签名后的第一签名结果;
33、在验签通过后,校验所述应用客户端的有效期是否过期,若否,则所述应用客户端可信,具体包括:
34、在验签通过后,校验所述客户端公钥的有效期是否过期;
35、若否,则利用所述客户端公钥对所述第一签名结果进行验签;
36、在验签通过后,校验所述令牌有效期是否过期;
37、若否,则所述应用客户端可信。
38、本说明书的又一目的在于提供一种身份认证方法,以使应用服务端通过可信身份信息实现对应用客户端的身份认证。
39、基于上述目的,本说明书又一方面提供一种身份认证方法,应用于身份服务端,所述方法包括:
40、在应用客户端向身份服务端申请可信身份信息时,接收应用客户端发送的度量数据;
41、对所述度量数据进行安全校验;
42、在所述安全校验通过后,生成可信身份信息;
43、将所述可信身份信息发送至所述应用客户端。
44、进一步地,在一些实施方式中,在所述安全校验通过后,生成可信身份信息,将所述可信身份信息发送至所述应用客户端,具体包括:
45、在所述安全校验通过后,生成客户端私钥和客户端公钥;
46、利用预置的身份服务端私钥对所述客户端公钥进行签名,得到第二签名结果;
47、根据所述客户端公钥和所述第二签名结果构造所述可信身份信息;
48、将所述可信身份信息和所述客户端私钥发送至所述应用客户端。
49、进一步地,在一些实施方式中,利用预置的身份服务端私钥对所述客户端公钥进行签名,得到第二签名结果,根据所述客户端公钥和所述第二签名结果构造所述可信身份信息,具体包括:
50、生成客户端公钥的有效期;
51、利用预置的身份服务端私钥对所述客户端公钥和所述客户端公钥的有效期进行签名,得到第二签名结果;
52、根据所述客户端公钥、所述客户端公钥的有效期和所述第二签名结果构造可信身份信息。
53、本说明书的又一目的在于提供一种身份认证装置,通过预先注入在应用客户端的第一预设切点的第一切面程序实现身份认证,从而使身份认证功能与应用客户端的其他功能解耦,避免对其他功能造成干扰。
54、基于上述目的,本说明书又一方面提供一种身份认证装置,应用于应用客户端,所述装置包括:
55、第一注入模块,设置为通过预先部署的第一切面底座,在所述应用客户端的第一预设切点处注入第一切面程序;
56、第一生成模块,设置为在所述应用客户端访问应用服务端时,生成用于访问应用服务端的访问请求;
57、构造模块,设置为通过所述第一切面程序构造访问令牌,并将所述访问令牌插入所述访问请求中;其中,所述访问令牌包括可信身份信息;
58、第一发送模块,设置为将携带所述访问令牌的访问请求发送至应用服务端,以使所述应用服务端接收携带所述访问令牌的访问请求,并根据所述访问令牌的可信身份信息验证所述应用客户端是否可信。
59、进一步地,在一些实施方式中,通过所述第一切面程序构造访问令牌,具体包括:
60、通过所述第一切面程序判断所述应用客户端中是否存在可信身份信息;
61、若否,则通过所述第一切面程序向身份服务端申请可信身份信息;
62、所述第一切面程序根据所述可信身份信息构造访问令牌。
63、进一步地,在一些实施方式中,向身份服务端申请可信身份信息,具体包括:
64、采集所述应用客户端的度量数据;
65、将所述度量数据发送至所述身份服务端;
66、接收所述身份服务端对所述度量数据进行安全校验后生成并发送的所述可信身份信息。
67、进一步地,在一些实施方式中,所述可信身份信息包括客户端公钥,根据所述可信身份信息构造访问令牌,具体包括:
68、生成令牌有效期;
69、利用客户端私钥对所述可信身份信息和所述令牌有效期进行签名,得到第一签名结果;
70、根据所述可信身份信息和所述第一签名结果构造访问令牌。
71、本说明书又一目的在于提供一种身份认证装置,通过预先注入在应用服务端的第二预设切点的第二切面程序实现身份认证,从而使身份认证功能与应用服务端的其他功能解耦,避免对其他功能造成干扰。
72、基于上述目的,本说明书又一方面提供一种身份认证装置,应用于应用服务端,所述装置包括:
73、第二注入模块,设置为通过预先部署的第二切面底座,在所述应用服务端的第二预设切点处注入第二切面程序;
74、第一接收模块,设置为在应用客户端访问应用服务端时,接收所述应用客户端发送的携带访问令牌的访问请求;其中,所述访问令牌包括可信身份信息;
75、验证模块,设置为通过所述第二切面程序根据所述访问令牌的可信身份信息验证所述应用客户端是否可信。
76、进一步地,在一些实施方式中,所述可信身份信息包括客户端公钥和利用预置的身份服务端私钥对所述客户端公钥进行签名后得到的第二签名结果;根据所述访问令牌的可信身份信息验证所述应用客户端是否可信,具体包括:
77、利用预置的身份服务端公钥对所述第二签名结果进行验签;
78、若验签通过,则所述应用客户端可信。
79、进一步地,在一些实施方式中,所述可信身份信息包括还包括客户端公钥的有效期,所述第二签名结果为利用所述身份服务端私钥对所述客户端公钥和所述客户端公钥的有效期进行签名后得到的;
80、利用预置的身份服务端公钥对所述第二签名结果进行验签,若验签通过,则所述应用客户端可信,具体包括:
81、利用预置的身份服务端公钥对所述第二签名结果进行验签;
82、在验签通过后,校验所述客户端公钥的有效期是否过期;
83、若否,则所述应用客户端可信。
84、进一步地,在一些实施方式中,所述访问令牌还包括令牌有效期和利用客户端私钥对所述可信身份信息和所述令牌有效期进行签名后的第一签名结果;
85、在验签通过后,校验所述应用客户端的有效期是否过期,若否,则所述应用客户端可信,具体包括:
86、在验签通过后,校验所述客户端公钥的有效期是否过期;
87、若否,则利用所述客户端公钥对所述第一签名结果进行验签;
88、在验签通过后,校验所述令牌有效期是否过期;
89、若否,则所述应用客户端可信。
90、本说明书又一目的在于提供一种身份认证装置,以使应用服务端通过可信身份信息实现对应用客户端的身份认证。
91、基于上述目的,本说明书提供一种身份认证装置,应用于身份服务端,所述装置包括:
92、第二接收模块,设置为在应用客户端向身份服务端申请可信身份信息时,接收应用客户端发送的度量数据;
93、校验模块,设置为对所述度量数据进行安全校验;
94、第二生成模块,设置为在所述安全校验通过后,生成可信身份信息;
95、第二发送模块,设置为将所述可信身份信息发送至所述应用客户端。
96、进一步地,在一些实施方式中,在所述安全校验通过后,生成可信身份信息,将所述可信身份信息发送至所述应用客户端,具体包括:
97、在所述安全校验通过后,生成客户端私钥和客户端公钥;
98、利用预置的身份服务端私钥对所述客户端公钥进行签名,得到第二签名结果;
99、根据所述客户端公钥和所述第二签名结果构造所述可信身份信息;
100、将所述可信身份信息和所述客户端私钥发送至所述应用客户端。
101、进一步地,在一些实施方式中,利用预置的身份服务端私钥对所述客户端公钥进行签名,得到第二签名结果,根据所述客户端公钥和所述第二签名结果构造所述可信身份信息,具体包括:
102、生成客户端公钥的有效期;
103、利用预置的身份服务端私钥对所述客户端公钥和所述客户端公钥的有效期进行签名,得到第二签名结果;
104、根据所述客户端公钥、所述客户端公钥的有效期和所述第二签名结果构造可信身份信息。