CN104636662B - 一种数据处理方法和终端设备 - Google Patents

一种数据处理方法和终端设备 Download PDF

Info

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
Application number
CN201310573542.3A
Other languages
English (en)
Other versions
CN104636662A (zh
Inventor
王显雷
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201310573542.3A priority Critical patent/CN104636662B/zh
Publication of CN104636662A publication Critical patent/CN104636662A/zh
Application granted granted Critical
Publication of CN104636662B publication Critical patent/CN104636662B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

本发明的实施例提供一种数据处理的方法和终端设备,涉及通信领域,能够提高加密算法的安全性,防止明文口令外泄,包括:根据预设规则获取当前脚本链的校验值,所述当前脚本链包括至少一个脚本;判断数据库中是否存在与所述当前脚本链的校验值相同的值,所述数据库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行任何修改时的脚本链;当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对所述密文口令进行解密。本发明的实施例提供的数据处理的方法和终端设备用于密文口令的解密。

Description

一种数据处理方法和终端设备

技术领域

[0001] 本发明涉及通信领域,尤其涉及一种数据处理方法和终端设备。

背景技术

[0002] 在大型分布式系统中存在着大量的机机口令。机机口令是指在非人为操作的情况 下,一台计算机A根据需要登录另一台计算机B使用的口令。从安全的角度来说,口令需要加 密保存。

[0003] 现有技术中,机机口令的加密算法分为对称加密算法和非对称加密算法。其中,对 称加密算法的口令加密和解密都是在计算机A上进行的。在应用对称加密算法时,加密秘 钥、解密密钥和密文口令都存放在计算机A上,加密秘钥和解密秘钥是相同的,加密时,计算 机A对口令通过加密密钥进行加密形成密文口令,解密时,也就是计算机A需要登录计算机B 时,计算机A使用脚本调用解密程序对密文口令进行解密得到明文口令,并将该明文口令传 输给计算机B,特别说明的是,在解密过程中,计算机A不能直接获得明文口令。

[0004] 但是,现有的对称加密算法中,使用脚本对密文口令进行解密,用户很容易获知解 密秘钥,同时,在解密过程中,用户通过修改脚本可直接在计算机A上获取到明文口令,这降 低了加密算法的安全性,使明文口令存在泄漏的风险。

发明内容

[0005] 本发明的实施例提供一种数据处理的方法和终端设备,能够提高加密算法的安全 性,防止明文口令外泄。

[0006] 为达到上述目的,本发明的实施例采用如下技术方案:

[0007] 第一方面,提供一种数据处理方法,包括:

[0008] 根据预设规则获取当前脚本链的校验值,所述当前脚本链包括至少一个脚本;

[0009] 判断数据库中是否存在与所述当前脚本链的校验值相同的值,所述数据库存储有 初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行任何修改时的脚本链;

[0010] 当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对所述密 文口令进行解密。

[0011] 结合第一方面,在第一种可实现方式中,当所述当前脚本链包括一个脚本时,

[0012] 所述根据预设规则获取当前脚本链的校验值包括:

[0013] 采用第一哈希算法计算所述一个脚本的校验值。

[0014] 结合第一方面,在第二种可实现方式中,当所述当前脚本链包括至少两个脚本时,

[0015] 所述根据预设规则获取当前脚本链的校验值包括:

[0016] 通过第二哈希算法计算所述当前脚本链中每个脚本的校验值;

[0017] 根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链 的校验值。

[0018] 结合第二种可实现方式,在第三种可实现方式中,当所述当前脚本链共k个脚本, 明文口令在所述当前脚本链中传递时,从第1脚本传递至第k脚本,所述k大于或等于2;

[0019] 所述根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚 本链的校验值包括:

[0020] 通过所述第三哈希算法将所述第k脚本的校验值与第k-1脚本的校验值结合获取 校验值作为第1校验值,通过所述第三哈希算法将所述第1校验值与第k-2脚本的校验值结 合获取校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-Ι校验值,将 所述第k-Ι校验值作为所述当前脚本链的校验值。

[0021] 结合第一方面、第一至第三种可实现方式,在第四种可实现方式中,在所述根据预 设规则获取当前脚本链的校验值之前,所述方法还包括:

[0022] 根据所述预设规则获取所述初始脚本链的校验值;

[0023] 将所述初始脚本链的校验值存储在所述数据库中。

[0024] 结合第一方面、第一至第三种可实现方式,在第五种可实现方式中,在所述根据预 设规则获取当前脚本链的校验值之前,所述方法还包括:

[0025] 将所述数据库中的整体布隆向量的所有比特位的数值初始化为第一数值;

[0026] 根据所述预设规则获取所述初始脚本链的校验值;

[0027] 将所述初始脚本链的校验值通过布隆过滤器的第一算法得到初始返回值;

[0028] 根据所述初始返回值将所述整体布隆向量中与所述初始返回值对应的比特位的 数值更新为第二数值。

[0029] 结合第五种可实现方式,在第六种可实现方式中,

[0030] 所述判断数据库中是否存在与所述当前脚本链的校验值相同的值包括:

[0031] 将所述当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回值;

[0032] 根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的 数值;

[0033] 当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数 值,判断所述数据库中存在与所述当前脚本链的校验值相同的值;

[0034] 当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的数值不是 所述第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值。

[0035] 第二方面,提供一种终端设备,包括:

[0036] 第一获取单元,用于根据预设规则获取当前脚本链的校验值,所述当前脚本链包 括至少一个脚本;

[0037] 判断单元,用于判断数据库中是否存在与所述当前脚本链的校验值相同的值,所 述数据库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行任何修改 时的脚本链;

[0038] 解密单元,用于在判断得到所述数据库中存在与所述当前脚本链的校验值相同的 值时,对所述密文口令进行解密。

[0039] 结合第二方面,在第一种可实现方式中,当所述当前脚本链包括一个脚本时,

[0040] 所述第一获取单元具体用于:

[0041] 采用第一哈希算法计算所述一个脚本的校验值。

[0042] 结合第二方面,在第二种可实现方式中,当所述当前脚本链包括至少两个脚本时,

[0043] 所述第一获取单元具体用于:

[0044] 通过第二哈希算法计算所述当前脚本链中每个脚本的校验值;

[0045]根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链 的校验值。

[0046] 结合第二种可实现方式,在第三种可实现方式中,当所述当前脚本链共k个脚本, 明文口令在所述当前脚本链中传递时,从第1脚本传递至第k脚本,所述k大于或等于2;

[0047] 所述第一获取单元具体用于:

[0048] 通过所述第三哈希算法将所述第k脚本的校验值与第k-Ι脚本的校验值结合获取 校验值作为第1校验值,通过所述第三哈希算法将所述第1校验值与第k-2脚本的校验值结 合获取校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-Ι校验值,将 所述第k-Ι校验值作为所述当前脚本链的校验值。

[0049] 结合第二方面、第一至第三种可实现方式,在第四种可实现方式中,所述终端设备 还包括:

[0050] 第二获取单元,用于根据所述预设规则获取所述初始脚本链的校验值;

[0051] 存储单元,用于将所述初始脚本链的校验值存储在所述数据库中。

[0052] 结合第二方面、第一至第三种可实现方式,在第五种可实现方式中,所述判断单元 具体用于:

[0053] 初始化单元,用于将所述数据库中的整体布隆向量的所有比特位的数值初始化为 第一数值;

[0054] 第三获取单元,用于根据所述预设规则获取所述初始脚本链的校验值;

[0055] 处理单元,用于将所述初始脚本链的校验值通过布隆过滤器的第一算法得到初始 返回值;

[0056] 更新单元,用于根据所述初始返回值将所述整体布隆向量中与所述初始返回值对 应的比特位的数值更新为第二数值。

[0057] 结合第五种可实现方式,在第六种可实现方式中,

[0058] 所述判断单元具体用于:

[0059] 将所述当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回值;

[0060] 根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的 数值;

[0061] 当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数 值,判断所述数据库中存在与所述当前脚本链的校验值相同的值;

[0062] 当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的数值不是 所述第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值。

[0063] 这样一来,在对称加密算法的口令解密前,为防止对当前脚本链的修改,根据预设 规则获取当前脚本链的校验值,判断数据库中是否存在与所述当前脚本链的校验值相同的 值,当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对所述密文口 令进行解密。相较于现有技术,通过预先判断是否允许对密文口令进行解密,防止通过修改 脚本链,用户直接获得明文指令,有效的防止明文口令外泄,提高了解密过程的安全性。

附图说明

[0064] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或 现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是 本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可 以根据这些附图获得其他的附图。

[0065] 图1为本发明实施案例提供的一种数据处理方法的流程图;

[0066] 图2为脚本链的校验值的获取过程的流程图;

[0067] 图3为本发明实施案例提供的数据处理方法的具体实施步骤流程图;

[0068] 图4为本发明实施例提供的一种终端设备的结构示意图;

[0069] 图5为本发明实施例提供的另一种终端设备的结构示意图;

[0070] 图6为本发明实施例提供的再一种终端设备的结构示意图;

[0071] 图7为本发明实施例提供的又一种终端设备的结构示意图;

[0072] 图8为本发明实施例提供的又另一种终端设备的结构示意图。

具体实施方式

[0073] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。

[0074] 本发明提供了一种数据处理方法,应用于终端设备,具体由所述终端设备的CPU (Central Processing Unit,中央处理器)执行,当所述终端设备需要登录另一台终端设备 时,需要获取登录用的口令明文,具体步骤如图1所示,包括:

[0075] 步骤101、根据预设规则获取当前脚本链的校验值,所述当前脚本链包括至少一个 脚本。

[0076] 当所述当前脚本链包括一个脚本时,终端设备据预设规则获取当前脚本链的校验 值的方法是采用第一哈希算法计算所述一个脚本的校验值。

[0077] 当所述当前脚本链包括至少两个脚本时,终端设备据预设规则获取当前脚本链 的校验值的方法是通过第二哈希算法计算所述当前脚本链中每个脚本的校验值;根据所述 当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链的校验值。

[0078] 示例的,所述根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述 当前脚本链的校验值包括:通过所述第三哈希算法将所述第k脚本的校验值与第k-Ι脚本的 校验值结合获取校验值作为第1校验值,通过所述第三哈希算法将所述第1校验值与第k-2 脚本的校验值结合获取校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得 第k-Ι校验值,将所述第k-Ι校验值作为所述当前脚本链的校验值。

[0079] 步骤102、判断数据库中是否存在与所述当前脚本链的校验值相同的值,所述数据 库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行任何修改时的脚 本链。

[0080] 步骤103、当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时, 对所述密文口令进行解密。

[0081] 这样一来,在对称加密算法的口令解密前,为防止对当前脚本链的修改,根据预设 规则获取当前脚本链的校验值,判断数据库中是否存在与所述当前脚本链的校验值相同的 值,当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对所述密文口 令进行解密。相较于现有技术,通过预先判断是否允许对密文口令进行解密,防止通过修改 脚本链,用户直接获得明文指令,有效的防止明文口令外泄,提高了解密过程的安全性。

[0082] 判断是否允许对密文口令进行解密的方法有很多种,本发明中包括了脚本链校验 值验证的方法和布隆向量验证的方法。

[0083] 示例的,脚本链校验值验证的方法可以包括:

[0084] 终端设备根据预设规则获取当前脚本链的校验值;根据所述预设规则获取所述初 始脚本链的校验值,将初始脚本链的校验值存储在数据库中;再判断数据库中是否存在与 所述当前脚本链的校验值相同的值。若是,则对密文口令进行解密;若否,则不对密文口令 解密。其中,所述初始脚本链是由供应商提供的原始脚本关联的脚本链,是未进行任何修改 时的脚本链。正常情况下,初始脚本链和用户使用的当前脚本链是相同的,若当前脚本链 被修改,则当前脚本链与初始脚本链不同,由于该初始脚本链的校验值存储在了数据库中, 那么如果数据库中存在与当前脚本链相同的校验值,说明当前脚本链没有被修改。值得说 明的是,使用脚本链校验值验证的方法是为了便于判断当前脚本链是和初始脚本链是否相 同。

[0085] 示例的,布隆向量验证的方法可以包括:

[0086] 终端设备将所述数据库中的整体布隆向量的所有比特位的数值初始化为第一数 值;根据所述预设规则获取所述初始脚本链的校验值;将所述初始脚本链的校验值通过布 隆过滤器的第一算法得到初始返回值;根据所述初始返回值将所述整体布隆向量中与所述 初始返回值对应的比特位的数值更新为第二数值,得到新的布隆向量,并将新的布隆向量 保存至布隆数据库。

[0087] 终端设备将所述当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前 返回值;根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的数 值;当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数值,判 断所述数据库中存在与所述当前脚本链的校验值相同的值;当所述整体布隆向量中存在任 意一个所述当前返回值对应的比特位的数值不是所述第二数值,判断所述数据库中不存在 与所述当前脚本链的校验值相同的值。使用布隆向量验证的方法是为了便于判断用户当前 脚本是和原始脚本必须是否相同。

[0088] 需要说明的是,所述根据所述预设规则获取所述初始脚本链的校验值,如图2所 示,包括:当所述初始脚本链包括一个脚本时,采用第一哈希算法计算所述一个脚本的校验 值。当所述初始脚本链包括至少两个脚本时,通过第二哈希算法计算所述初始脚本链中每 个脚本的校验值;根据所述初始脚本链中每个脚本的校验值及第三哈希算法计算所述初始 脚本链的校验值。当所述初始脚本链共k个脚本,明文口令在所述初始脚本链中传递时,从 第1脚本传递至第k脚本,所述k大于或等于2;所述根据所述初始脚本链中每个脚本的校验 值及第三哈希算法计算所述初始脚本链的校验值包括:通过所述第三哈希算法将所述第k 脚本的校验值与第k-Ι脚本的校验值结合获取校验值作为第1校验值,通过所述第三哈希 算法将所述第1校验值与第k-2脚本的校验值结合获取校验值作为第2校验值,重复上述校 验值的结合获取过程,直至获得第k-Ι校验值,将所述第k-Ι校验值作为所述初始脚本链的 校验值。

[0089] 本发明实施例提供的一种数据处理方法,在对称加密算法的口令解密前,为防止 对当前脚本链的修改,根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应 的比特位的数值;当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述 第二数值,判断所述数据库中存在与所述当前脚本链的校验值相同的值,允许密文口令解 密,得到明文口令;当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的 数值不是所述第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值, 不允许密文口令解密。这样一来,防止通过修改当前脚本链,用户直接获得明文口令,有效 的防止明文口令外泄,提高了解密过程的安全性。

[0090] 本发明实施例提供的数据处理方法,应用于终端设备,具体由所述终端设备的CPU 执行,当所述终端设备需要登录另一台终端设备时,需要获取登录用的口令明文,假设当前 脚本链包括k个脚本,明文口令在脚本链中传递时,从第1脚本传递至第k脚本,k大于或等于 2,使用布隆向量的方法对明文口令进行保护,具体实施步骤如图3所示。

[0091] 步骤201、根据预设规则获取初始脚本链的校验值,执行步骤202。

[0092] 假设初始脚本链包括k个脚本,明文口令在脚本链中传递时,从第1脚本传递至第k 脚本,k大于或等于2,终端设备通过第二哈希算法计算出初始脚本链上的各个脚本的校验 值,根据所述初始脚本链中每个脚本的校验值及第三哈希算法计算所述初始脚本链的校验 值,将第k脚本的校验值与第k-Ι脚本的校验值结合再通过第三哈希算法计算出校验值作为 第1校验值,将所述第1校验值与第k-2脚本的校验值结合再通过第三哈希算法计算出校验 值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-Ι校验值,将第k-Ι校验 值作为整个初始脚本链的校验值。需要说明的是,第一哈希算法、第二哈希算法和第三哈 希算法可以相同,也可以不同,本发明对此不做限定,本实施案例假设获取初始脚本链的各 个脚本的校验值的使用的第一至三哈希算法中任意一个哈希算法可以是MD5 (Message-Digest Algorithm5 , 信息摘要算法 5) 标准哈希算法。

[0093] 示例的,本实施案例假设整个初始脚本链上有三个脚本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作为整个初始脚本链的校验值。

[0094] 表1

[0095]

Figure CN104636662BD00101

[0096] 步骤202、将初始脚本链的校验值通过布隆过滤器转化为布隆向量,保存于布隆向 量库,执行步骤203。

[0097] 终端设备将数据库中的整体布隆向量的所有比特位的数值初始化为第一数值,根 据所述预设规则获取初始脚本链的校验值,将所述初始脚本链的校验值通过布隆过滤器的 第一算法得到初始返回值,根据所述初始返回值将所述整体布隆向量中与所述初始返回值 对应的比特位的数值更新为第二数值,得到新的布隆向量,将所述新的布隆向量保存至布 隆向量库。

[0098] 示例的,布隆过滤器可以把长度为m的比特的布隆向量O^b2, ...,bm)中所有比特 位初始化为第一数值,根据所述预设规则获取初始脚本链的校验值,将所述初始脚本链的 校验值通过布隆过滤器的第一算法得到初始返回值,假设所述第一算法是由k个相互独立 的快捷哈希函数实现的,则将返回值在1到m间的k个相互独立的快捷哈希函数〇u,h2,..., hk)作用于初始脚本链的校验值上,得到初始返回值,该初始返回值为n,r2,...,rk,假设1 为第二数值,则并将布隆向量中位置在初始返回值n,r2,...,rk对应的比特位置为1得到新 的布隆向量,将所述新布隆向量保存至布隆向量库。

[0099] 具体的,本实施案例假设布隆向量长度是8,将8个比特位初始化,本实施例假设所 述第一数值为〇,第二数值为1,则初始化后的布隆向量为〇〇〇〇〇〇〇〇,如表2所示,假设根据预 设规则获取初始脚本链的校验值为0110,假设所述第一算法是由为4个相互独立的快捷哈 希函数形式实现的,则将初始脚本链的校验值0110通过4个相互独立的快捷哈希函数〇u, 112,113,114)处理得到4个独立的返回值2,7,6,3,并将布隆向量中与返回值2,7,6,3对应的比 特位置为1,即将布隆向量中的第2个比特位置为1,第7个比特位置为1,第6个比特位置为1, 第3个比特位置为1,则更新后的布隆向量为01100110,如表2所示,根据所述新布隆向量更 新布隆向量库,即更新了布隆向量库中相应比特位的数值,由于初始脚本链为所述初始脚 本链未进行任何修改时的脚本链,那么通过布隆过滤器处理初始脚本链的校验值得到新的 布隆向量后,更新相应比特位的数值,可以便于后续步骤中通过布隆过滤器处理初始脚本 链的校验值得到的初始返回值后,根据初始返回值对应的比特位的数值来判断是否进行解 I_L| 〇

[0100] 表2

[0101]

Figure CN104636662BD00111

T〇1〇2]^步骤203、根据预设规则获取当前脚本链的校验值,执行步骤204。

[0103]假设当前脚本链包括k个脚本,k大于或等于2,终端设备通过第二哈希算法计算出 当前脚本链上的各个脚本的校验值,根据所述当前脚本链中每个脚本的校验值及第三哈希 算法计算所述当前脚本链的校验值,将第k脚本的校验值与第k-Ι脚本的校验值结合再通 过第三哈希算法计算出校验值作为第1校验值,将所述第1校验值与第k-2脚本的校验值结 合再通过第三哈希算法计算出校验值作为第2校验值,重复上述校验值的结合获取过程,直 至获得第k-Ι校验值,将第k-Ι校验值作为整个当前脚本链的校验值。本实施例假设获取当 前脚本链的各个脚本的校验值的使用的第二、三哈希算法是MD5标准哈希算法。具体算法可 以参考步骤201。

[0104] 当前脚本链的校验值获取的实现包括:

[0105] 在第k脚本的开始位置插入代码:

[0106]

Figure CN104636662BD00121

[0107] 上述代码表示:提取自身脚本的MD5值作为该自身脚本的校验值,并将自身脚本的 校验值存储在环境变量中,以便于下一脚本提取。

[0108] 在从第k-Ι脚本到第1脚本各个脚本的开始位置插入代码:

[0109]

Figure CN104636662BD00122

[0110] 上述代码表示:提取自身的MD5值作为该自身脚本的校验值,从环境变量中提取校 验值,将所述自身脚本的校验值和从环境变量中提取的校验值结合计算得到MD5值,并将该 MD5值存储在环境变量中,以便于下一脚本提取。

[0111] 在第1脚本中以密文口令和$_FPRINTJ^为输入,将输出结果传输到CPU,由CPU进 行判断和解密。

[0112] 特别说明的是,在所述当前脚本链的校验值获取的过程中,要保证校验值的传递 只在该当前脚本链的脚本中进行,在明文口令的传递过程中,不得通过环境变量或者参数 的形式把明文口令传给子脚本,第k脚本不能以标准输出的形式输出明文口令,即不得直接 输出可视的明文口令。

[0113] 步骤204、根据当前返回值查询整体布隆向量中当前返回值对应的比特位的数值, 判断是否允许对密文口令进行解密。若是,执行步骤205,若否,执行步骤206。

[0114] 终端设备将当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回 值;根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的数值。 当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数值,判断所 述数据库中存在与所述当前脚本链的校验值相同的值;当所述整体布隆向量中存在任意一 个所述当前返回值对应的比特位的数值不是所述第二数值,判断所述数据库中不存在与所 述当前脚本链的校验值相同的值。

[0115] 示例的,将当前脚本链的校验值通过所述布隆过滤器的第一算法得到返回值,假 设所述第一算法是由k个相互独立的快捷哈希函数实现的,则将数值在1到m间的k个相互独 立的快捷哈希函数0u,h2,...,hk)作用于当前脚本链的校验值上,得到返回值,该返回值为 ri,r2,. . .,rk。如果从布隆向量库中查询的布隆向量在位置ri,r2,. . .,rk的比特位中只要有 一个为第一数值,假设〇为第一数值,则判定当前脚本链被修改,不允许获得明文口令;如果 从布隆向量库中查询的布隆向量在位置ri,r2,...,rk的比特位都为第二数值,假设1为第二 数值,则判定当前脚本链是完整未被修改的,即所述当前脚本链与初始脚本链完全相同,允 许对密文口令进行解密。

[0116] 具体的,假设布隆库中的布隆向量为01100110,返回值是2,7,6,3。若假设由当前 脚本链的校验值运算得到的返回值为2,7,6,1,查询整体布隆向量中第2位,第7位,第6位和 第1位的数值是否为1,布隆向量的第1位为〇,所以判定所述当前脚本链被修改,不允许获得 明文口令;若假设由当前脚本链的校验值运算得到的返回值为2,7,6,3,查询整体布隆向量 中第2位,第7位,第6位和第3位的数值是否为1,各个比特位上数值都为1,判定所述当前脚 本链是完整未被修改的,即所述当前脚本链与初始脚本链完全相同,允许对密文口令进行 解密。

[0117] 步骤205、对密文口令进行解密得到明文口令。

[0118] 示例的,可以调用终端设备本地存储的解密密钥对密文口令进行解密,得到明文 口令,具体的解密过程可以参考现有技术,本发明对此不再详述。

[0119] 步骤206、终止解密过程。

[0120] 本发明实施例提供一种终端设备40,如图4所示,包括:

[0121] 第一获取单元401,用于根据预设规则获取当前脚本链的校验值,所述当前脚本链 包括至少一个脚本;

[0122] 判断单元402,用于判断数据库中是否存在与所述当前脚本链的校验值相同的值, 所述数据库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行任何修 改时的脚本链;

[0123] 解密单元403,用于在判断得到所述数据库中存在与所述当前脚本链的校验值相 同的值时,对所述密文口令进行解密。

[0124] 这样一来,在对称加密算法的口令解密前,为防止对当前脚本链的修改,第一获取 单元根据预设规则获取当前脚本链的校验值,判断单元判断数据库中是否存在与所述当前 脚本链的校验值相同的值,当判断得到所述数据库中存在与所述当前脚本链的校验值相同 的值时,解密单元对所述密文口令进行解密。相较于现有技术,通过预先判断是否允许对密 文口令进行解密,防止通过修改脚本链,用户直接获得明文指令,有效的防止明文口令外 泄,提高了解密过程的安全性。

[0125] 当所述当前脚本链包括一个脚本时,所述第一获取单元401具体用于:采用第一哈 希算法计算所述一个脚本的校验值。

[0126] 当所述当前脚本链包括至少两个脚本时,所述第一获取单元401具体用于:

[0127] 通过第二哈希算法计算所述当前脚本链中每个脚本的校验值;

[0128] 根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链 的校验值。当所述当前脚本链共k个脚本,明文口令在所述当前脚本链中传递时,从第1脚本 传递至第k脚本,所述k大于或等于2,所述第一获取单元401可以通过所述第三哈希算法将 所述第k脚本的校验值与第k-Ι脚本的校验值结合获取校验值作为第1校验值,通过所述第 三哈希算法将所述第1校验值与第k-2脚本的校验值结合获取校验值作为第2校验值,重复 上述校验值的结合获取过程,直至获得第k-Ι校验值,将所述第k-Ι校验值作为所述当前脚 本链的校验值。

[0129] 进一步的,如图5所示,所述终端设备40还包括:

[0130] 第二获取单元404,用于根据所述预设规则获取所述初始脚本链的校验值;

[0131] 存储单元405,用于将所述初始脚本链的校验值存储在所述数据库中。

[0132] 特别的,如图6所示,所述终端设备还40包括:

[0133] 初始化单元406,用于将所述数据库中的整体布隆向量的所有比特位的数值初始 化为第一数值;

[0134] 第三获取单元407,用于根据所述预设规则获取所述初始脚本链的校验值;

[0135] 处理单元408,用于将所述初始脚本链的校验值通过布隆过滤器的第一算法得到 初始返回值;

[0136] 更新单元409,用于根据所述初始返回值将所述整体布隆向量中与所述初始返回 值对应的比特位的数值更新为第二数值。

[0137] 所述判断单元402具体用于:

[0138] 将所述当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回值;

[0139] 根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的 数值;

[0140] 当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数 值,判断所述数据库中存在与所述当前脚本链的校验值相同的值;

[0141] 当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的数值不是 所述第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值。

[0142] 本发明实施例提供一种终端设备70,如图7所示,包括:

[0143] 处理器701用于根据预设规则获取当前脚本链的校验值,所述当前脚本链包括至 少一个脚本;

[0144] 所述处理器701还用于判断数据库中是否存在与所述当前脚本链的校验值相同的 值,所述数据库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行任 何修改时的脚本链;

[0145] 所述处理器701还用于在判断得到所述数据库中存在与所述当前脚本链的校验值 相同的值时,对所述密文口令进行解密。

[0146] 这样一来,在对称加密算法的口令解密前,为防止对当前脚本链的修改,处理器根 据预设规则获取当前脚本链的校验值;判断数据库中是否存在与所述当前脚本链的校验值 相同的值;当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对所述 密文口令进行解密。相较于现有技术,通过预先判断是否允许对密文口令进行解密,防止通 过修改脚本链,用户直接获得明文指令,有效的防止明文口令外泄,提高了解密过程的安全 性。

[0147] 当所述当前脚本链包括一个脚本时,

[0148] 所述处理器701用于:

[0149] 采用第一哈希算法计算所述一个脚本的校验值。

[0150] 当所述当前脚本链包括至少两个脚本时,

[0151] 所述处理器701用于:

[0152] 通过第二哈希算法计算所述当前脚本链中每个脚本的校验值;

[0Ί53]根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链 的校验值。当所述当前脚本链共k个脚本,明文口令在所述当前脚本链中传递时,从第1脚 本传递至第k脚本,所述k大于或等于2,所述处理器701通过所述第三哈希算法将所述第k脚 本的校验值与第k-Ι脚本的校验值结合获取校验值作为第1校验值,通过所述第三哈希算法 将所述第1校验值与第k_2脚本的校验值结合获取校验值作为第2校验值,重复上述校验值 的结合获取过程,直至获得第k-Ι校验值,将所述第k-Ι校验值作为所述当前脚本链的校验 值。

[0154] 进一步的,如图8所示,所述终端设备70还包括:

[0155] 所述处理器701还用于根据所述预设规则获取所述初始脚本链的校验值;

[0156] 存储器702,用于将所述初始脚本链的校验值存储在所述数据库中。

[0157] 所述处理器701还用于:

[0158] 将所述数据库中的整体布隆向量的所有比特位的数值初始化为第一数值;根据所 述预设规则获取所述初始脚本链的校验值;将所述初始脚本链的校验值通过布隆过滤器的 第一算法得到初始返回值;根据所述初始返回值将所述整体布隆向量中与所述初始返回值 对应的比特位的数值更新为第二数值。

[0159] 所述处理器701具体用于:

[0160] 将所述当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回值;根 据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的数值;当所述 整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数值,判断所述数据 库中存在与所述当前脚本链的校验值相同的值;当所述整体布隆向量中存在任意一个所述 当前返回值对应的比特位的数值不是所述第二数值,判断所述数据库中不存在与所述当前 脚本链的校验值相同的值。

[0161] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光 盘等各种可以存储程序代码的介质。

[0162] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1. 一种数据处理方法,其特征在于,包括: 将数据库中的整体布隆向量的所有比特位的数值初始化为第一数值; 根据预设规则获取初始脚本链的校验值; 将所述初始脚本链的校验值通过布隆过滤器的第一算法得到初始返回值; 根据所述初始返回值将所述整体布隆向量中与所述初始返回值对应的比特位的数值 更新为第二数值; 根据预设规则获取当前脚本链的校验值,所述当前脚本链包括至少一个脚本; 根据所述第二数值判断所述数据库中是否存在与所述当前脚本链的校验值相同的值, 所述数据库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行任何修 改时的脚本链; 当判断得到所述数据库中存在与所述当前脚本链的校验值相同的值时,对密文口令进 行解密。
2. 根据权利要求1所述的方法,其特征在于,当所述当前脚本链包括一个脚本时, 所述根据预设规则获取当前脚本链的校验值包括: 采用第一哈希算法计算所述一个脚本的校验值。
3. 根据权利要求1所述的方法,其特征在于,当所述当前脚本链包括至少两个脚本时, 所述根据预设规则获取当前脚本链的校验值包括: 通过第二哈希算法计算所述当前脚本链中每个脚本的校验值; 根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链的校 验值。
4. 根据权利要求3所述的方法,其特征在于,当所述当前脚本链共k个脚本,明文口令在 所述当前脚本链中传递时,从第1脚本传递至第k脚本,所述k大于或等于2; 所述根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链 的校验值包括: 通过所述第三哈希算法将所述第k脚本的校验值与第k-Ι脚本的校验值结合获取校验 值作为第1校验值,通过所述第三哈希算法将所述第1校验值与第k-2脚本的校验值结合获 取校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-Ι校验值,将所述 第k-Ι校验值作为所述当前脚本链的校验值。
5. 根据权利要求1至4任意一项权利要求所述的方法,其特征在于,在所述根据预设规 则获取当前脚本链的校验值之前,所述方法还包括: 根据所述预设规则获取所述初始脚本链的校验值; 将所述初始脚本链的校验值存储在所述数据库中。
6. 根据权利要求1所述的方法,其特征在于, 所述根据所述第二数值判断所述数据库中是否存在与所述当前脚本链的校验值相同 的值包括: 将所述当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回值; 根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的数值; 当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数值,判 断所述数据库中存在与所述当前脚本链的校验值相同的值; 当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的数值不是所述 第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值。
7. —种终端设备,其特征在于,包括: 第一获取单元,用于根据预设规则获取当前脚本链的校验值,所述当前脚本链包括至 少一个脚本; 判断单元,用于根据第二数值判断数据库中是否存在与所述当前脚本链的校验值相同 的值,所述数据库存储有初始脚本链的校验值,所述初始脚本链为所述当前脚本链未进行 任何修改时的脚本链; 解密单元,用于在判断得到所述数据库中存在与所述当前脚本链的校验值相同的值 时,对密文口令进行解密; 初始化单元,用于将所述数据库中的整体布隆向量的所有比特位的数值初始化为第一 数值; 第三获取单元,用于根据所述预设规则获取所述初始脚本链的校验值; 处理单元,用于将所述初始脚本链的校验值通过布隆过滤器的第一算法得到初始返回 值; 更新单元,用于根据所述初始返回值将所述整体布隆向量中与所述初始返回值对应的 比特位的数值更新为第二数值。
8. 根据权利要求7所述的终端设备,其特征在于,当所述当前脚本链包括一个脚本时, 所述第一获取单元具体用于: 采用第一哈希算法计算所述一个脚本的校验值。
9. 根据权利要求7所述的终端设备,其特征在于,当所述当前脚本链包括至少两个脚本 时, 所述第一获取单元具体用于: 通过第二哈希算法计算所述当前脚本链中每个脚本的校验值; 根据所述当前脚本链中每个脚本的校验值及第三哈希算法计算所述当前脚本链的校 验值。
10. 根据权利要求9所述的终端设备,其特征在于,当所述当前脚本链共k个脚本,明文 口令在所述当前脚本链中传递时,从第1脚本传递至第k脚本,所述k大于或等于2; 所述第一获取单元具体用于: 通过所述第三哈希算法将所述第k脚本的校验值与第k-Ι脚本的校验值结合获取校验 值作为第1校验值,通过所述第三哈希算法将所述第1校验值与第k-2脚本的校验值结合获 取校验值作为第2校验值,重复上述校验值的结合获取过程,直至获得第k-Ι校验值,将所述 第k-Ι校验值作为所述当前脚本链的校验值。
11. 根据权利要求7至10任意一项权利要求所述的终端设备,其特征在于,所述终端设 备还包括: 第二获取单元,用于根据所述预设规则获取所述初始脚本链的校验值; 存储单元,用于将所述初始脚本链的校验值存储在所述数据库中。
12. 根据权利要求7所述的终端设备,其特征在于, 所述判断单元具体用于: 将所述当前脚本链的校验值通过所述布隆过滤器的第一算法得到当前返回值; 根据所述当前返回值查询所述整体布隆向量中所述当前返回值对应的比特位的数值; 当所述整体布隆向量中所有所述当前返回值对应的比特位的数值为所述第二数值,判 断所述数据库中存在与所述当前脚本链的校验值相同的值; 当所述整体布隆向量中存在任意一个所述当前返回值对应的比特位的数值不是所述 第二数值,判断所述数据库中不存在与所述当前脚本链的校验值相同的值。
CN201310573542.3A 2013-11-15 2013-11-15 一种数据处理方法和终端设备 CN104636662B (zh)

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 CN104636662B (zh) 2013-11-15 2013-11-15 一种数据处理方法和终端设备

Country Status (1)

Country Link
CN (1) CN104636662B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105071941B (zh) * 2015-07-31 2019-01-18 华为技术有限公司 分布式系统节点身份认证方法及装置
CN106649346A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 数据重复性校验方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
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 黄承雄 利用后台同步方式完成登录过程的密码保护方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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
Billet et al. Cryptanalysis of a white box AES implementation
CN103166751A (zh) 用于保护分组密码免受模板攻击的方法和装置
Basin et al. Automated symbolic proofs of observational equivalence
CN107294709A (zh) 一种区块链数据处理方法、装置及系统
KR20120079639A (ko) 화이트박스 암호 테이블을 이용한 콘텐츠 보호 장치, 콘텐츠 암호화 및 복호화 장치
Datta et al. Abstraction and refinement in protocol derivation
US7779272B2 (en) Hardware cryptographic engine and encryption method
US8165286B2 (en) Combination white box/black box cryptographic processes and apparatus
Idrus et al. Performance Analysis of Encryption Algorithms Text Length Size on Web Browsers,''
US9553722B2 (en) Generating a key based on a combination of keys
CN107113286A (zh) 跨设备的漫游内容擦除操作
Cortier et al. Automatic analysis of the security of XOR-based key management schemes
JPWO2012043056A1 (ja) 暗号化データベースシステム、クライアント端末、暗号化データベースサーバ、自然結合方法およびプログラム
CN104519042B (zh) 检测和防止加密连接上的中间人攻击
Liu et al. Local topology attacks in smart grids
CN103107995A (zh) 一种云计算环境数据安全存储系统和方法
US20170235552A1 (en) Computing device comprising a table network
CN102868676A (zh) 发布/订阅网络中事件的安全分发
Penchalaiah et al. Effective Comparison and evaluation of DES and Rijndael Algorithm (AES)
Courtois et al. Fault-algebraic attacks on inner rounds of DES
US20170364691A1 (en) Method and System for Controlling Encryption of Information and Analyzing Information as well as Terminal
CN102073831A (zh) 电子文档加密和解密的系统及其方法
JPWO2012043012A1 (ja) 暗号化データベースシステム、クライアント端末、暗号化データベースサーバ、自然結合方法およびプログラム
Rührmair et al. Practical security analysis of PUF-based two-player protocols
US9455833B2 (en) Behavioral fingerprint in a white-box implementation

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