KR102146940B1 - 토큰 위변조 검증 방법 - Google Patents
토큰 위변조 검증 방법 Download PDFInfo
- Publication number
- KR102146940B1 KR102146940B1 KR1020200032037A KR20200032037A KR102146940B1 KR 102146940 B1 KR102146940 B1 KR 102146940B1 KR 1020200032037 A KR1020200032037 A KR 1020200032037A KR 20200032037 A KR20200032037 A KR 20200032037A KR 102146940 B1 KR102146940 B1 KR 102146940B1
- Authority
- KR
- South Korea
- Prior art keywords
- token
- user terminal
- management server
- service
- hash
- 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/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 토큰 위변조 검증 방법을 제공한다. 상기 토큰 위변조 검증 방법은, (a) 서비스 제공 서버에서 사용자 단말기로부터 수신한 토큰 요청, 상기 사용자 단말기의 이용환경과 관련된 식별 보조키, 및 회원정보를 토큰 관리 서버로 전달하는 단계, (b) 상기 토큰 관리 서버에서 상기 식별 보조키와 상기 회원정보를 이용하여 토큰을 생성하는 단계, (c) 상기 토큰 관리 서버에서 상기 토큰을 저장하고, 상기 사용자 단말기에 상기 토큰을 전달하는 단계, (d) 상기 서비스 제공 서버에서 상기 사용자 단말기로부터 서비스 요청 데이터셋을 수신하여 상기 토큰 관리 서버에 전달하는 단계, (e) 상기 토큰 관리 서버에서 상기 서비스 요청 데이터셋에 포함된 쿠키 정보를 기초로 수신된 데이터의 정합성을 판단하는 단계, 및 (f) 상기 수신된 데이터의 정합성이 인정되는 경우, 상기 서비스 제공 서버에서 상기 서비스 요청 데이터셋에 포함된 요청 파라미터와 관련된 서비스를 상기 사용자 단말기에 제공하는 단계를 포함하되, 상기 쿠키 정보는, 토큰, 상기 사용자 단말기의 식별 보조키, 및 회원정보를 포함한다.
Description
본 발명은 토큰 위변조 검증 방법에 관한 것이다. 구체적으로는, 사용자 인증에 필요한 정보의 위변조 여부를 검증할 수 있는 토큰 위변조 검증 방법에 관한 것이다.
네트워크가 발전함에 따라 사용자들은 인터넷에 접속하여 자신이 필요로 하는 다양한 정보를 획득할 수 있다. 이때, 서비스 제공자는 사용자의 회원등급 또는 이용권한에 따라, 이에 대응되는 서비스를 사용자에게 제공할 수 있다.
서비스 제공자로부터 특정 서비스를 제공받기 위해, 사용자는 사용자 인증을 통하여 자신이 해당 서비스를 이용할 수 있는 권한이 있음을 확인받아야 한다.
다만, 네트워크 기술의 발전과 함께 해킹 기술 역시 발전하고 있으므로, 사용자 인증에 필요한 정보를 위변조 또는 탈취함으로써, 사용자의 권한이 필요한 서비스를 타인이 도용하는 일이 발생될 수 있다.
이를 위해, 서비스 제공자는 사용자에게 서비스를 제공할 때마다 사용자 인증을 수행함으로써 시스템의 보안성을 높일 수 있으나, 이 경우 사용자가 서비스를 이용할때마다 매번 인증을 수행해야 하므로 이용편의성이 낮아지는 문제가 있었다.
또한, 사용자 인증을 위해 서비스 제공자는 사용자 인증을 위한 정보를 보관하여야 하므로, 이용자의 수가 증가할수록 서버에 인가되는 부하가 증가되는 문제가 있었다.
본 발명이 해결하려는 과제는, 사용자 인증에 필요한 정보의 위변조 여부를 쉽게 검증할 수 있으며, 머클트리 알고리즘을 이용함으로써 위변조의 난이도를 높여 시스템 보안을 향상시킬 수 있는 토큰 위변조 검증 방법을 제공하는 것이다.
본 발명이 해결하려는 다른 과제는, 사용자 인증에 필요한 사용자 정보를 클라이언트 측에 보관하게 함으로써, 서비스 제공자의 서버에 인가되는 부하를 감소시킬 수 있는 토큰 위변조 검증 방법을 제공하는 것이다.
본 발명이 해결하려는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 실시예에 따른 사용자 단말기와 연계된 서비스 제공 서버 및 토큰 관리 서버에서 수행되는 토큰 위변조 검증 방법의 일 면(aspect)은, (a) 상기 서비스 제공 서버에서 상기 사용자 단말기로부터 수신한 토큰 요청, 상기 사용자 단말기의 이용환경과 관련된 식별 보조키, 및 회원정보를 상기 토큰 관리 서버로 전달하는 단계, (b) 상기 토큰 관리 서버에서 상기 식별 보조키와 상기 회원정보를 이용하여 토큰을 생성하는 단계, (c) 상기 토큰 관리 서버에서 상기 토큰을 저장하고, 상기 사용자 단말기에 상기 토큰을 전달하는 단계, (d) 상기 서비스 제공 서버에서 상기 사용자 단말기로부터 서비스 요청 데이터셋을 수신하여 상기 토큰 관리 서버에 전달하는 단계, (e) 상기 토큰 관리 서버에서 상기 서비스 요청 데이터셋에 포함된 쿠키 정보를 기초로 수신된 데이터의 정합성을 판단하는 단계, 및 (f) 상기 수신된 데이터의 정합성이 인정되는 경우, 상기 서비스 제공 서버에서 상기 서비스 요청 데이터셋에 포함된 요청 파라미터와 관련된 서비스를 상기 사용자 단말기에 제공하는 단계를 포함하되, 상기 쿠키 정보는, 토큰, 상기 사용자 단말기의 식별 보조키, 및 회원정보를 포함한다.
또한, 상기 (b) 단계는, 상기 토큰 관리 서버에서 램덤하게 생성되는 복호화 방해키를 도출하고, 상기 복호화 방해키, 상기 (a) 단계에서 수신한 상기 식별 보조키 및 상기 회원정보를 이용하여 상기 토큰을 생성하는 것을 포함할 수 있다.
또한, 상기 (b) 단계는, 상기 복호화 방해키, 상기 식별 보조키 및 상기 회원정보를 기초로 해시(hash)값을 도출하고, 상기 해시값을 기초로 머클루트해시를 생성하며, 상기 머클루트해시, 상기 복호화 방해키, 상기 식별 보조키, 및 상기 회원정보을 구분자로 연결한 평문 인증토큰을 생성하고, 상기 평문 인증토큰을 암호화하여 상기 토큰을 생성하는 것을 포함할 수 있다.
또한, 상기 (b) 단계는, 상기 토큰을 생성하는데 이용되는 데이터가 홀수개인 경우, 상기 복호화 방해키 또는 더미 데이터를 추가로 이용하여 상기 토큰을 생성하는 것을 포함할 수 있다.
또한, 상기 회원정보는, 상기 사용자 단말기의 사용자와 관련된 회원번호, 회원 닉네임, 회원권한, 또는 기타 회원데이터를 포함하고, 상기 토큰 관리 서버는, 데이터베이스에 상기 복호화 방해키, 상기 식별 보조키, 및 상기 회원정보를 사용자 계정별로 구분하여 저장 및 관리할 수 있다.
또한, 상기 식별 보조키는, 상기 사용자 단말기의 아이피 주소(IP address) 또는 접속 브라우저의 UA(user agent) 값을 포함할 수 있다.
또한, 상기 (e) 단계는, 상기 서비스 요청 데이터셋에 포함된 토큰을 복호화하여 평문 인증토큰을 도출하고, 상기 평문 인증토큰에서 구분자를 통해 구분된 데이터와, 상기 쿠키 정보에 포함된 데이터의 일치여부를 판단하고, 상기 구분된 데이터를 기초로 토큰 머클루트해시를 생성하고, 생성된 상기 토큰 머클루트해시와 상기 평문 인증 토큰에 포함된 머클루트해시의 일치여부를 판단하는 것을 포함할 수 있다.
또한, 상기 (e) 단계는, 상기 서비스 요청 데이터셋에 포함된 토큰의 암호를 복호화하여 평문 인증토큰을 도출하고, 상기 평문 인증토큰에서 식별 보조키를 추출하여, 상기 서비스 요청 데이터셋의 헤더부에 포함된 식별 보조키와의 일치여부를 판단하는 것을 포함할 수 있다.
또한, 상기 (e) 단계는, 상기 식별 보조키가 일치하지 않는 경우, 사용자 인증 실패로 판단하고, 상기 식별 보조키가 일치하는 경우, 상기 평문 인증 토큰에 포함된 복호화 방해키, 식별 보조키 및 회원정보를 기초로 토큰 머클루트해시를 생성하고, 생성된 상기 토큰 머클루트해시와 상기 평문 인증 토큰에 포함된 머클루트해시의 일치여부를 판단하여, 일치하는 경우 사용자 인증 성공으로 판단하는 것을 포함할 수 있다.
상기 과제를 해결하기 위한 본 발명의 실시예에 따른 사용자 단말기와 연계된 서비스 제공 서버 및 토큰 관리 서버에서 수행되는 토큰 위변조 검증 방법의 다른 면은, (a) 상기 서비스 제공 서버에서 상기 사용자 단말기로부터 서비스 요청 데이터셋을 수신하여 상기 토큰 관리 서버에 전달하는 단계, (b) 상기 토큰 관리 서버에서 상기 서비스 요청 데이터셋의 헤더부에 포함된 토큰, 식별 보조키, 및 회원정보를 기초로 수신된 데이터의 정합성을 판단하는 단계, 및 (c) 상기 수신된 데이터의 정합성이 인정되는 경우, 상기 서비스 제공 서버에서 상기 서비스 요청 데이터셋의 바디부에 포함된 요청 파라미터와 관련된 서비스를 상기 사용자 단말기에 제공하는 단계를 포함하되, 상기 토큰은, 상기 헤더부에 포함된 데이터를 기초로 머클트리 알고리즘을 이용하여 형성된 머클루트해시를 포함한다.
또한, 상기 (b) 단계는, 상기 토큰에서 구분자를 통해 구분된 데이터와, 상기 헤더부에 포함된 데이터의 일치여부를 판단하고, 상기 구분된 데이터를 기초로 토큰 머클루트해시를 생성하고, 생성된 상기 토큰 머클루트해시와 상기 토큰에 포함된 상기 머클루트해시의 일치여부를 판단하는 것을 포함할 수 있다.
또한, 상기 (b) 단계는, 상기 토큰에서 식별 보조키를 추출하여, 상기 서비스 요청 데이터셋의 상기 헤더부에 포함된 상기 식별 보조키와의 일치여부를 판단하는 것을 포함할 수 있다.
또한, 상기 (b) 단계는, 상기 식별 보조키가 일치하지 않는 경우, 사용자 인증 실패로 판단하고, 상기 식별 보조키가 일치하는 경우, 상기 헤더부에 포함된 데이터를 기초로 상기 머클트리 알고리즘을 이용하여 토큰 머클루트해시를 생성하고, 생성된 상기 토큰 머클루트해시와 상기 토큰에 포함된 머클루트해시의 일치여부를 판단하여, 일치하는 경우 사용자 인증 성공으로 판단하는 것을 포함할 수 있다.
본 발명의 토큰 위변조 검증 방법은, 머클트리 알고리즘을 이용하여 생성된 토큰을 이용하여 사용자의 서비스 요청에 대한 정합성을 검증함으로써, 악의적인 사용자가 사용자 인증에 필요한 정보들을 위변조 또는 탈취함으로써 발생할 수 있는 사고를 미연에 방지할 수 있다.
또한, 본 발명의 토큰 위변조 검증 방법은, 사용자의 정합성 검증에 필요한 사용자 정보를 사용자가 보관하며, 사용자가 서비스 이용 요청시 데이터셋에 해당 사용자 정보를 포함시킴으로써, 서비스 제공자의 서버가 모든 사용자의 사용자 정보를 저장 및 관리함으로써 발생되는 부하를 감소시킬 수 있다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 실시예들에 따른 토큰 위변조 검증 시스템을 설명하기 위한 개략도이다.
도 2는 본 발명의 몇몇 실시예들에 따른 토큰 위변조 검증 시스템에서 수행되는 토큰 위변조 검증 방법을 설명하기 위한 순서도이다.
도 3은 도 2의 사용자 단말기에서 서비스 제공 서버에 제공하는 서비스 요청 데이터셋을 나타내는 블럭도이다.
도 4는 도 2의 사용자 인증 단계에서 토큰 관리 서버의 동작을 설명하기 위한 순서도이다.
도 5는 도 4의 S250 단계에서 머클루트해시를 생성하는 과정을 설명하기 위한 블럭도다.
도 6은 도 4에서 토큰이 생성되는 과정을 개략적으로 설명하기 위한 개념도이다.
도 7은 도 2의 S170 단계에서 토큰의 정합성을 검증하는 방법을 구체적으로 설명하기 위한 순서도이다.
도 8은 도 7의 토큰의 정합성을 검증하는 방법에 대한 일 예를 설명하기 위한 순서도이다.
도 9는 도 8에서 사용자의 정합성이 검증되는 과정을 개략적으로 설명하기 위한 개념도이다.
도 2는 본 발명의 몇몇 실시예들에 따른 토큰 위변조 검증 시스템에서 수행되는 토큰 위변조 검증 방법을 설명하기 위한 순서도이다.
도 3은 도 2의 사용자 단말기에서 서비스 제공 서버에 제공하는 서비스 요청 데이터셋을 나타내는 블럭도이다.
도 4는 도 2의 사용자 인증 단계에서 토큰 관리 서버의 동작을 설명하기 위한 순서도이다.
도 5는 도 4의 S250 단계에서 머클루트해시를 생성하는 과정을 설명하기 위한 블럭도다.
도 6은 도 4에서 토큰이 생성되는 과정을 개략적으로 설명하기 위한 개념도이다.
도 7은 도 2의 S170 단계에서 토큰의 정합성을 검증하는 방법을 구체적으로 설명하기 위한 순서도이다.
도 8은 도 7의 토큰의 정합성을 검증하는 방법에 대한 일 예를 설명하기 위한 순서도이다.
도 9는 도 8에서 사용자의 정합성이 검증되는 과정을 개략적으로 설명하기 위한 개념도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 '사용자 단말기'는 다음에 따라 데이터를 조작할 수 있는 임의의 기계, 장치, 회로, 구성 요소 또는 모듈, 또는 임의의 기계, 장치, 회로, 구성 요소, 모듈 등의 시스템을 의미한다. 예를 들어, 프로세서, 마이크로 프로세서, 중앙 처리 장치, 범용 컴퓨터, 클라우드, 슈퍼 컴퓨터, 개인용 컴퓨터, 랩톱 컴퓨터, 팜탑 컴퓨터, 모바일 장치, 태블릿 컴퓨터, 노트북 컴퓨터, 데스크탑 컴퓨터, 워크 스테이션 컴퓨터, 서버 등, 또는 프로세서, 마이크로 프로세서, 중앙 처리 장치, 범용 컴퓨터, 슈퍼 컴퓨터, 개인용 컴퓨터, 랩톱 컴퓨터, 팜탑 컴퓨터, 모바일 장치, 태블릿 컴퓨터, 노트북 컴퓨터, 데스크탑 컴퓨터, 워크 스테이션 컴퓨터, 서버 등 을 포함할 수 있다.
본 명세서에서 사용되는 '서버'는 클라이언트-서버 아키텍처의 일부로서 연결된 클라이언트들에 대한 서비스를 수행하기위한 적어도 하나의 애플리케이션 및/또는 적어도 하나의 컴퓨터를 포함하는 소프트웨어 및/또는 하드웨어의 임의의 조합을 의미한다. 적어도 하나의 서버 애플리케이션은 예를 들어, 클라이언트로 응답을 다시 전송함으로써 클라이언트로부터의 서비스 요청에 대한 연결을 수락할 수 있는 애플리케이션 프로그램을 포함할 수 있지만, 이에 제한되지는 않는다. 서버는 최소한의 사람의 지시로 장시간 동안 무인 워크로드 하에서 적어도 하나의 애플리케이션을 실행하도록 구성될 수 있습니다. 서버는 복수의 컴퓨터를 포함할 수 있으며, 적어도 하나의 애플리케이션은 워크로드에 따라 컴퓨터들 간에 분할된다. 예를 들어 간단한 로드 중 하나 이상의 응용 프로그램이 단일 컴퓨터에서 실행될 수 있다. 그러나, 로드량이 많은 경우 하나 이상의 응용 프로그램을 실행하려면 여러 대의 컴퓨터가 필요할 수 있다. 서버 또는 해당 컴퓨터가 있는 경우 워크 스테이션으로도 이용할 수 있다.
본 명세서에서 사용되는 '데이터베이스'는 적어도 하나의 애플리케이션 및/또는 적어도 하나의 컴퓨터를 포함하는 소프트웨어 및/또는 하드웨어의 임의의 조합을 의미한다. 데이터베이스는 구조화된 기록 모음 또는 데이터 모델에 따라 구성된 데이터를 포함할 수 있다. 데이터 모델은 예를 들어, 관계형 모델, 계층적 모델, 네트워크 모델 등이 포함될 수 있으며, 위에 적힌 모델들로 제한되지 않는다. 데이터베이스는 기술에서 알려진 대로 데이터베이스 관리 시스템 애플리케이션(DBMS)을 포함할 수 있다. 최소한 하나의 애플리케이션은, 예를 들어, 클라이언트로부터의 서비스 요청에 대한 연결을 수신할 수 있는 애플리케이션 프로그램을 포함할 수 있지만, 이에 한정되는 것은 아니다. 데이터베이스는 최소한의 사람 지시에 의해 장시간 무인으로, 종종 많은 업무량 하에서 적어도 하나의 애플리케이션을 실행하도록 구성될 수 있다.
본 명세서에서 사용되는 '네트워크'는, 예를 들어, 근거리 통신망 (LAN), 광역 통신망 (WAN), 대도시 통신망 (MAN), 및 개인 영역 네트워크(PAN), 캠퍼스 영역 네트워크, 회사 영역 네트워크, 글로벌 영역 네트워크(GAN), 광대역 영역 네트워크(BAN), 셀룰러 네트워크, 인터넷, 클라우드 네트워크 등, 또는 전술 한 것의 임의의 조합으로써, 무선 및/또는 유선 통신 매체. 이러한 네트워크는 TCP/IP, IRC로 제한되지 않는 다양한 프로토콜을 실행할 수 있다.
또한, 본 발명의 실시예에 따른 프로세스 단계, 방법 단계, 알고리즘 등이 순차적으로 설명될 수 있지만, 이러한 프로세스, 방법 및 알고리즘은 교대 순서대로 동작하도록 구성될 수 있다. 다시 말해서, 설명될 수 있는 임의의 순서 또는 단계 순서는 반드시 단계들이 그 순서로 수행되어야 한다는 요구사항을 나타내는 것은 아니다. 반드시 단계를 순서대로 수행할 요구 사항을 표시하지 않습니다. 본 명세서에 기술된 프로세스, 방법 및 알고리즘의 단계는 임의의 순서로 수행될 수 있다. 또한, 일부 단계들이 동시에 수행될 수 있다.
단일 장치 또는 물품이 본 명세서에 기술될 때, 하나 이상의 장치 또는 물품이 단일 장치 또는 물품 대신 사용될 수 있다. 유사하게, 하나의 장치 또는 물품이 본 명세서에 기술되는 경우, 하나 이상의 장치 또는 물품이 하나의 장치 또는 물품 대신 사용될 수 있다. 장치의 기능 또는 특징은 대안적으로 그러한 기능 또는 특징을 갖는 것으로 명시되지 않은 하나 이상의 다른 장치에 의해 구현될 수 있다.
서버에 명령 시퀀스를 전달하는데 다양한 형태의 '컴퓨터 판독 가능 저장 매체'가 포함될 수 있다. 예를 들어, 명령 시퀀스 (i)는 RAM에서 프로세서로 전달될 수 있고, (ii) 무선 전송 매체를 통해 전달될 수 있으며, (iii) WiFi, WiMAX, IEEE 802.11, DECT, 0G, 1G, 2G, 3G, 4G 및 5G 셀룰러 표준, 블루투스 등을 포함하여 기타 다양한 형식, 기준 또는 프로토콜에 따라 형식화 될 수 있다.
위에서 사용되는 '컴퓨터 판독 가능 저장 매체'는 컴퓨터에 의해 판독될 수 있는 데이터(예를 들어, 명령)를 제공하는데 참여하는 임의의 매체를 의미한다. 이러한 매체는 비휘발성 매체, 휘발성 매체 및 전송 매체를 포함하여 많은 형태를 취할 수 있다. 비휘발성 매체는 예를 들어, 광학 또는 자기 디스크 및 기타 영구 메모리. 휘발성 매체는 동적 랜덤 액세스 메모리 (DRAM)를 포함할 수 있다. 전송 매체는 시스템 버스를 구성하는 와이어를 포함하여 동축 케이블, 구리 와이어 및 광섬유를 포함할 수 있다. 전송 매체는 무선 주파수 (RF) 및 적외선 (IR) 데이터 통신 동안 발생된 것과 같은 음향 파, 광파 및 전자기 방출을 포함하거나 전달할 수 있다. 컴퓨터 판독가능 매체의 일반적인 형태는, 예를 들어 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, CD-ROM, DVD, 임의의 다른 광학 매체, 펀치 카드, 종이 테이프, 구멍 패턴을 갖는 임의의 다른 물리적 매체, RAM, PROM, EPROM, FLASH-EEPROM, 기타 메모리 칩 또는 카트리지, 여기에 기술된 반송파 또는 컴퓨터가 읽을 수 있는 기타 매체 등을 포함할 수 있다. 컴퓨터 판독가능 매체에는 "클라우드"가 포함될 수 있으며, 여기에는 여러 대의(예: 수천 대의) 컴퓨터 상에서 여러 대의(예: 수천 대의) 메모리 캐시에 걸쳐 파일을 배포하는 것이 포함된다.
이하, 도 1 내지 도 9를 참조하여 본 발명의 몇몇 실시예들에 따른 토큰 위변조 검증 시스템 및 토큰 위변조 검증 방법에 대해 설명하도록 한다.
도 1은 본 발명의 실시예들에 따른 토큰 위변조 검증 시스템을 설명하기 위한 개략도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 토큰 위변조 검증 시스템(10)은, 서비스 제공 서버(100), 토큰 관리 서버(200) 및 회원정보 데이터베이스(250)(이하, 회원정보 DB)를 포함한다. 토큰 위변조 검증 시스템(10)은 사용자 단말기(300)와 연계되어 동작할 수 있다.
본 발명의 실시예에 따른 서비스 제공 서버(100)는 사용자 단말기(300)에 사용자의 권한이 필요한 다양한 서비스를 제공한다. 예를 들어, 서비스 제공 서버(100)는 사용자 단말기(300)에 금융 서비스, 검색 서비스, 컨텐츠 제공 서비스 등의 다양한 서비스를 제공할 수 있다.
사용자 단말기(300)는 서비스 제공 서버(100)로부터 제공받은 서비스에 대한 정보를 화면에 표시한다. 이를 위해, 사용자 단말기(300)는 요청하고자 하는 서비스 종류 및 서비스에 대한 이용권원을 검증하기 위한 정보를 포함하는 '서비스 요청 데이터셋'을 서비스 제공 서버(100)에 전송할 수 있다. 서비스 제공 서버(100)가 사용자 단말기(300)로부터 수신하는 서비스 요청 데이터셋에 대한 구체적인 내용은 이하에서 후술하도록 한다.
이어서, 서비스 제공 서버(100)는 수신된 서비스 요청 데이터셋을 토큰 관리 서버(200)에 전달한다.
토큰 관리 서버(200)는 서비스 요청 데이터셋에 포함된 쿠키 정보(cookie information)를 기초로 사용자 권원의 정합성을 판단한다. 즉, 토큰 관리 서버(200)는 수신된 서비스 요청 데이터셋에 위변조가 발생되었는지 여부를 판단한다.
여기에서, 쿠키 정보는 토큰(token), 사용자 단말기(300)의 식별 보조키, 및 회원정보를 포함한다.
구체적으로, 쿠키 정보에 포함된 토큰은 서비스 제공 서버(100)에서 사용자가 요청한 데이터의 위변조 여부 또는 사용자가 적합한 권원을 갖는지 여부를 확인하는데 이용된다.
토큰은 임의로 생성된 복호화 방해키, 사용자 단말기(300)의 식별 보조키, 및 회원정보를 기초로 머클트리 알고리즘(Merkle Tree algorithm)을 이용하여 생성될 수 있다.
이때, 식별 보조키는 사용자 단말기(300)의 사용환경에 따라 아이피 주소(IP address) 또는 접속 브라우저의 UA(user agent) 값이 이용될 수 있다. 예를 들어, 사용자 단말기(300)가 데스크탑인 경우 식별 보조키는 아이피 주소가 될 수 있다. 다른 예로, 사용자 단말기(300)가 휴대폰 단말기인 경우 식별 보조키는 접속 브라우저(예를 들어, 크롬, 익스플로러, 사파리 등)의 UA(user agent) 값이 될 수 있다. 다만, 이는 하나의 예시일뿐 본 발명이 이에 한정되는 것은 아니다.
또한, 회원정보는 사용자 단말기(300)를 이용하는 사용자와 관련된 회원번호, 회원 닉네임, 회원권한, 또는 기타 회원데이터를 포함할 수 있다.
토큰 관리 서버(200)에서 수행되는 토큰의 생성방법 및 토큰을 이용한 서비스 요청 데이터셋의 정합성 판단방법은 이하에서 자세히 후술하도록 한다.
회원정보 DB(250)는 사용자와 관련된 정보를 데이터베이스화하여 저장 및 관리한다. 회원정보 DB(250)는 사용자 계정별로 사용자와 관련된 정보를 구분 저장 및 관리한다. 이때, 사용자와 관련된 정보는, 사용자의 회원정보(예를 들어, 로그인 아이디, 패스워드, 회원번호, 회원 닉네임, 회원권한, 또는 기타 회원데이터 등), 사용자의 식별 보조키, 사용자에게 할당된 복호화 방해키 및 사용자의 정보를 기초로 생성된 토큰이 포함될 수 있다.
회원정보 DB(250)는 토큰 관리 서버(200)와 연동되어 동작하며, 토큰 관리 서버(200)와 일체로 형성되거나, 분리되어 형성될 수 있다.
또한, 도 1에서 서비스 제공 서버(100)와 토큰 관리 서버(200)는 서로 다른 서버로 분리되도록 표시하였으나, 본 발명이 이에 한정되는 것은 아니며, 토큰 위변조 검증 시스템의 구성은 다양하게 변경되어 실시될 수 있다.
예를 들어, 전술한 서비스 제공 서버(100)와 토큰 관리 서버(200)는 각각 모듈로써 구현되어 하나의 서버에 포함되도록 구성될 수 있다. 이때, 회원정보 DB(250)도 동일한 서버에 포함되도록 구성될 수 있다.
이하에서는, 본 발명의 실시예의 토큰 위변조 검증 시스템(10)에서 수행되는 토큰 위변조 검증 방법에 대해 자세히 설명하도록 한다.
도 2는 본 발명의 몇몇 실시예들에 따른 토큰 위변조 검증 시스템에서 수행되는 토큰 위변조 검증 방법을 설명하기 위한 순서도이다. 도 3은 도 2의 사용자 단말기에서 서비스 제공 서버에 제공하는 서비스 요청 데이터셋을 나타내는 블럭도이다.
우선, 도 2를 참조하면, 본 발명의 몇몇 실시예들에 따른 토큰 위변조 검증 방법에 따르면, 서비스 제공 서버(100)는 사용자 단말기(300)로부터 사용자 인증 요청 및 토큰 요청을 수신한다(S110). 이때, 서비스 제공 서버(100)는 사용자 단말기(300)로부터 회원정보를 수신할 수 있다.
사용자 단말기(300)의 사용자는 서비스 제공 서버(100)에 이미 회원가입이 된 사용자이거나, 서비스 제공 서버(100)에 사용자 등록을 원하는 사용자일 수 있다. 두 경우, 모두 서비스 제공 서버(100)는 사용자 단말기(300)로부터 사용자에 대한 회원정보를 수신할 수 있다.
여기에서, 회원정보는 회원 아이디, 회원 패스워드, 회원번호, 회원 닉네임, 회원권한, 및 기타 회원데이터를 포함할 수 있다. 다만, 수신되는 회원정보는 실시예에 따라 다르게 구성될 수 있다.
또한, 서비스 제공 서버(100)는 사용자 단말기(300)의 이용환경에 따른 데이터를 기초로 식별 보조키를 생성한다. 여기에서, 식별 보조키는 전술한 바와 같이 사용자 단말기(300)의 사용환경에 따라 아이피 주소(IP address) 또는 접속 브라우저의 UA(user agent) 값으로 설정될 수 있다.
이어서, 토큰 관리 서버(200)는 서비스 제공 서버(100)로부터 전달받은 회원정보를 기초로 사용자 단말기(300)의 사용자에 대한 인증과 해당 사용자에게 미리 발급된 토큰이 있는지 여부를 판단한다(S125). 이때, 사용자에 대한 인증은 수신된 회원정보에 포함된 데이터(예를 들어, 회원 아이디 및 회원 패스워드)를 이용하여 사용자 정보의 일치여부를 판단할 수 있다.
이어서, 인증된 사용자에게 미리 발급된 토큰이 있는 경우, 토큰 관리 서버(200)는 서비스 제공 서버(100)를 통하여 미리 저장된 토큰을 사용자 단말기(300)에 전달할 수 있다.
반면, 미리 발급된 토큰이 없는 경우, 토큰 관리 서버(200)는 해당 사용자를 시스템에 신규가입하는 사용자로 간주하고 새로 토큰을 생성한다(S135). 이때, 토큰 관리 서버(200)는 서비스 제공 서버(100)로부터 수신한 식별 보조키, 및 회원정보를 기초로 머클트리 알고리즘을 이용하여 토큰을 생성한다. 이에 대한 자세한 내용은 이하에서 후술한다.
이때, 토큰 관리 서버(200)는 회원정보 DB(250)에 사용자와 관련된 데이터를 별도의 사용자 계정으로 구분하여 저장하여 관리할 수 있다.
이어서, 토큰 관리 서버(200)는 사용자 인증 결과 및 토큰을 서비스 제공 서버(100)에 전달한다(S140).
이어서, 서비스 제공 서버(100)는 전달받은 사용자 인증 결과 및 토큰을 사용자 단말기(300)에 전달한다(S145).
전술한 S110 내지 S145 단계는 사용자 인증 단계에 해당한다. 다만, 위 단계에서 토큰 유무를 판단하는 단계는 생략되어 실시될 수 있으며, 이 경우 토큰 관리 서버(200)는 사용자 인증이 완료된 경우 새로운 토큰을 생성하여 서비스 제공 서버(100)에 전달할 수 있다.
한편, 사용자 단말기(300)는 특정 권한이 필요한 서비스의 이용을 위해 서비스 제공 서버(100)에 서비스 요청을 전송한다(S150). 이때, 사용자 단말기(300)는 특정 서비스 이용에 필요한 요청 파라미터 데이터 뿐만 아니라, 사용자에게 해당 서비스를 이용한 권한이 있음을 입증할 수 있는 쿠키 정보를 함께 보낼 수 있다.
구체적으로, 사용자 단말기(300)는 서비스 제공 서버(100)에 특정 서비스의 요청을 위해 '서비스 요청 데이터셋(DS)'을 전송한다.
도 3을 참조하면, 사용자 단말기(300)에서 전송하는 서비스 요청 데이터셋(DS)은, 헤더부(HD)와 바디부(DB)로 구분된다.
여기에서, 바디부(DB)는 사용자 단말기(300)에서 요청하는 요청 파라미터 데이터가 포함되는 데이터 영역에 해당한다.
또한, 헤더부(HD)는 해당 서비스의 이용권원이 있음을 입증하기 위한 쿠키 정보를 포함하되, 상기 쿠키 정보는 사용자 단말기(300)가 보유한 토큰, 식별 보조키, 및 회원 정보를 포함할 수 있다. 이때, 식별 보조키 및 회원 정보는 위 토큰이 위변조 되었는지 여부(즉, 토큰의 정합성)을 판단하는데 이용될 수 있다.
즉, 본 발명에서 사용자 단말기(300)는 자신이 해당 서비스에 대한 이용권한이 있음을 입증하는데 필요한 데이터를 서비스 요청시에 서비스 제공 서버(100)에 함께 전송한다.
따라서, 사용자 단말기(300)는 사용자가 요청하는 서비스에 대한 정합성의 검증에 필요한 정보를 사용자가 보관하며, 특정 서비스가 필요할 때마다 필요한 정보를 서비스 제공 서버(100)에 함께 전송하게 된다. 이를 통해, 서비스 제공 서버(100)는 사용자 권한인증에 필요한 사용자의 정보를 저장 및 관리함으로써 발생되는 부하를 감소시킬 수 있다.
다시, 도 2를 참조하면, 서비스 제공 서버(100)는 사용자 단말기(300)로부터 수신한 서비스 요청 데이터셋(DS)에 포함된 토큰의 정합성을 검사하기 위해 서비스 요청 데이터셋(DS)을 토큰 관리 서버(200)에 전달한다(S160).
이어서, 토큰 관리 서버(200)는 수신된 서비스 요청 데이터셋(DS)의 정합성을 판단한다(S170). 서비스 요청 데이터셋(DS)에 포함된 토큰의 정합성을 판단하는 구체적인 방법은 이하에서 자세히 설명하도록 한다.
이어서, 토큰 관리 서버(200)는 토큰의 정합성에 대한 판단 결과를 서비스 제공 서버(100)에 전달한다(S175).
이어서, 토큰의 정합성이 인정된 경우, 서비스 제공 서버(100)는 사용자 단말기(300)에서 요청한 서비스를 처리한다(S180).
이어서, 서비스 제공 서버(100)는 처리된 서비스에 대한 처리 결과(예를 들어, 요청 데이터, 식별값 등)를 사용자 단말기(300)에 전송한다(S190).
전술한 S150 내지 S190 단계는 서비스 제공 단계에 해당한다. 이를 통해, 본 발명의 토큰 위변조 검증 시스템(10)은 토큰을 이용하여 사용자의 서비스 요청에 대한 정합성을 검증함으로써, 악의적인 사용자가 사용자 인증에 필요한 정보들을 위변조 또는 탈취함으로써 발생할 수 있는 사고를 미연에 방지할 수 있다.
이하에서는, 도 4 내지 도 6을 참조하여 토큰 관리 서버(200)에서 사용자 인증 및 토큰을 생성하는 방법에 대해 자세히 설명하도록 한다.
도 4는 도 2의 사용자 인증 단계에서 토큰 관리 서버의 동작을 설명하기 위한 순서도이다. 도 5는 도 4의 S250 단계에서 머클루트해시를 생성하는 과정을 설명하기 위한 블럭도다. 도 6은 도 4에서 토큰이 생성되는 과정을 개략적으로 설명하기 위한 개념도이다. 이하에서는, 전술한 내용과 중복되는 내용은 생략하여 설명하도록 한다.
도 4를 참조하면, 토큰 관리 서버(200)는 서비스 제공 서버(100)로부터 사용자 인증 및 토큰 생성 요청을 수신한다(S210). 추가적으로, 토큰 관리 서버(200)는 서비스 제공 서버(100)로부터 토큰 유무 판정에 대한 요청을 더 수신할 수 있다. 다만, 이하에서는 토큰 유무 판정에 대한 요청 없이 토큰 관리 서버(200)에서 토큰을 생성하는 과정을 예로 들어 설명하도록 한다.
이어서, 토큰 관리 서버(200)는 서비스 제공 서버(100)로부터 사용자 단말기(300)의 식별 보조키 및 회원정보를 수신한다(S220). 이때, 식별 보조키는 사용자 단말기(300)의 사용환경에 따라 아이피 주소(IP address) 또는 접속 브라우저의 UA(user agent) 값이 이용될 수 있다. 또한, 회원정보는 사용자의 로그인 아이디, 패스워드, 회원번호, 회원 닉네임, 회원권한, 또는 기타 회원데이터를 포함할 수 있다.
이어서, 토큰 관리 서버(200)는 수신된 회원정보를 기초로 사용자의 일치여부를 판단한다(S230). 이때, 토큰 관리 서버(200)는 회원정보 DB(250)를 참조하여, 사용자 단말기(300)로부터 수신한 회원정보와 회원정보 DB(250)에 미리 등록된 회원정보가 일치하는지 여부를 판단한다. 즉, 토큰 관리 서버(200)는 사용자가 미리 시스템에 가입된 회원인지 여부를 판단한다.
예를 들어, 토큰 관리 서버(200)는 수신된 사용자의 패스워드와 미리 등록된 사용자의 패스워드가 일치하는지 여부를 기초로, 사용자의 일치여부를 판단한다(S230).
이어서, 사용자가 일치하는 경우, 토큰 관리 서버(200)는 복호화 방해키를 생성한다(S240). 여기에서, 복호화 방해키는 토큰 생성시 토큰 관리 서버(200)에서 랜덤하게 생성되어 이용되는 값이다. 즉, 복호화 방해키는 인증토큰 생성시마다 랜덤하게 생성되기에 머클트리 알고리즘을 이용한 최종 해시값(즉, 머클루트해시(Merkle Root hash))을 매번 다르게 하기 위한 값으로 토큰의 위변조 난이도를 높이고, 보안성을 강화하기 위해 이용될 수 있다.
이어서, 토큰 관리 서버(200)는 머클트리 알고리즘을 이용하여 머클루트해시를 생성한다(S250).
구체적으로, 도 5를 참조하면, 토큰 관리 서버(200)는 생성된 복호화 방해키, 사용자 단말기(300)로부터 수신된 식별 보조키, 및 회원정보(예를 들어, 회원번호, 회원 닉네임, 회원 권한, 기타 회원데이터)를 기초로 각각 해시값을 도출한다. 이때, 토큰 관리 서버(200)는 SHA(Secure Hash Algorithm) 함수를 이용하여 각각의 해시값을 도출할 수 있다. SHA 함수에는 SHA-0, SHA-1, SHA256/224, SHA512/384 알고리즘이 포함될 수 있다. 다만, 이는 하나의 예시에 불과하며 해시값을 도출하는데 이용되는 알고리즘은 다양하게 변형되어 이용될 수 있다.
예를 들어, 토큰 관리 서버(200)는 제1 데이터(복호화 방해키)에 대한 제1 해시값(Hash 1), 제2 데이터(식별 보조키)에 대한 제2 해시값(Hash 2), 제3 데이터(회원번호)에 대한 제3 해시값(Hash 3), 제4 데이터(회원 닉네임)에 대한 제4 해시값(Hash 4), 제5 데이터(회원권한)에 대한 제5 해시값(Hash 5), 제6 데이터(기타 회원데이터)에 대한 제6 해시값(Hash 6), 제7 및 제8 데이터(예를 들어, 회원 권한, 기타 회원 데이터 또는 더미 데이터)에 대한 제7 해시값(Hash 7) 및 제8 해시값(Hash 8)을 생성할 수 있다.
이어서, 토큰 관리 서버(200)는 제1 해시값(Hash 1)과 제2 해시값(Hash 2)을 이용하여 제1 결합 해시값(Hash 12)을 생성할 수 있으며, 마찬가지의 방법으로 제2 결합 해시값(Hash 34), 제3 결합 해시값(Hash 56), 제4 결합 해시값(Hash 78)을 생성할 수 있다.
이어서, 토큰 관리 서버(200)는 제1 결합 해시값(Hash 12)과 제2 결합 해시값(Hash 34)을 이용하여 제1 상위 해시값(Hash 1234)을 생성할 수 있으며, 마찬가지의 방법으로 제2 상위 해시값(Hash 5678)을 생성할 수 있다.
이어서, 토큰 관리 서버(200)는 제1 상위 해시값(Hash 1234) 및 제2 상위 해시값(Hash 5678)을 이용하여 머클루트해시(Merkle Root Hash)(MRH)를 생성할 수 있다.
이때, 각각의 해시값은 각각 동일한 비트수로 구성될 수 있다. 즉, 전술한 해시값을 도출하는 알고리즘은 임의의 데이터를 고정된 길이의 데이터로 맵핑하는 기능을 수행한다.
부가적으로, 머클루트해시(MRH)를 생성하는데 필요한 데이터의 수가 홀수개(즉, 2n-1(여기에서 n은 자연수))인 경우, 토큰 관리 서버(200)는 복호화 방해키 또는 더미 데이터를 추가로 이용할 수 있다. 즉, 토큰 관리 서버(200)는 머클루트해시(MRH)를 생성하는데 필요한 데이터의 수를 짝수개(즉, 2n(여기에서 n은 자연수))로 조정하는 단계를 추가적으로 수행할 수 있다.
이어서, 도 4 및 도 6을 참조하면, 토큰 관리 서버(200)는 생성된 머클루트해시(MRH)를 포함하는 평문 인증토큰을 생성한다(S260, S310). 여기에서, 평문 인증토큰은 머클루트해시(MRH)와 데이터 1 내지 데이터 8 사이에 '구분자'를 삽입한 토큰을 의미한다. 즉, 평문 인증토큰 내에서 머클루트해시(MRH)와 데이터 1 내지 데이터 8은 구분자로 구분된다. 이때, 구분자는 특수문자(예를 들어, $, %, #, @) 또는 미리 정해진 문자로 이용될 수 있다.
이어서, 토큰 관리 서버(200)는 평문 인증토큰을 암호화하여 토큰을 생성한다(S270). 평문 인증토큰을 암호화하기 위해 토큰 관리 서버(200)는 대칭키 암호화 알고리즘 또는 비대칭키 암호화 알고리즘을 이용하여 토큰을 암호화할 수 있다(S320). 이때, 토큰 관리 서버(200)는 다양한 방식으로 암호화에 이용되는 키를 생성하여 이용할 수 있으며, 암호화에 이용되는 공개키(또는, 비밀키)는 사용자마다 다르게 설정되어 회원정보 DB(250)에 저장될 수 있다.
이어서, 토큰 관리 서버(200)는 생성된 암호화 인증토큰(즉, 사용자 단말기(300)에 전달되는 토큰)을 사용자 인증 결과와 함께 서비스 제공 서버(100)에 전달한다(S280).
이어서, 사용자 인증이 성공한 경우, 서비스 제공 서버(100)는 사용자 인증 성공에 관한 메시지와 함께 토큰 관리 서버(200)로부터 전달받은 토큰을 사용자 단말기(300)에 전달한다. 반면, 사용자 인증이 실패한 경우, 서비스 제공 서버(100)는 사용자 인증 실패에 관한 메시지를 사용자 단말기(300)에 전달한다.
이를 통해, 사용자 단말기(300)는 서비스 요청에 필요한 토큰을 취득할 수 있다. 사용자 단말기(300)는 수신된 토큰을 스토리지에 쿠키(cookie) 형태로 보관하여 이용할 수 있다. 즉, 수신된 토큰은 쿠키 정보에 포함되어 사용자 단말기(300)의 저장매체에 저장되어 이용될 수 있다.
이하에서는, 수신된 토큰을 이용하여 사용자 단말기(300)가 권한이 필요한 서비스의 처리를 요청하는 경우, 토큰 관리 서버(200)의 토큰의 정합성을 판단하는 방법에 대해 구체적으로 설명하도록 한다.
도 7은 도 2의 S170 단계에서 토큰의 정합성을 검증하는 방법을 구체적으로 설명하기 위한 순서도이다.
도 7을 참조하면, 토큰 관리 서버(200)는 서비스 제공 서버(100)로부터 전달받은 서비스 요청 데이터셋(DS)을 통해 쿠키 정보를 수신한다(S410). 여기에서, 쿠키 정보는 도 3을 참조하여 전술한 서비스 요청 데이터셋(DS)의 헤더부에 포함된 쿠키 정보를 의미한다. 토큰 관리 서버(200)는 서비스 제공 서버(100)로부터 사용자 단말기(300)가 송신한 서비스 요청 데이터셋(DS)를 수신할 수 있으며, 서비스 요청 데이터셋(DS)에서 쿠키 정보를 추출하여 이용할 수 있다.
이어서, 토큰 관리 서버(200)는 쿠키 정보에서 토큰을 추출한다(S420). 여기에서, 쿠키 정보에 포함된 토큰은 도 6의 암호화된 인증토큰에 대응된다. 또한, 토큰 관리 서버(200)는 쿠키 정보에 포함된 식별 보조키 및 회원정보도 함게 추출한다.
이어서, 토큰 관리 서버(200)는 추출된 토큰(즉, 암호화된 인증토큰)을 복호화한다(S430). 이때, 토큰 관리 서버(200)는 회원정보 DB(250)에 미리 저장된 공개키(또는, 비밀키)를 이용하여 암호화된 인증토큰을 복호화할 수 있다.
이어서, 토큰 관리 서버(200)는 복호화된 토큰을 구성하는 데이터가 사용자 단말기(300)로부터 수신한 서비스 요청 데이터셋(DS)의 쿠키 정보에 포함된 데이터와 일치하는지 여부를 판단한다(S440). 여기에서 쿠키 정보에 포함된 데이터는, 식별 보조키 또는 회원정보(예를 들어, 회원번호, 회원 닉네임, 회원 권한, 기타 회원데이터)가 될 수 있다. 이는 복호화된 토큰에 대한 1차 검증 과정에 해당한다.
이어서, 토큰을 구성하는 데이터와 서비스 요청 데이터셋(DS)의 쿠키 정보에 포함된 데이터가 서로 다른 경우, 토큰 관리 서버(200)는 사용자 인증을 실패로 판단한다(S475).
반면, 토큰을 구성하는 데이터와 서비스 요청 데이터셋(DS)의 쿠키 정보에 포함된 데이터가 같은 경우, 토큰 관리 서버(200)는 복호화된 토큰을 구성하는 데이터(예를 들어, 도 6의 데이터 1 내지 데이터 8)을 기초로 토큰 머클루트해시(TMRH)를 생성한다(S450). 이때, 토큰 관리 서버(200)는 도 5를 참조하여 전술한 머클루트 알고리즘을 이용한다.
부가적으로, 본 발명의 다른 실시예에서, 토큰 관리 서버(200)는 사용자 계정에 미리 저장된 사용자의 회원정보 및 복호화 방해키와 사용자 단말기(300)로부터 수신된 식별 보조키를 이용하여 토큰 머클루트해시(TMRH)를 생성할 수 있다. 다만, 이하에서는 설명의 편의를 위하여, 복호화된 토큰을 구성하는 데이터를 기초로 토큰 머클루트해시(TMRH)를 생성하는 것을 예로 들어 설명하도록 한다.
이어서, 토큰 관리 서버(200)는 생성된 토큰 머클루트해시(TMRH)와 복호화된 토큰에 포함된 머클루트해시(MRH)의 일치여부를 판단한다(S460). 이는 복호화된 토큰에 대한 2차 검증 과정에 해당한다.
이어서, 토큰 머클루트해시(TMRH)와 머클루트해시(MRH)가 서로 다른 경우, 토큰 관리 서버(200)는 사용자 인증을 실패로 판단한다(S475).
반면, 토큰 머클루트해시(TMRH)와 머클루트해시(MRH)가 일치하는 경우, 토큰 관리 서버(200)는 사용자 인증을 성공으로 판단한다(S470).
이어서, 토큰 관리 서버(200)는 서비스 제공 서버(100)에 사용자 인증 결과를 통보한다(S480).
이어서, 사용자 인증 결과과 성공인 경우, 서비스 제공 서버(100)는 서비스 요청 데이터셋(DS)에 포함된 요청 파라미터 데이터에 대응되는 서비스를 사용자 단말기(300)에 제공한다.
반면, 사용자 인증 결과가 실패인 경우, 서비스 제공 서버(100)는 서비스 제공 불가 및 사용자 인증 실패에 대한 메시지를 사용자 단말기(300)에 제공할 수 있다.
도 8은 도 7의 토큰의 정합성을 검증하는 방법에 대한 일 예를 설명하기 위한 순서도이다. 도 9는 도 8에서 사용자의 정합성이 검증되는 과정을 개략적으로 설명하기 위한 개념도이다. 이하에서는 전술한 내용과 중복되는 내용은 생략하고, 차이점을 위주로 설명하도록 한다.
도 8 및 도 9를 참조하면, 토큰 관리 서버(200)는 서비스 제공 서버(100)로부터 전달받은 서비스 요청 데이터셋(DS)에 포함된 쿠키 정보를 수신한다(S510).
이어서, 토큰 관리 서버(200)는 쿠키 정보에서 토큰(즉, 암호화된 인증토큰)을 추출한다(S520, S610). 또한, 토큰 관리 서버(200)는 쿠키 정보에 포함된 식별 보조키 및 회원정보도 함게 추출한다.
이어서, 토큰 관리 서버(200)는 추출된 토큰(즉, 암호화된 인증토큰)을 복호화한다(S530. S620). 이때, 토큰 관리 서버(200)는 회원정보 DB(250)에 미리 저장된 공개키(또는, 비밀키)를 이용하여 암호화된 인증토큰을 복호화할 수 있다.
이때, 복호화된 인증토큰은 평문 인증토큰에 해당한다(S630). 평문 인증토큰은 머클루트해시(MRH)와, 구분자로 구분된 복수의 데이터로 구성될 수 있다.
이어서, 토큰 관리 서버(200)는 복호화된 토큰에 포함된 식별 보조키가 사용자 단말기(300)로부터 수신한 서비스 요청 데이터셋(DS)의 쿠키 정보에 포함된 식별 보조키와 일치하는지 여부를 판단한다(S540). 즉, 토큰 관리 서버(200)는 현재 사용자 단말기(300)의 사용환경에 따른 아이피 주소 또는 UA값과, 사용자 인증 당시 사용자 단말기(300)의 사용환경에 따른 아이피 주소 또는 UA값의 일치여부를 판단한다.
이는 복호화된 토큰에 대한 1차 검증 과정에 해당한다(S650).
이어서, 토큰을 구성하는 식별 보조키와, 서비스 요청 데이터셋(DS)의 쿠키 정보에 포함된 식별 보조키가 서로 다른 경우, 토큰 관리 서버(200)는 사용자 인증을 실패로 판단한다(S575).
반면, 토큰을 구성하는 식별 보조키와 서비스 요청 데이터셋(DS)의 쿠키 정보에 포함된 식별 보조키가 같은 경우, 토큰 관리 서버(200)는 평문 인증토큰을 구성하는 데이터(예를 들어, 도 9의 데이터 1 내지 데이터 8)을 기초로 토큰 머클루트해시(TMRH)를 생성한다(S550, S650). 이때, 토큰 관리 서버(200)는 머클트리 알고리즘을 이용하여 토큰 머클루트해시(TMRH)를 생성한다.
부가적으로, 본 발명의 다른 실시예에서, 토큰 관리 서버(200)는 사용자 계정에 미리 저장된 사용자의 복호화 방해키 및 회원정보와, 사용자 단말기(300)로부터 수신된 식별 보조키를 이용하여 토큰 머클루트해시(TMRH)를 생성할 수 있다. 다만, 이하에서는 설명의 편의를 위하여, 복호화된 토큰을 구성하는 데이터 1 내지 8를 기초로 토큰 머클루트해시(TMRH)를 생성하는 것을 예로 들어 설명하도록 한다.
이어서, 토큰 관리 서버(200)는 생성된 토큰 머클루트해시(TMRH)와 복호화된 평문 인증토큰에 포함된 머클루트해시(MRH)의 일치여부를 판단한다(S560). 이는 복호화된 평문 인증토큰에 대한 2차 검증 과정에 해당한다(S660).
이어서, 토큰 머클루트해시(TMRH)와 머클루트해시(MRH)가 서로 다른 경우, 토큰 관리 서버(200)는 사용자 인증을 실패로 판단한다(S575).
반면, 토큰 머클루트해시(TMRH)와 머클루트해시(MRH)가 일치하는 경우, 토큰 관리 서버(200)는 사용자 인증을 성공으로 판단한다(S570).
이어서, 토큰 관리 서버(200)는 서비스 제공 서버(100)에 사용자 인증 결과를 통보한다(S580).
이어서, 사용자 인증 결과과 성공인 경우, 서비스 제공 서버(100)는 서비스 요청 데이터셋(DS)에 포함된 요청 파라미터 데이터에 대응되는 서비스를 사용자 단말기(300)에 제공한다.
반면, 사용자 인증 결과가 실패인 경우, 서비스 제공 서버(100)는 서비스 제공 불가 및 사용자 인증 실패에 대한 메시지를 사용자 단말기(300)에 제공할 수 있다.
이를 통해, 본 발명의 실시예에 따른 토큰 위변조 검증 방법은, 사용자 단말기(300)로부터 수신된 서비스 요청 데이터셋(DS)에 포함된 토큰을 이용하여 사용자의 서비스 요청에 대한 정합성을 검증함으로써, 악의적인 사용자가 사용자 인증에 필요한 정보들을 위변조 또는 탈취함으로써 발생할 수 있는 사고를 미연에 방지할 수 있다.
또한, 본 발명의 토큰 위변조 검증 방법은, 사용자의 정합성 검증에 필요한 사용자 정보를 사용자가 서비스 이용 요청시 제공하는 서비스 요청 데이터셋(DS)에 포함시킴으로써, 서비스 제공 서버(100)가 모든 사용자의 사용자 정보를 저장 및 관리하지 않아도 되므로, 시스템의 부하를 감소시킬 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 서비스 제공 서버
200: 토큰 관리 서버
300: 사용자 단말기
200: 토큰 관리 서버
300: 사용자 단말기
Claims (13)
- 사용자 단말기와 연계된 서비스 제공 서버 및 토큰 관리 서버에서 수행되는 토큰 위변조 검증 방법에 있어서,
(a) 상기 서비스 제공 서버에서 상기 사용자 단말기로부터 수신한 토큰 요청, 상기 사용자 단말기의 이용환경과 관련된 식별 보조키, 및 회원정보를 상기 토큰 관리 서버로 전달하는 단계;
(b) 상기 토큰 관리 서버에서 상기 식별 보조키와 상기 회원정보를 이용하여 토큰을 생성하는 단계;
(c) 상기 토큰 관리 서버에서 상기 토큰을 저장하고, 상기 사용자 단말기에 상기 토큰을 전달하는 단계;
(d) 상기 서비스 제공 서버에서 상기 사용자 단말기로부터 서비스 요청 데이터셋을 수신하여 상기 토큰 관리 서버에 전달하는 단계;
(e) 상기 토큰 관리 서버에서 상기 서비스 요청 데이터셋에 포함된 쿠키 정보를 기초로 수신된 데이터의 정합성을 판단하는 단계; 및
(f) 상기 수신된 데이터의 정합성이 인정되는 경우, 상기 서비스 제공 서버에서 상기 서비스 요청 데이터셋에 포함된 요청 파라미터와 관련된 서비스를 상기 사용자 단말기에 제공하는 단계를 포함하되,
상기 쿠키 정보는, 토큰, 상기 사용자 단말기의 식별 보조키, 및 회원정보를 포함하되,
상기 (b) 단계는,
상기 토큰 관리 서버에서 램덤하게 생성되는 복호화 방해키를 도출하고,
상기 복호화 방해키, 상기 (a) 단계에서 수신한 상기 식별 보조키 및 상기 회원정보를 이용하여 상기 토큰을 생성하는 것을 포함하는 토큰 위변조 검증 방법.
- 삭제
- 제1 항에 있어서,
상기 (b) 단계는,
상기 복호화 방해키, 상기 식별 보조키 및 상기 회원정보를 기초로 해시(hash)값을 도출하고, 상기 해시값을 기초로 머클루트해시를 생성하며,
상기 머클루트해시, 상기 복호화 방해키, 상기 식별 보조키, 및 상기 회원정보을 구분자로 연결한 평문 인증토큰을 생성하고,
상기 평문 인증토큰을 암호화하여 상기 토큰을 생성하는 것을 포함하는 토큰 위변조 검증 방법.
- 제1 항에 있어서,
상기 (b) 단계는,
상기 토큰을 생성하는데 이용되는 데이터가 홀수개인 경우, 상기 복호화 방해키 또는 더미 데이터를 추가로 이용하여 상기 토큰을 생성하는 것을 포함하는 토큰 위변조 검증 방법.
- 제1 항에 있어서,
상기 회원정보는, 상기 사용자 단말기의 사용자와 관련된 회원번호, 회원 닉네임, 또는 회원권한을 포함하고,
상기 토큰 관리 서버는, 데이터베이스에 상기 복호화 방해키, 상기 식별 보조키, 및 상기 회원정보를 사용자 계정별로 구분하여 저장 및 관리하는 토큰 위변조 검증 방법.
- 제1 항에 있어서,
상기 식별 보조키는, 상기 사용자 단말기의 아이피 주소(IP address) 또는 접속 브라우저의 UA(user agent) 값을 포함하는 토큰 위변조 검증 방법.
- 사용자 단말기와 연계된 서비스 제공 서버 및 토큰 관리 서버에서 수행되는 토큰 위변조 검증 방법에 있어서,
(a) 상기 서비스 제공 서버에서 상기 사용자 단말기로부터 수신한 토큰 요청, 상기 사용자 단말기의 이용환경과 관련된 식별 보조키, 및 회원정보를 상기 토큰 관리 서버로 전달하는 단계;
(b) 상기 토큰 관리 서버에서 상기 식별 보조키와 상기 회원정보를 이용하여 토큰을 생성하는 단계;
(c) 상기 토큰 관리 서버에서 상기 토큰을 저장하고, 상기 사용자 단말기에 상기 토큰을 전달하는 단계;
(d) 상기 서비스 제공 서버에서 상기 사용자 단말기로부터 서비스 요청 데이터셋을 수신하여 상기 토큰 관리 서버에 전달하는 단계;
(e) 상기 토큰 관리 서버에서 상기 서비스 요청 데이터셋에 포함된 쿠키 정보를 기초로 수신된 데이터의 정합성을 판단하는 단계; 및
(f) 상기 수신된 데이터의 정합성이 인정되는 경우, 상기 서비스 제공 서버에서 상기 서비스 요청 데이터셋에 포함된 요청 파라미터와 관련된 서비스를 상기 사용자 단말기에 제공하는 단계를 포함하되,
상기 쿠키 정보는, 토큰, 상기 사용자 단말기의 식별 보조키, 및 회원정보를 포함하되,
상기 (e) 단계는,
상기 서비스 요청 데이터셋에 포함된 토큰을 복호화하여 평문 인증토큰을 도출하고,
상기 평문 인증토큰에서 구분자를 통해 구분된 데이터와, 상기 쿠키 정보에 포함된 데이터의 일치여부를 판단하고,
상기 구분된 데이터를 기초로 토큰 머클루트해시를 생성하고,
생성된 상기 토큰 머클루트해시와 상기 평문 인증 토큰에 포함된 머클루트해시의 일치여부를 판단하는 것을 포함하는 토큰 위변조 검증 방법.
- 사용자 단말기와 연계된 서비스 제공 서버 및 토큰 관리 서버에서 수행되는 토큰 위변조 검증 방법에 있어서,
(a) 상기 서비스 제공 서버에서 상기 사용자 단말기로부터 수신한 토큰 요청, 상기 사용자 단말기의 이용환경과 관련된 식별 보조키, 및 회원정보를 상기 토큰 관리 서버로 전달하는 단계;
(b) 상기 토큰 관리 서버에서 상기 식별 보조키와 상기 회원정보를 이용하여 토큰을 생성하는 단계;
(c) 상기 토큰 관리 서버에서 상기 토큰을 저장하고, 상기 사용자 단말기에 상기 토큰을 전달하는 단계;
(d) 상기 서비스 제공 서버에서 상기 사용자 단말기로부터 서비스 요청 데이터셋을 수신하여 상기 토큰 관리 서버에 전달하는 단계;
(e) 상기 토큰 관리 서버에서 상기 서비스 요청 데이터셋에 포함된 쿠키 정보를 기초로 수신된 데이터의 정합성을 판단하는 단계; 및
(f) 상기 수신된 데이터의 정합성이 인정되는 경우, 상기 서비스 제공 서버에서 상기 서비스 요청 데이터셋에 포함된 요청 파라미터와 관련된 서비스를 상기 사용자 단말기에 제공하는 단계를 포함하되,
상기 쿠키 정보는, 토큰, 상기 사용자 단말기의 식별 보조키, 및 회원정보를 포함하되,
상기 (e) 단계는,
상기 서비스 요청 데이터셋에 포함된 토큰의 암호를 복호화하여 평문 인증토큰을 도출하고,
상기 평문 인증토큰에서 식별 보조키를 추출하여, 상기 서비스 요청 데이터셋의 헤더부에 포함된 식별 보조키와의 일치여부를 판단하는 것을 포함하는 토큰 위변조 검증 방법.
- 제8 항에 있어서,
상기 (e) 단계는,
상기 식별 보조키가 일치하지 않는 경우, 사용자 인증 실패로 판단하고,
상기 식별 보조키가 일치하는 경우, 상기 평문 인증 토큰에 포함된 복호화 방해키, 식별 보조키 및 회원정보를 기초로 토큰 머클루트해시를 생성하고,
생성된 상기 토큰 머클루트해시와 상기 평문 인증 토큰에 포함된 머클루트해시의 일치여부를 판단하여, 일치하는 경우 사용자 인증 성공으로 판단하는 것을 포함하는 토큰 위변조 검증 방법.
- 삭제
- 사용자 단말기와 연계된 서비스 제공 서버 및 토큰 관리 서버에서 수행되는 토큰 위변조 검증 방법에 있어서.
(a) 상기 서비스 제공 서버에서 상기 사용자 단말기로부터 서비스 요청 데이터셋을 수신하여 상기 토큰 관리 서버에 전달하는 단계;
(b) 상기 토큰 관리 서버에서 상기 서비스 요청 데이터셋의 헤더부에 포함된 토큰, 식별 보조키, 및 회원정보를 기초로 수신된 데이터의 정합성을 판단하는 단계; 및
(c) 상기 수신된 데이터의 정합성이 인정되는 경우, 상기 서비스 제공 서버에서 상기 서비스 요청 데이터셋의 바디부에 포함된 요청 파라미터와 관련된 서비스를 상기 사용자 단말기에 제공하는 단계를 포함하되,
상기 토큰은, 상기 헤더부에 포함된 데이터를 기초로 머클트리 알고리즘을 이용하여 형성된 머클루트해시를 포함하되,
상기 (b) 단계는,
상기 토큰에서 구분자를 통해 구분된 데이터와, 상기 헤더부에 포함된 데이터의 일치여부를 판단하고,
상기 구분된 데이터를 기초로 토큰 머클루트해시를 생성하고,
생성된 상기 토큰 머클루트해시와 상기 토큰에 포함된 상기 머클루트해시의 일치여부를 판단하는 것을 포함하는 토큰 위변조 검증 방법.
- 사용자 단말기와 연계된 서비스 제공 서버 및 토큰 관리 서버에서 수행되는 토큰 위변조 검증 방법에 있어서.
(a) 상기 서비스 제공 서버에서 상기 사용자 단말기로부터 서비스 요청 데이터셋을 수신하여 상기 토큰 관리 서버에 전달하는 단계;
(b) 상기 토큰 관리 서버에서 상기 서비스 요청 데이터셋의 헤더부에 포함된 토큰, 식별 보조키, 및 회원정보를 기초로 수신된 데이터의 정합성을 판단하는 단계; 및
(c) 상기 수신된 데이터의 정합성이 인정되는 경우, 상기 서비스 제공 서버에서 상기 서비스 요청 데이터셋의 바디부에 포함된 요청 파라미터와 관련된 서비스를 상기 사용자 단말기에 제공하는 단계를 포함하되,
상기 토큰은, 상기 헤더부에 포함된 데이터를 기초로 머클트리 알고리즘을 이용하여 형성된 머클루트해시를 포함하되,
상기 (b) 단계는,
상기 토큰에서 식별 보조키를 추출하여, 상기 서비스 요청 데이터셋의 상기 헤더부에 포함된 상기 식별 보조키와의 일치여부를 판단하는 것을 포함하는 토큰 위변조 검증 방법.
- 제12 항에 있어서,
상기 (b) 단계는,
상기 식별 보조키가 일치하지 않는 경우, 사용자 인증 실패로 판단하고,
상기 식별 보조키가 일치하는 경우, 상기 헤더부에 포함된 데이터를 기초로 상기 머클트리 알고리즘을 이용하여 토큰 머클루트해시를 생성하고,
생성된 상기 토큰 머클루트해시와 상기 토큰에 포함된 머클루트해시의 일치여부를 판단하여, 일치하는 경우 사용자 인증 성공으로 판단하는 것을 포함하는 토큰 위변조 검증 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200032037A KR102146940B1 (ko) | 2020-03-16 | 2020-03-16 | 토큰 위변조 검증 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200032037A KR102146940B1 (ko) | 2020-03-16 | 2020-03-16 | 토큰 위변조 검증 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102146940B1 true KR102146940B1 (ko) | 2020-08-24 |
Family
ID=72235387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200032037A KR102146940B1 (ko) | 2020-03-16 | 2020-03-16 | 토큰 위변조 검증 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102146940B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113886796A (zh) * | 2021-10-13 | 2022-01-04 | 平安科技(深圳)有限公司 | 基于k8s的服务部署方法、装置、电子设备和存储介质 |
KR102400524B1 (ko) * | 2022-02-24 | 2022-05-19 | 김태원 | 블록체인 기반의 nft를 이용하는 플랫폼의 서버에서 수행되는 nft에 대한 위변조를 감지하는 위변조 감지 방법 |
US20230267476A1 (en) * | 2022-02-24 | 2023-08-24 | Tae Won Kim | Forgery detection method for detecting forgery of nft performed by server of platform using blockchain-based nft |
KR102627762B1 (ko) * | 2022-12-29 | 2024-01-23 | 주식회사 인텔렉투스 | 기계학습 기반 nft 진위 판정 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140142852A (ko) * | 2013-06-05 | 2014-12-15 | 에스케이플래닛 주식회사 | 로그인 유지 시 보안토큰을 이용한 인증 방법, 이를 위한 시스템 및 장치 |
JP2017107343A (ja) * | 2015-12-08 | 2017-06-15 | キヤノン株式会社 | 認証連携システム及び認証連携方法、認可サーバー及びプログラム |
KR20170127330A (ko) * | 2016-05-11 | 2017-11-21 | (주)케이스마텍 | 신뢰된 실행 환경 기반의 유무선단말을 이용한 사용자 간편 인증방법 및 시스템 |
KR20190114432A (ko) * | 2018-03-30 | 2019-10-10 | 주식회사 코인플러그 | 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버 |
KR20200002680A (ko) * | 2018-06-29 | 2020-01-08 | 주식회사 카카오 | 멀티 도메인 서비스들을 위한 단일 인증 방법 그리고 이를 구현한 시스템 |
-
2020
- 2020-03-16 KR KR1020200032037A patent/KR102146940B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140142852A (ko) * | 2013-06-05 | 2014-12-15 | 에스케이플래닛 주식회사 | 로그인 유지 시 보안토큰을 이용한 인증 방법, 이를 위한 시스템 및 장치 |
JP2017107343A (ja) * | 2015-12-08 | 2017-06-15 | キヤノン株式会社 | 認証連携システム及び認証連携方法、認可サーバー及びプログラム |
KR20170127330A (ko) * | 2016-05-11 | 2017-11-21 | (주)케이스마텍 | 신뢰된 실행 환경 기반의 유무선단말을 이용한 사용자 간편 인증방법 및 시스템 |
KR20190114432A (ko) * | 2018-03-30 | 2019-10-10 | 주식회사 코인플러그 | 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버 |
KR20200002680A (ko) * | 2018-06-29 | 2020-01-08 | 주식회사 카카오 | 멀티 도메인 서비스들을 위한 단일 인증 방법 그리고 이를 구현한 시스템 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113886796A (zh) * | 2021-10-13 | 2022-01-04 | 平安科技(深圳)有限公司 | 基于k8s的服务部署方法、装置、电子设备和存储介质 |
CN113886796B (zh) * | 2021-10-13 | 2024-05-28 | 平安科技(深圳)有限公司 | 基于k8s的服务部署方法、装置、电子设备和存储介质 |
KR102400524B1 (ko) * | 2022-02-24 | 2022-05-19 | 김태원 | 블록체인 기반의 nft를 이용하는 플랫폼의 서버에서 수행되는 nft에 대한 위변조를 감지하는 위변조 감지 방법 |
US20230267476A1 (en) * | 2022-02-24 | 2023-08-24 | Tae Won Kim | Forgery detection method for detecting forgery of nft performed by server of platform using blockchain-based nft |
WO2023163286A1 (ko) * | 2022-02-24 | 2023-08-31 | 김태원 | 블록체인 기반의 nft를 이용하는 플랫폼의 서버에서 수행되는 nft에 대한 위변조를 감지하는 위변조 감지 방법 |
KR102627762B1 (ko) * | 2022-12-29 | 2024-01-23 | 주식회사 인텔렉투스 | 기계학습 기반 nft 진위 판정 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019204725B2 (en) | Retrieving access data for blockchain networks using highly available trusted execution environments | |
AU2019204708B2 (en) | Retrieving public data for blockchain networks using highly available trusted execution environments | |
KR102146940B1 (ko) | 토큰 위변조 검증 방법 | |
CN108768633B (zh) | 实现区块链中信息共享的方法及装置 | |
US20220207164A1 (en) | Method for accessing application and apparatus, electronic device, and storage medium | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
JP2019522412A (ja) | 登録・認可方法、装置及びシステム | |
US11757877B1 (en) | Decentralized application authentication | |
US20100228987A1 (en) | System and method for securing information using remote access control and data encryption | |
CN107359998A (zh) | 一种便携式智能口令管理体制的建立与操作方法 | |
CN114239046A (zh) | 数据共享方法 | |
US11663318B2 (en) | Decentralized password vault | |
CN115473655B (zh) | 接入网络的终端认证方法、装置及存储介质 | |
CN113347143A (zh) | 一种身份验证方法、装置、设备及存储介质 | |
US12107956B2 (en) | Information processing device, information processing method, and non-transitory computer readable storage medium | |
CN114244508A (zh) | 数据加密方法、装置、设备及存储介质 | |
CN114629713B (zh) | 身份验证方法、装置及系统 | |
CN112966287A (zh) | 获取用户数据的方法、系统、设备和计算机可读介质 | |
CN114826757A (zh) | 一种身份认证方法及装置 | |
WO2017020669A1 (zh) | 分布式系统节点身份认证方法及装置 | |
CN108900595B (zh) | 访问云存储服务器数据的方法、装置、设备及计算介质 | |
CN111541708B (zh) | 一种基于电力配电的身份认证方法 | |
CN112926983A (zh) | 一种基于区块链的存证交易加密系统及方法 | |
CN114553557B (zh) | 密钥调用方法、装置、计算机设备和存储介质 | |
Wu et al. | A privacy protection scheme for facial recognition and resolution based on edge computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |