在51CTO安全频道特别策划的CISSP的成长之路系列的上一篇文章《讲解身份验证过程》里,J0ker给大家介绍了用户验证时所依赖的三种验证要素、密码和密码短语及其安全使用原则。作为技术实施难度和成本最低的用户验证方案,基于密码的用户验证方案广泛应用于我们的日常生活和工作中。但由于密码本身的脆弱性,很容易被攻击者所破解或窃取,因此,在高安全级别的系统中,往往会在使用密码验证的基础上,再增加其他的验证手段,以增强系统的安全性——这便是本文要介绍的用户所有的凭证(Something you have)和下一篇文章要介绍的用户生物特征..

  在51CTO安全频道特别策划的CISSP的成长之路系列的上一篇文章《讲解身份验证过程》里,J0ker给大家介绍了用户验证时所依赖的三种验证要素、密码和密码短语及其安全使用原则。作为技术实施难度和成本最低的用户验证方案,基于密码的用户验证方案广泛应用于我们的日常生活和工作中。但由于密码本身的脆弱性,很容易被攻击者所破解或窃取,因此,在高安全级别的系统中,往往会在使用密码验证的基础上,再增加其他的验证手段,以增强系统的安全性——这便是本文要介绍的用户所有的凭证(Something you have)和下一篇文章要介绍的用户生物特征(Something you are)这两种用户验证手段。

  用户所有的凭证,和传统的密码方式最大的不同在于,用户所有的凭证,对用户来说是他所有的一个物品,用户不需要了解它们具体是怎么运作的,只需要在系统要求用户进行身份验证时提供它们即可。大家可能会觉得J0ker这样说有点抽象,举个简单的例子,用户要进入一个有警卫看守的房间,如果只需要对上暗号而不需要警卫验证用户的其他属性就能进入,就是传统的密码方式。如果用户对上暗号之后,警卫还需要用户提供自己的工作证或者钥匙才能进入,这就是使用用户所有的凭证的验证方式,更进一步的,按照规定用户还必须是警卫认识的人,用户才能进入,这就是用户生物特征的身份验证方式。因此,用户所有的凭证,也就相当于用户进入系统的钥匙。

  用户所有的凭证按照存在的形式还可以分成逻辑存在和物理存在: 逻辑存在的用户所有凭证通常是保存在用户的系统中,在使用时自动或由用户手动提交给验证系统,这种存在形式的用户所有凭证常见的有各种数字证书、某个包含有特殊字符或内容的文件,或者软件实现的Token一类的产品等。而物理存在的用户所有凭证则包括一次性密码(OTP)、存储卡和智能卡等,因为逻辑存在的用户所有凭证有被攻击者复制利用的风险,因此,物理存在的用户所有凭证在安全上要比逻辑存在的更胜一筹。

  下面J0ker将给大家介绍目前使用最为广泛的两种用户所有凭证方案,一次性密码(OTP)和智能卡:

  一次性密码(One Time Password,OTP)和传统的可多次使用密码不一样,一次性密码只能使用一次,使用之后便告失效。这样,即使用户的一次性密码被攻击者所获取,攻击者也不能使用一次性密码再去登录用户的系统,因为这个一次性密码已经失效。

  和大家认为的不一样,一次性密码使用的历史相当长,一次性密码的使用甚至还早于计算机出现——近代军事和间谍领域常用的密码本,便可以认为是一次性密码的前身。直到现在,将许多个一次性密码列表打印在纸上,并交给用户使用,仍然是最为廉价但安全性相当高的一种一次性密码方案,国内有的银行在加强网上银行安全性的时候便选择了这样的一次性密码实现方式,大家可以在使用相关银行的网上银行时留意一下。当然,这种一次性密码实现的安全取决于用户是否能妥善保管打印有一次性密码的密码本。

  更多的一次性密码方案采用电子和计算机技术来实现,这类一次性密码方案的用户端通常是一个类似于小的计算器或钥匙吊坠般外形的设备,上面有个数不等的按钮,行业里也将这个设备称为令牌设备(Token Device)。用户按照一定的规则向令牌设备输入数据,令牌设备计算后返回一个结果给用户,这个结果就是用户登录系统的一次性密码。令牌设备可以根据实现方式分成同步式令牌设备和异步式令牌设备:

  同步式令牌设备(Synchronous Token):令牌设备内保存有和验证服务器相同的一个基准值,如精确到微秒的时间,或用管理员设置的一个可变数值。基于时间同步的令牌设备称为Clock-based Token,而基于可变数值计算的则称为Counter-based Token。它们生成一次性密码的方式大致相同,都是用户输入密码后,由令牌设备利用与服务器同步的变量作为一个参数,重新生成一个用于登录系统的一次性密码。而验证服务器端则会使用相同的变量及算法处理保存在数据库中的用户密码,如果用户提供的一次性密码和验证服务器计算的相同,就可以证明该用户是系统的合法用户。

  

  图1,基于时间同步的令牌设备(Clock-based Token)的工作流程

  

  图2,基于变量同步的令牌设备(Counter-based Token)的工作流程

  异步式令牌设备(Asynchronous Token):由于同步式令牌设备需要和验证服务器相一致的时间或数值变量,所以同步式令牌设备的部署和维护并不轻松。异步式令牌设备则没有这个缺点,它不需要验证服务器维护和令牌设备之间的时间或变量同步。异步式令牌设备采取挑战-回答(Challenge-Response)的一次性密码生成方式,在用户提出登录请求后,验证服务器将根据用户输入的密码返回一个数字,用户再将这个数字输入到令牌设备中进行计算后,把计算结果返回给验证服务器,验证服务器也会进行相同的计算步骤并将结果和用户的输入进行比较,如两个值相同,则验证通过,用户可以登入系统。

  近几年市面上还出现了使用安装在用户系统内的令牌程序代替物理令牌设备的一次性密码方案,这种方案进一步降低了用户部署和维护的成本,也更加适用于追求安全性,又对验证方案的成本敏感的企业使用。

  智能卡(Smart Card):智能卡是一张类似信用卡大小的塑料卡片,在它里面有一块微型的芯片,这款芯片可以存储一些与用户验证相关的信息。有的高级智能卡还包括专用的计算芯片,能够提供一定的加解密或其他运算功能。智能卡的使用要比一次性密码更为广泛,经常被企业用于提供物理安全的访问控制方案中。

转载于:https://www.cnblogs.com/China-Dragon/archive/2009/03/22/1419320.html

CISSP的成长之路(二十一):用户持有凭证相关推荐

  1. CISSP的成长之路(十六):复习访问控制(1)

    访问控制(Access Control)是CISSP知识体系中的第三个CBK,它的内容包括如何使用多种系统提供的安全功能来控制对组织的信息和数据处理资源的访问,这些访问控制措施通过管理.物理和逻辑控制 ...

  2. CISSP的成长之路(三):怎样获得CISSP认证

    在51CTO安全频道特别策划的CISSP的成长之路系列的上一篇< 为什么要获得CISSP认证>里,J0ker介绍了为什么要获得CISSP认证和CISSP的职业发展情况.那需要通过怎样的流程 ...

  3. 六级考研单词之路-二十一

    title: 六级考研单词之路-二十一 date: 2020-12-08 11:31:40 tags: 六级考研单词之路 Day21 1.steak[n.牛排,肉排] 2.rice[n.米饭] 3.s ...

  4. CISSP的成长之路(二):为什么要获得CISSP认证

    第一个问题,为什么要获得CISSP呢? 信息安全是一个相对的概念,在安全威胁很低的情况下,安全专家通常是被人们所遗忘的对象.但随着信息技术的发展,当年只有精通系统和网络底层,推动技术进步的高手才能被称 ...

  5. 从1.5K到18K 一个程序员的5年成长之路(二)

    这一切都来自于心态 CSDN:从开始学习,到学有所成和找工作,再到工作中遇到各种困难,然后获得突破,在整个过程中,能总结下你心态都有哪些变化?是用运用什么方法或方式进行调整? 雷果国: 学习之前,我是 ...

  6. CISSP的成长之路(十五):系统架构和设计之安全标准

    在实践中采购一个信息技术产品之前,我们一般都会先了解目标产品的安全程度.但如果由不同需求的人员来对产品进行评估,如果没有统一的标准,结果也是千差万别--这样就产生对统一标准的需求,因此世界上的许多国家 ...

  7. CISSP的成长之路(七):复习信息安全管理(1)

    上一篇文章<复习流程和资源>里,J0ker给大家介绍了一般的复习流程和对复习比较有帮助的资源.从本文开始,J0ker将带大家进入CISSP考试的正式复习过程:2007年(ISC)2修改过C ...

  8. CISSP的成长之路(九):复习信息安全管理(3)

    上一篇文章<复习信息安全治理(2)>里,J0ker给大家简单介绍了风险分析和评估的一些要点.我们都知道,假如同时做多个事情,就需要按照事情的轻重缓急来安排好执行的顺序和投入,实施信息安全项 ...

  9. aehyok.com的成长之路二——技术选型

    前言   首先奉上个人网站地址传送门:aehyok.com 在上一篇博客中http://www.cnblogs.com/aehyok/p/3934197.html主要简单的介绍了自己做个人网站的初衷, ...

最新文章

  1. Win XP远程桌面双管理员同时登录
  2. Windows Server 2008 R2之新功能概览
  3. DDIC和SAP*被锁定后如何解锁或重置密码
  4. Mysql的锁机制之表锁
  5. 概要设计说明书(转载)
  6. 天锋w2019_不知道为什么那么多人喜欢三星W2019,直到入手这款天锋W2019手机
  7. python工厂模式 简书_工厂模式
  8. 利用vertical-align实现图片文字垂直居中对齐(HTML、CSS)
  9. python编程是啥-学了Python编程之后,同是新手的他们做了什么?
  10. Java和C语言动态构造int数组
  11. Linux 常用ping命令详解
  12. ————博客永久废止————转到http://1su.net/nsB
  13. Day6 练习1 买飞机票
  14. 5.MCScanX 与circos下载、安装、运用
  15. 浅析Windows2000服务与后门技术
  16. 局域网本地连接计算机,Windows XP下让电脑通过无线网卡共享本地连接实现局域网共享宽带上网...
  17. 获取CPU型号和序列号
  18. js获取当前时间的前一天/后一天 ,前一月/后一月
  19. QScrollBar纯色美化样式表【vertical部分】
  20. APP自动化测试-6.断言处理assert与hamcrest

热门文章

  1. 关于Zend framework 里一段代码的疑问
  2. matlab sort对矩阵某一维进行排序并记录之前索引
  3. tf.clip_by_value()
  4. python requests 10041报错_pythonrequests返回unicode异常消息(或如何设置请求区域设置)...
  5. mexw32与mexw64
  6. windows Server 2003 尝试安装.NET Framework 4 失败
  7. chrome只能装在c盘吗_电脑硬盘使用与文件整理入门——逃离C盘?
  8. java 支付重复问题_Airbnb支付系统如何在分布式环境下避免重复打款
  9. Java tree set_Java TreeSet tailSet()方法
  10. vue表单的基本使用