KR20100067816A - 프라이버시를 보호하는 개인화 추천 서비스 제공방법 및 제공서버 - Google Patents

프라이버시를 보호하는 개인화 추천 서비스 제공방법 및 제공서버 Download PDF

Info

Publication number
KR20100067816A
KR20100067816A KR1020080126373A KR20080126373A KR20100067816A KR 20100067816 A KR20100067816 A KR 20100067816A KR 1020080126373 A KR1020080126373 A KR 1020080126373A KR 20080126373 A KR20080126373 A KR 20080126373A KR 20100067816 A KR20100067816 A KR 20100067816A
Authority
KR
South Korea
Prior art keywords
user
preference information
recommendation service
personalized recommendation
service providing
Prior art date
Application number
KR1020080126373A
Other languages
English (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 KR1020080126373A priority Critical patent/KR20100067816A/ko
Publication of KR20100067816A publication Critical patent/KR20100067816A/ko

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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 개인화 추천 서비스 제공방법 및 서버에 관한 것이다. 본 발명은 동일 또는 유사한 선호도를 가지는 사용자의 선호도 정보에 기초하여 추천정보를 제공하는 개인화 추천 서비스 제공방법으로서, 제1 사용자의 단말로부터 선호도 정보 요청을 수신하는 단계와, 제1 사용자와 동일 클러스터에 속하는 타 사용자의 단말로 선호도 정보를 요청하는 단계를 거쳐 동일 클러스터에 속하는 타 사용자의 단말로부터 수신된 암호화된 선호도 정보를 연산처리하여 상기 제1 사용자의 단말로 제공하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 전자 상거래, 멀티미디어 컨텐츠 및, 타깃 광고 등 많은 인터넷 관련분야에서 이용되는 개인화 추천 서비스에서 암호화 방식에 의하여 개인 프라이버시에 관한 선호도 정보의 유출을 방지하면서도 암호화 기술을 이용하여 정확도 높은 개인화 추천정보를 제공하는 효과가 있다.
개인화 추천 서비스, Minhash, 단방향 해쉬함수, 공개키, 준동형 성질

Description

프라이버시를 보호하는 개인화 추천 서비스 제공방법 및 제공서버{Personalization recommendation service for preserving privacy providing method and server thereof}
본 발명은 개인화 추천 서비스 제공방법 및 서버에 관한 것으로서, 보다 상세하게는 전자 상거래, 멀티미디어 컨텐츠, 타깃 광고 등 많은 인터넷 관련분야에서 이용되는 개인화 추천 서비스에서 암호화 기술을 이용하여 개인 프라이버시 침해 위험을 방지하고, 높은 정확도를 가지는 개인화 추천 서비스를 제공하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법 및 서버에 관한 것이다.
일반적으로 전자 상거래, 멀티미디어 컨텐츠 및, 타깃 광고 등 많은 인터넷 관련분야에서 이용되는 개인화 추천 서비스는 정보 필터링 기술을 적용하여 고객의 취향에 맞는 상품 또는 디지털 컨텐츠를 추천해 주는 서비스이다. 이러한 개인화 추천 서비스에 가장 널리 이용되는 필터링 기술은 협업 필터링(Collaborative Filtering)으로서, 이는 개인화된 추천 정보를 제공받는 사용자 이외의 타 사용자들의 선호도 정보를 바탕으로 해서 동일 내지 유사한 성향을 가지는 이웃 사용자들을 찾고, 그 이웃 사용자들로 하여금 높은 선호도를 받은 상품 또는 디지털 컨텐츠 를 해당 사용자에게 추천하는 방식이다. 사용자는 상품 또는 디지털 컨텐츠의 구매시에 서비스 시스템이 제공하는 개인화된 추천정보를 참조하여 보다 합리적인 구매를 수행할 수 있다.
그러나, 이러한 개인화 추천 서비스는 다수의 사용자들로부터 다량의 개인정보를 수집하여 서비스 제공서버에 저장하고, 이를 통해 개인화 추천정보를 생성 및 제공하는 형태이며, 이에 따라 다음과 같은 문제점이 발생하고 있다.
첫번째, 개인정보의 유출로 인한 개인 프라이버시의 침해 위험성이 발생할 개연성이 크다.
보다 상세하게는, 개인추천 서비스 제공자가 서비스 제공서버에 저장하는 다수의 사용자들의 아이템에 대한 구매 및 시청 이력, 상품 비율 등을 포함하는 사용자 정보는 고객인 사용자가 원하지 않는 다른 목적으로 이용되어서는 아니되는 매우 개인적인 정보이다. 물론 사용자들은 자신들의 필요로 하는 추천정보에 대한 요구는 크지만, 사용자 자신의 개인정보가 유출되는 것을 결코 원하지 않는다.
특히, 전술한 바와 같이 서비스 제공서버에 개인정보가 집중화되어 저장되는 방식은 내/외부의 악의적인 공격자들에 의한 공격에 다수의 개인정보가 한번에 유출될 수 있는 가능성이 높아 신뢰하기 어렵다.
이에 따라, 다수의 사용자들은 개인의 프라이버시 침해에 대한 우려로 인해 개인추천 서비스 제공자에 자신의 개인정보를 제공하는 것을 꺼려하며, 개인정보 보안에 대한 사회적 인식이 점점 더 높아질수록 사용자 자신의 개인정보에 대한 자기 통제권을 요구하는 추세이다.
두번째, 사용자 데이터의 희박성(sparsity) 문제가 발생한다. 개인화 추천 서비스에서는 해당 상품 또는 디지털 컨텐츠의 수가 증가함에 따라 사용자의 선호도가 입력되지 않은 아이템의 개수가 상대적으로 증가하게 된다. 이에 따라, 유사도 측정에 신뢰성이 떨어지고 이는 추천의 정확도를 떨어뜨리는 결정적 요인으로 작용하게 된다.
본 발명은 종래의 전술한 바와 같은 해결하기 위한 것으로서, 사용자에게 적합한 상품 또는 디지털 컨텐츠를 추천하기 위한 개인화 추천 서비스를 제공하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법 및 서버를 제공하는 데 그 목적이 있다.
상기의 목적을 달성하기 위해, 본 발명의 바람직한 실시예에 의한 프라이버시를 보호하는 개인화 추천 서비스 제공방법은, 동일 또는 유사한 선호도를 가지는 사용자의 선호도 정보에 기초하여 추천정보를 제공하는 개인화 추천 서비스 제공방법으로서, (a) 제1 사용자의 단말로부터 선호도 정보 요청을 수신하는 단계; (b) 상기 제1 사용자와 동일 클러스터에 속하는 타 사용자의 단말로 선호도 정보를 요청하는 단계; 및, (c) 상기 동일 클러스터에 속하는 타 사용자의 단말로부터 수신된 암호화된 선호도 정보를 연산처리하여 상기 제1 사용자의 단말로 제공하는 단계를 포함한다.
상기 1차 암호화된 선호도 정보는 덧셈의 준동형 성질(additive homomorphim)을 가지는 공개키 암호방식(public key cryptosystem)으로 암호화된 것을 특징으로 한다.
상기 공개키 암호방식은, Paillier 암호방식인 것을 특징으로 한다.
상기 단계 (a) 이전에, 복수의 사용자의 단말로부터 사용자의 선호도에 관한 정보를 각각 수신하여 동일 또는 유사한 선호도를 가지는 복수의 사용자를 동일 클러스터로 분류하는 클러스터링 단계를 더 포함하는 것을 특징으로 한다.
상기 클러스터링 단계를 소정 주기 단위로 반복하는 것을 특징으로 한다.
상기 클러스터링 단계는, 상기 복수의 사용자의 단말로부터, 사용자의 선호도 정보(D)를 Minhash 방식으로 해싱하여 산출된 값(M)을 암호화한 특성값(H)을 각각 수신하는 단계; 및, 상기 특성값(H)이 동일한 사용자를 동일 클러스터로 지정하는 단계를 포함하는 것을 특징으로 한다.
상기 동일 클러스터에 속하는 타 사용자로부터 수신된 선호도 정보는 2중 암호화되어 있으며, 상기 단계 (c) 이전에, 상기 동일 클러스터에 속하는 타 사용자의 단말로부터 수신된 2중 암호화된 선호도 정보를 복호화하여 상기 암호화된 선호도 정보를 획득하는 단계를 더 포함하는 것을 특징으로 한다.
상기 단계 (a)는, 상기 제1 사용자의 단말로부터 1차 공개키(
Figure 112008085611856-PAT00001
)를 수신하는 단계를 포함하는 것을 특징으로 한다.
상기 단계 (b)는, 상기 제1 사용자와 동일 클러스터에 속하는 사용자의 단말로 상기 1차 공개키(
Figure 112008085611856-PAT00002
) 및, 2차 공개키(
Figure 112008085611856-PAT00003
)를 전송하는 단계를 포함하는 것을 특징으로 한다.
단계 (c)는, (c1) 상기 제1 사용자와 동일 클러스터에 속하는 사용자의 단말로부터 선호도 정보(
Figure 112008085611856-PAT00004
,
Figure 112008085611856-PAT00005
)가 상기 1차 공개키(
Figure 112008085611856-PAT00006
)로 1차 암호화된 후, 상기 2차 공개키(
Figure 112008085611856-PAT00007
)로 2차 암호화된 결과(
Figure 112008085611856-PAT00008
,
Figure 112008085611856-PAT00009
) 를 각각 수신하는 단계; 및, (c2) 상기 2차 암호화된 결과를 상기 2차 공개키(
Figure 112008085611856-PAT00010
)와 매칭되는 2차 비밀키(
Figure 112008085611856-PAT00011
)로 복호화한 1차 암호화된 값(
Figure 112008085611856-PAT00012
,
Figure 112008085611856-PAT00013
)을 산출하는 단계를 포함하는 것을 특징으로 한다.
상기 단계 (d)는, (d1) 상기 1차 암호화된 값(
Figure 112008085611856-PAT00014
,
Figure 112008085611856-PAT00015
)을 서로 곱셈연산한 값(
Figure 112008085611856-PAT00016
)을 산출하는 단계; 및, (d2) 상기 곱셈연산한 값(
Figure 112008085611856-PAT00017
)을 상기 제1 사용자의 단말로 전송하는 단계를 포함하는 것을 특징으로 한다.
단계 (a)는, 상기 제1 사용자의 단말로부터 1차 공개키(
Figure 112008085611856-PAT00018
) 및 특정 아이템의 식별코드(i)를 수신하는 단계를 포함하는 것을 특징으로 한다.
단계 (b)는, 상기 제1 사용자와 동일 클러스터에 속하는 사용자의 단말로 상기 1차 공개키(
Figure 112008085611856-PAT00019
), 상기 식별코드(i) 및, 2차 공개키(
Figure 112008085611856-PAT00020
)를 전송하는 단계를 포함하는 것을 특징으로 한다.
단계 (c)는, (c1) 상기 제1 사용자와 동일 클러스터에 속하는 사용자의 단말 로부터 상기 식별코드(i)에 대응하는 선호도 정보(
Figure 112008085611856-PAT00021
,
Figure 112008085611856-PAT00022
)가 상기 1차 공개키(
Figure 112008085611856-PAT00023
)로 1차 암호화된 후, 상기 2차 공개키(
Figure 112008085611856-PAT00024
)로 2차 암호화된 결과(
Figure 112008085611856-PAT00025
,
Figure 112008085611856-PAT00026
) 를 수신하는 단계; 및, (c2) 상기 2차 암호화된 결과를 상기 2차 공개키(
Figure 112008085611856-PAT00027
)와 매칭되는 2차 비밀키(
Figure 112008085611856-PAT00028
)로 복호화하여 상기 1차 암호화된 값(
Figure 112008085611856-PAT00029
,
Figure 112008085611856-PAT00030
)을 산출하는 단계를 포함하는 것을 특징으로 한다.
상기 단계 (d)는, (d1) 상기 1차 암호화된 값(
Figure 112008085611856-PAT00031
,
Figure 112008085611856-PAT00032
)을 서로 곱셈연산한 값(
Figure 112008085611856-PAT00033
)을 산출하는 단계; 및, (d2) 상기 곱셈연산한 값(
Figure 112008085611856-PAT00034
)을 상기 제1 사용자의 단말로 전송하는 단계를 포함하는 것을 특징으로 한다.
상기 클러스터링 단계는, 선호도 정보관리를 허용한 사용자의 단말로부터 선호도 정보를 수신 및 저장하는 단계; 선호도 정보관리를 허용하지 않은 사용자의 단말로부터, 사용자의 선호도 정보(D)를 Minhash 방식으로 해싱하여 산출된 값(M)을 암호화한 특성값(H)를 각각 수신하는 단계; 상기 선호도 정보관리를 허용한 사용자의 선호도 정보(D)를 Minhash 방식으로 해싱하여 산출된 값(M)을 암호화하여 특성값(H)을 생성하는 단계; 및, 상기 특성값(H)이 동일한 사용자를 동일 클러스터로 지정하는 단계를 포함하는 것을 특징으로 한다.
상기 단계 (c)는, (c3) 상기 선호도 정보관리를 허용한 사용자의 선호도 정보(
Figure 112008085611856-PAT00035
)를 상기 1차 공개키(
Figure 112008085611856-PAT00036
)로 암호화한 결과(
Figure 112008085611856-PAT00037
)을 산출하는 단계를 포함하는 것을 특징으로 한다.
상기 단계 (d)는, (d1) 상기 선호도 정보관리를 허용하지 않은 사용자의 1차 암호화된 값(
Figure 112008085611856-PAT00038
,
Figure 112008085611856-PAT00039
)과, 상기 상기 선호도 정보관리를 허용한 사용자의 단말 암호화한 결과(
Figure 112008085611856-PAT00040
)를 서로 곱셈연산한 값(
Figure 112008085611856-PAT00041
)을 산출하는 단계; 및, (d2) 상기 곱셈연산한 값(
Figure 112008085611856-PAT00042
)을 상기 제1 사용자의 단말로 전송하는 단계 를 포함하는 것을 특징으로 한다.
상기 특성값(H)은, 상기 산출된 값(M)을 단방향 해쉬함수(one-way hash function)를 통해 암호화하여 생성되는 것을 특징으로 한다.
상기 단방향 해쉬함수는, MD5 또는 SHA-1 인 것을 특징으로 한다.
상기의 목적을 달성하기 위해, 본 발명의 바람직한 실시예에 의한 프라이버시를 보호하는 개인화 추천 서비스 제공방법은, 사용자와 동일 또는 유사한 선호도를 가지는 타 사용자의 선호도 정보에 기초하여 추천정보를 제공하는 개인화 추천 서비스 제공방법으로서, (a) 사용자의 선호도 정보(D)를 Minhash 방식으로 해싱하여 산출값(M)을 생성한 후, 이 산출값(M)을 암호화한 특성값(H)을 개인화 추천 서비스 제공서버로 송신하는 단계; (b) 상기 개인화 추천 서비스 제공서버로 선호도 정보를 요청하는 단계; (c) 상기 개인화 추천 제공 서비스 서버로부터 사용자와 동일 또는 유사한 선호도를 가지는 타 사용자의 암호화된 선호도 정보를 수신하는 단계; 및, (d) 상기 암호화된 선호도 정보를 복호화하는 단계를 포함한다.
상기 암호화된 선호도 정보는 덧셈의 준동형 성질(additive homomorphim)을 가지는 공개키 암호방식(public key cryptosystem)으로 암호화된 것을 특징으로 한다.
상기 단계 (b)는, 1차 공개키(
Figure 112008085611856-PAT00043
)를 상기 개인화 추천 서비스 제공서버로 송신하는 단계를 포함하고, 상기 단계 (d)는, 상기 암호화된 선호도 정보를 상기 1차 공개키(
Figure 112008085611856-PAT00044
)와 매칭되는 1차 비밀키(
Figure 112008085611856-PAT00045
)로 복호화하는 단계를 포함하는 것을 특징으로 한다.
상기 단계 (d) 이후, 복호화된 선호도 정보는 상기 타 사용자의 선호도를 합산한 값이며, 합산된 선호도가 큰 순서대로 소정개의 아이템을 선택하여 추천정보로서 표시하는 단계를 포함하는 것을 특징으로 한다.
상기 단계 (d) 이후, 상기 복호화된 선호도 정보는 상기 타 사용자의 선호도를 합산한 값이며, 이에 포함된 특정 아이템에 대하여 선호도에 대응하는 소정의 등급으로 나누어 상기 등급을 추천정보로서 표시하는 단계를 포함하는 것을 특징으 로 한다.
상기 추천정보는 상기 사용자가 이미 소비한 아이템이 배제되는 것을 특징으로 한다.
상기의 목적을 달성하기 위해, 본 발명의 바람직한 실시예에 의한 프라이버시를 보호하는 개인화 추천 서비스 제공 서버는, 사용자의 특성값 및 암호화된 선호도 정보를 제공하는 복수의 사용자 단말과 연결되는 웹 인터페이스 모듈; 상기 복수의 사용자의 단말로부터 수신된 상기 사용자 특성값을 근거로 하여 복수의 사용자 중 동일 또는 유사한 선호도 정보를 가지는 상기 사용자를 동일 클러스터로 분류하는 클러스터링 모듈; 및, 상기 동일 클러스터에 속한 타 사용자의 암호화된 선호도 정보를 수신받아 연산처리하여 특정 상기 사용자 단말에 제공하는 개인화 추천 처리모듈을 포함한다.
본 발명의 일 실시예에 따르면, 전자 상거래, 멀티미디어 컨텐츠 및, 타깃 광고 등 많은 인터넷 관련분야에서 이용되는 개인화 추천 서비스에서 암호화 방식에 의하여 개인 프라이버시에 관한 선호도 정보의 유출을 방지하면서도 Minhash 기술을 이용하여 정확도 높은 개인화 추천정보를 제공하는 효과가 있다.
또한, 사용자 개인의 선호도 정보는 해당 사용자 단말에서 저장 및 관리하면서 추천서비스를 받을 수 있으므로, 개인정보에 대한 사용자 자신의 통제권을 강화하는 효과가 있다.
또한, 선호도 정보를 사용자가 단말을 통해 직접 관리하는 방식과, 추천 서 비스 제공자인 서비스 서버가 관리하는 방식이 혼재하는 경우에도 프라이버시가 보호되는 개인화 추천 서비스를 제공할 수 있도록 하여, 사용자에게 다양한 형태의 정보처리방식을 제공하는 효과가 있다.
이하, 도면을 참조하여 본 발명의 바람직한 실시예에 의한 개인화 추천 서비스 제공방법 및 시스템을 설명하도록 한다.
도 1은 본 발명의 바람직한 실시예에 의한 개인화 추천 서비스 제공 시스템의 개략적인 구조를 도시한 도면이다.
도시한 바와 같이, 사용자 단말(100)은 다수의 사용자가 인터넷을 포함하는 정보 통신망을 통해 개인화 추천 서비스 제공서버(200)에 접속하기 위한 장치이다. 이러한 사용자 단말(100)은 개인화 추천 서비스를 위한 클라이언트 프로그램을 실행할 수 있고, 양방향 정보전달이 가능한 유무선 통신 수단을 구비하는 개인용 PC, 휴대폰 및 PDA 등의 정보통신 장치를 포함하는 정보통신장치인 것이 바람직하다.
복수의 사용자는 컨텐츠 서버(610) 또는 쇼핑몰 서버(620) 등에서 서비스하는 소정의 디지털 컨텐츠 또는 상품에 관하여, 자신의 사용자 단말(100)을 통해 개인화 추천 서비스 제공서버(200)에 접속하여 타 사용자들의 선호도에 따른 사용자 자신에게 적합한 개인화 추천 서비스를 제공받게 된다.
이를 위해, 각 사용자 단말(100)은 해당 사용자의 선호도 정보를 암호화하여 개인화 추천 서비스 제공서버(200)에 송신한다. 송신과정은 개인화 추천 서비스 제공서버(200)가 제공하는 클라이언트 프로그램을 통해 수행하게 된다.
전술한 클라이언트 프로그램은, 각 사용자의 선호도 정보를 1차 및 2차 암호화하여 개인화 추천 서비스 제공서버(200)로 송신하거나 그로부터 수신하고, 2차 복호화를 통해 사용자에 적합한 추천정보를 생성하는 기능을 수행한다. 이러한 클라이언트 프로그램에 대한 상세한 설명은 후술하도록 한다.
여기서, 서비스 대상인 디지털 컨텐츠 또는 상품은 사용자가 실제 구매 또는 이용이 가능한 어떠한 형태의 아이템이라도 적용가능하다. 특히 VOD를 포함하는 동영상, 음악 및, 게임 등의 디지털 컨텐츠와, 일반적인 쇼핑몰에서 거래되는 상품 등이 적용될 수도 있으며, 이하의 설명에서는 이러한 상품 및 디지털 컨텐츠들을 '아이템'이라는 용어로 총칭하도록 한다.
개인화 추천 서비스 제공서버(200)는 복수의 사용자 단말(100)로부터 지정되는 특정 카테고리내의 소정의 아이템들 또는 특정 아이템 하나에 대하여, 복수의 사용자의 암호화된 선호도 정보를 취합하여 정보를 요청한 사용자 단말(100)에 제공하는 기능을 수행한다.
이러한 개인화 추천 서비스 제공서버(200)는 복수의 사용자 단말(100)로부터 암호화된 선호도 정보를 제공받아 취합과정만을 거쳐 해당 사용자 단말(100)에 제공하기 때문에 실질적으로 사용자 각 개인의 선호도 정보가 공개되지 않는 특징이 있다. 이에 대한 상세한 설명은 후술하도록 한다.
전술한 기능을 원활히 수행하기 위해, 개인화 추천 서비스 제공서버(200)는 복수의 사용자 단말에 의한 데이터 트래픽 처리가 가능하고, 다수의 디지털 컨텐츠 또는 상품에 대한 상품정보를 저장하기 위한 대용량의 데이터 저장공간을 구비하는 것이 바람직하다. 또한 해당 아이템에 관한 정보를 자체적으로 저장하고 있거나 또는 정보통신망에 연결된 컨텐츠 서버(610) 또는 쇼핑몰 서버(620)로부터 해당 아이템에 관한 정보를 제공받을 수 있다.
이하, 도면을 참조하여 본 발명의 바람직한 실시예에 의한 개인화 추천 서비스 제공 시스템에 대하여 보다 상세하게 설명하도록 한다.
이하의 설명에서는, 설명의 편의상 도 1의 식별번호를 함께 참조하여 설명하도록 한다.
도 2는 본 발명의 바람직한 실시예에 의한 개인화 추천 서비스 제공 시스템에서 개인화 추천 서비스 제공서버의 구조를 도시한 도면이다.
도시한 바와 같이, 개인화 추천 서비스 제공 서버(200)는, 웹 인터페이스 모듈(210), 클러스터링 모듈(230), 개인화 추천 처리모듈(240), DB(250), 클라이언트 프로그램 제공모듈(260), 암호화 처리모듈(270) 및, 암호화 모듈(280)을 포함한다.
보다 상세하게는, 웹 인터페이스 모듈(210)은 개인화 추천 복수의 사용자 단말(100)과 정보통신망을 통해 연결되어 개인화 추천 서비스 제공서버(200)의 각 구성모듈이 사용자 단말(100)과 데이터의 송수신을 지원하는 기능을 수행한다. 이러한 웹 인터페이스 모듈(210)은 일반적인 월드와이드웹(WWW) 서비스 뿐만 아니라, 사용자 단말(100)이 처리할 수 있는 어떠한 형식의 프로토콜도 지원할 수 있다.
클러스터링 모듈(230)은 사용자 단말(100)로부터 수신한 제1 암호화된 선호도 정보에 대응하여 동일 또는 유사한 사용자들을 동일 클러스터로 지정하는 기능을 수행한다.
개인화 추천처리 모듈(240)은 특정 사용자 단말(100)로부터 타 사용자의 선호도 정보에 따른 사용자 자신의 추천정보를 요청받으면, 상기 사용자와 동일 클러스터의 타 사용자들로부터 2차 암호화된 선호도 정보를 수신 및 취합하여 정보를 요청한 사용자에게 제공하는 기능을 수행한다.
여기서, 2차 암호화된 선호도 정보를 해당 사용자 단말(100)에 설치된 클라이언트 프로그램이 복호화를 수행하여 추천정보를 생성하게 된다.
DB(250)는 복수의 사용자 데이터, 클러스터링 및, 복호화를 위한 과정을 수행하기 위한 데이터 등이 저장된다.
암호화 처리모듈(270) 및 암호화 모듈(280)은, 사용자 단말(100)로부터 수신하는 1차 및 2차 암호화된 선호도 정보에 대하여 2차 암호화 및 복호화를 수행하는 구성모듈이다.
상세하게는 암호화 처리모듈(270)은, 먼저 복수의 사용자 단말로부터 1차 및 2차 암호화된 선호도 정보를 취합하여 암호화 모듈(280)을 통해 2차 복호화하고 그 결과로서 1차 암호화된 선호도 정보를 획득한다. 이후, 상기 1차 암호화된 선호도 정보를 모두 곱셈연산한다.
암호화 모듈(280)은 전술한 기능을 수행하기 위한 2차 공개키 생성모듈(282) 및 2차 비밀키 생성모듈(284)을 포함한다.
여기서, 암호화 모듈(280)이 수행하는 2차 암호화 과정은, 공개키 암호방식 중, 덧셈의 준동형 성질(additive homomorphim)을 가지는 Paillier 암호 방식이 적용되는 것이 바람직하다.
개인화 추천 서비스 제공서버(200)는 전술한 모듈들에 의해 각 사용자를 클러스터링하고, 각 사용자 단말(100)로 추천정보를 제공하게 된다.
한편, 복수의 사용자 중에는 자신의 선호도 정보를 자신이 직접 관리하지 않고 서비스 서버에 위탁하는 경우가 있다. 이와 같은 경우에는 개인화 추천 서비스 서버는 정보관리 위탁요청 단말에 대하여 미리 선호도 정보를 제공받아 DB(250)에 저장한다. 이후 클러스터링 과정에서 기 저장된 선호도 정보를 클러스터링 암호화 모듈(290)을 통해 암호화하고, 선호도 정보를 직접 관리하는 사용자 단말로부터 수신하는 암호화된 선호도 정보를 함께 취합하여 클러스터링 과정을 수행한다. 상기 클러스터링 암호화 모듈(290)은 이하에서 설명하는 클라이언트 프로그램(도 3의 300)의 클러스터링 암호화 모듈(도 3의 330)과 동일한 구조이며, 이에 대한 상세한 설명은 후술하도록 한다.
전술한 구성요소 이외에도 후술할 클라이언트 프로그램이 CD 등과 같은 기록매체 배포방식이 아닌, 온라인 다운로드 배포방식일 경우, 개인화 추천 서비스 제공서버(200)는 사용자 단말(100)에 프로그램을 제공하는 기능을 수행하는 별도의 클라이언트 프로그램 제공모듈을 더 포함할 수 있다.
이하, 도면을 참조하여 각 사용자 단말에 설치되는 클라이언트 프로그램의 구성을 설명하도록 한다.
도 3은 본 발명의 바람직한 실시예에 의한 클라이언트 프로그램의 구성을 도시한 도면이다.
도시한 바와 같이, 사용자 단말(100)에 설치되는 클라이언트 프로그램(300) 은, 인터페이스 모듈(310), 클러스터링 정보 처리모듈(320), 클러스터링 암호화 모듈(330), 암호화 처리모듈(340) 및, 암호화 모듈(350)을 포함한다.
보다 상세하게는, 인터페이스 모듈(310)은 사용자 단말(100)이 개인화 추천 서비스 제공서버(200)와 정보통신망을 통해 연결되어, 각종 데이터를 송수신하도록 지원하는 기능을 수행한다.
클러스터링 정보 처리모듈(320)은 개인화 추천 서비스 제공서버(200)가 사용자 단말(100)로부터 선호도 정보 요청을 수신하면, 해당 사용자에 대한 선호도 정보를 클러스터링 암호화 모듈(350)을 통해 암호화 처리한 후, 개인화 추천 서비스 제공서버(200)로 송신하고, 암호화 처리된 선호도 정보를 DB(360)에 저장하는 기능을 수행한다.
전술한 클러스터링 암호화 모듈(350)은 각 사용자의 선호도 정보를 암호화 처리하는 기능을 수행한다. 먼저 Minhash모듈(332)을 통해 기 입력된 각 선호도 정보를 Minhash 방식으로 해싱한다. 이후, 단방향 해싱모듈(334)을 통해 Minhash된 선호도 정보를 단방향 해싱방식으로 암호화하여 그 결과를 개인화 추천 서비스 제공서버(200)에 송신한다.
여기서, Minhash 방식은 상당수의 많은 사용자 및 컨텐츠에 대하여 안정적인 클러스터링 결과를 얻을 수 있는 차원 감소 알고리즘이다. 이러한 Minhash 방식은 추천 서비스에서 컨텐츠의 수가 증가함에 따라 사용자의 선호도 정보가 입력되지 않은 컨텐츠로 인한 유사도 측정에서 신뢰성이 떨어지는 문제인 희박성(sparsity) 문제를 극복하기 위한 것이다.
이하, 소정의 사용자의 영화시청여부에 따른 유사정도를 구하는 일 예를 통해 Minhash 방식을 설명하도록 한다.
도 4의 표(a)는 4명의 사용자(C1 내지 C4)의 7편의 영화에 대한 시청여부를 도식화 한 것으로서, 행은 특정 영화타이틀을 나타내고 열은 사용자를 나타낸다. 또한, 사용자가 특정 영화타이틀을 시청하였을 경우에는 1, 그렇지 않은 경우에는 0 값을 가진다.
Minhash 방식은, 해싱하고자 하는 데이터를 불규칙적으로 순서를 바꾸고, 이러한 데이터에서 최초로 1이 나오는 임의의 행의 인덱스 값을 구하여 이를 통해 유사 또는 동일정도를 비교하는 것이다. 예시에서는, 불규칙한 순서를 가지는 인덱스 값이 되는 수로 이루어지는 임의의 수(R1 내지 R3)를 매칭한다.
이에 따라, 첫번째 임의의 수(R1)를 매칭하는 경우, 인덱스 값이 1인 r1행에서는 C1 및 C3 데이터가 최초로 1값을 가지게 되고(r1=1), C2 및 C4 데이터는 0값을 가지게 된다. 또한, 인덱스 값이 2인 r5행에서 C2 및 C4 데이터는 최초로 1값을 가지게 된다(r5=2). 따라서, 해싱결과(S1 내지 S4)는 1-2-1-2가 된다(1).
이와 동일하게, 두번째 임의의 수(R2)를 매칭하는 경우, 인덱스 값이 1인 r3 행에서는 C2 및 C4 데이터가 최초로 1값을 가지게 된다(r3=1). 그리고, C1 데이터는 인덱스 값이 2인 r2에서 최초로 1값을 가지게 된다(r2=1). 또한, C3 데이터는 인덱 스 값이 4인 r1 에서 최초로 1값을 가지게 된다(r1=4). 즉, 임의의 수(R2)에 대응하는 해싱결과(S1 내지 S4)는 2-1-4-1이 된다(2).
또한, 세번째 임의의 수(R3)를 매칭하는 경우에 대응하는 해싱결과(S1 내지 S4)는 2-1-2-1이 된다(3).
따라서, Minhash 방식에 따르면, 해싱전 유사한 값을 가지는 C1 및 C3 데이터가 동일 또는 유사한 해싱결과를 가지며, C2 및 C4 데이터가 서로 동일한 해싱결과를 가지게 된다. 즉, C1 및 C2 사용자와, C2 및 C4 사용자가 영화선호도가 유사하다고 볼 수 있다.
전술한 일 예에서는, 사용자와 해싱대상 데이터의 범위가 작았으나, 다수의 사용자 및 데이터를 충분한 횟수로 반복하여 임의의 수를 적용하게 되면 동일 또는 유사한 선호도 정보에 대하여 동일한 결과값을 얻게 된다. 그러나, Minhash 방식에 의한 결과는 임의의 수의 집합(R1 내지 R3) 아는 경우 원정보인 해싱전 선호도 정보가 용이하게 추출가능한 단점이 있다. 이를 극복하기 위해, 단방향 해싱함수(one-way hashing function)방식을 구현하는 단방향 해싱모듈(334)을 통해 상기 Minhash 된 선호도 정보를 다시 암호화한다.
여기서, 전술한 단방향 해싱함수 방식은 MD5, SHA-1등과 같은 암호화 방식이 적용되는 것이 바람직하다.
클라이언트 프로그램(300)은 전술한 클러스터링 암호화 모듈(330)을 통해 암호화된 선호도 정보는 개인화 추천 서비스 제공서버(200)로 송신한다.
또한, 암호화 처리모듈(340)은 이하의 2가지 기능을 수행한다.
첫째, 사용자 단말(100)이 정보 요청자로서의 기능을 수행시, 암호화 모듈(350)로부터 제공되는 1차 공개키를 개인화 추천 서비스 제공서버(200)에 송신하거나 1차 비밀키를 통해 1차 복호화를 수행한다.
둘째, 사용자 단말(100)이 정보 제공자로서의 기능을 수행시, 개인화 추천 서비스 제공서버(200)가 송신하는 1차 및 2차 공개키를 통해 해당 컨텐츠의 선호도 정보를 1차 암호화하여 개인화 추천 서비스 제공서버(200)에 송신한다.
암호화 모듈(350)은 1차 암호화 과정의 수행에 요구되는 1차 공개키 및 1차 비밀키 생성모듈을 포함하여, 해당 공개키 및 비밀키를 생성 및 제공한다.
여기서, 전술한 1차 및 2차 복호화 과정은 개인화 추천 서비스 제공서버(200)의 2차 암호화 모듈(280)이 수행하는 암호화 과정을 고려하여 덧셈의 준동형 성질(additive homomorphim)를 가지는 공개키 암호방식이 적용된다. 상기 공개키 암호방식의 일 예로서 Paillier 암호 방식이 적용될 수 있다.
이러한 1차 및 2차 암호화 과정에 대한 상세한 설명은 후술하도록 한다.
이러한 구조의 클라이언트 프로그램은 개인화 추천 서비스 제공서버(200)와 연동하여 각 사용자를 선호도 정보에 따라 클러스터링 하거나, 해당 사용자에 적합한 추천정보를 생성하게 된다.
이하, 도면을 참조하여 본 발명의 개인화 추천 서비스 제공방법에 대하여 설명하면 다음과 같다.
도 5 내지 도 8은 본 발명의 바람직한 실시예에 의한 개인화 추천 서비스 제 공방법의 흐름을 순차적으로 도시한 도면이다.
도시한 바와 같이, 본 발명의 개인화 추천 서비스 제공방법은, 소정의 컨텐츠에 관하여 복수의 사용자의 선호도 정보에 대응하는 추천정보를 제공하는 개인화 추천 서비스 제공방법으로서, 복수의 사용자 단말로부터 암호화된 복수의 사용자의 특성값을 수신하여 동일 또는 유사한 선호도를 가지는 복수의 사용자를 동일 클러스터로 클러스터링하는 단계(S410)와, 제1 사용자 단말로부터 상기 컨텐츠의 선호도 정보 요청을 수신하는 단계(S420)와, 제1 사용자와 동일 클러스터에 속하는 둘 이상의 제2 및 제N(N은 2이상의 자연수) 사용자 단말로 상기 컨텐츠의 선호도 정보를 요청하는 단계(S430)와, 제2 및 제N 사용자 단말로부터 1차 및 2차 암호화 방식으로 암호화된 선호도 정보를 수신 및 2차 복호화하여 제1 사용자 단말로 제공하는 단계를 포함한다.
전술한 S410 단계는, 도 6에 도시한 S411 내지 S416 단계로 구체화된다.
S411 단계는 사용자 단말이 개인화 추천 서비스 제공서버에 추천정보를 요청하는 단계이다.
S412 단계는 개인화 추천 서비스 제공서버와 이 서비스에 가입된 모든 사용자 단말이 동일한 임의의 수(
Figure 112008085611856-PAT00046
)을 공유하는 단계이다.
S413 단계는, 각 사용자 단말에 설치된 클라이언트 프로그램에서 클러스터링 암호화 모듈의 Minhash 모듈이 전술한 임의의 수(
Figure 112008085611856-PAT00047
)에 따라 각 사용자의 아이템들에 대한 수치화된 선호도 정보(
Figure 112008085611856-PAT00048
)를 Minhash 방식으로 해싱하여 Minhash값(
Figure 112008085611856-PAT00049
)을 산출하는 단계이다.
상기 아이템들에 대한 수치화된 선호도 정보(
Figure 112008085611856-PAT00050
)는, 일예로서, 아이템이 영화 시청에 관한 것이라고 하면 각 데이터들은 사용자가 해당 영화를 시청하지 않았을 경우에는 0, 시청하였을 경우에는 1인 값을 가지는 데이터일 수 있다.
S414 단계는, 클러스터링 암호화 모듈의 단방향 해싱모듈이 산출된 Minhash 값(
Figure 112008085611856-PAT00051
)을 단방향 함수에 의한 해싱방식으로 재 암호화하여 해싱결과값(
Figure 112008085611856-PAT00052
)을 산출하는 단계이다.
S415 단계는, 사용자 단말이 전술한 해싱결과값(
Figure 112008085611856-PAT00053
)을 암호화 결과로서 개인화 추천 서비스 제공서버에 송신하는 단계이다.
S416 단계는, 개인화 추천 서비스 제공서버의 클러스터링 정보 처리 모듈이 서비스를 제공받는 모든 사용자 단말로부터 전술한 해싱 값(
Figure 112008085611856-PAT00054
)을 수신하고, 동일값을 가지는 단말의 사용자를 동일 클러스터로 지정하는 단계이다.
이후, 클러스터링 정보 처리 모듈이 클러스터 지정결과를 DB에 저장하는 단계가 더 포함될 수 있다.
전술한 단계 중, 개인화 추천 서비스 제공서버와 각 사용자 단말간에 서로 정보를 송/수신하는 과정은 서버 및 단말에 구비된 인터페이스 모듈을 통해 수행된다.
또한, 이러한 S414 내지 S416 단계는, 정보의 정확도를 높이기 위해 매일 또는 소정일 단위로 반복적으로 수행될 수 있다.
전술한 단계에 따라, 클러스터링 암호화 결과는 단방향 암호화 되어있으므로, 암호화 이전의 원본데이터를 추출할 수 없기 때문에 서버 내외부 공격자로부터 안전하다.
전술한 S420 단계는, 도 7에 도시한 S421 내지 S422 단계로 구체화 된다.
S421 단계는, 특정 사용자가 단말을 통해 개인화 추천 서비스 제공서버로 특정 아이템 또는 특정 카테고리에 포함되는 아이템들에 대하여 추천정보를 요청하는 단계이다.
S422 단계는, 개인화 추천 서비스 제공서버가 해당 사용자 단말로부터 1차 공개키(
Figure 112008085611856-PAT00055
)를 수신하는 단계이다. 상세하게는 전술한 요청에 따라 사용자 단말의 클라이언트 프로그램은 암호화 모듈의 1차 공개키(
Figure 112008085611856-PAT00056
) 및 1차 비밀키(
Figure 112008085611856-PAT00057
)를 생성하여, 1차 공개키(
Figure 112008085611856-PAT00058
)만을 개인화 추천 서비스 제공서버로 송신하는 단계를 수행한다.
이때, 사용자 단말이 모든 아이템에 대한 선호도 정보를 요구할 경우에는 특별한 식별코드 없이 공개키만을 송신할 수 있으나, 특정 아이템 또는 특정 카테고리에 포함되는 아이템들의 대하여 추천정보를 요구할 경우에는 해당 아이템 또는 카테고리에 대한 식별코드를 공개키와 함께 송신하여야 한다. 이러한 일예에 대한 상세한 설명은 후술하도록 한다.
전술한 S430 단계는, 도 7에 도시한 S431 내지 S433 단계로 구체화 된다.
S431 단계는, 개인화 추천 서비스 제공서버가 추천정보를 요구한 사용자와 동일 클러스터에 속하는 타 사용자를 판단하는 단계이다.
S432 단계는, 개인화 추천 서비스 제공서버가 2차 암호화 모듈을 통해 2차 공개키(
Figure 112008085611856-PAT00059
) 및 2차 비밀키(
Figure 112008085611856-PAT00060
)를 생성하는 단계이다.
S433 단계는, 개인화 추천 서비스 제공서버가 S431 단계에서 판단한 타 사용자의 단말로 전술한 1차 및 2차 공개키(
Figure 112008085611856-PAT00061
,
Figure 112008085611856-PAT00062
)를 송신하는 단계이다.
전술한 S440 단계는, 도 8에 도시한 S441 내지 S445 단계로 구체화 된다.
S441 단계는, 각 타 사용자 단말의 클라이언트 프로그램이 복수의 타 사용자인 제N(N은 2이상의 자연수) 사용자 자신의 선호도 정보(
Figure 112008085611856-PAT00063
)를 상기 1차 공개키(
Figure 112008085611856-PAT00064
)로 암호화하여 그 결과값(
Figure 112008085611856-PAT00065
)을 생성하는 단계이다.
이때, 특정 아이템 또는 카테고리의 식별코드를 함께 수신하였을 경우, 이에 해당하는 선호도 정보만을 암호화하여 결과값을 생성하게 된다.
S442 단계는, S441 단계에서 1차 암호화한 결과값(
Figure 112008085611856-PAT00066
)을 2차 공개키(
Figure 112008085611856-PAT00067
)로 재 암호화하여 2차 암호화된 결과값(
Figure 112008085611856-PAT00068
)을 생성하는 단계이다.
S443 단계는, 개인화 추천 서비스 제공서버가 둘 이상의 타 사용자 단말로부터 전술한 2차 암호화된 선호도 정보값(
Figure 112008085611856-PAT00069
,
Figure 112008085611856-PAT00070
)을 수신하고, 2차 공개키(
Figure 112008085611856-PAT00071
)와 매칭되는 2차 비밀키(
Figure 112008085611856-PAT00072
)로 이하의 수학식 1에 따라 복호화 하는 단계이다.
Figure 112008085611856-PAT00073
Figure 112008085611856-PAT00074
상기 수학식 1에 따라, 복호화된 결과값(
Figure 112008085611856-PAT00075
,
Figure 112008085611856-PAT00076
)은 S443 내지 이하의 S444 과정을 수행하기 위해 개인화 추천 서비스 제공서버에 임시 저장될 수 있다. 그러나, 1차 공개키(
Figure 112008085611856-PAT00077
)로 암호화된 상태이므로, 암호화 이전의 원본데이터를 추출할 수 없기 때문에 서버 내외부 공격자로부터 안전하다.
또한, 전술한 2차 암호화 및 복호화 과정은 악의적인 제1 사용자에 의한 정보 유출을 방지하기 위한 것으로 생략될 수도 있다. 상세하게는, 2차 암호화 과정은 악의적인 제1 사용자가 자신의 1차 공개키를 서비스 서버를 통해 타 사용자에게 분배하고, 상기 1차 공개키를 이용하여 자신의 선호도 정보를 1차 암호화한 타 사용자가 서비스 서버에 1차 암호화된 선호도 정보를 송신할 때, 제1 사용자의 공격에 의해 타 사용자의 선호도 정보가 유출될 수 있는 가능성을 배제하기 위한 것이다.
S444 단계는, 개인화 추천 서비스 제공서버가 전술한 과정을 거쳐 복호화된 결과값(
Figure 112008085611856-PAT00078
,
Figure 112008085611856-PAT00079
)에 대해 서로 곱셈연산을 수행하고, 그 결과값(
Figure 112008085611856-PAT00080
)을 추천정보를 요청한 사용자의 단말로 송신하는 단계이다.
S445 단계는, 결과값을 송신받은 사용자 단말의 클라이언트 프로그램이 수신 된 상기 결과값 값(
Figure 112008085611856-PAT00081
)를 1차 비밀키(
Figure 112008085611856-PAT00082
)로 복호화한다.
전술한 과정은, 1차 및 2차 암호화 방식인 덧셈의 준동형 성질(additive homomorphim)을 가지는 공개키 암호화 방식의 특성에 따라 복호화 된다.
여기서, 공개키 암호화 방식의 준동형 특성은 N개의 암호문의 곱셈은 각 평문들의 합을 암호화한 값을 가지게 된다.
따라서, 상기 결과값은 이하의 수학식 2에 따라 1차 비밀키(
Figure 112008085611856-PAT00083
)을 통해 복호화 된다.
Figure 112008085611856-PAT00084
Figure 112008085611856-PAT00085
Figure 112008085611856-PAT00086
상기 수학식 2에 따라, 사용자 단말은 타 사용자의 선호도 정보의 합(
Figure 112008085611856-PAT00087
)을 획득한다.
이후, 클라이언트 프로그램은 선호도 정보의 합(
Figure 112008085611856-PAT00088
)따라 전체 아이템에 대한 선호점수를 판단하고 추천정보를 사용자 단말에 표시한다.
또한, 아이템이 속하는 카테고리 또는 특정 아이템이 지정되었을 경우에는, 클라이언트 프로그램은 상기 선호도 정보의 합(
Figure 112008085611856-PAT00089
)에 대응하여 사용자에게 특정 카테고리 상의 아이템들에 대한 추천점수 또는 특정 아이템에 대한 선호점수를 사용자에게 표시하게 된다.
상세하게는 클라이언트 프로그램은 복호화된 선호도 정보를 각 아이템에 대한 합산점수로 분류하고 상기 합산점수가 큰 순서대로 아이템을 추천정보로서 소정개 표시하거나, 또는 상기 복호화된 선호도 정보 중, 각 아이템에 대한 합산점수가 제일 큰 아이템 하나를 추천정보로서 표시한다.
전술한 실시예에서는, 모든 사용자 단말이 선호도 정보 내지 추천정보를 클라이언트 프로그램을 통해 자체적으로 관리하는 일 형태를 설명한 것이며, 경우에 따라 종래 서비스와 동일하게 각 정보를 개인 단말이 아닌 서비스 서버에 허용하는 사용자도 있을 수 있다.
이하, 정보의 관리 주체로서 서버 및 개인 단말이 혼재하는 형태의 일 실시예를 설명하도록 한다.
이러한 혼재하는 일 형태는 특히, 상기 S444 및 S445 단계에서 큰 차이점을 갖는다.
보다 상세하게는, S444 단계 이전에 개인화 추천 서비스 제공서버가 제 L(L 은, N이 아닌 2이상의 자연수) 사용자의 선호도 정보를 1차 공개키로 암호화한 값(
Figure 112008085611856-PAT00090
)을 생성하는 단계가 추가된다.
이후, S444 단계는 제1 사용자 및 제N 사용자의 상기 복호화된 값
Figure 112008085611856-PAT00091
,
Figure 112008085611856-PAT00092
)과 상기 암호화한 값(
Figure 112008085611856-PAT00093
)을 곱셈연산 값(
Figure 112008085611856-PAT00094
)하는 단계로 대치된다.
S445 단계는 제1 사용자 단말이, 상기 곱셈연산 값(
Figure 112008085611856-PAT00095
)을 상기 1차 공개키와(
Figure 112008085611856-PAT00096
) 매칭되는 1차 비밀키(
Figure 112008085611856-PAT00097
)로 복호화 하여, 추천정보로서 상기 선호도 정보의 합(
Figure 112008085611856-PAT00098
)을 산출하는 단계로 대치된다.
이러한 단계에 따라, 개인화 추천 서비스 제공서버는 각 단말이 관리하는 선호도 정보와, 서버 자체에서 관리하는 선호도 정보 또한 함께 취합해서 추천정보를 제공하게 된다.
도 9 내지 도 11은 본 발명의 바람직한 실시예에 따른 개인화 추천 서비스 제공방법에서 사용자가 추천정보의 요청 형태에 따른 제1 내지 제3 실시예를 도시한 도면이다.
도 8은 본 발명의 제1 실시예에 따른 모든 아이템에 대한 선호도 정보를 제 공하는 추천 서비스의 일 예이다. 이하에 후술하는 제1 실시예는 모든 아이템에 대하여 선호도 점수가 제일 높은 X개의 아이템을 추천하는 일반적인 추천방법이다. 이 방법은 정보를 요청하는 사용자가 서비스 서버에 추천을 요구할 수도 있고, 서비스 서버가 주기적으로 사용자들에게 추천을 제공할 수도 있다.
도면을 참조하면, 개인화 추천 서비스 서버는 제1 내지 제N+1 사용자 단말과 동일한 임의의 수(R)를 공유한다(S501 단계).
제1 내지 제N+1 사용자 단말은, 임의의 수(R)에 따라 자신의 모든 아이템에 대한 선호도 정보를 Minhash 해싱하여 해싱값(M(D1), M(DN), M(DN+1))을 산출하고, 다시 단방향 함수를 통해 암호화 하여 암호화된 값(H(D1), H(DN), H(DN+1))을 산출한다(S504 단계).
이후, 제1 내지 제N+1 사용자 단말은 상기 암호화된 값(H(D1), H(DN), H(DN+1))을 개인화 추천 서비스 서버로 송신한다(S511 내지 S513 단계).
개인화 추천 서비스 서버는 상기 암호화된 값(H(D1), H(DN), H(DN+1))을 클러스터링하여 동일한 값을 가지는 단말의 사용자를 동일 클러스터로 지정한다(S521 단계).
이후, 제1 사용자 단말이 모든 아이템에 대한 선호도 정보를 요청시, 제1 사용자 단말은 1차 공개키(PK1)을 생성하여 개인화 추천 서비스 서버로 송신한다(S531 단계). 이때, 사용자 단말은 1차 공개키(PK1)는 매칭되는 복호화키인 1차 비밀키(SK1)를 함께 생성 및 저장하게 된다.
제1 사용자 단말로부터 1차 공개키(PK1)를 수신한 개인화 추천 서비스 서버는, 2차 공개키(PK2) 및 비밀키(SK2)를 생성하고, 상기 수신한 1차 공개키(PK1)와 2차 공개키(PK2)를 함께 제1 사용자와 동일한 클러스터에 속하는 제N, N+1 사용자 단말에 송신한다(S532 및 S533 단계).
공개키를 수신한 제N, N+1 사용자 단말은 각각 해당 사용자의 선호도 정보를 먼저 1차 공개키(PK1)로 1차 암호화하고, 1차 암호화된 선호도 정보를 2차 공개키(PK2)로 다시 2차 암호화한다(S534 단계).
이후, 제N, N+1 사용자 단말은 S534 단계에서 1차 및 2차 암호화된 사용자의 선호도 정보(EPK2{EPK1{DN}}, EPK2{EPK1{DN+1}})를 개인화 추천 서비스 서버로 송신한다(S541, S542 단계).
개인화 추천 서비스 서버는, 먼저 제N, N+1 사용자 단말로부터 수신한 1차 및 2차 암호화된 사용자의 선호도 정보(EPK2{EPK1{DN}}, EPK2{EPK1{DN+1}})를 상기 2차 비밀키(SK2)로 2차 복호화하여 1차 암호화된 선호도 정보({EPK1{DN}, EPK1{DN+1})를 획득한다. 그리고, 각각의 1차 암호화된 선호도 정보({EPK1{DN}, EPK1{DN+1})를 서로 곱셈연산한다(S543 단계).
이후, 개인화 추천 서비스 서버는, 곱셈연산 값({EPK1{DN} × EPK1{DN+1})을 제1 사용자 단말에 송신한다(S551 단계).
제1 사용자 단말은 수신한 곱셈연산 값({EPK1{DN} × EPK1{DN+1})을 1차 비밀키(SK1)로 1차 복호화하여, 선호도 정보의 합(DN + DN+1)을 획득한다(S561 단계).
이후, 제1 사용자 단말의 클라이언트 프로그램은 선호도 정보의 합(DN + DN+1)을 각 아이템에 대한 합산점수로 분류하고 상기 합산점수가 큰 순서대로 아이템을 추천정보로서 소정개 표시한다(S571 단계).
또한, 일반적인 사용자는 이전에 시청한 영화에 대한 추천정보에 대하여 다시 제공받길 원하지 않는다. 따라서, 클라이언트 프로그램이 이전에 이미 사용자가 소비한 아이템을 저장해 두었다가 이 아이템이 상기 추천정보에 포함되는 경우를 판단하여, 상기 S571 단계에서 이 아이템의 선호도 정보를 배제하는 단계를 더 포함할 수 있다.
전술한 제1 실시예에 따르면, 모든 아이템에 대한 추천정보를 제공할 수 있다. 이하, 도면을 참조하여 특정 카테고리에 속하는 아이템들 또는 특정 아이템 하나에 대한 선호도 정보를 제공하는 개인화 추천 서비스 제공방법을 설명하도록 한다.
제2 실시예는, 클러스터링 단계에서부터 카테고리 또는 아이템에 대한 식별수단의 제공이 전제되어야 한다는 특징이 있다.
도 9는 본 발명의 제2 실시예에 따른 특정 카테고리에 속하는 아이템들 또는 특정 아이템 하나에 대한 선호도 정보를 제공하는 추천 서비스의 일 예이다.
먼저, 개인화 추천 서비스 서버는 각 사용자 단말과 동일한 임의의 수(R)를 공유한다(S701 단계).
제N 내지 제N+1 사용자 단말은, 임의의 수(R)에 따라 아이템에 대한 선호도 정보를 Minhash 해싱하여 해싱값(M(DNi), M(DN+1i))을 산출하고, 다시 단방향 함수를 통해 암호화 하여 암호화된 값(H(DNi), H(DN+1i))을 산출한다(S704 단계).
이후, 제1 내지 제N+1 사용자 단말은 상기 암호화된 값(H(D1i), H(DNi), H(DN+1i))을 개인화 추천 서비스 서버로 송신한다(S711 내지 S713 단계).
개인화 추천 서비스 서버는 상기 암호화된 값(H(D1i), H(DNi), H(DN+1i))을 클러스터링하여 동일한 값을 가지는 단말의 사용자를 동일 클러스터로 지정한다(S721 단계).
이후, 제1 사용자 단말이 카테고리 또는 아이템에 대한 선호도 정보를 요청시, 제1 사용자 단말은 1차 공개키(PK1)을 생성하고, 상기 카테고리 또는 아이템에 대한 식별코드(i)를 개인화 추천 서비스 서버로 송신한다(7531 단계). 또한, 제1 사용자 단말은 1차 공개키(PK1)는 매칭되는 복호화키인 1차 비밀키(SK1)를 함께 생성하게 된다.
제1 사용자 단말로부터 1차 공개키(PK1) 및 식별코드(i)를 수신한 개인화 추천 서비스 서버는 2차 공개키(PK2) 및 비밀키(SK2)를 생성한다. 그리고, 상기 수신한 1차 공개키(PK1), 2차 공개키(PK2) 및 식별코드(i)와 함께 제1 사용자와 동일한 클러스터에 속하는 제N, N+1 사용자 단말에 송신한다(S732 및 S733 단계).
공개키를 수신한 제N, N+1 사용자 단말은 각각 식별코드(i)에 대응하는 카테고리 또는 아이템에 대한 선호도 정보를 먼저 1차 공개키(PK1)로 1차 암호화하고, 1차 암호화된 선호도 정보를 2차 공개키(PK2)로 다시 2차 암호화한다(S734 단계).
이후, 제N, N+1 사용자 단말은 S534 단계에서 1차 및 2차 암호화된 사용자의 선호도 정보(EPK2{EPK1{DNi}}, EPK2{EPK1{DN+1i}})를 개인화 추천 서비스 서버로 송신한다(S741, S742 단계).
개인화 추천 서비스 서버는, 먼저 제N, N+1 사용자 단말로부터 수신한 1차 및 2차 암호화된 사용자의 선호도 정보(EPK2{EPK1{DNi}}, EPK2{EPK1{DN+1i}})를 상기 2차 비밀키(SK2)로 2차 복호화하여 1차 암호화된 선호도 정보({EPK1{DNi}, EPK1{DN+1i})를 획득한다. 그리고, 각각의 1차 암호화된 선호도 정보({EPK1{DNi}, EPK1{DN+1i})를 서로 곱셈연산한다(S743 단계).
이후, 개인화 추천 서비스 서버는, 곱셈연산 값({EPK1{DNi} × EPK1{DN+1i})을 제1 사용자 단말에 송신한다(S751 단계).
제1 사용자 단말은 수신한 곱셈연산 값({EPK1{DNi} × EPK1{DN+1i})을 1차 비밀키(SK1)로 1차 복호화하여, 선호도 정보의 합(DNi + DN+1i)을 획득한다(S761 단계).
이후, 제1 사용자 단말은 사용자가 인식할 수 있는 형태로 선호도 정보의 합(DNi + DN+1i)에 따른 특정 카테고리에 속하는 아이템 또는 특정 아이템 하나에 대한 선호점수를 추천정보로서 표시한다(S771 단계).
상세하게는 복호화된 선호도 정보를 특정 카테고리상에서 아이템들의 대한 합산점수로 분류하고 상기 합산점수가 큰 순서대로 아이템을 추천정보로서 소정개 표시하거나, 또는 상기 복호화된 선호도 정보 중, 지정된 하나의 아이템에 대한 합산점수를 추천정보로서 표시한다.
특히, 지정된 하나의 아이템에 대한 합산점수를 추천정보로서 표시할 경우에는, 합산점수를 소정의 5등급으로 분류하고 점수에 따라 매우추천, 적극추천, 추천, 적극 비추천, 매우 비추천으로 표시할 수 있다.
따라서, 전술한 제2 실시예에 따르면, 특정 카테고리에 속하는 아이템들 또는 특정 아이템 하나에 대한 추천정보를 제공할 수 있으며, 아이템이 이미 소비된 것이라고 판단되면, 소비된 것임을 알려주는 내용을 포함하는 추천정보를 제공할 수 있다.
이하, 도면을 참조하여 각 단말이 정보관리를 수행하는 방식과, 서비스 서버가 선호도 정보를 저장하고 있는 방식이 혼재된 형태의 개인화 추천 서비스 제공방법을 설명하도록 한다.
이하의 제3 실시예는, 클러스터링 단계 이전에 해당 단말로부터 정보관리 위탁을 요청받아 서버에 의한 정보관리의 승인이 전제되어야 한다.
도 10은 본 발명의 제3 실시예에 따른 각 단말이 정보관리를 수행하는 방식과, 서비스 서버가 선호도 정보를 저장하고 있는 방식이 혼재된 형태의 추천 서비스의 일 예이다.
도면을 참조하면, 제L(L은 1이상의 자연수) 사용자 단말은 자신의 아이템의 선호도 정보를 개인화 추천 서비스 서버로 송신하고, 개인화 추천 서비스 서버는 이를 저장한다(S800 단계).
이후, 개인화 추천 서비스 서버는 제1 내지 제N+1 사용자 단말과 동일한 임의의 수(R)를 공유한다(S801 단계). 또한, 저장된 제L 사용자에 대하여 임의의 수(R)를 배정한다(S804).
제1 내지 제N+1 사용자 단말은, 각각 수신한 임의의 수(R)와 자신의 아이템에 대한 선호도 정보를 Minhash 해싱하여 해싱값(M(D1), M(DN), M(DN+1))을 산출하고, 다시 단방향 함수를 통해 암호화 하여 암호화된 값(H(D1), H(DN), H(DN+1))을 산출한다(S805 단계).
또한, 개인화 추천 서비스 서버는 배정된 임의의 수(RL)와 저장된 제L 사용자의 선호도 정보를 Minhash 해싱하여 해싱값(M(DL))을 산출하고, 다시 단방향 함수를 통해 암호화 하여 암호화된 값(H(DL))을 산출한다(S806 단계).
이후, 제1 내지 N+1 사용자 단말은 상기 암호화된 값(H(D1), H(DN), H(DN+1))을 개인화 추천 서비스 서버로 송신한다(S811 내지 S813 단계).
개인화 추천 서비스 서버는 상기 암호화된 값(H(D1), H(DN), H(DN+1), H(DL)을 클러스터링하여 동일한 값을 가지는 단말의 사용자를 동일 클러스터로 지정한다(S821 단계).
이후, 제1 사용자 단말이 아이템에 대한 선호도 정보를 요청시, 제1 사용자 단말은 1차 공개키(PK1)을 생성하여 개인화 추천 서비스 서버로 송신한다(S831 단계). 이때, 사용자 단말은 1차 공개키(PK1)는 매칭되는 복호화키인 1차 비밀키(SK1)를 함께 생성하게 된다.
제1 사용자 단말로부터 1차 공개키(PK1)를 수신한 개인화 추천 서비스 서버는 2차 공개키(PK2) 및 비밀키(SK2)를 생성한다. 그리고, 상기 수신한 1차 공개키(PK1), 2차 공개키(PK2)를 제1 사용자와 동일한 클러스터에 속하는 제N, N+1 사용자 단말에 송신한다(S831 및 S833 단계).
공개키를 수신한 제N, N+1 사용자 단말은 아이템에 대한 선호도 정보를 먼저 1차 공개키(PK1)로 1차 암호화하고, 1차 암호화된 선호도 정보를 2차 공개키(PK2)로 다시 2차 암호화한다. 또한 개인화 추천 서비스 서버는 제L 사용자의 선호도 정보를 1차 공개키(PK1)로 1차 암호화한다(S834 단계).
이후, 제N, N+1 사용자 단말은 S834 단계에서 1차 및 2차 암호화된 사용자의 선호도 정보(EPK2{EPK1{DN}}, EPK2{EPK1{DN+1}})를 개인화 추천 서비스 서버로 송신한다(S841, S842 단계).
개인화 추천 서비스 서버는, 먼저 제N, N+1 사용자 단말로부터 수신한 1차 및 2차 암호화된 사용자의 선호도 정보(EPK2{EPK1{DN}}, EPK2{EPK1{DN+1}})를 상기 2차 비밀키(SK2)로 2차 복호화하여 1차 암호화된 선호도 정보({EPK1{DN}, EPK1{DN+1})를 획득한다(S843 단계).
그리고, 제N, N+1 사용자의 1차 암호화된 선호도 정보({EPK1{DN}, EPK1{DN+1}) 와 제L 사용자의 1차 암호화된 선호도 정보({EPK1{DL}) 서로 곱셈연산한다(S844 단계).
이후, 개인화 추천 서비스 서버는, 곱셈연산 값({EPK1{DN} × EPK1{DN+1} × EPK1{DL})을 제1 사용자 단말에 송신한다(S851 단계).
제1 사용자 단말은 수신한 곱셈연산 값({EPK1{DN} × EPK1{DN+1} × EPK1{DL})을 1차 비밀키(SK1)로 1차 복호화하여, 선호도 정보의 합(DN + DN+1 + EPK1{DL})을 획득한다(S861 단계).
이후, 제1 사용자 단말은 사용자가 인식할 수 있는 형태로 선호도 정보의 합(DN + DN+1 + EPK1{DL})에 따른 특정 카테고리에 속하는 아이템 또는 특정 아이템 하나에 대한 선호점수를 추천정보로서 표시한다(S871 단계).
상세하게는 복호화된 선호도 정보를 각 아이템에 대한 합산점수로 분류하고 상기 합산점수가 큰 순서대로 아이템을 추천정보로서 소정개 표시하거나, 또는 상기 복호화된 선호도 정보 중, 각 아이템에 대한 합산점수가 제일 큰 아이템 하나를 추천정보로서 표시한다.
전술한 본 발명의 개인화 추천 서비스 제공방법의 클라이언트 프로그램은 컴퓨터로 읽을 수 있는 씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등을 포함하는 기록매체에 저장될 수 있다.
이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
도 1은 본 발명의 바람직한 실시예에 의한 개인화 추천 서비스 제공 시스템의 개략적인 구조를 도시한 도면이다.
도 2는 본 발명의 바람직한 실시예에 의한 개인화 추천 서비스 제공 시스템에서 개인화 추천 서비스 제공서버의 구조를 도시한 도면이다.
도 3은 본 발명의 바람직한 실시예에 의한 클라이언트 프로그램의 구성을 도시한 도면이다.
도 4는 Minhash 방식을 설명하기 위한 일 예를 도시한 도면이다.
도 5 내지 도 8은 본 발명의 바람직한 실시예에 의한 개인화 추천 서비스 제공방법의 흐름을 순차적으로 도시한 도면이다.
도 9는 본 발명의 제1 실시예에 따른 모든 아이템에 대한 선호도 정보를 제공하는 추천 서비스의 일 예이다.
도 10은 본 발명의 제2 실시예에 따른 특정 카테고리에 속하는 아이템들 또는 특정 아이템 하나에 대한 선호도 정보를 제공하는 추천 서비스의 일 예이다.
도 11은 본 발명의 제3 실시예에 따른 각 단말이, 정보관리를 수행하는 방식과 서비스 서버가 선호도 정보를 저장하고 있는 방식이 혼재된 형태의 추천 서비스의 일 예이다.
<도면의 주요부분에 대한 부호의 설명>
200 : 개인화 추천 서비스 제공서버 210 : 웹 인터페이스 모듈
230 : 클러스터링 모듈 240 : 개인화 추천 처리모듈
250 : DB
260 : 클라이언트 프로그램 제공모듈 270 : 암호화 처리모듈
280 : 암호화 모듈 282 : 2차 공개키 생성모듈
284 : 2차 비밀키 생성모듈

Claims (27)

  1. 동일 또는 유사한 선호도를 가지는 사용자의 선호도 정보에 기초하여 추천정보를 제공하는 개인화 추천 서비스 제공방법으로서,
    (a) 제1 사용자의 단말로부터 선호도 정보 요청을 수신하는 단계;
    (b) 상기 제1 사용자와 동일 클러스터에 속하는 타 사용자의 단말로 선호도 정보를 요청하는 단계; 및,
    (c) 상기 동일 클러스터에 속하는 타 사용자의 단말로부터 수신된 암호화된 선호도 정보를 연산처리하여 상기 제1 사용자의 단말로 제공하는 단계
    를 포함하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  2. 제 1 항에 있어서,
    상기 암호화된 선호도 정보는 덧셈의 준동형 성질(additive homomorphim)을 가지는 공개키 암호방식(public key cryptosystem)으로 암호화된 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  3. 제 2 항에 있어서,
    상기 공개키 암호방식은, Paillier 암호방식인 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  4. 제 1 항에 있어서,
    상기 단계 (a) 이전에,
    복수의 사용자의 단말로부터 사용자의 선호도에 관한 정보를 각각 수신하여 동일 또는 유사한 선호도를 가지는 복수의 사용자를 동일 클러스터로 분류하는 클러스터링 단계를 더 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  5. 제 4 항에 있어서,
    상기 클러스터링 단계를 소정 주기 단위로 반복하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  6. 제 4 항에 있어서,
    상기 클러스터링 단계는,
    상기 복수의 사용자의 단말로부터, 사용자의 선호도 정보(D)를 Minhash 방식으로 해싱하여 산출된 값(M)을 암호화한 특성값(H)을 각각 수신하는 단계; 및,
    상기 특성값(H)이 동일한 사용자를 동일 클러스터로 지정하는 단계
    를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  7. 제 1 항에 있어서,
    상기 동일 클러스터에 속하는 타 사용자의 단말로부터 수신된 선호도 정보는 2중 암호화되어 있으며,
    상기 단계 (c) 이전에, 상기 동일 클러스터에 속하는 타 사용자의 단말로부터 수신된 2중 암호화된 선호도 정보를 복호화하여 상기 암호화된 선호도 정보를 획득하는 단계
    를 더 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  8. 제 1 항에 있어서,
    상기 단계 (a)는,
    상기 제1 사용자의 단말로부터 1차 공개키(
    Figure 112008085611856-PAT00099
    )를 수신하는 단계를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  9. 제 8 항에 있어서,
    상기 단계 (b)는,
    상기 제1 사용자와 동일 클러스터에 속하는 사용자의 단말로 상기 1차 공개키(
    Figure 112008085611856-PAT00100
    ) 및, 2차 공개키(
    Figure 112008085611856-PAT00101
    )를 전송하는 단계
    를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  10. 제 9 항에 있어서,
    단계 (c)는,
    (c1) 상기 제1 사용자와 동일 클러스터에 속하는 사용자의 단말로부터 선호도 정보(
    Figure 112008085611856-PAT00102
    ,
    Figure 112008085611856-PAT00103
    )가 상기 1차 공개키(
    Figure 112008085611856-PAT00104
    )로 1차 암호화된 후, 상기 2차 공개키(
    Figure 112008085611856-PAT00105
    )로 2차 암호화된 결과(
    Figure 112008085611856-PAT00106
    ,
    Figure 112008085611856-PAT00107
    ) 를 각각 수신하는 단계; 및,
    (c2) 상기 2차 암호화된 결과를 상기 2차 공개키(
    Figure 112008085611856-PAT00108
    )와 매칭되는 2차 비밀키(
    Figure 112008085611856-PAT00109
    )로 복호화한 1차 암호화된 값(
    Figure 112008085611856-PAT00110
    ,
    Figure 112008085611856-PAT00111
    )을 산출하는 단계
    를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  11. 제 10 항에 있어서,
    상기 단계 (d)는,
    (d1) 상기 1차 암호화된 값(
    Figure 112008085611856-PAT00112
    ,
    Figure 112008085611856-PAT00113
    )을 서로 곱셈연산한 값(
    Figure 112008085611856-PAT00114
    )을 산출하는 단계; 및,
    (d2) 상기 곱셈연산한 값(
    Figure 112008085611856-PAT00115
    )을 상기 제1 사용자의 단말로 전송하는 단계
    를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  12. 제 1 항에 있어서,
    단계 (a)는,
    상기 제1 사용자의 단말로부터 1차 공개키(
    Figure 112008085611856-PAT00116
    ) 및 특정 아이템의 식별코드(i)를 수신하는 단계를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  13. 제 12 항에 있어서,
    단계 (b)는,
    상기 제1 사용자와 동일 클러스터에 속하는 사용자의 단말로 상기 1차 공개키(
    Figure 112008085611856-PAT00117
    ), 상기 식별코드(i) 및, 2차 공개키(
    Figure 112008085611856-PAT00118
    )를 전송하는 단계
    를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  14. 제 13 항에 있어서,
    단계 (c)는,
    (c1) 상기 제1 사용자와 동일 클러스터에 속하는 사용자의 단말로부터 상기 식별코드(i)에 대응하는 선호도 정보(
    Figure 112008085611856-PAT00119
    ,
    Figure 112008085611856-PAT00120
    )가 상기 1차 공개키(
    Figure 112008085611856-PAT00121
    )로 1차 암호화된 후, 상기 2차 공개키(
    Figure 112008085611856-PAT00122
    )로 2차 암호화된 결과(
    Figure 112008085611856-PAT00123
    ,
    Figure 112008085611856-PAT00124
    ) 를 수신하는 단계; 및,
    (c2) 상기 2차 암호화된 결과를 상기 2차 공개키(
    Figure 112008085611856-PAT00125
    )와 매칭되는 2차 비밀키(
    Figure 112008085611856-PAT00126
    )로 복호화하여 상기 1차 암호화된 값(
    Figure 112008085611856-PAT00127
    ,
    Figure 112008085611856-PAT00128
    )을 산출하는 단계
    를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  15. 제 14 항에 있어서,
    상기 단계 (d)는,
    (d1) 상기 1차 암호화된 값(
    Figure 112008085611856-PAT00129
    ,
    Figure 112008085611856-PAT00130
    )을 서로 곱셈연산한 값(
    Figure 112008085611856-PAT00131
    )을 산출하는 단계; 및,
    (d2) 상기 곱셈연산한 값(
    Figure 112008085611856-PAT00132
    )을 상기 제1 사용자의 단말로 전송하는 단계
    를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  16. 제 4 항에 있어서,
    상기 클러스터링 단계는,
    선호도 정보관리를 허용한 사용자의 단말로부터 선호도 정보를 수신 및 저장하는 단계;
    선호도 정보관리를 허용하지 않은 사용자의 단말로부터, 사용자의 선호도 정보(D)를 Minhash 방식으로 해싱하여 산출된 값(M)을 암호화한 특성값(H)를 각각 수신하는 단계;
    상기 선호도 정보관리를 허용한 사용자의 선호도 정보(D)를 Minhash 방식으로 해싱하여 산출된 값(M)을 암호화하여 특성값(H)을 생성하는 단계; 및,
    상기 특성값(H)이 동일한 사용자를 동일 클러스터로 지정하는 단계
    를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  17. 제 16 항에 있어서,
    상기 단계 (c)는,
    (c3) 상기 선호도 정보관리를 허용한 사용자의 선호도 정보(
    Figure 112008085611856-PAT00133
    )를 상기 1차 공개키(
    Figure 112008085611856-PAT00134
    )로 암호화한 결과(
    Figure 112008085611856-PAT00135
    )을 산출하는 단계
    를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  18. 제 17 항에 있어서,
    상기 단계 (d)는,
    (d1) 상기 선호도 정보관리를 허용하지 않은 사용자의 1차 암호화된 값(
    Figure 112008085611856-PAT00136
    ,
    Figure 112008085611856-PAT00137
    )과, 상기 상기 선호도 정보관리를 허용한 사용자의 단말 암호화한 결과(
    Figure 112008085611856-PAT00138
    )를 서로 곱셈연산한 값(
    Figure 112008085611856-PAT00139
    )을 산출하는 단계; 및,
    (d2) 상기 곱셈연산한 값(
    Figure 112008085611856-PAT00140
    )을 상기 제1 사용자의 단말로 전송하는 단계
    를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  19. 제 6 항 또는 제 16 항 중 하나의 항에 있어서,
    상기 특성값(H)은,
    상기 산출된 값(M)을 단방향 해쉬함수(one-way hash function)를 통해 암호화하여 생성되는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  20. 제 19 항에 있어서,
    상기 단방향 해쉬함수는, MD5 또는 SHA-1 인 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  21. 사용자와 동일 또는 유사한 선호도를 가지는 타 사용자의 선호도 정보에 기초하여 추천정보를 제공하는 개인화 추천 서비스 제공방법으로서,
    (a) 사용자의 선호도 정보(D)를 Minhash 방식으로 해싱하여 산출값(M)을 생성한 후, 이 산출값(M)을 암호화한 특성값(H)을 개인화 추천 서비스 제공서버로 송신하는 단계;
    (b) 상기 개인화 추천 서비스 제공서버로 선호도 정보를 요청하는 단계;
    (c) 상기 개인화 추천 제공 서비스 서버로부터 사용자와 동일 또는 유사한 선호도를 가지는 타 사용자의 암호화된 선호도 정보를 수신하는 단계; 및,
    (d) 상기 암호화된 선호도 정보를 복호화하는 단계
    를 포함하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  22. 제 21 항에 있어서,
    상기 암호화된 선호도 정보는 덧셈의 준동형 성질(additive homomorphim)을 가지는 공개키 암호방식(public key cryptosystem)으로 암호화된 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  23. 제 21 항에 있어서,
    상기 단계 (b)는, 1차 공개키(
    Figure 112008085611856-PAT00141
    )를 상기 개인화 추천 서비스 제공서버로 송신하는 단계를 포함하고,
    상기 단계 (d)는, 상기 암호화된 선호도 정보를 상기 1차 공개키(
    Figure 112008085611856-PAT00142
    )와 매칭되는 1차 비밀키(
    Figure 112008085611856-PAT00143
    )로 복호화하는 단계를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  24. 제 21 항에 있어서,
    상기 단계 (d) 이후,
    복호화된 선호도 정보는 상기 타 사용자의 선호도를 합산한 값이며, 이 합산된 선호도가 큰 순서대로 소정개의 아이템을 선택하여 추천정보로서 표시하는 단계
    를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  25. 제 21 항에 있어서,
    상기 단계 (d) 이후,
    상기 복호화된 선호도 정보는 상기 타 사용자의 선호도를 합산한 값이며, 이에 포함된 특정 아이템에 대하여 선호도에 대응하는 소정의 등급으로 나누어 상기 등급을 추천정보로서 표시하는 단계
    를 포함하는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  26. 제 24 항 또는 제 25 항 중 하나의 항에 있어서,
    상기 추천정보는 상기 사용자가 이미 소비한 아이템이 배제되는 것을 특징으로 하는 프라이버시를 보호하는 개인화 추천 서비스 제공방법.
  27. 사용자의 특성값 및 암호화된 선호도 정보를 제공하는 복수의 사용자의 단말과 연결되는 웹 인터페이스 모듈;
    상기 복수의 사용자의 단말로부터 수신된 상기 사용자 특성값을 근거로 하여 복수의 사용자 중 동일 또는 유사한 선호도 정보를 가지는 사용자를 동일 클러스터로 분류하는 클러스터링 모듈; 및,
    상기 동일 클러스터에 속한 타 사용자의 암호화된 선호도 정보를 수신받아 연산처리하여 특정 사용자의 단말에 제공하는 개인화 추천 처리모듈
    을 포함하는 프라이버시를 보호하는 개인화 추천 서비스 제공서버.
KR1020080126373A 2008-12-12 2008-12-12 프라이버시를 보호하는 개인화 추천 서비스 제공방법 및 제공서버 KR20100067816A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080126373A KR20100067816A (ko) 2008-12-12 2008-12-12 프라이버시를 보호하는 개인화 추천 서비스 제공방법 및 제공서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080126373A KR20100067816A (ko) 2008-12-12 2008-12-12 프라이버시를 보호하는 개인화 추천 서비스 제공방법 및 제공서버

Publications (1)

Publication Number Publication Date
KR20100067816A true KR20100067816A (ko) 2010-06-22

Family

ID=42366364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080126373A KR20100067816A (ko) 2008-12-12 2008-12-12 프라이버시를 보호하는 개인화 추천 서비스 제공방법 및 제공서버

Country Status (1)

Country Link
KR (1) KR20100067816A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591873A (zh) * 2011-01-12 2012-07-18 腾讯科技(深圳)有限公司 一种信息推荐方法和设备
WO2015094245A1 (en) * 2013-12-18 2015-06-25 Intel Corporation Technologies for collecting advertising statistics in a privacy sensitive manner
WO2015110408A1 (en) * 2014-01-21 2015-07-30 Quanox S.A.R.L. A method for enhancing privacy in a recommendation system
CN107885705A (zh) * 2017-10-09 2018-04-06 中国科学院信息工程研究所 一种高效可扩展的安全的文档相似性计算方法和装置
CN113159881A (zh) * 2021-03-15 2021-07-23 杭州云搜网络技术有限公司 一种数据聚类及b2b平台客户偏好获取方法、系统
KR20220059869A (ko) * 2020-11-03 2022-05-10 광주과학기술원 동형 암호화를 이용한 개인정보 보호 강화 학습을 수행하기 위한 방법 및 장치
KR20230106435A (ko) * 2022-01-06 2023-07-13 (주)서울의료정보연구소 사용자 개인 정보 보호 및 동의 내역을 관리하는 서비스 제공 방법 및 장치

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591873A (zh) * 2011-01-12 2012-07-18 腾讯科技(深圳)有限公司 一种信息推荐方法和设备
CN102591873B (zh) * 2011-01-12 2016-01-20 腾讯科技(深圳)有限公司 一种信息推荐方法和设备
WO2015094245A1 (en) * 2013-12-18 2015-06-25 Intel Corporation Technologies for collecting advertising statistics in a privacy sensitive manner
US10037544B2 (en) 2013-12-18 2018-07-31 Intel Corporation Technologies for collecting advertising statistics in a privacy sensitive manner
WO2015110408A1 (en) * 2014-01-21 2015-07-30 Quanox S.A.R.L. A method for enhancing privacy in a recommendation system
CN107885705A (zh) * 2017-10-09 2018-04-06 中国科学院信息工程研究所 一种高效可扩展的安全的文档相似性计算方法和装置
CN107885705B (zh) * 2017-10-09 2020-12-15 中国科学院信息工程研究所 一种高效可扩展的安全的文档相似性计算方法和装置
KR20220059869A (ko) * 2020-11-03 2022-05-10 광주과학기술원 동형 암호화를 이용한 개인정보 보호 강화 학습을 수행하기 위한 방법 및 장치
CN113159881A (zh) * 2021-03-15 2021-07-23 杭州云搜网络技术有限公司 一种数据聚类及b2b平台客户偏好获取方法、系统
CN113159881B (zh) * 2021-03-15 2022-08-12 杭州云搜网络技术有限公司 一种数据聚类及b2b平台客户偏好获取方法、系统
KR20230106435A (ko) * 2022-01-06 2023-07-13 (주)서울의료정보연구소 사용자 개인 정보 보호 및 동의 내역을 관리하는 서비스 제공 방법 및 장치

Similar Documents

Publication Publication Date Title
CN106471539B (zh) 用于混淆受众测量的系统和方法
US11962687B2 (en) Methods for protecting privacy
US9754307B2 (en) Recommender system and media retrieval system for providing recommendations to groups of users
KR20100067816A (ko) 프라이버시를 보호하는 개인화 추천 서비스 제공방법 및 제공서버
TWI749444B (zh) 可靠的使用者服務系統和方法
US20160019394A1 (en) Method and system for privacy preserving counting
US20170308580A1 (en) Data Aggregation/Analysis System and Method Therefor
JP2018148493A (ja) 鍵生成装置、中間暗号化装置、委託暗号化装置、データ検索装置、復号装置およびそれらのプログラム
JP2007501975A (ja) データ処理システム及びその方法
US20190012480A1 (en) Systems and Method for Retroactive Assignment of Personally Identifiable Information in Distribution of Digital Content
US20190236287A1 (en) Systems and methods for entropy balanced population measurement
US8782684B2 (en) Method and device for collecting audience information
CN113994333A (zh) 对交互之间的积分进行聚合的方法
EP1288832A1 (en) Anonymous recommendation technique
CN114579857A (zh) 基于区块链的对象推荐方法、装置及系统
Elmisery Private personalized social recommendations in an IPTV system
JP2006325061A (ja) 放送方法、放送局装置および視聴者端末
JP2020187247A (ja) データ管理装置、ユーザ情報通知装置、ユーザ情報取得装置およびそれらのプログラム
JP7145706B2 (ja) ユーザ情報管理装置、ユーザ情報登録装置、ユーザ情報取得装置およびそれらのプログラム
US11968297B2 (en) Online privacy preserving techniques
US20230299960A1 (en) Localized cryptographic techniques for privacy protection
CN117370673B (zh) 算法推荐服务的数据管理方法及装置
US11356428B2 (en) Data security method for privacy protection
JP6931616B2 (ja) 番組関連情報送信装置および番組関連情報受信装置、ならびに、それらのプログラム
Javid Khayati Privacy-preserving targeted advertising scheme for IPTV using the cloud

Legal Events

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