CN117714216A - 一种基于对多维度唯一标识加密的数据越权访问控制方法 - Google Patents
一种基于对多维度唯一标识加密的数据越权访问控制方法 Download PDFInfo
- Publication number
- CN117714216A CN117714216A CN202410167402.4A CN202410167402A CN117714216A CN 117714216 A CN117714216 A CN 117714216A CN 202410167402 A CN202410167402 A CN 202410167402A CN 117714216 A CN117714216 A CN 117714216A
- Authority
- CN
- China
- Prior art keywords
- service
- ciphertext
- unique
- data
- identifier
- 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 43
- 238000012795 verification Methods 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 abstract description 16
- 238000002955 isolation Methods 0.000 abstract description 7
- 239000002699 waste material Substances 0.000 abstract description 3
- 238000011161 development Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Abstract
本发明提供的一种基于对多维度唯一标识加密的数据越权访问控制方法,其包括:发送业务数据或接收客户端请求信息时,通过识别业务接口的特殊标识,判断是否进行拦截,避免了无效校验导致资源浪费,提高效率;通过对业务唯一标识进行加密或解密,突破了业务数据的隔离规则,通用性强;采用多层加密算法将业务唯一标识、用户唯一属性和用户网络地址组合加密,提高了业务数据的安全性;解密过程中通过对密文进行解密和校验,实现了对密文数据的两级越权校验,增强了越权控制的强度。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种基于对多维度唯一标识加密的数据越权访问控制方法。
背景技术
应用系统中经常存在数据隔离的需求,但随之而来的就是数据越权的问题,例如,企业内部的文档系统,不同部门的员工只能访问与修改自己部门的文档。让员工只查看操作自己部门的文档是数据隔离,若员工伪造请求想要获取非本部门的数据则是越权攻击。数据越权漏洞严重的可能导致系统中数据被篡改,泄露等重大风险。
传统的越权漏洞方案是根据查询业务的数据隔离规则,在对应的操作业务上加入的数据越权校验代码。然而,传统越权控制的开发效率低,在应对不同的隔离规则时,需要编写不同的数据越权校验代码。如果对应的操作业务上漏加了越权校验代码,那么在漏加的操作业务上会有安全风险,如被攻击者利用导致数据被篡改、被泄露。 此外,在现有技术中,还通过设置规则库判断规则检测参数是否在其中的方式来实现越权控制,但是这种方式增加了额外的规则库,进而增加了部门系统的开发压力;同时在现有的加密过程中,根据指定规则确定关键字段及关键字段对应的字段位置的方式进行加密,使得业务数据的规则受限,降低了开发效率。
发明内容
本发明为了克服现有技术的不足,提供一种基于对多维度唯一标识加密的数据越权访问控制方法。
为了实现上述目的,本发明提供了一种基于对多维度唯一标识加密的数据越权访问控制方法,包括:
发送业务数据,若业务数据具有需要加密的业务唯一标识,则从业务数据中获取多维度唯一标识,多维度唯一标识组合加密生成密文;
将生成的密文填充到业务数据中发送到客户端;
客户端获取请求信息,若请求信息请求的业务接口具有拦截的特殊标识,则拦截本次请求;
若请求的业务接口上具有需要解密的业务唯一标识,则获取请求信息携带的业务数据中的密文;
依次通过对密文解密和对明文校验进行两级越权验证,对于通过越权校验的明文填充到请求信息携带的业务数据中。
优选的,业务接口的业务数据生成后,先判断是否有响应拦截器,若有,则将本次请求信息和业务数据发送至响应拦截器内进行判断。
优选的,拦截业务接口的业务数据时,若业务接口有拦截的特殊标识,则拦截业务接口发送的业务数据,若没有,业务接口直接将业务数据发送给客户端。
优选的,多维度唯一标识包括业务唯一标识、用户唯一属性和用户网络地址;加密时,将业务唯一标识、用户唯一属性和用户网络地址组合,通过加密算法与加密密钥进行加密获得密文。
优选的,多维度唯一标识组合加密的步骤包括:
将业务唯一标识、用户唯一属性和用户地址进行拼接生成字符串;
将拼接后的字符串通过SM3密码杂凑算法计算出字符串的第一摘要;
将第一摘要通过MD5信息摘要算法再次加密生成第二摘要;
将第二摘要进行反转得到反转后的第三摘要;
采用SM4分组密码算法对业务唯一标识进行计算获得业务唯一标识的密文;
将业务唯一标识的密文与第三摘要进行拼接,获得最终密文。
优选的,最终密文的拼接规则是将第一特殊字符、业务唯一标识的密文、第二特殊字符和第三摘要依次拼接;
第一特殊字符区分生成的密文和接收的密文;
第二特殊字符区分业务唯一标识的密文和第三摘要。
优选的,密文填充到业务数据中时,通过反射技术结合业务数据的字段信息将字段中的原值修改为密文。
优选的,密文获取的方式为:在请求信息携带的业务数据中,获取需要解密的业务唯一标识对应字段的值,对提取的值进行解密。
优选的,对密文进行解密的步骤包括:
判断密文是否是以第一特殊字符开头,若是,则执行下一步,若不是,则密文不符合规则,解密失败;
在密文中获取第二特殊字符的位置,若第二特殊字符不在密文中,则密文不符合规则,解密失败;
基于第二特殊字符的位置,将业务唯一标识的密文取出,若业务唯一标识的密文不存在,则解密失败;
通过SM4分组密码算法对业务唯一标识的密文进行解密,若解密失败,则有越权风险,解密失败;
基于第二特殊字符的位置,从密文中获得第三摘要,若第三摘要不存在,则解密失败;
获取用户的唯一属性、网络地址和解密后的业务唯一标识,将其拼接生成字符串,采用SM3密码杂凑算法加密得到第四摘要,将第四摘要通过MD5信息摘要算法再次加密得到第五摘要,将第五摘要反转生成第六摘要;
将计算出的第六摘要与提取出的第三摘要进行比较,若相同,则密文符合规则,解密成功,获得密文的明文。
优选的,对获得密文的明文进行校验,若校验成功,则判定本次请求不越权,允许本次请求访问,若校验失败或解密失败,则判定本次请求越权。
本发明提供的一种基于对多维度唯一标识加密的数据越权访问控制方法,其有益效果在于:
1、在接收和发送业务时,通过识别业务接口的特殊标识来校验接收的请求信息或发送的业务数据是否需要拦截,能够避免业务数据被访问的同时,对于无需拦截的业务数据可直接放行,大大降低了系统的压力,减少了资源浪费。
2、在加密或解密过程中,只需要对业务数据的业务唯一标识进行加密或解密,无需考虑查询业务的数据隔离规则,通用性强。此外,业务唯一标识在开发阶段,开发人员可自定义业务唯一标识,进一步提升了开发效率。
3、在加密过程中通过对业务唯一标识、用户唯一属性和用户地址进行组合加密,可以做到每个用户看到的数据的业务唯一标识都是不同的;且搭配私有密钥进行加密,在操作业务接口做解密校验处理,让攻击者无法模仿业务唯一标识,使得越权控制粒度精确到了每条数据,实现了能看见得数据,才能进行操作,无法对看不见得数据进行操作,可以有效的防止攻击者猜测数据业务唯一标识进行暴力越权攻击。
4、在加密和解密过程中,先对加密密文进行解密,如果解密失败,证明是越权校验。如果解密成功,会对解密后的明文进行二次校验,通过两级越权校验的方式保证系统的安全性。
附图说明
图1为本发明提供的一种基于对多维度唯一标识加密的数据越权访问控制方法的流程图;
图2为本发明提供的加密拦截流程;
图3为本发明提供的解密拦截流程。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为任意的改变,且其组件布局型态也可能更为复杂。
如图1所示,本发明提供了一种基于对多维度唯一标识加密的数据越权访问控制方法,其步骤包括:
发送业务数据,若业务数据具有需要加密的业务唯一标识,则从业务数据中获取多维度唯一标识,多维度唯一标识组合加密生成密文;
将生成的密文填充到业务数据中发送到客户端;
客户端获取请求信息,若请求信息请求的业务接口具有拦截的特殊标识,则拦截本次请求;
若请求的业务接口上具有需要解密的业务唯一标识,则获取请求信息携带的业务数据中的密文;
依次通过对密文解密和对明文校验进行两级越权验证,对于通过越权校验的明文填充到请求信息携带的业务数据中。
本发明应用于部门系统中,其中,发送业务数据的过程是当部门系统的业务接口获取客户端的请求信息后,对请求信息进行处理生成了客户端所需的业务数据,本实施例通过业务数据的业务唯一标识进行的判断处理过程,若业务数据中有业务唯一标识,则将其拦截加密,若没有业务唯一标识,则直接发送给客户端。当客户端请求时,对客户端的请求信息进行处理,判断请求信息是否越权。业务接口是在一个部门系统中,部门查询为一个业务接口,部门新增也是一个业务接口。
本实施例中,本申请通过在业务接口加入业务唯一标识,加密和解密过程中只需对业务唯一标识进行加密和解密,无需考虑查询业务的数据隔离规则,开发效率高、通用性强。另外,通过对业务唯一标识、用户唯一属性和用户地址进行加密,使得每个用户看到的业务唯一标识各不相同,进而保证对客户端的越权控制粒度精确到每条数据,实现了每个客户仅能对权限内的数据进行操作,而无法对权限范围以外的数据进行操作,可避免攻击者通过猜测数据业务唯一标识进行暴力越权攻击,提高了安全性。在对业务唯一标识、用户唯一属性和用户地址进行加密时,通过加密密钥和加密算法进行多层加密,解密时通过解密密钥和解密算法进行解密获得明文,再对明文进行校验,以实现两级越权校验,提高越权控制的可靠性和业务数据的安全性。此外,因密钥私有,使得攻击者很难模仿系统返回的加密密文,即使密钥泄露,通过对密文再校验,让攻击者无法模仿他人的密文而发起越权攻击。
如图2所示,业务数据发送时,对业务数据的处理过程包括以下步骤:
(一)拦截步骤;
当客户端的请求信息到达部门系统后,部门系统会将业务数据传输至业务接口处理客户请求,而后生成请求信息对应的业务数据。业务接口的业务数据生成后,在发送至客户端之前,部门系统先判断是否有响应拦截器,若有,则将本次请求信息和业务数据发送至响应拦截器内进行判断。其中,请求信息包括本次客户端请求携带的参数、本次请求的接口信息等。接口信息包含:接口名称、接口返回类型、接口入参类型和接口是否有其他注解等信息。
响应拦截器拦截业务接口的业务数据时,先判断业务接口是否具有拦截的特殊标识,若有,则拦截业务接口发送的业务数据,若没有,业务接口直接将业务数据发送给客户端。其中,特殊标识是以注解的方式实现的,由开发者在需要的加密字段上写入注解。在计算机科学和编程领域中,注解是一种在代码中添加的元数据,用于提供额外的信息和说明。注解通常以特定的标记或关键字的形式出现,并与代码的其他部分一起被编译器或解释器解析和处理。在该步骤中用于指示和配置接口字段一些特性,为业务接口和字段提供一些额外的信息与说明。本实施例中,注解的实现方式为:首先定义一个接口加密注解,将注解引入需要加密业务接口的代码中,通常是将注解名称写在需要加密的业务接口上方,这样业务接口信息就会额外的增加一个加密注解。需要说明的是:确切的注解使用方法和步骤可能因编程语言、框架和具体的注解而有所不同,具体注解过程可根据实际使用需求而定。而判断特殊标识的方式为:响应拦截器通过接口信息获取业务接口注解,若获取到了业务接口注解,则拦截本次请求,如果未获取到,则放过此次请求。
本实施例中,通过在业务接口处加入特殊标识,响应拦截器识别特殊标识判断是否拦截本次请求的方式,使得无需加密的请求在拦截步骤中直接放行,避免了无效校验导致部门系统资源浪费,进一步提高了查询效率。
(2)加密步骤;
响应拦截器拦截业务数据后,判断拦截的业务数据中是否具有需要加密的业务唯一标识,若有,则从业务数据中获取多维度唯一标识,并对多维度唯一标识进行加密。本实施例中,该业务唯一标识与拦截步骤中的特殊标识均是以注解的形式表现的,使用的同一种技术,但业务唯一标识的表现方式不同于特殊标识,如名称不同,特殊标识的注解名称(EncryptionAnnotation)与业务唯一标识的名称(EncryptFieldSerizalizer)不同;运用范围不同,特殊标识用于注解业务接口,业务唯一标识用于字段。其中,业务唯一标识可以标识一个或多个,响应拦截器通过校验字段中是否具有业务唯一标识来判断是否要对其加密。其中,业务数据的字段具体可表现为一个系统用户,姓名可以是一个字段,年龄也可以指一个字段。
本实施例中,多维度唯一标识包括业务维度的业务唯一标识、客户端软件维度的用户唯一属性和用户硬件维度的用户地址。加密时通过对三个维度的数据进行加密,以保证业务数据的安全性。用户唯一属性是指在系统中,表示这个用户的一些数据,如用户身份证号,用户唯一标识。用户唯一属性可以由开发人员定义,如用户在系统中的唯一标识,用户的令牌等。用户令牌是指用户访问系统时,需要一个用户令牌校验用户的身份,每个用户的令牌都是不同的。
本实施例中,用户的唯一属性是可选的,如选择固定的用户标识或随机的用户令牌。两者的优点是,固定的用户标识相较于随机用户令牌生成的密文更短,所耗费性能较少,但是安全性没有使用用户令牌强。随机的用户令牌虽然生成的密文长,耗费性能多一些,但是安全性上有很大提升。
因此,为进一步提高安全性,可采用用户令牌当作用户唯一属性进行加密,用户令牌具有时效性,随机性。时效性是指为了增加安全性和限制令牌的使用时间范围,用户令牌往往会设置一个过期时间。随机性是指为了增加令牌的安全性,用户令牌每次生成都是不同。这两种特性会让密文也具有时效性与随机性。时效性确保密文的及时更新,可减少被攻击的窗口期;随机性则提供不可预测的因素,增加破解密钥或加密过程的难度,在安全性上相较于相同特征的加密有很大提高。
本实施例中,对于业务唯一标识、用户唯一属性和用户网络地址,从标识的选取方向来说,三个维度的数据在开发时可变,部门系统运行时是固定的。业务唯一标识的选择方向为业务数据的编号或者业务数据名称等,用户唯一属性选取方向是用户令牌或用户编号。在开发时,可以对标识的选取方向进行更改,但部门系统运行后,标识的选取方向固定。其中,用户地址的选取方向是固定的。
本实施例中,对多维度唯一标识进行加密的步骤包括:
响应拦截器获取拦截业务数据中的字段信息,遍历业务数据中的所有字段;
判断字段信息中是否具有需要加密的业务唯一标识,若有,则采用反射技术获取相应字段的原值;
具体的,反射是计算机科学中的概念,指的是程序在运行时能够检查、获取和修改自身的结构、属性和行为的能力。该步骤利用反射技术,通过业务数据获取其相应的字段信息,进而实现字段的提取。其中:字段信息都包含,字段上的注解,字段值,字段的类型等信息。同时通过反射技术和字段信息,也可以反向的修改字段的值。
为方便理解,以部门查询业务接口的业务数据格式为例进行说明。发送给客户端的业务数据格式表现为:{部门:研发,名称:研发一组,编号:001}。通过业务数据可获取到字段信息:[{部门的字段信息},{名称的字段信息},{编号的字段信息}]。字段信息中包含着很多内容,如字段值,字段类型,字段上的注解等。以编号的字段信息为例:{类型:数值类型,注解:字段加密注解,值:001},而后响应拦截器对所有字段信息进行一个遍历,判断每一个字段信息是否有加密注解,如果有,则获取该字段信息的原值。
获取用户唯一属性和用户网络地址,将业务唯一标识、用户唯一属性和用户网络地址组合,通过加密算法与加密密钥进行加密获得密文。
具体的,多维度唯一标识组合加密的步骤包括:
将业务唯一标识、用户唯一属性和用户地址进行拼接生成字符串;
将拼接后的字符串通过SM3密码杂凑算法计算出字符串的第一摘要;
将第一摘要通过MD5信息摘要算法再次加密生成第二摘要;
将第二摘要进行反转得到反转后的第三摘要;
采用SM4分组密码算法对业务唯一标识进行计算获得业务唯一标识的密文;
将业务唯一标识的密文与第三摘要进行拼接,获得最终密文。
本实施例中,最终密文的拼接规则是将第一特殊字符、业务唯一标识的密文、第二特殊字符和第三摘要依次拼接。即,第一特殊字符+唯一标识的密文+第二特殊字符+第三摘要。第一特殊字符区分生成的密文和接收的密文,其是在最终密文上加一个标识符,使其与客户端请求的密文相区分;第二特殊字符区分业务唯一标识的密文和第三摘要。
其中,SM4分组密码算法是一种对称加密,可从密文中解密出明文;SM3密码杂凑算法和MD5信息摘要算法都属于单向散列函数,二者均是一种确定的和不可逆的算法,也就是无法从密文中解密出明文,在本实施例中的作用是验证数据是否有篡改。通过两种算法计算摘要,可增强最终摘要的安全强度。
本实施例中,相较于传统单一算法加密方式,通过多个加密层级(SM3,MD5,SM4)加密的方式,安全性更好,使得攻击者更难破解得到原始数据。因每个算法各有优势,不同算法对不同类型的攻击有不同的抵御能力,通过级联加密的密文,可降低特定攻击的成功概率。其中,密钥的作用是防止密文被破解。用户唯一属性和网络地址的作用是使最终密文具有独特性,让越权控制粒度精确到每一条数据。当同一客户端对同一业务想要进行越权操作时,需要得到用户唯一属性的加密密文,而密钥则存储于部门系统内部,不向外透出,客户端无法模拟密文就无法做到越权攻击。通过将客户端限制为只能操作自己能看到的数据,而不能操作自己看不到的数据的方式,使得业务接口的访问安全性得到提升。
为方便理解,现举例说明上述加密过程,如,业务唯一标识:001,用户唯一属性:abc,用户网络地址:127.0.0.1。
将业务唯一标识,用户唯一属性,用户网络地址拼接成字符串:001abc127.0.0.1;
通过SM3密码杂凑算法加密该字符串(001abc127.0.0.1)的第一摘要:a12bc;
将第一摘要(a12bc)通过MD5信息摘要算法再次加密得到第二摘要:b35ed;
将第二摘要(b35ed)反转获得第三摘要:de53b;
将业务唯一标识:001,通过SM4分组密码算法得到业务唯一标识的密文:a1b2;
将第三摘要(de53b)与业务唯一标识的密文(a1b2)结合特殊字符拼接得到最终密文,即,第一特殊字符(Ja)+业务唯一标识的密文(a1b2)+第二特殊字符(@)+第三摘要(de53b)。最终得到的密文:Jaa1b2@de53b。
(三)填充步骤;
具体的,将加密后的密文,通过反射技术结合业务数据中的字段信息,将字段原值修改为加密密文,即填充到业务数据中。
为方便理解,现举例说明该填充方法。业务数据:{部门:研发,名称:研发一组,编号:001}。通过反射获取编号的字段信息如下,{类型:数值类型,注解:字段加密注解,值:001}。响应拦截器校验出编号字段信息携带有字段加密注解,通过反射获取编号字段值:001,将001加密为密文:abc。通过反射与编号字段信息将密文重新填充字段信息的值中,{类型:数值类型,注解:字段加密注解,值:abc},当修改字段信息时,业务数据也会被影响:{部门:研发,名称:研发一组,编号:abc}。这时因为通过反射获取的字段信息,属于更深一层的数据,当修改了字段信息后,改动会影响到业务数据。
本实施例中,发送业务数据的处理方法,运用于动态数据,无需要求业务接口发送的业务数据格式统一,其通过反射技术将业务数据的所有字段信息全部进行遍历,判断每个字段信息是否有加密注解,从而进行加密,填充,即可实现加密。利用反射技术与加密注解,实现一次开发,多处运用,具有复制性与通用性。
如图3所示,对客户端的请求信息进行处理的过程包括:
(1)拦截步骤;
当客户端请求访问部门系统的业务接口时,请求拦截器判断客户端请求的业务接口上是否有需要拦截的特殊标识,若有,则拦截本次请求信息,获取业务数据,反之则直接放行。其中,获取的业务数据是请求信息中携带的,比如,用户想要查看部门的信息,点击查询,本次请求就会携带着服务端所需的数据。
(2)校验步骤;
请求拦截器获取到业务数据后,判断客户端请求的业务接口上是否具有需要解密的业务唯一标识,若有,则获取请求信息携带的业务数据中的密文。其中,密文提取方式为:在请求信息携带的业务数据中,获取需要解密的业务唯一标识对应字段的值,对提取的值进行解密。
具体的,由开发人员在相应的业务接口的字段上加入业务唯一标识,标志此字段是需要解密的密文。标识的方式是在字段上加入注解,如果判断客户端请求的业务接口有业务唯一标识解密的字段,则进一步在客户端携带的业务数据中获取该字段。如果没有,本次请求被视为越权操作,被拦截。如果有,进行下一步操作。
为方便理解,现举例对密文获取的方法进行说明。如果客户端请求的业务数据为:{名称:研发一组,编号:xxx},判断业务接口的“编号”字段注解了业务唯一标识需要解密,则将编号字段的值取出:xxx,该字段是从客户端携带的业务数据中获取的。
(3)解密步骤;
通过解密算法与解密密钥对需要解密的密文进行解密,这里的解密算法与解密密钥与加密流程中的加密算法和加密密钥搭配使用,此步骤是为了确保获取的密文是由部门系统加密生成的,若解密失败,则证明密文不是部门系统进行的加密,本次请求被视为越权操作,被拦截。如果解密成功,对解密后的明文进行校验。
本实施例中,对密文进行解密的步骤包括:
判断密文是否是以第一特殊字符开头,若是,则执行下一步,若不是,则密文不符合规则,解密失败;
在密文中获取第二特殊字符的位置,若第二特殊字符不在密文中,则密文不符合规则,解密失败;
基于第二特殊字符的位置,将业务唯一标识的密文取出,若业务唯一标识的密文不存在,则解密失败;
通过SM4分组密码算法对业务唯一标识的密文进行解密,若解密失败,则有越权风险,解密失败;
基于第二特殊字符的位置,从密文中获得第三摘要,若第三摘要不存在,则解密失败;
获取用户的唯一属性、网络地址和解密后的业务唯一标识,将其拼接生成字符串,采用SM3密码杂凑算法加密得到第四摘要,将第四摘要通过MD5信息摘要算法再次加密得到第五摘要,将第五摘要反转生成第六摘要;
将计算出的第六摘要与提取出的第三摘要进行比较,若相同,则密文符合规则,解密成功,获得密文的明文。
为方便理解,现举例说明该解密过程。密文示例:Jaa1b2@de53b
获取到密文后,判断密文是否以第一特殊字符(Ja)开头, 如果是,则进行下一步。如果不是,证明此密文不符合规则,判断为解密失败。去除后的密文为:a1b2@de53b。
获取第二特殊字符(@)的位置,如果第二特殊字符不存在密文中,证明密文不符合规则,判断为解密失败。
基于第二特殊字符(@)的位置,将业务唯一标识的密文取出,如果业务唯一标识的密文不存在,证明此密文不符合规则,判断为解密失败。业务唯一标识的密文:a1b2。
通过SM4分组密码算法对业务唯一标识的密文(a1b2)进行解密。如果解密成功,进行下一步,如果解密失败,此密文不是通过本系统进行的加密,有越权请求风险,判断解密失败。解密后的业务唯一标识:001。
基于第二特殊字符(@)的位置,从密文中获取第三摘要。如果第三摘要不存在,证明密文不符合规则,判断为解密失败。第三摘要:de53b。
获取用户的唯一属性(abc)、网络地址(127.0.0.1)和解密后的业务唯一标识(001),将这三个值拼接成字符串:001abc127.0.0.1,将该字符串通过SM3密码杂凑算法加密得到第四摘要:a12bc,将第四摘要通过MD5信息摘要算法再次加密得到第五摘要:b35ed,将第五摘要反转获得第六摘要:de53b。
将计算出的第六摘要和密文中获取的第三摘要进行比较,如果相同,证明密文符合规则,获得密文的明文。若不同,证明摘要被修改过/或者加密信息无法对应,判断为解密失败。此步完成后,解密流程完结。
对获得的明文进行校验,若校验成功,则判定本次请求不越权,允许本次请求访问,若校验失败或解密失败,则判定本次请求越权。
本实施例中,解密后的明文包括:业务唯一标识、用户唯一属性、用户网络地址。校验时,对用户唯一属性与用户网络地址进行校验,若校验失败,则本次请求视为越权操作,被拦截。
(4)填充步骤;
将明文中的业务唯一标识,重新填充到客户端请求的业务数据密文所在位置。其填充方式则是采用反射技术将原有的业务唯一标识替换为解密后的业务唯一标识,以便业务接口接收执行业务数据。
本实施例中,在请求业务时,通过对密文进行加密和再校验的两级越权校验的方式,提高了系统安全性;通过私有密钥与解密算法配合,即使攻击者模仿了密文,也会解密失败,从而被拦截,有效提高了越权控制的安全性。
显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
Claims (10)
1.一种基于对多维度唯一标识加密的数据越权访问控制方法,其特征在于,包括:
发送业务数据,若业务数据具有需要加密的业务唯一标识,则从业务数据中获取多维度唯一标识,多维度唯一标识组合加密生成密文;
将生成的密文填充到业务数据中发送到客户端;
客户端获取请求信息,若请求信息请求的业务接口具有拦截的特殊标识,则拦截本次请求;
若请求的业务接口上具有需要解密的业务唯一标识,则获取请求信息携带的业务数据中的密文;
依次通过对密文解密和对明文校验进行两级越权验证,对于通过越权校验的明文填充到请求信息携带的业务数据中。
2.根据权利要求1所述的基于对多维度唯一标识加密的数据越权访问控制方法,其特征在于,业务接口的业务数据生成后,先判断是否有响应拦截器,若有,则将本次请求信息和业务数据发送至响应拦截器内进行判断。
3.根据权利要求1或2所述的基于对多维度唯一标识加密的数据越权访问控制方法,其特征在于,拦截业务接口的业务数据时,若业务接口有拦截的特殊标识,则拦截业务接口发送的业务数据,若没有,业务接口直接将业务数据发送给客户端。
4.根据权利要求1所述的基于对多维度唯一标识加密的数据越权访问控制方法,其特征在于,所述多维度唯一标识包括业务唯一标识、用户唯一属性和用户网络地址;加密时,将业务唯一标识、用户唯一属性和用户网络地址组合,通过加密算法与加密密钥进行加密获得密文。
5.根据权利要求1或4所述的基于对多维度唯一标识加密的数据越权访问控制方法,其特征在于,所述多维度唯一标识组合加密的步骤包括:
将业务唯一标识、用户唯一属性和用户地址进行拼接生成字符串;
将拼接后的字符串通过SM3密码杂凑算法计算出字符串的第一摘要;
将第一摘要通过MD5信息摘要算法再次加密生成第二摘要;
将第二摘要进行反转得到反转后的第三摘要;
采用SM4分组密码算法对业务唯一标识进行计算获得业务唯一标识的密文;
将业务唯一标识的密文与第三摘要进行拼接,获得最终密文。
6.根据权利要求5所述的基于对多维度唯一标识加密的数据越权访问控制方法,其特征在于,所述最终密文的拼接规则是将第一特殊字符、业务唯一标识的密文、第二特殊字符和第三摘要依次拼接;
所述的第一特殊字符区分生成的密文和接收的密文;
所述的第二特殊字符区分业务唯一标识的密文和第三摘要。
7.根据权利要求1所述的基于对多维度唯一标识加密的数据越权访问控制方法,其特征在于,所述密文填充到业务数据中时,通过反射技术结合业务数据的字段信息将字段中的原值修改为密文。
8.根据权利要求1所述的基于对多维度唯一标识加密的数据越权访问控制方法,其特征在于,密文获取的方式为:在请求信息携带的业务数据中,获取需要解密的业务唯一标识对应字段的值,对提取的值进行解密。
9.根据权利要求1所述的基于对多维度唯一标识加密的数据越权访问控制方法,其特征在于,对密文进行解密的步骤包括:
判断密文是否是以第一特殊字符开头,若是,则执行下一步,若不是,则密文不符合规则,解密失败;
在密文中获取第二特殊字符的位置,若第二特殊字符不在密文中,则密文不符合规则,解密失败;
基于第二特殊字符的位置,将业务唯一标识的密文取出,若业务唯一标识的密文不存在,则解密失败;
通过SM4分组密码算法对业务唯一标识的密文进行解密,若解密失败,则有越权风险,解密失败;
基于第二特殊字符的位置,从密文中获得第三摘要,若第三摘要不存在,则解密失败;
获取用户的唯一属性、网络地址和解密后的业务唯一标识,将其拼接生成字符串,采用SM3密码杂凑算法加密得到第四摘要,将第四摘要通过MD5信息摘要算法再次加密得到第五摘要,将第五摘要反转生成第六摘要;
将计算出的第六摘要与提取出的第三摘要进行比较,若相同,则密文符合规则,解密成功,获得密文的明文。
10.根据权利要求9所述的基于对多维度唯一标识加密的数据越权访问控制方法,其特征在于,对获得密文的明文进行校验,若校验成功,则判定本次请求不越权,允许本次请求访问,若校验失败或解密失败,则判定本次请求越权。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410167402.4A CN117714216B (zh) | 2024-02-06 | 2024-02-06 | 一种基于对多维度唯一标识加密的数据越权访问控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410167402.4A CN117714216B (zh) | 2024-02-06 | 2024-02-06 | 一种基于对多维度唯一标识加密的数据越权访问控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117714216A true CN117714216A (zh) | 2024-03-15 |
CN117714216B CN117714216B (zh) | 2024-04-30 |
Family
ID=90148369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410167402.4A Active CN117714216B (zh) | 2024-02-06 | 2024-02-06 | 一种基于对多维度唯一标识加密的数据越权访问控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117714216B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040255126A1 (en) * | 2003-06-05 | 2004-12-16 | Lothar Reith | Method and system for lawful interception of packet switched network services |
WO2008086714A1 (fr) * | 2006-12-30 | 2008-07-24 | Zte Corporation | Procédé et système de sécurisation d'une clé de chiffrement dans un système de diffusion multimédia mobile à fusion de multiples réseaux |
CA2639649A1 (en) * | 2008-07-21 | 2010-01-21 | Randy Kuang | Cryptography method and system |
CN102170357A (zh) * | 2011-05-31 | 2011-08-31 | 北京虎符科技有限公司 | 组合密钥动态安全管理系统 |
CN104038491A (zh) * | 2014-06-09 | 2014-09-10 | 可牛网络技术(北京)有限公司 | 一种信息拦截方法、装置及系统 |
CN107360131A (zh) * | 2017-05-27 | 2017-11-17 | 广东网金控股股份有限公司 | 一种业务请求合法性控制的方法、服务器及系统 |
CN109600377A (zh) * | 2018-12-13 | 2019-04-09 | 平安科技(深圳)有限公司 | 防越权方法、装置、计算机设备及存储介质 |
WO2022039729A1 (en) * | 2020-08-19 | 2022-02-24 | Quantum Lock, Inc. | One-time-pad encryption system and methods |
CN116781425A (zh) * | 2023-08-21 | 2023-09-19 | 太平金融科技服务(上海)有限公司深圳分公司 | 一种业务数据获取方法、装置、设备及存储介质 |
CN116827551A (zh) * | 2023-06-20 | 2023-09-29 | 北京元年科技股份有限公司 | 一种防止全局越权的方法及装置 |
-
2024
- 2024-02-06 CN CN202410167402.4A patent/CN117714216B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040255126A1 (en) * | 2003-06-05 | 2004-12-16 | Lothar Reith | Method and system for lawful interception of packet switched network services |
WO2008086714A1 (fr) * | 2006-12-30 | 2008-07-24 | Zte Corporation | Procédé et système de sécurisation d'une clé de chiffrement dans un système de diffusion multimédia mobile à fusion de multiples réseaux |
CA2639649A1 (en) * | 2008-07-21 | 2010-01-21 | Randy Kuang | Cryptography method and system |
CN102170357A (zh) * | 2011-05-31 | 2011-08-31 | 北京虎符科技有限公司 | 组合密钥动态安全管理系统 |
CN104038491A (zh) * | 2014-06-09 | 2014-09-10 | 可牛网络技术(北京)有限公司 | 一种信息拦截方法、装置及系统 |
CN107360131A (zh) * | 2017-05-27 | 2017-11-17 | 广东网金控股股份有限公司 | 一种业务请求合法性控制的方法、服务器及系统 |
CN109600377A (zh) * | 2018-12-13 | 2019-04-09 | 平安科技(深圳)有限公司 | 防越权方法、装置、计算机设备及存储介质 |
WO2022039729A1 (en) * | 2020-08-19 | 2022-02-24 | Quantum Lock, Inc. | One-time-pad encryption system and methods |
CN116827551A (zh) * | 2023-06-20 | 2023-09-29 | 北京元年科技股份有限公司 | 一种防止全局越权的方法及装置 |
CN116781425A (zh) * | 2023-08-21 | 2023-09-19 | 太平金融科技服务(上海)有限公司深圳分公司 | 一种业务数据获取方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
黄晓宇, 罗文钦: "HFC网络安全与加密机制的研究", 电视技术, no. 11, 17 November 2001 (2001-11-17) * |
Also Published As
Publication number | Publication date |
---|---|
CN117714216B (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10516662B2 (en) | System and method for authenticating the legitimacy of a request for a resource by a user | |
CN107426181B (zh) | 恶意Web访问请求的拦截方法及装置 | |
US7165179B2 (en) | Digital signature verification and program transmission | |
JP4113274B2 (ja) | 認証装置および方法 | |
US8046585B2 (en) | Verifying authenticity of an attribute value signature | |
CN111429254A (zh) | 一种业务数据处理方法、设备以及可读存储介质 | |
Bhargavan et al. | Secure sessions for web services | |
JP2022545627A (ja) | 分散化されたデータ認証 | |
US20180020008A1 (en) | Secure asynchronous communications | |
CN104935568A (zh) | 一种面向云平台接口鉴权签名方法 | |
CN112801663B (zh) | 区块链存证方法、装置、系统、设备和介质 | |
CN106911684B (zh) | 一种鉴权方法及系统 | |
Guirat et al. | Formal verification of the W3C web authentication protocol | |
CN108777673B (zh) | 一种在区块链中进行双向身份认证方法 | |
Chen et al. | User differentiated verifiable file search on the cloud | |
CN109918451B (zh) | 基于区块链的数据库管理方法及系统 | |
Kleiner et al. | On the relationship between web services security and traditional protocols | |
CN110572392A (zh) | 一种基于Hyperledger网络的身份认证方法 | |
WO2021027504A1 (zh) | 基于共识协议的信息处理方法及相关装置 | |
CN117714216B (zh) | 一种基于对多维度唯一标识加密的数据越权访问控制方法 | |
CN116108416A (zh) | 一种应用程序接口安全防护方法及系统 | |
CN113285934B (zh) | 基于数字签名的服务器密码机客户端ip检测方法及装置 | |
CN112865981B (zh) | 一种令牌获取、验证方法及装置 | |
US7661111B2 (en) | Method for assuring event record integrity | |
CN113794568A (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 |