Web安全系列——敏感信息泄露与加密机制

一、前言

数字化时代,越来越多的数据正在被传输到Web应用程序中,这其中不乏个人或机构的敏感信息。

如果Web应用程序未采取正确的加密机制,这些信息可能会遭到窃取或篡改,从而使用户数据或机构的财产受到威胁。

二、加密机制失效(敏感信息泄露)的危害

  1. 窃取用户利益:攻击者将有可能窃取个人信息(信用卡号、密码、社保号等),然后利用这些信息窃取用户利益。
  2. 用于欺诈和其他不良目的:通过窃取敏感信息,攻击者可以使用这些信息进行诈骗、盗取资金、冒充身份,破坏商业竞争以及散播恶意病毒和其他不良软件等。
  3. 侵犯隐私:Web应用程序的失效,可能会导致用户隐私被侵犯,由于不被允许收集或使用的个人用户信息被泄露或滥用,给用户带来相当大的心理和经济压力。
  4. 法律和制度性风险:失效的加密机制可能会影响企业的声誉,并违反行业和政府制度,迫使企业承担法律责任。
  5. 品牌价值减少:针对数据泄露和失效的加密机制的公众曝光,可能会导致品牌价值减少,加剧企业的经济衰退。
  6. 客户信誉度下降:数据泄露和加密机制失效可能导致客户对企业失去信任,影响企业的长期发展。

三、Web应用中哪些环节需要加密机制

Web应用中,加密机制需求贯穿整个业务处理的各个环节

  • 输入加密:
    • 如用户输入密码等敏感信息时不应该再页面明文展示。
  • 传输加密:
    • 客户端与服务端之间的通信需要使用HTTPS等协议进行加密传输
    • 服务端各个组件之间的通信也需要考虑加密机制需求。
  • 后端逻辑处理:
    • 后端服务在做逻辑处理时也需要有一定的加密机制,如敏感信息不应明文打印到日志中。
  • 存储加密:
    • 数据库中的敏感信息字段需要进行加密存储。
    • 文件、图片、报备等数据存储是要严格控制权限,或加密。
  • 输出加密(脱敏):
    • 返回给用户的信息需结合业务需要进行加密、脱敏处理。
    • 很多应用程序会将后台错误信息回显给用户,这里需要注意不要讲系统敏感信息(如数据库卡的IP地址、库表名称)泄漏给用户

四、加密机制失效的情景和案例

1. 加密机制失效的常见情景&攻击方式:

  1. 未妥善保管密钥:密钥是加密的关键,如果密钥可以被恶意攻击者获取,就可以轻松地突破加密。因此,安全存储和管理密钥至关重要。
  2. 弱密码、字典攻击或暴力破解:当使用弱密码或雷同密码,暴力破解可以通过尝试多个密码组合来破解它们。主动实施具有强密码标准的密码策略有助于防止密码猜测攻击。
  3. 数据库或文件系统被危险覆盖:如果攻击者通过某种方式直接访问数据库或文件系统,而不需要通过Web应用程序,那么加密机制就会失效。
  4. 中间人攻击:中间人攻击是窃取数据或操纵双方之间的信息交流过程的攻击。攻击者可能会假冒用户访问受保护的页面,窃取证书媒介,使得加密的通信可以被中途截获和篡改。
  5. 漏洞注入攻击:注入攻击后,攻击者可以在请求中插入恶意代码或指令,从而绕过加密机制并且执行任意操作。
  6. 系统或库漏洞:漏洞可能在应用程序的任何一个环节中出现。这可能包括操作系统,Web服务器,数据库服务器,Web应用程序平台或应用程序代码等多个方面,造成加密机制失效之后,会让攻击者突破加密系统访问到数据。
  7. 缺乏数据备份和恢复准备:在遭受攻击时,缺乏恢复准备的Web应用程序可能会在重要数据丢失的情况下停止工作。攻击者可以通过勒索或其他方式要挟Web应用程序,进而破坏加密机制。

2. 加密机制失效案例

  • 2011年C**N因为用户账户密码未加密存储,导致明文密码泄露。
  • 2018年,某外卖公司因为一些数据传输没有使用HTTPS加密,导致攻击者能够访问并下载大量外卖用户的个人信息,包括姓名、电话号码和送餐地址。

五、加密机制与策略

加密机制

  1. 对称加密:在对称加密中,相同的密钥用于加密和解密数据。这是一种高效的加密方法,但需要确保密钥的安全传输。以下是常用的对称加密算法
    1. SM4:SM4是一种国密级别的对称加密算法,用于数据加密。它被广泛用于中国的安全领域和应用程序。
    2. AES(Advanced Encryption Standard):AES是一种国际标准的对称加密算法,广泛用于全球各种安全应用中。它提供了高度的安全性和性能。
  2. 非对称加密:非对称加密使用一对密钥:公钥和私钥。公钥用于加密数据,私钥用于解密。这种方法更安全,不需要在网络上传输私钥。
    1. SM2:SM2是一种国密级别的非对称加密算法,用于数字签名和密钥交换。它适用于中国的安全标准。
    2. RSA:RSA是一种国际标准的非对称加密算法,用于数字签名和密钥交换。尽管它不是国密算法,但仍然被广泛使用,并提供了强大的安全性。
  3. 哈希函数:哈希函数将数据转化为固定长度的散列值,通常是不可逆的。它通常用于验证数据的完整性。
    1. SM3:SM3是一种国密级别的哈希算法,用于数据完整性检查和数字签名。它适用于中国的安全标准。
    2. SHA-256:SHA-256是一种国际标准的哈希算法,用于数据完整性检查和数字签名。它提供了较高的安全性。
  4. 数字签名:数字签名结合了非对称加密和哈希函数,用于验证数据的完整性和发送者的身份。

加密策略Tips

1. 使用HTTPS协议:

  • 确保整个Web应用使用HTTPS来加密数据传输,包括用户登录、数据传输、以及敏感操作。使用SSL/TLS证书,确保通信安全。

2. 数据加密:

  • 对于存储在数据库中的敏感数据(如用户密码、个人信息等),使用适当的数据库加密,如数据库字段级别的加密或全盘数据库加密。

3. 强密码策略:

  • 实施密码策略,要求用户创建强密码,包括至少8个字符,包含大小写字母、数字和特殊字符,并定期要求用户更改密码。

4. 避免明文存储密码:

  • 不要以明文形式存储用户密码。使用哈希函数和盐值对密码进行安全哈希,并存储哈希值。

5. 访问控制:

  • 实施严格的访问控制策略,确保只有经过身份验证的用户可以访问敏感数据和功能。最小权限原则是关键,只授权用户所需的最低权限。

6. 强制多因素认证(MFA):

  • 对于敏感操作(如账户设置变更、支付等),要求用户启用MFA,以提高帐户安全性。

7. 数据备份和灾难恢复:

  • 定期备份数据,并建立紧急恢复计划,以确保在数据丢失或损坏时能够快速恢复。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/126624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python类如何实例化对象

python类如何实例化对象 1、把类看作是定制的数据类型。既然是类型,只能用来表示数据的类型,不能直接用来保存数据。**要保存数据,首先需要创建一个类似于这类容器的东西,称为对象(或例子)。通过类别产生对象的过程称为例子。 2、…

畅销书《Kali Linux高级渗透测试》更新版速速查收~

懒大王感谢大家的关注和三连支持~ 作者简介: 懒大王敲代码,正在学习嵌入式方向有关课程stm32,网络编程,数据结构C/C等 今天给大家推荐畅销书《Kali Linux高级渗透测试》,希望大家能觉得实用! 欢迎大家点赞…

C语言--温度转化(把华氏度转换为摄氏度)

一.问题描述: 有人用温度计测量出用华氏法表示的温度,今要求把它转换为以摄氏法表示的温度,转换公式如下: 这个代码是C语言的入门代码,难点在于5/9在程序中如何写出。在计算机中5/9等于1。 /符号:整除问题(整数/整数 结果是丢弃小数的整数) 5/2 2。那…

十五、redis的使用

目录 一、简介1.1 nosql介绍1.2 redis特性1.3 redis优势1.4 redis应用场景 二、安装2.1 Macos下安装2.2 Linux下安装2.4 客户端连接2.5 切换数据库 三、数据库操作3.1 string类型3.2 键的操作3.3 Hash类型3.4 list类型3.5 set类型3.6 zset类型 四、和python交互4.1 安装redis包…

【AI视野·今日Sound 声学论文速览 第三十二期】Tue, 24 Oct 2023

AI视野今日CS.Sound 声学论文速览 Tue, 24 Oct 2023 Totally 20 papers 👉上期速览✈更多精彩请移步主页 Interesting: 📚nvas3d, 基于任意录音和室内3D信息合成重建不同听角(位置)处的新的声音。(from apple cmu) website: htt…

LeetCode----1935. 可以输入的最大单词数

题目 键盘出现了一些故障,有些字母键无法正常工作。而键盘上所有其他键都能够正常工作。 给你一个由若干单词组成的字符串 text ,单词间由单个空格组成(不含前导和尾随空格);另有一个字符串 brokenLetters ,由所有已损坏的不同字母键组成,返回你可以使用此键盘完全输入…

数据结构详细笔记——二叉树

文章目录 二叉树的定义和基本术语特殊的二叉树满二叉树完全二叉树二叉排序树平衡二叉树 二叉树的常考性质完全二叉树的常考性质二叉树的存储结构顺序存储链式存储 二叉树的先中后序遍历先序遍历(空间复杂度:O(h))中序遍…

有奖快来抱走全新HUAWEI WATCH GT4

亲爱的openGauss用户, 为了给您提供更好的社区体验,现诚邀您参与openGauss社区满意度问卷调研。您的每一个宝贵建议都是我们进步的方向。 手机扫描二维码即可填写问卷,请根据您真实的体验情况填写问卷,问卷反馈越真实有效越有机…

vue3写nav滚动事件中悬停在顶部

1. 防抖类Animate, 使用requestAnimationFrame代替setTimeout 也可以使用节流函数, lodash有现成的防抖和节流方法 _.debounce防抖 _.throttle节流 export default class Animate {constructor() {this.timer null;}start (fn) > {if (!fn) {throw new Error(需要执行…

【面试】什么是霍桑效应,在项目中具体要怎样使用霍桑效应呢?

其实霍桑效应(Hawthorne Effect)是一种很经典的组织行为学现象,它阐述了被观察者会因知晓自己被观察而改变自己的行为。在项目管理中,我们可以通过霍桑效应来激励团队提高工作效率。具体运用可以从以下几个方面: 告知…

亲测解决Pytorch TypeError: object of type ‘numpy.int64‘ has no len()

这个问题是小虎在初始化自适应平均池化的时候遇到的,解决方法是限制初始化时池化大小的类型。 问题原文 Exception has occurred: TypeError object of type numpy.int64 has no len()File "D:\Complier\LEF\lib\model\segmentation\heads\modules\fgModules…

使用 TensorFlow SSD 网络进行对象检测

使用 TensorFlow SSD 网络进行对象检测 目录 描述这个示例是如何工作的? 处理输入图准备数据sampleUffSSD 插件验证输出TensorRT API 层和操作 先决条件运行示例 示例 --help 选项 附加资源许可证更改日志已知问题 描述 该示例 sampleUffSSD 预处理 TensorFlow …

js的入口函数有哪些?

在JavaScript中,常见的入口函数有以下几种: window.onload: 该函数会在页面完全加载完成后执行,包括所有图像、CSS样式表、JavaScript脚本等。document.ready: 该函数会在DOM(文档对象模型)完全加载完成后执行&#x…

pmp到底有多难考?

单说通过,难度不算特别高,但也有几点难度: 1、试卷难度:是笔试,180道题,题量大,比较机试耗时间; 2、题目难度:题目是中英文对照,可能有翻译不到位的地方&am…

0基础学习PyFlink——事件时间和运行时间的窗口

大纲 定制策略运行策略Reduce完整代码滑动窗口案例参考资料 在 《0基础学习PyFlink——时间滚动窗口(Tumbling Time Windows)》一文中,我们使用的是运行时间(Tumbling ProcessingTimeWindows)作为窗口的参考时间: reducedkeyed.window(TumblingProcess…

第4章_运算符

文章目录 1. 算术运算符1.1 加法与减法运算符1.2 乘法与除法运算符1.3 求模运算符 2. 比较运算符2.1 等号运算符2.2 安全等于运算符2.3 不等于运算符2.4 空运算符2.5 非空运算符2.6 最小值运算符2.7 最大值运算符2.8 BETWEEN AND运算符2.9 IN运算符2.10 NOT IN运算符2.11 LIKE运…

代码随想录算法训练营第三十九天丨 动态规划part02

62.不同路径 思路 动态规划 机器人从(0 , 0) 位置出发,到(m - 1, n - 1)终点。 按照动规五部曲来分析: 确定dp数组(dp table)以及下标的含义 dp[i][j] :表示从(0 ,0)出发&#…

利用win32的GetLastInputInfo函数实现锁屏(C#)

前两天看到群里面讨论这个问题,刚好我们上一家公司的系统也有这个功能,就研究了一下,我们这边实现这个功能的目的如下:当用户长时间不操作系统时,自动退出系统并退回到登录界面,想要使用系统,就…

react官网

应急方案 – React 中文文档 (docschina.org) 正版卡死版 Hooks FAQ – React (reactjs.org) 英文流畅版 应急方案 – React 中文网 (nodejs.cn) 盗版流畅版(翻译有稍稍的问题) http://www.react-cn.com/index.html 黄版

【数据结构】数组和字符串(十三):链式字符串的基本操作(串长统计、查找、复制、插入、删除、串拼接)

文章目录 4.3 字符串4.3.1 字符串的定义与存储4.3.2 字符串的基本操作(链式存储)1. 结构体2. 初始化3. 判空4. 串尾添加5. 打印6. 串长统计7. 查找8. 复制9. 插入10. 删除11. 串拼接12. 销毁13. 主函数14. 代码整合 4.3 字符串 字符串(String)是由零个或…