让我先问你一个问题...
你认为你家门锁的安全性能得多少分?
有时候根本不用撬,一推小卡就开了。
看一下特写镜头
但是,插入匹配键后,键上不同高度的“谷”会将弹珠推到合适的位置。
这时,大理石之间的间隙和门锁内外圆筒之间的间隙对齐。转身开门。
来,让我们仔细看看这个“牙型”。
研究人员将牙齿图案的每一项数据量化为特定值。什么α,B,θ,R...太大了,看不见。。
作为6号线最懂科学的帅哥,吉格把它翻译成了人类语言。
好好想想。钥匙的齿形由六个凸峰和六个凹谷组成。
如果你能算出下面的数据,你能画一个牙型并复制一把钥匙吗?
6座“山峰”的高度。
6个“峰”之间的距离。
6 "山谷"的深度。
六个“山谷”之间的距离。
画这张图花了我半天多的时间,你可以静下心来仔细琢磨一下。
不难理解吧?
好了,我们找到了复制密钥的核心方法,接下来就一个个攻克吧。
山谷和山谷之间的距离
这是最简单的。
因为正常的门锁,谷与谷的距离是均匀的,对应6颗弹珠。
因此,它相当于一个已知的量,所以没有必要特意去获取。
峰间距离
这个项目必须通过录音获得。
我来说说录音采集的原理。
当你将钥匙插入锁中时,弹珠穿过每个峰时会发出“咔嗒”一声。
先把条件简化一下,只看锁里的一颗弹珠。
在整个按键插入过程中,会进行6次点击。
为了记录这样的声波:
这六次点击的准确时间可以通过声波去噪得到。
从音程可以计算出六个波峰之间的距离。
理论上是这样,但是...
实际情况比较复杂,因为实际锁里有6颗弹珠。
键顶的峰顶先后打了六颗弹珠,第二个峰顶打了五颗弹珠,第三个峰顶打了四颗,第六个峰顶只打了一颗。
因此,总共会有6+5+4+3+2+1=21次点击。
这听起来很复杂,但SpiKey的团队也找到了一种方法。
由于每个峰的高度不同,与弹珠碰撞的声音也会略有不同。
他们仔细分析了声波的波形,通过检查权重,可以剔除掉不必要的声波,最终浓缩了6次点击。
有点牛逼,但接下来的事情更牛逼。
谷深,峰高
这两个数据不能直接得到,但只要思想不衰退,方法总是比难度更难。
研究小组发现,谷的深度和峰的高度与峰和谷的位置有关。
可以通过一系列复杂的计算公式直接计算出来。
好吧,就算我详细解释这些天书计算方法,大家也很难理解。
机哥只能根据自己的理解来谈一般原理:
你看,裂缝已经发展到这一步了。我们知道山峰和山谷之间的距离,但只知道它们的高度和深度。
让我们先画出波峰和波谷的水平位置。
红色代表峰的水平位置
绿线代表山谷的水平位置
由于大理石的形状是固定的,每个山谷的开角也是固定的。
奇妙的事情发生了,只要确定了第一个峰的高度,剩下的谷深和峰高都可以推断出来。
假设第一个峰在这里,用固定的开角画一条线,第一个谷的深度会出来吗?
整个过程是一个链式推导:
第一峰的高度+第一谷的位置;第一个山谷的深度。
第一个谷的深度+第二个峰的位置;第二个高峰的高度。
第二峰的高度+第二谷的位置;第二山谷的深度。
第二个谷的深度+第三个峰的位置和第三个峰的高度。
……
第5峰的高度+第5谷的位置;第五山谷的深度。
第五谷深度+第六峰位置;第六高峰的高度。
所以,在整个过程中,只有一个变量:
第一个峰的高度
对于最后一个变量,研究团队真的很茫然。
但没关系。
通过这整个计算过程,他们已经能够最小化相应键的范围。
具体来说,33万种按键的可能性降低为3种。
然后,只要你把这三把钥匙都配好,就能牢牢地把门打开。
当然,虽然斯派克够强硬,但人们不必太紧张。
这种破解方案有很大的局限性。
比如门锁一定是6脚锁,一定是最传统的一字锁,本来就不安全。
现在家家户户已经用上了更复杂的多排键、滑轴键甚至四维键。。
但斯派克的研究并非完全没有意义。
这至少是个提醒。
吉哥记得去年,的团队发表了一个研究成果,通过记录键盘上打字的声音,你就能认出你打的是什么。
准确率可达41%。
虽然不是特别高,但足以识别你进入的Pxxxxxx.com。
更进一步,通过按键音识别你所拨打的电话号码,以此类推。
所以,小心偷窥,也要注意是否被窃听。
有时候,一些你不关心的声音也会泄露重要信息,造成重大的经济损失。