现有的身份证设计确实有缺陷

【本文来自《人大代表张振连建议:给居民身份证设密码,消除被盗用的风险》评论区,标题为小编添加】

安全性和便利性是两个极端,增加密码必然会导致使用场景变复杂和降低效率,身份证作为一种标识个人信息的介质,需要在安全性和便利性找到合理的平衡。

现有的身份证设计确实有缺陷,没有考虑到证件的唯一有效性,导致身份证被盗、遗失后被非法利用。其实不用设置密码,一个很简单的办法就可以加强身份证的安全性,同时还不降低使用便利性。

在网络安全领域,有一个防重放攻击的概念,要理解防重放,就要先理解什么是重放攻击,数据包在网络中传输的过程中,很容易被中间人截取,举个例子:A 通过网银支付一笔钱给B,那么在A 的手机和银行服务器之间会交互相应的数据,如果黑客侦听到A的支付数据,就可以复制这部分数据重复多次发给银行服务器,银行服务器会认为A 提交了多次支付请求,本来应该支付一笔变成支付了多笔,这样A 的资金就有被盗刷的风险。这种中间人恶意复制正常数据,多次发送的行为就是中间人攻击,当然了,实际在实施网络攻击的手段远比上述复杂,这里只是让大家理解这个概念。

从中间人攻击的特点可以看出,多次发送的非法数据是一样的,只对数据进行了简单的复制。在身份证的使用中也存在类似的问题,那就是即便户主补办了新的身份证,丢失、被盗的旧身份证依然继续有效,可能连公安系统都分辨不出来,这就给了非法冒用身份证的生存空间,这其实也可以看成是一种重放攻击行为。为了防止中间人攻击,数据在网络中传输时为每一个报文打上一个唯一的系列号,系列号是为了确保报文的唯一性,例如上一个报文的系列号为 1,下一个报文的系列号可以是 2 ,但不能再是 1,如果如果接收端继续收到系列号为 1的报文,不会处理直接丢弃,这样就避免了中间人攻击的发生。

身份证无法确保唯一性的原因是新办卡和旧卡数据是一样的,要解决这个问题可以借鉴TCP/IP协议栈设计,只需要在身份证的芯片数据中增加一个系列号字段,这个字段的值在每申请一次身份证时增加 1,身份证芯片中和公安系统服务器都记录每个人身份证的最新系列号,公安系统只认最新系列号的卡为有效卡,非最新系列号的卡为无效卡,甚至可以在非最新系列号卡刷卡时产生告警没收卡,甚至可以设置格式化卡过烧毁卡芯片,从而达到报废旧卡的目的。这可以很好解决证件重放问题,可以确保身份证的唯一有效性。

全部专栏