《密码法》终于出台,然而许多人或许不知道什么是密码,什么又是密码算法,为什么密码需要立法保护。密码安全对一个国家有多重要,这还得从二战说起。
1945年4月30日,德国纳粹元首希特勒在苏军对柏林的猛烈进攻下,于总理府地下室自杀。不久之后,苏军攻占柏林,二战欧洲战场结束。
此后,纳粹为何失败成为了史学家们津津乐道的讨论话题,其中有一个原因是其国家密码体系的被破解,即英国破解德国当时采用的密码系统英格码(Enigma),而破解德国英格码的主要参与者就有阿兰图灵,也就是被成为人工智能之父的那位英国数学家。
英格码密码机
后世的史学家总结,由于图灵对英格码的成功破解,至少把二战结束的时间提前了2年,拯救了成千上万可能在战争中失去生命的平民。
自杀时的希特勒或许还在怀疑诸多忠心的部下,到底是谁在诸多重大战役和事件中,泄露了机密,最终导致战争节节失利。
这是一段体现密码系统多么重要的历史,二战已经结束,但密码的故事还在继续。英格码被破解近80年后,而今《密码法》正式通过人大立法,许多故事不得不说。
国家安全核心技术
可能许多人不知道,国家安全三大支撑技术为核技术、航天技术以及关乎信息安全的密码技术。
前二者看得见摸得着,为实现原子弹的零突破,国家投入了巨大的人力物力资源,1964年首颗原子弹爆炸成功,70年国庆,许多影视作品都不断强调了核技术对于国家安全的重要性。
航天技术,则是关乎国家未来的技术,防止太空战争,神州系列的快速发展,载人航天的突飞猛进,都是为国家的未来安全保驾护航。
而密码技术,许多普通人是难以理解的,为何密码技术也被称之为三大国家安全核心技术之一。以德国英格码为例,或许能有所了解,如果一个国家的密码体系被破解,那么这个国家任何的信息传递都是不安全的,这个国家就完全变成“透明”的,任何信息都可能被敌国掌控。
近代密码是指从第一次世界大战、第二次世界大战到1976年这段时期密码的发展阶段。
而在1976年以后,为现代密码时代,现代密码学的发展与计算机技术、电子通信技术密切相关。其代表性的事件是RSA密码算法的提出,1977年,美国MIT的RonaldRivest、AdiShamir和LenAdleman提出了第一个较完善的公钥密码体制——RSA体制,这是一种基于大素数因子分解的困难问题上的算法。
RSA是被研究最广泛的公钥算法,从提出到现在已近四十年,期间它经历了各种攻击的考验,逐渐被人们接受,是目前应用最广泛的公钥方案之一。通常认为RSA的破译难度与大数的素因子分解难度等价。
我国在密码领域的发力主要在现代密码时期。
此密码非彼密码
大多数人所认知的密码,是银行卡密码、账户密码,由一段字符串组成。但真正意义上的密码,不止于此。
根据新公布的《密码法》解释:
密码分为核心密码、普通密码和商用密码。
核心密码、普通密码用于保护国家秘密信息,核心密码保护信息的最高密级为绝密级,普通密码保护信息的最高密级为机密级。核心密码、普通密码属于国家秘密。密码管理部门依照本法和有关法律、行政法规、国家有关规定对核心密码、普通密码实行严格统一管理。
商用密码用于保护不属于国家秘密的信息。公民、法人和其他组织可以依法使用商用密码保护网络与信息安全。
核心密码和普通密码许多信息不予公布,而商用密码则是民用。
为了保障商用密码的安全性,国家商用密码管理办公室制定了一系列密码标准,其中包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)等等。
其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。
值得一提的是,ZUC算法是中国第一个成为国际密码标准的密码算法。其标准化的成功,是中国在商用密码算法领域取得的一次重大突破,体现了中国商用密码应用的开放性和商用密码设计的高能力,其必将增大中国在国际通信安全应用领域的影响力,且今后无论是对中国在国际商用密码标准化方面的工作还是商用密码的密码设计来说都具有深远的影响。
此外,不同的算法有不同的应用场景,国密算法基于国际算法,进行了较大程度的改良,拥有较高的独立自主性。
(图来自网络)
在完整性运算方面,我们能够看到一个熟悉的算法——哈希算法。以比特币为代表的区块链应用,便是哈希算法为基础,近日国家最高层强调,把区块链作为核心技术自主创新重要突破口,加快推动区块链技术和产业创新发展。区块链是核心技术的话,那么密码算法是核心中的核心。
为了确保区块链的足够安全,此前作为国家密码管理局授权全国首家(唯一一家)第三方商用密码检测机构的深圳鼎铉,就以国密为基础,推出了具有自主代码、自主密码特色的开源联盟区块链产品“聚龙链”。
非对称加密算法,国密代表是SM2,国际代表是RSA。普遍应用于证书、网银,在互联网时代应用最多的算法。其简单的原理是:
(图来自网络)
通俗的说,假设用户甲要寄信给用户乙,他们互相知道对方的公钥。甲就用乙的公钥加密邮件寄出,乙收到后就可以用自己的私钥解密出甲的原文。由于别人不知道乙的私钥,所以即使是甲本人也无法解密那封信,这就解决了信件保密的问题。另一方面,由于每个人都知道乙的公钥,他们都可以给乙发信,那么乙怎么确信是不是甲的来信呢?那就要用到基于加密技术的数字签名了。
甲用自己的私钥将签名内容加密,附加在邮件后,再用乙的公钥将整个邮件加密(注意这里的次序,如果先加密再签名的话,别人可以将签名去掉后签上自己的签名,从而篡改了签名)。这样这份密文被乙收到以后,乙用自己的私钥将邮件解密,得到甲的原文和数字签名,然后用甲的公钥解密签名,这样一来就可以确保两方面的安全了。
而说到对称算法,智能卡应用是代表,这又不得不提国产芯和金融国密应用。
国密推行,再难也要上
2001年冬季,来自清华大学芯片领域的专家学者聚在一起,以团体形式,作为中国国产芯片的重要力量之一,为中国第二代身份证芯片提供方案,保障当时12亿中国人的公民信息安全。
从芯片领域来看,当时在安全芯片方面,荷兰、德国等西方国家的技术在全球遥遥领先,许多国家的国民证件芯片便是西方国家企业提供。中国安全芯片当时明显落后西方国家,但12亿公民信息不可能交由西方国家提供方案保障,但自主可控的同时,如何确保国产安全芯片足够安全,能够大规模使用,也成为了难题。
重大国民项目,法律法规先行。2003年6月28日,中华人民共和国全国人民代表大会通过了《中华人民共和国居民身份证法》,为二代证的发放和使用提供了法律基础。
同年,这群清华学者所制造的中国第二代居民身份证专用芯片通过鉴定,为二代证的发现提供了技术保障。
2004年3月,二代证正式发行。硬件芯片是国产的同时,其加密算法是国密SM1。清华学者成立的企业叫同方微电子,与其一同为二代证提供芯片的还有大唐微电子、华虹、华大。
而今二代证已经走过15年,未发生任何安全信息泄露事件,这不仅仅给国产芯的发展极大信心,也给国密算法的商用注入强心剂。
金融领域是国密算法普及的另一道坎,直接关乎钱的事,央行、银行都不敢马虎。
核心技术和产品自主可控的国策之下,银行仍然有顾虑,虽然国产芯+国密在二代证应用较为成功,但是金融领域安全要求更高。没有足够安全背书的情况下,银行行长们都不敢大规模使用国产芯+国密,只是小规模的试点,减少风险。曾有从业者感叹,中国99%的银行卡芯片都是荷兰芯。
拥有芯片的银行卡
2011年3月,人民银行发布了《关于推进金融IC卡应用工作的意见》,开始全面启动我国金融IC卡迁移,要求2015年起银行业金融机构发卡银行卡均应为金融IC卡。
2014年11月3日,人民银行印发了《关于进一步做好金融IC卡应用工作的通知》,要求自2015年4月1日起,各发卡银行新发金融IC卡应符合PBOC3.0规范。相较于PBOC2.0,PBOC3.0规范的核心内容是要求支持国产密码算法。
虽然历时较长,但国产芯与国密在金融领域的应用逐渐铺开。而在当下,随着中国移动支付的快速发展,诸多支付信息和交易信息的国密保障成为了新的焦点,相关金融系统的国密改造势在必行。
2018年10月,中国人民银行发布《非银行支付机构支付业务设施技术要求》(JR/T 0122-2018),其中就有对国密的要求,近期,诸多支付机构也在积极进行国密改造。
而今,人大通过《密码法》,标志着国密推行和使用进入有法可依的阶段,这像极了二代证推行之前《身份证法》的推出,未来的国密毕竟迎来大发展。
区块链被最高层认可的情况下,作为应用基础的密码技术也将借势腾飞。
最后,推荐大家看看由本尼迪克特·康伯巴奇主演的英国电影《模仿游戏》,再现阿兰图灵破解英格码的惊心动魄,同时希望大家对密码从业者存一份敬畏之心,他们不比隐姓埋名进入戈壁沙漠研究原子弹的科研人员对国家贡献低。畅游在冰冷数字世界里,需要强大的灵魂。
图灵与苹果
值得一提的是,图灵因同性恋问题,食用浸染过氰化物溶液的苹果自杀。许多人猜测,这便是苹果logo的故事由来。
本文为作者授权发布,不代表移动支付网立场,转载请注明作者及来源,未按照规范转载者,移动支付网保留追究相应责任的权利。