소프트웨어 정의 경계

소프트웨어 정의 경계(Software Defined Perimeter, 약어로 SDP)란 '블랙 클라우드(Black Cloud)'라고도 불리며, 2007년경 GIG(Global Information Grid)의 블랙코어 네트워크 우선권에 따라 DISA(Defense Information Systems Agency)에서 수행한 작업에서 발전한 컴퓨터 보안 접근 방식이다.

SDP는 신원을 기반으로 리소스에 대해 액세스를 제어하는 프레임워크로 네트워크 장치, 단말의 상태, 사용자 ID를 체크하여 권한이 있는 사용자 및 디바이스에 대해서만 액세스 권한을 부여하며 인증 받지 못한 단말기에 대해서는 그 어떠한 서비스 연결 정보도 얻지 못하게 된다. 인프라는 인증 및 인가가 되기 전에는 DNS정보나 IP주소를 알 수 없는 '블랙 클라우드(Black Cloud)' 네트워크로 동작이 되면서 해커들이 쉽게 보안을 뚫을 수 없도록 구성이 되어 있다.

배경 
사물인터넷(Internet of Things, 약어로 IoT) 등의 다양한 단말기를 사용하는 시대에 접어들면서 폐쇄적인(On-premise) 전산체계에서 개방적인 클라우드(Cloud) 체계로 점점 확장이 되고 외부에서 업무를 보는 경우가 잦아들고 있다. 이로 인해 외부에서의 피싱 공격, 클라우드 해킹 등 기존 네트워크 중심(Network Centric)방식의 보안으로 한계점이 나타나기 시작했으며, 이를 개선하기 위해 사용자 신원 중심(ID Centric)으로 설계된 개방적 네트워크 솔루션이 등장하게 되는데 그것이 바로 SDP다. SDP 프레임워크는 CSA(Cloud Security Alliance)에서 개발되었다.

아키텍처 
가장 간단한 SDP 아키텍처는 SDP Host와 SDP Controller의 두 가지 구성 요소로 구성된다.

그림에서 보이는 바와 같이 SDP 호스트는 연결을 시작하거나 연결을 수락할 수 있으며 이러한 작업은 제어 채널(Control Channel)을 통해 SDP 컨트롤러와 상호 작용으로 관리되며, 인증을 받지 못한 단말에 대해서 그 어떠한 연결정보를 얻지 못하도록 되어 있다.

워크 플로우

SDP 프레임워크에는 다음과 같은 워크 플로우(Work Flow)가 있다.

1. SDP 컨트롤러가 온라인 상태가 되어 선택적 인증 및 권한 부여 서비스(예 : PKI, 지문, 지리 위치, SAML, OpenID, OAuth, LDAP, Kerberos, 다단계 인증 및 기타 서비스)에 연결

2. SDP 호스트가 온라인 상태가 되면서 호스트는 컨트롤러에 연결하고 인증을 진행, 다른 호스트와 통신을 승인하지 않으며 프로비저닝(provisioning)되지 않은 요청에는 응답하지 않음

3. 온라인 상태가 된 시작 SDP 호스트(Initiating SDP Host)는 SDP 컨트롤러와 연결하고 인증을 진행

4. 시작 SDP 호스트를 인증한 후 SDP 컨트롤러는 시작 SDP 호스트가 통신할 권한이 있는 '수락 호스트' 목록을 지정해줌

5. SDP 컨트롤러는 수락 SDP 호스트(Accepting SDP Host)가 시작 SDP 호스트의 통신 및 암호화된 통신에 필요한 선택적 정책을 제공

6. SDP 컨트롤러는 시작 SDP 호스트에 수락 SDP 호스트 목록과 암호화된 통신에 필요한 선택적 정책을 제공

7. 시작 SDP 호스트는 모든 승인된 수락 SDP 호스트에 대한 상호 VPN연결을 시작

외부 링크 

  가트너 "제로 트러스트 네트워크 액세스를 위한 시장 가이드"
  Cloud Security Alliance "소프트웨어 정의 경계 Working Group 소개"
  CSO의 기사 "NAC 작별인사, 소프트웨어 정의 경계"
  IEEE "소프트웨어 정의 경계, SDP의 아키텍처 뷰"
 CIO Korea "2018년 지켜봐야 할 3가지 첨단 방어 기술"
 MLsoft "소프트웨어 정의 경계 솔루션 Tgate SDP"

컴퓨터 보안