xiaoyuhzou1228的个人空间 https://www.eechina.com/space-uid-139997.html [收藏] [复制] [RSS]

博客

一次一密密码简介

热度 11已有 1152 次阅读2018-11-7 13:17

一次一密密码(one-time pad最早是Major Joseph MauborgneAT&T公司的Gilbert Vernam1917年发明的。原理简单,使用便捷,其安全原理是基于信息传递,双方的密钥是随机变化的,每次通讯双方传递的明文都使用同一条临时随机密钥和对称算法进行加密后方可在线路上传递。因为密钥一次一变,且无法猜测,这就保证了线路传递数据的绝对安全。即使拥有再大的破解计算能力,在没有密钥的前提下对线路截取的密文也是无能为力的。

这套方案在当时的背景下,还是比较完美的解决了线路数据传递的安全问题。但也同样存在着不可忽略的问题,即通讯双方密钥同步问题。这点很好理解,早先的一次一密密码的实现,需要通讯双方保存一个相同的密码集,每个密码集中拥有N条随机密钥,每次通讯顺序使用其中的密钥。但双方的密码集中相同序号的密钥必须是完全一样的,否则密文无法被正确还原。所以一旦其中一个密码集泄露,那这套加密系统自然就被破解了。这就导致密码集的维护成本极高,且存在安全风险。

时至今日,基于对称加密算法实现的安全方案,不论加密算法自身的安全强度多高,但最核心安全的依然是密钥安全存储与使用,一次一密密码技术在现今使用的非常广泛。不论是银联加密系统,还是远程视频加密等应用都会涉及到。这其中的关键技术就是密钥的下发与安全存储和销毁。下发过程是多种多样的,但多数使用了密文方式进行密钥更新。

下面简述一种应用方法。AB双方在已建立互信机制的前提下,分别应用LKT硬件加密芯片存储一条线路保护密钥KEY_pro。每次通讯之前,A利用加密芯片产生N字节随机数作为数据加密密钥KEY_en并存储于RAM之中,在加密芯片内部经KEY_pro加密后生成密文C1AC1发送给B后,经加密芯片内部的KEY_pro解密还原出KEY_en并存储于加密芯片RAM中。每次AB双方正式通讯前,都经过上述操作完成密钥同步,然后利用KEY_en对通讯数据加密传递,这就实现了一次一密码的安全方案,同时解决了密钥存储维护的难题。之所以这样说,是因为加密芯片自身具有高安全等级,可有效防止暴力破解等数据破解方式,保证内部数据存储与运行安全。线路传递数据的加解密都在芯片内部完成,保证线路安全。最主要的是加密算法可灵活选择,利用LKT加密芯片的可编程特点,能够自由切换加密密钥和加密算法,让一次一密,一次多密或者多次多密的应用都变成可能,打开了嵌入式应用开发人员的思维模式,让安全变得更贴近应用。

 

参考文献:

Applied Cryptography protocolsAlgorithmsand Source Code in C Second Edition(美)Brucc Schncic著 吴世忠 祝世雄 张文政 等译(11-12


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (22 个评论)

回复 小屁孩123 2018-11-9 11:41
文中提到“加密芯片自身具有高安全等级”何为高安全等级呢?
回复 kessy1 2018-11-9 13:36
达到EAL5+安全等级 采用算法移植类方案
回复 dg336699 2018-11-9 14:34
有个疑问,最初的临时随机密钥和密码集是不是冲突?我密码集应事先建立好吧
回复 咖啡杯 2018-11-9 15:11
我的理解临时随机密钥就是密码集中的一个,所以不冲突啊。
回复 Test_wf 2018-11-9 16:37
算法移植如何实现一次一密呢?
回复 wang0327 2018-11-9 17:13
什么叫算法移植?没听说过
回复 miniminimini 2018-11-9 17:19
谢谢楼主分享,文章不错,还需要仔细琢磨琢磨
回复 QL87 2018-11-9 19:21
学习了,利用专业的安全芯片存储密钥就能解决密钥被破解的问题,否则用普通的MCU存密钥很容易读出
回复 dg336699 2018-11-9 22:02
文中说LKT系列加密芯片是一次一密密码技术的应用,我想知道,银联加密系统和远程视频加密,是怎么将一片小小的加密芯片植入的呢??
回复 ?-о 2018-11-10 20:01
文中说“LKT加密芯片的可编程特点……,让一次一密,一次多密或者多次多密的应用都变成可能”意思是:此加密芯片可以通过编程自己实现一次一密密码方案。上面说的两个方案银联加密系统和远程视频加密,设计的时候就需要加入加密芯片,硬件上有加密芯片,软件应用就可以植入加密芯片保护方案。
回复 tyl2010 2018-11-11 19:15
专业性好强的文章,当做技术储备,希望楼主能够详细的再具体介绍一些
回复 QL87 2018-11-11 19:36
文中提到的这条线路保护密钥KEY_pro的安全性怎样,它是否百分百安全,它有没有可能被破解?
回复 kessy1 2018-11-11 21:24
任何加密都不能保证一定不被破解,要看破解投入的时间,资金,还有看破解之后的价值,值不值得破解者投入这么多人力,物力,财力。
回复 Mr.Wang 2018-11-11 21:54
文中提到的LKT加密芯片很神奇的样子,不仅可以一次一密,一次多密还可以多次多密,是不是真的有这么强大功能的芯片呢?
回复 咖啡杯 2018-11-12 09:14
早先的银行U盾用的也是一次一密
回复 小屁孩123 2018-11-12 14:00
学习了,感谢楼主的分享!
回复 Test_wf 2018-11-12 15:58
楼主文中提到的LKT硬件加密芯片自身都具有高安全等级,都能达到什么级别呢?
回复 Mr.Wang 2018-11-12 16:21
上面不是说了嘛,EAL5+,安全等级相当于银行卡安全等级了。
回复 miniminimini 2018-11-12 16:45
专业性太强了,看不懂,还是请大神来白话一下吧
回复 tyl2010 2018-11-12 19:18
文中论述了密钥在传输过程中的加密保护措施,但是怎么保证线路保护密钥的安全的?
12下一页

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部