① 密码协议包括哪些
应用密码学―――密码协议
福州格致中学 陈言
协议是一系列步骤,它包括两方或多方,设计它的目的是要完成一项任务。这个定义很重要 :“一系列步骤”意味着协议是从开始到结束的一个序列,每一步必须依次执行,在前一步完成前,后面的步骤都不能执行 ;“包括两方或多方”意味着完成这个协议至少需要两个人,协议具有的特点:
(1)协议中的每人都必须了解协议,并且预先知道所要完成的所有步骤。
(2)协议中的每人都必须同意遵循它。
(3)协议必须是不模糊的,每一步必须明确定义,并且不会引起误解。
(4)协议必须是完整的,对每种可能的情况必须规定具体的动作。
密码协议是使用密码学的协议。参与该协议的伙伴可能是朋友和完全信任的人,或者也可能是敌人和互相完全不信任的人。密码协议包含某种密码算法,但通常,协议的目的不仅仅是为了简单的秘密性。参与协议的各方可能为了计算一个数值想共享它们的秘密部分、共同产生随机系列、确定互相的身份、或者同时签署合同。在协议中使用密码的目的是防止或发现偷听者和欺骗。如果你以前没有见过这些协议,它们会从根本上改变你的思想,相互之间不信任的各方也能够在网络上完成这些协议。
② 什么是评价密码算法抗密分析能力的核心问题
密码技术的关键得从两个方面来讲:
1)从密码技术在具体应用上。比如密码技术解决通信的安全问题,防止被非法窃听、篡改、假冒等问题,这种情况下密码技术应用的关键有两点,1是密码算法和协议的选择,比如选择DES和AES是的安全性是不一样的,选择公钥加密和对称密码加密来达到机密性在安全性和效率上是不一样的,选择TLS、IPSEC、数字信封、DH安全性和效率是不一样的;2是密钥的管理,特别涉及公钥密码应用,是使用类似SM9的IBC算法还是使用基于CA的PKI体系,是不一样的。而密码管理实际上也是密码技术应用落地能否保证安全的关键。比如CA的根私钥泄露了,则整个密码体系就不安全了,因为CA的根私钥需要对整个体系的子CA或节点证书进行数字签名,是信任的根,根私钥泄露就意味着别人也创建合法的证书,整个信任体系就崩了。所以密钥管理是密码技术应用的关键。
2)从密码理论上,密码的安全性主要有两类检测方法,一种叫计算安全性,即要攻破这个密码体系需要的计算资源远远大于攻击者拥有的资源,比如要暴力破解一个一个密文以天河二号的算力也要1亿年,那我们也可以认为是安全的,这种情况下,密码技术的关键在于是不是类似量子计算机会出现,导致1亿年的破解降低至1小时,所以现在出现了一个方向是叫后量子密码,研究可以抗量子计算机的密码算法。另一种叫可证明安全性,即通过一些数学难题,比如大素数分解或离解对数难题。只要这些数学难题存在就可以保证安全性。
③ 解析|国密SSL特性 :属于中国的密码算法和传输层安全协议
国密SSL产生背景
随着互联网技术的兴盛和网络应用的普及,网络安全问题日益突出,大量的数据在网络上传递并遭受攻击和威胁,数据的安全性受到越来越多人的重视,因此产生了多种安全协议和相关规范。SSL协议就是在这种背景下由Netscape提出的,其中SSLv3.0自1996提出并得到大规模应用成为了业界标准,在2015年才被弃用。1999年,IETF收纳了SSLv3.0并以此为基础提出TLS规范,版本已由TLS1.0发展到如今的TLS3.0,是被应用最广泛的安全协议之一。
安全协议的核心和基础就是密码算法,为了确保我国的信息安全,国内的相关安全产品以及协议如HTTPS、SSL VPN、STMPS等就不能直接使用TLS标准规范和密码算法,因此必须要有一个属于中国的密码算法和传输层安全协议,国密SSL协议顺势产生。
国密SSL协议概述
目前TLS版本包含TLS1.0、TLS1.1、TLS1.2、TLS1.3以及GMTLS1.1。
国密 SSL协议在GM/T中不是一个独立的协议标准[1],而是按照相关密码政策、法规结合我国实际情况并参照RFC4346 TLS1.1规范,在GM/T 0024-2014《SSLVPN技术规范》中对其进行了相关定义。主要不同体现在以下几方面:
注[1]:随着国家越发重视信息安全,在2020年11月1日正式实施了《GB/T38636-2020信息安全技术传输层密码协议(TLCP)》,现阶段使用者相对较少,因此本文依旧按照《SSL VPN技术规范》进行介绍。
国密SSL协议包括记录层协议、握手协议族(握手协议、密码规格变更协议、报警协议)和网关到网关协议。
记录层协议是分层次的,每一层都包括长度字段、描述字段和内容字段;其会接收将要被传输的消息,将数据分段、压缩(可选)、计算HMAC、加密,然后传输,接收到的数据经过解密、验证、解压缩(可选)、重新封装然后传送给高层应用。
国密SSL握手协议族由密码规格变更协议、握手协议和报警协议3个子协议组成,用于通信双方协商出供记录层使用的安全参数,进行身份验证以及向对方报告错误等。
密码规格变更协议用于通知密码规格的改变,即通知对方使用刚协商好的安全参数来保护揭晓了的数据。客户端和服务端都要在安全参数协商完毕之后、握手结束消息之前发送此消息。
报警协议用于关闭连接的通知以及对整个连接过程中出现的错误行为进行报警,其中关闭通知由发起者发送,错误报警由错误的发现者发送。报警消息的长度为两个字节,分别为报警级别和报警内容。
握手协议是在记录层协议之上的协议,用于协商安全参数,是通过记录层协议传输的。握手消息应当按照规定流程顺序进行发送,否则将会导致致命错误,不需要的握手消息可以被接收方忽略。
在Client支持的密码套件列表中,Client会按照密码套件使用的优先级顺序进行排列,优先级最高的密码套件会排在首位。国密SSL支持的密码套件列表如下所示:
在国密SSL标准中实现ECC和ECDHE的算法是SM2,实现IBC和IBSDH的算法是SM9,RSA算法的使用需要符合国家密码管理主管部门的要求。
注[2]:在《GB/T38636-2020信息安全技术传输层密码协议(TLCP)》标准中增加了GCM的密码套件,并且删除了涉及SM1和RSA的密码套件。
网关到网关协议定义了SSL VPN之间建立网关到网关的传输层隧道,对IP数据报文进行安全传输时所采用的报文格式(包括控制报文与数据报文)以及控制报文交换过程和数据报文封装过程。
国密SSL测试的需求
为了保障数据安全,国家密码管理局要求相关系统均要进行国密改造,改用国密的密码算法,目前国密算法已经成为了数据安全保障的基础。因此国密设备在实验室的概念设计、研发设计、生产、部署验收都有测试的必要。
在概念设计和研发阶段需要确定设备是否符合相关要求,能否正常的进行国密SSL加密以对数据进行保护;设备研发成型阶段还需要进行整机测试,验证设备各项功能和性能是否满足实际应用;在部署验收阶段也需要进行整体测试,验证国密设备在真实网络环境中能否正常对数据进行传输以及与整网的兼容适配。
国密测试分为功能测试和性能测试,目前市场上针对功能测试主要采用的是利用具备同样国密功能的设备与被测设备对接测试,而性能测试则是采用自研类软件模拟多终端进行测试,测试能力相对较弱且操作复杂,因此专业的测试工具在国密SSL的研发和推广过程中就愈发重要。
信而泰国密SSL测试方案
信而泰经过多年潜心研制,推出了基于PCT架构的新一代B/S架构测试平台ALPS,该平台支持真实的应用层流量仿真。HTTPS /SMTPS Application Simulator是一个7层测试组件,可基于国密SSL模拟现实网络环境中的HTTPS/SMTPS协议流量,进而测试设备处理客户端应用层流量的能力。该平台可以针对防火墙、负载均衡、VPN、网关等应用层安全设备进行相关测试,测试拓扑如下图所示:
信而泰国密SSL支持以下测试功能和特性:
HTTPS/SMTPS应用流配置界面:
SSL Client Session统计界面:
SSL Server Session统计界面:
④ 密码算法的密码学
(1) 发送者和接收者
假设发送者想发送消息给接收者,且想安全地发送信息:她想确信偷听者不能阅读发送的消息。
(2) 消息和加密
消息被称为明文。用某种方法伪装消息以隐藏它的内容的过程称为加密,加了密的消息称为密文,而把密文转变为明文的过程称为解密。
明文用M(消息)或P(明文)表示,它可能是比特流(文本文件、位图、数字化的语音流或数字化的视频图像)。至于涉及到计算机,P是简单的二进制数据。明文可被传送或存储,无论在哪种情况,M指待加密的消息。
密文用C表示,它也是二进制数据,有时和M一样大,有时稍大(通过压缩和加密的结合,C有可能比P小些。然而,单单加密通常达不到这一点)。加密函数E作用于M得到密文C,用数学表示为:
E(M)=C.
相反地,解密函数D作用于C产生M
D(C)=M.
先加密后再解密消息,原始的明文将恢复出来,下面的等式必须成立:
D(E(M))=M
(3) 鉴别、完整性和抗抵赖
除了提供机密性外,密码学通常有其它的作用:.
(a) 鉴别
消息的接收者应该能够确认消息的来源;入侵者不可能伪装成他人。
(b) 完整性检验
消息的接收者应该能够验证在传送过程中消息没有被修改;入侵者不可能用假消息代替合法消息。
(c) 抗抵赖
发送者事后不可能虚假地否认他发送的消息。
(4) 算法和密钥
密码算法也叫密码,是用于加密和解密的数学函数。(通常情况下,有两个相关的函数:一个用作加密,另一个用作解密)
如果算法的保密性是基于保持算法的秘密,这种算法称为受限制的算法。受限制的算法具有历史意义,但按现在的标准,它们的保密性已远远不够。大的或经常变换的用户组织不能使用它们,因为每有一个用户离开这个组织,其它的用户就必须改换另外不同的算法。如果有人无意暴露了这个秘密,所有人都必须改变他们的算法。
但是,受限制的密码算法不可能进行质量控制或标准化。每个用户组织必须有他们自己的唯一算法。这样的组织不可能采用流行的硬件或软件产品。但窃听者却可以买到这些流行产品并学习算法,于是用户不得不自己编写算法并予以实现,如果这个组织中没有好的密码学家,那么他们就无法知道他们是否拥有安全的算法。
尽管有这些主要缺陷,受限制的算法对低密级的应用来说还是很流行的,用户或者没有认识到或者不在乎他们系统中内在的问题。
现代密码学用密钥解决了这个问题,密钥用K表示。K可以是很多数值里的任意值。密钥K的可能值的范围叫做密钥空间。加密和解密运算都使用这个密钥(即运算都依赖于密钥,并用K作为下标表示),这样,加/解密函数现在变成:
EK(M)=C
DK(C)=M.
这些函数具有下面的特性:
DK(EK(M))=M.
有些算法使用不同的加密密钥和解密密钥,也就是说加密密钥K1与相应的解密密钥K2不同,在这种情况下:
EK1(M)=C
DK2(C)=M
DK2 (EK1(M))=M
所有这些算法的安全性都基于密钥的安全性;而不是基于算法的细节的安全性。这就意味着算法可以公开,也可以被分析,可以大量生产使用算法的产品,即使偷听者知道你的算法也没有关系;如果他不知道你使用的具体密钥,他就不可能阅读你的消息。
密码系统由算法、以及所有可能的明文、密文和密钥组成的。
基于密钥的算法通常有两类:对称算法和公开密钥算法。下面将分别介绍: 对称算法有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加/解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加/解密。只要通信需要保密,密钥就必须保密。
对称算法的加密和解密表示为:
EK(M)=C
DK(C)=M
对称算法可分为两类。一次只对明文中的单个比特(有时对字节)运算的算法称为序列算法或序列密码。另一类算法是对明文的一组比特亚行运算,这些比特组称为分组,相应的算法称为分组算法或分组密码。现代计算机密码算法的典型分组长度为64比特——这个长度大到足以防止分析破译,但又小到足以方便使用(在计算机出现前,算法普遍地每次只对明文的一个字符运算,可认为是序列密码对字符序列的运算)。 公开密钥算法(也叫非对称算法)是这样设计的:用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内)。之所以叫做公开密钥算法,是因为加密密钥能够公开,即陌生者能用加密密钥加密信息,但只有用相应的解密密钥才能解密信息。在这些系统中,加密密钥叫做公开密钥(简称公钥),解密密钥叫做私人密钥(简称私钥)。私人密钥有时也叫秘密密钥。为了避免与对称算法混淆,此处不用秘密密钥这个名字。
用公开密钥K加密表示为
EK(M)=C.
虽然公开密钥和私人密钥是不同的,但用相应的私人密钥解密可表示为:
DK(C)=M
有时消息用私人密钥加密而用公开密钥解密,这用于数字签名(后面将详细介绍),尽管可能产生混淆,但这些运算可分别表示为:
EK(M)=C
DK(C)=M
当前的公开密码算法的速度,比起对称密码算法,要慢的多,这使得公开密码算法在大数据量的加密中应用有限。 单向散列函数 H(M) 作用于一个任意长度的消息 M,它返回一个固定长度的散列值 h,其中 h 的长度为 m 。
输入为任意长度且输出为固定长度的函数有很多种,但单向散列函数还有使其单向的其它特性:
(1) 给定 M ,很容易计算 h ;
(2) 给定 h ,根据 H(M) = h 计算 M 很难 ;
(3) 给定 M ,要找到另一个消息 M‘ 并满足 H(M) = H(M’) 很难。
在许多应用中,仅有单向性是不够的,还需要称之为“抗碰撞”的条件:
要找出两个随机的消息 M 和 M‘,使 H(M) = H(M’) 满足很难。
由于散列函数的这些特性,由于公开密码算法的计算速度往往很慢,所以,在一些密码协议中,它可以作为一个消息 M 的摘要,代替原始消息 M,让发送者为 H(M) 签名而不是对 M 签名 。
如 SHA 散列算法用于数字签名协议 DSA中。 提到数字签名就离不开公开密码系统和散列技术。
有几种公钥算法能用作数字签名。在一些算法中,例如RSA,公钥或者私钥都可用作加密。用你的私钥加密文件,你就拥有安全的数字签名。在其它情况下,如DSA,算法便区分开来了??数字签名算法不能用于加密。这种思想首先由Diffie和Hellman提出 。
基本协议是简单的 :
(1) A 用她的私钥对文件加密,从而对文件签名。
(2) A 将签名的文件传给B。
(3) B用A的公钥解密文件,从而验证签名。
这个协议中,只需要证明A的公钥的确是她的。如果B不能完成第(3)步,那么他知道签名是无效的。
这个协议也满足以下特征:
(1) 签名是可信的。当B用A的公钥验证信息时,他知道是由A签名的。
(2) 签名是不可伪造的。只有A知道她的私钥。
(3) 签名是不可重用的。签名是文件的函数,并且不可能转换成另外的文件。
(4) 被签名的文件是不可改变的。如果文件有任何改变,文件就不可能用A的公钥验证。
(5) 签名是不可抵赖的。B不用A的帮助就能验证A的签名。 加密技术是对信息进行编码和解码的技术,编码是把原来可读信息(又称明文)译成代码形式(又称密文),其逆过程就是解码(解密)。加密技术的要点是加密算法,加密算法可以分为对称加密、不对称加密和不可逆加密三类算法。
对称加密算法 对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有DES和IDEA等。美国国家标准局倡导的AES即将作为新标准取代DES。
不对称加密算法 不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。以不对称加密算法为基础的加密技术应用非常广泛。
不可逆加密算法 的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。显然,在这类加密过程中,加密是自己,解密还得是自己,而所谓解密,实际上就是重新加一次密,所应用的“密码”也就是输入的明文。不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用,但因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,如广泛应用在计算机系统中的口令加密,利用的就是不可逆加密算法。近年来,随着计算机系统性能的不断提高,不可逆加密的应用领域正在逐渐增大。在计算机网络中应用较多不可逆加密算法的有RSA公司发明的MD5算法和由美国国家标准局建议的不可逆加密标准SHS(Secure Hash Standard:安全杂乱信息标准)等。
⑤ 计算机网络安全技术试题
1. 最有效的保护E-mail的方法是使用加密签字,如( B ),来验证E-mail信息。通过验证E-mail信息,可以保证信息确实来自发信人,并保证在传输过程没有被修改。
A. Diffie-Hellman
B. Pretty Good Privacy(PGP)
C. Key Distribution Center(KDC)
D. IDEA
2. 黑客要想控制某些用户,需要把木马程序安装到用户的机器中,实际上安装的是(B)
A. 木马的控制端程序
B. 木马的服务器端程序
C. 不用安装
D. 控制端、服务端程序都必需安装
3. 下列不属于包过滤检查的是(D)
A. 源地址和目标地址
B. 源端口和目标端口
C. 协议
D. 数据包的内容
4. 代理服务作为防火墙技术主要在OSI的哪一层实现(A)
A. 数据链路层
B. 网络层
C. 表示层
D. 应用层
5. 加密在网络上的作用就是防止有价值的信息在网上被( D本题答案说法不一个人认为是D)。
A. 拦截和破坏
B. 拦截和窃取
C. 篡改和损坏
D. 篡改和窃取
6. 按照可信计算机评估标准,安全等级满足C2级要求的操作系统是(D)
A. DOS
B. Windows XP
C. Windows NT
D. Unix
7. 下面关于口令的安全描述中错误的是(B和D说的都不是很正确。。)`
A. 口令要定期更换
B. 口令越长越安全
C. 容易记忆的口令不安全
D. 口令中使用的字符越多越不容易被猜中
8. 不对称加密通信中的用户认证是通过(B)确定的
A. 数字签名
B. 数字证书
C. 消息文摘
D. 公私钥关系
9. 对于IP欺骗攻击,过滤路由器不能防范的是( D ) 。
A.伪装成内部主机的外部IP欺骗
B.外部主机的IP欺骗
C.伪装成外部可信任主机的IP欺骗
D.内部主机对外部网络的IP地址欺骗
10.RSA加密算法不具有的优点是(D)
A.可借助CA中心发放密钥,确保密钥发放的安全方便
B.可进行用户认证
C.可进行信息认证
D.运行速度快,可用于大批量数据加密
11.PGP加密软件采用的加密算法(C)
A.DES
B.RSA
C.背包算法
D.IDEA
12.以下说法正确的是(D)
A.木马不像病毒那样有破坏性
B.木马不像病毒那样能够自我复制
C.木马不像病毒那样是独立运行的程序
D.木马与病毒都是独立运行的程序
13.使用防病毒软件时,一般要求用户每隔2周进行升级,这样做的目的是(C)
A.对付最新的病毒,因此需要下载最新的程序
B.程序中有错误,所以要不断升级,消除程序中的BUG
C.新的病毒在不断出现,因此需要用及时更新病毒的特征码资料库
D.以上说法的都不对
14.防火墙的安全性角度,最好的防火墙结构类型是(D)
A.路由器型
B.服务器型
C.屏蔽主机结构
D.屏蔽子网结构
剩下的由高人来补。
⑥ 科普:国产密码算法
密码学(cryptography): 通过将信息编码使其不可读,从而达到安全性。
算法 :取一个输入文本,产生一个输出文本。
加密算法 :发送方进行加密的算法。
解密算法 :接收方进行解密的算法。
对称密钥加密 (Symmetric Key Cryptography):加密与解密使用相同密钥。
非对称密钥加密 (Asymmetric Key Cryptography):加密与解密使用不同密钥。
密钥对 :在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。
公钥 :公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。
私钥 :如上,用来解密公钥加密的数据。
摘要 :对需要传输的文本,做一个HASH计算。
签名 :使用私钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名。
密码协议是指两个或两个以上的参与者为了达到某种特定目的而采取的一系列步骤。规定了一系列有序执行的步骤,必须依次执行。必须有两个或两个以上的参与者,有明确的目的。参与者都必须了解、同意并遵循这些步骤。
常见的密码协议包括IPSEC VPN 协议、SSL VPN 协议、密钥交换协议等。
密码是指描述密码处理过程的一组运算规则或规程,一般是指基于复杂数学问题设计的一组运算,其基本原理基于数学难题、可证明计算、计算复杂度等。主要包括:对称密码、公钥密码、杂凑算法、随机数生成。
在对称加密算法中,加密使用的密钥和解密使用的密钥是相同的,加密和解密都是使用同一个密钥,不区分公钥和私钥。
通信双方采用相同的密钥来加解密会话内容,即一段待加密内容,经过同一个密钥的两次对称加密后,与原来的结果一样,具有加解密速度快和安全强度高的优点。
国际算法:DES、AES。
国产算法:SM1、SM4、SM7。
非对称加解密算法又称为 公钥密码 ,其密钥是成对出现的。双方通信时,首先要将密钥对中的一个密钥传给对方,这个密钥可以在不安全的信道中传输;传输数据时,先使用自己持有的密钥做加密,对方用自己传输过去的密钥解密。
国际算法:RSA
国产算法:SM2
优点:
密钥分发数目与参与者数目相同,在有大量参与者的情况下易于密钥管理。
支持数字签名和不可否认性。
无需事先与对方建立关系,交换密钥。
缺点:
速度相对较慢。
可能比同等强度的对称密码算法慢10倍到100倍。
加密后,密文变长。
密码杂凑算法 :又称为散列算法或哈希函数,一种单向函数,要由散列函数输出的结果,回推输入的资料是什么,是非常困难的。
散列函数的输出结果,被称为讯息摘要(message digest)或是 摘要(digest) ,也被称为 数字指纹 。
杂凑函数用于验证消息的完整性, 在数字签名中,非对称算法对数据签名的速度较慢,一般会先将消息进行杂凑运算,生成较短的固定长度的摘要值。然后对摘要值进行签名,会大大提高计算效率 。
国际算法:MD5、SHA1、SHA2、SHA3
国产算法:SM3
2009年国家密码管理局发布的《信息安全等级保护商用密码技术实施要求》中明确规定,一、二、三、四级信息系统应使用商用密码技术来实施等级保护的基本要求和应用要求,一到四级的密码配用策略要求采用国家密码管理部门批准使用的算法。
2010年年底,国家密码管理局公开了SM2、SM3等国产密码算法。
2011年2月28日,国家密码管理局印发的【2011】145号文中明确指出,1024位RSA算法正在面临日益严重的安全威胁,并要求各相关企业在2012年6月30日前必须使用SM2密码算法
国家密码管理局在《关于做好公钥密码算法升级工作的函》中要求2011年7月1日以后建立并使用公钥密码的信息系统,应使用SM2算法;已经建设完成的系统,应尽快进行系统升级,使用SM2算法。
2014年底,国家密码管理局启动《重要信息系统密码应用推进总体研究课题》,确定十三五密码 科技 专项。
2017年11月底,国家密码管理局下发了《政务云密码支撑方案及应用方案设计要点》。
2017年国家密码管理局发布了42项金融和重要领域国产密码应用试点任务。
2018年,中共中央办公厅、国务院办公厅印发《金融和重要领域密码应用与创新发展工作规划(2018-2022年)。
2018年,为指导当时即将启动的商用密码应用安全性评估试点工作,国家密码管理局发布了密码行业标准GM/T0054-2018《信息系统密码应用 基本要求》。
2021年3月,国家市场监管总局、国家标准化管理委员会发布公告,正式发布国家标准GB/T39786-2021《信息安全技术信息系统密码应用基本要求》,该标准于2021年10月1日起实施。
SM1 算法是分组密码算法,分组长度为 128 位,密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与AES相当,算法不公开,仅以IP核的形式存在于芯片中。
算法集成于加密芯片、智能 IC 卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括政务通、警务通等重要领域)。
SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,是一种基于ECC算法的 非对称密钥算法, 其加密强度为256位,其安全性与目前使用的RSA1024相比具有明显的优势。
包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现 数字签名密钥协商 和 数据加密 等功能。
SM3杂凑算法是我国自主设计的密码杂凑算法,属于哈希(摘要)算法的一种,杂凑值为256位,安全性要远高于MD5算法和SHA-1算法。
适用于商用密码应用中的 数字签名 和 验证消息认证码的生成与验证 以及 随机数 的生成,可满足多种密码应用的安全需求。
SM4 分组密码算法 是我国自主设计的分组对称密码算法,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。
用于实现数据的加密/解密运算,以保证数据和信息的机密性。软件和硬件加密卡均可实现此算法。
商用密码技术框架包括 密码资源、密码支撑、密码服务、密码应用 等四个层次,以及提供管理服务的密码管理基础设施。
密码资源层: 主要是提供基础性的密码算法资源。
密码支撑层: 主要提供密码资源调用,由安全芯片、密码模块、智能IC卡、密码卡、服务器密码机、签名验签服务器、IPSCE/SSL VPN 等商密产品组成。
密码服务层: 提供密码应用接口,分为对称和公钥密码服务以及其他三大类。
密码应用层: 调用密码服务层提供的密码应用程序接口,实现数据的加解密、数字签名验签等服务。如应用 于 安全邮件、电子印章系统、安全公文传输、移动办公平台、可信时间戳等系统。
密码管理基础设施: 独立组件,为以上四层提供运维管理、信任管理、设备管理、密钥管理等功能。
完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统(KMC)、证书作废系统(CRL)、应用接口(API)等基本构成部分,构建PKI也将围绕着这五大系统来着手构建。
CA 系统:Ca系统整个PKI的核心,负责证书的签发。CA首先产生自身的私钥和公钥(密钥长度至少为1024位),然后生成数字证书,并且将数字证书传输给安全服务器。、CA还负责为操作员、安全服务器以及注册机构服务器生成数字证书。安全服务器的数字证书和私钥也需要传输给安全服务器。
CA服务器是整个结构中最为重要的部分,存有CA的私钥以及发行证书的脚本文件,出于安全的考虑,应将CA服务器与其他服务器隔离,任何通信采用人工干预的方式,确保认证中心的安全。
(1)甲使用乙的公钥对明文进行加密,生成密文信息。
(2)甲使用HASH算法对明文进行HASH运算,生成数字指纹。
(3)甲使用自己的私钥对数字指纹进行加密,生成数字签名。
(4)甲将密文信息和数字签名一起发送给乙。
(5)乙使用甲的公钥对数字签名进行解密,得到数字指纹。
(6)乙接收到甲的加密信息后,使用自己的私钥对密文信息进行解密,得到最初的明文。
(7)乙使用HASH算法对还原出的明文用与甲所使用的相同HASH算法进行HASH运算,生成数字指纹。然后乙将生成的数字指纹与从甲得到的数字指纹进行比较,如果一致,乙接受明文;如果不一致,乙丢弃明文。
SSL 协议建立在可靠的传输协议(如 TCP)之上,为高层协议提供数据封装,压缩,加密等基本功能。
即可以协商加密算法实现加密传输,防止数据防窃听和修改,还可以实现对端设备身份验证、在这个过程中,使用国密算法进行加密、签名证书进行身份验证、加密证书用于密钥交换
SSL协商过程:
(1)客户端发出会话请求。
(2)服务端发送X.509证书(包含服务端的公钥)。
(3)客户端用已知Ca列表认证证书。
(4)客户端生成随机对称密钥,并利用服务端的公钥进行加密。
(5)双方协商完毕对称密钥,随后用其加密会话期间的用户最终数据。
利用SSL卸载技术及负载均衡机制,在保障通讯数据安全传输的同时,减少后台应用服务器的性能消耗,并实现服务器集群的冗余高可用,大幅度提升整个业务应用系统的安全性和稳定性。此外,借助多重性能优化技术更可缩短了业务访问的响应等待时间,明显提升用户的业务体验。
基于 数字证书 实现终端身份认证,给予密码运算实现本地数据的加密存储,数字证书硬件存储和密码运算由移动终端内置的密码部件提供。
移动应用管理系统服务器采用签名证书对移动应用软件安装包进行签名,移动应用管理系统客户端对签名信息进行验签,保障移动应用软件安装包的真实性和完整性。
移动办公应用系统采用签名证书对关键访问请求进行签名验证。
采用加密证书对关键传输数据和业务操作指令,以及移动终端本地存储的重要数据进行加密保护。
移动办公系统使用商用密码,基于数字证书认证系统,构建覆盖移动终端、网络、移动政务应用的安全保障体系,实现政务移动终端安全、接入安全、传输安全和移动应用安全 。
⑦ 分别描述使用公开密钥密码算法进行加密和签名的基本协议过程
OH YES
⑧ 密码学基础
密码学是研究如何保护信息安全性的一门科学,涉及数学、物理、计算机、信息论、编码学、通讯技术等学科,已经在生活中得到广泛应用。
密码学组成分支分为编码学和密码分析学。密码编码学主要研究对信息进行编码,实现信息的隐蔽。密码分析学主要研究加密消息的破译或消息的伪造。二者相互独立,又相互依存,在矛盾与斗争中发展,对立统一。
密码学的发展历史大致可划分为三个阶段:
机密性
仅有发送方和指定的接收方能够理解传输的报文内容。窃听者可以截取到加密了的报文,但不能还原出原来的信息,即不能得到报文内容。
鉴别
发送方和接收方都应该能证实通信过程所涉及的另一方, 通信的另一方确实具有他们所声称的身份。即第三者不能冒充跟你通信的对方,能对对方的身份进行鉴别。
报文完整性
即使发送方和接收方可以互相鉴别对方,但他们还需要确保其通信的内容在传输过程中未被改变。
不可否认性
如果人们收到通信对方的报文后,还要证实报文确实来自所宣称的发送方,发送方也不能在发送报文以后否认自己发送过报文。
密码体制是一个使通信双方能进行秘密通信的协议。密码体制由五要素组成,P(Plaintext明文集合),C(Ciphertext密文集合),K(Key密钥集合),E(Encryption加密算法),D(Decryption解密算法),且满足如下特性:
<script type="math/tex; mode=display" id="MathJax-Element-1"> p ∈ P </script>
<script type="math/tex; mode=display" id="MathJax-Element-2"> c ∈ C </script>
<script type="math/tex; mode=display" id="MathJax-Element-3"> k1 ∈ K, k2 ∈ K </script>
<script type="math/tex; mode=display" id="MathJax-Element-6"> E_{k1}(p) = c,D_{k2}(c) = p </script>
无论是用手工或机械完成的古典密码体制,还是采用计算机软件方式或电子电路的硬件方式完成的现代密码体制,其加解密基本原理都是一致的。都是基于对明文信息的替代或置换,或者是通过两者的结合运用完成的。
替代(substitution cipher):有系统地将一组字母换成其他字母或符号;
例如‘help me’变成‘ifmq nf’(每个字母用下一个字母取代)。
置换(Transposition cipher):不改变字母,将字母顺序重新排列;
例如‘help me’变成‘ehpl em’(两两调换位置)。
密码分析者通常利用以下几种方法对密码体制进行攻击:
已知明文分析法:
知道一部分明文和其对应的密文,分析发现秘钥。
选定明文分析法:
设法让对手加密自己选定的一段明文,并获得对应的密文,在此基础上分析发现密钥。
差别比较分析法:
设法让对方加密一组差别细微的明文,通过比较他们加密后的结果来分析秘钥。
无条件安全:
无论破译者的计算能力有多强,无论截获多少密文,都无法破译明文。
计算上安全:
破译的代价超出信息本身的价值,破译所需的时间超出信息的有效期。
任何密码系统的应用都需要在安全性和运行效率之间做出平衡,密码算法只要达到计算安全要求就具备了实用条件,并不需要实现理论上的绝对安全。1945年美国数学家克劳德·E·香农在其发布的《密码学的数学原理》中,严谨地证明了一次性密码本或者称为“弗纳姆密码”(Vernam)具有无条件安全性。但这种绝对安全的加密方式在实际操作中需要消耗大量资源,不具备大规模使用的可行性。事实上,当前得到广泛应用的密码系统都只具有计算安全性。
一个好的密码体制应该满足以下两个条件:
在已知明文和密钥的情况下,根据加密算法计算密文是容易的;在已知密文和解密密钥的情况下,计算明文是容易的。
在不知道解密密钥的情况下,无法从密文计算出明文,或者从密文计算出明文的代价超出了信息本身的价值。
常见的密码算法包括:
对称密码体制也称单钥或私钥密码体制,其加密密钥和解密密钥相同,或实质上等同, 即从一个易于推出另一个。
优点:保密性高,加密速度快,适合加密大量数据,易于通过硬件实现;
缺点:秘钥必须通过安全可靠的途径传输,秘钥的分发是保证安全的关键因素;
常见对称密码算法:DES (密钥长度=56位)、3DES( 三个不同的密钥,每个长度56位)、AES(密钥长度128/192/256可选)、IDEA(密钥长度128位)、RC5(密钥长度可变)。
根据加密方式的不同,对称密码又可以分为分组密码和序列密码。
将明文分为固定长度的组,用同一秘钥和算法对每一块加密,输出也是固定长度的密文,解密过程也一样。
又称为流密码,每次加密一位或一字节的明文,通过伪随机数发生器产生性能优良的伪随机序列(密钥流),用该序列加密明文消息序列,得到密文序列,解密过程也一样。
非对称密码体制又称双钥或公钥密码体制,其加密密钥和解密密钥不同,从一个很难推出另一个。其中的加密密钥可以公开,称为公开密钥,简称公钥;解密密钥必须保密,称为私有密钥,简称私钥。
优点:密钥交换可通过公开信道进行,无需保密。既可用于加密也可用于签名。
缺点:加密速度不如对称密码,不适合大量数据加密,加密操作难以通过硬件实现。
非对称密码体制不但赋予了通信的保密性,还提供了消息的认证性,无需实现交换秘钥就可通过不安全信道安全地传递信息,简化了密钥管理的工作量,适应了通信网的需要,为保密学技术应用于商业领域开辟了广阔的前景。
常见的非对称密码算法:RSA(基于大整数质因子分解难题)、ECC(基于椭圆曲线离散对数难题)。
对非对称密码的误解
非对称密码比对称密码更安全?
任何一种算法的安全都依赖于秘钥的长度、破译密码的工作量,从抗分析的角度看,没有哪一方更优越;
非对称密码使对称密码成为过时技术?
公钥算法很慢,一般用于密钥管理和数字签名,对称密码将长期存在,实际工程中采用对称密码与非对称密码相结合。
哈希函数将任意长的消息映射为一个固定长度的散列值,也称消息摘要。消息摘要可以作为认证符,完成消息认证。
哈希是单向函数,从消息摘要来推理原消息是极为困难的。哈希函数的安全性是由发生碰撞的概率决定的。如果攻击者能轻易构造出两个不同的消息具有相同的消息摘要,那么这样的哈希函数是不可靠的。
常见的哈希函数有:MD5,SHA1,HMAC。
数字签名是公钥密码的典型应用,可以提供和现实中亲笔签名相似的效果,在技术上和法律上都有保证。是网络环境中提供消息完整性,确认身份,保证消息来源(抗抵赖性)的重要技术。
数字签名与验证过程:
发送方用哈希函数从报文文本中生成一个128位的散列值(或报文摘要),发送方用自己的私钥对这个散列值进行加密来形成自己的数字签名。然后,这个数字签名将作为报文的附件和报文一起发送给接收方。接收方收到报文后,用同样的哈希函数从原始报文中计算出散列值(或报文摘要),接着再用发送方的公钥来对报文附加的数字签名进行解密得出另一个散列值,如果两个散列值相同,那么接收方就能确认该数字签名是发送方的。通过数字签名能够实现消息的完整性和不可抵赖性。
在网络安全中,密钥的地位举足轻重
。如何安全可靠、迅速高效地分配密钥、管理密钥一直是密码学领域中的重要问题。
密钥生成可以通过在线或离线的交互协商方式实现,如密码协议等 。密钥长度应该足够长。一般来说,密钥长度越大,对应的密钥空间就越大,攻击者使用穷举猜测密码的难度就越大。选择密钥时,应该避免选择弱密钥,大部分密钥生成算法采用随机过程或伪随机过程生成密钥。
采用对称加密算法进行保密通信,需要共享同一密钥。通常是系统中的一个成员先选择一个秘密密钥,然后将它传送另一个成员或别的成员。X9.17标准描述了两种密钥:密钥加密密钥和数据密钥。密钥加密密钥加密其它需要分发的密钥;而数据密钥只对信息流进行加密。密钥加密密钥一般通过手工分发。为增强保密性,也可以将密钥分成许多不同的部分然后用不同的信道发送出去。
密钥附着一些检错和纠错位来传输,当密钥在传输中发生错误时,能很容易地被检查出来,并且如果需要,密钥可被重传。接收端也可以验证接收的密钥是否正确。发送方用密钥加密一个常量,然后把密文的前2-4字节与密钥一起发送。在接收端,做同样的工作,如果接收端解密后的常数能与发端常数匹配,则传输无错。
当密钥需要频繁的改变时,频繁进行新的密钥分发的确是困难的事,一种更容易的解决办法是从旧的密钥中产生新的密钥,有时称为密钥更新。可以使用单向函数进行更新密钥。如果双方共享同一密钥,并用同一个单向函数进行操作,就会得到相同的结果。
密钥可以存储在脑子、磁条卡、智能卡中。也可以把密钥平分成两部分,一半存入终端一半存入ROM密钥。还可采用类似于密钥加密密钥的方法对难以记忆的密钥进行加密保存。
密钥的备份可以采用密钥托管、秘密分割、秘密共享等方式。
密钥托管:
密钥托管要求所有用户将自己的密钥交给密钥托管中心,由密钥托管中心备份保管密钥(如锁在某个地方的保险柜里或用主密钥对它们进行加密保存),一旦用户的密钥丢失(如用户遗忘了密钥或用户意外死亡),按照一定的规章制度,可从密钥托管中心索取该用户的密钥。另一个备份方案是用智能卡作为临时密钥托管。如Alice把密钥存入智能卡,当Alice不在时就把它交给Bob,Bob可以利用该卡进行Alice的工作,当Alice回来后,Bob交还该卡,由于密钥存放在卡中,所以Bob不知道密钥是什么。
秘密分割:
秘密分割把秘密分割成许多碎片,每一片本身并不代表什么,但把这些碎片放到一块,秘密就会重现出来。
秘密共享:
将密钥K分成n块,每部分叫做它的“影子”,知道任意m个或更多的块就能够计算出密钥K,知道任意m-1个或更少的块都不能够计算出密钥K。秘密共享解决了两个问题:一是若密钥偶然或有意地被暴露,整个系统就易受攻击;二是若密钥丢失或损坏,系统中的所有信息就不能用了。
加密密钥不能无限期使用,有以下有几个原因:密钥使用时间越长,它泄露的机会就越大;如果密钥已泄露,那么密钥使用越久,损失就越大;密钥使用越久,人们花费精力破译它的诱惑力就越大——甚至采用穷举攻击法。
不同密钥应有不同有效期。数据密钥的有效期主要依赖数据的价值和给定时间里加密数据的数量。价值与数据传送率越大所用的密钥更换越频繁。如密钥加密密钥无需频繁更换,因为它们只是偶尔地用作密钥交换,密钥加密密钥要么被记忆下来,要么保存在一个安全地点,丢失该密钥意味着丢失所有的文件加密密钥。
公开密钥密码应用中的私钥的有效期是根据应用的不同而变化的。用作数字签名和身份识别的私钥必须持续数年(甚至终身),用作抛掷硬币协议的私钥在协议完成之后就应该立即销毁。即使期望密钥的安全性持续终身,两年更换一次密钥也是要考虑的。旧密钥仍需保密,以防用户需要验证从前的签名。但是新密钥将用作新文件签名,以减少密码分析者所能攻击的签名文件数目。
如果密钥必须替换,旧钥就必须销毁,密钥必须物理地销毁。
PKI是一个利用公钥加密技术为密钥和证书的管理,所设计的组件、功能子系统、操作规程等的集合,它的主要任务是管理密钥和证书,为网络用户建立安全通信信任机制。
数字证书是一个包含用户身份信息、公钥信息、证书认证中心(CA)数字签名的文件。
作用:数字证书是各类终端实体和最终用户在网上进行信息交流及商业活动的身份证明,在电子交易的各个缓解,交易的各方都需要验证对方数字证书的有效性,从而解决相互间的信任问题。
CA全称Certificate Authentication,是具备权威性的数字证书申请及签发机构。
CA作为PKI的核心部分,主要由注册服务器组、证书申请受理和审核机构、认证中心服务器三者组成。
注册服务器:通过 Web Server 建立的站点,可为客户提供24×7 不间断的服务。客户在网上提出证书申请和填写相应的证书申请表。
证书申请受理和审核机构:负责证书的申请和审核。
认证中心服务器:是数字证书生成、发放的运行实体,同时提供发放证书的管理、证书废止列表(CRL)的生成和处理等服务。
通过CA可以实现以下功能:
1. 接收验证最终用户数字证书的申请;
2. 确定是否接受最终用户数字证书的申请和审批;
3. 向申请者颁发、拒绝颁发数字证书;
4. 接收、处理最终用户数字证书的更新;
5. 接受最终用户数字证书的查询、撤销;
6. 产生和发布CRL(证书废止列表);
7. 数字证书的归档;
8. 密钥归档;
9. 历史数据归档;
五、量子密码
5.1 量子计算
由于量子计算技术取得了出人意料的快速发展,大量仅能抵御经典计算机暴力破解的密码算法面临被提前淘汰的困境 。
非对称密码系统有效解决了对称密码面临的安全密钥交换问题,因而广泛应用于公钥基础设施、数字签名、联合授权、公共信道密钥交换、安全电子邮件、虚拟专用网以及安全套接层等大量网络通信活动之中。不幸的是,随着量子计算的发展,包括RSA密码、ECC密码以及DH密钥交换技术等非对称密码算法已经从理论上被证明彻底丧失了安全性。相对于对称密码系统还可以采取升级措施应对量子威胁,非对称密码系统必须采取全新方法进行重建 。
5.2 量子密码
量子密码是以量子力学和密码学为基础,利用量子物理学中的原理实现密码体制的一种新型密码体制,与当前大多使用的经典密码体制不一样的是,量子密码利用信息载体的物理属性实现。目前量子密码用于承载信息的载体包括光子、压缩态光信号、相干态光信号等。
由于量子密码体制的理论基础是量子物理定理,而物理定理是物理学家经过多年的研究与论证得出的结论,有可靠的理论依据,且不论在何时都是不会改变的,因此,理论上,依赖于这些物理定理的量子密码也是不可攻破的,量子密码体制是一种无条件安全的密码体制。