곰돌이 놀이터
[기본] SSO(Single Sign On) 연동 본문
위키백과에서는 SSO( Single Sign On, 통합 인증 ) 를 아래와 같이 정의한다.
통합 인증( Single Sign-On; SSO)은 한 번의 인증 과정으로 여러 컴퓨터 상의 자원을 이용 가능하게 하는 인증 기능이다. 싱글 사인온, 단일 계정 로그인, 단일 인증이라고 한다. |
말 그대로 그룹웨어 등의 응용 프로그램을 사용하기 위해 어느 컴퓨터에 로그인한 후 또 다른 서버상의 응용 프로그램을 사용할 때, 사용자는 여러 개의 아이디와 비밀번호를 관리해야 한다. 하지만 통합인증을 도입한 환경에서는 사용자는 하나의 아이디와 비밀번호로 모든 기능을 사용할 수 있게된다.
SSO 의 등장배경
■ 기술적 측면 :
1. 기업 내 다양한 정보시스템의 구축에 따른 복잡성 증가
2. PKI, 생체인식 등 다양한 인증 기술의 활성화
■ 관리적 측면 :
1. 중앙 관리를 통한 업무 단순화 및 표준화 실현
2. 중앙 집중적인 사용자 관리를 통한 보안 기능 강화
SSO 의 주요 기능 및 특징
■ 주요 기능
항목 | 주요 기능 |
---|---|
사용자 관리 | • 멀티 도메인간의 다양한 애플리케이션간의 통합인증(SSO)을 제공 |
암호 관리 | • 암호 분실 시 사용자에 의한 일괄 변경 기능 제공 |
데이터 암호화 관리 | • 사용자 인증 정보 노출을 방지하기 위하여 데이터를 암호화한 송수신 기능 제공 |
정책기반 관리 | • 인증방법, ID규칙, 패스워드 제약사항, 접근 위치/시간 제약 등의 정책을 정의하여 조직, 사용자, 자원에 일괄 적용할 수 있는 관리 기능 제공 |
■ 주요 특징
항목 | 주요 기능 |
---|---|
사용자 편의성 증대 | • 한번의 사용자 인증을 통한 모든 서비스 자원 사용으로 로그인 편의성 및 접근성 향상 |
애플리케이션 운영 관리의 효율성 증대 | • 사용자 인증 및 권한 보안 정책에 대한 일관성 확보로 시스템 개발 및 솔루션 도입 시 신속한 적용 및 비용 절감 효과 발생 |
개발 효율성 증대 | • 애플리케이션 개발 시 통합 인증/자원 통제 모듈을 사용할 수 있으므로 개발자는 Business Logic개발에만 전념함으로써 애플리케이션 품질 향상 및 중복된 모듈 개발 투자방지로 인한 개발 비용/시간 감소 |
SSO 의 구현 모델 및 기법
■ 구현 모델
인증 대행 모델
인증정보 전달 모델
항목 | 주요 기능 |
---|---|
SSO Delegation(인증 대행) Model | • SSO 대상 애플리케이션에서 사용되는 사용자 인증방법을 별도의 SSO Agent가 대행해주는 방식 |
SSO Propagation(인증정보 전달) Model | • SSO시스템과 신뢰관계를 토대로 사용자를 인증한 사실을 전달받아 SSO를 구현하는 방식 |
Delegation & Propagation 방식 | • 웹 환경이라고 하더라도 Propagation 방식이 모두 적용될 수는 없으며, 특히 웹 애플리케이션의 변경이 전혀 불가능하고 사용자 통합이 어려운 경우 Delegation 방식을 사용하게 됨 |
Web 기반 One Cookie Domain SSO | • SSO 대상 서비스와 응용 애플리케이션들이 하나의 Cookie Domain안에 존재할 때 사용되는 일반적인 기업 내부의 컴퓨팅 환경에서 사용 |
Web 기반 Multi Cookie Domain SSO | • SSO 대상 서비스와 응용 애플리케이션들이 여러 도메인으로 분산돼 있을 경우다. Multi Domain 환경인 경우에는 사용자 인증 및 토큰의 발행을 위한 마스터 에이전트가 존재함 |
■ 구현 기법
SSO 보안기술
항목 | 주요 기능 |
---|---|
클라이언트 기반(Client-based) | • Vince Sorensesn사의 쉐어웨어 소프트웨어인 Password Plus와 같은 비밀번호 관리 도구를 이용하면 사용자는 자체 시스템에 수많은 ID와 비밀번호를 '기억'시키고 PC에서 자동으로 입력하게 할 수 있음 |
서버 기반(Server-based) | • 중앙 서버에서 각기 다른 모든 비밀번호를 관리할 수 있는 형태로 사용자는 업데이트와 관련한 번거로운 작업(예를 들어, 직무가 변하면 새로운 권한을 인증받는 것)을 하지 않아도 되며, 다양한 PC에서 접근할 수 있는 장점이 존재함 |
서비스 기반(Service-based) | • 비밀번호를 하나의 서비스로 제공할 수도 있는 형태로 예를 들어, 마이크로소프트 패스포트(Microsoft Passport)는 기업들 가입의 비밀번호 잡무를 처리하기 위해 중앙집중 서버, 쿠키, 표준화된 구조를 이용하는 형태로 사용자 입장에서는 한번 마이크로소프트 서버에 접속하면 여러 웹사이트에 접속하거나 거래할 때 그 인증이 유지되는 형태임 |
■ 주요 보안 요구 사항
토큰의 네트워크 구간에서의 정보 노출 및 위/변조를 방지하기 위해 여러 보안기술들이 사용되고 있다.
구분 | 설명 |
---|---|
Data Confidentiality | • 토큰은 주요 암호 알고리즘(AES, SEED)과 128bit 이상의 키로 암호화돼 보호되어야 함 |
Data Integrity | • 토큰은 MAC (Message Authentication Code) 등을 포함해 데이터의 무결성을 보장해야 함 |
Replay Attack Protection | • 토큰은 사용자와 대상 애플리케이션 사이에 전달되는 인증 정보이며 일반적으로 토큰은 네트워크에 노출되며, 노출된 토큰을 사용해 다른 사용자가 인증을 받고 들어올 수 있음(Replay Attack). |
실제 사용되고 있는 SSO 연동
■ LINE WORKS SSO(Single Sign-On) 소개 영상
참고
'기본 개발 지식' 카테고리의 다른 글
[기본] GW(그룹웨어) 란? (0) | 2019.07.24 |
---|---|
[기본] EDI, EAI, B2Bi, SOA, ESB 란? (1) | 2019.07.08 |
[기본] WEB 과 WAS 차이 (12) | 2018.08.23 |
[기본] 웹서비스 그리고 RESTful, SOAP 란? (3) | 2018.08.23 |
[기본] XML 이란? (0) | 2018.08.15 |