什么是密码分析以及它是如何工作的?
今天,企业面临着巨大的压力来保持业务的正常运行。如果你的业务要无缝运营,你的安全团队就需要保护你的业务免受可能干扰你的运营的所有威胁。
问题是,今天安全的事物明天可能就属于不安全范围。这种现象是由于随着算法的发展,新的漏洞出现,黑客们开发了突破大多数企业所依赖的加密技术的新方法。
密码分析,也称为代码追踪,是对解密和研究代码、密码或加密文本使用的技术的深入理解。密码分析使用数字规则来搜索算法的易受攻击性,并进一步分支到信息安全系统中的密码学。
本指南将教你一切有关密码分析的知识。你将对这个主题有一个详细的了解,并学习如何使你的组织免受密码分析的影响。
什么是密码分析?
密码分析的过程旨在研究加密系统以识别弱点和信息泄漏。你可以将其视为探索加密系统基础数学结构的缺陷,包括实现漏洞(如侧信道攻击和弱熵输入)。
密码系统是指一种使用密码学的计算机系统,通过代码来保护信息和通信,以便只有拥有权限的人可以处理它。
密码分析与密码学
从定义上来说,在密码学中,你关心的是在将消息通过不安全的通道传输之前将其转换为隐藏文本。另一方面,密码分析涉及从不安全的通道上的隐藏消息中获取明文。
密码学已被证明是在传输信息时的一项资产。一个很好的例子是在银行交易和电子邮件消息中使用了密码学来确保信息安全。密码学方案包括秘密密钥、公共密钥和哈希函数。
密码分析是一种解密密文的艺术。在这种情况下,授权人员通过窃听通道来尝试解密你的消息。
谁使用密码分析?
许多组织使用密码分析,包括希望解密其他国家私人通信的政府、测试安全产品的安全功能的企业、黑客、独立研究人员和学术从业者,他们希望识别密码协议和算法中的漏洞。
密码学的进步是由密码学家与密码分析师之间的不断斗争推动的。
攻击者的目标与他们进行密码分析的具体需求相关。成功的密码分析通常不会超出从隐藏文本中推断出信息的范围。然而,这已经足够,根据攻击者的需求,他们的目标各不相同,但不限于:
- 全面破解-找到秘密密钥。
- 全局推导-找到等效的加密和解密算法,而不需要秘密密钥的知识。
- 信息推导-获取有关密码文本和明文的信息。
- 区分算法-区分加密输出和随机位排列。
让我们来看一个易于理解的实际例子。但是,你应该知道,这个例子不适用于现代加密密码,但它是建立你理解的一个很好的例子。
频率分析技术可以用于基本的加密算法。基本类的加密算法执行单字母替代,用同一字母表中预定的映射字母替换每个字母。
这种模式是对更基本的技术的改进,它通过将字母移动一定数量的位置并用结果字母表中的新字母替换旧字母来替换字母。
尽管单字母替代密码对盲目搜索是有抵抗力的,但它们并不免疫,可以很容易地通过纸和笔进行破解。那么,如何破解呢?频率分析利用了自然语言不是随机的这一特征,以及单字母替代不能隐藏语言的统计属性。
让我们仔细看看,并将其限制在特定的字母表中,比如“E”,其频率为12.7%。当你用E进行替换以获得密文时,其结果文本保留其原始的频率。如果这个频率对密码分析师来说是已知的,他们可以快速确定替换以解密你的密文。
密码分析攻击的类型
密码分析攻击利用了你系统中的漏洞,解密其密码学。要发动密码分析攻击,你需要了解方法和明文的一般属性的性质。明文可以是任何语言,包括英语或Java代码。
以下是攻击类型的列表。前五种是最常见的,其他的很少出现,有时被省略;了解它们是很有好处的。
- 明文已知分析(KPA):在这种情况下,攻击者可以访问一些明文-密文对。接下来,攻击者只需将这些对应关系映射到找到加密密钥。这种攻击容易使用,因为攻击者可以利用丰富的知识。
- 选择明文分析(CPA):在这种情况下,攻击者选择随机的明文,用它们来得到相应的密文,最终破解加密密钥。这种方法类似于KPA,但成功的可能性较小。
- 仅密文分析(COA):在这种情况下,攻击者知道一些密文,所以他们试图找到相应的明文和加密密钥。攻击者了解你的算法。这种技术是最具挑战性的。然而,它有很大的成功率,因为它只需要密文。
- 中间人攻击(MITM):当两个参与者通过一个看似安全但被入侵的信道共享通信时,就会发生这种攻击。
- 自适应选择明文分析(ACPA):这种情况类似于CPA。ACPA根据其从过去的加密中学到的数据使用已识别的明文和密文。
- 暴力破解攻击:在这种情况下,攻击者使用算法来预测可能的明文集合。猜测的明文然后被加密并与初始密文进行比较。
- 字典攻击:在这种情况下,攻击者将明文或密钥与单词字典进行匹配。这种技术经常用于尝试破解一些加密密码。
密码分析是如何工作的?
密码分析的核心目标是揭示加密算法的缺陷或规避它们。密码学家利用密码分析师的研究来改进现有算法或升级不合格的方法。
随着密码学创建和增强加密密码和其他技术,密码分析则专注于解密加密数据。这两个操作相互对话,并受限于密码学的领域,即密码、密码和相关算法的数学研究。
研究人员努力关注开发攻击策略,以打败加密方案,即使不需要加密密钥,也能初始化对密文加密算法的解密。通常,您使用密码分析来揭示概念和执行方法中的缺陷。
如何防御密码分析攻击
不幸的是,除了使用安全的加密方案、在整个数字基础设施上使用密码,以及保持软件更新外,您没有太多可做的来建立免疫性对抗密码分析攻击。然而,以下是一些建议,可以增强安全性。
- 使用更新的加密和散列算法。一个好的情况是避免使用已不再被认为安全的工具,比如SHA1和MD5。
- 使用长的加密密钥。例如,您的RSA密钥在VPN握手中应至少为2048位长。
- 记得销毁过期的密钥。
- 使用强密码,并实现经过测试的随机数生成器来筛选出您的密钥。
- 给散列加入盐。这里是给散列添加随机噪声。您应该保持盐的长度和随机性,就像处理密码时一样。
- 应用前向安全性(PFS),以防止密钥被破解时从解密过去和未来的会话。这通常在虚拟私人网络(VPN)中使用。
- 混淆加密流量-确保您的流量看起来正常,不暴露其加密的事实。例如,Obfsproxy这样的软件是一个良好的示例工具,与Tor网络很好地配合使用。
- 将入侵检测系统(IDS)整合到您的基础设施中-该系统将通知您有关入侵或攻击的信息。然而,这并不能阻止侵犯。但是,它可以缩短您的响应时间,保护系统免受严重损害。最好在您的系统中集成一个好的IDS。
密码分析的应用
密码分析有几个实际应用。它有时可以与密码学结合使用,发挥其全部潜力。以下是一些应用:
#1. 存储完整性
您可以使用密码分析来维护存储完整性。在这种情况下,您在访问控制系统中使用锁和密钥来保护数据免受未经授权的访问。您还可以创建密码校验和来确定存储在动态环境中可能受到修改数据攻击的数据的真实性。
在数据传输过程中,生成校验和并与预期值进行比较。密码分析有助于保护易受攻击的存储介质,这些存储介质的数据量很大或暴露了很长时间。
#2. 身份认证
在身份认证中,您的主要关注点是确认用户访问数据的权限。密码分析在密码交换期间促进这个过程。现代系统将密码以加密格式存储,有访问权限的应用程序可以使用它们。由于密码以明文形式存储,您的系统的安全性不会受到威胁。
#3. 系统凭证
您可以使用密码分析和密码学来创建系统凭证。当用户登录到您的系统时,他们将始终需要提供个人凭证的证明才能被允许进入。
电子证书现在正在被创建以便促进电子验证。这种技术通常应用于智能卡中进行包括存储数据在内的加密操作。
#4. 数字签名
Digital signatures经常用于通信中验证消息是否来自已知发送者。这类似于用笔和纸签署文件。当然,如果数字签名要取代模拟签名,它们是使用密码分析技术制造出来的。
在一些情况下,这对于在许多地点分布有团队且尚未亲自会面进行一些合作文件工作的组织来说似乎是有帮助的。使用数字签名格式,任何拥有公钥的人都可以验证文档,这在cryptocurrency领域得到广泛应用。
#5. 电子资金转移(ETFs)
最近,你会看到电子货币取代了现金交易。电子资金转移、虚拟货币、数字黄金、加密货币和直接存款都是基于密码学的资产。考虑到ATM取款、借记卡支付和电汇是电子货币操作的例子。
如何成为密码分析师
在看到密码分析应用的广泛范围后,你可能会考虑成为一名密码分析师。如果你决定这样做,你很可能会从事开发算法、密码和安全系统来加密数据的工作。你还应该预计分析和解密密码方法和电信协议中的信息。
你还可以承担设计安全系统、保护重要信息免受截获、测试可靠性的计算模型、加密财务数据、开发统计和数学模型来分析数据以及解决安全问题等角色。如果这足够令人兴奋,继续阅读并了解如何成为一名密码分析师。
你可以获得计算机科学、工程学、数学或相关领域如电气与电子工程的学士学位。然而,一些组织仍然可以根据深入的培训和实际经验来雇佣你,而无需技术学位。拥有一些cyber security证书是一个额外的优势。
最后的话
密码分析更像是一种针对网络攻击的手段,而不是一种攻击本身。由于大多数加密系统对密码分析尝试具有抵抗力,了解那些易受攻击的系统需要复杂的数学能力,这是不容易获得的。
如果你考虑学习密码分析,它是一个令人兴奋的领域,可以在金融、存储和身份等各种产品上工作。
你已经看到了密码分析的强大和它在构建现实应用方面的帮助之多。追求密码分析是可以的,而将你的技能用于构建更安全的实用程序则更好。
接下来,你可以查看data encryption: critical terminology。