(12)发明专利申请
(10)申请公布号 CN 110032879 A(43)申请公布日 2019.07.19
(21)申请号 2018100274.X(22)申请日 2018.01.11
(71)申请人 中标软件有限公司
地址 200030 上海市徐汇区番禺路1028号
1006-1010室(72)发明人 李山峰 吴吉庆 马立克 马俊杰
刘涛 吴春光 申利飞 (74)专利代理机构 北京汇智英财专利代理事务
所(普通合伙) 11301
代理人 唐轶(51)Int.Cl.
G06F 21/62(2013.01)
权利要求书2页 说明书4页 附图3页
()发明名称
一种用户行为的安全认证及日志审计方法及系统(57)摘要
本发明涉及用户行为的安全认证和日志审计方法及系统,其利用hook技术创建before hook及after hook功能模块,对每个应用开发接口api请求分别执行安全认证及日志审计,极大的简化了程序,使功能更加模块化,添加了模块
同时保证了每次调用都必须进行之间的耦合性,
安全认证和日志审计,能够充分保证系统的安全性。
CN 110032879 ACN 110032879 A
权 利 要 求 书
1/2页
1.一种用户行为的安全认证和日志审计方法,其特征在于包括如下步骤:步骤S1:利用hook技术创建before hook和after hook;步骤S2:利用before hook对用户行为进行安全认证,若安全认证通过,则执行api内容,再利用after hook对用户行为进行日志审计;若安全认证不通过,则直接利用after hook对用户行为进行日志审计。
2.如权利要求1所述的用户行为的安全认证和日志审计方法,其特征在于:所述步骤S2中,before hook通过调用安全认证模块进行安全认证,after hook通过调用日志审计模块进行日志审计。
3.如权利要求1所述的用户行为的安全认证和日志审计方法,其特征在于:所述步骤S1中,通过调用封装函数pack func间接调用事件函数event func,实现before hook和after hook的创建。
4.如权利要求3所述的用户行为的安全认证和日志审计方法,其特征在于:所述步骤S1中,通过调用封装函数pack func,执行login web函数,间接调用调用事件函数event func,从而实现before hook和after hook的创建。
5.如权利要求1所述的用户行为的安全认证和日志审计方法,其特征在于:所述步骤S1中,before hook和after hook的创建形式为:
pack func(event func){
before hook func();event func();after hook func();}。
6.如权利要求1所述的用户行为的安全认证和日志审计方法,其特征在于:所述步骤S1中所创建的before hook及after hook功能相互。
7.一种用户行为的安全认证及日志审计系统,其特征在于包括:before hook模块,用于接收多个用户的api请求,并对其进行安全认证;多个执行模块,与before hook模块连接,用于接收before hook模块的安全认证结果,并执行api请求;
after hook模块,与多个执行模块及before hook模块连接,用于对多个api请求进行日志审计并返回审计结果。
8.如权利要求7所述的用户行为的安全认证及日志审计系统,其特征在于:该多个api请求在经过before hook模块的安全认证后,若通过,则经过执行模块执行再由after hook模块进行日志审计,若不通过,则直接由after hook模块进行日志审计。
9.如权利要求7所述的用户行为的安全认证及日志审计系统,其特征在于:所述before hook模块及after hook模块均基于hook技术创建。
10.如权利要求7所述的用户行为的安全认证及日志审计系统,其特征在于:所述before hook模块包括安全认证模块,通过调用安全认证模块内的安全认证函数完成安全认证,所述after hook模块包括日志审计模块,通过调用日志审计模块内的日志审计函数完成日志审计。
2
CN 110032879 A
权 利 要 求 书
2/2页
11. 如权利要求7所述的用户行为的安全认证及日志审计系统,其特征在于:所述before hook模块及after hook模块的安全认证功能及日志审计功能相互。
3
CN 110032879 A
说 明 书
一种用户行为的安全认证及日志审计方法及系统
1/4页
技术领域
[0001]本发明涉及项目架构的设计,尤其涉及一种用户行为的安全认证及日志审计系统。
背景技术
[0002]目前,随着网络的大量应用,不论是企业还是个人都把许多资料放到网上,随之产生了网络安全的问题。为了确保资料的安全性,通常都会对用户的操作行为进行安全认证以判断用户是否具有相应的权限,是否存在越权等访问控制,同时还会对用户的行为进行日志审计,以便日后查看。所以服务平台的安全认证模块和日志审计模块的实现变得越来越重要,既要保证不影响整个服务的性能,又要保证实现的简便性。[0003]如图1所示,为现有技术的用户行为的安全认证及日志审计方法实现流程图,其通常的服务实现方式是:在用户每个请求的api接口里先进行安全认证,再执行相应的操作步骤,最后生成此api是否成功等日志。此种方法存在如下缺陷:第一,使程序内容很冗余,违背了软件的简单性;第二,安全认证和日志审计没有模块化,不利于以后的延伸和维护。[0004]因此,需要一种新的安全认证及日志审计方法。发明内容
[0005]为解决现有技术存在的不足,本发明提供了一种用户行为的安全认证和日志审计方法,包括如下步骤:
步骤S1:利用hook技术创建before hook和after hook;步骤S2:利用before hook对用户行为进行安全认证,若安全认证通过,则执行api内容,再利用after hook对用户行为进行日志审计;若安全认证不通过,则直接利用after hook对用户行为进行日志审计。[0006]其中,所述步骤S2中,before hook通过调用安全认证模块进行安全认证,after hook通过调用日志审计模块进行日志审计。[0007]其中,所述步骤S1中,通过调用封装函数pack func间接调用事件函数event func,实现before hook和after hook的创建。[0008]其中,所述步骤S1中,通过调用封装函数pack func,执行login web函数,间接调用调用事件函数event func,从而实现before hook和after hook的创建。[0009]其中,所述步骤S1中,before hook和after hook的创建形式为:
pack func(event func){
before hook func();event func();after hook func();}。
4
CN 110032879 A[0010]
说 明 书
2/4页
其中,所述步骤S1中所创建的before hook及after hook功能相互。
[0011]本发明另外提供了一种用户行为的安全认证及日志审计系统,包括:
before hook模块,用于接收多个用户的api请求,并对其进行安全认证;多个执行模块,与before hook模块连接,用于接收before hook模块的安全认证结果,并执行api请求;
after hook模块,与多个执行模块及before hook模块连接,用于对多个api请求进行日志审计并返回审计结果。[0012]其中,该多个api请求在经过before hook模块的安全认证后,若通过,则经过执行模块执行再由after hook模块进行日志审计,若不通过,则直接由after hook模块进行日志审计。
[0013]其中,所述before hook模块及after hook模块均基于hook技术创建。[0014]其中,所述before hook模块包括安全认证模块,通过调用安全认证模块内的安全认证函数完成安全认证,所述after hook模块包括日志审计模块,通过调用日志审计模块内的日志审计函数完成日志审计。[0015]其中,所述before hook模块及after hook模块的安全认证功能及日志审计功能相互。
[0016]本发明提供的用户行为的安全认证和日志审计方法及系统,利用hook技术创建before hook及after hook功能模块,对每个应用开发接口api请求分别执行安全认证及日志审计,极大的简化了程序,使功能更加模块化,添加了模块之间的耦合性,同时保证了每次调用都必须进行安全认证和日志审计,能够充分保证系统的安全性。附图说明
[0017]图1:现有技术的用户行为的安全认证及日志审计方法实现流程图;
图2:本发明的用户行为的安全认证和日志审计方法的实现流程图;图3:本发明的用户行为的安全认证及日志审计系统结构示意图。[0018]附图标记说明
10 before hook模块11 安全认证模块20 执行模块30 after hook模块31 日志审计模块。
具体实施方式
[0019]为了对本发明的技术方案及有益效果有更进一步的了解,下面结合附图详细说明本发明的技术方案及其产生的有益效果。
[0020]WWW的发明人蒂姆•伯纳斯•李谈到设计原理时说过,“简单性和模块化是软件工程的基石;分布式和容错性是互联网的生命”。因此,本发明基于相同的理念,提出了基于模块化设计构思的用户行为的安全认证和日志审计方法及系统。[0021]如图2所示,为本发明的用户行为的安全认证和日志审计方法的实现流程图,包括
5
CN 110032879 A
说 明 书
3/4页
如下步骤:
步骤S1:利用hook技术创建before hook(前钩子函数)和after hook(后钩子函数);步骤S2:before hook通过调用安全认证模块对用户行为进行安全认证,若安全认证通过,则执行api内容, after hook通过调用日志审计模块对用户行为进行日志审计;若安全认证不通过,则after hook直接通过调用日志审计模块对用户行为进行日志审计。[0022]本发明中,前钩子函数和后钩子函数的创建可以通过封装的形式实现,如定义事件函数event_func,前钩子函数before_hook_func,后钩子函数after_hook_func,封装函数为pack_func:
pack_func(event_func){
before_hook_func();Event_func();
after_hook_func();}
如上,如果需要执行login_web函数,可以调用pack_func(login_web)。[0023]这样调用事件函数,不是通过直接调用的方式,而是通过间接的形式实现的,即先调用封装函数,通过封装函数间接调用事件函数。如熟知的web请求中的get,post,delete,put请求等。
[0024]如图3所示,为本发明提供的用户行为的安全认证及日志审计系统结构示意图,本发明提供的用户行为的安全认证及日志审计系统包括:
before hook模块10,基于hook技术创建,用于接收多个用户的api请求,并对其进行安全认证;
多个执行模块20,与before hook模块10连接,用于接收before hook模块10的安全认证结果,并执行api请求;
after hook模块30,也基于hook技术创建,与多个执行模块20及before hook模块10连接,用于对多个api请求进行日志审计并返回审计结果。[0025]具体工作时,该多个api请求在经过before hook模块10的安全认证后,若通过,则经过执行模块20执行再由after hook模块30进行日志审计,若不通过,则直接由after hook模块30进行日志审计。[0026]本发明中,所述before hook模块10的安全认证功能通过调用其内设置的安全认证模块11所提供的安全认证函数完成,同样的,所述after hook模块30的日志审计功能通过调用其内设置的日志审计模块31所提供的日志审计函数完成。[0027]也即,本发明中,只要有api调用执行,都必须先执行安全认证,并且,after hook模块中日志审计模块的调用与否与api的调用及安全认证的成功与否无关。本发明中,before hook模块及after hook模块功能是相互的,不受其它功能的影响,整个方法的实现流程是线性的。
[0028]以web微型架构bottle为例,本发明中,利用hook技术进行api请求的权限验证和日志审计的实现步骤如下:
1、为URL /api/user/ 6 CN 110032879 A 说 明 书 4/4页 2、编写权限验证函数为check_auth;3、将权限验证函数check_auth被装饰器@hook('before_request')装饰;4、编写日志审计模块函数do_audit;5、将日志审计函数do_auth被装饰器@hook('after_request')装饰。[0029]假设整个web服务架构已搭好,那么在web服务中调用URL为/api/user/1/info的请求时,服务会先执行hook为before_request的权限验证函数check_auth,如果鉴权成功,会继续执行get_user_info函数,否则跳过,最后执行hook为after_request的日志审计函数do_audit。 [0030]本发明提供的用户行为的安全认证和日志审计方法及系统,利用hook技术创建before hook及after hook功能模块,对每个应用开发接口api请求分别执行安全认证及日志审计,极大的简化了程序,使功能更加模块化,添加了模块之间的耦合性,同时保证了每次调用都必须进行安全认证和日志审计,能够充分保证系统的安全性。[0031]虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。 7 CN 110032879 A 说 明 书 附 图 1/3页 图1 8 CN 110032879 A 说 明 书 附 图 2/3页 图2 9 CN 110032879 A 说 明 书 附 图 3/3页 图3 10 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务