CN108270574A - 一种白名单库文件的安全加载方法及装置 - Google Patents
一种白名单库文件的安全加载方法及装置 Download PDFInfo
- Publication number
- CN108270574A CN108270574A CN201810140704.7A CN201810140704A CN108270574A CN 108270574 A CN108270574 A CN 108270574A CN 201810140704 A CN201810140704 A CN 201810140704A CN 108270574 A CN108270574 A CN 108270574A
- Authority
- CN
- China
- Prior art keywords
- white list
- ciphertext
- list library
- library
- secret key
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- 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/606—Protecting data by securing the transmission between two devices or processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种白名单库的安全加载方法及装置,预设秘钥和主机安全软件代码中的密文分开存储,保证了白名单秘钥的安全性;采用二次加密机制,即依据所述白名单秘钥和所述第一加密算法对白名单中存储的数据进行加密,得到白名单数据密文,再利用第二加密算法计算所述白名单库的哈希值,根据所述白名单秘钥和所述第一加密算法对所述白名单库的哈希值进行加密,得到所述白名单库的哈希值密文,保证了白名单库数据的安全性。通过所述预设秘钥对白名单库进行解密验证白名单库的安全性,当验证白名单库安全时,对白名单库进行加载。保证了主机安全软件加载白名单库时的安全性。
Description
技术领域
本发明涉及工控安全技术领域,更具体的,涉及一种白名单库文件的安全加载方法及装置。
背景技术
白名单库为主机信任的文件列表,列表中的对象被允许访问或执行。主机安全软件监控***运行的过程中,只允许运行白名单中的程序,恶意的、未授权的进程和文件操作都将被阻止运行。主机安全软件对主机进行全面扫描,生成可信任的白名单列表库,并保护白名单不会被恶意软件操作和破坏。
现在一般利用私密算法和固定密钥,实现主机安全软件与报名单库之间的安全通信,其方法的实现是基于产品中采用了某种向外部保密的加密算法;并在主机安全软件和白名单库之间约定了一个固定的数据加密密钥,且该密钥也是对外部保密的。该方式的安全性在于算法的私密性和密钥的安全性。
从产品的管理的角度看,产品从开发到生产的一系列流程中,算法和密钥都有很大的泄漏风险。而且很多时候对于企业内部人员来讲,算法和密钥甚至都不是保密的。从另一方面来讲,长期使用单一算法与密钥,在获取到大量通讯数据之后,也非常容易被破解。
综上,现有方法较难保障主机安全软件与白名单库之间的通信数据安全。
发明内容
有鉴于此,本发明提供了一种白名单库的安全加载方法及装置,实现主机安全软件与白名单库之间的安全通信。
为了实现上述发明目的,本发明提供的具体技术方案如下:
一种白名单库的安全加载方法,包括:
根据预设秘钥和第一加密算法对主机安全软件代码中的密文进行解密,获取白名单秘钥,所述预设秘钥存储在主机中任意一个数据库中;
依据所述白名单秘钥和所述第一加密算法对白名单中存储的数据进行加密,得到白名单数据密文,所述主机安全软件代码中的密文和所述白名单数据密文构成白名单库;
利用第二加密算法计算所述白名单库的哈希值,根据所述白名单秘钥和所述第一加密算法对所述白名单库的哈希值进行加密,得到所述白名单库的哈希值密文,并将所述白名单库的哈希值密文存储在所述白名单库中;
通过所述预设秘钥对白名单库进行解密验证白名单库的安全性,当验证白名单库安全时,对白名单库进行加载。
优选的,所述方法还包括:
根据预设秘钥对白名单秘钥进行加密,生成密文,并将所述密文存储在主机安全软件代码中。
优选的,白名单存储的数据包括:可信可执行文件信息和可信可执行文件的哈希值;
所述依据所述白名单秘钥和所述第一加密算法对白名单中存储的数据进行加密,得到白名单数据密文,具体为:
依据所述白名单秘钥分别对所述白名单存储的可信可执行文件信息和可信可执行文件的哈希值进行加密,得到所述可信可执行文件信息的密文和所述可执行文件的哈希值的密文。
优选的,所述方法还包括:
对主机中的可执行文件进行扫描,得到可信可执行文件信息,并计算所述可信可执行文件名称的哈希值;所述可信可执行文件信息包括:可信可执行文件的名称、文件大小、创建时间和修改时间。
优选的,所述通过所述预设秘钥对白名单库进行解密验证白名单库的安全性,包括:
根据所述预设秘钥和所述第一加密算法对白名单库中存储的主机安全软件代码中的密文进行解密,得到白名单秘钥;
依据解密得到的白名单秘钥和所述第一加密算法对白名单库中存储的白名单库的哈希值密文进行解密,得到解密后的白名单库的哈希值;
利用所述第二加密算法计算白名单库中存储的主机安全软件代码中的密文和白名单数据密文的哈希值,得到白名单库的哈希值;
判断计算得到的白名单库的哈希值与解密后的白名单库的哈希值是否相同;
若相同,确定白名单库安全。
优选的,在所述根据所述预设秘钥和所述第一加密算法对白名单库中存储的主机安全软件代码中的密文进行解密之前,所述方法还包括:
判断白名单库存储的主机安全软件代码中的密文的长度是否为第一预设值;
若为第一预设值,判断白名单库中存储的哈希值密文的长度是否为第二预设值;
若为第二预设值,触发执行所述根据所述预设秘钥和所述第一加密算法对白名单库中存储的主机安全软件代码中的密文进行解密。
一种白名单库的安全加载装置,包括:
解密单元,用于根据预设秘钥和第一加密算法对主机安全软件代码中的密文进行解密,获取白名单秘钥,所述预设秘钥存储在主机中任意一个数据库中;
第一加密单元,用于依据所述白名单秘钥和所述第一加密算法对白名单中存储的数据进行加密,得到白名单数据密文,所述主机安全软件代码中的密文和所述白名单数据密文构成白名单库;
第二加密单元,用于利用第二加密算法计算所述白名单库的哈希值,根据所述白名单秘钥和所述第一加密算法对所述白名单库的哈希值进行加密,得到所述白名单库的哈希值密文,并将所述白名单库的哈希值密文存储在所述白名单库中;
验证单元,用于通过所述预设秘钥对白名单库进行解密验证白名单库的安全性,当验证白名单库安全时,对白名单库进行加载。
优选的,所述装置还包括:
第三加密单元,用于根据预设秘钥对白名单秘钥进行加密,生成密文,并将所述密文存储在主机安全软件代码中。
优选的,白名单存储的数据包括:可信可执行文件信息和可信可执行文件的哈希值;
所述第一加密单元,具体用于依据所述白名单秘钥分别对所述白名单存储的可信可执行文件信息和可信可执行文件的哈希值进行加密,得到所述可信可执行文件信息的密文和所述可执行文件的哈希值的密文。
优选的,所述装置还包括:
扫描单元,用于对主机中的可执行文件进行扫描,得到可信可执行文件信息,并计算所述可信可执行文件名称的哈希值;所述可信可执行文件信息包括:可信可执行文件的名称、文件大小、创建时间和修改时间。
优选的,所述验证单元包括:
第一解密子单元,用于根据所述预设秘钥和所述第一加密算法对白名单库中存储的主机安全软件代码中的密文进行解密,得到白名单秘钥;
第二解密子单元,用于依据解密得到的白名单秘钥和所述第一加密算法对白名单库中存储的白名单库的哈希值密文进行解密,得到解密后的白名单库的哈希值;
计算子单元,用于利用所述第二加密算法计算白名单库中存储的主机安全软件代码中的密文和白名单数据密文的哈希值,得到白名单库的哈希值;
第一判断子单元,用于判断计算得到的白名单库的哈希值与解密后的白名单库的哈希值是否相同;若相同,触发确定子单元;
所述确定子单元,用于确定白名单库安全。
优选的,所述验证单元还包括:
第二判断子单元,用于判断白名单库存储的主机安全软件代码中的密文的长度是否为第一预设值;若为第一预设值,触发第三判断子单元;
所述第三判断子单元,用于判断白名单库中存储的哈希值密文的长度是否为第二预设值;若为第二预设值,触发所述第一解密子单元。
相对于现有技术,本发明的有益效果如下:
本发明公开的一种白名单库的安全加载方法及装置,预设秘钥和主机安全软件代码中的密文分开存储,保证了白名单秘钥的安全性;采用二次加密机制,即,依据所述白名单秘钥和所述第一加密算法对白名单中存储的数据进行加密,得到白名单数据密文,再利用第二加密算法计算所述白名单库的哈希值,根据所述白名单秘钥和所述第一加密算法对所述白名单库的哈希值进行加密,得到所述白名单库的哈希值密文,保证了白名单库数据的安全性。在主机安全软件加载白名单库时,通过所述预设秘钥对白名单库进行解密验证白名单库的安全性,当验证白名单库安全时,对白名单库进行加载。保证了主机安全软件加载白名单库时的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种白名单库的安全加载方法流程图;
图2为本发明实施例公开的另一种白名单库的安全加载方法流程图;
图3为本发明实施例公开的一种白名单库安全性的验证方法流程图;
图4为本发明实施例公开的一种白名单库的安全加载装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本实施例公开了一种白名单库的安全加载方法,应用于安装有主机安全软件的主机,具体包括以下步骤:
S101:根据预设秘钥和第一加密算法对主机安全软件代码中的密文进行解密,获取白名单秘钥,所述预设秘钥存储在主机中任意一个数据库中;
数据库中存储的预设密钥对主机安全软件代码中的密文进行解密得到白名单密钥,以便根据白名单密钥对白名单中可信可执行文件信息和可信可执行文件的哈希值进行加密,保证了主机安全软件代码中不直接存储数据加解密密钥,同时通过对可信可执行文件信息和可信可执行文件的哈希值密文进行二次加密,也防止了白名单密钥被破解。
优选的,所述第一加密算法为AES(Advanced Encryption Standard,高级加密标准)算法,其密钥长度(128位、192位、256位)是可变的,加密和解密具有相同的公钥,但是加密算法和解密算法不一致。它具有很好的性能和灵敏度,可以抵御强大和实时的攻击。
所述预设密钥存储在主机中任意一个数据库中,主机安全软件安装在主机中,可以理解的是,预设密钥和密文分开存储,保证了预设密钥的安全性,进而也保证了白名单密钥的安全性。
S102:依据所述白名单秘钥和所述第一加密算法对白名单中存储的数据进行加密,得到白名单数据密文,所述主机安全软件代码中的密文和所述白名单数据密文构成白名单库;
白名单存储的数据包括:可信可执行文件信息和可信可执行文件的哈希值;
所述依据所述白名单秘钥和所述第一加密算法对白名单中存储的数据进行加密,得到白名单数据密文,具体为:
依据所述白名单秘钥分别对所述白名单存储的可信可执行文件信息和可信可执行文件的哈希值进行加密,得到所述可信可执行文件信息的密文和所述可执行文件的哈希值的密文。
需要说明的是,所述方法还包括:
对主机中的可执行文件进行扫描,得到可信可执行文件信息,并计算所述可信可执行文件名称的哈希值;所述可信可执行文件信息包括:可信可执行文件的名称、文件大小、创建时间和修改时间等。
可以理解的是,主机安全软件对主机中的可执行文件进行扫描,得到的可信可执行文件都为被允许访问或执行的安全可执行文件。扫描得到一个或一个以上可执行文件。
S103:利用第二加密算法计算所述白名单库的哈希值,根据所述白名单秘钥和所述第一加密算法对所述白名单库的哈希值进行加密,得到所述白名单库的哈希值密文,并将所述白名单库的哈希值密文存储在所述白名单库中;
优选的,第二加密算法为SHA(Secure Hash Algorithm,安全哈希算法)算法,对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。
可以理解的是,由于所述主机安全软件代码中的密文和所述白名单数据密文构成白名单库,因此,计算白名单库的哈希值实质上是计算白名单库中整个文件内容进行哈希值计算。
计算每个可信可执行文件的哈希值,一则是提供给底层驱动,保护改可信可执行文件,防护其他可信可执行文件的执行,二则是将每个可信可执行文件的哈希值存储到白名单库中,供其他机器直接加载使用。
优选的,白名单库中首行存储的是主机安全软件代码中的密文,末行存储的是白名单库的哈希密文,中间存储的是白名单数据密文。
S104:通过所述预设秘钥对白名单库进行解密验证白名单库的安全性,当验证白名单库安全时,对白名单库进行加载。
通过所述预设密钥对白名单库进行解密,验证白名单库是否被改动过,若确定白名单库是安全的,对白名单库进行加载。
本实施例公开的一种白名单库的安全加载方法,预设秘钥和主机安全软件代码中的密文分开存储,保证了白名单秘钥的安全性;采用二次加密机制,即,依据所述白名单秘钥和所述第一加密算法对白名单中存储的数据进行加密,得到白名单数据密文,再利用第二加密算法计算所述白名单库的哈希值,根据所述白名单秘钥和所述第一加密算法对所述白名单库的哈希值进行加密,得到所述白名单库的哈希值密文,保证了白名单库数据的安全性。在主机安全软件加载白名单库时,通过所述预设秘钥对白名单库进行解密验证白名单库的安全性,当验证白名单库安全时,对白名单库进行加载。保证了主机安全软件加载白名单库时的安全性。
请参阅图2,图2公开了另一种白名单库的安全加载方法,具体包括:
S201:根据预设秘钥对白名单秘钥进行加密,生成密文,并将所述密文存储在主机安全软件代码中;
需要说明的是,预设密钥是不变的,随着主机安全软件版本的更新,白名单密钥可能发生变化,相应的,根据预设秘钥对白名单秘钥进行加密生成的存储在主机安全软件代码中秘文也随着变化。但是主机安全软件的升级并不影响白名单库的生成和加载。
当主机安全软件版本升级后,不影响旧版本的白名单库文件的加载应用。加载升级版本前的白名单库,对白名单先进行解密,通过白名单库里存储的主机安全软件代码中的密文B和预设密钥A解析出白名单密钥X,并进一步解密出白名单库中的可信可执行文件。
而在新版本中若将主机安全软件代码中的密文改为BB,则此后的白名单密钥XX由密文BB和预设密钥A解密,XX即为白名单新的密钥。进而加密成新的白名单库。此时,白名单中存储的数据包括密文BB和白名单经过密钥XX加密后的数据以及整个白名单库的哈希值。
S202:根据预设秘钥和第一加密算法对主机安全软件代码中的密文进行解密,获取白名单秘钥,所述预设秘钥存储在主机中任意一个数据库中;
S203:依据所述白名单秘钥和所述第一加密算法对白名单中存储的数据进行加密,得到白名单数据密文,所述主机安全软件代码中的密文和所述白名单数据密文构成白名单库;
S204:利用第二加密算法计算所述白名单库的哈希值,根据所述白名单秘钥和所述第一加密算法对所述白名单库的哈希值进行加密,得到所述白名单库的哈希值密文,并将所述白名单库的哈希值密文存储在所述白名单库中;
S205:通过所述预设秘钥对白名单库进行解密验证白名单库的安全性,当验证白名单库安全时,对白名单库进行加载。
本实施例公开的一种白名单库的安全加载方法,在主机安全软件升级后,即使主机安全软件代码中的密文被改变,依然可以加载使用主机安全软甲升级前生成的白名单库。
基于上述实施例公开的一种白名单库的安全加载方法,请参阅图3,本实施例公开了一种白名单库安全性的验证方法,具体包括:
S301:判断白名单库存储的主机安全软件代码中的密文的长度是否为第一预设值;若为第一预设值,执行S302,若不为第一预设值,执行S303;
具体的,第一预设值为44。
S302:判断白名单库中存储的哈希值密文的长度是否为第二预设值;若为第二预设值,执行S304,若不为第二预设值,执行S303;
具体的,第二预设值为64。
S303:提示白名单库加载失败;
在S304前对白名单库存储的主机安全软件代码中的密文的长度和白名单库中存储的哈希值密文的长度进行检测,初步判断其是否符合密文长度规范。若不符合规范说明白名单库是不安全的,提示白名单库加载失败,避免继续后续流程,提高了白名单安全性的验证效率。
S304:根据所述预设秘钥和所述第一加密算法对白名单库中存储的主机安全软件代码中的密文进行解密,得到白名单秘钥;
S305:依据解密得到的白名单秘钥和所述第一加密算法对白名单库中存储的白名单库的哈希值密文进行解密,得到解密后的白名单库的哈希值;
S306:利用所述第二加密算法计算白名单库中存储的主机安全软件代码中的密文和白名单数据密文的哈希值,得到白名单库的哈希值;
S307:判断计算得到的白名单库的哈希值与解密后的白名单库的哈希值是否相同;若相同,执行S308,若不相同,执行S303;
S308:确定白名单库安全。
本实施例公开的白名单库安全性的验证方法,通过所述预设秘钥对白名单库进行解密得到白名单库的哈希值,并根据解密后得到的白名单数据密文计算白名单库的哈希值,并判断两者是否相同,若相同则加载,进一步提高了白名单库加载的安全性。
基于上述实施例公开的一种白名单库的安全加载方法,请参阅图4,本实施例对应公开了一种白名单库的安全加载装置,包括:
解密单元401,用于根据预设秘钥和第一加密算法对主机安全软件代码中的密文进行解密,获取白名单秘钥,所述预设秘钥存储在主机中任意一个数据库中;
第一加密单元402,用于依据所述白名单秘钥和所述第一加密算法对白名单中存储的数据进行加密,得到白名单数据密文,所述主机安全软件代码中的密文和所述白名单数据密文构成白名单库;
第二加密单元403,用于利用第二加密算法计算所述白名单库的哈希值,根据所述白名单秘钥和所述第一加密算法对所述白名单库的哈希值进行加密,得到所述白名单库的哈希值密文,并将所述白名单库的哈希值密文存储在所述白名单库中;
验证单元404,用于通过所述预设秘钥对白名单库进行解密验证白名单库的安全性,当验证白名单库安全时,对白名单库进行加载。
优选的,所述装置还包括:
第三加密单元,用于根据预设秘钥对白名单秘钥进行加密,生成密文,并将所述密文存储在主机安全软件代码中。
优选的,白名单存储的数据包括:可信可执行文件信息和可信可执行文件的哈希值;
所述第一加密单元402,具体用于依据所述白名单秘钥分别对所述白名单存储的可信可执行文件信息和可信可执行文件的哈希值进行加密,得到所述可信可执行文件信息的密文和所述可执行文件的哈希值的密文。
优选的,所述装置还包括:
扫描单元,用于对主机中的可执行文件进行扫描,得到可信可执行文件信息,并计算所述可信可执行文件名称的哈希值;所述可信可执行文件信息包括:可信可执行文件的名称、文件大小、创建时间和修改时间。
优选的,所述验证单元404包括:
第一解密子单元,用于根据所述预设秘钥和所述第一加密算法对白名单库中存储的主机安全软件代码中的密文进行解密,得到白名单秘钥;
第二解密子单元,用于依据解密得到的白名单秘钥和所述第一加密算法对白名单库中存储的白名单库的哈希值密文进行解密,得到解密后的白名单库的哈希值;
计算子单元,用于利用所述第二加密算法计算白名单库中存储的主机安全软件代码中的密文和白名单数据密文的哈希值,得到白名单库的哈希值;
第一判断子单元,用于判断计算得到的白名单库的哈希值与解密后的白名单库的哈希值是否相同;若相同,触发确定子单元;
所述确定子单元,用于确定白名单库安全。
优选的,所述验证单元404还包括:
第二判断子单元,用于判断白名单库存储的主机安全软件代码中的密文的长度是否为第一预设值;若为第一预设值,触发第三判断子单元;
所述第三判断子单元,用于判断白名单库中存储的哈希值密文的长度是否为第二预设值;若为第二预设值,触发所述第一解密子单元。
本实施例公开的一种白名单库的安全加载装置,预设秘钥和主机安全软件代码中的密文分开存储,保证了白名单秘钥的安全性;采用二次加密机制,即,依据所述白名单秘钥和所述第一加密算法对白名单中存储的数据进行加密,得到白名单数据密文,再利用第二加密算法计算所述白名单库的哈希值,根据所述白名单秘钥和所述第一加密算法对所述白名单库的哈希值进行加密,得到所述白名单库的哈希值密文,保证了白名单库数据的安全性。在主机安全软件加载白名单库时,通过所述预设秘钥对白名单库进行解密验证白名单库的安全性,当验证白名单库安全时,对白名单库进行加载。保证了主机安全软件加载白名单库时的安全性。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种白名单库的安全加载方法,其特征在于,包括:
根据预设秘钥和第一加密算法对主机安全软件代码中的密文进行解密,获取白名单秘钥,所述预设秘钥存储在主机中任意一个数据库中;
依据所述白名单秘钥和所述第一加密算法对白名单中存储的数据进行加密,得到白名单数据密文,所述主机安全软件代码中的密文和所述白名单数据密文构成白名单库;
利用第二加密算法计算所述白名单库的哈希值,根据所述白名单秘钥和所述第一加密算法对所述白名单库的哈希值进行加密,得到所述白名单库的哈希值密文,并将所述白名单库的哈希值密文存储在所述白名单库中;
通过所述预设秘钥对白名单库进行解密验证白名单库的安全性,当验证白名单库安全时,对白名单库进行加载。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预设秘钥对白名单秘钥进行加密,生成密文,并将所述密文存储在主机安全软件代码中。
3.根据权利要求1所述的方法,其特征在于,白名单存储的数据包括:可信可执行文件信息和可信可执行文件的哈希值;
所述依据所述白名单秘钥和所述第一加密算法对白名单中存储的数据进行加密,得到白名单数据密文,具体为:
依据所述白名单秘钥分别对所述白名单存储的可信可执行文件信息和可信可执行文件的哈希值进行加密,得到所述可信可执行文件信息的密文和所述可执行文件的哈希值的密文。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对主机中的可执行文件进行扫描,得到可信可执行文件信息,并计算所述可信可执行文件名称的哈希值;所述可信可执行文件信息包括:可信可执行文件的名称、文件大小、创建时间和修改时间。
5.根据权利要求1所述的方法,其特征在于,所述通过所述预设秘钥对白名单库进行解密验证白名单库的安全性,包括:
根据所述预设秘钥和所述第一加密算法对白名单库中存储的主机安全软件代码中的密文进行解密,得到白名单秘钥;
依据解密得到的白名单秘钥和所述第一加密算法对白名单库中存储的白名单库的哈希值密文进行解密,得到解密后的白名单库的哈希值;
利用所述第二加密算法计算白名单库中存储的主机安全软件代码中的密文和白名单数据密文的哈希值,得到白名单库的哈希值;
判断计算得到的白名单库的哈希值与解密后的白名单库的哈希值是否相同;
若相同,确定白名单库安全。
6.根据权利要求5所述的方法,其特征在于,在所述根据所述预设秘钥和所述第一加密算法对白名单库中存储的主机安全软件代码中的密文进行解密之前,所述方法还包括:
判断白名单库存储的主机安全软件代码中的密文的长度是否为第一预设值;
若为第一预设值,判断白名单库中存储的哈希值密文的长度是否为第二预设值;
若为第二预设值,触发执行所述根据所述预设秘钥和所述第一加密算法对白名单库中存储的主机安全软件代码中的密文进行解密。
7.一种白名单库的安全加载装置,其特征在于,包括:
解密单元,用于根据预设秘钥和第一加密算法对主机安全软件代码中的密文进行解密,获取白名单秘钥,所述预设秘钥存储在主机中任意一个数据库中;
第一加密单元,用于依据所述白名单秘钥和所述第一加密算法对白名单中存储的数据进行加密,得到白名单数据密文,所述主机安全软件代码中的密文和所述白名单数据密文构成白名单库;
第二加密单元,用于利用第二加密算法计算所述白名单库的哈希值,根据所述白名单秘钥和所述第一加密算法对所述白名单库的哈希值进行加密,得到所述白名单库的哈希值密文,并将所述白名单库的哈希值密文存储在所述白名单库中;
验证单元,用于通过所述预设秘钥对白名单库进行解密验证白名单库的安全性,当验证白名单库安全时,对白名单库进行加载。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第三加密单元,用于根据预设秘钥对白名单秘钥进行加密,生成密文,并将所述密文存储在主机安全软件代码中。
9.根据权利要求7所述的装置,其特征在于,白名单存储的数据包括:可信可执行文件信息和可信可执行文件的哈希值;
所述第一加密单元,具体用于依据所述白名单秘钥分别对所述白名单存储的可信可执行文件信息和可信可执行文件的哈希值进行加密,得到所述可信可执行文件信息的密文和所述可执行文件的哈希值的密文。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
扫描单元,用于对主机中的可执行文件进行扫描,得到可信可执行文件信息,并计算所述可信可执行文件名称的哈希值;所述可信可执行文件信息包括:可信可执行文件的名称、文件大小、创建时间和修改时间。
11.根据权利要求7所述的装置,其特征在于,所述验证单元包括:
第一解密子单元,用于根据所述预设秘钥和所述第一加密算法对白名单库中存储的主机安全软件代码中的密文进行解密,得到白名单秘钥;
第二解密子单元,用于依据解密得到的白名单秘钥和所述第一加密算法对白名单库中存储的白名单库的哈希值密文进行解密,得到解密后的白名单库的哈希值;
计算子单元,用于利用所述第二加密算法计算白名单库中存储的主机安全软件代码中的密文和白名单数据密文的哈希值,得到白名单库的哈希值;
第一判断子单元,用于判断计算得到的白名单库的哈希值与解密后的白名单库的哈希值是否相同;若相同,触发确定子单元;
所述确定子单元,用于确定白名单库安全。
12.根据权利要求11所述的装置,其特征在于,所述验证单元还包括:
第二判断子单元,用于判断白名单库存储的主机安全软件代码中的密文的长度是否为第一预设值;若为第一预设值,触发第三判断子单元;
所述第三判断子单元,用于判断白名单库中存储的哈希值密文的长度是否为第二预设值;若为第二预设值,触发所述第一解密子单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810140704.7A CN108270574B (zh) | 2018-02-11 | 2018-02-11 | 一种白名单库文件的安全加载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810140704.7A CN108270574B (zh) | 2018-02-11 | 2018-02-11 | 一种白名单库文件的安全加载方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108270574A true CN108270574A (zh) | 2018-07-10 |
CN108270574B CN108270574B (zh) | 2021-02-09 |
Family
ID=62773937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810140704.7A Active CN108270574B (zh) | 2018-02-11 | 2018-02-11 | 一种白名单库文件的安全加载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108270574B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614793A (zh) * | 2018-12-21 | 2019-04-12 | 浙江中控技术股份有限公司 | 白名单文件的生成、加载方法及装置 |
CN112199682A (zh) * | 2020-11-03 | 2021-01-08 | 上海思赞博微信息科技有限公司 | 一种基于可信计算的白名单库文件保护方法 |
CN113378175A (zh) * | 2020-03-10 | 2021-09-10 | 科大国盾量子技术股份有限公司 | 一种qkd***软件运行环境的检测方法、装置及*** |
CN113391880A (zh) * | 2021-06-21 | 2021-09-14 | 西安超越申泰信息科技有限公司 | 一种分层双重哈希验证的可信镜像传输方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080256536A1 (en) * | 2007-04-11 | 2008-10-16 | Xiaoming Zhao | Portable secured computing environment for performing online confidential transactions in untrusted computers |
CN101311942A (zh) * | 2007-05-23 | 2008-11-26 | 西门子(中国)有限公司 | 对软件进行加密、解密的方法及加密、解密的装置 |
EP2000943A1 (en) * | 2006-03-17 | 2008-12-10 | Panasonic Corporation | Content search device |
CN101903889A (zh) * | 2007-12-20 | 2010-12-01 | 皇家飞利浦电子股份有限公司 | 数字版权管理的设备和方法 |
CN102799815A (zh) * | 2012-06-29 | 2012-11-28 | 安科智慧城市技术(中国)有限公司 | 一种安全加载程序库的方法和装置 |
CN104378388A (zh) * | 2014-12-09 | 2015-02-25 | 北京奇虎科技有限公司 | 可执行文件运行控制方法及装置 |
CN104392188A (zh) * | 2014-11-06 | 2015-03-04 | 三星电子(中国)研发中心 | 一种安全数据存储方法和*** |
CN104539432A (zh) * | 2014-12-31 | 2015-04-22 | 北京奇虎科技有限公司 | 一种对文件进行签名的方法和装置 |
CN107493271A (zh) * | 2017-07-28 | 2017-12-19 | 大唐高鸿信安(浙江)信息科技有限公司 | 可信安全网络*** |
-
2018
- 2018-02-11 CN CN201810140704.7A patent/CN108270574B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2000943A1 (en) * | 2006-03-17 | 2008-12-10 | Panasonic Corporation | Content search device |
US20080256536A1 (en) * | 2007-04-11 | 2008-10-16 | Xiaoming Zhao | Portable secured computing environment for performing online confidential transactions in untrusted computers |
CN101311942A (zh) * | 2007-05-23 | 2008-11-26 | 西门子(中国)有限公司 | 对软件进行加密、解密的方法及加密、解密的装置 |
CN101903889A (zh) * | 2007-12-20 | 2010-12-01 | 皇家飞利浦电子股份有限公司 | 数字版权管理的设备和方法 |
CN102799815A (zh) * | 2012-06-29 | 2012-11-28 | 安科智慧城市技术(中国)有限公司 | 一种安全加载程序库的方法和装置 |
CN104392188A (zh) * | 2014-11-06 | 2015-03-04 | 三星电子(中国)研发中心 | 一种安全数据存储方法和*** |
CN104378388A (zh) * | 2014-12-09 | 2015-02-25 | 北京奇虎科技有限公司 | 可执行文件运行控制方法及装置 |
CN104539432A (zh) * | 2014-12-31 | 2015-04-22 | 北京奇虎科技有限公司 | 一种对文件进行签名的方法和装置 |
CN107493271A (zh) * | 2017-07-28 | 2017-12-19 | 大唐高鸿信安(浙江)信息科技有限公司 | 可信安全网络*** |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614793A (zh) * | 2018-12-21 | 2019-04-12 | 浙江中控技术股份有限公司 | 白名单文件的生成、加载方法及装置 |
CN113378175A (zh) * | 2020-03-10 | 2021-09-10 | 科大国盾量子技术股份有限公司 | 一种qkd***软件运行环境的检测方法、装置及*** |
CN112199682A (zh) * | 2020-11-03 | 2021-01-08 | 上海思赞博微信息科技有限公司 | 一种基于可信计算的白名单库文件保护方法 |
CN112199682B (zh) * | 2020-11-03 | 2022-08-02 | 上海思赞博微信息科技有限公司 | 一种基于可信计算的白名单库文件保护方法 |
CN113391880A (zh) * | 2021-06-21 | 2021-09-14 | 西安超越申泰信息科技有限公司 | 一种分层双重哈希验证的可信镜像传输方法 |
CN113391880B (zh) * | 2021-06-21 | 2023-04-07 | 超越科技股份有限公司 | 一种分层双重哈希验证的可信镜像传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108270574B (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7870399B2 (en) | Software trusted platform module and application security wrapper | |
CN101894224B (zh) | 保护客户端平台上的内容 | |
CN101213814B (zh) | 安全修补*** | |
CN101897211B (zh) | 计算机秘密的迁移 | |
CN101427259B (zh) | 维护版本计数器的方法和设备 | |
CN101419652B (zh) | 一种软硬件结合的保护程序的方法 | |
US20030196096A1 (en) | Microcode patch authentication | |
CN108270574A (zh) | 一种白名单库文件的安全加载方法及装置 | |
CN102419804B (zh) | 具有冗余安全性的可靠的软件产品验证和激活 | |
US20070226505A1 (en) | Method of using signatures for measurement in a trusted computing environment | |
CN102473213A (zh) | 用于提供安全虚拟机的***和方法 | |
CN101300583A (zh) | 用于可信赖移动电话的简单可伸缩和可配置安全启动 | |
CN106055936A (zh) | 可执行程序数据包加密/解密方法及装置 | |
CN104573549A (zh) | 一种可信的数据库机密性保护方法及*** | |
CN105740725A (zh) | 一种文件保护方法与*** | |
KR101269089B1 (ko) | 자가암호화를 이용한 소프트웨어 변조방지 방법 | |
JP5052287B2 (ja) | ロボット不正使用防止装置およびロボット不正使用防止方法 | |
CN107508801A (zh) | 一种文件防篡改的方法及装置 | |
CN103971034A (zh) | 一种保护Java软件的方法及装置 | |
CN106850232B (zh) | 状态保持的授权管理方法和*** | |
CN107391974A (zh) | 一种软件保护装置数据的备份方法及装置 | |
CN100596058C (zh) | 可信计算平台密钥授权数据管理***及方法 | |
CN104392153B (zh) | 一种软件保护方法及*** | |
CN111737747B (zh) | 数据库保密方法、装置、设备及计算机存储介质 | |
EP1811460B1 (en) | Secure software system and method for a printer |
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 |