密码常识测试

密码常识测试

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

论点错误 因为我们不应该制作或使用任何保密的密码算法,而是应该使用那些已经公开的、被公认为强度较高的密码算法。 这样做的原因主要有以下两点: 1,密码算法的秘密早晚会公诸于世 从历史上看,密码算法的秘密最终无一例外地都会被暴露出来。拿最近的事例来说,DVD的密码算法也没能幸免被扒皮的命运。RSA公司开发的Rc4密码算法曾经也是保密的,但最终还是有一位匿名人士开发并公开了与其等效的程序。 一旦密码算法的详细信息被暴露,依靠对密码算法本身进行保密来确保机密性的密码系统也就土崩瓦解了。反之,那些公开的算法从一开始就没有设想过要保密,因此算法的暴露丝毫不会削弱它们的强度。

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

参考资料:图解密码技术(第3版)人民邮电出版社

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

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

参考资料:图解密码技术(第3版)人民邮电出版社

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

论点错误 虽然信息理论之父Claude Shannon曾经通过数学方法,证明这种一次性密钥如果使用得当,是无法被破解的,而所谓的使用得当,是指及时销毁所使用的密钥页,即使对方拿到了密码本的其余部分,也无法进行解密。同样的理念也可以用于数字系统,但是要确保计算机具有足够的安全措施以及全面的考虑,防止黑客入侵一次性密钥系统。比如,一些昂贵的数据恢复系统会将已删除的文件恢复,其中就有可能恢复那些一次性的密钥文件。因此如果使用数字化的一次性密钥系统,就要确保所删除的密钥文件是被彻底删除,无法恢复的。 但是一次性密钥加密方式有时候非常不方便,因此现在很少有人在用这种加密方式。而正是由于这种不便性,我们实际需要的是一些理论上有些弱的加密方式,比如AES/Rijndael 以及Twofish 。一次密钥的不方便性在于: 由于一次性密钥是一种对称加密方式,进行加密通信的双方需要拥有完全一样的密钥数据。而在某些环境下,这种条件是无法实现的,因为要想让双方都拥有这个密钥,就意味着必须有一种足够安全的方式让双方共享或传递密钥数据,而如果有了这样的安全环境,也就不需要再使用一次性密钥了。而一般来说通过物理方式传递密钥(比如亲手交给对方)才能实现一次性密钥的优势。

参考资料:图解密码技术(第3版)人民邮电出版社

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

论点错误 密码算法强度高不代表信息的绝对安全,信息安全涵盖许多方面,机密性,完整性,可用性,可控性,不可否认性。其中机密性,完整性,可用性三种最为重要,缺一不可。密码算法强度高并不代表可以完全保证机密性,完整性,可用性。

参考资料:《国家信息化领导小组关于加强信息安全保障工作的意见》([2003]27号)

posted @ 2022-02-27 09:53  Bzrael  阅读(220)  评论(0编辑  收藏  举报