SASL - 简单认证和安全层

SASL是一种用来扩充C/S模式验证能力的机制认证机制,  全称Simple Authentication and Security Layer.

当你设定sasl时,你必须决定两件事;一是用于交换“标识信 息”(或称身份证书)的验证机制;一是决定标识信息存储方法的验证架构。

sasl验证机制规范client与server之间的应答过程以及传输内容的编码方法,sasl验证架构决定服务器本身如何存储客户端的身份证书以及如何核验客户端提供的密码。

如果客户端能成功通过验证,服务器端就能确定用户的身份, 并借此决定用户具有怎样的权限。

比较常见的机制;

4.1 plain(较常用)

plain是最简单的机制,但同时也是最危险的机制,因为身份证书(登录名称与密码)是以base64字符串格式通过网络,没有任何加密保护措施。因此,使用plain机制时,你可能会想要结合tls。

4.2 login

login不是其正式支持的机制,但某些旧版的mua使用这种机制,所以cyrus sasl让你可选择其是否支持login机制。如果你的用户仍在使用这类老掉牙的mua,你必须在编译sasl函数库时,指定要包含login的支持。 login的证书交换过程类似plain。

4.3 otp

otp是一种使用“单次密码”的验证机制。此机制不提供任何加密保护,因为没必要--每个密码都只能使用一次,每次联机都要改用新密码。smto client必须能够产生otp证书。

4.4 digest-md5(较常用)

使用这种机制时,client与server共享同一个隐性密码,而且此密码不通过网络传输。验证过程是从服务器先提出challenge(质询)开始, 客户端使用此challenge与隐性密码计算出一个response(应答)。不同的challenge,不可能计算出相同的response;任何拥 有secret password的一方,都可以用相同的challenge算出相同的response。因此,服务器只要比较客户端返回的response是否与自己算 出的response相同,就可以知道客户端所拥有的密码是否正确。由于真正的密码并没有通过网络,所以不怕网络监测。

4.5 kerberos

kerberos是一种网络型验证协议。除非你的网络已经使用kerberos,否则你应该用不到kerberos机制;相对的,如果你的网络已经架设了kerberos验证中心,sasl就能完美的将smtp验证整合进现有的体系。

4.6 anonymous

anonymous机制对smtp没有意义,因为smtp验证的用意在于限制转发服务的使用对象,而不是为了形成open relay,sasl之所以提供这种机制,主要是为了支持其他协议。
当 客户端链接到一个支持sasl的邮件服务器时,服务器会以优先级列出可用的机制供客户端选择。如果客户端也支持多钟机制,则当第一种机制验证失败时,客户 端可能会继续尝试第二种机制,直到通过验证或是所有机制都失败为止。如果双方在一开始就无法协调出共同的机制,验证过程就算失败。
一旦双方在使用哪种机制上达成共识,就开始进行验证过程。实际的交互过程随机制而定,但通常包含一次或多次应答过程。验证协议本身也规定了应答内容的编码格式。

5. 总结

数字证书, 是级联认证派发的, 最上层是根CA认证中心. 数字证书的根本作用, 是为了保证所有人公钥的安全性和真实性. 大致认证过程是: 通过CA的公钥来解出该CA所派发的证书里面所包含的公钥(用户或者机构的). 并通过该公钥来验证证书持有人的真实性. (因为持有人并不一定是证书所有人)

通过上面对SSL的分析,我们可以看到,SSL并不能阻止别人获得你传输的数据,但是由于你传输的数据都是加密过的,别人拿到了毫无用处,一样可以保护信 息的安全。还有一点需要强调一下,SSL并不依赖于TCP,它可以建立在任何可靠的传输层协议(比如TCP)之上。也就是说SSL是不能建立在UDP之上 的。这是显然的,如果传输都不可靠,偶尔丢两个包或者包的顺序换一换的话,怎么保证安全呢?

SASL是提供一种用户身份认证机制, 你可以简单认为是用来认证用户的账号/密码是否运行进入系统或者使用系统的服务. 一般较长使用digest-md5, 该种机制下, 密码可以不用在网络上传输, 也就不用怕密码被窃听.

SASL - 简单认证和安全层相关推荐

  1. 简单认证与安全层SASL

    http://zh.wikipedia.org/wiki/%E7%AE%80%E5%8D%95%E8%AE%A4%E8%AF%81%E4%B8%8E%E5%AE%89%E5%85%A8%E5%B1%8 ...

  2. kafka带kerberos和sasl安全认证:命令行消费指定topic数据

    1.什么是kerberos? Kerberos(/ˈkərbərəs/)是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证.这个词又指麻省理工学院为这个协议开发的一套计算 ...

  3. go kafka 配置SASL认证及实现SASL PLAIN认证功能

    用户认证功能,是一个成熟组件不可或缺的功能.在0.9版本以前kafka是没有用户认证模块的(或者说只有SSL),好在kafka0.9版本以后逐渐发布了多种用户认证功能,弥补了这一缺陷(这里仅介绍SAS ...

  4. Kafka 开启 SASL/PLAINTEXT 认证及 ACL

    Linux 安装 Kafka 并开启 SASL/PLAINTEXT 认证 前言 一.环境准备 1.组件版本 2.下载文件 3.上传文件 二.安装 Zookeeper(单节点) 三.安装 Kafka(单 ...

  5. kafka SASL认证介绍及自定义SASL PLAIN认证功能

    文章目录 kafka 2.x用户认证方式小结 SASL/PLAIN实例(配置及客户端) broker配置 客户端配置 自定义SASL/PLAIN认证(二次开发) kafka2新的callback接口介 ...

  6. ACL+SASL的认证配置后的Kafka命令操作(Windows版)

    ACL+SASL的认证配置后的Kafka命令操作 Windows环境 背景 版本 操作 配置文件准备 Zookeeper配置文件 Clients配置文件 Kafka Server配置文件 JAAS配置 ...

  7. Kafka系列(五)、开启SASL安全认证以及配置ACL权限控制

    目录 开启SASL 控制台配置用户 ACL授权 Python客户端访问 ACL常用命令 Kafka系列: kafka 2.4.1单机版部署及使用 kafka监控系统kafka eagle安装使用 滴滴 ...

  8. 简单实现 飘浮 广告层特效

    简单实现 飘浮 广告层特效(董侨-QQ5596152-JonneyDong) 以下为JavaScript 代码. 新建一个Div 1 <script language="javascr ...

  9. html鼠标跟随特效代码简短,JS实现的简单鼠标跟随DiV层效果完整实例

    本文实例讲述了JS实现的简单鼠标跟随DiV层效果.分享给大家供大家参考,具体如下: 这段代码呈现一串跟随鼠标的Div效果,并有拖影特效,随着鼠标快速的晃动,Div层效果会不断的增加,后面的Div会自动 ...

最新文章

  1. Android Studio修改.gradle文件路径
  2. centos6 安装 mantisbt-1.2.8 —— (4)在CentOS6.4中安装配置LAMP环境
  3. 基本符号有_MapGIS 10中各种比例尺、符号尺寸计算说明(三)——随图缩放的符号计算...
  4. centos6配置日志外发_CentOS6下记录后台操作日志的两种方式
  5. DISCUZ网站DIY后,导致DIY功能失效,无法在前台删除已创建的DIY功能解决办法
  6. IDA64 Fatal error before kernel init
  7. CRMEB v3.2微信小程序商城前端
  8. 在a标签中添加点击事件
  9. XAMPP浏览器输入localhost跳转localhost/dashboard/
  10. 中控指纹仪linux驱动下载,中控uru4500指纹仪驱动
  11. mysql将公历农历转换_SQL 日期转换(阳历转阴历)
  12. Linux学习(2)---绝对路径和相对路径
  13. QModel-BIM-Revit模型轻量化产品介绍
  14. 如何将截图中公式转换成为可用的mathtype公式
  15. 删除链接到WLW清单文件
  16. 【Python项目】Flask + MySQL 实现用户注册,登录、注销
  17. [Firemonkey]开发Android系统的PDA手机扫码功能
  18. 融创服务危机四伏:体量小、价格高,九成物业收入靠融创中国
  19. 互联网公司优雅的转正述职
  20. Moloch is not working 处理流程

热门文章

  1. 一个奔四技术人的2020年
  2. 烽火2640路由器命令行手册-04-网络协议配置命令
  3. CSS实现抽奖大转盘
  4. 开关电源的开关管一般用MOS管而不是三极管原因
  5. 20191202Spark
  6. Redis从精通到入门——数据类型Zset实现源码详解
  7. JDBC(Java数据库连接) 学习笔记 第四天
  8. 2018版本及2017版本的IntelliJ IDEA破解步骤,非lanyu,到2099年
  9. 计算机科学精粹这本书有用吗,计算机科学精粹
  10. RocketMq配置rocketmq-console控制台管理账号密码