渗透测试中的密码学(一)现代密码学基本原理

渗透测试中的密码学(一)现代密码学基本原理

在渗透测试中,测试人员往往会面临这么一个场景:花了大量的精力终于发现一个问题进入了系统,本想扩大战果,但暮然回首,却发现关键的字段(比如用连接数据库的用户名、口令等)被加了密。破还是不破,这是个问题。不破,也许测试的结果不足以引起甲方的重视,在甲方看来不过是一个能进系统的漏洞嘛,数据库的账号你又没拿到,最关键的数据又没有丢失,问题哪有你说的那么吓人,又想吓唬我不是?在老板看来,找个漏洞就想交差,又想偷懒了不是,都这么干,怎么让甲方认可我们,怎么继续从甲方那里拿项目,你知道这个项目咱们拿的有多不容易么,blablabla。。。好好好,别说了,我破就是了,但这就如同一次出征,不知道何时才能结束,更不知道能不能成功。到底如何抉择呢?为了回答这个问题,或者为这个问题提供一个小小的帮助,还是先从密码学最最最基本的知识讲起吧,也算是对自己工作的一个简单的总结。

       密码这个东西大家都不陌生,但在生活中大家往往跟口令搞混了。密码的英文是Cipher,口令的英文是Password,口令的作用是提供鉴别,就是对用户身份做鉴别,这个好理解,比如银行卡取现,你知道口令就可以取现,输入了口令相当于银行对你的身份做了一个鉴别,当然这个鉴别安全等级不高。但密码的作用是保护信息的机密性,太文艺了是吧?那就换一个通俗易懂的说法,密码的作用是让你看不懂我发送了啥消息。比如我邮箱的口令是987654321,我把这个口令发给同事,让他自己上去下载一份文件,但是我直接把口令发给他万一中途被人网络监听窃取了怎么办?那就把口令加个密,即使被人监听了,拿到的也只是一串稀奇古怪的密码(明白口令和密码的区别了吧)。至于解密,只存在于理论上,啥叫理论上,ok,让我们进入正题,了解完密码学的基本原理后你就知道什么叫理论上了。

       从计算机的角度来说,密码就是一个用途比较特殊的算法,用途虽然特殊,但他还是一个算法,有固定的流程和步骤,为了保证这个算法不存在什么逻辑上的漏洞,现代密码学的密码算法一般都是公开的,大家都可以来分析找问题,有点众测的味道,大家都觉得没问题了,那就ok,那咱们就都用这种密码算法。当然,我这里说的是民用的,正规的说法是商用的,算法是公开的。至于军用这种的,不用想,算法肯定是保密的。为什么?为了安全!!如果公开,你觉得没漏洞,大家觉得没漏洞,那就真没漏洞了么?如果真这样,开源软件就不该有漏洞了,什么脏牛,Struts2漏洞啥的那就是个幻觉。所以说,安全永远是相对的,绝对的安全也许有吧,但真没见过。后面的章节里我提到的密码算法都指的是商用密码(民用密码),军用密码咱哪能接触到啊。。。。

       言归正传,咱们继续。那算法都公开了,还保啥密啊?这里就要说到另外一个重要的概念了,那就是密钥。算法虽然公开了,但是密钥是保密的。说到这里,现代密码学的一个最基本的原则其实也点出来了,那就是算法公开,密钥保密。从算法的角度说,密码算法的输入就是密钥和消息:加密的时候,密码算法输入密钥和明文消息,输出密码;解密的时候,密码算法输入密钥和密码,输出明文。如果不知道密钥,理论上是还原不出明文消息的。那密钥又是啥啥玩意呢?没啥神秘的,一串字符而已,比如12345678,abcdefgh都可以作为密钥。要破解,可以啊,把所有可能的字符串试一遍(自己想象8个字节的密钥空间有多大吧),肯定能找到那个正确的密钥,但啥时候能试完啊?别急,有点耐心,快的话几年,慢的话下辈子吧。

打个不太形象的比喻,密码算法就如同一个带锁的箱子,你把贵重物品放入箱子,上好锁,谁能开?那肯定是有钥匙的人啊,钥匙就是密钥。想开锁,可以啊,给你一巨堆钥匙,多少我不知道,但总重量超过了1千亿吨,自己挨个试吧,我虽然知道哪个才是开锁的钥匙,但我就不告诉你。。。。理论上你只要投入的时间足够多,足够有毅力,子子孙孙无穷尽,最终肯定会找到那把开锁的钥匙的。

       好了,现代密码学的基本原理就先说到这里,还记得是啥么?忘了?正常,刚学的时候我也忘。那我再强调一遍:算法公开,密钥保密。当然了,密钥的空间得足够大,为啥?想不明白的话就再读一遍吧。。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
现代密码学:原理与协议》是一本关于密码学的教材,作者是郭川多和欧阳明高。这本书系统地介绍了现代密码学基本原理和常见的密码协议。 密码学是研究如何保护通信和信息安全的学科。在信息社会,保护个人和机构的信息安全至关重要。密码学通过使用密码算法和协议来加密和解密信息,从而确保信息的机密性、完整性和可用性。 《现代密码学:原理与协议》主要涵盖了对称密码学、非对称密码学和散列函数等基本概念的讲解。对称密码学是一种加密方式,发送和接收方使用相同的密钥来加密和解密信息。非对称密码学使用两个密钥,一个用于加密,另一个用于解密。散列函数则用于将任意长度的消息转化为固定长度的哈希值,以验证信息的完整性。 除了基本原理,该书还介绍了一些具体的密码协议,如DES、AES和RSA等。这些协议经过多年的研究和实践,被广泛应用于各个领域。例如,DES是一种对称密码算法,常用于电子商务和金融领域。RSA是一种非对称密码算法,常用于数字签名和密钥交换。 本书旨在帮助读者深入理解现代密码学的原理和应用。每个章节都配有实例和练习题,以帮助读者加深对密码学的理解。此外,该书还介绍了一些密码学的发展趋势和挑战,如量子密码学和侧信道攻击等。 总的来说,《现代密码学:原理与协议》是一本介绍密码学基本知识和应用的权威教材,适合密码学领域的学生和从业人员阅读和学习。读者通过阅读本书可以了解密码学的原理和应用,为信息安全做出贡献。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值