CN104038828B - 一种基于AES加密RSAhash签名内容保护优化方法 - Google Patents

一种基于AES加密RSAhash签名内容保护优化方法 Download PDF

Info

Publication number
CN104038828B
CN104038828B CN201410226795.8A CN201410226795A CN104038828B CN 104038828 B CN104038828 B CN 104038828B CN 201410226795 A CN201410226795 A CN 201410226795A CN 104038828 B CN104038828 B CN 104038828B
Authority
CN
China
Prior art keywords
data
aes
rsa
sha1hash
value
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
Application number
CN201410226795.8A
Other languages
English (en)
Other versions
CN104038828A (zh
Inventor
罗健丰
王瑛
郭凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
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 Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201410226795.8A priority Critical patent/CN104038828B/zh
Publication of CN104038828A publication Critical patent/CN104038828A/zh
Application granted granted Critical
Publication of CN104038828B publication Critical patent/CN104038828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于AES加密RSA hash签名内容保护优化方法,其特征在于包括加密步骤和解密步骤,加密步骤为初始化;获得某个数据分段i的长度L;计算有效数据的SHA1hash值HA,并获得处理后的SHA1hash值HA';用RSA pub公匙配套的RSA私匙加密处理后的SHA1hash值HA',将摘要密文存入数据的开头;得到当前数据分段的AES秘匙K;用上一步得到的AES秘匙K加密本段数据;循环步骤(1.2)至步骤(1.6),直到所有的数据都完成加密;输出、保存密文数据。本发明分段、充分耦合并保护了数据长度以及数据内容,采用数据加密和解密的设定方法即两个key,不能使用暴力破解工具来破解数据,很难开发自动工具破解系统,增加了破解算法的难度和破解时间,可提高系统的安全性,适合推广使用。

Description

一种基于AES加密RSA hash签名内容保护优化方法
技术领域
本发明涉及一种加密签名内容保护方法,尤其涉及一种基于AES加密RSA hash签名内容保护优化方法。
背景技术
长期以来,一些数字电视领域的接收设备产品,为了防止用户未经许可(未缴纳收视费用),录制、传播有版权的节目视频,甚至破解收视设备软件的身份验证体系,绕过收费体系观看有版权的节目,会要求接收设备软件对主程序本身以及PVR功能(个人视频录制)做基于密码学的安全保护,这种安全保护一般分为以下2种:
1、完整性保护即签名;系统运行程序、播放媒体文件时,需要计算一遍数据签名,并解密原先预置的签名,比较一致才可以运行/播出;不一致则说明当前文件并不是经前端合法手段予以签名的原版文件,可能有人试图篡改、盗用程序/媒体文件,因此这样的程序/媒体文件存在安全隐患,不能够被运行/播出;
2、加密;由于软件行业反编译/逆向工程的手段普遍存在,因此只有对上述程序/媒体文件做加密处理,才能有效的防止黑客对程序/媒体文件进行逆向工程分析,轻易的获得敏感信息及部分程序源代码。
这两项要求的关注点不同,不能互相替代,例如某高级安全公司对机顶盒产品的安全认证要求为同时支持RSA_SHA1签名和AES128加密。
因此,既然两种安全措施都是必须的,不可裁剪省略的,如果按照当前业界通行的做法,一般先对数据做完整性签名,然后将数据连同签名进行AES加密,签名和加密各自用各自的秘钥实现,互相之间并无任何关联。弊端是比较容易被网上公开的破解算法尝试破解;如果破解人员使用的硬件设备足够先进,计算能力足够强,破解耗时就会比较少。同时两个秘钥如果部分被泄露,会大大影响系统的安全性。因此,不妨让这两种安全手段结合起来,这样仅知道部分密码或仅知道体系的设计方案,都不能使用现成的开源工具,或者对开源工具进行二次开发后,让电脑设备自行尝试破解密码;必须辅以有一定的数学建模专业知识的技术人员人工参与才有可能破解系统。且不同的内容秘钥不同,破解一次不能将key应用于所有的项目。这样就可以在不增加算法复杂度的前提下,大大增加被保护内容的安全级别。
发明内容
本发明克服了现有技术的不足,提供一种基于AES加密RSA hash签名内容保护优化方法,对传统的基于密码学的安全保护方法进行优化,从而增强系统的安全性。
发明的目的通过下述技术方案实现:
一种基于AES加密RSA hash签名内容保护优化方法,包括数据加密步骤和与该数据加密步骤相配套的解密步骤,所述数据加密步骤包括以下步骤:
(1.1)初始化;
(1.2)获得某个数据分段i的长度L,该长度L相关于RSA公钥X和/或AES原始秘钥Y;
(1.3)计算有效数据的SHA1hash值HA,并获得处理后的SHA1hash值HA',该处理后的SHA1hash值HA'相关于原始key信息;
(1.4)用RSA pub公匙配套的RSA私匙加密处理后的SHA1hash值HA',将摘要密文存入数据的开头;
(1.5)得到当前数据分段的AES秘匙K,该AES秘匙K相关于原始key信息和上一分段的摘要;
(1.6)用上一步得到的AES秘匙K加密本段数据;
(1.7)循环步骤(1.2)至步骤(1.6),直到所有的数据都完成加密。
(1.8)输出、保存密文数据;
所述解密步骤包括以下步骤:
(2.1)初始化;
(2.2)得到某个数据分段i的长度L,该长度L相关于原始key信息;
(2.3)得到AES秘匙K,该AES秘匙K相关于原始key信息和上一分段的摘要;
(2.4)使用步骤(2.2)得到的本数据段长度L和步骤(2.3)得到的本数据段AES秘匙K解密数据;
(2.5)计算有效数据的SHA1hash值;
(2.6)获得预存的RSA密文摘要,用RSA公匙RSA pub解密得到明文SHA1hash值,反向处理得到原始的SHA1hash值HA,该SHA1hash值HA相关于原始key信息;
(2.7)比较步骤(2.5)得到的SHA1hash值和步骤(2.6)得到的SHA1hash值,如果不相等则终止;如果相等则程序中暂存当前数据段的摘要SHA1hash,供下一数据段解密时计算秘钥用;
(2.8)解密第一个数据段即可得数据总长度,根据数据总长度判断本数据段是否是最后一个数据段,如果不是,循环步骤(2.1)至步骤(2.8);如果是,结束该解密过程。
进一步的,步骤(1.2)中的分段长度L和原始key信息的函数关系为公式F1:L[i]=a+b*X[i]+c*Y[i],其中,a、b、c为系数。
其中,步骤(2.2)中长度L的算法与步骤(1.2)中长度L的算法相同。
再进一步的,步骤(1.3)中处理后的SHA1hash值HA'的计算公式F2为:HA'[i][]=HA[i][]+d*X[]+e*Y[],其中d、e为系数。
且,步骤(2.6)中SHA1hash值HA的反向处理算法为:HA[i][]=HA'[i][]-d*X[]-e*Y[]),其中d、e为系数。
更进一步的,步骤(1.5)中计算AES秘匙K的公式F3为:K[i][]=f*X[]+g*Y[]+h*K[i-1][],其中,f、g、h为系数。
为了确保效果,步骤(2.3)中AES秘匙K的算法与步骤(1.5)中AES秘匙K的算法相同。
本发明较现有技术相比,具有以下优点及有益效果:
(1)本发明不仅步骤简单,而且便于使用,本发明分段、充分耦合并保护了数据长度以及数据内容,采用数据加密和解密的设定方法即两个key,如果只知道算法或只知道一个key是无法借用现成的通用算法暴力破解工具来破解数据,很难开发自动工具破解系统,因此大大增加了破解算法的难度和破解时间,即可提高系统的安全性。
(2)本发明系统内置的秘钥只适用于第一个数据分段,后面的数据解密秘钥和第一个数据段的内容相关,因此内容每更新或升级一次,其key就自适应改变了一次,因此可使本发明更加安全可靠。
(3)本发明的既没有增加数据大小,也没有选用更加复杂的算法,因此,对系统效率不会产生不良影响。
附图说明
图1为本发明的加密文件和文件哈希签名的流程示意图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明:
实施例
如图1所示,本发明一种基于AES加密RSA hash签名内容保护优化方法,包括数据加密的步骤以及解密步骤,所述数据加密步骤包括初始化的步骤。初始化hash[0]=全0xff或事先约定好的一组值,因为第一组数据无法得到前一组数据的hash摘要值。
获得某个数据分段的长度,所述某个数据分段设为i,该数据分段的长度设为L。所述长度L相关于RSA公匙和/或AES原始私匙,该RSA公匙以及AES原始私匙为原始key信息,其中,所述RSA公匙设为X,AES原始私匙设为Y。计算L的公式F1为:L[i]=a+b*X[i]+c*Y[i],其中a、b、c为系数,该系数a、b、c可随不同的应用场景做调整。当数据分段长度L只相关于RSA公匙时而不相关于AES原始私匙时,系数c为0而系数b不等于0;当数据分段长度L只想关于AES原始私匙而不相关于RSA公匙时,系数b为0而系数c不等于0;当数据分段长度L同时相关于RSA公匙和AES原始私匙时,系数b和c都不等于0。
以下将这两组key简计为原始key信息,例如第i个数据分段:data len[i]=F1(RSA pub[i]);假如实际应用时需要处理大约7M byte的应用程序数据,期望每个分段的大小为大致1M byte,可以定义data len[i]=1M–RSApub[i]*16byte。
计算有效数据的SHA1hash值,该有效数据的SHA1hash值设为HA,并该SHA1hash值HA进行处理后获得处理后的SHA1hash值HA',该处理后的SHA1hash值HA'相关于原始key信息。处理后的SHA1hash值HA'的计算公式F2为:HA'[i][]=HA[i][]+d*X[]+e*Y[],其中d、e为系数,同样的,该系数d、e可随不同的应用场景做调整。暂存当前获得处理后的SHA1hash值HA'即SHA1hash[i],将该暂存的SHA1hash值HA'用于计算下一个数据段。计算数据前先在实际数据末尾附加几个byte AES key base中截取的数据。
用RSA pub公匙配套的RSA私匙加密处理后的SHA1hash值HA',将摘要密文存入数据的开头。得到当前数据分段的AES秘匙K,该AES秘匙相关于原始key信息和上一分段的摘要。计算AES秘匙K的公式F3为:K[i][]=f*X[]+g*Y[]+h*K[i-1][],其中,f、g、h为系数,同样的,该系数f、g、h可随不同的应用场景做调整。该当前数据分段的AES秘匙K与AES原始秘钥Y、RSA pub、上一个数据段的哈希签名相关,一般取后两个数列对应位置的值与前一数列做四则运算得到,可简记AES key[i]=F3(AES key base[i],RSA pub[i],SHA1hash[i-1][i])。
然后用上一步得到的AES秘匙加密本段数据。循环步骤(1.2)至步骤(1.6),直到所有的数据都完成加密。最后输出、保存密文数据,即可完成数据加密步骤。
嵌入式系统中,加密过程和计算摘要过程一般是配合硬件实现来使用的,也有可能在硬实现不支持时选择软实现,但所有的key是软件处理好后调用相关模块前输入的,实际处理出来的数据所用的AES key视不同平台,可能会被硬件再加一道特定的向量处理。
所述解密步骤与数据加密步骤相互配套,也包括初始化步骤,即初始化hash[0]=全0xff或事先约定好的一组值。得到某个数据段长度,同样的,所述某个数据分段设为i,该数据分段的长度设为L。所述长度L相关于RSA公匙和/或AES原始私匙,该RSA公匙以及AES原始私匙为原始key信息,其中,所述RSA公匙设为X,AES原始私匙设为Y。所述数据段长度L的算法与数据加密步骤中长度L的算法相同,即计算L的公式F1为:L[i]=a+b*X[i]+c*Y[i],其中a、b、c为系数,该系数a、b、c可随不同的应用场景做调整。当数据分段长度L只相关于RSA公匙时而不相关于AES原始私匙时,系数c为0而系数b不等于0;当数据分段长度L只想关于AES原始私匙而不相关于RSA公匙时,系数b为0而系数c不等于0;当数据分段长度L同时相关于RSA公匙和AES原始私匙时,系数b和c都不等于0。以下将这两组key简计为原始key信息,例如第i个数据分段:data len[i]=F1(RSA pub[i]);该长度相关于原始key信息。例如data len[i]=1M-*16byte*RSA pub[i]。
得到AES秘匙K,该AES秘匙K相关于原始key信息和上一分段的摘要,该AES秘匙K的算法与数据加密步骤中AES秘匙K的算法相同。例如,AES key[i]=F3(AES key base[i],RSA pub[i],SHA1hash[i-1][i])。
使用上述步骤中得到的某个数据段长度L和上述步骤得到的本数据段AES秘匙K解密数据。计算有效数据的SHA1hash值。获得预存的RSA密文摘要,用RSA公匙RSA pub解密得到明文SHA1hash值HA,该SHA1hash值HA相关于原始key信息,且该SHA1hash值HA是通过数据加密步骤中计算公式F2的反向处理得到的。所述SHA1hash值HA的反向处理算法为:HA[i][]=HA'[i][]-d*X[]-e*Y[]),其中d、e为系数,该系数d、e可随不同的应用场景做调整。
比较上述计算有效数据到的SHA1hash值和用RSA公匙RSA pub解密得到的SHA1hash值,如果不相等则终止。如果相等则程序中暂存当前数据段的摘要SHA1hash,供下一数据段解密时计算秘钥用。
解密第一个数据段即可得数据总长度,根据数据总长度判断本数据段是否是最后一个数据段,如果不是,循环解密步骤。如果是,结束该解密过程。
传统的大部分运营商设备内置的key多年不改变,很容易将key泄露出去或被破解,成为安全隐患。个别运营商经常升级key,又会导致另一个问题,市场上存在多批不同时期出货的设备,由于内置key不同,经常因搞混key的升级版本导致各种升级问题的发生。本发明系统内置的秘钥只适用于第一个数据是段,后面的数据解密秘钥和第一个数据段的内容相关,因此内容每更新或升级一次,其key就自适应改变了一次,因此可避免传统的key设置所带来的问题,使本发明更加安全可靠。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于AES加密RSA hash签名内容保护优化方法,其特征在于,包括数据加密步骤和与该数据加密步骤相配套的解密步骤,所述数据加密步骤包括以下步骤:
(1.1)初始化;
(1.2)获得某个数据分段i的长度L,该长度L相关于RSA公钥X和/或AES原始秘钥Y;
(1.3)计算有效数据的SHA1hash值HA,并获得处理后的SHA1hash值HA',该处理后的SHA1hash值HA'相关于原始key信息;
(1.4)用RSA pub公匙配套的RSA私匙加密处理后的SHA1hash值HA',将摘要密文存入数据的开头;
(1.5)得到当前数据分段的AES秘匙K,该AES秘匙K相关于原始key信息和上一分段的摘要;
(1.6)用上一步得到的AES秘匙K加密本段数据;
(1.7)循环步骤(1.2)至步骤(1.6),直到所有的数据都完成加密;
(1.8)输出、保存密文数据;
所述解密步骤包括以下步骤:
(2.1)初始化;
(2.2)得到某个数据分段i的长度L,该长度L相关于原始key信息;
(2.3)得到AES秘匙K,该AES秘匙K相关于原始key信息和上一分段的摘要;
(2.4)使用步骤(2.2)得到的本数据段长度L和步骤(2.3)得到的本数据段AES秘匙K解密数据;
(2.5)计算有效数据的SHA1hash值;
(2.6)获得预存的RSA密文摘要,用RSA公匙RSA pub解密得到明文SHA1hash值,反向处理得到原始的SHA1hash值HA;
(2.7)比较步骤(2.5)得到的SHA1hash值和步骤(2.6)得到的SHA1hash值,如果不相等则终止;如果相等则程序中暂存当前数据段的SHA1hash值,供下一数据段解密时计算秘钥用;
(2.8)解密第一个数据段即可得数据总长度,根据数据总长度判断本数据段是否是最后一个数据段,如果不是,循环步骤(2.1)至步骤(2.8);如果是,结束该解密过程。
2.按照权利要求1所述的一种基于AES加密RSA hash签名内容保护优化方法,其特征在于:步骤(1.2)中的分段长度L和RSA公钥X、原始秘钥Y的函数关系为公式F1:L[i]=a+b*X[i]+c*Y[i],其中,a、b、c为系数。
3.按照权利要求2所述的一种基于AES加密RSA hash签名内容保护优化方法,其特征在于:步骤(2.2)中长度L的算法与步骤(1.2)中长度L的算法相同。
4.按照权利要求1所述的一种基于AES加密RSA hash签名内容保护优化方法,其特征在于:步骤(1.3)中处理后的SHA1hash值HA'的计算公式F2为:HA'[i][]=HA[i][]+d*X[]+e*Y[],其中d、e为系数。
5.按照权利要求4所述的一种基于AES加密RSA hash签名内容保护优化方法,其特征在于:步骤(2.6)中SHA1hash值HA的反向处理算法为:HA[i][]=HA'[i][]-d*X[]-e*Y[],其中d、e为系数。
6.按照权利要求1所述的一种基于AES加密RSA hash签名内容保护优化方法,其特征在于:步骤(2.3)中AES秘匙K的算法与步骤(1.5)中AES秘匙K的算法相同。
CN201410226795.8A 2014-05-26 2014-05-26 一种基于AES加密RSAhash签名内容保护优化方法 Active CN104038828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410226795.8A CN104038828B (zh) 2014-05-26 2014-05-26 一种基于AES加密RSAhash签名内容保护优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410226795.8A CN104038828B (zh) 2014-05-26 2014-05-26 一种基于AES加密RSAhash签名内容保护优化方法

Publications (2)

Publication Number Publication Date
CN104038828A CN104038828A (zh) 2014-09-10
CN104038828B true CN104038828B (zh) 2017-02-15

Family

ID=51469395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410226795.8A Active CN104038828B (zh) 2014-05-26 2014-05-26 一种基于AES加密RSAhash签名内容保护优化方法

Country Status (1)

Country Link
CN (1) CN104038828B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105427478B (zh) * 2015-11-02 2018-03-09 东方通信股份有限公司 一种atm机鉴伪仪主板程序安全处理方法
CN107231368A (zh) * 2017-06-22 2017-10-03 四川长虹电器股份有限公司 提升面向互联网开放的软件接口安全性的方法
EP3584991A1 (en) * 2018-06-18 2019-12-25 Koninklijke Philips N.V. Device for data encryption and integrity
CN111062453B (zh) * 2019-10-16 2022-03-18 浙江联云智鼎信息科技有限公司 一种超融合全栈式云数据中心系统及方法
CN114070594B (zh) * 2021-11-08 2023-12-12 四川启睿克科技有限公司 一种基于日志摘要的云端防攻击系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6125185A (en) * 1997-05-27 2000-09-26 Cybercash, Inc. System and method for encryption key generation
CN102609665A (zh) * 2012-01-19 2012-07-25 福建三元达软件有限公司 对用户程序签名及验证用户程序签名的方法及装置
CN103345609A (zh) * 2013-06-06 2013-10-09 深圳市大成天下信息技术有限公司 一种文本加解密方法和加解密设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070014416A1 (en) * 2005-07-15 2007-01-18 David Rivera System and method for protecting against dictionary attacks on password-protected TPM keys

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6125185A (en) * 1997-05-27 2000-09-26 Cybercash, Inc. System and method for encryption key generation
CN102609665A (zh) * 2012-01-19 2012-07-25 福建三元达软件有限公司 对用户程序签名及验证用户程序签名的方法及装置
CN103345609A (zh) * 2013-06-06 2013-10-09 深圳市大成天下信息技术有限公司 一种文本加解密方法和加解密设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AES、RSA混合加密算法研究;张继,袁婷婷,林和平;《2011年亚太青年通信学术会议论文集(2)》;20110807;第217-220页 *

Also Published As

Publication number Publication date
CN104038828A (zh) 2014-09-10

Similar Documents

Publication Publication Date Title
JP7064682B2 (ja) 準同型暗号に基づくプライバシー保護多機関データ分類方法
CN104038828B (zh) 一种基于AES加密RSAhash签名内容保护优化方法
KR101744748B1 (ko) 화이트박스 암호 테이블을 이용한 콘텐츠 보호 장치, 콘텐츠 암호화 및 복호화 장치
US9143317B2 (en) Protecting against white box attacks using column rotation
CN103701829B (zh) 一种离线解析dpapi加密数据的方法
CN106506159A (zh) 用于密钥安全的加密方法和设备
CN105468940B (zh) 软件保护方法及装置
CN105681039A (zh) 用于生成密钥及对应解密的方法和设备
US9654279B2 (en) Security module for secure function execution on untrusted platform
CN106055936A (zh) 可执行程序数据包加密/解密方法及装置
US8577024B2 (en) Concealing plain text in scrambled blocks
CN104657670A (zh) 一种基于数据加密的配置文件安全使用方法
CN103853943B (zh) 程序保护方法及装置
CN105357003B (zh) 一种加密数据的方法及装置
CN110401538A (zh) 数据加密方法、系统以及终端
US9367700B2 (en) System and method for establishing a shared secret for communication between different security domains
CN110213052A (zh) 数据处理方法与装置
McLaren et al. Deriving ChaCha20 key streams from targeted memory analysis
CN105184119B (zh) 一种软件的安全保护方法
CN110138556A (zh) 数据处理装置及数据处理方法
CN104866738B (zh) 一种程序代码保护方法及装置
US20100061551A1 (en) Encryption/decryption apparatus and method using aes rijndael algorithm
WO2020057389A1 (zh) 一种签名验证方法、装置、电子设备及可读存储介质
CN106912044A (zh) 一种WiFi信息处理方法及装置
CN107135074A (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
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20140910

Assignee: Sichuan Changhong Xinwang Technology Co.,Ltd.

Assignor: SICHUAN CHANGHONG ELECTRIC Co.,Ltd.

Contract record no.: X2023980043949

Denomination of invention: An Optimization Method for Content Protection of RSA Hash Signature Based on AES Encryption

Granted publication date: 20170215

License type: Common License

Record date: 20231030