一文读懂密码学

密码学定义

密码学是隐藏或编码信息的过程,以便只有消息的预期对象才能读取它。密码学艺术已经用于编码消息数千年,并继续用于银行卡,计算机密码和电子商务。

现代加密技术包括支持加密和解密信息的算法和密码,例如 128 位和 256 位加密密钥。现代密码,如高级加密标准(AES),被认为几乎牢不可破。

常见的加密定义是编码信息的做法,以确保只有为其编写消息的人才能读取和处理信息。这种网络安全实践,也称为密码学,结合了计算机科学、工程和数学等各种学科,以创建隐藏消息真正含义的复杂代码。
密码学定义
密码学可以追溯到古埃及象形文字,但对于保护传输中的通信和信息以及防止其被不受信任的各方读取仍然至关重要。它使用算法和数学概念,通过加密密钥和数字签名等技术将消息转换为难以破译的代码,以保护数据隐私、信用卡交易、电子邮件和网页浏览。

密码学的重要性

密码学对于保护数据和用户、确保机密性以及防止网络犯罪分子拦截敏感的公司信息仍然很重要。加密的常见用途和示例包括:
隐私和保密
个人和组织每天都使用加密技术来保护他们的隐私,并对他们的对话和数据保密。加密通过使用只有发件人和收件人知道的密钥的算法来加密已发送的消息,从而确保机密性。一个常见的例子是消息传递工具WhatsApp,它加密人与人之间的对话,以确保他们不会被黑客入侵或拦截。
加密还可以保护浏览,例如使用虚拟专用网络 (VPN),它使用加密隧道、非对称加密以及公钥和私钥共享密钥。
身份验证
与密码学如何确认消息的真实性类似,它也可以证明发送和接收的信息的完整性。加密可确保信息在存储过程中或在发件人和预期收件人之间传输过程中不会更改。例如,数字签名可以检测软件分发和金融交易中的伪造或篡改。
不可否认性
密码学确认消息发送者的责任和责任,这意味着他们以后在创建或传输信息时不能否认他们的意图。数字签名就是一个很好的例子,因为它们确保发件人不能声称他们创建的消息、合同或文档是欺诈性的。此外,在电子邮件不可否认性中,电子邮件跟踪可确保发件人无法拒绝发送邮件,收件人无法拒绝接收邮件。
密钥交换
密钥交换是用于在发件人和收件人之间共享加密密钥的方法。

加密算法的类型

有许多类型的加密算法可用。它们的复杂性和安全性各不相同,具体取决于通信类型和所共享信息的敏感性。

密钥加密

密钥加密(也称为对称加密)使用单个密钥来加密和解密消息。发件人使用密钥加密纯文本消息,并将其发送给收件人,然后收件人使用相同的密钥对其进行解密并解锁原始纯文本消息。

流密码

流密码随时处理单个位或字节,并使用反馈机制不断更改密钥。自同步流密码通过识别解密在位密钥流中的位置,确保解密过程与加密过程保持同步。同步流密码独立于消息流生成密钥流,并在发送方和接收方生成相同的密钥流函数。

分组密码

分组密码一次加密一个固定大小的数据块。当使用相同的密钥时,它将始终将明文数据块加密为相同的密文。一个很好的例子是Feistel密码,它使用密钥扩展,排列和替换的元素在密码中造成巨大的混乱和扩散。
分组密码加密和解密的阶段即使不相同,也是相似的,这意味着反转密钥可以减少在软件或硬件中实现密码所需的代码大小和电路。

公钥加密

公钥加密(PKC)或非对称加密使用数学函数来创建异常难以破解的代码。它使人们能够通过不安全的通信通道进行安全通信,而无需密钥。例如,代理重新加密使代理实体能够将数据从一个公钥重新加密到另一个公钥,而无需访问明文或私钥。

常见的PKC类型是乘法与因式分解,它采用两个大的素数并将它们相乘以创建一个巨大的结果数字,这使得破译变得困难。PKC 的另一种形式是幂与对数,例如 256 位加密,它增加了保护,以至于即使是每秒能够搜索数万亿种组合的计算机也无法破解它。

PKC 的通用形式使用两个在数学上相关的键,但不能确定任何一个键。简而言之,发件人可以使用其私钥加密其明文消息,然后收件人使用发件人的公钥解密密文。
用于数字签名和密钥交换的常见 PKC 算法包括:
RSA
RSA 是第一个并且仍然是最常见的 PKC 实现。该算法以其麻省理工学院数学家Ronald Rivest,Adi Shamir和Leonard Adleman的名字命名,用于数据加密,数字签名和密钥交换。它使用一个大数,这是分解两个选定的素数的结果。攻击者不可能计算出主要因素,这使得RSA特别安全。
ECC
(Elliptic Curve Cryptography)ECC是一种基于密码学中使用椭圆曲线的 PKC 算法。它专为计算能力或内存有限的设备而设计,用于加密互联网流量。ECC的常见用途是嵌入式计算机,智能手机和比特币等加密货币网络,它消耗RSA所需存储空间和带宽的10%左右。
数字签名算法 (DSA)
DSA (Digital Signature Algorithm)是一种允许在邮件身份验证中使用数字签名的标准。它由美国国家标准与技术研究院 (NIST) 于 1991 年推出,以确保创建数字签名的更好方法。
基于身份的加密 (IBE)
IBE(Identity-based Encryption)国际教育局是一个PKC系统,它允许根据用户的身份(如电子邮件地址)从唯一信息中计算公钥。然后,受信任的第三方或私钥生成器使用加密算法来计算相应的私钥。这使用户能够创建自己的私钥,而无需担心分发公钥。
公钥加密标准 (PKCS)
所有 PKC (Public Key Cryptography Standards )算法和使用都受 RSA Data Security 设计的一组标准和准则的约束。具体如下:
  • PKCS #1 或 RFC 8017:RSA 加密标准
  • PKCS #3:迪菲-赫尔曼密钥协议标准
  • PKCS #5 和 PKCS #5 v2.1 或 RFC 8018:基于密码的密码学标准
  • PKCS #6:扩展证书语法标准(由 X.509v3 取代)
  • PKCS #7 或 RFC 2315:加密消息语法标准
  • PKCS #8 或 RFC 5958:私钥信息语法标准
  • PKCS #9 或 RFC 2985:选定的属性类型
  • PKCS #10 或 RFC 2986:认证请求语法标准
  • PKCS #11:加密令牌接口标准
  • PKCS #12 或 RFC 7292:个人信息交换语法标准
  • PKCS #13:椭圆曲线加密标准
  • PKCS #14:伪随机数生成标准
  • PKCS #15:加密令牌信息格式标准
Diffie-Hellman and Key Exchange Algorithm (KEA)
Diffie-Hellman算法由斯坦福大学教授Martin Hellman和他的研究生Whitfield Diffie于1976年设计,他们被认为负责引入PKC概念。它用于秘密密钥交换,需要两个人就一个大的质数达成一致。

KEA是Diffie-Hellman算法的变体,在NIST /国家安全局(NSA)的Capstone项目中被提议作为密钥交换的方法,该项目开发了供公众和政府使用的加密标准。

使用加密查看潜在的基于密钥的问题和攻击类型
哈希函数(Hash Function)
哈希函数可确保在加密的加密和解密阶段保持数据完整性。它还用于数据库,以便可以更快地检索项目。

哈希是获取密钥并将其映射到特定值(即哈希或哈希值)的过程。哈希函数转换密钥或数字签名,然后将哈希值和签名发送给接收方,接收方使用哈希函数生成哈希值并将其与消息中收到的哈希值进行比较。

一个常见的哈希函数是折叠,它接受一个值并将其分成几个部分,添加部分,并使用剩余的最后四个数字作为键或哈希值。另一种是数字重排,它采用原始值中的特定数字,反转它们,并使用剩余的数字作为哈希值。哈希函数类型的示例包括安全哈希算法 1 (SHA-1)、SHA-2 和 SHA-3。

加密密钥攻击类型

现代加密密钥技术越来越先进,甚至通常被认为是牢不可破的。但是,随着越来越多的实体依靠加密来保护通信和数据,确保密钥安全至关重要。一个泄露的密钥可能会导致监管行动、罚款和惩罚、声誉损害以及客户和投资者的损失。
加密密钥攻击
可能发生的潜在基于密钥的问题和攻击类型包括:
弱密钥
密钥本质上是随机数,数字越长越难破解。密钥强度和长度需要相对于其保护的数据的价值以及需要保护数据的时间长度。密钥应使用高质量、经过认证的随机数生成器创建,该生成器从合适的硬件噪声源收集熵(以位或字符为单位的文件信息密度)。
密钥使用不正确
当密钥使用不当或编码不当时,黑客更容易破解本应高度安全的密钥。
密钥的重复使用
每个密钥只能为特定的一次性加密/解密目的生成,超出此目的的使用可能无法提供所需的保护级别。
密钥不更换
过度使用的密钥(例如加密密钥上的过多数据)容易受到攻击。对于较旧的密码尤其如此,可能会导致数据暴露。密钥需要在适当时轮换、续订和更新。
密钥存储不当
将密钥与创建用于保护的信息一起存储会增加其被泄露的机会。例如,存储在数据库或服务器上的密钥在数据泄露时也可能受到破坏。
密钥保护不足
像Meltdown/Spectre和Heartbleed这样的大型网络攻击已经能够暴露存储在服务器内存中的加密密钥。因此,存储的密钥必须加密,并且只有在放置在安全、防篡改的环境中,甚至保持离线状态时,才能使用未加密的密钥。
钥匙移动不安全
仅当密钥被加密或包装在非对称或对称预共享传输密钥下时,才应在系统之间移动密钥。如果无法做到这一点,则必须将密钥分成多个部分,这些部分保持独立,重新输入目标系统,然后销毁。
内部威胁(用户身份验证、双重控制和角色隔离)
内部威胁是对任何密钥构成的最严重威胁之一。这最有可能通过流氓员工访问密钥,然后将其用于恶意目的或将其提供给或出售给黑客或第三方而发生。
缺乏弹性
复原能力对于保护密钥的可用性、机密性和完整性至关重要。任何在没有备份的情况下出现故障的密钥都会导致密钥保护的数据丢失或无法访问。
缺少审核日志记录
必须完整记录和记录关键生命周期,以确保可以跟踪任何危害并使后续调查能够顺利进行。
手动密钥管理流程
在纸张或电子表格上手动记录密钥管理过程存在人为错误的风险,并使密钥极易受到攻击或盗窃。

降低与密码学相关的风险

组织和个人可以使用信誉良好的提供商提供的专用电子密钥管理系统来最大程度地减少和减轻与加密相关的威胁。解决方案必须使用硬件安全模块来生成和保护密钥,并支撑整个系统的安全性。
它需要包括完整的密钥管理生命周期、强大的密钥生成、严格的基于策略的控制、快速入侵检测、安全密钥销毁、强大的用户身份验证、安全的工作流管理以及安全的审核和使用日志等功能。这将保护组织的密钥,提高效率,并确保遵守数据和隐私法规。

下一篇

SBC是什么-在网络电话系统的作用

通信百科

SBC是什么-在网络电话系统的作用

sbc一种NAT穿透的方式。SBC可确保VoIP 安全,又可提供媒体代理服务器的套件。SBC架构于IMS网络之上,可作为IMS网络的SIP和RTSP的 Proxy Server,所有的SIP与RTSP讯息都会透过SBC来处理,SBC更具备N... ...

相关内容

CIDR:一文读懂cidr地址说明

CIDR:一文读懂cidr地址说明

CIDR主要用于使用IP地址,高效解决路由表爆炸。它在 RFC(征求意见)151......

通信百科

2020-12-21

代理服务器:一文读懂代理服务器的原理和作用

代理服务器:一文读懂代理服务器的原理和作用

代理服务器是在用户和互联网之间提供网关的系统或路由器。因此,它有助于防止网络攻击......

通信百科

2020-12-17

一文了解传感器的7大感应方式

一文了解传感器的7大感应方式

接近感应接近感应通常意味着检测:a、是否存在物体。b、对象的大小或简单形状。接近......

弱电工程

2022-12-08