APP下载

密码是“小心思”更是“国之重器”

2018-03-02应琛

新民周刊 2018年8期
关键词:虎符密码学公钥

应琛

央视热播节目《国家宝藏》在第四集里展示了陕西历史博物馆的镇馆之宝——杜虎符。虎符是古代皇帝调兵遣将用的兵符,用青铜或者黄金做成伏虎形状的令牌,劈为两半,其中一半交给将帅,另一半由皇帝保存。只有两个虎符同时合并使用,持符者才获得调兵遣将权。

上海交通大学电信学院计算机科学与工程系教授、密码学专家刘胜利博士在节目中,为观众解释了虎符与密码的关系。她表示,虎符是中国古代对密码学认证的一种朴素的追求,“我拥有了虎符,我就可以认证我的身份。虎符的精神贯穿于我们的生活,没有另一半,谁也解不开。2010年在中国举办了第一次RSA信息安全大会,当时就是以中国的这种虎符作为会议标志的!”

节目播出后,不少观众对“密码学”产生了浓厚的兴趣。

小时候写日记,如果不想让家长发现心里的小秘密,你会用一些特殊的符号代表特殊的意思,这实际上就是密码学的一种雏形。而如果两个人想通信,不想让第三个人知道,就需要密码学了。

虎符中所体现的信息安全智慧,在两千年后的今天依然发挥着巨大的影响力。

密码关系国家政治安全、经济安全、国防安全和网络安全,关系社会组织和公民个人的合法权益。商用密码工作是密码工作的重要组成部分,在维护国家安全、促进经济发展、保护人民群众利益中发挥着不可替代的重要作用。

国家密码管理局商用密码管理办公室副主任霍炜在ISC2017密码技术应用论坛上曾表示:互联网是双刃剑,用得好是阿里巴巴的宝库,用得不好就是潘多拉的魔盒。而密码技术是网络安全的核心支撑,是互联网的基础设施,是安全互联互通的前提,密码技术将不断与互联网安全深度融合,随着互联网发展的新趋势不断创新、不断变革。

现代生活中“无处不虎符”

近日,记者在上海交通大学闵行校區见到了刘胜利教授。据她介绍,从学术上说,密码学是研究密码编码和密码破译的科学技术——密码编码是研究如何实现加密或者认证的功能;密码破译则是通过破译密码以获取情报或者授权。

“通俗点讲,一种是保护信息,另一种就是破译信息,两者总是相辅相成的。”刘胜利进一步解释道,“密码的功能首先是信息保密,即对所存储和传递的信息进行编码,达到保密的功能;其次是安全认证,是对信息的来源、信息的完整性进行保护,避免假冒和篡改。”

事实上,密码由来已久,在不同的时代里有着不同的诠释,大体经历了古典密码、机械密码、现代密码三个发展阶段。

“我国古代也早有以藏头诗、藏尾诗及绘画等形式,将要表达的真正意思或‘密语隐藏在诗文或画卷中特定位置的记载,一般人只注意诗或画的表面意境,而不会去注意或很难发现隐藏其中的‘话外之音。类似的还有采用明矾水写信。”刘胜利说,这些都可以称为“隐写术”,“此外,除了虎符,我国古代还有鲁班盒这样的保密装置。”

但最早的密码主要是在战争中使用,战争促进了密码的快速发展。例如,古罗马时期,恺撒大帝所使用的恺撒密码就是一种典型的古典密码,主要使用字母循环移位的方法来进行军事情报的传递。

二战期间,古典密码已演化成了机械密码。德国军队使用了Enigma密码机(机械密码),将明文输入,输出的就是乱码。于是,盟军在布莱切利园设计专门用来破译Engima的“炸弹”机,加快了盟军二战胜利的步伐。这期间,破译Enigma密码机最著名的人物就是计算机之父图灵。

“二战后,计算机的出现促使密码进入了现代密码时代。”刘胜利表示,为了保护个人、企业、政府、国家的信息的安全,许多公司开始提出各种加密的算法,而更多的是用于商用领域。

直到20世纪中叶,香农发表了《保密系统的通信理论》一文,标志着密码技术的研究开始以数学理论为支撑。

围绕着保密和认证,如今密码技术主要包括了密码算法、密钥管理和密码协议。

“密码算法是密码的核心,是用于加密和解密、认证和验证的数学函数,也是密码协议的基础。”刘胜利告诉记者,常见的密码算法有对称密码算法、公钥密码算法(非对称密码算法)、密码散列(hash)算法,用于保证信息的保密,提供消息认证、消息完整性、防抵赖等服务,“有很多系统崩溃,不是因为算法不好,而是因为没有妥善地管理密钥,因此密钥管理也很重要。”

“通俗点讲,对称密码算法就是通信双方共享一把钥匙。加密和解密都用同一把密钥。”刘胜利进一步解释道,“而公钥密码算法中加密的密钥和解密的密钥不再是同一个。每个人都有一对钥匙,公钥就是公开的,私钥自己保存。公钥密码算法分为公钥加密算法和数字签名算法。公钥加密算法可以实现保密功能。如果我要给你发消息,就拿你的公钥来加密我的消息得到密文,只有你的私钥可以解开这个密文恢复消息,这就是公钥加密算法如何秘密地传递消息的。此外,使用数字签名算法,你可以用自己的私钥去签署电子文件,人人都可以去验证,这份文件是你签署的,保证了这个文件来源于你,没有被篡改。”

Hash算法也是非常常见的密码算法之一,它的主要功能是对数据进行压缩。Hash算法经常和数字签名结合使用。如果消息很长,直接对消息进行签名速度会非常慢。因此,一般的做法是先使用Hash算法对消息进行压缩得到较短的Hash值,然后使用数字签名算法对Hash值进行签名。对Hash算法的安全性要求是,避免不同的输入得到相同的Hash值。这就是密码中常说的“防碰撞”。常见哈希算法包含MD5、SHA-1和SHA 224/256/512等。乍一听,密码学貌似和大部分人的日常生活十分遥远,但我们在生活中,处处可以看到密码学的身影,可能只是你没有注意到而已。从网络层到应用层,无论在哪层加密或者认证,其背后都是由各种密码算法和协议所支撑。

最直观的可能是电脑登陆或者电子文档加密。又比如,在网上银行转账时用的银行的U 盾。

“但即便你不用任何加密产品,只要使用https的网站其实都已经使用了加密协议TLS/SSL。你也被动地享受了加密算法带来的隐私保护及通信安全。”刘胜利说,“支付宝扫码支付时,后台其实都是依靠密码算法在处理。商家在支付宝注册过,有自己的签名密钥和验证密鑰。生成订单的时候需要签名,来证明商家A的身份,支付宝验证通过之后就会把钱打给商家A。这里主要实现的是认证的功能。”

不过,对于现在热门的刷脸登录、指纹解锁、虹膜识别等,刘胜利坦言,这些确实都实现了认证功能,但很少运用到密码算法,“是模式匹配实现认证的过程。一般做认证用两种东西:只有你有的东西(如生物特征)和只有你知道的东西(如口令)。仔细想想,这些生物特征技术并不是很可靠的,安全与否就看这些生物特征是否能被轻易伪造了。密码算法与生物特征及口令的结合是更安全的,现在两者融合的认证方式也在研究。但便捷性和安全性永远是矛盾的。”

目前,国家将密码分为核心密码、普通密码、商用密码,实行分类管理。核心密码、普通密码可以用于保护国家秘密信息。

“商用密码用于保护不属于国家秘密的信息。目前市场上所采用的密码都属于商用密码范畴,我们平时讨论的主要是商用密码。”刘胜利说。

中国密码学时代悄然到来

在密码领域,美国一直走在国际前列,制定了一系列的标准。为了使不同单位之间进行正常保密通信,需要有一个统一的密码标准。1977年,美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)制定了数据加密的标准:DES算法。

“这是世界上第一个数据加密标准,影响力特别大。全世界很多地方都在用。它是一个对称加密算法。”刘胜利说,“随着计算机性能不断提高,暴力破解DES变得越来越容易,所以2005年后就不再建议使用。近十几年,它已经逐渐地被3DES和AES算法代替。”

2000年左右,欧盟发起了“欧洲密码大计划”,日本的情况也差不多。中国的密码研究则是改革开放以后才开始的。

据刘胜利回忆,上世纪80年代,中国只有两所高校可以授予“密码学”博士学位,“当时还叫军事指挥学,其中包括密码研究。一所是军事院校,另一所则是西安电子科技大学。因为密码和数学有很大的关系,后来山东大学、上海交通大学、清华大学、中科院等单位在密码学方面也处于领先地位。”

2000年之后,中国密码学开始高速发展。

2004年,中国科学院院士、毕业于山东大学的清华大学教授王小云破译了国际上广泛使用的Hash算法:MD5密码算法。要知道,暴力破解MD5算法的运算量达到2的80次方,即使采用现在最快的巨型计算机,也要运算100万年以上才能破解。而仅仅过了半年时间,她又发表了论文证明SHA-1在理论上也可以被破解。

两种核心算法相继被突破,美国《新科学家》杂志用上了耸人听闻的标题:《崩溃!密码学的危机》;《华盛顿时报》更是评价说,“新解码技术将可能有效地‘攻陷SHA-1所构筑的保安系统,进入美国政府重要的部门,例如五角大楼和情报机关。”

“Hash算法中的碰撞是一定有的,但我们要设计的是难以找到碰撞的算法。Hash算法越难找到碰撞,算法就越安全。随着MD5和SHA1标准的终结,美国在2015年开始使用安全强度更高的SHA3算法。”刘胜利说。

密码算法是保障信息安全的核心技术,对于国家机密及各行业核心数据的保护起到至关重要的作用,如果一直使用3DES、SHA-1、RSA等国际通用的密码算法体系及相关标准,对于一个国家来说存在较大的安全隐患。

因此,中国在国家安全和长远战略的高度开始布局,提出了推动国密算法应用实施、加强行业安全可控的要求。自2010年以来,国家密码管理局陆续公布了我国自主研发的“SM”系列算法。

目前国内的数据库加密产品在面对用户的选型评估时,相当一部分是以支持国密算法为首要条件,这对于政府、军工、保密等相关行业用户来说非常重要,国家信息安全的保障必须摆脱对国外技术和产品的过度依赖,加密算法作为关键安全技术更应国产化。

以SM2算法为例,它是公钥密码算法,包括了公钥加密和数字签名。其应用非常广泛:网上银行数字证书(U盾)、电子政务上海法人一证通、电子保单、电子病历、电话加密、电力调度、电子证照、电子护照等。

“现在,所有的数字证书都要求用国产密码算法,逐步替代国外的算法,上海的数字证书中的算法已经全部完成替换。”刘胜利透露道。

2017年11月3日,我国SM2与SM9数字签名算法成为ISO/IEC国际标准,标志着我国向国际标准化组织(ISO)和国际电工委员会(IEC)贡献中国智慧和中国标准取得重要突破,将进一步促进我国在密码技术和网络空间安全领域的国际合作和交流。endprint

目前,国产商用密码算法标准体系基本完善。商用密码已广泛应用到金融、通信、公安、税务、社保、交通、卫生、能源、电子政务领域等方方面面。

在中国,密码学的时代已经悄然到来,可谓天时地利人和。首先是政府和企业对数据安全非常重视,推出了数据安全相关的法律法规,各大企业也都在积极地推动标准的制定,这是人和;第二是大数据推动,云计算、数据共享、区块链、物联网、人工智能等对密码技术都有需求,这是天时;第三是技术发展的趋势,加密技术已经应用在很多产品中,同态加密、多方安全运算已经有很大的突破,出现在商务应用中,这是地利。

在密码立法方面,《密码法》初稿2017年5月面向社会公开征求意见,国家有关部门正在积极推进立法进程。国家密码管理局正在制定配套法规,完善商用密码管理法规体系,确保商用密码管理有法可依、有章可循。《密码法》对密码的生产应用都提出了明确的要求,特别要求在关键信息基础设施里面必须同步规划、同步建设、同步运行密码技术,确保网络信息的安全。促进密码广泛应用,关键是要用上密码,用全密码,用好密码,确保网络信息的安全,这是国家确定的一项战略任务。

“密码是国之重器,是国家的重要战略资源,是保护网络安全的核心技术和基础支撑。” 近年来,为深入贯彻习近平总书记总体国家安全观和网络强国战略思想,进一步推动密码知识在重要领域、重点人群乃至全社会的普及,国家还积极举办网络安全宣传周。

密码的明天

近年来,密码学和密码技术的发展与互联网应用的发展可谓紧密相连。信息安全国家重点实验室主任林东岱曾在公开场合列举了一些近年来密码学的重要发展方向,例如:物联网设备的耗能低,计算能力差,密码学者们就为其研发出了轻量级密码算法;数据放在云上,既要计算,还要放心,于是同态加密技术就备受关注;而现实中出现的软件、硬件,甚至一切都是不安全的多元化攻擊环境,又催生出了盒密码、灰盒密码、代码混淆、抗泄露密码等一系列的新型密码理论。

当下,移动互联网、云计算、大数据导致了数据的所有权和使用权相分离,传统的数据保护密码算法难以满足数据协同管控的多元化需求。新型融合环境下的非可信和高开放性等特点,以及量子计算的发展,使得数据保护面临的攻击手段呈现多样化趋势,为密码方案的设计带来了新的挑战。

大数据的安全方面也还有很多挑战,比如数据安全和隐私保护有三个维度:传输中的数据安全、存储中的数据安全和使用中的数据安全。人们现在对保护传输中和存储中的数据都已经做得很好,但是却没有很好地保护使用中的数据。

除了新的应用环境对密码学的理论体系提出了挑战之外,对现有环境进行改造也是一大难题。特别是对已经在使用中的关键信息基础设施或关键应用系统,想要更换或升级现有的密码算法,会非常地困难。

在刘胜利看来,攻击方式与计算能力的进步一直是密码发展的动力。密码设计和密码破译就像矛和盾,此消彼长。“当前以量子计算为代表的新型计算技术出现,密码将经历一次新的革命性发展。”endprint

猜你喜欢

虎符密码学公钥
虎符:古代军事权力的象征
图灵奖获得者、美国国家工程院院士马丁·爱德华·海尔曼:我们正处于密钥学革命前夕
虎符的下落
一种基于混沌的公钥加密方案
古代持虎符者真能号令全军吗
密码学课程教学中的“破”与“立”
HES:一种更小公钥的同态加密算法
SM2椭圆曲线公钥密码算法综述
矩阵在密码学中的应用
基于格的公钥加密与证书基加密