用户认证总结

(1)用户认证分为两类:一种是基于对称加密的远程用户认证,第二种是基于非对称加密的远程用户认证。但是,不论是基于对称加密的,还是基于非对称加密的,每一种认证又可以按照是否双方都需要互相认证对方的身份而分为:单向认证双向认证

(2)基于对称加密的远程用户认证:不需要公私钥,但是需要KDC(Key Distribution Center,密钥分发中心)的存在。不论是单向认证还是双向认证,都需要KDC的存在。(或者称为AS,或者称为其他名称,在应用中扮演KDC角色的主体名字虽然不叫KDC,但是具有KDC的作用。)

(3)基于非对称加密的远程用户认证:需要公私钥。分两类说明:

双向认证:需要KDC的存在;

单向认证:比如发送电子邮件,接受者需要验证发送者的身份,属于单向认证,这时候,可以用发送者的私钥验证发送者的身份,可以用接受者的公钥来保证邮件内容的保密性。如果要保证密钥的新鲜性的话,还是需要KDC的存在的,否则KDC可以不存在。

说明:上面的分类都是属于思想或者协议层面的,并不是真正用于工程操作的方案,而Kerberos是在上述思想之下的一种可以执行的方案。

(4)Kerberos属于基于对称加密的远程用户认证,可以实现单向认证,也可以实现双向认证。

(5)身份认证往往是和密钥分发结合在一起完成的。

(6)联合身份认证:是一个集中式的自动的方法,提供雇员或者其他授权的个人对资源拥有企业范围的访问。简单说,就是为了让用户访问多个服务的时候尽量减少输入口令等操作。

主要概念有两个:SSO和RSO。

SSO(Single Sign-On):单点登录,使用户经过一次认证之后就可以访问所有网络资源。

RSO(Reduced Sign-On):简化登录,可能需要多次认证登录,但是比每个资源和服务都要认证时需要的用户开销要少。

SSO的例子:我们登录QQ之后,不需要再重新登录就可以访问QQ空间,QQ邮箱等属于腾讯公司的所有的资源或者服务。

但是,需要在浏览器中应用腾讯的SSO模块。

如下图所示:

(7)Kerberos包含许多身份管理系统的要素。

时间: 2024-10-12 02:08:55

用户认证总结的相关文章

翻译:WebApi 认证--用户认证Oauth解析

The Web API v2用户认证模板提供了流行的应用用户认证场景,如.使用本地帐号的用户名密码认账 (包括创建用户.设置和修改密码)以及使用第三方的认证方式,如facebook,google等等– 在本地中包含了外部帐号的连接 所有的这些均通过使用一个OAuth2认证服务进行. To make all that happen the template combines quite a bit of new stuff together: OWIN, Katana authentication

Laravel 查看默认的用户认证

跟踪查看用户认证实现 在路由器加个反射 route/web.php <?php Route::get('/', function () { return view('welcome'); }); Auth::routes(); Route::get('/home', '[email protected]'); Route::get('/find/{class}/{action?}',function($class,$action = null){ if($action == null) { $c

lamp用户认证

1.用户认证 给某个目录设置访问权限,提升安全性.例如管理后台等 # vim /usr/local/apache2/conf/extra/httpd-vhosts.conf <Directory /data/www/1.txt> AllowOverride AuthConfig AuthName "aming" AuthType Basic AuthUserFile /data/.htpasswd require valid-user </Directory>

Django的用户认证----介绍

Django自带了一个用户认证系统.它处理用户账户.组.权限和基于cookie的用户会话. 概括 Django认证系统处理认证和授权.简单的说,认证是验证一个用户被声明为谁,授权是确定一个认证的用户允许做什么. 认证系统由下面的组成: 用户 权限:二进制标志,标明用户是否可以执行指定的任务 组:应用标签和权限给多个用户的通用方法 可配置的密码hash系统 用户登录的表单和视图工具或者限制的内容 可插入模块的后端系统 Django的认证系统只提供简单的方法,并不提供在web认证系统找到的一些特性.

Django1.9开发博客(9)- 用户认证

你应该注意到了一点,当你去新建.修改和删除文章的时候并不需要登录,这样的话任何浏览网站的用户都能随时修改和删除我的文章.这个可不是我想要的! 编辑和删除的认证 我们需要保护post_new, post_edit和post_publish这三个视图,只有登录用户才有权去执行. django为我们提供了很好的帮助类,其实就是利用了python中的decorators技术. django中认证的装饰器位于模块django.contrib.auth.decorators中,名称叫login_requir

vsftpd基于pam_mysql的虚拟用户认证

1.ftp用户 匿名用户:映射到某一个固定的系统用户,例如(ftp,vsftp,/var/ftp) 本地用户:系统用户,root及系统用户(0-999) 虚拟用户:nsswitch: name services switch  名称服务转换 PAM: Plugabl Plugable Authentication Modules  插入式认证模块本文主要讲解vsftpd基于pam_mysql的虚拟用户认证步骤. 2.准备环境 操作系统 主机名 IP地址 环境描述 CentOS 7.1 ch7 1

Nginx简介及用户认证、访问控制和反向代理配置

Nginx 是一个很强大的高性能Web和反向代理服务器及及电子邮件(IMAP/POP3)代理服务器,由俄罗斯程序员设计师Igor Syaoev所开发,官方网站:http://nginx.org/  特点是占有内存少.并发能力强. Nginx配置文件及目录简介: - /usr/local/nginx/                                                           安装目录 - /usr/local/nginx/conf/nginx.conf  

Flask学习之六——用户认证

1. 密码安全性 使用Werkzeug实现密码hash generate_password_hash(password, method, salt_length) 将原始密码作为输入,以字符串形式输出密码的hash值,输出的值可保存在用户数据库中.method 和 salt_length的默认值就能满足大多数需求. check_password_hash(hash, password) 将数据库中取回的密码hash和用户输入的密码比较,如果密码正确则返回Trueapp/models.py:在Us

Apache用户认证;域名跳转;

扩展 apache虚拟主机开启php的短标签   http://www.aminglinux.com/bbs/thread-5370-1-1.html 1. 编辑第二个虚拟主机设定Apache用户认证(访问网站需要用户密码认证) [[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 插入内容如下(设定指定网站访问认证参数如下位置如图) <Directory /data/wwwroot/111.co

Django 中的用户认证

Django 自带一个用户认证系统,这个系统处理用户帐户.组.权限和基于 cookie 的 会话.本文说明这个系统是如何工作的. 概览 认证系统由以下部分组成: 用户 权限:控制用户进否可以执行某项任务的二进制(是/否)标志. 组:一种为多个用户加上标签和权限的常用方式. 消息:一种为指定用户生成简单消息队列的方式. Deprecated in Django 1.2: 认证系统的消息部分将会在 Django 1.4 版中去除. 安装 认证系统打包在 Django 的 django.contrib