信息安全工程师-密码学专题(上):密码学核心框架与基础体系梳理
一、引言一核心定义与考试定位密码学是研究信息隐藏、安全传输与身份认证的交叉学科是信息安全体系的核心基础在软考信息安全工程师考试中占比约 15%-20%覆盖选择题、案例分析题全题型是必须掌握的核心知识模块。密码学的核心目标是实现信息的保密性、完整性、抗抵赖性和可用性四大安全属性。二历史发展脉络密码学发展分为三个核心阶段古典密码阶段1949 年之前以替换、移位等手工加密方式为主典型代表为凯撒密码、维吉尼亚密码安全性依赖算法保密性无严格的理论支撑。现代密码学阶段1949 年 - 1976 年1949 年香农发表《保密系统的通信理论》奠定现代密码学的数学基础密码学成为正式学科安全性从依赖算法保密转向依赖密钥保密。公钥密码阶段1976 年至今1976 年 Diffie 和 Hellman 提出公钥密码思想解决对称密码的密钥分发难题推动数字签名、身份认证等新型安全应用落地。三内容框架说明本篇为密码学专题第一篇重点梳理密码学基础概念、密码体制分类、安全分析模型与国产密码体系四大核心模块为后续学习具体算法、应用协议奠定理论基础。密码学发展阶段时间线与核心里程碑示意图二、密码学基础体系与法律规范一密码学的核心组成密码学由两个对立统一的分支构成密码编码学研究安全密码体制的设计目标是构造满足安全需求的加密、认证算法保障信息安全核心研究方向包括加密算法设计、哈希函数构造、数字签名协议设计等。密码分析学研究在未知密钥的情况下从密文恢复明文或密钥的技术目标是发现现有密码体制的安全漏洞为密码编码学的改进提供方向核心研究方向包括差分密码分析、线性密码分析、侧信道攻击等。二我国密码相关法律规范我国密码应用与管理遵循明确的法律框架两项核心法律为《中华人民共和国密码法》2020 年 1 月 1 日实施将密码分为三类实行分类管理1核心密码保护绝密级、机密级、秘密级国家秘密信息由国家密码管理部门统一管理。2普通密码保护机密级、秘密级国家秘密信息同样纳入严格的国家监管体系。3商用密码保护不属于国家秘密的信息广泛应用于金融、能源、交通等民生领域是日常技术应用的主要密码类型。《中华人民共和国电子签名法》2005 年 4 月 1 日实施2019 年修订明确可靠的电子签名与手写签名、盖章具有同等法律效力确立了数字签名应用的法律地位是电子政务、电子商务中身份认证与抗抵赖的法律基础。三必须掌握的核心概念密码学的基础概念是所有算法和应用的前提需准确理解明文P/Plaintext未经过加密处理、需要保护的原始信息形式可以是文本、图像、音频、二进制数据等任意格式。密文C/Ciphertext明文经过加密算法转换后得到的内容外观呈现为无意义的随机数据非授权方无法直接读取其含义。加密将明文通过加密算法和密钥转换为密文的过程数学表达式为 C E (K, P)其中 E 为加密算法K 为加密密钥。解密将密文通过解密算法和对应密钥恢复为明文的过程数学表达式为 P D (K, C)其中 D 为解密算法K 为解密密钥。加密 / 解密算法实现加解密转换的一组标准化运算规则算法本身通常公开安全性依赖密钥的保密性。密钥Key控制加解密算法运算的关键参数是密码系统安全的核心根据 Kerckhoffs 原则即使攻击者知晓加密算法的全部细节只要密钥未泄露系统仍然安全。密码系统基本工作流程示意图包含明文、加密、密钥、密文、解密、接收方全链路三、密码体制分类与技术对比根据加密和解密使用的密钥是否相同密码体制分为三大类各有适用场景一对称密码体制私钥密码体制核心原理加密和解密使用完全相同的密钥通信双方需要事先通过安全渠道共享同一密钥数学关系满足 P D (K, E (K, P))。技术特点1优势算法运算速度快硬件实现可达 Gbps 级吞吐量适合加密大量数据资源消耗低适合嵌入式、移动端等资源受限场景。2核心挑战密钥分发与管理困难N 个用户的通信网络需要维护 N*(N-1)/2 个密钥大规模部署复杂度高且无法直接实现数字签名功能。典型算法DES数据加密标准密钥长度 56 位已被破解、3DES三重 DES密钥长度 112/168 位用于 legacy 系统兼容、AES高级加密标准密钥长度 128/192/256 位当前主流对称加密算法、RC4流加密算法曾用于 WEP、TLS 1.0存在安全漏洞已被弃用、IDEA国际数据加密算法用于 PGP 等场景。二非对称密码体制公钥密码体制核心原理每个用户拥有一对唯一关联的密钥公钥公开可被任意用户获取私钥由用户严格保密。两种核心使用模式1公钥加密、私钥解密发送方用接收方公钥加密数据只有接收方的私钥可以解密实现保密通信。2私钥加密签名、公钥解密验证发送方用自己的私钥对消息摘要进行签名任意用户可以用对应的公钥验证签名的合法性实现身份认证与抗抵赖。技术特点1优势完美解决密钥分发问题N 个用户的通信网络仅需要维护 N 对公钥私钥对支持数字签名、身份认证等功能适用于密钥交换、签名场景。2劣势基于数学难题构造计算复杂度高加密速度仅为对称算法的 1/100 到 1/1000不适合直接加密大量数据。典型算法RSA基于大整数分解难题密钥长度 2048 位以上广泛用于数字签名、密钥交换、Elgamal基于离散对数难题用于加密和签名、ECC椭圆曲线密码算法相同安全强度下密钥长度远小于 RSA256 位 ECC 安全性等同于 3072 位 RSA适合移动、物联网场景、DHDiffie-Hellman 密钥交换协议用于双方在不安全信道上协商生成共享对称密钥。三混合密码体制设计思想结合对称密码与非对称密码的优势用对称加密算法加密大量的明文数据发挥速度优势再用接收方的公钥加密该对称密钥解决密钥分发问题最终将加密后的密文和加密后的对称密钥一起发送给接收方。工作流程1发送方随机生成临时对称密钥 K用 K 加密明文 P 得到密文 C。2发送方用接收方公钥 Pub_R 加密对称密钥 K 得到加密后的密钥 C_K。3发送方将 C 和 C_K 一起发送给接收方。4接收方用自己的私钥 Pri_R 解密 C_K 得到对称密钥 K再用 K 解密 C 得到明文 P。应用场景是当前主流安全通信的标准模式SSL/TLS、IPsec VPN、PGP 加密邮件、微信加密传输等均采用混合密码体制兼具加密效率与安全性。三类密码体制技术特性对比表包含密钥特性、速度、适用场景、典型算法、优缺点等维度四、密码分析安全模型密码系统的安全性评估基于攻击者掌握的信息资源按照攻击难度从低到高分为五类密码系统的安全强度需要至少抵抗已知明文攻击一唯密文攻击COA定义攻击者仅能获取到密文不知道任何明文信息是最常见也是攻击难度最高的场景。攻击条件攻击者仅知道加密算法的公开细节和截获的密文需要通过统计分析等方法恢复明文或密钥。安全要求所有密码系统必须能够抵抗唯密文攻击否则不具备基本安全性。二已知明文攻击KPA定义攻击者掌握了部分明文和对应的密文对通过这些已知对推导密钥或解密其他密文。攻击条件攻击者可能通过协议特征、固定报文头、已知的标准格式内容等获取明文 - 密文对例如 HTTP 协议的固定请求头、文件的固定魔术数字等。安全要求现代实用密码系统必须能够抵抗已知明文攻击这是算法安全的基本门槛。三选择明文攻击CPA定义攻击者可以主动选择任意明文内容并获取对应的密文进而分析密码系统的特性推导密钥。攻击条件常见于攻击者可以部分控制加密系统输入的场景例如云存储服务中用户可以上传任意文件并获取加密后的存储内容电子邮件系统中攻击者发送的邮件会被服务器自动加密存储等。安全要求商用级密码算法需要能够抵抗选择明文攻击AES、SM4 等算法均满足该要求。四选择密文攻击CCA定义攻击者可以选择任意密文并获取对应的解密后的明文进而分析密钥或系统漏洞。攻击条件主要针对公钥密码体制和数字签名系统例如攻击者可以向签名服务器发送任意待签名内容并获取签名结果或者向解密服务提交任意密文获取明文结果。安全要求公钥加密算法、数字签名算法需要能够抵抗选择密文攻击RSA-OAEP、SM2 等算法均具备抵抗该攻击的能力。五密文验证攻击CVA定义攻击者不需要获取完整的解密明文仅能判断任意选定的密文是否为合法的密文例如是否符合 padding 规则、是否通过完整性校验通过多次尝试推导明文信息。攻击条件常见于 TLS 协议的 padding oracle 攻击、加密文件系统的完整性校验场景攻击者通过系统返回的 “解密成功 / 失败” 信息即可逐步推导明文内容。安全要求现代安全协议设计需要通过认证加密等机制避免密文验证攻击的风险。五类密码分析模型的攻击条件、难度对比与典型场景示意图五、国产商用密码SM 系列体系国产商用密码算法是我国自主可控安全体系的核心也是软考的高频考点核心算法包括四类一对称加密算法SM1、SM4SM1 算法分组密码算法分组长度 128 位密钥长度 128 位安全强度与 AES-128 相当仅通过硬件 IP 核形式实现不公开算法细节用于智能卡、加密机等安全硬件产品。SM4 算法分组密码算法分组长度 128 位密钥长度 128 位算法完全公开支持软件和硬件实现是我国无线局域网标准的强制加密算法也广泛用于文件加密、数据库加密等场景性能与 AES-128 相当。二非对称加密算法SM2算法原理基于椭圆曲线离散对数难题设计属于 ECC 类公钥算法密钥长度 256 位安全强度等同于 3072 位 RSA 算法运算效率远高于同安全强度的 RSA 算法。应用场景支持公钥加密、数字签名、密钥交换三类功能用于电子政务电子签章、金融 IC 卡、SSL/TLS 国密改造等场景是当前应用最广泛的国产公钥算法。三杂凑算法SM3算法原理密码杂凑哈希算法输入任意长度的消息输出 256 位固定长度的哈希值安全强度等同于 SHA-256优于 MD5128 位已被破解和 SHA-1160 位已被破解。应用场景用于完整性校验、数字签名、消息认证码生成、口令哈希存储等场景是国密体系中所有需要完整性保障场景的基础算法。四标识密码算法SM9算法原理基于身份的密码IBC体制用户的唯一标识如手机号、邮箱地址、身份证号直接作为公钥不需要单独申请和维护数字证书大幅简化密钥管理流程。应用场景适用于物联网、即时通信、云计算等用户规模大、证书管理复杂度高的场景支持加密、签名、密钥交换功能是新型密码应用的核心算法。SM 系列国产商用密码算法分类与应用场景架构图六、总结与备考建议一核心知识点提炼密码学由密码编码学和密码分析学构成我国实行核心密码、普通密码、商用密码分类管理《密码法》《电子签名法》是核心法律依据。密码体制分为对称、非对称、混合三类对称密码适合大数据加密非对称密码适合密钥交换和签名混合密码是当前主流应用模式。密码分析模型按照攻击难度从低到高分为唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击、密文验证攻击安全系统需要至少抵抗已知明文攻击。国产 SM 系列算法包括 SM1/SM4 对称加密、SM2 非对称加密、SM3 杂凑算法、SM9 标识密码是自主可控安全体系的核心。二软考考试重点提示高频考点密码体制的分类与对比、Kerckhoffs 原则、SM 系列算法的分类与用途、密码分析模型的场景区分、《密码法》的分类管理要求。易错点对称与非对称密码的适用场景混淆、公钥密码的两种使用模式区分、SM 系列算法的功能匹配。题型预测选择题主要考察概念区分、算法分类案例分析题可能结合 SSL/TLS、VPN 等应用场景考察混合密码体制的工作流程。三学习与实践建议基础学习阶段准确记忆所有核心概念对比梳理三类密码体制的差异形成清晰的知识框架。巩固提升阶段结合 HTTPS、加密邮件等实际应用理解混合密码体制的实际工作流程动手尝试用 OpenSSL 工具实现 SM2、SM3、SM4 算法的基本操作。备考阶段重点掌握国产 SM 系列算法的特性与应用场景关注《密码法》相关的合规考点为后续学习具体算法原理、密码应用协议奠定基础。