I. 서론
최근 페이스북과 같은 소셜 네트워킹 서비스(Social Networking Services, SNS)를 이용하여 지인들과 개인적인 데이터를 공유하는 사용자들이 증가하고 있다. 이 서비스는 중앙 집중형 웹 서버를 기반으로 하기 때문에 사용자들의 모든 통신 내역이 서버에 노출된다. 이러한 취약점으로부터 사용자 프라이버시를 보호하고 이전과 동일한 서비스를 제공하기 위해서는 공유할 데이터와 네트워크 구성도(network topology)에 대한 접근제어가 필요하다. 신뢰 하는 사용자만 자신의 데이터와 연결정보를 열람할 수 있어야 하고, 권한이 없는 사용자와 신뢰할 수 없는 서비스 제공자는 그것들을 열람할 수 없어야 한다. 이는 효율성을 고려하여 대칭키 기반의 데이터 암호화를 적용할 수 있겠지만 암/복호화에 쓰이는 키를 여럿이 공유해야 한다는 점에서 키 관리의 문제점이 발생한다.
사용자들이 그들의 신뢰 수준(trust level)에 따라 타인의 개인적인 데이터에 부분적으로 접근할 수 있도록, 본 논문에서 제안하는 기법은 다음과 같은 시스템을 고려한다. 주어진 시스템에서 두 사용자의 경로(path)는 소셜 네트워크에서 그들을 최단으로 잇는 사용자들의 순서 있는 집합(ordered set)이고, 그 집합 내 원소들의 총 개수를 경로의 길이(혹은 두 사용자가 떨어진 거리)로 정의한다. 또한, 두 사용자 간의 신뢰 수준은 그들의 거리에 반비례한다고 가정한다. 실제로 사용자의 관점에서 보았을 때, 자신의 친구를 친구의 친구보다 더 신뢰한다고 여길 것이므로 이 같은 가정은 매우 자연스럽다. 만약 두 사용자가 소셜 네트워크에서 연결되지 않았다면, 그들이 떨어진 거리는 ∞로 정의한다. 데이터 소유자(data owner) 는 자신의 저장소에 암호화된 데이터를 추가/삭제할 수 있고, 이 때 사용되는 비밀키를 접근키라 칭한다. 데이터 소유자는 자신을 통해 접근할 수 있는 지인들의 목록과 그 접근키를 암호화해서 서버에 저장한다. 각 사용자들은 서버에 저장된 값을 복호화하면서 필요한 접근키를 유도한다. 이 유도과정은 데이터 소유자와의 거리만큼 반복적으로 수행되고, 데이터에 맞는 권한을 가진 사용자라면 유도한 접근키를 통해 원하는 데이터를 열람할 수 있다.
제안하는 기법은 위와 같이 정의된 시스템 내에서 다음과 같은 성질을 모두 만족한다. 데이터 소유자로부터 같은 거리에 놓인 사용자들은 동일한 접근키를 유도해야 하고, 신뢰 수준이 사전에 정의된 최소 수준 보다 낮은 사용자는 데이터 소유자의 키 중 어떠한 값도 유도할 수 없어야 한다. 서버는 사용자들의 키를 전혀 알 수 없고, 저장하고 있는 소셜 네트워크의 전체 구성도도 알 수 없어야 한다.
그동안 p2p 기반의 분산된 소셜 네트워킹 서비스 에서 신뢰할 수 있는 사용자만 데이터에 접근할 수 있도록 여러 가지 방식이 제안되었다. 준동형(homomorphic) 암호기술, 속성 기반 암호기술 등을 이용 하여 인맥정보를 암호화하고, 권한이 있는 사용자만 복호화하여 접근키를 얻는 연구들이 그 예이다. 하지만 이 기법들은 그것에 활용된 준동형/속성 기반 암호 기술들이 비효율적이라는 단점 때문에, 전체적인 기법의 효율성도 여전히 문제로 남아있다. 본 논문에서 제안하는 기법은 이 문제를 해결하기 위해 대칭키 기반의 환형 암호시스템을 적용한다. 본 논문의 가장 큰 공헌은 환형 암호를 적용함으로 인해서, 접근키와 인맥정보를 한꺼번에 암호화하고 서버로부터 인맥정보도 안전하게 보호한다는 점이다. 접근키와 인맥정보를 함께 다뤄서 기법의 효율성을 개선했고, 이전 연구들에서 해결하지 못했던 ‘인맥정보의 보호’라는 공개 과제(open problem)를 해결했다.
본 논문의 구성은 다음과 같다. 2장에서 관련된 연구들을 알아보고, 3장에서 제안하는 기법을 소개하고 4장에서 이것을 분석한다. 마지막으로 5장에서 결론을 맺는다.
II. 관련 연구
2.1 소셜 네트워크에서의 접근제어
초기의 접근제어[1]는 사용자의 신뢰 수준과 관계 유형을 기반으로 믿을 수 있는 제 3기관을 통해 데이터로의 접근을 제어한다. 하지만 믿을 수 있는 제 3기 관은 현실적으로 존재하기 어렵고 공격의 집중대상이 되는 병목현상을 초래할 수 있기 때문에, 이후부터 이러한 문제점을 개선한 기법들이 제안되었다. 이어서 제안된 기법[2,3]은 모두 제 3기관이 필요 없지만, 프로토콜을 수행하는 모든 사용자들이 동시에 온라인 상태여야 한다는 단점을 지니고 있다. 또 다른 기법[4]은 공개키 암호 프로토콜을 이용해서 이전과 동일한 기능을 제공하는 기법을 설계했다. 이 프로토콜에서 데이터 소유자는 자신과 데이터 요청자 사이의 거리를 기준으로 접근여부를 결정할 수 있지만, 각 신뢰관계에 해당하는 가중치가 두 사용자의 경로에 놓인 중간 노드에게 모두 드러나는 단점이 존재한다. 관련된 다른 기법[5]은 이러한 단점을 보완한 접근제어를 제공했으나 여전히 신뢰할 수 있는 제 3기관을 필요로 한다.
2.2 M. Atallah 등의 접근제어 기법[6]
2009년에 M. Atallah 등은 위에서 언급한 모든 단점을 해결한 최초의 기법을 제안했다[6]. 이 접근제어 기법은 같은 해에 발표된 키 관리 기법[7]을 활용 하여 초기화, 질의, 응답 알고리즘을 설계했고, 신뢰할 수 있는 제 3기관이 필요 없는 분산된 방식을 채택 했다. 또한, 서버가 최소한의 기능만 수행하고, 프로토콜을 수행하는 모든 사용자들이 동시에 로그인 상태 여야 하는 문제도 해결했다. 더불어 키 유도 과정에서 서버가 주어진 소셜 네트워크를 추론할 수 있는 문제를 해결했지만, 그 해결방안이 매우 비효율적이라는 새로운 문제점이 제기되었다. 본 논문의 아이디어는 이 문제점을 개선시키려는 데에서 출발했다. M.Atallah 등의 기법[6]은 접근제어를 분산된 방식으로 해결하기 위해서 모든 사용자들이 자신과 연관된 소셜 네트워크를 기반으로 자신만의 접근 그래프를 생성하고, 이를 암호화해서 서버에 저장한다. 이렇게 모아진 암호화된 접근 그래프는 서버에서 모두 통합되고, 이 통합된 정보는 다른 사용자의 접근키를 유도하려 할 때 사용된다. 접근하고자 하는 사용자가 자신으로부터 지정된 거리 내에 존재하지 않으면 접근키를 유도할 수 없다.
2.3 대칭키 기반의 안전한 환형 암호시스템[8]
LWE(Learning a linear function With Errors) 문제는 Lattice 기반 암호시스템에서 최근수 년 동안 활발하게 암호학적인 환경에 적용된 난제이다. LPN(Learning Parity with Noise) 문제는 LWE 문제의 특수한 경우로, LWE문제와 더불어 양자 컴퓨팅 하에서도 현실적인 시간 내에 풀 수 있는 알고리즘이 없다고 알려진 난제이다.
2009년 B. Applebaum 등은 이러한 LPN 문제의 어려움으로 안전성을 제공하는 대칭키 기반의 효율 적인 환형 암호시스템을 설계했고, 그것의 안전성을 이론적으로 증명했다.
III. 제안하는 기법
제안하는 기법은 형성된 소셜 네트워크를 권한 없는 다른 사용자들과 서버로부터 보호하며 사용자가 키 유도에 필요한 공개정보만 내려 받을 수 있도록 키에 대한 접근제어를 수행한다. 우선 개괄적인 알고리즘을 간단한 예제로 살펴본 뒤에, 구체적인 기법을 소개한다.
3.1 예제
이 예제는 제안하는 기법의 아이디어를 간략히 소개하기 위한 것이다. 각각의 사용자보다는 서버의 관점에서 전체 알고리즘이 어떻게 수행되는지에 초점을 맞춰 개괄적인 아이디어를 살펴본다. 우선 예제에 사용될 기호들을 [표 1]과 같이 정리한다.
[표 1] 기법에 사용될 기호와 정의
서버는 구성된 소셜 네트워크 G = (V, E)를 접근 그래프 G' = (V', E')로 전환한다. 신뢰 그래프 G에서 노드 u∈V는 실제 사용자 u를 의미하고, 연결선 (u,v)∈E은 사용자 u가 사용자 v를 신뢰함을 나타낸 다. 접근 그래프 G′에서 노드#는 사용자 가자신으로부터 거리가 d만큼 떨어진 사용자에게 부여할 접근정보를 나타낸다. 또한 그래프 G′의 연결선 #은 사용자 v∈V의 d번째 접근키 #로사용자 u∈V의 d+1번째 접근키 #를 유도할 수 있음을 의미한다. 따라서 소셜 네트워크를 구성하는 임의의 사용자 u∈V는 접근 그래프 G′에서 L+1개의 노드 쌍#를 가지고, 소셜 네트워크를 구성하는 임의의 연결선 (u,v)∈E은 접근 그래프 G′에서 연결선 쌍 #을 가진다. 각 그래프 G,G′에서 연결선이 가지는 상이한 의미 때문에, 두그래프 내의 연결선 방향은 반대이다. 사용자 u가 v를 신뢰한다면 자신의 데이터에 접근하도록 허용할 것이기 때문에, v는 u의 접근키를 얻을 수 있도록 v에서 u로의 연결선이 생성된다. 또한 키 유도 과정이 거리를 증가시키면서 반복적으로 수행되기 때문에, 각 연결선의 도착노드는 시작노드보다 하나 더 큰 거리 depth를 가져야 한다. 신뢰 그래프 G에서 depthG(u,v) ≤ L인 두 사용자는 접근 그래프 G′에서 임의의 두 사용자 사이에 경로(path)가 존재하고, 이를 통해 해당하는 접근키를 유도한다.
예를 들어, [그림 1]과 같은 소셜 네트워크를 사용하고 L=3이라 할 때, 생성되는 접근 그래프는 [그림 2]와 같다. 점선으로 표현한 부분은 접근 그래프의 가시성을 높이기 위한 것이고, 실선으로 그려진 노드와 연결선이 실제 접근 그래프를 구성한다. 사용자 B의 경우, 기반으로 하는 환형 암호화[8]의 암호화 알고리즘 #을 이용해서 B의 각 노드 #에 키 #와 공개 값 #를할당한다. 이 상태에서 사용자 A는 자신의 키 #로 #을 복호화해서 #를 유도할수 있고, 같은 방식으로 #를 다시 얻을 수있다. 이 유도과정에서는 두 노드간의 연결 경로가 있어야 가능한 것으로, depth가 증가할수록 유도할 수 있는 키가 하나 씩 줄어들어 사전에 정의된 L범주 내의 데이터만 접근 가능하다. 주어진 접근 그래프에서 #에서 #로 이어지는 경로가 존재하지 않으므로, A는 C의 1번째 키를 얻을 수 없고, 이와 같은 방식으로 각자의 신뢰수준에 맞는 키만 유도할 수 있다.
[그림 1] 간단한 소셜 네트워크의 방향성 있는 그래프 G
[그림 2] 신뢰 그래프G로부터 생성한 접근 그래프 G ′
3.2 소셜 네트워크에서 프라이버시를 보호하는 효율 적인 거리기반 접근제어
제안하는 기법은 초기화 단계(Setup Phase), 키유도 단계(Derive Phase), 그리고 동적인 소셜 네트워크를 지원하는 확장된 단계(Extended Phase) 로 구성된다. 각 단계 별로 다음과 같은 알고리즘이 사용된다.
1) 초기화 단계(Setup Phase) : Setup
2) 키 유도 단계(Derive Phase) ; Derive
3) 확장된 단계(Extended Phase) : Offer / Accept, Revoc / Delete
위의 알고리즘에 내부적으로 쓰이는 함수들은 다음과 같다.
- Authenticate(u, pwdu): 주어진 사용자 u가 자신의 비밀번호 pwdu로 인증 받는다.
- Send(u, v, M): 사용자 u가 사용자 v에게 메시지 M을 전달한다.
- Renew(y, P): 집합 P의 원소 y를 갱신한다.
- CSEkeygen(1n) / CSEenc#( ● ) / CSEdec#( ● ) : 환형 암호시스템의 키 생성 및 암/복호화 알고리즘
- friend; 사용자 u와 접근키 #의 쌍 #들이 접합되어있는 문자열
- nodeset/keyset: friend에서 사용자들만 모아놓은 집합(nodeset)과 접근키만 모아놓은 집합 (keyset)
3.2.1. 초기화 단계(Setup Phase)
사용자 A는 자신과 관련된 L수준의 접근 그래프 GA를 생성하고, 그 그래프의 모든 노드 #에 적절한 키 #를 할당한다. 또한 자신을 신뢰하는 친구의 키도 암호화해서 노드에 할당한 뒤 서버에 공개 값을 업로드 한다. 구체적인 알고리즘은 [표 2]로 정의한다.
[표 2] 초기화 알고리즘
3.2.2. 키 유도 단계(Derive Phase)
사용자들은 자신이 원하는 데이터에 접근하기 위해서 데이터 소유자의 키를 유도한다. 타깃으로 하는 키를 유도하기 위해 거리를 하나씩 증가시키면서 경로에 놓인 공개 값을 모두 복호화한다. [표 3]은 키 유도 알고리즘을 구체적으로 정의한다.
[표 3] 키 유도 알고리즘
3.2.3. 확장된 단계(Extened Phase)
소셜 네트워크는 신뢰관계의 수립과 제거가 수시로 발생하므로 이러한 동적인 네트워크를 반드시 지원해야 한다. 첫째로, 새로운 관계가 생성되었을 때 접근 그래프의 수정을 다루는 알고리즘은 Offer과 Accept이다. 소스노드 snode가 dnode를 신뢰한다면 자신의 0 번째를 제외한 접근키를 안전한 채널을 통해 전달 (Offer)하고, dnode는 받은 키 값을 포함시켜 자신의 공개 값을 갱신(Accept)한다. 둘째로, 알고리즘 Revoc은 신뢰관계를 삭제했을 때, 그로인한 모든 과정을 다룬다. [그림 3]는 사용자 B, C, D로 구성된 간단한 신뢰 그래프에서 연결선 (B, C) ∈E의 삭제로 변경되어야할 값들을 나타낸다.
[그림 3] 3명의 사용자로 구성된 신뢰 그래프에서 연결선 (B,C)∈E 의 삭제
사용자 C가 B, D와 맺고 있는 신뢰관계로 인해 B, D는 각자 C의 키 쌍을 암호화해서 서버의 pub에 저장하고 있다. 이 때 사용자 C가 더 이상 B를 신뢰하지 않는다면, 즉 다시 말해서 연결선 (B,C)∈E가 삭제된다면, 다음과 같은 과정이 이뤄져야 한다.
1) B는 자신의 공개 값에서 C와 관련된 정보를 제거해야 한다.
2) C는 B가 더 이상 자신의 데이터에 접근할 수 없게 자신의 키 쌍을 갱신해야 하고, D에게 알린다.
3) D는 자신의 공개 값이 바뀐 C의 키 쌍을 포함 하도록 갱신한다.
C가 직접 신뢰하는 친구들만이 C의 키 쌍을 가지고 있기 때문에, 그 값이 수정되어도 D와 같은 사용자들만 연산이 필요하고 그 외의 사용자들은 아무런 영향을 받지 않으므로 제안하는 기법은 동적인 네트워 크를 효율적으로 지원한다. 확장된 단계에 쓰일 구체 적인 알고리즘은 [표 4], [표 5]와 같다.
[표 4] 질의/응답(Offer / Accept) 알고리즘
[표 5] 차단/삭제( Revoc / Delete) 알고리즘
IV. 분석
제안하는 기법은 2009년에 제안된 기법[6]을 개선하였고, 제시한 공개문제(open problem)를 해결하였기 때문에, 효율성 및 안전성 분석은 [6]을 바탕으로 한다. [6]은 기존의 접근제어가 가지고 있던 문제(프로토콜에 참여하는 사용자들이 동시에 온라인이어야 하고, 타인의 연결정보가 노출되는 점)들을 최초로 해결하였지만 효율성 측면에서 새로운 문제점이 발생 했다. 본 논문에서는 이러한 문제점을 효율적으로 해결하였고, 본 절을 통해서 안전성과 효율성이 개선되었음을 보인다.
4.1 효율성 분석
제안하는 기법은 소셜 네트워크에서 분산된 접근제어를 수행하는 관련 연구들 중 가장 효율적이다.
첫째로, 서버에 질의하여 받아오는 데이터의 양이 다. 제안하는 기법에서 각각의 사용자는 자신이 원하는 접근키를 얻기 위해 최대 L반경 내에 있는 사용자의 공개정보만 서버로부터 받고, 나머지 키 유도 과정은 자신의 기기 내에서 수행한다. 이는 Derive 알고리즘이 호출될 때 마다 서버가 사용자에게 전체 pub을 중복해서 반환해야 했던 기존의 기법보다 매우 효율적 이다. 아래의 [표 6]를 보면, 서버와의 통신량이 줄어든 것을 확인할 수 있다. E, V, L은 기법에서 사용한 것과 같은 의미이며, n은 맺을 수 있는 최대 친구 수를, |V|는 집합 V의 원소 수를 뜻한다. L은 시스템에서 정하는 상수이지만, 소셜 네트워크의 작은 세상 현상(small world phenomenon) 에 의해서 네트워크에서 임의로 선택된 두 사용자 간의 평균 거리가 평균적으로 log(|V|)임을 알 수 있다. 따라서 실제적으로 시스템에서 사용할 값은 데이터 접근을 허용할 사용자 범위가 전체 네트워크에서 차지하는 비율인 c(0 < c ≤ 1)에 대해서L≈cㆍlog(|V|)일 것이고, [표 6]의 O(NL-1L)는 페이스북의 전체 사용자 수가 5억 이상임을 감안하면 굉장히 향상된 복잡도임을 알 수 있다.
[표 6] [6]과의 비교 분석
둘째로, 필요한 변수의 양과 그것의 관리가 훨씬 효율적이다. 기존의 기법[6]은 키 관리 기법을 적용시키기 위해서 키 유도에 쓸 키와 데이터 암호화에 쓸 키를 따로 관리하고, 개인을 식별할 공개 값을 ID 외에 별도로 설정하여 pub에 저장하는 번거로움이 존재했다. 제안하는 기법은 데이터 암호화에 사용할 키와 키유도에 사용할 키를 일원화시키고 이에 따른 안전성 문제를 해결하기 위해 환형 암호화 기법을 적용시켰다. 이렇게 함으로 인해서 별도로 관리하던 개인 식별 값을 없애고, 연결정보만 pub에 저장하여 연산의 효율성과 저장량을 동시에 향상시켰다.
셋째로, 연결정보 암호화 후에도 암호화 전의 기능을 무리 없이 제공한다는 점이다. 기존의 기법[6]은 서버가 네트워크를 추론해 낼 수 없게 하기 위해서 연결정보를 암호화했지만, 이와 동시에 접근 가능한 데이터들이 직접 연관된 사용자의 것으로 제한되어 암호화 전에 제공하던 기능을 수행할 수 없다. 따라서 [표 6]의 키 유도를 위한 복호화 횟수는 이 같은 기능을 원활히 제공하기 위해 반드시 필요한 부하이고, 이 값을 알고리즘의 구조를 개선하여 최적화 하는 것이 최선일 것이다. 제안하는 기법은 기본적으로 필요한 복잡도인 O(NL-1)로 복호화를 수행하고, 이를 더욱 최적화시키는 것을 추후 연구 과제로 남긴다.
4.2 안전성 분석
본 절에서는 제안하는 기법의 안전성을 분석한다. [정리 1]은 정적인 신뢰 그래프 로 이뤄진 접근 그래프 G′이 효과적으로 비 인가된 사용자의 접근을 막을 수 있는지 분석한다. 이를 기반으로 [정리 2]는 동적인 그래프 G, G′에 대해서도 접근제어가 이뤄지는지 분석한다. 이 때, 중요한 점은 소셜 네트워크는 오프라인 인맥이 반영되기 때문에 대부분의 사용자 들은 주어진 프로토콜을 변형하지 않는 반-정직 (semi-honest)한 공격자로 가정한다는 점이다. 따라서 분석도 이러한 공격자를 가정하고 이뤄진다. 또한 서버는 암호화된 연결정보를 저장하고 일종의 공개 게시판처럼 자신이 저장한 데이터를 사용자들과 공유 한다. 사용자들이 오프라인 상태에서 공개게시판에 접근하여 필요한 공개 값을 다운받고 권한이 있는 값만 복호화 할 수 있다는 점에서, 서버는 특정 사용자가 어떤 사용자의 정보를 다운받는지 추적할 수 없다. 따라서 이후 제시될 [정리 1]과 [정리 2]는 사용자 입장의 공격자를 가정하고 안전성을 분석한다. 더불어 제안하는 기법은 기존의 기법[6]이 보장하는 안전성을 동일한 수준으로 보장하고, 주어진 소셜 네트워크를 서버가 추론할 수 없도록 하여 사용자의 프라이버시를 서버로부터 안전하게 보호한다.
정리 1. 초기화 알고리즘 Setup(Guser, L, 1n)을 통해 정적인 신뢰 그래프 G로부터 생성된 접근 그래프를 G′라 할 때, 임의의 두 사용자 u, v ∈E가 depthG(u,v) ≤ d를 만족하면 # ∈ G′와 # ∈ G′를 잇는 경로가 반드시 존재하고 역도 성립한다.
증명. I = depthG(u,v) ≤ d인 사용자 u, v가 있다고 가정하면, 신뢰 그래프 G내에 두 사용자 u,v를 잇는 또 다른 d-1명의 사용자들로 구성된 경로 u, x1, x2, ⋯ , xl-2, xl-1, v가 존재한다. 따라서 G로부터 생성된 접근 그래프 G′내에 경로 #가 존재해야 한다.
모든 연결선은 Setup알고리즘의 12∼16줄에 의해서 생성되고, # ∈ E′는 Setup(Gv, L, 1n)를 통해서 pub에 존재한다. 같은 방식으로 1 ≤ i ≤ l-2에 대해서 # ∈ E′는 Setup(G#, L, 1n)로 생성되고, # ∈ E′는 Setup(G#, L, 1n)에 의해서 pub에 존재한다. 따라서 임의의 두 사용자 u,v ∈ G가 depthG(u,v) ≤ d를 만족하면 # ∈ G′와 # ∈ G′를 잇는 경로가 반드시 존재한다.
역에 대해서도 살펴보면, 우선 그래프 G′내에 경로 #가 존재한다고 가정하자. 접근 그래프 내의 모든 연결선은 Setup알고리즘의 12∼16줄에 의해서 생성되므로, 반드시 ij = ij-1 + 1이다. 그러므로 il = i0 + l ≤ (0 ≤ i0) 이고, il ≤ d에 의해서 depthG(u,v) = il - i0 = l ≤ d이다. 따라서 주어진 접근 그래프 G′내에 경로 #가 존재하면 depthG(u,v) ≤ d인 사용자 u,v가 반드시 신뢰 그래프 G에 존재한다.
정리 2. 알고리즘 Setup(Guser, L, 1n), Offer(snode, pudsnode, dnode, #), Accept(snode, Gdnode',pwddnode,dnode,#)을 통해 동적인 신뢰 그래프 G로부터 생성된 접근 그래프를 G′라 할 때, 임의의 두 사용자 u,v ∈ G 가 depthG(u,v) ≤ d를 만족하면 # ∈ G′와 # ∈ G′를 잇는 경로가 반드시 존재하고 역도 성립한다.
증명. 주어진 정리의 증명은 [정리 1]로부터 쉽게 유도된다. Offer와 Accept는 Setup의 일부분과 동일한 과정을 수행하므로, 정리 1에서 이뤄진 증명과 동일한 방식으로, 임의의 두 사용자 u,v ∈ G가 depthG(u,v) ≤ d를 만족하면 # ∈ G′와 # ∈ G′를 잇는 경로가 반드시 존재한다. 또한, 역으로 접근 그래프 G′내에 경로 #가 존재하면 depthG(u,v) ≤ d인 사용자 u,v가 반드시 신뢰 그래프 G에 존재한다.
제안하는 기법의 안전성 증명은 [정리 2]의 대우를 통해 완성된다. [정리 2]의 대우는 신뢰 그래프 G 에대해서 depthG(u,v) > d(경로가 존재하지 않는 경우는 depthG(u,v) = ∞)인 임의의 두 사용자 u,v가 접근 그래프 G′에서 # ∈ G′와 # ∈ G′를 잇는 경로를 가질 수 없다는 것이다. 제안하는 기법에서 접근 키를 유도하는 구조상, 접근 그래프에서 경로가 존재 하지 않으면 접근키를 유도할 수 없고 데이터에 접근 하는 것도 불가능하다, 결론적으로, 적법한 거리내의 사용자만이 데이터에 접근 가능하다.
V. 결론
본 논문에서는 동적인 소셜 네트워크 환경에서 분산된 방식으로 프라이버시를 보호하는 효율적인 접근 제어 기법을 제안하였다. 기존 연구에서 서버가 소셜 네트워크를 추론하지 못하도록 연결정보를 비효율적으로 중복 암호화하는 문제점을 해결하기 위해서, 본 논문에서는 키를 또 다른 키로 암호화하는 환형 암호화를 적용시켰다. 이 기법은 기존의 기법과 동일한 안전성으로 서버로부터 개인의 프라이버시를 보호하고 개선된 효율성을 보장한다. 다만, 서버가 두 사용자 간의 연결경로를 찾기 위해 검색하는 과정에서 너비 우선 검색이 사용되는 단점이 존재하므로, 알고리즘 구조의 개선을 통해 검색 과정과 복호화 횟수를 최적화하는 것을 향후 연구 과제로 남긴다. 또한 소셜 네트워크만이 가지는 그래프 이론적 특성을 보안 메커니즘에 적용시켜 소셜 네트워크에 특화된 연구를 구축하는 것이 더 필요하다.
References
- B. Carminati, E. Ferrari, and A. Perego, "Rule-based access control for social networks," On the Move to Meaningful Internet System, LNCS 4278, pp. 1734-1744, 2006.
- B. Carminati, E. Ferrari, and A. Perego, "Private relationships in social networks," Proceedings of IEEE International Conference on Data Engineering Workshop, pp. 163-171, Apr. 2007.
- B. Carminati and E. Ferrari, "Privacy-aware collaborative access control in web-based social networks," Data and Applications Security X XII, LNCS 5094, pp. 81-96, 2008.
- J. Domingo-Ferrer, "A public-key protocol for social networks with private relationships," Modeling Decisions for Artificial Intelligence, LNAI 4617, pp. 373-379, 2007.
- V. Alexandre, J. Domingo-Ferrer, S. Francesc, and G.N. Ursula, "Privacy homomorphisms for social networks with private relationships," Elsevier, Computer Networks, vol. 52, no. 15, pp. 3007-3016, Oct. 2008. https://doi.org/10.1016/j.comnet.2008.06.017
- K.B. Frikken and P. Srinivas, "Key allocation schemes for private social networks," Proceedings of the 8th ACM Workshop on Privacy in the Electronic Society, pp. 11-20, Nov. 2009.
- M.J. Atallah, M. Blanton, N. Fazio, and K.B. Frikken, "Dynamic and efficient key management for access hierarchies," ACM Transactions on Information and System Security, vol. 12, no. 3, pp. 18-43, Jan. 2009.
- B. Applebaum, D. Cash, C. Peikert, and A. Sahai, "Fast cryptographic primitives and circular-secure encryption based on hard learning problems," Advanced in Cryptology, CRYPTO'09, LNCS 5677, pp. 595-618, 2009.