CN102404109A - 密钥保护系统及方法 - Google Patents
密钥保护系统及方法 Download PDFInfo
- Publication number
- CN102404109A CN102404109A CN2010102757643A CN201010275764A CN102404109A CN 102404109 A CN102404109 A CN 102404109A CN 2010102757643 A CN2010102757643 A CN 2010102757643A CN 201010275764 A CN201010275764 A CN 201010275764A CN 102404109 A CN102404109 A CN 102404109A
- Authority
- CN
- China
- Prior art keywords
- sub
- bit string
- hash
- key
- data
- 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.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
一种密钥保护系统,该系统包括:定义模块,用于定义多个哈希函数;构造模块,用于将密钥分成多个子位串,对密钥的每一个子位串构造一个表格单元;运算模块,用于应用定义的哈希函数对密钥的各个子位串进行运算,得到各个哈希函数对应的各个子位串的哈希地址;及填写模块,用于将各个子位串的表格单元填写到哈希表。本发明还提供一种密钥保护方法。本发明能够加强密钥的安全性,防止密钥被非法破解。
Description
技术领域
本发明涉及一种信息保护系统及方法,特别是关于一种密钥保护系统及方法。
背景技术
目前,某些类型的光碟(例如BD与HD DVD)使用版权保护机制来保护光碟内容。为了能正确读取光碟中的多媒体数据,软件播放器必须使用许可管理者提供的密钥(称为许可钥),用来与光碟读取装置相互认证或计算能正确解密多媒体数据的解密密钥(称为标题密钥)。然而,某些心怀不轨的人可能利用除错模式从软件播放器中截取出密钥,以进行盗版行为。
发明内容
鉴于以上内容,有必要提供一种密钥保护系统,能够加强密钥的安全性,防止密钥被非法破解。
此外,还有必要提供一种密钥保护方法,能够加强密钥的安全性,防止密钥被非法破解。
一种密钥保护系统,运行于数据处理设备中,该系统包括:定义模块,用于定义多个哈希函数;构造模块,用于将密钥分成多个子位串,对密钥的每一个子位串构造一个表格单元,该表格单元包括第一数据与第二数据,所述第一数据包含所述子位串,所述第二数据指明第一数据中有几位数据是子位串;运算模块,用于应用定义的哈希函数对密钥的各个子位串进行运算,得到各个哈希函数对应的各个子位串的哈希地址;及填写模块,用于按照各个哈希函数对应的各个子位串的哈希地址将各个子位串的表格单元填写到哈希表。
一种密钥保护方法,该方法包括步骤:定义多个哈希函数;将密钥分成多个子位串,对密钥的每一个子位串构造一个表格单元,该表格单元包括第一数据与第二数据,所述第一数据包含所述子位串,所述第二数据指明第一数据中有几位数据是子位串;应用定义的哈希函数对密钥的各个子位串进行运算,得到各个哈希函数对应的各个子位串的哈希地址;及按照各个哈希函数对应的各个子位串的哈希地址将各个子位串的表格单元填写到哈希表。
本发明将组成密钥的子位串以表格单元的形式分散存放在哈希表中,分散的规则由自定义的哈希函数决定,在需要使用密钥时随机选用定义哈希函数来提取密钥,降低了不法分子利用除错模式截取密钥的风险,并且减少了提取密钥的复杂度。
附图说明
图1为本发明密钥保护系统较佳实施例的应用环境示意图。
图2为图1中密钥保护系统的功能模块图。
图3为本发明密钥保护方法较佳实施例的流程图。
图4为将密钥分为子位串的示意图。
图5-1至5-4为对图4所示的子位串构造表格单元的示意图。
主要元件符号说明
密钥保护系统 | 10 |
数据处理设备 | 11 |
存储器 | 12 |
处理器 | 13 |
定义模块 | 200 |
构造模块 | 210 |
运算模块 | 220 |
填写模块 | 230 |
提取模块 | 240 |
具体实施方式
参阅图1所示,是本发明密钥保护系统较佳实施例的应用环境示意图。所述密钥保护系统10运行于数据处理设备11(例如服务器或个人计算机)中。该数据处理设备11还包括存储器12及处理器13。所述存储器12存储密钥保护系统10的程序指令以及密钥保护系统10运行过程中产生的数据。所述处理器13执行该密钥保护系统10的程序指令,以提高密钥的安全性。所述密钥是一个位串,例如10100001110110010100,用于对数据(例如影像与声音数据)进行保护。在本实施例中,所述密钥是用于保护光碟内容的许可钥,该许可钥用来与光碟读取装置相互认证或计算能正确解密光碟中多媒体数据的标题密钥。所述密钥还可以是其他用途的密钥,例如是用于文档解密的密钥。
参阅图2所示,是图1中密钥保护系统的功能模块图。所述密钥保护系统10包括定义模块200、构造模块210、运算模块220、填写模块230及提取模块240。所述定义模块200、构造模块210、运算模块220与填写模块230实现在使用密钥之前将密钥存放至哈希表,所述提取模块240实现在使用密钥之时从哈希表中提取出密钥。以下分别对各个模块进行详细说明。
所述定义模块200用于定义多个哈希函数。定义的每个哈希函数是一个随机函数。在本实施例中,定义模块200定义3个哈希函数,分别为第一哈希函数、第二哈希函数与第三哈希函数。在定义哈希函数时以高复杂度为原则,以增加破解密钥的难度,提高密钥的安全性。
所述构造模块210用于将密钥分成多个子位串,每个子位串的位数不限。参阅图4所示,密钥是20位的位串10100001110110010100,按照从低位向高位的顺序,将密钥分成4个子位串,第一子位串包括低4位数据0100,第二子位串包括中间6位数据011001,第三子位串包括中间3位数据111,第四子位串包括高7位数据1010000。构造模块210还用于对密钥的每一个子位串构造一个表格单元,该表格单元包括第一数据与第二数据,所述第一数据包含所述子位串,所述第二数据指明第一数据中有几位数据是子位串。在本实施例中,所述第一数据的位数固定(例如8位),子位串位于第一数据的低位。第一数据中子位串以外的其余位取随机值。参阅图5-1至5-4所示,是对图4所示的第一至第四子位串构造表格单元的示意图,各个子位串的表格单元的第一数据均为8位,子位串在第一数据的低位。例如,第一子位串的第二数据为4,则第一数据中的低4位是第一子位串,其余4位是随机值。
所述运算模块220用于应用定义的哈希函数对密钥的各个子位串进行运算,得到各个哈希函数对应的各个子位串的哈希地址。例如,应用第一哈希函数对密钥的各个子位串进行运算,得到第一子位串的哈希地址为7,第二子位串的哈希地址为3,第三子位串的哈希地址为5,第四子位串的哈希地址为11。应用第二哈希函数对密钥的各个子位串进行运算,得到第一子位串的哈希地址为4,第二子位串的哈希地址为8,第三子位串的哈希地址为2,第四子位串的哈希地址为10。应用第三哈希函数对密钥的各个子位串进行运算,得到第一子位串的哈希地址为1,第二子位串的哈希地址为9,第三子位串的哈希地址为13,第四子位串的哈希地址为6。在本实施例中,若计算的哈希地址发生碰撞,则采用开放地址法或链地址法解决碰撞。所述碰撞是指对子位串进行运算得到同一个哈希地址的现象。
所述填写模块230用于按照各个哈希函数对应的各个子位串的哈希地址将各个子位串的表格单元填写到哈希表。例如,根据第一哈希函数对应的各个子位串的哈希地址,将第一子位串的表格单元填写到哈希表中哈希地址为7的位置,将第二子位串的表格单元填写到哈希表中哈希地址为3的位置,将第三子位串的表格单元填写到哈希表中哈希地址为5的位置,将第四子位串的表格单元填写到哈希表中哈希地址为11的位置。根据第二哈希函数对应的各个子位串的哈希地址,将第一子位串的表格单元填写到哈希表中哈希地址为4的位置,将第二子位串对应的表格单元填写到哈希表中哈希地址为8的位置,将第三子位串对应的表格单元填写到哈希表中哈希地址为2的位置,将第四子位串对应的表格单元填写到哈希表中哈希地址为10的位置。根据第三哈希函数对应的各个子位串的哈希地址,将第一子位串的表格单元填写到哈希表中哈希地址为1的位置,将第二子位串对应的表格单元填写到哈希表中哈希地址为9的位置,将第三子位串对应的表格单元填写到哈希表中哈希地址为13的位置,将第四子位串对应的表格单元填写到哈希表中哈希地址为6的位置。
所述提取模块240用于在需要使用密钥的时候随机选用定义的哈希函数,根据选用的哈希函数计算密钥的各个子位串的哈希地址。例如,提取模块240选用第一哈希函数,计算得到第一子位串的哈希地址为7,第二子位串的哈希地址为3,第三子位串的哈希地址为5,第四子位串的哈希地址为11。提取模块240还用于根据计算得到的哈希地址从哈希表中获取各个子位串的表格单元,从表格单元中提取相应的子位串,并将提取的各个子位串组合为密钥。例如,从哈希地址为7的位置获取第一子位串的表格单元并提取出第一子位串,从哈希表中哈希地址为2的位置获取第二子位串的表格单元并提取出第二子位串,从哈希表中哈希地址为5的位置获取第三子位串的表格单元并提取出第三子位串,从哈希表中哈希地址为4的位置获取第四子位串的表格单元并提取出第四子位串,并且将第一至第四子位串组合为密钥。
参阅图3所示,是本发明密钥保护方法较佳实施例的流程图。步骤S301~S305用以将密钥存放至哈希表;当需要使用密钥的时候,执行步骤S306~S307,从哈希表中提取出密钥。
步骤S301,定义模块200定义多个哈希函数。定义的每个哈希函数是一个随机函数。在本实施例中,定义模块200定义3个哈希函数,分别为第一哈希函数、第二哈希函数与第三哈希函数。在定义哈希函数时以高复杂度为原则,以增加破解密钥的难度,提高密钥的安全性。
步骤S302,构造模块210将密钥分成多个子位串,每个子位串的位数不限。参阅图4所示,密钥是20位的位串10100001110110010100,按照从低位向高位的顺序,将密钥分成4个子位串,第一子位串包括低4位数据0100,第二子位串包括中间6位数据011001,第三子位串包括中间3位数据111,第四子位串包括高7位数据1010000。
步骤S303,构造模块210对密钥的每一个子位串构造一个表格单元,该表格单元包括第一数据与第二数据,所述第一数据包含所述子位串,所述第二数据指明第一数据中有几位数据是子位串。在本实施例中,所述第一数据的位数固定(例如8位),子位串位于第一数据的低位。第一数据中子位串以外的其余位取随机值。参阅图5-1至5-4所示,是对图4所示的第一至第四子位串构造表格单元的示意图,各个子位串的表格单元的第一数据均为8位,子位串在第一数据的低位。例如,第一子位串的第二数据为4,则第一数据中的低4位是第一子位串,其余4位是随机值。
步骤S304,运算模块220应用定义的哈希函数对密钥的各个子位串进行运算,得到各个哈希函数对应的各个子位串的哈希地址。例如,应用第一哈希函数对密钥的各个子位串进行运算,得到第一子位串的哈希地址为7,第二子位串的哈希地址为3,第三子位串的哈希地址为5,第四子位串的哈希地址为11。应用第二哈希函数对密钥的各个子位串进行运算,得到第一子位串的哈希地址为4,第二子位串的哈希地址为8,第三子位串的哈希地址为2,第四子位串的哈希地址为10。应用第三哈希函数对密钥的各个子位串进行运算,得到第一子位串的哈希地址为1,第二子位串的哈希地址为9,第三子位串的哈希地址为13,第四子位串的哈希地址为6。在本实施例中,若计算的哈希地址发生碰撞,则采用开放地址法或链地址法解决碰撞。
步骤S305,填写模块230按照各个哈希函数对应的各个子位串的哈希地址将各个子位串的表格单元填写到哈希表。例如,根据第一哈希函数对应的各个子位串的哈希地址,将第一子位串的表格单元填写到哈希表中哈希地址为7的位置,将第二子位串的表格单元填写到哈希表中哈希地址为3的位置,将第三子位串的表格单元填写到哈希表中哈希地址为5的位置,将第四子位串的表格单元填写到哈希表中哈希地址为11的位置。根据第二哈希函数对应的各个子位串的哈希地址,将第一子位串的表格单元填写到哈希表中哈希地址为4的位置,将第二子位串对应的表格单元填写到哈希表中哈希地址为8的位置,将第三子位串对应的表格单元填写到哈希表中哈希地址为2的位置,将第四子位串对应的表格单元填写到哈希表中哈希地址为10的位置。根据第三哈希函数对应的各个子位串的哈希地址,将第一子位串的表格单元填写到哈希表中哈希地址为1的位置,将第二子位串对应的表格单元填写到哈希表中哈希地址为9的位置,将第三子位串对应的表格单元填写到哈希表中哈希地址为13的位置,将第四子位串对应的表格单元填写到哈希表中哈希地址为6的位置。
在需要使用密钥的时候,步骤S306,提取模块240随机选用定义的哈希函数,根据选用的哈希函数计算密钥的各个子位串的哈希地址。例如,提取模块240选用第一哈希函数,计算得到第一子位串的哈希地址为7,第二子位串的哈希地址为3,第三子位串的哈希地址为5,第四子位串的哈希地址为11。
步骤S307,提取模块240根据计算得到的哈希地址从哈希表中获取各个子位串的表格单元,从表格单元中提取相应的子位串,并将提取的各个子位串组合为密钥。例如,从哈希地址为7的位置获取第一子位串的表格单元并提取出第一子位串,从哈希表中哈希地址为2的位置获取第二子位串的表格单元并提取出第二子位串,从哈希表中哈希地址为5的位置获取第三子位串的表格单元并提取出第三子位串,从哈希表中哈希地址为4的位置获取第四子位串的表格单元并提取出第四子位串,并且将第一至第四子位串组合为密钥。
上述密钥保护方法将密钥分成多个子位串,将包含子位串的表格单元以随机分散的方式存放在哈希表中,分散的规则由自定义的哈希函数决定,在使用密钥时随机选用定义的哈希函数来提取密钥,本发明降低了不法分子利用除错模式截取密钥的风险,并且减少了提取密钥的复杂度。
Claims (10)
1.一种密钥保护系统,运行于数据处理设备中,其特征在于,该系统包括:
定义模块,用于定义多个哈希函数;
构造模块,用于将密钥分成多个子位串,对密钥的每一个子位串构造一个表格单元,该表格单元包括第一数据与第二数据,所述第一数据包含所述子位串,所述第二数据指明第一数据中有几位数据是子位串;
运算模块,用于应用定义的哈希函数对密钥的各个子位串进行运算,得到各个哈希函数对应的各个子位串的哈希地址;及
填写模块,用于按照各个哈希函数对应的各个子位串的哈希地址将各个子位串的表格单元填写到哈希表。
2.如权利要求1所述的密钥保护系统,其特征在于,该系统还包括:
提取模块,用于在需要使用密钥时随机选用定义的哈希函数,根据选用的哈希函数计算密钥的各个子位串的哈希地址,根据计算得到的哈希地址从哈希表中获取各个子位串的表格单元,从表格单元中提取相应的子位串,并将提取的各个子位串组合为密钥。
3.如权利要求1所述的密钥保护系统,其特征在于,所述密钥是用于保护光碟内容的许可钥。
4.如权利要求1所述的密钥保护系统,其特征在于,所述第一数据的位数固定,子位串位于第一数据的低位。
5.如权利要求1所述的密钥保护系统,其特征在于,所述运算模块在哈希地址发生碰撞时,采用开放地址法或链地址法解决碰撞。
6.一种密钥保护方法,其特征在于,该方法包括步骤:
定义多个哈希函数;
将密钥分成多个子位串,对密钥的每一个子位串构造一个表格单元,该表格单元包括第一数据与第二数据,所述第一数据包含所述子位串,所述第二数据指明第一数据中有几位数据是子位串;
应用定义的哈希函数对密钥的各个子位串进行运算,得到各个哈希函数对应的各个子位串的哈希地址;及
按照各个哈希函数对应的各个子位串的哈希地址将各个子位串的表格单元填写到哈希表。
7.如权利要求6所述的密钥保护方法,其特征在于,该方法还包括步骤:
当需要使用密钥时,随机选用定义的哈希函数,根据选用的哈希函数计算密钥的各个子位串的哈希地址;及
根据计算得到的哈希地址从哈希表中获取各个子位串的表格单元,从表格单元中提取相应的子位串,并将提取的各个子位串组合为密钥。
8.如权利要求6所述的密钥保护方法,其特征在于,所述密钥是用于保护光碟内容的许可钥。
9.如权利要求6所述的密钥保护方法,其特征在于,所述第一数据的位数固定,子位串位于第一数据的低位。
10.如权利要求6所述的密钥保护方法,其特征在于,所述应用定义的哈希函数对密钥的各个子位串进行运算,得到各个哈希函数对应的各个子位串的哈希地址的步骤中,若哈希地址发生碰撞,则采用开放地址法或链地址法解决碰撞。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102757643A CN102404109A (zh) | 2010-09-08 | 2010-09-08 | 密钥保护系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102757643A CN102404109A (zh) | 2010-09-08 | 2010-09-08 | 密钥保护系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102404109A true CN102404109A (zh) | 2012-04-04 |
Family
ID=45885930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102757643A Pending CN102404109A (zh) | 2010-09-08 | 2010-09-08 | 密钥保护系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102404109A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106664461A (zh) * | 2014-07-16 | 2017-05-10 | 维亚塞斯公司 | 通过终端访问受保护的多媒体内容的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1925490A (zh) * | 2006-09-21 | 2007-03-07 | 中国船舶重工集团公司第七○九研究所 | 移动自组织网络中基于多项式组的密钥预共享安全引导模型 |
US20090262943A1 (en) * | 2004-08-12 | 2009-10-22 | Cmla, Inc. | Key derivation functions to enhance security |
CN101753304A (zh) * | 2008-12-17 | 2010-06-23 | 中国科学院自动化研究所 | 一种生物特征和密钥绑定的方法 |
-
2010
- 2010-09-08 CN CN2010102757643A patent/CN102404109A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090262943A1 (en) * | 2004-08-12 | 2009-10-22 | Cmla, Inc. | Key derivation functions to enhance security |
CN1925490A (zh) * | 2006-09-21 | 2007-03-07 | 中国船舶重工集团公司第七○九研究所 | 移动自组织网络中基于多项式组的密钥预共享安全引导模型 |
CN101753304A (zh) * | 2008-12-17 | 2010-06-23 | 中国科学院自动化研究所 | 一种生物特征和密钥绑定的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106664461A (zh) * | 2014-07-16 | 2017-05-10 | 维亚塞斯公司 | 通过终端访问受保护的多媒体内容的方法 |
CN106664461B (zh) * | 2014-07-16 | 2020-03-31 | 维亚塞斯公司 | 通过终端访问受保护的多媒体内容的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105453102B (zh) | 用于识别已泄漏的私有密钥的系统和方法 | |
CN103353931B (zh) | 安全增强型计算机系统和方法 | |
CN100449561C (zh) | 基于证书和透明加密的usb存储设备数据防泄密系统和方法 | |
CN108055133A (zh) | 一种基于区块链技术的密钥安全签名方法 | |
CN101986325A (zh) | 一种计算机安全访问控制系统及控制方法 | |
CN102855161B (zh) | 用于安全微控制器的外部存储器的数据交织方案 | |
CN103268455A (zh) | 数据的访问方法及装置 | |
CN106650327A (zh) | 基于动态恢复so文件的Android应用加固方法 | |
US20070209014A1 (en) | Method and apparatus for secure data input | |
CN104065651A (zh) | 一种面向云计算的信息流可信保障机制 | |
CN103577732A (zh) | 一种信息处理方法及装置、电子设备 | |
US8984599B2 (en) | Real time password generation apparatus and method | |
CN105897417A (zh) | 加密数据输入方法及装置 | |
Su et al. | Study to improve security for IoT smart device controller: drawbacks and countermeasures | |
CN103955634A (zh) | 基于数字水印技术的针对瓦片遥感数据的版权保护方法 | |
CN108133147A (zh) | 可执行代码的保护方法、设备及可读存储介质 | |
CN105205416A (zh) | 一种移动硬盘密码模块 | |
CN106549756A (zh) | 一种加密的方法及装置 | |
CN106127066A (zh) | 一种基于云盘的历史数据文件安全保护方法及系统 | |
CN105897716A (zh) | 一种网站登录验证码的生成方法 | |
CN109040173A (zh) | 一种政务大数据的可靠储存方法及装置 | |
CN102404109A (zh) | 密钥保护系统及方法 | |
CN202110552U (zh) | 一种基于多体交叉存储技术的软件保护装置 | |
CN107273725A (zh) | 一种针对涉密信息的数据备份方法及系统 | |
Hong et al. | Protecting against data breaches; living with mistakes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120404 |