KR20220133206A - 신분 인증 방법 및 장치, 그리고 관련 디바이스 - Google Patents
신분 인증 방법 및 장치, 그리고 관련 디바이스 Download PDFInfo
- Publication number
- KR20220133206A KR20220133206A KR1020227026477A KR20227026477A KR20220133206A KR 20220133206 A KR20220133206 A KR 20220133206A KR 1020227026477 A KR1020227026477 A KR 1020227026477A KR 20227026477 A KR20227026477 A KR 20227026477A KR 20220133206 A KR20220133206 A KR 20220133206A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- server
- verification
- verification code
- identity
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000012795 verification Methods 0.000 claims abstract description 255
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 abstract description 11
- 230000004044 response Effects 0.000 description 46
- 238000010586 diagram Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- YSMRWXYRXBRSND-UHFFFAOYSA-N TOTP Chemical compound CC1=CC=CC=C1OP(=O)(OC=1C(=CC=CC=1)C)OC1=CC=CC=C1C YSMRWXYRXBRSND-UHFFFAOYSA-N 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 108010029660 Intrinsically Disordered Proteins Proteins 0.000 description 1
- 102100037845 Isocitrate dehydrogenase [NADP], mitochondrial Human genes 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2115—Third party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/082—Additional 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 Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
신분 인증 방법 및 장치, 및 관련된 디바이스가 제공된다. 이 방법은 다음을 포함한다: 서비스 제공자의 서버는 사용자의 사용자 신분이 신분 제공자의 서버에 의해 인증되었다는 것을 지시하는 메시지를 수신하고, 여기서, 메시지는 사용자에 구속된 검증 방법에 대한 정보를 포함한다. 서비스 제공자의 서버는 검증 방법에 대한 정보에 기초하여 검증 요청을 사용자 단말로 전송한다. 서비스 제공자의 서버는 사용자 단말에 의해 전송된 검증 코드를 수신하고, 검증 코드에 대해 검증을 수행한다. 서비스 제공자의 서버가 검증 코드를 검증하였을 때, 서비스 제공자의 서버는 사용자에 대응하는 액세스 크리덴셜(access credential)을 생성하고, 액세스 크리덴셜을 사용자 단말로 전송하고, 여기서, 액세스 크리덴셜은 사용자가 서비스 제공자의 서버를 액세스하기 위한 허가를 가진다는 것을 지시한다. 상기한 방법에 따르면, 연합된 신분 인증을 구현하는 프로세스에서, 사용자의 신분은 멀티-인자 인증을 통해 확인되어, 단일 시스템의 신분 크리덴셜의 누설로 인해 사용자 데이터 보안에 대해 야기되는 위험이 방지된다.
Description
이 출원은 "신분 인증 방법 및 장치, 그리고 관련된 디바이스"라는 명칭으로 2019년 12월 31일자로 중국 특허청에 출원된 중국 특허 출원 제201911417640.1호에 대한 우선권을 주장하고, 이 중국 특허 출원은 그 전체가 참조로 본 명세서에 통합된다.
이 출원은 컴퓨터 기술의 분야에 관한 것으로, 특히, 신분 인증(identity authentication) 방법 및 장치, 및 관련된 디바이스에 관한 것이다.
네트워크 기술의 개발로, 사용자는 종종 상이한 서비스 제공자(service provider, SP)에 의해 제공된 서비스를 이용할 필요가 있다. 그러나, 각각의 SP는 통상적으로 독립적인 신분 인증 시스템을 가진다. 사용자가 상이한 SP에 의해 제공된 서비스를 이용할 필요가 있을 때, 사용자는 서비스를 이용하기 전에 각각의 SP의 신분 인증 시스템에 의해 인증될 필요가 있다.
현재, 상이한 SP의 신분 인증 시스템은 연합될 수 있다. 싱글 사인-온(single sign on, SSO) 기술은 단일 신분 인증 시스템에서 인증을 구현하기 위하여 이용되어, 복수의 연합된 신분 인증 시스템에 대응하는 SP에 의해 제공된 서비스가 이용될 수 있다. 그러나, 복수의 신분 인증 시스템이 연합될 때, 인증은 단일 인증 크리덴셜(single authentication credential)을 이용함으로써 성공할 수 있다. 단일 인증 크리덴셜이 누설될 경우에, 공격자는 단일 시스템의 신분 크리덴셜(identity credential)을 이용함으로써 복수의 SP의 서비스를 이용할 수 있고, 사용자 정보 보안은 심각하게 위협된다.
이 출원의 실시예는 신분 인증 방법 및 장치, 및 관련된 디바이스를 개시한다. 연합된 신분 인증의 프로세스에서, 사용자의 신분은 멀티-인자 인증(multi-factor authentication)을 통해 확인되어, 단일 시스템의 신분 크리덴셜의 누설로 인해 사용자 데이터 보안에 대해 야기되는 위험이 방지되고, 연합된 신분 인증의 보안이 개선된다.
제1 양태에 따르면, 이 출원의 실시예는 연합된 신분 인증 방법을 제공하고, 신분 인증 방법은 다음을 포함한다:
서비스 제공자의 서버는 사용자의 사용자 신분이 신분 제공자의 서버에 의해 인증되었다는 것을 지시하는 메시지를 수신하고, 여기서, 메시지는 사용자에 구속된 검증 방법에 대한 정보를 포함한다.
서비스 제공자의 서버는 검증 방법에 대한 정보에 기초하여 검증 요청을 사용자 단말로 전송한다.
서비스 제공자의 서버는 사용자 단말에 의해 전송된 검증 코드를 수신하고, 검증 코드에 대해 검증을 수행한다.
서비스 제공자의 서버가 검증 코드를 검증하였을 때, 서비스 제공자의 서버는 사용자에 대응하는 액세스 크리덴셜(access credential)을 생성하고, 액세스 크리덴셜을 사용자 단말로 전송하고, 여기서, 액세스 크리덴셜은 사용자가 서비스 제공자의 서버를 액세스하기 위한 허가를 가진다는 것을 지시한다.
상기한 방법을 구현함으로써, 연합된 신분 인증 동안에, 신분 제공자의 서버가 사용자의 사용자 신분에 대해 제1 인증을 수행하고 인증이 성공한 후에, 서비스 제공자의 서버는 사용자 신분에 대해 제2 인증을 수행할 필요가 있고, 서비스 제공자의 서버는 서비스 제공자의 서버에 의한 사용자에 대한 제2 인증이 성공한 후에만, 사용자가 서비스 제공자의 자원을 액세스하는 것을 허용한다. 사용자 신분에 대한 멀티-인자 인증은 단일 시스템의 신분 크리덴셜이 연합된 신분 인증 동안에 이용되는 것을 방지하고, 단일 시스템의 신분 크리덴셜의 누설로 인해 사용자 데이터 보안에 대해 야기되는 위험을 방지하고, 연합된 신분 인증의 보안을 개선시킨다.
구체적인 실시예에서, 서비스 제공자의 서버가 검증 방법에 대한 정보에 기초하여 검증 요청을 사용자 단말로 전송하는 것은 다음을 포함한다:
서비스 제공자의 서버는 검증 방법에 대한 정보에 기초하여, 사용자가 검증 코드를 수신하는 방법을 결정하고, 여기서, 사용자가 검증 코드를 수신하는 방법은 이메일(email)을 통해 검증 코드를 수신하는 것, 또는 SMS 메시지를 통해 검증 코드를 수신하는 것을 포함한다.
서비스 제공자의 서버는 검증 요청을 사용자 단말로 전송하고, 검증 코드를 생성하고, 사용자가 검증 코드를 수신하는 결정된 방법에서, 검증 코드를 사용자에 의해 이용된 전자 디바이스로 전송한다.
구체적인 실시예에서, 검증 코드는 사용자에 의해 이용된 멀티-인자 인증 디바이스에 의해 생성되고, 메시지는 사용자의 멀티-인자 인증 키(multi-factor authentication key)를 포함한다.
서비스 제공자의 서버가 사용자 단말에 의해 전송된 검증 코드를 수신하고, 검증 코드에 대해 검증을 수행하는 것은 다음을 포함한다:
서비스 제공자의 서버는 멀티-인자 인증 디바이스에 의해 생성되고 사용자 단말에 의해 전송되는 제1 검증 코드를 수신한다.
서비스 제공자의 디바이스는 멀티-인자 인증 키에 기초하여 제2 검증 코드를 생성하고, 제2 검증 코드에 기초하여 제1 검증 코드에 대해 검증을 수행한다.
구체적인 실시예에서, 서비스 제공자의 서버가 사용자의 사용자 신분이 신분 제공자의 서버에 의해 인증되었다는 것을 지시하는 메시지를 수신하기 전에, 방법은 다음을 더 포함한다:
서비스 제공자의 서버는 사용자 단말에 의해 전송된 제1 액세스 요청을 수신하고, 여기서, 제1 액세스 요청은 신분 제공자의 식별자(identifier)를 포함한다.
서비스 제공자의 서버는 제1 액세스 요청에 기초하여 인증 요청을 생성하고, 여기서, 인증 요청은 서비스 제공자의 식별자를 포함한다.
서비스 제공자의 서버는 신분 제공자의 식별자에 기초하여 신분 제공자의 서버의 어드레스를 결정하고; 인증 요청을 신분 제공자의 서버로 전송하고, 여기서, 인증 요청은 사용자의 사용자 신분에 대해 인증을 수행하고 인증 결과에 기초하여 메시지를 사용자 단말로 전송하도록 신분 제공자의 서버에 지시한다.
구체적인 실시예에서, 방법은 다음을 더 포함한다: 서비스 제공자의 서버는 사용자 단말에 의해 전송된 제2 액세스 요청을 수신하고, 여기서, 제2 액세스 요청은 액세스 크리덴셜을 포함한다.
서비스 제공자의 서버가 액세스 크리덴셜이 서비스 제공자의 서버에 의해 발행된 유효한 액세스 크리덴셜인 것으로 결정할 때, 서비스 제공자의 서버는 제2 액세스 요청을 이용함으로써 액세스되어야 할 데이터를 사용자 단말로 전송하고, 여기서, 서비스 제공자는 클라우드 서비스 제공자(cloud service provider)일 수 있다.
제2 양태에 따르면, 이 출원의 실시예는 신분 인증 장치를 제공하고, 신분 인증 장치는:
사용자의 사용자 신분이 신분 제공자의 서버에 의해 인증되었다는 것을 지시하는 메시지를 수신하도록 구성된 수신 유닛 - 메시지는 사용자에 구속된 검증 방법에 대한 정보를 포함함 -;
검증 방법에 대한 정보에 기초하여 검증 요청을 사용자 단말로 전송하도록 구성된 전송 유닛 -
수신 유닛은 사용자 단말에 의해 전송된 검증 코드를 수신하도록 추가로 구성됨 -; 및
검증 코드에 대해 검증을 수행하고, 검증 코드에 대한 검증이 성공할 때, 사용자에 대응하는 액세스 크리덴셜을 생성하도록 구성된 프로세싱 유닛 - 액세스 크리덴셜은 사용자가 서비스 제공자의 서버를 액세스하기 위한 허가를 가진다는 것을 지시함 - 을 포함하고,
전송 유닛은 액세스 크리덴셜을 사용자 단말로 전송하도록 추가로 구성된다.
구체적인 실시예에서, 프로세싱 유닛은 검증 방법에 대한 정보에 기초하여, 사용자가 검증 코드를 수신하는 방법을 결정하고, 검증 코드를 생성하도록 추가로 구성되고, 여기서, 사용자가 검증 코드를 수신하는 방법은 이메일을 통해 검증 코드를 수신하는 것, 또는 SMS 메시지를 통해 검증 코드를 수신하는 것을 포함한다.
전송 유닛은 검증 요청을 사용자 단말로 전송하고, 사용자가 검증 코드를 수신하는 결정된 방법에서, 검증 코드를 사용자에 의해 이용된 전자 디바이스로 전송하도록 구체적으로 구성된다.
구체적인 실시예에서, 검증 코드는 사용자에 의해 이용된 멀티-인자 인증 디바이스에 의해 생성되고, 메시지는 사용자의 멀티-인자 인증 키를 포함한다.
수신 유닛은 멀티-인자 인증 디바이스에 의해 생성되고 사용자 단말에 의해 전송되는 제1 검증 코드를 수신하도록 추가로 구성된다.
프로세싱 유닛은 멀티-인자 인증 키에 기초하여 제2 검증 코드를 생성하고, 제2 검증 코드에 기초하여 제1 검증 코드에 대해 검증을 수행하도록 구체적으로 구성된다.
구체적인 실시예에서, 수신 유닛은 사용자 단말에 의해 전송된 액세스 요청을 수신하도록 추가로 구성되고, 여기서, 액세스 요청은 신분 제공자의 식별자를 포함한다.
프로세싱 유닛은 액세스 요청에 기초하여 인증 요청을 생성하고 - 인증 요청은 서비스 제공자의 식별자를 포함함 -;
신분 제공자의 식별자에 기초하여 신분 제공자의 서버의 어드레스를 결정하도록 추가로 구성된다.
전송 유닛은 인증 요청을 신분 제공자의 서버로 전송하도록 추가로 구성되고, 여기서, 인증 요청은 사용자의 사용자 신분에 대해 인증을 수행하고 인증 결과에 기초하여 메시지를 사용자 단말로 전송하도록 신분 제공자의 서버에 지시한다.
제3 양태에 따르면, 이 출원의 실시예는 프로세서 및 메모리를 포함하는 서버를 제공한다. 메모리는 명령을 저장하도록 구성되고, 프로세서는 명령을 실행하도록 구성되고, 프로세서가 명령을 실행할 때, 서버는 제1 양태 또는 제1 양태의 구체적인 실시예 중의 임의의 하나에 따른 방법을 수행한다.
제4 양태에 따르면, 이 출원의 실시예는 컴퓨터-판독가능 저장 매체를 제공한다. 컴퓨터-판독가능 저장 매체는 컴퓨터 프로그램을 저장하고, 컴퓨터 프로그램이 프로세서에 의해 실행될 때, 프로세서는 제1 양태 또는 제1 양태의 구체적인 실시예 중의 임의의 하나에 따른 방법을 수행한다.
도 1은 이 출원의 실시예에 따른 연합된 신분 인증 시스템의 개략도이고;
도 2a 및 도 2b는 이 출원의 실시예에 따른 연합된 신분 인증의 개략적인 상호작용 도면이고;
도 3은 이 출원의 실시예에 따른 멀티-인자 인증 페이지의 개략도이고;
도 4a 및 도 4b는 이 출원의 실시예에 따른 또 다른 연합된 신분 인증 시스템의 개략적인 상호작용 도면이고;
도 5는 이 출원의 실시예에 따른 신분 인증 장치의 구조의 개략도이고;
도 6은 이 출원의 실시예에 따른 서버의 구조의 개략도이다.
도 2a 및 도 2b는 이 출원의 실시예에 따른 연합된 신분 인증의 개략적인 상호작용 도면이고;
도 3은 이 출원의 실시예에 따른 멀티-인자 인증 페이지의 개략도이고;
도 4a 및 도 4b는 이 출원의 실시예에 따른 또 다른 연합된 신분 인증 시스템의 개략적인 상호작용 도면이고;
도 5는 이 출원의 실시예에 따른 신분 인증 장치의 구조의 개략도이고;
도 6은 이 출원의 실시예에 따른 서버의 구조의 개략도이다.
본 기술분야의 통상의 기술자가 이 출원에서의 기술적 해결책을 이해하는 것을 돕기 위하여, 이 출원의 실시예에서 이용된 일부 개념이 먼저 설명된다.
멀티-인자 인증(multi-factor authentication, MFA)은 컴퓨터 액세스 제어 방법이다. 사용자는 2 개 이상의 유형의 인증을 성공한 후에만 컴퓨터 자원을 이용하도록 권한부여될 수 있다.
시간-기반 1회용 패스워드(time-based one-time password) 알고리즘은 1회용 패스워드가 키 및 현재의 시간에 기초하여 계산되는 알고리즘이다. TOTP 알고리즘은 키를 현재의 타임스탬프(timestamp)와 조합하여 1회용 패스워드를 생성하기 위하여 암호 해시 함수(cryptographic hash function)를 이용한다. TOTP 알고리즘은 MFA 시스템에서 주로 이용된다. 시스템으로 로그인(log in)할 때, 사용자는 TOTP 알고리즘에 따라 가상적 MFA 디바이스 또는 물리적 MFA 디바이스에 의해 생성되는 확인되어야 할 검증 코드를 획득한다. 사용자 단말은 사용자에 의해 기입된 확인되어야 할 검증 코드를, 사용자가 로그인할 필요가 있는 시스템 서버로 전송한다. 사용자 단말에 의해 전송된 확인되어야 할 검증 코드를 수신한 후에, 시스템 서버는 사용자에 대응하는 키 및 현재의 시간에 기초하여 검증 코드를 생성한다. 확인되어야 할 검증 코드가 서버에 의해 생성된 검증 코드와 동일한 것으로 결정할 때, 시스템 서버는 사용자가 권한부여된 사용자인 것으로 결정한다.
신분 제공자(identity provider, IDP)는, 사용자 신분 정보를 수집하고 저장하는 것을 담당하고 기업을 위한 신분 관리 시스템을 제공하는 서비스 제공자이다. IDP의 서버는 기업 시스템의 사용자의 신분 정보를 저장하고, 사용자의 신분 정보는 사용자의 사용자 이름, 패스워드, 이메일 어드레스, 이동 번호 등을 포함한다. 기업 시스템의 사용자가 기업 시스템으로 로그인할 때, IDP의 서버는 사용자에 대해 신분 인증을 수행한다. IDP에 의해 제공된 신분 관리 시스템은 기업의 신분 관리 시스템이다.
서비스 제공자(service provider, SP)는 사용자를 위한 상이한 서비스를 제공하는 제공자, 예를 들어, 클라우드 서비스 제공자이다. 사용자가 SP에 의해 제공된 서비스를 이용할 필요가 있을 때, 사용자는 SP에 등록될 필요가 있다. 사용자가 성공적으로 등록된 후에, 사용자의 신분 정보는 SP의 서버 내에 저장된다. 사용자가 SP 시스템으로 로그인할 때, SP의 신분 인증 시스템은 사용자에 대해 신분 인증을 수행한다.
사용자가 상이한 시스템에 의해 제공된 서비스를 이용할 필요가 있을 때, 사용자는 상이한 시스템으로 로그인할 때에 상이한 신분 인증 시스템에 의해 인증될 필요가 있다. 예를 들어, 사용자가 기업 시스템을 이용할 필요가 있을 때, 사용자는 기업 시스템으로 로그인할 필요가 있고, IDP의 신분 관리 시스템은 로그인 동안에 사용자에 대해 신분 인증을 수행한다. 사용자가 SP의 서비스를 이용할 필요가 있을 때, 사용자는 SP 시스템으로 로그인할 필요가 있고, SP의 신분 관리 시스템은 로그인 동안에 사용자에 대해 신분 인증을 수행한다. 이러한 방식으로, 사용자가 시스템의 서비스를 이용할 때, 사용자는 신분 크리덴셜을 이용함으로써 시스템으로 로그인할 필요가 있고, 사용자는 상이한 애플리케이션 시스템의 계정 및 패스워드와 같은 신분 크리덴셜을 레코딩할 필요가 있어서, 낮은 작업 효율로 귀착된다.
예를 들어, 기업은 클라우드 서비스 제공자의 사용자이고, 기업은 클라우드 서비스 제공자로부터의 클라우드 서비스 자원을 신청하고, 기업은 대응하는 클라우드 서비스의 기업 계정 및 패스워드를 가진다. 기업 시스템의 사용자가 기업에 의해 신청된 클라우드 서비스 자원을 이용할 필요가 있을 때, 기업 계정의 관리자는 기업 계정 하에서 기업 시스템의 사용자를 위한 사용자 그룹 및 서브-계정(sub-account)을 생성할 수 있고, 각각의 서브-계정을 사용자 그룹에 할당할 수 있다. 각각의 사용자 그룹은 상이한 허가를 가지고, 각각의 서브-계정은 하나 이상의 사용자 그룹에 추가될 수 있다. 기업 시스템을 이용할 때, 기업 시스템의 사용자는 기업 시스템으로 로그인하기 위하여 기업 시스템에서 등록된 계정 및 패스워드를 이용할 필요가 있다. 기업 시스템으로 로그인할 때, 사용자는 IDP의 신분 관리 시스템에 의해 인증될 필요가 있다. 기업 시스템의 사용자가 기업의 클라우드 서비스 자원을 이용할 필요가 있을 때, 사용자는 클라우드 서비스 시스템으로 로그인하기 위하여 기업 계정 및 기업에 의해 할당된 서브-계정을 이용할 필요가 있다. 사용자는 로그인 동안에 클라우드 서비스 시스템의 신분 인증 시스템에 의해 인증될 필요가 있다.
연합된 신분 인증은 IDP 및 SP가 신뢰 관계를 확립하고 상호작용 프로세스를 완료하여, 사용자 싱글 사인-온을 구현하는 프로세스이다. 싱글 사인-온은, IDP의 신분 관리 시스템으로 로그인한 후에, 기업 시스템의 사용자가 방향전환 링크(redirection link)를 통해, 신뢰 관계가 확립되었던 SP 시스템을 액세스할 수 있다는 것을 의미한다. 예를 들어, 기업의 IDP가 클라우드 서비스 제공자와 신뢰 관계를 확립한 후에, 기업 시스템의 사용자는 클라우드 서비스 제공자에 의해 제공된 로그인 엔트리(login entry)를 통해 기업 시스템의 계정 및 패스워드를 이용함으로써 IDP의 신분 관리 시스템으로 로그인할 수 있어서, 클라우드 서비스 제공자의 시스템을 액세스할 수 있고 클라우드 서비스 제공자로부터 기업에 의해 신청된 클라우드 서비스 자원을 이용할 수 있다.
신뢰 관계가 IDP와 SP 사이에서 확립될 때, 메타데이터(metadata)는 IDP와 SP 사이에서 교환될 필요가 있다. IDP의 메타데이터는 IDP의 IDP 식별자, IDP의 서버의 어드레스, IDP의 공개 키(public key), IDP에 의해 지원된 프로토콜 등을 포함하고, SP의 메타데이터는 SP의 SP 식별자, SP의 서버의 어드레스, SP의 공개 키, 및 SP에 의해 지원된 프로토콜 등을 포함한다. 이 출원의 실시예에서, IDP에 의해 지원된 프로토콜 및 SP에 의해 지원된 프로토콜이 보안 어써션 마크업 언어(security assertion markup language, SAML) 프로토콜인 예가 설명을 위하여 이용된다.
SAML은 확장가능한 마크업 언어(extensible markup language, XML)에 기초한 오픈-소스(open-source) 표준 데이터 포맷이고, IDP와 SP 사이의 데이터 교환을 위하여 주로 이용되어, 연합된 신분 인증 동안에 신분 인증을 구현한다. 예를 들어, 사용자가 클라우드 서비스를 이용할 필요가 있지만, IDP의 신분 관리 시스템으로 로그인할 때, IDP가 기업 시스템에 대한 것이고 사용자에 의해 기입되는 계정 및 패스워드에 대해 검증을 수행한 후에, IDP는 사용자 정보를 포함하는 SAML 포맷으로 어써션을 생성할 필요가 있고, 그 다음으로, 어써션을 클라우드 시스템의 서버로 전송한다. 클라우드 시스템의 서버는 미리구성된 신분 변환 규칙에 따라 기업 시스템 내의 사용자, 사용자 그룹, 및 액세스 허가를 클라우드 시스템 내의 사용자, 사용자 그룹, 및 액세스 허가로 변환한다.
연합된 신분 인증은 2 개 이상의 시스템의 싱글 사인-온을 구현할 수 있고, 사용자가 복수의 시스템을 이용하는 것을 도울 수 있고, 작업 효율을 개선시킨다. 그러나, 연합된 신분 인증 동안에, 사용자는 IDP의 신분 관리 시스템에 의해 인증된 후에 2 개 이상의 서비스 제공자의 시스템으로 로그인하기 위하여 단일 시스템의 신분 크리덴셜을 오직 이용할 필요가 있다. 단일 시스템의 신분 크리덴셜이 누설될 경우에, 사용자 데이터 보안은 위험한 상태에 있다.
이 출원의 실시예는 연합된 신분 인증 방법을 제공한다. 멀티-인자 신분 인증 메커니즘이 연합된 신분 인증 프로세스로 도입되어, 사용자 데이터 보안이 개선된다. 도 1은 이 출원의 실시예에 따른 시스템의 개략도이다. 도 1은 하나의 사용자 단말, 하나의 IDP의 서버, 및 복수의 SP의 서버를 포함한다. 모든 복수의 SP는 IDP와 신뢰 관계를 확립하고, 싱글 사인-온은 연합된 신분 인증을 통해 구현될 수 있다. 사용자가 임의의 SP의 시스템으로 로그인할 필요가 있을 때, 사용자는 SP의 자원을 액세스하기 위하여 IDP로 로그인할 수 있다. 이 출원의 이 실시예에서, 사용자는 IDP 측으로부터 연합된 신분 인증을 개시할 수 있거나, SP 측으로부터 연합된 신분 인증을 개시할 수 있다. 다음은 SP 측으로부터 연합된 신분 인증을 개시하기 위한 방법을 설명한다. 도 2a 및 도 2b는 이 출원의 실시예에 따른 연합된 신분 인증의 개략적인 상호작용 도면이다. 도 2a 및 도 2b에서 도시된 바와 같이, SP 측으로부터 개시된 연합된 신분 인증 프로세스는 다음과 같다:
S201: 사용자 단말은 액세스 요청을 SP의 서버로 전송한다.
사용자가 SP의 자원을 액세스할 필요가 있을 때, 사용자는 사용자 단말의 브라우저에서 SP의 로그인 링크를 기입한다. 사용자에 의해 기입된 로그인 링크를 수신한 후에, 사용자 단말은 브라우저를 통해 SP의 서버에 대한 액세스 요청을 개시한다. 액세스 요청은 IDP의 IDP 식별자를 포함한다.
S202: 액세스 요청을 수신한 후에, SP의 서버는 인증 요청을 생성하고, IDP 식별자에 기초하여 IDP의 서버의 어드레스를 결정한다.
액세스 요청을 수신한 후에, SP의 서버는 액세스 요청 내의 IDP 식별자에 기초하여, 연합된 신분 인증이 요구되는 것으로 결정한다. IDP의 메타데이터는 SP의 서버 내에 저장되므로, SP의 서버는 IDP의 IDP 식별자 및 메타데이터에 기초하여, IDP 식별자에 대응하는 IDP의 서버의 어드레스를 결정한다. 추가적으로, SP의 서버는 SAML 포맷으로 인증 요청을 생성한다. 인증 요청은 SP 식별자를 포함하고, 인증 요청은 사용자에 대해 신분 인증을 수행하도록 IDP의 서버에 지시한다.
S203: SP의 서버는 IDP의 서버의 어드레스 및 인증 요청을 사용자 단말로 전송한다.
인증 요청을 생성하고 IDP의 서버의 어드레스를 결정한 후에, SP의 서버는 IDP의 서버의 어드레스 및 인증 요청을 사용자 단말로 전송하여, 사용자 단말은 IDP의 서버의 어드레스에 기초하여 인증 요청을 IDP의 서버로 포워딩한다.
S204: 사용자 단말은 인증 요청 및 IDP의 서버의 어드레스를 수신하고, IDP의 서버의 어드레스에 기초하여 인증 요청을 IDP의 서버로 전송한다.
S205: IDP의 서버는 인증 요청을 수신하고, 인증 요청에 기초하여 제1 검증 요청을 사용자 단말로 전송한다.
사용자 단말에 의해 전송된 인증 요청을 수신한 후에, IDP의 서버는 제1 검증 요청을 사용자 단말로 전송한다. 제1 검증 요청은 인증 크리덴셜을 기입하도록 사용자에게 지시하기 위하여 이용되는 IDP 로그인 페이지(login page)를 포함한다. 인증 크리덴셜은 사용자 이름 및 사용자 패스워드를 포함한다. IDP 로그인 페이지는 사용자 이름 및 사용자 패스워드를 기입하기 위하여 사용자에 의해 이용되는 사용자 이름 입력 박스 및 사용자 패스워드 입력 박스를 포함한다.
S206: 사용자 단말은 인증 크리덴셜을 IDP의 서버로 전송한다.
사용자 단말은 브라우저 페이지(browser page) 상에서 IDP 로그인 인터페이스를 디스플레이하고, 사용자에 의해 기입된 인증 크리덴셜을 수신하고, 인증 크리덴셜을 IDP의 서버로 전송한다.
S207: IDP의 서버는 사용자 단말에 의해 전송된 인증 크리덴셜을 수신하고, 인증 크리덴셜에 대해 인증을 수행하고, 인증 크리덴셜에 대한 인증이 성공할 때, 인증 크리덴셜에 기초하여 응답 메시지를 생성하고, 응답 메시지를 사용자 단말로 전송한다.
인증 크리덴셜을 수신한 후에, IDP의 서버는 인증 크리덴셜 내에 있는 사용자 이름 및 사용자 패스워드를, 등록된 사용자에 대한 것이고 IDP에 의해 저장되는 사용자 이름 및 사용자 패스워드와 일치시킨다. 인증 크리덴셜 내에 있는 사용자 이름 및 사용자 패스워드가 IDP의 서버에서 발견될 경우에, IDP의 서버는 인증 크리덴셜에 대한 검증이 성공한 것으로 결정하고, 사용자가 권한부여된 사용자인 것으로 결정한다.
사용자가 권한부여된 사용자인 것으로 결정한 후에, IDP의 서버는 사용자 이름에 기초하여 사용자의 사용자 정보를 결정한다. 사용자 정보는 사용자의 사용자 이름, 사용자가 속하는 사용자 그룹, 및 사용자에 구속된 MFA 검증 방법을 포함한다. MFA 검증 방법은 사용자가 검증 코드를 이용함으로써 검증을 수행할 때에 검증 코드를 수신하는 방법을 지시한다. IDP의 서버는 사용자의 사용자 정보에 기초하여, SP의 서버에 의해 전송된 인증 요청에 대한 응답 메시지를 생성한다. 응답 메시지는 IDP 식별자, 사용자의 사용자 이름, 사용자 이름이 속하는 사용자 그룹, 및 사용자에 구속된 MFA 검증 방법을 포함한다. MFA 검증 방법은 이메일을 통한 인증, 이동 번호를 통한 인증, 또는 MFA 디바이스에 의해 생성된 동적 검증 코드를 통한 인증을 포함한다. 사용자는 하나 이상의 MFA 검증 방법에 구속될 수 있다. 사용자가 복수의 MFA 검증 방법에 구속될 경우에, 응답 메시지는 사용자에 구속된 복수의 MFA 검증 방법을 포함한다. MFA 디바이스는 가상적 MFA 디바이스일 수 있거나, 하드웨어 MFA 디바이스일 수 있다. 이것은 이 출원의 이 실시예에서 구체적으로 제한되지 않는다.
IDP의 서버는 SP의 메타데이터를 저장한다. 인증 요청을 생성한 후에, IDP의 서버는 인증 요청 내의 SP 식별자에 기초하여 SP에 대응하는 공개 키 및 SP의 서버의 어드레스를 결정한다. IDP의 서버는 IDP의 사설 키(private key)를 이용함으로써 응답 메시지를 먼저 서명할 수 있고, 그 다음으로, SP의 공개 키를 이용함으로써 서명된 응답 메시지를 암호화할 수 있고, 최종적으로, 서명되고 암호화된 응답 메시지 및 SP의 서버의 어드레스를 사용자 단말로 전송할 수 있다. IDP의 서버는 대안적으로, SP의 공개 키를 이용함으로써 응답 메시지를 먼저 암호화할 수 있고, IDP의 사설 키를 이용함으로써 암호화된 응답 메시지를 서명할 수 있고, 그 다음으로, 암호화되고 서명된 응답 메시지 및 SP의 서버의 어드레스를 사용자 단말로 전송할 수 있다. 이 출원의 이 실시예에서는, 응답 메시지가 먼저 서명되고 그 다음을 암호화되는 예가 설명을 위하여 이용된다.
S208: 사용자 단말은 응답 메시지를 SP의 서버로 포워딩한다.
IDP의 서버에 의해 전송되는 SP의 서버의 어드레스 및 암호화되고 서명된 응답 메시지를 수신한 후에, 사용자 단말은 SP의 서버의 어드레스에 기초하여 암호화된 응답 메시지를 SP의 서버로 포워딩한다.
S209: SP의 서버는 사용자 단말에 전송된 응답 메시지를 수신하고, 응답 메시지에 기초하여 제2 검증 요청을 생성하고, 제2 검증 요청을 사용자 단말로 전송한다.
사용자 단말에 의해 포워딩된 서명되고 암호화된 응답 메시지를 수신한 후에, SP의 서버는 SP의 사설 키를 이용함으로써 암호화된 응답 메시지를 복호화한다. 복호화가 성공할 경우에, SP의 서버는 응답 메시지 내의 IDP 식별자에 기초하여 SP의 서버의 메타데이터에서 IDP 식별자에 대응하는 IDP 메타데이터를 발견하고, IDP 메타데이터에서 IDP의 공개 키를 발견하고, IDP의 공개 키를 이용함으로써 응답 메시지의 서명에 대해 검증을 수행한다. SP의 서버가 암호화된 응답 메시지를 성공적으로 복호화할 수 있고 서명에 대한 검증이 성공할 경우에, SP의 서버는 응답 메시지가 IDP의 서버에 의해 전송된 비수정된 응답 메시지인 것으로 결정한다.
응답 메시지가 수정되지 않은 것으로 결정한 후에, SP의 서버는 응답 메시지 내의 사용자에 대응하는 MFA 검증 방법에서 제2 검증 요청을 사용자 단말로 전송한다. 제2 검증 요청은 멀티-인자 인증을 수행하도록 사용자에게 지시하기 위하여 이용된 MFA 페이지를 포함한다. 구체적으로, MFA 페이지는 검증 방법 및 검증 코드 입력 박스를 포함한다. 검증 방법은 사용자에 의해 구성된 검증 방법일 수 있거나, MFA 페이지 상의 검증 방법 옵션을 이용함으로써 선택될 수 있다. 예를 들어, 오직 하나의 MFA 검증 방법이 사용자에 구속되고, 구속된 MFA 검증 방법이 이메일을 통한 검증 또는 이동 번호를 통한 검증일 경우에, MFA 페이지 상의 검증 방법은 선택될 수 없다. SP의 서버는 구속된 MFA 검증 방법에 기초하여 검증 코드를 생성하고, 검증 코드를 사용자에 구속된 이메일 어드레스 또는 이동 번호로 전송한다.
복수의 MFA 검증 방법이 사용자에 구속될 경우에, 사용자는 현재 이용될 필요가 있는 MFA 검증 방법을 선택할 필요가 있다. 도 3은 이 출원의 실시예에 따른 MFA 페이지의 개략도이다. 사용자는 3개의 인증 방법을 설정한다: 이메일을 통한 검증, 이동 번호를 통한 검증, 및 MFA 디바이스에 의해 생성된 동적 검증 코드를 통한 검증. 사용자는 MFA 페이지 상에서 방법을 선택할 필요가 있다. 사용자가 MFA 검증 방법을 선택한 후에, 사용자 단말은 사용자의 선택 결과를 SP의 서버로 전송하여, 선택 결과에 의해 지시된 MFA 검증 방법에서 검증을 수행하도록 SP의 서버에 지시한다. 예를 들어, 사용자가 이메일 검증을 선택할 경우에, SP의 서버는 검증 코드를 생성하고, 검증 코드를 사용자의 이메일 어드레스로 전송한다.
S210: 사용자 단말은 검증 코드를 SP의 서버로 전송한다.
사용자에 구속된 MFA 검증 방법이 이메일을 통한 검증 또는 이동 번호를 통한 검증일 경우에, 검증 코드는 SP의 서버에 의해 생성되고, 사용자에 구속된 이메일 어드레스 또는 이동 번호로 전송된다. MFA 디바이스에 의해 생성된 동적 검증 코드를 통한 인증이 사용자에 구속될 경우에, 검증 코드는 사용자에 의해 소유된 MFA 디바이스에 의해 생성된다. 사용자 단말은 MFA 페이지 상의 검증 코드 입력 박스에서 사용자에 의해 기입된 검증 코드를 수신하고, 검증 코드를 SP의 서버로 전송한다.
S211: SP의 서버는 사용자 단말에 의해 전송된 검증 코드에 대해 검증을 수행하고, 검증이 성공할 때, 액세스 크리덴셜을 생성하고 액세스 크리덴셜을 사용자 단말로 전송한다.
사용자 단말에 의해 전송된 검증 코드를 수신한 후에, SP의 서버는 검증 코드에 대해 검증을 수행한다. 예를 들어, 사용자가 이메일을 통한 검증을 선택하고, SP의 서버가 사용자 단말로부터 수신된 검증 코드가 SP의 서버에 의해 생성되고 사용자의 이메일 어드레스로 전송되는 검증 코드와 동일한 것으로 결정할 경우에, 그것은 검증이 성공한다는 것을 지시한다. 검증이 성공할 경우에, SP의 서버는 응답 메시지 내의 사용자 이름 및 사용자 이름이 속하는 사용자 그룹, 및 IDP 사용자와 SP 사용자 사이의 신분 변환 규칙에 기초하여, SP의 시스템 내의 사용자 이름, 사용자 그룹, 및 사용자의 액세스 허가와 같은 신분 정보를 결정하고, SP의 시스템 내의 사용자의 신분 정보에 기초하여 액세스 크리덴셜을 생성하고, 액세스 크리덴셜을 사용자 단말로 전송한다. 사용자 단말은 SP의 서버를 액세스할 때마다 액세스 크리덴셜을 반송할 필요가 있다. 사용자 크리덴셜은 SP의 시스템 내의 사용자의 사용자 이름을 포함한다.
액세스 크리덴셜을 수신한 후에, 사용자 단말은 SP의 서버를 액세스할 때마다 액세스 크리덴셜을 반송한다는 것이 이해될 수 있다. 서비스 제공자의 서버가, 액세스 크리덴셜을 반송하고 사용자 단말에 의해 전송되는 액세스 요청을 수신한 후에, 서비스 제공자의 서버가 액세스 크리덴셜이 서비스 제공자의 서버에 의해 발행된 유효한 액세스 크리덴셜인 것으로 결정할 때, 서비스 제공자의 서버는 액세스 요청을 이용함으로써 액세스되어야 할 데이터를 사용자 단말로 전송한다.
가능한 실시예에서, 사용자에 구속된 MFA 검증 방법이 MFA 디바이스에 의해 생성된 동적 검증 코드를 통한 인증을 포함할 경우에, 응답 메시지는 MFA 키를 더 포함하고, MFA 키는 MFA 키 및 TOTP 알고리즘에 기초하여 검증 코드를 생성하기 위하여 MFA 디바이스 및 SP의 서버에 의해 이용된다. 사용자가 인증을 수행하기 위하여 MFA 디바이스에 의해 생성된 검증 코드를 이용할 때, SP의 서버가 사용자 단말에 의해 전송된 검증 코드를 수신한 후에, SP의 서버는 MFA 키에 기초하여 검증 코드를 생성하고, 그 다음으로, SP의 서버는 MFA 키에 기초하여 생성된 검증 코드를, 사용자 단말에 의해 전송되는 수신된 검증 코드와 비교한다. 2개의 검증 코드가 동일할 경우에, 그것은 검증이 성공한다는 것을 지시하고; 2개의 검증 코드가 상이할 경우에, 그것은 검증이 실패한다는 것을 지시한다.
가능한 실시예에서는, S207에서, 사용자 단말에 의해 IDP의 서버로 전송된 인증 크리덴셜이 IDP의 서버에 의해 검증되는 것에 실패할 경우에, 예를 들어, 사용자에 의해 기입된 사용자 이름 또는 사용자 패스워드가 올바르지 않을 경우에, IDP의 서버는 사용자 이름 또는 사용자 패스워드가 올바르지 않다는 것을 지시하는 피드백 메시지를 생성하고, 피드백 메시지를 사용자 단말로 전송하고, IDP의 서버가 사용자가 권한부여된 사용자인 것으로 결정한 후에 수행된 동작을 더 이상 수행하지 않고, 즉, 응답 메시지를 더 이상 생성하지 않고, S208 내지 S211에서의 후속 프로세스를 더 이상 수행하지 않는다.
가능한 실시예에서는, S209에서, SP의 서버가 SP의 사설 키를 이용함으로써 암호화된 응답 메시지를 복호화할 수 없을 경우에, 그것은 SP의 서버에 의해 수신된 메시지가 SP와 신뢰 관계를 확립하는 IDP의 서버에 의해 전송되지 않는다는 것을 지시하고, SP의 서버는 제2 검증 요청을 사용자 단말로 전송하지 않는다. 대안적으로, SP의 사설 키를 이용함으로써 암호화된 응답 메시지를 성공적으로 복호화한 후에, SP의 서버는 IDP의 공개 키를 이용함으로써 응답 메시지의 서명에 대해 검증을 수행한다. SP의 서버가 응답 메시지의 서명이 올바르지 않은 것으로 결정할 경우에, 그것은 응답 메시지가 수정되어 있다는 것을 지시하고, SP의 서버는 제2 검증 요청을 사용자 단말로 역시 전송하지 않는다.
다음은 IDP 측으로부터 연합된 신분 인증을 개시하기 위한 방법을 설명한다. 도 4a 및 도 4b는 이 출원의 실시예에 따른 연합된 신분 인증의 개략적인 상호작용 도면이다. 도 4a 및 도 4b에서 도시된 바와 같이, IDP 측으로부터 개시된 연합된 신분 인증 프로세스는 다음과 같다:
S401: 사용자 단말은 로그인 요청을 IDP의 서버로 전송한다.
사용자가 타깃 SP의 자원을 액세스할 필요가 있을 때, 사용자는 먼저 IDP의 서버로 로그인할 수 있다. 사용자는 브라우저에서 IDP의 로그인 링크를 기입한다. 사용자에 의해 기입된 로그인 링크를 수신한 후에, 사용자 단말은 로그인 요청을 IDP의 서버로 전송한다.
S402: 로그인 요청을 수신한 후에, IDP의 서버는 제1 검증 요청을 사용자 단말로 전송한다.
사용자 단말에 의해 전송된 로그인 요청을 수신한 후에, IDP의 서버는 제1 검증 요청을 사용자 단말로 전송한다. 제1 검증 요청은 인증 크리덴셜을 기입하도록 사용자에게 지시하기 위하여 이용되는 IDP 로그인 페이지를 포함하고, 인증 크리덴셜은 사용자 이름 및 사용자 패스워드를 포함한다. IDP 로그인 페이지는 사용자 이름 및 사용자 패스워드를 기입하도록 사용자에게 지시하기 위하여 이용되는 사용자 이름 입력 박스 및 사용자 패스워드 입력 박스를 포함한다.
S403: 사용자 단말은 인증 크리덴셜을 IDP의 서버로 전송한다.
사용자 단말은 브라우저 페이지 상에서 IDP 로그인 인터페이스를 디스플레이하고, 사용자에 의해 기입된 인증 크리덴셜을 수신하고, 인증 크리덴셜을 IDP의 서버로 전송한다.
S404: IDP의 서버는 사용자 단말에 의해 전송된 인증 크리덴셜을 수신하고, 인증 크리덴셜에 대해 검증을 수행하고, 인증 크리덴셜에 대한 검증이 성공할 때, 서비스 정보를 사용자 단말로 전송한다.
인증 크리덴셜을 수신한 후에, IDP의 서버는 인증 크리덴셜 내에 있는 사용자 이름 및 사용자 패스워드를, 등록된 사용자에 대한 것이고 IDP에 의해 저장되는 사용자 이름 및 사용자 패스워드와 일치시킨다. 인증 크리덴셜 내에 있는 사용자 이름 및 사용자 패스워드가 IDP의 서버에서 발견될 경우에, IDP의 서버는 사용자가 권한부여된 사용자인 것으로 결정한다.
사용자가 권한부여된 사용자인 것으로 결정한 후에, IDP의 서버는 서비스 정보를 사용자 단말로 전송한다. 서비스 정보는 IDP와 신뢰 관계를 확립한 하나 이상의 SP의 태그(tag) 또는 액세스 링크를 포함한다.
S405: 서비스 정보를 수신한 후에, 사용자 단말은 사용자에 의해 선택된 타깃 SP를 결정하고, 타깃 SP에 대한 정보를 IDP의 서버로 전송한다.
서비스 정보를 수신한 후에, 사용자 단말은 브라우저에서 하나 이상의 SP의 태그 또는 액세스 링크를 포함하는 페이지를 디스플레이한다. 사용자가 타깃 SP를 선택한 후에, 사용자 단말은 사용자에 의해 선택된 타깃 SP에 대한 정보를 IDP의 서버로 전송한다. 예를 들어, 브라우저 페이지가 SP 1로부터 SP n까지의 n개의 SP의 액세스 링크를 포함하고, 사용자가 액세스할 필요가 있는 타깃 SP가 SP 1일 경우에, 사용자는 SP 1의 액세스 링크를 탭(tap)한다.
S406: 타깃 SP에 대한 정보를 수신한 후에, IDP의 서버는 인증 크리덴셜에 기초하여 응답 메시지를 생성하고, 응답 메시지 및 타깃 SP의 서버의 어드레스를 사용자 단말로 전송한다.
타깃 SP에 대한 정보를 수신한 후에, IDP의 서버는 타깃 SP에 대한 정보에 기초하여 타깃 SP의 서버의 어드레스를 결정하고, 인증 크리덴셜에 기초하여 응답 메시지를 생성한다. IDP의 서버에 의해 응답 메시지를 생성하고, 서명하고, 암호화하기 위한 방법에 대하여, S207에서 응답 메시지를 생성하고, 서명하고, 암호화하기 위한 방법을 참조한다. 세부사항은 본 명세서에서 다시 설명되지 않는다.
IDP의 서버가 암호화된 응답 메시지 및 타깃 SP의 서버의 어드레스를 사용자 단말로 전송한 후에, IDP 측으로부터 연합된 신분 인증을 개시하는 다른 프로세스에 대하여, S208 내지 S211을 참조한다. 세부사항은 본 명세서에서 다시 설명되지 않는다.
상기한 방법을 구현함으로써, 연합된 신분 인증 동안에, 신분 제공자의 서버가 사용자의 사용자 신분에 대해 제1 인증을 수행하고 인증이 성공한 후에, 서비스 제공자의 서버는 사용자 신분에 대해 제2 인증을 수행할 필요가 있고, 서비스 제공자의 서버는 서비스 제공자의 서버에 의한 사용자에 대한 제2 인증이 성공한 후에만, 사용자가 서비스 제공자의 자원을 액세스하는 것을 허용한다. 사용자 신분에 대한 멀티-인자 인증은 단일 시스템의 신분 크리덴셜이 연합된 신분 인증 동안에 이용되는 것을 방지하고, 단일 시스템의 신분 크리덴셜의 누설로 인해 사용자 데이터 보안에 대해 야기되는 위험을 방지하고, 연합된 신분 인증의 보안을 개선시킨다.
가능한 실시예에서는, S402에서, IDP에 의해 사용자 단말로 전송된 제1 검증 요청은 IDP와 신뢰 관계를 확립한 하나 이상의 SP의 서버의 태그 또는 액세스 링크를 더 포함한다. 제1 검증 요청을 수신한 후에, 사용자 단말은 브라우저 페이지 상에서, IDP의 로그인 페이지, 및 IDP와 신뢰 관계를 확립한 하나 이상의 SP의 서버의 태그 또는 액세스 링크를 디스플레이한다. 사용자는 브라우저 페이지 상에서 인증 크리덴셜을 기입하고, 액세스될 필요가 있는 타깃 SP를 선택하고, 사용자 단말은 그 다음으로, 인증 크리덴셜 및 타깃 SP에 대한 정보의 둘 모두를 IDP의 서버로 전송한다. 인증 크리덴셜에 기초하여, 사용자가 권한부여된 사용자인 것으로 결정한 후에, IDP의 서버는 S406에서, IDP의 서버가 타깃 SP에 대한 정보를 수신한 후에 수행된 동작을 수행한다. 세부사항은 본 명세서에서 다시 설명되지 않는다.
가능한 실시예에서, 사용자는 브라우저를 통해 상기한 2 개의 방법을 이용함으로써 SP의 서버로 로그인한다. 액세스 크리덴셜을 획득한 후에, 사용자 단말은 액세스 크리덴셜을 반송함으로써 SP의 서버를 액세스한다. 액세스 크리덴셜을 획득한 후에, SP의 서버는 사용자를 위한 연합된 신분 크리덴셜을 구성한다. 연합된 신분 크리덴셜은 MFA 키를 포함한다. 사용자 단말이 SP에 의해 제공된 자원을 이용할 때, SP의 서버로 전송된 모든 동작 요청은 연합된 신분 크리덴셜을 포함한다. 사용자가 민감한 동작을 수행할 때, SP의 서버는 MFA 디바이스에 의해 생성된 확인되어야 할 검증 코드에 대해 검증을 수행하도록 요구한다. SP의 서버가 사용자 단말에 의해 전송된 확인되어야 할 검증 코드를 수신한 후에, SP의 서버는 연합된 신분 크리덴셜 내의 MFA 키에 기초하여 MFA 검증 코드를 생성하고, MFA 검증 코드를, 사용자 단말에 의해 SP의 서버로 전송된 확인되어야 할 검증 코드와 일치시킨다. 검증 코드가 동일할 경우에, 그것은 사용자가 민감한 동작을 수행할 수 있다는 것을 지시한다. 검증 코드가 상이할 경우에, 사용자의 민감한 동작은 거절된다.
위에서 설명된 SP 측으로부터 개시된 연합된 신분 인증 및 IDP 측으로부터 개시된 연합된 신분 인증의 둘 모두는 사용자 단말의 브라우저를 이용함으로써 구현된다. 가능한 실시예에서, SP의 서버에 대한 싱글 사인-온은 또한, 사용자 단말의 클라이언트 프로그램을 이용함으로써 구현될 수 있다. 구체적으로, 클라이언트 프로그램으로 로그인한 후에, 사용자는 클라이언트 프로그램에서 설정되는 SP의 서버의 어드레스를 이용함으로써 응답 메시지를 SP의 서버로 전송한다. 응답 메시지 내에 포함된 정보에 대하여, SP 측으로부터 개시된 연합된 신분 인증에서의 응답 메시지 내에 포함된 정보를 참조한다. 응답 정보는 MFA 키를 포함할 필요가 있다. 즉, 사용자가 클라이언트 프로그램을 통해 SP의 서버를 액세스할 때, 사용자는 MFA 디바이스에 의해 생성된 동적 검증 코드를 통해 인증 방법에 구속될 필요가 있다.
클라이언트 프로그램이 상기한 동일한 방법에서 SP의 서버에 의해 인증된 후에, SP의 서버는 연합된 신분 크리덴셜을 클라이언트 프로그램에 발행한다. 연합된 신분 크리덴셜은 MFA 키를 포함한다. 클라이언트 프로그램이 SP의 서버에 의해 인증된 후에 최초로 SP의 서버의 애플리케이션 프로그래밍 인터페이스(application programming interface, API)를 액세스할 때, 클라이언트 프로그램에 의해 SP의 서버로 전송된 호출 요청(invocation request)은 연합된 신분 크리덴셜을 포함한다. 이 경우에, SP의 서버는 MFA 디바이스에 의해 생성된 동적 검증 코드에 대해 검증을 수행하도록 요청한다. SP의 서버는 연합된 신분 크리덴셜 내의 MFA 키에 기초하여 MFA 검증 코드를 생성하고, MFA 검증 코드를, MFA 디바이스에 의해 생성되고 클라이언트 프로그램에 의해 SP의 서버로 전송되는 동적 검증 코드와 일치시킨다. 검증 코드가 동일할 경우에, 클라이언트 프로그램은 SP의 서버의 API를 액세스하기 위한 허가를 가진다. 클라이언트 프로그램이 API를 호출하기 위한 허가를 가지는 것으로 결정한 후에, SP의 서버는 액세스 크리덴셜을 클라이언트에 발행한다. 액세스 크리덴셜은 MFA 인증 마크(MFA authentication mark)를 포함하고, MFA 인증 마크는 클라이언트 프로그램이 SP의 서버의 API를 액세스하기 위한 허가를 가진다는 것을 지시한다. 클라이언트 프로그램은 액세스 크리덴셜을 이용함으로써 SP의 서버의 API를 액세스한다.
상기한 것은 도 1 내지 도 4a 및 도 4b를 참조하여 이 출원에서 제공된 신분 인증 방법을 상세하게 설명한다. 다음은 도 5 및 도 6을 참조하여, 이 출원의 실시예에서 제공된 신분 인증을 구현하기 위한 관련된 장치 및 디바이스를 설명한다. 도 5는 이 출원의 실시예에 따른 신분 인증 장치의 구조의 개략도이다. 신분 인증 장치는 SP의 상기한 서버 상에서 전개된다. 신분 인증 장치(500)는 수신 유닛(510), 전송 유닛(520), 및 프로세싱 유닛(530)을 포함한다.
수신 유닛(510)은 사용자의 사용자 신분이 신분 제공자의 서버에 의해 인증되었다는 것을 지시하는 메시지를 수신하도록 구성되고, 여기서, 메시지는 사용자에 구속된 검증 방법에 대한 정보를 포함한다. 구체적으로, 메시지 내에 포함된 정보에 대하여, S207에서의 응답 메시지를 참조한다. 세부사항은 본 명세서에서 다시 설명되지 않는다.
전송 유닛(520)은 검증 방법에 대한 정보에 기초하여 제2 검증 요청을 사용자 단말로 전송하도록 구성되고, 여기서, 제2 검증 요청은 검증 코드를 반환하도록 사용자 단말에 지시한다. 제2 검증 요청의 생성 및 제2 검증 요청 내에 포함된 정보에 대하여, S209에서의 상세한 설명을 참조한다. 세부사항은 본 명세서에서 다시 설명되지 않는다.
수신 유닛(510)은 사용자 단말에 의해 전송된 검증 코드를 수신하도록 추가로 구성된다. 사용자 단말에 의해 전송된 검증 코드는 SP의 서버에 의해 생성될 수 있고, 그 다음으로, 사용자에 의해 이용된 이메일 어드레스 또는 이동 번호로 전송될 수 있거나, 사용자에 의해 이용된 MFA 디바이스에 의해 생성될 수 있다. 이것은 이 출원의 이 실시예에서 구체적으로 제한되지 않는다.
프로세싱 유닛(530)은 사용자 단말에 의해 전송된 검증 코드에 대해 검증을 수행하고, 검증 코드에 대한 검증이 성공할 때, 사용자에 대응하는 액세스 크리덴셜을 생성하고 액세스 크리덴셜을 사용자 단말로 전송하도록 구성된다. 액세스 크리덴셜은 사용자가 서비스 제공자 SP의 서버를 액세스하기 위한 허가를 가진다는 것을 지시한다. 프로세싱 유닛(530)이 검증 코드에 대해 검증을 수행하는 프로세스에 대하여, S211에서, SP의 서버가 검증 코드에 대해 검증을 수행하는 프로세스를 참조한다. 세부사항은 본 명세서에서 다시 설명되지 않는다.
가능한 실시예에서, 프로세싱 유닛(530)은 검증 방법에 대한 정보에 기초하여, 사용자가 검증 코드를 수신하는 방법을 결정하고, 검증 코드를 생성하도록 추가로 구성되고, 여기서, 사용자가 검증 코드를 수신하는 방법은 이메일을 통해 검증 코드를 수신하는 것, 또는 SMS 메시지를 통해 검증 코드를 수신하는 것을 포함한다.
전송 유닛(520)은 제2 검증 요청을 사용자 단말로 전송하고, 사용자가 검증 코드를 수신하는 결정된 방법에서, 검증 코드를 사용자에 의해 이용된 전자 디바이스로 전송하도록 구체적으로 구성된다.
가능한 실시예에서, 검증 코드는 사용자에 의해 이용된 MFA 디바이스에 의해 생성되고, 메시지는 사용자의 MFA 키를 포함한다. 수신 유닛(510)은 MFA 디바이스에 의해 생성되고 사용자 단말에 의해 전송되는 제1 검증 코드를 수신하도록 추가로 구성된다. 프로세싱 유닛(530)은 MFA 키에 기초하여 제2 검증 코드를 생성하고, 제2 검증 코드에 기초하여 제1 검증 코드에 대해 검증을 수행하고, 제1 검증 코드가 제2 검증 코드와 동일할 때, 제1 검증 코드에 대한 검증이 성공하는 것으로 결정한다.
가능한 실시예에서, 신분 인증 장치가 신분 제공자 ISP의 서버에 의해 전송된 메시지를 수신할 때, 수신 유닛(510)은 사용자 단말에 의해 전송된 액세스 요청을 수신하고, 여기서, 액세스 요청은 IDP의 IDP 식별자를 포함하고; 프로세싱 유닛(530)은 액세스 요청에 기초하여 인증 요청을 생성하고 - 인증 요청은 SP의 식별자를 포함함 -, IDP 식별자에 기초하여 IDP의 서버의 어드레스를 결정한다. 전송 유닛(520)은 IDP의 서버의 어드레스에 기초하여 인증 요청을 IDP의 서버로 전송하고, 여기서, 인증 요청은 사용자의 사용자 신분에 대해 인증을 수행하고 인증 결과에 기초하여 메시지를 사용자 단말로 전송하도록 IDP의 서버에 지시한다.
구체적으로, 신분 인증 장치(500)에 의해 신분 인증을 구현하는 동작에 대하여, 상기한 방법 실시예에서 SP의 서버에 의해 수행된 동작을 참조한다. 세부사항은 본 명세서에서 다시 설명되지 않는다.
도 6은 이 출원의 실시예에 따른 서버의 구조의 개략도이다. 서버(600)는 프로세서(610), 통신 인터페이스(620), 및 메모리(630)를 포함한다. 임의적으로, 프로세서(610), 통신 인터페이스(620), 및 메모리(630)는 버스(640)를 통해 서로에 접속된다.
프로세서(610)는 프로세싱 유닛(530)에 의해 수행된 동작을 구현하도록 구성된다. 프로세서(610)에 의해 수행된 동작의 구체적인 구현예에 대하여, 상기한 방법 실시예에서 SP의 서버에 의해 수행된 구체적인 동작을 참조한다. 예를 들어, 프로세서(610)는 도 2a 및 도 2b에서의 S202, S209, 및 S211에서 SP의 서버의 동작을 수행하도록 구성되고, 세부사항은 본 명세서에서 다시 설명되지 않는다.
프로세서(610)는 복수의 구체적인 구현예를 가질 수 있다. 예를 들어, 프로세서(610)는 중앙 프로세싱 유닛(central processing unit, CPU) 또는 그래픽 프로세싱 유닛(graphics processing unit, GPU)일 수 있다. 프로세서(610)는 대안적으로, 단일-코어 프로세서 또는 멀티-코어 프로세서일 수 있다. 프로세서(610)는 CPU 및 하드웨어 칩의 조합일 수 있다. 하드웨어 칩은 애플리케이션-특정 집적 회로(application-specific integrated circuit, ASIC), 프로그래밍가능 로직 디바이스(programmable logic device, PLD), 또는 그 조합일 수 있다. PLD는 복합 프로그래밍가능 로직 디바이스(complex programmable logic device, CPLD), 필드 프로그래밍가능 로직 게이트 어레이(field-programmable gate array, FPGA), 일반 어레이 로직(generic array logic, GAL), 또는 그 임의의 조합일 수 있다. 프로세서(610)는 대안적으로, 내장된 프로세싱 로직, 예를 들어, FPGA 또는 디지털 신호 프로세서(digital signal processor, DSP)를 갖는 로직 디바이스를 이용함으로써 독립적으로 구현될 수 있다.
통신 인터페이스(620)는 유선 인터페이스 또는 무선 인터페이스일 수 있고, 또 다른 모듈 또는 디바이스와 통신하도록 구성된다. 유선 인터페이스는 이더넷 인터페이스(Ethernet interface) 또는 로컬 상호접속 네트워크(local interconnect network, LIN)일 수 있다. 무선 인터페이스는 셀룰러 네트워크 인터페이스, 무선 로컬 영역 네트워크 인터페이스 등일 수 있다.
이 출원의 이 실시예에서의 통신 인터페이스(620)는 수신 유닛(510) 및 전송 유닛(520)에 의해 구현된 동작을 수행하고, 예를 들어, S201에서 사용자 단말에 의해 전송된 액세스 요청을 수신하고, IDP의 서버에 의해 생성되고 사용자 단말에 의해 포워딩되는 응답 메시지를 수신하고, S209에서, 제2 검증 메시지를 사용자 단말로 전송하도록 구성될 수 있다. 구체적으로, 통신 인터페이스(620)에 의해 수행된 액션에 대하여, 상기한 방법 실시예에서 SP의 서버에 의해 수신하거나 전송하는 액션을 참조한다. 세부사항은 본 명세서에서 다시 설명되지 않는다.
메모리(630)는 비-휘발성 메모리, 예를 들어, 판독-전용 메모리(read-only memory, ROM), 프로그래밍가능 판독-전용 메모리(programmable ROM, PROM), 소거가능 프로그래밍가능 판독-전용 메모리(erasable PROM, EPROM), 전기적 소거가능 프로그래밍가능 판독-전용 메모리(electrically EPROM, EEPROM), 또는 플래시 메모리일 수 있다. 메모리(630)는 또한, 휘발성 메모리일 수 있다. 휘발성 메모리는 랜덤 액세스 메모리(random access memory, RAM)일 수 있고, 외부 캐시로서 이용된다.
메모리(630)는 또한, 명령 및 데이터를 저장하도록 구성될 수 있어서, 프로세서(610)는 프로세싱 유닛(530)에 의해 수행된 동작, 예를 들어, 상기한 방법 실시예에서 SP의 서버에 의해 수행된 동작을 구현하기 위하여 메모리(630) 내에 저장된 명령을 호출한다. 추가적으로, 서버(600)는 도 6에서 도시된 것보다 많거나 적은 컴포넌트를 포함할 수 있거나, 상이한 컴퓨터 구성 방식을 가질 수 있다.
버스(640)는 주변 컴포넌트 상호접속(peripheral component interconnect, PCI) 버스, 확장된 산업 표준 아키텍처(extended industry standard architecture, 줄여서 EISA) 버스 등일 수 있다. 버스(640)는 어드레스 버스, 데이터 버스, 제어 버스 등으로 분류될 수 있다. 표현의 용이함을 위하여, 오직 하나의 두꺼운 라인은 도 6에서의 버스를 나타내기 위하여 이용되지만, 이것은 오직 하나의 버스 또는 오직 하나의 유형의 버스가 있다는 것을 의미하지는 않는다.
임의적으로, 서버(600)는 입력/출력 인터페이스(650)를 더 포함할 수 있다. 입력/출력 인터페이스(650)는 입력/출력 디바이스에 접속되고, 입력 정보를 수신하고 동작 결과를 출력하도록 구성된다.
구체적으로, 서버(600)에 의해 수행된 다양한 동작을 조절하는 구체적인 구현예에 대하여, 상기한 방법 실시예에서 SP의 서버에 의해 수행된 구체적인 동작을 참조한다. 세부사항은 본 명세서에서 다시 설명되지 않는다.
이 출원의 실시예는 비-순시적(non-transient) 컴퓨터-판독가능 저장 매체를 추가로 제공한다. 컴퓨터-판독가능 저장 매체는 컴퓨터 프로그램을 저장한다. 컴퓨터 프로그램이 프로세서 상에서 작동될 때, 상기한 방법 실시예에서 SP의 서버에 의해 수행된 방법 단계가 구현될 수 있다. 컴퓨터 저장 매체의 프로세서에 의해 수행된 방법 단계의 구체적인 구현예에 대하여, 상기한 방법 실시예에서의 SP의 서버의 구체적인 동작을 참조한다. 세부사항은 본 명세서에서 다시 설명되지 않는다.
상기한 실시예에서, 각각의 실시예의 설명은 개개의 초점을 가진다. 실시예에서 상세하게 설명되지 않은 부분에 대하여, 다른 실시예에서의 관련된 설명을 참조한다.
상기한 실시예의 전부 또는 일부는 소프트웨어, 하드웨어, 펌웨어, 또는 그 임의의 조합에 의해 구현될 수 있다. 소프트웨어가 실시예를 구현하기 위하여 이용될 때, 상기한 실시예는 컴퓨터 프로그램 제품의 형태로 완전히 또는 부분적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 명령을 포함한다. 컴퓨터 프로그램 명령이 컴퓨터 상에서 로딩되거나 실행될 때, 본 발명의 실시예에 따른 절차 또는 기능의 전부 또는 일부가 생성된다. 컴퓨터는 범용 컴퓨터, 전용 컴퓨터, 컴퓨터 네트워크, 또는 다른 프로그래밍가능 장치일 수 있다. 컴퓨터 명령은 컴퓨터-판독가능 저장 매체 내에 저장될 수 있거나, 컴퓨터-판독가능 저장 매체로부터 또 다른 컴퓨터-판독가능 저장 매체로 전송될 수 있다. 예를 들어, 컴퓨터 명령은 유선(예를 들어, 동축 케이블, 광섬유, 또는 디지털 가입자 선로) 또는 무선(예를 들어, 적외선, 라디오, 또는 마이크로파) 방식으로 웹사이트, 컴퓨터, 서버, 또는 데이터 센터로부터 또 다른 웹사이트, 컴퓨터, 서버, 또는 데이터 센터로 전송될 수 있다. 컴퓨터-판독가능 저장 매체는 하나 이상의 이용가능 매체를 통합하는 서버 또는 데이터 센터와 같은 컴퓨터 또는 데이터 저장 디바이스에 의해 액세스가능한 임의의 이용가능 매체일 수 있다. 이용가능 매체는 자기 매체(예를 들어, 플로피 디스크, 하드 디스크, 또는 자기 테이프), 광학 매체(예를 들어, DVD), 또는 반도체 매체일 수 있다. 반도체 매체는 솔리드-스테이트 드라이브(solid-state drive, SSD)일 수 있다.
이 출원의 실시예의 방법에서의 단계는 실제적인 요건에 따라 순차적으로 스케줄링되거나, 조합되거나, 삭제될 수 있다. 이 출원의 실시예의 장치에서의 모듈은 실제적인 요건에 따라 분할되거나, 조합되거나, 삭제될 수 있다.
이 출원의 실시예는 위에서 상세하게 설명된다. 이 출원의 원리 및 구현예는 구체적인 예를 통해 본 명세서에서 설명된다. 실시예에 대한 설명은 이 출원의 방법 및 핵심 사상을 이해하는 것을 돕기 위하여 단지 제공된다. 추가적으로, 본 기술분야에서의 통상의 기술자는 이 출원의 사상에 따라 구체적인 구현예 및 적용 범위의 측면에서 이 출원에 대한 변형 및 수정을 행할 수 있다. 그러므로, 이 명세서의 내용은 이 출원에 대한 제한으로서 해석되지 않을 것이다.
Claims (10)
- 신분 인증 방법으로서,
서비스 제공자의 서버에 의해, 사용자의 사용자 신분(user identity)이 신분 제공자(identity provider)의 서버에 의해 인증되었다는 것을 지시하는 메시지를 수신하는 단계 - 상기 메시지는 상기 사용자에 구속된 검증 방법에 대한 정보를 포함함 -;
상기 서비스 제공자의 상기 서버에 의해, 상기 검증 방법에 대한 상기 정보에 기초하여 검증 요청을 사용자 단말로 전송하는 단계;
상기 서비스 제공자의 상기 서버에 의해, 상기 사용자 단말에 의해 전송된 검증 코드를 수신하고, 상기 검증 코드에 대해 검증을 수행하는 단계; 및
상기 서비스 제공자의 상기 서버가 상기 검증 코드를 검증하였을 때, 상기 서비스 제공자의 상기 서버에 의해, 상기 사용자에 대응하는 액세스 크리덴셜(access credential)을 생성하고, 상기 액세스 크리덴셜을 상기 사용자 단말로 전송하는 단계 - 상기 액세스 크리덴셜은 상기 사용자가 상기 서비스 제공자의 상기 서버를 액세스하기 위한 허가를 가진다는 것을 지시함 -
를 포함하는 신분 인증 방법. - 제1항에 있어서,
상기 서비스 제공자의 상기 서버에 의해, 상기 검증 방법에 대한 상기 정보에 기초하여 검증 요청을 사용자 단말로 전송하는 단계는,
상기 서비스 제공자의 상기 서버에 의해, 상기 검증 방법에 대한 상기 정보에 기초하여, 상기 사용자가 상기 검증 코드를 수신하는 방법을 결정하는 단계 - 상기 사용자가 상기 검증 코드를 수신하는 상기 방법은 이메일(email)을 통해 상기 검증 코드를 수신하는 것, 또는 SMS 메시지를 통해 상기 검증 코드를 수신하는 것을 포함함 -; 및
상기 서비스 제공자의 상기 서버에 의해, 상기 검증 요청을 상기 사용자 단말로 전송하고, 상기 검증 코드를 생성하고, 상기 사용자가 상기 검증 코드를 수신하는 상기 결정된 방법에서, 상기 검증 코드를 상기 사용자에 의해 이용된 전자 디바이스로 전송하는 단계
를 포함하는, 신분 인증 방법. - 제1항에 있어서,
상기 검증 코드는 상기 사용자에 의해 이용된 멀티-인자 인증(multi-factor authentication) 디바이스에 의해 생성되고, 상기 메시지는 상기 사용자의 멀티-인자 인증 키를 포함하고;
상기 서비스 제공자의 상기 서버에 의해, 상기 사용자 단말에 의해 전송된 검증 코드를 수신하고, 상기 검증 코드에 대해 검증을 수행하는 단계는,
상기 서비스 제공자의 상기 서버에 의해, 상기 멀티-인자 인증 디바이스에 의해 생성되고 상기 사용자 단말에 의해 전송되는 제1 검증 코드를 수신하는 단계; 및
상기 서비스 제공자의 상기 서버에 의해, 상기 멀티-인자 인증 키에 기초하여 제2 검증 코드를 생성하고, 상기 제2 검증 코드에 기초하여 상기 제1 검증 코드에 대해 검증을 수행하는 단계
를 포함하는, 신분 인증 방법. - 제1항 내지 제3항 중 어느 한 항에 있어서,
서비스 제공자의 서버에 의해, 사용자의 사용자 신분이 신분 제공자의 서버에 의해 인증되었다는 것을 지시하는 메시지를 수신하는 단계 전에, 상기 신분 인증 방법은,
상기 서비스 제공자의 상기 서버에 의해, 상기 사용자 단말에 의해 전송된 액세스 요청을 수신하는 단계 - 상기 액세스 요청은 상기 신분 제공자의 식별자를 포함함 -;
상기 서비스 제공자의 상기 서버에 의해, 상기 액세스 요청에 기초하여 인증 요청을 생성하는 단계 - 상기 인증 요청은 상기 서비스 제공자의 식별자를 포함함 -; 및
상기 서비스 제공자의 상기 서버에 의해, 상기 신분 제공자의 상기 식별자에 기초하여 상기 신분 제공자의 상기 서버의 어드레스를 결정하고, 상기 인증 요청을 상기 신분 제공자의 상기 서버로 전송하는 단계 - 상기 인증 요청은 상기 사용자의 상기 사용자 신분에 대해 인증을 수행하고 인증 결과에 기초하여 상기 메시지를 상기 사용자 단말로 전송하도록 상기 신분 제공자의 상기 서버에 지시함 -
를 더 포함하는, 신분 인증 방법. - 신분 인증 장치로서,
사용자의 사용자 신분이 신분 제공자의 서버에 의해 인증되었다는 것을 지시하는 메시지를 수신하도록 구성된 수신 유닛 - 상기 메시지는 상기 사용자에 구속된 검증 방법에 대한 정보를 포함함 -;
상기 검증 방법에 대한 상기 정보에 기초하여 검증 요청을 사용자 단말로 전송하도록 구성된 전송 유닛 -
상기 수신 유닛은 상기 사용자 단말에 의해 전송된 검증 코드를 수신하도록 추가로 구성됨 -; 및
상기 검증 코드에 대해 검증을 수행하고, 상기 검증 코드에 대한 상기 검증이 성공할 때, 상기 사용자에 대응하는 액세스 크리덴셜을 생성하도록 구성된 프로세싱 유닛 - 상기 액세스 크리덴셜은 상기 사용자가 서비스 제공자의 서버를 액세스하기 위한 허가를 가진다는 것을 지시함 -
을 포함하고,
상기 전송 유닛은 상기 액세스 크리덴셜을 상기 사용자 단말로 전송하도록 추가로 구성된, 신분 인증 장치. - 제5항에 있어서,
상기 프로세싱 유닛은, 상기 검증 방법에 대한 상기 정보에 기초하여, 상기 사용자가 상기 검증 코드를 수신하는 방법을 결정하고, 상기 검증 코드를 생성하도록 추가로 구성되고, 상기 사용자가 상기 검증 코드를 수신하는 상기 방법은 이메일을 통해 상기 검증 코드를 수신하는 것, 또는 SMS 메시지를 통해 상기 검증 코드를 수신하는 것을 포함하고;
상기 전송 유닛은 상기 검증 요청을 상기 사용자 단말로 전송하고, 상기 사용자가 상기 검증 코드를 수신하는 상기 결정된 방법에서, 상기 검증 코드를 상기 사용자에 의해 이용된 전자 디바이스로 전송하도록 구체적으로 구성된, 신분 인증 장치. - 제5항에 있어서,
상기 검증 코드는 상기 사용자에 의해 이용된 멀티-인자 인증 디바이스에 의해 생성되고, 상기 메시지는 상기 사용자의 멀티-인자 인증 키를 포함하고;
상기 수신 유닛은, 상기 멀티-인자 인증 디바이스에 의해 생성되고 상기 사용자 단말에 의해 전송되는 제1 검증 코드를 수신하도록 추가로 구성되고;
상기 프로세싱 유닛은, 상기 멀티-인자 인증 키에 기초하여 제2 검증 코드를 생성하고, 상기 제2 검증 코드에 기초하여 상기 제1 검증 코드에 대해 검증을 수행하도록 구체적으로 구성된, 신분 인증 장치. - 제5항 내지 제7항 중 어느 한 항에 있어서,
상기 수신 유닛은, 상기 사용자 단말에 의해 전송된 액세스 요청을 수신하도록 추가로 구성되고, 상기 액세스 요청은 상기 신분 제공자의 식별자를 포함하고;
상기 프로세싱 유닛은, 상기 액세스 요청에 기초하여 인증 요청을 생성하고 - 상기 인증 요청은 상기 서비스 제공자의 식별자를 포함함 -;
상기 신분 제공자의 상기 식별자에 기초하여 상기 신분 제공자의 상기 서버의 어드레스를 결정하도록 추가로 구성되고;
상기 전송 유닛은, 상기 인증 요청을 상기 신분 제공자의 상기 서버로 전송하도록 추가로 구성되고, 상기 인증 요청은 상기 사용자의 상기 사용자 신분에 대해 인증을 수행하고 인증 결과에 기초하여 상기 메시지를 상기 사용자 단말로 전송하도록 상기 신분 제공자의 상기 서버에 지시하는, 신분 인증 장치. - 프로세서 및 메모리를 포함하는 서버로서,
상기 메모리는 명령을 저장하도록 구성되고, 상기 프로세서는 명령을 실행하도록 구성되고, 상기 프로세서가 상기 명령을 실행할 때, 상기 서버는 제1항 내지 제4항 중 어느 한 항에 따른 상기 방법을 수행하는, 서버. - 컴퓨터-판독가능 저장 매체로서,
상기 컴퓨터-판독가능 저장 매체는 컴퓨터 프로그램을 저장하고, 상기 컴퓨터 프로그램은 제1항 내지 제4항 중 어느 한 항에 따른 상기 방법을 수행하도록 서버에 지시하는, 컴퓨터-판독가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911417640.1 | 2019-12-31 | ||
CN201911417640.1A CN111177686B (zh) | 2019-12-31 | 2019-12-31 | 一种身份认证方法、装置及相关设备 |
PCT/CN2020/141007 WO2021136290A1 (zh) | 2019-12-31 | 2020-12-29 | 一种身份认证方法、装置及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220133206A true KR20220133206A (ko) | 2022-10-04 |
Family
ID=70646440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227026477A KR20220133206A (ko) | 2019-12-31 | 2020-12-29 | 신분 인증 방법 및 장치, 그리고 관련 디바이스 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4083830A4 (ko) |
KR (1) | KR20220133206A (ko) |
CN (2) | CN115333792A (ko) |
WO (1) | WO2021136290A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024106603A1 (ko) * | 2022-11-16 | 2024-05-23 | 주식회사 컴투버스 | 메타버스 통합 인증 방법 및 시스템 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115333792A (zh) * | 2019-12-31 | 2022-11-11 | 华为云计算技术有限公司 | 一种身份认证方法、装置及相关设备 |
CN113922975B (zh) * | 2020-06-22 | 2024-05-24 | 中移(苏州)软件技术有限公司 | 一种安全控制方法、服务器、终端、系统和存储介质 |
CN112035810A (zh) * | 2020-08-19 | 2020-12-04 | 绿盟科技集团股份有限公司 | 一种访问控制方法、装置、介质和设备 |
CN114091002A (zh) * | 2020-08-24 | 2022-02-25 | 中兴通讯股份有限公司 | 云桌面访问认证方法、电子设备和计算机可读存储介质 |
CN114258006B (zh) * | 2020-09-23 | 2023-07-18 | 华为技术有限公司 | 获取凭据的方法、装置及系统 |
CN112836202A (zh) * | 2021-02-01 | 2021-05-25 | 长沙市到家悠享网络科技有限公司 | 信息处理方法及装置、服务器 |
CN113722690B (zh) * | 2021-09-08 | 2023-11-10 | 北京华鼎博视数据信息技术有限公司 | 数据发送、接收以及凭证记录方法、设备 |
CN113852681B (zh) * | 2021-09-22 | 2024-07-12 | 深信服科技股份有限公司 | 一种网关认证方法、装置及安全网关设备 |
CN114389851B (zh) * | 2021-12-17 | 2023-07-18 | 苏州浪潮智能科技有限公司 | 交换机维护服务身份验证方法、系统、终端及存储介质 |
CN116415223A (zh) * | 2021-12-31 | 2023-07-11 | 上海云盾信息技术有限公司 | 第三方应用的单点登录的方法、系统及设备 |
CN114844661B (zh) * | 2022-02-18 | 2023-07-14 | 国政通科技有限公司 | 一种实现远程权限验证管理系统、方法、设备和存储介质 |
CN114863506B (zh) * | 2022-03-18 | 2023-05-26 | 珠海优特电力科技股份有限公司 | 准入权限的验证方法、装置、系统和身份认证终端 |
CN114553592B (zh) * | 2022-03-23 | 2024-03-22 | 深圳市美科星通信技术有限公司 | 一种设备身份验证的方法、设备及存储介质 |
CN114726595B (zh) * | 2022-03-24 | 2023-09-29 | 中科吉芯(昆山)信息科技有限公司 | 一种利用时空信息认证人机身份的方法 |
CN115277168B (zh) * | 2022-07-25 | 2023-05-26 | 绿盟科技集团股份有限公司 | 一种访问服务器的方法以及装置、系统 |
CN116321156B (zh) * | 2023-05-18 | 2023-08-04 | 合肥工业大学 | 一种轻量化车云身份认证方法和通信方法 |
CN116800544B (zh) * | 2023-08-21 | 2023-11-24 | 成都数智创新精益科技有限公司 | 一种用户认证方法及系统及装置及介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567878B (zh) * | 2008-04-26 | 2012-07-25 | 华为技术有限公司 | 提高网络身份认证安全性的方法 |
CN101867589B (zh) * | 2010-07-21 | 2012-11-28 | 深圳大学 | 一种网络身份认证服务器及其认证方法与系统 |
CN102457555A (zh) * | 2010-10-28 | 2012-05-16 | 中兴通讯股份有限公司 | 一种分布式存储的安全系统及方法 |
CN102404392A (zh) * | 2011-11-10 | 2012-04-04 | 山东浪潮齐鲁软件产业股份有限公司 | 一种Web应用或网站集成登录的方法 |
CN102624720B (zh) * | 2012-03-02 | 2017-04-12 | 华为技术有限公司 | 一种身份认证的方法、装置和系统 |
US8769651B2 (en) * | 2012-09-19 | 2014-07-01 | Secureauth Corporation | Mobile multifactor single-sign-on authentication |
US9412283B2 (en) * | 2012-12-31 | 2016-08-09 | Piyush Bhatnagar | System, design and process for easy to use credentials management for online accounts using out-of-band authentication |
CN106134155B (zh) * | 2014-03-29 | 2020-01-24 | 阿卡麦科技公司 | 与覆盖网络相关的方法 |
US9641341B2 (en) * | 2015-03-31 | 2017-05-02 | Duo Security, Inc. | Method for distributed trust authentication |
US10187374B2 (en) * | 2015-10-29 | 2019-01-22 | Airwatch Llc | Multi-factor authentication for managed applications using single sign-on technology |
CN106341428A (zh) * | 2016-11-21 | 2017-01-18 | 航天信息股份有限公司 | 一种跨域访问控制方法和系统 |
US11082212B2 (en) * | 2017-12-26 | 2021-08-03 | Industrial Technology Research Institute | System and method for communication service verification, and verification server thereof |
CN108900561A (zh) * | 2018-09-28 | 2018-11-27 | 北京芯盾时代科技有限公司 | 单点登录的方法、装置及系统 |
CN110572388B (zh) * | 2019-09-05 | 2022-01-04 | 北京宝兰德软件股份有限公司 | 对接统一认证服务器的方法及统一认证适配器 |
CN115333792A (zh) * | 2019-12-31 | 2022-11-11 | 华为云计算技术有限公司 | 一种身份认证方法、装置及相关设备 |
-
2019
- 2019-12-31 CN CN202210863291.1A patent/CN115333792A/zh active Pending
- 2019-12-31 CN CN201911417640.1A patent/CN111177686B/zh active Active
-
2020
- 2020-12-29 KR KR1020227026477A patent/KR20220133206A/ko not_active Application Discontinuation
- 2020-12-29 EP EP20910373.8A patent/EP4083830A4/en active Pending
- 2020-12-29 WO PCT/CN2020/141007 patent/WO2021136290A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024106603A1 (ko) * | 2022-11-16 | 2024-05-23 | 주식회사 컴투버스 | 메타버스 통합 인증 방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
CN111177686B (zh) | 2022-07-29 |
WO2021136290A1 (zh) | 2021-07-08 |
CN115333792A (zh) | 2022-11-11 |
CN111177686A (zh) | 2020-05-19 |
EP4083830A1 (en) | 2022-11-02 |
EP4083830A4 (en) | 2023-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4083830A1 (en) | Identity authentication method and apparatus, and related device | |
US10348715B2 (en) | Computer-implemented systems and methods of device based, internet-centric, authentication | |
US10904234B2 (en) | Systems and methods of device based customer authentication and authorization | |
US11522711B2 (en) | Systems and methods for block chain authentication | |
Jacomme et al. | An extensive formal analysis of multi-factor authentication protocols | |
CA2689847C (en) | Network transaction verification and authentication | |
US10666622B2 (en) | Automatic placeholder finder-filler | |
US9166777B2 (en) | Method and system for user authentication for computing devices utilizing PKI and other user credentials | |
US20190199707A1 (en) | Using a service-provider password to simulate f-sso functionality | |
KR102678262B1 (ko) | 분산형 컴퓨터 애플리케이션들을 구축하기 위한 비-보관 툴 | |
US20120233678A1 (en) | Securely and automatically connecting virtual machines in a public cloud to corporate resource | |
US9954834B2 (en) | Method of operating a computing device, computing device and computer program | |
US10645077B2 (en) | System and method for securing offline usage of a certificate by OTP system | |
CN111970116A (zh) | 具有远程认证的虚拟递送设备和系统以及相关方法 | |
US9807075B2 (en) | Methods for activation of an application on a user device | |
CN111786969A (zh) | 单点登录方法、装置及系统 | |
US9503442B1 (en) | Credential-based application programming interface keys | |
WO2022217011A1 (en) | End-to-end verifiable multi-factor authentication service | |
US11032708B2 (en) | Securing public WLAN hotspot network access | |
Everts et al. | UbiKiMa: Ubiquitous authentication using a smartphone, migrating from passwords to strong cryptography | |
US11977620B2 (en) | Attestation of application identity for inter-app communications | |
US12022002B2 (en) | Apparatus, methods, and program products for generating secure short universal resource locators | |
Binu et al. | A proof of concept implementation of a mobile based authentication scheme without password table for cloud environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal |