[go: up one dir, main page]

KR20170111809A - Bidirectional authentication method using security token based on symmetric key - Google Patents

Bidirectional authentication method using security token based on symmetric key Download PDF

Info

Publication number
KR20170111809A
KR20170111809A KR1020160037924A KR20160037924A KR20170111809A KR 20170111809 A KR20170111809 A KR 20170111809A KR 1020160037924 A KR1020160037924 A KR 1020160037924A KR 20160037924 A KR20160037924 A KR 20160037924A KR 20170111809 A KR20170111809 A KR 20170111809A
Authority
KR
South Korea
Prior art keywords
key
server
terminal
authentication
token
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
KR1020160037924A
Other languages
Korean (ko)
Inventor
유한나
강혜진
박성철
박종하
이종건
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020160037924A priority Critical patent/KR20170111809A/en
Publication of KR20170111809A publication Critical patent/KR20170111809A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/321Cryptographic 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
    • H04L9/3213Cryptographic 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 using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법이 제공된다. 본 발명의 실시예에 따른 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법은 단말기가 자신의 비밀키로 암호화하여 생성된 서버 인증용 토큰을 공유키에 의해 생성된 동적키로 암호화하여 서버로 서비스를 요청하는 단계; 서버가 암호화된 서버 인증용 토큰을 공유키에 의해 생성된 동적키로 복호화하고, 공유키 및 동적키에 의해 생성된 세션키로 암호화하며, 서버 자신의 비밀키로 암호화하여 생성된 단말 인증용 토큰을 생성된 동적키로 암호화하여 단말기로 인증을 요청하는 단계; 단말기가 암호화된 서버 인증용 토큰을 공유키 및 동적키를 이용하여 생성된 세션키로 복호화하고, 단말기 자신의 비밀키로 복호화하여 서버를 인증하는 단계; 암호화된 단말 인증용 토큰을 동적키로 복호화하고, 세션키로 암호화하며, 서버로 전송하여 단말 인증을 요청하는 단계; 및 서버가 암호화된 단말 인증용 토큰을 동적키로 복호화하고, 서버 자신의 비밀키로 복호화하여 단말기를 인증하는 단계;를 포함한다.A two-way authentication method using a symmetric key-based security token is provided. A two-way authentication method using a symmetric key-based security token according to an embodiment of the present invention is a method in which a terminal encrypts a server authentication token generated by encrypting with a secret key of the terminal using a dynamic key generated by a shared key, step; The server decrypts the encrypted server authentication token with the dynamic key generated by the shared key, encrypts the token with the session key generated by the shared key and the dynamic key, encrypts the token using the secret key of the server itself, Encrypting with a dynamic key and requesting authentication with the terminal; The terminal decrypts the encrypted server authentication token with the session key generated using the shared key and the dynamic key, and decrypts the decrypted token with the secret key of the terminal to authenticate the server; Decrypting the encrypted terminal authentication token with a dynamic key, encrypting the encrypted terminal authentication token with a session key, and transmitting the encrypted token to the server to request terminal authentication; And decrypting the token encrypted by the server with the dynamic key, and decrypting the decrypted token with the server's own secret key to authenticate the terminal.

Description

대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법{Bidirectional authentication method using security token based on symmetric key} [0001] The present invention relates to a bi-directional authentication method using a symmetric key based security token,

본 발명은 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법에 관한 것으로, 특히, 서버와 단말기 사이에 직접적으로 암호화키를 전달하지 않고 보안 토큰을 이용하여 인증을 수행하는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법에 관한 것이다. The present invention relates to a bi-directional authentication method using a security token based on a symmetric key, and more particularly, to a bi-directional authentication method using a symmetric key based security token for performing authentication using a security token without directly transmitting an encryption key between the server and the terminal To a bi-directional authentication method.

빠른 속도의 대칭키 인증 방식을 제공하는 커버로스(Keberos)는 인증 서버와 티켓 발급 서버, 서비스 서버 사이에 신뢰된 키가 공유되어 있다는 것을 전제로 인증을 수행한다. 그러나, 이 방식은 일방향 인증만을 수행하므로 서버를 위장한 공격에 매우 취약한 문제점이 있다. Keberos, which provides a fast symmetric key authentication method, performs authentication based on the assumption that a trusted key is shared between an authentication server, a ticket issuing server, and a service server. However, since this method performs only one-way authentication, there is a problem that it is very vulnerable to an attack against a server.

한편, 보안성을 향상시키기 위한 양방향 인증을 제공하는 SSL(Secure Socket Layer) 방식의 경우, 비대칭키 기반의 인증 방식으로 대칭키 기반에 비하여 속도가 느리다. 또한, 이 방식은 제3의 인증 기관을 통해 서버를 인증하는 방식이므로, 인증 기관을 신뢰하지 못하면 안정적으로 인증을 수행할 수 없다. On the other hand, SSL (Secure Socket Layer) method, which provides two-way authentication for improving security, is asymmetric key based authentication method and is slower than symmetric key based method. Also, this method is a method of authenticating the server through the third certification authority, and therefore, if the certification authority is not trusted, authentication can not be performed stably.

따라서, 사물인터넷(IoT) 환경과 같이 사용자가 직접 인증서나 인증기관을 확인할 수 없고 사양이 낮은 디바이스도 원활하게 인증하기 위해서, 대칭키 기반의 양방향 인증 방식이 요구되고 있다. Therefore, a symmetric key-based two-way authentication method is required in order to smoothly authenticate devices with low specification, such as the Internet (IoT) environment, where a user can not directly identify a certificate or a certification authority.

KRKR 14838951483895 BB

상기와 같은 종래 기술의 문제점을 해결하기 위해, 본 발명의 일 실시예는 인증 서버나 인증 기관을 신뢰하지 않더라도 안전한 인증을 수행할 수 있는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 제공하고자 한다.According to an aspect of the present invention, there is provided a bi-directional authentication method using a security token based on a symmetric key capable of performing secure authentication even when the authentication server or the authentication authority is not trusted .

또한, 본 발명은 보안 토큰을 기반으로 서버와 단말기 사이의 양방향 인증을 이용하여 페이크 서버에 의한 위장 공격을 차단하여 안정성을 향상시킬 수 있는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 제공하고자 한다. It is another object of the present invention to provide a two-way authentication method using a symmetric key-based security token, which can improve security by blocking spoofing attacks by a fake server using bidirectional authentication between a server and a terminal based on a security token .

또한, 본 발명은 양방향 인증을 대칭키 기반으로 구현하여 처리 속도를 향상시킬 수 있는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 제공하고자 한다. The present invention also provides a two-way authentication method using a symmetric-key-based security token in which bidirectional authentication can be implemented based on a symmetric key, thereby improving processing speed.

위와 같은 과제를 해결하기 위한 본 발명의 일 측면에 따르면, 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법이 제공된다. 상기 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법은 단말기가 자신의 비밀키로 암호화하여 생성된 서버 인증용 토큰을 공유키에 의해 생성된 동적키로 암호화하고 서버로 전송하여 서비스를 요청하는 단계; 상기 서버가 상기 단말기로부터 수신된 서버 인증용 토큰을 상기 공유키에 의해 생성된 동적키로 복호화한 후, 상기 공유키 및 상기 동적키에 의해 생성된 세션키로 암호화하며, 상기 서버 자신의 비밀키로 암호화하여 생성된 단말 인증용 토큰을 상기 생성된 동적키로 암호화하여 상기 세션키로 암호화된 서버 인증용 토큰과 함께 상기 단말기로 전송하여 서버 인증을 요청하는 단계; 상기 단말기가 상기 서버로부터 수신된 서버 인증용 토큰을 상기 공유키 및 상기 동적키를 이용하여 생성된 세션키로 복호화한 후, 상기 단말기 자신의 비밀키로 복호화하여 상기 서버를 인증하는 단계; 상기 단말기가 상기 서버로부터 수신된 단말 인증용 토큰을 상기 동적키로 복호화한 후, 상기 생성된 세션키로 암호화하며, 상기 서버로 전송하여 단말 인증을 요청하는 단계; 및 상기 서버가 상기 단말기로부터 수신된 단말 인증용 토큰을 상기 동적키로 복호화한 후, 상기 서버 자신의 비밀키로 복호화하여 상기 단말기를 인증하는 단계;를 포함한다. According to an aspect of the present invention, there is provided a bi-directional authentication method using a symmetric key based security token. The bi-directional authentication method using the symmetric key-based security token includes encrypting the token generated by encrypting the terminal with the secret key of the terminal using the dynamic key generated by the shared key, and transmitting the encrypted token to the server to request the service; The server decrypts the server authentication token received from the terminal with the dynamic key generated by the shared key and then encrypts the shared key and the session key generated by the dynamic key using the secret key of the server itself Encrypting the generated terminal authentication token with the generated dynamic key, and transmitting the authentication result to the terminal together with the server authentication token encrypted with the session key to request server authentication; Decrypting the server authentication token received from the server with the shared key and the session key generated using the dynamic key, and then decrypting the decrypted server key with the secret key of the terminal to authenticate the server; Decrypting the terminal authentication token received from the server with the dynamic key, encrypting the terminal with the generated session key, and transmitting the encrypted session key to the server to request terminal authentication; And decrypting the terminal authentication token received from the terminal with the dynamic key, and decrypting the decrypted token with the secret key of the server using the dynamic key to authenticate the terminal.

일 실시예에서, 상기 동적키는 상기 서버와 상기 단말기 사이에 공유된 동적키 생성 알고리즘 및 공유키에 의해 생성될 수 있다. In one embodiment, the dynamic key may be generated by a dynamic key generation algorithm and a shared key shared between the server and the terminal.

일 실시예에서, 상기 서비스를 요청하는 단계 및 상기 단말 인증을 요청하는 단계는 서로 상이한 난수를 상기 동적키로 암호화하여 전송할 수 있다. In one embodiment, the step of requesting the service and the step of requesting the terminal authentication may encrypt different random numbers with the dynamic key and transmit the same.

일 실시예에서, 상기 세션키는 상기 서로 상이한 난수를 더 이용하여 생성될 수 있다. In one embodiment, the session key may be generated using further different random numbers.

일 실시예에서, 상기 양방향 인증 방법은 상기 서비스 요청시 상기 단말기의 ID를 전송하는 단계; 상기 단말 인증 요청시 상기 단말기의 ID를 상기 동적키로 암호화하여 전송하는 단계; 및 상기 암호화된 단말기의 ID를 복호화하여 상기 서버를 인증하는 단계를 더 포함할 수 있다. In one embodiment, the bi-directional authentication method comprises: transmitting an ID of the terminal when the service is requested; Encrypting the ID of the terminal with the dynamic key and transmitting the encrypted ID; And authenticating the server by decrypting the ID of the encrypted terminal.

일 실시예에서, 상기 공유키는 인증요청자 보안키(ARSK)일 수 있다. In one embodiment, the shared key may be an Authentication Requestor Security Key (ARSK).

일 실시예에서, 상기 단말기가 사물인터넷(IoT) 디바이스인 경우, 상기 인증요청자 보안키(ARSK)는 상기 서버 및 상기 단말기에 저장되어 공유될 수 있다. In one embodiment, if the terminal is an Internet (IoT) device, the authentication requestor security key (ARSK) may be stored and shared in the server and the terminal.

일 실시예에서, 상기 단말기가 사용자 단말기인 경우, 상기 인증요청자 보안키(ARSK)는 상기 서버에만 저장되며 상기 단말기에는 저장되지 않고 지식기반으로 상기 동적키 생성시 입력될 수 있다. In one embodiment, when the terminal is a user terminal, the authentication requestor security key (ARSK) is stored only in the server, and may not be stored in the terminal, but may be input upon generation of the dynamic key on a knowledge base.

일 실시예에서, 상기 인증요청자 보안키(ARSK)는 비밀번호 및 지문 중 적어도 하나를 포함할 수 있다. In one embodiment, the Authentication Requestor Security Key (ARSK) may include at least one of a password and a fingerprint.

일 실시예에서, 상기 서버는 서비스 서버와 인증 서버를 포함하며, 상기 단계들은 상기 인증 서버와 상기 단말기 사이에서 수행되고, 상기 단말 인증용 토큰은 상기 인증 서버와 상기 서비스 서버 사이에 공유된 제2공유키로 암호화되어 생성되며, 상기 양방향 인증 방법은 상기 단말기가 상기 복호화된 상기 단말 인증용 토큰을 상기 생성된 세션키로 암호화하고, 상기 서비스 서버로 전송하여 접속을 요청하는 단계; 및 상기 서비스 서버가 상기 단말기로부터 수신된 단말 인증용 토큰을 상기 인증 서버로부터 수신된 세션키로 복호화한 후, 상기 제2공유키로 복호화하여 상기 단말기를 인증하는 단계;를 더 포함할 수 있다. In one embodiment, the server includes a service server and an authentication server, wherein the steps are performed between the authentication server and the terminal, and the terminal authentication token includes a second And encrypting the decrypted terminal authentication token with the generated session key and transmitting the decrypted terminal authentication token to the service server to request a connection; And decrypting the terminal authentication token received from the terminal with the session key received from the authentication server and then decrypting the terminal authentication token with the second shared key to authenticate the terminal.

일 실시예에서, 상기 양방향 인증 방법은 상기 서비스 서버가 상기 인증 서버로 상기 세션키를 요청하는 단계; 및 상기 인증 서버가 상기 세션키를 상기 제2공유키로 암호화하여 상기 서비스 서버로 전송하는 단계를 더 포함할 수 있다. In one embodiment, the bi-directional authentication method comprises: the service server requesting the session key to the authentication server; And the authentication server encrypting the session key with the second shared key and transmitting the encrypted session key to the service server.

일 실시예에서, 상기 양방향 인증 방법은 상기 접속 요청시 상기 세션키 및 상기 단말 인증용 토큰에 포함된 제3난수에 의해 생성된 제2세션키로 암호화된 검증 정보를 상기 서비스 서버로 전송하는 단계; 상기 서비스 서버가 상기 복호화된 단말 인증용 토큰으로부터 상기 제3난수를 획득하고, 상기 세션키 및 상기 제3난수로 상기 제2세션키를 생성하고, 상기 검증 정보를 상기 제2세션키로 복호화하는 단계; 상기 복호화된 검증 정보로부터 연산된 정보를 상기 제2세션키로 상기 제2세션키로 암호화하여 상기 단말기로 전송하는 단계; 및 상기 단말기가 상기 연산된 정보를 복호화하여 상기 서비스 서버를 확인하는 단계;를 더 포함할 수 있다. In one embodiment, the bi-directional authentication method comprises the steps of: transmitting, to the service server, verification information encrypted with a second session key generated by a third random number included in the session key and the terminal authentication token at the connection request; The service server obtaining the third random number from the decrypted terminal authentication token, generating the second session key with the session key and the third random number, and decrypting the verification information with the second session key ; Encrypting information calculated from the decrypted verification information with the second session key by using the second session key, and transmitting the encrypted information to the terminal; And checking the service server by decoding the calculated information by the terminal.

본 발명의 다른 측면에 따르면, 비밀키로 암호화하여 생성된 서버 인증용 토큰을 공유키에 의해 생성된 동적키로 암호화하고 서버로 전송하여 서비스를 요청하는 단계; 상기 요청에 따라 상기 서버로부터 세션키로 암호화된 서버 인증용 토큰을 수신하고, 상기 공유키 및 상기 생성된 동적키를 이용하여 상기 세션키를 생성하며, 상기 수신된 서버 인증용 토큰을 상기 생성된 세션키로 복호화한 후, 상기 비밀키로 복호화하여 상기 서버를 인증하는 단계; 및 상기 서버로부터 암호화된 단말 인증용 토큰을 수신하여 상기 동적키로 복호화한 후, 상기 세션키로 암호화하며, 상기 서버가 단말기를 인증하도록 상기 암호화된 단말 인증용 토큰을 상기 서버로 전송하는 단계;를 포함하는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법이 제공된다.According to another aspect of the present invention, there is provided a method for encrypting a server, the method comprising: encrypting a token for server authentication generated by a secret key using a dynamic key generated by a shared key; Receiving the server authentication token encrypted with the session key from the server according to the request, generating the session key using the shared key and the generated dynamic key, and transmitting the received server authentication token to the generated session Authenticating the server by decrypting the decrypted data using the secret key; And transmitting the encrypted terminal authentication token to the server so that the server authenticates the terminal after receiving the encrypted terminal authentication token from the server, decrypting the encrypted terminal authentication token with the dynamic key, and encrypting the decrypted with the session key A two-way authentication method using a symmetric key-based security token is provided.

본 발명의 또 다른 측면에 따르면, 단말기로부터 서비스 요청에 따라 수신된 서버 인증용 토큰을 공유키에 의해 생성된 동적키로 복호화한 후, 상기 공유키 및 상기 동적키에 의해 생성된 세션키로 암호화하며, 비밀키로 암호화하여 생성된 단말 인증용 토큰을 상기 생성된 동적키로 암호화하여 상기 세션키로 암호화된 서버 인증용 토큰과 함께 상기 단말기로 전송하여 서버 인증을 요청하는 단계; 및 상기 단말기에서 서버 인증 후 단말 인증 요청에 따라 상기 세션키로 암호화된 단말 인증용 토큰을 수신하여 상기 생성된 동적키로 복호화한 후, 상기 비밀키로 복호화하여 상기 단말기를 인증하는 단계;를 포함하는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법이 제공된다.According to another aspect of the present invention, a server authentication token received according to a service request from a terminal is decrypted with a dynamic key generated by a shared key, and then the session key is encrypted using the shared key and the session key generated by the dynamic key, Encrypting the terminal authentication token generated by encrypting with the secret key using the generated dynamic key, and transmitting the encrypted token to the terminal together with the server authentication token encrypted with the session key to request server authentication; And receiving the terminal authentication token encrypted with the session key according to a terminal authentication request after the server authentication in the terminal, decoding the generated token using the generated dynamic key, and decrypting the token with the secret key to authenticate the terminal. Based authentication method using a security token is provided.

본 발명의 일 실시예에 따르면, 대칭키 기반으로 보안 토큰을 이용한 양방향 인증시 상대적으로 취약한 네트워크를 통하여 암호화 키 자체를 전송하지 않음으로써, 페이크(fake) 서버에 의한 위장 공격을 원천적으로 차단하므로, 인증 서버나 인증 기관을 별도로 이용하지 않거나 신뢰하지 않는 경우에도 인증의 안정성을 향상시킬 수 있다. According to an embodiment of the present invention, in the two-way authentication using the security token based on the symmetric key, since the encryption key itself is not transmitted through the relatively weak network, the false attack by the fake server is originally blocked, The authentication stability can be improved even when the authentication server or the certification authority is not used separately or is not trusted.

또한, 본 발명은 대칭키 기반으로 연산 속도를 감소시킴으로써 양방향 인증시 처리속도를 빠르게 하므로, 고사양 단말뿐 아니라 저사양 단말까지 인증이 가능하여 사물인터넷(IoT) 환경에 적합한 인증 방식을 제공할 수 있다. In addition, the present invention can speed up the processing speed in bi-directional authentication by reducing the operation speed based on the symmetric key, and thus it is possible to provide not only high-grade terminals but also low-end terminals, thereby providing an authentication method suitable for the Internet of Things (IoT) environment.

도 1은 본 발명의 실시예에 따른 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 적용한 시스템의 일례를 나타낸 구성도이다.
도 2는 본 발명의 실시예에 따른 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 위한 등록 절차를 나타낸 순서도이다.
도 3은 본 발명의 실시예에 따른 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 나타낸 순서도이다.
도 4는 본 발명의 실시예에 따른 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 적용한 시스템의 다른예를 나타낸 구성도이다.
도 5는 본 발명의 다른 실시예에 따른 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 나타낸 순서도이다.
1 is a block diagram illustrating an example of a system to which a two-way authentication method using a symmetric-key-based security token according to an embodiment of the present invention is applied.
FIG. 2 is a flowchart illustrating a registration procedure for a two-way authentication method using a symmetric-key-based security token according to an embodiment of the present invention.
FIG. 3 is a flowchart illustrating a two-way authentication method using a symmetric key based security token according to an embodiment of the present invention.
4 is a block diagram illustrating another example of a system to which a two-way authentication method using a symmetric-key-based security token according to an embodiment of the present invention is applied.
5 is a flowchart illustrating a two-way authentication method using a symmetric key based security token according to another embodiment of the present invention.

이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art to which the present invention pertains. The present invention may be embodied in many different forms and is not limited to the embodiments described herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and the same or similar components are denoted by the same reference numerals throughout the specification.

도 1은 본 발명의 실시예에 따른 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 적용한 시스템의 일례를 나타낸 구성도이다. 1 is a block diagram illustrating an example of a system to which a two-way authentication method using a symmetric-key-based security token according to an embodiment of the present invention is applied.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 적용한 시스템은 단말기(10) 및 서버(20)를 포함한다. As shown in FIG. 1, a system to which a two-way authentication method using a symmetric key-based security token according to an embodiment of the present invention is applied includes a terminal 10 and a server 20.

단말기(10)는 서버(20)에 접속하여 서버(20)에 대한 인증을 수행할 수 있다. 이러한 단말기(10)는 사용자가 휴대하는 스마트폰, 휴대폰 또는 기타 휴대용 기기 등과 같은 사용자 단말기뿐만 아니라, 서버(20)와 통신을 수행하는 비콘, 게이트웨이 또는 통신 기능을 구비한 기타 전자기기 등과 같은 사물인터넷(IoT) 디바이스일 수 있다.The terminal 10 may access the server 20 and perform authentication for the server 20. [ Such a terminal 10 may include not only a user terminal such as a smart phone, a mobile phone or other portable device carried by the user, but also other devices such as a beacon, a gateway or other electronic device having a communication function, (IoT) device.

서버(20)는 단말기(10)의 서비스 요청에 따라 단말기(10)의 인증을 수행할 수 있다. 이러한 서버(20)는 인증 기능과 서비스 제공 기능을 모두 갖는 서버일 수 있다. 즉, 서버(20)는 단말기(10)에 대한 인증을 수행하는 동시에 단말기(10)에서 요청하는 서비스를 제공할 수 있다. The server 20 can perform authentication of the terminal 10 according to a service request of the terminal 10. [ The server 20 may be a server having both an authentication function and a service providing function. That is, the server 20 may perform authentication for the terminal 10 and provide a service requested by the terminal 10.

이와 같은 단말기(10)와 서버(20) 사이에 양방향이 인증이 수행될 수 있다. 즉, 단말기(10)는 서버(20)에 대한 인증을 수행하고 서버(20)는 단말기(10)에 대한 인증을 수행함으로써, 양측의 상호 인증이 모두 완료된 경우에만 정상적인 서비스를 제공할 수 있다. Bidirectional authentication between the terminal 10 and the server 20 can be performed. That is, the terminal 10 performs authentication for the server 20, and the server 20 performs authentication for the terminal 10, so that the normal service can be provided only when both mutual authentication is completed.

이때, 단말기(10) 및 서버(20) 각각은 사전 공유된 동적키 생성 알고리즘 및 초기에 등록된 인증요청자 보안키(ARSK; Authentication Requestor Security Key)를 이용하여 동적키(Key_A)를 생성하고, 서로 송수신하는 난수(R1,R2)에 따른 세션키(Key_B)를 이용하여 상호 인증을 수행할 수 있다. At this time, each of the terminal 10 and the server 20 generates a dynamic key (Key_A) using a pre-shared dynamic key generation algorithm and an initially registered authentication requestor security key (ARSK) Mutual authentication can be performed using the session key (Key_B) according to the random numbers (R1, R2) to be transmitted and received.

여기서, 단말기(10)와 서버(20) 사이는 공중망, 사설망 또는 인트라넷과 같은 통신 네트워크를 통하여 연결될 수 있다. 이때, 단말기(10)와 서버(20)는 상호 인증을 위해서 암호화키를 직접적으로 서로 전달하지 않고, 보안 토큰을 이용하므로, 암호화키의 유출을 사전에 방지할 수 있다. Here, the terminal 10 and the server 20 may be connected through a communication network such as a public network, a private network, or an intranet. At this time, since the terminal 10 and the server 20 do not directly transmit the encryption key to each other for mutual authentication but use the security token, the leakage of the encryption key can be prevented in advance.

즉, 단말기(10)와 서버(20) 사이에 송수신되는 데이터가 유출되더라도 서로 각각 생성한 동적키(Key_A)를 모르거나, 초기에 등록된 공유키(ARSK)를 모르면 세션키(Key_B)를 알 수 없어 중간자 공격으로부터 안정성을 보장할 수 있다. That is, even if the data transmitted and received between the terminal 10 and the server 20 are leaked, the dynamic key (Key_A) generated by each other is not known, or if the shared key (ARSK) It is possible to guarantee the stability from the meson attack.

도 2는 본 발명의 실시예에 따른 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 위한 등록 절차를 나타낸 순서도이다. FIG. 2 is a flowchart illustrating a registration procedure for a two-way authentication method using a symmetric-key-based security token according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 단말기(10)는 서버(20)와 양방향 인증을 위해 사전에 공유키(ARSK)를 등록한다. As shown in FIG. 2, the terminal 10 registers a shared key (ARSK) in advance for bidirectional authentication with the server 20.

먼저, 단말기(10)가 서버(20)로 접속을 요청한다(단계 S101). First, the terminal 10 requests connection to the server 20 (step S101).

이와 동시에, 단말기(10) 및 서버(20)는 동적키 생성 알고리즘을 공유한다(단계 S102). 예를 들면, 단말기(10)가 서버(20)에 접속을 요청하면, 프로그램 설치 등을 통하여 동일한 동적키 생성 알고리즘을 공유할 수 있다. 또한, 이러한 동적키 생성 알고리즘은 단말기(10)와 서버(20) 각각에 사전에 설치될 수 있다. At the same time, the terminal 10 and the server 20 share a dynamic key generation algorithm (step S102). For example, when the terminal 10 requests connection to the server 20, it can share the same dynamic key generation algorithm through program installation or the like. The dynamic key generation algorithm may be installed in advance in each of the terminal 10 and the server 20.

즉, 이와 같이 단말기(10)가 서버(20)에 등록하는 과정은 온라인을 통하여 수행할 수도 있지만, 오프라인을 통하여 수행할 수도 있다. That is, the process of registering the terminal 10 in the server 20 as described above may be performed online or offline.

여기서, 서버(20)는 사용자 인증을 통하여 단말기의 인증을 수행한다(단계 S103). 이때, 단말기(10)는 인증요청자의 정보로서 인증요청자 보안키(ARSK)를 서버(20)로 전송할 수 있다(단계 S104). Here, the server 20 performs authentication of the terminal through user authentication (step S103). At this time, the terminal 10 can transmit the authentication requestor security key (ARSK) to the server 20 as information of the authentication requester (step S104).

이러한 인증요청자 보안키(ARSK)는 단말기(10)에서 생성되는 보안키일 수 있지만, 이에 한정되지 않고 지식기반의 정보일 수 있다. 특히, 단말기(10)가 사용자 단말기인 경우, 사용자에 의해 직접 입력가능한 비밀번호 및 지문 등과 같은 지식기반 정보일 수 있다. The authentication requester security key (ARSK) may be a security key generated in the terminal 10, but it is not limited thereto and may be knowledge-based information. In particular, when the terminal 10 is a user terminal, it may be knowledge base information such as a password and a fingerprint that can be directly input by the user.

서버(20)는 인증요청자 보안키(ARSK)를 공유키로서 저장한다(단계 S105). The server 20 stores the authentication requester security key ARSK as a shared key (step S105).

이때, 단말기(10)가 비콘 또는 게이트웨이와 같은 사물인터넷(IoT) 디바이스인 경우, 단말기(10)는 인증요청자 보안키(ARSK)를 저장할 수 있다(단계 S106). At this time, if the terminal 10 is an Internet Internet (IoT) device such as a beacon or a gateway, the terminal 10 may store the authentication requester security key ARSK (step S106).

대안적으로, 단말기(10)가 스마트폰 또는 휴대기기와 같은 사용자 단말인 경우, 인증요청자 보안키(ARSK)는 단말기(10)에 저장되지 않고 지식기반으로 이용될 수 있다. 즉, 단말기(10)는 서버(20)에 등록시 또는 인증을 위한 동적키(Key_A) 생성시 인증요청자 보안키(ARSK)를 사용자에 의해 직접 입력받을 수 있다. Alternatively, if the terminal 10 is a user terminal such as a smart phone or a mobile device, the authentication supplicant security key (ARSK) may be used as a knowledge base without being stored in the terminal 10. [ That is, the terminal 10 can directly receive an authentication requestor security key (ARSK) upon registration to the server 20 or upon generation of a dynamic key (Key_A) for authentication.

이와 같이, 단말기(10)가 서버(20)에 최초 등록시 동적키 생성 알고리즘 및 인증요청자 보안키(ARSK)는 단말기(10)와 서버(20) 사이에서 공유될 수 있다. As described above, the dynamic key generation algorithm and the authentication requestor security key (ARSK) when the terminal 10 is initially registered in the server 20 can be shared between the terminal 10 and the server 20. [

도 3은 본 발명의 실시예에 따른 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 나타낸 순서도이다. FIG. 3 is a flowchart illustrating a two-way authentication method using a symmetric key based security token according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법(200)은 별도의 인증 서버가 필요없이 서버(20)에서 인증 기능과 서비스 제공 기능을 갖는 경우의 인증 방법이다. As shown in FIG. 3, the two-way authentication method 200 using a symmetric key-based security token is an authentication method when the server 20 has an authentication function and a service providing function without requiring a separate authentication server.

먼저, 단말기(10)가 서버(20)와 공유된 동적키 생성 알고리즘에 의해 동적키(Key_A)를 생성한다(단계 S201). 이때, 단말기(10)는 공유키(ARSK)로 동적키(Key_A)를 생성할 수 있다. 여기서, 공유키(ARSK)가 지식기반인 경우, 단말기(10)는 사용자로부터 공유키(ARSK)를 입력받을 수 있다. 또한, 공유키(ARSK)가 지식기반이 아닌 경우, 즉, 최초 등록시 저장된 경우, 단말기(10)는 저장된 공유키(ARSK)를 이용할 수 있다. First, the terminal 10 generates a dynamic key (Key_A) by a dynamic key generation algorithm shared with the server 20 (step S201). At this time, the terminal 10 can generate a dynamic key (Key_A) using a shared key (ARSK). Here, if the shared key (ARSK) is knowledge-based, the terminal 10 can receive a shared key (ARSK) from the user. Also, if the shared key (ARSK) is not knowledge-based, i.e. stored at the time of initial registration, the terminal 10 may use the stored shared key (ARSK).

또한, 단말기(10)는 서버 인증용 토큰(Token_A)을 생성한다(단계 S202). 이때, 단말기(10)는 자신의 비밀키로 암호화하여 서버 인증용 토큰(Token_A)을 생성할 수 있다. In addition, the terminal 10 generates a token Token_A for server authentication (step S202). At this time, the terminal 10 can generate a token (Token_A) for server authentication by encrypting it with its secret key.

여기서, 비밀키는 단말기(10) 자체적으로 암호화 알고리즘에 의해 일정 길이로 생성될 수 있다. 예를 들면, 비밀번호나 지문 등과 같이 입력된 정보를 해쉬(Hash) 알고리즘 연산을 하여 일정 길이의 비밀키로 생성할 수 있다.Here, the secret key may be generated by the terminal 10 itself with a predetermined length by an encryption algorithm. For example, the input information such as a password or a fingerprint can be generated using a secret key of a predetermined length by performing a hash algorithm operation.

또한, 생성되는 서버 인증용 토큰(Token_A)은 토큰 만기일, 서버 정보, 시퀀스 넘버(Sequence Number), 및 HMAC(Hashed Message Authentication Code) 연산을 수행한 토큰 인증자(TA1)를 포함할 수 있지만, 이에 한정되지 않는다. The generated server authentication token Token_A may include a token authenticator TA1 that has performed a token expiration date, server information, a sequence number, and a hashed message authentication code (HMAC) It is not limited.

한편, HAMC 연산은 토큰 내용의 내용이 변경되지 않았는지에 대한 무결성을 검증하기 위한 연산이며, 토큰 인증자(TA1)는 HMAC 연산을 수행하여 산출된 결과이다. 이때, 데이터의 무결성 검증 방법은 MAC 값 비교에 의해 수행되는데, 예를 들면, 토큰의 내용을 HMAC 연산을 수행한 것과 토큰 인증자(TA1)를 비교하고, 이후, 자신이 보냈던 MAC과 토큰 인증자(TA1)을 비교함으로써 수행될 수 있다. 이와 같은 서버 인증용 토큰(Token_A)의 실제 정보는 단말기(10) 자신의 비밀키에 의해 암호화되기 때문에, 서버(20)에서도 실제 정보는 알 수 없고, 단말기(10)만이 실제 정보를 검증할 수 있다. 따라서, 본 실시예의 양방향 인증 방법(200)은 네트워크상의 중간자 공격으로부터 안정성을 보장할 수 있다. Meanwhile, the HAMC operation is an operation for verifying the integrity of whether the contents of the token contents are unchanged, and the token authenticator TA1 is a result calculated by performing the HMAC operation. In this case, the data integrity verification method is performed by comparing the MAC value. For example, the content of the token is compared with the token authenticator TA1 by performing the HMAC operation. Then, the MAC and the token authenticator (TA1). ≪ / RTI > Since the actual information of the server authentication token Token_A is encrypted by the secret key of the terminal 10 itself, the server 20 can not know the actual information and only the terminal 10 can verify the actual information have. Accordingly, the bi-directional authentication method 200 of the present embodiment can ensure stability from the meson attack on the network.

선택적으로, 단말기(10)는 세션키(Key_B) 생성을 위한 제1난수(R1)를 생성할 수 있다. Optionally, the terminal 10 may generate a first random number R1 for generating a session key (Key_B).

이어서, 단말기(10)는 생성된 서버 인증용 토큰(Token_A)을 공유키(ARSK)에 의해 생성된 동적키(Key_A)로 암호화하여 서버(20)로 서비스를 요청한다(단계 S203). 즉, 단말기(10)는 서버(20)로 서비스 요청시 동적키(Key_A)로 암호화된 서버 인증용 토큰(Token_A)을 전송한다. 여기서, 단말기(10)는 자신의 ID를 서버(20)로 전송할 수 있다. Next, the terminal 10 encrypts the generated server authentication token Token_A with the dynamic key (Key_A) generated by the shared key (ARSK) and requests the server 20 for the service (step S203). That is, the terminal 10 transmits a token (Token_A) for server authentication encrypted with the dynamic key (Key_A) at the time of the service request to the server 20. Here, the terminal 10 can transmit its ID to the server 20.

이때, 제1난수(R1)가 생성된 경우, 단말기(10)는 제1난수(R1)를 동적키(Key_A)로 암호화하여 서버(20)로 전송할 수 있다. At this time, when the first random number R1 is generated, the terminal 10 can encrypt the first random number R1 with the dynamic key (Key_A) and transmit it to the server 20.

이와 같이, 서버 인증용 토큰(Token_A)은 단말기(10)의 비밀키와 동적키(Key_A)에 의해 이중 암호화됨으로써, 네트워크상에서 서버 인증용 토큰(Token_A)이 가로채기되는 경우에도, 실질적으로 해당 내용을 확인할 수 없기 때문에, 불법의 중간자 공격을 차단할 수 있다. As described above, the server authentication token Token_A is double-encrypted by the secret key of the terminal 10 and the dynamic key (Key_A), so that even when the server authentication token Token_A is intercepted on the network, , It is possible to block illegal meson attacks.

서비스 요청을 수신한 서버(20)는 단말기(10)와 동일한 동적키 생성 알고리즘을 이용하여 서버(20)와 동일한 동적키(Key_A)를 생성한다(단계 S204). 이때, 서버(20)는 공유키(ARSK)로 동적키(Key_A)를 생성할 수 있다. 여기서, 공유키(ARSK)가 지식기반인 경우, 서버(20)는 사용자로부터 공유키(ARSK)를 입력받아 최초에 등록한 공유키(ARSK)와 비교하여 적정성을 확인한 후 사용할 수 있다. 또한, 공유키(ARSK)가 지식기반이 아닌 경우, 서버(20)는 최초 등록시 저장된 공유키(ARSK)를 이용할 수 있다. The server 20 receiving the service request generates the same dynamic key (Key_A) as the server 20 using the same dynamic key generation algorithm as that of the terminal 10 (step S204). At this time, the server 20 can generate the dynamic key (Key_A) with the shared key (ARSK). Here, if the shared key (ARSK) is knowledge-based, the server 20 receives the shared key (ARSK) from the user and verifies the authenticity of the shared key (ARSK) registered first. Also, if the shared key (ARSK) is not knowledge based, the server 20 can use the stored shared key (ARSK) at the time of initial registration.

이어서, 서버(20)는 단말기(10)로부터 수신된 서버 인증용 토큰(Token_A)을 생성된 동적키(Key_A)로 복호화한다(단계 S205). 여기서, 서버(20)는 동적키(Key_A)로 서버 인증용 토큰(Token_A)을 복호화하지만, 서버 인증용 토큰(Token_A)은 단말기(10)의 비밀키로 암호화된 상태이므로 서버(20)는 서버 인증용 토큰(Token_A)의 실제 정보를 알 수 없다. Then, the server 20 decrypts the server authentication token (Token_A) received from the terminal 10 with the generated dynamic key (Key_A) (step S205). Since the server 20 decrypts the server authentication token Token_A with the dynamic key Key_A but the server authentication token Token_A is encrypted with the secret key of the terminal 10, The actual information of the token (Token_A) is unknown.

이때, 단말기(10)가 제1난수(R1)를 생성하여 전송한 경우, 서버(20)는 동적키(Key_A)로 제1난수(R1)를 복호화할 수 있다. At this time, when the terminal 10 generates and transmits the first random number R1, the server 20 can decrypt the first random number R1 with the dynamic key Key_A.

이와 같은 동적키(Key_A) 및 공유키(ARSK)를 이용하여 서버(20)는 세션키(Key_B)를 생성한다(단계 S206). 여기서, 세션키(Key_B)는 서버(20)가 단말기(10)로부터 수신한 서버 인증용 토큰(Token_A)을 암호화하기 위한 키이다. The server 20 generates a session key (Key_B) using the dynamic key (Key_A) and the shared key (ARSK) (step S206). Here, the session key (Key_B) is a key for encrypting the server authentication token (Token_A) received from the terminal (10) by the server (20).

선택적으로, 서버(20)는 단말기(10) 및 서버(20)에서 각각 제1난수(R1) 및 제2난수(R2)를 생성한 경우, 복호화된 제1난수(R1)와 생성된 제2난수(R2)를 동적키(Key_A) 및 공유키(ARSK) 함께 이용하여 세션키(Key_B)를 생성할 수 있다. 여기서, 제1난수(R1)와 제2난수(R2)는 서로 상이한 난수일 수 있다. Alternatively, when the server 20 generates the first random number R1 and the second random number R2 in the terminal 10 and the server 20, respectively, the server 20 generates the first random number R1 and the second random number R2, The session key Key_B can be generated by using the random number R2 together with the dynamic key Key_A and the shared key ARSK. Here, the first random number Rl and the second random number R2 may be different from each other.

이어서, 서버(20)는 단말 인증용 토큰(Token_B)을 생성한다(단계 S207). 이때, 서버(20)는 자신의 비밀키로 암호화하여 단말 인증용 토큰(Token_B)을 생성할 수 있다. Subsequently, the server 20 generates a token Token_B for terminal authentication (step S207). At this time, the server 20 can generate a terminal authentication token (Token_B) by encrypting it with its own secret key.

이러한 비밀키는 서버(20) 자체적으로 암호화 알고리즘에 의해 일정 길이로 생성될 수 있다. 예를 들면, 예를 들면, 비밀번호나 지문 등과 같이 입력된 정보를 해쉬(Hash) 알고리즘 연산을 하여 일정 길이의 비밀키로 생성할 수 있다.This secret key can be generated by the server 20 itself with a certain length by an encryption algorithm. For example, the input information such as a password or a fingerprint can be generated with a secret key of a predetermined length by performing a hash algorithm algorithm.

또한, 생성되는 단말 인증용 토큰(Token_B)은 토큰 만기일, 인증요청자 ID, 접근 모드, 시퀀스 넘버(Sequence Number), 및 HMAC 연산을 수행한 토큰 인증자(TA1)를 포함할 수 있지만, 이에 한정되지 않는다. The generated terminal authentication token Token_B may include a token expiration date, an authentication requester ID, an access mode, a sequence number, and a token authenticator TA1 that performs an HMAC operation. Do not.

이와 같은 단말 인증용 토큰(Token_B)의 실제 정보는 서버(20) 자신의 비밀키에 의해 암호화되기 때문에, 단말기(10)에서도 실제 정보는 알 수 없고, 서버(20) 만이 실제 정보를 검증할 수 있다. Since the actual information of the terminal authentication token Token_B is encrypted by the secret key of the server 20 itself, the terminal 20 can not know the actual information and only the server 20 can authenticate the information have.

이와 같이 생성된 동적키(Key_A)와 세션키(Key_B)를 이용하여 서버(20)는 서버 인증용 토큰(Token_A) 및 단말 인증용 토큰(Token_B)을 단말기(10)로 전송하여 단말 인증을 요청한다(단계 S208).The server 20 transmits the server authentication token Token_A and the terminal authentication token Token_B to the terminal 10 using the generated dynamic key Key_A and the session key Key_B, (Step S208).

이때, 서버(20)는 단말 인증용 토큰(Token_B)을 동적키(Key_A)로 암호화하고, 서버 인증용 토큰(Token_A)을 세션키(Key_B)로 암호화하며, 단말기(10)로 인증 요청시 암호화된 단말 인증용 토큰(Token_B) 및 서버 인증용 토큰(Token_A)을 전송할 수 있다. At this time, the server 20 encrypts the terminal authentication token (Token_B) with the dynamic key (Key_A), encrypts the server authentication token (Token_A) with the session key (Key_B) The terminal authentication token Token_B and the server authentication token Token_A.

여기서, 서버(20)는 단말기(10)가 인증요청자 ID, 즉, 단말기(10)를 전송한 경우, ID를 동적키(Key_A)로 암호화하여 단말기(10)로 전송할 수 있다. Here, when the terminal 10 transmits the authentication requestor ID, that is, the terminal 10, the server 20 can encrypt the ID with the dynamic key (Key_A) and transmit the encrypted ID to the terminal 10.

이때, 제2난수(R2)가 생성된 경우, 서버(20)는 제2난수(R2)를 동적키(Key_A)로 암호화하여 단말기(10)로 전송할 수 있다. At this time, when the second random number R2 is generated, the server 20 can encrypt the second random number R2 with the dynamic key (Key_A) and transmit it to the terminal 10.

이와 같이, 단말 인증용 토큰(Token_B)은 서버(20)의 비밀키와 동적키(Key_A)에 의해 이중 암호화됨으로써, 네트워크상에서 단말 인증용 토큰(Token_B)이 가로채기되는 경우에도, 실질적으로 해당 내용을 확인할 수 없기 때문에, 불법의 중간자 공격을 안정적으로 차단할 수 있다. In this manner, the terminal authentication token Token_B is double-encrypted by the secret key of the server 20 and the dynamic key (Key_A), so that even when the terminal authentication token Token_B is intercepted on the network, It is possible to stably block the illegal meson attack.

이어서, 단말기(10)는 서버(20)로부터 수신된 서버 인증용 토큰(Token_A)을 기 생성된 동적키(Key_A)로 복호화한다(단계 S209). 여기서, 단말기(10)는 동적키(Key_A)로 단말 인증용 토큰(Token_B)을 복호화하지만, 단말 인증용 토큰(Token_B)은 서버(20)의 비밀키로 암호화된 상태이므로 단말기(10)는 단말 인증용 토큰(Token_B)의 실제 정보를 알 수 없다. Then, the terminal 10 decrypts the server authentication token Token_A received from the server 20 with the generated dynamic key (Key_A) (step S209). Since the terminal 10 decrypts the terminal authentication token Token_B with the dynamic key Key_A and the terminal authentication token Token_B is encrypted with the secret key of the server 20, The actual information of the usage token (Token_B) is unknown.

이때, 서버(20)가 제2난수(R2)를 생성하여 전송한 경우, 단말기(10)는 동적키(Key_A)로 제2난수(R2)를 복호화할 수 있다. At this time, when the server 20 generates and transmits the second random number R2, the terminal 10 can decrypt the second random number R2 with the dynamic key Key_A.

또한, 단말기(10)는 서버(20)가 인증요청자 ID를 암호화하여 전송한 경우, 기 생성된 동적키(Key_A)로 인증요청자 ID를 복호화하여 단말기(10)의 ID를 검증한다(단계 S210). When the server 20 encrypts the authentication requestor ID, the terminal 10 decrypts the authentication requestor ID using the generated dynamic key (Key_A) to verify the ID of the terminal 10 (Step S210) .

즉, 단말기(10)는 자신이 전송한 ID와 서버(20)로부터 수신하여 복호화한 ID가 동일한 경우, 서버(20)를 인증할 수 있다. 이때, 단말기(10)는 복호화된 ID가 자신의 ID와 상이한 경우, 서버(20)로 서버 인증 실패를 통지할 수 있다(단계 S210'). That is, the terminal 10 can authenticate the server 20 when the ID transmitted by the terminal 10 and the ID received and decoded from the server 20 are the same. At this time, if the decrypted ID is different from the ID of the terminal 10, the terminal 10 can notify the server 20 of the server authentication failure (step S210 ').

기 생성된 동적키(Key_A) 및 공유키(ARSK)를 이용하여 단말기(10)는 세션키(Key_B)를 생성한다(단계 S211). 여기서, 세션키(Key_B)는 서버(20)가 암호화하여 전송한 서버 인증용 토큰(Token_A)을 복호화하기 위한 키이다. The terminal 10 generates a session key (Key_B) using the generated dynamic key (Key_A) and the shared key (ARSK) (step S211). Here, the session key (Key_B) is a key for decrypting the server authentication token (Token_A) encrypted and transmitted by the server (20).

선택적으로, 단말기(10)는 단말기(10) 및 서버(20)에서 각각 제1난수(R1) 및 제2난수(R2)를 생성한 경우, 기 생성된 제1난수(R1)와 복호화된 제2난수(R2)를 동적키(Key_A) 및 공유키(ARSK) 함께 이용하여 세션키(Key_B)를 생성할 수 있다. Alternatively, when the terminal 10 and the server 20 generate the first random number R1 and the second random number R2, respectively, the terminal 10 generates the first random number R1 and the decrypted second random number R2, A random number R2 can be used together with a dynamic key Key_A and a shared key ARSK to generate a session key Key_B.

이와 같이 생성된 세션키(Key_B)를 이용하여 단말기(10)는 서버(10)로부터 수신된 서버 인증용 토큰(Token_A)을 복호화한다(단계 S212). The terminal 10 decrypts the server authentication token Token_A received from the server 10 using the generated session key (Key_B) (step S212).

또한, 단말기(10)는 세션키(Key_B)로 복호화된 서버 인증용 토큰(Token_A)을 자신의 비밀키로 복호화하여 서버(20)를 인증한다(단계 S213). 즉, 단말기(10)는 복호화된 서버 인증용 토큰(Token_A)의 세부내용을 모두 확인할 수 있다. 따라서, 단말기(10)는 자신이 발행한 것과 동일한 것인지의 여부에 따라 서버(20)를 인증할 수 있다. Also, the terminal 10 decrypts the server authentication token Token_A decrypted with the session key (Key_B) with its own secret key to authenticate the server 20 (step S213). That is, the terminal 10 can confirm all details of the decrypted server authentication token Token_A. Therefore, the terminal 10 can authenticate the server 20 according to whether or not the terminal 10 is the same as the one issued by the terminal 10 itself.

이때, 단말기(10)는 복호화된 서버 인증용 토큰(Token_A)이 자신이 발행한 서버 인증용 토큰(Token_A)과 상이한 경우, 서버(20)로 서버 인증 실패를 통지할 수 있다(단계 S213'). 여기서, 단말기(10)는 자신이 발행한 서버 인증용 토큰(Token_A)을 네트워크를 통하여 전송시 사용된 동적키(Key_A)가 중간에 가로채기되어 서버(20)와의 공유가 실패한 것으로 판단할 수 있다. At this time, if the decrypted server authentication token (Token_A) is different from the server authentication token (Token_A) issued by the terminal 10, the terminal 10 can notify the server 20 of the server authentication failure (step S213 ') . Here, the terminal 10 may determine that the dynamic key (Key_A) used when transmitting the server authentication token (Token_A) transmitted through the network is intercepted in the middle and failed to share with the server 20 .

즉, 단말기(10)가 자신이 암호화하여 서버(10)로 전송한 서버 인증용 토큰(Token_A)과 서버(20)로부터 수신하여 복호화한 결과가 상이한 경우는, 상대방이 정상적인 서버 인증용 토큰(Token_A)을 전송하지 않은 경우이다. 따라서, 단말기(10)는 서버 인증용 토큰(Token_A)의 검증결과가 상이한 경우, 서버 인증을 실패로 판단할 수 있다. That is, when the terminal 10 encrypts and decrypts the server authentication token (Token_A) transmitted from the server 20 to the server 10, the counterpart receives a normal server authentication token Token_A ) Is not transmitted. Accordingly, when the verification result of the token (Token_A) for server authentication is different, the terminal 10 can determine that the server authentication is failed.

이와 같이, 네트워크상에서 전송되는 동적키(Key_A)의 공유가 실패한 경우에도, 서버 인증용 토큰(Token_A) 자체가 단말기(10) 자신의 비밀키로 암호화되기 때문에, 중간자 공격을 차단할 수 있다. Thus, even when the sharing of the dynamic key (Key_A) transmitted on the network fails, the server authentication token (Token_A) itself is encrypted with the secret key of the terminal 10 itself, so that the intermediator attack can be blocked.

이와 같이 서버 인증을 수행한 단말기(10)는 서버 인증 결과를 서버(20)로 전송하는 동시에 단말 인증을 요청한다(단계 S214). 이때, 단말기(10)는 복호화된 단말 인증용 토큰(Token_B)을 생성된 세션키(Key_B)로 암호화하여 서버(20)로 전송할 수 있다. 또한, 단말기(10)는 서버 인증 결과를 세션키(Key_B)로 암호화하여 함께 전송할 수 있다. The terminal 10 that has performed the server authentication transmits the server authentication result to the server 20 and requests the terminal authentication (step S214). At this time, the terminal 10 can encrypt the decrypted terminal authentication token (Token_B) with the generated session key (Key_B) and transmit it to the server 20. Also, the terminal 10 may encrypt the server authentication result with the session key (Key_B) and transmit the same.

암호화된 단말 인증용 토큰(Token_B)을 단말기(10)로부터 수신한 서버(20)는 수신된 단말 인증용 토큰(Token_B)을 복호화한다(단계 S215). 이때, 서버(20)는 기 생성된 세션키(Key_B)를 이용하여 단말 인증용 토큰(Token_B)을 복호화할 수 있다. The server 20 receiving the encrypted terminal authentication token Token_B from the terminal 10 decrypts the received terminal authentication token Token_B (step S215). At this time, the server 20 can decrypt the terminal authentication token (Token_B) using the generated session key (Key_B).

또한, 서버(20)는 세션키(Key_B)로 복호화된 단말 인증용 토큰(Token_B)을 자신의 비밀키로 복호화하여 단말기(10)를 인증한다(단계 S216). 즉, 서버(20)는 복호화된 단말 인증용 토큰(Token_B)의 세부내용을 모두 확인할 수 있다. 따라서, 서버(20)는 자신이 발생한 것과 동일한 것인지의 여부에 따라 단말기(10)를 인증할 수 있다. In addition, the server 20 decrypts the terminal authentication token Token_B decrypted with the session key (Key_B) with its secret key to authenticate the terminal 10 (step S216). That is, the server 20 can confirm all details of the decrypted terminal authentication token (Token_B). Therefore, the server 20 can authenticate the terminal 10 according to whether or not the server 20 itself is the same as the one generated.

이때, 서버(20)는 복호화된 단말 인증용 토큰(Token_B)이 자신이 발행한 단말 인증용 토큰(Token_B)과 상이한 경우, 단말기(10)로 단말 인증 실패를 통지할 수 있다(단계 S216'). At this time, if the decrypted terminal authentication token (Token_B) is different from the terminal authentication token (Token_B) issued by the terminal 20, the server 20 can notify the terminal 10 of the terminal authentication failure (step S216 '). .

이와 같이 단말 인증을 수행한 서버(20)는 단말 인증 결과를 단말기(10)로 전송한다(단계 S217).The server 20 that has performed the terminal authentication transmits the terminal authentication result to the terminal 10 (step S217).

이와 같은 방법에 의해, 별도의 인증 서버 또는 인증 기관을 구비하지 않고도 단말기(10)와 서버(20) 사이의 양방향 인증을 신속하고 안정적으로 수행할 수 있다. According to this method, bidirectional authentication between the terminal 10 and the server 20 can be performed quickly and stably without a separate authentication server or an authentication authority.

또한, 페이크(fake) 서버에 의한 위장 공격을 원천적으로 차단하므로, 인증 서버나 인증 기관을 별도로 이용하지 않거나 신뢰하지 않는 경우에도 인증의 안정성을 향상시킬 수 있다. In addition, since the fake attack by the fake server is originally blocked, the authentication stability can be improved even when the authentication server or the certification authority is not separately used or trusted.

또한, 양방향 인증시 처리속도를 빠르게 하므로, 고사양 단말뿐 아니라 저사양 단말까지 인증이 가능하므로 사물인터넷(IoT) 환경에 적합한 인증방식을 제공할 수 있다. In addition, since the processing speed in bi-directional authentication is increased, authentication can be performed not only for high-grade terminals but also for low-end terminals, thereby providing an authentication method suitable for the Internet of Things (IoT) environment.

도 4는 본 발명의 실시예에 따른 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 적용한 시스템의 다른예를 나타낸 구성도이다. 4 is a block diagram illustrating another example of a system to which a two-way authentication method using a symmetric-key-based security token according to an embodiment of the present invention is applied.

도 4에 도시된 바와 같이, 본 발명의 실시예에 따른 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 적용한 시스템은 단말기(10), 인증 서버(20) 및 서비스 서버(30)를 포함한다. 4, a system to which a bi-directional authentication method using a symmetric key based security token according to an embodiment of the present invention is applied includes a terminal 10, an authentication server 20, and a service server 30.

여기서, 인증 서버(20) 및 서비스 서버(30)는 도 1의 서버(20)의 기능을 단순히 물리적으로 분리한 것일 수 있다. 즉, 도 4의 인증 서버(20)는 일반적으로 외부 네트워크를 통하여 접속되는 인증 전문 서버를 지칭하지 않으며, 내부 네트워크 또는 단일 통신선을 통하여 연결되는 서버의 일부일 수 있다. Here, the authentication server 20 and the service server 30 may be simply a physically separated function of the server 20 of FIG. That is, the authentication server 20 of FIG. 4 does not generally refer to an authentication specialized server connected through an external network, and may be a part of a server connected through an internal network or a single communication line.

예를 들면, 도 1의 서버(20)가 제공하는 대량의 다양한 서비스를 제공하는 경우, 일정 단위 서비스별로 서비스 서버를 구비하고, 이와 같이 분리된 서비스 서버의 전체에 대한 인증을 위한 인증 서버를 구비할 수 있다. For example, when providing a large variety of services provided by the server 20 of FIG. 1, a service server may be provided for each unit service, and an authentication server for authentication of the service server may be provided can do.

이때, 단말기(10)는 공중망, 사설망 또는 인트라넷과 같은 통신 네트워크를 통하여 인증 서버(20) 및 서비스 서버(30) 각각에 연결될 수 있다. At this time, the terminal 10 may be connected to the authentication server 20 and the service server 30 through a communication network such as a public network, a private network, or an intranet.

여기서, 단말기(10)는 도 1 내지 도 3을 참조하여 설명한 바와 같이, 인증 서버(20)와 양방향의 상호 인증을 수행할 수 있다. Here, as described with reference to FIGS. 1 to 3, the terminal 10 can perform bidirectional mutual authentication with the authentication server 20.

이와 같이, 단말기(10)와 인증 서버(20)의 인증이 완료되면, 단말기(10)는 서비스 서버(30)로 접속 요청을 수행하고, 서비스 서버(30)가 인증 서버(20)를 통하여 단말 인증을 수행함으로써, 단말기(10)와 서비스 서버(30) 사이의 실질적인 인증이 완료될 수 있다. 이때, 서비스 서버(30)는 단말기(10)로 정상적으로 데이터를 전송할 수 있다. When the authentication of the terminal 10 and the authentication server 20 is completed, the terminal 10 performs a connection request to the service server 30, and the service server 30 transmits a connection request to the terminal 30 via the authentication server 20, By performing the authentication, substantial authentication between the terminal 10 and the service server 30 can be completed. At this time, the service server 30 can normally transmit data to the terminal 10.

여기서, 도 1과 상이하게, 인증 서버(20)는 단말 인증용 토큰(Token_B)을 생성할 때 사용되는 자신의 비밀키(Key_C)를 서비스 서버(30)와 공유한다. 즉, 인증 서버(20)뿐만 아니라, 서비스 서버(30)도 단말 인증을 각각 수행해야 하기 때문에, 인증 서버(20)에서 발행한 단말 인증용 토큰(Token_B)을 서비스 서버(30)도 확인할 수 있도록 비밀키(Key_C)를 공유해야 한다. 1, the authentication server 20 shares its own secret key (Key_C), which is used when generating the terminal authentication token Token_B, with the service server 30. That is, not only the authentication server 20 but also the service server 30 must perform the terminal authentication, respectively, so that the service server 30 can also confirm the terminal authentication token Token_B issued by the authentication server 20 The secret key (Key_C) must be shared.

도 5는 본 발명의 다른 실시예에 따른 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법을 나타낸 순서도이다. 도 5에서 도 3과 동일한 기능을 수행하는 단계는 동일한 부호를 사용하였으며, 이하에서는 도 3과 동일한 부분은 간략히 설명하고 상이한 부분을 중심으로 설명한다. 5 is a flowchart illustrating a two-way authentication method using a symmetric key based security token according to another embodiment of the present invention. In FIG. 5, steps that perform the same functions as those of FIG. 3 are denoted by the same reference numerals. In the following description, the same parts as those of FIG. 3 will be briefly described and different parts will be mainly described.

도 5에 도시된 바와 같이, 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법(300)은 서버가 인증 서버 및 다수의 서비스 서버로 물리적으로 구분된 경우의 인증 방법이다. As shown in FIG. 5, the two-way authentication method 300 using a symmetric key-based security token is an authentication method when the server is physically divided into an authentication server and a plurality of service servers.

먼저, 단말기(10)와 인증 서버(20) 사이에 도 2에 도시된 바와 같은 등록 과정(100)이 수행된다. First, a registration process 100 as shown in FIG. 2 is performed between the terminal 10 and the authentication server 20.

이때, 인증 서버(20)와 서비스 서버(30)는 안전한 채널을 형성하고 비밀키로서 제2공유키(Key_C)를 공유한다(단계 S301). 여기서, 인증 서버(20)와 서비스 서버(30)는 외부 네트워크를 이용하지 않고 내부에서 근접하게 배치되므로 안전한 채널을 형성할 수 있다. At this time, the authentication server 20 and the service server 30 form a secure channel and share a second shared key (Key_C) as a secret key (step S301). Here, since the authentication server 20 and the service server 30 are disposed close to each other without using an external network, a secure channel can be formed.

이후, 도 4에 도시된 바와 같은 단말기(10)와 인증 서버(20) 사이의 상호 인증이 개시된다. 먼저, 단말기(10)는 동적키(Key_A) 및 암호화된 서버 인증용 토큰(Token_A)을 생성하여 동적키(Key_A)로 서버 인증용 토큰(Token_A)을 암호화하고 인증 서버(20)로 전송하여 서비스를 요청한다(단계 S201 내지 단계 S203). Thereafter, mutual authentication between the terminal 10 and the authentication server 20 as shown in Fig. 4 is started. First, the terminal 10 generates a dynamic key (Key_A) and an encrypted server authentication token (Token_A), encrypts the server authentication token (Token_A) with a dynamic key (Key_A) (Step S201 to step S203).

인증 서버(20)는 단말기(10)와 동일한 동적키(Key_A)를 생성하여 서버 인증용 토큰(Token_A)을 생성된 동적키(Key_A)로 복호화하고, 단말 인증용 토큰(Token_B)을 암호화하기 위한 세션키(Key_B)를 생성한다(단계 S204 내지 단계 S206).The authentication server 20 generates a dynamic key (Key_A) identical to the terminal 10 to decrypt the server authentication token Token_A into the generated dynamic key (Key_A) and encrypt the terminal authentication token Token_B And generates a session key (Key_B) (steps S204 to S206).

이때, 인증 서버(20)는 단말 인증용 토큰(Token_B)을 생성한다(단계 S307). 여기서, 인증 서버(20)는 서비스 서버(30)와 공유된 비밀키인 제2공유키(Key_C)로 암호화하여 단말 인증용 토큰(Token_B)을 생성할 수 있다. At this time, the authentication server 20 generates a token Token_B for terminal authentication (step S307). Here, the authentication server 20 may generate a terminal authentication token (Token_B) by encrypting it with a second shared key (Key_C) which is a secret key shared with the service server 30.

이와 같이 생성된 단말 인증용 토큰(Token_B)은 토큰 만기일, 인증요청자 ID, 접근 모드, 시퀀스 넘버, HMAC 연산을 수행하기 위한 토큰 인증자(TA1)에 더하여 서비스 서버 ID, 제3난수(R3)를 추가로 포함할 수 있다. 그러나, 단말 인증용 토큰(Token_B)의 내용은 이에 한정되지 않는다. The generated terminal authentication token Token_B includes the token expiration date, the authentication requester ID, the access mode, the sequence number, the service server ID in addition to the token authenticator TA1 for performing the HMAC operation, the third random number R3 May be further included. However, the content of the terminal authentication token Token_B is not limited to this.

이와 같은 단말 인증용 토큰(Token_B)의 실제 정보는 인증 서버(20)와 서비스 서버(30)의 제2공유키(Key_C)에 의해 암호화되기 때문에, 단말기(10)에서 실제 정보는 알 수 없고, 인증 서버(20) 및 서비스 서버(30) 만이 실제 정보를 검증할 수 있다. 따라서, 본 실시예의 양방향 인증 방법(300)은 네트워크상의 중간자 공격으로부터 안정성을 보장할 수 있다. Since the actual information of the terminal authentication token Token_B is encrypted by the second shared key (Key_C) of the authentication server 20 and the service server 30, actual information is not known in the terminal 10, Only the authentication server 20 and the service server 30 can verify the actual information. Accordingly, the bi-directional authentication method 300 of the present embodiment can guarantee stability from the meson attack on the network.

또한, 인증 서버(20)는 서버 인증용 토큰(Token_A) 및 단말 인증용 토큰(Token_B)을 단말기(10)로 전송하여 단말 인증을 요청한다(단계 S308). 이때, 인증 서버(20)는 단말 인증용 토큰(Token_B)을 동적키(Key_A)로 암호화하고, 서버 인증용 토큰(Token_A)을 세션키(Key_B)로 암호화하며, 단말로 인증 요청시 암호화된 단말 인증용 토큰(Token_B) 및 서버 인증용 토큰(Token_A)을 전송할 수 있다. The authentication server 20 transmits the server authentication token Token_A and the terminal authentication token Token_B to the terminal 10 to request terminal authentication (step S308). At this time, the authentication server 20 encrypts the terminal authentication token Token_B with the dynamic key Key_A, encrypts the server authentication token Token_A with the session key Key_B, An authentication token (Token_B) and a server authentication token (Token_A).

여기서, 인증 서버(20)는 단말기(10)의 ID 및 제2난수(R2)를 동적키(Key_A)로 암호화하여 단말기(10)로 전송할 수 있다. 또한, 인증 서버(20)는 단말기(10)가 서비스 서버(30)와의 접속을 위한 제2세션키(Key_D)를 생성하기 위한 제3난수(R3)를 세션키(Key_B)로 암호화하여 전송할 수 있다. Here, the authentication server 20 may encrypt the ID and the second random number R2 of the terminal 10 using the dynamic key (Key_A) and transmit it to the terminal 10. The authentication server 20 can encrypt the third random number R3 for generating the second session key Key_D for connection with the service server 30 by encrypting the third random number R3 with the session key Key_B have.

이와 같은 제3난수(R3)는 단말 인증용 토큰(Token_B)에 포함된 것과 동일한 것으로 서비스 서버(30)는 단말 인증용 토큰(Token_B)의 실제 내용을 알 수 있기 때문에 제3난수(R3)를 별도로 전송할 필요가 없지만, 단말기(10)는 단말 인증용 토큰(Token_B)의 실제 내용을 알 수 없기 때문에 인증 서버(20)가 단말기(10)로 전송해야 한다. The third random number R3 is the same as that included in the terminal authentication token Token_B and the service server 30 can know the actual content of the terminal authentication token Token_B so that the third random number R3 is The terminal 10 does not need to separately transmit it, but the authentication server 20 must transmit it to the terminal 10 because the terminal 10 can not know the actual content of the terminal authentication token Token_B.

이후, 단말기(10)는 단말기의 ID, 단말 인증용 토큰(Token_B)을 복호화하고, ID 검증을 통하여 인증 서버의 인증을 수행하며, 세션키(Key_B)를 생성하고, 서버 인증용 토큰(Token_A)을 생성된 세션키(Key_B)로 복호화하여 인증 서버의 인증을 수행한다(단계 S209 내지 S213). Thereafter, the terminal 10 decrypts the terminal ID, the terminal authentication token Token_B, authenticates the authentication server through the ID verification, generates the session key Key_B, generates the server authentication token Token_A, To the generated session key (Key_B) to perform authentication of the authentication server (steps S209 to S213).

이때, 서버(20)가 제3난수(R3)를 단말기(10)로 전송한 경우, 단말기(10)는 세션키(Key_B)로 제3난수(R3)를 복호화할 수 있다. At this time, when the server 20 transmits the third random number R3 to the terminal 10, the terminal 10 can decrypt the third random number R3 with the session key (Key_B).

이어서, 단말기(10)가 인증 서버(20)로 인증 결과를 전송하면서 단말 인증을 요청하면, 서버(20)는 단말 인증용 토큰(Token_B)을 복호화하여 단말 인증을 수행하고 인증 결과를 단말기(10)로 전송한다(단계 S214 내지 단계 S217). Then, when the terminal 10 transmits the authentication result to the authentication server 20 and requests the terminal authentication, the server 20 decrypts the terminal authentication token Token_B to perform terminal authentication and transmits the authentication result to the terminal 10 (Steps S214 to S217).

이와 같이, 단말기(10)와 인증 서버(20) 사이의 양방향 인증이 완료되면, 단말기(10)는 제2세션키(Key_D)를 생성한다(단계 S318). 이때, 단말기(10)는 세션키(Key_B) 및 제3난수(R3)로 제2세션키(Key_D)를 생성할 수 있다. When the two-way authentication between the terminal 10 and the authentication server 20 is completed, the terminal 10 generates a second session key (Key_D) (step S318). At this time, the terminal 10 may generate the second session key (Key_D) with the session key (Key_B) and the third random number (R3).

여기서, 제2세션키(Key_D)는 단말기(10)와 서비스 서버(30) 사이의 검증을 수행하기 위한 키이다. Here, the second session key (Key_D) is a key for performing verification between the terminal 10 and the service server 30.

단말기(10)는 복호화된 단말 인증용 토큰(Token_B)을 세션키(Key_B)로 암호화하여 서비스 서버(30)로 전송하여 접속을 요청한다(단계 S319). 이때, 단말기(10)는 복호화된 제3난수(R3)로 검증 정보(S)를 암호화하여 서비스 서버(30)로 전송할 수 있다. The terminal 10 encrypts the decrypted terminal authentication token Token_B with the session key (Key_B) and transmits the decrypted terminal authentication token to the service server 30 (step S319). At this time, the terminal 10 can encrypt the verification information S with the decrypted third random number R3 and transmit the encrypted verification information S to the service server 30.

이어서, 서비스 서버(30)는 인증 서버(20)로 세션키(Key_B)를 요청한다(단계 S320). 이때, 서비스 서버(30)는 인증요청자 ID, 즉, 단말기의 ID를 이용하여 세션키(Key_B)를 요청한다. Then, the service server 30 requests the authentication server 20 for a session key (Key_B) (step S320). At this time, the service server 30 requests the session key (Key_B) using the authentication requestor ID, i.e., the ID of the terminal.

세션키(Key_B)를 요청받은 인증 서버(20)는 세션키(Key_B)를 서비스 서버(30)로 전송한다(단계 S321). 이때, 인증 서버(20)는 서비스 서버(30)와 공유된 비밀키인 제2공유키(Key_C)로 세션키(Key_B)를 암호화하여 전송할 수 있다. The authentication server 20 having received the session key (Key_B) transmits the session key (Key_B) to the service server 30 (step S321). At this time, the authentication server 20 can encrypt the session key (Key_B) with the second shared key (Key_C), which is a secret key shared with the service server (30).

암호화된 세션키(Key_B)를 수신한 서비스 서버(30)는 제2공유키(Key_C)를 이용하여 암호화된 단말 인증용 토큰(Token_B)을 복호화하고, 제2공유키(Key_C)로 복호화하여 단말기(10)를 검증한다(단계 S322). Upon receiving the encrypted session key (Key_B), the service server (30) decrypts the encrypted terminal authentication token (Token_B) using the second shared key (Key_C) (Step S322).

즉, 서비스 서버(30)는 복호화된 단말 인증용 토큰(Token_B)의 세부내용을 모두 확인할 수 있다. 따라서, 서비스 서버(20)는 인증 서버(20)가 발생한 것과 동일한 것인지의 여부에 따라 단말기(10)를 인증할 수 있다. That is, the service server 30 can confirm all details of the decrypted terminal authentication token (Token_B). Accordingly, the service server 20 can authenticate the terminal 10 according to whether or not the authentication server 20 is the same as the one generated.

이때, 서비스 서버(20)는 복호화된 단말 인증용 토큰(Token_B)이 인증 서버(20)가 발행한 단말 인증용 토큰(Token_B)과 상이한 경우, 단말기(10)로 단말 검증 실패를 통지할 수 있다(단계 S322'). At this time, if the decrypted terminal authentication token (Token_B) is different from the terminal authentication token (Token_B) issued by the authentication server 20, the service server 20 can notify the terminal 10 of the terminal verification failure (Step S322 ').

여기서, 서비스 서버(30)는 단말 인증용 토큰(Token_B)의 실제 내용을 알 수 있기 때문에, 단말 인증용 토큰(Token_B)로부터 제3난수(R3)를 획득할 수 있다. 또한, 서비스 서버(30)는 제2공유키(Key_C)를 이용하여 세션키(Key_B)를 복호화할 수 있다. Here, since the service server 30 can know the actual content of the terminal authentication token Token_B, the service server 30 can obtain the third random number R3 from the terminal authentication token Token_B. Also, the service server 30 may decrypt the session key (Key_B) using the second shared key (Key_C).

이어서, 서비스 서버(30)는 이와 같이 획득된 제3난수(R3)와 인증 서버(20)로부터 수신한 세션키(Key_B)를 이용하여 제2세션키(Key_D)를 생성한다(단계 S323). Subsequently, the service server 30 generates a second session key (Key_D) using the third random number R3 thus obtained and the session key (Key_B) received from the authentication server 20 (step S323).

서비스 서버(30)는 생성된 제2세션키(Key_D)로 검증 정보(S)를 복호화한다(단계 S324).The service server 30 decrypts the verification information S with the generated second session key (Key_D) (step S324).

이어서, 서비스 서버(30)는 생성된 제2세션키(Key_D)로 데이터를 암호화하여 단말기(10)로 전송한다(단계 S325). 이때, 서비스 서버(30)는 복호화된 정보로부터 연산된 정보(S-1)를 산출하고, 연산된 정보(S-1)를 제2세션키(Key_D)로 암호화하여 데이터와 함께 전송할 수 있다. Then, the service server 30 encrypts the data with the generated second session key (Key_D) and transmits the encrypted data to the terminal 10 (step S325). At this time, the service server 30 may calculate the information S-1 calculated from the decrypted information, encrypt the information S-1 with the second session key Key_D, and transmit the information S-1 together with the data.

단말기(10)는 제2세션키(Key_D)로 연산된 정보(S-1)를 복호화하여 이전에 발송된 검증 정보의 유무를 확인하여 서비스 서버(30)의 검증을 수행한다(단계 S326). 이와 함께, 단말기(10)는 제2세션키(Key_D)로 데이터를 복호화하여 데이터를 확인할 수 있다. The terminal 10 decrypts the information S-1 calculated by the second session key (Key_D) to verify the presence or absence of the previously transmitted verification information, and performs verification of the service server 30 (step S326). At the same time, the terminal 10 can decrypt the data with the second session key (Key_D) to confirm the data.

이와 같은 방법에 의해, 서비스 서버와 구분하여 인증 서버를 구성한 경우에도 단말기(10)와 인증 서버(20) 사이의 양방향 인증 및 단말기(10)와 서비스 서버(30) 사이의 검증을 신속하고 안정적으로 수행할 수 있다. In this way, even when the authentication server is configured separately from the service server, bidirectional authentication between the terminal 10 and the authentication server 20 and verification between the terminal 10 and the service server 30 can be performed quickly and stably Can be performed.

상기와 같은 방법들은 도 1 및 도 3에 도시된 바와 같은 양방향 인증 시스템에 의해 구현될 수 있고, 특히, 이러한 단계들을 수행하는 소프트웨어 프로그램으로 구현될 수 있으며, 이 경우, 이러한 프로그램들은 컴퓨터 판독가능한 기록 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다. Such methods may be implemented by a two-way authentication system as shown in FIGS. 1 and 3, and in particular as a software program that performs these steps, in which case these programs may be stored in a computer- Transmitted by a computer data signal stored in a medium or coupled to a carrier wave in a transmission medium or a communication network.

이 때, 컴퓨터 판독 가능한 기록 매체는 컴퓨터 시스템에 의해 판독가능한 데이터가 저장되는 모든 종류의 기록 장치를 포함하며, 예를 들면, ROM, RAM, CD-ROM, DVD-ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크, 광 데이터 저장장치 등일 수 있다. At this time, the computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. For example, ROM, RAM, CD-ROM, DVD-ROM, DVD- , A floppy disk, a hard disk, an optical data storage device, and the like.

이상에서 본 발명의 일 실시예에 대하여 설명하였으나, 본 발명의 사상은 본 명세서에 제시되는 실시 예에 제한되지 아니하며, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서, 구성요소의 부가, 변경, 삭제, 추가 등에 의해서 다른 실시 예를 용이하게 제안할 수 있을 것이나, 이 또한 본 발명의 사상범위 내에 든다고 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

10 : 단말기 20 : 서버, 인증 서버
30 : 서비스 서버
10: terminal 20: server, authentication server
30: service server

Claims (14)

단말기가 자신의 비밀키로 암호화하여 생성된 서버 인증용 토큰을 공유키에 의해 생성된 동적키로 암호화하고 서버로 전송하여 서비스를 요청하는 단계;
상기 서버가 상기 단말기로부터 수신된 서버 인증용 토큰을 상기 공유키에 의해 생성된 동적키로 복호화한 후, 상기 공유키 및 상기 동적키에 의해 생성된 세션키로 암호화하며, 상기 서버 자신의 비밀키로 암호화하여 생성된 단말 인증용 토큰을 상기 생성된 동적키로 암호화하여 상기 세션키로 암호화된 서버 인증용 토큰과 함께 상기 단말기로 전송하여 서버 인증을 요청하는 단계;
상기 단말기가 상기 서버로부터 수신된 서버 인증용 토큰을 상기 공유키 및 상기 동적키를 이용하여 생성된 세션키로 복호화한 후, 상기 단말기 자신의 비밀키로 복호화하여 상기 서버를 인증하는 단계;
상기 단말기가 상기 서버로부터 수신된 단말 인증용 토큰을 상기 동적키로 복호화한 후, 상기 생성된 세션키로 암호화하며, 상기 서버로 전송하여 단말 인증을 요청하는 단계; 및
상기 서버가 상기 단말기로부터 수신된 단말 인증용 토큰을 상기 동적키로 복호화한 후, 상기 서버 자신의 비밀키로 복호화하여 상기 단말기를 인증하는 단계;를 포함하는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법.
Encrypting the server authentication token generated by the terminal with its own secret key using the dynamic key generated by the shared key, and transmitting the encrypted token to the server to request the service;
The server decrypts the server authentication token received from the terminal with the dynamic key generated by the shared key and then encrypts the shared key and the session key generated by the dynamic key using the secret key of the server itself Encrypting the generated terminal authentication token with the generated dynamic key, and transmitting the authentication result to the terminal together with the server authentication token encrypted with the session key to request server authentication;
Decrypting the server authentication token received from the server with the shared key and the session key generated using the dynamic key, and then decrypting the decrypted server key with the secret key of the terminal to authenticate the server;
Decrypting the terminal authentication token received from the server with the dynamic key, encrypting the terminal with the generated session key, and transmitting the encrypted session key to the server to request terminal authentication; And
And decrypting the terminal authentication token received from the terminal with the dynamic key and decrypting the decrypted token with the secret key of the server using the dynamic key to authenticate the terminal.
제1항에 있어서,
상기 동적키는 상기 서버와 상기 단말기 사이에 공유된 동적키 생성 알고리즘 및 공유키에 의해 생성되는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법.
The method according to claim 1,
Wherein the dynamic key is a dynamic key generation algorithm shared between the server and the terminal and a symmetric key based security token generated by a shared key.
제1항에 있어서,
상기 서비스를 요청하는 단계 및 상기 단말 인증을 요청하는 단계는 서로 상이한 난수를 상기 동적키로 암호화하여 전송하는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법.
The method according to claim 1,
Wherein the step of requesting the service and the step of requesting the terminal authentication are performed by encrypting a random number different from each other with the dynamic key and transmitting the same.
제3항에 있어서,
상기 세션키는 상기 서로 상이한 난수를 더 이용하여 생성되는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법.
The method of claim 3,
Wherein the session key is generated by using a different random number than the symmetric key based security token.
제1항에 있어서,
상기 서비스 요청시 상기 단말기의 ID를 전송하는 단계;
상기 단말 인증 요청시 상기 단말기의 ID를 상기 동적키로 암호화하여 전송하는 단계; 및
상기 암호화된 단말기의 ID를 복호화하여 상기 서버를 인증하는 단계를 더 포함하는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법.
The method according to claim 1,
Transmitting an ID of the terminal when the service is requested;
Encrypting the ID of the terminal with the dynamic key and transmitting the encrypted ID; And
And authenticating the server by decrypting the ID of the encrypted terminal by using the secret key.
제1항에 있어서,
상기 공유키는 인증요청자 보안키(ARSK)인 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법.
The method according to claim 1,
Wherein the shared key is an authentication supplicant security key (ARSK), which is a symmetric key based security token.
제6항에 있어서,
상기 단말기가 사물인터넷(IoT) 디바이스인 경우, 상기 인증요청자 보안키(ARSK)는 상기 서버 및 상기 단말기에 저장되어 공유되는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법.
The method according to claim 6,
Wherein the authentication requestor security key (ARSK) is stored and shared in the server and the terminal when the terminal is an Internet Internet (IoT) device.
제6항에 있어서,
상기 단말기가 사용자 단말기인 경우, 상기 인증요청자 보안키(ARSK)는 상기 서버에만 저장되며 상기 단말기에는 저장되지 않고 지식기반으로 상기 동적키 생성시 입력되는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법.
The method according to claim 6,
Wherein the authentication requestor security key (ARSK) is stored only in the server and is not stored in the terminal, when the terminal is a user terminal, and is input when generating the dynamic key using a knowledge base, using the symmetric key based security token.
제8항에 있어서,
상기 인증요청자 보안키(ARSK)는 비밀번호 및 지문 중 적어도 하나를 포함하는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법.
9. The method of claim 8,
Wherein the authentication requestor security key (ARSK) is a symmetric key based security token comprising at least one of a password and a fingerprint.
제1항에 있어서,
상기 서버는 서비스 서버와 인증 서버를 포함하며,
상기 단계들은 상기 인증 서버와 상기 단말기 사이에서 수행되고,
상기 단말 인증용 토큰은 상기 인증 서버와 상기 서비스 서버 사이에 공유된 제2공유키로 암호화되어 생성되며,
상기 단말기가 상기 복호화된 상기 단말 인증용 토큰을 상기 생성된 세션키로 암호화하고, 상기 서비스 서버로 전송하여 접속을 요청하는 단계; 및
상기 서비스 서버가 상기 단말기로부터 수신된 단말 인증용 토큰을 상기 인증 서버로부터 수신된 세션키로 복호화한 후, 상기 제2공유키로 복호화하여 상기 단말기를 인증하는 단계;를 더 포함하는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법.
The method according to claim 1,
Wherein the server includes a service server and an authentication server,
Wherein the steps are performed between the authentication server and the terminal,
Wherein the terminal authentication token is generated by being encrypted with a second shared key shared between the authentication server and the service server,
Encrypting the decrypted terminal authentication token with the generated session key, and transmitting the decrypted terminal authentication token to the service server to request a connection; And
And decrypting the terminal authentication token received from the terminal with the session key received from the authentication server and then decrypting the decrypted terminal with the second shared key to authenticate the terminal, Way authentication method using.
제10항에 있어서,
상기 서비스 서버가 상기 인증 서버로 상기 세션키를 요청하는 단계; 및
상기 인증 서버가 상기 세션키를 상기 제2공유키로 암호화하여 상기 서비스 서버로 전송하는 단계를 더 포함하는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법.
11. The method of claim 10,
The service server requesting the session key from the authentication server; And
And the authentication server encrypts the session key with the second shared key and transmits the encrypted session key to the service server.
제10항에 있어서,
상기 접속 요청시 상기 세션키 및 상기 단말 인증용 토큰에 포함된 제3난수에 의해 생성된 제2세션키로 암호화된 검증 정보를 상기 서비스 서버로 전송하는 단계;
상기 서비스 서버가 상기 복호화된 단말 인증용 토큰으로부터 상기 제3난수를 획득하고, 상기 세션키 및 상기 제3난수로 상기 제2세션키를 생성하고, 상기 검증 정보를 상기 제2세션키로 복호화하는 단계;
상기 복호화된 검증 정보로부터 연산된 정보를 상기 제2세션키로 암호화하여 상기 단말기로 전송하는 단계; 및
상기 단말기가 상기 연산된 정보를 상기 제2세션키로 복호화하여 상기 서비스 서버를 확인하는 단계;를 더 포함하는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법.
11. The method of claim 10,
Transmitting verification information encrypted with a second session key generated by a third random number included in the session key and the terminal authentication token to the service server when the connection request is made;
The service server obtaining the third random number from the decrypted terminal authentication token, generating the second session key with the session key and the third random number, and decrypting the verification information with the second session key ;
Encrypting information calculated from the decrypted verification information with the second session key and transmitting the encrypted information to the terminal; And
And decrypting the calculated information by the terminal with the second session key to identify the service server. ≪ RTI ID = 0.0 > [10] < / RTI >
비밀키로 암호화하여 생성된 서버 인증용 토큰을 공유키에 의해 생성된 동적키로 암호화하고 서버로 전송하여 서비스를 요청하는 단계;
상기 요청에 따라 상기 서버로부터 세션키로 암호화된 서버 인증용 토큰을 수신하고, 상기 공유키 및 상기 생성된 동적키를 이용하여 상기 세션키를 생성하며, 상기 수신된 서버 인증용 토큰을 상기 생성된 세션키로 복호화한 후, 상기 비밀키로 복호화하여 상기 서버를 인증하는 단계; 및
상기 서버로부터 암호화된 단말 인증용 토큰을 수신하여 상기 동적키로 복호화한 후, 상기 세션키로 암호화하며, 상기 서버가 단말기를 인증하도록 상기 암호화된 단말 인증용 토큰을 상기 서버로 전송하는 단계;를 포함하는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법.
Encrypting the server authentication token generated by encrypting with the secret key using the dynamic key generated by the shared key, and transmitting the encrypted token to the server to request the service;
Receiving the server authentication token encrypted with the session key from the server according to the request, generating the session key using the shared key and the generated dynamic key, and transmitting the received server authentication token to the generated session Authenticating the server by decrypting the decrypted data using the secret key; And
Receiving the encrypted terminal authentication token from the server, decrypting the encrypted terminal authentication token with the dynamic key, encrypting the encrypted with the session key, and transmitting the encrypted terminal authentication token to the server so that the server authenticates the terminal A two - way authentication method using a symmetric key - based security token.
단말기로부터 서비스 요청에 따라 수신된 서버 인증용 토큰을 공유키에 의해 생성된 동적키로 복호화한 후, 상기 공유키 및 상기 동적키에 의해 생성된 세션키로 암호화하며, 비밀키로 암호화하여 생성된 단말 인증용 토큰을 상기 생성된 동적키로 암호화하여 상기 세션키로 암호화된 서버 인증용 토큰과 함께 상기 단말기로 전송하여 서버 인증을 요청하는 단계; 및
상기 단말기에서 서버 인증 후 단말 인증 요청에 따라 상기 세션키로 암호화된 단말 인증용 토큰을 수신하여 상기 생성된 동적키로 복호화한 후, 상기 비밀키로 복호화하여 상기 단말기를 인증하는 단계;를 포함하는 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법.
The server authentication token received in response to the service request from the terminal is decrypted with the dynamic key generated by the shared key and then encrypted using the shared key and the session key generated by the dynamic key, Encrypting the token with the generated dynamic key, and transmitting the encrypted token to the terminal together with the server authentication token encrypted with the session key to request server authentication; And
Receiving a terminal authentication token encrypted with the session key according to a terminal authentication request after server authentication in the terminal, decrypting the terminal authentication token using the generated dynamic key, and decrypting the decrypted terminal with the secret key to authenticate the terminal; Way authentication method using security token.
KR1020160037924A 2016-03-29 2016-03-29 Bidirectional authentication method using security token based on symmetric key Withdrawn KR20170111809A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160037924A KR20170111809A (en) 2016-03-29 2016-03-29 Bidirectional authentication method using security token based on symmetric key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160037924A KR20170111809A (en) 2016-03-29 2016-03-29 Bidirectional authentication method using security token based on symmetric key

Publications (1)

Publication Number Publication Date
KR20170111809A true KR20170111809A (en) 2017-10-12

Family

ID=60139989

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160037924A Withdrawn KR20170111809A (en) 2016-03-29 2016-03-29 Bidirectional authentication method using security token based on symmetric key

Country Status (1)

Country Link
KR (1) KR20170111809A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115426116A (en) * 2022-08-26 2022-12-02 中国人民解放军国防科技大学 A Cryptographic Hash Jump Method Based on Dynamic Key
WO2024085728A1 (en) * 2022-10-21 2024-04-25 삼성전자 주식회사 Electronic device, and method for uploading data from external electronic device to electronic device
US20240311505A1 (en) * 2023-03-17 2024-09-19 Habu Inc. Techniques for securely executing attested code in a collaborative environment
CN120281488A (en) * 2025-06-10 2025-07-08 中国标准化研究院 SPA single-packet authentication method based on quantum cryptography

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115426116A (en) * 2022-08-26 2022-12-02 中国人民解放军国防科技大学 A Cryptographic Hash Jump Method Based on Dynamic Key
CN115426116B (en) * 2022-08-26 2024-05-03 中国人民解放军国防科技大学 A dynamic key-based encryption hashing method
WO2024085728A1 (en) * 2022-10-21 2024-04-25 삼성전자 주식회사 Electronic device, and method for uploading data from external electronic device to electronic device
US20240311505A1 (en) * 2023-03-17 2024-09-19 Habu Inc. Techniques for securely executing attested code in a collaborative environment
CN120281488A (en) * 2025-06-10 2025-07-08 中国标准化研究院 SPA single-packet authentication method based on quantum cryptography

Similar Documents

Publication Publication Date Title
US9847882B2 (en) Multiple factor authentication in an identity certificate service
CN102217277B (en) Method and system for token-based authentication
US8327143B2 (en) Techniques to provide access point authentication for wireless network
US9197420B2 (en) Using information in a digital certificate to authenticate a network of a wireless access point
JP5860815B2 (en) System and method for enforcing computer policy
JP2005102163A (en) Device authentication system, device authentication server, terminal device, device authentication method, device authentication program, and storage medium
KR102591826B1 (en) Apparatus and method for authenticating device based on certificate using physical unclonable function
EP4096147A1 (en) Secure enclave implementation of proxied cryptographic keys
CN119484898B (en) Encrypted video playing method and device, storage medium and computer equipment
WO2022135388A1 (en) Identity authentication method and apparatus, device, chip, storage medium, and program
KR20170111809A (en) Bidirectional authentication method using security token based on symmetric key
CN106576050B (en) Three-tier security and computing architecture
KR100853448B1 (en) Domain-based Mobile Agent Authentication System and Its Authentication Method
CN112437436A (en) Identity authentication method and device
CN112261103A (en) Node access method and related equipment
KR101962349B1 (en) Consolidated Authentication Method based on Certificate
KR101893758B1 (en) System and method for monitoring leakage of internal information through analyzing encrypted traffic
KR20020040378A (en) Method for Authentication without Password Transmission on the basis of Public Key
CN108960385A (en) Two dimensional code generation and verification method and system based on the encryption of multiple code key
JP2009104509A (en) Terminal authentication system and terminal authentication method
CN119382888B (en) User authentication method, intelligent service system, device, medium, and program
JP2015111440A (en) Method and apparatus for trusted authentication and log-on
CN119232487B (en) Device registration method, device and medium, registration server, authentication server
KR101490638B1 (en) Method of authenticating smart card, server performing the same and system performint the same
Weber et al. How to Prevent Misuse of IoTAG?

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20160329

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination