老话重谈 加密身份验证

简介:

说起身份认证我们就会想起AAA ,AAA代表Authentication、Authorization、Accounting,意为认证、授权、记帐,其主要目的是管理哪些用户可以访问服务器,具有访问权的用户可以得到哪些服务,如何对正在使用网络资源的用户进行记帐。 
1、 认证:验证用户是否可以获得访问权限——“你是谁?” 
2、 授权:授权用户可以使用哪些资源——“你能干什么?”

3、 记帐:记录用户使用网络资源的情况——“你干了些什么?”

我们在这主要说下认证:认证是指验证一个端用户或者设备(pc  路由)所声称身份有效的过程,授权指赋予用户,用户组或特定系统访问权限的过程,授权和记账都是在认证之后进行的。其中认证是证明设备或者用户端技术。主要有本地认证(local control)和第三方的方式认证(trusted third party),只有协议有以下几个

       1.  S/Key一次性口令系统是一个基于MD4 和MD5的一次性口令生成方案。他可以对访问者的身份与设备进行综合验证。S/Key协议的操作时基于客户端/服务器端模式。客户端可以是任何设备,如普通的PC或者是有移动商务功能的手机。而服务器一般都是运行Unix系统。

2. ppp认证协议包括pap chap   eap

pap口令认证协议为端点提供双向握手向认证服务器确立身份的简单认证方式,

 

pap不是强制认证,只认证端点 口令已明文方式发送,只执行一次,不能防止重放攻击和错误攻击,有端点控制频率和时间

CHAP(挑战-握手验证协议 Challenge-Handshake Authentication Protocol)是一种加密的验证方式,能够避免建立连接时传送用户的真实密码。NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和一个任意生成的挑战字串(arbitrary challengestring)。远程客户必须使用MD5单向哈希算法(one-way hashing algorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送

 

CHAP对PAP进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密。因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的操作,并将结果与用户返回的口令进行对照。CHAP为每一次验证任意生成一个挑战字串来防止受到再现攻击(replay attack)。在整个连接过程中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第3方冒充远程客户(remote client impersonation)进行攻击

eap:
  1. 在链路建立阶段完成以后,认证方向对端发送一个或多个请求报文去认证结点。在请求报文中有一个类型字段用来指明认证方所请求的信息,例如是 ID、MD5 的挑战字、一次密码(OTP)以及通用令牌卡等。MD5 的挑战字对应于 CHAP 认证协议的挑战字。通常认证方首先发送一个初始的 ID 请求随后再发送其他的请求信息。当然,这个 ID 请求报文并不是必须的,在对端身份是已知的情况下(如租用线、拨号专线等)可以跳过这个步骤。
  2. 端点对每一个请求报文回应一个应答包。和请求报文一样,应答报文中也包含一个类型字段,对应于所回应的请求报文中的类型字段。
  3. 认证方通过发送一个成功或者失败的报文来结束认证过程

 

使用的认证机制协议:

1.TACACS+提供了独立的认证、授权和记账服务尽管RADIUS在用户配置文件中集成了认证和授权,TACACS+分离了这两种操作,另外的不同在于TACACS+使用传输控制协议 (TCP)而RADIUS使用用户报文协议(UDP).多数管理员建议使用TACACS+,因为TCP被认为是更可靠的协议。TACACS+协议的扩展为最初的协议规范提供了更多的认证请求类型和更多的响应代码TACACS+ 使用TCP端口49,包括三种独立的协议,如果需要,能够在独立的服务器上实现。TACACS+提供了多协议支持,如IP和AppleTalk.一般操作都对数据包进行全部加密,以提供更安全的通信,这是一个Cisco对最初的TACACS协议提供的专有的改进。

认证有3个报文

1.START  总是有客户端发出

2.CONTINUE  总是有客户端发出

3.REPLY  总是有服务器发出,又包括3个结果(1.ACCEPT    2.REJECT   3.ERROR)
过程:首先客户端发起认证  START报文   服务器收到报文后觉得认证还没有结束,发送reply报文  ,客户端发送 continue 

 

 1.用户向NAS发起ppp
 

2.NAS 向TACACS+发送start报文

3.TACACS+向NAS发送getuser报文,提示输入口令密码(pap)或chap

4.NAS 返回到远程pc

5.pc 响应NAS

6.NAS 把加密报文发给TACACS+

7.TACACS+认证结果对NAS respond

8.NAS AND TACACA   exchange  image

9.MAS   根据授权  采取action

2.RAUIDS 协议

 RADIUS是一种C/S结构的协议,它的客户端最初就是NAS(Net Access Server)服务器,现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。RADIUS协议认证机制灵活,可以采用PAP、 CHAP或者Unix登录认证等多种方式。RADIUS是一种可扩展的协议,它进行的全部工作都是基于Attribute-Length-Value的向量进行的。RADIUS也支持厂商扩充厂家专有属性。

 

使用udp作为传输协议  其中客户端到radius client 之间是不加密的

3.kerberos 协议

 Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下, Kerberos 作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。   认证过程具体如下:客户机向认证服务器(AS)发送请求,要求得到某服务器的证书,然后 AS 的响应包含这些用客户端密钥加密的证书。证书的构成为: 1) 服务器 “ticket” ; 2) 一个临时加密密钥(又称为会话密钥 “session key”) 。客户机将 ticket (包括用服务器密钥加密的客户机身份和一份会话密钥的拷贝)传送到服务器上。会话密钥可以(现已经由客户机和服务器共享)用来认证客户机或认证服务器,也可用来为通信双方以后的通讯提供加密服务,或通过交换独立子会话密钥为通信双方提供进一步的通信加密服务。


本文转自q狼的诱惑 51CTO博客,原文链接:http://blog.51cto.com/liangrui/525028,如需转载请自行联系原作者

相关文章
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
如何准确检测AI生成内容?这三大技术是关键
如何准确检测AI生成内容?这三大技术是关键
1245 116
|
传感器 算法 物联网
智能停车解决方案之停车场室内导航系统(二):核心技术与系统架构构建
随着城市化进程的加速,停车难问题日益凸显。本文深入剖析智能停车系统的关键技术,包括停车场电子地图编辑绘制、物联网与传感器技术、大数据与云计算的应用、定位技术及车辆导航路径规划,为读者提供全面的技术解决方案。系统架构分为应用层、业务层、数据层和运行环境,涵盖停车场室内导航、车位占用检测、动态更新、精准导航和路径规划等方面。
1612 4
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
471 33
|
SQL 安全 关系型数据库
AWVS扫描在线站点实现安全评估
AWVS扫描在线站点实现安全评估
|
网络协议 数据库连接 数据库
长连接与短连接的区别以及使用场景
这篇文章讨论了长连接与短连接的区别、各自的优缺点以及使用场景,指出短连接适用于浏览器访问服务器等场景,而长连接适用于操作频繁且连接数不多的情况,如数据库连接,选择长连接或短连接应根据实际需求和网络环境来决定。
长连接与短连接的区别以及使用场景
|
监控 前端开发 安全
如何开发一个网站:全面解析与实战指南
在数字化时代,网站是企业和个人展示形象、传播信息的关键平台。本文提供从规划、设计、开发、上线到后期维护的全方位网站开发指南,涵盖明确目标、分析用户、设定功能需求、设计风格、技术选型、测试部署及优化升级等内容,帮助你打造既美观又实用的网站。
1411 4
|
数据采集 机器学习/深度学习 数据可视化
纵横小说网站数据采集与分析实现
本文介绍了一个基于Python的纵横中文网数据采集与分析项目,旨在通过技术手段深入分析网络小说市场,掌握读者需求,评估作品质量,并为网站运营提供策略支持。
1175 0
纵横小说网站数据采集与分析实现
|
移动开发 JavaScript 小程序
uView Swiper 轮播图
uView Swiper 轮播图
714 0
|
存储 NoSQL 关系型数据库
认识常见的一些数据库分类
数据库是用于存储、检索、管理和发送数据的系统。根据数据模型的不同,数据库可以分为多种类型。
1828 4