资讯详情

从系统架构分析安全问题及应对措施

在日常生产生活中,我们常说安全第一和安全不是小事。围绕安全问题,各行各业都有各种常见安全问题的解决方案和突发安全问题的应急预案。在互联网和软件开发领域,我们日常工作中常见的安全问题有哪些解决方案?在这里,我们将结合经典架构图进行梳理。

经典架构图

下面,结合上述经典架构图,阐述每层可能出现的安全问题。

一、数据存储

为了保证数据存储的安全,在存储敏感数据时需要加密存储。同时,建议敏感数据在整个公司进行封闭管理,便于统一管理。在加密和存储敏感数据时,常用的加密方法有可逆和不可逆,分别适用于不同的敏感数据。

  1. 可逆加密或对称加密
  • 可逆加密,即解密后,可以将密文解密还原为明文。对称加密算法用于加密和解密的密钥是相同的。这种加密方法加密速度非常快,适用于频繁发送数据的场合。缺点是密钥传输麻烦。例如,网上购物的收货地址、姓名、手机号码等都适合加密。常用的对称加密算法有DES、AES,下面以AES例如,对称加密的过程。

ES加解密图解

在加解密过程中,双方需要共同制定并妥善保存密钥K的生成。通常,我们会将密钥K存储在需要使用加解密程序的过程中,以便在使用程序时直接使用。不可逆加密

  • 不可逆加密,即不需要解密明文,如用户密码。常用的不可逆加密算法有RES、MD5等,在此以MD5例说明。但大家都知道,MD5算法有碰撞,即不同的明文通过MD加密后,有相同的密文。因此,直接使用MD5.密码加密在生产中不严格,通常需要配合盐(salt)进行使用。对于盐的使用,也有一定的技巧,一种盐值是固定的,即所有的明文在进行加密时都使用相同的盐进行加密;另一种是结合具体的业务场景,用可变盐值,比如:就密码加密而言,可以把用户名的部分或全部作为盐值,和密码进行一起加密后存储。

MD5加盐加密图

二、微服务

微服务的安全性需要从两个方面来考虑:请求鉴权和请求容量限制。请求权可以设置IP黑名单的方式,对IP所有要求或全部放行或全部拒绝,粒度较粗。如果要做更细的粒度,可以针对具体API进行token与粗粒度相比,这种方法将得到更准确的控制。

在实际生产中,除了对请求权进行鉴定外,还可以限制请求容量,限制请求容量时,可以按要求进行鉴定QPS限制也可以限制每天最大要求的次数。jsf平台管理端可以要求具体方法QPS限流。

三、数据传输

数据传输主要数据主要分为数据APP请求,进入服务网关前后,数据进入服务网关后,属于机房数据传输,通常这种加密意义不大,数据传输安全需要建立相应的内部安全机制和流程规范,通过系统措施保证。在进入服务网关之前,数据的安全传输是什么?在数据请求进入服务网关之前,我们通常是基于SSL协议的传输和加密现在很常见HTTPS加密。

Https的组成

HTTPS也是HTTP和SSL因此,在数据传输中,SSL协议起着至关重要的作用。SSL协议的工作过程是什么,他如何确保数据传输过程中的安全?以下是对您的分析SSL协议的工作流程。

SSL协议验证流程图

SSL客户端与SSL服务端验证的过程如下:

    1. SSL服务端收到SSL在客户端要求后,确定通信使用情况SSL版本和加密组件MAC算法,并通过ServerHello发送给SSL客户端;
    2. SSL通过公钥信息的数字证书,服务端将携带自己的公钥信息Certificate发送给SSL客户端;
    3. SSL客户端验证SSL服务端发送的证书合法后,使用证书中的公钥加密随机数生成ClientKeyExchange发送给SSL服务端;
    4. SSL客户端发送ChangeCipherSpec消息,通知SSL服务端将使用协商的秘密钥匙和加密组件MAC值;
    5. 同样地,SSL也通过了服务端ChangeCipherSpec消息通知客户后续报告将使用协商的秘密钥匙、加密组件和MAC算法;
    6. SSL客户端向SSL随机消息发送到服务端ClientHello的同时把自己支持的SSL版本、加密算法、密钥交换算法MAC一起发送算法等信息;
    7. SSL服务端通过ServerHelloDone消息通知SSL协商完成客户端版本和加密组件,开始交换密钥;
    8. SSL客户端计算互动握手信息hash使用协商的密钥和加密组件加密值hash值,并通过Finished消息发送给SSL服务端,SSL服务端以同样的方式计算交互hash值,并与Finished对比消息,两者是一样的MAC如果值相同,密钥与加密组件协商成功;
    9. SSL服务端计算交互式握手信息hash使用协商的密钥和加密组件加密值hash值,并通过Finished消息发送给SSL客户,SSL客户端以同样的方式计算互动hash值,并与Finished对比消息,两者是一样的MAC如果值相同,密钥与加密组件协商成功;

通过上述交互过程,我们可以看到它正在使用中SSL在此过程中,除客户端(浏览器)与服务器之间的通信外,任何其他第三方都很难获得协商的秘密钥匙。即使有更强大的人获得,基于当前用户在网站上的及时性,也会影响我们相应密钥的及时性。因此,破坏性相对有限。

四、验证码

验证码作为人机识别手段,其主要作用是区分正常人操作或机器操作,拦截恶意行为。目前,大多数互联网系统通常需要用户注册,以便更好地提供服务。注册后,用户每次使用系统时都需要登录。在登录过程中,为了防止系统非法使用,用户通常需要登录。在登录过程中,常用的验证方法主要通过验证码进行验证。目前常用的验证码有以下类型。

1.短信验证码

目前,一种广泛使用的验证码形式。输入有效手机号码后,系统将相应的短信验证码发送到手机号码完成验证。

短信验证码示意图

2.语音验证码

通过输入有效的手机号码,系统拨打手机号码,通过语音广播完成验证码验证。

语音验证码示意图

3.图片验证码

与传统的验证码验证方法相比,系统在页面上显示验证码,并在提交页面时将验证码提交到系统后台验证。

图片验证码示意图

4.语义验证码

一种新颖的验证码形式,但这种方式对用户不是特别友好,需要谨慎使用。

语义验证码示意图

除了上述常用的验证码外,还有文本验证码、拼图验证码、问题验证码等。这里就不一一列举了。有兴趣可以自己搜索学习。

这主要从系统结构上分析了我们在日常工作中遇到的一些常见的安全问题及其对策。在实际工作中,安全问题远不止这里提到的内容。希望在日常工作中,我们都能收紧安全神经,时刻关注工作中的各种潜在安全问题,努力在系统发布前消除安全问题。

名词解释:

SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过相互认证,使用数字签名来确保完整性,使用加密来确保隐私,从而实现客户端和服务器之间的安全通信。该协议由两层组成:SSL记录协议和SSL握手协议。

HTTPS:(全称:Hypertext Transfer Protocol overSecure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版(HTTP+SSL)。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

参考文献:[技术每日说] - SSL是如何加密传输的数据的!

标签: 防水型接线箱连接器jsf

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司