CN104636662B - 一种数据处理方法和终端设备 - Google Patents
一种数据处理方法和终端设备 Download PDFInfo
- Publication number
- CN104636662B CN104636662B CN201310573542.3A CN201310573542A CN104636662B CN 104636662 B CN104636662 B CN 104636662B CN 201310573542 A CN201310573542 A CN 201310573542A CN 104636662 B CN104636662 B CN 104636662B
- Authority
- CN
- China
- Prior art keywords
- value
- script
- check value
- current
- chain
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims description 10
- 238000013515 script Methods 0.000 claims abstract description 430
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 107
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000004048 modification Effects 0.000 claims abstract description 15
- 238000012986 modification Methods 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 9
- 239000004744 fabric Substances 0.000 claims description 76
- 239000013598 vector Substances 0.000 claims description 73
- 230000008569 process Effects 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 17
- 238000012360 testing method Methods 0.000 claims description 3
- 230000008439 repair process Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000002834 transmittance Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明的实施例提供一种数据处理的方法和终端设备,涉及通信领域,能够提高加密算法的安全性,防止明文口令外泄,包括:根据预设规则获取当前脚本链的校验值,所述当前脚本链包括至少一个脚本;判断数据库中是否存在与所述当前脚本链的校验值相同的值,所述数据库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行任何修改时的脚本链;当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对所述密文口令进行解密。本发明的实施例提供的数据处理的方法和终端设备用于密文口令的解密。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据处理方法和终端设备。
背景技术
在大型分布式系统中存在着大量的机机口令。机机口令是指在非人为操作的情况下,一台计算机A根据需要登录另一台计算机B使用的口令。从安全的角度来说,口令需要加密保存。
现有技术中,机机口令的加密算法分为对称加密算法和非对称加密算法。其中,对称加密算法的口令加密和解密都是在计算机A上进行的。在应用对称加密算法时,加密秘钥、解密密钥和密文口令都存放在计算机A上,加密秘钥和解密秘钥是相同的,加密时,计算机A对口令通过加密密钥进行加密形成密文口令,解密时,也就是计算机A需要登录计算机B时,计算机A使用脚本调用解密程序对密文口令进行解密得到明文口令,并将该明文口令传输给计算机B,特别说明的是,在解密过程中,计算机A不能直接获得明文口令。
但是,现有的对称加密算法中,使用脚本对密文口令进行解密,用户很容易获知解密秘钥,同时,在解密过程中,用户通过修改脚本可直接在计算机A上获取到明文口令,这降低了加密算法的安全性,使明文口令存在泄漏的风险。
发明内容
本发明的实施例提供一种数据处理的方法和终端设备,能够提高加密算法的安全性,防止明文口令外泄。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种数据处理方法,包括:
根据预设规则获取当前脚本链的校验值,所述当前脚本链包括至少一个脚本;
判断数据库中是否存在与所述当前脚本链的校验值相同的值,所述数据库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚 本链未进行任何修改时的脚本链;
当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对所述密文口令进行解密。
结合第一方面,在第一种可实现方式中,当所述当前脚本链包括一个脚本时,
所述根据预设规则获取当前脚本链的校验值包括:
采用第一哈希算法计算所述一个脚本的校验值。
结合第一方面,在第二种可实现方式中,当所述当前脚本链包括至少两个脚本时,
所述根据预设规则获取当前脚本链的校验值包括:
通过第二哈希算法计算所述当前脚本链中每个脚本的校验值;
根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链的校验值。
结合第二种可实现方式,在第三种可实现方式中,当所述当前脚本链共k个脚本,明文口令在所述当前脚本链中传递时,从第1脚本传递至第k脚本,所述k大于或等于2;
所述根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链的校验值包括:
通过所述第三哈希算法将所述第k脚本的校验值与第k-1脚本的校验值结合获取校验值作为第1校验值,通过所述第三哈希算法将所述第1校验值与第k-2脚本的校验值结合获取校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-1校验值,将所述第k-1校验值作为所述当前脚本链的校验值。
结合第一方面、第一至第三种可实现方式,在第四种可实现方式中,在所述根据预设规则获取当前脚本链的校验值之前,所述方法还包括:
根据所述预设规则获取所述初始脚本链的校验值;
将所述初始脚本链的校验值存储在所述数据库中。
结合第一方面、第一至第三种可实现方式,在第五种可实现方式中,在所述根据预设规则获取当前脚本链的校验值之前,所述方法还包括:
将所述数据库中的整体布隆向量的所有比特位的数值初始化为第一数值;
根据所述预设规则获取所述初始脚本链的校验值;
将所述初始脚本链的校验值通过布隆过滤器的第一算法得到初始返回值;
根据所述初始返回值将所述整体布隆向量中与所述初始返回值对应的比特位的数值更新为第二数值。
结合第五种可实现方式,在第六种可实现方式中,
所述判断数据库中是否存在与所述当前脚本链的校验值相同的值包括:
将所述当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回值;
根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的数值;
当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数值,判断所述数据库中存在与所述当前脚本链的校验值相同的值;
当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的数值不是所述第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值。
第二方面,提供一种终端设备,包括:
第一获取单元,用于根据预设规则获取当前脚本链的校验值,所述当前脚本链包括至少一个脚本;
判断单元,用于判断数据库中是否存在与所述当前脚本链的校验值相同的值,所述数据库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行任何修改时的脚本链;
解密单元,用于在判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对所述密文口令进行解密。
结合第二方面,在第一种可实现方式中,当所述当前脚本链包括一个脚本时,
所述第一获取单元具体用于:
采用第一哈希算法计算所述一个脚本的校验值。
结合第二方面,在第二种可实现方式中,当所述当前脚本链包括至少两个脚本时,
所述第一获取单元具体用于:
通过第二哈希算法计算所述当前脚本链中每个脚本的校验值;
根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链的校验值。
结合第二种可实现方式,在第三种可实现方式中,当所述当前脚本链共k个脚本,明文口令在所述当前脚本链中传递时,从第1脚本传递至第k脚本,所述k大于或等于2;
所述第一获取单元具体用于:
通过所述第三哈希算法将所述第k脚本的校验值与第k-1脚本的校验值结合获取校验值作为第1校验值,通过所述第三哈希算法将所述第1校验值与第k-2脚本的校验值结合获取校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-1校验值,将所述第k-1校验值作为所述当前脚本链的校验值。
结合第二方面、第一至第三种可实现方式,在第四种可实现方式中,所述终端设备还包括:
第二获取单元,用于根据所述预设规则获取所述初始脚本链的校验值;
存储单元,用于将所述初始脚本链的校验值存储在所述数据库中。
结合第二方面、第一至第三种可实现方式,在第五种可实现方式中,所述判断单元具体用于:
初始化单元,用于将所述数据库中的整体布隆向量的所有比特位的数值初始化为第一数值;
第三获取单元,用于根据所述预设规则获取所述初始脚本链的校验值;
处理单元,用于将所述初始脚本链的校验值通过布隆过滤器的第一算法得到初始返回值;
更新单元,用于根据所述初始返回值将所述整体布隆向量中与所述初始返回值对应的比特位的数值更新为第二数值。
结合第五种可实现方式,在第六种可实现方式中,
所述判断单元具体用于:
将所述当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回值;
根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的数值;
当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数值,判断所述数据库中存在与所述当前脚本链的校验值相同的值;
当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的数值不是所述第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值。
这样一来,在对称加密算法的口令解密前,为防止对当前脚本链的修改,根据预设规则获取当前脚本链的校验值,判断数据库中是否存在与所述当前脚本链的校验值相同的值,当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对所述密文口令进行解密。相较于现有技术,通过预先判断是否允许对密文口令进行解密,防止通过修改脚本链,用户直接获得明文指令,有效的防止明文口令外泄,提高了解密过程的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对 实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施案例提供的一种数据处理方法的流程图;
图2为脚本链的校验值的获取过程的流程图;
图3为本发明实施案例提供的数据处理方法的具体实施步骤流程图;
图4为本发明实施例提供的一种终端设备的结构示意图;
图5为本发明实施例提供的另一种终端设备的结构示意图;
图6为本发明实施例提供的再一种终端设备的结构示意图;
图7为本发明实施例提供的又一种终端设备的结构示意图;
图8为本发明实施例提供的又另一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种数据处理方法,应用于终端设备,具体由所述终端设备的CPU(Central Processing Unit,中央处理器)执行,当所述终端设备需要登录另一台终端设备时,需要获取登录用的口令明文,具体步骤如图1所示,包括:
步骤101、根据预设规则获取当前脚本链的校验值,所述当前脚本链包括至少一个脚本。
当所述当前脚本链包括一个脚本时,终端设备据预设规则获取当前脚本链的校验值的方法是采用第一哈希算法计算所述一个脚本的校验值。
当所述当前脚本链包括至少两个脚本时,终端设备据预设规则获 取当前脚本链的校验值的方法是通过第二哈希算法计算所述当前脚本链中每个脚本的校验值;根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链的校验值。
示例的,所述根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链的校验值包括:通过所述第三哈希算法将所述第k脚本的校验值与第k-1脚本的校验值结合获取校验值作为第1校验值,通过所述第三哈希算法将所述第1校验值与第k-2脚本的校验值结合获取校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-1校验值,将所述第k-1校验值作为所述当前脚本链的校验值。
步骤102、判断数据库中是否存在与所述当前脚本链的校验值相同的值,所述数据库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行任何修改时的脚本链。
步骤103、当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对所述密文口令进行解密。
这样一来,在对称加密算法的口令解密前,为防止对当前脚本链的修改,根据预设规则获取当前脚本链的校验值,判断数据库中是否存在与所述当前脚本链的校验值相同的值,当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对所述密文口令进行解密。相较于现有技术,通过预先判断是否允许对密文口令进行解密,防止通过修改脚本链,用户直接获得明文指令,有效的防止明文口令外泄,提高了解密过程的安全性。
判断是否允许对密文口令进行解密的方法有很多种,本发明中包括了脚本链校验值验证的方法和布隆向量验证的方法。
示例的,脚本链校验值验证的方法可以包括:
终端设备根据预设规则获取当前脚本链的校验值;根据所述预设规则获取所述初始脚本链的校验值,将初始脚本链的校验值存储在数据库中;再判断数据库中是否存在与所述当前脚本链的校验值相同的值。若是,则对密文口令进行解密;若否,则不对密文口令解密。其中,所述初始脚本链是由供应商提供的原始脚本关联的脚本链,是未进行任何修改时的脚本链。正常情况下,初始脚本链和用户使用的当 前脚本链是相同的,若当前脚本链被修改,则当前脚本链与初始脚本链不同,由于该初始脚本链的校验值存储在了数据库中,那么如果数据库中存在与当前脚本链相同的校验值,说明当前脚本链没有被修改。值得说明的是,使用脚本链校验值验证的方法是为了便于判断当前脚本链是和初始脚本链是否相同。
示例的,布隆向量验证的方法可以包括:
终端设备将所述数据库中的整体布隆向量的所有比特位的数值初始化为第一数值;根据所述预设规则获取所述初始脚本链的校验值;将所述初始脚本链的校验值通过布隆过滤器的第一算法得到初始返回值;根据所述初始返回值将所述整体布隆向量中与所述初始返回值对应的比特位的数值更新为第二数值,得到新的布隆向量,并将新的布隆向量保存至布隆数据库。
终端设备将所述当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回值;根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的数值;当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数值,判断所述数据库中存在与所述当前脚本链的校验值相同的值;当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的数值不是所述第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值。使用布隆向量验证的方法是为了便于判断用户当前脚本是和原始脚本必须是否相同。
需要说明的是,所述根据所述预设规则获取所述初始脚本链的校验值,如图2所示,包括:当所述初始脚本链包括一个脚本时,采用第一哈希算法计算所述一个脚本的校验值。当所述初始脚本链包括至少两个脚本时,通过第二哈希算法计算所述初始脚本链中每个脚本的校验值;根据所述初始脚本链中每个脚本的校验值及第三哈希算法计算所述初始脚本链的校验值。当所述初始脚本链共k个脚本,明文口令在所述初始脚本链中传递时,从第1脚本传递至第k脚本,所述k大于或等于2;所述根据所述初始脚本链中每个脚本的校验值及第三哈希算法计算所述初始脚本链的校验值包括:通过所述第三哈希算法将所述第k脚本的校验值与第k-1脚本的校验值结合获取校验值作为 第1校验值,通过所述第三哈希算法将所述第1校验值与第k-2脚本的校验值结合获取校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-1校验值,将所述第k-1校验值作为所述初始脚本链的校验值。
本发明实施例提供的一种数据处理方法,在对称加密算法的口令解密前,为防止对当前脚本链的修改,根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的数值;当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数值,判断所述数据库中存在与所述当前脚本链的校验值相同的值,允许密文口令解密,得到明文口令;当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的数值不是所述第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值,不允许密文口令解密。这样一来,防止通过修改当前脚本链,用户直接获得明文口令,有效的防止明文口令外泄,提高了解密过程的安全性。
本发明实施例提供的数据处理方法,应用于终端设备,具体由所述终端设备的CPU执行,当所述终端设备需要登录另一台终端设备时,需要获取登录用的口令明文,假设当前脚本链包括k个脚本,明文口令在脚本链中传递时,从第1脚本传递至第k脚本,k大于或等于2,使用布隆向量的方法对明文口令进行保护,具体实施步骤如图3所示。
步骤201、根据预设规则获取初始脚本链的校验值,执行步骤202。
假设初始脚本链包括k个脚本,明文口令在脚本链中传递时,从第1脚本传递至第k脚本,k大于或等于2,终端设备通过第二哈希算法计算出初始脚本链上的各个脚本的校验值,根据所述初始脚本链中每个脚本的校验值及第三哈希算法计算所述初始脚本链的校验值,将第k脚本的校验值与第k-1脚本的校验值结合再通过第三哈希算法计算出校验值作为第1校验值,将所述第1校验值与第k-2脚本的校验值结合再通过第三哈希算法计算出校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-1校验值,将第k-1校验值 作为整个初始脚本链的校验值。需要说明的是,第一哈希算法、第二哈希算法和第三哈希算法可以相同,也可以不同,本发明对此不做限定,本实施案例假设获取初始脚本链的各个脚本的校验值的使用的第一至三哈希算法中任意一个哈希算法可以是MD5(Message-Digest Algorithm5,信息摘要算法5)标准哈希算法。
示例的,本实施案例假设整个初始脚本链上有三个脚本A、B和C,A是第1脚本,B是第2脚本,C是第3脚本,第二哈希算法是MD5(Message-Digest Algorithm5,信息摘要算法5)标准哈希算法,第三哈希算法与所述第二哈希算法相同,也是MD5标准哈希算法,假设通过第二哈希算法计算出初始脚本链上的脚本A、B和C的校验值分别为表1中0001,0010,0011。第3脚本的校验值0011与第2脚本的校验值0010结合,再通过MD5标准哈希算法计算出第1校验值,假设通过MD5标准哈希算法计算的校验值为0101,将0101作为第1校验值,将第1校验值0101与第1脚本的校验值0001结合,再通过MD5标准哈希算法计算出第2校验值,假设通过MD5标准哈希算法计算的校验值为0110,将0110作为第2校验值。因为再没有脚本的校验值和第2校验值结合,所以将第2校验值0110作为整个初始脚本链的校验值。
表1
脚本 | A | B | C |
脚本的校验值 | 0001 | 0010 | 0011 |
步骤202、将初始脚本链的校验值通过布隆过滤器转化为布隆向量,保存于布隆向量库,执行步骤203。
终端设备将数据库中的整体布隆向量的所有比特位的数值初始化为第一数值,根据所述预设规则获取初始脚本链的校验值,将所述初始脚本链的校验值通过布隆过滤器的第一算法得到初始返回值,根据所述初始返回值将所述整体布隆向量中与所述初始返回值对应的比特位的数值更新为第二数值,得到新的布隆向量,将所述新的布隆向量保存至布隆向量库。
示例的,布隆过滤器可以把长度为m的比特的布隆向量(b1,b2,...,bm)中所有比特位初始化为第一数值,根据所述预设规则获取 初始脚本链的校验值,将所述初始脚本链的校验值通过布隆过滤器的第一算法得到初始返回值,假设所述第一算法是由k个相互独立的快捷哈希函数实现的,则将返回值在1到m间的k个相互独立的快捷哈希函数(h1,h2,...,hk)作用于初始脚本链的校验值上,得到初始返回值,该初始返回值为r1,r2,...,rk,假设1为第二数值,则并将布隆向量中位置在初始返回值r1,r2,...,rk对应的比特位置为1得到新的布隆向量,将所述新布隆向量保存至布隆向量库。
具体的,本实施案例假设布隆向量长度是8,将8个比特位初始化,本实施例假设所述第一数值为0,第二数值为1,则初始化后的布隆向量为00000000,如表2所示,假设根据预设规则获取初始脚本链的校验值为0110,假设所述第一算法是由为4个相互独立的快捷哈希函数形式实现的,则将初始脚本链的校验值0110通过4个相互独立的快捷哈希函数(h1,h2,h3,h4)处理得到4个独立的返回值2,7,6,3,并将布隆向量中与返回值2,7,6,3对应的比特位置为1,即将布隆向量中的第2个比特位置为1,第7个比特位置为1,第6个比特位置为1,第3个比特位置为1,则更新后的布隆向量为01100110,如表2所示,根据所述新布隆向量更新布隆向量库,即更新了布隆向量库中相应比特位的数值,由于初始脚本链为所述初始脚本链未进行任何修改时的脚本链,那么通过布隆过滤器处理初始脚本链的校验值得到新的布隆向量后,更新相应比特位的数值,可以便于后续步骤中通过布隆过滤器处理初始脚本链的校验值得到的初始返回值后,根据初始返回值对应的比特位的数值来判断是否进行解密。
表2
布隆向量 | b1 | b2 | b3 | b4 | b5 | b6 | b7 | b8 |
初始化后 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
更新后 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 |
步骤203、根据预设规则获取当前脚本链的校验值,执行步骤204。
假设当前脚本链包括k个脚本,k大于或等于2,终端设备通过第二哈希算法计算出当前脚本链上的各个脚本的校验值,根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链 的校验值,将第k脚本的校验值与第k-1脚本的校验值结合再通过第三哈希算法计算出校验值作为第1校验值,将所述第1校验值与第k-2脚本的校验值结合再通过第三哈希算法计算出校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-1校验值,将第k-1校验值作为整个当前脚本链的校验值。本实施例假设获取当前脚本链的各个脚本的校验值的使用的第二、三哈希算法是MD5标准哈希算法。具体算法可以参考步骤201。
当前脚本链的校验值获取的实现包括:
在第k脚本的开始位置插入代码:
上述代码表示:提取自身脚本的MD5值作为该自身脚本的校验值,并将自身脚本的校验值存储在环境变量中,以便于下一脚本提取。
在从第k-1脚本到第1脚本各个脚本的开始位置插入代码:
上述代码表示:提取自身的MD5值作为该自身脚本的校验值,从环境变量中提取校验值,将所述自身脚本的校验值和从环境变量中提取的校验值结合计算得到MD5值,并将该MD5值存储在环境变量中,以便于下一脚本提取。
在第1脚本中以密文口令和$_FPRINT_作为输入,将输出结果传输到CPU,由CPU进行判断和解密。
特别说明的是,在所述当前脚本链的校验值获取的过程中,要保证校验值的传递只在该当前脚本链的脚本中进行,在明文口令的传递过程中,不得通过环境变量或者参数的形式把明文口令传给子脚本,第k脚本不能以标准输出的形式输出明文口令,即不得直接输出可视的明文口令。
步骤204、根据当前返回值查询整体布隆向量中当前返回值对应的比特位的数值,判断是否允许对密文口令进行解密。若是,执行步骤205,若否,执行步骤206。
终端设备将当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回值;根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的数值。当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数值,判断所述数据库中存在与所述当前脚本链的校验值相同的值;当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的数值不是所述第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值。
示例的,将当前脚本链的校验值通过所述布隆过滤器的第一算法得到返回值,假设所述第一算法是由k个相互独立的快捷哈希函数实现的,则将数值在1到m间的k个相互独立的快捷哈希函数(h1,h2,...,hk)作用于当前脚本链的校验值上,得到返回值,该返回值为r1,r2,...,rk。如果从布隆向量库中查询的布隆向量在位置r1,r2,...,rk的比特位中只要有一个为第一数值,假设0为第一数值,则判定当前脚本链被修改,不允许获得明文口令;如果从布隆向量库中查询的布隆向量在位置r1,r2,...,rk的比特位都为第二数值,假设1为第二数值,则判定当前脚本链是完整未被修改的,即所述当前脚本链与初始脚本链完全相同,允许对密文口令进行解密。
具体的,假设布隆库中的布隆向量为01100110,返回值是2,7,6,3。若假设由当前脚本链的校验值运算得到的返回值为2,7,6,1,查询整体布隆向量中第2位,第7位,第6位和第1位的数值是否为1,布隆向量的第1位为0,所以判定所述当前脚本链被修改,不允许获得明文口令;若假设由当前脚本链的校验值运算得到的返回值为2,7,6,3,查询整体布隆向量中第2位,第7位,第6位和第3位的数值是否为 1,各个比特位上数值都为1,判定所述当前脚本链是完整未被修改的,即所述当前脚本链与初始脚本链完全相同,允许对密文口令进行解密。
步骤205、对密文口令进行解密得到明文口令。
示例的,可以调用终端设备本地存储的解密密钥对密文口令进行解密,得到明文口令,具体的解密过程可以参考现有技术,本发明对此不再详述。
步骤206、终止解密过程。
本发明实施例提供一种终端设备40,如图4所示,包括:
第一获取单元401,用于根据预设规则获取当前脚本链的校验值,所述当前脚本链包括至少一个脚本;
判断单元402,用于判断数据库中是否存在与所述当前脚本链的校验值相同的值,所述数据库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行任何修改时的脚本链;
解密单元403,用于在判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对所述密文口令进行解密。
这样一来,在对称加密算法的口令解密前,为防止对当前脚本链的修改,第一获取单元根据预设规则获取当前脚本链的校验值,判断单元判断数据库中是否存在与所述当前脚本链的校验值相同的值,当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,解密单元对所述密文口令进行解密。相较于现有技术,通过预先判断是否允许对密文口令进行解密,防止通过修改脚本链,用户直接获得明文指令,有效的防止明文口令外泄,提高了解密过程的安全性。
当所述当前脚本链包括一个脚本时,所述第一获取单元401具体用于:采用第一哈希算法计算所述一个脚本的校验值。
当所述当前脚本链包括至少两个脚本时,所述第一获取单元401具体用于:
通过第二哈希算法计算所述当前脚本链中每个脚本的校验值;
根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链的校验值。当所述当前脚本链共k个脚本,明文口令在所述当前脚本链中传递时,从第1脚本传递至第k脚本,所述k大于或等于2,所述第一获取单元401可以通过所述第三哈希算法将所述第k脚本的校验值与第k-1脚本的校验值结合获取校验值作为第1校验值,通过所述第三哈希算法将所述第1校验值与第k-2脚本的校验值结合获取校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-1校验值,将所述第k-1校验值作为所述当前脚本链的校验值。
进一步的,如图5所示,所述终端设备40还包括:
第二获取单元404,用于根据所述预设规则获取所述初始脚本链的校验值;
存储单元405,用于将所述初始脚本链的校验值存储在所述数据库中。
特别的,如图6所示,所述终端设备还40包括:
初始化单元406,用于将所述数据库中的整体布隆向量的所有比特位的数值初始化为第一数值;
第三获取单元407,用于根据所述预设规则获取所述初始脚本链的校验值;
处理单元408,用于将所述初始脚本链的校验值通过布隆过滤器的第一算法得到初始返回值;
更新单元409,用于根据所述初始返回值将所述整体布隆向量中与所述初始返回值对应的比特位的数值更新为第二数值。
所述判断单元402具体用于:
将所述当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回值;
根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的数值;
当所述整体布隆向量中所有所述当前返回值对应的比特位的数 值为所述第二数值,判断所述数据库中存在与所述当前脚本链的校验值相同的值;
当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的数值不是所述第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值。
本发明实施例提供一种终端设备70,如图7所示,包括:
处理器701用于根据预设规则获取当前脚本链的校验值,所述当前脚本链包括至少一个脚本;
所述处理器701还用于判断数据库中是否存在与所述当前脚本链的校验值相同的值,所述数据库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行任何修改时的脚本链;
所述处理器701还用于在判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对所述密文口令进行解密。
这样一来,在对称加密算法的口令解密前,为防止对当前脚本链的修改,处理器根据预设规则获取当前脚本链的校验值;判断数据库中是否存在与所述当前脚本链的校验值相同的值;当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对所述密文口令进行解密。相较于现有技术,通过预先判断是否允许对密文口令进行解密,防止通过修改脚本链,用户直接获得明文指令,有效的防止明文口令外泄,提高了解密过程的安全性。
当所述当前脚本链包括一个脚本时,
所述处理器701用于:
采用第一哈希算法计算所述一个脚本的校验值。
当所述当前脚本链包括至少两个脚本时,
所述处理器701用于:
通过第二哈希算法计算所述当前脚本链中每个脚本的校验值;
根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链的校验值。当所述当前脚本链共k个脚本,明文口令 在所述当前脚本链中传递时,从第1脚本传递至第k脚本,所述k大于或等于2,所述处理器701通过所述第三哈希算法将所述第k脚本的校验值与第k-1脚本的校验值结合获取校验值作为第1校验值,通过所述第三哈希算法将所述第1校验值与第k-2脚本的校验值结合获取校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-1校验值,将所述第k-1校验值作为所述当前脚本链的校验值。
进一步的,如图8所示,所述终端设备70还包括:
所述处理器701还用于根据所述预设规则获取所述初始脚本链的校验值;
存储器702,用于将所述初始脚本链的校验值存储在所述数据库中。
所述处理器701还用于:
将所述数据库中的整体布隆向量的所有比特位的数值初始化为第一数值;根据所述预设规则获取所述初始脚本链的校验值;将所述初始脚本链的校验值通过布隆过滤器的第一算法得到初始返回值;根据所述初始返回值将所述整体布隆向量中与所述初始返回值对应的比特位的数值更新为第二数值。
所述处理器701具体用于:
将所述当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回值;根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的数值;当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数值,判断所述数据库中存在与所述当前脚本链的校验值相同的值;当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的数值不是所述第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
将数据库中的整体布隆向量的所有比特位的数值初始化为第一数值;
根据预设规则获取初始脚本链的校验值;
将所述初始脚本链的校验值通过布隆过滤器的第一算法得到初始返回值;
根据所述初始返回值将所述整体布隆向量中与所述初始返回值对应的比特位的数值更新为第二数值;
根据预设规则获取当前脚本链的校验值,所述当前脚本链包括至少一个脚本;
根据所述第二数值判断所述数据库中是否存在与所述当前脚本链的校验值相同的值,所述数据库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行任何修改时的脚本链;
当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对密文口令进行解密。
2.根据权利要求1所述的方法,其特征在于,当所述当前脚本链包括一个脚本时,
所述根据预设规则获取当前脚本链的校验值包括:
采用第一哈希算法计算所述一个脚本的校验值。
3.根据权利要求1所述的方法,其特征在于,当所述当前脚本链包括至少两个脚本时,
所述根据预设规则获取当前脚本链的校验值包括:
通过第二哈希算法计算所述当前脚本链中每个脚本的校验值;
根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链的校验值。
4.根据权利要求3所述的方法,其特征在于,当所述当前脚本链共k个脚本,明文口令在所述当前脚本链中传递时,从第1脚本传递至第k脚本,所述k大于或等于2;
所述根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链的校验值包括:
通过所述第三哈希算法将所述第k脚本的校验值与第k-1脚本的校验值结合获取校验值作为第1校验值,通过所述第三哈希算法将所述第1校验值与第k-2脚本的校验值结合获取校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-1校验值,将所述第k-1校验值作为所述当前脚本链的校验值。
5.根据权利要求1至4任意一项权利要求所述的方法,其特征在于,在所述根据预设规则获取当前脚本链的校验值之前,所述方法还包括:
根据所述预设规则获取所述初始脚本链的校验值;
将所述初始脚本链的校验值存储在所述数据库中。
6.根据权利要求1所述的方法,其特征在于,
所述根据所述第二数值判断所述数据库中是否存在与所述当前脚本链的校验值相同的值包括:
将所述当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回值;
根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的数值;
当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数值,判断所述数据库中存在与所述当前脚本链的校验值相同的值;
当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的数值不是所述第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值。
7.一种终端设备,其特征在于,包括:
第一获取单元,用于根据预设规则获取当前脚本链的校验值,所述当前脚本链包括至少一个脚本;
判断单元,用于根据第二数值判断数据库中是否存在与所述当前脚本链的校验值相同的值,所述数据库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行任何修改时的脚本链;
解密单元,用于在判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对密文口令进行解密;
初始化单元,用于将所述数据库中的整体布隆向量的所有比特位的数值初始化为第一数值;
第三获取单元,用于根据所述预设规则获取所述初始脚本链的校验值;
处理单元,用于将所述初始脚本链的校验值通过布隆过滤器的第一算法得到初始返回值;
更新单元,用于根据所述初始返回值将所述整体布隆向量中与所述初始返回值对应的比特位的数值更新为第二数值。
8.根据权利要求7所述的终端设备,其特征在于,当所述当前脚本链包括一个脚本时,
所述第一获取单元具体用于:
采用第一哈希算法计算所述一个脚本的校验值。
9.根据权利要求7所述的终端设备,其特征在于,当所述当前脚本链包括至少两个脚本时,
所述第一获取单元具体用于:
通过第二哈希算法计算所述当前脚本链中每个脚本的校验值;
根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链的校验值。
10.根据权利要求9所述的终端设备,其特征在于,当所述当前脚本链共k个脚本,明文口令在所述当前脚本链中传递时,从第1脚本传递至第k脚本,所述k大于或等于2;
所述第一获取单元具体用于:
通过所述第三哈希算法将所述第k脚本的校验值与第k-1脚本的校验值结合获取校验值作为第1校验值,通过所述第三哈希算法将所述第1校验值与第k-2脚本的校验值结合获取校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-1校验值,将所述第k-1校验值作为所述当前脚本链的校验值。
11.根据权利要求7至10任意一项权利要求所述的终端设备,其特征在于,所述终端设备还包括:
第二获取单元,用于根据所述预设规则获取所述初始脚本链的校验值;
存储单元,用于将所述初始脚本链的校验值存储在所述数据库中。
12.根据权利要求7所述的终端设备,其特征在于,
所述判断单元具体用于:
将所述当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回值;
根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的数值;
当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数值,判断所述数据库中存在与所述当前脚本链的校验值相同的值;
当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的数值不是所述第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310573542.3A CN104636662B (zh) | 2013-11-15 | 2013-11-15 | 一种数据处理方法和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310573542.3A CN104636662B (zh) | 2013-11-15 | 2013-11-15 | 一种数据处理方法和终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104636662A CN104636662A (zh) | 2015-05-20 |
CN104636662B true CN104636662B (zh) | 2018-07-03 |
Family
ID=53215401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310573542.3A Active CN104636662B (zh) | 2013-11-15 | 2013-11-15 | 一种数据处理方法和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636662B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105071941B (zh) * | 2015-07-31 | 2019-01-18 | 华为技术有限公司 | 分布式系统节点身份认证方法及装置 |
CN106649346B (zh) * | 2015-10-30 | 2020-09-22 | 北京国双科技有限公司 | 数据重复性校验方法及装置 |
CN110020297A (zh) * | 2017-10-31 | 2019-07-16 | 北京国双科技有限公司 | 一种网页内容的加载方法、装置及系统 |
CN109710373B (zh) * | 2018-11-22 | 2021-02-12 | 海光信息技术股份有限公司 | 实现内存与外部存储器交换功能的方法和装置、安全处理器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1349646A (zh) * | 1999-04-30 | 2002-05-15 | 汤姆森特许公司 | 处理数字编码音频数据的方法和设备 |
CN1737723A (zh) * | 2004-08-19 | 2006-02-22 | 富士通株式会社 | 验证系统以及用于验证系统的程序检查方法 |
CN101175267A (zh) * | 2006-10-31 | 2008-05-07 | 华为技术有限公司 | 通信终端及软件检测方法及装置 |
CN101199159A (zh) * | 2005-04-15 | 2008-06-11 | 微软公司 | 安全引导 |
CN101216867A (zh) * | 2007-01-05 | 2008-07-09 | 黄承雄 | 利用后台同步方式完成登录过程的密码保护方法 |
-
2013
- 2013-11-15 CN CN201310573542.3A patent/CN104636662B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1349646A (zh) * | 1999-04-30 | 2002-05-15 | 汤姆森特许公司 | 处理数字编码音频数据的方法和设备 |
CN1737723A (zh) * | 2004-08-19 | 2006-02-22 | 富士通株式会社 | 验证系统以及用于验证系统的程序检查方法 |
CN101199159A (zh) * | 2005-04-15 | 2008-06-11 | 微软公司 | 安全引导 |
CN101175267A (zh) * | 2006-10-31 | 2008-05-07 | 华为技术有限公司 | 通信终端及软件检测方法及装置 |
CN101216867A (zh) * | 2007-01-05 | 2008-07-09 | 黄承雄 | 利用后台同步方式完成登录过程的密码保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104636662A (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11362802B2 (en) | Cryptographic device arranged to compute a target block cipher | |
CN105024803B (zh) | 白箱实现中的行为指纹 | |
CN104636662B (zh) | 一种数据处理方法和终端设备 | |
CN105897406B (zh) | 一种明密文等长的aes加解密的装置 | |
RU2696334C1 (ru) | Устройство и способ вычисления блочного шифра | |
CN105721135B (zh) | 使用替换盒实施加密操作的方法 | |
CN105184115B (zh) | 用于将隐式完整性或可信性检查包括到白箱实现中的方法 | |
US20150215117A1 (en) | White box encryption apparatus and method | |
EP2150917A1 (en) | Method and apparatus for encrypting and decrypting software | |
CN110414567A (zh) | 数据处理方法、装置和电子设备 | |
CN107707579A (zh) | 数据加密传输方法 | |
CN110704854B (zh) | 针对文本数据保留格式的流式加密方法 | |
KR20180110550A (ko) | 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치 | |
CN105897737B (zh) | 一种安全交换数据的方法 | |
CN107707577A (zh) | 基于加密传输系统的多层数据加密方法 | |
KR20170085921A (ko) | 암복호화 장치 및 방법 | |
CN108270791A (zh) | 一种安全运行可执行文件的方法及系统 | |
CN113794706B (zh) | 数据的处理方法、装置、电子设备及可读存储介质 | |
CN105978680A (zh) | 在白盒实现方案中实现填充 | |
CN114239089A (zh) | 基于混淆电路的业务处理方法及装置 | |
CN104993932A (zh) | 一种提高签名安全性的方法 | |
CN100561913C (zh) | 一种访问密码设备的方法 | |
CN105447403B (zh) | 一种适用于嵌入式实时信息处理单元的加密方法 | |
CN105376046B (zh) | 一种分组密码防攻击的加解密方法和装置 | |
CN107291773A (zh) | 一种网页地址生成方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20220217 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |