통합인증체계

반응형


  SSO란 Single Sign on의 줄임말로서, 통합 인증 체계를 의미다. 즉, 한 번만 인증을 하면 재인증 없이 통합적으로 다양한 정보 시스템에 접근할 수 있도록 지원하는 것을 말다. SSO를 적용하지 않으면 시스템별로 사용자가 개별 로그인을 해야 하는 불편함이 있을 뿐더러, 사용자는 모든 아이디와 패스워드를 기억하는데 분명 어려움이 있을 것이다. 또한 시스템 관리 측면에서도 관리의 복잡도가 증가하게 된다. SSO를 적용하게 되면 사용자는 한 번만 로그인을 하면 되며, 패스워드를 망각 및 분실할 위험도도 줄어들고, 로그인 관리도 간소화되게 된다. SSO가 어떻게 구성되는지 정리해보겠다. 먼저 로그인을 하려는 사용자가 있다. 이 사용자가 본인의 아이디와 패스워드를 입력하여 인증을 받으려고 시도한다. 그러면 인증 서버가 ACL을 통해 인증을 해주게 된다. 이때 LDAP 프로토콜을 지원하는 디렉토리 서버에 사용자 인증 정보를 검증 요청하게 된다. 해당 서버는 LDAP(Lightweight Directory Access Protocol) 프로토콜을 통해서 네트워크 상의 자원을 식별하고, 사용자 및 앱들이 네트워크 자원에 접근할 수 있도록 하는 네트워크 디렉터리 서비스를 제공다. 인증이 완료되면 포털 로그인 처리가 되고 사용자 화면이 전달된다. 그러면 사용자는 다양한 서비스들에 추가 인증 없이 접근할 수 있게 되는 것이다. 참고로 SSO Agent가 각 정보 시스템에 자동 인증 정보를 송수신하게 된다. 이처럼 SSO를 이용하면 중앙 집중 관리를 통해서 효율적 관리가 가능해진다. 그러나 SSO 서버가 단일실패지점(SPoF, Single Point of Failure)이기 때문에, 해당 서버가 침해되면 모든 서버의 보안 침해가 가능해지는 위험이 있다.

  Kerberos(커버로스)란 인증 프로토콜이며 동시에 KDC이다. 이것은 MIT에서 설계되었고, 그리스 신화에 나오는 문을 지키는 머리 셋 달린 개의 이름을 따온 것이다. Kerberos는 개방된 컴퓨터 네트워크 내에서 서비스 요구를 인증하기 위해 대칭키 암호 기법을 기반으로 하는 티켓 기반 인증 프로토콜이다. 분산 환경을 위한 SSO의 예로서, 현재 윈도우 서버 운영체제에서 기본 인증 방법으로 활용되고 있다. Kerberos는 사용자에게 발부한 티켓이 지정된 유효 기간 이내라면 해당 티켓을 사용하여 동일한 서버에서 여러 가지 응용 서비스를 제공받을 수 있게 다. 이 티켓 관리를 제대로 해야 공격자의 응용 서버 접근을 막을 수 있다. 공격자가 유효기간이 지나지 않은 티켓을 계속 갱신해서 응용 서버에 접근할 수 있기 때문이다. 그래서 암호화 및 암호화 채널을 사용한 서버 간의 통신을 통해 보완다. Kerberos가 어떻게 구성되어 있는지 살펴보겠다. 사용자는 워크스테이션에 로그인하여 호스트의 서비스를 사용할 수 있도록 요청다. 인증 서버(AS, Authentication Server)는 중앙 집중식 데이터베이스에 사용자들의 패스워드들을 모두 저장하고 있는데, 이를 통해서 사용자가 접근 권한이 있는지 확인다. 그리고 티켓-승인 티켓(ticket-granting ticket)과 세션키를 생성하여 사용자에게 암호화하여 전달다. 사용자는 이 티켓을 보관다. 이것은 사용자 로그온 세션마다 한 번 일어나는 일이다. 사용자는 새 서비스를 이용하려고 할 때마다 자신을 인증하는 티켓과 인증서버로부터 받은 세션키를 이용하여 TGS(티켓발행서버, Ticket Granting Server)에 해당 서비스에 대한 티켓을 발행해달라고 요청다. 그러면 TGS는 사용자로부터 전달받은 티켓-승인 티켓으로 사용자를 인증하고, 각각의 서비스-승인 티켓(service-granting ticket)을 사용자에게 전달다. 이것은 서비스 유형마다 한번씩 일어나게 된다. 이후에 사용자가 특정 서비스를 요청할 때, 서버는 사용자를 인증한 후에 서비스 인증자를 제공다. 이는 서비스 세션마다 한번씩 일어난다. Kerberos 프로토콜은, 다른 사용자가 티켓을 복사하여 위장 사용하는 것을 막기 위해 타임스탬프를 이용해서 시간제한을 둔다.

반응형

+ Recent posts