密码工具箱介绍

我们日常说的密码        

        如果有人问你,密码的作用是什么?大多数人也许会说,我每天登陆账号时候所使用的就是密码。 这里所说的密码,其实具体指的是“口令”即“password”。要求你输入只有你自己知道的一串字符,确认登陆的人不是别人,而是你自己。原理:你的用户ID和对应的口令密码,已经事先设置并存储在后台,每当你需要进行登陆身份认证的时候,输入口令密码将其与后台的用户名与口令进行比较,如果一致,则通过并反馈登陆成功。

密码学对密码的定义

       在密码学的领域,密码是指“用于加密或解密的算法”。对于密码的使用,实际上是一种算法的运用,通过某种加密算法,可以将人或机器可识别的数据信息(明文),通过密码算法,变为无法识别的信息(这个过程即为加密,加密后的信息则为密文),而这种加密是可逆的,因此知晓密码的人,通过相同的算法,可以将密文转化为明文(解密),进而解读信息的内容。

        参考一下百度对密码的定义 “密码是一种用来混淆的技术,使用者希望将正常的(可识别的)信息转变为无法识别的信息。”

密码学家的工具箱

        密码学自公元前约440年出现至今,经历了长远的发展:从最初通过对算法和密钥保密来确保信息的私密性,到公开加密算法而依赖数学问题的复杂性和计算资源的有限性来达到同一目的,围绕密码学已发展出一套完整的密码学“工具箱”。其作用已不仅仅是关注于通信信息的保密性,而是对于信息在不同阶段的保密性、完整性、不可否认性、可追溯性都提供了密码学的解决方案。这些在信息化高速发展的现代社会,已然成为构建安全信息系统的基石。

        针对目前信息安全所面临的各类威胁,常用的密码技术工具箱包含:对称密码、公钥密码、单向散列函数、消息认证码以及数字签名5种密码技术:


1.对称密码加密可以保障信息的机密性

举一个简单的例子,一把锁,两把相同的钥匙,就是对称密码;即:使用相同的密钥来加密和解密。没有密钥的其他人是无法解读信息的真正内容是什么的。常见的两个对称加密标准有DES、AES、SM4。

对称密码无法解决的问题:如何将密码安全的给消息接收方?带外发送当然没问题,但是绝大多数都是需要通过网络在线上传递,但如果我们能安全的传送密钥,为什么不直接安全的传送消息呢?

2.公钥密码除了保障信息的机密性,还可以用来解决密钥的配送问题。

公钥密码总是成对出现,一把自己保管,一把公开,分别称为私钥和公钥。公钥密码具有的特性是:用公钥加密只能用私钥解密,用私钥加密只能用公钥解密。常见的公钥密码算法有RSA、ECC、SM2。

公钥密码无法解决的问题:无法解决中间人伪装的问题。如果通信从开始就被中间人进行劫持,以中间人以自己的公私钥代替双方的公钥,此时通信双方是无法感觉到通信是被监控的。

3.密码散列函数可以保障的信息完整性,用来校验要传递的信息是否被篡改过。

散列函数的名称很多,除了单向散列函数,也被称为消息摘要、哈希函数、杂凑函数。

其结果的名称也有几种:散列值、消息摘要、指纹。

比如通常在下载文件的时候,官方的网站上都会列出来其MD5或者SHA1的值来校验。

单向散列函数的特性包括:

1)任意长度的输入,都产生固定长度的输出;

2)计算速度快;

3)消息不同,散列值不同;

4)不可逆,从计算结果无法还原原消息。 

一个有意思的说法是:密码散列函数是完整性的压缩。 比如我们要确认一个1G的文件是否被篡改,导致完整性遭到破坏,我们需要将这个文档与真正的文档进行对比,文档越大对比将消耗的资源会越多!想想散列函数的特性:计算速度快、任一微小的修改将导致散列值不同。我们仅仅对比两个文件的散列值,效果是一致的!(注意:散列函数并不是加密。)  

4.消息认证码(Message Authentication Code)

记得公钥密码不能解决的问题吗,中间人攻击。问题的核心是需要证明,消息的发送者和接收者都能够有手段证明消息是由对方发送,而不是其他第三个人。

可以简单的这样理解:消息认证码是一种与加入了密钥加密后的单向散列函数。由于密钥是只有通信双方才知道的,那么就可以认为通过MAC得到的hash可以保障信息的完整性以及同时提供认证的能力

举个例子,Alice 银行打算提交一个汇款给Bob银行:

1)发送者A与接收者B事先共享密钥;

2)发送者A根据汇款请求消息计算MAC值(使用共享密钥);

3)发送者A将汇款请求消息和MAC值两者发送给接收者B;

4)接收者B根据接收到的汇款请求消息计算MAC值(使用共享密钥);

5)B将自己计算的MAC值与A处接收到的MAC值对比;

6)若一致,则可确认请求确实来自A(认证成功);若不一致,则可以判断消息不是来自A(认证失败)


消息验证码无法解决的问题:

1)向第三方证明:由于A和B均知道共享密钥,因此无法向第三方证明消息确实来自A,因为也可能是B或者其他知道密钥的人;

2)防止否认:由于A和B均知道共享密钥,当需要的时候,无法判断到底是A还是B发送的消息,他们可能同时指责是对方发送了消息。

这两条在业务当中都十分重要,因此将采用数字签名来解决第三方证明和防止否认的问题。

5.数字签名

MAC无法防止否认的原因,在于通信双方使用了同一个密钥来生成MAC,你说是他生成的,他说是你生成的。如果采用工具箱里的第2种工具——公钥密码,来代替共享密钥,就可以解决这个问题。

数字签名对签名密钥和验证密钥进行了区分,验证密钥无法生成签名;此外签名密钥只能由签名人持有,而验证密钥则可以由任何想要验证签名的人持有。这个签名密钥和验证密钥和上面我们提到的公钥密码中的公钥和私钥非常类似吧。

实际上,二者对于公钥密码的运用是“反向的”:

公钥密码中,任何人用公钥加密,只有你能用你的私钥解密


数字签名中,只有你能生成签名,任何人能用公钥解开——验证签名

数字证书在PKI体系、SSL/TLS当中被广泛运用,利用了其认证、防止否认的特性进行身份验证和不可否认的功能,也通过和对称加密算法的组合实现传输加密。


本文参考了《图解密码技术》一书对于密码的介绍,在于拓展读者对于密码的认知。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容

  • 前言 《图解密码技术》一书介绍了很多关于密码的知识,通读一遍需要不少时间。为了方便学习,我对书中关键的部分进行了总...
    咖枯阅读 7,184评论 1 25
  • 1 公钥私钥 2 公钥加密 别人用A的公钥加密传输的信息,只有A的私钥可以解密。保证了传输的信息的安全性。 2 私...
    skykira阅读 958评论 0 1
  • 这篇文章主要讲述在Mobile BI(移动商务智能)开发过程中,在网络通信、数据存储、登录验证这几个方面涉及的加密...
    雨_树阅读 2,428评论 0 6
  • 天朗气清,惠风和畅,仰观宇宙之大,俯察品类之盛,所以游目畅怀,足以极视听之娱。——王羲之 读万卷书不如行万里路,行...
    我是幼儿园老大吖阅读 322评论 4 4
  • 爱厉+作业(三) 1. 《转运汉遇巧洞庭红 波斯胡指破鼍龙壳》,读起来很顺畅,先不提作品的三观,就语言和结构来说...
    爱厉阅读 296评论 1 4