
安全架构
互联网安全相关知识和架构
程序猿学长
专注于产品研发团队管理 软件架构 微服务 中台 欢迎一起交流学习 MBA CTO PMP;关注微信公众号 程序猿学长,大量免费学习资源分享。程序猿学长
展开
-
安全架构-api接口安全设计
安全架构-api接口安全设计安全架构系列文章是从api接口的安全性设计引入的,讨论了api的业务安全-幂等性设计,传输安全,加签名和加解密,介绍了对称加密,非对称加密的常用算法的实现。继续回到api接口安全性设计方案,除了上述处理外,我们还可以在业务上增加接口调用的限制,防止和阻止异常情况的非法调用api。文章目录安全架构-api接口安全设计前言一、appid+appsecret方式二、黑白名单1.黑名单2.白名单三、接口限流四、数据合法性校验总结前言api接口主要讨论需要互联网暴露出来或者提原创 2020-12-22 16:37:28 · 7803 阅读 · 2 评论 -
安全架构-加解密算法-RSA C#实现
C#代码: /// <summary> /// 产生公钥和私钥:Array[0]私钥,Array[1]公钥 /// </summary> /// <returns></returns> public static string[] GenerateKeys() { string[] sKeys = new String[2];原创 2020-12-22 15:16:09 · 6445 阅读 · 1 评论 -
安全架构-加密算法-RSA加密Java实现
RSA加密解密算法 是非对称加解密算法的一种,也是非常常用的一种方法。在RSA密码应用中,公钥KU是被公开的,即e和n的数值可以被第三方窃听者得到。破解RSA密码的问题就是从已知的e和n的数值(n等于pq),想法求出d的数值,这样就可以得到私钥来破解密文。从上文中的公式:d≡e-1 (mod((p-1)(q-1)))或de≡1 (mod((p-1)(q-1)))我们可以看出。密码破解的实质问题是:从Pq的数值,去求出(p-1)和(q-1)。换句话说,只要求出p和q的值,我们就能求出d的值而得到私钥。原创 2020-12-22 15:09:48 · 6419 阅读 · 0 评论 -
安全架构-加密算法-非对称加密
安全架构-加密算法-非对称加密前面的文章介绍了对称加密,安全架构-加密算法-对称加密,本文来介绍一下非对称加密。文章目录安全架构-加密算法-非对称加密前言一、简介二、特点三、主要算法四、工作原理四、应用场景五、与对称加密比较总结前言非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称加密原创 2020-12-22 14:13:35 · 6663 阅读 · 0 评论 -
安全架构-加密算法-AES加密.NET C#实现
安全架构-加密算法-AES加密.NET C#实现方法一:using System;using System.Collections.Generic;using System.Text;using System.Security.Cryptography;using System.IO;namespace Csharp{ class AESHelper { /// <summary> /// AES加密 /// &l原创 2020-12-21 22:54:07 · 6638 阅读 · 0 评论 -
安全架构-加密算法-AES加密Java实现
加密算法-AES加密Java实现AES 高级数据加密标准(Advanced Encryption Standard),简称AES,由美国政府于1997年开始公开征集的新的数据加密标准算法。经过三轮筛选,美国政府最终于2000年10月2日正式宣布选中密码学家Joan Daemen和Vincent Rijmen提出的RINJDAEL算法作为AES。RINJDAEL算法之所以能够最终被选为AES的原因是其安全、性能好、效率高、实用、灵活。RINJDAEL算法是一个数据块长度和密钥长度都可变的分组加密算法原创 2020-12-21 22:44:33 · 7003 阅读 · 0 评论 -
安全架构-加密算法-3DES加密算法.NET C#实现
C# 3Des加密解密C#使用填充模式"PaddingMode.PKCS7和CipherMode.CBC",可按需修改,使用CBC模式的话在C#下必须传入加密向量IV(固定长度8位),默认"12345678",加密密钥和IV双方约定好即可,如果是ECB编码模式,那么就无须使用加密向量。最主要的类为:TripleDESCryptoServiceProviderC#代码如下:using System;using System.IO;using System.Security.Cryptography原创 2020-12-21 22:01:21 · 7304 阅读 · 0 评论 -
安全架构-加密算法-3DES加密java实现
3DES加密java实现3DES是三重数据加密,且可以逆推的一种算法方案。但由于3DES的算法是公开的,所以算法本身没有秘密,主要依靠唯一密钥来确保数据加解密的安全。到目前为止,仍没有人能破解3DES。【3DES加密类】package com.mes.util;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spe原创 2020-12-21 21:56:08 · 7026 阅读 · 0 评论 -
安全架构-加密算法-对称加密
安全架构-加密算法-对称加密本系列安全架构文章中,之前谈到了api接口签名防止数据篡改,但是关键数据在通讯过程中是不能明文传递的,这就涉及到另外的安全问题,数据加密传输。加密算法根据加密秘钥的不同分为对称加密和非对称加密。加密和解密使用同一个秘钥时,称之为 对称加密。加密和解密使用不同的秘钥时,称之为非对称加密,如使用密钥对里的公钥加密,私钥解密。本文介绍对称加密算法,后续文章再来介绍非对称加密。文章目录安全架构-加密算法-对称加密前言一、简介二、特点三、常见算法四、加密填充模式五、加密算法的选择六原创 2020-12-21 21:50:03 · 7547 阅读 · 0 评论 -
安全架构-md5算法介绍
安全架构-md5算法介绍安全架构知识,我们必不可少离不开的就是md5,包括接口签名,文件摘要,密码加密等等。本文介绍md5算法。文章目录安全架构-md5算法介绍一、md5是什么?二、特点三、作用四、应用场景4.1 一致性验证4.2 数字签名4.3 安全访问认证五、md5破解一、md5是什么?MD5信息摘要算法(英语:MD5 Message-DigestAlgorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整原创 2020-12-21 14:09:02 · 7693 阅读 · 0 评论 -
安全架构-api接口签名防止数据篡改
安全架构-api接口签名防止数据篡改本篇为安全架构中api接口通信安全相关的内容,之前介绍了业务安全,如幂等性设计,不熟悉的朋友可以看下幂等性设计的文章。文章目录安全架构-api接口签名防止数据篡改前言一、什么是接口签名?二、接口签名作用三、常用做法1.签名算法2.签名算法变种3.微信支付签名算法4.支付宝支付签名算法总结前言api接口通讯是当前软件架构中使用非常广泛的方式,分布式架构,微服务架构,Restful接口;内部系统之间接口,第三方系统调用的接口;提供给第三方的接口等方面,都会用到原创 2020-12-21 13:54:04 · 9479 阅读 · 0 评论 -
安全架构-幂等性设计-SQL
安全架构-幂等性设计幂等性设计的文章有几篇了,虽然侧重点不一样分为了api幂等,http幂等,sql幂等,实际上是一回事。本篇从侧重SQL语句操作入手介绍sql操作保证的幂等性。文章目录安全架构-幂等性设计前言一、SQL幂等场景二、解决方案1.token机制2.乐观锁机制3.唯一主键机制4.去重表机制总结前言一、SQL幂等场景一、查询,select * from user where xxx,不会对数据产生任何变化,具备幂等性。二、新增,insert into user(userid,n原创 2020-12-20 22:35:06 · 8491 阅读 · 1 评论 -
安全架构-HTTP协议幂等性
安全架构-HTTP协议幂等性幂等性设计是架构师必须具备的技能之一,需要深入理解幂等性设计的相关原理和解决方法。上一篇文章中介绍了api接口的幂等性,主要从业务逻辑处理的方面进行业务保障,做到实现幂等性。本文介绍HTTP协议本身在幂等性方面的设计。文章目录安全架构-HTTP协议幂等性前言一、http幂等性二、http请求方式简述三、HTTP 协议的幂等性总结前言HTTP协议是当前rpc,分布式架构,微服务架构中应用最广泛的协议之一,对HTTP需要有深入的了解,后续也将编写HTTP协议知识相关的原创 2020-12-19 13:15:39 · 8279 阅读 · 2 评论 -
安全架构-api接口幂等性设计
安全架构-api接口幂等性设计今天开始研究API接口相关的安全性,api接口在当前互联网开发,分布式RPC,微服务架构,RESTful架构中,应用非常广泛,注意api接口的安全,也是架构师必须熟练且牢记的意识和技能。api接口安全按我的理解,可分为调用安全和业务安全。调用安全是要保证api被正确合法的调用,包括是否被授权,是否被限流,数据传递是否安全等。业务安全是保证api接口业务处理时的安全,其中本文要讲述的接口幂等性设计我将其归纳为业务安全。文章目录安全架构-api接口幂等性设计前言一、什么是原创 2020-12-19 12:37:30 · 8632 阅读 · 1 评论 -
安全架构-XSS攻击原理及防范
安全架构系列课程XSS攻击原理及防范文章目录安全架构系列课程前言一、反射性XSS二、存储型XSS三、DOM XSS四、如何防御XSS攻击总结前言XSS 即(Cross Site Scripting)中文名称为:跨站脚本攻击。XSS的重点不在于跨站点,而在于脚本的执行。那么XSS的原理是:恶意攻击者在web页面中会插入一些恶意的script代码。当用户浏览该页面的时候,那么嵌入到web页面中script代码会执行,因此会达到恶意攻击用户的目的。那么XSS攻击最主要有如下分类:反射型、存储型、及原创 2020-12-17 18:52:48 · 8304 阅读 · 1 评论 -
安全架构-SQL注入原理及防范
安全架构系列文章SQL注入攻击原理及防范文章目录安全架构系列文章前言一、sql注入是什么?二、防范方法1.Java处理2 .NET处理总结前言一、sql注入是什么?SQL注入是通过客户端的输入把SQL命令注入到一个应用的数据库中,从而执行恶意的SQL语句。*什么意思呢?我们来打个比方:我们有一个登录框,需要输入用户名和密码对吧,然后我们的密码输入 'or ‘123’ = '123 这样的。我们在查询用户名和密码是否正确的时候,本来执行的sql语句是:select * from use原创 2020-12-17 19:09:17 · 8143 阅读 · 0 评论 -
安全架构-CSRF跨站点请求伪造攻击与防御
安全架构-CSRF文章目录安全架构-CSRF前言一、CSRF是什么?二、攻击原理及过程1.主要步骤2.攻击实例3.CSRF漏洞检测三、防御(1)验证 HTTP Referer 字段(2)在请求地址中添加 token 并验证(3)在 HTTP 头中自定义属性并验证(4)在 关键操作步骤中使用验证码总结前言安全架构系列知识会不断更新扩展。安全意识和安全技术手段,是开发人员和架构师必不可少的,在实际工作中要时刻注意功能安全,设计安全,有完整的安全架构知识。一、CSRF是什么?CSRF跨站点请求原创 2020-12-18 16:14:30 · 8323 阅读 · 2 评论 -
安全架构-HTTP Referer
HTTP Referer上一篇文章里介绍http防盗链主要用到http referer,本文详细介绍http referer.文章目录HTTP Referer前言一、referer释义二、referer可为空总结前言HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户原创 2020-12-18 12:24:02 · 8277 阅读 · 1 评论 -
安全架构-Http请求防盗链
Http请求防盗链文章目录Http请求防盗链前言一、什么是防盗链?二、有何危害?三、如何防范?1.思路2.实现总结前言互联网上资源越来越多,有很多资源是需要付费访问,我们自己公网上的资源,需要有安全意识,不被盗用。一、什么是防盗链?比如A网站有一张图片,被B网站直接通过img标签属性引入,直接盗用A网站图片展示;内容不在自己的服务器上,通过技术手段将其他网站的内容(比如一些音乐、图片、软件的下载地址)放置在自己的网站中,通过这种方法盗取其他网站的空间和流量。二、有何危害?资源被盗用,流量原创 2020-12-18 12:06:51 · 8884 阅读 · 1 评论 -
dns解析基本理解
基本原理DNS:( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。DNS就是这样的一位“翻译官”,它的基本工作原理可用下图来表示。DNS解析主要流程:1、在浏览器中输入www.abc.com 域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。2、如果hosts里没有这个域名的原创 2020-12-15 16:19:31 · 8578 阅读 · 0 评论