KR20050103075A - Authentication method based synchronization markup language protocol - Google Patents

Authentication method based synchronization markup language protocol Download PDF

Info

Publication number
KR20050103075A
KR20050103075A KR1020040028477A KR20040028477A KR20050103075A KR 20050103075 A KR20050103075 A KR 20050103075A KR 1020040028477 A KR1020040028477 A KR 1020040028477A KR 20040028477 A KR20040028477 A KR 20040028477A KR 20050103075 A KR20050103075 A KR 20050103075A
Authority
KR
South Korea
Prior art keywords
client
authentication
server
value
response
Prior art date
Application number
KR1020040028477A
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 KR1020040028477A priority Critical patent/KR20050103075A/en
Publication of KR20050103075A publication Critical patent/KR20050103075A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/162Implementing security features at a particular protocol layer at the data link layer
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Abstract

본 발명은 SyncML 프로토콜 기반의 인증 방법에 관한 것으로 특히, 데이터 동기화를 요구하는 클라이언트와 서버사이의 인증 알고리즘을 사용자가 자유롭게 선택할 수 있으며, 종래보다 좀 더 신뢰성 있는 양방향 인증이 가능하도록 함에 목적이 있다. 이러한 목적의 본 발명은 클라이언트와 서버간에 SyncML 프로토콜 기반의 메시지를 송수신하여 인증하는 방법에 있어서, 클라이언트(310)가 동기화 요구를 위해 서버(320)에 접속을 시도하는 제1 단계와, 클라이언트(310)가 접속되면 서버(320)가 사용자 아이디(ID)를 요구하는 제2 단계와, 클라이언트(310)가 서버(320)로 사용자 아이디를 응답하면 서버(320)가 임의의 랜덤 값을 생성하여 클라이언트(310)로 전송하는 제3 단계와, 상기 클라이언트(310)가 상기 랜덤 값을 인코딩하고 그 인코딩 값을 응답하면 서버(320)가 상기 랜덤 값과 해당 아이디의 패스워드 값을 데이터베이스(330)로부터 읽어 인코딩하고 그 인코딩된 값과 상기 클라이언트(310)로부터의 인코딩 값이 일치하는지 비교하는 제4 단계와, 상기 비교 결과가 일치하면 서버(320)가 인증 성공을 클라이언트(310)로 알리고 데이터 동기화 과정을 진행시키는 제5 단계를 수행하도록 구성함을 특징으로 한다. The present invention relates to an authentication method based on SyncML protocol, and in particular, a user can freely select an authentication algorithm between a client and a server requiring data synchronization, and an object thereof is to enable more reliable two-way authentication than in the related art. The present invention for this purpose is a method for transmitting and receiving a message based on the SyncML protocol between the client and the server, the first step that the client 310 attempts to connect to the server 320 for the synchronization request, the client 310 ) Is connected, the server 320 requests the user ID (ID), and when the client 310 responds to the user ID by the server 320, the server 320 generates a random value and generates the client. A third step of transmitting to the 310; and when the client 310 encodes the random value and responds to the encoded value, the server 320 reads the random value and the password value of the corresponding ID from the database 330. A fourth step of encoding and comparing whether the encoded value and the encoding value from the client 310 match, and if the comparison result is identical, the server 320 determines that the client 310 is successful in authentication. ) And perform a fifth step of proceeding with the data synchronization process.

Description

SyncML 프로토콜 기반의 인증 방법{AUTHENTICATION METHOD BASED SYNCHRONIZATION MARKUP LANGUAGE PROTOCOL} Authentication method based on the SYNCNIC protocol {AUTHENTICATION METHOD BASED SYNCHRONIZATION MARKUP LANGUAGE PROTOCOL}

본 발명은 데이터 동기화 기술에 관한 것으로 특히, SyncML 프로토콜 기반의 인증 방법에 관한 것이다. The present invention relates to data synchronization technology, and more particularly, to an authentication method based on SyncML protocol.

인터넷이 발전함에 따라 PDA(Personal Data Assistant), 휴대용 PC, 이동 전화기 등에서 네트웍 서버의 개인 정보 관리(PIM : Personal Information Manager) 서비스를 사용하여 주소록 검색, 일정 관리, 전자 메일 교환 등의 작업이 개인적인 용도뿐만 아니라 엔터프라이즈용으로 이용되어 비즈니스의 새로운 수단으로 이용되고 있다. As the Internet has evolved, personal data manager (PIM) services of personal data assistants (PDAs), portable PCs, mobile phones, etc. can be used for personal tasks such as address book searching, scheduling, and e-mail exchange. In addition, it is being used for the enterprise as a new means of business.

그런데, 현재 휴대형 단말기는 물리적 크기의 제한으로 인하여 소량의 메모리, 소형 프로세서를 탑재하기 때문에 서버에 비해서 상대적으로 자원이 제한적이며, 성능도 떨어진다. However, the current portable terminal is equipped with a small amount of memory, a small processor due to the limitation of the physical size, the resource is relatively limited compared to the server, the performance is also poor.

따라서, 사용자는 개인 주소록, 일정 등의 정보를 포함하여 디바이스의 중요 정보를 안전하게 보관하기 위해 신뢰성 있는 서버에 백업(back-up)하기도 하고, 다른 디바이스에 존재하는 정보를 서로 교환하기도 한다. 상기 정보 교환으로 개인의 동일한 정보가 여러 단말기에 분산되어 존재하게 된다. Therefore, a user may back up to a reliable server to secure important information of a device including personal address book, schedule, and the like, and may exchange information existing in different devices with each other. By the exchange of information, the same information of an individual is distributed to various terminals.

이러한 경우 데이터 동기화(data synchronization)가 필요하다. 이는 다수의 단말기에 분산되어 존재하는 동일한 데이터 항목에 대하여 갱신된 내용을 반영하고 데이터간의 버전 차이를 해결하여 가장 최신 값으로 일치시키는 중재 동작을 의미한다. In this case, data synchronization is required. This means an arbitration operation that reflects the updated contents of the same data items distributed in a plurality of terminals and resolves the version differences between the data to match the most recent values.

하지만, 일반적으로 동기화 솔루션들은 장치간 또는 응용서비스간 호환성이 결여되어 있다.  However, in general, synchronization solutions lack compatibility between devices or application services.

이러한 문제점을 해결하기 위하여 Synchronization Markup Language(이하, "SyncML"이라 약칭함) 프로토콜 표준 규격이 제안되었다. In order to solve this problem, Synchronization Markup Language (hereinafter, abbreviated as "SyncML") protocol standard specification has been proposed.

SyncML 동기화 프로토콜은 분산되어 있는 데이터의 일치성을 보장하기 위해 제안된 표준으로, 웹 포탈의 개인정보와 이동 전화기의 개인정보 혹은 PC의 개인정보 등과 같이 서로 다른 디바이스 및 응용 서비스간에 데이터를 일치시키기 위한 동기화에 이용될 수 있다. The SyncML synchronization protocol is a standard proposed to ensure the consistency of distributed data.It is used to match data between different devices and application services such as personal information on web portals and personal information on mobile phones or personal information on PCs. Can be used for synchronization.

SyncML은 eXtensible Markup Language(이하, "XML"이라 약칭함) 형태로 표현된 데이터를 포함한 메시지를 서버와 디바이스간에 주고받음으로써 서버와 디바이스간에 동기화를 수행한다. SyncML synchronizes between a server and a device by sending and receiving a message including data expressed in eXtensible Markup Language (hereinafter, abbreviated as "XML") between the server and the device.

SyncML을 지원하는 클라이언트와 서버간의 데이터 동기화 과정을 설명하면 다음과 같다. The following describes the data synchronization process between the client and server supporting SyncML.

스텝 1 : 클라이언트가 서버에 접속하는 단계로서, 클라이언트는 자신의 아이디와 패스워드를 인코딩하고 그 인코딩된 데이터를 인증을 위해 서버에 전송한다. 상기 인코딩 데이터를 포함하는 메시지는 도1의 예시도와 같다. Step 1: The client connects to the server, which encodes its ID and password and sends the encoded data to the server for authentication. The message including the encoded data is illustrated in FIG. 1.

이에 따라, 서버는 클라이언트에서 전송된 데이터를 확인하여 인증에 성공하면 다음 과정을 수행한다.Accordingly, the server checks the data transmitted from the client and if the authentication is successful, the server performs the following process.

스텝 2: 서버가 클라이언트에게 인증 받는 단계로서, 서버의 아이디, 패스워드를 첫번째 단계와 마찬가지로 인코딩 혹은 MD5와 같은 알고리즘을 이용하여 아이디, 패스워드를 압축한 후, 인코딩하여 클라이언트에게 도2의 예시도와 같이 작성된 메시지를 전송한다. Step 2: The server authenticates the client, and encodes the ID and password of the server as in the first step, or compresses the ID and password using an algorithm such as MD5, and then encodes and writes the client to the client as illustrated in FIG. Send a message.

스텝 3 : 클라이언트가 서버로부터 전송된 인증 데이터를 확인하여 인증에 성공하면 상호 인증이 성공한 경우 다음 과정으로 진행한다.Step 3: If the client checks the authentication data sent from the server and the authentication succeeds, if the mutual authentication succeeds, proceed to the next step.

스텝 4 : 클라이언트와 서버간의 변경된 데이터에 대한 양방향 혹은 단방향 데이터 동기화 절차를 수행하는 단계이다. Step 4: Perform a bidirectional or unidirectional data synchronization procedure for the changed data between the client and server.

그러나, 종래의 SyncML 표준에서 사용하고 있는 인증 프로토콜은 일반적인 챌린지-응답(challenge-response) 프로토콜로서 사용자 인증의 보안상에 취약점이 있는 것으로 알려져 있다. However, the authentication protocol used in the conventional SyncML standard is a general challenge-response protocol and is known to be vulnerable to security of user authentication.

따라서, 대개의 경우 인증 프로토콜을 보완하기 위해 제3의 인증 서버를 별도로 설치하거나, 인증서를 이용한 공개키 암호화 방법 등을 이용하게 된다. Therefore, in most cases, to supplement the authentication protocol, a third authentication server may be separately installed or a public key encryption method using a certificate may be used.

이에 따라, 본 발명은 종래의 문제점을 개선하기 위하여 데이터 동기화를 요구하는 클라이언트와 서버사이의 인증 알고리즘을 사용자가 자유롭게 선택할 수 있고 종래보다 더 신뢰성 있는 양방향 인증이 가능하도록 창안한 SyncML 프로토콜 기반의 인증 방법을 제공함에 그 목적이 있다. Accordingly, the present invention provides an authentication method based on SyncML protocol, which is designed to allow a user to freely select an authentication algorithm between a client and a server requiring data synchronization in order to improve a conventional problem, and to enable more reliable two-way authentication than the conventional method. The purpose is to provide.

본 발명은 상기의 목적을 달성하기 위하여 클라이언트와 서버간에 SyncML 프로토콜 기반의 메시지를 송수신하여 인증하는 방법에 있어서, 클라이언트가 동기화 요구를 위해 서버에 접속하는 단계와, 클라이언트가 접속되면 서버가 사용자 아이디(ID)를 요구하는 단계와, 클라이언트가 서버로 사용자 아이디를 응답하면 서버가 임의의 랜덤 값을 생성하여 클라이언트로 전송하는 단계와, 상기 랜덤 값을 인코딩하고 그 인코딩 값을 클라이언트로부터 응답하면 서버가 이를 해석하여 클라이언트의 응답 값이 정당한 값인지 비교하는 단계와, 상기에서 응답 값이 정당한 값으로 확인되면 서버가 인증 성공을 클라이언트로 알리고 데이터 동기화 과정을 진행시키는 단계를 수행하도록 구성함을 특징으로 한다. The present invention provides a method for transmitting and receiving a SyncML protocol-based message between a client and a server in order to achieve the above object, comprising the steps of: a client connecting to a server for a synchronization request; ID), when the client answers the user ID to the server, the server generates a random value and sends it to the client, and when the server encodes the random value and responds to the encoding value from the client, the server does this. Analyzing and comparing whether the response value of the client is a legitimate value, and if the response value is determined to be a legitimate value, the server notifies the client of the authentication success and proceeds with a data synchronization process.

상기에서 클라이언트와 서버간 메시지 전송은 Extensible Authentication Protocol 기반으로 이루어짐을 특징으로 한다. The message transmission between the client and the server is characterized in that it is based on the Extensible Authentication Protocol.

상기에서 응답 값은 "랜덤 값 + 패스워드"를 MD5 알고리즘에 의해 인코딩한 값임을 특징으로 한다. The response value is characterized in that the "random value + password" is encoded by the MD5 algorithm.

상기 응답 값 비교 단계는 랜덤 값과 해당 아이디의 패스워드 값을 데이터베이스로부터 획득하는 과정과, 상기 획득된 값을 MD5 알고리즘에 의해 인코딩하는 과정과, 상기 인코딩된 값과 응답 값이 일치하는지 비교하는 과정과, 상기 비교 결과가 일치하면 인증 성공으로 판정하는 과정으로 이루어짐을 특징으로 한다. The comparing of the response values may include obtaining a random value and a password value of the corresponding ID from a database, encoding the obtained value by an MD5 algorithm, comparing the encoded value with the response value, and If the comparison result is matched, it is characterized in that the process of determining that the authentication success.

이하, 본 발명을 도면에 의거 상세히 설명하면 다음과 같다. Hereinafter, the present invention will be described in detail with reference to the drawings.

본 발명은 IETF RFC2284에서 정의하고 있는 Extensible Authentication Protocol(이하, "EAP"라 약칭함)을 SyncML의 인증 프로토콜에 적용하여 SyncML의 Document Type Definition(이하, "DTD"라 약칭함)을 구현한다. The present invention implements SyncML Document Type Definition (hereinafter referred to as "DTD") by applying Extensible Authentication Protocol (hereinafter, abbreviated as "EAP") defined in IETF RFC2284 to SyncML authentication protocol.

본 발명은 사용자가 임의로 인증 알고리즘을 선택하여 결정할 수 있는 확장 인증 방법을 위한 새로운 SyncML 스키마(schema)를 추가 정의하여 XML DTD를 도4의 예시도와 같이 작성한다. The present invention further defines a new SyncML schema for an extended authentication method in which a user can arbitrarily select and determine an authentication algorithm, thereby creating an XML DTD as shown in FIG.

즉, 본 발명은 확장 인증 프로토콜을 적용하기 위해서 <EAP> 엘리먼트와 그 하위의 스키마를 추가하였다.That is, the present invention adds the <EAP> element and its subordinate schema to apply the extended authentication protocol.

<EAP> 내에는 <Code>, <Identifier>가 반드시 있어야 하며, <EAPData>는 경우에 따라 포함된다. 상기 <EAPdata>가 없어도 되는 경우는 인증 성공(Success) 또는 인증 실패(Fail) 정보를 담고 있는 경우이다.There must be <Code> and <Identifier> in <EAP>, and <EAPData> is included in some cases. The case where <EAPdata> is not required may include authentication success or authentication failure information.

<Code>는 Request, Response, Success, Fail 등의 정보를 갖을 수 있으며, <Identifier>는 EAP 메시지를 식별할 수 있는 유일한 식별자 역할을 한다.<Code> may have information such as Request, Response, Success, Fail, etc., and <Identifier> serves as a unique identifier for identifying an EAP message.

<EAPData>는 주로 인증에 관한 정보를 담고 있으며, 그 내부에 또 다른 스키마(DataKind, Data)가 포함된다.<EAPData> mainly contains authentication information, and includes another schema (DataKind, Data) inside.

DataKind는 EAP 메시지의 종류를 나타내는 것으로 Identity, Notification, Nak, MD5Chal, OTP(one time password), TokenCard, TLS(Transport Layer Security) 중 하나의 값을 갖는다. DataKind indicates the type of EAP message and has one of Identity, Notification, Nak, MD5Chal, One Time Password (OTP), TokenCard, and Transport Layer Security (TLS).

예를 들어, "<DataKind>Identity<DataKind>"라고 입력되면 이는 Identity에 대한 요구이거나 응답을 의미하는 것으로 요구에 대한 응답인 경우 그 다음에는 "<Identity>Hong<Identity>"와 같은 메시지가 있어야 한다.For example, if "<DataKind> Identity <DataKind>" is entered, this means a request or response to an Identity. If the response is to a request, then there should be a message such as "<Identity> Hong <Identity>". do.

또한, Notification은 상대방에게 알려야 할 주의사항 등을 나타내는 엘리먼트이고, Nak는 응답하지 말라는 뜻이며, MD5Chal은 MD5 알고리즘을 이용하여 챌린지를 요구하거나 응답하는 경우이고, OTP는 One Time Password 알고리즘을 사용하는 경우의 요구, 응답을 나타내며, TokenCard는 스마트 카드를 포함하여 토큰 같은 것을 사용할 때 사용하는 엘리먼트이다. In addition, Notification is an element indicating a notice to notify the other party, Nak means not to respond, MD5Chal is a case of requesting or responding to a challenge using the MD5 algorithm, and OTP uses a One Time Password algorithm. TokenCard is an element used when using something like a token, including a smart card.

도3은 본 발명의 실시 예에서 인증 과정을 보인 신호 흐름도로서 이에 도시한 바와 같이, 클라이언트(310)가 동기화 요구를 위해 서버(320)에 접속을 시도하는 제1 단계와, 클라이언트(310)가 접속되면 서버(320)가 사용자 아이디(ID)를 요구하는 제2 단계와, 클라이언트(310)가 서버(320)로 사용자 아이디를 응답하면 서버(320)가 임의의 랜덤 값을 생성하여 클라이언트(310)로 전송하는 제3 단계와, 상기 클라이언트(310)가 상기 랜덤 값을 인코딩하고 그 인코딩 값을 응답하면 서버(320)가 상기 랜덤 값과 해당 아이디의 패스워드 값을 데이터베이스(330)로부터 읽어 인코딩하고 그 인코딩된 값과 상기 클라이언트(310)로부터의 인코딩 값이 일치하는지 비교하는 제4 단계와, 상기 비교 결과가 일치하면 서버(320)가 인증 성공을 클라이언트(310)로 알리고 데이터 동기화 과정을 진행시키는 제5 단계를 수행하도록 구성한다. 3 is a signal flow diagram illustrating an authentication process according to an embodiment of the present invention. As shown in FIG. 3, the first step in which the client 310 attempts to connect to the server 320 for a synchronization request, and the client 310 When connected, the server 320 requests the user ID (ID), and when the client 310 responds to the user ID by the server 320, the server 320 generates a random random value to generate the client 310. A third step of transmitting the random value and if the client 310 encodes the random value and responds to the encoded value, the server 320 reads the random value and the password value of the corresponding ID from the database 330 and encodes the random value. A fourth step of comparing the encoded value with the encoding value from the client 310, and if the comparison result is identical, the server 320 notifies the client 310 of the successful authentication and synchronizes the data. It is configured to perform a fifth step of proceeding.

이와 같이 구성한 본 발명의 실시 예에 대한 동작 및 작용 효과를 도4 내지 도9를 참조하여 상세히 설명하면 다음과 같다. When described in detail with reference to Figures 4 to 9 the operation and effect of the embodiment of the present invention configured as described above.

우선, 클라이언트(310)는 동기화를 요구하기 위해 TCP/IP에 의해 서버(320)에 접속을 시도한다.First, client 310 attempts to connect to server 320 by TCP / IP to request synchronization.

이에 따라, 서버(320)는 클라이언트(310)가 접속되면 사용자의 아이디를 요청하는 메시지(EAP-Request/Identity)를 상기 클라이언트(320)로 전송한다. Accordingly, when the client 310 is connected, the server 320 transmits a message (EAP-Request / Identity) requesting an ID of the user to the client 320.

상기 아이디 요청 메시지(EAP-Request/Identity)는 도5의 예시도와 같이 작성된다. 도5에서 <EAP> 엘리먼트 내의 메시지가 인증 수행을 위한 메시지 부분으로, <Code>는 Request를 나타내고, Identifier는 "1"이며, <EAPData> 내의 요구하는 인증 메시지 종류는 Identity이고, <Data>는 상대방에게 나타나는 정보를 의미한다.The identity request message (EAP-Request / Identity) is prepared as shown in the example of FIG. In FIG. 5, the message in the <EAP> element is a message part for performing authentication, <Code> represents Request, Identifier is "1", the required authentication message type in <EAPData> is Identity, and <Data> is Means information that appears to the other party.

이후, 클라이언트(310)는 서버(320)로부터 받은 요청 메시지를 해석하고 그에 따른 응답 메시지(EAP-Response/Identity)를 생성한다. 즉, 클라이언트(310)는 <EAP> 엘리먼트로부터 확장 인증 프로토콜 사용을 인식한 후, Identity를 요구하는 인증 메시지임을 <Code>, <DataKind>를 통해 확인하고 그에 해당하는 응답 메시지(EAP-Response/Identity)를 생성한다.Thereafter, the client 310 interprets the request message received from the server 320 and generates a response message (EAP-Response / Identity) accordingly. That is, after recognizing the use of the extended authentication protocol from the <EAP> element, the client 310 confirms that the authentication message requires an identity through <Code> and <DataKind> and responds to the corresponding response message (EAP-Response / Identity). )

이에 따라, 클라이언트(310)는 자신의 아이디(ID)를 포함하는 응답 메시지(EAP-Response/Identity)를 서버(320)로 전송한다. Accordingly, the client 310 transmits a response message (EAP-Response / Identity) including its ID to the server 320.

상기 응답 메시지(EAP-Response/Identity)는 도6의 예시도와 같다. 도6에서 <EAP>내부에 응답을 나타내는 "<Code>Response<Code>", Identity 정보가 포함되었음을 나타내는 "<DataKind>Identity<DataKind>", 실제 클라이언트의 아이디(ID)를 나타내는 "<Identity>Hong<Identity>"를 포함한다.The response message (EAP-Response / Identity) is shown in FIG. 6. In FIG. 6, "<Code> Response <Code>" indicating a response inside <EAP>, "<DataKind> Identity <DataKind>" indicating that identity information is included, and "<Identity> indicating an ID of an actual client. Hong <Identity> ".

이때, 서버(320)는 클라이언트(310)의 응답 메시지(EAP-Response/Identity)를 해석하여 "<Code>Response</Code>"로부터 클라이언트(310)의 응답임을 확인하고 "<DataKind>Identity</DataKind>", "<Identity>Hong</Identity>"로부터 아이디가 "Hong"인 클라이언트가 인증 받기를 기다리고 있음을 확인하게 된다.At this time, the server 320 interprets the response message (EAP-Response / Identity) of the client 310 and confirms that it is the response of the client 310 from "<Code> Response </ Code>" and "<DataKind> Identity < / DataKind> "," <Identity> Hong </ Identity> "confirms that the client with ID" Hong "is waiting for authentication.

이후, 서버(320)는 클라이언트(310)가 실제로 "Hong"인지를 확인하기 위해 챌린지(challenge) 메시지(EAP-Request/challenge)를 상기 클라이언트(310)로 전송하여 실제 인증 과정을 수행하게 되는데, 이를 MD5 알고리즘을 사용하는 경우를 가정하여 설명하기로 한다. Thereafter, the server 320 transmits a challenge message (EAP-Request / challenge) to the client 310 to confirm whether the client 310 is actually “Hong,” and performs an actual authentication process. This will be described on the assumption that the MD5 algorithm is used.

먼저, 서버(320)는 임의의 랜덤(random) 값을 생성하고 그 값을 포함하는 챌린지 메시지(EAP-Request/challenge)를 클라이언트(310)에게 전송한다. First, the server 320 generates a random value and transmits a challenge message (EAP-Request / challenge) including the value to the client 310.

상기 챌린지 메시지(EAP-Request/challenge)는 도7의 예시도와 같이, "<MD5Chal>...<MD5Chal>" 내부의 랜덤 값을 미리 정해진 값(패스워드 등)과 함께 MD5 알고리즘을 사용하여 인코딩하고 그 인코딩된 값을 응답할 것을 클라이언트(310)에게 요구하는 메시지이다.The challenge message (EAP-Request / challenge) is encoded using an MD5 algorithm with a predetermined value (password, etc.) inside a &quot; <MD5Chal> ... <MD5Chal> &quot; Message that requests the client 310 to reply with the encoded value.

상기 챌린지 메시지(EAP-Request/challenge)에서 EAP 메시지의 종류를 나타내는 "<DataKind>...</DataKind>"는 "<DataKind>OTP</DataKind>", "<DataKind>TokenCard</DataKind>", "<DataKind>TLS</DataKind>" 등이 올 수도 있다."<DataKind> ... </ DataKind>" representing the type of EAP message in the challenge message (EAP-Request / challenge) is "<DataKind> OTP </ DataKind>", "<DataKind> TokenCard </ DataKind> "," <DataKind> TLS </ DataKind> ", and so on.

이때, 클라이언트(310)는 해당 MD5 알고리즘과 "<OTP> ..</OTP>", "<TokenCard> ..</TokenCard>", "<TLS> ..<TLS>" 중 하나의 내부 값에 의해 인코딩하여 응답을 준비하게 된다. 즉, 챌린지 메시지(EAP-Request/challenge)를 받은 클라이언트(310)는 "<DataKind>MD5Chal</DataKind>" 내부에 명시되어 있는 MD5 알고리즘과 "<MD5Chal>90384029304802039480230</MD5Chal>" 내부에 명시된 랜덤 값에 의해 "MD5(랜덤 값 + 패스워드 + alpha)" 인코딩하여 응답할 값을 계산한다.At this time, the client 310 has a corresponding MD5 algorithm and an internal value of one of "<OTP> .. </ OTP>", "<TokenCard> .. </ TokenCard>", and "<TLS> .. <TLS>". Encode by to prepare the response. That is, the client 310 receiving the challenge message (EAP-Request / challenge) is randomly specified in the MD5 algorithm specified in "<DataKind> MD5Chal </ DataKind>" and in "<MD5Chal> 90384029304802039480230 </ MD5Chal>". "MD5 (random value + password + alpha)" encoding by value calculates the value to respond.

상기 MD5 알고리즘에 의해 계산된 값은 항상 128비트의 정해진 값으로, 출력값에 의해 입력값을 알 수 없는 비가역 함수이다. 따라서, 출력값이 타인에게 알려진다해도 패스워드를 유추할 수 없기 때문에 인증을 위한 데이터로 사용되는 것이다. The value calculated by the MD5 algorithm is always a fixed value of 128 bits and is an irreversible function whose input value is unknown by the output value. Therefore, even if the output value is known to others, it cannot be inferred from the password, so it is used as data for authentication.

이에 따라, 클라이언트(310)는 질문받은 내용(패스워드)와 챌린지 값을 MD5 알고리즘에 의해 계산한 값을 포함하는 응답 메시지(EAP-Response/Credentials)를 생성하여 서버(320)로 전송한다. 상기 응답 메시지(EAP-Response/Credentials)는 도8의 예시도와 같으며, "<MD5Chal>...</MD5Chal>" 내부에 챌린지에 대한 응답값이 포함된다.Accordingly, the client 310 generates a response message (EAP-Response / Credentials) including the question content (password) and the value calculated by the MD5 algorithm, and transmits the response message to the server 320. The response message (EAP-Response / Credentials) is shown in FIG. 8 and includes a response value for the challenge in &quot; <MD5Chal> ... </ MD5Chal> &quot;.

이때, 서버(320)는 클라이언트(310)로부터의 응답 메시지를 받은 후 데이터베이스(330)로부터 자신이 전송한 챌린지 값과 해당 아이피의 패스워드 값을 읽어 상기 MD5 알고리즘에 의해 인코딩하고 그 인코딩한 값을 상기 응답 메시지에 포함된 응답값과 비교한다. At this time, after receiving the response message from the client 310, the server 320 reads the challenge value transmitted from the database 330 and the password value of the corresponding IP, encodes the encoded value by the MD5 algorithm, and encodes the encoded value. Compare with the response value included in the response message.

이에 따라, 서버(320)는 그 비교 결과에 따라 인증 성공 또는 실패 메시지를 클라이언트(310)에게 전송한다. Accordingly, the server 320 transmits an authentication success or failure message to the client 310 according to the comparison result.

즉, 서버(320)는 비교 결과가 일치하여 올바른 사용자로 판정하면 인증에 대한 성공을 클라이언트(310)에게 알리고, 데이터 동기화를 위한 상기 클라이언트(310)의 접근을 허가한다. 인증이 성공한 경우 서버(320)가 클라이언트(310)로 전송하는 메시지는 도9의 예시도와 같으며, <EAP>내의 "<Code>Success</Code>"에 의해 인증 성공을 알린다. 이때, <EAPData> 엘리먼트는 필요없다.That is, when the comparison result is determined to be a correct user, the server 320 notifies the client 310 of the success of authentication, and grants access to the client 310 for data synchronization. If the authentication is successful, the message transmitted to the client 310 by the server 320 is the same as the example of FIG. 9, and indicates the authentication success by "<Code> Success </ Code>" in <EAP>. At this time, the <EAPData> element is not necessary.

상기에서 인증에 성공한 경우 동기화 과정은 일반적인 SyncML 동기화 프로토콜을 따른다. If the authentication is successful in the above, the synchronization process follows the general SyncML synchronization protocol.

상기에서 상세히 설명한 바와 같이 본 발명은 SyncML을 이용하여 데이터 동기화를 위한 프로토콜에 확장 인증을 위한 스키마(schema)를 추가함으로써 TLS(Transport Layer Security)와 같은 인증서 기반을 이용하여 인증할 수 있는 프레임 웍(Frame Work)을 제공한다. As described in detail above, the present invention provides a framework capable of authenticating using a certificate base such as TLS (Transport Layer Security) by adding a schema for extended authentication to a protocol for data synchronization using SyncML ( Frame Work).

따라서, 본 발명은 서비스 제공업자가 안전하고 다양한 인증 방법을 자유롭게 선택할 수 있도록 제공하고 사용자가 원하는 인증 방법을 선택하여 사용할 수 있도록 함으로써 인증의 신뢰성을 향상시키는 효과가 있다. Accordingly, the present invention has an effect of improving the reliability of authentication by providing a service provider to be able to freely select a variety of authentication methods and by allowing the user to select and use a desired authentication method.

도1은 종래의 클라이언트로부터 서버로 전송되는 인증 메시지의 예시도. 1 is an exemplary diagram of an authentication message sent from a conventional client to a server.

도2는 종래의 서버로부터 클라이언트로 전송되는 인증 메시지의 예시도. 2 is an exemplary diagram of an authentication message transmitted from a conventional server to a client.

도3은 본 발명의 실시 예에서 인증 과정을 보인 신호 흐름도. 3 is a signal flow diagram illustrating an authentication process in an embodiment of the present invention.

도4는 본 발명의 실시 예에서 인증 메시지의 구조를 보인 도면. 4 is a view showing the structure of an authentication message in an embodiment of the present invention.

도5는 도3에서 사용자 아이디 요구를 위한 메시지의 예시도. 5 is an exemplary diagram of a message for requesting a user ID in FIG.

도6은 도3에서 사용자 아이디 응답을 위한 메시지의 예시도. 6 is an exemplary diagram of a message for a user ID response in FIG.

도7은 도3에서 인증값 요청을 위한 메시지의 예시도. 7 is an exemplary diagram of a message for requesting an authentication value in FIG.

도8은 도3에서 인증값 응답을 위한 메시지의 예시도. 8 is an exemplary view of a message for an authentication value response in FIG.

도9는 도3에서 인증 결과에 따른 메시지의 예시도. 9 is an exemplary view of a message according to the authentication result in FIG.

* 도면의 주요부분에 대한 부호 설명 * Explanation of symbols on the main parts of the drawings

310 : 클라이언트 320 : 서버 310: Client 320: Server

330 : 데이터베이스 330: database

Claims (9)

클라이언트와 서버간에 SyncML 프로토콜 기반의 메시지를 송수신하여 인증하는 방법에 있어서, In the method of transmitting and receiving a message based on SyncML protocol between the client and the server, 클라이언트가 동기화 요구를 위해 서버에 접속하는 단계와, The client connecting to the server for the synchronization request, 클라이언트가 접속되면 서버가 사용자 아이디(ID)를 요구하는 단계와, When the client is connected, the server requests a user ID. 클라이언트가 서버로 사용자 아이디를 응답하면 서버가 임의의 랜덤 값을 생성하여 클라이언트로 전송하는 단계와, When the client responds to the user ID to the server, the server generates a random random value and sends it to the client, 클라이언트로부터 랜덤 값을 인코딩한 값이 응답되면 서버가 이를 해석하여 클라이언트의 응답 값이 정당한 값인지 비교하는 단계와, If the server encodes a random value from the client, the server interprets it and compares the client's response with a valid value; 상기에서 응답 값이 정당한 값으로 확인되면 서버가 인증 성공을 클라이언트로 알리고 데이터 동기화 과정을 진행시키는 단계를 수행하도록 구성함을 특징으로 하는 SyncML 프로토콜 기반의 인증 방법. If the response value is confirmed as a legitimate value, the authentication method based on SyncML protocol, characterized in that the server is configured to notify the client of the authentication success and proceed with the data synchronization process. 제1항에 있어서, 클라이언트와 서버간 메시지 전송은 The method of claim 1, wherein the message transfer between the client and server is EAP(Extensible Authentication Protocol) 기반으로 이루어짐을 특징으로 하는 SyncML 프로토콜 기반의 인증 방법. Authentication method based on SyncML protocol, characterized in that it is based on EAP (Extensible Authentication Protocol). 제2항에 있어서, 전송 메시지는 The method of claim 2, wherein the transmission message 일반적인 SyncML 스키마에 확장 인증 프로토콜 적용을 위한 <EAP> 스키마를 포함하여 구성함을 특징으로 하는 SyncML 프로토콜 기반의 인증 방법.SyncML protocol-based authentication method comprising <EAP> schema to apply extended authentication protocol to general SyncML schema. 제3항에 있어서, <EAP> 스키마는4. The schema of claim 3 wherein the <EAP> schema is 응답 요청을 위한 Request, 요청에 대한 응답을 나타내는 Reponse, 인증 성공을 나타내는 Success, 인증 실패를 나타내는 Fail를 포함하는 <Code>와,<Code> including Request for response request, Response indicating response to request, Success indicating authentication success, Fail indicating authentication failure, EAP 메시지 식별을 위한 <Identifier>와,<Identifier> for identifying EAP message, 인증 관련 정보를 포함하는 <EAPdata>로 이루어진 <EAP> 스키마를 포함하는 SyncML 스키마임을 특징으로 하는 SyncML 프로토콜 기반의 인증 방법.Authentication method based on SyncML protocol, characterized in that it is SyncML schema including <EAP> schema consisting of <EAPdata> including authentication related information. 제4항에 있어서, <EAPdata>는The method of claim 4, wherein <EAPdata> is 메시지 내에 인증 성공(Success) 또는 인증 실패(Fail)를 나타내는 정보를 포함하는 경우 제거할 수 있는 데이터임을 특징으로 하는 SyncML 프로토콜 기반의 인증 방법. SyncML protocol-based authentication method characterized in that the data that can be removed if it includes information indicating the authentication success (Success) or authentication failure (Fail) in the message. 제4항에 있어서, <EAPdata>는The method of claim 4, wherein <EAPdata> is EAP 메시지의 종류를 나타내는 DataKind를 포함하여 구성함을 특징으로 하는 SyncML 프로토콜 기반의 인증 방법. SyncML protocol based authentication method comprising a DataKind indicating the type of EAP message. 제6항에 있어서, DataKind는 The method of claim 6, wherein DataKind is Identity, Notification, Nak, MD4Chal, OTP, TokenCard, TLS 중 하나의 값을 갖도록 구성함을 특징으로 하는 SyncML 프로토콜 기반의 인증 방법. Authentication method based on SyncML protocol, characterized in that configured to have one of Identity, Notification, Nak, MD4Chal, OTP, TokenCard, and TLS. 여기서, Identitysms 요구 또는 응답을 나타내는 엘리먼트, Notification은 상대방에게 알려야 할 주의 사항을 나타내는 엘리먼트, Nak는 응답하지 말 것을 나타내는 엘리먼트, MD5Chal은 MD5 알고리즘을 이용한 챌린지(challenge) 요구 또는 응답을 나타내는 엘리먼트, OTP는 One Time Password 알고리즘을 사용하는 경우의 요구 또는 응답을 나타내는 엘리먼트, TokenCard는 스마트카드를 포함하여 토큰 등을 사용할 경우를 나타내는 엘리먼트, TPS는 Transport Layer Security의 인증서 기반을 나타내는 엘리먼트이다. Herein, an element indicating an identity request or a response, a notification indicating an element to be notified to a counterpart, a Nak indicating an element not to respond, an MD5Chal indicating an challenge request or response using an MD5 algorithm, and an OTP An element representing a request or response when the One Time Password algorithm is used, a TokenCard is an element representing a case of using a token, including a smart card, and a TPS is an element representing a certificate base of a transport layer security. 제1항에 있어서, 응답 값은 랜덤 값과 패스워드를 MD5 알고리즘에 의해 인코딩한 값임을 특징으로 하는 SyncML 프로토콜 기반의 인증 방법. The authentication method according to claim 1, wherein the response value is a value obtained by encoding a random value and a password by an MD5 algorithm. 제1항에 있어서, 응답 값을 비교하는 단계는 The method of claim 1, wherein comparing the response values 랜덤 값과 해당 아이디의 패스워드 값을 데이터베이스로부터 획득하는 과정과, Obtaining a random value and a password value of the corresponding ID from a database; 상기 획득된 값을 합한 후 MD5 알고리즘에 의해 인코딩하는 과정과, Summing the obtained values and encoding by MD5 algorithm; 상기 인코딩된 값과 응답 값이 일치하는지 비교하는 과정과, Comparing the encoded value with the response value, and 상기 비교 결과가 일치하면 인증 성공으로 판정하는 과정으로 이루어짐을 특징으로 하는 SyncML 프로토콜 기반의 인증 방법. The authentication method based on SyncML protocol, characterized in that if the comparison result is determined that the authentication success.
KR1020040028477A 2004-04-24 2004-04-24 Authentication method based synchronization markup language protocol KR20050103075A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040028477A KR20050103075A (en) 2004-04-24 2004-04-24 Authentication method based synchronization markup language protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040028477A KR20050103075A (en) 2004-04-24 2004-04-24 Authentication method based synchronization markup language protocol

Publications (1)

Publication Number Publication Date
KR20050103075A true KR20050103075A (en) 2005-10-27

Family

ID=37281126

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040028477A KR20050103075A (en) 2004-04-24 2004-04-24 Authentication method based synchronization markup language protocol

Country Status (1)

Country Link
KR (1) KR20050103075A (en)

Similar Documents

Publication Publication Date Title
US11824995B2 (en) Bridging digital identity validation and verification with the FIDO authentication framework
US20050021957A1 (en) Authentication method in wire/wireless communication system using markup language
US9065823B2 (en) System and method for using a portable security device to cryptograhically sign a document in response to signature requests from a relying party to a digital signature service
KR102564842B1 (en) Mobile Authentication Interoperability for Digital Certificates
US9088561B2 (en) Method and system for authentication in a computer network
CN100534092C (en) Method and system for stepping up to certificate-based authentication without breaking an existing ssl session
CN101341492B (en) Secure identity management
CN102687482B (en) The distributed authentication of data cloud
US20100138899A1 (en) Authentication intermediary server, program, authentication system and selection method
US20130269007A1 (en) Authentication system, authentication server, service providing server, authentication method, and computer-readable recording medium
US20090031405A1 (en) Authentication system and authentication method
MX2008011277A (en) Digipass for the web-functional description.
US10771451B2 (en) Mobile authentication and registration for digital certificates
US20100293376A1 (en) Method for authenticating a clent mobile terminal with a remote server
JP4960738B2 (en) Authentication system, authentication method, and authentication program
JP2011215753A (en) Authentication system and authentication method
CN112367164B (en) Service request processing method and device, computer equipment and storage medium
US20200196143A1 (en) Public key-based service authentication method and system
US11503012B1 (en) Client authentication using a client certificate-based identity provider
CN113411324B (en) Method and system for realizing login authentication based on CAS and third-party server
KR20050103075A (en) Authentication method based synchronization markup language protocol
KR102389714B1 (en) SSO authentication and API service system and method using authentication token API and shared database
KR20100008893A (en) Method for enrollment and authentication using private internet access devices and system
WO2007108114A1 (en) Domain participation method, attribute certificate selection method, communication terminal, ic card, ce device, attribute certificate issuing station, and content server
JP2020173507A (en) Authentication mediating device and authentication mediating program

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination