990 likes | 1.33k Vues
NISE 安全技术工程师培训 — 密码学应用之一 PKI 与 CA. PKI/CA. PKI 概论 PKI/CA 的理论基础 PKI/CA 体系架构 PKI/CA 标准与协议 国内外发展现状和前景 PKI/CA 的应用. PKI 概述. 什么是 PKI PKI 的性能要求 为什么需要 PKI PKI 的发展历程 PKI 的功能. 什么是 PKI. PKI 是 public key infrastracture 缩写 即公钥基础设施 , 是一种运用公钥的概念与技术来实施并提供安全服务的具体普遍适用性的网络安全基础设施。. PKI 概述. 什么是 PKI
E N D
NISE安全技术工程师培训 —密码学应用之一PKI与CA
PKI/CA • PKI概论 • PKI/CA的理论基础 • PKI/CA体系架构 • PKI/CA标准与协议 • 国内外发展现状和前景 • PKI/CA的应用
PKI概述 • 什么是PKI • PKI的性能要求 • 为什么需要PKI • PKI的发展历程 • PKI的功能
什么是PKI • PKI是public key infrastracture缩写 • 即公钥基础设施,是一种运用公钥的概念与技术来实施并提供安全服务的具体普遍适用性的网络安全基础设施。
PKI概述 • 什么是PKI • PKI的性能要求 • 为什么需要PKI • PKI的发展历程 • PKI实现的安全功能
PKI的性能要求 • 透明性和易用性 • 可扩展性 • 互操作性 • 多用性 • 支持多平台
PKI概述 • 什么是PKI • PKI的性能要求 • 为什么需要PKI • PKI的发展历程 • PKI的功能
为什么需要PKI Alice 假冒 Bob 假冒:指非法用户假冒合法用户身份获取敏感信息
为什么需要PKI Alice 截取 Bob 截取:指非法用户截获通信网络的数据
为什么需要PKI Alice 篡改 Bob 篡改:指非法用户改动所截获的信息和数据
为什么需要PKI 否认? Alice 否认:通信的单方或多方事后否认曾经参与某次活动
PKI概述 • 什么是PKI • PKI的性能要求 • 为什么需要PKI • PKI的发展历程 • PKI的功能
PKI/CA发展历程 • 1976年,提出RSA算法 • 20世纪80年代,美国学者提出了PKI的概念 • 为了推进PKI在联邦政府范围内的应用,1996年就成立了联邦PKI指导委员会 • 1996年,以Visa、MastCard、IBM、Netscape、MS、数家银行推出SET协议,推出CA和证书概念 • 1999年,PKI论坛成立 • 2000年4月,美国国防部宣布要采用PKI安全倡议方案。 • 2001年6月13日,在亚洲和大洋洲推动PKI进程的国际组织宣告成立,该国际组织的名称为“亚洲PKI论坛”,其宗旨是在亚洲地区推动PKI标准化,为实现全球范围的电子商务奠定基础
PKI/CA发展历程 亚洲PKI论坛成立于2001年6月13日,包括日本、韩国、新加坡、中国、中国香港、中国台北和马来西亚。 • 论坛呼吁加强亚洲国家和地区与美国PKI论坛、欧洲EESSI等PKI组织的联系,促进国际间PKI互操作体系的建设与发展。 • 论坛下设四个专项工作组,分别是技术兼容组、商务应用组、立法组和国际合作组。(网址:www.asia-pkiforum.org)
PKI/CA发展历程 • 中国PKI论坛经国家计委批准成立的非营利性跨行业中介组织 • 是国家授权与国外有关PKI机构和组织沟通的窗口; • 中国PKI论坛现任亚洲PKI论坛副主席; • 中国PKI论坛目前挂靠在国家信息中心; • 其网址为www.chinapkiforum.org.cn
PKI/CA发展历程 • 1996-1998年,国内开始电子商务认证方面的研究,尤其中国电信派专家专门去美国学习SET认证安全体系 • 1997年1月,科技部下达任务,中国国际电子商务中心(外经贸委)开始对认证系统进行研究开发 • 1998年11月,湖南CA中心开始试运行 • 1998年10月,国富安认证中心开始试运行 • 1999年第一季,上海CA中心开始试运行 • 1999年8月,湖南CA通过国密办鉴定,测评中心认证 • 1999年10月7日,《商用密码管理条例》颁布 • 1999年-2001年,中国电子口岸执法系统完成 • 1999年8月-2000年,CFCA开始招标并完成
PKI概述 • 什么是PKI • PKI的性能要求 • 为什么需要PKI • PKI的发展历程 • PKI的功能
PKI实现的安全功能 • 认证 1.1你是谁? 1.1我是Rick. 1.2怎么确认你就是你? 1.2 口令是1234. 2. 我能干什么? 应用系统 Internet/Intranet Rick • 授权 2.你能干这个,不能干那个. • 保密性 3. 我有密钥? 3.如何让别人无法偷听? • 完整性 4.如何保证不能被篡改? Mary • 防抵赖 4.别怕,我有数字签名. 5.我有你的罪证. 5.我偷了机密文件,我不承认.
PKI实现的安全功能 • 认证 • 我不认识你! -- 你是谁? • 我怎么相信你就是你? -- 要是别人冒充你怎么办? • 授权 • 我能干什么? -- 我有什么权利? • 你能干这个,不能干那个. • 保密性 • 我与你说话时,别人能不能偷听? • 完整性 • 收到的传真不太清楚? • 传送过程过程中别人篡改过没有? • 防抵赖 • 我收到货后,不想付款,想抵赖,怎么样? • 我将钱寄给你后,你不给发货,想抵赖,如何?
PKI/CA • PKI概论 • PKI/CA的理论基础 • PKI/CA体系架构 • PKI/CA标准与协议 • 国内外发展现状和前景 • PKI/CA的应用
PKI理论基础 • 密码学(略) • 目录服务 • 数字证书
目录服务 • 目的是建立全局/局部统一的命令方案,它从技术的角度定义了人的身份和网络对象的关系; • 目录服务是规范网络行为和管理网络的一种重要手段; • X.500时一套已经被国际标准化组织(ISO)接受的目录服务系统标准; • LDAP(轻量级目录访问协议)最早被看作是X.500目录访问协议中的那些易描述、易执行的功能子集
数字证书 • 什么是数字证书 • 证书验证 • 数字证书的使用 • 数字证书的存储 • X.509数字证书 • 数字证书生命周期
什么是数字证书 • 数字证书(Digital ID)又叫“网络身份证”、“数字身份证”; • 由认证中心发放并经认证中心数字签名的; • 包含公开密钥拥有者以及公开密钥相关信息的一种电子文件; • 可以用来证明数字证书持有者的真实身份。 • 是PKI体系中最基本的元素; • 证书是一个机构颁发给一个安全个体的证明,所以证书的权威性取决于该机构的权威性
证书验证 单向验证 • A产生一个随机数Ra; • A构造一条消息,M=(Ta,Ra,Ib,d),基中Ta是A的时间标记,Ib是B的身份证明,d为任意的一条数据信息;数据可用B的公钥Eb加密; • A将(Ca,Da(M))发送给B,其中Ca为A的证书,Da为A的私钥; • B确认Ca并得到A的公钥; • B用Ea去解密Da(M),既证明了A的签名又证明了所签发信息的完整性; • B检查M中的Ib; • B检查M中Ta以证实消息是刚发来的; • B对照旧数据库检查M中的Ra以确保不是消息重放。(可选项)
证书验证 双向验证: • B产生另一个随机数,Rb; • B构造一条消息,Mm=(Tb,Rb,Ia,Ra,d),基中Ta是B的时间标记,Ia是A的身份证明,d为任意的一条数据信息;Ra是A在第一步产生的随机数,数据可用A的公钥Eb加密; • B将Db(Mm)发送给A; • A用Ea解密Db(Mm),以确认B的签名和消息的完整性; • A检查Mm中的Ia; • A检查Mm中Tb以证实消息是刚发来的; • A检查M中的Rb以确保不是消息重放。(可选项)
X.509数字证书 • 由证书权威机构(CA)创建; • 存放于X.500的目录中; • 有不同版本,每一版本必须包含: • 版本号; • 序列号; • 签名算法标识符; • 认证机构; • 有效期限:证书开始生效期和证书失效日期 • 主题信息; • 认证机构的数字签名; • 公钥信息;
X.509数字证书分类 从证书的基本用途来看: • 签名证书 签名证书主要用于对用户信息进行签名,以保证信息的不可否认性; • 加密证书 加密证书主要用于对用户传送信息进行加密,以保证信息的真实性和完整性。
X.509数字证书分类 从证书的应用来看,数字证书可分为: • 个人证书 • 服务器证书 • 网关证书 • VPN证书 • WAP证书 • 。。。
证书的生命周期 证书注销 CA 证书发布 证书终止 目录 服务 RA 终端 用户 证书归档 证书生成 申请与审核
PKI/CA • PKI概论 • PKI/CA的理论基础 • PKI/CA体系架构 • PKI/CA标准与协议 • 国内外发展现状和前景 • PKI/CA的应用
PKI的体系构成 PKI的应用 认证中心CA 注册机构RA 证书发布系统 PKI策略 软硬件系统
PKI的体系构成(一) PKI策略 • 是一个包含如何在实践中增强和支持安全策略的一些操作过程的详细文档; • 建议和定义了一个组织信息安全方面的指导方针,同时也定义了密码系统使用的处理方法和原则。 • 两种类型: -- Certificate Policy ,证书策略,用于管理证书的使用 --CPS(Certificate Practice Statements) return
PKI的体系构成(二) 软硬件系统 • 是PKI系统运行所需的所有软、硬件的集合,主要包括认证服务器、目录服务器、PKI平台等。 return
PKI的体系构成(三) 认证中心CA 是负责管理密钥和数字证书的整个生命周期。 • 接收并验证最终用户数字证书的申请; • 证书审批,确定是否接受最终用户数字证书的申请; • 证书签发,向申请颁发、拒绝颁发数字证书; • 证书更新,接收、处理最终用户的数字证书更新请求; • 接收最终用户数字证书的查询、撤销; • 产生和发布证书废止列表(CRL),验证证书状态; • 提供OSCP在线证书查询服务,验证证书状态; • 提供目录服务,可以查询用户证书的相关信息; • 下级认证机构证书及帐户管理; • 数字证书归档; • 认证中心CA及其下属密钥的管理; • 历史数据归档; return
PKI的体系构成(四) 注册机构RA • 是用户(个人/团体)和认证中心CA之间的一个接口。接受用户的注册申请,获取并认证用户的身份,完成收集用户信息和确认用户身份。 • 自身密钥的管理,包括密钥的更新、保存、使用、销毁等; • 审核用户信息; • 登记黑名单; • 对业务受理点的LRA的全面管理; • 接收并处理来自受理点的各种请求。 return
PKI的体系构成(五) 证书签发系统 • 负责证书的发放。 return
PKI的体系构成(六) PKI应用 • Web服务器和浏览器之间的通讯 • 电子邮件 • 电子数据交换(EDI) • 互联网上的信用卡交易 • 虚拟专用网(VPN) return
PKI的体系构成(七) PKI应用接口系统(API) • 良好的应用接口系统使得各种应用能够以安全、一致、可信的方式与PKI交互,确保所建立的网络环境的可信性,降低管理和维护的成本。 return
PKI运作 • PKI的策划 包括信任模式、技术标准的选择;PKI系统、信息系统、网络系统架构的规划;整体安全架构的规划;设备选型;PKI功能与应用方式的确定;认证策略、安全策略、运营策略的制定;相关规章、法规体系的规划;物理场地选址;人员规划等。 • PKI实施 包括场地建设;PKI系统、信息系统、网络系统建设;安全设施建设;相关规章、法规的制定;PKI功能与应用的实现;人员配置;人员培训等。 • PKI运营 包括PKI及相关设施的管理与维护;PKI功能与应用的执行;相关规章、法规的执行;运营审计与评估;人员管理等。
PKI的构建 • 自建模式(In-house Model)是指用户购买整套的PKI软件和所需的硬件设备,按照PKI的构建要求自行建立起一套完整的服务体系。 • 托管模式是指用户利用现有的可信第三方—认证中心CA提供的PKI服务,用户只需配置并全权管理一套集成的PKI平台即可建立起一套完整的服务体系,对内对外提供全部的PKI服务。
PKI构建模式的比较 • 成本比较(建设、风险、培训、维护) • 建设周期比较 • 投入与产出比较 • 系统性能比较 • 服务比较
典型CA系统体系结构 • 多层次结构,优点 • 管理层次分明,便于集中管理、政策制订和实施 • 提高CA中心的总体性能、减少瓶颈 • 有充分的灵活性和可扩展性 • 有利于保证CA中心的证书验证效率
CA信任关系 当一个安全个体看到另一个安全个体出示的证书时,他是否信任此证书? • 信任难以度量,总是与风险联系在一起 可信CA • 如果一个个体假设CA能够建立并维持一个准确的“个体-公钥属性”之间的绑定,则他可以信任该CA,该CA为可信CA 信任模型 • 基于层次结构的信任模型 • 交叉认证 • 以用户为中心的信任模型
CA层次结构 根CA 中间CA • 对于一个运行CA的大型权威机构而言,签发证书的工作不能仅仅由一个CA来完成 • 它可以建立一个CA层次结构
CA层次结构的建立 • 根CA具有一个自签名的证书 • 根CA依次对它下面的CA进行签名 • 层次结构中叶子节点上的CA用于对安全个体进行签名 • 对于个体而言,它需要信任根CA,中间的CA可以不必关心(透明的);同时它的证书是由底层的CA签发的 • 在CA的机构中,要维护这棵树 • 在每个节点CA上,需要保存两种cert(1) Forward Certificates: 其他CA发给它的certs(2) Reverse Certificates: 它发给其他CA的certs
层次结构CA中证书的验证 • 假设个体A看到B的一个证书 • B的证书中含有签发该证书的CA的信息 • 沿着层次树往上找,可以构成一条证书链,直到根证书 • 验证过程: • 沿相反的方向,从根证书开始,依次往下验证每一个证书中的签名。其中,根证书是自签名的,用它自己的公钥进行验证 • 一直到验证B的证书中的签名 • 如果所有的签名验证都通过,则A可以确定所有的证书都是正确的,如果他信任根CA,则他可以相信B的证书和公钥 • 问题:证书链如何获得?
交叉认证 两个不同的CA层次结构之间可以建立信任关系 • 单向交叉认证 一个CA可以承认另一个CA在一定名字空间范围内的所有被授权签发的证书 • 双向交叉认证 交叉认证可以分为 • 域内交叉认证(同一个层次结构内部) • 域间交叉认证(不同的层次结构之间) 交叉认证的约束 • 名字约束 • 路径长度约束 • 策略约束