안녕하세요.
오피스 SDN 구성을 위한 효율적인 Network 인증 3번째 포스트로 SSO (Single Sign On)과의 연동에 대해 알아 보겠습니다.
먼저 SSO의 간단한 동작 개념을 먼저 알아 보겠습니다.

SSO 가 구현 되지 않은 환경의 경우 개별 웹 혹은 어플리케이션의 접속을 위해 반복적인 Login(인증) 과정이 필요 합니다.
하지만 SSO가 구현 된 환경의 경우 최초 인증시 나머지 웹 혹은 어플리케이션의 접속 권한을 보장 받은 토큰을 발급 받게 되며, 두번째 웹 혹은 어플리케이션 접속 시 사용자는 추가 Login 과정 없이 즉시 연결 됩니다. 이를 통해 사용자는 반복적인 Login 없어지며 모든 웹 및 어플리케이션의 계정을 별도로 관리 해야 하는 불편함이 사라지고, 신규 웹 혹은 어플리케이션 추가 시 별도의 계정의 생성 필요성 또한 제거 되어, 사용자 경험의 향상을 기대 할 수 있습니다.
또한 하나의 Main 계정을 보호하면 SSO로 연결 된 모든 웹과 어플리케이션의 보안이 향상 되므로 2FA 적용 등, 계정의 보안성 향상과 Password의 주기적인 교체 또한 불필요한 과정이 되었습니다.
이런 편리함과 보안 향상 효과로 SSO는 대부분의 업무 환경에서 이용중인 통합 인증 방식 입니다. 하지만 이것은 웹과 어플리케이션 레벨의 인증으로 SDN 에서 요구하는 네트워크 인증과는 별개의 인증 과정 입니다. 따라서 SDN 도입을 위한 네트워크 인증의 추가는 이후 진행 되는 SSO와는 무관한 별도의 인증 방식이 추가 됨을 의미 합니다. 이를 하나의 과정으로 연결 하기 위해 SSO 솔루션인 삼성 클라우드 플랫폼의 Single-ID와 Cisco ISE 의 연계 테스트를 진행 하였습니다.
이 테스트의 목표는 다음과 같습니다.
- 네트워크 인증의 결과로 토큰을 발행 하고 SSO login에 활용 할 것.
- 네트워크 인증을 위해 계정에 대한 토큰 발행 + 그룹 정보를 제공 할것.
- 위 두 조건의 만족을 통해 네트워크 인증을 완료 하면 이후 웹의 접속에 추가적인 로그인을 필요로 하지 않을것.
- 인증서버와 SSO 솔루션과의 정보 교환은 표준 프로토콜인 SAML을 기반으로 동작 할 것.
이 동작을 위해 다음의 Flow 를 정의 하였습니다.

- 단말은 네트워크 연결 시 웹 인증 과정을 수행 합니다.
- 인증서버는 해당 단말을 SAML과 SSO 연결을 위해 Web 인증 페이지로 유도 합니다.
- 이때 웹인증 페이지는 Single-ID 혹은 별도의 SSO 시스템에서 진행 됩니다.
- 연결 된 SSO 시스템에서 인증이 완료 됩니다.
- 인증이 완료 된 단말은 SAML을 통해 토큰을 전달 받습니다. 일반적인 SSO 동작에서는 토큰의 제공으로 SAML의 과정이 종료 되고, 단말은 해당 토큰을 제공 받은 후 브라우저에 저장 합니다. 이후 연결 되는 웹페이지에서 토큰을 제출 하여 SSO를 수행 합니다. 하지만 SSO와 추가로 네트워크 인증을 수행 해야 하고, 네트워크 인증을 위해 본인이 소속 되어야 할 VLAN을 인증서버가 식별 할 수 있도록 추가 정보를 제공 받습니다.
- 단말은 이 추가 정보를 인증 서버에게 제출 합니다.
- 인증 서버는 추가 정보를 확인 하여 최초의 인증을 위한 VLAN에서 단말이 소속 될 VLAN으로 변경을 네트워크 장비에게 지시 합니다.
- 단말은 최종적으로 본인이 소속 되어야 할 VLAN에 연결 되며 앞선 과정을 거치며 발급 받은 토큰을 이용 하여 웹 접속시 SSO 동작을 연결 합니다.
이때 SAML 을 통해 추가 정보를 제공 될 값은 ISE와 SAML 시스템간의 연결 시 사전 정의 됩니다.
즉 위 Flow의 진행을 위해 ISE 와 Single-ID는 SAML 연동이 사전에 진행 되어야 합니다.
ISE와 Single-ID는 표준 SAML 구조에서 다음의 역할로 동작 합니다.
ISE – Service Provider – 인증 요청 단말에게 서비스를 제공 하는 역할
Single-ID – Identity Provider – 실제 인증을 수행 토큰 발행, SSO 구현 역할
ISE는 Single-ID를 Identity Provider로 등록 하고, Single-ID는 ISE를 Service provider로 상호 등록 합니다. 이 등록 과정은 표준 SAML 등록 과정으로 진행 됩니다.
아래 예시는 ISE와 Single-ID 연동후 ISE 에서 SAML이 제공할 추가 정보(Assertion data)를 사전 정의한 화면 입니다.

해당 값을 사전 정의한 이후 아래와 같이 enOrganization의 실제 부서명을 인증 권한 정책에 반영 하여 VLAN을 할당 하게 합니다.
단말이 추가 제출한 Assertion data의 enOrganization 이 Samsung SDS 이면 VLAN 20 연결.
단말이 추가 제출한 Assertion data의 enOrganization 이 Samsung Electronics 이면 VLAN 30 연결.

이런 추가 정보는 SAML에서 정의 하기 나름이며 특별한 제한은 없습니다.
4번의 SSO 시스템 내부의 인증 과정에서 기존에 사용 중이던 웹과 어플리케이션에 대한 접근 권한을 네트워크 연결 영역 까지 확대 할 수 있습니다.
또한 인증을 위한 별도의 DB를 인증서버에 연결 하거나 추가 생성 할 필요 없이 기존의 SSO 시스템과 연결 된 DB를 그대로 활용 가능 합니다.
다만 네트워크 인증과 SSO의 SAML을 활용한 연결 방안 사용 시 다음의 고려 사항이 있습니다.
- SAML의 동작 기반이 웹 브라우저 이므로, 네트워크의 인증을 웹 인증을 통해 진행 해야함.
- 웹 인증 완료 이후 VLAN 변경 과정에서 IP 갱신을 위한 약간의 Delay (15초 이내)가 발생.
위의 고려 사항은 기존 사용중인 Dot1x (ID/PW), MAB 인증과 비교한 고려 사항이며, SSO와 네트워크 인증을 결합하여 사용자 경험을 향상 하고, 보안 정책의 일관성을 유지하는 측면에서는 분명한 장점이 있습니다.
이러한 구성은 SDN 환경에서만 이용 가능 한 것이 아니라 네트워크 인증을 필요로 하는 모든 영역에 적용이 가능 합니다. 대표적으로 무선랜 연결을 위한 인프라는 인증을 필수적으로 수행 하고 있으므로, 위의 구성을 즉시 적용 가능한 영역 입니다.
무선랜 네트워크의 인증 고도화와 서비스 연계성에 대해 고민이 있거나, 외부 사용자 (Guest 등)의 네트워크 사용에 대한 인증 절차에 고민이 있다면 소개해 드린 웹인증 기만 네트워크 인증과 SSO를 적용 해 볼 수 있는 적합한 환경 입니다.
삼성 클라우 플랫폼의 아래 Blog에서도 내용을 확인 하실 수 있습니다.
이상으로 SSO(SAML) 과 인증서버의 연계 구성에 대해 알아 보았고 다음 포스팅에서는 인증서를 기반으로 한 네트워크 인증에 대해 알아 보겠습니다.
감사합니다.