Monthly Archives: November 2008

关于网络信息安全的对谈录

场景:张三向李四写一封信

菜鸟1:送信途中有人私拆信件,偷看信件内容,咋办?

大师:将信件内容(
明文)转换(
加密)成一串莫名奇妙的数字和字母(
密文),偷看者看不懂,但是李四可以采用跟张三事先约定的办法,将密文变回(
解密)信件内容。

菜鸟2:具体用什么办法来加密和解密呢?

大师:办法很多。最直接的一种就是采用一对公开的加密/解密算法,双方再打电话约定一个口令(
密钥),张三通过加密算法和口令将信件加密,李四收到密文后,再用解密算法和口令将密文解密。私拆信件的人虽然知道解密算法,但是没有口令,所以无法将信件内容解密。

菜鸟3:还要打电话约定口令啊?这多麻烦。如果电话也有人偷听怎么办?还有,如果张三不认识李四,怎么打电话啊?

大师:口令的传输的确很麻烦。干脆这样,口令就不传了,只有自己知道(
私钥)。那怎么加密解密呢?伟大的数学家们给收信者李四想出了一个完美的办法。他除了有一个秘密的口令,同时还在脑门上贴一个公开的口令(
公钥),这个口令谁都知道。张三写信时,用这个公开的口令加密信件,而加密后的内容只有通过李四的私钥才能解密。所以,私拆信件的人就没办法了。

菜鸟4: 嗯,信件加密的问题是解决了。不过,我突然想到一个问题。张三写信骂了李四,然后李四找他当众理论,张三却百般抵赖,说这封信是电脑打出来的,不是他的笔迹,怎么办?

大师:那就要让张三写信时在信尾签名(
数字签名)。

菜鸟5: 签名要不要加密啊?否则私拆信件的人知道张三跟李四有来往,多不好

大师:要的。张三用自己的私钥将签名加密,李四再用张三脑门上的公钥将它解密。

菜鸟6:有人说张三是个大骗子。他其实是个流串犯,真名叫王二流子,然后冒名叫做张三。

大师:验他的身份证(
证书)。身份证会写他的名字,和他的公钥(就是他脑门上那个)

菜鸟7:身份证是谁发的啊?

大师:当然是公安局了(
认证中心,CA)。

菜鸟8:如果连他的身份证都是假的呢?

大师:每个合法的身份证,都是经过公安局签发的,公安局提供提供了一套防伪技术。具体来说,公安局会通过自己的私钥将张三的身份证加密(没错,公安局本身也有密钥)后再发给张三,李四如果怀疑张三,可以用公安局的公钥将张三的身份证解密,然后看一下里面的名字是不是“张三”。如果王二流子想以“张三”的名义伪造身份证,那他要把公安局也收买了才行。

菜鸟9:嗯,这下无懈可击了。不过,你别嫌我话多,我问最后一个问题,如果私拆信件的人吃饱了没事干,在信件里插入了几句话,李四收到后肯定会莫名奇妙的,怎么办?

大师:这难不倒伟大的数学家们。他们规定,张三写完信后,要付上信件内容的
摘要,这个摘要也是一串看不懂的东西,并且,没办法反转回来。具体怎么摘要,也是数学家们规定好的。李四收到信后,也把信件内容进行一下摘要,然后再和张三附的摘要比对一下。如果拆信的人偷改了信件的内容,那么进行摘要后就和张三附的原摘要对不上了。这时李四就不会把这封信当真了。