- 商用密码发展报告(2012—2017年)
- 《商用密码发展报告(2012—2017年)》编写组编著
- 7068字
- 2020-08-27 23:24:52
一、何谓商用密码
(一)密码的概念和内涵
“密码”一词在当今社会随处可见,但是人们对密码的认识往往是模糊不清的。现实生活中提到“密码”一词,人们通常以为是每天接触的计算机开机“密码”、电子邮箱登录“密码”和银行卡的支付“密码”等。生活中的这些所谓“密码”实际上是口令,英文为“password”。口令只是进入个人计算机、手机、电子邮箱或者个人银行账户的“通行证”,它是一种最简单、最初级的身份认证手段。事实上,口令≠密码,密码具有悠久的发展历史,积累了非常丰富的内容,其含义在发展过程中也不断演变。密码理论与技术的研究逐渐形成了一个专门学科——密码学。
密码是指使用特定变换对数据等信息进行加密保护或者安全认证的物项和技术。其中加密保护是指使用特定变换,将原来可读的信息变成不能识别的符号序列;安全认证是指使用特定变换,确认信息是否被篡改、是否来自可靠信息源以及确认行为是否真实等。物项是指实现加密保护或安全认证功能的设备与系统,技术是指物项实现加密保护或安全认证功能的方法或手段。密码的加密保护功能用于保证信息的机密性,密码的安全认证功能用于实现信息的真实性、数据的完整性和行为的不可否认性。
20世纪70年代之前的密码仅用于实现信息的加密保护。保护信息的机密性,是密码最原始、最基本的功能。在加密保护中,需要保护的信息称为明文,经过加密变换后的信息称为密文。随着技术的发展,密码不仅可以通过适当的变换实现加密保护,还可以实现实体身份和信息来源的安全认证等功能。
从功能上看,密码技术主要包括加密保护技术和安全认证技术;从内容上看,密码技术主要包括密码算法、密钥管理和密码协议。
密码算法是对信息进行“明”“密”变换、产生认证“标签”的一种特定的规则。不同的密码算法实现不同的变换规则:实现明文到密文变换功能的为加密算法;实现密文到明文变换功能的为解密算法;实现类似于手写签名功能的为数字签名算法;实现任意长消息压缩为固定长摘要功能的为密码杂凑算法。
在密码算法中,密钥是控制密码变换的关键参数,它相当于一把“钥匙”。只有掌握了密钥,密文才能被解密,恢复成原来的明文。同样,为了能够产生独一无二的数字签名,也需要签名人拥有相应的密钥,以确保签名不能被伪造。密钥是密码安全的根本,需要进行严格管理,制定科学合理的安全策略,对密钥的产生、分发、存储、使用、更新、归档、撤销、备份、恢复和销毁等进行全生命周期的管理。
密码协议是指两个或两个以上参与者使用密码算法,为达到加密保护或安全认证目的而约定的交互规则。密码协议是将密码算法等应用于具体使用环境的重要密码技术,具有十分丰富的内容。
1.密码算法
密码算法的设计与分析是密码技术的核心内容。密码算法设计,也称为密码编码,是根据安全性、实现性等需求指标,设计适用的密码算法;密码算法分析,也称为密码破译,是对密码算法进行各类攻击,检验算法的实际安全性。
“分析”一词在密码中等同于“攻击”或“破译”。密码算法分析与密码算法设计是相伴而成、不断斗争的两个对立面。正是由于这种攻和防的矛盾斗争,促进了密码技术的发展,产生了许多优秀的密码算法。
不同的密码算法,应满足不同的安全功能要求。对于加密算法,要求攻击者不能从密文得到关于明文或者密钥的任何信息;对于数字签名算法,要求攻击者不能伪造有效签名;对于杂凑算法,要求攻击者不能用不同的输入消息产生相同的摘要,以及不能从摘要得到原来的输入消息。
设计满足安全功能要求的密码算法,需要可靠的理论。这一理论就是密码学中的密码编码学,它建立在数学、计算机、通信、电子技术等相关学科基础上,为密码算法设计提供坚实的理论基础和可靠的技术保障。例如,常见的公钥密码算法,建立在公认的计算困难问题之上,如离散对数问题,这样的公钥密码算法具有可证明安全性,即如果所依赖的问题是困难的,那么所设计的算法就可证明是安全的。
好的密码算法要能够抵御各类攻击。密码学中研究密码算法分析等内容的分支学科——密码分析学,专门研究各类密码算法、协议等的攻击方法,为最终形成安全的密码算法提供有力的支撑手段。实用的密码算法要从理论上估算出各类攻击的复杂度,并保持足够的安全余量。
2.密钥
现代密码学认为:一切秘密寓于密钥之中,密码算法是可以公开的,密钥则必须绝对保密,这样才能确保密码的安全。密钥参与密码的“运算”,并对密码的“运算”起特定的控制作用。
最初的密码技术,就是一种将信息的文字打乱顺序和替换为其他字母、让攻击者破译不了的方法,也称为密码术。攻击者不掌握这一密码术,就难以获取原来的信息。密码的整个秘密就是密码术本身。一旦这种技术被攻击者掌握,就必须设计和更换新的密码。
随着密码技术的发展,密码的具体实现过程,即怎么进行打乱处理的过程(密码算法)逐渐公开化,但需要在其中加入控制密码处理过程的秘密信息,即密钥。不知道密钥,即使知道密码是怎么进行变换处理的,也不能从密文中得到原来的明文。这样一来,密钥成为控制密码处理过程的关键因素,密码技术中需要保密的只有密钥。为了安全,可以定期更换密钥,而无须改变密码的处理过程,也就是不用更换密码算法,这样既安全又节省成本。
实际上,密钥就是控制密码运算过程的一串不可预测的随机数或二进制数据。例如,加密过程中,将密钥和被加密的信息通过数学运算充分地“搅拌”在一起,形成难以破译的密文。合法用户如果需要打开这些密文,只需利用密钥,就像用钥匙开锁一样,经过与加密过程相反的数学运算,也即解密过程,就可从密文中恢复原来的明文。
如果算法的安全强度足够大,攻击者只能靠猜测密钥的方法进行破译,但猜对的概率几乎为零。例如,SM4分组密码算法(简称SM4算法)是公开的,也就是如何实现加密的过程、程序是公开的,但128比特的密钥需要保密。假设攻击者获取了一个密文,他如果在所有可能的密钥中猜测,需要试验2128次,即使是使用超级计算机(每秒试验10万亿个密钥),仍需要试验108亿亿年。
在密码系统中,密钥的生成、使用和管理至关重要。密钥的失控将导致密码系统失效,因此密钥必须严格保护。
3.密码协议
所谓协议,就是通信双方约定好的一些传递信息的方法和过程。这如同两个人打电话一样,摘机→互报姓名→双方讲话→挂机,这个过程就是通话协议。密码学中用“交互”一词来表示用户之间来回传递信息。
在实际中,应用密码算法实现特定安全功能是十分复杂的,不同的使用环境需用不同的密码协议。不同的安全功能,也由不同的密码协议实现。因此,密码技术中存在多种多样的密码协议,如身份认证协议、密钥协商协议、电子支付协议等。Diffie Hellman密钥协商协议就是基于离散对数的困难问题,建立共享密钥的密码协议。
密码协议的安全性对密码应用至关重要,密码协议不安全,即使密码算法再安全,密码应用仍是不安全的。密码协议的安全性,由所用密码算法和交互规则的安全性共同决定。实际上协议的漏洞往往存在于交互方式之中。因此,协议中常加入随机数、时间戳等参数,防止消息重用和中间人攻击等。
(二)密码的重要作用
密码在网络空间中对于身份鉴别、安全隔离、信息加密、完整性保护和抗抵赖性等方面具有不可替代的重要作用,可实现信息的机密性、真实性、数据的完整性和行为的不可否认性。相对于其他类型的安全手段,如人力保护、设备加固、物理隔离、防火墙、监控技术、生物技术等,密码技术是保障网络与信息安全最有效、最可靠、最经济的手段。
1.保证机密性
信息的机密性是指保证信息不被泄漏给非授权的个人、计算机等实体的性质。
信息是网络空间中最有价值的资产,信息泄漏会给国家、社会、行业、团体和个人带来巨大的危害和影响。信息的机密性是网络与信息安全的主要属性之一。
采用密码技术,可以方便地实现对信息机密性的保护。利用实现加密的一段计算机程序,对电子文件进行加密,可产生形如乱码的密文。攻击者即使截取了密文,由于加密算法具有足够的强度,他也不能从密文中获取有用信息。而拥有密钥的人利用实现解密的一段计算机程序,可从这一串乱码中恢复出原来的文件。
2.保证真实性
信息的真实性是指保证信息来源可靠、没有被伪造和篡改的性质。
信息的真实性也是网络与信息安全的主要属性之一。如何鉴别信息的合法性?如何确认真实的身份信息?如何防止冒充、伪造?这些都是网络与信息安全领域非常重要的任务,它们直接影响着社会秩序、生产生活秩序的各个方面。
密码中的安全认证技术正是为解决信息的真实性等问题而出现的。这些技术包括数字签名、消息认证码、身份鉴别协议等。这些技术的基本思想是:合法的人都有各自的“秘密信息”。用这个“秘密信息”对公开信息进行处理,得到相应的“印章”,用它来证明公开信息的真实性。而不掌握相应“秘密信息”的非法用户无法伪造“印章”。
3.保证完整性
数据的完整性是指数据没有受到非授权的篡改或破坏的性质,它是网络与信息安全的又一个重要属性。
信息时代具有空前数量的数据、信息、文件等,各行各业都存在大量的公开传输、存储的数据。如何保证这些数据在传输、存储过程中不被篡改是极具挑战性的任务,特别是维护大量资料库、文件库时,这一任务更为艰巨。
杂凑算法可方便地实现数据的完整性。杂凑算法通过数学处理过程,从文件中计算出唯一标识这个文件的特征信息,称为摘要。文件内容的细微变化都会产生不同的摘要。只要在电子文件后面附上一个这样简短的摘要,就可以鉴别文件的完整性。因为不同的文件拥有不同的摘要,一旦文件被篡改,摘要也就不同了。要想检查某个文件是否被修改了,只需使用杂凑算法计算出一个新的摘要,将这个新的摘要与原来附带的摘要进行比对,如果两个摘要一样,就说明这个文件没有被改动,反之则证明已被修改。对于大量的电子文件的保护任务而言,杂凑算法是一种非常便捷、可靠的安全手段。
4.保证不可否认性
不可否认性也称抗抵赖性,是指一个已经发生的操作行为无法被否认的性质,它同样是网络与信息安全的重要属性。
在现实生活中发生的行为会留下证据或“蛛丝马迹”,可作为抗抵赖的凭据。例如:合同签署后,如果一方否认已签署过合同,他的签字可以防止其抵赖;监控录像可以记录犯罪嫌疑人留下的影像。但在网络上已生效的电子合同、电子声明等如何防止抵赖?这是实现网络与信息安全的重要任务之一。
基于公钥密码算法的数字签名技术,可有效解决行为的不可否认性问题。用户一旦签署了数字签名,就不能抵赖、不可否认。对解决网络上的纠纷、电子商务的纠纷等问题,数字签名是必不可少的工具。
(三)商用密码
1.商用密码概念
密码技术的历史起源已然不可追溯,戴维·卡恩(David Kahn)在《破译者》一书中说:“人类使用密码的历史几乎与使用文字的时间一样长。”迄今为止,密码经历了古典密码、机械密码、现代密码3个发展阶段。在这一过程中,战争促进密码技术不断演变,理论成果的发展推动密码学成为一门科学。在信息化高度发展的今天,密码的应用已经渗透到社会生产生活的各个方面,从涉及国家安全的保密通信、军事指挥,到涉及国民经济的金融交易、防伪税控,再到涉及公民权益的电子支付、社会保障,密码都在背后默默地发挥着作用。
我国党政军系统密码使用历史悠久,实践经验丰富,但在民用领域,密码应用历史较短。1996年7月,中共中央政治局常委会议专题研究商用密码工作,并做出了在我国大力发展商用密码和加强对商用密码管理的重大决策,“商用密码”从此成为专有名词,特指用于保护不属于国家秘密信息的密码。2017年4月,国家密码管理局向社会公布了《中华人民共和国密码法(草案征求意见稿)》,明确了立法宗旨、密码的定义、密码工作的基本原则、密码工作的领导和管理体制,规定了密码分类管理、密码应用、密码安全、密码发展促进、密码监督管理的有关要求和制度措施,以及违反本法规定应当承担的法律责任。其中阐明,国家将密码分为核心密码、普通密码、商用密码,实行分类管理。商用密码是我国密码体系的重要组成部分,商用密码工作直接关系着国家政治安全、经济安全、国防安全和网络安全,直接关系到社会组织和公民个人的合法权益。相比于涉密领域的密码,商用密码的服务范围更宽广,应用场景也更复杂。随着信息化技术的日新月异,商用密码进入了机遇与挑战并存的新发展阶段。
2.商用密码发展历程
党中央、国务院历来高度重视商用密码工作。1999年10月7日,国务院颁布第273号令,《商用密码管理条例》正式出台,这是国内首次将商用密码管理规范以法律的形式进行颁布,商用密码管理走上了法治化轨道。《商用密码管理条例》,明确定义了商用密码是指对不涉及国家秘密内容的信息进行加密保护或者安全认证所使用的密码技术和密码产品。《商用密码管理条例》明确了商用密码的管理机构、管理体制以及商用密码管理工作的基本原则,对商用密码科研、生产、销售、使用、安全保密等方面的主要制度做出了规定。当前,为了贯彻国家推进依法行政的各项要求,深化商用密码领域“放管服”改革,落实商用密码工作新思路、新举措,国家密码管理局正在组织修订《商用密码管理条例》,以应对和解决商用密码发展过程中遇到的新情况、新问题。
经过二十年的发展,我国商用密码在信息安全领域的应用从无到有,从初创到规范管理乃至成为国家安全保障体系中的关键部分,取得了丰硕成果。
1994年,我国开始实施以增值税为主体税种、以专用发票为主要扣税凭证的增值税征管制度。改制初期,增值税发票只采用了类似人民币物理防伪的方法,发票上的信息内容没有加密防伪手段,出现了不法分子开具假票、大头小尾(阴阳票)等偷逃国家税款的行为,造成国家税款的流失。为了保证应纳税款的足额征收,防范违法犯罪活动,国家决定在纸质专用发票物理防伪的基础上,引入现代信息技术手段强化增值税征收管理,组织有关部门研制了增值税防伪税控系统。该系统以商用密码技术为基础,对发票明细、发票汇总信息和票面关键信息采用了一次一密的加密方法和信息传输加密、终端安全认证、卡对卡的加解密等安全措施,保证涉税信息的机密性、完整性、真实性和不可否认性。2013年以后,增加了增值税发票全票面信息的数字签名和加密传输,增值税发票上任何信息的改动都会导致增值税发票查验失败,从而有效遏制了增值税犯罪,极大减少了税款流失。
2003年6月28日,第十届全国人大常委会第三次会议通过了《中华人民共和国身份证法》。2004年3月29日起,我国正式开始为居民换发内置非接触式IC卡智能芯片的第二代居民身份证。第二代居民身份证的IC卡智能芯片内置商用密码算法,一方面可对持证人的照片图像和身份信息进行加密保存,有效防止伪造证件和篡改证件机读信息,另一方面与身份证阅读器之间进行基于商用密码的强安全认证,防止持卡人信息非法外泄。目前为止,还没有发现伪造成功的第二代居民身份证,商用密码技术在其中发挥了至关重要的作用。采用非接触式 IC 卡智能芯片的第二代居民身份证,既可以有效防止伪造身份证的违法行为,保护公民的合法权利,又使通过网络大批量查验身份证成为可能,有利于预防和打击违法犯罪活动。
我国为了维护有关各方的合法权益,规范电子签名行为,确立了基于商用密码技术实现的电子签名的法律效力,制定了《中华人民共和国电子签名法》。2005年4月,《电子签名法》正式实施;2015年4月,第十二届全国人民代表大会常务委员会第十四次会议通过了对《电子签名法》的修正。《电子签名法》称为“中国首部真正意义上的信息化法律”,自此,基于商用密码技术实现的电子签名与传统手写签名和盖章具有同等法律效力。《电子签名法》是我国推进电子商务发展、扫除电子商务发展障碍的重要步骤,极大促进了电子商务在我国的快速发展,带动商用密码技术向社会各领域积极推进。
可信计算已是世界网络安全的主流技术,可信计算组织于2003年由AMD、Intel、微软等公司发起成立,现已有190多个成员单位。在我国,可信计算源于1992年正式立项研究的“主动免疫的综合防护系统”项目,经过长期攻关、军民融合,形成了自主创新的可信体系,不少成果已被国际可信计算组织采纳。相对于国外可信计算被动调用的外挂式体系结构,我国可信计算革命性地开创了商用密码为基础、控制芯片为支柱、双融主板为平台、可信软件为核心、可信连接为纽带、策略管控成体系、安全可信保应用的全新的可信计算体系结构框架,利用双系统体系架构变被动模式为主动模式,使主动免疫防御成为可能。我国的可信计算平台全部采用自主设计的系列商用密码算法,定义了可信计算密码模块;采用对称与公钥密码相结合的密码体制,提高了安全性和效率;采用双证书结构,简化了证书管理,提高了可用性和可管理性。我国可信计算的理论基础为基于密码的计算复杂性理论以及可信验证。它针对已知流程的应用系统,根据系统的安全需求,通过“量体裁衣”的方式,针对应用和流程制定策略来适应实际安全需要,不需修改应用程序,特别适合为重要生产信息系统提供安全保障。可信计算已在我国的电力等重要基础设施中广泛采用,为保障国家网络安全做出了重要贡献。
党的十八大以来,在以习近平同志为核心的党中央坚强领导下,商用密码工作在习近平总书记总体国家安全观和网络强国战略的指引下取得了历史性进步,实现了跨越式发展,在维护国家安全、促进经济社会发展、保护人民群众利益中发挥着不可替代的重要作用。商用密码应用也已覆盖到社会生产生活的各个方面,从涉及国民经济社会的金融交易、防伪税控,到涉及公民利益的电子支付、社会保障,商用密码都在其中默默地发挥着至关重要的作用,基本满足了国民经济和社会发展对商用密码的应用需求。我国商用密码事业在依法管理、科技创新、产业发展、应用推广等方面成绩斐然,已经走出了一条具有中国特色的发展道路。