其实密码就是某种形式的授权,或者认证,人们用它来限制对给定资源的访问。密码应当是保密的,这样才能限制人们对重要信息的获取。但是由于当今社会技术的不断进步,密码的功能已经越来越弱了。现在情况已经演变成:如果你用密码作为唯一的授权方法,那么就等于没有使用任何保护措施。现在破译密码的时间已经成为缩短成几分钟,而不再是几周或者几个月。现在即使最普通的数字财产,人们也需要使用额外的保护措施了。

为什么密码存在风险

密码是用来识别身份并提供访问你计算机中资源的权限的。这是一种在系统中确定你的权限的必要的认证形式。数字认证通常可以分为如下3种:

你了解的一些东西:密码,密令或者PIN码。

你拥有的一些东西:安全随机验证码或者智能卡。

你的一些特征:生理的(比如指纹或者视网膜扫描)。

一旦只用这其中的一种认证方式,那么这些密码都是最弱的认证工具。为什么呢?我们得面对一个现实,很多人都懒于在他们的密码上花心思:

他们编造很简单的密码,比如用宠物的名字或者最喜欢的球队的名字作密码。他们还在很多系统中都用同样的密码。他们把密码写在便签纸上放在电脑旁边。一旦你的密码不再保密,你就不能用它唯一的识别你自己的方法了——这就是说它不能保护你那些有用的信息了。不幸的是,就算你很谨慎地保管你的密码,***们可以用很多方法来获得它。

截获你的信息

那些坏家伙们能够在你上网传输密码的时候,使用特殊硬件或者软件——用这些工具他们可以读取存网络传输——来窃取你的密码。

如果在网络中传输的密码未经过加密,那么***们就可以直接截获你的密码。目前,仍然还有很多技术、应用以及协议,它们直接用文本格式传输密码,根本没有任何保护措施。比如:

·网站(HTTP)

·电子邮件(POP)

·Telnet和Ftp

用纯文本发送验证,那么***们可以毫不费力地发起***。

加密:用暗语说话

给密码加密是保护密码的方法之一,加密后,***无法直接解读它。加密的方法有很多种,都有一定的安全保护功效。比如:

·Windows LAN Manager以及NT LAN Manager 哈希表(LM和NTLM):NTLM是微软的一种认证协议,它使用challenge-response序列要求客户端与服务器端发送3种信息。

·NTLM v2:NTLM的升级版,解决了NTLM实现起来会出现的弱点。

·Kerberos:一种网络认证协议,允许人们通过不安全的网络互相通信,从而用安全的方式互相证明身份。

以上每种方法都只对密码应用了单向加密算法,建立加密的哈希表。简单说来,算法就是一种非常复杂的数学算式,系统用它来给创建加密后的密码(密码哈希表)。一般人们认为,我们是无法用数学的方法对加密的哈希表进行逆运算来获得原始密码的,因此它被看作是一种单向的过程。***们仍然可以截获该加密的哈希表,但是他们无法使用加密形式的密码。

一般密码是储存在本地系统数据库中的。只有这样做,当用户希望访问系统的时候,系统才能够验证用户的权限。这些密码通常都是用前面讨论过的加密哈希表加密的。不幸的是,对那些想要访问你的信息系统的人来说,该数据库就相当于打开系统之门的金钥匙。

很多操作系统都将密码保存在一些众所周知的标准路径中。Unix操作系统将密码存储在\etc\passwd中,而Windows则将密码存储在本地安全帐户管理(SAM)数据库中。如果***者能够获得此类文件,那么为了获得(或者破解)密码,他们很容易就可以***这些信息的高速缓存。

用词库或者穷举方式***

密码***的形式多种多样,最简单的大概就是猜密码了吧。通常使用这种方法的话,***者会努力猜出密码,然后手动登陆进计算机系统。很多人为了方便记忆,使用很简单的密码——这就使其他人也很容易猜出这个密码。

人们还经常忘了修改默认系统或者帐户的密码。使用Google大概搜索就可以获得一大堆各种系统的默认密码。人工猜密码非常慢并且很枯燥,并且很多系统会在你尝试失败一定次数后锁定,这使情况变得更复杂。

那么自动猜密码如何?请看如下2个常用的自动猜密码的方法:

词库式***
穷举***
词库式***使用常用词语和名字的词库作为猜密码的参考。那么那些选容易记的简单密码的人,他们可能选择常用词语、名字、地方等等做密码。词库***就是利用这些常用词语来进行***的,这些词库下载下来就能用。

穷举***要相对复杂一些,它执行起来时间相对长一些。简单说起来,穷举***会尝试所有的字母组合,直到找到正确的密码。这些组合的综合被称为密钥空间。为了算出这种所有组合的数量,我们把可用字符的数量记为y,把密码长度记为x,那么所有可能的组合的数量就是y的x次方。例如,让我们来算算只用大写字母来创建8位的密码这种情况下,可能的组合的数量是多少。如下的例子就计算了26的8次方是多少:

大写字母26
密码长度
8keyspace (268)208,827,064,576
那么,如果我们把可选字符的范围扩大到标准键盘上的所有字符呢?那么一共就有96个字符:

所有96个字母96
密码长度8
keyspace (968)7,213,895,789,838,340
随着可用字符的增多,可能的字母组合的数量也按几何级数的规律增长。这就意味着破解这些密码所需要的计算时间也成比例地增长了。NIST特刊800-63出色地讨论了密码安全性以及密码属性(长度和可用字符)对其的影响。

那么,使用穷举***来破解这些密码到底需要多少时间呢?这里我就不再重复所有的数学公式以及情景了,你可以参考《破解密码需要多久?》这本书,该书针对这个问题进行了详细解说。根据这篇文章的观点,最高可能需要210年来尝试8位密码的所有可能组合(可用字符是键盘上的所有字符)。对任何人来说,花两个世纪来破解一个密码是没有任何意义的。这就是穷举***的明显弱点,因此那些***们开发了新的技术,包括分布式计算处理技术以及Cryptanalytic Time-Memory Trade-Off技术。

分布式处理技术让破解更快捷

***们对开发更快***手段的尝试开始于使用分布式处理模型。我们可以找到很多该技术的典型例子,比如SETI@Home还有Folding@Home。这些工程利用睡眠状态计算机的屏幕保护程序来进行复杂计算。这种概念也在被称为分布式john或者djohn的分布式密码破解机中使用。那个站点的一位专家解释了该过程:

“有了分布式John(djohn)你就可以使用多台机器来破解密码,这样就比用一台机器快得多。具体的破解工作由每台机器自己完成,而djohn的服务器(djohnd)则将工作划分成工作包,并协调客户端的工作(djohn),这些客户端也就是负责具体工作的那些机器。”这种方法让***们获得了几乎是不受限制的破解能力。似乎唯一的限制就在于他们能够获得多少台计算机来完成这项工作。

Cryptanalytic Time-Memory Trade-off更有效

最终,人们发现我们没有必要重复进行这些冗长的计算。换句话说,为什么要反复做同样的事情呢?为什么不就做一次然后把结果保存下来,以供下次使用呢?这个想法最终导致了 Cryptanalytic Time-Memory Trade-Off概念的诞生。由于篇幅有限,在此我就不赘述该概念了,不过需要指出的是,该概念接着引出了密码破解用的Rainbow Tables的实现。Rainbow tables使用存储在一个查询表格中的已经生成好的密码哈希表。因此,人们只需要创建一次,然后就可以把它存储起来备用。但是,这种方法也有些难点:

创建这些表格仍然需要很多时间。Rainbow Tables还是用分布式处理的应用程序来解决的这个问题。该项工程需要的存储量非常大(数百G)。以前,这么大容量的硬盘非常昂贵,但是现在,500GB的硬盘只要100多美元就可以了。

未来还可能出现哪些威胁?

随着技术的进步以及众多新点子的诞生,我们面临的风险也随之升级。一些比较严重的威胁包括:

摩尔定律:摩尔定律指出,芯片上晶体管的数量每两年翻一番。这就导致CPU越来越快、计算处理能力越来越强。我们还有了双核处理器,这又将cpu的处理能力提升了数倍。Intel甚至宣称他们正在进行80核cpu的实验。尽管现在我们还用不上80核的cpu,但是有人预计5年之内人们就可以用上它了。

高端显卡:如今的显卡都是用双核处理器的,并且都是自带RAM的。ATI和nVidia都发布了一些开发套件,用这些套件人们可以开发利用这些强大的处理器的程序。

游戏主机:比高端显卡功能更强大的就是PS3游戏主机了。PS3可以联接到网络并且处理器的能力更强。Folding@Home已经使用了这种技术。我们可以从性能比较的结果中看到这一点。它简略显示了这两个平台与各种PC平台处理能力的对比。***们把这些技术用于破解密码或者其他破解工作只是时间问题。

如何防御?

我认为下一步我们显然应当实现某种形式双重验证。尽管有很多实现的方法,成本最低而且性价比最高的方法就是分发随机验证码,比如RSA securID。这是比较著名的一种解决方案但对那些小的组织来说,这种方案的性价比可能不是很高。但是,Paypal最近实现了一种类似的解决方案(Paypal安全密钥),他们向用户收取的一次性费用是5美元。

还有一些其他的方法和产品,企业和政府也应当开始评估他们的选择。现在危机每天都在增长,并且很快单用密码就无法提供足够的保护功能了

密码 技术 安全 安全

0

分享

微博 QQ 微信

收藏

上一篇:Linux SCSI 子系统剖析 下一篇:Linux 技巧:谈 Linux...
appwizs

20篇文章,4W+人气,0粉丝

Ctrl+Enter 发布

发布

取消

推荐专栏更多

VMware vSAN中小企业应用案例

掌握VMware超融合技术

共41章 | 王春海

¥51.00 346人订阅

订   阅

基于Kubernetes企业级容器云平台落地与实践

容器私有云平台实践之路

共15章 | 李振良OK

¥51.00 596人订阅

订   阅

网工2.0晋级攻略 ——零基础入门Python/Ansible

网络工程师2.0进阶指南

共30章 | 姜汁啤酒

¥51.00 1570人订阅

订   阅

负载均衡高手炼成记

高并发架构之路

共15章 | sery

¥51.00 507人订阅

订   阅

带你玩转高可用

前百度高级工程师的架构高可用实战

共15章 | 曹林华

¥51.00 462人订阅

订   阅

猜你喜欢

我的友情链接 Linux系统上 SU命令的几点安全建议 Windows Server 2008 R2遗忘管理员密码后的解决方案 《灰鸽子VIP帐号密码邮箱数据库》 linux下修改root密码以及找回root密码 中/美/欧 男女鞋码对照表 Windows Server 2012 R2 安装密钥 技术干货|深入理解flannel MySQL 5.7 的初始化操作(root初始密码、修改密码、密码策略、关闭IPv6监听) HG8240电信光猫禁用TR069之修改配置法 SQL自动审核-自助上线平台 V2.0 使用ssh-keygen设置ssh无密码登录 集群管理选举算法实现 高性能RPC框架——Dubbo一站式快速入门 TensorFlow分布式实践 一起走进动物园管理员——ZooKeeper 在CentOS7上部署MFS分布式文件系统 CentOS7上squid的部署及两种模式(4.1版本) 分布式存储系统-GlusterFs概述 从构建分布式秒杀系统聊聊限流特技

扫一扫,领取大礼包

0

分享

appwizs

转载于:https://blog.51cto.com/241072/54302

技术的进步使密码越来越起不了防护作用相关推荐

  1. 一种新的支付技术---自定义双向动态密码介绍

    长期以来,在密码领域,消费者一直使用传统固定密码方式,随着互联网和金融的发达,随之带来的安全问题也日益突出,为提高账户安全性,各种安全设备如U盾,手机短信验证等也涌现出来,这虽然部分上提高了安全性,但 ...

  2. 用sniffer技术盗取电话银行密码

    用sniffer技术盗取电话银行密码 此篇讲解盗取,破解请看我博客上另一篇文章.http://polugen.cnblogs.com 什么是sniffer Sniffer,嗅探器,是一种威胁性极大的被 ...

  3. 密码技术学习一:密码

    0.前言 本文是作者阅读<图解密码技术>时,学习总结的一些知识,在此推荐想要深入学习密码知识的同志,将此书作为入门书来看还是比较适合的. 1.密码技术简介 1.1加密与解密 在两者通信过程 ...

  4. 某个知名技术论坛用户名和密码泄露(第一部分)

    这几天在搜索资料时,通过快照发现一个保存大量用户名和md5密码的文件,应该是某个技术论坛的用户和密码,下面是部分用户名,如果有你常用的id,而且你有一码行天下的习惯,那就需要注意了,有可能被人社工到你 ...

  5. 密码技术学习(1)-初识密码

    文章目录 什么是密码 为什么要使用密码技术 参考书籍和文章 本系列其他文章 什么是密码 不同于我们正常说的登录电脑.网站(CSDN.天猫淘宝)等时输入的"密码",这里说的密码其实是 ...

  6. 计算机的加密技术是指,一、密码技术笔记-常见的密码加密技术

    1.什么是密码 说起密码,你首先想到的是什么?银行卡取钱时输入的密码.某平台登录时输入的密码......这或许是我们基于日常生活中最容易想到的密码.那么这些是密码吗?是也不是.举个栗子: 当我们去银行 ...

  7. 掌纹识别技术解决安全问题 让密码成为历史

    据国外媒体报道,在2012英特尔开发者论坛会议(IDF)上,英特尔展示了未来可让用户访问工作文件或网银账户的"掌纹"识别器.如果这一技术能应用到笔记本和移动设备上,密码将成为历史. ...

  8. 向右挪一个键位使密码好记又安全

    IT.is.easy 写道 "总是有人在不断提醒我们强度低的密码有多么容易被人破解,但是过于复杂的密码对于大家来说又太难记住了.我们的读者calculusrunner向我们提供了一个能提高密 ...

  9. ThinkPHP 缓存技术详解 使用大S方法

    如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷,假如我们把读取数据的过程分为三个层,第一个是访问层,第一个是缓存层,第三个是数 ...

最新文章

  1. 剑指offer:丑数
  2. Cloudera Manager安装之利用parcels方式(在线或离线)安装3或4节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(Ubuntu14.04)(五)...
  3. Windows Phone 7 开发 31 日谈——第6日:工具栏
  4. 面向机器学习的特征工程翻译版
  5. android圆角布局阴影,Android 布局阴影实现
  6. 15-爬虫之scrapy框架基于管道实现数据库备份02
  7. docker启动sqlserver_Docker搭建SQLServer
  8. 微信公众平台网站开发JS_SDK遇到的bug——wx.config注册提示成功,但部分接口注册失败问题
  9. 剑指offer14 1.剪绳子
  10. zookeeper入门学习《一》
  11. 【联合仿真】电机与机械臂的联合simulink仿真
  12. 关于直播,所有的技术细节都在这里了(四)
  13. GE HYDRAN M2 IS200VCRCH1B IS200VRTDH1D IS200VTCCH1CBB IS200VTURH2BAC IS215VPROH1BD IS220PAICH2A
  14. 2021年1月PHP面试题总结
  15. 100 offer:为什么你不需要做一名全栈工程师?
  16. Android中验证姓名、身份证、银行卡、手机号(正则表达式校验)
  17. 思科2960交换机 - 配置命令大全
  18. 猿创征文 |【算法入门必刷】数据结构-栈(三)
  19. c语言比php好学吗,php和c语言哪个难
  20. matlab画莫尔圆代码,EXCEL莫尔圆.xls

热门文章

  1. 安装php还要安装什么软件吗,PHP的安装方法及软件
  2. 牛新庄大侠的简历,我辈后生共勉
  3. uniapp蓝牙getBLEDeviceServices接口获取不了服务问题
  4. OpenCV的职业发展如何?怎么定发展方向?
  5. C++如何快速更改纯色背景
  6. layer 弹出在 iframe内部弹出不居中是原因
  7. 系统调用跟踪-xv6 lab syscall
  8. N78终于入手 SHOW下新功能
  9. 下列java源程序结构中前三种语句的次序_2020超星西方文明通论试题及答案
  10. 网站优化分站内优化和站外优化