OAuth 2.0 소개 [3부] : 마이데이터 적용을 위한 세가지 기술
상태바
OAuth 2.0 소개 [3부] : 마이데이터 적용을 위한 세가지 기술
  • 크리스 리 컨설턴트
  • 승인 2019.09.24 05:01
  • 조회수 3886
  • 댓글 0
이 콘텐츠를 공유합니다

인증 기반 사용자 식별: OpenID Connect

 

OAuth2는 사용자의 개인데이터에 접근 권한을 앱에게 부여하는 승인 절차의 범위까지만 정의하고 있다. 다시 말해서, 앱은 승인 과정을 통해 개인데이터를 받아도, 그 개인데이터의 주인이 누구인지 알 필요가 없도록 OAuth2가 설계되었기 때문이다.

 

앱에 제공되는 데이터를 생각해보면 정확히 이해하는 데 도움이 된다. 승인 요청 API에 대한 응답으로 받는 승인 코드, 접근 토큰 요청 API에 대한 응답으로 받는 접근 토큰, 그리고 데이터 요청 API에 대한 응답으로 받는 데이터, 세가지 모두 사용자를 식별할 수 있는 정보를 포함하고 있지 않다.

 

사용자의 관점에서 보면 인증정보와 같은 민감 정보를 노출하지 않고 앱이 필요한 데이터를 제공하고 서비스를 받을 수 있는 것이다. 즉, OAuth2는 사용자가 선별적으로 앱과 데이터를 공유하고 원치 않는 정보는 유출되지 않도록 설계된 것이다. 개인의 민감한 정보를 보호하면서도 여러 앱들에게 제각각 필요한 데이터를 공유하여 다양한 서비스를 받기 위한 최적의 프레임워크로 OAuth2가 각광을 받는 이유가 바로 여기에 있다.

 

반면에 앱의 관점에서는 고객을 식별할 수 없어 고객 관리하기 어려운 실정에 놓이게 된다. 앱의 입장에서는 고객(사용자)에 대한 식별 정보가 있다면 고객의 서비스 이용내역을 분석하여 고객별로 맞춤화된 서비스를 제공하고 싶을 것이다. 그러면 더 좋은 품질의 서비스로 인하여 고객 경험이 향상될 것이다. 즉, 앱이 고객에게 최적의 서비스를 제공하기 위해서는 고객을 식별할 수 있는 수단이 마련되어야 하는 것이다.

 

하지만 여러 앱으로부터 다양한 서비스를 제공받는 사용자의 입장에서는 새로운 앱을 사용할 때마다 계정을 생성하는 것은 비효율적이다. 자연스러운 대안은 사용자 인증 수행 및 사용자 식별정보 관리를 전문적으로 하는 기관을 활용하는 것이다. 다시 말해, 한 기관에서 사용자의 인증과 관련된 작업을 맡아서 담당하고, 사용자의 동의 하에 다양한 앱들에게 자신을 식별하는 정보를 제공하면 앱의 고민을 해결 할 수 있다는 말이다. 이러한 취지에서 OAuth2를 확장하여 만들어진 프로토콜로서 OpenID Connect가 있다.

 

규칙 기반 승인 메커니즘: UMA(User Managed Access)

 

OAuth2의 일반적인 활용 방식은 한 사람이 앱을 활용하여 자신의 데이터에 접근을 허용하는 방식이다. 하지만, 현실에서는 다른 사람에게 접근 권한을 부여하고 싶을 경우가 있을 수 있다. 또한, 여러가지 서비스를 활용하려는 사용자는 매번 승인을 해야 한다는 단점도 지니고 있다.

 

이러한 단점들을 해결하는 방안으로 사용자가 사전에 설정한 승인 규칙에 따라 데이터 접근을 허용하는 메커니즘을 생각해 볼 수 있다. 이러한 취지로 만들어진 프로토콜로서 UMA(User Managed Access)가 있다.

 

투이톡_oauth_1.jpg
[그림 1] User Managed Access 개념도
출처:  https://medium.com/@dewni.matheesha/user-managed-access-uma-2-0-bcecb1d535b3

 

 

마이데이터 핵심 기술의 삼위일체, OAuth2 OIDC UMA

 

마이데이터 정책의 핵심은 개인정보의 소유권을 당사자에게 돌려주는 것이다. 다르게 말하자면, 마이데이터 정책의 핵심은 개인데이터의 저작권을 당사자에게 돌려주는 것이라 할 수 있다. 같은 맥락으로 마이데이터 기술의 핵심은 개인데이터의 사용권을 당사자에게 돌려주는 것으로 생각할 수 있다. 정확히 말하자면 개인데이터의 사용권을 당사자가 마이데이터 생태계 안에서 자유자재로 관리할 수 있도록 하는 것이다.

 

OAuth2는 당사자가 원하는 범위와 목적으로만 개인데이터에 접근이 가능하도록 해주는 프레임워크이다. OpenID Connect는 당사자에게 서비스를 제공하는 앱 및 데이터 제공기관이 보안된 환경에서 당사자를 식별하여 보다 높은 품질의 서비스를 제공할 수 있도록 해주는 프로토콜이다. UMA는 위임받은 기관이 당사자가 정해 놓은 규칙에 따라 개인데이터 접근을 통제할 수 있도록 해주는 프로토콜이다. 이 세가지 기술이 융합되어 한 사람이 자신의 개인데이터에 대한 사용권을 투명하고 간편하게 다양한 서비스 및 대상에게 부여할 수 있게 된다.

 

투이톡_oauth_2.jpg
[그림 2] 마이데이터의 3대 핵심 기술: OAuth 2.0, OpenID Connect, UMA


- 본 칼럼은 'OAuth 2.0 소개 [4부] : OAuth 2.0과 마이데이터'로 이어집니다

 

[참고자료]

▶ 금융결제원Testbed Developers의 OAuth2:

금융보안원, “전자금융과 금융보안”, 제3호, 2016-01:

 

한국정보통신기술협회/정보통신산업진흥원, ‘클라우드 상호운용성 확보 가이드라인’

카카오 개발가이드의 사용자 관리:

 

네이버 API 공통 가이드의 네이버 아이디로 로그인:

 

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.