![](https://blog.kakaocdn.net/dn/bKPtrX/btsGRBKFMvn/KTRs23AxvJBXgjPEnLybTk/img.png)
1. SSO 란, Single 하나 Sign 계정 On 로그인한다!
요즘 어떤 웹사이트를 가도 카카오로그인, 네이버로그인, 구글로그인을 본적이 있는가?
이처럼 하나의 계정으로 여러개의 사이트에 접속하는 방법이 바로 SSO 이다.
2. 이걸 쓰면 뭐가 좋아?
* 사용자 : 여러개의 아이디,패스워드 기억할 필요 없어! 하나로 다 로그인 할 수 있으니까 따로 회원가입 할 필요도 없고, 기억할 필요도 없고, 비밀번호 찾을 필요도 없고, 너무 편해
* 시스템관리자 : 사용자들이 하나의 암호를 사용하는게 보안에 취약할 수도 있지만, 하나의 암호를 강력하게 설정할 수 있기도해! 그리고 사용자의 접근성이 편해지니 사용자 유입도 쉽게 늘고, 시스템별로 일일히 관리할 필요가 없으니 편해
3. 이거 진짜 안전한거 맞아?
SSO의 장점인 하나의 계정으로 관리하는게 오히려 보안에 취약해서 단점이 될 수 도 있어!
1) 한번 비밀번호가 유출되면 연결된 모든 시스템이 털릴 수 있엉..
2) SSO 시스템이 먹통이 되면 연결된 모든 시스템에 접속을 못할 수 있어
4. SSO 놓칠 수 없어. 보안 강화하자!
위 단점들을 보완하기 위해서 많은 기술들이 개발되고, 보안강화한 서비스들이 나오고 있어
1) 2번 검증할게요 : 구글계정 로그인할때 유투브에서 한번 더 인증하는거 해봤지? 그런거 처럼 일회성 보안, OTP, 생체인식, 2중 확인 등등
2) 보안 표준 지키세요 : 암호 유출을 최소화하기 위해 직접 저장하거나, 직접 전달하지 않는 표준이 있어 . 그 표준만 지키면서 암호가 유출가능성을 낮을 수 있어. 보안표준과 프로토콜로를 살펴보면 :
* SAML (Security Assertion Markup Language) : xml 사용하여 사용자 식별 데이터를 교환하는 방식. 사용자 보안 인증정보를 시스템에 저장할 필요가 없음
* OAuth(Open Authorization) : 주요 목적은 인가(Authorization)이다.너 권한있어? 있으면 들어가게 해줄겡~ 사용자 암호를 요청하는 대신 암호로 보호된 데이터에 액세스(액세스토큰)할 수 있는 사용자 권한을 얻음. 액세스 토큰은 마치 호텔키 같아서 출입할 수 있지만 , 호텔키로는 투숙자의 정보를 알 수 없다.
* OIDC (OpenID Connect) : 주요 목적은 인증(Authentication)이다. 너 누구야? 누군지 확인하고 들여보내줄게 ~ 암호화된 사용자의 ID를 확인한다. ID토큰은 주민등록증이라고 할 수 있다. 주민등록증으로는 누구인지는 알지만, 호텔에 출입할 수 는 없을 것이다.
그래서 SAML , OAuth, OIDC는 조합해서 같이 사용하기도 한다.
3) 돈주면 보안 확실하게 챙겨줄게 : 클라우드 기반 서비스들이 많아지고, SSO의 필요성이 높아지자 클라우드 환경에서 인증 관련한 SaaS솔루션들이 다양하게 생겨남. 높은 어플리케이션 호환성과 연결과 MFA(다중인증)을 함께 지원하는 Okta 와 클라우드내 IAM 권한관리 기능을 서비스로 제공함.
참조 블로그
1. Sso란 김정석님
2. Openid 개념과 동작원리
'IT' 카테고리의 다른 글
[Spotfire] text area image 넣기 (0) | 2022.06.15 |
---|