KR102654983B1 - 다요소 인증 방법 및 시스템 - Google Patents

다요소 인증 방법 및 시스템 Download PDF

Info

Publication number
KR102654983B1
KR102654983B1 KR1020230197799A KR20230197799A KR102654983B1 KR 102654983 B1 KR102654983 B1 KR 102654983B1 KR 1020230197799 A KR1020230197799 A KR 1020230197799A KR 20230197799 A KR20230197799 A KR 20230197799A KR 102654983 B1 KR102654983 B1 KR 102654983B1
Authority
KR
South Korea
Prior art keywords
authentication
factor
provider
response message
message
Prior art date
Application number
KR1020230197799A
Other languages
English (en)
Inventor
조진용
김승해
조부승
Original Assignee
한국과학기술정보연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술정보연구원 filed Critical 한국과학기술정보연구원
Priority to KR1020230197799A priority Critical patent/KR102654983B1/ko
Application granted granted Critical
Publication of KR102654983B1 publication Critical patent/KR102654983B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

다요소 인증 방법이 제공된다. 몇몇 실시예에 따른 컴퓨팅 시스템에 의하여 수행되는 다요소 인증 방법은, 아이디 제공자로부터 특정 서비스에 대한 제1 인증 응답 메시지를 수신하는 단계, 다요소 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정하는 단계, 제1 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되고 제2 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되지 않은 것으로 판정되면, 사용자에 대한 제2 인증을 수행하는 단계 및 상기 제1 인증 및 상기 제2 인증에 기초한 다요소 인증과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 서비스 제공자로 전송하는 단계를 포함할 수 있다.

Description

다요소 인증 방법 및 시스템 {METHOD AND SYSTEM FOR MULTI-FACTOR AUTHENTICATION}
본 개시는 다요소 인증 방법에 대한 것이다. 보다 자세하게는, 기관 연합형 통합인증 환경에서 적용될 수 있는 다요소 인증 방법 및 시스템에 관한 것이다.
다수의 보안침해는 아이디와 비밀번호와 같은 크리덴셜(Credential)의 관리실패로 인해 발생한다. 비밀번호의 유출은 날로 증가하고 있다. 유출된 비밀번호는 크리덴셜 스터핑(Credential stuffing) 공격 등에 악용될 가능성이 매우 높다. 미국의 국립표준기술연구소(NIST)는 개인정보의 유출을 막기 위해서 다요소 인증(MFA, Multi-Factor Authentication)의 사용을 권고하고 있다.
MFA는 사용자를 인증하기 위해 지식(Something you know), 소유(Something you have) 및 존재(Something you are)에 속하는 2개 이상의 요소를 이용한다. 예를 들어, 비밀번호(지식)와 하드웨어 토큰(소유) 등 2개의 요소를 이용해 사용자를 인증하면 MFA에 준수하는 것으로 여겨질 수 있다.
하나의 크리덴셜과 한번의 로그인으로 여러 서비스에 액세스할 수 있는 통합인증(Single Sign-on) 환경에서, MFA의 중요성은 더욱 커지고 있다. 기관 연합형 통합인증(Federated single sign-on), 즉, 연합인증은 학연 분야에서 많이 사용되는 멀티 보안도메인 간 사용자 인증체계이다. 연합인증은 신원정보를 제공하는 아이디 제공자와 신원정보를 활용하는 서비스 제공자가 분리되어 있으며, 양자 간에 신뢰를 기반으로 동작한다는 특징이 있다.
또한, 국제 연구교육연합(REFEDS, Research and Education Federations)은 아이디 제공자와 서비스 제공자가 분리된 연합인증 환경에서 서비스 제공자가 MFA의 실행을 요청하고 아이디 제공자가 MFA의 실행을 주장할 수 있도록 MFA 프로파일을 개발하여 국제 학연기관과 서비스에게 보급하고 있다.
하지만, 상용 MFA 솔루션은 도입 비용이 높고 운영에 추가적인 비용이 요구되므로 연합인증 환경에서 큰 규모의 학·연 기관이 MFA를 도입해야 할 경우에는 비용 문제가 MFA의 활성화에 장벽으로 작용할 수 있다. 또한, MFA 프로파일을 준수하지 않는 아이디 제공자와 서비스 제공자는 MFA의 실행 요청과 실행 응답을 확인할 수 없으므로 최악의 경우에는 두 제공자가 각각 MFA를 실행해 사용자 편의성이 크게 악화될 수 있다.
한국공개특허 제10-2022-0170159호 (2022.12.29)
본 개시의 몇몇 실시예들에서 해결하고자 하는 기술적 과제는, 기관연합형 통합인증 환경에서 적은 비용으로 다양하게 활용 가능한 다요소 인증 방법 및 시스템을 제공하는데 있다.
본 개시의 몇몇 실시예들에서 해결하고자 하는 다른 기술적 과제는, 가용성과 혼합성이 높은 다요소 인증 방법 및 시스템을 제공하는데 있다.
본 개시의 몇몇 실시예들에서 해결하고자 하는 또 다른 기술적 과제는, 기존 시스템의 설계변경을 최소화할 수 있는 다요소 인증 방법 및 시스템을 제공하는데 있다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 개시의 일 실시예에 따른 컴퓨팅 시스템에 의하여 수행되는 다요소 인증 방법은, 아이디 제공자로부터 특정 서비스에 대한 제1 인증 응답 메시지를 수신하는 단계, 다요소 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정하는 단계, 제1 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되고 제2 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되지 않은 것으로 판정되면, 사용자에 대한 제2 인증을 수행하는 단계 및 상기 제1 인증 및 상기 제2 인증에 기초한 다요소 인증과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 서비스 제공자로 전송하는 단계를 포함할 수 있다.
또한, 상기 사용자에 대한 제2 인증을 수행하는 단계는, 상기 제2 인증과 관련된 데이터를 사용자 단말로부터 수신하는 단계 및 상기 수신된 제2 인증과 관련된 인증 데이터에 기초하여 상기 사용자에 대한 제2 인증을 수행하는 단계를 포함할 수 있다.
또한, 상기 제2 인증과 관련된 데이터를 사용자 단말로부터 수신하는 단계는, 상기 아이디 제공자가 다요소 인증을 준수하지 않은 것으로 판정되면, 상기 제2 인증과 관련된 데이터를 상기 사용자 단말로 요청하는 단계 및 상기 요청에 대한 응답으로 상기 사용자 단말로부터 상기 제2 인증과 관련된 데이터를 수신하는 단계를 포함할 수 있다.
또한, 상기 사용자에 대한 제2 인증을 수행하는 단계는, 미리 등록된 인증정보로부터 획득된 인증 데이터와 상기 수신된 제2 인증과 관련된 데이터를 비교하여, 상기 제2 인증을 수행하는 단계를 포함할 수 있다.
또한, 상기 사용자에 대한 제2 인증을 수행하는 단계는, 상기 아이디 제공자가 다요소 인증을 준수하면, 상기 사용자에 대한 제2 인증 수행을 상기 아이디 제공자로부터 요청하는 단계 및 상기 제2 인증 수행과 관련된 데이터를 상기 아이디 제공자로부터 수신하는 단계를 포함할 수 있다.
또한, 다요소 인증 방법은 상기 서비스 제공자와 연관된 개체 식별자에 기초하여, 상기 특정 서비스에 대한 다요소 인증이 필요한지 여부를 판정하는 단계를 더 포함하고, 상기 다요소 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정하는 단계는, 상기 특정 서비스에 대한 다요소 인증이 필요한 것으로 판정된 경우에 수행될 수 있다.
또한, 상기 제2 인증 응답 메시지를 서비스 제공자로 전송하는 단계는, 상기 아이디 제공자가 다요소 문맥을 준수하는지 여부를 판정하는 단계, 상기 아이디 제공자가 다요소 문맥을 준수하지 않은 것으로 판정되면, 상기 제1 인증 및 상기 제2 인증과 관련된 문맥을 포함하는 제2 인증 메시지를 생성하는 단계 및 상기 생성된 제2 인증 메시지를 상기 서비스 제공자로 전송하는 단계를 포함할 수 있다.
또한, 다요소 인증 방법은 상기 제1 인증 응답 메시지를 수신하는 단계 이전에, 상기 서비스 제공자로부터 제1 인증 요청 메시지를 수신한 것에 응답하여, 상기 아이디 제공자로 제2 인증 요청 메시지를 전송하는 단계를 더 포함하고, 상기 제1 인증 응답 메시지를 수신하는 단계는, 상기 제2 인증 요청 메시지에 대한 응답으로, 상기 제1 인증 응답 메시지를 상기 아이디 제공자로부터 수신하는 단계를 포함할 수 있다.
또한, 상기 제2 인증 요청 메시지를 전송하는 단계는, 상기 특정 서비스가 다요소 인증이 필요한 서비스인지 여부를 판정하는 단계, 상기 특정 서비스가 다요소 인증이 필요한 서비스라는 판정에 응답하여, 상기 제1 인증 요청 메시지에 기초하여 다요소 인증을 요청하기 위한 제2 인증 요청 메시지를 생성하는 단계 및 상기 생성된 제2 인증 요청 메시지를 상기 아이디 제공자로 전송하는 단계를 포함할 수 있다.
또한, 상기 제2 인증 요청 메시지를 생성하는 단계는, 제1 규격의 제1 인증 요청 메시지를 제2 규격의 제2 인증 요청 메시지로 변환하는 단계를 포함할 수 있다.
또한, 상기 제2 인증 요청 메시지는 다요소 인증 요청과 관련된 문맥을 포함하는 SAML(Security Assertion Markup Language) 규격의 메시지일 수 있다.
상기 기술적 과제를 해결하기 위한 본 개시의 일 실시예에 따른 컴퓨팅 시스템에 의하여 수행되는 다요소 인증 방법은, 아이디 제공자로부터 특정 서비스에 대한 제1 인증 응답 메시지를 수신하는 단계, 다요소 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정하는 단계, 상기 제1 인증 응답 메시지에 다요소 인증과 관련된 문맥이 포함되지 않으면, 상기 아이디 제공자가 다요소 인증을 실행하였는지 여부를 판정하는 단계, 상기 아이디 제공자가 다요소 인증을 실행한 것으로 판정되면, 상기 다요소 인증과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 생성하는 단계 및 상기 생성된 제2 인증 응답 메시지를 서비스 제공자로 전송하는 단계를 포함할 수 있다.
또한, 상기 아이디 제공자가 다요소 인증을 실행하였는지 여부를 판정하는 단계는, 상기 아이디 제공자와 관련된 개체 식별자가 다요소 실행 개체 목록에 포함되어 있으면, 상기 아이디 제공자가 다요소 인증을 실행한 것으로 판정하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 개시의 일 실시예에 따른 컴퓨팅 장치는, 아이디 제공자로부터 특정 서비스에 대한 제1 인증 응답 메시지를 수신하는 MFA 문맥 처리부, 다요소 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정하고, 제1 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되고 제2 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되지 않은 것으로 판정되면, 제2 인증 실행을 결정하는 MFA 제어부 및 상기 제2 인증 실행이 결정된 것에 응답하여, 사용자에 대한 제2 인증을 수행하는 MFA 실행부를 포함하고, 상기 MFA 문맥 처리부는, 상기 제1 인증 및 상기 제2 인증에 기초한 다요소 인증과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 서비스 제공자로 전송할 수 있다.
상기 기술적 과제를 해결하기 위한 본 개시의 일 실시예에 따른 다요소 인증을 위한 컴퓨팅 시스템은, 특정 서비스에 대한 사용자 인증을 수행하고, 상기 수행된 사용자 인증 결과에 기초하여 제1 인증 응답 메시지를 생성하는 아이디 제공자, 상기 아이디 제공자로부터 제1 인증 응답 메시지를 수신하는 것에 응답하여, 상기 아이디 제공자에 의해 다요소 인증이 수행되었는지 여부를 판정하여 다요소 인증이 수행되지 않은 것으로 판정되면 상기 사용자에 대한 제2 인증을 수행하고 제1 인증 및 상기 제2 인증에 기초한 다요소 문맥을 포함하는 제2 인증 메시지를 생성하는 대리 인증자 및 상기 대리 인증자로부터 제2 인증 응답 메시지를 수신하고, 상기 제2 인증 응답 메시지에 기초하여 사용자 단말로 상기 특정 서비스를 제공하는 서비스 제공자를 포함할 수 있다.
도 1은 본 개시의 일 실시예에 따른, 다요소 인증 시스템의 구성을 예시하는 도면이다.
도 2는 본 개시의 일 실시예에 따른, 인증 정보를 등록하는 방법을 설명하기 위한 신호 흐름도이다.
도 3은 본 개시의 일 실시예에 따른, 인증 요청 메시지를 아이디 제공자로 전송하기 위한 신호 흐름도이다.
도 4는 본 개시의 일 실시예에 따른, 제1 인증 요청 메시지를 예시하는 도면이다.
도 5는 본 개시의 일 실시예에 따른 제2 인증 요청 메시지를 예시하는 도면이다.
도 6은 본 개시의 일 실시예에 따른, 서비스 제공자에게 인증 응답 메시지를 제공하는 방법을 설명하기 위한 신호 흐름도이다.
도 7은 본 개시의 일 실시예에 따른, 제1 인증 응답 메시지를 예시하는 도면이다.
도 8은 본 개시의 일 실시예에 따른 제2 인증 응답 메시지를 예시하는 도면이다.
도 9는 본 개시의 다른 실시예에 따른, 서비스 제공자에게 인증 응답 메시지를 제공하는 방법을 설명하기 위한 신호 흐름도이다.
도 10은 본 개시의 일 실시예에 따른, 다요소 인증 방법을 설명하기 위한 순서도이다.
도 11은 본 개시의 일 실시예에 따른, 대리 인증자의 기능적인 구성을 도시한 블록도이다.
도 12는 본 개시의 몇몇 실시예들에 따른 컴퓨팅 시스템의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시 예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 개시의 실시예들을 설명하기에 앞서, 본 개시에서 이용되는 용어에 대해서 설명하기로 한다.
"연합인증(Federated single-sign on)"은 국제표준 보안인증 규약인 SAML(Security Assertion Markup Language)과 OIDC(OpenID Connect) 등을 이용해 통합인증의 범위를 멀티도메인으로 확장한 통합인증 체계일 수 있다.
"신원연합(Identity federation)"은 동일한 정책 프레임워크와 기술 프로파일의 사용에 동의한 아이디 제공자와 서비스 제공자의 집합일 수 있다. 신원연합 내의 아이디 제공자와 서비스 제공자 간에 연합인증이 가능할 수 있다.
"개체(entity)"는 컴퓨팅 연산을 수행이 가능한 장치 또는 노드로서, 컴퓨팅 장치와 같이 물리적으로 구현되거나, 가상 머신 등과 같이 논리적인 형태로 구현될 수 있다.
"아이디 제공자(Identity provider)"는 신원정보를 처리해 사용자를 인증하며 서비스 제공자에게 사용자의 인증정보와 신원정보를 전달하는 개체(Entity)일 수 있다.
"서비스 제공자(Service provider)"는 아이디 제공자가 전달한 인증 정보와 신원 정보의 무결성을 검사하고 사용자에게 접근 권한을 부여하는 개체일 수 있다.
"대리 인증자(proxy)"는 서비스 제공자와 아이디 제공자 간의 메시지를 교환의 수행하는 개체일 수 있다. 일 실시예에 따르면, 대리 인증자는 수신된 메시지를 변환하고, 수정된 메시지를 아이디 제공자 또는 서비스 제공자로 전송할 수 있다.
이하, 본 개시의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 개시의 일 실시예에 따른, 다요소 인증 시스템의 구성을 예시하는 도면이다.
도 1에 예시한 바와 같이, 다요소 인증 시스템은 아이디 제공자(30), 대리 인증자(40) 및 서비스 제공자(50)를 포함할 수 있다. 아이디 제공자(30), 대리 인증자(40) 및 서비스 제공자(50)는 네트워크(20)를 통해서 서로 통신할 수 있다. 여기서, 네트워크(20)는 유선통신망, 이동통신망, 근거리 통신망 등을 포함할 수 있다. 몇몇 실시예에 따르면, 아이디 제공자(30)와 대리 인증자(40)는 전용선을 통해 다이렉트로 연결될 수 있고, 대리 인증자(40)와 서비스 제공자(50)도 전용선을 통해 다이렉트로 연결될 수 있다.
도 1에서는 아이디 제공자(30)와 서비스 제공자(50)가 단수인 것으로 예시되어 있으나, 다요소 인증 시스템은 복수의 아이디 제공자(30)와 복수의 서비스 제공자(50)를 포함할 수 있다. 이 경우, 복수의 아이디 제공자(30)가 대리 인증자(40)와 통신하고, 복수의 서비스 제공자(50)가 대리 인증자(40)와 통신할 수 있다. 또한, 대리 인증자(40)는 개체 식별자에 기초하여, 각각의 아이디 제공자(30)와 각각의 서비스 제공자(50)를 구분할 수 있다.
각각의 아이디 제공자(30)는 사용자의 인증 정보를 저장하고, 인증 정보에 기초하여 사용자 인증을 수행할 수 있다. 인증 정보는 제1 인증 데이터를 포함할 수 있다. 몇몇 실시예서는 인증 정보는 제2 인증 데이터를 더 포함할 수 있다. 예컨대, 제1 인증 데이터는 아이디와 패스워드를 포함하고, 제2 인증 데이터는 시간기반의 일회용 패스워드(Time-based one-time password, 이하 'TOTP'로 지칭함)를 포함할 수 있다. 몇몇 실시예에서는 제1 인증 데이터는 아이디와 패스워드 이외의 다른 인증 데이터를 포함할 수 있다. 또한, 제2 인증 데이터는 TOTP 이외에 생체 데이터, 인증 토큰, OTP 등을 포함할 수 있다. 여기서, 생체 데이터는 지문 데이터, 홍체 데이터, 정맥 데이터, 안면 인식 데이터 등을 포함할 수 있다.
일 실시예에 따르면, 제1 인증과 제2 인증이 수행되면 다요소 인증이 준수된 것으로 판정될 수 있다. 가령, 아이디/패스워드에 기초한 제1 인증과 TOTP에 기초한 제2 인증이 수행되는 경우, 다요소 인증이 준수된 것으로 판정될 수 있다. 반면에, 제1 인증만 수행되고, 제2 인증이 수행되지 않은 경우에 다요소 인증이 준수되지 않은 것으로 판정될 수 있다.
각각의 아이디 제공자(30)는 싱글 로그인(Single login)을 지원할 수 있다. 아이디 제공자(30)는 특정 서비스에 대한 사용자 인증 결과를 포함하는 인증 응답 메시지를 대리 인증자(40)에 전송할 수 있다. 복수의 아이디 제공자(30) 중 일부는, 사용자 인증을 수행할 때에 다요소 인증을 수행할 수 있다. 또한, 복수의 아이디 제공자(30) 중 일부는, 사용자 인증을 수행할 때에 하나의 요소(예컨대, 아이디와 패스워드)를 이용하여 인증을 수행할 수 있다.
서비스 제공자(50)는 대리 인증자(40)로부터 수신된 인증 응답 메시지에 기초하여, 사용자가 인증에 성공하였는지 여부를 판정할 수 있다. 서비스 제공자(50)는 인증에 성공한 사용자 단말(10)로 관련 서비스를 제공할 수 있다. 여기서, 서비스 제공자(50)는 서비스의 유형에 따라, 사용자에 대한 다요소 인증을 대리 인증자(40)로 요청할 수 있다. 예컨대, 서비스 제공자(50)는 사용자 정보를 변경이 요청되는 경우, 다요소 인증을 대리 인증자(40)로 요청할 수 있다.
대리 인증자(40)는 아이디 제공자(30)와 서비스 제공자(50) 간의 메시지를 중계할 수 있다. 대리 인증자(40)는 SAML 인증 규약과 OIDC 인증 규약을 모두 지원 가능한 개체일 수 있다. 또한, 대리 인증자(40)는 SAML 규격의 메시지와 OIDC 규격의 메시지 간에 메시지 변환을 수행할 수 있다. 예컨대, 대리 인증자(40)는 OIDC 규격의 메시지를 SAML 규격의 메시지로 변환할 수 있고, 반대로 SAML 규격의 메시지를 OIDC 규격의 메시지로 변환할 수 있다.
몇몇 실시예에 따르면, 아이디 제공자(30), 대리 인증자(40) 및 서비스 제공자(50) 각각은 웹 브라우저를 통해서 메시지를 교환할 수 있다. 또한, 대리 인증자(40)는 서비스 제공자(50)로부터 인증 요청 메시지를 수신한 시점에서부터 아이디 제공자(30)로부터 인증 응답 메시지를 시점까지, 로그인 세션을 유지할 수 있다.
일 실시예에 따르면, 대리 인증자(40)는 아이디 제공자(30)로부터 특정 서비스에 대한 인증 응답 메시지를 수신할 수 있다. 이러한 경우, 대리 인증자(40)는 사용자에 대한 다요소 인증과 관련된 문맥이 인증 응답 메시지에 포함되어 있는지 여부를 판정할 수 있다. 여기서, 다요소 인증과 관련된 문맥은 특정 태그와 관련된 문자열로서, 다요소 인증 프로파일(MFA profile)과 관련될 수 있다.
또한, 대리 인증자(40)는 제1 인증과 관련된 문맥이 인증 응답 메시지에 포함되고 제2 인증과 관련된 문맥이 인증 응답 메시지에 포함되지 않은 것으로 판정되면, 사용자에 대한 제2 인증을 수행할 수 있다. 또한, 대리 인증자(40)는 다요소 인증과 관련된 문맥을 포함하는 인증 응답 메시지를 생성하여 서비스 제공자로 전송할 수 있다.
일 실시예에 따르면, 대리 인증자(40)는 필요한 경우에, 제1 규격의 메시지를 제2 규격의 메시지로 변환하고, 변환된 제2 규격의 메시지를 아이디 제공자(30) 또는 서비스 제공자(50)로 전송할 수 있다. 여기서, 제1 규격의 메시지를 다요소 인증 관련 문맥(context)이 포함되지 않은 SAML 규격을 준수하지 않은 메시지일 수 있다. 가령, 제1 규격의 메시지는 OIDC 규격의 메시지일 수 있다. 또한, 제2 규격의 메시지를 다요소 인증 관련 문맥이 포함된 SAML 규격을 준수한 메시지일 수 있다.
일 실시예에 따르면, 대리 인증자(40)는 다요소 인증(이하, 'MFA'로 혼용하여 사용하기로 함)을 준수하고 MFA 문맥을 준수하는 각 서비스 제공자(50)의 개체 식별자가 기록된 제1 개체 목록을 저장할 수 있다. 또한, 대리 인증자(40)는 MFA를 준수하나 MFA 문맥을 준수하지 않은 각 서비스 제공자(50)의 개체 식별자가 기록된 제2 개체 목록을 저장할 수 있다. 또한, 대리 인증자(40)는 MFA를 준수하지 않고 MFA 문맥을 준수하지 않은 각 서비스 제공자(50)의 개체 식별자가 기록된 제3 개체 목록을 저장할 수 있다. 여기서, MFA를 준수하는 것은, 제1 인증과 제2 인증을 포함하여 다요소 인증을 수행하는 것일 수 있다. 또한, MFA 문맥을 준수하는 것은, MFA와 관련된 문자열이 SAML 규격에 따라 작성된 것일 수 있다.
또한, 대리 인증자(40)는 MFA 실행이 요구되는 각 서비스 제공자(50)의 개체 식별자가 기록된 제4 개체 목록을 저장하고, MFA 실행이 요구되지 않은 각 서비스 제공자(50)의 개체 식별자가 기록된 제5 개체 목록을 저장할 수 있다.
대리 인증자(40)는 제1 개체 목록 내지 제3 개체 목록을 참조하여, 아이디 제공자(30)가 MFA를 준수하는지 여부 및 MFA 문맥을 준수하는지 여부를 판정할 수 있다. 일 실시예에 따르면, 대리 인증자(40)는 MFA를 준수하고 MFA 문맥을 준수하는 아이디 제공자(30)로부터 인증 응답 메시지를 수신하면, 수신된 인증 응답 메시지를 별도로 수정하지 않고 서비스 제공자(50)로 전송할 수 있다. 이때, 서비스 제공자(50)는 MFA 문맥을 준수하는 서비스 제공자(50)일 수 있다.
일 실시예에서, 대리 인증자(40)는 MFA를 준수하지 않고 MFA 문맥을 준수하지 않은 아이디 제공자(30)로부터 응답 메시지를 수신하면, 사용자 단말(10)에 대한 제2 인증을 수행할 수 있다. 예컨대, 대리 인증자(40)는 사용자 단말(10)로 제2 인증 데이터를 요청하여 수신한 후, 수신된 제2 인증 데이터에 기초하여 사용자를 인증할 수 있다. 이때, 대리 인증자(40)는 미리 등록된 사용자의 인증 정보로부터 제2 인증 데이터를 획득하고, 획득된 제2 인증 데이터와 수신된 제2 인증 데이터를 비교하여 사용자에 대한 제2 인증을 수행할 수 있다. 또한, 대리 인증자(40)는 제1 인증 및 제2 인증에 기초한 다요소 인증과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 생성하여 서비스 제공자(50)로 전송할 수 있다.
한편, 대리 인증자(40)는 MFA를 준수하나 MFA 문맥을 준수하지 않은 아이디 제공자(30)로부터 인증 응답 메시지를 수신하면, MFA 문맥을 포함하는 인증 응답 메시지를 생성하고, 생성된 인증 응답 메시지를 서비스 제공자(50)로 전송할 수 있다. 이때, 대리 인증자(40)는 아이디 제공자(30)로 제2 인증을 요청하고, 사용자에 대한 제2 인증이 대리 인증자(40)를 통해서 진행되게 할 수 있다.
한편, 대리 인증자(40)는 서비스 제공자(50)로부터 인증 요청 메시지를 수신할 수 있다. 이러한 경우, 대리 인증자(40)는 제4 개체 목록 및/또는 제5 개체 목록에 기초하여, MFA 적용이 요구되는 서비스 제공자(50)인지 여부를 판정할 수 있다. 대리 인증자(40)는 서비스 제공자(50)가 MFA 적용이 요구되는 서비스 제공자(50)인 경우, MFA 요청하는 문맥이 포함되도록 인증 요청 메시지를 변환하고, 변환된 인증 요청 메시지를 아이디 제공자(30)로 전송할 수 있다. 또한, 대리 인증자(40)는 수신된 인증 요청 메시지가 제1 규격인 경우, 제1 규격의 인증 요청 메시지를 제2 규격의 인증 요청 메시지로 변환할 수 있다.
일반적으로 MFA 솔루션의 도입과 운영에 필요한 비용은 기관 구성원의 수에 비례하므로 신원연합에 참여 중인 아이디제공자 기관의 규모가 클수록 비용문제가 MFA의 활용이 어렵게 될 가능성이 있다. 그러나 본 개시에 따른 다요소 인증 시스템은 서비스 제공자(50) 및 아이디 제공자(30)의 설계 변경을 최소화한 상태에서, 대리 인증자(40)를 통해 MFA가 적용되게 함으로써, 대규모 시스템에서 MFA 솔루션이 적용하는데 비용이 절감될 수 있다.
또한, 신원연합에 포함된 많은 아이디 제공자들이 관리주체가 서로 달라 모든 아이디 제공자들에게 MFA를 일괄적으로 적용하기는 어려울 수 있다. 그러나 본 개시에 따른 다요소 인증 시스템은 대리 인증자(40)를 통해, 다양한 서비스 제공자(50)와 다양한 아이디 제공자(30)에게 일괄적으로 MFA를 적용할 수 있다. 이에 따라, 본 개시에 따른 다요소 인증 시스템은 가용성과 호환성이 높다.
도 1을 참조하여 다요소 인증 시스템을 설명하였다. 이하, 도 2 내지 도 10을 참조하여 다요소 인증 방법에 대해서 설명하기로 한다.
도 2는 본 개시의 일 실시예에 따른, 인증 정보를 등록하는 방법을 설명하기 위한 신호 흐름도이다.
도 2를 참조하면, 사용자 단말은 제1 인증에 성공한 후에, 대리 인증자로 인증 정보 등록을 요청하는 메시지를 대리 인증자로 전송할 수 있다(S201). 여기서, 제1 인증은 아이디와 패스워드에 기초하여 수행될 수 있다.
이어서, 대리 인증자는 사용자의 추가 인증을 위하여, 사용자 단말로 2차원 바코드 관련 데이터를 전송할 수 있다(S203).
사용자 단말은 2차원 바코드 관련 데이터에 기초하여, 2차원 바코드를 출력하고, 2차원 바코드를 판독하는 것을 통해 인증 코드를 획득할 수 있다. 몇몇 실시예에 따르면, 2차원 바코드 관련 데이터는 사용자가 지정된 다른 컴퓨팅 장치로 전송되고, 사용자 단말은 카메라를 통해 다른 컴퓨팅 장치에 출력된 2차원 바코드를 판독할 수 있다.
이어서, 사용자 단말은 획득된 인증 코드를 대리 인증자에게 전송할 수 있다(S205). 그 후, 대리 인증자는 2차원 바코드 관련 데이터를 기초로 인증 코드를 획득하고, 획득된 인증 코드와 수신된 인증 코드를 일치하는지 여부를 판정함으로써, 인증 코드를 검증할 수 있다(S207).
대리 인증자는 인증 코드 검증에 성공하면, 제2 인증과 관련된 사용자 인증정보를 저장할 수 있다(S209). 예컨대, 대리 인증자는 사용자 단말로 생체 데이터를 요청하여 생체 데이터를 사용자 단말로부터 수신하고, 생체 데이터가 포함된 사용자 인증정보를 저장할 수 있다. 다른 예로서, 대리 인증자는 TOTP를 생성하기 기초가 되는 비밀키를 획득하고, 획득된 비밀키를 포함하는 사용자 인증정보를 저장할 수 있다. TOTP가 이용되는 경우, 2차원 바코드 관련 데이터에 비밀키가 포함될 수 있다. 이에 따라, 사용자 단말과 대리 인증자는 2차원 바코드 관련 데이터로부터 비밀키를 획득할 수 있다. 일 실시예에 따르면, 사용자 인증정보에는 사용자의 이메일 주소, 사용자의 패스워드, 모바일 전화번호 등이 포함될 수 있다.
이어서, 대리 인증자는 사용자의 이메일 주소를 식별할 수 있다(S211). 그 후, 대리 인증자는 제2 인증과 관련된 인증정보가 등록되었음을 알리고, 계정을 잠금이 가능한 링크가 본문에 기록되고 수신처가 사용자의 이메일 주소로 설정된 이메일을 생성하여 발송할 수 있다(S213).
이메일을 확인한 사용자는 자신이 의도하지 않은 상태에서 인증정보가 등록된 경우, 계정을 잠글 수 있는 링크를 통해서 자신의 계정을 잠금 상태가 되게 설정할 수 있다.
상술한 바와 같이, 대리 인증자에게 제2 인증과 관련된 인증 정보가 등록될 수 있으며, 이러한 인증 정보는 대리 인증자에 의해 다요소 인증에 이용될 수 있다.
도 3은 본 개시의 일 실시예에 따른, 인증 요청 메시지를 아이디 제공자로 전송하기 위한 신호 흐름도이다.
도 3을 참조하면, 서비스 제공자는 특정 서비스에 대한 사용자 인증을 요청하기 위한 제1 인증 요청 메시지를 대리 인증자로 전송할 수 있다(S301). 서비스 제공자는 특정 서비스에 대한 요청이 수신된 경우에, 제1 인증 요청 메시지를 대리 인증자로 전송할 수 있다.
다음으로, 대리 인증자는 특정 서비스가 MFA 적용 대상인지 여부를 판정할 수 있다(S303). 예컨대, 대리 인증자는 제4 개체 목록, 제5 개체 목록 및 서비스 제공자의 개체 식별자에 기초하여, 특정 서비스가 다요소 인증 적용 대상인지 여부를 판정할 수 있다.
대리 인증자는 특정 서비스가 MFA 적용 대상이 아닌 것으로 판정되면, 수정되지 않은 제1 인증 요청 메시지를 아이디 제공자로부터 전송할 수 있다. 이러한 경우, 대리 인증자는 단일 요소로 진행된 사용자 인증과 관련된 인증 응답 메시지를 아이디 제공자로부터 수신하고, 수신된 인증 응답 메시지를 서비스 제공자로 전송할 수 있다.
반면에, 대리 인증자는 특정 서비스가 다요소 인증 적용 대상인 판정되면, MFA 요청과 관련된 문맥이 포함되도록 제2 인증 요청 메시지를 생성할 수 있다(S305). 일 실시예에 따르면, MFA 요청과 관련된 문맥은, 특정 태그와 관련된 문자열일 수 있다. 또한, 제2 인증 요청 메시지는 제1 인증 요청 메시지를 기초하여 생성된 메시지일 수 있다. 도 3에서는 제2 인증 요청 메시지가 생성된 것으로 예시되어 있다.
추가적으로, 대리 인증자는 아이디 제공자가 판독 가능한 규격으로 인증 요청 메시지를 변환할 수 있다. 예컨대, 아이디 제공자가 제2 규격의 메시지를 판독 가능하고, 제1 인증 요청 메시지가 제1 규격의 메시지인 경우, 대리 인증자는 제1 규격의 제1 인증 요청 메시지를 제2 규격의 메시지로 변환하여, 제2 인증 요청 메시지를 생성할 수 있다. 여기서, 제2 규격은 SAML 규격일 수 있다.
이어서, 대리 인증자는 제2 인증 요청 메시지를 아이디 제공자로 전송할 수 있다(S307). 제2 인증 요청 메시지를 수신한 아이디 제공자는, 사용자에 대한 제1 인증을 수행하거나, 제1 인증 및 제2 인증을 수행할 수 있다. 즉, 아이디 제공자는 MFA 준수 여부 및 MFA 문맥 준수 여부에 따라, 제1 인증만을 수행하거나, 제1 인증과 제2 인증(즉, 다요소 인증)을 수행할 수 있다. 대리 인증자가 아이디 제공자로부터 수신된 인증 응답 메시지를 처리하는 다양한 실시예는 도 6 내지 도 9를 참조하여 후술하기로 한다.
도 4는 본 개시의 일 실시예에 따른, 제1 인증 요청 메시지를 예시하는 도면이고, 도 5는 본 개시의 일 실시예에 따른 제2 인증 요청 메시지를 예시하는 도면이다.
도 4에 예시된 제1 인증 요청 메시지는, 서비스 제공자에 의해서 발송된 메시지일 수 있다.
도 5에 예시된 제2 인증 요청 메시지는, MFA 요청과 관련된 문맥(510)을 포함하는 메시지로서, 대리 인증자에 의해서 생성될 수 있다. 도 5에서는 참조부호 510과 관련된 문맥이 MFA 요청과 관련된 문맥인 것으로 예시되어 있다.
도 6은 본 개시의 일 실시예에 따른, 서비스 제공자에게 인증 응답 메시지를 제공하는 방법을 설명하기 위한 신호 흐름도이다.
대리 인증자는 제2 인증 요청 메시지를 전송한 후에, 아이디 제공자로부터 제1 인증 응답 메시지를 수신할 수 있다(S601). 도 6에서는 아이디 제공자는 MFA 요청 관련 문맥을 포함하는 제2 인증 메시지를 수신하였으나, MFA 준수하지 않아 제1 인증을 수행하고, 제2 인증을 수행하지 않은 것으로 가정된다. 이에 따라, 제1 인증 응답 메시지에는 제1 인증과 관련된 문맥만이 기록될 수 있다.
이어서, 대리 인증자는 MFA와 관련된 문맥이 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정할 수 있다(S603). 예컨대, 대리 인증자는 MFA를 요청하는 문맥을 포함하는 제2 인증 요청 메시지를 아이디 제공자에 전송한 경우에, 제1 인증 응답 메시지에 MFA와 관련된 문맥이 포함되어 있는지 여부를 판정할 수 있다. 다른 예로서, 대리 인증자는 서비스 제공자에서 제공되는 특정 서비스가 MFA를 요구하는 서비스인 경우에, 제1 인증 응답 메시지에 MFA와 관련된 문맥이 포함되어 있는지 여부를 판정할 수 있다. MFA와 관련된 문맥에는 제1 인증 및 제2 인증(즉, 다요소 인증)과 관련된 정보가 포함될 수 있다. 예컨대, 다요소 인증 성공 시점 등에 대한 정보가 MFA와 관련된 문맥에 포함될 수 있다.
대리 인증자는 제1 인증과 관련된 문맥이 인증 응답 메시지에 포함되고 제2 인증과 관련된 문맥이 제1 인증 응답 메시지에 포함되지 않은 것으로 판정되면, 아이디 제공자가 다요소 인증을 수행하지 않은 것으로 판정하여, 자체적으로 사용자에 대한 제2 인증을 수행하는 루틴을 진행할 수 있다(S605). 일 실시예에 따르면, 대리 인증자는 미리 등록된 사용자의 인증 정보로부터 사용자 단말의 식별자를 획득하고, 획득된 식별자와 관련된 사용자 단말로 제2 인증 데이터를 요청할 수 있다(S607). 이어서, 대리 인증자는 제2 인증 데이터를 사용자 단말로부터 수신할 수 있다(S609).
제2 인증 데이터가 TOTP인 경우, 대리 인증자는 사용자 단말로 TOTP를 요청하여, 비밀키를 기초하여 생성된 TOTP를 사용자 단말로부터 수신할 수 있다. 소프트웨어 기반의 TOTP 생성기가 이용되어 TOTP가 생성될 수 있다. 이러한 경우, 대리 인증자는 사용자의 인증정보에 포함된 비밀키에 기초하여, 수신된 TOTP를 검증하고 사용자에 대한 제2 인증을 수행할 수 있다.
다른 예로서, 제2 인증 데이터가 생체 데이터인 경우, 대리 인증자는 사용자 단말로 생체 데이터를 요청하여, 사용자의 생체 데이터를 사용자 단말로부터 수신할 수 있다. 이러한 경우, 대리 인증자는 사용자의 인증정보에 포함된 생체 데이터와 사용자 단말로부터 수신한 생체 데이터 간의 일치율에 기초하여, 사용자에 대한 제2 인증을 수행할 수 있다.
이외에도, 다양한 유형의 제2 인증 데이터가 이용되어, 사용자에 대한 제2 인증이 수행될 수 있다.
대리 인증자는 제2 인증 수행이 완료되면, 다요소 인증과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 생성할 수 있다(S611). 제2 인증 메시지는 제1 인증 메시지 및 제2 인증 수행에 기초하여 생성될 수 있다. 대리 인증자는 서비스 제공자에서 판독 가능한 규격으로 제2 인증 응답 메시지를 생성할 수 있다. 예컨대, 서비스 제공자가 제1 규격의 메시지를 판독할 수 있으면, 대리 인증자는 제1 규격에 부합되도록 제2 인증 응답 메시지를 생성할 수 있다. 다른 예로서, 서비스 제공자가 제2 규격의 메시지를 판독할 수 있으면, 대리 인증자는 제2 규격에 부합되도록 제2 인증 응답 메시지를 생성할 수 있다. 여기서, 제1 규격은 OIDC 규격일 수 있고, 제2 규격은 SAML 규격일 수 있다.
다음으로, 대리 인증자는 제2 인증 응답 메시지를 서비스 제공자로 전송할 수 있다(S613). 그 후, 서비스 제공자는 제2 인증 응답 메시지에 기초하여, 특정 서비스를 사용자 단말로 제공할 수 있다.
도 7은 본 개시의 일 실시예에 따른, 제1 인증 응답 메시지를 예시하는 도면이고, 도 8은 본 개시의 일 실시예에 따른 제2 인증 응답 메시지를 예시하는 도면이다.
도 7에 예시된 제1 인증 응답 메시지는, 아이디 제공자에 의해서 발송된 메시지일 수 있다. 도 7에서는, 아이디와 패스워드에 기초하여 수행된 제1 인증 관련 문맥(710)이 제1 인증 응답 메시지에 포함된 것으로 예시되어 있다.
도 8에 예시된 제2 인증 응답 메시지는 MFA 관련 문맥(810)을 포함하는 메시지로서, 대리 인증자에 의해서 생성될 수 있다. 도 8에 예시된 바와 같이, MFA와 관련된 문맥(810), 즉, 제1 인증 및 제2 인증(즉, 다요소 인증)과 관련된 문맥(810)은 사전에 약속된 태그(AuthnContextClassRef) 사이에 기록될 수 있다.
한편, 대리 인증자는 서비스 제공자의 개체 식별자 및 아이디 제공자의 개체 식별자를 테넌트(tenant) 형태로 관리할 수 있다. 가령, 대리 인증자는 인증 요청 메시지를 전송할 때에, 서비스 제공자의 개체 식별자와 아이디 제공자의 개체 식별자를 연관하여 환경변수를 설정할 수 있다. 환경변수에 기초로, 제2 인증에 대한 재시도 횟수, 제2 인증을 위한 세션의 유효 시간, 접근 제어 필터 등이 설정될 수 있다.
도 9는 본 개시의 다른 실시예에 따른, 서비스 제공자에게 인증 응답 메시지를 제공하는 방법을 설명하기 위한 신호 흐름도이다.
대리 인증자는 인증 요청 메시지를 전송한 후에, 아이디 제공자로부터 제1 인증 응답 메시지를 수신할 수 있다(S901). 도 9에서는 아이디 제공자는 MFA 요청 관련 문맥을 포함하는 제2 규격의 인증 메시지를 수신하였으나, 제1 인증을 수행하고 제2 인증을 수행하지 않은 것으로 가정된다. 이에 따라, 제1 인증 응답 메시지에는 제1 인증과 관련된 문맥만이 기록될 수 있다. 다만, 아이디 제공자는 MFA를 지원하나 MFA 문맥을 준수하지 않은 개체인 것으로 가정된다.
이어서, 대리 인증자는 MFA와 관련된 문맥이 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정할 수 있다(S903). 예컨대, 대리 인증자는 MFA를 요청하는 문맥을 포함하는 인증 요청 메시지를 아이디 제공자에 전송한 경우에, 제1 인증 응답 메시지에 MFA와 관련된 데이터가 포함되어 있는지 여부를 판정할 수 있다. 다른 예로서, 대리 인증자는 서비스 제공자에서 제공되는 특정 서비스가 MFA를 요구하는 서비스인 경우에, 제1 인증 응답 메시지에 MFA와 관련된 데이터가 포함되어 있는지 여부를 판정할 수 있다.
대리 인증자는 제1 인증과 관련된 문맥이 인증 응답 메시지에 포함되고 제2 인증과 관련된 문맥이 제1 인증 응답 메시지에 포함되지 않은 것으로 판정되면, 아이디 제공자가 다요소 인증을 수행하지 않은 것으로 판정하여, 아이디 제공자를 통해 제2 인증을 수행하는 루틴을 진행할 수 있다. 첨언하면, MFA 문맥을 준수하지 않는 아이디 제공자는, MFA를 지원함에도 불구하고 MFA 요청 관련 문맥을 포함하는 인증 요청 메시지를 정확하게 판독하지 못하여, 제1 인증 관련 문맥만을 포함하는 제1 인증 응답 메시지를 대리 인증자에 전송할 수 있다. 이러한 경우에 대비하여, 대리 인증자는 제2 인증과 관련된 문맥이 제1 인증 응답 메시지에 포함되지 않고, 아이디 제공자가 MFA를 준수한 것으로 판정되면, 아이디 제공자를 통해 제2 인증을 진행하는 루틴을 진행할 수 있다.
제2 인증을 루틴이 진행되는 경우, 대리 인증자는 아이디 제공자로 제2 인증을 요청하는 메시지를 전송할 수 있다(S905).
이어서, 아이디 제공자는 사용자 단말로 제2 인증 데이터를 요청할 수 있다(S907). 그 후, 아이디 제공자는 제2 인증 데이터를 사용자 단말로부터 수신할 수 있다(S909).
제2 인증 데이터가 TOTP인 경우, 아이디 제공자는 사용자 단말로 TOTP를 요청하여, 비밀키를 기초하여 생성된 OTP를 사용자 단말로부터 수신할 수 있다. 이러한 경우, 아이디 제공자는 사용자가 미리 등록한 비밀키에 기초하여, 수신된 OTP를 검증하고 사용자에 대한 제2 인증을 수행할 수 있다. 다른 예로서, 제2 인증 데이터가 생체 데이터인 경우, 아이디 제공자는 사용자 단말로 생체 데이터를 요청하여, 사용자의 생체 데이터를 사용자 단말로부터 수신할 수 있다. 이러한 경우, 아이디 제공자는 미리 등록된 생체 데이터와 사용자 단말로부터 수신한 생체 데이터 간의 일치율에 기초하여, 사용자에 대한 제2 인증을 수행할 수 있다.
이어서, 아이디 제공자는 제2 인증 수행 결과를 대리 인증자로 전송할 수 있다(S911).
그 후, 대리 인증자는 제1 응답 메시지 및 수신된 제2 인증 수행 결과에 기초하여, 다요소 인증과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 생성할 수 있다(S913). 대리 인증자는 서비스 제공자에서 판독 가능한 규격으로 제2 인증 응답 메시지를 생성할 수 있다. 예컨대, 서비스 제공자가 제1 규격의 메시지를 판독할 수 있으면, 대리 인증자는 제1 규격에 부합되도록 제2 인증 응답 메시지를 생성할 수 있다. 다른 예로서, 서비스 제공자가 제2 규격의 메시지를 판독할 수 있으면, 대리 인증자는 제2 규격에 부합되도록 제2 인증 응답 메시지를 생성할 수 있다. 여기서, 제1 규격은 OIDC 규격일 수 있고, 제2 규격은 SAML 규격일 수 있다.
다음으로, 대리 인증자는 제2 인증 응답 메시지를 서비스 제공자로 전송할 수 있다(S915). 그 후, 서비스 제공자는 제2 인증 응답 메시지에 기초하여, 특정 서비스를 사용자 단말로 제공할 수 있다.
한편, 몇몇 실시예에 따르면, 대리 인증자는 MFA 관련 문맥을 포함하는 제1 규격의 제1 인증 응답 메시지를 아이디 제공자로부터 수신할 수 있다. 이러한 경우, 대리 인증자는 제1 규격의 제1 인증 응답 메시지를 제2 규격의 인증 응답 메시지로 변환할 수 있다.
도 10은 본 개시의 일 실시예에 따른, 다요소 인증 방법을 설명하기 위한 순서도이다. 도 10에 도시된 방법은, 본 개시의 목적을 달성하기 위한 일 실시예일 뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 10에 도시된 방법은 컴퓨팅 시스템에 포함된 적어도 하나의 프로세서(예컨대, 도 12에 예시된 프로세서)에 의해서 수행될 수 있다. 여기서, 컴퓨팅 시스템은 대리 인증자, 서비스 제공자 및 아이디 제공자 중 적어도 하나를 포함할 수 있다. 설명의 편의를 위해서 도 2는 도 1에 도시된 대리 인증자에 의해서 수행되는 것으로 가정하여 설명하기로 한다.
대리 인증자는 아이디 제공자로부터 특정 서비스에 대한 제1 인증 응답 메시지를 수신할 수 있다(S1010).
이어서, 대리 인증자는 다요소 인증과 관련된 문맥이 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정할 수 있다(S1020). 가령, 대리인 인증자는 서비스 제공자와 연관된 개체 식별자에 기초하여, 특정 서비스에 대한 다요소 인증이 필요한지 여부를 판정하고, 특정 서비스에 대한 다요소 인증이 필요한 것으로 판정된 경우에 다요소 인증과 관련된 문맥이 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정할 수 있다.
다음으로, 대리 인증자는 제1 인증과 관련된 문맥이 제1 인증 응답 메시지에 포함되고 제2 인증과 관련된 문맥이 제1 인증 응답 메시지에 포함되지 않은 것으로 판정되면, 사용자에 대한 제2 인증을 수행할 수 있다(S1030). 예컨대, 대리 인증자는 제2 인증과 관련된 데이터를 사용자 단말로부터 수신하고, 수신된 제2 인증과 관련된 인증 데이터에 기초하여 사용자에 대한 제2 인증을 수행할 수 있다. 가령, 대리 인증자는 아이디 제공자가 다요소 인증을 준수하지 않은 것으로 판정되면, 제2 인증과 관련된 데이터를 상기 사용자 단말로 요청하고, 요청에 대한 응답으로 사용자 단말로부터 상기 제2 인증과 관련된 데이터를 수신할 수 있다. 몇몇 실시예에 따르면, 대리 인증자는 미리 등록된 사용자의 인증정보로부터 획득된 인증 데이터와 사용자 단말로부터 수신된 제2 인증과 관련된 데이터를 비교하여, 제2 인증을 수행할 수 있다.
다른 예로서, 대리 인증자는 아이디 제공자가 다요소 인증을 준수하면, 사용자에 대한 제2 인증 수행을 아이디 제공자로부터 요청하고, 제2 인증 수행과 관련된 결과 데이터를 아이디 제공자로부터 수신할 수 있다.
이어서, 대리 인증자는 제1 인증 및 상기 제2 인증에 기초한 다요소 인증과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 서비스 제공자로 전송할 수 있다(S1040). 대리 인증자는 아이디 제공자가 다요소 문맥을 준수하는지 여부를 판정하고, 아이디 제공자가 다요소 문맥을 준수하지 않은 것으로 판정되면, 제1 인증 및 제2 인증과 관련된 문맥을 포함하는 제2 인증 메시지를 생성할 수 있다.
대리 인증자는 단계 S1020에서 제1 인증 응답 메시지에 다요소 인증 관련 문맥이 포함된 것으로 판정되면, 제1 인증 응답 메시지가 제1 규격 또는 제2 규격인지 여부를 판정할 수 있다(S1050).
대리인 인증자는 제1 인증 메시지가 제1 규격인 경우, 제1 인증 메시지를 제2 규격으로 변환하고, 변환된 제2 규격의 인증 메시지를 서비스 제공자에게 전송할 수 있다(S1060). 이때, 대리인 인증자는 서비스 제공자가 제2 규격의 인증 메시지를 판독 가능한 경우에, 제1 인증 메시지를 제2 규격의 메시지로 변환할 수 있다.
대리인 인증자는 단계 S1050에서 제1 인증 메시지가 제2 규격의 메시지인 경우에, 제1 인증 메시지를 수정하는 것 없이, 원본 그대로 서비스 제공자로 전송할 수 있다(S1070).
한편, 아이디 대리자가 MFA를 수행하였음에도 불구하고, MFA 문맥이 포함되지 않은 인증 응답 메시지를 인증 대리자로 전송하는 상황이 발생할 수 있다. 예컨대, MFA를 준수하나 MFA 문맥을 준수하지 않은 아이디 제공자가 상기와 같은 상황을 발생시킬 수 있다. MFA를 준수하나 MFA 문맥을 준수하지 않은 아이디 제공자로부터 수신된 인증 응답 메시지에는, MFA 문맥이 포함되지 않거나, 규격에 맞지 않은 MFA 문맥이 포함될 수 있다.
이러한 상황을 대비하여, 대리 인증자는 아이디 제공자로부터 특정 서비스에 대한 제1 인증 응답 메시지를 수신하면, 다요소 인증과 관련된 문맥이 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정할 수 있다. 대리 인증자는 제1 인증 응답 메시지에 다요소 인증과 관련된 문맥이 포함되지 않으면, 아이디 제공자가 다요소 인증을 실행하였는지 여부를 판정할 수 있다. 대리 인증자는 아이디 제공자의 개체 식별자가 다요소 실행 개체 목록에 포함되어 있으면, 아이디 제공자가 다요소 인증을 실행한 것으로 판정할 수 있다. 그리고 대리 인증자는 아이디 제공자가 다요소 인증을 실행한 것으로 판정되면, 제2 인증 응답 메시지를 생성하고, 생성된 제2 인증 응답 메시지를 서비스 제공자로 전송할 수 있다.
몇몇 실시예에 따르면, 다요소 실행 개체 목록이 대리 인증자에 미리 등록될 수 있다. 다요소 실행 개체 목록은 MFA를 준수하는 개체들 중에서 일부 또는 전부를 포함할 수 있다.
도 11은 본 개시의 일 실시예에 따른, 대리 인증자의 기능적인 구성을 도시한 블록도이다. 여기서, 대리 인증자는 적어도 하나의 프로세서와 메모리를 포함하는 컴퓨팅 장치일 수 있다.
도 11에 예시된 바와 같이, 대리 인증자는 보안 처리부(110), MFA 제어부(120), MFA 선택부(130) 및 MFA 실행부(140) 및 MFA 문맥 처리부(150)를 포함할 수 있으며, 이러한 구성들은 하드웨어/소프트웨어를 통해서 구현될 수 있다.
보안 처리부(110)는 보안 관련된 규칙을 결정할 수 있다. 예컨대, 보안 처리부(110)는 세션 유지 시간, 제2 인증과 관련된 시도 횟수, 계정 잠금 등과 같은 보안과 관련된 정책을 적용할 수 있다. 보안 정책은 관리자에 의해서 결정될 수 있다.
MFA 문맥 처리부(150)는 각종 메시지를 송수신할 수 있다. 예컨대, MFA 문맥 처리부(150)는 특정 서비스에 대한 제1 인증 요청 메시지를 서비스 제공자로부터 수신하거나, 제1 인증 응답 메시지를 아이디 제공자로부터 수신할 수 있다. 다른 예로서, MFA 문맥 처리부(150)는 제2 인증 요청 메시지를 아이디 제공자로 전송하거나, 제2 인증 응답 메시지를 서비스 제공자로 전송할 수 있다. 또한, MFA 문맥 처리부(150)는 MFA 요청과 관련된 문맥을 포함하는 제2 인증 요청 메시지를 생성하거나, MFA과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 생성할 수 있다. 또한, MFA 문맥 처리부(150)는 메시지 변환을 수행할 수 있다.
몇몇 실시예에 따르면, MFA 제어부(120)는 서비스 제공자로부터 제1 인증 요청 메시지가 수신되면, 특정 서비스가 다요소 인증이 필요한 서비스인지 여부를 판정할 수 있다. MFA 문맥 처리부(150)는 특정 서비스가 다요소 인증이 필요한 서비스라는 판정에 응답하여, 제1 인증 요청 메시지에 기초하여 다요소 인증을 요청하기 위한 제2 인증 요청 메시지를 생성하고, 생성된 제2 인증 요청 메시지를 아이디 제공자로 전송할 수 있다.
MFA 제어부(120)는 메시지 분석을 통해, MFA 실행부가 동작하도록 제어할 수 있다. 구체적으로, MFA 제어부(120)는 다요소 인증과 관련된 문맥이 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정하고, 제1 인증과 관련된 문맥이 제1 인증 응답 메시지에 포함되고 제2 인증과 관련된 문맥이 제1 인증 응답 메시지에 포함되지 않은 것으로 판정되면, 제2 인증 실행을 결정할 수 있다.
MFA 선택부(130)는 복수의 MFA 소프트웨어 중에서, 서비스 제공자/아이디 제공자에게 적용되는 MFA 소프트웨어를 선택할 수 있다. 복수의 MFA 소프트웨어는 특정 서비스 제공자/아이디 제공자에서 사용중인 상용 소프트웨어를 포함할 수 있다.
MFA 실행부(140)는 MFA 제어부(120)에서 제2 인증 실행하는 것으로 결정되면, MFA 선택부(130)에 의해서 선택된 MFA 소프트웨어를 이용하여, 사용자에 대한 제2 인증을 수행할 수 있다. 선택된 MFA 소프트웨어에 기초하여, MFA 실행부(140)는 TOTP, OTP, 생체 데이터, 문자 메시지 보안 코드 등 중 하나 이상을 이용하여 제2 인증을 수행할 수 있다. 예컨대, MFA 실행부(140)는 제2 인증과 관련된 데이터를 사용자 단말로부터 수신하고, 수신된 제2 인증과 관련된 인증 데이터에 기초하여 사용자에 대한 제2 인증을 수행할 수 있다.
MFA 실행부(140)를 통해 제2 인증이 수행된 경우, MFA 문맥 처리부(150)는 제1 인증 및 제2 인증에 기초한 다요소 인증과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 서비스 제공자로 전송할 수 있다. 일 실시예에 따르면, MFA 제어부(120)는 아이디 제공자가 다요소 문맥을 준수하는지 여부를 판정하고, MFA 문맥 처리부(150)는 아이디 제공자가 다요소 문맥을 준수하지 않은 것으로 판정되면, 제1 인증 및 제2 인증과 관련된 문맥을 포함하는 제2 인증 메시지를 생성할 수 있다.
도 12는 본 개시의 몇몇 실시예들에 따른 컴퓨팅 시스템의 하드웨어 구성도이다. 도 12의 컴퓨팅 시스템(1000)은, 하나 이상의 프로세서(1100), 시스템 버스(1600), 통신 인터페이스(1200), 프로세서(1100)에 의하여 수행되는 컴퓨터 프로그램(1500)을 로드(load)하는 메모리(1400)와, 컴퓨터 프로그램(1500)을 저장하는 스토리지(1300)를 포함할 수 있다.
도 12의 컴퓨팅 시스템(1000)은, 예를 들어 도 1을 참조하여 설명한 다요소 인증 시스템을 구성하는 컴퓨팅 시스템의 하드웨어 구조를 제시하는 것일 수 있다. 예컨대, 도 12의 컴퓨팅 시스템(1000)은 대리 인증자, 서비스 제공자 및 아이디 제공자 중 적어도 하나를 하드웨어 구조를 예시한 것일 수 있다.
프로세서(1100)는 컴퓨팅 시스템(1000)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1100)는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 메모리(1400)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1400)는 본 개시의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(1300)로부터 하나 이상의 컴퓨터 프로그램(1500)을 로드(load) 할 수 있다. 스토리지(1300)는 하나 이상의 컴퓨터 프로그램(1500)을 비임시적으로 저장할 수 있다.
컴퓨터 프로그램(1500)은 본 개시의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 컴퓨터 프로그램(1500)이 메모리(1400)에 로드 되면, 프로세서(1100)는 하나 이상의 인스트럭션들을 실행시킴으로써 본 개시의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
일 실시예에 따르면, 컴퓨터 프로그램(1500)은, 아이디 제공자로부터 특정 서비스에 대한 제1 인증 응답 메시지를 수신하는 동작, 다요소 인증과 관련된 문맥이 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정하는 동작, 제1 인증과 관련된 문맥이 제1 인증 응답 메시지에 포함되고 제2 인증과 관련된 문맥이 제1 인증 응답 메시지에 포함되지 않은 것으로 판정되면, 사용자에 대한 제2 인증을 수행하는 동작 및 제1 인증 및 제2 인증에 기초한 다요소 인증과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 서비스 제공자로 동작을 위한 인스트럭션들을 포함할 수 있다.
몇몇 실시예에 따르면, 컴퓨터 프로그램(1500)은, 아이디 제공자로부터 특정 서비스에 대한 제1 인증 응답 메시지를 수신하는 동작, 다요소 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정하는 동작, 상기 제1 인증 응답 메시지에 다요소 인증과 관련된 문맥이 포함되지 않으면, 상기 아이디 제공자가 다요소 인증을 실행하였는지 여부를 판정하는 동작, 상기 아이디 제공자가 다요소 인증을 실행한 것으로 판정되면, 상기 다요소 인증과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 생성하는 동작 및 상기 생성된 제2 인증 응답 메시지를 서비스 제공자로 전송하는 동작을 위한 인스트럭션들을 포함할 수 있다.
몇몇 실시예들에서, 도 12을 참조하여 설명된 컴퓨팅 시스템(1000)은 가상 머신 등 클라우드 기술에 기반하여 서버 팜(server farm)에 포함된 하나 이상의 물리 서버(physical server)를 이용하여 구성될 수 있다. 이 경우, 도 12에 도시된 구성 요소 중 프로세서(1100), 메모리(1400) 및 스토리지(1300) 중 적어도 일부는 가상 하드웨어(virtual hardware)일 수 있을 것이며, 통신 인터페이스(1200) 또한 가상 스위치(virtual switch) 등 가상화된 네트워킹 요소로 구성될 수 있을 것이다.
지금까지 도 1 내지 도 12를 참조하여 본 개시의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 제2 컴퓨팅 장치에서 사용될 수 있다. 또한, 도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행 되어야만 하거나 또는 모든 도시 된 동작들이 실행 되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다.
이상 첨부된 도면을 참조하여 본 개시의 실시예들을 설명하였지만, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (18)

  1. 컴퓨팅 시스템에 의하여 수행되는 다요소 인증 방법에 있어서,
    아이디 제공자로부터 특정 서비스에 대한 제1 인증 응답 메시지를 수신하는 단계;
    다요소 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정하는 단계;
    제1 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되고 제2 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되지 않은 것으로 판정되면, 사용자에 대한 제2 인증을 수행하는 단계; 및
    상기 제1 인증 및 상기 제2 인증에 기초한 다요소 인증과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 서비스 제공자로 전송하는 단계를 포함하는,
    다요소 인증 방법.
  2. 제1항에 있어서,
    상기 사용자에 대한 제2 인증을 수행하는 단계는,
    상기 제2 인증과 관련된 데이터를 사용자 단말로부터 수신하는 단계; 및
    상기 수신된 제2 인증과 관련된 인증 데이터에 기초하여 상기 사용자에 대한 제2 인증을 수행하는 단계를 포함하는,
    다요소 인증 방법.
  3. 제2항에 있어서,
    상기 제2 인증과 관련된 데이터를 사용자 단말로부터 수신하는 단계는,
    상기 아이디 제공자가 다요소 인증을 준수하지 않은 것으로 판정되면, 상기 제2 인증과 관련된 데이터를 상기 사용자 단말로 요청하는 단계; 및
    상기 요청에 대한 응답으로 상기 사용자 단말로부터 상기 제2 인증과 관련된 데이터를 수신하는 단계를 포함하는,
    다요소 인증 방법.
  4. 제2항에 있어서,
    상기 사용자에 대한 제2 인증을 수행하는 단계는,
    미리 등록된 인증정보로부터 획득된 인증 데이터와 상기 수신된 제2 인증과 관련된 데이터를 비교하여, 상기 제2 인증을 수행하는 단계를 포함하는,
    다요소 인증 방법.
  5. 제1항에 있어서,
    상기 사용자에 대한 제2 인증을 수행하는 단계는,
    상기 아이디 제공자가 다요소 인증을 준수하면, 상기 사용자에 대한 제2 인증 수행을 상기 아이디 제공자로부터 요청하는 단계; 및
    상기 제2 인증 수행과 관련된 데이터를 상기 아이디 제공자로부터 수신하는 단계를 포함하는,
    다요소 인증 방법.
  6. 제1항에 있어서,
    상기 서비스 제공자와 연관된 개체 식별자에 기초하여, 상기 특정 서비스에 대한 다요소 인증이 필요한지 여부를 판정하는 단계를 더 포함하고,
    상기 다요소 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정하는 단계는, 상기 특정 서비스에 대한 다요소 인증이 필요한 것으로 판정된 경우에 수행되는,
    다요소 인증 방법.
  7. 제1항에 있어서,
    상기 제2 인증 응답 메시지를 서비스 제공자로 전송하는 단계는,
    상기 아이디 제공자가 다요소 문맥을 준수하는지 여부를 판정하는 단계;
    상기 아이디 제공자가 다요소 문맥을 준수하지 않은 것으로 판정되면, 상기 제1 인증 및 상기 제2 인증과 관련된 문맥을 포함하는 제2 인증 메시지를 생성하는 단계; 및
    상기 생성된 제2 인증 메시지를 상기 서비스 제공자로 전송하는 단계를 포함하는,
    다요소 인증 방법.
  8. 제1항에 있어서,
    상기 제1 인증 응답 메시지를 수신하는 단계 이전에,
    상기 서비스 제공자로부터 제1 인증 요청 메시지를 수신한 것에 응답하여, 상기 아이디 제공자로 제2 인증 요청 메시지를 전송하는 단계를 더 포함하고,
    상기 제1 인증 응답 메시지를 수신하는 단계는,
    상기 제2 인증 요청 메시지에 대한 응답으로, 상기 제1 인증 응답 메시지를 상기 아이디 제공자로부터 수신하는 단계를 포함하는,
    다요소 인증 방법.
  9. 제8항에 있어서,
    상기 제2 인증 요청 메시지를 전송하는 단계는,
    상기 특정 서비스가 다요소 인증이 필요한 서비스인지 여부를 판정하는 단계;
    상기 특정 서비스가 다요소 인증이 필요한 서비스라는 판정에 응답하여, 상기 제1 인증 요청 메시지에 기초하여 다요소 인증을 요청하기 위한 제2 인증 요청 메시지를 생성하는 단계; 및
    상기 생성된 제2 인증 요청 메시지를 상기 아이디 제공자로 전송하는 단계를 포함하는,
    다요소 인증 방법.
  10. 제9항에 있어서,
    상기 제2 인증 요청 메시지를 생성하는 단계는,
    제1 규격의 제1 인증 요청 메시지를 제2 규격의 제2 인증 요청 메시지로 변환하는 단계를 포함하는,
    다요소 인증 방법.
  11. 제8항에 있어서,
    상기 제2 인증 요청 메시지는 다요소 인증 요청과 관련된 문맥을 포함하는 SAML(Security Assertion Markup Language) 규격의 메시지 또는 OIDC((OpenID Connect) 규격의 메시지인 것인,
    다요소 인증 방법.
  12. 컴퓨팅 시스템에 의하여 수행되는 다요소 인증 방법에 있어서,
    아이디 제공자로부터 특정 서비스에 대한 제1 인증 응답 메시지를 수신하는 단계;
    다요소 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정하는 단계;
    상기 제1 인증 응답 메시지에 다요소 인증과 관련된 문맥이 포함되지 않으면, 상기 아이디 제공자가 다요소 인증을 실행하였는지 여부를 판정하는 단계;
    상기 아이디 제공자가 다요소 인증을 실행한 것으로 판정되면, 상기 다요소 인증과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 생성하는 단계; 및
    상기 생성된 제2 인증 응답 메시지를 서비스 제공자로 전송하는 단계를 포함하는,
    다요소 인증 방법.
  13. 제12항에 있어서,
    상기 아이디 제공자가 다요소 인증을 실행하였는지 여부를 판정하는 단계는,
    상기 아이디 제공자와 관련된 개체 식별자가 다요소 실행 개체 목록에 포함되어 있으면, 상기 아이디 제공자가 다요소 인증을 실행한 것으로 판정하는 단계를 포함하는,
    다요소 인증 방법.
  14. 컴퓨팅 장치에 있어서,
    아이디 제공자로부터 특정 서비스에 대한 제1 인증 응답 메시지를 수신하는 MFA 문맥 처리부;
    다요소 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되어 있는지 여부를 판정하고, 제1 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되고 제2 인증과 관련된 문맥이 상기 제1 인증 응답 메시지에 포함되지 않은 것으로 판정되면, 제2 인증 실행을 결정하는 MFA 제어부; 및
    상기 제2 인증 실행이 결정된 것에 응답하여, 사용자에 대한 제2 인증을 수행하는 MFA 실행부를 포함하고,
    상기 MFA 문맥 처리부는, 상기 제1 인증 및 상기 제2 인증에 기초한 다요소 인증과 관련된 문맥을 포함하는 제2 인증 응답 메시지를 서비스 제공자로 전송하는,
    컴퓨팅 장치.
  15. 제14항에 있어서,
    상기 MFA 실행부는,
    상기 제2 인증과 관련된 데이터를 사용자 단말로부터 수신하고, 상기 수신된 제2 인증과 관련된 인증 데이터에 기초하여 상기 사용자에 대한 제2 인증을 수행하는,
    컴퓨팅 장치.
  16. 제15항에 있어서,
    상기 MFA 제어부는, 상기 아이디 제공자가 다요소 문맥을 준수하는지 여부를 판정하고,
    상기 MFA 문맥 처리부는, 상기 아이디 제공자가 다요소 문맥을 준수하지 않은 것으로 판정되면, 상기 제1 인증 및 상기 제2 인증과 관련된 문맥을 포함하는 제2 인증 메시지를 생성하는,
    컴퓨팅 장치.
  17. 제14항에 있어서,
    상기 MFA 제어부는, 상기 서비스 제공자로부터 제1 인증 요청 메시지가 수신되면, 상기 특정 서비스가 다요소 인증이 필요한 서비스인지 여부를 판정하고,
    상기 MFA 문맥 처리부는, 상기 특정 서비스가 다요소 인증이 필요한 서비스라는 판정에 응답하여, 상기 제1 인증 요청 메시지에 기초하여 다요소 인증을 요청하기 위한 제2 인증 요청 메시지를 생성하고, 상기 생성된 제2 인증 요청 메시지를 상기 아이디 제공자로 전송하는,
    컴퓨팅 장치.
  18. 다요소 인증을 위한 컴퓨팅 시스템에 있어서,
    특정 서비스에 대한 사용자 인증을 수행하고, 상기 수행된 사용자 인증 결과에 기초하여 제1 인증 응답 메시지를 생성하는 아이디 제공자;
    상기 아이디 제공자로부터 제1 인증 응답 메시지를 수신하는 것에 응답하여, 상기 아이디 제공자에 의해 다요소 인증이 수행되었는지 여부를 판정하여 다요소 인증이 수행되지 않은 것으로 판정되면 상기 사용자에 대한 제2 인증을 수행하고 제1 인증 및 상기 제2 인증에 기초한 다요소 문맥을 포함하는 제2 인증 메시지를 생성하는 대리 인증자; 및
    상기 대리 인증자로부터 제2 인증 응답 메시지를 수신하고, 상기 제2 인증 응답 메시지에 기초하여 사용자 단말로 상기 특정 서비스를 제공하는 서비스 제공자를 포함하는,
    컴퓨팅 시스템.
KR1020230197799A 2023-12-29 2023-12-29 다요소 인증 방법 및 시스템 KR102654983B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230197799A KR102654983B1 (ko) 2023-12-29 2023-12-29 다요소 인증 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230197799A KR102654983B1 (ko) 2023-12-29 2023-12-29 다요소 인증 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102654983B1 true KR102654983B1 (ko) 2024-04-05

Family

ID=90713994

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230197799A KR102654983B1 (ko) 2023-12-29 2023-12-29 다요소 인증 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102654983B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160004363A (ko) * 2013-04-26 2016-01-12 인터디지탈 패튼 홀딩스, 인크 요구된 인증 보증 레벨을 달성하기 위한 다중요소 인증
US20170054729A1 (en) * 2015-08-21 2017-02-23 Adp, Llc Identity Management System
JP2018147326A (ja) * 2017-03-07 2018-09-20 ヤフー株式会社 生成装置、生成方法及び生成プログラム
JP2022518638A (ja) * 2019-02-01 2022-03-16 オラクル・インターナショナル・コーポレイション ユーザフットプリントなしのマルチファクタ認証
KR20220170159A (ko) 2021-06-22 2022-12-29 주식회사 이스트림 멀티팩터 인증 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160004363A (ko) * 2013-04-26 2016-01-12 인터디지탈 패튼 홀딩스, 인크 요구된 인증 보증 레벨을 달성하기 위한 다중요소 인증
US20170054729A1 (en) * 2015-08-21 2017-02-23 Adp, Llc Identity Management System
JP2018147326A (ja) * 2017-03-07 2018-09-20 ヤフー株式会社 生成装置、生成方法及び生成プログラム
JP2022518638A (ja) * 2019-02-01 2022-03-16 オラクル・インターナショナル・コーポレイション ユーザフットプリントなしのマルチファクタ認証
KR20220170159A (ko) 2021-06-22 2022-12-29 주식회사 이스트림 멀티팩터 인증 방법

Similar Documents

Publication Publication Date Title
US10171241B2 (en) Step-up authentication for single sign-on
Jacomme et al. An extensive formal analysis of multi-factor authentication protocols
US9300653B1 (en) Delivery of authentication information to a RESTful service using token validation scheme
US8353016B1 (en) Secure portable store for security skins and authentication information
US8220035B1 (en) System and method for trusted embedded user interface for authentication
US8555078B2 (en) Relying party specifiable format for assertion provider token
US9191381B1 (en) Strong authentication via a federated identity protocol
US10873583B2 (en) Extensible framework for authentication
US11063930B1 (en) Resource access provisioning for on-premises network client devices
US10554641B2 (en) Second factor authorization via a hardware token device
US11874905B2 (en) Establishing access sessions
CN109388937B (zh) 一种多因子身份认证的单点登录方法及登录系统
Singh et al. Identity management in cloud computing through claim-based solution
Klieme et al. FIDOnuous: a FIDO2/WebAuthn extension to support continuous web authentication
US11621957B2 (en) Identity verification for network access
US20190132304A1 (en) Loopback verification of multi-factor authentication
CN116996305A (zh) 一种多层次安全认证方法、系统、设备、存储介质及入口网关
KR102654983B1 (ko) 다요소 인증 방법 및 시스템
Ribeiro de Mello et al. Multi-factor authentication for shibboleth identity providers
US11405379B1 (en) Multi-factor message-based authentication for network resources
CN114238925A (zh) 基于jwt令牌的不互信异构系统聚合鉴权认证方法
AU2019370092B2 (en) Centralized authentication and authorization
US11917087B2 (en) Transparent short-range wireless device factor in a multi-factor authentication system
CN112970017A (zh) 设备到云存储的安全链接
US20230231837A1 (en) Authentication Risk-Scoring in an Authentication System Based on User-Specific and Organization-Specific Risk Models

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant