墨奇科技博客 | 生物特征密码系统之错误纠正码简介——汉明码

本文介绍了生物特征密码系统如何利用纠错码技术来增强安全性,特别是汉明码在其中的作用。生物特征作为密钥管理的安全方案,解决了传统密码系统的密钥管理难题。然而,生物特征的采集不一致需要纠错技术来处理,汉明码作为单错误纠错码的一种,能够在有限的通信资源下实现有效纠错,确保密码系统的稳定性和可靠性。
摘要由CSDN通过智能技术生成

在传统密码系统中,用户使用密钥对信息进行保护,只有当用户拥有正确的密钥时,才可以解密获得正确的原始信息。因此,密码系统的安全性建立在用户密钥无法被冒充者通过任何手段在合理时间以及合理资源下获得。同时,传统密码系统的缺点也显而易见,用户必须对密钥进行安全的管理以防泄露。

而在实际中,用户对密钥的管理通常很难做到“安全”。例如,用户通常偏爱使用对自己有意义的符号作为密钥,例如拼音缩写、纪念日日期等,或者使用简单的字母和数字组合,因为这些作为密钥更便于记忆。或者,用户通常长时间不对密钥进行更换对所有场景使用相同的密钥都使得用户密钥的泄露风险大大增加。无疑,目前流行的短信验证码或者优盾等多因子验证手段可以增加冒充者攻击的难度,但同时也使得用户需要额外繁琐的步骤才能获取原始信息。

生物特征密码系统介绍

我们知道,人脸、签名、指掌纹、虹膜等生物特征是每个生物个体独有且不易随时间发生变化的。如果将生物特征作为密码系统的密钥,用户便无需对“密钥”进行记忆,也不用担心普通冒充者对“密钥”进行窃取和伪造。(我们强调普通冒充者,是因为的确存在“高级”冒充者可以窃取和伪造生物特征,由此带来的损失也常有报道。今后会专门对生物特征防伪进行专题讲述,在此不做介绍。)需关注的问题是:生物特征是唯一且不变的,但用户仍希望可以修改密钥或者对不同的场景使用不同的密钥。

不用担心,我们可以将生物特征作为管理密钥的密钥。即——将传统密钥和生物特征进行绑定,用户可以更换和使用任意的密钥,但只要有正确的生物特征,就可以拿到正确的传统密钥,进而获得待保护的原始信息。这种技术也被称作生物特征密码系统(Biocryptosystem)。

被广泛运用的纠错技术

相比于传统密钥可以准确地被输入密码系统,生物特征密钥在采集时会面临着光照、角度、磨损、采集设备不同等实际情况。这会导致本次采集到的信息和库内保存的信息并不能完全做到一致。因此,纠错技术被广泛运用其中。

纠错技术最早应用在通信领域,当发送方发送一串消息时,由于通信信道的不稳定,可能在传输过程中出现噪声,导致接收方无法收到正确的消息。为了解决这个问题,发送方通常会将待发送的消息附上一定的校验及冗余信息,这样即使在传输过程中出现了噪声,也很容易从收到的冗余信息中恢复出发送方的消息。

另外,在早期的光盘,如今的 5G 通信技术,以及每天使用的二维码中,都处处包含着纠错技术。因此我们很容易直接借鉴纠错技术对生物特征进行纠错。

有了纠错技术,我们来看如何将其用于绑定密钥,构成生物特征密码系统。假设生物特征可以被编码成一个消息 m,选定一种纠错码 C = (Enc, Dec),再给定待绑定的密钥 k,我们可以生成一份文件 v = Enc(k) + m。

这时,由于加法的混淆,冒充者既无法从文件 v 中得知密钥 k,也无法从中还原出生物特征 m。而对于用户来说,当下一次采集的生物特征被编码成另一个消息 m’ 时,我们计算 k’= Dec(v - m’),因为 m’ 和 m 非常相似,即仅有很少的错误发生,那么 k’ = Dec(m - m’ + Enc(k)) = k,也就是说用户得到了之前绑定的密钥。进而可以拿该密钥解锁密码系统的信息。可以看到,纠错码在生物密钥系统中扮演着重要的角色。在接下来的文章中,我们将简单介绍一些纠错码的基础知识。

纠错码的基础知识

简单来说,分块纠错码是一个单射函数C:\Sigma^k\to \Sigma^n,其中\Sigma是有限字母表,将一块长度为 k 的消息映射到长度为 n 的码字。因为 C 是单射,不同的消息会被映射到不同的码字,显然有n\ge k。当然,为了纠错,我们还需要一个解码函数D:\Sigma^n\to \Sigma^k \cup \{*\},满足D\circ C=\mathbb{1}。即,或者将收到的消息正确解码,或者无法正确解码,输出 *。

请看上图,每一块消息会被编码到一个码字(即图中灰色圆心);当接收到含错的消息(如图中绿色)时,假设错误在一定范围内,我们倾向于认为该消息应是蓝色码字受到扰动产生,固可将其解码为蓝色圆心码字所对应消息;设想如果错误太多,收到的是红色的消息,则可能无法获得正确的解码。

因此纠错码的设计可以看成一个球堆积问题,球的半径越大,可以容忍的错误越多;空间内球的个数越多,则可被编码的消息越多。在相同的有限空间和球半径下,显然下图的排列方式可以编码更多消息,这是球在方盒内的最密堆积。

高维

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值