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. 2019 China Collegiate Programming Contest Qinhuangdao Onsite F. Forest Program(DFS计算图中所有环的长度)

    题目链接:https://codeforces.com/gym/102361/problem/F 题意 有 \(n\) 个点和 \(m\) 条边,每条边属于 \(0\) 或 \(1\) 个环,问去掉一 ...

  2. 关于KMP算法的理解

    上次因为haipz组织的比赛中有道题必须用到KMP算法,因此赛后便了解了下它,在仔细拜读了孤~影神牛的文章之后有种茅塞顿开的感觉,再次ORZ. 附上链接http://www.cnblogs.com/y ...

  3. Intelligent IME HDU - 4287 字典树

    题意: 给你m个字符串,每一个字符对应一个数字,如下: 2 : a, b, c    3 : d, e, f    4 : g, h, i    5 : j, k, l    6 : m, n, o ...

  4. 【译】Async/Await(五)—— Executors and Wakers

    原文标题:Async/Await 原文链接:https://os.phil-opp.com/async-await/#multitasking 公众号: Rust 碎碎念 翻译 by: Praying ...

  5. 对于kmp求next数组的理解

    首先附上代码 1 void GetNext(char* p,int next[]) 2 { 3 int pLen = strlen(p); 4 next[0] = -1; 5 int k = -1; ...

  6. Spring应用上下文生命周期

    Spring应用上下文生命周期整体分成四个阶段 ConfigurableApplicationContext#refresh,加载或者刷新持久化配置 ConfigurableApplicationCo ...

  7. 翻译:《实用的Python编程》01_05_Lists

    目录 | 上一节 (1.4 字符串) | 下一节 (1.6 文件) 1.5 列表 本节介绍 Python 原始数据类型列表(list). 列表是一种有序的集合. 创建列表 使用方括号 [] 来定义列表 ...

  8. tfrecords转图片存储

    import os import shutil import tensorflow as tf import time import sys import cv2 # 图片存放位置 PATH_RES ...

  9. git merge bug

    git merge bug 本地分支 dev commit 后, 直接 pull 远程 dev 分支, 导致远程 dev 分支 merge 到本地 dev 分支了, 取消本次 merge 操作? Re ...

  10. JavaScript 设计模式: 发布者-订阅者模式

    JavaScript 设计模式: 发布者-订阅者模式 发布者-订阅者模式 https://github.com/Kelichao/javascript.basics/issues/22 https:/ ...