请问怎么用AES和SHA1实现数据传输机密性和完整性
发布时间:2011-07-03 07:08:10 文章来源:www.iduyao.cn 采编人员:星星草
请教如何用AES和SHA1实现数据传输机密性和完整性
请教各位一个弱智问题:
一段数据M要从A发送到B,怎样在传输过程中同时保证机密性和完整性?
不用公钥/私钥,可用SHA-1和AES,假设A、B都有一个预装的相同的密钥库,可用ID从中取得密钥。
我想的是:
A:
1.用ID1从密钥库中取得一个密钥1;
2.用SHA-1对(M+密钥1)做摘要,即得HMAC=HASH(M+密钥1);
3.用ID2从密钥库中取得一个密钥2;
4.用密钥2对(M+HMAC+ID1)做AES加密,即得C=AES(M+HMAC+ID1);完了A将(C+ID2)传给B。
B收到(C'+ID2')
1.取出ID2',根据ID2'从密钥库中取密钥2';
2.用密钥2'对C'解密,得(M'+HMAC'+ID1');
3.用ID1'从密钥库中取得密钥1';
4.用SHA-1对(M'+密钥1')做摘要,即得HMAC=HASH(M'+密钥1');
5.比较HMAC与解密得到的HMAC',如果相同就认为完整性未受破坏。
同时传输过程中M被加密,所以认为机密性受到保护。
对安全一知半解,自己感觉这种方法有点怪,不知道有没有漏洞,或者是不是走了弯路。
请各位大侠指点。如果有更好的办法恳请提示,多谢!!!
------解决方案--------------------
那你的(C+ID2)没加密啊。
还有如何保证密钥库的同步?
------解决方案--------------------
这样的做法不安全吧,至少扩展性不好,就如lxrxyz说的,密钥库同步问题,如果系统扩展,需要加入更多的密钥对,怎样保持同步。而且,这种对应关系最好不要放在客户端,现在的反向工程还是挺厉害的说,如果找到了你的这个密钥库,整个系统就相当于没有加密了。
------解决方案--------------------
或者你不用sha1,用hmac,带密钥的mac来计算啊
------解决方案--------------------
不需要那么多密钥,这个过程可以简化为:
利用SHA-1对明文数据M计算Hash:H=SHA-1(M)
通过ID1从密钥库中取得密钥1:Key1。
计算密文 C=AES(M||H),将C||ID1送至B。
B根据ID1从密钥库中提取密钥Key1。
对密文C解密的M||H。
重新计算H'=SHA-1(M)。
检查H'=?H,如相等则说明数据未被篡改过。
但这一设计还是有安全漏洞的,即密文数据中没有加入随机因子。可以设想,当C截获数据C||ID1时,可以冒充A给B发送数据,B无法识别该数据是从A发来的还是从其他地方发来的。这种攻击手段为重放攻击。
------解决方案--------------------
1, 机密性是保证数据在传输过程中不是明文方式传输,也就是说保证攻击者嗅探之后也不能得到明文。
完整性是保证数据在传输过程中没有经过篡改。
2,验证机密性和完整性,应该首先验证数据的完整性。一个不能保证完整性的数据显然不能保证机密性。
3,对于明文M,应该在加密后得到密文W,对密文W使用摘要算法,得到其摘要H(w),将其附加在密文W后
得到带有摘要的密文W+H(w)。在接受方接受到数据之后,对W重新进行摘要,与H(w)进行比对,得知数
据是否被篡改。
完整性检验通过之后对数据进行解密。
4,改过程需要两次密钥同步,1是摘要算法的密钥同步,2是解密算法的密钥同步。
5,原则上不使用不安全信道传送密钥。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
网络信息安全技术和网络安全技术有什么不同
请问:网络信息安全技术和网络安全技术有什么不同,如果自学网络信息安全技术/网络安全技...
-
请教一域名解析到多个共享IP
新买一个域名 17mf8.com
现有两个空间,里面分别放着一个论坛程序,一个主网站程序.两个空间都是共享I...
-
刷客动力搜索引擎seo刷流量刷百度下拉列表刷广告软件的用法(配图)
先看官方的介绍:
刷客动力网络营销系统工具是由好耶网络(...
-
CryptAcquireContext和CPAcquireContext有什么区别?
最近在搞CSP的开发,一直用CryptAcquireContext这个函数获取句柄,后来看了一些资...
-
冰天雪地裸体腾空360° 跪玻璃 求一个收费的长期的稳定快速的VPN
冰天雪地裸体腾空360° 跪玻璃 求一个收费的长期的稳定...
-
全国大学生信息安全竞赛
我是一位大二的信息安全专业的学生,想参加明年的全国大学生信息安全竞赛,不过不知道选什么课题之类的,比较...
-
网址能ping通,但是打不开网页
今天遇到这么一个问题。
网页打不开,提示说“载入页面时到服务器的连接被重置”,也不知道是怎么回事,但...
-
对Nfsen和Nfdump比较熟的来指点我下
假如我想抓网络信息,用Nfdump将nfcapd抓的信息解析出来可以存入一个文本,然后在nfsen图形界面...
-
不装杀毒软件电脑会有多大的危险?
装了个卡巴斯基,结果用个word它都查杀,杀毒能力强,但这是宁可错杀一千,不能漏网一个的手段,感觉这软...
-
笔记本装了win7通过无线路由上网,虚拟机装了fedora。fedora 无法ping通win7
笔记本装了win7通过无线路由上网,虚拟机装了fedora。fe...