CWE-329:通过CBC模式生成可预测的IV
查看自定义信息:
CBC mode eliminates a weakness of Electronic Code Book (ECB) mode by allowing identical plaintext blocks to be encrypted to different ciphertext blocks. This is possible by the XOR-ing of an IV with the initial plaintext block so that every plaintext block in the chain is XOR'd with a different value before encryption. If IVs are reused, then identical plaintexts would be encrypted to identical ciphertexts. However, even if IVs are not identical but are predictable, then they still break the security of CBC mode against Chosen Plaintext Attacks (CPA).
该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
与观点“研究概念”相关(CWE-1000)
CBC模式是块密码的常用操作模式。它通过在加密之前与明文的初始块进行XOR-ing IV起作用,然后在加密之前与先前的Ciphertext块一起使用Ciphertext的前块。
C_0 = IV
c_i = e_k {m_i xor c_ {i-1}}} 正确使用时,CBC模式为选择的明文攻击提供了安全性。拥有不可预测的IV是对此的关键基础。看 [Ref-1171]。
引言的不同模式提供了有关如何以及何时引入这种弱点的信息。该阶段识别可能发生介绍的生命周期中的一个点,而音符提供了与给定阶段中引言有关的典型情况。
该清单显示了可能出现的弱点的可能区域。这些可能适用于特定的命名语言,操作系统,体系结构,范式,技术或一类此类平台。该平台与给定弱点出现在该实例的频率一起列出。
语言 班级:不是特定语言的(不确定的患病率) 技术 班级:ICS/OT(不确定的患病率)
该表指定与弱点相关的不同个人后果。该范围确定了违反的应用程序安全区域,而影响描述了如果对手成功利用这一弱点,就会产生负面的技术影响。其可能性提供了有关预期相对于列表中其他后果的特定后果的可能性的信息。例如,可能会利用弱点来实现一定的影响,但很可能会利用它来实现不同的影响。
示例1 在以下示例中,加密数据时使用CBC模式:
(不良代码)
示例语言:C
evp_cipher_ctx ctx;
char键[evp_max_key_length]; char iv [evp_max_iv_length]; rand_bytes(key,b); memset(iv,0,EVP_MAX_IV_LENGTH); evp_encryptinit(&ctx,evp_bf_cbc(),key,iv);
(不良代码)
示例语言:爪哇
公共类Symmetricciphertest {
公共静态void main(){
字节[] text =“ secret” .getBytes(); 字节[] iv = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };KeyGenerator kg = KeyGenerator.getInstance("DES"); kg.init(56); secretkey key = kg.generekey(); Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); ivparameterspec ips =新的ivparameterspec(iv); cipher.init(cipher.encrypt_mode,key,ips); 返回cipher.dofinal(inpbytes); 在这两个示例中,初始化矢量(IV)始终是零的块。这使得生成的密码文本更加可预测,并且容易受到字典攻击。
此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
维护
As of CWE 4.5, terminology related to randomness, entropy, and predictability can vary widely. Within the developer and other communities, "randomness" is used heavily. However, within cryptography, "entropy" is distinct, typically implied as a measurement. There are no commonly-used definitions, even within standards documents and cryptography papers. Future versions of CWE will attempt to define these terms and, if necessary, distinguish between them in ways that are appropriate for different communities but do not reduce the usability of CWE for mapping, understanding, or other scenarios.
提供更多信息 - 请选择其他过滤器。
|
使用共同弱点枚举(CWE)和本网站的相关参考使用条款。CWE由美国国土安全部(DHS)网络安全和基础设施安全局(CISA),由国土安全系统工程和开发研究所(HSSEDI) which is operated bymanbetx客户端首页(MITER)。版权所有©2006–2023,Miter Comanbetx客户端首页rporation。CWE,CWSS,CWRAF和CWE徽标是Miter Corporation的商标。manbetx客户端首页 |