本发明涉及应用编程接口授权,具体而言,涉及一种基于应用白名单的本地api授权方法、介质及装置。
背景技术:
1、应用编程接口授权,是指授予某个应用程序调用某个api的权限,限制未授权应用对其它api的访问,实现细粒度的功能访问控制。网络api的授权通常采用密码学方法,如hmac或签名令牌。本地api授权缺少成熟的技术路线,若采用和网络api相同的授权方式则需要开发人员改变编程习惯,同时当api主要功能是通过向下调用硬件模块实现时,对性能的影响较大,会明显增加通信损耗和响应时延,降低用户接受程度。
技术实现思路
1、本发明旨在提供一种基于应用白名单的本地api授权方法、介质及装置,以在不影响调用性能的基础上,实现基于接口的细粒度访问授权。
2、本发明提供的一种基于应用白名单的本地api授权方法,包括如下步骤:
3、步骤1,授权建立:建立应用程序白名单和接口授权列表;
4、步骤2,授权启用:应用程序编码时,利用应用程序白名单和接口授权列表,在调用功能接口前调用授权接口,完成授权启用过程。
5、进一步的,所述应用程序白名单包括被授权应用程序的绝对路径和度量值。
6、进一步的,所述接口授权列表包括被授权应用程序的度量值和授权接口名称。
7、进一步的,所述度量值采用杂凑算法产生。
8、进一步的,通过api信任的第三方建立应用程序白名单和接口授权列表。
9、进一步的,所述调用授权接口包括:
10、获取调用者的线程号,记为tid;
11、根据调用者的线程号tid追溯应用程序文件所在路径;
12、根据路径,对应用程序文件计算杂凑值,查询应用程序白名单,将杂凑值和度量值比对:
13、比对失败,则返回授权失败;
14、比对成功,则使用度量值从接口授权列表中查询授权接口名称,将tid和授权接口名称绑定建立线程授权接口表tal,返回成功。
15、进一步的,所述调用功能接口包括:
16、功能接口入口处获取调用者的线程号tid;
17、利用调用者的线程号tid查询线程授权接口表tal,匹配tid绑定的授权接口名称:
18、匹配成功,则继续访问;
19、匹配失败,则返回未授权接口调用错误。
20、本发明还提供一种计算机终端存储介质,存储有计算机终端可执行指令,所述计算机终端可执行指令用于执行上述的基于应用白名单的本地api授权方法。
21、本发明还提供一种计算装置,包括:
22、至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的基于应用白名单的本地api授权方法。
23、综上所述,由于采用了上述技术方案,本发明的有益效果是:
24、本发明实现了本地api的细粒度访问授权,对性能影响低,对开发过程侵入少,能够达到实用、高效的接口授权效果。
1.一种基于应用白名单的本地api授权方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于应用白名单的本地api授权方法,其特征在于,所述应用程序白名单包括被授权应用程序的绝对路径和度量值。
3.根据权利要求1所述的基于应用白名单的本地api授权方法,其特征在于,所述接口授权列表包括被授权应用程序的度量值和授权接口名称。
4.根据权利要求2或3所述的基于应用白名单的本地api授权方法,其特征在于,所述度量值采用杂凑算法产生。
5.根据权利要求1所述的基于应用白名单的本地api授权方法,其特征在于,通过api信任的第三方建立应用程序白名单和接口授权列表。
6.根据权利要求1所述的基于应用白名单的本地api授权方法,其特征在于,所述调用授权接口包括:
7.根据权利要求6所述的基于应用白名单的本地api授权方法,其特征在于,所述调用功能接口包括:
8.一种计算机终端存储介质,存储有计算机终端可执行指令,其特征在于,所述计算机终端可执行指令用于执行如权利要求1-7中任一权利要求所述的基于应用白名单的本地api授权方法。
9.一种计算装置,其特征在于,包括: