社区导航

 
查看: 595|回复: 23

[讨论] 一次一密密码简介

[复制链接]

35

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-11-7 13:49:25 | 显示全部楼层 |阅读模式
一次一密密码(one-time pad)最早是Major Joseph Mauborgne和AT&T公司的Gilbert Vernam在1917年发明的。原理简单,使用便捷,其安全原理是基于信息传递,双方的密钥是随机变化的,每次通讯双方传递的明文都使用同一条临时随机密钥和对称算法进行加密后方可在线路上传递。因为密钥一次一变,且无法猜测,这就保证了线路传递数据的绝对安全。即使拥有再大的破解计算能力,在没有密钥的前提下对线路截取的密文也是无能为力的。
这套方案在当时的背景下,还是比较完美的解决了线路数据传递的安全问题。但也同样存在着不可忽略的问题,即通讯双方密钥同步问题。这点很好理解,早先的一次一密密码的实现,需要通讯双方保存一个相同的密码集,每个密码集中拥有N条随机密钥,每次通讯顺序使用其中的密钥。但双方的密码集中相同序号的密钥必须是完全一样的,否则密文无法被正确还原。所以一旦其中一个密码集泄露,那这套加密系统自然就被破解了。这就导致密码集的维护成本极高,且存在安全风险。
时至今日,基于对称加密算法实现的安全方案,不论加密算法自身的安全强度多高,但最核心安全的依然是密钥安全存储与使用,一次一密密码技术在现今使用的非常广泛。不论是银联加密系统,还是远程视频加密等应用都会涉及到。这其中的关键技术就是密钥的下发与安全存储和销毁。下发过程是多种多样的,但多数使用了密文方式进行密钥更新。
下面简述一种应用方法。A、B双方在已建立互信机制的前提下,分别应用LKT硬件加密芯片存储一条线路保护密钥KEY_pro。每次通讯之前,A利用加密芯片产生N字节随机数作为数据加密密钥KEY_en并存储于RAM之中,在加密芯片内部经KEY_pro加密后生成密文C1,A将C1发送给B后,经加密芯片内部的KEY_pro解密还原出KEY_en并存储于加密芯片RAM中。每次A、B双方正式通讯前,都经过上述操作完成密钥同步,然后利用KEY_en对通讯数据加密传递,这就实现了一次一密码的安全方案,同时解决了密钥存储维护的难题。之所以这样说,是因为加密芯片自身具有高安全等级,可有效防止暴力破解等数据破解方式,保证内部数据存储与运行安全。线路传递数据的加解密都在芯片内部完成,保证线路安全。最主要的是加密算法可灵活选择,利用LKT加密芯片的可编程特点,能够自由切换加密密钥和加密算法,让一次一密,一次多密或者多次多密的应用都变成可能,打开了嵌入式应用开发人员的思维模式,让安全变得更贴近应用。
参考文献:
Applied Cryptography protocols,Algorithms,and Source Code in C Second Edition(美)Brucc Schncic著 吴世忠 祝世雄 张文政 等译(11-12)

此帖出自安防电子论坛


回复

使用道具 举报

29

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-11-9 11:43:58 | 显示全部楼层
文中提到“加密芯片自身具有高安全等级”何为高安全等级呢?


回复

使用道具 举报

30

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-11-9 13:40:52 来自手机 | 显示全部楼层
达到EAL5+安全等级 采用算法移植类方案


回复

使用道具 举报

7

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2018-11-9 14:38:26 | 显示全部楼层
有个疑问,最初的临时随机密钥和密码集是不是冲突?我密码集应事先建立好吧


回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-11-9 15:21:51 | 显示全部楼层
我的理解临时随机密钥就是密码集中的一个,所以不冲突啊。


回复

使用道具 举报

31

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-11-9 16:35:15 来自手机 | 显示全部楼层
算法移植如何实现一次一密呢?


回复

使用道具 举报

17

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-11-9 17:14:27 | 显示全部楼层
什么叫算法移植?没听说过


回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-11-9 17:21:32 来自手机 | 显示全部楼层
谢谢楼主的分享,文章不错,还需要仔细琢磨琢磨[/奋斗]


回复

使用道具 举报

33

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-11-9 19:25:09 | 显示全部楼层
学习了,利用专业的安全芯片存储密钥就能解决密钥被破解的问题,否则用普通的MCU存密钥很容易读出


回复

使用道具 举报

20

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-11-9 22:06:02 来自手机 | 显示全部楼层
文中说LKT系列加密芯片是一次一密密码技术的应用,我想知道,银联加密系统和远程视频加密,是怎么将一片小小的加密芯片植入的呢??


回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-11-10 20:03:33 | 显示全部楼层
文中说“LKT加密芯片的可编程特点……,让一次一密,一次多密或者多次多密的应用都变成可能”意思是:此加密芯片可以通过编程自己实现一次一密密码方案。上面说的两个方案银联加密系统和远程视频加密,设计的时候就需要加入加密芯片,硬件上有加密芯片,软件应用就可以植入加密芯片保护方案。


回复

使用道具 举报

32

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 7 天前 | 显示全部楼层
专业性好强的文章,当做技术储备,希望楼主能够详细的再具体介绍一些


回复

使用道具 举报

33

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 7 天前 | 显示全部楼层
文中提到的这条线路保护密钥KEY_pro的安全性怎样,它是否百分百安全,它有没有可能被破解?


回复

使用道具 举报

30

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 7 天前 来自手机 | 显示全部楼层
任何加密都不能保证一定不被破解,要看破解投入的时间,资金,还有看破解之后的价值,值不值得破解者投入这么多人力,物力,财力。


回复

使用道具 举报

37

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 7 天前 | 显示全部楼层
文中提到的LKT加密芯片很神奇的样子,不仅可以一次一密,一次多密还可以多次多密,是不是真的有这么强大功能的芯片呢?


回复

使用道具 举报

238

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 6 天前 | 显示全部楼层
算法移植如何实现一次一密呢?


回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 6 天前 | 显示全部楼层
早先的银行U盾用的也是一次一密


回复

使用道具 举报

29

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 6 天前 | 显示全部楼层
学习了,感谢楼主的分享!


回复

使用道具 举报

31

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 6 天前 来自手机 | 显示全部楼层
楼主文中提到的LKT硬件加密芯片自身都具有高安全等级,都能达到什么级别呢?


回复

使用道具 举报

37

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 6 天前 来自手机 | 显示全部楼层
上面不是说了嘛,EAL5+,这个安全等级相当于银行卡安全级别了。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2018-11-18 16:06 , Processed in 0.551978 second(s), 14 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表