3.1 基本概念 3.2 单机状态下的身份认证 3.3 网络环境下的身份认证 3.4 Windows NT安全子系统

Slides:



Advertisements
Similar presentations
第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
Advertisements

2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
《电算化会计》形成性考核 简易操作流程.
公务员管理子系统建设步骤 1、组建由局长直接领导的体制,制定公务员管理、工资管理、其他业务用户的管理权限,以及各业务间的协作流程。
小学生游戏.
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
计算机基础知识 丁家营镇九年制学校 徐中先.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
SVN的基本概念 柳峰
中国科学技术大学 肖 明 军 《网络信息安全》 中国科学技术大学 肖 明 军
存储系统.
大学计算机基础 典型案例之一 构建FPT服务器.
管理信息结构SMI.
网络常用常用命令 课件制作人:谢希仁.
实用组网技术 第一章 网络基础知识.
数 控 技 术 华中科技大学机械科学与工程学院.
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
Hub Web System 主要功能: 1.查询库存(Query Current Storage) 2.创建PL(Create PL) 3.查询、打印PL单(Query & Print PL) 4.查询允交量、在途量 5.修改用户的基本信息(Update Password) 6.查询GR(Query.
第17章 网站发布.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
ENS 10.1安装配置指南 王俊涛 | SE.
供应商登录CJLR SRM系统入口 CJLR供应商仅可以在互联网上访问SRM系统,无法在CJLR内网登录SRM系统.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
第3章 信息与信息系统 陈恭和.
任务1-3 使用Dreamweaver创建ASP网页
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
SOA – Experiment 2: Query Classification Web Service
第二章 登录UNIX操作系统.
C语言程序设计 主讲教师:陆幼利.
新PQDT论文全文库提交平台.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
微机系统的组成.
顺序表的删除.
续签协议&修改密码操作手册 GDP项目组 2019/01/30.
第四章 团队音乐会序幕: 团队协作平台的快速创建
主要内容: 无线局域网的定义 无线传输介质 无线传输的技术 WLAN的架构 无线网络搭建与配置 无线网络加密配置
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
实验七 安全FTP服务器实验 2019/4/28.
IT 安全 第 11节 加密控制.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
Lightweight Data-flow Analysis for Execution-driven Constraint Solving
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
iSIGHT 基本培训 使用 Excel的栅栏问题
临界区问题的硬件指令解决方案 (Synchronization Hardware)
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
Python 环境搭建 基于Anaconda和VSCode.
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
Google的云计算 分布式锁服务Chubby.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
数据表示 第 2 讲.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 UNIX文件系统.
第十七讲 密码执行(1).
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
入侵检测技术 大连理工大学软件学院 毕玲.
Presentation transcript:

3.1 基本概念 3.2 单机状态下的身份认证 3.3 网络环境下的身份认证 3.4 Windows NT安全子系统 第三章 身份认证 3.1 基本概念 3.2 单机状态下的身份认证 3.3 网络环境下的身份认证 3.4 Windows NT安全子系统

在这个数字世界中,一切信息包括哟过户的身份信息都是用一组特定的数据来表示的,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权。 而我们生活的现实世界是一个真实的物理世界,每个人都拥有独一无二的物理身份。 如何保证操作者的物理身份与数字身份相对应?

身份认证技术用于解决访问者的物理身份和数字身份的一致性问题,给其他安全技术提供权限管理的依据。 身份认证是信息安全体系的重要组成部分,它是保护信息系统安全的第一道大门。它的任务是检验信息系统用户身份的合法性和真实性,并按系统授予的权限访问系统资源,将非法访问者拒之门外。

身份认证技术分为:常规的“口令”代码认证、动态口令认证、生物技术(指纹、虹膜、面容等)认证、通过第三方发放的数字证书(CA)认证等。 常规的“口令”代码认证是计算机系统的早期身份认证产品, 因其“口令”的静态特性和重复使用性,存在易窃取、易猜测、易破解等安全缺陷,是一种弱身份认证系统,只能用于安全等级要求较低的信息系统。 动态口令认证、生物技术认证和数字证书认证是强身份认证系统,可用于政府、金融、企业等重要信息系统的安全认证。

3.1 基本概念 实现身份证明的基本途径 所知 所有 (Knowlege) (Possesses ) 个人特征 (charecteristics) 所知。个人所知道的或所掌握的知识,如密码、口令等。 所有。个人所具有的东西,如身份证、护照、信用卡、钥匙等。 个人特征。身份证明的基本途径指纹、笔迹、声纹、手型、脸型、血型、视网膜、虹膜、DNA以及个人一些动作方面的特征等。 根据安全水平。系统通过率、用户可接受性、成本等因素,可以 选择适当的组合设计实现一个自动化身份证明系统。

信息系统的一般身份认证 用户 身份认证 授权 访问控制 一般信息资源 重要信息资源 访问监视器 审计

3.2 单机状态下的身份认证 在单机状态下,信息系统用户登录到计算机,一般使用以下几种认证方式: 账户/口令方式 IC卡认证方式 生物特征认证方式

用户账号(也称用户标识UserID)+口令(Password)=某人的身份 3.2.1 账户/口令认证方式 账户/口令认证方式是基于“what you know”的认证手段。方法的内涵是: 用户账号(也称用户标识UserID)+口令(Password)=某人的身份 在安全性要求不高的情况下还在广泛地应用,目前的口令机制大体上可分成两种: ①明文式口令:由用户自己确定一个一般由数字和字母组合而成的字符串,要尽量避免使用单词、姓名、生日、电话号码等易被猜出或者易被字典式攻击的字符组合。 ②计算式口令:可以在一定程度上解决口令文件丢失或泄密问题。用的口令不是直接存放在信息系统中,而是经过了某种数学计算后才存放到系统中,而从存放的内容不可能推算出原始的口令。 比如口令为一个字符串组合X,存放的结果内容是Y,而Y=F(X),这里的F是一个单项散列函数(也称Hash函数),想要从得到的Y计算出X几乎是不可能的。而从X却很容易计算得到Y,与事先存放在口令文件中的Y相比较,就可以确定登录的是否为合法用户。

实际上,由于口令是静态的数据,在认证过程中需要在计算机内存中和网络中传输,而每次认证使用的认证信息都是相同的,很容易被驻留在计算机内存中的木马程序或网络中的监听设备截获。因此在保密程度要求稍高一些的地方,账户/口令方式已经被认为是一种极不安全的身份认证方式。

3.2.2 IC卡认证方式 1.IC卡基本原理 智能IC卡的硬件主要由微处理器(目前多为8位MPU)、程序存储器(ROM)、临时工作存储器(RAM)、用户存储器(EEPROM)、输入输出接口、安全逻辑及加密解密运算协处理器等组成。IC卡的硬件就是一个小型的微处理器系统,只是在安全方面有更多的设计而已;而软件系统监控程序或操作系统则是IC卡实现其安全性的关键。IC卡具有的安全性高和存储容量大的特点。

IC卡基本原理

1.IC卡基本原理 软件就是指带MPU的智能IC卡中所实现的IC卡系统监控程序或IC卡操作系统,而IC卡操作系统则更为完善、复杂。 一个典型的操作系统可以按OSI模型分成物理层(1层)、数据传输层(数据链路层/2层)、应用协议层(应用层/7层)三层。每一层由一个或几个相应的功能模块予以实施。

1.IC卡基本原理 IC卡接口设备 IC卡操作系统的典型模块结构

IC卡操作系统的典型模块结构 这样,在IFD和ICC之间传输信息的安全性必须得以保障, 隐含传输的方法,就是将待传送的命令或响应回答序列进行加 密处理之后再进行传输。 IC卡操作系统的典型模块结构

IC卡认证工作方式 在IC卡中,引入了认证的概念,在ICC和IFD之间只有相互认证之后才能进行如数据的读、写等具体操作。认证是IC卡和应用终端之间通过相应的认证过程来相互确认合法性,目的在于防止伪造应用终端及相应的IC卡。

生物特征认证方式 所谓生物特征识别技术是指通过计算机利用人体所固有的特征或行为来进行个人身份鉴定。常用的生物特征包括面相、虹膜、指纹、掌纹、声音等。 与传统的身份鉴定手段相比,基于生物特征识别的身份认证技术具有以下优点:一是不易遗忘或丢失;二是防伪性能好,不易伪造或被盗;三是“随身携带”,随时随地可以使用。

1.指纹识别认证 指纹的三个特性是指纹识别技术的基础,指纹的三个特性分别指的是: (1)每个人的指纹形状终身不变 指纹的嵴线形状在一生中不会改变; 具有一定的复原性和难以毁灭性。 (2)每个人的指纹各不相同 试验—亨利.福尔茨(英),数学证明—勃太柴(法) (3)指纹的触物留痕 人工采集时期—油墨; 电子化指纹采集设备—光学式、硅芯片式、超声波式。

指纹识别系统利用人类指纹的特性,通过特殊的光电扫描和计算 机图像处理技术,对活体指纹进行采集、分析和比对,自动、迅速、 准确地认证出个人身份。自动指纹认证的过程是按照用户和姓名等信 息将其存在指纹数据库中的模板指纹调出来,然后再用用户输入的指 纹与该模板的指纹相匹配,以确定这两幅指纹是否出于同一幅指纹。 指纹图象 采集仪 图象输入 通道 指纹细节 匹配 认证结果 指纹自动识别系统主要部分

指纹分类与特征 弓型纹 箕型纹 斗型纹 伤残纹

各种指纹特征点 终结点 一条纹路在此终结 分叉点 条纹路在此分开成为两条或更多的纹路 分歧点 两条平行的纹路在此分开 孤立点 一条特别短的纹路,以至于成为一点 环点 一条纹路分开成为两条之后,立即有合并成为一条,这样形成的一个小环称为环点 短纹 一端较短但不至于成为一点的纹路 各种指纹特征点

指纹图象采集仪 光学取像设备有最悠久的历史,可以追溯到20世纪70年代。依据的是光的全反射原理(FTIR)。光线照到压有指纹的玻璃表面,反射光线由CCD去获得,反射光的数量依赖于压在玻璃表面指纹的脊和谷的深度和皮肤与玻璃间的油脂。光线经玻璃射到谷后反射到CCD,而射到脊后则不反射到CCD(确切的是脊上的液体反光的)。

三种取像设备的比较

指纹扫描技术大体可以分为两类:确认系统,如AFIS(自动指纹确认系统)和核对系统,这两种系统关键的区别在指纹模板。核对系统同样需要获取指纹图像,但这种技术并不保存完整的指纹图像,它只是通过一些算法处理,把指纹的一些特定的数据保存在一个相对较小的模板(250-1000字节)中。 指纹识别技术算法的工作原理为:当一个高质量的图像被拾取后,它必须被转换成一个有用的格式。如果图像是灰度图像,相对较浅的部分会被舍弃,而相对较深的部分被变成了黑色。嵴的像素由5到8个被缩细到一个像素,这样就能精确定位嵴断点和分岔了。

2.虹膜识别认证 虹膜是环绕在瞳孔四周有色彩的部分。每一个虹膜都包含一个独一无二的基于像冠、水晶体、细丝、斑点、结构、凹点、射线、皱纹和条纹等特征的结构。 每一个人的虹膜各不相同,一个人的左眼和右眼就可能不一样,即使是双胞胎的虹膜也可能不一样。 人的虹膜在出生后6-18个月成型后终生不再发生变化。

虹膜识别的工作流程

专用的转换算法会将虹膜的可视特征转换成一个512字节长度的虹膜代码(iris code) 由一个专用的摄像头拍摄虹膜图像 专用的转换算法会将虹膜的可视特征转换成一个512字节长度的虹膜代码(iris code) 识别系统会将生成的代码与代码库中的虹膜代码进行逐一比较,当相似率超过某个边界值(一般是67%),系统判断检测者的身份与某个样本相符,而如果相似程度低于这个边界值,系统就会认为检测者的身份与该样本预期不符,接着进入下一轮的比较。整个过程不超过2秒。 ▲ 依据17世纪数学家Jakob Bermoull提出的掷硬币理论,得出:当两个虹膜模板的特征吻合度超过67%时,虹膜不同的概率只有120万分之一。

模板长度相同(512字节),不同的虹膜转换算法效果不同,评价算法优劣的标准就是模板中量化特征点的数量。特征点越多,虹膜识别的精确率就越高,采用何种算法对识别系统的最终表现影响巨大。 获取高质量的虹膜图像需要精密的成像光学系统以及用户与硬件的良好配合。

虹膜技术的优点:   识别精度高,错误率小于百万分之一;   稳定性好,两岁后虹膜终生不变,受损害的可能性小;   采集相对方便; 虹膜技术的缺点:   很难将图像获取设备的尺寸小型化;   需要昂贵的摄像头聚焦,一个这样的摄像头的最低价为7000美元;          黑眼睛极难读取;              需要较好光源。    

3.视网膜识别认证 视网膜识别原理是通过分析视网膜上的血管图案来区分每个人的。视网膜扫描是用低强度红外线照亮视网膜,以拍摄下主要血管构成的图像。由于视网膜位于眼球的后面,因此采集过程需要用户高度配合,以保证正确的照亮和对准视网膜。并且要求站在2-3英寸的地方,保持静止1-2秒的时间。更重要的是被辨识者对视网膜扫描技术的忧虑,担心会影响眼睛健康。由于这些原因视网膜识别技术并未成为生物识别技术中的主流技术。

4.语音验证 语音识别包括“语义识别”和“说话人识别”。 “语义识别”的目的在于理解说话内容中的单词和句子,并把它变成文字。这主要是解决人机交互的方便。“说话人识别”其实才是生物识别的范畴。它通过一个人的声音来确认一个人的身份是否是他宣称的。 “说话人识别”是唯一同时结合了生理和行为两种成分的生物识别技术。生理特征体现在人的声音特点首先由其气管的物理形状决定。行为特征体现在声音还会受吐字时的嘴部运动方式影响。所以说语言识别同时受生理和行为特征制约。

5.脸型验证 脸形识别技术是目前已经产品化的技术中相对较为复杂的一项技术。主要是因为脸形识别,不仅仅是比对,还包括捕捉。需要从一堆移动着的影像中,识别出哪里是人相,并且把人相分离出来,再进行脸形成像。用于捕捉面部图像的两项技术分别是视频技术和热成像技术。视频技术通过一个摄像头摄取面部的图像或者一系列图像,在面部被捕捉之后,一些核心特征点被记录,例如,眼睛,鼻子和嘴的位置以及它们之间的相对位置。热成像技术是通过分析由面部的毛细血管的血液产生的热线来勾画出面部图像。

 6.掌形识别技术 手掌特征含手和手指的大小和形状。它包括长度、宽度、厚度以及手掌和除大拇指之外的其余四个手指的表面特征。掌形采集的原理是通过红外、CCD成像等方法获得手掌的三维图像,作为掌形特征处理的输入数据。

3.3 网络环境下的身份认证 用户账号、口令、包括智能卡内容都是静态的,在网络环境中很容易泄露和被截获,所以是不安全的。在计算机网络中,最常见而且最简单的访问控制方法是使用口令。 现行口令容易被攻破的几种常见情况: (1)口令在网络传输中被截获和分析。 (2)长时间使用同一个口令,泄露口令的几率大大增加。 (3)人们通常喜欢用自己熟悉的人名、日期、门牌号、电话号码及其组合,易被猜中。 (4)在多个业务服务和应用系统中共享口令,降低了口令的安全性。

3.3.1 动态口令认证 动态口令(Dynamic Password),又叫“一次性口令(OTP:One Time Password)”,其主要思想是:在登录过程中加入不确定因素,使每次登录过程中传送的信息都不相同,以提高登录过程安全性。例如:登录密码=MD5(用户名+密码+时间),系统接收到登录口令后做一个验算即可验证用户的合法性。 这些不确定因子选择方式大致有以下几种: 

1.口令序列(S/KEY) 口令为一个单向的前后相关的序列,系统只用记录第N个口令,用户用第N-1个口令登录时,系统用Hash算法(也可以用其他算法)算出第N个口令与自己保存的第N个口令匹配,以判断用户的合法性。由于N是有限的,用户登录N次后必须重新初始化口令序列。 初始化系统:用户输入随机数R,系统利用单向函数f计算f(R),f(f(R)),f(f(f(R)))等i次,结果存入X1,X2,X3,…,Xi中,并记入U盘或打印出X1至Xi+1的列表。用户把U盘或列表妥善保管,系统也在登录数据库中存入用户名和Xi。用户每次登录时,输入他列表中未删除的最后的数Xj,系统计算f(Xj),并与存储在数据库中的Xj+1比较,如果匹配,那么身份认证成功,则用户将从他的列表中删除Xj。所以每个数都被使用一次。

2.挑战/响应(Challenge/Response) 基本思想是:当用户要求登录时,系统产生一个随机数发送给用户。用户将自己的秘密口令和随机数混合起来用某种Hash算法进行运算,即,Result=Hash(用户秘密口令+系统随机数),把运算结果Result发送回系统,系统用同样的方法做验算即可验证用户身份。

3.时间同步(Time Synchronous or SecureID) 为了克服挑战/应答式动态口令认证系统使用过程烦琐,占用过多通信带宽资源的缺点,美国著名的加密算法研究实验室RSA研制成功了基于时间同步的动态口令认证系统RSA SecureID。RSA公司也由此获得了时间同步的专利技术。

基于时间同步认证技术是把时间作为变动因子,一般以60秒作为变化单位。所谓“同步”是指用户口令卡和认证服务器所产生的口令在时间上必须同步。这里的时间同步方法不是用“时统”技术,而是用“滑动窗口”技术。

①:客户请求接入应用服务器; ②:应用服务器请求认证服务器对客户的身份的合法性和真实性进行认证; ③:客户终端弹出身份认证对话框; ④:客户在持有的口令卡上键入PIN码(或开机码),激活口令卡; ⑤:客户将帐号和口令键入终端的身份认证对话框; ⑥:客户终端将帐号和口令通过网络传输给认证服务器; ⑦:认证服务器调用客户信息,产生与客户信息和时间相关的随机序列,并与客户输入的口令进行比对,判别客户身份的合法性和真实性; ⑧:认证服务器将认证结果报告给应用服务器; ⑨:应用服务器根据客户身份的合法性和真实性反馈给客户终端,并决定可以提供服务或拒绝服务。

4.事件同步(Event Synchronous or Safe Word) 这种方法以挑战/响应方式为基础,将单向的前后相关序列作为系统的挑战信息,以节省用户每次输入挑战信息的麻烦。但当用户的挑战序列与服务器产生偏差后,需要重新同步。

几种认证方式的比较

一次性口令的生成方式 Token Card(硬件卡): 用类似计算器的小卡片计算一次性口令。对于挑战/回答方式,该卡片配备有数字按键,便于输入挑战值;对于时间同步方式,该卡片每隔一段时间就会重新计算口令;有时还会将卡片作成钥匙链式的形状,某些卡片还带有PIN保护装置。 Soft Token(软件): 用软件代替硬件,某些软件还能够限定用户登录的地点。  IC卡: 在IC卡上存储用户的秘密信息,这样用户在登录时就不用记忆自己的秘密口令了。  

3.3.2 USB Key身份认证 USB KEY这个概念最早是由加密锁厂家提出来的,用来防止软件盗版,随着互联网和电子商务的发展, USB KEY被用于网络用户身份识别和数据保护的“电子钥匙”。 USB KEY结合了现代密码学技术、智能卡技术和USB技术,是新一代身份认证产品,它具有以下特点:     1、 双因子认证     每一个USB Key都具有硬件PIN码保护,PIN码和硬件构成了用户使用USB Key的两个必要因素,即所谓"双因子认证"。用户只有同时取得了USB Key和用户PIN码,才可以登录系统。即使用户的PIN码被泄漏,只要用户持有的USB Key不被盗取,合法用户的身份就不会被仿冒;如果用户的USB Key遗失,拾到者由于不知道用户PIN码,也无法仿冒合法用户的身份。

2、 带有安全存储空间     USB Key具有8K-128K的安全数据存储空间,可以存储数字证书、用户密钥等秘密数据,对该存储空间的读写操作必须通过程序实现,用户无法直接读取,其中用户私钥是不可导出的,杜绝了复制用户数字证书或身份信息的可能性。     3、 硬件实现加密算法     USB Key 内置CPU或智能卡芯片,可以实现PKI体系中使用的数据摘要、数据加解密和签名的各种算法,加解密运算在USB Key内进行,保证了用户密钥不会出现在计算机内存中,从而杜绝了用户密钥被黑客截取的可能性。支持RSA,DES ,SSF33和3DES算法。     4、便于携带,安全可靠     如拇指般大的USB Key非常方便随身携带,并且密钥和证书不可导出,Key的硬件不可复制,更显安全可靠。

USB Key身份认证系统的应用方式 1、基于冲击-响应的双因子认证方式     当需要在网络上验证用户身份时,先由客户端向服务器发出一个验证请求。服务器接到此请求后生成一个随机数并通过网络传输给客户端(此为冲击)。客户端将收到的随机数通过USB接口提供给ePass,由ePass使用该随机数与存储在ePass中的密钥进行MD5-HMAC运算并得到一个结果作为认证证据传给服务器(此为响应)。与此同时,服务器也使用该随机数与存储在服务器数据库中的该客户密钥进行MD5-HMAC运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户。     密钥运算分别在ePass硬件和服务器中运行,不出现在客户端内存中,也不在网络上传输,由于MD5-HMAC算法是一个不可逆的算法,就是说知道密钥和运算用随机数就可以得到运算结果,而知道随机数和运算结果却无法计算出密钥,从而保护了密钥的安全,也就保护了用户身份的安全。

2、基于数字证书的认证方式     随着PKI技术日趋成熟,许多应用中开始使用数字证书进行身份认证与数字加密。     用户也可以采用自己的私钥对信息进行加密,接收者用发送者的公钥解密,由于私钥仅为用户本人所有,所以就能够确认该信息确实是由该用户发送的,此过程称之为数字签名。     USB Key作为数字证书的存储介质,可以保证数字证书不被复制,并可以实现所有数字证书的功能。

具有保密性的数字签名 明文 发送者A 接收者B 明文 RSA 解密 RSA 加密 RSA 解密 RSA 加密 A公钥 A私钥 B公钥 B私钥 签名 加密 解密 认证 具有保密性的数字签名

3.3.3 RADIUS协议认证 RADIUS原先的目的是为拨号用户进行认证和计费。后来经过多次改进,形成了一项通用的认证计费协议。 RADIUS是一种C/S结构的协议,它的客户端最初就是NAS服务器,现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。

RADIUS的基本工作原理:用户接入NAS,NAS向RADIUS服务器使用Access-Require数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS服务器对用户名和密码的合法性进行检验,必要时可以提出一个Challenge,要求进一步对用户认证,也可以对NAS进行类似的认证;如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;如果允许访问,NAS向RADIUS服务器提出计费请求Account-Require,RADIUS服务器响应Account-Accept,对用户的计费开始,同时用户可以进行自己的相关操作。

3.3.4 单点登录 单点登录(SSO,Single Sign-on)是一种方便用户访问多个系统的技术,用户只需在登录时进行一次注册,就可以在多个系统间自由穿梭,不必重复输入用户名和密码来确定身份。单点登录的实质就是安全上下文(Security Context)或凭证(Credential)在多个应用系统之间的传递或共享。当用户登录系统时,客户端软件根据用户的凭证(例如用户名和密码)为用户建立一个安全上下文,安全上下文包含用于验证用户的安全信息,系统用这个安全上下文和安全策略来判断用户是否具有访问系统资源的权限。遗憾的是J2EE规范并没有规定安全上下文的格式,因此不能在不同厂商的J2EE产品之间传递安全上下文。

使用SSO的好处 (1)方便用户 用户使用应用系统时,能够一次登录,多次使用。用户不再需要每次输入用户名称和用户密码,也不需要牢记多套用户名称和用户密码。单点登录平台能够改善用户使用应用系统的体验。 (2)方便管理员 系统管理员只需要维护一套统一的用户账号,方便、简单。相比之下,系统管理员以前需要管理很多套的用户账号。每一个应用系统就有一套用户账号,不仅给管理上带来不方便,而且,也容易出现管理漏洞。 (3)简化应用系统开发 开发新的应用系统时,可以直接使用单点登录平台的用户认证服务,简化开发流程。单点登录平台通过提供统一的认证平台,实现单点登录。因此,应用系统并不需要开发用户认证程序。

Kerberos技术 Kerberos v5 是业界的标准网络身份验证协议,该协议是在麻省理工学院起草的,旨在给计算机网络提供"身份验证"。Kerberos协议的基础是基于信任第三方,如同一个经济人(broker)集中的进行用户认证和发放电子身份凭证,它提供了在开放型网络中进行身份认证的方法,认证实体可以是用户或用户服务。这种认证不依赖宿主机的操作系统或主机的IP地址,不需要保证网络上所有主机的物理安全性,并且假定数据包在传输中可被随机窃取篡改。

Kerberos机制的实现要求一个时钟基本同步的环境,这样需要引入时间同步机制,并且该机制也需要考虑安全性,否则攻击者可以通过调节某主机的时间实施重放攻击(Replay Attack)。

条件 先来看看Kerberos协议的前提条件: 如下图所示,Client与KDC, KDC与Service 在协议工作前已经有了各自的共享密钥,并且由于协议中的消息无法穿透防火墙,这些条件就限制了Kerberos协议往往用于一个组织的内部, 使其应用场景不同于X.509 PKI。

过程 Kerberos协议分为两个部分: 1 . Client向KDC发送自己的身份信息,KDC从Ticket Granting Service得到TGT(ticket-granting ticket), 并用协议开始前Client与KDC之间的密钥将TGT加密回复给Client。 此时只有真正的Client才能利用它与KDC之间的密钥将加密后的TGT解密,从而获得TGT。 (此过程避免了Client直接向KDC发送密码,以求通过验证的不安全方式) 2. Client利用之前获得的TGT向KDC请求其他Service的Ticket,从而通过其他Service的身份鉴别。 Kerberos协议的重点在于第二部分,简介如下:

1.Client将之前获得TGT和要请求的服务信息(服务名等)发送给KDC,KDC中的Ticket Granting Service将为Client和Service之间生成一个Session Key用于Service对Client的身份鉴别。然后KDC将这个Session Key和用户名,用户地址(IP),服务名,有效期, 时间戳一起包装成一个Ticket(这些信息最终用于Service对Client的身份鉴别)发送给Service, 不过Kerberos协议并没有直接将Ticket发送给Service,而是通过Client转发给Service.所以有了第二步。 2. 此时KDC将刚才的Ticket转发给Client。由于这个Ticket是要给Service的,不能让Client看到,所以KDC用协议开始前KDC与Service之间的密钥将Ticket加密后再发送给Client。同时为了让Client和Service之间共享那个秘密(KDC在第一步为它们创建的Session Key), KDC用Client与它之间的密钥将Session Key加密随加密的Ticket一起返回给Client。

3. 为了完成Ticket的传递,Client将刚才收到的Ticket转发到Service 3.    为了完成Ticket的传递,Client将刚才收到的Ticket转发到Service. 由于Client不知道KDC与Service之间的密钥,所以它无法算改Ticket中的信息。同时Client将收到的Session Key解密出来,然后将自己的用户名,用户地址(IP)打包成Authenticator用Session Key加密也发送给Service。 4.    Service 收到Ticket后利用它与KDC之间的密钥将Ticket中的信息解密出来,从而获得Session Key和用户名,用户地址(IP),服务名,有效期。然后再用Session Key将Authenticator解密从而获得用户名,用户地址(IP)将其与之前Ticket中解密出来的用户名,用户地址(IP)做比较从而验证Client的身份。 5.    如果Service有返回结果,将其返回给Client。

Kerberos协议具有以下的一些优势: 与授权机制相结合; 实现了一次性签放的机制,并且签放的票据都有一个有效期; 支持双向的身份认证,既服务器可以通过身份认证确认客户方的身份,而客户如果需要也可以反向认证服务方的身份; 支持分布式网络环境下的认证机制,通过交换“跨域密钥”来实现。

概括起来说,Kerberos协议主要做了两件事: 1.Ticket的安全传递。 2. Session Key的安全发布。 再加上时间戳的使用就很大程度上的保证了用户鉴别的安全性。并且利用Session Key,在通过鉴别之后Client和Service之间传递的消息也可以获得Confidentiality(机密性), Integrity(完整性)的保证。不过由于没有使用非对称密钥自然也就无法具有抗否认性,这也限制了它的应用。不过相对而言它比X.509 PKI的身份鉴别方式实施起来要简单多了。

3.4 Windows NT安全子系统 Windows NT操作系统达到了美国TCSEC(桔皮书)所规定的C2级安全标准。Windows NT系统采用金字塔型的安全架构,定义了最重要、完整直观的安全策略。如图: 审计 管理 加密 访问控制 用户证明、鉴定 Windows NT的安全策略架构

Windows NT安全子系统的组件 对于Windows NT系统来讲,系统的安全性主要体现在系统组件的功能上。 Windows NT提供5个安全组件,保障系统的安全性。5个安全组件如下: (1)安全标识符(Security Identifiers) 每次当我们创建一个用户或一个组的时候,系统会分配给该用户或组一个唯一的SID,当你重新安装系统后,也会得到一个唯一的SID。SID是唯一的,不随用户的删除而分配到另外的用户使用。 SID永远都是唯一的,SID是由计算机名、当前时间、当前用户态线程的CPU耗费时间的总和这三个参数以保证它的唯一性。

(2)访问令牌(Access Tokens) 当用户通过验证后,登录进程会给用户一个访问令牌,该令牌相当于用户访问系统资源的票证。当用户试图访问系统资源时,将访问令牌提供给Windows NT系统,然后Windows NT检查用户试图访问对象上的访问控制列表。如果用户被允许访问该对象,系统将会分配给用户适当的访问权限。访问令牌是用户在通过验证的时候由登录进程所提供的,所以改变用户的权限则访问令牌须要注销后重新登录,重新获取访问令牌。 (3)安全描述符(Security Descriptors) Windows NT系统中的任何对象的属性都有安全描述符这部分。它保存对象的安全配置。

(4)访问控制列表( Access Control Lists) 访问控制列表有两种:任意访问控制列表(Discretionary ACL)和系统访问控制列表(System ACL)。任意访问控制列表包含了用户和组的列表,以及相应的权限、允许或拒绝。每一个用户或组在任意访问控制列表中欧冠都有特殊的权限。而系统访问控制列表是为审核服务的,包含了对象被访问的时间。 (5)访问控制项(Access Control Entries) 访问控制项有两种:允许访问和拒绝访问。拒绝访问总是优先于允许访问。