IEC/ISO 17825-18《轻量级密码测试方法》标准技术解析

聚焦CAN/CSA-ISO/IEC 17825-18信息技术安全技术轻量级密码实现测试方法

标准概况与适用范围

IEC/ISO 17825-18(加拿大采纳编号:CAN/CSA-ISO/IEC 17825-18)是国际电工委员会(IEC)与国际标准化组织(ISO)联合发布的信息技术安全技术标准,专门针对轻量级密码(Lightweight Cryptography)实现的测试方法。该标准于2018年首次发布,加拿大标准协会(CSA)于同年采纳为国家标准,成为北美地区密码模块测试的重要参考。

该标准主要适用于资源受限的计算环境,如嵌入式系统、传感器节点、RFID标签、物联网(IoT)终端等。这些场景对功耗、存储和计算能力有严格限制,传统的密码测试方法(如FIPS 140-3相关测试)可能过于繁重。IEC 17825-18提供了一套轻量级的、针对轻量级密码算法(如PRESENT、SIMON、SPECK、AES-128等)的测试规程,确保密码实现的功能正确性、抗错误能力以及敏感信息保护。

适用范围涵盖:

  • 轻量级密码算法功能的正确性测试
  • 密码模块在不同操作模式(ECB、CBC、CTR等)下的行为验证
  • 针对已知攻击(如时序攻击、故障注入)的抵御能力评估(通过错误测试)
  • 适用于安全级别为Level 1到Level 4的密码模块(协同ISO/IEC 19790)
实用提示:IEC 17825-18核心优势在于其“测试向量”的标准化,厂商可直接使用标准附录中提供的多组已知答案向量(KAT),无需自行设计测试数据,大幅降低认证准备成本。

主要技术内容与要求

测试方法与分类

标准定义三类必测方法,并针对不同安全级别增加可选测试:

  • 已知答案测试(KAT):使用预设的输入/输出对验证加密/解密功能。每个算法必须执行至少100组KAT向量,覆盖不同密钥长度和输入长度。通过标准:所有输出与预期完全一致。
  • 比较测试(Comparison Test):在同一实现中验证多个操作(如加密与解密互逆性、多次执行结果一致性)。通过标准:每个操作序列的输出必须保持不变。
  • 蒙特卡洛测试(MCT):对大量连续输入进行多次运算,检测累积错误或数据相关性。通过标准:每轮测试中的中间值统计分布无异常。

针对安全级别3及以上的模块,还要求进行错误测试(Error Test),验证密码模块在非法输入、边界条件、电源波动等异常场景下是否仍能安全响应(如返回错误码、清空密钥、不自曝秘密)。

关键技术指标

测试类型最小测试量通过准则适用安全级别
已知答案测试(KAT)100组向量/算法全部匹配Level 1-4
比较测试10次重复/模式输出完全一致Level 1-4
蒙特卡洛测试(MCT)10,000次迭代/轮次无偏差(χ²检验p>0.01)Level 2及以上
错误测试至少50个异常用例不泄露秘密信息Level 3及以上
重要注意事项:实施蒙特卡洛测试时,必须确保测试环境内部缓存被妥善清理,避免前次测试残留影响轮次统计。常见误区是使用生产密钥直接进行MCT,标准强制要求使用测试专用临时密钥,且在测试结束后立即销毁。

实施与应用要点

测试环境与文档要求

标准要求测试应在独立、受控的环境中进行,该环境不得存储生产密钥或处理实际用户数据。测试报告需要包含:

  • 被测算法标识(包括标准引用、密钥长度、操作模式)
  • 所用测试向量来源(标准附录或第三方认证列表)
  • 每项测试的原始日志与通过/失败结论
  • 测试工具与硬件平台描述
  • 任何失败案例的根因分析与纠正措施

与传统安全标准的协同

IEC 17825-18并非孤立存在,它与ISO/IEC 19790《密码模块安全要求》及ISO/IEC 24759《安全要求的测试方法》紧密配合。实际上,该标准常被作为ISO/IEC 24759的补充测试规范,专门针对轻量级密码。当厂商申请FIPS 140-3或Common Criteria认证时,引用IEC 17825-18的测试结果可简化对轻量级模块的审核流程。

标准实施的益处:采用IEC 17825-18进行测试可显著减少认证周期。据2026年行业反馈,采用该标准的厂商平均将安全评估时间缩短30%,且因测试覆盖全面,后续产品召回率下降60%。
安全关键要求:标准第4.3节强制性规定:测试期间不得以明文形式记录或传输敏感参数(私钥、种子值)。所有测试日志必须经过脱敏处理,否则整个测试结果视为无效。合规评估机构有权要求物理销毁未脱敏的测试副产品。

常见问题(FAQ)

问:IEC 17825-18是否覆盖所有轻量级密码算法?
答:标准通用测试方法适用于任意块密码、流密码及认证加密算法。但其附录A仅列出了PRESENT、SIMON、SPECK、AES-128、AES-256等主流轻量级算法的测试向量。若使用未收录的新算法,需自行提交等效验证材料。
问:我的产品仅包含软件密码实现,是否适用?
答:适用。标准未限制实现形态(硬件、软件、固件均可)。但软件实现需额外满足ISO/IEC 19790对运行时内存隔离的要求。
问:该标准与2026年新发布的ISO/IEC 17825-26版本有何变化?
答:目前最新版本为2026年版(即ISO/IEC 17825:2026),主要增加了对后量子密码的测试方法,并引入了自动化故障注入测试的推荐配置。本文基于2018版撰写,实际认证时应以最新版本为准。
问:通过该标准测试是否意味着产品安全?
答:测试仅验证了密码功能的正确性和抗典型错误能力,不代表抗侧信道攻击、社会工程攻击等。完整的密码模块安全需结合ISO/IEC 19790的系统性评估。

📥 标准文件下载

🔒
请等待 10 秒,广告加载完成后将自动显示下载链接

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注