CN112671715A - 一种用于保障应用的数据安全通信的方法与装置 - Google Patents
一种用于保障应用的数据安全通信的方法与装置 Download PDFInfo
- Publication number
- CN112671715A CN112671715A CN202011395524.7A CN202011395524A CN112671715A CN 112671715 A CN112671715 A CN 112671715A CN 202011395524 A CN202011395524 A CN 202011395524A CN 112671715 A CN112671715 A CN 112671715A
- Authority
- CN
- China
- Prior art keywords
- data
- wind control
- library
- server
- application
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004891 communication Methods 0.000 title claims abstract description 42
- 230000002452 interceptive effect Effects 0.000 claims abstract description 33
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 23
- 230000015654 memory Effects 0.000 claims description 37
- 238000001514 detection method Methods 0.000 claims description 26
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 abstract description 7
- 238000004590 computer program Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000005291 magnetic effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000011217 control strategy Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 2
- 230000003014 reinforcing effect Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本申请的目的是提供一种用于保障应用的数据安全通信的方法与装置,该方法包括:将业务数据调用Jni接口通过经特定算法加固的so库进行加密;将接收自so库返回的加密数据和风控等级发送至业务服务器;接收自业务服务器返回的数据,若有风险,返回的数据为业务服务器接收自风控服务器评估得到的风险级别,若没有风险,返回的数据为业务服务器对待交互的业务数据进行加密得到的加密交互数据;将加密交互数据调用Jni接口,通过so库解密获得交互数据,完成数据安全通信。与现有技术相比,本申请通过特定算法对so库加固,检测应用的运行环境,并及时通知风控服务器,发生风险风控服务器就会阻止业务服务器将业务内容下发给应用,保证了业务数据不被截取。
Description
技术领域
本申请涉及通信领域,尤其涉及一种用于保障应用的数据安全通信的技术。
背景技术
针对应用与业务服务器之间的通信,业界的方案通常是对应用的网络通信加密,对native库加壳,但是存在通信内容被抓取并破解,native库被剥壳后反编译,被动态调试抓取二进制数据,绝大部分应用持有方并不能发现这些问题,也无法阻止数据的进一步泄漏。
发明内容
本申请的一个目的是提供一种用于保障应用的数据安全通信的方法与装置。
根据本申请的一个方面,提供了一种用于在业务层保障应用的数据安全通信的方法,其中,所述方法包括:
将业务数据调用Jni接口通过对应的so(shared object,共享对象)库进行加密,其中,所述so库进行了特定算法的加固;
将接收自所述so库返回的加密数据和风控等级发送至对应的业务服务器,其中,所述风控等级由所述so库通过检测运行环境得到;
接收自所述业务服务器返回的数据,若有风险,所返回的数据为所述业务服务器接收自对应的风控服务器基于所述风控等级所评估得到的风险级别,若没有风险,所返回的数据为所述业务服务器对待交互的业务数据进行加密得到的加密交互数据;
将所述加密交互数据调用所述Jni接口通过所述so库进行解密,获得解密后的交互数据,从而完成数据安全通信。
根据本申请的一个方面,提供了一种用于在业务服务器中保障应用的数据安全通信的方法,其中,所述方法包括:
接收对应的业务层发送的加密数据和风控等级,其中,所述风控等级由所述so库通过检测运行环境得到;
将所述风控等级发送至对应的风控服务器,并接收所述风控服务器反馈的基于所述风控等级所评估得到的风险级别;
若有风险,将所述风险级别反馈至所述业务层,若没有风险,准备待交互的业务数据并进行加密,将加密后的加密交互数据返回至所述业务层。
根据本申请的一个方面,提供了一种用于保障应用的数据安全通信的设备,其中,所述设备包括:
处理器,以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上任一项所述的方法。
根据本申请的一个方面,提供了一种存储指令的计算机可读介质,所述指令在被计算机执行时使得所述计算机进行如上任一项所述方法的操作。
根据本申请的一个方面,提供了一种在业务层保障应用的数据安全通信的装置,其中,所述装置包括:
第一调用装置,用于将业务数据调用Jni接口通过对应的so库进行加密,其中,所述so库进行了特定算法的加固;
第一发送装置,用于将接收自所述so库返回的加密数据和风控等级发送至对应的业务服务器,其中,所述风控等级由所述so库通过检测运行环境得到;
第一接收装置,用于接收自所述业务服务器返回的数据,若有风险,所返回的数据为所述业务服务器接收自对应的风控服务器基于所述风控等级所评估得到的风险级别,若没有风险,所返回的数据为所述业务服务器对待交互的业务数据进行加密得到的加密交互数据;
第二调用装置,用于将所述加密交互数据调用所述Jni接口通过所述so库进行解密,获得解密后的交互数据,从而完成数据安全通信。
根据本申请的一个方面,提供了一种用于在业务服务器中保障应用的数据安全通信的装置,其中,该装置包括:
第二接收装置,用于接收对应的业务层发送的加密数据和风控等级,其中,所述风控等级由所述so库通过检测运行环境得到;
第二发送装置,用于将所述风控等级发送至对应的风控服务器,并接收所述风控服务器反馈的基于所述风控等级所评估得到的风险级别;
第三发送装置,用于若有风险,将所述风险级别反馈至所述业务层,若没有风险,准备待交互的业务数据并进行加密,将加密后的加密交互数据返回至所述业务层。
与现有技术相比,本申请通过特定算法对so库加固,检测应用的运行环境,并及时通知风控服务器,风控服务器有完整的风控策略,发生风险就会阻止业务服务器将业务内容下发给应用,保证了业务服务器的业务数据不被截取。
进一步地,so库通过特定算法加固,编写私有的虚拟机指令来替换原so库内的汇编指令,同时注入环境检测的代码,能检测应用的运行环境,不容易被脱壳,不会被下断点,让通过篡改ARM汇编指令来调试so的内容的办法不凑效。
进一步地,如果信息泄露已经发生,业务层收集破解者的地理位置信息和网络相关信息,上报到风控服务器,则后续可以通过查询风控服务器来查询不法行为的终端机的地理位置信息和网络相关信息等,能有效地追究法律责任,挽回业务损失。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个实施例的一种用于在业务层保障应用的数据安全通信的方法流程图;
图2示出根据本申请一个实施例的一种用于在业务服务器中保障应用的数据安全通信的方法流程图;
图3示出根据本申请一个实施例的一种用于在业务层保障应用的数据安全通信的装置结构图;
图4示出根据本申请一个实施例的一种用于在业务服务器中保障应用的数据安全通信的装置结构图;
图5示出根据本申请一个实施例的用于保障应用的数据安全通信的流程示意图;
图6示出可被用于实施本申请中所述的各个实施例的示例性***。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器(Programmable Random Access Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作***,如Android操作***、iOS操作***等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
图1示出了根据本申请一个实施例的一种用于在业务层保障应用的数据安全通信的方法流程图,该方法包括步骤S11、步骤S12、步骤S13、步骤S14。在步骤S11中,业务层将业务数据调用Jni接口通过对应的so库进行加密,其中,所述so库进行了特定算法的加固;在步骤S12中,业务层将接收自所述so库返回的加密数据和风控等级发送至对应的业务服务器,其中,所述风控等级由所述so库通过检测运行环境得到;在步骤S13中,业务层接收自所述业务服务器返回的数据,若有风险,所返回的数据为所述业务服务器接收自对应的风控服务器基于所述风控等级所评估得到的风险级别,若没有风险,所返回的数据为所述业务服务器对待交互的业务数据进行加密得到的加密交互数据;在步骤S14中,业务层将所述加密交互数据调用所述Jni接口通过所述so库进行解密,获得解密后的交互数据,从而完成数据安全通信。
在步骤S11中,当应用,如安卓应用,有业务数据需要加密时,该应用的业务层通过Jni接口调用对应的so库,将业务数据发送至该so库进行加密,其中,该so库进行了特定算法的加固,加固后的so库不易被脱壳。
在一些实施例中,该so库进行了特定算法的加固,包括:将原so库内的汇编指令转换成新编写的私有虚拟机指令;***用于检测运行环境的检测代码;将新的文件打包成so库,得到经特定算法加固后的so库。
例如,加固工具预先编写一套私有的虚拟机指令,将原so库内的标准的ARM汇编指令转换成该预先编写的私有虚拟机指令,随后,再加上用于检测运行环境的检测代码,例如,用于检测调试状态的检测代码,用于检测虚拟机运行状态的检测代码等,再将该新的文件打包成so库,得到经过特定算法加固后的so库。该so库经过特定算法加固,编写私有的虚拟机指令,不容易被脱壳,不会被下断点,让通过篡改ARM汇编指令来调试so库的内容的办法不凑效。
该经特定算法加固后的so库对该业务数据进行加密,获得加密数据,并通过检测运行环境得到风控等级,将该加密数据和风控等级返回至该业务层。
在步骤S12中,业务层将接收自该so库返回的加密数据和风控等级,例如通过https接口发送至对应的业务服务器,其中,该风控等级由该so库通过检测运行环境得到。业务层将so库检测得到的风控等级发送至业务服务器,可以由该业务服务器继续转发至对应的风控服务器来对该应用的运行环境进行评估风险。
在一些实施例中,其中,在加固该so库时***的用于检测运行环境的检测代码包括用于检测调试状态的检测代码和/或用于检测虚拟机运行状态的检测代码。随后,当so库检测运行环境时,该so库执行该用于检测调试状态的检测代码,来检测是否被调试,或者,该so库执行用于检测虚拟机运行状态的检测代码,来检测是否在虚拟机里运行,从而得到风控等级,并将该风控等级和该so库将业务数据加密后得到的加密数据一起返回给该业务层。
在步骤S13中,业务层接收自该业务服务器返回的数据,该业务服务器返回的数据是基于其与风控服务器的交互所确定下来的数据,也即,该业务服务器将接收自业务层的风控等级转发至风控服务器,风控服务器根据该风控等级评估该应用的运行环境的风险级别,并将该风险级别返回给业务服务器。若有风险,则业务服务器就不会准备业务数据返回给该应用的业务层,而仅将风险级别返回至该业务层,也即,业务层接收自该业务服务器所返回的数据为该业务服务器接收自对应的风控服务器基于该风控等级所评估得到的风险级别。若没有风险,则业务服务器确定要返回至该业务层的待交互的业务数据,并对该业务数据进行加密,得到加密交互数据,将该加密交互数据返回至该业务层,例如,业务服务器通过前述https接口将该加密交互数据原路返回至该业务层,也即,该业务层接收自该业务服务器所返回的数据为该业务服务器对待交互的业务数据进行加密得到的加密交互数据。在此,风控服务器有完整的风控策略,若判断存在风险就会阻止业务服务器将业务数据下发给该应用,保证了业务服务器的业务数据不被截取。
在一些实施例中,该方法还包括步骤S15。在步骤S15中,当业务层接收自该业务服务器所返回的数据为风险级别,收集当前应用的应用信息,并上报给所述风控服务器。
在此,当存在风险,则业务服务器仅将风险级别返回至该业务层,业务层便知晓当前应用的运行环境存在风险,因此,在步骤S15中,业务层启动收集信息任务,收集当前应用的应用信息,包括但不限于地理位置信息、设备信息、网络信息等各种信息,例如,通过***函数获取该当前应用所在的地理位置信息,并将这些应用信息上报给该风控服务器。风控服务器收集到不同终端上报的各类风险源的信息,这样,如果后续发生信息泄露,通过查询该风控服务器,可以获知不法行为的终端机的地理位置、网络信息等,从而能有效的追究法律责任,挽回业务损失。
在一些实施例中,所述应用信息包括以下至少任一项:
所述当前应用所在的地理位置信息;
所述当前应用使用的网络信息。
该当前应用所在的地理位置信息可以通过该当前应用所在的终端上自带的GPS(Global Positioning System,全球定位***)等装置获取,业务层例如通过调用这些装置或模块对应的接口来获取对应的地理位置信息;该当前应用使用的网络信息例如该应用所在的终端的网络IP和Mac地址等各类信息。
本领域技术人员应能理解,上述应用信息仅为举例,其他现有或今后可能出现的应用信息如可适用于本实施例,也应包含在本实施例保护范围以内,并在此以引用方式包含于此。
在一些实施例中,在步骤S15中,业务层将收集的该当前应用的应用信息,调用该Jni接口通过该so库进行加密,将加密后的应用信息通过调用风控服务器定义的https的信息收集接口,发送至该风控服务器。
在步骤S14中,业务层接收到了对应的业务服务器所返回的加密交互数据,将该加密交互数据调用该Jni接口通过该so库进行解密,获得解密后的交互数据,从而完成数据安全通信。
上述实施例通过特定算法对so库加固,检测应用的运行环境,并及时通知风控服务器,风控服务器有完整的风控策略,发生风险就会阻止业务服务器将业务内容下发给应用,保证了业务服务器的业务数据不被截取。
进一步地,so库通过特定算法加固,编写私有的虚拟机指令来替换原so库内的汇编指令,同时注入环境检测的代码,能检测应用的运行环境,不容易被脱壳,不会被下断点,让通过篡改ARM汇编指令来调试so的内容的办法不凑效。
进一步地,如果信息泄露已经发生,业务层收集破解者的地理位置信息和网络相关信息,上报到风控服务器,则后续可以通过查询风控服务器来查询不法行为的终端机的地理位置信息和网络相关信息等,能有效地追究法律责任,挽回业务损失。
图2示出了根据本申请一个实施例的一种用于在业务服务器中保障应用的数据安全通信的方法流程图,该方法包括步骤S21、步骤S22、步骤S23。在步骤S21中,业务服务器接收对应的业务层发送的加密数据和风控等级,其中,所述风控等级由所述so库通过检测运行环境得到;在步骤S22中,业务服务器将所述风控等级发送至对应的风控服务器,并接收所述风控服务器反馈的基于所述风控等级所评估得到的风险级别;在步骤S23中,业务服务器若有风险,将所述风险级别反馈至所述业务层,若没有风险,准备待交互的业务数据并进行加密,将加密后的加密交互数据返回至所述业务层。
在一些实施例中,在步骤S21中,业务服务器接收对应的业务层通过https接口发送的加密数据和风控等级;业务服务器将该加密数据进行解密处理,获得解密后的数据,并且,在步骤S23中,若判断没有风险,则业务服务器基于前述解密后的数据准备待交互的业务数据,并对该待交互的业务数据进行加密,获得加密后的加密交互数据,再通过前述https接口,将该加密交互数据原路返回至该业务层。
一个业务层、so库、业务服务器、风控服务器四者之间交互的实施例如图5所示:
安卓应用的业务层需要与对应的业务服务器通信来传递业务数据;
业务层准备好业务数据,调用Jni接口进行加密,其中,所述接口所属的so库进行了特定算法的加固;
so库内部执行安全检测的代码,检查运行环境是否安全,包括是否被调试,是否在虚拟机里运行,得出风控等级,同时加密需要加密的业务数据;
so库返回加密数据和风控等级给业务层;
业务层将加密数据和风控等级通过https接口发送给对应的业务服务器;
业务服务器接收到数据后,先将风控等级发送给风控服务器,等待风控服务器的反馈;
风控服务器有完整的风控策略,其根据业务服务器发送的风控等级评估出风险级别,反馈给业务服务器;
业务服务器收到风控服务器反馈的风险级别,如果是有风险,就不会准备业务数据反馈给安卓应用的业务层,只会把风险级别反馈回去;
业务层收到反馈的风险级别后,就会收集当前应用所在的地理位置信息和使用的网络信息等应用信息,上报给风控服务器;
如果业务服务器收到风控服务器反馈的风险级别显示没有风险,业务服务器就会根据之前接收到的业务数据准备待交互的业务数据并进行加密,通过https原路将加密交互数据返回给应用的业务层;
业务层收到业务服务器返回的加密交互数据后,调用Jni接口,让so库将加密交互数据进行解密,一个完整的业务数据交互就完成了,之后业务层可以执行对应的业务逻辑。
图3示出根据本申请一个实施例的一种在业务层保障应用的数据安全通信的装置结构图;装置1位于业务层中,其包括第一调用装置31、第一发送装置32、第一接收装置33、第二调用装置34。第一调用装置31将业务数据调用Jni接口通过对应的so库进行加密,其中,所述so库进行了特定算法的加固;第一发送装置32将接收自所述so库返回的加密数据和风控等级发送至对应的业务服务器,其中,所述风控等级由所述so库通过检测运行环境得到;第一接收装置33接收自所述业务服务器返回的数据,若有风险,所返回的数据为所述业务服务器接收自对应的风控服务器基于所述风控等级所评估得到的风险级别,若没有风险,所返回的数据为所述业务服务器对待交互的业务数据进行加密得到的加密交互数据;第二调用装置34将所述加密交互数据调用所述Jni接口通过所述so库进行解密,获得解密后的交互数据,从而完成数据安全通信。在此,所述图3示出的第一调用装置31、第一发送装置32、第一接收装置33、第二调用装置34对应的具体实施方式分别与前述步骤S11、步骤S12、步骤S13、步骤S14的具体实施例相同或相近,故不再赘述,以引用方式包含于此。
在一些实施例中,该装置1还包括上报装置(未示出),上报装置当接收自所述业务服务器所返回的数据为风险级别,收集当前应用的应用信息,并上报给所述风控服务器。
在此,当存在风险,则业务服务器仅将风险级别返回至该业务层,业务层便知晓当前应用的运行环境存在风险,因此,业务层的上报装置启动收集信息任务,收集当前应用的应用信息,包括但不限于地理位置信息、设备信息、网络信息等各种信息,例如,通过***函数获取该当前应用所在的地理位置信息,并将这些应用信息上报给该风控服务器。风控服务器收集到不同终端上报的各类风险源的信息,这样,如果后续发生信息泄露,通过查询该风控服务器,可以获知不法行为的终端机的地理位置、网络信息等,从而能有效的追究法律责任,挽回业务损失。
在一些实施例中,所述应用信息包括以下至少任一项:
所述当前应用所在的地理位置信息;
所述当前应用使用的网络信息。
该当前应用所在的地理位置信息可以通过该当前应用所在的终端上自带的GPS(Global Positioning System,全球定位***)等装置获取,上报装置例如通过调用这些装置或模块对应的接口来获取对应的地理位置信息;该当前应用使用的网络信息例如该应用所在的终端的网络IP和Mac地址等各类信息。
本领域技术人员应能理解,上述应用信息仅为举例,其他现有或今后可能出现的应用信息如可适用于本实施例,也应包含在本实施例保护范围以内,并在此以引用方式包含于此。
在一些实施例中,上报装置将收集的该当前应用的应用信息,调用该Jni接口通过该so库进行加密,将加密后的应用信息通过调用风控服务器定义的https的信息收集接口,发送至该风控服务器。
在一些实施例中,该装置1还包括加固装置(未示出),该加固装置将原so库内的汇编指令转换成新编写的私有虚拟机指令;***用于检测运行环境的检测代码;将新的文件打包成so库,得到经特定算法加固后的so库。
例如,加固装置预先编写一套私有的虚拟机指令,将原so库内的标准的ARM汇编指令转换成该预先编写的私有虚拟机指令,随后,再加上用于检测运行环境的检测代码,例如,用于检测调试状态的检测代码,用于检测虚拟机运行状态的检测代码等,再将该新的文件打包成so库,得到经过特定算法加固后的so库。该so库经过特定算法加固,编写私有的虚拟机指令,不容易被脱壳,不会被下断点,让通过篡改ARM汇编指令来调试so库的内容的办法不凑效。
该经特定算法加固后的so库对该业务数据进行加密,获得加密数据,并通过检测运行环境得到风控等级,将该加密数据和风控等级返回至该业务层。
在一些实施例中,加固装置在加固该so库时***的用于检测运行环境的检测代码包括用于检测调试状态的检测代码和/或用于检测虚拟机运行状态的检测代码。随后,当so库检测运行环境时,该so库执行该用于检测调试状态的检测代码,来检测是否被调试,或者,该so库执行用于检测虚拟机运行状态的检测代码,来检测是否在虚拟机里运行,从而得到风控等级,并将该风控等级和该so库将业务数据加密后得到的加密数据一起返回给该业务层。
图4示出根据本申请一个实施例的一种在业务服务器中保障应用的数据安全通信的装置结构图;装置2位于业务服务器中,其包括第二接收装置41、第二发送装置42、第三发送装置43。第二接收装置41接收对应的业务层发送的加密数据和风控等级,其中,所述风控等级由所述so库通过检测运行环境得到;第二发送装置42将所述风控等级发送至对应的风控服务器,并接收所述风控服务器反馈的基于所述风控等级所评估得到的风险级别;若有风险,第三发送装置43将所述风险级别反馈至所述业务层,若没有风险,第三发送装置43准备待交互的业务数据并进行加密,将加密后的加密交互数据返回至所述业务层。在此,所述图4示出的第二接收装置41、第二发送装置42、第三发送装置43对应的具体实施方式分别与前述步骤S21、步骤S22、步骤S23的具体实施例相同或相近,故不再赘述,以引用方式包含于此。
图6示出了可被用于实施本申请中所述的各个实施例的示例性***;
如图6所示在一些实施例中,***300能够作为各所述实施例中的任意一个设备。在一些实施例中,***300可包括具有指令的一个或多个计算机可读介质(例如,***存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。
对于一个实施例,***控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与***控制模块310通信的任意适当的设备或组件提供任意适当的接口。
***控制模块310可包括存储器控制器模块330,以向***存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。
***存储器315可被用于例如为***300加载和存储数据和/或指令。对于一个实施例,***存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,***存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,***控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。
例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备320可包括在物理上作为***300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。
(一个或多个)通信接口325可为***300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。***300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器(例如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑封装在一起以形成***级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上***(SoC)。
在各个实施例中,***300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,***300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,***300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
除上述各实施例介绍的方法和设备外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个***传送到另一***的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机***使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (12)
1.一种用于在业务层保障应用的数据安全通信的方法,其中,所述方法包括:
将业务数据调用Jni接口通过对应的so库进行加密,其中,所述so库进行了特定算法的加固;
将接收自所述so库返回的加密数据和风控等级发送至对应的业务服务器,其中,所述风控等级由所述so库通过检测运行环境得到;
接收自所述业务服务器返回的数据,若有风险,所返回的数据为所述业务服务器接收自对应的风控服务器基于所述风控等级所评估得到的风险级别,若没有风险,所返回的数据为所述业务服务器对待交互的业务数据进行加密得到的加密交互数据;
将所述加密交互数据调用所述Jni接口通过所述so库进行解密,获得解密后的交互数据,从而完成数据安全通信。
2.根据权利要求1所述的方法,其中,该方法还包括:
当接收自所述业务服务器所返回的数据为风险级别,收集当前应用的应用信息,并上报给所述风控服务器。
3.根据权利要求2所述的方法,其中,所述应用信息包括以下至少任一项:
所述当前应用所在的地理位置信息;
所述当前应用使用的网络信息。
4.根据权利要求2或3所述的方法,其中,所述上报给所述风控服务器包括:
将收集的所述当前应用的应用信息,调用所述Jni接口通过所述so库进行加密,将加密后的应用信息发送至所述风控服务器。
5.根据权利要求1所述的方法,其中,所述so库进行了特定算法的加固包括:
将原so库内的汇编指令转换成新编写的私有虚拟机指令;
***用于检测运行环境的检测代码;
将新的文件打包成so库,得到经特定算法加固后的so库。
6.根据权利要求5所述的方法,其中,所述用于检测运行环境的检测代码包括用于检测调试状态的检测代码和/或用于检测虚拟机运行状态的检测代码;其中,所述风控等级由所述so库通过检测运行环境得到包括:
所述so库执行所述检测代码,检测是否被调试和/或是否在虚拟机里运行,得到所述风控等级。
7.根据权利要求1所述的方法,其中,所述将接收自所述so库返回的加密数据和风控等级发送至对应的业务服务器,其中,所述风控等级由所述so库通过检测运行环境得到包括:
将接收自所述so库返回的加密数据和风控等级,通过https接口发送至对应的业务服务器;
所述接收自所述业务服务器返回的数据,若有风险,所返回的数据为所述业务服务器接收自对应的风控服务器基于所述风控等级所评估得到的风险级别,若没有风险,所返回的数据为所述业务服务器对待交互的业务数据进行加密得到的加密交互数据包括:
若没有风险,接收自所述业务服务器通过所述https接口原路返回的加密交互数据。
8.一种用于在业务服务器中保障应用的数据安全通信的方法,其中,所述方法包括:
接收对应的业务层发送的加密数据和风控等级,其中,所述风控等级由所述so库通过检测运行环境得到;
将所述风控等级发送至对应的风控服务器,并接收所述风控服务器反馈的基于所述风控等级所评估得到的风险级别;
若有风险,将所述风险级别反馈至所述业务层,若没有风险,准备待交互的业务数据并进行加密,将加密后的加密交互数据返回至所述业务层。
9.根据权利要求8所述的方法,其中,所述接收对应的业务层发送的加密数据和风控等级,其中,所述风控等级由所述so库通过检测运行环境得到包括:
接收对应的业务层通过https接口发送的加密数据和风控等级;
所述若有风险,将所述风险级别反馈至所述业务层,若没有风险,准备待交互的业务数据并进行加密,将加密后的加密交互数据返回至所述业务层包括:
若没有风险,将所述加密交互数据通过所述https接口原路返回至所述业务层。
10.一种用于在业务层保障应用的数据安全通信的设备,其中,所述设备包括:
处理器,以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1至7中任一项所述的方法。
11.一种用于在业务服务器中保障应用的数据安全通信的设备,其中,所述设备包括:
处理器,以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求8或9所述的方法。
12.一种存储指令的计算机可读介质,所述指令在被计算机执行时使得所述计算机进行如权利要求1至9中任一项所述方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011395524.7A CN112671715B (zh) | 2020-12-03 | 2020-12-03 | 一种用于保障应用的数据安全通信的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011395524.7A CN112671715B (zh) | 2020-12-03 | 2020-12-03 | 一种用于保障应用的数据安全通信的方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112671715A true CN112671715A (zh) | 2021-04-16 |
CN112671715B CN112671715B (zh) | 2023-05-09 |
Family
ID=75402562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011395524.7A Active CN112671715B (zh) | 2020-12-03 | 2020-12-03 | 一种用于保障应用的数据安全通信的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112671715B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114357488A (zh) * | 2022-01-04 | 2022-04-15 | 深圳市智百威科技发展有限公司 | 一种数据加密***及方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701423A (zh) * | 2015-12-31 | 2016-06-22 | 深圳前海微众银行股份有限公司 | 应用于云端支付业务的数据存储方法及装置 |
CN106778103A (zh) * | 2016-12-30 | 2017-05-31 | 上海掌门科技有限公司 | 一种安卓应用程序防逆向破解的加固方法、***及解密方法 |
CN107169324A (zh) * | 2017-05-12 | 2017-09-15 | 北京理工大学 | 一种基于动态加解密的Android应用加固方法 |
CN107766728A (zh) * | 2017-08-28 | 2018-03-06 | 国家电网公司 | 移动应用安全管理装置、方法及移动作业安全防护*** |
US20180123958A1 (en) * | 2016-07-05 | 2018-05-03 | Ologn Technologies Ag | Systems, Apparatuses and Methods for Network Packet Management |
CN108021805A (zh) * | 2017-12-18 | 2018-05-11 | 上海众人网络安全技术有限公司 | 检测Android应用程序运行环境的方法、装置、设备及存储介质 |
CN108108973A (zh) * | 2017-12-01 | 2018-06-01 | 北京三快在线科技有限公司 | 业务风险控制方法及装置 |
CN110175067A (zh) * | 2019-03-05 | 2019-08-27 | 广东电网有限责任公司信息中心 | 一种移动应用立体防御方法和*** |
CN110765470A (zh) * | 2019-09-19 | 2020-02-07 | 平安科技(深圳)有限公司 | 安全键盘实现方法、装置、计算机设备及存储介质 |
CN111401901A (zh) * | 2020-03-23 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 生物支付设备的认证方法、装置、计算机设备和存储介质 |
-
2020
- 2020-12-03 CN CN202011395524.7A patent/CN112671715B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701423A (zh) * | 2015-12-31 | 2016-06-22 | 深圳前海微众银行股份有限公司 | 应用于云端支付业务的数据存储方法及装置 |
US20180123958A1 (en) * | 2016-07-05 | 2018-05-03 | Ologn Technologies Ag | Systems, Apparatuses and Methods for Network Packet Management |
CN106778103A (zh) * | 2016-12-30 | 2017-05-31 | 上海掌门科技有限公司 | 一种安卓应用程序防逆向破解的加固方法、***及解密方法 |
CN107169324A (zh) * | 2017-05-12 | 2017-09-15 | 北京理工大学 | 一种基于动态加解密的Android应用加固方法 |
CN107766728A (zh) * | 2017-08-28 | 2018-03-06 | 国家电网公司 | 移动应用安全管理装置、方法及移动作业安全防护*** |
CN108108973A (zh) * | 2017-12-01 | 2018-06-01 | 北京三快在线科技有限公司 | 业务风险控制方法及装置 |
CN108021805A (zh) * | 2017-12-18 | 2018-05-11 | 上海众人网络安全技术有限公司 | 检测Android应用程序运行环境的方法、装置、设备及存储介质 |
CN110175067A (zh) * | 2019-03-05 | 2019-08-27 | 广东电网有限责任公司信息中心 | 一种移动应用立体防御方法和*** |
CN110765470A (zh) * | 2019-09-19 | 2020-02-07 | 平安科技(深圳)有限公司 | 安全键盘实现方法、装置、计算机设备及存储介质 |
CN111401901A (zh) * | 2020-03-23 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 生物支付设备的认证方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
张文: "Android应用软件的安全保护技术研究", 《中国博士学位论文全文数据库》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114357488A (zh) * | 2022-01-04 | 2022-04-15 | 深圳市智百威科技发展有限公司 | 一种数据加密***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112671715B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10409984B1 (en) | Hierarchical data security measures for a mobile device | |
CN110765395B (zh) | 一种用于提供小说信息的方法与设备 | |
CN112434326B (zh) | 一种基于数据流的可信计算方法及装置 | |
CN112948900A (zh) | 应用于区块链***的链下数据获取方法和装置 | |
CN110290557B (zh) | 一种加载应用内页面标签的方法与设备 | |
CN103631678A (zh) | 一种客户端软件的备份方法、还原方法和装置 | |
US20190340340A1 (en) | Debuggable obfuscated script | |
CN112417485A (zh) | 一种基于可信执行环境的模型训练方法、***及装置 | |
CN106293688B (zh) | 一种网页请求的处理方法、装置和*** | |
CN113014670A (zh) | 一种用于推送订单信息的方法、设备、介质及程序产品 | |
CN110780887A (zh) | 一种提供应用安装包的方法与设备 | |
CN112671715B (zh) | 一种用于保障应用的数据安全通信的方法与装置 | |
CN113010858B (zh) | 一种用于在用户设备中登录应用的方法与设备 | |
CN111182050B (zh) | 一种实现应用与服务器间通信的方法与设备 | |
US20130054957A1 (en) | Two-Way, Secure, Data Communication within Critical Infrastructures | |
CN112968899A (zh) | 一种加密通信的方法与设备 | |
CN115242413A (zh) | 物联网设备固件安全升级方法、装置、电子设备及介质 | |
CN113099025B (zh) | 一种在社交应用中添加好友的方法与设备 | |
CN112486496A (zh) | 一种用于生成和运行so文件的方法与设备 | |
CN110321205B (zh) | 一种在宿主程序中管理寄宿程序的方法与设备 | |
CN110333914B (zh) | 一种用于执行目标操作的方法与设备 | |
CN109246034B (zh) | 一种用于为移动设备分配流量资源的方法与设备 | |
CN112559203A (zh) | 一种实现业务层与so库进行数据交换的方法与装置 | |
CN116662623B (zh) | 一种用于访问菜单信息的方法、装置、设备及介质 | |
CN114339630B (zh) | 一种用于短信保护的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231107 Address after: 312500 Wangjiangshan Village, Nanming Street, Xinchang County, Shaoxing City, Zhejiang Province Patentee after: Shaoxing Jilian Technology Co.,Ltd. Address before: 200120 2, building 979, Yun Han Road, mud town, Pudong New Area, Shanghai Patentee before: SHANGHAI LIANSHANG NETWORK TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |