KR20210032332A - Service server, and operating method thereof - Google Patents

Service server, and operating method thereof Download PDF

Info

Publication number
KR20210032332A
KR20210032332A KR1020210027405A KR20210027405A KR20210032332A KR 20210032332 A KR20210032332 A KR 20210032332A KR 1020210027405 A KR1020210027405 A KR 1020210027405A KR 20210027405 A KR20210027405 A KR 20210027405A KR 20210032332 A KR20210032332 A KR 20210032332A
Authority
KR
South Korea
Prior art keywords
encrypted data
external device
service
personal information
user terminal
Prior art date
Application number
KR1020210027405A
Other languages
Korean (ko)
Other versions
KR102370797B1 (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
Priority claimed from KR1020140149117A external-priority patent/KR102224974B1/en
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020210027405A priority Critical patent/KR102370797B1/en
Publication of KR20210032332A publication Critical patent/KR20210032332A/en
Application granted granted Critical
Publication of KR102370797B1 publication Critical patent/KR102370797B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L67/20
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Abstract

The present invention discloses a service server and an operating method thereof. In other words, the present invention enables an operation for providing a service without a decryption process for encrypted personal information transmitted from a user terminal in relation to the use of a service using personal information. Therefore, it is possible to enable a normal service use without exposing security-sensitive personal information. The service server includes: a confirmation unit for confirming that an operation using encrypted data received from the user terminal is required in relation to provision of a specific service from an external device; and a delivery unit that receives an operation function from the external device according to whether an operation function related to the specific service is disclosed from the external device, so that the operation using the encrypted data is performed by itself, or transmits the encrypted data to the external device so that an operation using the encrypted data is performed in the external device.

Description

서비스 서버 및 그 동작 방법{SERVICE SERVER, AND OPERATING METHOD THEREOF}Service server and its operation method {SERVICE SERVER, AND OPERATING METHOD THEREOF}

본 발명은 개인정보를 활용한 서비스 이용과 관련하여 개인정보에 대한 노출 없이도 서비스 이용을 가능하게 하기 위한 방안에 관한 것이다.The present invention relates to a method for enabling service use without exposure to personal information in connection with service use using personal information.

최근, 이동 통신을 포함하는 통신 기술의 발전에 힘입어 예컨대, 금융, 미디어, 건강 등 사회 전 분야에 걸쳐서 통신 기술을 활용한 다양한 서비스가 제공되고 있다.In recent years, with the development of communication technologies including mobile communication, various services using communication technologies have been provided in all fields of society, such as finance, media, health, and so on.

이러한 통신 기술을 활용한 서비스의 경우, 타게팅 서비스 등과 같이 서비스 품질 향상을 목적으로 서비스를 요청한 사용자의 개인정보를 활용하는 것이 일반적이다.In the case of a service using such communication technology, it is common to use personal information of a user who has requested a service for the purpose of improving service quality, such as a targeting service.

헌데, 위 서비스를 이용하기 위해선 사용자는 자신의 개인정보를 서비스 제공 주체인 외부장치(예: 3rd Party 서비스 업체)에 전달 및 공개하는 과정이 요구된다.Boil, in order to use the above service users their personal information service principal is an external device: The process of delivering and disclosure (for example, 3 rd Party Service Provider) is required.

즉, 도 1에 도시한 바와 같이, 사용자 단말(30)에서는 암호화되지 않은 개인정보를 서비스 서버(20)로 전달하게 되며, 서비스 서버(20)는 사용자 단말(30)로부터 전달된 개인정보를 각각의 서비스를 제공하는 외부 장치(10)에 제공하여 외부 장치(10)로 하여금 개인정보를 활용한 서비스를 제공할 수 있게 한다.That is, as shown in FIG. 1, the user terminal 30 transmits the unencrypted personal information to the service server 20, and the service server 20 transmits the personal information transmitted from the user terminal 30, respectively. It is provided to an external device 10 that provides a service of, so that the external device 10 can provide a service using personal information.

결국, 위 과정에서 사용자 단말(30)에서 외부 장치(10)로 전달되는 개인정보의 경우 암호화되지 않은 상태로 전달되게 되는데, 이로 인해 개인정보가 외부로 노출되어, 악의적인 도용 및 불법 사용 등의 문제를 일으킬 우려가 있다.Eventually, in the case of the personal information transmitted from the user terminal 30 to the external device 10 in the above process, the personal information is transmitted in an unencrypted state. As a result, personal information is exposed to the outside. There is a risk of causing problems.

본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, 개인정보를 활용한 서비스 이용과 관련하여 사용자 단말로부터 전달되는 암호화된 개인정보에 대한 복호화 과정 없이도 서비스 제공을 위한 연산이 가능하게 함으로써, 보안에 민감한 개인정보의 노출 없이도 정상적인 서비스 이용을 가능하게 하는 데 있다.The present invention was created in view of the above circumstances, and an object to be reached in the present invention is to provide a service without a decryption process for encrypted personal information transmitted from a user terminal in connection with the use of the service using personal information. By enabling calculation, it is possible to use normal services without exposing personal information sensitive to security.

상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 서비스 서버는, 외부 장치에서 특정 서비스를 제공하기 위해 사용자 단말로부터 전달되는 암호화 데이터를 이용한 연산을 수행하고자 하는 것을 확인하는 확인부; 및 상기 암호화 데이터를 이용한 연산을 수행하고자 하는 것이 확인되면, 상기 암호화 데이터를 그대로 이용한 연산을 가능하게 하는 API를 상기 외부 장치에 전달하여 상기 암호화 데이터를 이용한 연산이 상기 외부 장치에서 수행되도록 하거나, 또는 상기 외부 장치로부터 획득한 상기 특정 서비스와 관련된 연산 함수를 상기 API를 기반으로 실행시켜 상기 암호화 데이터를 이용한 연산이 자체적으로 수행되게 하는 제어부를 포함하는 것을 특징으로 한다.A service server according to a first aspect of the present invention for achieving the above object includes: a confirmation unit for confirming that an external device intends to perform an operation using encrypted data transmitted from a user terminal in order to provide a specific service; And when it is confirmed that an operation using the encrypted data is to be performed, an API that enables an operation using the encrypted data as it is transmitted to the external device so that the operation using the encrypted data is performed in the external device, or And a control unit that executes an operation function related to the specific service obtained from the external device based on the API so that an operation using the encrypted data is performed by itself.

보다 구체적으로, 상기 서비스 서버는, 상기 암호화 데이터를 이용한 연산을 수행하는 연산부를 더 포함하며, 상기 연산부는, 상기 암호화 데이터를 이용한 연산 수행 결과가 도출되는 경우, 상기 사용자 단말에 대하여 기 저장된 개인정보에 기초로 상기 암호화 데이터를 이용한 연산 수행 결과에 대하여 지정된 추가 연산이 수행되도록 하는 것을 특징으로 한다.More specifically, the service server further includes an operation unit that performs an operation using the encrypted data, and the operation unit includes personal information previously stored for the user terminal when a result of performing an operation using the encrypted data is derived. It is characterized in that a designated additional operation is performed on a result of performing an operation using the encrypted data on the basis of.

상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 단말은, 서비스 서버의 동작 방법은 외부 장치에서 특정 서비스를 제공하기 위해 사용자 단말로부터 전달되는 암호화 데이터를 이용한 연산을 수행하고자 하는 것을 확인하는 확인단계; 및 상기 암호화 데이터를 이용한 연산을 수행하고자 하는 것이 확인되면, 상기 암호화 데이터를 그대로 이용한 연산을 가능하게 하는 API를 상기 외부 장치에 전달하여 상기 암호화 데이터를 이용한 연산이 상기 외부 장치에서 수행되도록 하거나, 또는 상기 외부 장치로부터 획득한 상기 특정 서비스와 관련된 연산 함수를 상기 API를 기반으로 실행시켜 상기 암호화 데이터를 이용한 연산을 수행하는 연산단계를 포함하는 것을 특징으로 한다.The terminal according to the second aspect of the present invention for achieving the above object, confirms that the operation method of the service server is to perform an operation using encrypted data transmitted from the user terminal in order to provide a specific service from an external device. step; And when it is confirmed that an operation using the encrypted data is to be performed, an API that enables an operation using the encrypted data as it is transmitted to the external device so that the operation using the encrypted data is performed in the external device, or And an operation step of performing an operation using the encrypted data by executing an operation function related to the specific service obtained from the external device based on the API.

보다 구체적으로, 상기 방법은, 상기 연산단계 이후에, 상기 사용자 단말에 대하여 기 저장된 개인정보에 기초로 상기 암호화 데이터를 이용한 연산 수행 결과에 대하여 지정된 추가 연산을 수행하는 추가연산단계를 더 포함하는 것을 특징으로 한다.More specifically, the method further includes, after the calculation step, an additional calculation step of performing a designated additional calculation on a result of performing calculation using the encrypted data based on the personal information previously stored for the user terminal. It is characterized.

이에, 본 발명의 서비스서버 및 그 동작 방법에 의하면, 개인정보를 활용한 서비스 이용과 관련하여 사용자 단말로부터 전달되는 암호화된 개인정보에 대한 복호화 과정 없이도 서비스 제공을 위한 연산이 가능하게 함으로써, 보안에 민감한 개인정보의 노출 없이도 정상적인 서비스 이용을 가능하게 할 수 있다.Accordingly, according to the service server and its operation method of the present invention, it is possible to perform an operation for providing a service without a decryption process for the encrypted personal information transmitted from the user terminal in connection with the use of the service using personal information. It can enable normal service use without exposing sensitive personal information.

도 1은 종래 기술에 따른 개인정보 기반 서비스 제공 시스템을 설명하기 위한 도면.
도 2는 본 발명의 일 실시예에 따른 개인정보 기반 서비스 제공 시스템의 개략적인 구성도.
도 3은 본 발명의 일 실시예에 따른 서비스 종류와 각 서비스에 요구되는 개인정보의 예를 설명하기 위한 도면.
도 4는 본 발명의 일 실시예에 따른 서비스 서버의 개략적인 구성도.
도 5는 본 발명의 일 실시예에 따른 개인정보 기반 서비스 제공 시스템에서의 동작 흐름을 설명하기 위한 개략적인 순서도.
도 6은 본 발명의 일 실시예에 따른 서비스 서버에서의 동작 흐름을 설명하기 위한 개략적인 순서도.
1 is a diagram for explaining a system for providing a service based on personal information according to the prior art.
2 is a schematic configuration diagram of a system for providing a service based on personal information according to an embodiment of the present invention.
3 is a view for explaining an example of service types and personal information required for each service according to an embodiment of the present invention.
4 is a schematic configuration diagram of a service server according to an embodiment of the present invention.
5 is a schematic flowchart illustrating an operation flow in a system for providing a service based on personal information according to an embodiment of the present invention.
6 is a schematic flowchart illustrating an operation flow in a service server according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 일 실시예에 대하여 설명한다.Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.

도 2는 본 발명의 일 실시예에 따른 개인정보 기반 서비스 제공 시스템을 도시한 도면이다.2 is a diagram illustrating a system for providing a service based on personal information according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 서비스 시스템은 개인정보를 활용한 서비스를 제공하는 외부 장치(100), 사용자 단말(300)로부터 전달되는 개인정보를 이용한 서비스가 이루어지도록 하는 서비스 서버(200) 및, 외부 장치(100)에서 제공하는 서비스를 이용하는 사용자 단말(300)을 포함하는 구성을 갖는다.As shown in FIG. 2, the service system according to an embodiment of the present invention allows a service using personal information transmitted from an external device 100 and a user terminal 300 to provide a service using personal information. It has a configuration including a service server 200 and a user terminal 300 using a service provided by the external device 100.

외부 장치(100)는 사용자 단말(300)로부터 전달되는 개인정보를 활용하여 특화된 서비스를 제공하는 장치를 일컫는 것으로서, 예컨대, 3rd Party 서비스 업체에서 운용하고 있는 서버가 이에 해당될 수 있다.As the external device 100 by using the personal information transmitted from the user terminal 300 refers to a device that provides a specific service, for example, a server that is operating in the 3 rd Party Service areas can be equivalent.

서비스 서버(200)는 외부 장치(100)와 사용자 단말(300) 간의 서비스 환경을 제공하는 서버를 일컫는 것으로서, 예컨대, 이동통신 서비스 사업자가 운용하는 서버가 이에 해당될 수 있다.The service server 200 refers to a server that provides a service environment between the external device 100 and the user terminal 300, and may correspond to a server operated by a mobile communication service provider, for example.

이러한, 서비스 서버(200)는 앞서 언급한 바와 같이 외부 장치(100)와 사용자 단말(300) 간의 서비스 환경의 제공뿐만 아니라, 사용자 단말(300)에서의 이동통신 서비스 이용 과정에서 수집 동의한 다양한 개인정보(예: 거주지, 연령, 취미, 관심사 등)를 수집하여 관리할 수 있다.As mentioned above, the service server 200 not only provides a service environment between the external device 100 and the user terminal 300, but also various individuals who consent to collection in the process of using the mobile communication service in the user terminal 300. Information (eg, residence, age, hobbies, interests, etc.) can be collected and managed.

사용자 단말(300)은 개인정보를 전달하여 외부 장치(100)가 제공하는 서비스를 이용하는 장치를 일컫는 것으로서, 예컨대, 스마트폰, 데스크 탑, 노트북, 테블릿 PC, 및 PDA, 등이 해당될 수 있으며, 이에 제한되는 것이 외부 장치(100) 및 서비스 서버(200)와의 통신 가능한 장치는 모두 포함될 수 있다.The user terminal 300 refers to a device that transmits personal information and uses a service provided by the external device 100, and may include, for example, a smartphone, a desktop, a notebook, a tablet PC, and a PDA, and the like. In this case, all devices capable of communicating with the external device 100 and the service server 200 may be included.

한편, 본 발명의 일 실시예에 따르면, 외부 장치(100)에서는 사용자 단말(300)로부터 전달되는 개인정보를 활용한 다양한 서비스를 사용자 단말(300)에 제공하게 된다.Meanwhile, according to an embodiment of the present invention, the external device 100 provides various services using personal information transmitted from the user terminal 300 to the user terminal 300.

이와 관련하여, 외부 장치(100)에서 제공하는 서비스를 이용하기 위해선 사용자 단말(300)에서는 자신의 개인정보를 서비스 제공 주체인 외부장치(100)에 전달해야 하는 과정이 요구된다.In this regard, in order to use the service provided by the external device 100, the user terminal 300 requires a process of transmitting its own personal information to the external device 100, which is a service provider.

참고로, 외부 장치(100)에서 제공하는 각 서비스의 종류 및 각각의 서비스를 이용하는데 요구되는 개인정보의 경우 도 3에 도시한 예와 같을 수 있다.For reference, the types of each service provided by the external device 100 and personal information required to use each service may be the same as the example shown in FIG. 3.

헌데, 사용자 단말(300)에서 외부 장치(100)로 전달되는 개인정보의 경우 암호화되지 않은 상태로 전달되는 것이 일반적인데, 이처럼 암호화되지 않은 개인정보를 직접 전달하는 경우 개인정보의 노출에 따른 악의적인 도용 및 불법 사용 등의 우려가 존재하게 된다.However, in the case of personal information transmitted from the user terminal 300 to the external device 100, it is generally transmitted in an unencrypted state. There are concerns about theft and illegal use.

이에, 본 발명의 일 실시예에서는, 개인정보를 활용한 서비스 이용과 관련하여 개인정보에 대한 노출 없이도 서비스 이용을 가능하게 하기 위한 방안을 제안하고자 하며, 이하에서는 이를 구체적으로 설명하기로 한다.Accordingly, in an embodiment of the present invention, in connection with the use of the service using personal information, a method for enabling the use of the service without exposure to personal information is proposed, and this will be described in detail below.

사용자 단말(300)은 개인정보를 전송하는 기능을 수행한다.The user terminal 300 performs a function of transmitting personal information.

보다 구체적으로, 사용자 단말(300)은 외부 장치(100)가 제공하는 특정 서비스를 이용하기 위해, 서비스 이용에 요구되는 개인정보를 서비스 서버(200)에 전달하게 된다.More specifically, the user terminal 300 transmits personal information required for service use to the service server 200 in order to use a specific service provided by the external device 100.

이때, 사용자 단말(300)은 외부 장치(100)에서 제공하는 특정 서비스를 이용을 위해 개인정보의 전송이 요구되는 경우, 공개 키를 이용하여 개인정보를 암호화한 이후, 암호화된 개인정보를 암호화 데이터로서 서비스 서버(200)에 전송하게 된다.At this time, when the transmission of personal information is required to use a specific service provided by the external device 100, the user terminal 300 encrypts the personal information using a public key, and then encrypts the encrypted personal information. As a result, it is transmitted to the service server 200.

서비스 서버(200)는 암호화 데이터를 이용한 연산 수행이 이루어지는 것을 확인하는 기능을 수행한다.The service server 200 performs a function of confirming that an operation using encrypted data is performed.

보다 구체적으로, 서비스 서버(200)는 사용자 단말(300)로부터 전송된 암호화 데이터가 수신되는 경우, 외부 장치(100)에서 암호화 데이터를 이용한 연산이 이루어지는 것을 확인하게 된다.More specifically, when the encrypted data transmitted from the user terminal 300 is received, the service server 200 confirms that an operation using the encrypted data is performed in the external device 100.

이때, 서비스 서버(200)는 암호화 데이터가 전달되는 목적지 주소를 확인함으로써, 목적지 주소에 해당하는 외부 장치(100)에서 특정 서비스 제공을 위해서 암호화 데이터를 이용한 연산이 수행하고자 하는 것을 확인하게 된다.At this time, the service server 200 checks the destination address to which the encrypted data is transmitted, thereby confirming that the external device 100 corresponding to the destination address intends to perform an operation using the encrypted data to provide a specific service.

또한, 서비스 서버(200)는 암호화 데이터를 전달하는 기능을 수행한다.In addition, the service server 200 performs a function of transmitting encrypted data.

보다 구체적으로, 서비스 서버(200)는 암호화 데이터를 이용한 연산을 수행하고자 하는 외부 장치(100)가 확인되는 경우, 확인된 외부 장치(100)에 암호화 데이터를 전달하게 된다.More specifically, when the external device 100 that intends to perform an operation using the encrypted data is identified, the service server 200 transmits the encrypted data to the verified external device 100.

한편, 서비스 서버(200)는 외부 장치(100)로부터 서비스와 관련된 연산 함수의 획득이 가능한 경우에는, 사용자 단말(300)로부터 수신된 암호화 데이터를 외부 장치(100)에 전달하지 않고, 반대로 외부 장치(100)로부터 연산 함수를 수신하게 된다.On the other hand, the service server 200 does not transfer the encrypted data received from the user terminal 300 to the external device 100 when it is possible to obtain an operation function related to the service from the external device 100, and, on the contrary, the external device The operation function is received from (100).

또한, 서비스 서버(200)는 연산을 위한 API(Application Protocol Interface)를 제공하는 기능을 수행한다.In addition, the service server 200 performs a function of providing an API (Application Protocol Interface) for calculation.

보다 구체적으로, 서비스 서버(200)는 외부 장치(100)에 사용자 단말(300)로부터 수신된 암호화 데이터를 전달한 경우, 별도의 복호화 과정 없이 암호화 데이터를 그대로 이용한 연산을 가능하게 하는 API를 외부 장치(100)에 제공하게 된다.More specifically, when the service server 200 transmits the encrypted data received from the user terminal 300 to the external device 100, the external device ( 100).

이로써, API를 수신한 외부 장치(100)에서는 자신이 제공하는 특정 서비스와 관련된 연산 함수를 상기 API를 기반으로 실행시켜 암호화 데이터를 그대로 이용한 연산을 수행하게 된다.Accordingly, the external device 100 that has received the API executes an operation function related to a specific service provided by itself based on the API to perform an operation using encrypted data as it is.

여기서, 서비스 서버(300)가 제공하는 API는 암호화 데이터를 그대로 이용한 연산이 가능하게 하는 예컨대, 동형 암호화 기법(HE, Homomorphic Encryption)을 가능하게 하는 인터페이스를 일컫게 된다.Here, the API provided by the service server 300 refers to an interface that enables, for example, homomorphic encryption (HE) that enables an operation using encrypted data as it is.

또한, 서비스 서버(200)는 자체 암호화 데이터를 이용한 연산 기능을 수행한다.In addition, the service server 200 performs an operation function using self-encrypted data.

보다 구체적으로, 서비스 서버(200)는 사용자 단말(300)로부터 수신된 암호화 데이터의 전달 과정 없이 외부 장치(100)로부터 연산 함수를 획득한 경우에는, 외부 장치(100)로부터 획득한 연산 함수를 상기 API를 기반으로 실행시켜 상기 암호화 데이터를 이용한 연산을 자체적으로 수행하게 된다.More specifically, when the service server 200 obtains the operation function from the external device 100 without transmitting the encrypted data received from the user terminal 300, the operation function obtained from the external device 100 is By executing based on the API, the operation using the encrypted data is performed by itself.

또한, 서비스 서버(200)는 연산 수행 결과에 대한 추가 연산 기능을 수행한다.In addition, the service server 200 performs an additional operation function on the result of performing the operation.

보다 구체적으로, 서비스 서버(200)는 외부 장치(100)로부터 암호화 데이터를 이용한 연산 수행 결과가 수신되거나, 자체 연산 수행 결과가 도출되는 경우, 암호화 데이터를 이용한 연산 수행 결과에 대하여 추가 연산을 수행하게 된다.More specifically, when a result of performing an operation using encrypted data is received from the external device 100 or a result of performing its own operation is derived, the service server 200 performs an additional operation on the result of performing the operation using the encrypted data. do.

이때, 서비스 서버(200)는 암호화 데이터를 이용한 연산 수행 결과가 수신되거나, 자체 도출되는 경우 사용자 단말(300)에 대하여 축적되어 있는 개인정보를 활용하여 암호화 데이터를 이용한 연산 수행 결과에 대하여 추가 연산을 수행하게 된다.At this time, the service server 200 performs an additional operation on the result of performing the operation using the encrypted data by using the personal information accumulated for the user terminal 300 when the result of performing the operation using the encrypted data is received or is self-derived. Will perform.

한편, 서비스 서버(200)는 암호화 데이터를 이용한 연산 수행 결과 및 이에 대한 추가 연산 결과가 도출되는 경우, 이를 사용자 단말(300)에 전달하여 열람할 수 있도록 한다.Meanwhile, when a result of performing an operation using encrypted data and a result of an additional operation thereon is derived, the service server 200 transmits the result to the user terminal 300 so that it can be viewed.

또한, 사용자 단말(300)은 연산 수행 결과를 열람하는 기능을 수행한다.In addition, the user terminal 300 performs a function of viewing the result of performing an operation.

보다 구체적으로, 사용자 단말(300)은 서비스 서버(200)로부터 암호화 데이터를 이용한 연산 수행 결과 및 이에 대한 추가 연산 결과가 전달되는 경우 앞서 언급한 비밀 키를 이용한 복호화를 수행함으로써, 전달된 연산 수행 결과를 정상적으로 열람하게 된다.More specifically, the user terminal 300 performs decryption using the aforementioned secret key when the result of performing an operation using encrypted data and an additional operation result for it is transmitted from the service server 200, thereby performing the transmitted operation result. Will be viewed normally.

이하에서는, 도 4를 참조하여 본 발명의 일 실시예에 따른 서비스 서버(200)의 구성을 보다 구체적으로 설명하도록 한다.Hereinafter, the configuration of the service server 200 according to an embodiment of the present invention will be described in more detail with reference to FIG. 4.

도 4는 본 발명의 일 실시예에 따른 서비스 서버(200)의 구성을 개략적으로 도시한 도면이다.4 is a diagram schematically showing the configuration of a service server 200 according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 서비스 서버(200)는 암호화 데이터를 이용한 연산 수행이 이루어지고자 하는 것을 확인하는 확인부(210), 암호화 데이터를 외부 장치(100)에 전달하는 전달부(220), 암호화 데이터를 이용한 연산을 가능하게 하는 API를 제공하는 제공부(230), 및 암호화 데이터를 이용한 연산 및 추가 연산을 수행하는 연산부(240)를 포함하는 구성을 가질 수 있다.As shown in FIG. 4, the service server 200 according to an embodiment of the present invention includes a confirmation unit 210 for confirming that an operation using encrypted data is to be performed, and an external device 100 for encrypted data. It has a configuration including a delivery unit 220 for transmitting to, a providing unit 230 for providing an API that enables an operation using encrypted data, and an operation unit 240 for performing an operation and an additional operation using the encrypted data. I can.

또한, 본 발명의 일 실시예에 따른 서비스 서버(200)의 경우, 각 구성의 동작을 제어하기 위한 제어부(250)를 더 포함하는 구성을 가질 수 있다.In addition, in the case of the service server 200 according to an embodiment of the present invention, it may have a configuration further including a control unit 250 for controlling the operation of each component.

결국, 이하에서 서술될 확인부(210), 전달부(220), 제공부(230), 연산부(240)에서 이루어지는 일련의 동작 들은 제어부(250)의 제어 하에 이루어지게 된다.As a result, a series of operations performed by the confirmation unit 210, the delivery unit 220, the providing unit 230, and the operation unit 240 to be described below are performed under the control of the controller 250.

한편, 앞서 언급한 확인부(210), 전달부(220), 제공부(230), 연산부(240), 및 제어부(250)를 포함하는 서비스 서버(200)의 전체 구성 내지는 적어도 일부는 하드웨어 또는 소프트웨어 모듈 형태로서 구현되거나, 내지는 하드웨어 및 소프트웨어 모듈의 조합을 통해서 구현될 수 있다.Meanwhile, the entire configuration or at least a part of the service server 200 including the above-mentioned confirmation unit 210, the delivery unit 220, the providing unit 230, the operation unit 240, and the control unit 250 is hardware or It may be implemented in the form of a software module, or may be implemented through a combination of hardware and software modules.

여기서, 전달부(220)의 경우, 사용자 단말(300)로부터 전달되는 암호화 데이터를 저장하거나, 전달하는 일종의 저장소의 역할을 하는 구성을 일컫는 것으로서, 예컨대, 클라우드 스토리지(Cloud Storage)가 이에 해당될 수 있다.Here, in the case of the delivery unit 220, it refers to a configuration that serves as a kind of storage for storing or delivering encrypted data transmitted from the user terminal 300, and for example, cloud storage may correspond to this. have.

확인부(210)는 암호화 데이터를 이용한 연산 수행이 이루어지는 것을 확인하는 기능을 수행한다.The verification unit 210 performs a function of confirming that an operation using encrypted data is performed.

보다 구체적으로, 확인부(210)는 사용자 단말(300)로부터 전송된 암호화 데이터가 수신되는 경우, 외부 장치(100)에서 암호화 데이터를 이용한 연산이 이루어지는 것을 확인하게 된다.More specifically, when the encrypted data transmitted from the user terminal 300 is received, the verification unit 210 confirms that an operation using the encrypted data is performed in the external device 100.

이때, 확인부(210)는 암호화 데이터가 전달되는 목적지 주소를 확인함으로써, 목적지 주소에 해당하는 외부 장치(100)에서 특정 서비스 제공을 위해서 암호화 데이터를 이용한 연산이 수행하고자 하는 것을 확인할 수 있다.At this time, by checking the destination address to which the encrypted data is transmitted, the verification unit 210 can confirm that the external device 100 corresponding to the destination address intends to perform an operation using the encrypted data to provide a specific service.

이와 관련하여, 사용자 단말(300)에선 외부 장치(100)에서 제공하는 특정 서비스를 이용을 위해 개인정보의 전송이 요구되는 경우, 공개 키를 이용하여 개인정보를 암호화한 이후, 암호화된 개인정보를 암호화 데이터로서 서비스 서버(200)에 전송하게 된다.In this regard, when the user terminal 300 is required to transmit personal information in order to use a specific service provided by the external device 100, after encrypting the personal information using a public key, the encrypted personal information is It is transmitted to the service server 200 as encrypted data.

또한, 전달부(220)는 암호화 데이터가 전달되게 하는 기능을 수행한다.In addition, the delivery unit 220 performs a function of transmitting encrypted data.

보다 구체적으로, 제어부(250)는 암호화 데이터를 이용한 연산을 수행하고자 하는 외부 장치(100)가 확인부(210)를 통해서 확인되는 경우, 사용자 단말(300)로부터 수신된 암호화 데이터를 외부 장치(100)에 전달하게 한다.More specifically, when the external device 100 that intends to perform an operation using encrypted data is confirmed through the verification unit 210, the control unit 250 transmits the encrypted data received from the user terminal 300 to the external device 100. ).

이처럼, 외부 장치(100)에 암호화 데이터를 전송하는 동작은 예컨대, 서비스 정책 상, 암호화 데이터를 이용한 연산이 외부 장치(100)에서 이루어져야 하거나, 외부 장치(100)가 제공하고 있는 특정 서비스와 관련된 연산 함수가 공개되지 않은 경우에 이루어질 수 있다.In this way, the operation of transmitting the encrypted data to the external device 100 is, for example, according to the service policy, an operation using the encrypted data must be performed in the external device 100, or an operation related to a specific service provided by the external device 100 This can be done when the function is not published.

결국, 전달부(220)는 외부 장치(100)로부터 연산 함수를 수신할 수 없는 경우에, 사용자 단말(300)로부터 수신되는 암호화 데이터를 외부 장치(100)에 전달하게 되는 것이다.As a result, the transfer unit 220 transfers the encrypted data received from the user terminal 300 to the external device 100 when the operation function cannot be received from the external device 100.

한편, 전달부(220)는 외부 장치(100)로부터 연산 함수의 획득이 가능한 경우에는 사용자 단말(300)로부터 수신된 암호화 데이터를 외부 장치(100)에 전달하지 않고, 반대로 외부 장치(100)로부터 연산 함수를 수신하도록 한다.On the other hand, the transfer unit 220 does not transfer the encrypted data received from the user terminal 300 to the external device 100 when it is possible to obtain an operation function from the external device 100, and, on the contrary, from the external device 100 Let it receive the arithmetic function.

제공부(230)는 연산을 위한 API를 제공하는 기능을 수행한다.The providing unit 230 performs a function of providing an API for calculation.

보다 구체적으로, 제공부(230)는 외부 장치(100)에 사용자 단말(300)로부터 수신된 암호화 데이터를 전달한 경우, 별도의 복호화 과정 없이도 암호화 데이터를 그대로 이용한 연산을 가능하게 하는 API를 외부 장치(100)에 제공하도록 한다.More specifically, when the encrypted data received from the user terminal 300 is transmitted to the external device 100, the providing unit 230 uses an API that enables an operation using the encrypted data as it is without a separate decryption process. 100).

이로써, API를 수신한 외부 장치(100)에서는 자신이 제공하는 특정 서비스와 관련된 연산 함수를 상기 API를 기반으로 실행시켜 암호화 데이터를 그대로 이용한 연산을 수행하게 된다.Accordingly, the external device 100 that has received the API executes an operation function related to a specific service provided by itself based on the API to perform an operation using encrypted data as it is.

결국, 외부 장치(100)에서 이루어지는 암호화 데이터를 이용한 연산 수행 과정에서도 서비스 서버(200)로부터 제공되는 API를 통해 개인정보의 암호화된 상태가 그대로 유지될 수 있으므로, 개인정보에 대한 외부로의 노출 우려가 없게 되는 것이다.Consequently, even in the process of performing an operation using encrypted data performed by the external device 100, the encrypted state of personal information can be maintained as it is through the API provided from the service server 200, so there is a concern about exposure of personal information to the outside. There will be no.

연산부(240)는 암호화 데이터를 이용한 자체 연산 기능을 수행한다.The operation unit 240 performs its own operation function using encrypted data.

보다 구체적으로, 연산부(240)는 사용자 단말(300)로부터 수신된 암호화 데이터의 전달 과정 없이 외부 장치(100)로부터 연산 함수를 획득한 경우에는, 외부 장치(100)로부터 획득한 연산 함수를 상기 API를 기반으로 실행시켜 상기 암호화 데이터를 이용한 연산을 자체적으로 수행하게 된다.More specifically, when the operation function is obtained from the external device 100 without transmitting the encrypted data received from the user terminal 300, the operation unit 240 uses the API By executing based on, the operation using the encrypted data is performed by itself.

결국, 암호화 데이터를 이용한 연산이 서비스 서버(200)에서 이루어지는 경우도 마찬가지로 개인정보의 암호화된 상태가 그대로 유지되게 되므로 개인정보에 대한 외부로의 노출 우려가 없음은 물론이다.As a result, even when the operation using the encrypted data is performed in the service server 200, the encrypted state of the personal information is maintained as it is, so there is no fear of exposing the personal information to the outside.

또한, 연산부(240)는 연산 수행 결과에 대한 추가 연산 기능을 수행한다.In addition, the operation unit 240 performs an additional operation function on the result of performing the operation.

보다 구체적으로, 연산부(240)는 외부 장치(100)로부터 암호화 데이터를 이용한 연산 수행 결과가 수신되거나, 자체 연산 수행 결과가 도출되는 경우, 암호화 데이터를 이용한 연산 수행 결과에 대하여 추가 연산을 수행하게 한다.More specifically, when a result of performing an operation using encrypted data is received from the external device 100 or a result of performing its own operation is derived, the operation unit 240 performs an additional operation on the result of performing the operation using the encrypted data. .

이때, 연산부(240)는 추가 연산을 수행함에 있어서, 사용자 단말(200)의 이동통신 서비스 이용과 관련하여 축적되어 있는 개인정보를 활용하게 된다.In this case, the calculation unit 240 utilizes personal information accumulated in connection with the use of the mobile communication service of the user terminal 200 in performing an additional operation.

즉, 연산부(240)는 암호화 데이터를 이용한 연산 수행 결과가 수신되거나, 자체 도출되는 경우 사용자 단말(300)에 대하여 축적되어 있는 개인정보를 활용하여 암호화 데이터를 이용한 연산 수행 결과에 대하여 추가 연산을 수행하게 되는 것이다.That is, when the operation result using the encrypted data is received or self-derived, the operation unit 240 performs an additional operation on the result of performing the operation using the encrypted data by using the personal information accumulated for the user terminal 300. It is done.

예를 들어, 외부 장치(100)에서 제공하는 서비스가 부동산 서비스이며, 암호화 데이터로서 예컨대, 보증금, 권리금, 평수 등의 조건이 전달되어 그 연산 수행 결과로서 전국에 걸쳐 위 조건을 충족하는 부동산 매물 정보가 도출된 경우를 가정할 수 있다.For example, the service provided by the external device 100 is a real estate service, and as encrypted data, conditions such as deposit, right amount, and average number are transmitted, and as a result of performing the calculation, real estate sales information that meets the above conditions nationwide. It can be assumed that is derived.

이 경우, 사용자 단말(300)에 대하여 축적되어 있는 개인정보로부터 사용자 단말(300)을 소지하고 있는 사용자의 생활권이 확인될 수 있으며, 이로써, 전국에 걸쳐 조건을 충족하는 전체 부동산 매물 정보 중, 사용자의 생활권과 인접한 부동산 매물 정보만을 그 추가 연산 결과로서 도출할 수 있는 것이다.In this case, the living area of the user holding the user terminal 300 can be confirmed from the personal information accumulated for the user terminal 300, whereby, among all real estate sales information that satisfies the conditions across the country, the user It is possible to derive only the real estate sales information adjacent to the living area of the building as the result of the additional calculation.

여기서, 암호화 데이터를 이용한 연산 수행 결과 및 이에 대한 추가 연산 결과 역시, 암호화된 상태가 유지되며, 앞서 언급한 비밀 키를 이용한 복호화 과정 없이는 그 결과를 열람할 수 없다.Here, the result of performing the operation using the encrypted data and the result of the additional operation thereof are also kept in an encrypted state, and the result cannot be viewed without the decryption process using the aforementioned secret key.

한편, 연산부(240)는 암호화 데이터를 이용한 연산 수행 결과 및 이에 대한 추가 연산 결과가 도출되는 경우, 도출된 추가 연산 결과를 사용자 단말(300)에 전달하여 열람하게 한다.On the other hand, when the calculation result using the encrypted data and the additional calculation result is derived, the calculation unit 240 transmits the derived additional calculation result to the user terminal 300 for viewing.

참고로, 사용자 단말(100)에서 다수의 외부 장치(100)에 암호화 데이터를 전달하여 서비스를 요청한 경우, 다수의 외부 장치(100) 각각과 관련된 연산 수행 결과 중, 사용자 단말(300)에 대하여 축적되어 있는 개인정보와 밀접한 관계인 특정 연산 수행 결과만을 추가 연산 수행 결과로서 사용자 단말(300)에 제공할 수 있다.For reference, when the user terminal 100 transmits encrypted data to a plurality of external devices 100 to request a service, among the results of performing calculations related to each of the plurality of external devices 100, the user terminal 300 is accumulated. Only a result of performing a specific operation, which is closely related to the personal information, may be provided to the user terminal 300 as a result of performing an additional operation.

이와 관련하여, 사용자 단말(300)에서는 서비스 서버(200)로부터 암호화 데이터를 이용한 연산 수행 결과 및 이에 대한 추가 연산 결과가 전달되는 경우 비밀 키를 이용한 복호화를 수행함으로써, 전달된 연산 수행 결과를 정상적으로 열람하게 된다.In this regard, the user terminal 300 performs decryption using a secret key when the result of performing an operation using encrypted data and an additional operation result for it is transmitted from the service server 200, so that the transmitted operation result is normally viewed. It is done.

결국, 암호화 데이터 및 이를 이용한 연산 수행 결과는 사용자 단말(300)에서의 비밀 키를 이용한 복호화 과정을 통해서만 열람 가능하게 되며, 이로써 개인정보를 활용한 서비스 이용 과정에서 보안에 민감한 개인정보에 대한 노출 우려가 사라지게 되는 것이다.Eventually, the encrypted data and the result of performing the operation using the same can be viewed only through the decryption process using the secret key in the user terminal 300, and thus, there is concern about exposure to security-sensitive personal information in the process of using the service using personal information Will disappear.

이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 개인정보 기반 서비스 제공 시스템에 따르면, 개인정보를 활용한 서비스 이용과 관련하여 사용자 단말로부터 전달되는 암호화된 개인정보에 대한 복호화 과정 없이도 서비스 제공을 위한 연산이 가능하게 함으로써, 보안에 민감한 개인정보의 노출 없이도 정상적인 서비스 이용을 가능하게 할 수 있다.As described above, according to the personal information-based service providing system according to an embodiment of the present invention, service provision is provided without a decryption process for encrypted personal information transmitted from the user terminal in connection with the use of the service using personal information. By enabling the operation for security, normal service use can be made without exposing personal information that is sensitive to security.

이하에서는 도 5 및 도 6을 참조하여, 본 발명의 일 실시예에 따른 개인정보 기반 서비스 제공 방법을 설명하도록 한다.Hereinafter, a method of providing a personal information-based service according to an embodiment of the present invention will be described with reference to FIGS. 5 and 6.

여기서, 설명의 편의를 위해 전술한 도 1 및 도 4에 도시된 구성은 해당 참조번호를 언급하여 설명하겠다. Here, for convenience of description, the configurations illustrated in FIGS. 1 and 4 described above will be described with reference to the corresponding reference numerals.

우선, 도 5를 참조하여 본 발명의 일 실시예에 따른 개인정보 기반 서비스 제공 시스템에서의 동작 흐름을 설명하도록 한다.First, an operation flow in the personal information-based service providing system according to an embodiment of the present invention will be described with reference to FIG. 5.

참고로, 도 5에 도시되어 있는 변수의 정의는 아래 [표 1]과 같이 정의될 수 있다.For reference, the definition of the variable shown in FIG. 5 may be defined as shown in [Table 1] below.

변수variable 설명Explanation Pk P k 공개 키Public key Sk S k 비밀 키Secret key DN D N 개인정보Privacy E(DN)E(D N ) 암호화 함수Cryptographic function ββ 암호화 데이터Encrypted data fx f x 연산 함수Arithmetic function γγ 암호화 데이터를 이용한 연산 수행 결과Result of operation execution using encrypted data Zm Z m 개인정보(추가 연산)Personal information (additional calculation) gg 추가 연산 함수Additional math functions σσ 추가 연산 수행 결과Result of performing additional operation

먼저, 사용자 단말(300)은 외부 장치(100)가 제공하는 특정 서비스를 이용하기 위해, 서비스 이용에 요구되는 개인정보를 서비스 서버(200)에 전달한다(S110-S120).이때, 사용자 단말(300)은 외부 장치(100)에서 제공하는 특정 서비스를 이용을 위해 개인정보의 전송이 요구되는 경우, 공개 키를 이용하여 개인정보를 암호화한 이후, 암호화된 개인정보를 암호화 데이터로서 서비스 서버(200)에 전송하게 된다.First, the user terminal 300 transmits personal information required for service use to the service server 200 in order to use a specific service provided by the external device 100 (S110-S120). When transmission of personal information is required to use a specific service provided by the external device 100, the service server 200 encrypts the personal information using a public key, and then uses the encrypted personal information as encrypted data. ).

이에, 서비스 서버(200)는 사용자 단말(300)로부터 전송된 암호화 데이터가 수신되는 경우, 수신된 암호화 데이터를 서비스 제공 주체인 외부 장치(100)에 전달한다(S130).Accordingly, when the encrypted data transmitted from the user terminal 300 is received, the service server 200 transmits the received encrypted data to the external device 100, which is a service provider (S130).

이때, 서비스 서버(200)는 외부 장치(100)에 사용자 단말(300)로부터 수신된 암호화 데이터를 전달한 경우, 별도의 복호화 과정 없이 암호화 데이터를 그대로 이용한 연산을 가능하게 하는 API를 외부 장치(100)에 제공하게 된다.In this case, when the service server 200 transmits the encrypted data received from the user terminal 300 to the external device 100, the external device 100 uses an API that enables an operation using the encrypted data as it is without a separate decryption process. Will be provided to.

한편, 서비스 서버(200)는 외부 장치(100)로부터 서비스와 관련된 연산 함수의 획득이 가능한 경우에는, 사용자 단말(300)로부터 수신된 암호화 데이터를 외부 장치(100)에 전달하지 않고, 반대로 외부 장치(100)로부터 연산 함수를 수신하게 된다.On the other hand, the service server 200 does not transfer the encrypted data received from the user terminal 300 to the external device 100 when it is possible to obtain an operation function related to the service from the external device 100, and conversely, the external device The operation function is received from (100).

이로써, 외부 장치(100)에서는 자신이 제공하는 특정 서비스와 관련된 연산 함수를 서비스 서버(200)로부터 수신된 API를 기반으로 실행시켜 암호화 데이터를 그대로 이용한 연산을 수행한다(S140).Accordingly, the external device 100 executes an operation function related to a specific service provided by itself based on the API received from the service server 200 to perform an operation using the encrypted data as it is (S140).

한편, 서비스 서버(200)에서는 사용자 단말(300)로부터 수신된 암호화 데이터의 전달 과정 없이 외부 장치(100)로부터 연산 함수를 획득한 경우, 외부 장치(100)로부터 획득한 연산 함수를 상기 API를 기반으로 실행시킴으로써, 상기 암호화 데이터를 이용한 연산을 자체적으로 수행하게 된다.Meanwhile, when the service server 200 obtains an operation function from the external device 100 without transmitting the encrypted data received from the user terminal 300, the operation function obtained from the external device 100 is based on the API. By executing it, the operation using the encrypted data is performed by itself.

그리고 나서, 서비스 서버(200)는 외부 장치(100)로부터 암호화 데이터를 이용한 연산 수행 결과가 수신되거나, 자체 연산 수행 결과가 도출되는 경우, 암호화 데이터를 이용한 연산 수행 결과에 대하여 추가 연산을 수행한다(S160).Then, when the result of performing an operation using encrypted data is received from the external device 100 or a result of performing its own operation is derived, the service server 200 performs an additional operation on the result of performing the operation using the encrypted data ( S160).

이때, 서비스 서버(200)는 암호화 데이터를 이용한 연산 수행 결과가 수신되거나, 자체 도출되는 경우 사용자 단말(300)에 대하여 축적되어 있는 개인정보를 활용하여 암호화 데이터를 이용한 연산 수행 결과에 대하여 추가 연산을 수행하게 된다.At this time, the service server 200 performs an additional operation on the result of performing the operation using the encrypted data by using the personal information accumulated for the user terminal 300 when the result of performing the operation using the encrypted data is received or is self-derived. Will perform.

그런 다음, 서비스 서버(200)는 암호화 데이터를 이용한 연산 수행 결과 및 이에 대한 추가 연산 결과가 도출되는 경우, 이를 사용자 단말(300)에 전달하여 열람할 수 있도록 한다(S170).Then, when the result of performing the operation using the encrypted data and the result of the additional operation is derived, the service server 200 transmits the result to the user terminal 300 so that it can be viewed (S170).

이후, 사용자 단말(300)은 서비스 서버(200)로부터 암호화 데이터를 이용한 연산 수행 결과 및 이에 대한 추가 연산 결과가 전달되는 경우 앞서 언급한 비밀 키를 이용한 복호화를 수행함으로써, 전달된 연산 수행 결과를 정상적으로 열람하게 된다(S180).Thereafter, the user terminal 300 performs decryption using the aforementioned secret key when the result of performing the operation using the encrypted data and the result of the additional operation thereof is transmitted from the service server 200, so that the transmitted result of the operation is normally transmitted. It is read (S180).

이하에서는 도 6을 참조하여 본 발명의 일 실시예에 따른 서비스 서버(200)에서의 동작 흐름을 설명하기로 한다.Hereinafter, an operation flow in the service server 200 according to an embodiment of the present invention will be described with reference to FIG. 6.

먼저, 확인부(210)는 사용자 단말(300)로부터 전송된 암호화 데이터가 수신되는 경우, 외부 장치(100)에서 암호화 데이터를 이용한 연산이 이루어지는 것을 확인한다(S210).First, when the encrypted data transmitted from the user terminal 300 is received, the verification unit 210 confirms that an operation using the encrypted data is performed in the external device 100 (S210).

이때, 확인부(210)는 암호화 데이터가 전달되는 목적지 주소를 확인함으로써, 목적지 주소에 해당하는 외부 장치(100)에서 특정 서비스 제공을 위해서 암호화 데이터를 이용한 연산이 수행하고자 하는 것을 확인할 수 있다.At this time, by checking the destination address to which the encrypted data is transmitted, the verification unit 210 can confirm that the external device 100 corresponding to the destination address intends to perform an operation using the encrypted data to provide a specific service.

이와 관련하여, 사용자 단말(300)에선 외부 장치(100)에서 제공하는 특정 서비스를 이용을 위해 개인정보의 전송이 요구되는 경우, 공개 키를 이용하여 개인정보를 암호화한 이후, 암호화된 개인정보를 암호화 데이터로서 서비스 서버(200)에 전송하게 된다.In this regard, when the user terminal 300 is required to transmit personal information in order to use a specific service provided by the external device 100, after encrypting the personal information using a public key, the encrypted personal information is It is transmitted to the service server 200 as encrypted data.

그리고 나서, 전달부(220)는 암호화 데이터를 이용한 연산을 수행하고자 하는 외부 장치(100)가 확인부(210)를 통해서 확인되는 경우, 확인된 외부 장치(100)에 암호화 데이터를 전달하게 한다(S230).Then, when the external device 100 to perform the operation using the encrypted data is confirmed through the verification unit 210, the transfer unit 220 transmits the encrypted data to the verified external device 100 ( S230).

이때, 제공부(230)는 사용자 단말(300)로부터 수신된 암호화 데이터가 전달부(220)를 통해서 외부 장치(100)로 전달된 경우, 별도의 복호화 과정 없이 암호화 데이터를 그대로 이용한 연산을 가능하게 하는 API를 외부 장치(100)에 제공하도록 한다.In this case, when the encrypted data received from the user terminal 300 is transmitted to the external device 100 through the transmission unit 220, the providing unit 230 enables an operation using the encrypted data as it is without a separate decryption process. The API is provided to the external device 100.

이와 관련하여, 외부 장치(100)에서는 자신이 제공하는 특정 서비스와 관련된 연산 함수를 서비스 서버(200)로부터 수신된 API를 기반으로 실행시켜 암호화 데이터를 그대로 이용한 연산을 수행하게 된다.In this regard, the external device 100 executes an operation function related to a specific service provided by itself based on an API received from the service server 200 to perform an operation using encrypted data as it is.

그런 다음, 연산부(240)는 외부 장치(100)로부터 암호화 데이터를 이용한 연산 수행 결과가 수신되거나, 자체 연산 수행 결과가 도출되는 경우, 암호화 데이터를 이용한 연산 수행 결과에 대하여 추가 연산을 수행하게 한다(S240-S260).Then, when the operation result using the encrypted data is received from the external device 100 or the result of performing the operation itself is derived, the operation unit 240 performs an additional operation on the result of performing the operation using the encrypted data ( S240-S260).

이때, 연산부(240)는 암호화 데이터를 이용한 연산 수행 결과가 수신되거나, 자체 도출되는 경우 사용자 단말(300)에 대하여 축적되어 있는 개인정보를 활용하여 암호화 데이터를 이용한 연산 수행 결과에 대하여 추가 연산을 수행하게 되는 것이다.At this time, the operation unit 240 performs an additional operation on the result of performing the operation using the encrypted data by using the personal information accumulated for the user terminal 300 when the result of performing the operation using the encrypted data is received or is self-derived. It is done.

한편, 연산부(240)는 단계 'S250'과 관련하여 외부 장치(100)로부터 연산 함수가 획득된 경우에는, 사용자 단말(300)로부터 수신된 암호화 데이터의 전달 과정 없이 외부 장치(100)로부터 획득한 연산 함수를 상기 API를 기반으로 실행시켜 상기 암호화 데이터를 이용한 연산을 자체적으로 수행하게 된다.On the other hand, when the operation function is obtained from the external device 100 in connection with step'S250', the operation unit 240 is obtained from the external device 100 without transmitting the encrypted data received from the user terminal 300. By executing an operation function based on the API, the operation using the encrypted data is performed by itself.

이후, 연산부(240)는 암호화 데이터를 이용한 연산 수행 결과 및 이에 대한 추가 연산 결과가 도출되는 경우, 도출된 추가 연산 결과를 사용자 단말(300)에 전달하여 열람하게 한다(S270).Thereafter, when a result of performing an operation using the encrypted data and a result of an additional operation thereon is derived, the calculation unit 240 transmits the derived result of the additional operation to the user terminal 300 to be viewed (S270).

이와 관련하여, 사용자 단말(300)에서는 서비스 서버(200)로부터 암호화 데이터를 이용한 연산 수행 결과 및 이에 대한 추가 연산 결과가 전달되는 경우 비밀 키를 이용한 복호화를 수행함으로써, 전달된 연산 수행 결과를 정상적으로 열람하게 된다.In this regard, the user terminal 300 performs decryption using a secret key when the result of performing an operation using encrypted data and an additional operation result for it is transmitted from the service server 200, so that the transmitted operation result is normally viewed. It is done.

이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 개인정보 기반 서비스 제공 방법에 따르면, 개인정보를 활용한 서비스 이용과 관련하여 사용자 단말로부터 전달되는 암호화된 개인정보에 대한 복호화 과정 없이도 서비스 제공을 위한 연산이 가능하게 함으로써, 보안에 민감한 개인정보의 노출 없이도 정상적인 서비스 이용을 가능하게 할 수 있다.As described above, according to the method for providing a personal information-based service according to an embodiment of the present invention, in connection with the use of the service using personal information, the service is provided without a decryption process for the encrypted personal information transmitted from the user terminal. By enabling the operation for security, normal service use can be made without exposing personal information sensitive to security.

한편, 여기에 제시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Meanwhile, the steps of the method or algorithm described in connection with the embodiments presented herein may be directly implemented in hardware or implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded in the medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.

지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.Until now, the present invention has been described in detail with reference to preferred embodiments, but the present invention is not limited to the above-described embodiments, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the following claims. Anyone of ordinary skill in the art will say that the technical idea of the present invention extends to the range in which various modifications or modifications are possible.

본 발명의 서비스서버 및 그 동작 방법에 따르면, 개인정보를 활용한 서비스 이용과 관련하여 개인정보에 대한 노출 없이도 서비스 이용을 가능하게 한다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.According to the service server and its operation method of the present invention, in connection with the use of the service using personal information, it is possible to use the service without exposure to personal information. It is an invention that has industrial applicability because it is not only possible to market or sell a device to which it is applied, but also to the extent that it can be practically clearly implemented.

100: 외부 장치
200: 서비스 서버
210: 확인부 220: 전달부
230: 제공부 240: 연산부
300: 사용자 단말
100: external device
200: service server
210: confirmation unit 220: transmission unit
230: providing unit 240: calculating unit
300: user terminal

Claims (4)

외부 장치에서의 특정 서비스 제공과 관련하여 사용자 단말로부터 수신되는 암호화 데이터를 이용한 연산 수행이 요구되는 것을 확인하는 확인부; 및
상기 특정 서비스와 관련된 연산 함수에 대한 상기 외부 장치로부터의 공개 여부에 따라 상기 외부 장치로부터 연산 함수를 수신하여 상기 암호화 데이터를 이용한 연산이 자체 수행되도록 하거나, 또는 상기 암호화 데이터를 상기 외부 장치로 전달하여 상기 암호화 데이터를 이용한 연산이 상기 외부 장치에서 수행되도록 하는 전달부를 포함하는 것을 특징으로 하는 서비스 서버.
A confirmation unit for confirming that an operation using encrypted data received from a user terminal is requested in connection with providing a specific service from an external device; And
Depending on whether the operation function related to the specific service is disclosed by the external device, the operation function is received from the external device and the operation using the encrypted data is performed by itself, or the encrypted data is transmitted to the external device. And a transmission unit for performing an operation using the encrypted data in the external device.
제 1 항에 있어서,
상기 서비스 서버는,
상기 암호화 데이터를 이용한 자체 연산 수행 결과가 도출되거나, 상기 암호화 데이터를 이용한 연산 수행 결과가 상기 외부 장치로부터 수신되는 경우, 상기 사용자 단말에 대하여 기 저장된 개인정보에 기초로 상기 암호화 데이터를 이용한 연산 수행 결과에 대하여 지정된 추가 연산을 수행하는 연산부를 더 포함하는 것을 특징으로 하는 서비스 서버.
The method of claim 1,
The service server,
When a result of performing a self-operation using the encrypted data is derived or a result of performing an operation using the encrypted data is received from the external device, the result of performing the operation using the encrypted data based on the personal information previously stored for the user terminal A service server, characterized in that it further comprises an operation unit that performs an additional operation designated for.
외부 장치에서의 특정 서비스 제공과 관련하여 사용자 단말로부터 수신되는 암호화 데이터를 이용한 연산 수행이 요구되는 것을 확인하는 확인단계; 및
상기 특정 서비스와 관련된 연산 함수에 대한 상기 외부 장치로부터의 공개 여부에 따라 상기 외부 장치로부터 연산 함수를 수신하여 상기 암호화 데이터를 이용한 연산이 자체 수행되도록 하거나, 또는 상기 암호화 데이터를 상기 외부 장치로 전달하여 상기 암호화 데이터를 이용한 연산이 상기 외부 장치에서 수행되도록 하는 전달단계를 포함하는 것을 특징으로 하는 서비스 서버의 동작 방법.
A confirmation step of confirming that an operation using encrypted data received from a user terminal is required in connection with provision of a specific service from an external device; And
Depending on whether the operation function related to the specific service is disclosed by the external device, the operation function is received from the external device and the operation using the encrypted data is performed by itself, or the encrypted data is transmitted to the external device. And a transfer step of performing an operation using the encrypted data in the external device.
제 3 항에 있어서,
상기 방법은,
상기 암호화 데이터를 이용한 자체 연산 수행 결과가 도출되거나, 상기 암호화 데이터를 이용한 연산 수행 결과가 상기 외부 장치로부터 수신되는 경우, 상기 사용자 단말에 대하여 기 저장된 개인정보에 기초로 상기 암호화 데이터를 이용한 연산 수행 결과에 대하여 지정된 추가 연산을 수행하는 연산단계를 더 포함하는 것을 특징으로 하는 서비스 서버의 동작 방법.
The method of claim 3,
The above method,
When a result of performing a self-operation using the encrypted data is derived or a result of performing an operation using the encrypted data is received from the external device, the result of performing the operation using the encrypted data based on the personal information previously stored for the user terminal A method of operating a service server, further comprising an operation step of performing an additional operation designated for.
KR1020210027405A 2014-10-30 2021-03-02 Service server, and operating method thereof KR102370797B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210027405A KR102370797B1 (en) 2014-10-30 2021-03-02 Service server, and operating method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140149117A KR102224974B1 (en) 2014-10-30 2014-10-30 Service server, and operating method thereof
KR1020210027405A KR102370797B1 (en) 2014-10-30 2021-03-02 Service server, and operating method thereof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020140149117A Division KR102224974B1 (en) 2014-10-30 2014-10-30 Service server, and operating method thereof

Publications (2)

Publication Number Publication Date
KR20210032332A true KR20210032332A (en) 2021-03-24
KR102370797B1 KR102370797B1 (en) 2022-03-04

Family

ID=80813728

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210027405A KR102370797B1 (en) 2014-10-30 2021-03-02 Service server, and operating method thereof

Country Status (1)

Country Link
KR (1) KR102370797B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009089000A (en) * 2007-09-28 2009-04-23 Toshiba Solutions Corp Encryption module distribution system, encryption management server device, encryption processing apparatus, client device, encryption management program, encryption processing program, and client program
KR100929488B1 (en) * 2009-02-20 2009-12-03 주식회사 한국무역정보통신 System and method for authorizing of electronic signature based on server
KR20120041907A (en) * 2010-10-22 2012-05-03 동국대학교 경주캠퍼스 산학협력단 Distributed computation method and system based on mapreduce of large amount data
KR101348079B1 (en) * 2013-06-07 2014-01-08 라온시큐어(주) System for digital signing using portable terminal
KR101388930B1 (en) * 2012-10-19 2014-04-25 소프트포럼 주식회사 Divided signature based user authentication apparatus and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009089000A (en) * 2007-09-28 2009-04-23 Toshiba Solutions Corp Encryption module distribution system, encryption management server device, encryption processing apparatus, client device, encryption management program, encryption processing program, and client program
KR100929488B1 (en) * 2009-02-20 2009-12-03 주식회사 한국무역정보통신 System and method for authorizing of electronic signature based on server
KR20120041907A (en) * 2010-10-22 2012-05-03 동국대학교 경주캠퍼스 산학협력단 Distributed computation method and system based on mapreduce of large amount data
KR101388930B1 (en) * 2012-10-19 2014-04-25 소프트포럼 주식회사 Divided signature based user authentication apparatus and method
KR101348079B1 (en) * 2013-06-07 2014-01-08 라온시큐어(주) System for digital signing using portable terminal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Alfred J. Menezes 외 2명, Handbook of Applied Cryptography, CRC Press (1996.)* *

Also Published As

Publication number Publication date
KR102370797B1 (en) 2022-03-04

Similar Documents

Publication Publication Date Title
AU2017204769B2 (en) Differential client-side encryption of information originating from a client
JP5852265B2 (en) COMPUTER DEVICE, COMPUTER PROGRAM, AND ACCESS Permission Judgment Method
US8869241B2 (en) Network acquired behavioral fingerprint for authentication
CN110417750B (en) Block chain technology-based file reading and storing method, terminal device and storage medium
JP6543040B2 (en) System and method for remote access, remote digital signature
WO2015180691A1 (en) Key agreement method and device for verification information
US11115394B2 (en) Methods and systems for encrypting data for a web application
US9798888B2 (en) Data management
US9235731B2 (en) Trusted data relay
US9686251B2 (en) Devices and techniques for controlling disclosure of sensitive information
US10887085B2 (en) System and method for controlling usage of cryptographic keys
US10027660B2 (en) Computer program, method, and system for secure data management
US9356787B2 (en) Secure communication architecture including sniffer
JP5992535B2 (en) Apparatus and method for performing wireless ID provisioning
JP2022518061A (en) Methods, Computer Program Products, and Equipment for Transferring Ownership of Digital Assets
US10462113B1 (en) Systems and methods for securing push authentications
KR101657243B1 (en) Online secret data managing system and method of the same
KR102224974B1 (en) Service server, and operating method thereof
KR20160040399A (en) Personal Information Management System and Personal Information Management Method
KR101992402B1 (en) Method for Protecting Personal Data Using Homomorphic Encryption
KR102370797B1 (en) Service server, and operating method thereof
US11646869B1 (en) Stateless system to restore access
US11785005B2 (en) Secure tunneling with implicit device identification
US20220393867A1 (en) Techniques for user account and data recovery
US11843619B1 (en) Stateless system to enable data breach notification

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant