我们使用密码来访问个人信息和帐户。有这么多需要密码的应用程序,可能很难跟踪,更糟的是它会被应用程序记住。某些应用程序要求用户经常更改密码,这可能导致用户忘记密码或在一张纸上写下密码。那张纸稍后就不知道放在那里,这也将会导致密码丢失。因此需要频繁更改密码,并将密码设置的更复杂。密码由字符串组成,可以包含字母,数字和特殊字符。以下分析将分解有效性和数据结构。
1.欧洲语言的大写字母(A 通过 Z,带有变音符号,希腊语和西里尔字母)
2.欧洲语言的小写字母(a 通过 z,sharp-s,带有变音符号,希腊和西里尔字母)
3.以10为基数的数字(0 通过 9)
4.非字母数字字符:(~!@#$%^&*_-+=`|(){}[]:;"'<>,.?/)。在此政策设置中,欧元或英镑的货币符号不算作特殊字符。
5.任何分类为字母字符但不是大写或小写的Unicode字符。这包括来自亚洲语言的Unicode字符。
到目前为止,这是对可用于密码的内容的理解。例如,名为“ jsmith ” 的用户可以创建密码“ One4all&AllFOR1”。
密码无处不在
密码旨在确保互连的在线世界中的安全。Internet已与其他人建立联系以进行通信,交易和共享信息,但不幸的是Internet没有内置安全层。
这需要第三方实现,在这种实现中,没有统一的方法可以仅从一个位置登录并访问任何站点而无需输入另一个密码。在像Google或Microsoft这样的特定公司的生态系统中,这是可能的,但是当您要访问另一家公司的服务时,就没有互操作性或共享安全信息以允许访问。
尽管有一些方法允许使用Oath协议之类的访问委派标准,但仍然没有通用的“一次登录并永久访问所有内容”的系统。
作为用户,您可能在线拥有多个帐户。一个或多个用于银行,社交媒体,支付,电子邮件和组协作。建议您为每个密码使用不同的密码。其他人仅对他们的所有在线帐户使用一个密码。
两者都有一个问题。当您需要记住这么多密码时,除非您记下密码或使用密码管理器,否则很容易忘记。不幸的是,并非每个人都使用密码管理器,因此他们可能经常不得不从网站上恢复密码。当您仅对所有帐户使用一个密码时,如果该密码被黑客破解,则可以访问您的所有在线信息。
加密通道和散列
IT部门的安全分析师意识到,明文密码并不安全。还需要更安全地存储密码,以防止篡改。在数据网络的早期,密码在传输过程中也不安全。这将使黑客能够轻松地使用所谓的数据包嗅探器 来分析包含明文密码的数据包。这是一个需要解决的关键问题。
解决方案是使用加密和散列来应用加密方法。用户和服务器之间的通信通道将使用HTTPS / TLS / SSL协议进行加密,以实现安全通信。
这将使黑客更难于窃听网络上的数据,因为现在将对其进行加密。密码也不会显示为明文。现在,它经历了散列功能以创建原始密码的摘要。
这仅是一种单向功能,因此黑客很难破解密码。这将需要进行昂贵的字典攻击,但是哈希值本身可能需要数年才能解决被哈希的原始密码。
例如,如果我们使用示例密码“ One4all&AllFOR1”并应用SHA256哈希函数,结果将是:
27ACE4452635B4AFDA20E3A89255832CF8A247DB46EA72A24B1EDCB0BD8D3E9D
然后将其存储在密码表中,不再使用明文格式。如果黑客要获取该密码表,那么他们破解密码就不容易了。
这些措施增加了保护系统的安全性。但是,它仍然不能阻止对系统的攻击。原因与密码有关。
蛮力攻击
密码虽然提供了一层安全保护,但却不能防黑客。它只需要一个人做出聪明的猜测就可以访问用户的个人电子邮件帐户。
该接口是公开的,任何人都可以登录用户名和密码。只要允许使用称为“蛮力攻击”的技术来知道用户名,任何想要入侵的人都可以轻松猜出该用户的密码。
这也称为“字典式攻击”,因为攻击者可以使用密码列表,例如在字典中查找单词。这是安全系统不太复杂时的最早攻击形式之一。为了阻止这种情况,系统管理员对一定数量的失败登录尝试实施了用户帐户锁定。
这可以防止使用暴力手段,但由于现在他们的帐户已被锁定,因此还会影响实际用户。这将带来不便,因为它需要与系统管理员联系以解锁其帐户。
如果系统管理员不可用或在半夜没人值班怎么办?这样可以防止用户登录并进入重要工作。
IT经理已对这些问题做出了更快的反应。现在有解决这些问题的安全合规性策略。始终应该有一个备份管理员值班,特别是对于全天候运行的企业操作。
通过此设置,工作人员将始终具有重置密码或解锁帐户的技术支持。就像安全系统已经更新以应对新威胁一样,攻击的类型也变得越来越复杂以挫败这些措施。密码需要变得更加复杂且不容易被猜中。这导致IT经理实施密码策略。
密码复杂度
现在,对于具有公共界面的站点以及对于使用登录屏幕的任何应用程序的最佳做法,都必须实现密码复杂性。过去,许多用户很粗心,并使用“密码”作为密码。
当然,这很容易被黑客窃取,甚至激起了想要成为黑客的自尊心。这是一种简单的攻击,不需要破解一个非常困难的密码,而这需要花费一些时间才能完成。
系统管理员将这些策略作为操作系统自身功能的一部分(例如Windows Server)实施,并且开发人员为其应用程序使用了类似的设计。由于密码复杂,用户将无法使用以下某些类型的密码:
·名或姓
·密码
·以前的密码
·仅限所有数字或字符
·所有小写或大写
·常用词
密码复杂性的使用可防止用户使用类似 'password' 要么 'internet'。各个公司的复杂性规则会有所不同,但是此示例可以说明如何定义一个策略。
·最少8个字符
·大写和小写的混合
·字母数字和非字母数字字符的混合
回到我们的用户“ jsmith”的示例,密码“ One4all&AllFOR1”可以被视为符合该策略。它使用至少8个字符,混合使用字母数字和非字母数字字符以及大小写字符。
当管理员要求更改密码以执行策略时,情况将变得更加复杂。这意味着,让我们说3个月后密码会过期。这将要求用户创建一个新密码才能登录,这可能会很忙,甚至没有用,因为用户将需要记住一个新密码。
它没有成为解决方案的一部分,而是带来了一些新问题。许多公司不使用这种类型的强制执行,但其他公司也可以使用。
使用复杂性的密码策略是好的,因为它们可以迫使用户使用强密码而不是弱密码。即使密码很复杂,它仍然不能使系统完全安全。它只是增加了另一层。
用户可以共享密码,甚至将其写下来以供日后被盗。幸运的猜想仍然可以吸引黑客。看来问题仍然在于密码本身。
更强的密码
有一种方法可以通过满足分析其熵或破解密码的难度来增强密码的安全性。此难度取决于密码长度中的位数。
可以在以下公式中显示:
·log(C) / log(2) * L
·C =字符集的大小
·L =密码的长度
1.从数学上讲,密码的长度比所使用的字符集的复杂度指数重要。
2.任何复杂性规则实际上都会增加密码被破解的能力。
字符集是指可用于密码的字符总数。在美国,以下是可以使用的字母数字和非字母数字字符的总共可能的类型:
·数字:0-9
·高位Alpha:A-Z
·下阿尔法:a-z
·特殊的角色:` ~ ! @ # $ % ^ & * ( ) _ + - = { } | [ ] : " ; ' < > ? , . /
我们的数字有10个字符,大写和小写字母有26个字符,特殊字符有32个字符。我们将所有内容加起来为10 + 26 + 26 + 32 = 94个字符。因此,根据观察结果1,密码长度比仅使用的字符集更难破解。
密码强度更高的关键在于长度和复杂性的结合。即使需要数天,数周或数月的时间,密码仍然可以被破解,但是这一安全层增加了黑客花费的时间。最终,安全专家还需要提出更智能的身份验证方法。
更智能的身份验证方法
身份验证方法正在实施更好的安全技术来阻止黑客。通过组合不同的方法,其目的是使系统更安全地抵抗攻击。不仅要求用户输入密码,还将要求其他信息。
这导致了“多因素身份验证”或“两因素身份验证”的开发,以提高安全性。这样可以启用只有用户喜欢的智能手机号码等其他信息才能进行身份验证。使用MFA,它还包括使用生物识别信息,例如指纹或视网膜扫描。
所有这些都增加了安全性,但是如果密码丢失或忘记了则无济于事。人们仍然需要记住密码才能完成身份验证。
使用MFA,可以使用三种方法进行身份验证。
1. 您知道的这是您的密码。验证用户身份的第一层安全性。
2. 您所拥有的您的智能手机或计算机。使用智能手机号码,系统可以通过短信发送回一个代码供用户输入。在计算机上,可以创建一个安全令牌,该令牌使用一个身份验证提供程序来生成用户可以输入的代码。
3. 您是谁有关用户的生物识别信息,例如指纹,面部识别或视网膜扫描。如果存在可以获取有关用户信息的传感器,则可以使用第三种方法。这是在智能手机指纹读取器上实现的。
即使密码被猜测,使用这种不同的身份验证方法也可能阻止黑客。然后,黑客将不得不对用户的智能手机或计算机进行物理访问,或者只有实际用户的手指。
这仍然不是安全的顶峰。可以使用另一种方法来验证用户的真实身份。
区块链
对于 身份验证,区块链可以结合2FA或MFA提供另一层安全性。这是一个值得商topic的话题,因为区块链技术仍是相当新的技术,并且没有其他系统那么多的记录。
它的优势在于能够使用所谓的Merkle证明快速验证数据。这是不可否认的已验证信息记录,该记录基于具有可跟踪根的哈希值。
这种类型的系统的优势在于身份验证。假设用户“ jsmith”声称是“ John Smith”。基于区块链的系统会在数字总账上创建加密安全记录,以此证明这一点。
该记录也是透明的,不能修改或删除。当作为验证系统的一部分实施时,可以使用共识机制来完成。例如,假设用户已通过2FA,则区块链现在会验证用户的身份。
网络上的节点将基于用户的脸部或指纹来验证是否正确输入了此信息。如果用户信息与系统知道的信息不匹配,则访问将被拒绝。
如果黑客要通过MFA,则由于身份要求验证,因此区块链可以阻止其访问。对于区块链,您具有执行验证的独立节点。
让独立节点执行验证的好处是,它不在一个可以影响的实体下。它的目的是在没有人做出绝对决定的不信任环境中下放权力。必须进行集体努力,才能在大多数节点之间达成共识。
这是值得信赖和有效的吗?用几句话不容易解释它,但是这里的想法是要建立一个验证系统,作为对身份验证的最后手段。我不会在这个话题上做任何进一步的介绍,因为这只是理论上的,而不是实际的应用。
技术在不断发展,当需要使用不需要密码的不同身份验证方法时,目前我们仍然需要密码。密码重要的是使密码复杂而又长。
如今8个字符实在太简单了,因为黑客在学习新技术时其方法变得更加复杂。下次IT经理考虑安全性时,添加MFA等其他层在保护用户方面非常有意义。目前,只要有系统要求使用密码,便会继续使用密码。
上述就是关于密码安全性和验证方法的全部内容介绍,想了解更多关于密码安全性和验证方法的信息,请继续关注中培伟业。