本文导读
电子门锁是最近很流行的智能设备,它在方便我们生活的同时又带来极大的信息安全隐患,信息一旦被恶意窃取,便会威胁整个家庭的安全。因此如何设计一个安全可靠的智能门锁成为了一个极为重要的问题。本文以智能门锁的应用为例,讲解如何使用切实可行的方法使其具有更高的安全性和可靠性。
一、应用背景
与传统的机械门锁相比,智能门锁解决了用户忘记带钥匙或者不想带钥匙的烦恼,还可以连接网络实现远程开锁和开锁记录查询等功能。用户在享受智能门锁带来的便捷体验的同时,又不免会对智能门锁的安全性提出质疑。毕竟在信息化的时代,电子设备的安全性和保密性往往得不到很好的保证。
二、智能门锁数据泄露风险分析
使用传统机械门锁的时候,只要保证钥匙的安全,就不存在信息泄露风险。而在使用电子锁的时候,用户经常使用的方式就是手机远程解锁、蓝牙解锁等更为便捷的解锁方式。在这种解锁方式的解锁过程中,会伴随着数据产生、传输、使用等环节,任何一个环节都有可能被人恶意窃取数据信息。
使用传统门锁的时候,钥匙丢了用户会第一时间知道并采取措施,而在使用电子锁的时候,就算数据已经被人恶意窃取,用户也可能全然不知。这样就给家庭安全和防盗带来极大隐患。
三、智能门锁的安全设计思路
智能门锁的安全设计思路包括软件设计思路和硬件设计思路,下文将逐一介绍。
3.1 软件数据处理
数据的处理主要分为数据的校验和数据的加密。校验是为了防止门锁关键数据例如密码被人恶意篡改,导致远程无法解锁。加密是为了防止关键数据被人恶意窃取。
经过数据加密处理之后,数据一旦被篡改,控制单元会第一时间得知。数据即使被窃取,也没办法还原真实数据。从而保证远程解锁的时候,所有的环节都是安全的。
3.1.1 数据检验
数据检验可以采用DES加MAC算法的方式。如图1所示。
图1 数据检验信息生成机制
每一个块都是64bit的数据,将数据拆分成多个块进行处理,DES算法就是用一个64bit的Key对一个块的数据进行处理,得到加密块。
MAC算法是在DES的基础上先对报文第一个数据块加密,得到加密块1,接着再拿加密块1与报文第二个数据块进行按位异或,得到加密块2,再用Key对加密块2加密,得到加密块3,同样的处理依次类推。直到最后会得到一个64bit的数据。
将这个数据放到报文的最后发到门锁控制单元,这样报文的长度只增加了64bit,但是数据的正确性得到了很好的保证。
而这个用来参与MAC计算的Key就常被称为MacKey,也可以叫工作密钥。
3.1.2数据加密
前面提到的MAC算法对传送的报文进行了处理,保证了在传输过程中数据不会在未知的情况下被篡改,但是我们传输的报文都是明文的形式,很容易被截获和解析。因此需要对传输的数据进行加密。如果把整个报文都用DES加密是非常耗时间的,可以只对关键信息例如门锁密钥信息加密,得到一个密文数据块。我们就把这个专门来加密关键信息的Key称为PinKey。
通过PinKey和MacKey对报文进行了两重处理,基本上报文就是安全的了。如果想对加密后的密文解密,必须要知道Key才行,所以说Key一定要保密。前面提到加密都是用明文Key来计算的,所以这个Key就很容易被窃取。因此还要对PinKey和MacKey本身进行加密,可以再用一个Key对PinKey和MacKey进行一次DES加密。用来对PinKey和MacKey进行加密的Key就被称为MasterKey,即主密钥,用来加密其他密钥的密钥。
数据经过上述的处理之后,过程如图2所示。
图2 数据处理过程过程
3.2硬件数据处理
经过上述处理之后,还存在一个问题,MasterKey是明文。如果再找个Key来加密MasterKey,那最终无论处理多少道,最后的那个Key肯定是明文,这样看来,安全的问题还没有解决。
如果把MasterKey放到硬件里面,基本上就可以排除被恶意窃取的可能性了。因为硬件被破解的可能性极小。
另外,对于密码输入形式的解锁,其中有个环节需要考虑下,输入密码的时候,按照一般的处理机制,键盘每按一下,我就把那个数字在程序里面先存起来,等到4位或6位密码按完后,再把它们合在一起,再送给PinKey加密。那万一黑客程序直接窃取了按键信息,那直接就把输入密码得到了,前面过程中对密码进行的加密处理就变得毫无意义。
如果把获取按键的程序固化进入加密硬件,按键的数字根本不通过上层的软件,直接一步进入硬件里面处理,等到按键按完了后,硬件直接把经过一道处理的按键信息给上层软件,此时已经是密文了,就相当于把前面计算PinBlock的处理移到硬件里面去了,那黑客就没法获取我的按键了。这种处理现在就被称为硬加密。硬加密是一种防止密钥被窃取的有效手段。
通过上述软件加硬件的安全机制处理之后,我们智能门锁的信息安全更有保障了,稳稳地将大部分恶意窃取拒之门外。
-
大数据
+关注
关注
64文章
8882浏览量
137397 -
智能硬件
+关注
关注
205文章
2345浏览量
107523 -
智能门锁
+关注
关注
17文章
1856浏览量
43136
原文标题:安全加密(七):如何设计更安全的智能门锁
文章出处:【微信号:Zlgmcu7890,微信公众号:周立功单片机】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论