Common Criteria 国际安全认证体系

1993 年,在美国的 TCSEC、欧洲的 ITSEC、加拿大的 CTCPEC、美国的 FC(Federal Criteria)等信息安全准则的基础上,由 6 个国家 7 方(美国国家安全局 NSA 和国家技术标准研究所 NIST、加、英、法、德、荷)共同提出了信息技术安全评价通用准则(The Common Criteria for Information Technology security Evaluation,简称 CC 标准),目标是采用一套公共的准则规范为 IT 保障类产品的广泛用户群体提供最大的便利,提供了一个更全面的框架用来评估信息系统、信息产品的安全性。

历史

Common Criteria 先后发布了4个官方版本,当前最新版本是 v3.1,请参见https://www.commoncriteriaportal.org

一、核心内容

2005年发布的 CC v2.3 是最经典的版本,其分为三个部分,此外还有一个用于国际认证的通用评估方法论 CEM。

1. 基本概念

第一部分介绍了CC 的基本思路和一般模型,规定了撰写技术文档的格式及要点,核心概念包括:

  • TOE(Target of Evaluation,评估对象):作为安全评估对象的具体信息技术产品(如防火墙、计算机网络、密码模块等),包括相关的管理员指南、用户指南、设计方案等文档。
  • ST(Security Target,安全目标):对某个特定的评估目标提出的要其满足的安全功能要求(Security Functional Requirements,简称 SFR)和安全保障要求(Security Assurance Requirements,简称SAR)。
  • PP(Protection Profile,保护轮廓):满足特定用户需求,与一类 TOE 实现无关的一组安全要求。

总的来说,PP 相当于行业的一个规范或标准,它是对标整个行业的,表达“要求产品做成什么样子”;ST 是针对具体厂商 而言的,表达“产品想做成什么样子”,相当于产品的安全功能说明书;TOE 则是某个厂商的具体产品。

2. SFR 安全功能组件

第二部分详细描述了可供 ST 或 PP 选用的安全功能组件,共分十一个大类,其中有安全审计、通信、密码支持、用户数据保护、标识和鉴别、安全管理、隐秘、TSF 保护、资源利用、TOE 访问和可信路径/信道,这些安全功能组件集合了当前信息安全产业界最普遍使用的技术方法,并进一步细分到不同的族、组件及组成要素,是非常有价值的、可供参考的安全功能描述。

CC 标准是有弹性可扩展的框架性体系(相当于一个标准化的安全需求目录),并非针对具体的产品,仍然保留了较大的灵活性。CC 标准既不强迫任何产品必须选用一些特定的安全功能组件,但也不能保证所有信息安全产品所需的安全功能都已存在相应描述,允许 ST 或 PP 的作者按照其已定义的安全功能组件的格式来定义描述新的安全功能组件。

3. SAR 安全保障要求

第三部分详细描述了可供 ST 或 PP 选用的安全保障要求。安全保障要求覆盖到对 ST 的评估准则、TOE 的开发、生命周期支持、指导性文件、测试、脆弱性评定在内的六个方面。
根据在每个方面安全保障要求的数量多少和松紧程度,CC 第三部分中又定义了七个评估保障级(Evaluation Assurance Level,简称EAL),每个评估保障级都是将六个方面的安全保障要求的细节按一定方式搭配并固定下来。从 EAL1 到 EAL7,在六个方面的安全保障要求由少到多、由松到紧逐渐递增。

二、评估保护等级 EAL

EAL(Evaluation Assurance Level,评估保护等级)描述了评估深度和严谨程度的数字评级,每级 EAL 都定义了 6 项 SAR,包括:ST 的评估准则、TOE 的开发、生命周期支持、指导性文件、测试、脆弱性评定等。

  • EAL 1:功能测试,基础级别的安全保障,适用于对正确运行需要一定信任的场合,安全威胁应视为并不严重。
    依据一个规范的独立性测试和对所提供指导性文档的检查来为用户评估 TOE;
    无需开发者配合即可完成评估,仅确认 TOE 的功能与其文档在形式上是一致的,且对已标识的威胁提供了有效的保护。
  • EAL2:结构(白盒)测试,适用于缺乏现成可用的完整的开发记录时,开发者或用户需要一种低等到中等级别的、独立保证的安全性。
    增加开发者测试及脆弱性分析和基于 TOE 规范的独立性测试;
    提供功能和接口的规范、指导性文档和TOE的高层设计的评估分析;
    要求开发者递交设计信息和测试结果,但不需要开发者增加过多费用或时间投入;
    评估证据包括安全功能的独立性测试、开发者自测结果确认、功能强度分析、脆弱性报告、TOE 的配置表和安全交付程序;
  • EAL3:系统地测试和检查,适用于开发者或用户需要一个中等级别的、独立保证的安全性,且在不带大量重建费用的情况下,对 TOE 及其开发过程进行彻底审查。
    增加更完备的安全功能测试,及提供开发过程中不会被篡改的可行性机制或程序;
    增加开发环境现场核查,核查配置管理、 开发过程管理、交付过程管理等。
  • EAL4:系统地设计、测试和复查,适用于开发者或用户对传统的商品化的 TOE 需要一个中等到高等级别的独立保证的安全性,并且准备负担额外的安全专用工程费用。
    增加更多的设计描述、实现的子集,以及提供开发或交付过程中不会被篡改的可信性改进机制或程序;
    增加对抵御攻击的能力的独立脆弱性分析、开发环境控制措施(如自动化的额外的配置管理和安全交付程序)、源码审查;
    需要分析 TOE 模块的低层设计和实现的子集;
  • EAL5:半形式化设计和测试,高等级别,适用于开发者和使用者在有计划的开发中,采用严格的开发手段,以获得一个高级别的独立保证的安全性,不会因采取专业性安全工程技术而增加一些不合理的开销。
    需要分析所有的实现,还需要额外分析功能规范和高层设计的形式化模型和半形式化表示和论证;
  • EAL6:半形式化验证的设计和测试,适用于在高风险环境下的特定安全产品或系统的开发,且要保护的资源值得花费一些额外的人力、物力和财力。
  • EAL7:形式化验证的设计和测试,适用于一些安全性要求很高的 TOE 开发,这些 TOE 将应用在风险非常高的地方,或者所保护资产的价值很高的地方,非常罕见!

EAL

三、与其他标准化组织的关系

2005年,国际标准组织(ISO)正式采纳 CC 2.3 版本为 ISO/IEC 15408。
2008年,中国也引入了 ISO/IEC 标准作为 GB/T 18336 国家标准,也是基于CC 2.3版本。

目前 CCRA 互认的安全保障级别 EAL 最高为 4 级,为此该协定组织明确规定了通用标准评估方法论(Common Evaluation Methodology,CEM)作为互认协定所使用的标准基础,并被 ISO 组织接纳为国际标准 ISO/IEC 18405。

四、CCRA 国际互认协定

1998 年,标准开发组的参与国联合了其他国家共同签署了 CC 互认协定(Common Criteria Recognition Arrangement,CCRA),目前包括美国、英国、德国、日本、韩国和澳大利亚等26个国家。
CCRA 各个成员国家的 CC 评估和认证体系均设有一个权威的认证机构和多个获得商业授权的评估实验室,他们与评估发起者(申请者)合作完成产品的评估和认证,权威认证机构接受所在国家政府职能机构和 CCRA 的双重监管。

在美国,NIAP(National Information Assurance Partnership,美国国家信息保障合作组织)是 NSA(美国国家安全部)的一个部门,负责美国 CC 标准的实施。
CCEVS(Common Criteria Evaluation and Validation Scheme,通用标准评估与认证体系)是 NIAP 管理的一个国家计划,成立于 2009 年,核心任务是评估信息技术的安全功能是否符合 CC 国际标准。
当前的认证产品列表显示,Cisco、Microsoft、RedHat、Nokia等公司都在其列。

在德国,CC 评测认证体系由德国 BSI(The Bundesamt fur Sicherheit in der Informationstechnik)负责开展,其是德国联邦政府的 IT 安全权威部门。

目前中国没有参加 CCRA 组织。


参考文献

官方文档下载

分析报告下载