密码常识测试

 密码常识测试

 

1.很多企业和技术人文都有下面这样的想法∶“由公司或自己开发一种密码算法,并将这种算法保密,这样就能保证安全。"

判断:错

原因:

      使用保密的算法是无法获得高安全性的。我们不应该制作或使用任何保密的密码算法,而是应该使用那些已经公开的、被公认为强度较高的密码算法。这样做的原因主要有以下两点

(1)密码算法的秘密早晚会公诸于世
      从历史上看,密码算法的秘密最终无一例外地都会被暴露出来,拿最近的事例来说,DVD的密码算法也没能幸免被扒皮的命运。RSA公司开发的RC4密码算法曾经也是保密的,但最终还是有一位匿名人士开发并公开了与其等效的程序。一旦密码算法的详细信息被暴露,依靠对密码算法本身进行保密来确保机密性的密码系统也就土崩瓦解了。反之,那些公开的算法从一开始就没有设想过要保密,因此算法的暴露丝毫不会削弱它们的强度。

(2)开发高强度的密码算法是非常困难的
      要比较密码算法的强弱是极其困难的,因为密码算法的强度并不像数学那样可以进行严密的证明。密码算法的强度只能通过事实来证明,如果专业密码破译者经讨数年的尝试仍然没有破解某个密码算法,则说明这种算法的强度较高。稍微聪明一点的程序员很容易就能够编写出"自己的密码系统”。这样的密码在外行看来貌似牢不可破,但在专业密码破译者的眼里,要破解这样的密码几乎是手到擒来。

      现在世界上公开的被认为强度较高的密码算法,几乎都是经过密码破译者长期尝试破解未果而存活下来的。因此,如果认为“公司自己开发的密码系统比那些公开的密码系统更强”,那只能说是过于高估自己公司的能力了。试图通过对密码算法本身进行保密来确保安全性的行为,一般称为隐藏式安全性(securitybvobscuritv),这种行为是危险且愚蠢的。

      反过来说,将密码算法的详细信息以及程序源代码全部交给专业密码破译者,并目为其提供大量的明文和密文样本如果在这样的情况下破译一段新的密文依然需要花上相当长的时间,就说明这是高强度的密码。

2. 使用地低强度的密码算法,比如凯撒密码,也比完全不加密更安全。

判断:错

原因:
      一般人们会认为:就算密码的强度再低,也比完全不加密要强吧?其实这样的想法是非常危险的。正确的想法应该是:与其使用低强度的密码,还不如从一开始就不使用任何密码。
      这主要是由于用户容易通过“密码”这个词获得一种“错误的安全感”。对于用户来说,安全感与密码的强度无关,而只是由“信息已经被加密了”这一事实产生的,而这通常会导致用户在处理一些机密信息的时候麻痹大意。
      早在16世纪,当时的苏格兰女王玛丽就曾认为没有人能够破译自己使用的密码。正是由于对密码的盲信,她将刺杀伊丽莎白女王的计划明明白白地写在了密信中,结果密码遭到破译,玛丽也因此被送上了断头台。

3. 一次性密码本(one-time pad)或一次一密是无法被破解的,所以日常的数据加密应该使用一次性密码本算法。

判断:错

原因:
      一次性密码本即Vernam Cipher,是由Gilbert Vernam在1917年, 开发的一种加密算法。之所以叫做一次性密码本,是因为加密所用的密钥是一次性的,即密钥只会使用一次,不会出现因为密钥泄露导致之前的加密内容被解密。即使密钥被泄露了,也只会影响一次通信过程。

      虽然一次性密码本无法破解,但是它存在很多缺陷,所以实际工作中很少使用:

(1)密钥太长
      一次性密码本是用与原文等长的密钥做异或得到的,如果原文很大,那么相应的密钥也非常大。

(2)无法重用密钥
      每个密钥只用一次,即是缺点也是优点。意味着我们每次都要不停的更换密钥,增加了复杂性。

(3)密钥的配送
      因为密钥和原文以及密文都是等长的,目标端如果想解密就必须拿到密钥,如果能够机密的传输密钥给目标端,那为什么不直接将原文机密的传送给目标端呢?

(4)密钥的保存
      每次加密都需要换一个密钥,这意味着每一个明文都需要保存一个同样长度的密钥,如果明文已经可以很好的保存了,那何必多做一步加密呢?

      虽然一次性密码本有这么多缺点,但是他给其他的加密算法以启发,于是后来产生了很多个变种。

4. 只要密码算法强度足够,实现正确就可以保证信息安全。

判断:错

原因:
      密码只是信息安全的一部分。假如Alice给Bob发送加密邮件。即便不去破解密码算法,也依然会有很多方法能够知道Alice所发送的邮件内容。例如,攻击者可以不去尝试破译经过加密的邮件,而是转而攻击Alice的电脑以获取加密之前的邮件明文。

      再比如社会工程学攻击。例如,办公室的内线电话响起,电话里说:“你好,我是IT部门。由于需要对您的电脑进行安全检查,请将你的密码临时改为XR2315.”而实际上拨打电话的有可能就是一名攻击者。

      上面提到的这些攻击手段,都与密码的强度毫无关系。要保证良好的安全性,就需要理解“系统”这一概念本身的性质。复杂的系统就像一根由无数个环节相连组成的链条,如果用力拉,链条就会从其中最脆弱的环节处断开。因此,系统的强度取决于其中最脆弱的环节的强度。但是最脆弱的环节并不是密码,而是人类自己。

posted @ 2023-02-26 19:12  20201320石志涛  阅读(38)  评论(0编辑  收藏  举报