实现零信任的框架主要有SDP和Google Beyondcorp模型,前者出现在乙方的安全解决方案中,后者多作为甲方落地零信任的参考。本文主要记录对SDP技术的一些初步认识。

一、SDP简介

SDP是Software Defined Perimeter的缩写,全称是软件定义边界。

软件定义边界(SDP)是由云安全联盟(CSA)开发的一种安全框架,它根据身份控制对资源的访问。该框架基于美国国防部的“need to know”模型——每个终端在连接服务器前必须进行验证,确保每台设备都是被允许接入的。其核心思想是通过SDP架构隐藏核心网络资产与设施,使之不直接暴露在互联网下,使得网络资产与设施免受外来安全威胁。

SDP旨在利用基于标准且已验证的组件,如数据加密、远程认证(主机对远程访问进行身份验证)、传输层安全(TLS,一种加密验证客户端信息的方法)、安全断言标记语言(SAML),它依赖于加密和数字签名来保护特定的访问及通过X.509证书公钥验证访问。将这些技术和其他基于标准的技术结合起来,确保SDP与企业现有安全系统可以集成。

二、SDP的主要功能

1.对设备进行身份认证和验证

2.对用户进行身份验证和授权

3.确保双向加密通信

4.动态提供连接

5.控制用户与服务之间连接,同时隐藏这些连接

三、SDP的架构

SDP架构主要包括三大组件:SDP控制器(SDP Controler)、SDP连接发起主机(IH,Initial host)、SDP连接接受主机(AH,Accept host),SDP主机可以发起连接也可以接受连接,IH和AH会直接连接到SDP控制器,通过控制器与安全控制信道的交互来管理。该结构使得控制层能够与数据层保持分离,以便实现完全可扩展的安全系统。此外,所有组件都可以是冗余的,用于扩容或提高稳定运行时间。

SDP遵循如下工作流程:

1.在 SDP 中添加并激活一个或多个【SDP 控制 器】并连接到身份验证和授权服务,例如 AM、 PKI 服务、设备验证、地理位置、SAML、 OpenID、OAuth、LDAP、Kerberos、多因子身 份验证、身份联盟和其他类似的服务。

2.在 SDP 中添加并激活一个或多个 AH。它们以 安全的方式连接控制器并进行验证。 AH 不响 应来自任何其他主机的通信,也不会响应任 何未许可的请求。

3.每个 IH 会在 SDP 中添加和激活,并与【SDP 控制器】连接并进行身份验证。

4.IH 被验证之后,【SDP 控制器】确定 IH 被授 权可以连接的 AH 列表。

5.【SDP 控制器】指示 AH 接受来自 IH 的通信, 并启动加密通信所需的任何可选策略。

6.【SDP 控制器】为 IH 提供 AH 列表,以及加 密通信所需的任何可选策略。

7.IH 向每个授权的 AH 发起 SPA(SPA,单包授权,使未授权的用户和设备无法感知或访问)。然后 IH 和这 些 AH 创建双向加密连接(例如,双向验证 TLS 或 mTLS)。

8.IH 通过 AH 并使用双向加密的数据信道与目标 系统通信。

四、SDP 的部署模型

CSA(云安全联盟)的SDP标准规范1.0中定义了以下几种在组织中可能的SDP架构:

  • 客户端-网关
  • 服务器-服务器
  • 客户端-网关-客户端
  • 客户端-服务器
  • 客户端-服务器-客户端
  • 网关-网关

五、SPA连接

SDP 技术最关键的组成部分之一是要求并强制实施 “先认证后连接”模型,该模型弥补了 TCP/IP 开放 且不安全性质的不足。SDP 通过单包授权(SPA)实 现这一点。SPA 是一种轻量级安全协议,在允许访问 控制器或网关等相关系统组件所在的网络之前先检查 设备或用户身份。

SPA 的目的是允 许服务被防火墙隐藏起来并被默认丢弃。该防火墙系 统应该丢弃所有 TCP 和 UDP 数据包,不回复那些连 接尝试,从而不为潜在的攻击者提供任何关于该端口 是否正被监听的信息。在认证和授权后,用户被允许 访问该服务。SPA 对于 SDP 不可或缺,用于在客户端 和控制器、网关和控制器、客户端和网关等之间的连 接中通信。

SPA 在 SDP 中起很大作用。SDP 的目标之一是克服 TCP/IP 开放和不安全的基本特性。TCP/IP 的这个特性 允许“先连接后认证”。鉴于今天的网络安全威胁形 势,允许恶意行为人员扫描并连接到我们的企业系统 是不可被接受的。与 SDP 组合的 SPA 通过两种方式应 对这个弱点。使用 SDP 架构的应用被隐藏在 SDP 网关 /AH 后面,从而只有被授权的用户才能访问。另外, SDP 组件自身,如控制器和网关也被 SPA 保护。这允 许它们被安全地面向互联网部署,确保合法用户可以 高效可靠地访问,而未授权用户则看不到这些服务。 SPA 提供的关键好处是服务隐藏。防火墙的 Default- drop(默认丢弃)规则缓解了端口扫描和相关侦查技术带来的威胁。这种防火墙使得 SPA 组件对未授权用户不可见,显著减小了整个 SDP 的攻击面。 相比与 VPN 的开放端口以及在很多实现中都存在的 已知弱点,SPA 更安全。

SPA的实现可能有轻微的差别,但是都满足以下原则:

1.数据包必须被加密和认证

2.数据包必须自行包含所有必要的信息;单独的数据包头不被信任

3.生成和发送数据包必须不依赖与管理员或底层访问权限;不允许篡改原始数据包

4.服务器必须尽可能无声地接收和处理数据包;不发送回应或确认

SDP架构初识的更多相关文章

  1. SDN与OpenFlow架构--初识

    一,为什么需要SDN 1,传统网络的缺点: a,传统网络及其设备的只可配置,不可编程,只能按照已定义好的协议处理或转发数据,不能适应需求新变化,不能自主开发新功能. 如购买一个电饭煲,可以煮饭,煲汤. ...

  2. day 33

    目录 数据库是什么 为什么使用数据库 数据库的分类 关系型(把数据保存在硬盘里) 非关系型(把数据保存在内存里) mysql的架构 初识mysql 操作数据库 增 删 改 查 数据库是什么 数据库即存 ...

  3. django上课笔记6-MVC,MTV架构-中间件-初识Form组件

    一.MVC,MTV架构 models(数据库,模型) views(html模板) controllers(业务逻辑处理) --> MVC models(数据库,模型) templates(htm ...

  4. 【NopCommerce源码架构学习-一】--初识高性能的开源商城系统cms

    很多人都说通过阅读.学习大神们高质量的代码是提高自己技术能力最快的方式之一.我觉得通过阅读NopCommerce的源码,可以从中学习很多企业系统.软件开发的规范和一些新的技术.技巧,可以快速地提高我们 ...

  5. dubbo初识(一)Dubbo架构设计详解

    参见http://shiyanjun.cn/archives/325.html Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合( ...

  6. NopCommerce源码架构详解--初识高性能的开源商城系统cms

    很多人都说通过阅读.学习大神们高质量的代码是提高自己技术能力最快的方式之一.我觉得通过阅读NopCommerce的源码,可以从中学习很多企业系统.软件开发的规范和一些新的技术.技巧,可以快速地提高我们 ...

  7. 初识Restful架构

    1.对Rest(Restful)的理解 理解RESTful架构 怎样用通俗的语言解释REST,以及RESTful 维基百科:Representational state transfer 2.Rest ...

  8. MySQL架构与引擎初识

    一.MySQL逻辑架构 1.连接层: 最上层是一些客户端和连接服务,所包含的服务并不是MySQL所独有的技术.它们都是服务于C/S程序或者是这些程序所需要的 :连接处理,身份验证,安全性等等. 2.服 ...

  9. 初识Tomcat系统架构

    俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是 Tomcat 非常的模块化,找到了 Tomcat最核 ...

随机推荐

  1. Node 内存泄漏排查案例

    背景 在阿里云上看到我运行了一段时间的程序,发现 memory 一项基本是在稳步提升,就知道有内存泄漏的情况出现.如下图 近三日从 35% 升到 40%,缓慢而坚定的提升. 代码 排查此问题需要分析其 ...

  2. Redis 到底是单线程还是多线程?我要吊打面试官!

    最近在Java技术栈公众号发布的一篇文章,其中有一道题: Redis是多线程还是单线程?(回答单线程的请回吧,为什么请回,请往下看) 好些粉丝在后台问我:为什么请回,Redis不是单线程吗? 大家注意 ...

  3. 07_CSS入门和高级技巧(5)

    超级链接美化 1.伪类 同一个超级链接,根据用户的点击情况,有自己样式: 超级链接根据用户点选情况,有4种状态: a:link 没有访问的超级链接 a:visited 已经访问的超级链接 a:hove ...

  4. HMM-前向后向算法理解与实现(python)

    目录 基本要素 HMM三大问题 概率计算问题 前向算法 后向算法 前向-后向算法 基本要素 状态 \(N\)个 状态序列 \(S = s_1,s_2,...\) 观测序列 \(O=O_1,O_2,.. ...

  5. JavaWeb学习之JSP(三) EL表达式

    EL表达式 什么是EL表达式   EL,Expression Language,表达式语言,是一种在JSP页面中获取数据的简单方式,通过${变量名}的方式可以获取到值,需要注意的是EL只能从 page ...

  6. 关于jquery 项目中文件上传还有图片上传功能的尴尬???

    做项目需要兼容IE8,所以找了好久,都没找到合适的希望有大神能够解惑!!! 要求是兼容IE8,在选完图片直接自动上传,有进度展示,并有成功的标记,下面的选择文件也是一个input file 选择完自动 ...

  7. 黑马程序员_毕向东_Java基础视频教程——进制(随笔)

    进制的特点 进制的由来 任何数据在计算机中都是以二进制的形式存在.二进制最早由电信号演变而来. 一个整数在内存中一样也是二进制,但是使用一大串的0 1组成的二进制数进行使用很麻烦所以就想把一大串缩短点 ...

  8. PAT 1002 A+B for Polynomials (25分)

    题目 This time, you are supposed to find A+B where A and B are two polynomials. Input Specification: E ...

  9. 简述 zookeeper 基于 Zab 协议实现选主及事务提交

    Zab 协议:zookeeper 基于 Paxos 协议的改进协议 zookeeper atomic broadcast 原子广播协议. zookeeper 基于 Zab 协议实现选主及事务提交. 一 ...

  10. 处理TableVIew SectionHeader悬停问题

    1,plain类型的tableview  才会悬停  grouped类型不会悬停 2,通过改变contentInset达到部分悬停遮罩的处理,对所有的Sectionheader都有效,不可以单独处理某 ...