Web安全概述

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:

500450096_wx.jpg

互联网刚开始是安全的,但是伴随着黑客(Hacker)的诞生,互联网变得越来越不安全。任何一个事情都有两面性,黑客也有好有坏,好的黑客叫白帽子,坏的黑客叫黑帽子。与此同时,随着Web技术发展越来越成熟,而非Web服务(如Windows操作系统)越来越少的暴露在互联网上,现在互联网安全主要指的是Web安全。

既然要讲Web安全,首先介绍什么是安全,安全的本质是什么?引用《白帽子讲安全》里对安全的定义:安全问题的本质就是信任问题。举例来说,自行车的车锁,我们认为是安全的,因为我们认为自行车锁的制造商是不会背着我们留有钥匙,如果这个信任都没有的话,那么这个自行车就是不安全的。

在介绍完什么是安全的本质后,我们继续讲解安全的三要素,机密性、完整性和可用性。机密性指的是要求保护数据内容不能泄露,加密是实现机密性要求的常见方法。完整性指的是保护数据内容是完整的、没有被篡改的,实现完整性的常见方法是数字签名。可用性要求保护资源是随需而得,黑帽子通常通过DDos攻击抢占服务器的资源,导致正常用户不能正常访问。接下来介绍常见的加密算法和数字签名算法。

加密算法

常见加密算法有对称加密和非对称加密,对称加密指的是加密和解密用的同一个密钥,而非对称加密的加密过程和解密过程用的是不同密钥,常见对称加密有DES(Data Encryption Standard,数据加密标准)和AES,而非对称加密有RSA。

  1. 对称加密算法

对称加密算法我们主要介绍AES(Advanced Encryption Standard,高级加密标准),AES三个基本概念:密钥、填充、模式。根据密钥长度,AES又可以细分为AES128、AES192、AES256。下面介绍AES的加密流程,首先将明文分解为大小为128bit小块,然后将这些明文小块放入AES加密器各自生成密文块。当将明文小块大小小于128bit时,需要对这个明文小块进行填充操作。而AES加密器提供了CBC、ECB、CTR等5种模式。
image.png

  1. 非对称加密算法

非对称加密算法我们主要介绍RSA算法,RSA算法基于大数分解难而使得该算法异常安全。下面我们开始描述RSA算法,首先选择两个充分大的质数p和q,并计算 n=pq。接下来计算m=(p-1)(q-1),最后找出两个数e和d,使得 (e*d) mod m =1。其中e和n就是公钥,而d和n就是私钥。任何知道公钥的人都可以利用公式 c = a^e mod n把原始数据加密成一个密文,私钥的持有者可以通过公式 c^d mod n 计算原始数据a。通过计算公式我们也可以发现加密和解密的算法是不一样的,这也是”非对称“的由来。

  1. 融合对称加密算法和非对称加密算法

通过对对称加密算法和非对称加密算法的介绍,我们知道如果A、B两个人想要建立会话,为了保证会话的机密性,我们需要对数据进行加密,这个密码本只有A、B两个人知道,而如何保证这个密码本在传输的过程中不被第三者窃取呢?我们可以通过非对称加密对密码本进行加密,即A首先呼叫B,并索要B的公钥,然后用B的公钥对密码本进行加密并将密文发送给B,B收到A的消息之后,用自己的私钥进行解密。这个过程看起来已经很完美了,但是有一个让人意想不到的漏洞--中间人攻击。中间人在网络中发现A索要B的公钥这条消息,当B将自己的公钥发送给A时,中间人截取B的公钥,并将自己的公钥发送给A。接下来,A将自己的密码本通过中间人的公钥继续加密发送给B,中间人截取A发出来的这条消息,用自己的私钥进行解密,然后用B的公钥进行加密,重新发送给B。B收到消息后并不会发现什么异常,因为B能用自己的私钥进行解密。但是它们都不知道中间人已经完全掌握了它们的密码本。

中间人攻击是在获取对方公钥的时进行替换,那么,解决这个问题的办法就是建立一个获取对方公钥的可信渠道。一个简单而有效地办法就是建立一个所有人都信任的权威机构,有改权威机构来存储并分发大家的公钥。这就是我们通常所说的数字认证机构,英文是Certificate Authority,简称CA。任何人都可以申请把自己的公钥放到CA上去,不过CA必须亲自检验申请者是不是符合资格。如果A想要和B建立会话,那么A直接从CA出获取B的公钥,这样A就不用担心拿到的公钥是不是假的。

签名算法

中间人既然能假扮公钥,会不会假扮CA呢?答案是肯定的。这样一来,CA不但需要向A保证“这个公钥确实是B的”,还要向A证明”我确实是CA“。对应的解决方法是数字签名算法。CA首先生存一个自己的公钥私钥对,然后将公钥公之于众。之后,CA对每条发出去的消息都用自己的私钥加个密作为签名,以此证明消息的来源是真实的。接受方收到消息之后,用CA的公钥进行解密,如果能解得开,则说明对方一定是真实的CA。因为,这样的消息只有私钥持有者才能做的出来。至此为止,加密算法和签名算法就讲解完毕,一条安全的通信线路的设计也有了一个比较完美的方案。

相关文章
|
6天前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
19 1
|
9天前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
37 4
|
8天前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
32 2
|
10天前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
45 3
|
13天前
|
SQL 安全 Go
PHP在Web开发中的安全实践与防范措施###
【10月更文挑战第22天】 本文深入探讨了PHP在Web开发中面临的主要安全挑战,包括SQL注入、XSS攻击、CSRF攻击及文件包含漏洞等,并详细阐述了针对这些风险的有效防范策略。通过具体案例分析,揭示了安全编码的重要性,以及如何结合PHP特性与最佳实践来加固Web应用的安全性。全文旨在为开发者提供实用的安全指南,帮助构建更加安全可靠的PHP Web应用。 ###
30 1
|
16天前
|
Kubernetes 安全 应用服务中间件
动态威胁场景下赋能企业安全,F5推出BIG-IP Next Web应用防火墙
动态威胁场景下赋能企业安全,F5推出BIG-IP Next Web应用防火墙
36 3
|
1月前
|
缓存 安全 JavaScript
掌握JAMstack:构建更快、更安全的Web应用
JAMstack 是一种现代 Web 开发架构,结合 JavaScript、APIs 和 Markup,创建更快、更安全的 Web 应用。其核心优势包括高性能、安全性、可扩展性和易维护性。JAMstack 通过预构建静态页面和 API 实现高效渲染,利用静态站点生成器如 Gatsby 和 Next.js,并借助 CDN 和缓存策略提升全球访问速度。尽管面临复杂交互、SEO 和数据更新等挑战,但通过 Serverless Functions、预渲染和实时 API 更新等方案,这些挑战正逐步得到解决。
|
2月前
|
SQL 安全 数据库
惊!Python Web安全黑洞大曝光:SQL注入、XSS、CSRF,你中招了吗?
在数字化时代,Web应用的安全性至关重要。许多Python开发者在追求功能时,常忽视SQL注入、XSS和CSRF等安全威胁。本文将深入剖析这些风险并提供最佳实践:使用参数化查询预防SQL注入;通过HTML转义阻止XSS攻击;在表单中加入CSRF令牌增强安全性。遵循这些方法,可有效提升Web应用的安全防护水平,保护用户数据与隐私。安全需持续关注与改进,每个细节都至关重要。
117 5
|
2月前
|
JSON 安全 JavaScript
Web安全-JQuery框架XSS漏洞浅析
Web安全-JQuery框架XSS漏洞浅析
347 2
|
2月前
|
SQL 安全 数据库
深度揭秘:Python Web安全攻防战,SQL注入、XSS、CSRF一网打尽!
在Web开发领域,Python虽强大灵活,却也面临着SQL注入、XSS与CSRF等安全威胁。本文将剖析这些常见攻击手段,并提供示例代码,展示如何利用参数化查询、HTML转义及CSRF令牌等技术构建坚固防线,确保Python Web应用的安全性。安全之路永无止境,唯有不断改进方能应对挑战。
61 5
下一篇
无影云桌面