第7讲_身份认证_第1页
第7讲_身份认证_第2页
第7讲_身份认证_第3页
第7讲_身份认证_第4页
第7讲_身份认证_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7讲身份认证 主讲 谢昕 2 2 课程主要内容 身份认证 Kerberos认证系统 零知识证明 X 509认证业务 3 3 1 身份认证概述 身份认证又称作识别 Identification 实体认证 EntityAuthentication 身份证实 IdentityVerification 等 它与消息认证的区别在于 身份认证一般都是实时的 而消息认证本身不提供时间性 另一方面 身份认证通常证实身份本身 而消息认证除了认证消息的合法性和完整性外 还要知道消息的含义 4 4 1 身份证明系统组成一方是出示证件的人 称作示证者P Prover 提出某种要求 另一方为验证者V Verifier 检验示证者提出的证件的正确性和合法性 决定是否满足其要求 第三方是攻击者 可以窃听和伪装示证者 骗取验证者的信任 认证系统在必要时也会有第四方 即可信赖者参与调解纠纷 此类技术为身份证明技术 1 身份认证概述 5 5 1 验证者正确识别合法示证者的概率极大化 2 不具可传递性 验证者B不可能重用示证者A提供给他的信息来伪装示证者A 而成功地骗取其他人的验证 从而得到信任 3 攻击者伪装示证者欺骗验证者成功的概率要小到可以忽略的程度 特别是要能抗击已知密文攻击 即能抗攻击者在截获到示证者和验证者多次 多次式表示 通信下伪装示证者欺骗验证者 1 身份认证概述 2 对身份证明系统的要求 6 6 4 计算有效性 为实现身份证明所需的计算量要小 5 通信有效性 为实现身份证明所需通信次数和数据量要小 6 秘密参数能安全存储 7 交互识别 有些应用中要求双方能互相进行身份认证 8 第三方的实时参与 如在线公钥检索服务 9 第三方的可信赖性 10 可证明安全性 1 身份认证概述 7 7 3 身份证明分两大类 1 身份证实即只对个人身份进行肯定或否定 一般方法是输入个人信息 经运算所得的结果与从卡上或库中存的信息经公式和算法运算所得结果进行比较 得出结论 2 身份识别一般方法是输入个人信息 经处理提取成模板信息 试着在存储数据库 中搜索找出一个与之匹配的模板 而后给出结论 1 身份认证概述 8 8 4 实现身份证明的基本途径 所有 Possesses 所知 Knowledge 个人特征 characteristics 所知 个人所知道的或所掌握的知识 如密码 口令等 所有 个人所具有的东西 如身份证 护照 信用卡 钥匙等 个人特征 身份证明的基本途径指纹 笔迹 声纹 手型 脸型 血型 视网膜 虹膜 DNA以及个人一些动作方面的特征等 根据安全水平 系统通过率 用户可接受性 成本等因素 可以选择适当的组合设计实现一个自动化身份证明系统 1 身份认证概述 9 9 口令认证 最简单 最普遍的身份识别技术 如 各类系统的登录等口令具有共享秘密的属性 口令有时由用户选择 有时由系统分配 通常情况下 用户先输入某种标志信息 比如用户名和ID号 然后系统询问用户口令 若口令与用户文件中的相匹配 用户即可进入访问 口令有多种 如一次性口令 还有基于时间的口令 2 身份认证 口令认证 10 10 这种方法的缺点是 1 安全性仅仅基于用户口令的保密性 而用户口令一般较短且容易猜测 因此这种方案不能抵御口令猜测攻击 2 大多数系统的口令是明文传送到验证服务器的 容易被截获 3 口令维护的成本较高 为保证安全性口令应当经常更换 为避免对口令的字典攻击 口令应当保证一定的长度 并且尽量采用随机的字符 但缺点是难于记忆 4 口令容易在输入时被攻击者偷窥 且用户无法及时发现 1 身份认证 口令认证 11 11 网络通过用户拥有什么东西来识别的方法 一般是用智能卡或其它特殊形式的标志 这类标志可以从连接到计算机上的读取器读出来 访问不但需要口令 也需要使用物理智能卡 智能卡技术将成为用户接入和用户身份认证等安全要求的首选技术 用户将从持有认证执照的可信发行者手里取得智能卡安全设备 也可从其他公共密钥密码安全方案发行者那里获得 这样智能卡的读取器必将成为用户接入和认证安全解决方案的一个关键部分 1 身份认证 智能卡 12 12 IC卡基本原理 1 身份认证 智能卡 13 13 IC卡操作系统的典型模块结构 IC卡接口设备 1 身份认证 智能卡 14 14 IC卡认证是IC卡和应用终端之间通过相应的认证过程来相互确认合法性 目的在于防止伪造应用终端及相应的IC卡 它一般有三种认证方式 内部认证 InternalAuthentication 应用终端验证IC卡的合法性 外部认证 ExternalAuthentication IC卡验证应用终端的合法性 相互认证 MutualAuthentication IC卡和应用终端相互验证合法性 1 身份认证 智能卡 15 15 IC卡认证实例 1 身份认证 智能卡 16 16 目前已有的设备包括 视网膜扫描仪 声音验证设备 手型识别器等 安全性高 例如 系统中存储了他的指纹 他接入网络时 就必须在连接到网络的电子指纹机上提供他的指纹 这就防止他以假的指纹或其它电子信息欺骗系统 只有指纹相符才允许他访问系统 更普通的是通过视网膜膜血管分布图来识别 原理与指纹识别相同 声波纹识别也是商业系统采用的一种识别方式 1 身份认证 主体特征认证 17 17 在安全性要求较高的系统 由护字符和持证等所提供的安全保障不够完善 护字符可能被泄露 证件可能丢失或被伪造 更高级的身份验证是根据被授权用户的个人特征来进行的确证 它是一种可信度高而又难以伪造的验证方法 这种方法在刑事案件侦破中早就采用了 指纹验证语音验证视网膜图样验证脸型验证 1 身份认证 主体特征认证 18 18 1 指纹验证 指纹分类与特征 1 身份认证 主体特征认证 19 19 指纹自动识别系统主要部分 指纹识别系统利用人类指纹的特性 通过特殊的光电扫描和计算机图像处理技术 对活体指纹进行采集 分析和比对 自动 迅速 准确地认证出个人身份 自动指纹认证的过程是按照用户和姓名等信息将其存在指纹数据库中的模板指纹调出来 然后再用用户输入的指纹与该模板的指纹相匹配 以确定这两幅指纹是否出于同一幅指纹 1 身份认证 主体特征认证 20 20 每个人的说话声音都各有其特点 人对于语音的识别能力是很强的 即使在强干扰下 也能分辨出某个熟人的话音 在军事和商业通信中常常靠听对方的语音实现个人身份认证 例如 可将由每个人讲的一个短语所分析出来的全部特征参数存储起来 如果每个人的参数都不完全相同就可实现身份认证 这种存储的语音称作为语音声纹 Voice print 电话和计算机的盗用是相当严重的问题 语音声纹识别技术可用于防止黑客进入语音函件和电话服务系统 1 身份认证 主体特征认证 2 语音验证 21 21 人的视网膜血管 即视网膜脉络 的图样具有良好的个人特征 这种识别系统已在研制中 其基本方法是利用光学和电子仪器将视网膜血管图样记录下来 一个视网膜血管的图样可压缩为小于35字节的数字信息 可根据对图样的节点和分支的检测结果进行分类识别 被识别人必须合作允许采样 研究表明 识别验证的效果相当好 如果注册人数小于200万时 错误率为0 所需时间为秒级 在要求可靠性高的场合可以发挥作用 已在军事和银行系统中采用 其成本比较高 1 身份认证 主体特征认证 3 视网膜图样验证 22 22 利用图像识别 神经网络和红外扫描探测 对人脸的 热点 进行采样 处理和提取图样信息 通过脸型自动验证系统进行身份认证 将用于银行等的身份识别系统中 也可将面部识别系统用于网络环境中其软件开发 与其它信息系统的软件集成 作为金融 接入控制 电话会议 安全监视 护照管理 社会福利发放等系统的应用软件 1 身份认证 主体特征认证 4 脸型验证 23 23 2 零知识证明 当示证者P掌握某些秘密信息 P设法向验证者V证明自己掌握这些信息 验证者V可以验证P是否真的掌握这些秘密信息 但同时P又不想让V也知道那些信息 如果连V都不知道那些秘密信息 第三者想盗取那些信息当然就更难了 该技术比传统的密码技术更安全并且使用更少的处理资源 但是 它需要更复杂的数据交换协议 需要更多的数据传输 因此会消耗大量通信资源 一般来说 被示证者P掌握的秘密信息可以是某些长期没有解决的猜想问题 如大整数因式分解和求解离散对数问题等 还可以是一些单向函数等 24 24 零知识证明需满足的条件 1 示证者几乎不可能欺骗验证者 若P知道证明 则可使V几乎确信P知道证明 若P不知道证明 则他使V相信他知道证明的概率近于零 2 验证者几乎不可能得到证明的信息 特别是他不可能向其他人出示此证明 3 验证者从示证者那里得不到任何有关证明的知识 2 零知识证明 25 25 例1 洞穴问题 见图 设P知道咒语 可打开C和D之间的秘密门 不知道者都将走入死胡同中 现在看看P如何向V出示证明使V相信他知道这个秘密 但又不告诉V有关咒语 1 V站在A点 2 P进入洞中任意一点C或D 3 当P进洞之后 V走到B点 4 V叫P 从左边出来 或 从右边出来 5 P按要求实现 6 P和V重复执行 1 至 5 共n次 2 零知识证明 26 26 例2 Hamilton回路零知识证明协议 1 P对图G作一随机置换 得一个与其同构的新图G1 P很容易知道G1的Hamilton回路 2 P将图G1发给V 3 V随机的要求P完成 证明图G和G1同构 或 指出图G1的一个Hamilton回路 4 P按要求实现 证明图G和G1同构 但不指出图G和G1的Hamilton回路 或 指出图G1的一个Hamilton回路 但不指出图G和G1同构 5 P和V重复执行 1 至 4 共n次 2 零知识证明 27 27 非交互零知识证明协议是指证明者P和验证者V之间只需通过单向的 非交互的通信传递 就实现零知识性 证明者P可以公布证明 任何人可以花时间去检验该证明的正确性 非交互零知识证明中 最好采用单向Hash函数代替V的功能 单向Hash函数为无偏的随机数 而使P不能进行欺诈 2 零知识证明 28 28 3 Kerberos认证系统 概述 一 Kerberos简介Kerberos 希腊神话 三个头的狗 地狱之门守护者 希望有三个功能 身份认证 记账 审核 Kerberos针对分布式环境 一些工作站可能安装于不安全场所 而且用户也并非是完全可信的 客户在登录时 需要认证 用户必须获得由认证服务器发行的许可证 才能使用目标服务器上的服务 许可证提供被认证的用户访问一个服务时所需的授权资格 所有客户和服务器间的会话都是暂时的 29 29 1 Kerberos的产生背景用户需要从多台计算机得到服务 控制访问的方法有三种 a 认证工作由用户登录的计算机来管理 服务程序不负责认证 这对于封闭式网络是可行的方案 b 收到服务请求时 对发来请求的主机进行认证 对每台认证过的主机的用户不进行认证 每个服务选择自己信任的计算机 在认证时检查主机地址来实现认证 c 在开放式系统中 主机不能控制登录它的每一个用户 另外还有来自系统外部的假冒等情况发生 以上两种方法都不能保证用户身份的真实性 必须对每一个服务请求 都要认证用户的身份 3 Kerberos认证系统 概述 30 30 开放式系统的认证的要求 1 安全性 没有攻击的薄弱环节 2 可靠性 认证服务是其他服务的基础 要可靠 不能瘫痪 3 透明性 用户觉察不到认证服务 只是输入口令 4 可扩展性 支持加入更多的服务器 3 Kerberos认证系统 概述 31 31 2 什么是KerberosKerberos是网络通信提供可信第三方服务的面向开放系统的认证机制 每当用户C申请得到某服务程序S的服务时 用户和服务程序会首先向Kerberos要求认证对方的身份 认证建立在用户和服务程序对Kerberos信任基础上 3 Kerberos认证系统 概述 认证双方与Kerberos的关系 32 32 在申请认证时 C和S都是Kerberos认证服务的用户 为了和其它服务的用户区别 Kerberos用户统称为当事人 principle principle可以是用户或者某项服务 当用户登录到工作站时 Kerberos对用户进行初始认证 此后用户可以在整个登录时间得到相应的服务 Kerberos不依赖用户的终端或请求服务的安全机制 认证工作由认证服务器完成 时间戳技术被应用于防止重放攻击 3 Kerberos认证系统 概述 33 33 Kerberos保存当事人及其密钥的数据库 共享密钥只被当事人和Kerberos知道 当事人在登记时与Kerberos商定 使用共享密钥 Kerberos可以创建消息使一个当事人相信另一个当事人的真实性 Kerberos还产生一种临时密钥 对话密钥 通信双方用在具体的通信中 Kerberos提供三种安全等级 1 只在网络开始连接时进行认证 认为连接建立起来后的通信是可靠的 2 安全消息传递 对每次消息都进行认证工作 但是不保证每条消息不被泄露 3 私有消息传递 不仅对每条消息进行认证 而且对每条消息进行加密 Kerberos在发送密码时就采用私有消息模式 3 Kerberos认证系统 概述 34 34 Kerberos的认证过程 3 Kerberos认证系统 工作原理 请求许可票据 证书响应 请求应用服务器许可票据 服务器证书响应 请求服务 服务器响应 KerberosV5是域中用于认证的主要安全协议 同时检验用户身份和网络服务 这种双重检验称为相互认证 35 35 IDc IDv IDtgs分别为C V TGS的身份ADc 用户的网络地址TSi 第i个时戳Lifetime 第I个有效期限Pc C上的用户口令Kc C和AS的共享密钥Kv V和TGS的共享密钥Ktgs TGS和AS的共享密钥Kc tgs C与TGS的共享密钥Kc v C与V的共享密钥 3 Kerberos认证系统 工作原理 36 36 1 认证服务交换用户C向AS发出请求 以获取访问TGS的令牌 Tickettgs得到初始化令牌的工作在用户登录工作站时进行 在用户看来和登录分时系统是完全相同的 登录时用户被要求输入用户名 输入后系统向AS发送一条包含用户和TGS服务两者名字的请求 以及时戳TS1 表示是新请求 AS检查用户有效 则随机产生用户和TGS通信的会话密钥Kc tgs 并创建令牌Tickettgs 令牌包含用户名 用户地址 TGS服务名 当前时间 时戳TS2 有效时间 还有刚才创建的会话密钥 然后将令牌用Ktgs加密 3 Kerberos认证系统 工作原理 37 37 AS向C发送加密过的令牌Tickettgs和会话密钥Kc tgs 发送的消息用只有用户和认证服务器A知道的Kc来加密 Kc值基于用户密码 用户机器收到AS回应后 要求用户输入密码 将密码转化为DES密钥Kc 然后将AS发回的信息解开 保存令牌Tickettgs和会话密钥Kc tgs 为了安全 用户密码Pc和密钥Kc则被丢弃 当用户的登录时间超过了令牌的有效时间时 用户的请求就会失败 3 Kerberos认证系统 工作原理 38 38 1 C AS IDC IDtgs TS12 AS C EKc Kc tgs IDtgs TS2 Lifetime2 Tickettgs 其中 Tickettgs EKtgs Kc tgs IDc ADc IDtgs TS2 Lifetime2 说明 1 不输入C的口令 就不能解开来自AS的信息2 TS1时戳用来防止重放攻击 3 Kc由用户口令导出 4 Kc tgs是C和TGS间的会话密钥 3 Kerberos认证系统 工作原理 39 39 2 C从TGS得到所请求服务的令牌Ticketv 一个令牌只能申请一个特定的服务 所以用户必须为每一个服务V申请新的令牌 用户可以从TGS处得到服务令牌Ticketv 用户程序首先向TGS发出申请令牌的请求 请求信息中包含V的名字 上一步中得到的请求TGS服务的加密令牌Tickettgs 还有加密过的认证符Authenticatorc 认证符含有 用户身份 网址 时戳 认证符与ticket不同 只用一次且有效期短 3 Kerberos认证系统 工作原理 40 40 如果有效 TGS生成用于C和V之间通信的会话密钥Kc v 并生成用于C申请得到V服务的令牌Ticketv 其中包含C和V的名字 C的网络地址 当前时间 有效时间和会话密钥Kc v 令牌Ticketv的有效时间是初始令牌Tickettgs剩余的有效时间和所申请的服务缺省有效时间中最短的时间 TGS用C和TGS之间的会话密钥Kc tgs加密Ticketv和会话密钥Kc v 然后发送给用户C C得到回答后 用Kc tgs解密 得到所请求的令牌Ticketv和会话密钥Kc v 3 Kerberos认证系统 工作原理 41 41 3 C TGS IDv Tickettgs AuthenticatorcAuthenticatorc EKc tgs IDc ADc TS3 说明 TGS拥有Ktgs 可以解密Tickettgs 然后使用从Tickettgs得到的Kc tgs来解密Authenticatorc将认证符中的数据与票据中的数据比较 以验证票据发送者就是票据持有者 4 TGS C EKc tgs Kc v IDv TS4 Ticketv Ticketv EKv Kc v IDc ADc IDv TS4 Lifetime4 3 Kerberos认证系统 工作原理 42 42 3 客户机与服务器之间认证交换 C向V发送服务许可票据Ticketv和认证符Authenticatorc V收到后用Kv解密Ticketv 然后用Kc v解密认证符 比较得到的用户名 网络地址 时间等信息 判断C的身份请求是否有效 用户和服务程序之间的时钟必须同步在几分钟的时间段内 当请求的时间与系统当前时间相差太远时 认为请求是无效的 用来防止重放攻击 而且V通常保存一份最近收到的有效请求的列表 当收到一份请求与已经收到的某份请求的令牌和时间完全相同时 认为此请求无效 3 Kerberos认证系统 工作原理 43 43 当C也想验证V的身份时 V将收到的时间戳加1 并用会话密钥Kc v加密后发送给用户 用户收到回答后 用Kc v解密后对增加的时戳进行验证 从而确定V的身份 此后 客户与服务器之间通过共享的会话密钥秘密通信 5 C V Ticketv Authenticatorc6 V C Ekc v TS5 1 其中 Ticketv EKv Kc v IDc ADc IDv TS4 Lifetime4 Authenticatorc Ekc v IDc ADc TS5 3 Kerberos认证系统 工作原理 44 44 1 时间同步问题 整个Kerberos的协议都严重地依赖于时钟 而实际证明 要求在分步式系统环境中实现良好的时钟同步 是一个很难的课题 2 口令猜测问题 口令没有进行额外的特殊处理 以至于即使用强力攻击 即穷举法 的时间复杂度仅和口令的长度成比例 这将形成一个两难的局面 或是增加密钥长度换取更高的安全 但这会造成用户的使用困难和增加系统加 解密开销 3 Kerberos认证系统 局限性 45 45 3 认证域之间的信任问题 认证域之间的多级跳跃过程复杂且不明确 相互信任和协调不方便 若各Kerberos区域形成复杂或不规则的网状结构 则要求方便的域间服务 将付出极大的代价 即系统的可扩充性不强 针对这种无序的状况 应有规划有目的地建立起全球一体化的分层 树状 结构 形成良好的信任链条 3 Kerberos认证系统 局限性 46 46 4 重放攻击的问题 长票的生存期较长 容易被重放攻击 对短票而言 如果攻击者技术高明 也有机会重放攻击 况且攻击者可以着手破坏系统的时钟同步性 我们建议 在Kerberos引入序列号循环机制 即让传送的消息带上一定的序列号 这些序列号在由系统循环地赋予消息 再结合系统原有的生存期控制 将有效地保证一定的时间段里只能存在唯一的合法消息 从而消除了重放的可能性 当然 这必须付出一定的系统开销代价 3 Kerberos认证系统 局限性 47 47 5 密钥的存储问题 Kerberos认证中心要求保存大量的共享私钥 无论是管理还是更新都有很大的困难 需要特别细致的安全保护措施 甚至应采用硬件 物理方法 将付出极大的系统代价 6 系统程序的安全性 完整性问题 对Kerberos系统程序进行攻击 特别是恶意篡改登录程序 是有效的攻击方法 所以 必须花一定的系统代价去防范对认证系统本身的集中攻击 其中 建立高性能的防火墙和进行日志是必要的 3 Kerberos认证系统 局限性 48 48 4 身份认证 X 509认证业务 公钥证书 亦称数字证书 它是由一个第三方证书授权中心 CA 发行的 经CA数字签名的包含用户的公钥和与用户身份相关的信息 是一个实体在网上信息交流及商务交易活动中的身份证明 具有唯一性 在基于证书的安全通信中 数字证书是证明用户合法身份和提供用户合法公钥的凭证 是建立保密通信的基础 通常使用的是符合X 509的数字证书 它包含以下一些内容 证书的版本信息 证书的序列号 每个证书都有一个唯一的证书序列号 证书所使用的签名算法 证书的发行机构名称 证书的有效期 证书所有者的名称 证书所有者的公开密钥 证书发行者对证书的签名 49 49 X 509认证过程 假设通信双方都知道对方的公钥 或者双方都从目录服务器获得对方的公钥证书 认证过程有三种 1 单向身份认证 用户A将消息发往B 以向B证明 A的身份 消息是由A产生的 消息的意欲接收者是B 消息的完整性和新鲜性 4 身份认证 X 509认证业务 50 需第三方参与的单向认证 4 身份认证 X 509认证业务 1 单向身份认证 51 51 A B IDA ESA TA RA IDB EPB KAB 说明 IDA IDB A和B的身份标识 ESA 用A的私钥加密EPB 用B的公钥加密TA A产生消息的时戳 包括产生时间 截止时间RA A产生的不会重复的随机数 防止重放 伪造 B在收到的消息截止时间内要一直保存RA KAB 双方欲建立的会话密钥B要验证 A的证书的有效性 A的签名 消息完整性 接收者是否为B 时戳是否是当前时间 RA有无重复 4 身份认证 X 509认证业务 52 4 身份认证 X 509认证业务 无需第三方参与的单向认证 1 单向身份认证 53 Needham SchroederProtocol 2 双向身份认证

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论