还剩58页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
密码学与应用欢迎来到《密码学与应用》课程!本课程将带您深入了解密码学的基本原理、历史发展、现代技术及其广泛应用从古典密码到量子密码学,从基础理论到实际应用,我们将全面探索这一保障信息安全的关键学科无论您是计算机科学专业的学生,还是对网络安全领域感兴趣的爱好者,本课程都将为您提供坚实的密码学知识基础,帮助您理解现代信息社会中安全通信和数据保护的核心技术课程概述课程目标通过本课程学习,学生将掌握密码学的基本概念、原理和算法,能够理解和应用各类密码体制,分析密码系统的安全性,并设计简单的密码应用系统本课程旨在培养学生的信息安全意识和密码学思维,为后续专业学习奠定基础学习内容课程内容涵盖密码学基础、古典密码学、对称密码、公钥密码学、密钥管理、数字签名、哈希函数、密码协议等核心知识,以及密码学在网络安全、区块链、物联网等领域的应用实例我们将结合理论讲解和实践案例,帮助学生全面理解密码学知识体系考核方式课程考核采用过程评价与终结性评价相结合的方式,包括平时作业20%、实验报告30%和期末考试50%期末考试主要考核基本概念和原理,实验报告重点评价学生的实践能力和创新思维,平时作业则侧重对知识点的巩固和应用第一章密码学基础密码学的发展历史从古代的简单替换密码到现代的复杂算法,经2历了机械时代、电子时代和计算机时代的演变密码学的定义1密码学是研究如何通过数学和计算原理保护信息安全的科学,包括加密、解密、签名和验证等技术手段现代密码学的主要研究方向包括对称密码、公钥密码、密码协议设计、量3子密码学以及密码分析等多个领域密码学作为保障信息安全的核心技术,已从单纯的通信保密发展为解决各类信息安全问题的综合学科现代密码学不仅注重算法设计,还关注协议安全、实现安全和应用安全,形成了理论与实践紧密结合的学科体系随着信息技术的快速发展,密码学面临着来自量子计算等新技术的挑战,也开拓了区块链、物联网安全等新的应用领域,展现出强大的生命力和广阔的发展前景密码学的基本概念明文和密文加密和解密密钥密码算法明文是指原始的、可理解的信息内加密是将明文转换为密文的过程,密钥是控制加密和解密过程的参数密码算法是实现加密和解密操作的容,是需要保护的对象;而密文是目的是保护信息的机密性;解密则,是密码系统安全性的关键密钥数学方法,包括对称算法和非对称经过加密变换后的、不可直接理解是加密的逆过程,将密文还原为明的长度和产生方式直接影响系统的算法两大类好的密码算法应具备的信息形式,具有保密性良好的文加密和解密构成了密码系统的安全性,而密钥的管理(生成、分高效性、安全性和抗攻击性,能够加密算法应确保在不知道密钥的情核心操作,它们通常依赖于特定的发、存储和销毁)则是密码系统实抵抗各种已知的密码分析方法况下,无法从密文恢复出明文算法和密钥施的重要环节密码体制的分类对称密码体制1对称密码体制使用相同的密钥进行加密和解密,也称为秘密密钥密码体制它具有算法简单、加密速度快的特点,适合大量数据的加密处理典型算法包括DES、AES和SM4等但其主要缺点是密钥分发困难,通信双方必须提前安全地共享密钥非对称密码体制2非对称密码体制使用一对密钥(公钥和私钥)分别进行加密和解密,也称为公钥密码体制公钥可以公开分发,私钥需保密保存它解决了密钥分发问题,并可实现数字签名功能典型算法包括RSA、ElGamal和椭圆曲线密码算法但计算复杂度高,加解密速度较慢混合密码体制3混合密码体制结合了对称和非对称密码的优点,通常用非对称密码传输会话密钥,再用对称密码加密实际数据这种方案既解决了密钥分发问题,又保证了数据加密的效率现代通信系统如HTTPS、SSH等大多采用混合密码体制,实现了安全性和效率的平衡密码学的主要目标不可否认性1确保通信实体不能否认自己的行为身份认证2验证通信实体的真实身份完整性3确保信息在传输过程中未被篡改机密性4保护信息不被未授权方获取密码学的四大安全目标构成了信息安全的基石机密性通过加密算法实现,使未授权方即使获取密文也无法理解其内容完整性通过消息认证码和哈希函数保障,确保信息的每一位都未被改变身份认证通过密码协议验证通信方身份,防止身份冒充不可否认性则主要通过数字签名技术实现,确保信息发送者无法否认自己发送过该信息,为电子商务等应用提供法律保障这些目标相互补充,共同构成了全面的信息安全保障体系第二章古典密码学替换密码1替换密码是最早的密码形式之一,通过将明文中的字符替换为其他字符来实现加密从简单的凯撒密码到复杂的维吉尼亚密码,替换密码经历了从单表到多表的发展过程虽然现代密码学已不再使用这些简单密码,但研究它们有助于理解密码学的基本原理和发展历程置换密码2置换密码保留明文中的所有字符,但改变它们的排列顺序栅栏密码和列置换密码是典型的置换密码与替换密码不同,置换密码不改变字符的频率分布,而是打乱其位置关系现代分组密码算法中的置换操作部分源自这种古典密码思想其他古典密码3除了替换和置换密码外,古典密码学还包括诸如密码本、隐写术等多种技术特别是组合使用替换和置换的产品密码,已经展现出现代密码学的雏形古典密码学虽简单,但其思想和原理至今仍有启发意义,是理解现代密码学不可或缺的基础知识替换密码凯撒密码单表替换密码多表替换密码凯撒密码是最简单的替换密码,通过将明单表替换密码使用一个固定的映射表将明多表替换密码使用多个替换表,根据某种文中的每个字母向前(或向后)移动固定文字母映射到密文字母与凯撒密码不同规则在加密过程中切换不同的表维吉尼位数来实现加密例如,使用向右移动3位,这种映射可以是任意的,而不限于字母亚密码是其代表,它使用一个关键词循环的规则,A将被加密为D,B加密为表的简单移位典型例子包括仿射密码和决定每个字母的移位量多表替换打破了E,依此类推尽管简单,它是第一个有埃特巴什密码单表替换密码的密钥空间单表替换的频率特征,增强了安全性诸文献记载的加密方法,由古罗马凯撒大帝较大,但由于保留了原文字母频率特征,如恩尼格玛机等密码设备,本质上也是复使用于军事通信容易受频率分析攻击杂的多表替换密码实现置换密码列置换密码列置换密码将明文按一定长度分组,排列成矩阵,然后根据密钥确定的列顺序读出密文例如,明文MEETMETONIGHT按4列排列M EE TME TO栅栏密码N IG H栅栏密码是最简单的置换密码之一,将明文按照特定的行数写成之字形,然后按行读出得到密文T---例如,使用3行栅栏加密CRYPTOGRAPHY,首先将其排列为使用密钥3142表示读取顺序,得到密文EMTEMOTNIGTE列置换密码可与其他密码组合使用C---P---R---H-,形成更复杂的加密方案-R-T-G-A-Y--Y--O--P--然后按行读出得到密文CPRHRTGAYOYP密钥就是栅栏的行数,尽管简单,但栅栏密码为理解置换原理提供了直观示例古典密码的破译频率分析频率分析是破解单表替换密码的基本技术,基于不同语言中字母出现频率的统计特性例如,英语中字母E出现频率最高,通过分析密文中字符的出现频率,可以推测其对应的明文字母这种方法由阿拉伯学者Al-Kindi于9世纪首次提出,标志着密码分析学的诞生已知明文攻击已知明文攻击是指攻击者拥有部分明文和对应密文的情况对于古典密码,这种情况常见于军事通信中的固定格式信息例如,知道密文开头对应尊敬的将军这样的常用词,可以直接推导出部分密钥,进而破解整个密文这种攻击方法对单表替换和简单置换密码尤其有效选择明文攻击选择明文攻击是攻击者能够获得自己选择的明文对应密文的情况这在古典密码中并不常见,但在情报活动中可能出现例如,间谍可能诱导对方加密特定内容的信息,通过分析这些特殊构造的明密文对,可以更容易地推导出密码系统的规律和密钥第三章现代对称密码1分组密码分组密码是现代对称密码的主要类型之一,它将明文分成固定长度的块,然后对每个块进行相同的变换操作分组密码通常基于迭代结构,通过多轮复杂的替换和置换操作实现加密DES、AES和SM4是典型的分组密码算法,它们广泛应用于数据加密、安全通信和认证等领域2流密码流密码以比特或字节为单位进行加密,通常使用密钥生成一个伪随机序列(密钥流),然后将其与明文进行XOR操作得到密文流密码的主要优势是处理速度快、实现简单,特别适合对实时数据流的加密RC4和ChaCha20是常见的流密码算法,在无线通信和高性能加密应用中有广泛使用现代对称密码算法在安全性和效率上都有显著提升,能够抵抗已知的密码分析攻击分组密码和流密码各有优势,在实际应用中根据具体需求选择适合的算法类型随着计算能力的提升和密码分析技术的发展,对称密码算法也在不断更新换代,以保持足够的安全边界分组密码的基本概念分组大小密钥长度分组大小指密码算法一次处理的明文位数,密钥长度直接关系到密码系统的安全强度,是分组密码的重要参数常见的分组大小有决定了密钥空间的大小DES使用56位密钥64位DES和128位AES较大的分组大小,如今已不安全;AES支持128/192/256位12通常能提供更好的安全性,减少模式相关的密钥,能够抵抗目前已知的所有实用攻击安全问题,但也可能增加实现复杂度分组随着计算能力提升,密码算法的密钥长度趋大小的选择需平衡安全性与效率向增加,以保持足够的安全边界结构Feistel轮函数Feistel结构是一种经典的分组密码设计框架轮函数是分组密码中每轮迭代执行的基本变,它将输入分为左右两半,只对一半应用轮43换操作,通常包括替换S盒、置换P盒、移函数,然后交换位置进入下一轮DES是典位和密钥混合等步骤轮函数的设计直接影型的Feistel结构密码Feistel结构的主要优响算法的安全性和效率,需要在混沌性、抗点是加解密过程对称,只需要轮密钥顺序相差分和线性攻击等方面达到平衡反,简化了实现典型的分组密码算法DES AESSM4数据加密标准DES是第一个公开的标准化高级加密标准AES是目前最广泛使用的分SM4是中国商用密码标准,2012年正式发分组密码,1977年由美国标准局发布它组密码,2001年被NIST选为DES的替代标布它使用128位分组和128位密钥,采用采用64位分组和56位密钥,基于Feistel准它基于Rijndael算法,使用128位分类Feistel结构,执行32轮迭代SM4的设结构实现16轮迭代虽然DES的设计极其组和128/192/256位密钥,采用替代-置换计考虑了软硬件实现平衡,安全强度与出色,但由于密钥长度限制,如今已不再网络结构AES具有高安全性和优秀的软AES相当作为中国自主密码标准的重要安全其三重变体3DES仍在某些遗留系统硬件实现性能,是现代密码系统的基石组成部分,SM4在中国政府和金融领域应中使用用广泛算法详解DES基本结构1DES采用Feistel网络结构,将64位输入分组分为左右两个32位块密钥扩展2从56位主密钥生成16轮各48位子密钥加密过程3经过16轮迭代变换,每轮包括扩展、密钥混合、S盒替换和P盒置换解密过程4与加密结构相同,仅需逆序使用轮密钥DES算法首先对输入进行初始置换IP,然后进入16轮Feistel结构的迭代每轮中,右半部分先扩展到48位,与轮密钥进行XOR运算,再通过8个S盒压缩回32位,经P盒置换后与左半部分XOR,得到新的右半部分,原右半部分则成为新的左半部分DES的核心安全性来自S盒的非线性变换,它们的设计原则直到20世纪90年代才被完全公开,证明了NSA当时在密码学上的先进水平虽然单次DES如今已不安全,但其设计理念和结构对现代密码学有深远影响,其衍生算法3DES在某些场景仍有应用算法概述AES1Rijndael算法2密钥长度和分组大小AES基于比利时密码学家Joan AES标准规定分组大小固定为128位Daemen和Vincent Rijmen设计的16字节,支持三种密钥长度128Rijndael算法,在1997年NIST举办位10轮、192位12轮和256位14的AES竞赛中脱颖而出Rijndael算轮密钥长度的增加对应着轮数的法设计清晰优雅,安全性强,效率增加,提供更高的安全性,但也增高,硬件实现简单,且不受专利限加了计算开销目前,即使是AES-制,这些特点使其成为最终的AES标128也被认为能够抵抗所有已知的实准原始的Rijndael算法支持可变用攻击,而AES-256则为未来计算能的分组和密钥长度,而AES标准固定力提升提供了足够的安全边界了分组大小为128位3轮函数结构AES的轮函数由四个操作组成SubBytesS盒字节替换、ShiftRows行移位、MixColumns列混合和AddRoundKey轮密钥加SubBytes提供非线性变换,ShiftRows和MixColumns提供扩散特性,共同确保了混沌性和抗差分密码分析能力最后一轮没有MixColumns操作,以简化实现并保持结构对称性分组密码的工作模式分组密码的工作模式定义了如何处理大于单个分组的数据最简单的电子密码本ECB模式直接对每个分组独立加密,但存在模式识别风险;密码分组链接CBC模式通过与前一个密文分组异或增加了扩散效果;密文反馈CFB和输出反馈OFB模式将分组密码转化为流密码;而计数器CTR模式则支持并行处理,适合高性能应用不同模式在安全性、效率、误差传播和并行处理能力等方面各有优劣选择合适的工作模式是密码系统设计中的重要决策,需根据具体应用场景和安全需求进行权衡此外,所有模式通常还需配合初始向量IV和填充方案一起使用,以增强安全性流密码的基本概念密钥流同步流密码自同步流密码密钥流是流密码核心概念,指由密钥生同步流密码中,密钥流仅依赖于密钥和自同步流密码的密钥流依赖于前面若干成的伪随机序列,用于与明文进行逐位可能的初始向量,与明文和密文无关位密文,具有自动重新同步能力即使或逐字节异或操作理想的密钥流应具发送方和接收方必须严格同步,否则解传输过程中丢失部分数据,接收方仍能有良好的统计特性,表现为真随机,且密将失败同步流密码的优点是错误不在接收到足够密文后恢复正确解密这在不知道密钥的情况下不可预测密钥会传播,单个位错误只影响对应位的解种设计增加了实现复杂度,但提高了对流生成器的设计是流密码安全性的关键密大多数实用流密码如RC4和通信错误的容忍度CFB模式的分组密码,通常基于线性反馈移位寄存器LFSR ChaCha20都属于此类可视为一种自同步流密码或其他伪随机数生成器实现典型的流密码算法RC4RC4是由Ron Rivest设计于1987年的流密码,曾广泛应用于SSL/TLS、WEP和WPA等协议它结构极其简单,基于一个256字节的状态数组S和两个索引i、j进行字节置换操作RC4的主要优点是实现简单高效,可变密钥长度通常40-2048位然而,RC4存在多种密码学弱点,如状态偏差和相关密钥攻击,现已不推荐使用ChaCha20ChaCha20是Daniel J.Bernstein设计的现代流密码,是Salsa20的改进版它基于32位加法、异或和循环移位ARX运算,具有高安全性和卓越的软件实现性能ChaCha20通常与Poly1305认证算法配合使用,形成AEAD带认证的加密方案由于其优秀性能和安全性,ChaCha20-Poly1305已被IETF选为TLS
1.3的标准密码套件之一流密码在实时通信和资源受限设备上有广泛应用与分组密码相比,流密码通常实现更简单,处理速度更快,特别适合比特流加密现代流密码设计更加注重安全性与高性能的平衡,以及对侧信道攻击的防护在选择流密码时,应考虑其被密码学社区充分分析的程度和既定安全边界第四章公钥密码学公钥密码的基本概念1公钥密码学于1976年由Diffie和Hellman提出,彻底改变了密码学理论其核心思想是使用不同的密钥进行加密和解密公钥可公开,用于加密;私钥需保密,用于解密2RSA算法这解决了传统密码学中的密钥分发问题,同时开创了数字签名等新应用RSA算法是首个实用的公钥密码系统,由Rivest、Shamir和Adleman于1977年设计其安全性基于大整数分解的计算困难性RSA不仅可用于加密,还能实现数字签名ElGamal算法3,是现代密码基础设施的核心尽管计算开销较大,但因其成熟度和广泛验证,RSA仍广泛应用ElGamal算法基于离散对数问题,1985年由Taher ElGamal提出与RSA不同,它具有概率性加密特性,即相同明文多次加密得到不同密文ElGamal系统可扩展到椭圆曲线等其他代数结构,是多种现代密码方案的基础,如DSA数字签名算法椭圆曲线密码算法4椭圆曲线密码学ECC于1985年由Miller和Koblitz独立提出,利用椭圆曲线上点群的数学性质与RSA相比,ECC可使用更短密钥提供同等安全级别,适合资源受限环境随着量子计算威胁增加,ECC因高效率和良好安全边界变得更加重要公钥密码的基本概念公钥和私钥单向陷门函数密钥分发问题的解决公钥密码系统中,每个用户拥有一对数学相单向陷门函数是公钥密码系统的数学基础,公钥密码系统最重要的贡献是解决了传统密关的密钥可公开分发的公钥和严格保密的它具有正向计算容易,但逆向计算在不知道码学中的密钥分发难题在对称密码中,通私钥使用一方的公钥加密的数据只能用对陷门信息(私钥)的情况下计算困难的特性信双方必须预先通过安全信道共享密钥;而应的私钥解密,反之亦然这种非对称性是RSA基于大整数分解,ElGamal基于离散在公钥系统中,用户只需安全地获取对方的公钥密码的核心特征,它解决了对称密码中对数,ECC基于椭圆曲线离散对数问题,这公钥即可建立加密通信此外,通过PKI(的密钥分发难题,并实现了无需预先共享密些都是典型的单向陷门函数安全的公钥密公钥基础设施)和数字证书,可以验证公钥钥的安全通信码系统要求其底层数学问题不存在多项式时的真实性,防止中间人攻击,从而构建可扩间的解法展的安全通信网络算法RSA数学基础RSA算法基于欧拉定理和模算术,其安全性依赖于大整数分解的计算困难性如果能高效分解大整数,就能破解RSA,但目前最好的分解算法仍是亚指数时间复杂度,对于足够大的密钥(如2048位或4096位)仍被认为是安全的RSA还利用了模幂运算的单向性和欧拉函数的特性密钥生成RSA密钥生成过程包括选择两个大素数p和q;计算n=p×q和欧拉函数φn=p-1q-1;选择与φn互质的公钥指数e;计算满足e×d≡1modφn的私钥指数d公钥为n,e,私钥为n,d素数生成和测试使用Miller-Rabin等概率算法,而扩展欧几里得算法用于计算模逆加密和解密过程RSA加密对明文m,计算密文c≡m^e mod n;解密对密文c,计算明文m≡c^d modn实际应用中,RSA通常只用于加密会话密钥或签名哈希值,而不直接加密大量数据,这是因为RSA的计算开销远大于对称加密此外,为防止确定性加密导致的攻击,通常使用OAEP等填充方案安全性分析RSA面临多种潜在攻击,包括数学攻击(如因数分解)、协议攻击(如选择密文攻击)和实现攻击(如侧信道)为确保安全,需使用足够长的密钥,正确实现CRT加速、填充方案和盲签名等技术,避免共模攻击和定时攻击等风险随着量子计算发展,RSA也面临来自Shor算法的潜在威胁算法ElGamal离散对数问题ElGamal算法的安全性基于离散对数问题的计算困难性在有限域或群G中,已知底数g和结果g^x,求指数x是困难的虽然存在亚指数复杂度的算法(如指数筛法)可以解决某些群中的离散对数问题,但对于精心选择的群参数,ElGamal仍然被认为是安全的离散对数问题还是DSA、Diffie-Hellman等多种密码方案的安全基础密钥生成ElGamal密钥生成包括选择一个大素数p和其乘法群的生成元g;随机选择私钥x(1xp-1);计算公钥y=g^xmod p公钥是三元组p,g,y,私钥是x群参数p和g可以在多个用户间共享,这是ElGamal相比RSA的一个优势安全参数选择对算法安全性至关重要,通常p应至少为2048位加密和解密过程加密过程选择随机数k(1kp-1),计算两部分密文c₁=g^k modp和c₂=m·y^k modp,其中m是明文消息解密过程计算m=c₂·c₁^x^-1mod pElGamal是概率性加密算法,即使对相同明文多次加密也会产生不同密文,增强了语义安全性但密文长度是明文的两倍,这是其相对劣势与RSA的比较相比RSA,ElGamal具有以下特点基于不同的数学难题(离散对数vs因数分解),提供概率性加密而非确定性加密,密文长度是明文的两倍,计算开销通常较大,但支持同态加密特性ElGamal在某些应用中更受青睐,特别是当概率性加密或同态特性重要时但在实际应用中,RSA因其更早被广泛分析和标准化而更为普及椭圆曲线密码算法ECDH密钥交换椭圆曲线Diffie-Hellman(ECDH)是经典DH协议在椭圆曲线上的实现通信双方Alice和Bob各自生椭圆曲线的基本概念成私钥a、b和公钥A=aG、B=bG(G为基点)交ECDSA数字签名换公钥后,Alice计算aB,Bob计算bA,两者得到相椭圆曲线密码学(ECC)基于定义在有限域上的椭圆椭圆曲线数字签名算法(ECDSA)是传统DSA的椭同的点abG作为共享密钥与传统DH相比,ECDH曲线,通常表示为y²=x³+ax+b这些曲线上的点形圆曲线变体签名过程选择随机数k,计算点带宽需求更低、计算更快,广泛应用于TLS、Signal成一个加法群,点加法操作具有特殊的几何意义R=kG,r为R的x坐标,计算s=z+rd/k modn,其协议等安全通信中ECC的核心安全假设是椭圆曲线离散对数问题(中z为消息哈希,d为私钥签名为r,s验证过程ECDLP)已知点P和Q=kP,求解标量k是计算困难计算点z/sG+r/sQ,检查其x坐标是否等于r的ECC最大优势是小密钥提供高安全性,256位ECDSA广泛用于Bitcoin、TLS等系统,提供与RSAECC密钥安全性相当于3072位RSA同等安全性但更高效率的数字签名213第五章密钥管理1密钥生成安全的密钥生成是密码系统的首要步骤,需使用高质量熵源和密码学安全的随机数生成器2密钥分发解决如何安全地将密钥传递给合法用户,同时防止未授权方获取3密钥存储确保存储的密钥不被未授权访问,通常涉及加密存储和物理安全4密钥更新和销毁定期更新密钥降低长期使用风险,停用密钥后安全销毁防止恢复密钥管理是密码系统安全性的核心,再强大的加密算法如果密钥管理不当,也会导致整个系统崩溃实际应用中,大多数密码系统的漏洞来源于密钥管理不当,而非算法缺陷良好的密钥管理体系需考虑密钥的全生命周期,从生成、分发、使用、存储到更新和销毁的每个环节企业级密钥管理通常采用层次化结构,使用根密钥保护主密钥,主密钥保护工作密钥,并实施严格的职责分离和访问控制硬件安全模块HSM和可信平台模块TPM等专用设备提供了额外的物理和逻辑保护,是高安全需求环境中密钥管理的重要组成部分对称密钥的管理Diffie-Hellman密钥交换Diffie-Hellman协议是第一个公开的密钥交换协议,允许通信双方在不安全信道上建立共享密钥双方各自生成私钥a、b和公钥g^a modp、g^b modp(g和p为公共参数)交换公钥后,双方分别计算g^b^a modp和g^a^b modp,得到相同的值g^ab modp作为共享密钥该协议巧妙利用了模幂运算的单向性,即使窃听者获取全部公开信息,也难以计算出共享密钥KDC(密钥分发中心)密钥分发中心KDC是一种集中式密钥管理架构,由可信第三方管理用户密钥每个用户与KDC预先共享一个长期主密钥当用户A和B需要通信时,A向KDC请求与B通信的会话密钥,KDC生成随机会话密钥,分别用A和B的主密钥加密后发送给双方KDC架构简化了密钥管理,但存在单点故障风险,且KDC需处理所有会话建立请求,可能成为性能瓶颈Kerberos协议Kerberos是基于KDC的身份认证和密钥分发协议,由MIT开发,现已成为企业网络标准它使用票据ticket机制实现单点登录和会话密钥分发用户首次认证后获得票据授予票据TGT,之后可用TGT向票据授予服务TGS请求访问特定服务的服务票据,无需重复提供密码Kerberos通过引入时间戳防止重放攻击,并支持跨域认证Windows ActiveDirectory等系统使用Kerberos作为核心认证协议公钥基础设施()PKI证书吊销列表(CRL)证书认证机构(CA)证书可能因私钥泄露、持有者信息变更或不再满足数字证书证书认证机构CA是PKI中负责签发和管理数字证CA策略等原因在有效期内被吊销证书吊销列表数字证书是公钥基础设施中的基本组件,用于绑定书的可信第三方CA在验证申请者身份后,使用自CRL是CA定期发布的已吊销证书列表,包含证书公钥与实体身份X.509是最常用的证书标准,包身私钥对申请者的证书进行签名PKI通常采用层序列号和吊销原因在线证书状态协议OCSP提供了实时查询证书状态的替代机制有效的证书吊销含证书持有者信息、公钥、颁发者信息、有效期、次结构,顶层是根CA,其证书为自签名;中间CA算法标识符和证书签名等字段证书通过PKI的信由根CA签发证书,负责日常证书签发根CA的私机制对PKI安全性至关重要,但实践中常因分发和性能问题面临挑战钥安全至关重要,通常离线存储在高安全级别的硬任链条验证,由根证书授权机构Root CA或中间件安全模块中CA签名,确保公钥的真实性,防止中间人攻击第六章数字签名数字签名的基本概念RSA签名DSA签名数字签名是公钥密码学的重要应用,RSA签名利用RSA算法的私钥加密特数字签名算法DSA是美国NIST在提供身份认证和不可否认性签名过性对消息哈希值h,计算签名s=h^d1991年提出的专用签名标准DSA基程发送者用私钥对消息或其哈希值modn(d为私钥);验证时计算于离散对数问题,签名过程涉及随机进行加密,生成签名;验证过程接h=s^e modn(e为公钥),检查h数k、私钥x和消息哈希h,生成签名收者用对应公钥验证签名是否有效是否等于h实际应用中,通常采用对r,s;验证过程通过一系列模运算数字签名必须具备不可伪造性(只有PKCS#1等填充方案增强安全性RSA检查签名有效性与RSA相比,DSA私钥持有者能生成有效签名)和不可签名具有数学基础清晰、实现成熟的签名生成更快,签名尺寸更小,但验抵赖性(签名者无法否认自己的签名优势,但签名生成速度较慢,签名尺证稍慢,且对随机数k的安全性要求)寸较大极高ECDSA签名ECDSA是DSA的椭圆曲线变体,保持了相同的签名结构,但基于椭圆曲线离散对数问题相比传统DSA,ECDSA在同等安全级别下密钥和签名尺寸更小,更适合带宽和存储受限的环境ECDSA被广泛应用于区块链、TLS、移动安全等领域与DSA类似,ECDSA的安全性高度依赖随机数生成器质量数字签名的应用电子合同软件分发区块链技术数字签名在电子合同中发挥核心作用,提供与代码签名是数字签名在软件分发中的重要应用数字签名是区块链技术的核心组件,保障交易传统手写签名类似的法律效力签约双方使用,软件开发者使用私钥对程序或驱动签名,用的真实性和不可否认性在比特币等加密货币数字证书和私钥对合同文档进行签名,既验证户系统验证签名确认软件来源可信且未被篡改中,用户通过私钥对交易进行签名,证明资金了签署者身份,又确保合同内容在签署后无法操作系统如Windows和macOS会对未签名支配权每笔交易包含发送者的公钥和交易数篡改许多国家已立法承认数字签名的法律效或签名不可信的软件显示安全警告代码签名据的签名,网络节点通过验证签名确认交易有力,如中国的《电子签名法》电子合同平台证书通常由受信任的CA颁发,且比普通SSL证效区块链的地址通常派生自公钥,而私钥则通常采用时间戳服务,为签名提供可信的时间书要求更严格的身份验证移动应用商店如是访问对应资产的唯一凭证,私钥丢失意味着证明,并保存完整的签署审计跟踪App Store和Google Play要求所有应用必须永久失去对资产的控制权签名才能发布第七章消息认证码1MAC的基本概念2HMAC3CMAC消息认证码MAC是一种使用对称密钥验证HMAC哈希消息认证码是最广泛使用的CMAC密码消息认证码是基于分组密码的消息完整性和来源真实性的技术发送方使MAC算法,通过组合密钥和加密哈希函数MAC算法,解决了早期CBC-MAC的安全缺用密钥和MAC算法计算消息的认证码,与构建其结构为陷CMAC使用AES等分组密码的CBC模式消息一起发送;接收方使用相同密钥重新计HMACK,m=HK⊕opad||HK⊕ipad,但增加了特殊的最后块处理和子密钥派生算认证码并比对,以验证消息是否被篡改||m,其中H为哈希函数,opad和ipad,使其能够安全处理任意长度的消息与与数字签名不同,MAC使用对称密钥,计为固定常量HMAC可使用任意加密哈希函HMAC相比,CMAC在硬件加速可用的环境算效率更高,但不提供非否认性(因为发送数如SHA-256,安全性依赖于底层哈希函数中可能更高效,特别是已实现AES硬件但没方和接收方使用相同密钥)相比简单的密钥+消息哈希方法,有哈希加速的系统CMAC被NIST推荐用HMAC能抵抗长度扩展攻击,被广泛应用于于联邦政府系统TLS、IPsec等协议消息认证码的应用数据完整性保护身份认证协议消息认证码在数据完整性保护中发挥关键作用,特别是对存储数MAC是多种身份认证协议的核心元素,提供实体认证和密钥派据和传输数据的完整性验证在存储场景中,系统可为重要文件生功能在挑战-响应认证中,服务器发送随机挑战,客户端计计算MAC值并单独存储,在文件访问时重新计算MAC进行比对算该挑战的MAC值作为响应,服务器验证响应确认客户端持有,检测未授权修改例如,数据库系统使用MAC保护关键配置正确密钥这种方法避免了直接传输密码,防止重放攻击和密码文件,操作系统使用MAC验证系统文件完整性,防止恶意软件窃听篡改在分布式系统中,MAC常用于生成认证令牌例如,Web应用在数据传输应用中,MAC确保网络通信过程中数据不被篡改中的会话令牌可以是服务器使用密钥对会话数据计算的MAC,TLS协议在记录层使用HMAC验证每个传输的数据块,IPsec协确保客户端无法伪造或篡改会话信息OAuth等授权协议使用议使用MAC保障VPN通道中数据完整性MAC还常用于保护备MAC保护访问令牌,RADIUS和TACACS+等网络认证协议使用份数据、软件更新包和配置信息的完整性,确保还原或应用时数MAC验证请求的真实性和完整性,防止身份冒充和消息篡改攻据未被破坏或篡改击第八章哈希函数哈希函数的性质MD51加密哈希函数接受任意长度输入,产生固定长度摘要曾广泛使用的128位哈希算法,已证实存在碰撞攻击,具备四大关键特性2,不再安全SM3SHA系列4中国商用密码标准,256位哈希算法,安全性与从SHA-1到SHA-3的演进,安全强度不断提升,3SHA-256相当SHA-256是当前主流选择哈希函数是现代密码学的基础工具,理想的加密哈希函数应具备单向性(由哈希值计算原像在计算上不可行)、弱抗碰撞性(给定消息,找到具有相同哈希值的另一消息在计算上不可行)、强抗碰撞性(找到任意两个具有相同哈希值的不同消息在计算上不可行)和雪崩效应(输入的微小变化导致输出的显著变化)随着计算能力的提升和密码分析技术的发展,哈希算法也在不断更新MD5和SHA-1已被证实存在安全缺陷,不应用于新系统SHA-2系列(包括SHA-256/384/512)目前仍被认为安全,而SHA-3采用了全新的海绵结构设计,提供了不同的安全保证选择哈希算法时,应考虑当前的安全建议和应用需求哈希函数的应用数字签名密码存储区块链中的工作量证明哈希函数在数字签名中扮演关键角色,大多数密码安全存储是哈希函数的重要应用系统不哈希函数是比特币等区块链系统工作量证明签名算法不直接对原始消息签名,而是对其哈应存储明文密码,而应存储密码的哈希值,验PoW机制的核心矿工通过调整区块中的随希值签名这带来三大优势提高效率(哈希证时比对输入密码的哈希值为防止彩虹表攻机数,寻找使区块哈希值小于特定目标的值,值长度固定且小于原消息);增强安全性(防击,应使用盐(随机数)与密码结合后再哈证明完成了大量计算工作由于哈希函数的单止针对签名算法的特定攻击);简化实现(处希,并采用专用的密码哈希函数如bcrypt、向性,找到满足条件的哈希值需要大量尝试,理定长数据更容易)PKI体系中,证书验证PBKDF2或Argon2,这些函数故意设计为计算但验证结果只需一次哈希计算这种机制确保、签名验证和吊销检查都依赖哈希函数缓慢,增加暴力破解难度,有些还要求大量内了区块创建的计算成本,防止恶意节点轻易操存,抵抗硬件加速攻击纵区块链,同时保证了分布式共识的安全性第九章随机数生成真随机数伪随机数密码学安全的伪随机数生成器真随机数TRNG直接从物理随机源获取熵,如热噪伪随机数PRNG通过确定性算法从初始种子生成看密码学安全的伪随机数生成器CSPRNG是专为密码声、射频噪声、量子现象等这些物理过程本质上不似随机的序列线性同余生成器是最简单的PRNG,应用设计的特殊PRNG,满足更严格的安全性要求可预测,生成的随机数具有真正的随机性真随机数但密码学应用通常使用更复杂的算法伪随机数的主即使攻击者获得部分输出,也无法预测过去或未来的生成器通常由物理噪声源、放大器和采样电路组成要优势是生成速度快、结果可重现(相同种子产生相输出,且无法推导出种子典型实现包括基于哈希函它们的主要缺点是生成速度较慢,且可能受环境因素同序列),适合模拟和测试但若种子可预测或算法数(如HMAC-DRBG)、分组密码(如CTR-DRBG影响,导致随机性质量波动为增强可靠性,现代系不安全,生成的序列可能被破解普通PRNG适用于)或特定设计(如ChaCha20)的生成器现代操作统通常对原始熵进行处理,如去偏和哈希强化统计模拟和游戏,但不满足密码学安全要求系统提供的/dev/urandomLinux和CryptGenRandomWindows等接口都是CSPRNG实现随机数的应用1密钥生成2加密中的随机填充3挑战-响应认证协议随机数在密钥生成中的作用至关重要,密钥许多加密方案需要随机填充来增强安全性随机数是挑战-响应认证协议的基础,用于的安全性直接依赖于其随机性对称密钥、例如,RSA-OAEP和RSA-PSS等现代RSA方防止重放攻击服务器向客户端发送随机挑非对称密钥对的私钥部分以及会话密钥都必案使用随机填充抵抗确定性攻击;CBC模式战,客户端必须基于该挑战计算响应(通常须使用密码学安全的随机数生成器产生如加密需要随机IV防止模式重用攻击;AEAD涉及密码或私钥)由于每次认证使用新的果随机数生成器有缺陷,即使使用强加密算模式如GCM通常需要唯一的随机数随机挑战,即使攻击者截获了之前的挑战和法,系统仍可能被攻破历史上著名的安全Nonce高质量的随机填充确保即使加密响应,也无法重用它们网络认证协议如事件,如2008年Debian OpenSSL漏洞,相同明文多次,也会产生不同密文,实现语CHAP、EAP、Kerberos以及现代双因素认就源于随机数生成器的弱化,导致生成的义安全填充随机性不足可能导致像BEAST证系统都依赖随机挑战来保障安全性SSL密钥可被预测和POODLE这样的侧信道攻击第十章密码协议密码协议是多方参与的安全通信规则,基于密码学原语实现身份认证、密钥交换和安全通信等功能身份认证协议用于验证通信实体身份,从简单的密码认证到复杂的多因素认证和生物特征认证;密钥交换协议允许通信方在不安全信道上安全地建立共享密钥,如Diffie-Hellman和基于身份的密钥交换;零知识证明协议则能在不泄露关键信息的情况下证明某一知识或条件的满足设计安全的密码协议极具挑战性,即使使用安全的基本密码算法,协议层面的设计缺陷也可能导致严重漏洞协议安全分析需考虑各种攻击模型,包括被动监听、主动篡改、重放攻击和中间人攻击等形式化验证方法如BAN逻辑、模拟证明和计算机辅助验证工具已成为复杂密码协议设计的重要手段现代密码协议通常需同时满足多种安全属性,如前向安全性、会话独立性和身份保护等协议SSL/TLS握手过程1TLS握手是建立安全连接的第一步,主要完成四项任务协商协议版本和密码套件;验证服务器身份(可选验证客户端);生成会话密钥;建立安全参数TLS
1.3简化了握手过程,仅需一个往返(1-RTT)即可完成,支持0-RTT恢复握手期间,服务器提供证书链供客户端验证,双方通过密钥交换算法(如ECDHE)建立共享密钥,并验证握手消息未被篡改密钥协商2TLS使用混合加密体系,通过非对称密钥交换建立共享密钥,然后用对称加密保护数据早期版本支持RSA密钥交换(服务器证书的公钥直接加密预主密钥),但不提供前向安全性现代TLS优先使用基于Diffie-Hellman的密钥交换(ECDHE或DHE),即使服务器私钥泄露,之前的会话记录也无法解密TLS
1.3仅保留支持前向安全的密钥交换算法会话恢复3TLS会话恢复机制允许客户端和服务器在之前建立的安全连接基础上恢复通信,避免完整握手的开销TLS
1.2使用会话ID和会话票据两种方式会话ID由服务器存储会话状态;会话票据则由服务器加密会话信息后发给客户端保存TLS
1.3引入PSK(预共享密钥)模式,支持0-RTT数据发送,但需注意重放攻击风险会话恢复大幅提升了HTTPS等应用的性能协议IPSec协议协议密钥交换AH ESPIKE认证头(Authentication Header,封装安全载荷(Encapsulating因特网密钥交换(Internet KeyAH)协议提供数据完整性、源认证和可Security Payload,ESP)协议提供数Exchange,IKE)协议是IPSec的控制平选的重放防护,但不提供保密性AH在据保密性、完整性、源认证和重放防护面协议,负责认证IPSec对等体、建立共IP头后添加一个认证头,包含安全参数,是IPSec中使用最广泛的协议ESP在享密钥和协商安全关联SA参数IKEv2索引SPI、序列号和认证数据认证数数据前后添加头和尾,头包含SPI和序列(当前版本)使用两阶段交换第一阶据是对整个IP包(包括不可变的IP头字号,尾包含填充和认证数据ESP使用对段建立安全IKE SA,第二阶段使用IKE段)计算的MAC值AH可运行在传输模称加密算法(通常为AES-GCM)保护数SA保护协商子SA用于AH或ESPIKE支式(仅保护上层协议数据)或隧道模式据,使用MAC算法验证完整性与AH类持多种认证方式,包括预共享密钥、数(保护整个原始IP包)由于缺乏加密似,ESP也支持传输模式和隧道模式,但字证书和EAP现代IKE实现通常使用椭功能,AH已较少使用,多被ESP替代ESP更灵活,可仅提供加密、仅提供认证圆曲线密码学提高性能,并支持NAT穿或同时提供两者越和移动客户端第十一章访问控制自主访问控制()强制访问控制()基于角色的访问控制()DAC MACRBAC自主访问控制由资源所有者决定谁可以访问资源强制访问控制由系统统一管理访问规则,个体用基于角色的访问控制将权限分配给角色而非直接及其权限级别DAC是最灵活的访问控制模型,户不能更改安全策略典型MAC模型包括多级安分配给用户,用户通过获得角色间接获得权限广泛应用于操作系统文件系统和数据库系统典全的Bell-LaPadula(保密性)、Biba(完整性RBAC在企业系统中最为常见,支持职责分离、型实现如Unix/Linux的用户-组-其他权限模型和)和基于格的中国墙模型MAC在军事和政府高最小权限和层次角色等安全原则现代RBAC通Windows的访问控制列表ACLDAC灵活性高安全系统中应用广泛,如SELinux和AppArmor常支持角色继承、静态和动态职责分离约束,管理简单,但安全性较弱,容易受到特洛伊木MAC提供更强的安全保障,能防止特权升级和RBAC简化了权限管理,降低了管理成本,支持马等攻击,且难以实现全局安全策略,不适合高信息泄露,但配置复杂,管理成本高,用户体验企业政策实施,但可能导致角色爆炸问题,且难安全需求环境较差,主要用于高安全需求环境以表达细粒度或特定情境的访问规则访问控制矩阵访问控制列表(ACL)访问控制列表是访问控制矩阵的列向存储实现,为每个受保护对象维护一个授权主体列表及其权限ACL结构简单直观,广泛应用于文件系统、网络设备和云服务Windows NTFS、Linux ext4文件系统和AWS IAM都采用ACL模型ACL的主要优势是容易理解和实现,便于查询特定资源的访问权限然而,ACL也存在局限性难以快速查询某用户的所有权限;权限撤销和用户删除操作复杂,需要遍历所有对象的ACL;分布式系统中ACL同步和一致性维护困难随着系统规模增长,ACL管理复杂度提高,可能导致权限蔓延和安全配置错误为解决这些问题,现代ACL常与组机制或基于角色的访问控制结合使用能力列表能力列表是访问控制矩阵的行向存储实现,为每个主体维护一个不可伪造的权限证书(能力)列表能力通常由系统签名或加密保护,防止用户伪造能力模型在分布式系统和微内核操作系统中具有优势,如KeyKOS、EROS和现代容器平台中的权能机制能力模型的主要优点是权限检查高效,主体直接提供能力证明;支持精细的权限委派和传递;便于实现最小权限原则与ACL相比,能力模型更适合分布式环境,因为验证不需要中央授权服务然而,能力模型也面临挑战难以全局查看对象的访问权限分布;能力撤销机制复杂;传统应用程序迁移适配困难现代系统如Android的委派权限和SPIFFE身份框架融合了能力思想第十二章安全多方计算安全多方计算的应用1隐私计算、联合学习、安全拍卖等秘密共享技术2将秘密分割为多个部分,需达到阈值才能重建混淆电路协议3将函数转换为加密电路进行安全计算基本概念4多方在不泄露各自输入的前提下计算函数安全多方计算MPC是密码学的先进领域,研究如何让多个互不信任的参与方协作计算,得到正确结果但不泄露各自的私有输入MPC的理论基础由姚期智于1980年代通过百万富翁问题奠定,证明了任何可计算函数都能通过安全协议实现,即使在部分参与方可能是恶意的情况下现代MPC方案主要基于混淆电路、秘密共享和同态加密等技术随着算法优化和硬件性能提升,MPC从理论研究逐渐转向实用系统,在金融分析、医疗研究、区块链和隐私保护等领域展现出巨大潜力例如,银行可通过MPC分析合并风险而不交换客户数据,医疗机构可联合分析患者数据而不违反隐私法规,企业可进行基准比较而不泄露商业机密同态加密部分同态加密部分同态加密支持有限的操作类型,如仅加法或仅乘法RSA具有乘法同态性Em₁×Em₂=Em₁×m₂,但不支持加法Paillier密码系统支持加法同态Em₁×Em₂=Em₁+m₂,允许密文加法和明文乘法ElGamal也具有乘法同态性这些方案在特定应用如安全投票、简单统计分析等领域有效,但无法支持复杂计算全同态加密全同态加密FHE支持对密文进行任意次数的加法和乘法操作,理论上可执行任何计算2009年,Craig Gentry首次构造了可行的FHE方案,基于理想格密码此后,IBM、微软等机构持续改进FHE,如BGV、BFV、CKKS和TFHE等方案降低了计算开销尽管如此,FHE仍有显著性能瓶颈,当前技术下复杂计算可能比明文慢几个数量级应用场景同态加密适用于数据保持加密状态但需处理的场景云计算中,客户可将加密数据存储在不可信云服务器,服务器执行计算后返回加密结果,全程无法获取明文医疗领域,同态加密允许分析敏感患者数据而不泄露个人信息金融分析可安全计算多方数据,如风险评估和交易匹配物联网设备可加密传输数据,允许服务器分析但不泄露用户隐私第十三章量子密码学1量子计算的威胁2量子密钥分发量子计算机利用量子态叠加和纠缠特性,量子密钥分发QKD利用量子力学原理实对特定问题具有指数级加速Shor算法现理论上无条件安全的密钥交换BB84可在多项式时间内分解大整数和计算离散是最知名的QKD协议,基于量子不可克隆对数,直接威胁RSA、DSA和ECC等传统定理和测量扰动原理任何窃听尝试都会公钥密码系统Grover算法对对称密码改变量子态,使通信双方能检测到入侵的威胁相对较小,只能将n位密钥的安全QKD已在实验室和小规模网络中实现,但性降至√n当前量子计算机规模仍有限,面临现实挑战,如距离限制(光纤中几百但技术进步迅速,预计未来15-30年可能公里)、噪声影响和设备实现缺陷导致的出现能破解当前加密系统的大规模量子计侧信道攻击卫星量子通信是克服距离限算机制的重要方向3后量子密码算法后量子密码学研究量子计算机时代的安全密码算法主要方向包括基于格密码(NTRU、LWE)利用最短向量问题的计算困难性;基于码密码(McEliece)利用解码随机线性码的困难性;基于多变量多项式(Rainbow)利用解多变量方程的困难性;基于哈希(SPHINCS+)利用哈希函数抗碰撞性NIST正进行后量子密码标准化,已选定CRYSTALS-Kyber密钥封装和CRYSTALS-Dilithium等算法,预计未来几年将发布正式标准第十四章区块链密码学以太坊中的密码学应用以太坊在比特币密码学基础上增加了新元素Keccak-256(SHA-3变种)替代SHA-256作为主要哈希函数;零知识证明在区块链中的应用Ethash挖矿算法设计为内存密集型,抵抗ASIC集中化比特币中的密码学应用;账户使用确定性密钥生成;智能合约执行环境中整合零知识证明允许证明者向验证者证明某语句真实性,而了多种密码原语;状态采用Patricia-Merkle树存储,比特币将多种密码技术融合为去中心化支付系统不泄露任何其他信息在区块链中,ZK-SNARKs和ZK-支持高效状态验证随着权益证明转型,以太坊还引入SHA-256哈希函数用于工作量证明挖矿和区块链接;STARKs等技术提供了强大隐私保护和扩展性Zcash了BLS聚合签名等技术,优化验证者共识效率ECDSA基于secp256k1曲线实现数字签名,验证交易使用ZK-SNARKs实现交易金额和地址隐私;以太坊ZK授权;Merkle树结构实现交易包含证明;RIPEMD-Rollups利用零知识证明压缩链上数据,提高吞吐量;160与SHA-256结合生成地址;密码学时间戳确保交易zkSync等二层网络结合零知识证明和批处理交易,大顺序比特币系统展示了如何将密码学从传统安全通信幅降低交易成本;Polygon Zero等项目则探索递归证扩展到构建去中心化信任机制明,进一步提升可扩展性213第十五章密码分析穷举攻击1系统地尝试所有可能的密钥或密码,直到找到正确的差分密码分析2分析明文差异如何影响密文,寻找统计规律破解密钥线性密码分析3利用明文和密文位之间的线性近似关系推导密钥信息密码分析是研究密码系统漏洞和攻击方法的学科,对评估和提高密码系统安全性至关重要穷举攻击是最直接的方法,但随着密钥长度增加,计算复杂度呈指数增长现代密码分析技术如差分和线性分析,利用密码算法的统计特性寻找与随机行为的偏差这些方法对设计不当的S盒和轮函数特别有效除了这些经典方法,还有代数攻击(将密码系统表示为代数方程组求解)、相关密钥攻击(利用相关密钥的密文关系)、斜线攻击(结合差分和线性方法)等密码分析不仅适用于破解,也是设计安全密码系统的必要工具密码算法通常需经过多年公开分析和审查才能视为安全,许多著名算法都经历过安全边界的重新评估和加强旁路攻击时间攻击能量分析攻击故障注入攻击时间攻击利用密码操作执行时间的微小差异泄能量分析攻击监测设备执行密码操作时的功耗故障注入攻击通过在设备执行密码操作时引入露敏感信息例如,传统比较操作在首个不匹模式,主要分为简单功耗分析SPA和差分功耗物理干扰(如电压尖峰、时钟故障、电磁脉冲配字节处立即返回,使攻击者能逐字节猜测密分析DPASPA直接观察功耗曲线中的模式,或激光照射),使计算产生错误,进而泄露密码;RSA实现中,密钥位为1时执行额外的平方可识别RSA中的乘法和平方操作序列;DPA则钥信息经典的Bellcore攻击展示了RSA-CRT操作,导致时间差异可能泄露私钥位防御方应用统计方法分析多次测量数据,能从噪声中实现中单个故障可导致完全私钥泄露现代手法包括常量时间实现(如比较操作无论输入如提取微弱信号,甚至突破随机掩码防护智能机安全芯片和加密钱包硬件需特别防范此类攻何都消耗相同时间)、添加随机延迟和使用远卡、嵌入式设备和移动设备特别容易受到此类击主要防御技术包括冗余计算(同一操作计程服务器(增加网络噪音)TLS握手和API认攻击防御措施包括平衡功耗、随机掩码、硬算多次并比较结果)、错误检测码、传感器监证是时间攻击的常见目标件屏蔽和引入随机性测和物理隔离措施第十六章密码工程1密码算法的实现2随机数生成器的实现密码算法实现涉及从数学抽象到高效安全安全随机数生成至关重要,实现包括熵收的代码转换软件实现考虑平台兼容性、集、熵评估和随机数生成三个核心环节性能优化和安全防护;硬件实现(如熵源可来自硬件(如电子噪声、时钟漂移FPGA和ASIC)则追求高吞吐量和低延迟、硬盘寻道时间)或系统事件(如用户输实践中需权衡速度、内存占用、功耗和入、网络流量、中断时序)现代操作系安全性表查找与计算平衡、循环展开、统通常维护熵池,持续收集各种随机事件SIMD指令集和位切片技术是常见优化手,经去偏、混合和加密处理后输出随机数段同时,实现必须防范缓存时序、数据实现需防止熵耗竭攻击、预测攻击和状残留和侧信道攻击,确保算法行为与规范态恢复攻击,同时满足各安全级别的随机一致,避免引入新漏洞性要求3密钥管理的实现密钥管理实现涵盖密钥生命周期各阶段生成高熵密钥;安全分发(如内核空间传递、安全信道或预装);授权使用(访问控制、二次认证);安全存储(加密、分割、硬件保护);定期轮换和安全销毁(多次覆写、物理销毁)企业级实现通常采用PKCS#11等标准接口,结合HSM硬件提供根密钥保护云环境中,AWS KMS、Azure KeyVault等服务提供密钥管理即服务,简化了实现复杂度常见的密码库OpenSSL Bouncy Castle libsodiumOpenSSL是最广泛使用的开源密码学工具包和Bouncy Castle是Java和C#平台上流行的密码libsodium是现代、易用、高安全性的密码库库,提供TLS/SSL协议实现及各种密码学功能库,提供轻量级API和丰富的算法实现它的,源自NaCl项目但提供更好的跨平台支持和它包含加密算法(对称、非对称、哈希)、优势在于纯代码实现(无需本地库)、全面的API它专注于提供足够好的默认选项,避证书管理、密钥生成和密码协议的完整实现算法支持(包括许多不常见算法)和良好的跨免开发者做出危险选择libsodium仅包含经大多数Linux系统和许多网络应用依赖平台特性Bouncy Castle支持X.509证书处过严格审查的现代算法(如ChaCha
20、OpenSSL,如Apache、Nginx和各种编程语理、CMS、PKCS标准、PGP和S/MIME等,是Poly
1305、Ed
25519、XSalsa
20、Argon2)言的密码扩展尽管2014年的Heartbleed漏开发安全Java应用的首选库之一对于需要高并提供高级功能如密钥派生、安全内存处理和洞暴露了其安全问题,但经过代码审查和重构级密码功能和严格兼容性的应用,Bouncy随机数生成其API设计简洁、难以误用,且,现代版本已显著提升了安全性和性能Castle提供了比JCA/JCE更全面的功能集有多种编程语言的绑定,是新项目的理想选择第十七章密码学在网络安全中的应用1VPN虚拟专用网络使用密码学技术在公共网络上创建安全通道,实现企业内部网络的远程访问和站点间连接典型VPN如IPSec使用IKE协议进行身份认证和密钥交换,然后使用ESP协议加密数据;SSL/TLS VPN则基于网络浏览器的安全协议,提供更灵活的访问控制现代VPN还融合了完美前向保密、双因素认证和零信任架构等技术,确保远程办公的安全性2HTTPSHTTPS将TLS协议与HTTP结合,保护Web通信的安全TLS握手过程中,服务器提供证书证明身份,双方协商加密算法和会话密钥,后续HTTP数据均被加密传输HTTPS防止数据窃听、篡改和中间人攻击,已成为Web安全的基础随着Lets Encrypt等免费证书服务兴起和浏览器对HTTP站点的警告策略,HTTPS已从银行等敏感网站扩展到几乎所有Web服务安全电子邮件3S/MIME和OpenPGP是两大主要电子邮件安全标准,通过密码学实现邮件的加密和签名S/MIME依赖PKI和X.509证书,与企业邮件系统集成更好;PGP使用Web ofTrust模型,更适合个人和去中心化场景两者都可提供端到端加密,确保只有预期接收者能读取邮件内容,并支持数字签名验证发件人身份和邮件完整性,防止钓鱼和伪造第十八章密码学在物联网中的应用轻量级密码算法设备认证安全固件更新物联网设备通常计算能力有限、内存受限且能耗敏感物联网环境中,设备身份认证至关重要由于大量设安全的固件更新机制是物联网设备生命周期管理的关,需要专门的轻量级密码算法PRESENT、备和多样化连接方式,传统用户名密码模式不适用键密码学在此扮演核心角色固件包必须经过签名SIMON/SPECK、LEA和ChaCha20等算法针对资源公钥基础设施PKI结合设备证书是常用方案,每个验证,确保来源合法且未被篡改;敏感更新内容可能受限环境优化,提供合理安全性的同时最小化资源占设备在生产时嵌入唯一证书和私钥轻量级认证协议需要加密传输,防止专有技术泄露;版本回滚保护机用例如,PRESENT只需
1.5K门电路实现,而标准如DTLS-PSK使用预共享密钥简化过程;基于硬件的制防止攻击者强制安装旧版本利用已知漏洞基于区AES需要约10K这些算法采用简化轮函数、较小分信任根如TPM、TEE或PUF提供更高安全保证,即块链的固件分发利用分布式账本不可篡改特性,记录组大小和针对硬件/软件优化的指令设计,适应从简使固件被攻击也能保护密钥多因素认证将设备特征固件版本和哈希值,便于追踪和审计OTA空中下单传感器到工业控制设备的各类物联网场景、位置和行为模式结合,进一步增强安全性载更新进一步要求断电恢复和原子性更新,确保设备不会因更新中断而变砖第十九章密码学在云计算中的应用128256数据加密密钥管理云环境下数据加密分为静态加密、传输加密和使用中云密钥管理服务提供集中化、高可用的密钥生命周期加密三层保护管理512安全多方计算允许云上多租户在不共享原始数据的情况下进行协作计算云计算环境下的密码学应用面临独特挑战和机遇数据加密方面,云服务提供商如AWS、Azure和GCP都提供全面的加密解决方案静态加密保护存储数据,常用AES-256算法和硬件加速;传输加密通过TLS保护数据流动;而新兴的使用中加密技术如同态加密和可信执行环境正逐步解决计算过程中的数据保护问题密钥管理已从自建基础设施演变为密钥管理即服务KMaaS模型,由云平台提供集中式密钥存储、轮换、审计和访问控制,并与HSM集成提供硬件级保护BYOK自带密钥和HYOK保留密钥模式增强了客户对密钥的控制权而在多云和混合云环境中,统一密钥管理和身份联合更是确保一致性安全策略的关键密码学技术结合零信任架构,正成为云安全的基础设施第二十章密码学在移动安全中的应用安全启动应用签名安全启动Secure Boot是移动设备防篡改的应用签名确保移动应用来源可信且未被篡改第一道防线,使用密码学验证引导过程中每个开发者使用私钥对应用包签名,应用商店和设软件组件的完整性和来源设备首先验证引导备使用对应公钥验证iOS要求所有应用使用加载程序,然后是操作系统内核,最后是系统Apple颁发的开发者证书签名,并经过App组件每一步都通过数字签名验证,形成信任Store审核;Android允许多来源应用,但仍链iOS的Secure Enclave和Android的推荐通过Google Play分发,对未知来源应用Verified Boot实现了类似机制如果验证失败提示风险应用签名还支持权限管理、应用更,设备可能拒绝启动或进入有限功能模式安新验证和应用间通信认证,是移动平台安全模全启动防止恶意软件在底层修改系统,是移动型的核心恶意应用常尝试重打包流行应用,安全防护的基础但签名验证有效阻止了此类攻击安全存储移动设备安全存储使用密码学保护敏感数据,如密码、令牌和个人信息iOS的数据保护和Android的文件加密系统对文件应用不同保护级别关键数据通常使用设备唯一密钥和用户密码派生的密钥进行加密,可能还与硬件安全模块如Secure Enclave或Titan M绑定现代移动应用通过KeyChainiOS或KeyStoreAndroidAPIs存储密钥和凭证,而不是直接管理加密生物识别解锁Face ID/Touch ID通常解锁加密密钥而非直接访问数据,增强了便利性同时保持安全性第二十一章密码学在金融领域的应用电子支付安全密码学为电子支付提供基础安全保障PCI-DSS标准要求卡数据加密存储和传输,终端采用点对点加密P2PE保护交易数据EMV芯片卡使用复杂密码协议验证卡片真实性并生成交易特定密码移动支付如Apple Pay使用标记化技术,用临时令牌替代实际卡号,结合设备特定密钥和交易计数器生成动态安全码3D Secure等技术为在线交易增加额外认证层,而PSD2的强客户认证SCA要求结合多因素验证支付身份数字货币密码学是数字货币的核心技术基础比特币等加密货币使用公钥作为地址,私钥控制资金,ECDSA签名验证交易授权交易通过去中心化共识机制验证,防止双重支付中央银行数字货币CBDC探索采用更高效的密码方案,如中国数字人民币使用国密SM2/SM3/SM4算法,并引入可控匿名技术平衡隐私和监管去中心化金融DeFi进一步扩展了密码学应用,引入零知识证明、门限签名和安全多方计算等技术,实现去信任化金融服务金融交易认证金融交易认证系统依赖密码学确保交易安全和不可否认性机构间大额支付系统如SWIFT采用多级加密和数字签名确保报文真实性和完整性交易所和结算系统使用零知识证明实现交易验证而不泄露敏感信息企业财务系统采用多重签名技术,要求多个授权者共同批准大额交易生物识别结合公钥基础设施的混合认证系统正成为高价值交易的标准,而区块链技术正被探索用于构建透明且不可篡改的交易审计系统第二十二章密码学在隐私保护中的应用匿名通信1匿名通信技术使用密码学原理隐藏通信方身份和内容洋葱路由(Tor网络)是代表性技术,通过多层加密和多跳转发实现匿名性,每个节点只知道前一跳和后一跳,无法获知完整路径数据包被逐层加密,经过多个节点时逐层解密,确保中间节点无法了解通信内容和真实目的地混合网络(Mixnetworks)增加了消息混合、随机延迟和填充流量等混淆技术,提供更强的时序分析防护差分隐私2差分隐私是一种数学框架,通过向数据集查询结果添加精心设计的随机噪声,确保无法推断出个体信息差分隐私为隐私保护提供了可证明的数学保证和可量化的隐私预算苹果、谷歌和微软已在产品中采用差分隐私保护用户数据,如输入预测、使用统计和位置数据分析它平衡了数据可用性和隐私保护,允许组织分析总体趋势同时保护个人隐私,特别适合医疗研究和人口统计分析可搜索加密3可搜索加密允许用户在加密数据上执行搜索操作,无需先解密对称可搜索加密适用于个人数据,用户加密数据和搜索关键词;公钥可搜索加密允许第三方向用户加密数据添加文档,用户持有私钥搜索相关技术包括可验证加密,确保云服务提供正确结果;功能加密,允许计算特定函数而不泄露完整数据;和格式保留加密,保持加密前后数据格式,便于集成现有系统第二十三章密码学标准和法规国际密码学标准中国密码学标准密码产品管理条例国际密码学标准由多个组织制定和维护中国密码学标准体系围绕国家密码管理各国对密码产品的管理体现了安全与商,确保密码技术的互操作性和安全性局制定的商用密码标准展开,形成了完业的平衡中国《商用密码管理条例》NIST(美国国家标准与技术研究院)发整的SM(商密)系列算法族SM2是建立了商用密码分类管理制度,规范研布的FIPS系列和特别出版物(SP800系基于椭圆曲线的公钥密码算法,支持数发、生产和使用欧盟通过GDPR间接推列)定义了广泛采用的加密算法、协议字签名、密钥交换和公钥加密;SM3是动加密技术应用,要求数据保护措施和实践指南ISO/IEC制定的27000系列密码杂凑算法,输出256位摘要;SM4是美国出口管理条例EAR限制强加密技术标准提供信息安全管理框架,其中JTC分组密码算法,使用128位密钥和分组;出口,同时通过NIST认证计划验证产品1/SC27工作组专注密码技术标准化SM9是基于身份的密码算法,简化公钥合规性Wassenaar协议等多边机制协IETF通过RFC文档规范互联网密码协议,分发此外,中国还制定了密码模块安调成员国加密技术出口政策近年趋势如TLS、IPsec和PKIXIEEE、W3C和全技术要求、密码应用标识规范等配套是放宽商用密码管理,同时加强关键基TCG等组织也在各自领域制定相关标准标准,以及行业特定标准如金融数据密础设施密码应用监管码保护规范第二十四章密码学的伦理问题隐私与安全的平衡密码学出口管制后门争议密码学在隐私保护和安全需求之间创造了复杂的伦密码技术历来被视为军民两用技术,受到各国出密码系统中的后门(允许绕过正常加密的机制)理张力强加密技术赋予个人保护隐私的能力,但口管制冷战时期,强加密技术被严格限制;20世引发了激烈伦理辩论政府机构主张需要这些访问也可能妨碍执法机构侦查犯罪的努力这种平衡在纪90年代密码战争后,商用加密产品管制逐渐放机制以打击恐怖主义和犯罪,提出特殊访问或不同社会环境中有不同权衡某些国家优先考虑集宽,但高强度密码技术仍受控制这种管制引发了负责任加密概念技术专家则警告,有意设计的体安全,要求密码系统提供合法访问机制;而其他伦理争议限制可能损害全球信息安全,尤其对人弱点无法保证只被授权方使用,也可能被犯罪分子国家更强调个人隐私权,支持无限制的加密使用权活动家和记者;但完全自由流通可能使敏感技术、外国情报机构或内部威胁利用此外,全球化市技术社区正在探索隐私保护技术与合法监控之间的落入不当行为者手中开源密码软件进一步复杂化场意味着一国后门可能被其他国家要求访问关键平衡点,如有限域加密和门限权限系统,试图在保了这一问题,因其代码可自由获取但使用仍可能受问题在于是否可能设计既安全又允许特殊访问的系护隐私的同时允许符合适当法律程序的访问法律限制平衡国家安全利益和全球网络安全需求统,以及谁有权决定何时何人可以访问加密数据是当前管制体系面临的主要挑战第二十五章密码学的未来发展抗量子密码算法轻量级密码学随着量子计算技术进步,开发抗量子密码算法已随着物联网设备激增,轻量级密码学的发展变得成为密码学界的重要任务NIST后量子密码标准日益重要这些算法专为资源受限环境设计,追化进程已选择基于格密码学的CRYSTALS-Kyber求在有限处理能力、内存和能源条件下提供足够(密钥封装)和CRYSTALS-Dilithium(数字签安全保障NIST轻量级密码标准化项目正评估名)等算法,预计在未来几年正式标准化这些ASCON、GIFT-COFB等算法关键研究方向包算法基于被认为即使对量子计算机也难以解决的括针对特定硬件平台的优化实现;探索新型轻数学问题,包括格问题、多变量多项式、哈希函量级原语如ARX设计;平衡安全边界与资源需求数和纠错码等当前挑战包括在保证安全性的;以及开发适合特定应用场景(如医疗植入设备同时优化性能;确保与现有系统和协议的兼容性)的超轻量级方案随着物联网安全标准发展,;以及推动行业采用和过渡策略轻量级密码学将继续成熟和专业化持续认证持续认证是密码学与行为分析结合的新兴领域,不再仅依赖初始认证,而是通过整个会话持续验证用户身份这种方法利用生物特征(如打字动态、触摸屏手势、行走模式)和环境因素(如地理位置、网络特征、使用模式)构建用户行为模型,持续计算置信度分数密码学在此扮演关键角色,包括安全存储生物特征模板、保护行为数据隐私、防止伪造攻击,以及建立多因素认证和零知识证明系统未来发展将聚焦提高准确性、降低误报率、增强隐私保护和应对对抗性攻击课程总结学习密码学的方法和建议1实践与理论相结合,关注前沿发展密码学与其他学科的关系2与数学、计算机科学、信息论等多学科深度融合密码学的重要性3构建数字世界信任基础,保障信息安全与隐私通过对密码学知识体系的系统学习,我们已经掌握了从古典密码到现代密码技术的演变历程,理解了密码学的基本原理、核心算法和应用场景密码学是信息安全的基石,在保障数据机密性、完整性、身份认证和不可否认性方面发挥着不可替代的作用随着数字经济发展和网络空间扩张,密码学的重要性将持续提升密码学是一门高度交叉的学科,它不仅需要深厚的数学基础,还与计算机科学、电子工程、信息论等领域密切相关学习密码学应当建立牢固的理论知识,同时通过实验和实践加深理解推荐持续关注学术会议如Crypto、Eurocrypt等最新研究成果,参与开源密码项目,并保持对行业标准和最佳实践的了解记住,密码系统的安全性取决于最薄弱环节,全面、系统的学习至关重要实验课程介绍密码算法实现实验该实验系列主要聚焦密码算法的实际编程实现,帮助学生深入理解算法原理学生将分组实现经典密码(如凯撒密码、Vigenère密码)、现代对称加密算法(如DES、AES的简化版)以及公钥密码系统(如RSA基本操作)实验要求学生使用C/C++、Python或Java等编程语言,从零开始实现算法,而非简单调用库函数学生需编写完整算法流程,包括密钥生成、加解密操作,并编写测试用例验证实现正确性密码协议分析实验该实验系列侧重密码协议的安全分析与改进学生将分析经典协议(如Challenge-Response认证协议、Diffie-Hellman密钥交换)的安全性,识别潜在攻击向量实验包括模拟中间人攻击、重放攻击并设计防御方案;分析TLS握手过程,实现简化版安全通信通道;评估身份认证协议安全性并提出改进方案实验采用模拟和实际网络环境相结合的方式,使用Wireshark等工具分析协议流量,并要求学生提交详细的安全分析报告密码应用系统设计实验该实验系列是课程实验的综合应用,要求学生设计并实现完整的密码应用系统学生分组完成的项目包括安全聊天系统(实现端到端加密通信);PKI模拟系统(含证书生成、验证和吊销);安全文件存储系统(支持加密存储和访问控制);数字签名与时间戳服务等项目采用敏捷开发方法,要求分阶段提交设计文档、代码和测试报告实验评分标准包括功能完整性、安全性分析、代码质量和创新程度,最终以演示汇报形式展示成果参考资料教材推荐本课程推荐以下核心教材《密码编码学与网络安全原理与实践》William Stallings著,系统全面介绍密码学基础和应用;《应用密码学协议、算法与C源程序》Bruce Schneier著,平衡理论与实践的经典著作;《密码学原理与实践》Doug Stinson著,数学基础扎实;《图解密码技术》结城浩著,直观易懂的入门读物;《中国商用密码学》冯登国主编,详细介绍中国密码标准体系补充阅读包括《安全工程》Ross Anderson著和《密码学导引》Jonathan Katz和YehudaLindell著等专业著作学术期刊和会议密码学领域的顶级学术期刊包括《Journal ofCryptology》、《IEEE TransactionsonInformation Forensicsand Security》、《Designs,Codes andCryptography》和《密码学报》等重要的国际会议有Crypto国际密码学会议、Eurocrypt欧洲密码学会议、Asiacrypt亚洲密码学会议、CHES密码硬件与嵌入式系统、PKC公钥密码学、FSE快速软件加密等国内重要会议包括中国密码学会年会、信息安全国际会议INSCRYPT等关注这些期刊和会议可了解密码学最新研究进展在线学习资源推荐以下在线学习资源Coursera上斯坦福大学的《Cryptography I》课程;Cryptopals密码学挑战;CrypTool开源密码学教学软件;Crypto101密码学入门教程;密码学StackExchange问答社区实用工具包括OpenSSL、BouncyCastle等开源密码库;CyberChef在线密码工具;Khan Academy的密码学课程视频;GitHub上的密码学示例代码库中文资源推荐中国密码学会网站、密码学与数学公众号,以及各大学MOOC平台上的密码学课程问答环节算法原理实际应用考核细节实验要求前沿发展欢迎进入问答环节!在此环节中,我们鼓励大家对课程内容提出问题,特别是对密码算法原理、应用场景、实验设计等方面的疑问从往年经验看,学生最关心的问题主要集中在算法数学基础、编程实现难点、考试范围和评分标准等方面请注意,问答环节不仅是澄清疑问的机会,也是加深理解的重要过程对复杂概念如同态加密、后量子密码学等前沿话题的讨论尤为欢迎我们也将解答关于行业发展趋势、就业方向等实用问题为提高效率,请在提问前查阅课程资料,确认是否已有相关解答让我们充分利用这个互动机会,共同探讨密码学的奥秘!。
个人认证
优秀文档
获得点赞 0