Abstract:

Hardcoded 加密密钥可能会削弱系统安全性,一旦出现安全问题将无法轻易修正。

Explanation:

请勿对加密密钥进行硬编码,因为这样所有项目开发人员都能查看该加密密钥,而且还会大大增加解决问题的难度。一旦代码被使用,除非对软件进行修补,否则加密密钥将再也不能更改。如果受加密密钥保护的帐户遭受入侵,系统所有者将被迫在安全性和可用性之间做出选择。

例 1:下列代码使用了硬编码加密密钥:

private static final String encryptionKey = "lakdsljkalkjlksdfkl";
byte[] keyBytes = encryptionKey.getBytes();
SecretKeySpec key = new SecretKeySpec(keyBytes, "AES");
Cipher encryptCipher = Cipher.getInstance("AES"); encryptCipher.init(Cipher.ENCRYPT_MODE, key);

任何可访问该代码的人都能访问加密密钥。一旦应用程序发布,除非对程序进行修补,否则将无法更改加密密钥。雇员可以利用手中掌握的信息访问权限入侵系统。更糟糕的是,如果攻击者可以访问应用程序的可执行文件,就可以提取加密密钥值。

Instance ID: 8769D69879B813A4804A88C0B1B9F349Priority Metadata Values:IMPACT: 3.0LIKELIHOOD: 3.2Legacy Priority Metadata Values:SEVERITY: 4.0CONFIDENCE: 5.0Remediation Effort: 3.0

Recommendations:

请勿对加密密钥进行硬编码,而应对加密密钥加以模糊化,并在外部资源文件中进行管理。如果在系统中采用明文的形式存储加密密钥,任何有足够权限的人即可读取加密密钥,还可能误用这些密码。

References:

[1] MSC03-J. Never hard code sensitive information, CERT, https://www.securecoding.cert.org/confluence/display/java/MSC03-J.+Never+hard+code+sensitive+information

[2] Standards Mapping - Common Weakness Enumeration, CWE ID 321

[3] Standards Mapping - FIPS200, IA

[4] Standards Mapping - NIST Special Publication 800-53 Revision 4, SC-12 Cryptographic Key Establishment and Management (P1)

[5] Standards Mapping - OWASP Mobile Top 10 Risks 2014, M6 Broken Cryptography

[6] Standards Mapping - OWASP Top 10 2004, A8 Insecure Storage

[7] Standards Mapping - OWASP Top 10 2007, A8 Insecure Cryptographic Storage

[8] Standards Mapping - OWASP Top 10 2010, A7 Insecure Cryptographic Storage

[9] Standards Mapping - OWASP Top 10 2013, A6 Sensitive Data Exposure

[10] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1, Requirement 6.5.8, Requirement 8.4

[11] Standards Mapping - Payment Card Industry Data Security Standard Version 1.2, Requirement 6.3.1.3, Requirement 6.5.8, Requirement 8.4

[12] Standards Mapping - Payment Card Industry Data Security Standard Version 2.0, Requirement 6.3.1, Requirement 6.5.3, Requirement 8.4

[13] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0, Requirement 6.3.1, Requirement 6.5.3, Requirement 8.2.1

[14] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1, Requirement 6.3.1, Requirement 6.5.3, Requirement 8.2.1

[15] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2, Requirement 6.3.1, Requirement 6.5.3, Requirement 8.2.1

[16] Standards Mapping - SANS Top 25 2009, Porous Defenses - CWE ID 259

[17] Standards Mapping - SANS Top 25 2010, Porous Defenses - CWE ID 798

[18] Standards Mapping - SANS Top 25 2011, Porous Defenses - CWE ID 798

[19] Standards Mapping - Security Technical Implementation Guide Version 3.1, APP3210.1 CAT II, APP3350 CAT I

[20] Standards Mapping - Security Technical Implementation Guide Version 3.10, APP3210.1 CAT II, APP3350 CAT I

[21] Standards Mapping - Security Technical Implementation Guide Version 3.4, APP3210.1 CAT II, APP3350 CAT I

[22] Standards Mapping - Security Technical Implementation Guide Version 3.5, APP3210.1 CAT II, APP3350 CAT I

[23] Standards Mapping - Security Technical Implementation Guide Version 3.6, APP3210.1 CAT II, APP3350 CAT I

[24] Standards Mapping - Security Technical Implementation Guide Version 3.7, APP3210.1 CAT II, APP3350 CAT I

[25] Standards Mapping - Security Technical Implementation Guide Version 3.9, APP3210.1 CAT II, APP3350 CAT I

[26] Standards Mapping - Security Technical Implementation Guide Version 4.1, APSC-DV-002010 CAT II

[27] Standards Mapping - Web Application Security Consortium Version 2.00, Information Leakage (WASC-13)

Hardcoded 加密密钥可能会削弱系统安全性,一旦出现安全问题将无法轻易修正。相关推荐

  1. win10桌面管理文件收纳_微软win10发布7月更新,三大版本同步更新,着重提升系统安全性...

    2020年7月14日,微软windows10系统发布了07累积更新,对2004版.1909版和1903版三大版本win10系统同步推送更新补丁,其中win10的2004版的07累积更新补丁为KB456 ...

  2. 系统安全性之认证技术

    基于口令的身份认证技术 口令 利用口令来确认用户的身份,是当前最常用的认证技术.通常,每当用户要上机时,系统中的登录程序都首先要求用户输入用户名,登录程序利用用户输入的名字去查找一张用户注册表或口令文 ...

  3. 安卓与苹果iOS系统安全性大比拼

    安卓与iOS系统安全性大比拼 ***们对于智能手机安全性的理解远比普通手机用户要深刻的多.赛门铁克报告曾深入分析了安卓和iOS系统中存在的固有问题,并重点强调: "如今手机设备的操作系统大环 ...

  4. 【Paper】2019_DoS/数据注入攻击下基于一致性的信息物理系统安全性研究_曹雄

    曹雄. DoS/数据注入攻击下基于一致性的信息物理系统安全性研究[D].天津大学,2019.DOI:10.27356/d.cnki.gtjdu.2019.003044. 文章目录 第2章 拒绝服务攻击 ...

  5. win10推送_win10发布5月首个更新,着重提升系统安全性,为新版本推送作铺垫

    2020年,微软windows10系统基本上每月至少发布两个更新补丁,其中3月份更新补丁最多,达到了四个.直到2020年5月12日,微软windows10系统才发布了5月份首个05更新补丁KB4556 ...

  6. 房产管理系统---系统安全性需求分析

    数图互通高校房产管理系统是基于公司自主研发的FMCenterV5.0平台,是针对中国高校房产的管理特点和管理要求,研发的一套标准产品:通过在中国100多所高校的成功实施和迭代,形成了一套成熟.完善.全 ...

  7. 痞子衡嵌入式:改动i.MXRT1xxx里IOMUXC_GPR寄存器保留位可能会造成系统异常

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是改动i.MXRT1xxx里IOMUXC_GPR寄存器保留位可能会造成系统异常. 痞子衡的嵌入式技术交流群里有一位非常活跃的朋友(网名:文 ...

  8. 华为鸿蒙系统HarmonyOS学习之三:鸿蒙HarmonyOS 系统安全性

    华为鸿蒙系统HarmonyOS学习之三:HarmonyOS 系统安全性 HarmonyOS(鸿蒙操作系统)采用全新的微内核设计,具有增强的安全性和低延迟.该微内核旨在简化内核功能,在内核外的用户模式下 ...

  9. 绝地求生北美服务器延迟过高,《绝地求生》匹配系统出错延迟过高 官方正加紧修正...

    <绝地求生>匹配系统出错延迟过高 官方正加紧修正 2018-10-13 07:27:53来源:游戏下载编辑:评论(0) 今天,<绝地求生>官方微博@PUBG_STEAM发布了一 ...

最新文章

  1. Java常用多线程辅助工具---countdownLatch
  2. 服!AI 让兵马俑“活”起来,颜值惊艳!
  3. asp.net 开发疑问?
  4. Android持久化存储(2)SharedPreferences使用介绍
  5. 【防衰老教程】记录一次IDEA,开发JavaWeb项目时JS中文乱码排错
  6. 【2018ACM山东省赛 - C】Cities(最小生成树变形优化,贪心思维)
  7. javascript中数组的22种方法
  8. 查询数据库中数据的年份_本地公开数据中的年份
  9. mysql error innodb_MySQL无法启动: InnoDB Error:unable to create temporary file
  10. 基本数据类型的值传递 和引用数据类型的引用传递 Day06
  11. python新手小项目实例-有没有简单一点的 Python 小例子或小项目?
  12. 打造属于自己的underscore系列 ( 一 ) - 框架设计
  13. js 对一个字段去重_写一个N-API没那么难?
  14. 内核进程回调遍历【记录】
  15. 数领科技|做工业设计可能会用到哪些软件?
  16. 公众平台模板消息所在行业_微信公众号模板消息群发工具免费注册试用7天
  17. 浅谈对POW的认识和理解
  18. 小型秒杀项目使用乐观锁防止超卖
  19. 阿里云 禁用密码登录
  20. 基础30讲 第18讲 三重积分、曲线曲面积分

热门文章

  1. 联咏科技Novatek替换海思选型参考
  2. 机器学习实践:动物图片识别-1
  3. squid代理-----透明代理模式
  4. BladeCenter S SAS Raid Module配置指南
  5. ftp上传工具,ftp上传工具哪个好?ftp上传工具使用指南,6款好用的ftp上传工具推荐
  6. 2018下半年阿拉丁小程序白皮书发展8大预测 日活有望达到4亿
  7. 如何免费将PDF转成PPT
  8. 几个方法,告诉你PDF怎么转换成Word免费!
  9. 软件工程导论09-人机界面设计
  10. 一个北漂青年曾经遇到的4种诱惑