KR20190023353A - Smart card based authentication system, device and method - Google Patents
Smart card based authentication system, device and method Download PDFInfo
- Publication number
- KR20190023353A KR20190023353A KR1020170108943A KR20170108943A KR20190023353A KR 20190023353 A KR20190023353 A KR 20190023353A KR 1020170108943 A KR1020170108943 A KR 1020170108943A KR 20170108943 A KR20170108943 A KR 20170108943A KR 20190023353 A KR20190023353 A KR 20190023353A
- Authority
- KR
- South Korea
- Prior art keywords
- authentication
- value
- smart card
- service providing
- server
- Prior art date
Links
Images
Classifications
-
- 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/3234—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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/385—Payment protocols; Details thereof using an alias or single-use codes
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- 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
-
- 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/121—Timestamp
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
본 발명의 기술적 사상은 스마트 카드 기반 인증 시스템, 장치 및 방법에 관한 것으로, 보다 상세하게는, 다중 서버 환경에서의 스마트 카드 기반 인증에 관한 것이다.The technical idea of the present invention relates to a smart card-based authentication system, apparatus and method, and more particularly to smart card-based authentication in a multi-server environment.
컴퓨터 네트워크 및 서비스 제공 서버 등의 급속한 성정으로, 자원 효율성을 높이기 위한 다중 서버 아키텍처(Multi-server Architecture)가 제안되었다.In order to increase resource efficiency, a multi-server architecture has been proposed due to the rapid growth of computer networks and service providing servers.
이러한 다중 서버 아키텍처는 하나의 서버에 대한 자원의 제약성을 높일 수 있어서, 다중 서버 환경에서의 인증 프로토콜은 다양한 연구를 통해 지속적으로 발전되고 있다.These multi-server architectures can increase resource constraints on a single server, so authentication protocols in a multi-server environment are constantly evolving through various studies.
다만, 다중 서버 환경에서는 서비스를 제공받고자 하는 사용자가 원격으로 서버에 접속하기 때문에, 데이터 도청 및 위변조 공격에 노출될 수 있다.However, in a multi-server environment, a user who wants to receive a service accesses the server remotely, which may be exposed to data eavesdropping and forgery attacks.
따라서, 이러한 데이터 도청 및 위변조 공격과 같은 보안 문제를 해결하기 위한 안전한 인증 기술이 필요하다.Therefore, there is a need for a secure authentication technique to solve security problems such as data interception and forgery attacks.
본 발명의 기술적 사상에 따른 스마트 카드 기반 인증 시스템, 장치 및 방법은 다중 서버 환경에서 안전성이 향상된 스마트 카드 기반 인증 프로토콜을 제공하는데 목적이 있다.A smart card-based authentication system, apparatus and method according to the technical idea of the present invention is intended to provide a smart card-based authentication protocol with improved security in a multi-server environment.
본 발명은 인증을 위한 프로토콜의 연산량을 감소시켜 인증 프로토콜의 효율성을 향상시키는데 목적이 있다.An object of the present invention is to reduce the amount of computation of a protocol for authentication and to improve the efficiency of an authentication protocol.
또한, 본 발명은 스마트 카드를 이용한 키 교환 및 다양한 응용 분야에 활용하는데 목적이 있다.In addition, the present invention has an object to utilize smart cards for key exchange and various applications.
본 발명의 기술적 사상에 따른 충돌예측장치 및 방법이 이루고자 하는 기술적 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)는 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problem to be solved by the apparatus and method for predicting collision according to the technical idea of the present invention is not limited to the above-mentioned problem (s), and another problem (s) not mentioned is clearly understood by those skilled in the art .
본 발명의 기술적 사상에 의한 일 양태에 따른 스마트 카드 기반 인증 방법은 서비스 제공 서버로부터 서비스 제공 서버 ID를 수신하는 단계; 상기 수신된 서비스 제공 서버 ID 및 보안 정보에 대한 해쉬 값을 계산하는 단계; 사용자 단말로부터 사용자 정보 값을 포함하는 등록 요청 메시지를 수신하는 단계; 상기 수신된 등록 요청 메시지를 기초로, 스마트 카드 검증을 위한 스마트 카드 검증값을 생성하는 단계; 상기 생성된 스마트 카드 검증값을 스마트 카드에 저장하는 단계; 및 상기 스마트 카드 검증값이 저장된 스마트 카드를 상기 사용자 단말에 발행하는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided a smart card-based authentication method including: receiving a service providing server ID from a service providing server; Calculating a hash value for the received service providing server ID and security information; Receiving a registration request message including a user information value from a user terminal; Generating a smart card verification value for smart card verification based on the received registration request message; Storing the generated smart card verification value in a smart card; And issuing a smart card to the user terminal in which the smart card verification value is stored.
예시적인 실시예에 따르면, 상기 사용자 정보 값 및 보안 정보를 기초로, 사용자 검증값을 생성하는 단계; 및 상기 생성된 사용자 검증값, 상기 사용자 정보 값 및 사용자 등록 상태에 대한 상태 비트 값을 검증자 테이블에 저장하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, the method includes generating a user verification value based on the user information value and the security information; And storing the generated user verification value, the user information value, and the status bit value for the user registration status in the verifier's table.
예시적인 실시예에 따르면, 상기 보안 정보는 마스터 시크릿 키(master secret key) 및 시크릿 넘버(secret number)를 포함할 수 있다.According to an exemplary embodiment, the security information may include a master secret key and a secret number.
예시적인 실시예에 따르면, 상기 서비스 제공 서버로부터, 상기 서비스 제공 서버가 생성한 인증값 및 타임 스탬프를 포함하는 로그인 요청 메시지를 수신하는 단계; 및 상기 수신된 로그인 요청 메시지를 수신한 때의 타임 스탬프와 상기 로그인 요청 메시지에 포함된 상기 타임 스탬프를 기초로, 인증 시간을 확인하는 단계를 더 포함할 수 있다.According to an exemplary embodiment of the present invention, the method includes receiving a login request message including the authentication value and the time stamp generated by the service providing server from the service providing server; And confirming the authentication time based on the time stamp when the received login request message is received and the time stamp included in the login request message.
예시적인 실시예에 따르면, 상기 수신된 로그인 요청 메시지에 포함된 인증값, 상기 서비스 제공 서버 ID 및 상기 보안 정보를 기초로, 제2 랜덤값을 계산하는 단계; 상기 계산된 제2 랜덤값 및 상기 보안 정보를 기초로, 인증값 M′을 계산하는 단계; 상기 계산된 인증값 M′과 상기 로그인 요청 메시지에 포함된 인증값 M을 비교하는 단계; 및 비교 결과, 상기 계산된 인증값 M′과 상기 로그인 요청 메시지에 포함된 인증값 M이 동일하면, 상기 서비스 제공 서버를 정당한 서비스 제공 서버로 인증하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, the method includes calculating a second random value based on the authentication value included in the received login request message, the service providing server ID, and the security information. Calculating an authentication value M 'based on the calculated second random value and the security information; Comparing the calculated authentication value M 'with an authentication value M included in the login request message; And authenticating the service providing server as a legitimate service providing server if the calculated authentication value M 'is equal to the authentication value M included in the login request message as a result of the comparison.
예시적인 실시예에 따르면, 상기 사용자 단말을 인증하기 위한 사용자 검증값을 검색하는 단계; 상기 검색된 사용자 검증값을 기초로, 상기 사용자 단말이 생성한 제1 랜덤값을 계산하는 단계; 상기 계산된 제1 랜덤값을 기초로, 상기 인증값 C′을 계산하는 단계; 상기 계산된 인증값 C′와 상기 로그인 요청 메시지에 포함된 인증값 C를 비교하는 단계; 및 비교 결과, 상기 계산된 인증값 C′와 상기 로그인 요청 메시지에 포함된 인증값 C이 동일하면, 상기 사용자 단말을 정당한 사용자 단말로 인증하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, there is provided a method comprising: retrieving a user verification value for authenticating the user terminal; Calculating a first random value generated by the user terminal based on the retrieved user verification value; Calculating the authentication value C 'based on the calculated first random value; Comparing the calculated authentication value C 'with an authentication value C included in the login request message; And authenticating the user terminal as a legitimate user terminal if the calculated authentication value C 'is equal to the authentication value C included in the login request message as a result of the comparison.
본 발명의 기술적 사상에 의한 다른 양태에 따른 스마트 카드 기반 인증 방법은 사용자 단말에 스마트 카드가 삽입된 상태에서, 사용자 정보를 획득하는 단계; 상기 획득된 사용자 정보를 기초로, 스마트 카드 검증값(VerforSCi′)을 계산하는 단계; 상기 계산된 스마트 카드 검증값(VerforSCi′)과 상기 스마트 카드에 저장된 스마트 카드 검증값(VerforSCi)을 비교하는 단계; 및 비교 결과, 상기 계산된 스마트 카드 검증값(VerforSCi′)과 상기 스마트 카드에 저장된 스마트 카드 검증값(VerforSCi)이 동일하면, 상기 스마트 카드에 대한 사용자를 인증하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a smart card-based authentication method including: acquiring user information in a state that a smart card is inserted in a user terminal; Calculating a smart card verification value (VerforSC i ') based on the obtained user information; Comparing the calculated smart card verification value (VerforSC i ') with a smart card verification value (VerforSC i ) stored in the smart card; And authenticating the user to the smart card if the calculated smart card verification value VerforSC i 'is the same as the smart card verification value VerforSC i stored in the smart card as a result of the comparison.
예시적인 실시예에 따르면, 선택된 제1 랜덤값을 이용하여 인증값 B 및 인증값 C를 계산하는 단계; 및 상기 계산된 인증값 B, 인증값 C 및 타임 스탬프를 포함하는 로그인 요청 메시지를 서비스 제공 서버에 전송하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, calculating an authentication value B and an authentication value C using the selected first random value; And transmitting the login request message including the calculated authentication value B, the authentication value C, and the time stamp to the service providing server.
예시적인 실시예에 따르면, 상기 서비스 제공 서버로부터 응답 메시지를 수신하는 단계; 및 상기 수신된 응답 메시지에 포함된 타임 스탬프를 기초로, 인증 시간을 확인하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, the method includes receiving a response message from the service providing server; And confirming the authentication time based on the time stamp included in the received response message.
예시적인 실시예에 따르면, 상기 응답 메시지에 포함된 인증값을 기초로, 인증값 V′를 계산하는 단계; 상기 계산된 인증값 V′과 상기 수신된 응답 메시지에 포함된 인증값 V를 비교하는 단계; 및 비교 결과, 상기 계산된 인증값 V′과 상기 수신된 응답 메시지에 포함된 인증값 V가 동일하면, 상기 서비스 제공 서버 및 상기 인증 서버를 인증하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, calculating an authentication value V 'based on the authentication value included in the response message; Comparing the calculated authentication value V 'with an authentication value V included in the received response message; And authenticating the service providing server and the authentication server when the calculated authentication value V 'is equal to the authentication value V included in the received response message as a result of the comparison.
예시적인 실시예에 따르면, 상기 인증된 서비스 제공 서버 및 상기 인증된 인증 서버와 동일한 세션키를 생성하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, the method may further include generating the same session key as the authenticated service providing server and the authenticated authentication server.
본 발명의 기술적 사상에 의한 또 다른 양태에 따른 스마트 카드 기반 인증 방법은 사용자 단말로부터 로그인 요청 메시지를 수신하는 단계; 선택된 제2 랜덤값과, 인증 서버로부터 수신된 서비스 제공 서버 ID 및 보안 정보에 대한 해쉬 값을 기초로 인증값 K 및 인증값 M을 계산하는 단계; 및 상기 계산된 인증값 K 및 인증값 M과, 상기 서비스 제공 서버 ID 및 타임 스탬프를 포함하는 로그인 요청 메시지를 상기 인증 서버에 전송하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a smart card-based authentication method comprising: receiving a login request message from a user terminal; Calculating an authentication value K and an authentication value M based on the selected second random value, the service providing server ID received from the authentication server, and the hash value for the security information; And transmitting the login request message including the calculated authentication value K and the authentication value M, the service providing server ID, and the time stamp to the authentication server.
예시적인 실시예에 따르면, 상기 인증 서버로부터, 상기 전송된 로그인 요청 메시지에 대응하는 상호 인증 메시지를 수신하는 단계; 상기 상호 인증 메시지에 포함된 인증값을 기초로, 인증값 V′를 계산하는 단계; 상기 계산된 인증값 V′와 상기 상호 인증 메시지에 포함된 인증값 V를 비교하는 단계; 및 비교 결과, 상기 계산된 인증값 V′와 상기 상호 인증 메시지에 포함된 인증값 V가 동일하면, 상기 인증 서버를 정당한 인증 서버로 인증하는 단계를 포함할 수 있다.According to an exemplary embodiment, receiving from the authentication server a mutual authentication message corresponding to the transmitted login request message; Calculating an authentication value V 'based on the authentication value included in the mutual authentication message; Comparing the calculated authentication value V 'with an authentication value V included in the mutual authentication message; And authenticating the authentication server to a valid authentication server if the calculated authentication value V 'and the authentication value V included in the mutual authentication message are equal to each other.
예시적인 실시예에 따르면, 상기 인증값 V 및 타임 스탬프를 포함하는 응답 메시지를 상기 사용자 단말에 전송하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, the method may further include transmitting a response message including the authentication value V and a time stamp to the user terminal.
본 발명의 기술적 사상에 의한 실시예들에 따른 스마트 카드 기반 인증 시스템, 장치 및 방법은 다중 서버 환경에서의 인증 프로토콜의 안정성을 향상시킬 수 있다.The smart card-based authentication system, apparatus and method according to embodiments of the present invention can improve the stability of an authentication protocol in a multi-server environment.
본 발명은 인증을 위한 프로토콜의 연산량을 감소시킬 수 있어서, 인증 프로토콜의 효율성을 향상시킬 수 있다.The present invention can reduce the amount of computation of the protocol for authentication, thereby improving the efficiency of the authentication protocol.
또한, 본 발명에 따른 스마트 카드 기반 인증 시스템, 장치 및 방법은 스마트 카드를 이용한 키 교환 및 다양한 응용 분야에 활용할 수 있다. Further, the smart card-based authentication system, apparatus, and method according to the present invention can be utilized for key exchange using a smart card and various application fields.
본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 다양한 실시예에 따른 서버의 구성을 나타내는 블록도이다.
도 2는 본 발명의 다양한 실시예에 따른 단말기의 구성을 나타내는 블록도이다.
도 3은 본 발명의 다양한 실시예에 따른 스마트 카드 기반의 인증 프로토콜의 등록 단계에 대한 흐름도이다.
도 4는 본 발명의 다양한 실시예에 따른 스마트 카드 기반의 인증 프로토콜의 로그인 단계에 대한 흐름도이다.
도 5는 본 발명의 다양한 실시예에 따른 스마트 카드 기반의 인증 프로토콜의 인증 및 키 동의 단계에 대한 흐름도이다.
도 6은 본 발명의 다양한 실시예에 따른 패스워드 변경 동작에 대한 흐름도이다.BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited herein.
1 is a block diagram illustrating a configuration of a server according to various embodiments of the present invention.
2 is a block diagram illustrating a configuration of a terminal according to various embodiments of the present invention.
3 is a flow diagram of the registration step of a smart card-based authentication protocol according to various embodiments of the present invention.
4 is a flow diagram of a login step of a smart card-based authentication protocol in accordance with various embodiments of the present invention.
5 is a flowchart of authentication and key agreement steps of a smart card-based authentication protocol according to various embodiments of the present invention.
6 is a flow diagram of a password change operation in accordance with various embodiments of the present invention.
본 발명의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. However, it should be understood that the technical idea of the present invention is not limited to the specific embodiments but includes all changes, equivalents, and alternatives included in the technical idea of the present invention.
본 발명의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 기술적 사상의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0027] In the following description of the present invention, a detailed description of known technologies will be omitted when it is determined that the technical idea of the present invention may be unnecessarily obscured. In addition, numerals (e.g., first, second, etc.) used in the description of the present invention are merely an identifier for distinguishing one component from another.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.Also, in this specification, when an element is referred to as being "connected" or "connected" with another element, the element may be directly connected or directly connected to the other element, It should be understood that, unless an opposite description is present, it may be connected or connected via another element in the middle.
또한, 본 명세서에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processor), 어플리케이션 프로세서(Application Processor), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. The terms "to", "to", "to", "to", and "module" in the present specification mean units for processing at least one function or operation, An application processor, a microcontroller, a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processor unit (APU), a digital signal processor (DSP) Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array), or the like, or a combination of hardware and software.
그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.It is to be clarified that the division of constituent parts in this specification is merely a division by each main function of each constituent part. That is, two or more constituent parts to be described below may be combined into one constituent part, or one constituent part may be divided into two or more functions according to functions that are more subdivided. In addition, each of the constituent units described below may additionally perform some or all of the functions of other constituent units in addition to the main functions of the constituent units themselves, and that some of the main functions, And may be carried out in a dedicated manner.
이하, 본 발명의 기술적 사상에 의한 실시예들을 차례로 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail.
먼저, 본 발명에 따른 다중 서버 아키텍처에 포함되는 서버의 구성에 대해 설명한다.First, the configuration of a server included in the multi-server architecture according to the present invention will be described.
도 1은 본 발명의 다양한 실시예에 따른 서버의 구성을 나타내는 블록도이다.1 is a block diagram illustrating a configuration of a server according to various embodiments of the present invention.
도 1을 참조하면, 서버(100)는 프로세서(110), 메모리(130) 및 통신 모듈(150)을 포함할 수 있다.Referring to FIG. 1, a
프로세서(110)는 서버(100)의 전반적인 동작을 제어할 수 있다.The
예를 들면, 프로세서(110)는 스마트 키 기반의 인증 프로토콜과 관련된 다양한 동작을 제어할 수 있고, 수행할 수 있다.For example,
메모리(130)는 서버(100)의 동작과 관련된 다양한 정보를 저장할 수 있다. The
예를 들면, 메모리(130)는 스마트 카드 기반의 인증 프로토콜과 관련된 다양한 정보를 저장할 수 있다. For example, the
통신 모듈(150)은 서버(100)와 다른 서버 또는 서버(100)와 사용자 단말 간의 유선 통신 또는 무선 통신을 제공할 수 있다. The
예를 들면, 통신 모듈(150)은 스마트 카드 기반의 인증 프로토콜과 관련된 다양한 정보를 송수신할 수 있다.For example, the
서버(100)는 후술할 서비스 제공 서버(400), 인증 서버(500)일 수 있고, 사용자 단말(300)일 수도 있다.The
도 2는 본 발명의 다양한 실시예에 따른 단말기의 구성을 나타내는 블록도이다.2 is a block diagram illustrating a configuration of a terminal according to various embodiments of the present invention.
도 2를 참조하면, 단말기(200)는 프로세서(210), 메모리(230), 통신 모듈(250) 및 스마트 키 리더 모듈(270)을 포함할 수 있다.Referring to FIG. 2, the
프로세서(210)는 단말기(200)의 전반적인 동작을 제어할 수 있다.The
예를 들면, 프로세서(210)는 스마트 키 기반의 인증 프로토콜과 관련된 다양한 동작을 제어할 수 있고, 수행할 수 있다.For example,
또한, 프로세서(210)는 스마트 카드 읽기/쓰기와 관련된 동작을 제어할 수 있고, 수행할 수도 있다.In addition, the
메모리(230)는 단말기(200)의 동작과 관련된 다양한 정보를 저장 수 있다. The
예를 들면, 메모리(230)는 스마트 카드, 스마트 카드 기반의 인증 프로토콜과 관련된 다양한 정보를 저장할 수 있다. For example, the
통신 모듈(250)은 단말기(200)와 서버(100) 간의 유선 통신 또는 무선 통신을 제공할 수 있다. The
예를 들면, 통신 모듈(250)은 스마트 카드 기반의 인증 프로토콜과 관련된 다양한 정보를 송수신할 수 있다.For example, the
스마트 키 리더 모듈(270)은 스마트 카드 읽기/쓰기와 관련된 동작을 수행할 수 있다. 여기서 스마트 카드는 실물 형태가 없는 가상 카드일 수 있고, 물리적인 카드 형태의 실물 카드일 수도 있다.The smart
예를 들면, 스마트 키 리더 모듈(270)은 가상 카드를 인식하고, 읽기/쓰기할 수 있는 모듈일 수 있고, 실물 카드를 인식하고, 읽기/쓰기 할 수 있는 모듈일 수도 있다.For example, the smart
스마트 키 리더 모듈(270)은 상술한 프로세서(210) 및 메모리(230)에 의해 구현될 수도 있다. 이에 따라, 단말기(200)는 스마트 키 리더 모듈(270)을 실질적으로 구비하지 않을 수도 있다.The smart
다양한 실시예에 따른 스마트 카드 기반 인증 시스템, 장치 및 인증 방법의 동작 과정에 따른 스마트 카드 기반의 인증 프로토콜은 등록 단계(10), 로그인 단계(20) 및 인증 및 키 동의 단계(30)를 포함할 수 있다. 이하, 이에 대해 설명한다.The smart card-based authentication protocol according to the operation procedure of the smart card-based authentication system, apparatus and authentication method according to various embodiments includes a registration step 10, a login step 20, and an authentication and key agreement step 30 . This will be described below.
먼저, 도 3을 참조하여, 본 발명의 다양한 실시예에 따른 스마트 카드 기반의 인증 프로토콜의 등록 단계(10)를 설명한다.First, with reference to FIG. 3, a registration step (10) of a smart card-based authentication protocol according to various embodiments of the present invention is described.
도 3은 본 발명의 다양한 실시예에 따른 스마트 카드 기반의 인증 프로토콜의 등록 단계에 대한 흐름도이다.3 is a flow diagram of the registration step of a smart card-based authentication protocol according to various embodiments of the present invention.
도 3을 참조하면, 스마트 카드 기반의 인증 프로토콜은 사용자 단말(300), 서비스 제공 서버(400) 및 인증 서버(500)가 포함된 다중 서버 아키텍처로 구성될 수 있다.Referring to FIG. 3, a smart card-based authentication protocol may be configured with a multi-server architecture including a
여기서 사용자 단말(300)은 i번째 사용자 단말(Ui)일 수 있고, 서비스 제공 서버(400)는 j번째 서비스 제공 서버(Sj)일 수 있다. 그리고 인증 서버(500)는 신뢰할 수 있는 인증 서버로, 사용자 단말(300)과 서비스 제공 서버(400)의 등록 및 인증을 수행할 수 있다. 인증 서버(500)는 컨트롤 서버(control server)라고 칭할 수도 있다.Here, the
서비스 제공 서버(400)는 인증 서버(500)에 서비스 제공 서버 ID를 전송할 수 있다(S101).The
예를 들면, 서비스 제공 서버(400)는 서비스 제공 서버(400)의 ID 값인 SIDj를 인증 서버(500)에 전송할 수 있다. For example, the
구체적으로, 서비스 제공 서버(400)는 서비스 제공 서버(400)의 ID 값인 SIDj를 보안 채널을 통해 인증 서버(500)에 전송할 수 있다.Specifically, the
인증 서버(500)는 전송된 서비스 제공 서버 ID 및 보안 정보에 대한 해쉬 값을 계산할 수 있다(S103).The authentication server 500 may calculate a hash value for the transmitted service providing server ID and security information (S103).
예를 들면, 인증 서버(500)는 전송된 서비스 제공 서버 ID인 SIDj 및 보안 정보를 해쉬 함수(hash function) 처리한 해쉬 값을 계산할 수 있다. 여기서 보안 정보는 인증 서버(500)가 선택한 마스터 시크릿 키(master secret key, x) 및 인증 서버(500)가 선택한 시크릿 넘버(secret number, y)를 포함할 수 있다.For example, the authentication server 500 may calculate the hash value of the transmitted service providing server ID SID j and the hash function of the security information. Here, the security information may include a master secret key (x) selected by the authentication server (500) and a secret number (y) selected by the authentication server (500).
인증 서버(500)는 상술한 서비스 제공 서버 ID(SIDj), 마스터 시크릿 키(x), 시크릿 넘버(y)를 아래와 같은 식(1), (2)으로 계산할 수 있다.The authentication server 500 can calculate the service providing server ID SID j , the master secret key x and the secret number y by the following equations (1) and (2).
(1) h(SIDj||y)(1) h (SID j || y)
(2) h(x||y)(2) h (x || y)
인증 서버(500)는 서비스 제공 서버 ID(SIDj), 마스터 시크릿 키(x), 시크릿 넘버(y)를 식 (1), (2)에 의해 계산된 결과인 해쉬 값을 얻을 수 있다.The authentication server 500 can obtain the hash value that is the result of the calculation of the service providing server ID (SID j ), the master secret key (x), and the secret number (y) using the equations (1) and (2).
인증 서버(500)는 계산된 해쉬 값을 서비스 제공 서버(400)에 전송할 수 있다(S105).The authentication server 500 can transmit the calculated hash value to the service providing server 400 (S105).
예를 들면, 인증 서버(500)는 상술한 식(1), (2)에 의해 계산된 결과인 해쉬 값을 서비스 제공 서버(400)에 보안 채널을 통해 전송할 수 있다.For example, the authentication server 500 can transmit a hash value, which is a result calculated by the above equations (1) and (2), to the
사용자 단말(300)은 사용자 정보값을 계산할 수 있다(S107).The
예를 들면, 사용자 단말(300)은 사용자의 ID(IDi), 패스워드(Pi)를 선택하고, 선택된 사용자 ID 및 패스워드로 사용자 정보 해쉬 값을 계산할 수 있다.For example, the
구체적으로, 사용자 단말(300)은 사용자 ID(IDi) 및 패스워드(Pi)를 아래 식(3)으로 계산할 수 있다.Specifically, the
(3) UIi=h(IDi||h(Pi))(3) UI i = h (ID i || h (P i )
사용자 단말(300)은 계산된 사용자 정보 값을 포함하는 등록 요청 메시지를 인증 서버(500)에 전송할 수 있다(S109).The
예를 들면, 사용자 단말(300)은 인증 서버(500)에 등록 요청 메시지(IDi, UIi)를 전송할 수 있다.For example, the
인증 서버(500)는 검증 값을 생성할 수 있다(S111).The authentication server 500 may generate a verification value (S111).
예를 들면, 인증 서버(500)는 사용자 검증값(UserVeri), 스마트 카드 검증값(VerforSCi) 및 제1 인증값(Ai)을 생성할 수 있다. 여기서 스마트 카드 검증값(VerforSCi) 은 후술할 로그인 단계에서 사용자를 검증하기 위한 스마트 카드 검증값의 기준값이 될 수 있다. 이에 따라, 인증 서버(500)가 생성한 스마트 카드 검증값(VerforSCi)은 스마트 카드 검증 기준값이라고 할 수 있다.For example, the authentication server 500 may generate a user verification value (UserVer i ), a smart card verification value (VerforSC i ), and a first authentication value (A i ). Here, the smart card verification value (VerforSC i ) may be a reference value of the smart card verification value for verifying the user at a login step to be described later. Accordingly, the smart card verification value (VerforSC i ) generated by the authentication server 500 can be referred to as a smart card verification reference value.
구체적으로, 인증 서버(500)는 전송된 등록 요청 메시지를 기초로, 아래의 식(4), (5), (6)으로 사용자 검증값(UserVeri), 스마트 카드 검증값(VerforSCi) 및 제1 인증값(Ai) 각각을 계산할 수 있다. Specifically, based on the transmitted registration request message, the authentication server 500 calculates the user verification value UserVer i , the smart card verification value VerforSC i , It is possible to calculate each of the first authentication values A i .
(4) UserVeri=h(IDi||x)(4) UserVer i = h (ID i || x)
(5) VerforSCi=h(IDi||h(y)||UIi)(5) VerforSC i = h (ID i || h (y) || UI i )
(6) Ai=UserVeri UIi h(x)(6) A i = UserVer i UI i h (x)
식(6)에서 은 Exclusive OR Operation을 의미하며, 이하 동일하다In equation (6) Means Exclusive OR Operation, and the following is the same
인증 서버(500)는 생성된 검증값을 포함하는 검증 정보를 스마트 카드에 저장할 수 있다(S113).The authentication server 500 may store the verification information including the generated verification value in the smart card (S113).
예를 들면, 인증 서버(500)는 생성된 검증값 사용자 검증값(UserVeri), 스마트 카드 검증값(VerforSCi) 및 제1 인증값(Ai)과, 해쉬 연산값 h(*), h(y)을 스마트 카드에 저장할 수 있다.For example, the authentication server 500 generates the verification value user verification value UserV i , the smart card verification value VerforSC i , the first authentication value A i , the hash calculation value h (*), h (y) to the smart card.
여기서 h(*)은 충돌 회피 일방향 함수 해쉬 함수(a collision free one-way hash function)이고, h(y)는 상술한 시크릿 넘버(y)에 대한 해쉬 값을 의미한다.Here, h (*) is a collision free one-way hash function, and h (y) is a hash value for the secret number (y).
인증 서버(500)는 검증값을 저장할 수 있다(S115).The authentication server 500 may store the verification value (S115).
예를 들면, 인증 서버(500)는 사용자 정보 값(UIi), 사용자 검증 값(UserVeri) 및 상태 비트값을 검증자 테이블(verifier table)에 저장할 수 있다. 검증자 테이블은 아래 표와 같을 수 있다.For example, the authentication server 500 may store the user values (UI i), user verification value (UserVer i) and state party verifying the bit value table (table verifier). The validator table can be as shown in the table below.
구체적으로, 인증 서버(500)는 상태 비트값을, 사용자가 등록을 하면 상태 비트값은 1로 저장하고, 등록이 되어 있지 않으면 0으로 저장할 수 있다.Specifically, the authentication server 500 may store the status bit value as 1 when the user registers the status bit value, and may store the status bit value as 0 if not registered.
예를 들면 아래 표 1과 같이 저장될 수 있다.For example, as shown in Table 1 below.
(User information)User information
(User information)
(User-verifier)User Verifier Value
(User-verifier)
(Status-bit)Status bit value
(Status-bit)
인증 서버(500)는 생성한 스마트 카드를 사용자 단말(300)에 발행할 수 있다(S117).The authentication server 500 can issue the generated smart card to the user terminal 300 (S117).
인증 서버(500)는 검증 정보를 저장한 스마트 카드를 사용자 단말(300)에 발행(issue)할 수 있다. 예를 들면, 인증 서버(500)는 생성된 검증값 사용자 검증값(UserVeri), 스마트 카드 검증값(VerforSCi) 및 제1 인증값(Ai)과, 해쉬 연산값 h(*), h(y)을 저장한 스마트 카드를 사용자 단말(300)에 발행할 수 있다.The authentication server 500 may issue a smart card to the
도 4를 참조하여, 본 발명의 다양한 실시예에 따른 스마트 카드 기반의 인증 프로토콜의 로그인 단계(20)를 설명한다. 여기서 로그인 단계는 사용자 단말(300)이 로그인을 수행하기 위해, 서비스 제공 서버(400)에 로그인 요청 메시지를 전송하는 과정일 수 있다. Referring to FIG. 4, a login step 20 of a smart card-based authentication protocol according to various embodiments of the present invention is described. The login step may be a process in which the
도 4는 본 발명의 다양한 실시예에 따른 스마트 카드 기반의 인증 프로토콜의 로그인 단계에 대한 흐름도이다.4 is a flow diagram of a login step of a smart card-based authentication protocol in accordance with various embodiments of the present invention.
도 4를 참조하면, 사용자 단말(300)은 스마트 카드가 삽입된 상태에서, 사용자 정보를 획득할 수 있다(S119).Referring to FIG. 4, the
예를 들면, 사용자 단말(300)은 스마트 카드 리더 모듈(270)에 스마트 카드가 삽입된 상태에서, 사용자 정보인 사용자 아이디(IDi) 및 패스워드(Pi)를 획득할 수 있다. For example, the
여기서 스마트 카드가 삽입된 상태는 상술한 바와 같이, 가상 카드가 인식된 상태 또는 물리적 형태의 카드가 물리적으로 삽입된 상태를 의미할 수 있다. As described above, the inserted state of the smart card may refer to a state in which a virtual card is recognized or a card in a physical form is physically inserted.
사용자 단말(300)은 획득한 사용자 정보를 기초로, 스마트 카드 검증값을 계산할 수 있다(S121). The
예를 들면, 사용자 단말(300)은 획득된 사용자 아이디(IDi) 및 패스워드(Pi)를 상술한 식(3)인 UIi=h(IDi||h(Pi))으로 계산할 수 있고, 계산된 UIi를 이용하여 스마트 카드 검증값(VerforSCi′)을 생성할 수 있다.For example, the
여기서 사용자 단말(300)은 스마트 카드 검증값(VerforSCi′)은 아래 식 (7)으로 계산할 수 있다.Here, the smart card verification value (VerforSC i ') of the
(7) VerforSCi′= h(IDi||h(y)||UIi)(7) VerforSC i '= h (ID i || h (y) || UI i )
사용자 단말(300)은 스마트 카드 검증값을 기초로, 사용자 인증을 수행할 수 있다(S123).The
예를 들면, 사용자 단말(300)은 생성된 스마트 카드 검증값(VerforSCi′)과 스마트 카드에 포함된 스마트 카드 검증 기준값(VerforSCi)을 비교할 수 있다. 그리고 사용자 단말(300)은 비교 결과를 기초로, 사용자를 인증할 수 있다.For example, the
일 실시예로, 사용자 단말(300)은 아래 식(8)과 같이, 스마트 카드 검증값(VerforSCi′)과 스마트 카드 검증 기준값(VerforSCi)이 일치하면, 사용자를 스마트 카드의 정당한 소유자로 인증할 수 있다.In one embodiment, when the
(8) VerforSCi =?VerforSCi′(8) VerforSC i =? VerforSC i '
사용자 단말(300)은 인증값 및 타임 스탬프를 생성할 수 있다(S125).The
예를 들면, 사용자 단말(300)은 제1 랜덤값(Ni1)을 선택하고, 선택된 제1 랜덤값(Ni1)을 이용하여 제2 인증값(Bi) 및 제3 인증값(Ci)를 계산할 수 있고, 타임 스탬프(Ts)를 생성할 수 있다. For example, the
구체적으로, 사용자 단말(300)은 아래 식(9), (10)으로, 제2 인증값(Bi) 및 제3 인증값(Ci)를 계산할 수 있다. 여기서 제1 랜덤값(Ni1)은 세션 키 합의(session key agreement)를 위한, 사용자 단말(300)의 스마트 카드에 의해 생성된 랜덤값일 수 있다.Specifically, the
(9) Bi= Ai UIi Ni1 (9) B i = A i UI i N i1
(10) Ci=h(Ni1||h(y))(10) C i = h (N i1 || h (y))
사용자 단말(300)은 로그인 요청 메시지를 서비스 제공 서버(400)에 전송할 수 있다(S127).The
예를 들면, 사용자 단말(300)은 생성된 인증값 및 타임 스탬프를 포함하는 로그인 요청 메시지를 서비스 제공 서버(400)에 전송할 수 있다.For example, the
구체적으로, 사용자 단말(300)은 제2 인증값(Bi), 제3 인증값(Ci) 및 타임 스탬프(Ts)를 포함하는 로그인 요청 메시지(Bi, Ci, Ts)를 서비스 제공 서버(400)에 전송할 수 있다.Specifically, the
도 5를 참조하여, 본 발명의 다양한 실시예에 따른 스마트 카드 기반의 인증 프로토콜의 인증 및 키 동의 단계(30)를 설명한다. 여기서 인증 및 키 동의 단계(30)는 수신된 로그인 요청 메시지를 이용하여 사용자 단말(300), 서비스 제공 서버(400) 및 인증 서버(500) 간의 검증을 수행하는 과정일 수 있다.Referring to FIG. 5, the authentication and key agreement step 30 of a smart card-based authentication protocol according to various embodiments of the present invention is described. Here, the authentication and key agreement step 30 may be a process of performing verification between the
도 5는 본 발명의 다양한 실시예에 따른 스마트 카드 기반의 인증 프로토콜의 인증 및 키 동의 단계에 대한 흐름도이다.5 is a flowchart of authentication and key agreement steps of a smart card-based authentication protocol according to various embodiments of the present invention.
도 5를 참조하면, 서비스 제공 서버(400)는 수신된 로그인 요청 메시지를 이용하여 인증값을 계산할 수 있다(S129).Referring to FIG. 5, the
예를 들면, 서비스 제공 서버(400)는 제2 랜덤값(Ni2)을 선택하고, 선택된 제2 랜덤값(Ni2)을 이용하여 제4 인증값(Ki) 및 제5 인증값(Mi)를 계산할 수 있다.For example, the
구체적으로, 사용자 단말(300)은 아래 식(11), (12)으로, 제4 인증값(Ki) 및 제5 인증값(Mi)를 계산할 수 있다. 여기서 제2 랜덤값(Ni2)은 세션 키 합의(session key agreement)를 위한, 서비스 제공 서버(400)에 의해 생성된 랜덤값일 수 있다.Specifically, the
(11) Ki = h(SIDj||y)Ni2 (11) K i = h (SID j || y) N i2
(12) Mi =h(h(x||y)||Ni2)(12) M i = h (h (x || y) | N i2 )
서비스 제공 서버(400)는 생성된 인증값을 포함하는 로그인 요청 메시지를 인증 서버(500)에 전송할 수 있다(S131).The
예를 들면, 서비스 제공 서버(400)는 복수의 인증값인 제2 인증값(Bi), 제3 인증값(Ci), 제4 인증값(Ki) 및 제5 인증값(Mi)과 서비스 제공 서버 ID(SIDj) 및 타임 스탬프(Ts)를 포함하는 로그인 요청 메시지(Bi, Ci, Ki, Mi, SIDj, Ts)를 전송할 수 있다.For example, the
인증 서버(500)는 전송된 로그인 요청 메시지를 기초로, 인증 시간을 확인할 수 있다(S133).The authentication server 500 can confirm the authentication time based on the transmitted login request message (S133).
예를 들면, 인증 서버(500)는 Ts′= Ts+1를 계산하여 △Ts≥Ts′-Ts를 확인할 수 있다. 여기서 Ts′는 인증 서버(500)가 로그인 요청 메시지를 수신하였을 때의 타임 스탬프이고, △Ts는 로그인 메시지 전송 시간을 고려한 최소한의 인증 시간을 의미할 수 있다.For example, the authentication server 500 can check ΔT s ≥T s '-T s by calculating T s ' = T s +1. Here, T s ' is a time stamp when the authentication server 500 receives the login request message, and? T s may mean the minimum authentication time considering the login message transmission time.
인증 서버(500)는 인증값 계산을 기초로, 서비스 제공 서버(400)를 인증할 수 있다(S135).The authentication server 500 can authenticate the
예를 들면, 인증 서버(500)는 제2 랜덤값(Ni2) 계산을 통해, 제5 인증값(Mi′)을 계산할 수 있고, 로그인 요청 메시지에 포함된 제5 인증값(Mi)과 비교할 수 있다. 그리고 인증 서버(500)는 비교 결과를 기초로, 서비스 제공 서버(400)를 인증할 수 있다.For example, the authentication server 500 is a second random value (N i2) through the calculation, it is possible to calculate the fifth authentication value (M i '), the fifth authentication value included in the login request message (M i) . Then, the authentication server 500 can authenticate the
일 실시예로, 인증 서버(500)는 아래 식(13) 내지 식(14)로 제5 인증값(Mi′)을 계산할 수 있고, 식(15)와 같이 계산된 제5 인증값(Mi′)이 로그인 요청 메시지에 포함된 제5 인증값(Mi)과 일치하면, 서비스 제공 서버(400)를 정당한 서비스 제공 서버(400)로 인증할 수 있다.In one embodiment, the authentication server 500 may calculate the fifth authentication value M i 'from the following equations (13) to (14), and calculate the fifth authentication value M i ') matches the fifth authentication value (M i ) included in the login request message, the
(13) Ni2= Ki h(SIDj||y)(13) N i2 = K i h (SIDj || y)
(14) Mi′=h(h(x||y)|| Ni2)(14) M i '= h (h (x || y) | N i2 )
(15) Mi=?Mi′(15) M i =? M i '
인증 서버(500)는 사용자 단말(300)을 인증하기 위한 사용자 검증값(UserVeri )을 검색할 수 있다(S137).The authentication server 500 may retrieve a user verification value (UserVer i ) for authenticating the user terminal 300 (S137).
예를 들면, 인증 서버(500)는 사용자 단말(300)을 인증하기 위해, 사용자 정보값(UIi)에 일치하는 사용자 검증값(UserVeri)을 검증자 테이블에서 검색할 수 있다.For example, the authentication server 500 may retrieve a user verification value (UserVer i ) that matches the user information value UI i in the verifier table to authenticate the
인증 서버(500)는 검색된 사용자 검증값(UserVeri)을 기초로, 사용자 단말(300)을 인증할 수 있다(S139). The authentication server 500 may authenticate the
예를 들면, 인증 서버(500)는 검색된 사용자 검증값(UserVeri)을 기초로, 아래 식(16)으로 제1 랜덤값(Ni1)을 계산할 수 있다.For example, the authentication server 500 may calculate the first random value N i1 based on the retrieved user verification value (UserVer i ) using the following equation (16).
(16) Ni1= Bi h(UserVeri||h(x))(16) N i1 = B i h (UserVer i || h (x))
인증 서버(500)는 계산된 제1 랜덤값(Ni1)을 이용하여 식(17)으로, 제3 인증값(Ci′)을 계산할 수 있다.Authentication server 500 can be calculated by the equation (17) using the calculated first random value (N i1), a third authentication value (C i ').
(17) Ci′=h(h(y)|| Ni1 (17) C i '= h (h (y) || N i1
인증 서버(500)는 아래 식(18)과 같이, 계산된 제3 인증값(Ci′)이 로그인 요청 메시지에 포함된 제3 인증값(Ci)과 일치하면, 사용자 단말(300)을 정당한 사용자 단말(300)로 인증할 수 있다.If the calculated third authentication value C i 'matches the third authentication value C i included in the login request message as shown in the following equation (18), the authentication server 500 determines that the
(18) Ci=? Ci′(18) C i =? C i '
인증 서버(500)는 인증값 및 타임 스탬프를 생성할 수 있다(S141).The authentication server 500 may generate an authentication value and a time stamp (S141).
예를 들면, 인증 서버(500)는 제3 랜덤값(Ni3)을 선택하고, 선택된 제3 랜덤값(Ni3)을 이용하여 제6 인증값(Qi), 제7 인증값(Ri), 제8 인증값(Vi) 및 제9 인증값(Wi)를 계산할 수 있고, 타임 스탬프(Ts)를 생성할 수 있다. For example, the authentication server 500, the third random value selected the (N i3), and the selected third random value (N i3) the sixth authentication value (Q i), a seventh authentication value (R i using ), 8 may calculate the authentication value (V i) and 9 authentication value (W i), may generate a time stamp (T s).
구체적으로, 인증 서버(500)는 아래 식(19) 내지 (22)으로, 제6 인증값(Qi), 제7 인증값(Ri), 제8 인증값(Vi) 및 제9 인증값(Wi)을 계산할 수 있다. 여기서 제3 랜덤값(Ni3)은 세션 키 합의(session key agreement)를 위한, 인증 서버(500)에 의해 생성된 랜덤값일 수 있다.Specifically, the authentication server 500 obtains the sixth authentication value Q i , the seventh authentication value R i , the eighth authentication value V i , and the ninth authentication The value W i can be calculated. Where the third random value N i3 may be a random value generated by the authentication server 500 for a session key agreement.
(19) Qi= Ni1 Ni3 h(SIDj Ni2)(19) Q i = N i1 N i3 h (SID j N i2 )
(20) Ri=h(UserVeri||h(x))h(SIDj||Ni2)(20) R i = h (UserVer i || h (x)) h (SID j || N i2 )
(21) Vi=h(h(UserVeri||h(x))||h(Ni1 Ni2 Ni3)(21) V i = h (h (UserVer i || h (x)) || h (N i1 N i2 N i3 )
(22) Wi= Ni2 Ni3 h(UserVeri||h(x))(22) W i = N i2 N i3 h (UserVer i || h (x))
인증 서버(500)는 생성된 인증값 및 타임 스탬프를 포함하는 상호 인증 메시지를 서비스 제공 서버(400)에 전송할 수 있다(S143).The authentication server 500 may transmit the mutual authentication message including the generated authentication value and the time stamp to the service providing server 400 (S143).
예를 들면, 인증 서버(500)는 생성된 인증값인 제6 인증값(Qi), 제7 인증값(Ri), 제8 인증값(Vi) 및 제9 인증값(Wi)과 타임 스탬프(Ts)를 포함하는 상호 인증 메시지(Qi, Ri, Vi, Wi, Ts)를 서비스 제공 서버(400)에 전송할 수 있다.For example, the authentication server 500 generates the sixth authentication value Q i , the seventh authentication value R i , the eighth authentication value V i , and the ninth authentication value W i , (Q i , R i , V i , W i , and T s ) including the time stamp T s to the
서비스 제공 서버(400)는 수신된 상호 인증 메시지를 기초로, 인증 서버(500)를 인증할 수 있다(S145).The
예를 들면, 서비스 제공 서버(400)는 수신된 상호 인증 메시지(Qi, Ri, Vi, Wi, Ts)를 기초로, 아래 식(23) 내지 (25)로, 제8 인증값(Vi′)을 계산할 수 있다.For example, based on the received mutual authentication messages (Q i , R i , V i , W i , and T s ), the
(23) Ni1 Ni3= Qi h(SIDj Ni2)(23) N i1 N i3 = Q i h (SID j N i2 )
(24) h(UserVeri||h(x))= Ri h(SIDj||Ni2)(24) h (UserVer i || h (x)) = R i h (SID j || N i2 )
(25) Vi′=h(h(UserVeri||h(x))||h(Ni1 Ni2 Ni3))(25) V i '= h (h (UserVer i || h (x)) || h (N i1 N i2 N i3 ))
서비스 제공 서버(400)는 아래 식(26)과 같이, 계산된 제8 인증값(Vi′)이 상호 인증 메시지에 포함된 제8 인증값(Vi)과 일치하면, 인증 서버(500)를 정당한 인증 서버(500)로 인증할 수 있다.If the calculated eighth authentication value V i 'coincides with the eighth authentication value V i included in the mutual authentication message, the
(26) Vi=? Vi′(26) V i =? V i '
서비스 제공 서버(400)는 응답 메시지를 사용자 단말(300)에 전송할 수 있다(S147).The
예를 들면, 서비스 제공 서버(400)는 응답 메시지(Vi, Wi, Ts)를 사용자 단말(300)에 전송할 수 있다.For example, the
사용자 단말(300)은 수신된 응답 메시지를 기초로, 인증 시간을 확인할 수 있다(S149).The
예를 들면, 사용자 단말(300)은 전송된 응답 메시지를 수신할 수 있고, 수신된 응답 메시지에 포함된 타임 스탬프(Ts)를 기초로, 인증 시간을 확인할 수 있다.For example, the
구체적으로, 사용자 단말(300)은 Ts′= Ts+1를 계산하여 △Ts≥Ts′-Ts를 확인할 수 있다. 여기서 Ts′는 인증 서버(500)가 로그인 요청 메시지를 수신하였을 때의 타임 스탬프이고, △Ts는 로그인 메시지 전송 시간을 고려한 최소한의 인증 시간을 의미할 수 있다.Specifically, the
사용자 단말(300)은 수신된 응답 메시지를 기초로, 서비스 제공 서버(400) 및 인증 서버(500)를 인증할 수 있다(S151).The
예를 들면, 사용자 단말(300)은 수신된 응답 메시지(Vi, Wi, Ts)를 기초로, 아래 식(27) 내지 (29)로, 제8 인증값(Vi′)을 계산할 수 있다.For example, the
(27) h(UserVeri||h(x))= Ai UIi (27) h (UserVer i || h (x)) = A i UI i
(28) Ni2 Ni3= Wi h(UserVeri||h(x))(28) N i2 N i3 = W i h (UserVer i || h (x))
(29) Vi′=h(h(UserVeri||h(x))||h(Ni1 Ni2 Ni3))(29) V i '= h (h (UserVer i || h (x)) || h (N i1 N i2 N i3 ))
사용자 단말(300)은 아래 식(30)과 같이, 계산된 제8 인증값(Vi′)이 응답 메시지에 포함된 제8 인증값(Vi)과 일치하면, 서비스 제공 서버(400) 및 인증 서버(500)를 정당한 서비스 제공 서버(400) 및 인증 서버(500)로 인증할 수 있다.If the calculated eighth authentication value V i 'matches the eighth authentication value V i included in the response message, the
(30) Vi=? Vi′(30) V i =? V i '
사용자 단말(300), 서비스 제공 서버(400) 및 인증 서버(500)는 동일한세션키를 생성할 수 있다(S153).The
예를 들면, 사용자 단말(300), 서비스 제공 서버(400) 및 인증 서버(500) 각각은 아래 식(31)과 같이, 동일한 세션키(SK)를 생성할 수 있고, 인증을 수행할 수 있다.For example, each of the
(31) SK=h(h(UserVeri||h(x))||h(Ni1 Ni2 Ni3))(31) SK = h (h (UserVer i || h (x)) || h (N i1 N i2 N i3 ))
다양한 실시예에 따른 스마트 카드 기반 인증 시스템, 장치 및 인증 방법은 스마트 카드에 대응하는 패스워드를 변경할 수 있다. 이에 대해 도 6을 참조하여 설명한다.The smart card based authentication system, apparatus and authentication method according to various embodiments may change the password corresponding to the smart card. This will be described with reference to FIG.
도 6은 본 발명의 다양한 실시예에 따른 패스워드 변경 동작에 대한 흐름도이다.6 is a flow diagram of a password change operation in accordance with various embodiments of the present invention.
도 6을 참조하면, 사용자 단말(300)은 스마트 카드가 삽입된 상태에서, 사용자 정보를 획득할 수 있다(S201).Referring to FIG. 6, the
예를 들면, 사용자 단말(300)은 스마트 카드 리더 모듈(270)에 스마트 카드가 삽입된 상태에서, 사용자 정보인 사용자 아이디(IDi) 및 패스워드(Pi)를 획득할 수 있다. For example, the
여기서 스마트 카드가 삽입된 상태는 상술한 바와 같이, 가상 카드가 인식된 상태 또는 물리적 형태의 카드가 물리적으로 삽입된 상태를 의미할 수 있다. As described above, the inserted state of the smart card may refer to a state in which a virtual card is recognized or a card in a physical form is physically inserted.
사용자 단말(300)은 획득된 사용자 정보를 기초로, 스마트 카드 검증값을 생성할 수 있다(S203).The
예를 들면, 사용자 단말(300)은 획득된 사용자의 ID(IDi), 패스워드(Pi)를 기초로, 스마트 카드 검증값(VerforSCi′)을 생성할 수 있다.For example, the
구체적으로, 사용자 단말(300)은 획득된 사용자 ID(IDi) 및 패스워드(Pi)를 기초로, 아래 식(32), (33)을 계산하여 스마트 카드 검증값(VerforSCi′)을 생성할 수 있다.Specifically, generating a
(32) UIi=h(IDi||h(Pi))(32) UI i = h (ID i || h (P i ))
(33) VerforSCi′=h(IDi||h(y)||UIi)(33) VerforSC i '= h (ID i || h (y) || UI i )
사용자 단말(300)은 생성된 스마트 카드 검증값(VerforSCi′)이 스마트 카드 검증 기준값(VerforSCi)과 동일한지 판단할 수 있다(S205).The
예를 들면, 사용자 단말(300)은 아래 식(34)와 같이, 생성한 스마트 카드 검증값(VerforSCi′)과 스마트 카드에 포함된 스마트 카드 검증 기준값(VerforSCi)이 동일한지 판단할 수 있다. 사용자 단말(300)은 계산된 스마트 카드 검증값(VerforSCi′)과 스마트 카드에 저장된 스마트 카드 검증 기준값(VerforSCi)이 동일하면, 사용자를 정당한 스마트 카드의 소유자로 검증할 수 있다.For example, the
(34) VerforSCi=? VerforSCi′(34) VerforSC i =? VerforSC i '
사용자 단말(300)은 변경될 새로운 패스워드와 관련된 정보를 획득할 수 있다(S207).The
예를 들면, 사용자 단말(300)은 변경될 새로운 패스워드(NwPi)를 획득할 수 있고, 획득된 새로운 패스워드(NwPi)를 아래 식(35)으로 계산하여 새로운 사용자 정보값(NwUIi)을 생성할 수 있다. For example, the
(35) NwUIi=h(IDi||h(NwPi))(35) NwUI i = h (ID i || h (NwP i ))
이를 통해, 사용자 단말(300)은 새로운 사용자 정보값(NwUIi)과 같은 새로운 패스워드와 관련된 정보를 획득할 수 있다. Through this, the
사용자 단말(300)은 획득된 새로운 패스워드와 관련된 정보를 기초로, 새로운 스마트 카드 검증값을 계산할 수 있다(S209). The
예를 들면, 사용자 단말(300)은 생성된 새로운 사용자 정보값(NwUIi)을 기초로, 새로운 스마트 카드 검증값(NwVerforSCi)을 계산할 수 있다.For example, the
구체적으로, 사용자 단말(300)은 새로운 사용자 정보값(NwUIi)을 기초로, 아래 식(36)으로 새로운 스마트 카드 검증값(NwVerforSCi)을 계산할 수 있다.Specifically, the
(36) NwVerforSCi=h(IDi||h(y)|| NwUIi)(36) NwVerforSC i = h (ID i || h (y) || NwUI i )
사용자 단말(300)은 계산된 새로운 스마트 카드 검증값을 저장할 수 있다(S211).The
예를 들면, 사용자 단말(300)은 저장된 스마트 카드 검증값(VerforSCi)을 대체하여, 계산된 새로운 스마트 카드 검증값(NwVerforSCi)을 스마트 카드에 저장할 수 있다. 이에 따라, 스마트 카드의 패스워드가 변경될 수 있다.For example, the
본 발명의 다양한 실시예에 따른 스마트 카드 기반 인증 시스템, 장치 및 인증 방법은 인증 서버(500)가 스마트 카드에 대한 쓰기 권한을 가지며, 사용자 단말(300)은 스마트 카드에 대한 쓰기 권한을 가지지 않을 수 있어서, 인가된 사용자로 가장하는 공격자에 의한 스마트 카드에 대한 위변조를 방지할 수 있다.The smart card-based authentication system, apparatus and authentication method according to various embodiments of the present invention may allow the authentication server 500 to have write access to the smart card and the
또한, 본 발명은 공격자가 이전 세션의 공개된 채널을 통해 인증값 및 타임 스탬프 등을 알더라도 세션키는 도출할 수 없어서, 세션키 유출 공격에 안전할 수 있다.In addition, the present invention can secure the session key outflow attack because the attacker can not derive the session key even if the attacker knows the authentication value, the time stamp, etc. through the open channel of the previous session.
또한, 본 발명은 사용자 단말(300), 서비스 제공 서버(400) 및 인증 서버(500) 간의 로그인 요청 메시지 및 인증 메시지에 타임 스탬프를 사용하므로, 공격자의 재전송 공격에 대응할 수 있다.In addition, since the present invention uses a time stamp for a login request message and an authentication message between the
또한, 본 발명은 검증 테이블을 사용하여 상태 비트 값이 1로 저장되어 있는 경우, 이에 해당하는 로그인 요청 메시지를 받지 않으므로 서비스의 가용성을 침해하는 서비스 거부 공격에 안전할 수 있다.In addition, when the status bit value is stored as 1 using the verification table, the present invention does not receive the corresponding login request message, and thus can be safe against a denial of service attack that invades the service availability.
또한, 본 발명에 다양한 실시예에 따른 스마트 카드 기반 인증 시스템, 장치 및 인증 방법은 기존 방식에 비해 적은 횟수, 적은 연산량의 XOR 연산과 해쉬 암호화 연산이 필요하므로, 인증 프로토콜의 동작 효율성을 향상시킬 수 있다.In addition, the smart card-based authentication system, apparatus, and authentication method according to various embodiments of the present invention require an XOR operation and a hash encryption operation with a small number of operations, have.
이상, 본 발명의 기술적 사상을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명의 기술적 사상은 상기 실시예들에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형 및 변경이 가능하다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, Various modifications and variations are possible.
100: 서버
110: 프로세서
130: 메모리
150: 통신 모듈
200: 단말기
210: 프로세서
230: 메모리
250: 통신 모듈
270: 스마트 키 리더 모듈
300: 사용자 단말
400: 서비스 제공 서버
500: 인증 서버100: Server
110: Processor
130: memory
150: Communication module
200: terminal
210: Processor
230: Memory
250: Communication module
270: Smart Key Reader Module
300: user terminal
400: service providing server
500: authentication server
Claims (14)
상기 수신된 서비스 제공 서버 ID 및 보안 정보에 대한 해쉬 값을 계산하는 단계;
사용자 단말로부터 사용자 정보 값을 포함하는 등록 요청 메시지를 수신하는 단계;
상기 수신된 등록 요청 메시지를 기초로, 스마트 카드 검증을 위한 스마트 카드 검증값을 생성하는 단계;
상기 생성된 스마트 카드 검증값을 스마트 카드에 저장하는 단계; 및
상기 스마트 카드 검증값이 저장된 스마트 카드를 상기 사용자 단말에 발행하는 단계를 포함하는
스마트 카드 기반 인증 방법.
Receiving a service providing server ID from a service providing server;
Calculating a hash value for the received service providing server ID and security information;
Receiving a registration request message including a user information value from a user terminal;
Generating a smart card verification value for smart card verification based on the received registration request message;
Storing the generated smart card verification value in a smart card; And
And issuing a smart card to the user terminal in which the smart card verification value is stored
Smart card based authentication method.
상기 사용자 정보 값 및 보안 정보를 기초로, 사용자 검증값을 생성하는 단계; 및
상기 생성된 사용자 검증값, 상기 사용자 정보 값 및 사용자 등록 상태에대한 상태 비트 값을 검증자 테이블에 저장하는 단계를 더 포함하는
스마트 카드 기반 인증 방법.
The method according to claim 1,
Generating a user verification value based on the user information value and security information; And
Storing the generated user verification value, the user information value, and the status bit value for the user registration status in a verifier table
Smart card based authentication method.
상기 보안 정보는 마스터 시크릿 키(master secret key) 및 시크릿 넘버(secret number)를 포함하는
스마트 카드 기반 인증 방법.
3. The method of claim 2,
The security information includes a master secret key and a secret number.
Smart card based authentication method.
상기 서비스 제공 서버로부터, 상기 서비스 제공 서버가 생성한 인증값 및 타임 스탬프를 포함하는 로그인 요청 메시지를 수신하는 단계; 및
상기 수신된 로그인 요청 메시지를 수신한 때의 타임 스탬프와 상기 로그인 요청 메시지에 포함된 상기 타임 스탬프를 기초로, 인증 시간을 확인하는 단계를 더 포함하는
스마트 카드 기반 인증 방법.
The method according to claim 1,
Receiving, from the service providing server, a login request message including an authentication value and a time stamp generated by the service providing server; And
Further comprising checking the authentication time based on the time stamp when the received login request message is received and the time stamp included in the login request message
Smart card based authentication method.
상기 수신된 로그인 요청 메시지에 포함된 인증값, 상기 서비스 제공 서버 ID 및 상기 보안 정보를 기초로, 제2 랜덤값을 계산하는 단계;
상기 계산된 제2 랜덤값 및 상기 보안 정보를 기초로, 인증값 M′을 계산하는 단계;
상기 계산된 인증값 M′과 상기 로그인 요청 메시지에 포함된 인증값 M을 비교하는 단계; 및
비교 결과, 상기 계산된 인증값 M′과 상기 로그인 요청 메시지에 포함된 인증값 M이 동일하면, 상기 서비스 제공 서버를 정당한 서비스 제공 서버로 인증하는 단계를 더 포함하는
스마트 카드 기반 인증 방법.
5. The method of claim 4,
Calculating a second random value based on the authentication value, the service providing server ID, and the security information included in the received login request message;
Calculating an authentication value M 'based on the calculated second random value and the security information;
Comparing the calculated authentication value M 'with an authentication value M included in the login request message; And
If the calculated authentication value M 'is equal to the authentication value M included in the login request message, authenticating the service providing server as a legitimate service providing server
Smart card based authentication method.
상기 사용자 단말을 인증하기 위한 사용자 검증값을 검색하는 단계;
상기 검색된 사용자 검증값을 기초로, 상기 사용자 단말이 생성한 제1 랜덤값을 계산하는 단계;
상기 계산된 제1 랜덤값을 기초로, 상기 인증값 C′을 계산하는 단계;
상기 계산된 인증값 C′와 상기 로그인 요청 메시지에 포함된 인증값 C를 비교하는 단계; 및
비교 결과, 상기 계산된 인증값 C′와 상기 로그인 요청 메시지에 포함된 인증값 C이 동일하면, 상기 사용자 단말을 정당한 사용자 단말로 인증하는 단계를 더 포함하는
스마트 카드 기반 인증 방법.
6. The method of claim 5,
Retrieving a user verification value for authenticating the user terminal;
Calculating a first random value generated by the user terminal based on the retrieved user verification value;
Calculating the authentication value C 'based on the calculated first random value;
Comparing the calculated authentication value C 'with an authentication value C included in the login request message; And
If the calculated authentication value C 'is equal to the authentication value C included in the login request message, the authenticating step may further include authenticating the user terminal as a legitimate user terminal
Smart card based authentication method.
상기 획득된 사용자 정보를 기초로, 스마트 카드 검증값(VerforSCi′)을 계산하는 단계;
상기 계산된 스마트 카드 검증값(VerforSCi′)과 상기 스마트 카드에 저장된 스마트 카드 검증값(VerforSCi)을 비교하는 단계; 및
비교 결과, 상기 계산된 스마트 카드 검증값(VerforSCi′)과 상기 스마트 카드에 저장된 스마트 카드 검증값(VerforSCi)이 동일하면, 상기 스마트 카드에 대한 사용자를 인증하는 단계를 포함하는
스마트 카드 기반 인증 방법.
Acquiring user information in a state where a smart card is inserted in the user terminal;
Calculating a smart card verification value (VerforSC i ') based on the obtained user information;
Comparing the calculated smart card verification value (VerforSC i ') with a smart card verification value (VerforSC i ) stored in the smart card; And
And authenticating the user to the smart card if the calculated smart card verification value (VerforSC i ') is the same as the smart card verification value (VerforSC i ) stored in the smart card as a result of the comparison
Smart card based authentication method.
선택된 제1 랜덤값을 이용하여 인증값 B 및 인증값 C를 계산하는 단계; 및
상기 계산된 인증값 B, 인증값 C 및 타임 스탬프를 포함하는 로그인 요청 메시지를 서비스 제공 서버에 전송하는 단계를 더 포함하는
스마트 카드 기반 인증 방법.
8. The method of claim 7,
Calculating an authentication value B and an authentication value C using the selected first random value; And
And transmitting the login request message including the calculated authentication value B, the authentication value C, and the time stamp to the service providing server
Smart card based authentication method.
상기 서비스 제공 서버로부터 응답 메시지를 수신하는 단계; 및
상기 수신된 응답 메시지에 포함된 타임 스탬프를 기초로, 인증 시간을 확인하는 단계를 더 포함하는
스마트 카드 기반 인증 방법.
8. The method of claim 7,
Receiving a response message from the service providing server; And
Further comprising confirming an authentication time based on a time stamp included in the received response message
Smart card based authentication method.
상기 응답 메시지에 포함된 인증값을 기초로, 인증값 V′를 계산하는 단계;
상기 계산된 인증값 V′과 상기 수신된 응답 메시지에 포함된 인증값 V를 비교하는 단계; 및
비교 결과, 상기 계산된 인증값 V′과 상기 수신된 응답 메시지에 포함된 인증값 V가 동일하면, 상기 서비스 제공 서버 및 상기 인증 서버를 인증하는 단계를 더 포함하는
스마트 카드 기반 인증 방법.
10. The method of claim 9,
Calculating an authentication value V 'based on the authentication value included in the response message;
Comparing the calculated authentication value V 'with an authentication value V included in the received response message; And
And authenticating the service providing server and the authentication server if the calculated authentication value V 'is equal to the authentication value V included in the received response message
Smart card based authentication method.
상기 인증된 서비스 제공 서버 및 상기 인증된 인증 서버와 동일한 세션키를 생성하는 단계를 더 포함하는
스마트 카드 기반 인증 방법.
11. The method of claim 10,
And generating a same session key as the authenticated service providing server and the authenticated authentication server
Smart card based authentication method.
선택된 제2 랜덤값과, 인증 서버로부터 수신된 서비스 제공 서버 ID 및 보안 정보에 대한 해쉬 값을 기초로 인증값 K 및 인증값 M을 계산하는 단계; 및
상기 계산된 인증값 K 및 인증값 M과, 상기 서비스 제공 서버 ID 및 타임 스탬프를 포함하는 로그인 요청 메시지를 상기 인증 서버에 전송하는 단계를 포함하는
스마트 카드 기반 인증 방법.
Receiving a login request message from a user terminal;
Calculating an authentication value K and an authentication value M based on the selected second random value, the service providing server ID received from the authentication server, and the hash value for the security information; And
And transmitting the login request message including the calculated authentication value K and the authentication value M, the service providing server ID and the time stamp to the authentication server
Smart card based authentication method.
상기 인증 서버로부터, 상기 전송된 로그인 요청 메시지에 대응하는 상호 인증 메시지를 수신하는 단계;
상기 상호 인증 메시지에 포함된 인증값을 기초로, 인증값 V′를 계산하는 단계;
상기 계산된 인증값 V′와 상기 상호 인증 메시지에 포함된 인증값 V를 비교하는 단계; 및
비교 결과, 상기 계산된 인증값 V′와 상기 상호 인증 메시지에 포함된 인증값 V가 동일하면, 상기 인증 서버를 정당한 인증 서버로 인증하는 단계를 포함하는
스마트 카드 기반 인증 방법.
13. The method of claim 12,
Receiving, from the authentication server, a mutual authentication message corresponding to the transmitted login request message;
Calculating an authentication value V 'based on the authentication value included in the mutual authentication message;
Comparing the calculated authentication value V 'with an authentication value V included in the mutual authentication message; And
If the calculated authentication value V 'is equal to the authentication value V included in the mutual authentication message, authenticating the authentication server as a valid authentication server
Smart card based authentication method.
상기 인증값 V 및 타임 스탬프를 포함하는 응답 메시지를 상기 사용자 단말에 전송하는 단계를 더 포함하는
스마트 카드 기반 인증 방법.14. The method of claim 13,
And transmitting a response message including the authentication value V and a time stamp to the user terminal
Smart card based authentication method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170108943A KR102021956B1 (en) | 2017-08-28 | 2017-08-28 | Smart card based authentication system, device and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170108943A KR102021956B1 (en) | 2017-08-28 | 2017-08-28 | Smart card based authentication system, device and method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190023353A true KR20190023353A (en) | 2019-03-08 |
KR102021956B1 KR102021956B1 (en) | 2019-09-17 |
Family
ID=65800638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170108943A KR102021956B1 (en) | 2017-08-28 | 2017-08-28 | Smart card based authentication system, device and method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102021956B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666786A (en) * | 2020-12-04 | 2022-06-24 | 中国联合网络通信集团有限公司 | Identity authentication method and system based on telecommunication smart card |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100015238A (en) * | 2008-08-04 | 2010-02-12 | 에스케이 텔레콤주식회사 | System and method for authentication of smart card |
KR20120124175A (en) * | 2011-05-03 | 2012-11-13 | 주식회사 케이티 | Method and apparatus for issuing smart card |
KR20150077981A (en) * | 2013-12-30 | 2015-07-08 | 고려대학교 산학협력단 | Method for remote authentication using smart card |
KR20150098595A (en) * | 2014-02-20 | 2015-08-28 | 류창화 | Smart card, smart authentication server and smart card authentication method |
-
2017
- 2017-08-28 KR KR1020170108943A patent/KR102021956B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100015238A (en) * | 2008-08-04 | 2010-02-12 | 에스케이 텔레콤주식회사 | System and method for authentication of smart card |
KR20120124175A (en) * | 2011-05-03 | 2012-11-13 | 주식회사 케이티 | Method and apparatus for issuing smart card |
KR20150077981A (en) * | 2013-12-30 | 2015-07-08 | 고려대학교 산학협력단 | Method for remote authentication using smart card |
KR20150098595A (en) * | 2014-02-20 | 2015-08-28 | 류창화 | Smart card, smart authentication server and smart card authentication method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666786A (en) * | 2020-12-04 | 2022-06-24 | 中国联合网络通信集团有限公司 | Identity authentication method and system based on telecommunication smart card |
Also Published As
Publication number | Publication date |
---|---|
KR102021956B1 (en) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3444999B1 (en) | Method for generating a public/private key pair and public key certificate for an internet of things device | |
CN106656907B (en) | Method, device, terminal equipment and system for authentication | |
AU2015308608B2 (en) | Methods for secure cryptogram generation | |
US10015159B2 (en) | Terminal authentication system, server device, and terminal authentication method | |
US9830447B2 (en) | Method and system for verifying an access request | |
CN113691502B (en) | Communication method, device, gateway server, client and storage medium | |
JP2018521417A (en) | Safety verification method based on biometric features, client terminal, and server | |
CN103124269A (en) | Bidirectional identity authentication method based on dynamic password and biologic features under cloud environment | |
CN106576046B (en) | System and apparatus for binding metadata with hardware-inherent properties | |
JP2001326632A (en) | Distribution group management system and method | |
CN113971274B (en) | Identity recognition method and device | |
KR20210095093A (en) | Method for providing authentification service by using decentralized identity and server using the same | |
CN111740995B (en) | Authorization authentication method and related device | |
KR20190031986A (en) | Apparatus for executing telebiometric authentication and apparatus for requesting the same | |
KR102372503B1 (en) | Method for providing authentification service by using decentralized identity and server using the same | |
CN114070559A (en) | Industrial Internet of things session key negotiation method based on multiple factors | |
CN110168550A (en) | Data-message certification based on random number | |
CN117040767B (en) | Fine-grained multi-terminal identity authentication method based on PUF (physical unclonable function) and related equipment | |
KR102021956B1 (en) | Smart card based authentication system, device and method | |
Chen et al. | Anti-synchronization and robust authentication for noisy PUF-based smart card | |
CN111404680B (en) | Password management method and device | |
Malina et al. | Efficient and secure access control system based on programmable smart cards | |
Jung et al. | Robust biometric-based anonymous user authenticated key agreement scheme for telecare medicine information systems | |
JP2019062394A (en) | Information processing apparatus, information processing method, and computer program | |
US20240314570A1 (en) | System and method for secure and performant ecu pairing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |