KR101499965B1 - Method of verifying and protecting secure information using ticket - Google Patents
Method of verifying and protecting secure information using ticket Download PDFInfo
- Publication number
- KR101499965B1 KR101499965B1 KR1020080090126A KR20080090126A KR101499965B1 KR 101499965 B1 KR101499965 B1 KR 101499965B1 KR 1020080090126 A KR1020080090126 A KR 1020080090126A KR 20080090126 A KR20080090126 A KR 20080090126A KR 101499965 B1 KR101499965 B1 KR 101499965B1
- Authority
- KR
- South Korea
- Prior art keywords
- ticket
- information
- security information
- client
- server
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
Abstract
본 발명은 클라이언트로부터 보안 정보를 수신하여 저장하는 단계, 상기 데이터베이스에서 상기 보안 정보를 추출하는데 필요한 제 1 티켓을 생성하는 단계, 상기 제 1 티켓을 상기 클라이언트에 송부하는 단계, 상기 클라이언트로부터 제 2 티켓을 수신하는 단계, 및 상기 제 2 티켓을 검증하여 상기 제 2 티켓이 상기 제 1 티켓과 동일한 경우, 상기 제 1 티켓에 해당하는 보안 정보를 추출하는 단계를 포함한다.The method includes receiving security information from a client and storing the security information, generating a first ticket required to extract the security information from the database, transmitting the first ticket to the client, And extracting the security information corresponding to the first ticket if the second ticket is identical to the first ticket by verifying the second ticket.
본 발명의 일 실시예에 의하면 내부적으로 사용자 정보를 숨기고 유일한 내부 키 값만 네트워크를 통해 전송될 수 있다. According to an embodiment of the present invention, only the internal key value can be transmitted through the network while hiding user information internally.
티켓, 인증, 개인정보, 보안, 암호 Ticket, Authentication, Privacy, Security, Password
Description
본 발명은 보안 정보가 클라이언트와 서버 사이에서 노출되지 않도록 하기 위해 티켓을 이용하여 개인 정보를 인증하고 보호하는 방법 및 장치에 관한 것이다. 더욱 상세하게는 클라이언트로부터 보안 정보를 수신하여 저장하는 단계, 상기 데이터베이스에서 상기 보안 정보를 추출하는데 필요한 제 1 티켓을 생성하는 단계, 상기 제 1 티켓을 상기 클라이언트에 송부하는 단계, 상기 클라이언트로부터 제 2 티켓을 수신하는 단계, 및 상기 제 2 티켓을 검증하여 상기 제 2 티켓이 상기 제 1 티켓과 동일한 경우, 상기 제 1 티켓에 해당하는 보안 정보를 추출하는 단계를 포함하며, 티켓을 이용하여 보안 정보를 인증하고 보호하는 방법에 관한 것이다.The present invention relates to a method and apparatus for authenticating and protecting personal information using tickets to prevent security information from being exposed between a client and a server. The method comprising: receiving and storing security information from a client; generating a first ticket required to extract the security information from the database; sending the first ticket to the client; Receiving the ticket and verifying the second ticket and extracting security information corresponding to the first ticket when the second ticket is identical to the first ticket, And more particularly to a method for authenticating and protecting the same.
서버 또는 클라이언트간에 송수신되는 데이터는 암호화를 거치거나 또는 암호화 없이 송수신되는 경우가 있다. 그러나 송수신 데이터의 암호화 여부에 상관없 이 이 데이터가 서버 또는 클라이언트 간에 송수신되는 데이터 자체는 인터넷 상에서 노출될 위험이 있다. 예를 들어, 기존의 회원의 비밀번호 찾기나 회원가입과 같은 기능의 경우, 단계 별로 진행되는 동안 최초에 사용자가 입력한 중요한 데이터(주민등록번호, 이름, 전화번호등)들이 파라미터로 전달되기 때문에 외부에 그대로 노출된다. 악의적인 사용자가 패킷 스니핑을 통해서 데이터를 그대로 획득할 수 있는 환경인 것이다.Data transmitted and received between a server and a client may be transmitted or received without encryption or without encryption. However, regardless of whether data is transmitted or received, the data transmitted and received between the server and the client may be exposed on the Internet. For example, in the case of functions such as finding a password or registering an existing member, important data (social security number, name, phone number, etc.) inputted by the user during the first step is transmitted as parameters, Exposed. It is an environment in which a malicious user can obtain data through packet sniffing.
회원의 비밀번호 찾기 기능을 예로 들어본다. 사용자가 최초로 자신의 주민등록번호와 이름을 입력하여 회원인지를 확인하고 이 정보를 가지고 본인확인을 한다. 이 때, 기존에 회원정보를 그 다음단계에서 사용하기 위해서 전달하지 않으면 매 페이지 전환이 일어날 때마다 개인정보를 입력 받아야 하는 번거로움이 생긴다. 따라서 웹을 이용하는 서비스 대부분이 사용하는 방식이 파라미터를 POST나 GET방식에 의해서 전달하고, 다음 페이지에서 이를 그대로 파라미터를 획득하여 이용하는 방식으로 이루어진다. 이러한 파라미터는 HTTP 프로토콜을 통해 클라이언트와 서버가 주고받게 되지만, 통신 데이터가 해킹될 경우 개인 정보가 누출될 수 있다. 또한 이러한 개인 정보의 누출을 방지하기 위해 GET 또는 POST 방식으로 데이터를 송신하게 되지만, GET/POST 방식을 통해서 전송되는 데이터 자체에 대한 보안이 이루어지는 것은 아니므로 개인 정보와 같은 보안 정보를 누출하게 된다. Take as an example the member's password search function. The user first confirms whether he or she is a member by inputting his / her social security number and name, and confirms the identity with this information. At this time, if the member information is not transmitted in order to use the member information at the next step, it is troublesome to input personal information every time the page change occurs. Therefore, the method used by most of the services using the web is done by passing the parameters by POST or GET method and acquiring the parameters as they are on the next page. Although these parameters are exchanged between the client and the server through the HTTP protocol, personal information may be leaked if communication data is hacked. Also, in order to prevent leakage of such personal information, data is transmitted in a GET or POST manner. However, since the data itself transmitted through the GET / POST method is not secured, security information such as personal information is leaked.
전술한 문제점을 해결하기 위하여 본 발명의 목적은, 내부적으로 사용자 정보를 모두 숨긴 후 이를 대표하는 유일한 내부 키값을 네트워크를 통해 전달하여 최소한의 정보만이 네트워크를 통해 송수신 되게 하고, 내부적으로는 이 키를 통해 정보를 획득해서 처리하고자 한다. In order to solve the above-described problems, an object of the present invention is to provide a method and apparatus for transmitting and receiving only a minimum amount of information through a network by internally transmitting a unique internal key value representative of the user information, To acquire and process information.
또한, 본 발명의 다른 목적은 사용자의 정보 송수신 상에서 발생하는 다양한 데이터를 쿠키에 저장하지 않고, 이에 대한 키 값만을 쿠키 또는 통신 상의 파라미터로 송수신하도록 하여 네트워크 부하 및 처리 속도를 높일 수 있다.It is another object of the present invention to increase the network load and the processing speed by transmitting and receiving only the key value of the various data generated in the transmission and reception of the user in the cookie without using the cookie or communication parameters.
전술한 목적을 달성하기 위하여 본 발명의 일 실시예에 따르면, 클라이언트로부터 보안 정보를 수신하여 저장하는 단계, 상기 데이터베이스에서 상기 보안 정보를 추출하는데 필요한 제 1 티켓을 생성하는 단계, 상기 제 1 티켓을 상기 클라이언트에 송부하는 단계, 상기 클라이언트로부터 제 2 티켓을 수신하는 단계, 및 상기 제 2 티켓을 검증하여 상기 제 2 티켓이 상기 제 1 티켓과 동일한 경우, 상기 제 1 티켓에 해당하는 보안 정보를 추출하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method for transmitting security information, the method comprising: receiving and storing security information from a client; generating a first ticket required to extract the security information from the database; Receiving a second ticket from the client and verifying the second ticket and extracting security information corresponding to the first ticket when the second ticket is identical to the first ticket; .
전술한 바와 같이 본 발명의 일 실시예에 의하면, 주요 정보는 네트워크를 통해 송수신되지 않게 하고 해당 정보를 추출할 수 있는 키 값만을 송수신하게 되므로, 네트워크의 부하를 줄이고 처리 속도를 향상시키며, 정보의 보안을 강화할 수 있다.As described above, according to the embodiment of the present invention, the key information is transmitted / received through the network, and only the key value capable of extracting the corresponding information is transmitted / received. Therefore, the load on the network is reduced, the processing speed is improved, Security can be enhanced.
이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 당업자에게 자명하거나 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used to designate the same or similar components throughout the drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention unclear.
본 발명의 실시예에서는 주로 개인 정보를 기준으로 설명하고자 한다. 그러나, 본 발명은 개인 정보 외에도 보안을 필요로 하는 모든 정보의 송수신에 적용할 수 있다. 정보의 특성이 본 발명에 영향을 미치는 것이 아니므로, 본 발명은 클라이언트와 서버간에 송수신되는 모든 정보에 적용할 수 있다. 또한, 송수신하고자 하는 데이터의 양을 줄이기 위해, 키 값만을 송수신하고, 상세 정보는 서버의 데이터베이스에 저장하는 방식에 사용할 수 있다. In the embodiment of the present invention, description will be made mainly on the basis of personal information. However, the present invention can be applied to transmission and reception of all information requiring security besides personal information. Since the characteristics of the information do not affect the present invention, the present invention can be applied to all information transmitted and received between the client and the server. Also, in order to reduce the amount of data to be transmitted / received, only the key value may be transmitted / received, and the detailed information may be stored in a database of the server.
도 1은 본 발명의 일 실시예에 따른 티켓 기반 데이터 송수신 과정을 보여주는 도면이다.1 is a diagram illustrating a process of transmitting and receiving a ticket-based data according to an embodiment of the present invention.
먼저 클라이언트(100)의 웹 브라우저와 회원 정보 서버(200)간에 개인 정보를 송수신하고, 티켓을 저장하는 과정을 볼 수 있다. 클라이언트(100)는 통상의 컴퓨터, 노트북, PDA 등을 포함하여 네트워크를 통해 외부의 서버에 접속하는 기능을 보유하고 있는 디지털 기기를 의미한다. 회원 정보 서버(200)는 회원 정보를 관리하며, 개인 정보를 수신하면 이 자료를 로컬 DB에 저장하고 티켓을 생성하는 기능을 수행한다. 보다 상세히 살펴보면 다음과 같다.First, a process of transmitting and receiving personal information between a web browser of the
클라이언트(100)는 웹페이지 등에서 요구하는 개인 정보를 입력한다(S110). 개인 정보는 이름, 주민등록번호, 전화번호가 될 수 있으며, 인터넷 서비스 상에서 개인 이용자에게 부과하는 유니크한 정보(예를 들어 사용자 시리얼 넘버 등)가 될 수 있다. 이때, 유니크한 정보는 타인에게 노출되면 안되는 성격으로, 통상 인터넷 상에서 보안 정보로 분류되는 정보에 해당한다.The
S110 단계에서 입력하는 개인 정보란, 비밀번호 찾기, 비밀번호 수정, 또는 개인 정보 확인, 수정 등과 같이 개인 정보가 서비스 제공 과정에서 송수신되는 경우를 포함한다. 서비스 페이지에서 클라이언트가 개인 정보를 입력하면, 입력된 정보는 POST 또는 GET 방식을 통해 회원 정보 서버(200)로 전송된다. POST 방식이 GET 방식보다 더 보안성이 강화되지만 암호화를 시켜서 GET 방식으로 송수신 할 수 있다.The personal information input in the step S110 includes a case where the personal information is transmitted and received during the service providing process such as password search, password modification, personal information confirmation, and correction. When the client inputs personal information on the service page, the input information is transmitted to the
회원 정보 서버(200)는 개인 정보를 수신하여 DB에 저장한다(S120). 이는 차후 다시 클라이언트로부터 개인 정보의 확인 또는 전송을 요청할 경우 데이터 전송 을 위해 보관하기 위함이다. 저장 매체로 데이터베이스를 사용할 수 있으나, 데이터베이스에 한정되지 않고, 메모리, 파일, 파이프 등의 다양한 매체를 사용할 수 있다. 개인 정보를 저장한 후, 개인 정보를 토대로 티켓을 생성한다(S125). 생성된 티켓은 S120 단계에서 개인 정보가 저장된 영역에 함께 저장한다. 이 때, 개인 정보를 토대로 티켓을 생성하는 과정과 개인 정보와 티켓이 데이터베이스에 저장되는 과정에 대해서는 후술하고자 한다. 생성된 티켓을 클라이언트로 전송하기 위해 HTTP Request 객체에 티켓을 어트리뷰트 값으로 추가하여 전송한다(S130). HTTP Request에 포함된 값은 HTTP 프로토콜에 의해 클라이언트(100)에 전송된다. HTTP 프로토콜에 의해 수신한 서비스 페이지에서 클라이언트(100)는 티켓을 추출한다(S140). 티켓의 추출은 서비스 페이지를 전송한 HTTP Request 객체에서 추출할 수 있다. The
티켓을 수신한 클라이언트(100)는 이 티켓을 사용하여 개인 정보가 필요한 서비스 페이지를 요청할 수 있다. 따라서, 개인 정보가 필요한 서비스 페이지를 요청하기 위해, 정당한 클라이언트임을 확인하는 과정을 티켓을 통해 진행한다. 티켓 유효성 검사를 요청한다(S145). 티켓을 회원 정보 서버(200)에 송신하면 서버는 수신한 티켓 값의 유효성을 검사한다(S150). 티켓 값의 유효성은 해당 티켓이 S120, S125 단계에서 개인 정보가 저장된 데이터베이스에서 티켓값을 추출하여 확인할 수 있다. 추출결과 티켓이 존재할 경우, 해당 티켓을 가진 클라이언트는 정당한 클라이언트이므로, 티켓이 유효함을 알리는 과정을 수행한다(S155). 클라이언트(100)가 정당한 클라이언트임이 확인되면 클라이언트는 개인 정보를 요청한다(S160). 요청 과정은 티켓을 송신하는 과정을 통해 전개될 수 있다. 개인 정보의 요청을 수신한 회원 정보 서버(200)는 티켓 값에 해당하는 개인 정보를 데이터베이스에서 추출한다(S170). 추출된 개인 정보는 HTTP Request 객체에 추가하고(S175), 이는 클라이언트(100)에게 송신하여 개인 정보를 활용할 수 있게 한다(S180).The
도 2는 본 발명의 일 실시예에 따른 개인 정보의 저장을 보여주는 도면이다. 2 is a diagram illustrating storage of personal information according to an embodiment of the present invention.
210과 220은 데이터가 저장되는 데이터베이스에 데이터가 저장되는 예를 보여주고 있다. 도 1의 S120, S125 단계에서 개인 정보를 DB에 저장하는 과정과 개인 정보를 토대로 티켓을 생성하는 과정과 관련있다. 210 and 220 show examples in which data is stored in a database in which data is stored. The process of storing the personal information in the DB in steps S120 and S125 of FIG. 1 and the process of generating a ticket based on the personal information.
회원정보서버(200)는 클라이언트(100)에서 송신한 개인 정보를 210과 같이 데이터베이스에 저장할 수 있다. 이때 저장하는 정보는 서비스 정보(회원정보), 이름, 그리고 저장 시간 등이 될 수 있다. 이는 개인 정보에 통상 사용되는 정보를 제시한 것이다. 처음 개인 정보를 저장할 때에는 티켓이 생성되지 않아 티켓 부분은 공란으로 존재한다.The
이후, 회원정보서버(200)는 개인 정보를 조합하여 티켓을 생성한다. 티켓을 생성하는 방식으로는 MD5 암호화 알고리즘 방식으로 해쉬를 하고, 이 키를 티켓으로 하여 저장할 수 있다. 물론 MD5가 아닌 방식으로 티켓을 생성하여 저장할 수 있다. 또한, 210과 220과 같이 개인 정보를 저장한 후, 티켓을 생성할 수도 있으나, 개인 정보를 통해 티켓을 생성한 후 바로 220과 같이 데이터베이스에 저장할 수 있 다.Then, the
티켓을 저장하면 차후 클라이언트로부터 티켓을 수신할 경우, 해당 티켓과 관련된 개인 정보를 데이터베이스에서 추출하여 확인, 전송할 수 있다. 이때, 개인 정보는 데이터베이스에 티켓과 함께 저장된 것으로, 서비스간에 불필요하게 송수신되는 것을 막고, 티켓을 통해 확인할 수 있도록 하기 위함이다.When the ticket is stored, when the ticket is received from the client in the future, the personal information related to the ticket can be extracted from the database and confirmed and transmitted. At this time, the personal information is stored in the database together with the ticket, so that unnecessary transmission / reception between the services is prevented and it is confirmed through the ticket.
도 3은 본 발명의 일 실시예에 따른 클라이언트와 서버간의 상호 작용을 보여주는 도면이다.FIG. 3 is a diagram illustrating an interaction between a client and a server according to an exemplary embodiment of the present invention. Referring to FIG.
클라이언트(100)는 네트워크 또는 인터넷 접속을 가능하게 하는 클라이언트 프로그램이 설치된 장치를 포함한다. 클라이언트(100)는 서버로 동작할 수도 있지만, 본 발명의 도면에서 인증 서버와의 관계에서는 클라이언트로 동작하게 된다. 서버(200)는 크게 인증부 또는 인증 서버(310)과 데이터베이스(320)을 포함한다. 인증부 또는 인증 서버는 다수가 존재할 수 있으며, 서버(200)는 물리적으로 하나의 서버를 의미하는 것뿐만 아니라 다수의 서버들의 구성을 포함할 수 있다.The
클라이언트(100)는 서버(200)로 개인 정보를 발송한다(S310). 발송된 개인 정보는 서버(200) 중 인증부(310)로 전달되고, 인증부(310)는 회원 데이터베이스(Member DB, 320)에 개인 정보를 저장한다(S320). 그리고 클라이언트(100)에 전송할 티켓(350)을 생성한다(S330). 티켓은 회원 데이터베이스(320)에 저장된 개인 정보를 찾기 위한 키값이 될 수 있으며, 키값을 해쉬하거나 암호화 등의 방식을 통해 변환한 값이 될 수 있다. 생성된 티켓(350)은 다시 클라이언트(100)로 전송된 다(S340). The
클라이언트(100)는 전송받은 티켓(350)과 함께 개인 정보를 요청하는 쿼리를 서버(200)로 전송한다(S350). 서버로 전송된 티켓과 쿼리는 인증부(310)에 전해지고, 인증부(310)는 티켓의 유효성을 검증한 후 개인 정보를 전달한다(S370). 티켓의 유효성은 티켓 발행 시간, 티켓 정보에서 추출된 키 값이 유효한 값인지 여부 등을 통해 확인할 수 있다. The
본 발명의 일 실시예에서 사용하는 티켓의 유효성 관리는 다음과 같이 가능하다. 티켓은 복호화가 불가능한(단방향 암호화 알고리즘인 MD5를 적용한) 유일키로, 클라이언트와 서버간에 송수신되는 티켓이 해킹 등에 의해 타인에게 유출되어도 티켓을 통해 개인정보가 노출될 수 없으며, 단 방향 암호화 알고리즘이 깨지지 않은 한 티켓을 만드는데 사용한 몇 가지 정보들이 노출되지 않는다.The validity management of a ticket used in an embodiment of the present invention is possible as follows. A ticket is a unique key that can not be decrypted (one-way encryption algorithm, MD5). Even if a ticket transmitted between a client and a server is leaked to another person by hacking or the like, private information can not be exposed through a ticket. Some information used to create a ticket is not exposed.
또한, 티켓에 사용된 개인정보는 중요한 개인정보가 아닌 아이디와 접속 시간 등 유일성을 충족시키는 정보 요소들을 조합해서 만드는 단순한 키의 역할만 담당하므로, 티켓의 노출이 별도의 정보 유출을 발생시키지 않는다. 또한, 티켓을 임의로 타인이 생성하여도, 서버의 회원 데이터베이스에 해당 티켓에 대한 정보가 저장되어 있지 않거나, 해당 티켓의 유효기간이 만료한 경우 티켓을 통해 어떤 정보도 접근할 수 없다. In addition, the personal information used in the ticket is not the important personal information but only the role of the key which combines the information elements satisfying the uniqueness such as the ID and the connection time, so that the exposure of the ticket does not cause any separate information leakage. Also, even if another person creates a ticket arbitrarily, information about the ticket is not stored in the member database of the server, or if the expiration date of the ticket expires, any information can not be accessed through the ticket.
보안성을 보다 강화시키기 위해 서비스에 핸드폰이나 유선전화, 공인인증서와 같은 보조 수단의 본인확인 기능이 포함시키고, 해당 값의 유효성 확인 3번 이 상 틀렸을 경우, 티켓의 유효성을 없애는 프로세스를 추가할 수 있다.In order to further enhance security, the service may include the identity verification function of an auxiliary means such as a cellular phone, a landline telephone, or an authorized certificate. If the validity of the corresponding value is incorrect 3 times, a process of invalidating the ticket may be added have.
만약, 현재 특정 서비스의 이용이 종료되거나(회원가입 완료, 패스워드 찾기 완료, 로그아웃 등) 티켓을 유효시간을 만기로 세팅하여 더 이상 티켓을 사용할 수 없도록 할 수 있다. 아래 표 1에 있는 홍길동의 경우 위와 같은 상황에 의해서 키의 유효성이 만료되었다고 저장(유효값이 N)되어 있어 해당 티켓을 사용할 수 없음을 알 수 있다.If the current use of a specific service is terminated (membership completion, password search completion, logout, etc.), the ticket can be set to expire at the expiration time so that the ticket can no longer be used. In the case of Hong Kil-dong in Table 1 below, it can be seen that the validity of the key has expired (valid value N) due to the above situation, and the corresponding ticket can not be used.
표 2에서 티켓을 발행한 시간을 같은 테이블에 추가해 놓음으로써 티켓의 유효시간을 관리한다. 이를 통해서 티켓이 한 서비스에서 유효하게 사용되는 시간을 확인하고 이 시간이 넘겨버리면 바로 만료(expire)하기 때문에 일정시간만 유효한 제약을 유지할 수 있게 된다. In Table 2, the ticket validity time is managed by adding the time at which the ticket was issued to the same table. Through this, it is possible to check the time that a ticket is validly used in one service, and expire as soon as this time passes, so that the constraint can be maintained only for a certain period of time.
예를 들어 하나의 티켓이 생성된 시간이 1분을 경과한 경우에는 티켓의 유효성이 없다고 판단하고 개인정보 추출을 허용하지 않는다. 이러한 방법의 배경에는 하나의 서비스를 통해서 개인정보가 전달되는 과정을 1분 이내에 처리가 가능하다고 하는 것을 전제로 하는 것이다. 아래의 표에 홍길순에게 2007년 7월 4일 12시 26분 54초에 발행된 키는 2007년 7월 4일 12시 27분 54초 이후가 되면 재사용이 불가능한 키로 판단될 수 있다.For example, when one ticket has been generated for one minute, it is determined that there is no validity of the ticket, and personal information extraction is not permitted. The background of this method is that it assumes that the process of transmitting personal information through one service can be processed within one minute. In the table below, the key issued to Hong Gyun Soon on July 4, 2007 at 12:26:54 may be determined to be a key that can not be reused when it is after 12:27:54 on July 4, 2007.
또한, 티켓을 발행할 때, 발행을 요청한 서비스에서 클라이언트 IP를 기록할 수 있다. 클라이언트 IP는 향후 티켓이 발행 요청된 곳과 사용처를 비교할 수 있는 IP필터링의 기능을 강화할 수 있게 된다. 즉, 티켓 유효기간내에 타인이 해킹을 해서 사용할 경우, 해당 IP가 아닌 다른 IP의 컴퓨터에서 티켓을 전송할 수 있다. 이를 방지하기 위해 표 3과 같이 IP 번호를 회원 데이터베이스에 저장하여 티켓을 보호할 수 있다.Further, when issuing a ticket, the client IP can be recorded in the service requesting the issuance. Client IP will be able to enhance the ability of IP filtering to compare where the ticket is issued and where it is requested. In other words, if another person hacked and used it within the validity period of the ticket, it is possible to transmit the ticket from the computer of the IP other than the corresponding IP. To prevent this, the ticket can be protected by storing the IP number in the member database as shown in Table 3.
한편 티켓의 업데이트 관리를 진행할 수 있다. 즉, 티켓이 재 발행되는 시점은 유효시간이 만기되었거나(표 2의 경우) 보조수단의 본인확인과정에서 제한된 확인횟수를 초과하는 경우이다. 이러한 경우를 제외하고는 티켓은 그 자체로 의미를 가지지 않는 단순한 유일키이기 때문에 업데이트가 자주 발생할 필요가 없으므로, 재생성 보다는 업데이트를 수행할 수 있다. Meanwhile, the update management of the ticket can be performed. That is, the time point at which the ticket is re-issued is when the validity time has expired (in the case of Table 2) or the number of times of confirmation exceeded a limited number of times in the identity verification process of the auxiliary means. Except in this case, since the ticket is a simple unique key that has no meaning in itself, it does not need to be updated frequently, so it can perform updates rather than regeneration.
티켓은 사용자가 최초에 자기 정보를 입력한 이후, 서비스에 맨 처음 발행하는 키로 재사용될 수 없도록 할 수 있다. The ticket may not be re-used as the first key issued to the service after the user first enters his / her own information.
도 4는 본 발명의 일 실시예에 따른 서버 측 프로세스의 흐름을 보여주는 순서도이다.4 is a flowchart illustrating a flow of a server-side process according to an embodiment of the present invention.
서버는 클라이언트로부터 보안 정보를 수신하여 저장한다(S410). 저장은 통상 데이터베이스에 할 수 있으나, 메모리, 파일을 이용할 수 있다. 또한 서버가 다수의 서버로 구성된 경우, 분산 메모리를 사용할 수 있고, 분산 데이터베이스를 사용할 수도 있다. 다음으로, 상기 데이터베이스에서 상기 보안 정보를 추출하는데 필요한 제 1 티켓을 생성한다(S420). 제 1 티켓은 보안 정보의 특정 값을 사용하여 추출할 수 있고, 데이터베이스의 유니크 키값을 사용하여 생성할 수 있다. 생성 과정은 MD5와 같은 암호화 방식, 데이터 해쉬 등의 기법을 사용할 수 있다. 티켓의 생성이 완료되면 상기 제 1 티켓을 상기 클라이언트에 송부한다(S430). 그리고 상기 클라이언트로부터 제 2 티켓과 요청 서비스의 식별자를 수신한다(S440). 수신한 제 2 티켓이 앞서 생성했던 제 1 티켓인지를 확인한다(S450). 만약 제 1 티켓이 아니라면 제 1 티켓을 생성한 보안 정보를 송부할 수 없으므로 종료한다. 만약 제 1 티켓이라면, 제 1 티켓의 유효기간 내인지 확인한다(S460). 유효기간이 지난 경우면 해당 티켓을 사용할 수 없으므로 역시 종료한다. The server receives and stores the security information from the client (S410). Storage can usually be done in the database, but memories and files can be used. Also, when the server is composed of a plurality of servers, distributed memory can be used, and a distributed database can be used. Next, a first ticket necessary for extracting the security information from the database is generated (S420). The first ticket can be extracted using a specific value of the security information, and can be generated using the database unique key value. The creation process can use encryption methods such as MD5, data hashing, and the like. When the generation of the ticket is completed, the first ticket is transmitted to the client (S430). Then, the second ticket and the identifier of the requested service are received from the client (S440). It is confirmed whether the received second ticket is the first ticket that has been generated (S450). If it is not the first ticket, the security information generating the first ticket can not be transmitted, and the process ends. If it is the first ticket, it is checked whether it is within the validity period of the first ticket (S460). If the validity period has elapsed, the corresponding ticket can not be used, so it is also terminated.
유효한 티켓이라면, 해당 티켓에 해당하는 보안 정보를 추출한다(S470). 그리고 보안 정보와 요청 서비스의 정보를 클라이언트에 송부한다(S480). 선택적으로 요청 서비스의 정보만 송부하고 보안 정보는 송부하지 않을 수 있다.If the ticket is valid, the security information corresponding to the ticket is extracted (S470). Then, the security information and the information of the requested service are transmitted to the client (S480). Optionally, only the information of the requested service may be transmitted and the security information may not be transmitted.
도 5는 본 발명의 일 실시예에 따른 통합 인증 티켓을 적용한 서비스의 구성이다.5 is a configuration of a service to which an integrated authentication ticket according to an embodiment of the present invention is applied.
티켓 정보는 보안 정보를 송수신하는데 적용된다. 즉, 인증 서버는 타 서비스 서버에서 사용하는 보안 정보를 저장하고 티켓을 통해 확인된 클라이언트에게만 보안 정보를 전송하거나, 또는 보안 정보의 전송 결과 발생하는 제 2의 보안 정보(예를 들어 타 서비스 서버에서 사용하는 암호화된 데이터)를 전송하여 클라이언트가 타 서비스 서버에 접속하여 서비스를 이용할 수 있도록 한다. Ticket information is applied to send and receive security information. That is, the authentication server stores the security information used by the other service server and transmits the security information only to the client identified through the ticket, or the second security information (for example, Encrypted data to be used) so that the client can access another service server and use the service.
클라이언트(510)는 인증 서버(521)와 미리 약속된 방식에 의해, 또는 본 발명에서 제시한 방식에 의해 티켓을 발급받게 된다. 티켓을 발급받은 클라이언트(510)는 서비스 서버(530)에 아이디, 패스워드를 입력하여 로그인한다. 이때, 입력한 아이디, 패스워드는 인증 서버(521)로 전송하여 인증 서버(525)에 저장하게 한다. 저장되는 방식은 527의 실시예와 같이 테이블 방식의 데이터베이스에 저장될 수 있다. The
테이블의 구성은 티켓, 서비스 서버의 정보, 보안정보 1, 보안정보 2, 보안정보 3 등으로 구성된다. 티켓은 인증 서버(521)로 전송하여 확인하는 티켓 정보를 의미한다. 서비스 서버 부분은 서비스 서버(530)의 사이트 주소를 포함한다. 또는 다양한 서비스 서버(530)를 식별하기 위한 정보를 포함한다. 보안정보 1, 보안정보 2, 보안정보 3은 모두 해당 서비스 서버에 접속하기 위해 필요로 하는 보안 정보를 의미한다. 도 5에서 www.a.com은 서비스 접속에 메일 주소와 패스워드를 요구하고 있기 때문에 보안정보 1에는 메일 주소인 hks@nate.com이 입력되어 있고, 보안정보 2에는 패스워드인 password1이 저장되어 있다. The configuration of the table is composed of a ticket, service server information, security information 1, security information 2, and security information 3. The ticket indicates ticket information to be transmitted to the
한편, www.b.com은 아이디, 패스워드가 아닌 또다른 티켓을 보안 정보로 송수신하기 때문에 보안정보1에는 티켓값(a30592be092723)이 입력되어 있다. 다양한 보안 정보를 요구할 수 있으므로, 보안정보 1, 보안정보 2, 보안정보 3 등으로 데이터 입력 영역을 증가시킬 수 있다.,On the other hand, since www.b.com transmits and receives another ticket, which is not an ID and a password, as security information, the ticket value (a30592be092723) is input to the security information 1. It is possible to increase the data input area by using security information 1, security information 2, security information 3, and the like.
따라서, 클라이언트(510)은 각각의 서비스 서버에 접속할 때, 해당하는 보안 정보를 별도로 암기하거나 입력할 필요 없이, 자신이 보유한 티켓 정보와 접속하고자 하는 서비스 서버에 대한 정보를 인증 서버(521)에 전송하고, 티켓 정보로 인해 검색된 보안 정보를 클라이언트(510)에 전송한다. 전송된 보안 정보는 클라이언트가 HTTP 프로토콜상에서, 또는 여러 네트워크 통신 방식을 이용하여 서비스 서버(530)에 전송하고, 서비스 서버(530)는 전송된 보안 정보를 사용하여 클라이언트(510)을 인증한다. 이후 클라이언트(510)는 서비스 서버(530)를 이용할 수 있다.Therefore, when connecting to each service server, the
보안 정보 1, 보안 정보 2, 보안정보 3에 입력되는 정보를 재차 암호화 해서 저장할 수 있다. 이때, 티켓 값에 의해 복호화되는 값을 저장할 수 있다.The security information 1, the security information 2, and the security information 3 can be re-encrypted and stored. At this time, the value to be decoded by the ticket value can be stored.
도 5의 실시예와 같이 티켓 방식을 적용할 경우, 다양한 인증 서비스에 적용할 수 있으며, 보안 정보를 보유할 수 있다.When the ticket method is applied as in the embodiment of FIG. 5, it can be applied to various authentication services and can hold security information.
본 발명의 티켓을 이용하면, 하나의 암호화된 정보를 사용하여 다수 서버에 접속을 할 수 있다. Using the ticket of the present invention, one encrypted information can be used to connect to multiple servers.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.
본 발명은 사용자의 정보를 보호하기 위해 송수신되는 정보의 양을 제한시키고, 티켓이 클라이언트와 서버 사이에 송수신되며, 티켓을 통해 인증이 이루어진 경우 주요 보안 정보를 전송하게 되므로 정보의 보호를 가능하게 한다.The present invention restricts the amount of information transmitted and received in order to protect user information, allows tickets to be transmitted and received between a client and a server, and transmits important security information when authentication is performed through a ticket, thereby enabling protection of information .
도 1은 본 발명의 일 실시예에 따른 티켓 기반 데이터 송수신 과정을 보여주는 도면이다.1 is a diagram illustrating a process of transmitting and receiving a ticket-based data according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 개인 정보의 저장을 보여주는 도면이다.2 is a diagram illustrating storage of personal information according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 클라이언트와 서버간의 상호 작용을 보여주는 도면이다.FIG. 3 is a diagram illustrating an interaction between a client and a server according to an exemplary embodiment of the present invention. Referring to FIG.
도 4는 본 발명의 일 실시예에 따른 서버 측 프로세스의 흐름을 보여주는 순서도이다.4 is a flowchart illustrating a flow of a server-side process according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 통합 인증 티켓을 적용한 서비스의 구성이다.5 is a configuration of a service to which an integrated authentication ticket according to an embodiment of the present invention is applied.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080090126A KR101499965B1 (en) | 2008-09-12 | 2008-09-12 | Method of verifying and protecting secure information using ticket |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080090126A KR101499965B1 (en) | 2008-09-12 | 2008-09-12 | Method of verifying and protecting secure information using ticket |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100031169A KR20100031169A (en) | 2010-03-22 |
KR101499965B1 true KR101499965B1 (en) | 2015-03-06 |
Family
ID=42180889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080090126A KR101499965B1 (en) | 2008-09-12 | 2008-09-12 | Method of verifying and protecting secure information using ticket |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101499965B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024019534A1 (en) * | 2022-07-22 | 2024-01-25 | 주식회사 메디컬에이아이 | System and method for de-identification of personal information in medical services |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000222360A (en) * | 1999-02-01 | 2000-08-11 | Matsushita Electric Ind Co Ltd | Method and system for authentication and authentication processing program recording medium |
US20020056747A1 (en) * | 2000-08-31 | 2002-05-16 | Sony Corporation | Person authentication system, person authentication method, information processing apparatus, and program providing medium |
KR20030052672A (en) * | 2001-12-21 | 2003-06-27 | (주)네오텍 | Method of offer personal information zone using mobile phone number as domain name |
KR20080078555A (en) * | 2007-02-23 | 2008-08-27 | (주)코리아센터닷컴 | System and method of transmitting/receiving security data |
-
2008
- 2008-09-12 KR KR1020080090126A patent/KR101499965B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000222360A (en) * | 1999-02-01 | 2000-08-11 | Matsushita Electric Ind Co Ltd | Method and system for authentication and authentication processing program recording medium |
US20020056747A1 (en) * | 2000-08-31 | 2002-05-16 | Sony Corporation | Person authentication system, person authentication method, information processing apparatus, and program providing medium |
KR20030052672A (en) * | 2001-12-21 | 2003-06-27 | (주)네오텍 | Method of offer personal information zone using mobile phone number as domain name |
KR20080078555A (en) * | 2007-02-23 | 2008-08-27 | (주)코리아센터닷컴 | System and method of transmitting/receiving security data |
Also Published As
Publication number | Publication date |
---|---|
KR20100031169A (en) | 2010-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102193644B1 (en) | Facility verification method and device | |
US20230297657A1 (en) | Dynamic enrollment using biometric tokenization | |
US9825938B2 (en) | System and method for managing certificate based secure network access with a certificate having a buffer period prior to expiration | |
CN109787988A (en) | A kind of identity reinforces certification and method for authenticating and device | |
JP2004185623A (en) | Method and system for authenticating user associated with sub-location in network location | |
CN109756446B (en) | Access method and system for vehicle-mounted equipment | |
JP2009519515A (en) | Method, system, and apparatus for protecting a service account | |
JP2012530965A (en) | Multi-factor authentication for shared registration system | |
CN104184713A (en) | Terminal identification method, machine identification code registration method, and corresponding system and equipment | |
CA2708059A1 (en) | System and method for dynamic, multi-attribute authentication | |
KR20130103537A (en) | User account recovery | |
KR20060032888A (en) | Apparatus for managing identification information via internet and method of providing service using the same | |
CN102868702A (en) | System login device and system login method | |
JP2007280393A (en) | Device and method for controlling computer login | |
JP4698751B2 (en) | Access control system, authentication server system, and access control program | |
WO2014049027A1 (en) | Network security | |
CN107347073B (en) | A kind of resource information processing method | |
US20170104748A1 (en) | System and method for managing network access with a certificate having soft expiration | |
WO2019178440A1 (en) | System and method for securing private keys behind a biometric authentication gateway | |
US11627135B2 (en) | Method and system for delivering restricted-access resources using a content delivery network | |
KR20130039745A (en) | System and method for authentication interworking | |
JP6199506B2 (en) | Server system and method for controlling a plurality of service systems | |
CN116668190A (en) | Cross-domain single sign-on method and system based on browser fingerprint | |
KR101499965B1 (en) | Method of verifying and protecting secure information using ticket | |
KR20140043071A (en) | Authentication system and method for device attempting connection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180228 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190305 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20200303 Year of fee payment: 6 |