SDP概述

SDP Software Defined Perimeter(软件定义边界),2013 年由云安全联盟 CSA提出。

SDP 设计基本原则

1、信息隐身:隐藏服务器地址、端口,使之不被扫描发现

2、预认证:在连接服务器之前,先认证用户和设备的合法性

3、预授权:用户只能看到被授权访问的应用(最小权限原则)

4、应用级的访问准入:用户只有应用层的访问权限,无网络级的准入

5、扩展性:基于标准协议,可以方便与其他安全系统集成

SDP三大组件

SDP控制器:SDP的大脑,主要进行主机认证和策略下发,还可以用于认证和授权SDP连接发起主机、配置到SDP连接接受主机的连接。

SDP连接发起主机:终端用户设备或者可以被称为SDP客户端

SDP连接接受主机:SDP网关或者边界

注:为了文章可读以及比较容易理解,后面的SDP连接发起主机(IH)我将采用SDP客户端来代替,使用SDP网关来代替SDP连接接受主机(AH)

1、SDP 控制器确定哪些SDP客户端和SDP网关可以相互通信。SDP控制器可以将信息中继到外部认证服务,例如认证地理位置和/或身份服务器。

2、SDP客户端与SDP控制器通信用来请求它们可以连接哪些SDP网关列表。在提供信息之前SDP控制器可以向 SDP客户端请求硬件或软件之类的信息。

3、默认情况下SDP网关拒绝来自SDP控制器以外的所有主机的所有通信。只有在SDP控制器下发指令后,SDP网关才接受来自SDP客户端的连接。

SDP 主要功能

基础设施隐藏:终端用户设备在通过身份验证授权之前,SDP控制器和SDP网关不会响应任何连接请求。

减少Dos攻击:面向互联网的服务都处于SDP网关的后面,可以抵挡DOS攻击,SPA可以保护SDP网关免受DOS攻击。

检测错误包:从任何其他主机到SDP客户端的第一个数据包是SPA 数据包(或类似的安全构造)。如果SDP网关收到任何其他数据包,则将其视为攻击。

防止越权访问网络:设备只能访问策略允许的特定主机和服务,不能越权访问网段和子网。

应用程序和服务访问控制:SDP 控制允许哪些设备和应用程序可访问特定服务例如应用程序和系统服务。

注:SPA:单包授权,使未授权的用户和设备无法感知或访问。

SDP架构图

SDP工作流程

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

2、一个或者多个SDP网关上线。它们以安全的方式连接SDP控制器并进行验证。SDP网关不响应来自任何其他主机的通信,也不会响应任何未许可的请求。

3、每个SDP客户端会与SDP 控制器连接并进行身份验证。(单包第一次)

4、SDP客户端被验证之后,SDP 控制器确定终端用户设备被授权可以连接的SDP网关列表。(可以连哪些SDP网关)

5、SDP 控制器告知SDP网关接受来自SDP客户端的通信,并启动加密通信所需的任何可选策略。

6、SDP 控制器给SDP客户端提供SDP网关列表,以及加密通信所需的任何可选策略。

7、SDP客户端向每个授权的SDP网关发起SPA,然后SDP客户端和这些SDP网关创建双向加密连接(双向TLS认证)。(单包第二次)

8、SDP客户端通过SDP网关并使用双向加密的数据信道与资源通信。

双向TLS认证

通常 TLS 为单向认证,通常都是 client 来校验server的合法性,server端无法校验client的合法性,这样就会存在非法客户端访问的情况,无法保证终端设备针对服务器端的可信,因此,在 SDP 协议中明确提出需要在通信开始前使用双向认证,即相互校验,server需要校验每个client,client也需要校验server。

SDP网关-SDP控制器协议及其交互过程

SDP客户端-SDP控制器协议及其交互过程

SDP客户端与SDP网关建立连接并且交互数据过程

零信任三大技术之SDP的更多相关文章

  1. Kubernetes 下零信任安全架构分析

    点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 杨宁(麟童) 阿 ...

  2. 如何通过IAM打造零信任安全架构

    万物互联时代来临,面对越来越严峻的企业网络安全及复杂的(如微服务,容器编排和云计算)开发.生产环境,企业 IT 急需一套全新的身份和访问控制管理方案. 为了满足企业需求,更好的服务企业用户,青云Qin ...

  3. Google MapReduce/GFS/BigTable三大技术的论文中译版

    今天查找分布式计算的有关资料,发现Google的三大核心技术MapReduce.GFS和BigTable的论文都已经被翻译成高质量的中文,更巧的是,这三篇中译版的原发地都是CSDN的Blog.其中最新 ...

  4. Linux 中的零拷贝技术,第 1 部分

    概述 本系列由两篇文章组成,介绍了当前用于 Linux 操作系统上的几种零拷贝技术,简单描述了各种零拷贝技术的实现,以及它们的特点和适用场景.本文是本系列文章的第一部分,主要是介绍一些零拷贝技术的相关 ...

  5. [转帖]简析数据中心三大Overlay技术

    简析数据中心三大Overlay技术 http://www.jifang360.com/news/20161010/n225987768.html 搭建大规模的云计算环境需要数据中心突破多种技术难题,其 ...

  6. [转帖]Linux 中的零拷贝技术,第 1 部分

    Linux 中的零拷贝技术,第 1 部分 https://www.ibm.com/developerworks/cn/linux/l-cn-zerocopy1/index.html   引言 传统的 ...

  7. 操作系统IO之零拷贝技术

    磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存 10 倍以上,所以针对优化磁盘的技术非常的多,比如零拷贝.直接 I/O.异步 I/O 等等,这些优化的目的就是为了提高系统的吞吐量,另外操作系统 ...

  8. SDP架构初识

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

  9. ThoughtWorks 2017技术雷达

    前言: ThoughtWorks人酷爱技术.我们对技术进行构建.研究. 测试.开源.记述,并始终致力于对其进行改进-以求造福 大众.我们的使命是支持卓越软件并掀起IT革命.我们创建 并分享Though ...

随机推荐

  1. 基于efcore的分表组件开源

    ShardingCore ShardingCore 是一个支持efcore 2.x 3.x 5.x的一个对于数据库分表的一个简易扩展, 目前该库暂未支持分库(未来会支持),仅支持分表,该项目的理念是让 ...

  2. 【数组】leetcode——移除元素

    编号:27. 移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度. 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 ...

  3. docker(3)快速搭建centos7-python3.6环境

    前言 当我们在一台电脑上搭建了python3.6的环境,下次换台电脑,又得重新搭建一次,设置环境变量等操作. 好不容易安装好,一会提示pip不是内部或外部命令,一会又提示pip: command no ...

  4. 软件测试漫谈(web测试,自动化测试,Jmeter)

    软件测试,就是一个过程或一系列过程,用来确定计算机代码完成了其应该完成的功能不执行其不该有的操作. 简单说就是找bug的过程. 测试分类 (1)按测试方式分类:静态测试.动态测试 (2) 按测试方法分 ...

  5. Spring(IOC、AOP和事务)

    目录 Spring介绍 Spring IOC 传统代码对象管理的弊端 实现过程 bean标签属性介绍 对象创建方式 工厂bean bean的作用域 SpringBean的生命周期*** 依赖注入 注解 ...

  6. Spring学习笔记2

    一.什么是AOP 面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.在不影响原来功能代码的基础上,使用动态代理加入自己需要的一些功能(比如权限的验证,事务的控制,日志的记录 ...

  7. Codeforces Round #652 (Div. 2) A. FashionabLee(几何)

    题目链接:https://codeforces.com/contest/1369/problem/A 题意 判断正 $n$ 边形能否通过旋转使得一边与 $x$ 轴平行,一边与 $y$ 轴平行. 题解 ...

  8. SPOJ Favorite Dice(概率dp)

    题意: 一个骰子,n个面,摇到每一个面的概率都一样.问你把每一个面都摇到至少一次需要摇多少次,求摇的期望次数 题解: dp[i]:已经摇到i个面,还需要摇多少次才能摇到n个面的摇骰子的期望次数 因为我 ...

  9. Codeforces Round #582 (Div. 3) F. Unstable String Sort

    传送门 题意: 你需要输出一个长度为n的字符序列(由小写字母组成),且这个字符串中至少包含k个不同的字符.另外题目还有要求:给你两个长度为p和q的序列,设字符序列存在s中 那么就会有s[Pi]< ...

  10. 使用 Nginx 在 Linux 上托管 ASP.NET Core

    server { listen 80; server_name example.com *.example.com; location / { proxy_pass http://localhost: ...