KR102457202B1 - Service providing method based on mutual authentication using direct communication - Google Patents

Service providing method based on mutual authentication using direct communication Download PDF

Info

Publication number
KR102457202B1
KR102457202B1 KR1020200145329A KR20200145329A KR102457202B1 KR 102457202 B1 KR102457202 B1 KR 102457202B1 KR 1020200145329 A KR1020200145329 A KR 1020200145329A KR 20200145329 A KR20200145329 A KR 20200145329A KR 102457202 B1 KR102457202 B1 KR 102457202B1
Authority
KR
South Korea
Prior art keywords
terminal
user
service
authentication
providing
Prior art date
Application number
KR1020200145329A
Other languages
Korean (ko)
Other versions
KR20220059761A (en
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 KR1020200145329A priority Critical patent/KR102457202B1/en
Publication of KR20220059761A publication Critical patent/KR20220059761A/en
Application granted granted Critical
Publication of KR102457202B1 publication Critical patent/KR102457202B1/en

Links

Images

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
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B11/00Transmission systems employing sonic, ultrasonic or infrasonic waves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal

Abstract

다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법이 개시된다. 이 방법은 두 명의 대면 사용자별 모바일 단말이 다이렉트 통신하여 상대방을 상호 인증하는 다이렉트 인증 단계 및 서비스 서버가 상호 인증된 사용자들에게 요청 서비스를 제공하는 서비스 제공 단계를 포함한다.Disclosed is a method for providing a service based on mutual authentication using direct communication. The method includes a direct authentication step in which two face-to-face user-specific mobile terminals communicate directly to mutually authenticate each other, and a service provision step in which a service server provides a requested service to mutually authenticated users.

Description

다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법{Service providing method based on mutual authentication using direct communication}Service providing method based on mutual authentication using direct communication}

본 발명은 오프라인 상에서 직접 대면한 두 사람에게 온라인 서비스를 제공하는 기술에 관한 것으로, 특히 두 사람 간의 상호 인증 기술 및 그 인증 결과에 기반한 온라인 서비스 제공 기술에 관한 것이다.The present invention relates to a technology for providing an online service to two people who directly face each other offline, and more particularly, to a technology for mutual authentication between two people and an online service providing technology based on the authentication result.

오프라인 상에서 실제 대면한 사용자들을 인증한 후에 명함 교환과 같은 서비스를 제공하는 기술이 알려져 있다. 관련하여, 국내등록특허공보 제10-1789803호에는 명함 정보 교환 서비스 제공 방법이 개시되어 있다. 서버에 의해 수행되는 이 방법은 휴대용 단말의 블루투스 검색을 통해 전자 명함 교환시에도 사용자에게 실제 명함 교환과 유사한 경험을 제공하도록 하기 위한 것으로, 먼저 블루투스 통신이 가능한 거리에 위치하는 복수의 휴대용 단말들로부터 각각 타 단말의 블루투스 어드레스 리스트를 수신한 다음에 그 수신된 리스트들에 따라 데이터베이스를 검색한다. 다음으로, 서버는 검색 결과를 가지고 휴대용 단말들 각각으로 송신할 명함 교환 대상자 리스트들을 생성하여 각각의 휴대용 단말로 전송한다. 마지막으로, 서버는 각각의 휴대용 단말로부터 명함 교환 대상자 리스트에 대한 명함 교환 액션 요청을 수신하며, 그에 따라 명함 교환 액션 요청을 처리한다.A technique for providing a service such as exchanging business cards after authenticating users who have actually met offline is known. In relation to this, Korean Patent Publication No. 10-1789803 discloses a business card information exchange service providing method. This method performed by the server is to provide the user with an experience similar to the actual business card exchange even when exchanging electronic business cards through Bluetooth search of the portable terminal. After receiving the Bluetooth address list of each other terminal, the database is searched according to the received lists. Next, the server generates a business card exchange target list to be transmitted to each of the portable terminals with the search result, and transmits it to each portable terminal. Finally, the server receives the business card exchange action request for the business card exchange target list from each portable terminal, and processes the business card exchange action request accordingly.

국내등록특허공보 제10-1789803호 (2017년 10월 25일 공고)Domestic Patent Publication No. 10-1789803 (Announced on October 25, 2017)

본 발명은 두 명의 대면 사용자들이 자신들의 모바일 단말을 가까이에 두는 것만으로 상대방을 상호 인증하고 희망하는 서비스를 이용할 수 있게 하는 방안을 제공함을 목적으로 한다.An object of the present invention is to provide a method for enabling two face-to-face users to mutually authenticate each other and use a desired service simply by placing their mobile terminals close to each other.

일 양상에 따른 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법은 두 명의 대면 사용자별 모바일 단말이 다이렉트 통신하여 상대방을 상호 인증하는 다이렉트 인증 단계, 및 서비스 서버가 상호 인증된 사용자들에게 요청 서비스를 제공하는 서비스 제공 단계를 포함할 수 있다.A mutual authentication-based service providing method using direct communication according to an aspect includes a direct authentication step in which two face-to-face user-specific mobile terminals communicate directly to mutually authenticate a counterpart, and a service server providing a request service to mutually authenticated users It may include a service provision step.

다이렉트 인증 단계는 각각의 모바일 단말이 마이크 및 스피커를 이용한 음파 통신을 통해 상호 인증할 수 있다.In the direct authentication step, each mobile terminal may mutually authenticate through sound wave communication using a microphone and a speaker.

다이렉트 인증 단계는 두 모바일 단말이 각각 프리앰블 신호를 음파로 반복 송출하고 각각의 송출 휴지 기간에는 상대 단말로부터의 프리앰블 신호 수신 여부를 감지하며, 두 모바일 단말 중에서 프리앰블 신호를 먼저 수신한 제 1 단말이 프리앰블 신호의 반복 송출을 중단하는 대신 프리앰블 신호 수신에 대한 응답 신호를 음파로 반복 송출하며, 제 1 단말의 상대 단말인 제 2 단말이 송출 휴지 기간에 응답 신호를 수신하면 프리앰블 신호의 반복 송출을 중단하고 응답 신호 수신에 대한 응답 신호를 송출하여 제 1 단말과 제 2 단말 간에 동기화 세션이 수립되도록 하는 동기화 단계, 및 동기화 세션이 수립되면 두 모바일 단말 간에 음파 통신을 통해 상호 인증하는 상호 인증 단계를 포함할 수 있다.In the direct authentication step, each of the two mobile terminals repeatedly transmits a preamble signal as sound waves, and during each transmission pause period, it is detected whether a preamble signal is received from the other terminal, and the first terminal that receives the preamble signal first among the two mobile terminals receives the preamble signal. Instead of stopping the repeated transmission of the signal, a response signal to the reception of the preamble signal is repeatedly transmitted as sound waves, and when the second terminal, which is the counterpart terminal of the first terminal, receives the response signal during the transmission pause period, the repeated transmission of the preamble signal is stopped, A synchronization step of establishing a synchronization session between the first terminal and the second terminal by transmitting a response signal to the reception of the response signal, and a mutual authentication step of mutual authentication between the two mobile terminals through sound wave communication when the synchronization session is established. can

상호 인증 단계는 제 1 단말이 그 단말 사용자의 비밀키로 생성된 일회성의 인증토큰을 그 단말 사용자의 식별자(ID)와 함께 제 2 단말로 전송하는 단계, 제 2 단말이 제 1 단말로부터 수신된 사용자 ID와 인증토큰을 포함하여 구성되는 문자열을 해시함수로 변환하며, 변환을 통해 얻어진 해시값을 제 1 단말로 전송하는 단계, 제 1 단말이 자체 생성한 해시값과 타측 단말로부터 수신된 해시값을 비교하여 제 2 단말로 일치 여부를 응답하는 단계, 제 2 단말이 제 1 단말로부터 일치 응답을 수신한 경우 제 2 단말 사용자의 비밀키로 생성된 일회성의 인증토큰을 제 2 단말 사용자의 식별자(ID)와 함께 제 1 단말로 전송하는 단계, 제 1 단말이 제 2 단말로부터 수신된 사용자 ID와 인증토큰을 포함하여 구성되는 문자열을 해시함수로 변환하며, 변환을 통해 얻어진 해시값을 제 2 단말로 전송하는 단계, 및 제 2 단말이 자체 생성한 해시값과 제 1 단말로부터 수신된 해시값이 동일한지 비교하여 제 1 단말로 응답하는 단계를 포함할 수 있다.In the mutual authentication step, the first terminal transmits the one-time authentication token generated by the terminal user's private key to the second terminal together with the terminal user's identifier (ID), the second terminal receives the user from the first terminal Converting a string composed of an ID and an authentication token into a hash function, and transmitting the hash value obtained through the conversion to the first terminal, the hash value generated by the first terminal and the hash value received from the other terminal Comparing and responding to the second terminal whether or not the match is matched, when the second terminal receives the match response from the first terminal, the second terminal user's identifier (ID) Transmitting to the first terminal together with, the first terminal converts the string comprising the user ID and authentication token received from the second terminal into a hash function, and transmits the hash value obtained through the conversion to the second terminal and comparing whether the hash value generated by the second terminal and the hash value received from the first terminal are the same, and responding to the first terminal.

서비스 제공 단계는 상호 인증을 완료한 제 1 단말과 제 2 단말로부터 각각 상대 단말의 사용자가 유효한 사용자인지에 대한 인증 요청에 따라 인증 처리하며, 그 인증 처리 결과 둘 모두 유효한 사용자인 것으로 인증되면 요청 서비스를 제공할 수 있다. 서비스 제공 단계는 제 1 단말로부터 수신된 제 2 단말 사용자의 ID와 인증토큰을 수신하여 유효성을 인증하며, 제 2 단말로부터 수신된 제 1 단말 사용자의 ID와 인증 토큰을 수신하여 유효성을 인증할 수 있다.In the service provision step, authentication processing is performed according to an authentication request for whether the user of the opposite terminal is a valid user from the first terminal and the second terminal, respectively, which have completed mutual authentication, and if both are authenticated as valid users, the requested service can provide The service providing step may receive the ID and authentication token of the second terminal user received from the first terminal to authenticate the validity, and receive the ID and the authentication token of the first terminal user received from the second terminal to authenticate the validity. have.

본 발명에 따르면, 실제 대면한 두 사람은 자신들이 소지한 스마트폰을 맞대는 것만으로 상호 인증을 할 수 있게 되며, 그 상호 인증에 기반하여 서버에서 제공하는 다양한 서비스를 이용할 수 있게 된다. 즉, 대면 사용자들은 간단히 스마트폰을 맞대는 것만으로 상대방의 이름, 연락처, 프로필 사진이나 명함들을 공유할 수 있고, 상대방에게 계좌 송금을 할 수도 있으며, 상대방과 실제 스포츠 경기를 매칭하여 진행하는 등의 다양한 서비스를 이용할 수 있다.According to the present invention, two people who actually face each other can perform mutual authentication just by touching their smartphones, and based on the mutual authentication, various services provided by the server can be used. In other words, face-to-face users can share the other party's name, contact information, profile picture or business card simply by touching their smartphone, transfer money to the other party's account, and match actual sports events with the other party. A variety of services are available.

도 1은 일 실시예에 따른 상호 인증 기반 서비스 제공 시스템 구성도이다.
도 2는 일 실시예에 따른 상호 인증 기반 서비스 제공 방법 흐름도이다.
도 3은 음파를 이용한 문자 데이터 전송 설명을 위한 참고도이다.
도 4는 데이터 프레임 예시도이다.
도 5 및 도 6은 모바일 단말 간 동기화 과정 설명을 위한 참고도이다.
도 7은 모바일 단말 간 동기화 실패시의 신호 송수신 예를 나타낸다.
도 8은 도 2에 도시된 S120의 과정을 예시한 도면이다.
도 9는 일 실시예에 따른 정보 공유를 위한 상호 인증 기반 서비스 제공 방법 흐름도이다.
도 10은 일 실시예에 따른 계좌 송금을 위한 상호 인증 기반 서비스 제공 방법 흐름도이다.
도 11은 일 실시예에 따른 경기 매칭을 위한 상호 인증 기반 서비스 제공 방법 흐름도이다.
도 12는 모바일 단말에 표시되는 두 선수의 게임 점수 현황 예시도이다.
도 13은 일 실시예에 따른 상호 인증 기반 서비스 제공 방법 중 서비스 종료시의 흐름도이다.
1 is a configuration diagram of a system for providing services based on mutual authentication according to an embodiment.
2 is a flowchart of a method for providing a service based on mutual authentication according to an embodiment.
3 is a reference diagram for explaining text data transmission using sound waves.
4 is an exemplary diagram of a data frame.
5 and 6 are reference diagrams for explaining a synchronization process between mobile terminals.
7 shows an example of signal transmission/reception when synchronization between mobile terminals fails.
FIG. 8 is a diagram illustrating the process of S120 shown in FIG. 2 .
9 is a flowchart of a method for providing a service based on mutual authentication for information sharing according to an embodiment.
10 is a flowchart of a method for providing a service based on mutual authentication for account remittance according to an embodiment.
11 is a flowchart of a method for providing a service based on mutual authentication for match matching according to an embodiment.
12 is an exemplary diagram of the game score status of two players displayed on the mobile terminal.
13 is a flowchart when a service is terminated in a method of providing a service based on mutual authentication according to an embodiment.

전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예를 통해 통상의 기술자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.The foregoing and further aspects of the present invention will become more apparent through preferred embodiments described with reference to the accompanying drawings. Hereinafter, the present invention will be described in detail so that those skilled in the art can easily understand and reproduce it through these examples.

도 1은 일 실시예에 따른 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 시스템 구성도이다. 각각의 모바일 단말(100, 200)은 서로 다른 사용자가 사용하는 통신 가능한 컴퓨팅 기기로서, 스마트폰을 예로 들 수 있다. 각각의 모바일 단말(100, 200)에는 사용자에게 다이렉트 통신을 통한 상호 인증에 기반하여 서비스를 제공하기 위한 애플리케이션(서비스 앱)이 설치되어 실행될 수 있다. 서비스 서버(300)는 하나 이상의 서버를 포함하여 구성되는 서버 시스템으로서, 두 명의 대면 사용자들의 모바일 단말들(100, 200)과 데이터 통신하여 사용자들이 요청한 서비스를 제공한다.1 is a configuration diagram of a system for providing services based on mutual authentication using direct communication according to an embodiment. Each of the mobile terminals 100 and 200 is a communicable computing device used by different users, for example, a smart phone. An application (service app) for providing a service based on mutual authentication through direct communication to a user may be installed and executed in each of the mobile terminals 100 and 200 . The service server 300 is a server system configured to include one or more servers, and provides a service requested by the users through data communication with the mobile terminals 100 and 200 of two face-to-face users.

이 같은 구성들을 포함하는 상호 인증 기반 서비스 제공 시스템은 두 명의 사용자들이 대면한 상태에서 상대방을 상호 인증하며, 인증에 성공할 경우에 한하여 대면 사용자들이 요청한 서비스를 제공한다. 상호 인증은 두 모바일 단말 간에 다이렉트 통신을 통해 이루어진다. 그리고 대면 사용자들에게 제공되는 서비스 항목들로는 사용자들의 정보를 공유하는 정보 공유 서비스, 한 사용자의 계좌에서 다른 사용자의 계좌로 돈을 보내는 계좌 송금 서비스, 두 사용자가 오프라인 상에서 행할 스포츠 경기를 매칭하고 관리하는 경기 매칭 서비스 등을 예로 들 수 있다.The mutual authentication-based service providing system including such configurations mutually authenticates the other in a state where two users face each other, and provides the service requested by the face-to-face users only when the authentication succeeds. Mutual authentication is performed through direct communication between two mobile terminals. In addition, service items provided to face-to-face users include information sharing service that shares users' information, account remittance service that sends money from one user's account to another user's account, and matches and manages sporting events to be played by two users offline. A match matching service may be used as an example.

도 2는 일 실시예에 따른 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법 흐름도이다. 도 2에 도시된 바와 같이, 상호 인증 기반 서비스 제공 방법은 크게 다이렉트 인증 단계(S100)와 서비스 단계(S200)로 나뉜다. 다이렉트 인증 단계(S100)는 두 명의 대면 사용자들이 소지한 모바일 단말들(100, 200) 간에 다이렉트 통신을 통해 상호 인증하는 과정이며, 서비스 단계(S200)는 S100에 의해 상호 인증된 대면 사용자들에게 서비스를 제공하는 과정이다. 다이렉트 인증 단계(S100)는 제 1 단말(100)과 제 2 단말(200) 간에 동기화 세션을 수립하기 위한 동기화 단계(S110)와 동기화 세션이 수립된 제 1 단말(100)과 제 2 단말(200) 간에 상호 인증하는 인증 단계(S120)로 나뉠 수 있다. 그리고 서비스 단계(S200)는 S100을 통해 상호 인증된 두 사용자들의 유효성을 검증(인증)하는 단계(S210)와, 유효성이 검증된 두 사용자들에게 서비스를 제공하는 단계(S220)로 나뉠 수 있다. 이상의 절차에 따르면, 오프라인 상에서 서로 만남을 가진 두 명의 사용자들은 간단히 스마트폰을 맞대는 것만으로 정보 공유 서비스나 계좌 송금 서비스 또는 경기 매칭 서비스 등을 제공받을 수 있다. 일 예로, 각각의 서비스 앱은 사용자에게 복수의 서비스 항목을 제시하며, 두 사용자가 동일한 서비스 항목을 선택하면 해당 서비스를 제공받는다.2 is a flowchart of a method for providing a service based on mutual authentication using direct communication according to an embodiment. As shown in Fig. 2, the mutual authentication-based service providing method is largely divided into a direct authentication step (S100) and a service step (S200). The direct authentication step (S100) is a process of mutual authentication through direct communication between the mobile terminals (100, 200) possessed by two face-to-face users, and the service step (S200) is a service to face-to-face users mutually authenticated by S100 is the process of providing The direct authentication step (S100) is a synchronization step (S110) for establishing a synchronization session between the first terminal 100 and the second terminal 200, and the first terminal 100 and the second terminal 200 in which the synchronization session is established. ) can be divided into an authentication step (S120) of mutual authentication between each other. In addition, the service step (S200) can be divided into a step (S210) of verifying (authentication) the validity of two users mutually authenticated through S100, and a step (S220) of providing a service to the two users whose validity has been verified. According to the above procedure, two users who have met each other offline can receive information sharing service, account remittance service, match matching service, etc. simply by touching their smartphones. For example, each service app presents a plurality of service items to a user, and when two users select the same service item, the corresponding service is provided.

먼저, S100에 대해 설명한다. 제 1 단말(100)과 제 2 단말(200)은 근거리 다이렉트 무선 통신을 통해 상대방을 상호 인증한다(S110). 일 실시예에 있어서, 근거리 다이렉트 무선 통신은 모바일 단말의 마이크와 스피커를 이용한 음파 통신이다. 음파 통신은 사람의 귀로 인지하기 어려운 비교적 높은 주파수 대역을 활용하여 데이터를 전송하는 방식이다. 사람의 가청주파수는 일반적으로 20Hz ~ 20kHz의 대역을 갖는데 사람에 따라 조금씩의 차이는 있겠지만 나이가 듦에 따라 청력이 약해지는 현상을 감안하여 적용한다면 약 16kHz 이상의 가청주파수를 이용해도 일반 사람들의 생활에 지장을 주지 않는 음파 통신이 가능하다.First, S100 will be described. The first terminal 100 and the second terminal 200 mutually authenticate each other through short-range direct wireless communication (S110). In an embodiment, the short-range direct wireless communication is sound wave communication using a microphone and a speaker of a mobile terminal. Sound wave communication is a method of transmitting data using a relatively high frequency band that is difficult to recognize by the human ear. Human audible frequency generally has a band of 20Hz to 20kHz, although there are slight differences depending on the person, but if applied in consideration of the phenomenon of hearing loss as people age, even if an audio frequency of about 16kHz or higher is used, it can affect the lives of ordinary people. Non-interruptible sonic communication is possible.

두 대의 단말을 이용하여 음파 통신을 하고자 하는 경우, 어떤 단말에서 수신을 대기하고 또 어떤 단말에서 송신을 수행할지 등과 같은 순서와 방법이 미리 정의되어 있어야 한다. 이하에서는 이러한 순서와 방법 또는 각각의 역할을 정의하기 위하여 통신을 수행하는 각 단말이 동기화 과정을 거쳐 세션을 수립하고 전송 순서를 정하는 등 일련의 절차에 대해 설명한다. 음파 통신은 낮은 전송 속도와 좁은 대역폭을 갖는 특성이 있어서 긴 시간 동안 많은 데이터를 송수신할 수 있는 다른 통신 방법에 비해 제한적이다. 따라서 비교적 짧은 시간 동안 인증에 필요한 데이터를 빠르게 교환하고 서버를 이용하는 인증 과정을 거쳐 상호 신뢰할 수 있는 관계를 만들기 위한 절차를 제시한다.In case of performing sound wave communication using two terminals, the order and method such as which terminal waits for reception and which terminal performs transmission should be predefined. Hereinafter, in order to define the order and method or each role, a series of procedures such as each terminal performing communication establishing a session and determining a transmission order through a synchronization process will be described below. Sound wave communication has characteristics of low transmission speed and narrow bandwidth, so it is limited compared to other communication methods that can transmit and receive a lot of data for a long time. Therefore, we present a procedure for quickly exchanging data required for authentication in a relatively short time and creating a mutually trusted relationship through the authentication process using a server.

두 대의 단말 상호간 음파를 이용하는 통신 방법에 있어서, 동기화 과정에서 필요한 프리앰블(Preamble), 정상 응답(Acknowledgement, ACK)과 같은 신호에 대한 주파수를 정의하며, 일정한 주기로 동작하는 클록(clock) 타이밍에 따라 음파를 샘플링하여 디지털 신호로 변환한다. 이때 정의된 음파 주파수를 발생시키거나 발생시키지 않는 방법으로 비트 단위의 신호인 1, 0으로 인코딩(encoding)이 가능하다. 데이터는 사전에 정의된 바이트 전송 순서에 따라 전송되고 수신측에서는 사전 정의된 클록 타이빙에 맞춰 디코딩(decoding)하게 된다. 예를 들어 클록 신호의 주기를 1ms로 정하고 전송데이터의 주파수가 17kHz인 경우에 있어서 송신은 17kHz의 주파수를 1ms 간격으로 하여 발생시키거나(1) 발생시키지 않도록 하여(0) 데이터를 전송한다. 즉, ‘A’라는 문자를 전송하고자 한다면 ‘A’의 아스키 값에 해당하는 10진수 65의 값을 2진수로 전송하는 것이다. 10진수 65는 2진수로는 01000001이므로 17kHz의 주파수는 1ms의 주기에 맞춰 도 3와 같이 발송된다. In a communication method using sound waves between two terminals, frequencies for signals such as preamble and acknowledgment required in the synchronization process are defined, and sound waves are is sampled and converted into a digital signal. In this case, by generating or not generating the defined sound wave frequency, it is possible to encode 1, 0, which is a signal in units of bits. Data is transmitted according to a predefined byte transmission order, and the receiving end decodes it according to a predefined clock timing. For example, when the cycle of the clock signal is set to 1 ms and the frequency of transmission data is 17 kHz, transmission is performed with the frequency of 17 kHz at 1 ms intervals (1) or not (0) before data is transmitted. In other words, if you want to transmit the character ‘A’, the value of decimal 65, which corresponds to the ASCII value of ‘A’, is transmitted in binary. Since the decimal number 65 is 01000001 in binary, the frequency of 17 kHz is transmitted as shown in FIG. 3 according to the period of 1 ms.

이때 데이터의 전송에 있어서는 도 4에서와 같이 데이터의 앞 뒤에 시작과 끝을 나타내는 플래그로써 시작비트와 정지비트를 포함하도록 구성하고, 정지비트 앞에 패리티 비트를 추가하여 오류 검출이 가능하도록 한다. 데이터의 전송이 시작되면 송신측 단말에서는 HIGH 신호를 송출하기 시작하고 이어서 아래의 프레임과 같이 시작비트를 시작으로 데이터를 전송한다. 한편, 송신측의 데이터가 모두 전송되면 HIGH 신호를 LOW 신호로 바꾸고 수신모드로 전환하며, 수신측 단말이 송신모드로 전환하여 동일한 방법으로 전송을 진행한다.At this time, in data transmission, as shown in FIG. 4 , a start bit and a stop bit are included as flags indicating the start and end of the data, and a parity bit is added before the stop bit to enable error detection. When data transmission starts, the transmitting terminal starts to transmit a HIGH signal, and then transmits data starting with the start bit as shown in the frame below. On the other hand, when all data of the transmitting side is transmitted, the HIGH signal is changed to a LOW signal, and the reception mode is switched.

프리앰블은 높은 주파수 대역의 일정한 주기를 갖는 음파를 발송하는데 단말에 따라 조금씩 다른 간격으로 상대 단말에서 감지할 때까지 반복하여 브로드캐스팅(broadcasting)하게 된다. 한편, 단말은 프리앰블이 발송되는 동안 자신이 발송하는 프리앰블 신호와의 중첩을 피하기 위해 마이크로부터 감지되는 신호를 무시하고, 프리앰블과 프리앰블 사이의 일정시간 멈추어지는 휴지 기간(송출 휴지 기간) 동안에 다른 단말에서 발송되는 프리앰블이 있는지 감시한다. 상대 단말의 프리앰블을 먼저 감지하는 단말은 자신의 프리앰블 송출을 중지하고 상대 단말에게 프리앰블 인지에 대해 알리기 위해 ACK 신호를 반복하여 보낸다. 그리고 프리앰블을 송출하던 단말이 ACK를 받게 되면 프리앰블 송출을 중지하고 상대 단말의 ACK에 대한 응답으로 ACK 신호를 다시 전송한다.The preamble transmits a sound wave having a constant period in a high frequency band, and is repeatedly broadcasted at slightly different intervals depending on the terminal until it is detected by the other terminal. On the other hand, the terminal ignores the signal detected from the microphone to avoid overlap with the preamble signal it sends while the preamble is being sent, and during the pause period (transmission pause period) that is stopped for a certain time between the preamble and the preamble, the Monitor for outgoing preambles. The terminal that first detects the preamble of the counterpart terminal stops transmitting its own preamble and repeatedly sends an ACK signal to notify the counterpart terminal about whether the preamble is recognized. And when the terminal that has transmitted the preamble receives the ACK, it stops transmitting the preamble and transmits the ACK signal again in response to the ACK of the counterpart terminal.

이 같은 동기화 과정에 대한 도면이 도 5에 도시되어 있다. 참고로, 도 5에서 각각의 모바일 단말은 송출 휴지 기간의 개시 시점마다 종료 시점을 랜덤하게 결정하여 매번 송출 휴지 기간을 달리할 수 있다. 또는 각각의 모바일 단말의 송출 휴지 기간은 달리 설정되어 있을 수 있다. 그리고 도 5를 절차적으로 표현한 도식은 도 6과 같다. 이상의 방법으로 음파 통신을 이루려는 제 1 단말(A 단말)과 제 2 단말(B 단말)은 상호 간에 동기화 과정을 마치고 하나의 세션을 수립하게 된다(S110). 한편, 정상적인 경우의 처리 방법과 달리 만일 정해진 시간동안 프리앰블을 감지하고 ACK를 보내오는 응답이 나타나지 않는 경우라면 동기화는 실패하게 된다. 또한, 프리앰블에 대한 ACK를 받은 이후 응답에 대한 ACK를 보내지 않는 경우 프리앰블 수신 단말은 3회에 걸쳐 ACK의 재전송을 처리하고 이후에도 응답이 없는 경우라면 동기화는 실패하게 된다. 이에 대해서는 도 7에 예시되어 있다.A diagram of such a synchronization process is shown in FIG. 5 . For reference, in FIG. 5 , each mobile terminal may randomly determine an end time for each start time of the transmission pause period, so that the transmission pause period may be different each time. Alternatively, the transmission pause period of each mobile terminal may be set differently. And a schematic representation of FIG. 5 procedurally is the same as FIG. 6 . In the above method, the first terminal (terminal A) and the second terminal (terminal B), which want to achieve sound wave communication, complete a mutual synchronization process and establish one session (S110). On the other hand, unlike the normal processing method, if the preamble is sensed for a predetermined time and a response for sending an ACK does not appear, synchronization will fail. In addition, if the ACK for the response is not sent after receiving the ACK for the preamble, the preamble receiving terminal processes the retransmission of the ACK three times, and if there is no response after that, the synchronization will fail. This is illustrated in FIG. 7 .

동기화 세션이 수립되면, 두 단말(100, 200)은 상호 간에 인증을 위한 통신을 진행한다(S120). 이상의 동기화 과정을 통해 S120에서의 신호 전송 순서가 결정되는데, 도 5 및 도 6에서와 같이 최종 ACK를 수신한 A 단말(100)부터 신호 송신이 개시되는 것으로 결정되며, B 단말(200)은 수신 대기 상태에 놓인다. 따라서, S120은 A 단말(100)부터 시작되는데, 그 과정이 도 8에 도시되어 있다. 살펴보면, A 단말(100)은 서비스 서버(300)로부터 발급받은 단말 사용자(사용자 A 또는 제 1 사용자라 함) 전용의 비밀키(secret key)를 이용하여 인증토큰을 생성하고, 그 생성된 인증토큰을 사용자 A의 ID와 함께 음파로 변환하여 발송한다. 그리고 수신 대기중이던 B 단말(200)은 A 단말의 음파데이터를 수신하여 디지털 데이터로 변환하고, 이로부터 얻어지는 사용자 A의 ID와 인증토큰 그리고 이 둘을 구분하는 구분자 플래그를 포함하는 데이터를 하나의 문자열로 하여 해시함수로 변환하여 그 해시값을 응답으로 전송한다. A 단말(100)은 B 단말(200)의 응답을 수신하고 디지털 데이터로 변환하여 얻어진 해시값을 자체 생성한 해시값과 비교하여 일치하는지 여부를 확인하며, 그 확인 결과에 대한 응답으로 ACK 또는 NAK를 전송한다.When the synchronization session is established, the two terminals 100 and 200 communicate for mutual authentication (S120). Through the above synchronization process, the signal transmission order in S120 is determined. As shown in FIGS. 5 and 6 , it is determined that the signal transmission starts from the terminal A 100 that has received the final ACK, and the terminal B 200 receives placed on standby Therefore, S120 starts from the terminal A 100, the process of which is shown in FIG. Looking at it, the terminal A 100 generates an authentication token using a private key for the terminal user (referred to as user A or the first user) issued from the service server 300 , and the generated authentication token is converted into sound waves together with user A's ID and sent. And the terminal B 200, which was waiting for reception, receives the sound wave data of terminal A and converts it into digital data, and the user A's ID and authentication token obtained therefrom, and the data including the delimiter flag that distinguishes the two, is converted into one string. is converted into a hash function and the hash value is transmitted as a response. Terminal A 100 receives the response of terminal B 200 and compares the hash value obtained by converting it into digital data with the hash value generated by itself and confirms whether it matches, and in response to the confirmation result, ACK or NAK to send

B 단말(200)은 A 단말(100)로부터 ACK를 받은 경우 서비스 서버(300)로부터 발급받은 단말 사용자(사용자 B 또는 제 2 사용자라 함) 전용의 비밀키(secret key)를 이용하여 일회용 인증토큰을 생성하며, 그 생성된 일회용 인증토큰을 사용자 B의 ID와 함께 음파로 변환하여 발송한다. 그리고 수신 대기중이던 A 단말(100)은 B 단말(200)의 음파데이터를 수신하여 디지털 데이터로 변환하고, 이로부터 얻어지는 사용자 B의 ID와 인증토큰 그리고 이 둘을 구분하는 구분자 플래그를 포함하는 데이터를 하나의 문자열로 하여 해시함수로 변환하여 그 해시값을 응답으로 전송한다. B 단말(200)은 A 단말(100)의 응답을 수신하고 디지털 데이터로 변환하여 얻어진 해시값을 자체 생성한 해시값과 비교하여 일치하는지 여부를 확인하며, 그 확인 결과에 대한 응답으로 ACK 또는 NAK를 전송한다.When the terminal B 200 receives the ACK from the terminal A 100, the terminal user (referred to as the user B or the second user) issued from the service server 300 uses a dedicated secret key for a one-time authentication token. , and converts the generated one-time authentication token into sound waves together with user B's ID and sends it. And the terminal A 100, which was waiting for reception, receives the sound wave data of the terminal B 200 and converts it into digital data, and the user B's ID and authentication token obtained therefrom, and data including a separator flag to distinguish the two It converts a single string into a hash function and transmits the hash value as a response. Terminal B 200 receives the response of terminal A 100 and compares the hash value obtained by converting it into digital data with the hash value generated by itself and confirms whether it matches, and in response to the confirmation result, ACK or NAK to send

이상에 따라, 사용자 A의 ID와 인증토큰 그리고 사용자 B의 ID와 인증토큰이 상호간에 잘 전달되고 문제없이 인식되어 모두 ACK를 교환하였다면 사용자 A와 사용자 B 간에 상호 인증이 완료되어 A 단말(100)과 B 단말(200) 간의 음파 통신은 종료된다. 한편, 상술한 과정에서 만일 B 단말(200)이 A 단말로부터 NAK를 받은 경우라면 B 단말(200)은 A 단말(100)로 해시값을 재전송하겠지만 재전송의 횟수에는 제한을 두어 A 단말(100)이 발행하는 인증토큰이 유효한 시간 내에 검증되도록 한다.According to the above, if the ID and authentication token of user A and the ID and authentication token of user B are well communicated and recognized without any problem, and all ACKs are exchanged, mutual authentication between user A and user B is completed and terminal A (100) The sound wave communication between the and B terminal 200 is terminated. Meanwhile, in the above process, if terminal B 200 receives a NAK from terminal A, terminal B 200 retransmits the hash value to terminal A 100, but the number of retransmissions is limited to terminal A 100. Ensure that the issued authentication token is verified within the valid time.

다음으로, S200에 대해 설명한다. 서비스 서버(300)는 S100을 통해 상호 인증된 사용자들에게 요청 서비스를 바로 제공하거나 사용자들이 각각 유효한 사용자인지를 검증(인증)한 후에 요청 서비스를 제공한다(S210)(S220). 후자의 경우, 서비스 서버(300)는 유효 사용자 인증을 위해 사전에 사용자들의 서비스 가입 단계를 처리하고, S100 완료 후에 유효성 인증 단계를 거쳐 사용자들의 유효성을 인증한 후에 서비스를 제공하며, 서비스 제공이 완료되면 채널 종료 단계를 수행한다. 이하에서는 각각의 단계에 대해 설명한다.Next, S200 will be described. The service server 300 directly provides the requested service to the mutually authenticated users through S100 or provides the requested service after verifying (authentication) whether the users are valid users respectively (S210) (S220). In the latter case, the service server 300 processes the service subscription step of users in advance for valid user authentication, and provides the service after authenticating the validity of the users through the validity authentication step after completion of S100, and the service provision is completed When done, the channel termination step is performed. Hereinafter, each step will be described.

■ 서비스 가입 단계■ Service Subscription Steps

가입요청 프로세스는 다른 서비스의 일반적인 가입절차와 유사하게 사용자 본인 인증과 개인정보 입력 및 약관동의의 내용을 포함하며, 이상의 정보 입력이 정상적으로 처리되는 경우 사용자의 ID와 비밀키를 생성하여 발급한다. 이때 서버(서비스 서버)에서 생성하는 비밀키는 사용자 ID에 1:1 매칭되는 것으로, 비밀키를 이용하여 인증토큰을 생성하고 검증으로 활용한다. 인증토큰으로는 TOTP(Time-based One-time Password)가 사용될 수 있다. TOTP는 제한된 시간동안만 유효한 일회용 패스워드로써 모바일 사용자들 간에 인증을 처리함에 있어 보안에 유리하다. 특히, 음파 통신을 통해 상대방과 정보를 공유하는 과정은 음파가 노출되는 환경으로 보안에 취약할 수 있기 때문에 이러한 TOTP 기반의 인증토큰은 다른 해킹이나 간섭 등에 있어서도 1:1 통신을 보다 신뢰도 높게 지속시킬 수 있다. 그러나 인증토큰이 반드시 TOTP로 제한되는 것은 아니며, OTP(One-time Password)나 HOTP(HMAC-baxed Ont-time Password) 등이 사용될 수도 있다.The subscription request process includes user authentication, personal information input, and agreement to terms and conditions similar to the general subscription procedure for other services. At this time, the secret key generated by the server (service server) matches the user ID 1:1, and the authentication token is generated using the secret key and used for verification. As the authentication token, TOTP (Time-based One-time Password) may be used. TOTP is a one-time password valid only for a limited time, which is advantageous for security in processing authentication between mobile users. In particular, the process of sharing information with the other party through sound wave communication can be vulnerable to security due to the environment where sound waves are exposed. can However, the authentication token is not necessarily limited to TOTP, and OTP (One-time Password) or HOTP (HMAC-baxed Ont-time Password) may be used.

■ 유효성 인증 단계■ Validation Steps

사용자 1:1 인증 프로세스는 A 단말로부터 B 사용자에 대한 인증을 요청받고 그 결과를 회신한다. 이러한 A 단말의 요청을 처리하기 위해 인증 프로세스는 인증의 대상이 되는 사용자 B의 ID와 인증토큰을 요구한다. 이에 A 단말은 S120을 통해 얻어진 사용자 B의 ID와 인증토큰을 서버로 전송하며, 서버는 우선 사용자 A가 유효한 사용자인지 검사한다. 사용자 A가 유효하다면, 다음으로 인증 대상인 사용자 B의 ID가 유효한지 검사하고 이어서 사용자 B의 인증토큰을 검사하여 유효한지를 검사한다. 이렇게 모든 검사 결과 유효하다면, 서버는 A 단말과 B 단말이 서로 통신을 하고 있다고 간주한다. 여기에서 A 단말과 B 단말이 통신을 하고 있다는 것은 A 단말이 B 단말에 대한 인증 요청을 한다면 상대적으로 B 단말도 A 단말에 대한 인증 요청을 해야한다는 것을 의미한다. 즉, 서버에서는 A 단말로부터 요청받은 인증 대상인 사용자 B가 이미 사용자 A에 대한 요청이 있었거나 앞으로 짧은 시간 안에 그 요청이 있을 것이라고 간주한다.The user 1:1 authentication process receives a request for authentication for user B from terminal A and returns the result. In order to process the request of terminal A, the authentication process requires the user B's ID and authentication token to be authenticated. Accordingly, terminal A transmits the ID and authentication token of user B obtained through S120 to the server, and the server first checks whether user A is a valid user. If user A is valid, next, it is checked whether the ID of user B, which is the object of authentication, is valid, followed by checking whether user B's authentication token is valid. If all the test results are valid in this way, the server considers that terminal A and terminal B are communicating with each other. Here, the fact that terminal A and terminal B are communicating means that, if terminal A makes an authentication request for terminal B, relatively terminal B should also request authentication for terminal A. That is, the server considers that user B, the authentication target requested from terminal A, has already made a request for user A or that the request will be made within a short time.

따라서, 서버는 A 단말과 B 단말이 통신을 하고 있다고 간주하는 것을 계기로 하나의 이벤트를 생성하고 그 이벤트는 일정 시간동안 쌍방이 모두 상대에 대한 인증 요청이 완료되기를 기다리는 것으로 한다. 만일 어느 한쪽에서라도 상대에 대한 인증 요청이 발생하지 않는다면, 서버는 이 둘 사용자 간의 통신이 종료된 것으로 간주한다. 즉, A 단말과 B 단말 사이의 통신에 대한 이벤트는 종료되고 각 단말에 통신 종료 메시지가 전송된다. 만일 A 단말과 B 단말 사이의 통신에 대한 이벤트에 쌍방의 인증 요청이 모두 등록되면, 서버는 두 사용자 간에 통신이 이루어지고 있다고 확신하고 이벤트를 활성화한다. A 단말과 B 단말의 통신 이벤트는 가상의 인증 채널로서 이제 A 단말과 B 단말은 이 가상의 인증 채널로 서비스를 제공받을 수 있다.Accordingly, the server generates an event when it is considered that the terminal A and the terminal B are communicating, and the event is assumed to be waiting for both parties to complete the authentication request for the counterpart for a certain period of time. If neither side makes an authentication request for the other, the server considers that the communication between the two users is terminated. That is, the event for communication between terminal A and terminal B is terminated, and a communication termination message is transmitted to each terminal. If both authentication requests are registered in the event for communication between terminal A and terminal B, the server assures that communication is occurring between the two users and activates the event. The communication event between terminal A and terminal B is a virtual authentication channel, and now terminal A and terminal B can receive service through this virtual authentication channel.

■ 채널 종료 단계■ Channel Termination Phase

인증 채널의 생명주기는 인증을 목적으로 하는 일회성이며, 단말 상호간에 인증이 완료되면 인증을 이용하는 서비스 모델의 절차에 따라 서비스가 이루어지고 종료한다. 인증 채널은 두 단말 사이에서 공유 등을 목적으로 유효하므로, 하나의 단말에 대해 하나의 인증 채널이 사용중인 동안 다른 인증 채널을 생성할 수 없다. 채널이 종료되면 각 단말은 다시 유휴 상태가 되며 다른 인증 요청이 가능해진다.The life cycle of the authentication channel is one-time for the purpose of authentication, and when mutual authentication between terminals is completed, the service is made and terminated according to the procedure of the service model using authentication. Since the authentication channel is valid for the purpose of sharing between two terminals, another authentication channel cannot be created while one authentication channel is being used for one terminal. When the channel is terminated, each terminal becomes idle again and another authentication request becomes possible.

이하에서는 서비스 항목별 프로세스에 대해 설명한다. 먼저, 정보 공유 서비스에 대해 설명한다. 도 9에 정보 공유를 위한 상호 인증 기반 서비스 제공 방법에 대한 흐름도가 도시되어 있다. A 단말(100)과 B 단말(200)은 음파 통신을 통해 상호 인증을 수행한다(S100). 상호 인증이 성공적으로 완료되면, A 단말(100)은 정보 공유 서비스를 이용하기 위해 서비스 서버(300)로 사용자 B의 인증용 정보를 전달하면서 사용자 B에 대한 유효성 인증을 요청하며, B 단말(200) 역시 정보 공유 서비스를 이용하기 위해 서비스 서버(300)로 사용자 A의 인증용 정보를 전달하면서 사용자 A에 대한 유효성 인증을 요청하는 것을 시작으로 S200이 개시된다. 서비스 서버(300)는 상술한 바와 같이 사용자들의 유효성을 검증하고 상호 통신하는 두 사용자를 매칭시키며, 유효성이 정상적으로 검증되면 정보 공유를 위한 이벤트를 생성한다. 그리고 생성된 이벤트에 따라 A 단말(100)로는 사용자 B의 개인정보를 전달하며, B 단말(200)로는 사용자 A의 개인정보를 전달하는 공유 과정을 수행한다. 공유 과정이 완료되면 통신은 종료된다.Hereinafter, a process for each service item will be described. First, an information sharing service will be described. 9 is a flowchart illustrating a method for providing a service based on mutual authentication for information sharing. Terminal A 100 and terminal B 200 perform mutual authentication through sound wave communication (S100). When the mutual authentication is successfully completed, the terminal A 100 requests validity authentication for the user B while transferring the authentication information of the user B to the service server 300 to use the information sharing service, and the terminal B 200 ) S200 starts with requesting validity authentication for user A while transmitting authentication information of user A to the service server 300 to use the information sharing service as well. As described above, the service server 300 verifies the validity of the users and matches the two users communicating with each other, and when the validity is normally verified, an event for information sharing is generated. And according to the generated event, the user B's personal information is delivered to the terminal A 100 and the sharing process of delivering the user A's personal information to the B terminal 200 is performed. When the sharing process is completed, the communication is terminated.

이에 대해 부연 설명한다. 앞서 설명한 바와 같이, 음파를 이용한 단말 상호 간의 인증 프로세스를 따르면 두 모바일 단말 간에 신뢰할 수 있는 가상의 채널이 형성되며, 이제 이 채널을 통해 서로의 연락처나 프로필 사진, 명함 등을 공유할 수 있다. 이를 위한 프로세스는 공유하려는 개인정보를 등록하는 단계 → 공유하려는 정보를 선택하는 단계 → 쌍방간에 상호 인증을 요청하는 단계 → 만남 이벤트를 생성하는 단계 → 공유하려는 정보를 교환하는 단계 → 전달받은 정보를 저장하고 관리하는 단계 → 이미 상대방 정보를 보유한 경우의 단계로 구성될 수 있다. 각각의 단계에 대해 설명한다.This will be described in detail. As described above, if the mutual authentication process using sound waves is followed, a trusted virtual channel is formed between the two mobile terminals, and now it is possible to share each other's contacts, profile pictures, business cards, etc. through this channel. The process for this is the step of registering the personal information to be shared → the step of selecting the information to be shared → the step of requesting mutual authentication between the two parties → the step of creating a meeting event → the step of exchanging the information to be shared → saving the received information It may consist of a step of managing and managing the information of the counterparty → a step of already possessing the counterparty information. Each step is described.

■ 공유하려는 개인정보를 등록하는 단계■ Step to register personal information you want to share

서비스에 가입한 사용자가 개인의 연락처나 명함 등을 공유하기 위해서는 먼저 공유하고자 하는 개인정보를 미리 데이터베이스에 등록해야 한다. 즉, 이 단계는 정보 공유 서비스를 이용하기 위한 사전 단계이다. 공유 대상이 되는 개인정보에는 이름, 별명, 전화번호, 집주소, 사무실 주소, 이메일 주소, 회사명, 부서, 직위, 직업, 명함, 간단한 프로필 및 프로필 사진 등이 포함될 수 있다. 사용자는 이러한 개인정보를 그룹별로 나누어 관리할 수 있다. 그룹의 관리 목적은 개인정보를 공유함에 있어서 공유의 대상이 되는 사람의 부류에 따라 전달하고자 하는 정보를 나누어 공유하기 위함이다. 사용자 선택에 따라 개인 정보 항목은 그룹별로 분류되고 레코드로 저장되어 보관된다. 예를 들어, 그룹‘비즈니스’에는 이름과 전화번호, 메일주소와 회사와 관련된 정보 그리고 명함이 공유 항목으로 구성될 수 있고, 그룹‘친구’에는 이름과 집주소 그리고 명함이 공유 항목으로 구성될 수 있으며, 그룹‘동호회’에는 이름과 별명, 전화번호, 프로필 사진이 공유 항목으로 구성될 수 있다.In order for a user who has subscribed to the service to share an individual's contact information or business card, the personal information to be shared must be registered in the database in advance. That is, this step is a preliminary step for using the information sharing service. Personal information to be shared may include name, nickname, phone number, home address, office address, email address, company name, department, position, occupation, business card, brief profile and profile picture. The user can manage such personal information by dividing it into groups. The management purpose of the group is to divide and share the information to be delivered according to the type of person to be shared in sharing personal information. According to user selection, personal information items are classified into groups and stored as records. For example, in the group 'Business', names, phone numbers, e-mail addresses, company-related information, and business cards can be shared as shared items, and in the group 'Friends', names, home addresses, and business cards can be shared as shared items. In the group 'group', names, nicknames, phone numbers, and profile pictures can be shared as items.

■ 공유하려는 정보를 선택하는 단계■ Steps to select the information you want to share

연락처 또는 명함과 같은 서로의 정보를 공유하기 위해 모바일 단말에서 공유하고자 하는 정보를 선택한다. 선택할 수 있는 정보는 ‘공유하려는 개인정보를 등록하는 단계’에서 정의한 항목별 또는 그룹별로 선택이 가능하다. 공유하려는 항목 또는 그룹이 선택되면, 모바일 단말은 음파를 이용하는 상호 인증 프로세스(S100)를 진행하기 위하여 사용자 화면을 인증 프로세스 화면으로 전환하고 사용자에게 진동 또는 알림음으로 다음의 진행을 알린다. 한편, 모바일 단말은 현재 아무것도 하지 않는 "IDLE” 상태로서 단순 대기 모드이다.In order to share information with each other, such as contact information or business cards, the mobile terminal selects information to be shared. Selectable information can be selected for each item or group defined in ‘Registering personal information to be shared’. When an item or group to be shared is selected, the mobile terminal switches the user screen to the authentication process screen in order to proceed with the mutual authentication process (S100) using sound waves, and notifies the user of the next progress by vibration or a notification sound. On the other hand, the mobile terminal is in a simple standby mode as an "IDLE" state that does not currently do anything.

■ 쌍방간에 상호 인증을 요청하는 단계■ Step to request mutual authentication between both parties

공유하려는 정보가 선택되고 각 모바일 단말에서 음파를 이용하는 상호 인증 프로세스(S100)의 절차가 개시된다. S100이 정상적으로 완료되면 연락처 또는 명함과 같은 정보의 교환, 즉 상호 간의 데이터 공유가 완료될때까지 각각의 단말 상태는 “사용중(BUSY)”으로 전환되며 이 값은 서버에서 관리된다. 사용중 상태가 IDLE 상태로 전환될때까지는 다른 상호 인증을 하지 못하도록 제한하여 중복 인증이 발생하는 문제를 방지한다. 서버에서 관리하는 모바일 단말의 상태는 간단히 “준비(READY)”와 “사용중(BUSY)”의 상태를 가지며, 서버는 단말이 만일 “BUSY”상태라면 현재 진행중인 인증된 작업 외에는 다른 요청에 대해 처리하지 않는다. 한편, 단말은 서버로 인증 요청 메시지를 전송함과 동시에 “인증대기”상태로 전환되며 인증결과에 대한 메시지를 받으면서 “인증완료”상태가 된다.The information to be shared is selected and the procedure of the mutual authentication process (S100) using sound waves in each mobile terminal is started. When S100 is normally completed, the status of each terminal is changed to “BUSY” until the exchange of information such as contact information or business card, that is, data sharing between each other is completed, and this value is managed by the server. Until the in-use state is converted to the IDLE state, other mutual authentication is restricted to prevent duplicate authentication from occurring. The status of the mobile terminal managed by the server is simply “READY” and “BUSY”. does not On the other hand, the terminal transmits an authentication request message to the server and at the same time switches to the "authentication waiting" state, and enters the "authentication complete" state while receiving a message about the authentication result.

■ 만남 이벤트를 생성하는 단계■ Steps to create an encounter event

사용자 간의 상호 인증이 완료되면 서버에서는 두 사용자가 오프라인상에서 실제 대면중인 것으로 확인하고 만남에 대한 이벤트를 생성한다. 만남 이벤트는 이벤트에 따른 신규 ID를 기준으로 만남에 참여하는 사용자 ID, 시간과 장소(위치정보), 공유하려는 사용자 각각의 정보를 포함하는 레코드를 생성하고 데이터베이스에 저장한다. 이때 만남 이벤트는 아직 공유하려는 각각의 정보가 교환되지 않은 경우 “오프”상태에 있게 되며 이후 공유하려는 각각의 정보가 교환된 이후에 “클로즈”상태로 전환된다.When the mutual authentication between users is completed, the server confirms that the two users are actually facing each other offline, and generates an event for the meeting. In the meeting event, a record including the user ID, time and place (location information), and information of each user to be shared is created and stored in the database based on the new ID according to the event. At this time, the meeting event is in an “off” state when each piece of information to be shared has not yet been exchanged, and then converted to a “closed” state after each piece of information to be shared is exchanged.

■ 공유하려는 정보를 교환하는 단계■ Steps to exchange information you want to share

서버에서 만남 이벤트가 생성되면 해당 이벤트에 참여중인 단말로 푸시 메시지가 전송된다. 이 푸시 메시지에는 만남 이벤트에 대한 정보와 함께 상대방이 전달하고자 하는 공유 정보를 페이로드(Payload)에 포함한다. 이때 페이로드는 일반적인 텍스트 정보로만 구성되고, 프로필 사진이나 명함과 같은 이미지 정보는 서버에서 보관될 수 있으며, 이미지 정보에 대해서는 그에 대한 URL 정보를 텍스트 정보에 포함시켜 전달함으로써 모바일 단말에서 참조할 수 있도록 한다. 한편 단말은 서버로부터 푸시 메시지를 전송받음과 동시에 이전 상태인 “인증대기”에서 “정보공유”상태로 전환하게 된다.When a meeting event is generated in the server, a push message is transmitted to the terminal participating in the event. In this push message, information about the meeting event and shared information that the other party wants to deliver are included in the payload. At this time, the payload consists only of general text information, and image information such as a profile picture or business card can be stored in the server. do. Meanwhile, as soon as the terminal receives the push message from the server, the terminal switches from the previous state of “authentication waiting” to “information sharing” state.

■ 전달받은 정보를 저장하고 관리하는 단계■ Steps to store and manage the received information

모바일 단말의 상태가 “정보공유”상태인 경우 두 사용자간의 인증에서부터 개인정보 공유까지의 과정은 완료된다. 이에 단말은 통신 완료 처리를 위하여 서버로 상대방과의 채널 종료를 요청한다. 단말의 요청은 앞서 진행했던 인증 요청과 같이 두 사용자의 요청이 한 쌍으로 서버에 요청되어야 하며, 이때 만남 이벤트의 ID와 요청하는 사용자의 ID가 포함되어 전송된다. 정상적으로 채널종료가 이루어지지 않는 경우, 서버는 아직 “오프”중인 만남 이벤트를 별도로 관리하며, 종료 요청을 하지 않은 단말에게 종료 요청에 대한 요청 메시지를 전송한다. 이 과정은 서버가 가지고 있는 타임아웃 시간 또는 재전송 횟수의 제한 이전까지 계속되며, 이후 서버의 자체 판단으로 종료한다. 한편, 단말은 상대방의 정보를 텍스트 또는 URL로 전송받고 이 정보를 단말 내의 연락처 및/또는 서버의 주소록에 저장할 수 있다.When the status of the mobile terminal is “information sharing”, the process from authentication between two users to sharing personal information is completed. Accordingly, the terminal requests the server to terminate the channel with the counterpart for communication completion processing. As for the request of the terminal, the request of the two users should be requested to the server as a pair like the authentication request performed previously, and at this time, the ID of the meeting event and the ID of the requesting user are included and transmitted. If the channel termination is not normally performed, the server separately manages the meeting event that is still “off” and transmits a request message for the termination request to the terminal that has not made the termination request. This process continues until the server's timeout time or limit on the number of retransmissions, and then ends at the server's own discretion. On the other hand, the terminal may receive the information of the other party as text or URL and store this information in the contact information in the terminal and/or the address book of the server.

■ 이미 상대방 정보를 보유한 경우의 단계■ Steps in case you already have the other party's information

서버에 저장되어 있는 정보에 근거할 때, 만일 단말이 이미 상대방의 정보를 보유하고 있는 경우라면, 서버는 모바일 단말이 가지고 있는 상대방 정보에서 새로 변경된 내용에 대하여 제한된 업데이트 정보를 전송한다. 즉, 전화번호가 변경되었거나 개명을 한 경우 또는 대표로 사용하는 이메일 주소가 변경되는 경우와 같이 단말에 저장되는 정보들에 한하여 갱신이 필요한 정보를 갱신할 수 있도록 한다. 또한, 이때는 이미 상대방의 정보를 가지고 있기 때문에 상대방과의 만남 횟수나 시간 및 장소에 대한 기록을 갱신하여 관리할 수 있다. 즉, 상대방과의 정보 공유 과정에서 이미 상대방의 정보를 가지고 있는 경우에는 상대방과의 만남 횟수, 만나는 시간, 위치정보 등의 만남 정보만을 기록하여 갱신 관리할 수 있다. 그리고 이는 상호간의 정보 공유 프로세스에 의한 방법으로 개시되는 것은 물론이고 백그라운드 설정에 따라 언제든 모바일 단말이 음파를 통해 서로 통신할 수 있는 환경이라면 자동으로 수행될 수 있다. 다시 말해, 두 대의 모바일 단말이 백그라운드로 다이렉트 통신이 가능한 설정이 되어 있는 상태라면, 서로 근거리에 놓여 있을 때 사용자의 선택이 없이도 상호 통신 진행을 개시하여 만남 정보를 갱신 관리할 수 있는 것이다.Based on the information stored in the server, if the terminal already has the counterpart's information, the server transmits limited update information for newly changed content in the counterpart's information possessed by the mobile terminal. That is, only the information stored in the terminal, such as when a phone number is changed, when a name is changed, or when an email address used as a representative is changed, information that needs to be updated can be updated. In addition, in this case, since the information of the other party is already possessed, it is possible to update and manage the record of the number of times, time, and place of meeting with the other party. That is, in the case of having the information of the other party in the process of sharing information with the other party, only meeting information such as the number of meetings with the other party, meeting time, location information, etc. can be recorded and updated and managed. And this is not only initiated by the mutual information sharing process, but also can be automatically performed in an environment in which mobile terminals can communicate with each other through sound waves at any time according to background settings. In other words, if two mobile terminals are set to enable direct communication in the background, when they are placed in a short distance from each other, mutual communication can be initiated without a user's selection to update and manage meeting information.

서버가 사용자들의 주소록을 관리하는 경우 그 주소록을 통해 상대방의 정보를 확인할 수 있다. 따라서, 서버는 공유하고자 하는 사용자 개인정보가 상대방의 주소록에 미등록되어 있는지 체크하여 미등록되어 있을 경우에 사용자 개인정보를 상대방에게 제공할 수 있다. 이와 달리 이미 주소록에 등록되어 있을 경우, 서버는 사용자와 상대방 간의 관계 레코드를 갱신하며, 이때 상대방과의 만남 횟수를 증가시키고 만남 이벤트의 일시와 이에 관련하는 정보를 함께 저장하여 보관할 수 있다. 한편 상대방과의 만남 횟수나 시간, 장소와 같은 정보는 개인의 통계데이터로 활용할 수 있기 때문에 데이터 분석 기법을 사용하면 개인별 대인관계 맵이나 사용자 그룹별 관계 맵을 도식하여 서비스 할 수 있다. 그리고 개인의 대인관계 맵에 있어서 만남의 이벤트를 기록하는 레코드는 시간정보를 기준으로 데이터를 수집할 수 있으므로, 연속하는 대인관계 레코드는 시계열 데이터가 되며, 시계열 데이터는 회귀모형에 의한 분석이 가능하다. 이 분석은 개인별 맞춤형 선호 대상자 및 선호 그룹, 사용자별 만남의 횟수 및 시간대별 활동 현황과 사용자의 패턴 분석이 가능하며 이러한 패턴으로 향후 예측활동이 가능하다. 이와 같은 방법에 의해 재생산되는 데이터는 연령별, 업종별, 성별, 장소별, 시간대별 데이터로 분류가능하여 관련되는 산업에 필요한 데이터로써 그 공급이 가능하다.If the server manages the address book of users, information of the other party can be checked through the address book. Accordingly, the server may check whether the user personal information to be shared is not registered in the other party's address book, and if it is not registered, the server may provide the user personal information to the other party. On the other hand, if it is already registered in the address book, the server updates the relationship record between the user and the other party, and at this time, the number of meetings with the other party is increased, and the date and time of the meeting event and related information can be stored and stored together. On the other hand, since information such as the number of times, time, and place of meeting with the other party can be used as individual statistical data, using data analysis techniques, it is possible to provide a service by drawing up a relationship map for each individual or a relationship map for each user group. And since the record that records the meeting event in the personal interpersonal relationship map can collect data based on time information, successive interpersonal records become time series data, and the time series data can be analyzed by a regression model. . In this analysis, it is possible to analyze the user's pattern and the number of meetings by each user, the number of meetings by each user, and the user's pattern, and it is possible to predict the future with this pattern. The data reproduced by this method can be classified into data by age, industry, gender, place, and time period, so that it can be supplied as data necessary for related industries.

서버는 사용자의 선택에 관계없이 모든 만남의 이벤트에 대한 로그 기록을 저장 및 관리할 수 있으며, 사용자가 요청하는 경우에 따라 일정별, 지역별, 업무별, 그룹별 등의 조건으로 이벤트 기록을 조회하여 제공할 수 있다. 또한, 빅데이터 분석기법을 적용하면 사용자의 연령별, 직종별, 유형별 등으로 분류되는 사용자의 선호하는 시간대나 지역 및 장소 등에 관한 데이터를 도출할 수 있으며, 이러한 데이터를 적용하는 산업에 활용하여 사용자에 제공할 수 있는 맞춤형 서비스를 생산할 수 있다.The server can store and manage log records for all meeting events regardless of the user's selection, and, depending on the user's request, by inquiring the event records under conditions such as schedule, region, task, and group. can provide In addition, if big data analysis techniques are applied, data on the user's preferred time zone, region, and place, etc. classified by age, occupation, type, etc. of the user can be derived, and the data is provided to the user by utilizing such data in the industry to which it is applied. We can produce customized services that you can do.

다음으로, 계좌 송금 서비스에 대해 설명한다. 도 10에 계좌 송금을 위한 상호 인증 기반 서비스 제공 방법에 대한 흐름도가 도시되어 있다. 먼저 사용자 A는 송금인이며, 사용자 B는 수취인이라 한다. 사용자 A와 사용자 B가 대면하여 A 단말(100)과 B 단말(200)을 맞대면, A 단말(100)과 B 단말(200)은 음파 통신을 통해 상호 인증을 수행한다(S100). 상호 인증이 성공적으로 완료되면, A 단말(100)은 계좌 송금 서비스를 이용하기 위해 서비스 서버(300)로 수취인의 인증용 정보를 전달하면서 수취인에 대한 유효성 인증을 요청하며, B 단말(200) 역시 서비스 서버(300)로 송금인의 인증용 정보를 전달하면서 송금인에 대한 유효성 인증을 요청하는 것을 시작으로 S200이 개시된다. 이때, A 단말(100)은 송금인으로부터 입력된 송금액 정보도 함께 서비스 서버(300)로 전달한다. 서비스 서버(300)는 상술한 바와 같이 사용자들의 유효성을 검증하고 상호 통신하는 두 사용자를 매칭시키며, 유효성이 정상적으로 검증되면 계좌 송금을 위한 이벤트를 생성한다. 그리고 생성된 이벤트에 따라 송금인 계좌에서 수취인 계좌로 송금액을 이체시키기 위한 이체 거래를 진행한다. 이체 거래 과정이 완료되면 통신은 종료된다.Next, an account remittance service will be described. 10 is a flowchart illustrating a method of providing a service based on mutual authentication for account remittance. First, user A is the sender and user B is the recipient. When the user A and the user B face-to-face and the terminal A 100 and the terminal B 200 face-to-face, the terminal A 100 and the terminal B 200 perform mutual authentication through sound wave communication (S100). When the mutual authentication is successfully completed, the A terminal 100 requests validation of the payee while delivering the payee's authentication information to the service server 300 to use the account remittance service, and the B terminal 200 also S200 starts with requesting validity authentication for the sender while transmitting the authentication information of the sender to the service server 300 . At this time, the terminal A 100 also transmits the remittance amount information input from the remitter to the service server 300 . As described above, the service server 300 verifies the validity of users and matches two users communicating with each other, and when the validity is normally verified, an event for account remittance is generated. A transfer transaction is performed to transfer the remittance amount from the sender's account to the recipient's account according to the generated event. When the transfer transaction process is completed, the communication is terminated.

이에 대해 부연 설명한다. 계좌 송금 서비스용 프로세스는 개인 계좌를 등록하는 단계 → 송금인이 송금할 금액을 결정하는 단계 → 송금인과 수취인이 이체 거래 승인을 요청하는 단계 → 이체 거래 이벤트를 생성하는 단계 → 이체 거래가 진행되는 단계 → 송금인과 수취인 간의 거래를 확인하는 단계 → 거래를 완료하는 단계로 구성될 수 있다. 각각의 단계에 대해 설명한다.This will be described in detail. The process for account remittance service is the step of registering a personal account → the sender decides the amount to be remitted → the sender and the recipient request approval for the transfer transaction → the step of creating a transfer transaction event → the step in which the transfer transaction is in progress → the sender It may consist of a step of confirming the transaction between the recipient and the recipient → completing the transaction. Each step is described.

■ 개인 계좌를 등록하는 단계■ Steps to register a personal account

송금 서비스를 이용하려는 사용자는 거래에 사용하게 될 개인명의의 계좌를 등록해야 한다. 개인 계좌는 거래하는 금융기관의 인증 과정을 통해 등록되며, 서버는 사용자에게 프로필 사진의 입력을 요청할 수 있다. 이 서비스는 대면하고 있는 수취인에게 직접적인 송금 거래가 가능한 것이 특징이기 때문에, 송금인으로 하여금 수취인이 실제 거래 상대방과 일치하는지 확인할 수 있게 하는 절차가 필요할 수 있다. 한편, 이 상태의 단말은 “IDLE”상태에 있으며, 서버에서 관리되는 단말의 상태는 “READY”이다.A user who wants to use the remittance service must register an account in the name of the person to be used for the transaction. The personal account is registered through the authentication process of the financial institution with which the transaction is made, and the server may request the user to input a profile picture. Since this service is characterized by direct remittance transactions to the face-to-face recipient, a procedure may be required to enable the sender to verify that the recipient matches the actual counterparty. On the other hand, the terminal in this state is in the "IDLE" state, and the state of the terminal managed by the server is "READY".

■ 송금인이 송금할 금액을 결정하는 단계■ The step in which the sender decides the amount to send.

서비스를 이용하는 사용자 간에 있어서 송금인과 수취인이 결정되면 송금인은 단말의 화면에서 송금하려는 금액을 결정한다. 송금인은 송금액 설정에 앞서 계좌 조회를 통해 잔금을 확인하고 송금액을 결정할 수 있다. 한편 송금인 단말은 “송금준비” 상태로 전환된다. 다른 한편으로 수취인 단말은 아직 송금 서비스로의 진입이 되어 있지 않은 상태이다.When a sender and a recipient are determined between users using the service, the sender determines the amount to be remitted on the screen of the terminal. Before setting the remittance amount, the sender can check the balance and determine the remittance amount through account inquiry. On the other hand, the sender's terminal is switched to the “remittance ready” state. On the other hand, the recipient terminal has not yet entered the remittance service.

■ 송금인과 수취인이 이체 거래 승인을 요청하는 단계■ A step in which the sender and the recipient request approval of the transfer transaction.

송금인이 수취인에게 송금할 금액이 결정되면 각 사용자는 단말에서 “송금거래”를 선택하며, 이에 각 단말은 “거래요청” 상태로 전환된다. 두 단말은 음파를 이용하는 상호 기기간의 인증 프로세스 절차에 따라 인증을 진행한다. 이때 송금액을 결정한 송금인의 단말은 송금액과 일회용 비밀번호를 페이로드에 포함하는 이체 거래 요청 메시지를 서버로 전송한다. 한편 수취인 단말은 별도의 상태가 없는 상태에서 “거래”가 개시되므로 자동으로 수취인 모드로 설정되며 수취대기 상태에서 이체 거래 요청 메시지를 서버로 전송한다.When the sender determines the amount to be remitted to the recipient, each user selects “transfer transaction” on the terminal, and each terminal switches to the “transaction request” state. The two terminals perform authentication according to the authentication process procedure between mutual devices using sound waves. At this time, the terminal of the remitter that has determined the remittance amount transmits a transfer transaction request message including the remittance amount and a one-time password in the payload to the server. On the other hand, since the “transaction” is started in a state where there is no separate state, the payee terminal is automatically set to the payee mode and transmits a transfer transaction request message to the server in the receiving state.

■ 이체 거래 이벤트를 생성하는 단계■ Steps to create a transfer transaction event

송금인 단말과 수취인 단말로부터 각각 이체 거래 요청 메시지가 수신되면, 서버는 이체 거래 요청 메시지에 포함된 인증 요청에 따라 상대방의 유효성을 인증한 후에 이체 거래 이벤트에 대한 인증 작업을 개시한다. 이체 거래 이벤트에 대한 인증 작업은 송금인이 요구하는 송금액이 잔액 한도 내에서 이체 가능한지에 대한 판단으로 시작한다. 서버는 외부의 오픈뱅킹 시스템(오픈뱅킹센터)과의 통신을 개시하고, 송금인이 등록한 계좌의 잔액 조회 및 이체한도 조회의 요청을 거쳐 송금액의 적합성을 검증한다. 또한, 서버는 송금인의 일회용 패스워드를 검증한다. 서버는 내부 데이터베이스에서 보관중인 송금인의 비밀키를 이용하여 일회용 패스워드가 유효한지 여부를 확인하는 것이다. 이어서, 서버는 송금인이 제시하는 수취인의 수취 가능여부를 점검한다. 수취인이 개인 계좌를 등록했는지 확인하고 오픈뱅킹센터에 계좌실명조회를 요청하여 수취인의 계좌가 유효하고 수취 가능한지 여부를 확인하는 것이다. 또한, 서버는 수취인 단말로부터 수취대기의 상태값을 포함하는 이체 거래 요청 메시지가 수신되었는지 확인한다.When a transfer transaction request message is received from the sender terminal and the payee terminal, respectively, the server authenticates the validity of the other party according to the authentication request included in the transfer transaction request message, and then starts the authentication operation for the transfer transaction event. The verification process for the transfer transaction event starts with a determination as to whether the remittance amount requested by the sender can be transferred within the balance limit. The server initiates communication with an external open banking system (Open Banking Center), and verifies the suitability of the remittance amount by requesting a balance inquiry and transfer limit inquiry of the account registered by the sender. In addition, the server verifies the sender's one-time password. The server checks whether the one-time password is valid using the sender's private key stored in the internal database. Next, the server checks whether the remittance presented by the remitter can receive the remittance. It is to check whether the payee has registered a personal account and to check whether the payee's account is valid and acceptable by requesting an account real name inquiry to the Open Banking Center. In addition, the server checks whether a transfer transaction request message including a status value of waiting for receipt is received from the recipient terminal.

이와 같은 점검의 결과에서 모든 조건이 만족되는 경우, 서버는 이체 거래에 참여한 송금인과 수취인의 ID, 거래 일시, 장소, 송금액, 거래결과 등의 항목을 포함하는 레코드를 이체 거래 이벤트로 신규 생성한다. 이체 거래 이벤트가 생성되면, 서버는 송금인 단말과 수취인 단말에게 이체 거래 이벤트에 대한 정보를 포함하는 푸시 메시지를 전송하여 이체 거래가 개시되었음을 알린다. 한편, 송금인 단말과 수취인 단말에서는 서버로부터의 이체 거래 개시 알림에 따라 단말의 상태를 “거래중”으로 전환한 다음 서버로부터 전송될 메시지를 기다린다. If all conditions are satisfied in the result of such check, the server creates a new record as a transfer transaction event, including items such as the ID of the sender and recipient who participated in the transfer transaction, transaction date and time, location, remittance amount, and transaction result. When a transfer transaction event is generated, the server transmits a push message including information on the transfer transaction event to the sender terminal and the receiver terminal to notify that the transfer transaction has started. On the other hand, the sender terminal and the recipient terminal change the status of the terminal to “in transaction” according to the transfer transaction start notification from the server, and then wait for a message to be transmitted from the server.

■ 이체 거래가 진행되는 단계■ The stage of the transfer transaction

송금인 단말과 수취인 단말이 서버로 이체 거래를 요청하고 그 결과를 기다리는 동안에, 서버는 요청된 내용에 따라 송금인 계좌로부터 수취인 계좌로 송금액을 이체시키기 위해 오픈뱅킹센터와의 통신을 개시한다.While the sender terminal and the payee terminal request a transfer transaction to the server and wait for the result, the server initiates communication with the open banking center to transfer the remittance amount from the sender account to the payee account according to the requested contents.

■ 송금인과 수취인 간의 거래를 확인하는 단계■ Steps to confirm the transaction between the sender and the recipient

이체 거래 이벤트의 진행은 이제 송금인의 최종 승인만을 남겨두고 있다. 이상의 절차에 따라 진행된 이체 거래의 명세가 서버에서 송금인 단말로 전송된다. 송금인은 수취인 이체 거래 명세를 통해 송금액과 수취인 정보를 확인하며, 필요할 경우 수취인의 사진을 요청하여 실제 수취인과 비교하여 확인하는 절차를 갖는다. 즉, 송금인 단말은 송금인 명령에 따라 서버로 수취인 사진을 요청하여 수신하며, 그 수신된 수취인 사진을 화면 표시하여 송금인으로 하여금 확인할 수 있게 한다. 이후 송금인 단말은 송금인의 송금 승인 입력에 따라 서버로 송금 요청 메시지를 전송하며, 이에 서버는 준비된 이체 거래 명세에 따라 이체를 개시한다.The transfer transaction event is now left with only final approval from the sender. The details of the transfer transaction performed according to the above procedure are transmitted from the server to the remitter terminal. The remitter checks the remittance amount and remittee information through the remittee transfer transaction specification, and if necessary, has a procedure to check the remittance by requesting a photo of the remittee and comparing it with the actual remittee. That is, the remitter terminal requests and receives the remittee photo from the server according to the remitter command, and displays the received remittee photo on the screen so that the remitter can check it. Thereafter, the remitter terminal transmits a remittance request message to the server according to the remittance approval input of the remitter, and the server initiates the transfer according to the prepared transfer transaction specification.

■ 거래를 완료하는 단계■ Steps to complete the transaction

서버는 송금이 완료됨에 따라 이체 거래 이벤트를 종료하고 송금인 단말과 수취인 단말에 송금 완료 메시지를 전송한다. 이에 각 단말은 이체 거래를 종료하고 상태를 원복한다.As the remittance is completed, the server ends the transfer transaction event and transmits a remittance completion message to the remitter terminal and the recipient terminal. Accordingly, each terminal terminates the transfer transaction and restores the state.

마지막으로, 경기 매칭 서비스에 대해 설명한다. 도 11에 경기 매칭을 위한 상호 인증 기반 서비스 제공 방법에 대한 흐름도가 도시되어 있다. A 단말(100)과 B 단말(200)은 각각 사용자 A와 사용자 B로부터 스포츠 경기 종목을 선택받은 후에 음파 통신을 통해 상호 인증을 수행한다(S100). 상호 인증이 성공적으로 완료되면, A 단말(100)은 스포츠 경기 매칭 서비스를 이용하기 위해 서비스 서버(300)로 사용자 B의 인증용 정보를 전달하면서 사용자 B에 대한 유효성 인증을 요청하며, B 단말(200) 역시 정보 공유 서비스를 이용하기 위해 서비스 서버(300)로 사용자 A의 인증용 정보를 전달하면서 사용자 A에 대한 유효성 인증을 요청하는 것을 시작으로 S200이 개시된다. 이때, A 단말(100)은 사용자 A가 선택한 종목코드를 서비스 서버(300)로 함께 전송하며, B 단말(200) 역시 사용자 B가 선택한 종목코드를 서비스 서버(300)로 함께 전송할 수 있다. 또는 별개의 절차를 통해 종목코드를 서비스 서버(300)로 전송할 수도 있다.Finally, the match matching service will be described. 11 is a flowchart illustrating a method of providing a service based on mutual authentication for match matching. Terminal A 100 and terminal B 200 perform mutual authentication through sound wave communication after receiving a sports event selection from user A and user B, respectively (S100). When the mutual authentication is successfully completed, the terminal A 100 requests validation of the user B while transmitting the authentication information of the user B to the service server 300 to use the sports match matching service, and the terminal B ( 200) In order to use the information sharing service, S200 starts with requesting validity authentication for user A while delivering authentication information of user A to the service server 300 . In this case, the terminal A 100 transmits the item code selected by the user A to the service server 300 , and the terminal B 200 may also transmit the item code selected by the user B to the service server 300 . Alternatively, the item code may be transmitted to the service server 300 through a separate procedure.

서비스 서버(300)는 사용자들의 유효성 검증 및 두 단말로부터 수신된 종목코드가 일치하는지를 검증하고, 상호 통신하는 두 사용자를 매칭시키며, 검증에 성공할 경우 경기 매칭을 위한 이벤트를 생성한다. 서비스 서버(300)는 A 단말(100)과 B 단말(200)로 인증 및 매칭이 완료되었음을 알려 경기가 시작될 수 있도록 하고 경기 진행 현황을 관리하는데, A 단말(100)과 B 단말(200)로부터 경기와 관련된 메타정보를 수신하여 중개할 수 있다. 여기서, 메타정보에는 점수 정보(스코어 현황), 경기 참여 인원, 참여 선수 기록 정보 등 중에서 적어도 일부가 포함될 수 있다. 즉, 실제 행해지는 경기의 참여자는 반드시 사용자 A와 사용자 B로만 제한되는 것은 아니다. 이후, A 단말(100)과 B 단말(200)로부터의 경기 종료 요청이 있을 때까지 종료 대기 상태를 유지한다. 그리고 서비스 서버(300)는 경기 종료 후에 경기 매칭 이벤트에 따른 경기 결과 테이블에 경기 결과를 기록하여 관리한다. 즉, 두 사용자 간의 경기 결과 테이블에 경기 결과를 기록하여 관리할 수 있다.The service server 300 verifies the validity of the users and whether the event codes received from the two terminals match, matches the two users communicating with each other, and generates an event for match matching if the verification is successful. The service server 300 notifies the A terminal 100 and the B terminal 200 that authentication and matching have been completed so that the match can start and manages the match progress status, from the A terminal 100 and the B terminal 200 You can mediate by receiving meta-information related to the game. Here, the meta information may include at least some of score information (score status), the number of participants in the game, and record information of participating players. That is, the participants in the actual match are not necessarily limited to only user A and user B. Thereafter, the end standby state is maintained until there is a request to end the game from the terminal A 100 and the terminal B 200 . And the service server 300 records and manages the match result in the match result table according to the match matching event after the match is over. That is, the match result can be recorded and managed in the match result table between two users.

이에 대해 부연 설명한다. 경기 매칭 서비스용 프로세스는 종목코드를 포함하는 경기의 승인 요청단계 → 새로운 경기를 셋업하는 단계 → 경기를 진행하고 점수를 관리하는 단계 → 경기를 일시 중지 또는 종료하는 단계 → 경기를 조회하고 공유하는 단계로 구성될 수 있다. 각각의 단계에 대해 설명한다.This will be described in detail. The process for match matching service is the stage of requesting approval of the match including the event code → the stage of setting up a new match → the stage of running the match and managing the score → the stage of pausing or ending the match → the stage of viewing and sharing the match can be composed of Each step is described.

■ 종목코드를 포함하는 경기의 승인 요청단계■ Approval request stage for competitions including event codes

스포츠 경기를 하고자 하는 두 명의 사용자는 각각의 서비스 앱을 통해 동일한 스포츠 종목을 선택하고 “시작”으로 프로세스를 개시한다. 이에 각각의 단말은 음파를 이용한 상호 인증 절차(S100)를 진행한다. S100이 정상적으로 완료되면, 각각의 단말은 서버로 스포츠 경기 매칭 서비스를 위한 인증을 요청하며, 그에 따라 서버는 사용자들의 유효성을 인증한다. 각 단말은 서버로부터 인증 완료 메시지를 수신하며, 이 사실을 사용자에게 진동 또는 알림음으로 알릴 수 있다.Two users wishing to play a sport select the same sport through their respective service apps and initiate the process with “Start”. Accordingly, each terminal proceeds with a mutual authentication procedure (S100) using sound waves. When S100 is normally completed, each terminal requests authentication for the sports match matching service to the server, and the server authenticates the validity of the users accordingly. Each terminal receives an authentication completion message from the server, and may notify the user of this fact by vibration or a notification sound.

한편, 각각의 단말은 서버로 인증 요청 시에 사용자에 의해 선택된 스포츠 종목코드를 함께 전달할 수 있다. 서버는 경기 매칭을 요청하는 두 단말이 동일한 종목코드를 전송한 경우에 한하여 오프라인에서의 스포츠 경기의 시작을 승인하고, 종목코드가 같지 않은 경우에는 경기의 시작을 거절한다. 예를 들어, 사용자 A와 사용자 B가 탁구 종목의 스포츠 경기를 시작함에 있어서 두 사용자는 모두 탁구에 부여된 종목코드를 선택해야 하며, 이 상태에서 경기 시작 인증 요청이 전송되어야 한다. 그리고 서버는 인증 결과 두 사용자가 모두 유효한 사용자들이고 동일한 종목코드를 제시한 경우에는 두 사용자를 매칭시킨 후에 각각의 단말로 인증 완료 메시지를 전송하며, 두 단말은 각각 서버로부터 인증 완료 메시지를 수신함에 따라 스포츠 경기 매칭 서비스를 위한 시작 화면으로 전환한다.Meanwhile, each terminal may transmit the sports event code selected by the user together when an authentication request is made to the server. The server approves the start of the offline sports game only when the two terminals requesting match matching transmit the same event code, and rejects the start of the game if the event codes are not the same. For example, when user A and user B start a sporting event of table tennis, both users must select an event code assigned to table tennis, and in this state, a game start authentication request must be transmitted. In addition, when both users are valid users and the same item code is presented as a result of the authentication, the server matches the two users and sends an authentication completion message to each terminal, and as both terminals receive the authentication completion message from the server, Switches to the start screen for the sports match matching service.

■ 새로운 경기를 셋업하는 단계■ Steps to set up a new match

경기 승인 요청이 성공함에 따라 서버는 새로운 경기 이벤트를 생성하게 되는데, 종목코드와 진행 방식(룰 세트)의 ID, 참가하는 사용자들의 ID, 기타 시간과 장소와 같은 정보를 포함하는 레코드를 생성하고 경기 이벤트에 대한 ID를 신규 발급하여 저장소에 저장한다. 새로운 경기 이벤트가 생성되면 생성한 경기 이벤트 정보는 경기에 참여하는 각 사용자의 단말에게 푸시 메시지로 전송된다. 이에 각 단말은 수신된 경기 이벤트 정보를 이용하여 경기 시작 및 진행 화면으로 전환한다. 서버는 경기 시간에 대한 카운트를 설정하고 경기가 종료될 때까지 규칙적인 간격으로 카운트 정보를 푸시 메시지로 전송한다. 그리고 각 단말은 서버의 카운트 정보에 동기를 맞춰 카운트하며, 경기 진행시간, 각 사용자의 이름 또는 별명과 함께 점수 현황판을 표시한다. 현황판에는 세트 스코어도 함께 표시되도록 한다. 참고로, 도 12에 단말에 표시되는 점수 현황 정보가 예시되어 있다. 이상과 같은 방법으로 두 사용자는 서버가 중재하는 스포츠 경기의 진행을 시작할 준비를 마친다.As the match approval request succeeds, the server creates a new match event. It creates a record containing information such as event code, ID of the method (rule set), participating users' IDs, and other time and place, and creates a match. It issues a new ID for the event and stores it in the storage. When a new game event is generated, the generated game event information is transmitted as a push message to the terminal of each user participating in the game. Accordingly, each terminal uses the received game event information to switch to the game start and progress screen. The server sets the count for the game time and sends the count information as a push message at regular intervals until the game is over. In addition, each terminal counts in synchronization with the count information of the server, and displays the score status board along with the game progress time and each user's name or nickname. Set scores should also be displayed on the status board. For reference, the score status information displayed on the terminal is exemplified in FIG. 12 . In the same way as described above, the two users are ready to start the sports game mediated by the server.

■ 경기를 진행하고 점수를 관리하는 단계■ Steps to play matches and manage scores

경기에 참여하는 각 선수의 점수판은 단말 화면에 터치하는 것을 입력으로 점수를 조정하도록 구성된다. 화면을 위쪽으로 올리면 점수가 올라가고 아래쪽으로 내리면 점수가 내려간다. 내부적인 처리에 있어서는 화면에 터치 입력이 발생하게 되면 단말에서는 터치가 이루어진 화면의 좌표를 구하여 사용자가 어떤 동작을 요구하는지 판단한다. 만일 터치 입력이 점수판에서 이루어진 경우라면 그 쓸어내는 방향이 위쪽인지 아래쪽인지를 판단하여 점수의 가감을 결정한다. 화면에 터치되는 입력은 연속적으로 발생할 수 있으므로, 입력이 더 이상 발생하지 않는 시간차를 두고 사용자가 원하는 점수의 가감정보를 결정한다. 사용자가 요구하는 점수 정보가 결정되었다면, 단말은 서버로부터 현재의 점수 정보를 요청 및 수신하여 그 점수 정보 위에 사용자가 터치하여 발생한 점수의 가감을 연산하고, 그 결과를 다시 서버로 전송하여 갱신을 요청한다. 서버는 단말에서 전송되는 점수 갱신요청에 따라 점수 정보를 갱신하고 결과를 다시 경기에 참여중인 단말로 전송한다. 이어서 단말은 서버로부터 받은 점수 정보에 따라 단말의 점수 정보를 갱신한다.The scoreboard of each player participating in the game is configured to adjust the score by inputting a touch on the terminal screen. Swipe up on the screen to increase your score, and scroll down to decrease your score. In the internal processing, when a touch input is generated on the screen, the terminal obtains the coordinates of the touched screen and determines which action the user requests. If the touch input is made on the scoreboard, it is determined whether the sweeping direction is upward or downward, and the addition or subtraction of the score is determined. Since the input touched on the screen can occur continuously, the addition or subtraction information of the score desired by the user is determined with a time difference at which the input is no longer generated. If the score information requested by the user is determined, the terminal requests and receives the current score information from the server, calculates the addition or subtraction of the score generated by the user's touch on the score information, and sends the result back to the server to request an update do. The server updates the score information according to the score update request transmitted from the terminal and transmits the result back to the terminal participating in the game. Then, the terminal updates the score information of the terminal according to the score information received from the server.

이상의 점수 정보는 단말에서 서버로 요청하는 과정에 있어서 동시성이 발생될 수 있으므로, 이에 대한 처리를 다음과 같은 방법으로 해결한다. 단말에서 발생하는 새로운 점수 정보가 서버로 요청되어 참여중인 단말 모두에게 갱신되는 싸이클을 하나의 트랜잭션으로 한다면, 하나의 트랜잭션 동안에는 다른 요청이 있는 경우에도 이를 반영하지 않고 대기시켜야 한다. 따라서 서버는 단말의 요청에 대하여 큐를 가지고 있으며 큐에 진입하는 순서에 따라 요청을 처리하는데, 이때 큐에 요청하는 데이터의 전송 포맷에는 진행되는 각각의 경기 이벤트에 대한 ID와 점수 정보의 갱신을 요청하는 사용자의 ID, 그리고 그 사용자가 갱신하려는 점수 정보가 포함된다.Since simultaneity may occur in the process of requesting the above score information from the terminal to the server, the processing for this is solved in the following way. If a cycle in which new score information generated from a terminal is requested from the server and updated to all participating terminals is a single transaction, even if there is another request during one transaction, it should be queued without reflecting it. Therefore, the server has a queue for the request of the terminal and processes the request according to the order of entering the queue. ID of the user who is playing and the score information that the user wants to update is included.

■ 경기를 일시 중지 또는 종료하는 단계■ Steps to pause or end the match

경기의 일시 중지를 터치하는 경우 경기의 진행시간을 잠시 멈추고 경기 재개 버튼을 활성화시켜 대기하도록 한다. 이때 중지를 요청하는 사용자의 ID와 해당 경기 이벤트 ID를 포함하는 중지 요청이 서버로 전송되며, 서버에서는 해당 경기의 카운트가 일시 멈추도록 한다. 이 상태는 이후 경기의 재개 혹은 경기의 종료 상태로 변이가 가능하며, 일정시간 동안 추가적인 변경이 없다면 서버의 판단에 따라 임의로 경기를 종료한다. 경기 종료를 위한 터치 입력이 있는 경우, 단말에서 서버로 경기 종료 요청이 전송되며, 서버는 해당 경기 이벤트 ID와 경기 종료를 요청한 사용자의 ID를 저장한다. 이후 경기에 참여중인 단말로 경기 종료 메시지를 전송하며, 단말은 사용자에게 종료 승인 처리를 요청한다.When the game pause is touched, the game time is paused and the game resume button is activated to wait. At this time, a stop request including the ID of the user requesting the stop and the corresponding match event ID is transmitted to the server, and the server causes the count of the match to be paused. This status can then be changed to the status of restarting the game or ending the game. When there is a touch input for ending the game, a request to end the game is transmitted from the terminal to the server, and the server stores the corresponding game event ID and the ID of the user who requested the end of the game. Thereafter, a game end message is transmitted to the terminal participating in the match, and the terminal requests the user to process the end approval.

종료 승인 처리는 사용자로 하여금 함께 경기를 진행했던 상대 사용자와 함께 처음 경기 승인을 요청했던 방식과 동일하게 단말을 가까이 맞대어 음파 통신을 진행하고 종료 승인을 요청하도록 하는 것이다. 경기 종료 승인의 방식은 처음 경기 승인 요청의 방식과 동일하지만 서버에 전송하는 데이터에 있어서 진행중이던 경기 이벤트 ID가 추가로 포함된다. 서버 측에서는 경기 종료 요청에 따라 해당 경기 이벤트를 종료(close)하고 경기에 참여했던 사용자가 합의하에 경기를 종료한 것으로 간주하고 진행한 경기 기록을 정리하여 승자와 패자를 구분하고 경기결과 테이블에 결과를 기록한다. 음파통신에 의한 경기 종료 처리가 이루어지지 않은 경우에는 서버의 경기 이벤트에 대한 타임 아웃 시간동안 대기하게 되며, 이후 서비스 서버의 판단으로 종료 처리된다.The end approval process allows the user to perform sonic communication by bringing the terminal close to each other in the same way as when requesting the game approval for the first time with the other user who played the game together, and to request the end approval. The method of game end approval is the same as that of the initial match approval request, but the data sent to the server additionally includes an ongoing match event ID. The server side closes the match event upon request to end the match, considers the user who participated in the match to have ended the match by agreement, organizes the match record, distinguishes winners from losers, and records the results in the match result table record If the game end processing by sound wave communication is not performed, the server waits for the time-out time for the game event, and then the game ends at the judgment of the service server.

■ 경기를 조회하고 공유하는 단계■ Steps to view and share matches

경기의 조회는 경기에 참여중인 사용자는 물론 그 사용자가 허용하는 다른 사용자에게 공유될 수 있다. 경기 조회는 경기가 시작되어 새로운 경기 이벤트가 생성되는 시점부터 가능하며, 이 경기를 조회하는 사용자는 댓글을 쓰거나 사진 및 동영상을 업로드하여 진행중인 스포츠 경기와 관련되는 이야기를 서로 공유할 수 있다. 댓글이 추가될 때마다 댓글의 아래에는 현재 진행중인 점수 현황이 서버로부터 자동 추가된다. 따라서 댓글이 달리는 시점의 경기 현황을 함께 보면서 중계를 하거나 즐길 수 있다.Views of a match can be shared with users participating in the match as well as other users that the user allows. Match inquiry is possible from the time a game starts and a new match event is created, and users who view this match can share stories related to the sporting event in progress by writing comments or uploading photos and videos. Whenever a comment is added, the current score status is automatically added from the server below the comment. Therefore, you can broadcast or enjoy the game while viewing the status of the game at the time of commenting.

이상 살펴본 1:1의 스포츠 종목 외에도 여러 사람이 팀을 이루어 진행하는 복식 경기나 팀 경기, 함께 동반하여 즐기는 등산, 트래킹, 싸이클이나 마라톤과 같은 기록경기 등에 있어서도 모바일 단말을 이용하는 상호 인증 프로세스를 이용하여 확장 가능한 서비스 모델을 추가적으로 더 제시할 수 있다.In addition to the 1:1 sports events discussed above, the mutual authentication process using a mobile terminal is also used for doubles and team matches in which multiple people form a team, mountaineering, trekking, and record events such as cycling and marathon. An extensible service model can be further proposed.

한편, 도 13은 서비스 종료시의 흐름도이다. 서비스 종료시에도 A 단말(100)과 B 단말(200) 간에 음파 통신을 통한 상호 인증이 수행될 수 있으며, 상호 인증이 성공적으로 완료되면 A 단말(100)과 B 단말(200)은 각각 서비스 서버(300)로 서비스 종료를 요청한다. 이에 서비스 서버(300)는 서비스 제공을 위해 했던 것과 마찬가지로 사용자 A와 사용자 B의 유효성을 검증하는 절차를 수행한다. 또한, 서비스 서버(300)는 서비스 제공을 위해 생성되었던 이벤트를 검증한 후에 해당 이벤트를 종료 처리한다. 이후, A 단말(100) 및 B 단말(200)과의 통신은 종료된다. 이 같은 과정은 상술한 서비스들 중에서 경기 매칭 서비스에만 적용될 수도 있고, 다른 서비스들에 적용될 수도 있다.Meanwhile, FIG. 13 is a flowchart at the time of service termination. Even at the end of the service, mutual authentication may be performed between the A terminal 100 and the B terminal 200 through sound wave communication, and when the mutual authentication is successfully completed, the A terminal 100 and the B terminal 200 are each service server ( 300) to request service termination. Accordingly, the service server 300 performs a procedure of verifying the validity of the user A and the user B, similar to that for the service provision. In addition, the service server 300 terminates the event after verifying the event generated for providing the service. Thereafter, communication with the terminal A 100 and the terminal B 200 is terminated. This process may be applied only to the match matching service among the above-described services, or may be applied to other services.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, with respect to the present invention, the preferred embodiments have been looked at. Those of ordinary skill in the art to which the present invention pertains will understand that the present invention may be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments are to be considered in an illustrative rather than a restrictive sense. The scope of the present invention is indicated by the claims rather than the foregoing description, and all differences within an equivalent scope should be construed as being included in the present invention.

100 : 제 1 단말(A 단말) 200 : 제 2 단말(B 단말)
300 : 서비스 서버
100: first terminal (A terminal) 200: second terminal (B terminal)
300 : service server

Claims (17)

두 명의 대면 사용자별 모바일 단말이 다이렉트 통신하여 상대방을 상호 인증하되, 각각의 모바일 단말이 마이크 및 스피커를 이용한 음파 통신을 통해 상호 인증하는 다이렉트 인증 단계; 및
서비스 서버가 상호 인증된 사용자들에게 요청 서비스를 제공하는 서비스 제공 단계;를 포함하고,
다이렉트 인증 단계는 :
두 모바일 단말이 각각 프리앰블 신호를 음파로 반복 송출하고 각각의 송출 휴지 기간에는 상대 단말로부터의 프리앰블 신호 수신 여부를 감지하며, 두 모바일 단말 중에서 프리앰블 신호를 먼저 수신한 제 1 단말이 프리앰블 신호의 반복 송출을 중단하는 대신 프리앰블 신호 수신에 대한 응답 신호를 음파로 반복 송출하며, 제 1 단말의 상대 단말인 제 2 단말이 송출 휴지 기간에 응답 신호를 수신하면 프리앰블 신호의 반복 송출을 중단하고 응답 신호 수신에 대한 응답 신호를 송출하여 제 1 단말과 제 2 단말 간에 동기화 세션이 수립되도록 하는 동기화 단계; 및
동기화 세션이 수립되면 두 모바일 단말 간에 음파 통신을 통해 상호 인증하되, 동기화 단계를 통해 제 2 단말로부터 응답 신호를 수신한 제 1 단말부터 상호 인증을 위한 신호 전송을 개시하는 상호 인증 단계;를 포함하며,
상호 인증 단계는 :
제 1 단말이 그 단말 사용자의 비밀키로 생성된 일회성의 인증토큰을 그 단말 사용자의 식별자(ID)와 함께 제 2 단말로 전송하는 단계;
제 2 단말이 제 1 단말로부터 수신된 사용자 ID와 인증토큰을 포함하여 구성되는 문자열을 해시함수로 변환하며, 변환을 통해 얻어진 해시값을 제 1 단말로 전송하는 단계;
제 1 단말이 자체 생성한 해시값과 타측 단말로부터 수신된 해시값을 비교하여 제 2 단말로 일치 여부를 응답하는 단계;
제 2 단말이 제 1 단말로부터 일치 응답을 수신한 경우 제 2 단말 사용자의 비밀키로 생성된 일회성의 인증토큰을 제 2 단말 사용자의 식별자(ID)와 함께 제 1 단말로 전송하는 단계;
제 1 단말이 제 2 단말로부터 수신된 사용자 ID와 인증토큰을 포함하여 구성되는 문자열을 해시함수로 변환하며, 변환을 통해 얻어진 해시값을 제 2 단말로 전송하는 단계; 및
제 2 단말이 자체 생성한 해시값과 제 1 단말로부터 수신된 해시값이 동일한지 비교하여 제 1 단말로 응답하는 단계;
를 포함하는 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법.
A direct authentication step in which two face-to-face user-specific mobile terminals communicate directly to mutually authenticate each other, wherein each mobile terminal mutually authenticates through sound wave communication using a microphone and a speaker; and
A service providing step in which the service server provides a requested service to mutually authenticated users;
Direct authentication steps are:
Each of the two mobile terminals repeatedly transmits the preamble signal as sound waves, and during each transmission pause period, whether a preamble signal is received from the other terminal is detected. Instead of stopping, it repeatedly transmits a response signal to the reception of the preamble signal as sound waves. a synchronization step of transmitting a response signal to establish a synchronization session between the first terminal and the second terminal; and
When the synchronization session is established, mutual authentication between the two mobile terminals through sound wave communication, and a mutual authentication step of starting signal transmission for mutual authentication from the first terminal receiving a response signal from the second terminal through the synchronization step; and ,
Mutual authentication steps are:
transmitting, by the first terminal, the one-time authentication token generated with the private key of the terminal user to the second terminal together with the identifier (ID) of the terminal user;
converting, by the second terminal, a string including the user ID and the authentication token received from the first terminal into a hash function, and transmitting the hash value obtained through the conversion to the first terminal;
Comparing the hash value generated by the first terminal itself with the hash value received from the other terminal, and responding to the second terminal whether or not they match;
transmitting, by the second terminal, a one-time authentication token generated with the secret key of the user of the second terminal to the first terminal together with the identifier (ID) of the user of the second terminal when the second terminal receives the matching response from the first terminal;
converting, by the first terminal, a string including the user ID and the authentication token received from the second terminal into a hash function, and transmitting the hash value obtained through the conversion to the second terminal; and
Comparing whether the hash value generated by the second terminal and the hash value received from the first terminal are the same, responding to the first terminal;
A method of providing a mutual authentication-based service using direct communication comprising a.
제 1 항에 있어서,
각각의 모바일 단말의 송출 휴지 기간은 개시 시점마다 종료 시점이 랜덤하게 결정되는 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법.
The method of claim 1,
A mutual authentication-based service providing method using direct communication in which the transmission pause period of each mobile terminal is randomly determined at each start time.
제 1 항에 있어서,
서비스 제공 단계는 상호 인증을 완료한 제 1 단말과 제 2 단말로부터 각각 상대 단말의 사용자가 유효한 사용자인지에 대한 인증 요청에 따라 인증 처리하며, 그 인증 처리 결과 둘 모두 유효한 사용자인 것으로 인증되면 요청 서비스를 제공하는 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법.
The method of claim 1,
In the service provision step, authentication processing is performed according to an authentication request for whether the user of the opposite terminal is a valid user from the first terminal and the second terminal, respectively, which have completed mutual authentication, and if both are authenticated as valid users, the requested service A method of providing a mutual authentication-based service using direct communication that provides
제 3 항에 있어서,
서비스 제공 단계는 제 1 단말로부터 수신된 제 2 단말 사용자의 ID와 인증토큰을 수신하여 유효성을 인증하며, 제 2 단말로부터 수신된 제 1 단말 사용자의 ID와 인증 토큰을 수신하여 유효성을 인증하는 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법.
4. The method of claim 3,
The service providing step is a direct method of receiving the ID and authentication token of the second terminal user received from the first terminal to authenticate the validity, and receiving the ID and the authentication token of the first terminal user received from the second terminal to authenticate the validity A method of providing services based on mutual authentication using communication.
제 1 항 내지 제 4 항 중 어느 한 항에 있어서, 서비스 제공 단계는 :
데이터베이스에 등록된 두 사용자의 개인정보를 각각 상대방의 모바일 단말로 제공하는 정보 공유 서비스 제공 단계;
를 포함하는 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법.
5. The method according to any one of claims 1 to 4, wherein the step of providing a service comprises:
An information sharing service providing step of providing the personal information of the two users registered in the database to each other's mobile terminal;
A method of providing a mutual authentication-based service using direct communication comprising a.
제 5 항에 있어서,
정보 공유 서비스 제공 단계는 데이터베이스에 등록된 사용자의 개인정보가 복수의 그룹으로 그룹화되어 있을 경우 사용자로부터 선택된 그룹에 속하는 개인정보만을 상대방의 모바일 단말로 제공하는 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법.
6. The method of claim 5,
The information sharing service providing step is a mutual authentication-based service providing method using direct communication that provides only the personal information belonging to the group selected by the user to the other party's mobile terminal when the user's personal information registered in the database is grouped into a plurality of groups.
제 5 항에 있어서,
정보 공유 서비스 제공 단계는 공유하고자 하는 사용자의 개인정보가 내부 데이터베이스에서 관리되는 상대방 주소록에 등록되어 있는지 확인하여 미등록되어 있을 경우에 한하여 그 개인정보를 상대방의 모바일 단말로 제공하는 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법.
6. The method of claim 5,
In the information sharing service provision step, it is checked whether the personal information of the user to be shared is registered in the address book of the other party managed in the internal database, and only if it is not registered, the personal information is provided to the other party's mobile terminal through mutual authentication using direct communication. How to provide the underlying services.
제 5 항에 있어서, 서비스 제공 단계는 :
정보 공유된 두 사용자 간의 관계를 나타내는 관계 레코드를 생성하여 데이터베이스 관리하는 단계; 및
두 사용자의 만남 시마다 이루어지는 모바일 단말의 상호 인증에 따라 두 사용자의 만남 횟수, 시간, 장소 중 적어도 일부를 포함하는 만남 정보로 관계 레코드를 갱신하는 단계;
를 더 포함하는 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법.
6. The method of claim 5, wherein the step of providing a service comprises:
creating a relationship record indicating a relationship between two users sharing information and managing the database; and
updating the relationship record with meeting information including at least a part of the number, time, and place of meeting between the two users according to the mutual authentication of the mobile terminal performed every time the two users meet;
Mutual authentication-based service providing method using direct communication further comprising a.
제 1 항 내지 제 4 항 중 어느 한 항에 있어서, 서비스 제공 단계는 :
상호 인증된 두 사용자 중에서 일 사용자의 계좌로부터 타 사용자의 계좌로 송금 처리하는 계좌 송금 서비스 제공 단계;
를 포함하는 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법.
5. The method according to any one of claims 1 to 4, wherein the step of providing a service comprises:
an account remittance service providing step of processing remittance from one user's account to another user's account among the two mutually authenticated users;
A method of providing a mutual authentication-based service using direct communication comprising a.
제 9 항에 있어서, 계좌 송금 서비스 제공 단계는 :
상호 인증된 두 사용자 중에서 일 사용자의 모바일 단말로부터 송금액이 포함된 이체 거래 요청 메시지를 수신하고 타 사용자의 모바일 단말로부터 송금액이 미포함된 이체 거래 요청 메시지를 수신하는 단계; 및
일 사용자를 송금인으로 지정 및 타 사용자를 수취인으로 지정한 다음 오픈뱅킹 시스템과 연계하여 송금인 계좌로부터 수취인 계좌로 송금액 이체 거래를 진행하는 단계;
를 포함하는 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법.
The method of claim 9, wherein the step of providing an account remittance service comprises:
receiving a transfer transaction request message including a remittance amount from a mobile terminal of one user among two mutually authenticated users and receiving a transfer transaction request message including no remittance amount from a mobile terminal of another user; and
designating one user as a remitter and designating another user as a remittee, and then performing a remittance transfer transaction from the remitter account to the remittee account in connection with the open banking system;
A method of providing a mutual authentication-based service using direct communication comprising a.
제 10 항에 있어서,
이체 거래 진행 단계는 송금액 이체 전에 이체 거래 명세와 수취인 사진 이미지를 송금인의 모바일 단말로 제공하면서 송금 승인을 요청하며, 송금인의 모바일 단말로부터 송금인의 송금 승인이 이루어지면 송금인 계좌로부터 수취인 계좌로 송금액 이체 거래를 진행하는 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법.
11. The method of claim 10,
In the transfer transaction process, before the remittance amount is transferred, the transfer transaction details and a photo image of the recipient are provided to the sender's mobile terminal for approval of the remittance, and when the sender's remittance is approved from the sender's mobile terminal, the remittance amount is transferred from the sender's account to the recipient's account A method of providing services based on mutual authentication using direct communication that proceeds with
제 1 항 내지 제 4 항 중 어느 한 항에 있어서, 서비스 제공 단계는 :
상호 인증된 모바일 단말들과 연동하여 오프라인 상에서 행하는 스포츠 경기의 진행 현황을 관리하는 경기 매칭 서비스 제공 단계;
를 포함하는 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법.
5. The method according to any one of claims 1 to 4, wherein the step of providing a service comprises:
providing a match matching service for managing the progress of an offline sporting event in conjunction with mutually authenticated mobile terminals;
A method of providing a mutual authentication-based service using direct communication comprising a.
제 12 항에 있어서, 경기 매칭 서비스 제공 단계는 :
상호 인증된 모바일 단말들로부터 각각 스포츠 종목코드를 포함한 경기 승인 요청 메시지를 수신하는 단계;
모바일 단말들로부터 수신된 각각의 경기 승인 요청 메시지에 포함된 스포츠 종목코드가 동일할 경우 경기의 시작을 승인하고 신규 경기 이벤트를 생성하여 모바일 단말들로 신규 경기 이벤트 정보를 전송하는 단계;
신규 경기 이벤트 정보를 수신한 모바일 단말들로부터 경기와 관련된 메타정보를 수신하여 중개하는 단계; 및
경기 종료 후 두 사용자 간의 경기 결과 테이블에 경기 결과를 기록하여 관리하는 단계;
를 포함하는 다이렉트 통신을 이용한 상호 인증 기반 서비스 제공 방법.
The method of claim 12, wherein the step of providing a match matching service comprises:
Receiving a game approval request message including a sports event code from each of the mutually authenticated mobile terminals;
Approving the start of a game when the sport event codes included in each game approval request message received from the mobile terminals are the same, generating a new game event, and transmitting the new game event information to the mobile terminals;
Receiving and mediating game-related meta information from mobile terminals that have received the new game event information; and
Recording and managing the match result in the match result table between the two users after the match is over;
A method of providing a mutual authentication-based service using direct communication comprising a.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020200145329A 2020-11-03 2020-11-03 Service providing method based on mutual authentication using direct communication KR102457202B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200145329A KR102457202B1 (en) 2020-11-03 2020-11-03 Service providing method based on mutual authentication using direct communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200145329A KR102457202B1 (en) 2020-11-03 2020-11-03 Service providing method based on mutual authentication using direct communication

Publications (2)

Publication Number Publication Date
KR20220059761A KR20220059761A (en) 2022-05-10
KR102457202B1 true KR102457202B1 (en) 2022-10-20

Family

ID=81591643

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200145329A KR102457202B1 (en) 2020-11-03 2020-11-03 Service providing method based on mutual authentication using direct communication

Country Status (1)

Country Link
KR (1) KR102457202B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018533230A (en) * 2015-04-09 2018-11-08 オーアールエー インコーポレイテッドOra Inc. Data transmission method and apparatus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160008920A (en) * 2014-07-15 2016-01-25 엘지전자 주식회사 Mobile terminal and method for controlling the same
KR101789803B1 (en) 2017-03-30 2017-10-25 이승훈 Method and apparatus for providing business card exchange service
KR102139968B1 (en) * 2018-06-22 2020-08-03 (주)키스톤핸즈 Sound wave settlement system of non-contact type for inputting settlement money by seller terminal, and method for the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018533230A (en) * 2015-04-09 2018-11-08 オーアールエー インコーポレイテッドOra Inc. Data transmission method and apparatus

Also Published As

Publication number Publication date
KR20220059761A (en) 2022-05-10

Similar Documents

Publication Publication Date Title
US20220224679A1 (en) Authenticated Session Management Across Multiple Electronic Devices Using A Virtual Session Manager
KR101536047B1 (en) Utilizing a social network account to provide additional functionality to a gaming network account
RU2513761C2 (en) Method and server for instant messaging
EP2338268B1 (en) A transaction system for business and social networking
US9380264B1 (en) System and method for video communication
CN1816136B (en) User authentication via a mobile telephone
US9065532B2 (en) Bump button
WO2019158001A1 (en) Blockchain generating method, and related device and system
KR20150128659A (en) Identification delegation for devices
CN102467723A (en) System and method for providing recommendations to a user in a viewing social network
CN103039098A (en) Authentication method and system using portable terminal
WO2012050618A1 (en) Multimedia methods, devices and systems
TW201520921A (en) Method, apparatus and system for implementing payment
TW201635181A (en) On demand passwords
TW201306538A (en) Face recognition control and social networking
US11030326B2 (en) Exchanging user information with other physically proximate users
JP6051383B2 (en) Amusement hall system, program
KR102457202B1 (en) Service providing method based on mutual authentication using direct communication
JP6026454B2 (en) Community providing system, community providing method, and community providing program
CN114866268B (en) Method and device for realizing account intercommunication and electronic equipment
KR20040035105A (en) Method for updating the game data executed in off-line mode in a mobile terminal through user authentication and system thereof
CN116057920A (en) Connecting to a blockchain network
KR20090086834A (en) Online game account management system using mobile terminal and method thereof
JP6214781B2 (en) Connection system and connection method
CN111291337A (en) Method, device and storage medium for creating incidence relation

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant