군중(익명 네트워크)
Crowds (anonymity network)이 글에는 여러 가지 문제가 있다.이 문제를 개선하거나 대화 페이지에서 토의하십시오.(이러한 템플릿 메시지를 제거하는 방법 및 시기 알아보기)
|
군중들은 익명 웹브라우징을 위해 제안된 익명 네트워크다.크라우드 익명 프로토콜 이면의 주요 아이디어는 각 사용자의 통신을 유사한 사용자 그룹 내에서 무작위로 라우팅하여 숨기는 것이다.따라서 공동작업 그룹 멤버나 엔드 리시버 모두 패킷이 어디에서 발생했는지 확신할 수 없다.군중들은 마이클 K에 의해 설계되었다. 반복해서 아비엘 D. 루빈. 내부 공격자와 부패한 수신자를 방어하지만, 글로벌 공격자나 로컬 도청자에 대해서는 익명성을 제공하지 않는다("Crowds: 익명성 For Web Transactions" 참조).군중들은 이전의 공격에 취약하다; 이것은 Repeat and Rubin's 논문에서 논의되었고 "The Predict Attack:Matthew K의 익명 통신 시스템 위협 분석"라이트, 마이카 아들러, 그리고 브라이언 닐 레빈.군중들은 사용자들이 컴퓨터 무리들과 섞이는 개념을 도입했다.[1]
군중 작동 방식
- 각 사용자는 멤버십 관리를 담당하는 단일 서버인 믹서기에 자신을 등록함으로써 다른 사용자들의 인파에 합류한다.사용자가 등록을 하면, 군중 속의 다른 모든 회원들에게 통지된다.믹서는 가상 경로를 따라 라우팅된 패킷의 암호화와 암호 해독에 각각 사용되는 개별 쌍의 존도에게 대칭 키를 분배하기 때문에 키 배포에도 책임이 있다.[2]
- 각 사용자는 사용자 컴퓨터에서 실행되는 응용 프로그램인 그녀의 기계에 있는 jondo로 표현된다.
- 각 jondo는 최종 서버에 요청을 제출하거나 임의로 선택한 jondo(아마도 그 자체일 것이다)에 요청을 전달한다.다른 jondo 작업은 쿠키와 같은 개인 정보를 제거하고 헤더 필드를 식별하는 것이다.
- jondo는 요청이 이전 jondo에 의해 시작되었는지 아니면 그 전에 시작되었는지 구별할 수 없다.
- 요청 및 회신은 확률을 포함하는 알고리즘을 사용하여 구성된 동일한 가상 경로를 따른다.가상의 경로는 정기적으로 해체되고 재구성되어 새로 추가된 회원의 익명성이 허용된다.
정의들
군중들은 다음과 같은 용어를 사용하고 정의한다.
- 보낸 사람
- 메시지의 이니시에이터
- 수신기
- 메시지의 최종 수신인
- 개연성 있는 순수성
- 공격자는 어떤 노드가 메시지를 시작했는지에 대해 50% 이상의 신뢰도를 가질 수 없다(노드는 메시지를 시작하지 않은 것처럼 똑같이 시작했을 가능성이 있음 - 각 사용자가 무죄일 가능성이 더 높음).
- 로컬 도청자
- 노드의 적절한 하위 집합에 대해 모든 수신 및 송신 메시지를 관찰할 수 있는 공격자
- 손상된 노드
- 메시지를 전달하여 얻은 정보를 사용하여 보낸 사람을 결정하는 경우 노드가 손상됨
- 손상된 노드 수
- 노드 수(- C 은(는) 양호한 노드 수입니다.
- 출고확률
기본 디자인
군중들은 각 노드가 똑같이 메시지의 시작자인 것처럼 보이게 함으로써 일을 한다.우리가 말했듯이, 각 노드는 다른 사용자의 요청을 전달하고 수신하는 작은 프로세스인 jondo("John Doe"에서)를 시작하여 네트워크에 가입한다.jondo가 시작되면 네트워크의 모든 노드가 새로운 노드의 입구를 알게 되고, 그를 포워더로 선정하기 시작할 것이다.실제로 메시지를 보내기 위해 노드는 네트워크의 모든 노드에서 무작위로(일률적으로) 선택하고 메시지를 전달한다.메시지를 수신한 노드는 편향된 코인을 뒤집고(확률 > 다른 무작위 노드에 착지하면 최종 목적지에 포워드 된다.다른 노드로 포워딩할 때 각 노드는 전임자를 기록하고 이러한 방식으로 터널이 구축되며, 이는 송신자와 수신자 사이의 통신에 사용된다.
각 시스템의 알고리즘
OnReceive(Node P, Message M)
- 편향된 동전 뒤집기(( )=
- Heads Then If Heads Tene 균일하게 무작위 노드를 선택하고 해당 노드로 전달
- 기타 목적지로 전달
- 터널을 만들 수 있도록 P를 기록하십시오.
보안분석
우리는 우리가 설명한 크라우드의 메커니즘을 고려할 때 공격자가 웹 거래의 송신자와 수신자에 대해 어떤 정보를 배울 수 있는지에 대한 질문을 고려한다.
로컬 도청자
최종 요청을 제외하고 경로로 전달된 모든 메시지가 암호화되어 있는지 확인하십시오.따라서, 도청자는 사용자의 컴퓨터에서 나오는 어떤 메시지도 볼 수 있지만, 사용자의 jondo가 궁극적으로 사용자의 요청 자체를 제출하는 경우에만 최종 서버에 제출된 메시지를 볼 수 있다.사용자의 jondo가 최종적으로 요청을 제출할 확률은 1/n이므로 여기서 n은 경로가 생성되었을 때의 군중 크기입니다.따라서 우리는 도청자가 수신자의 정체를 알게 될 확률은 군중 규모의 함수로써 감소한다는 것을 알게 된다.더욱이 사용자의 jondo가 궁극적으로 요청을 제출하지 않을 때, 로컬 도청자는 엔드 서버의 암호화된 주소만 보게 되는데, 우리는 (비공식적으로) 의심의 여지가 없는 수신기 익명성을 제시한다.(심각한 의심 - 어떤 사용자도 다른 사용자보다 의심하지 않는다.
공동작업존도
군중 속에서 타락한 전도와 협력하는 한 세트를 생각해 보라.각 jondo는 그것을 통해 라우팅된 경로에서 일반 텍스트 트래픽을 관찰할 수 있기 때문에, 엔드 서버의 주소를 포함한 모든 트래픽이 이 공격자에게 노출된다.여기서 우리가 고려하는 질문은 공격자가 누가 경로를 시작했는지에 대한 것이다.공동작업자의 목표는 경로를 시작한 구성원을 결정하는 것이다.이제 우리는 협력자들이 그들의 직속상관이 사실상 경로 개시자라는 것을 얼마나 확신할 수 있는지 분석한다.
- Letk H, k >= 1은 경로의 첫 번째 협력자가 경로의 k번째 위치를 차지하고, 이니시에이터 자체가 0번째 위치(및 다른 위치)를 차지하는 사건을 나타낸다.
- Hk+ = Hk 또는 Hk+1 또는 H 또는k+2 . . .를 정의하십시오.
- 경로의 첫 번째 공동작업자가 경로 이니시에이터에 의해 경로에 즉시 선행되는 이벤트를 표시한다.
시작 jondo가 경로에 여러 번 나타날 수 있기 때문에1 H => I, 그러나 컨버스 I => H는1 사실이 아니라는 점에 유의한다.다음과 같이 경로를 구성하는 경우가 있을 수 있다.
- 이니시에이터 jondo(0 - position) ----> jondo(1 - position) -->
- 이니시에이터 jondo(2 - position) ----> 협업 jondo(3 - position)
경로의 첫 번째 공동작업자가 세 번째 위치에 있다는 점에 유의하십시오.
- 4.이 표기법을 고려할 때, 공동작업자들은 이제 다음을 결정하기를 희망한다.
P(I H1+) - 공동작업자가 경로에 있다고 가정할 때, 경로 개시자가 첫 번째 공동작업자의 직계 전임자일 확률은 얼마인가?
정의:
경로 개시자는 P(I H1+)<=1\2일 경우 결백할 가능성이 있다.
경로 이니시에이터에 대해 가능한 결백을 산출하기 위해서는 우리 시스템에서 특정 조건이 충족되어야 한다.특히 pf > 1/2 (시스템 내 출고 확률)로 한다.
(c - 군중 속의 협력자 수)
(n - 경로가 형성되었을 때의 총 크라우드 구성원 수)
아래의 정리는 pf, c 및 n에 충분한 조건을 제공하여 경로 개시자에 대해 가능한 결백을 보장한다.
정리: 경로 이니시에이터가 c 공동작업자에 대해 무죄가 될 가능성이 있음
증명: pf > 1/인 경우pf> 1/2 ( +1{\p_{1}-{1}{1}:{1}:{1}:{1}:{1}:{1}:{을 표시하려고 함
다음 사항에 유의하십시오.
P(Hi) =( n- ) - 1 ( )
첫 번째 협력자가 경로에서 iH 위치에 있으려면, n경로는 먼저-cn{\displaystyle{\frac{n-c}{n}}의 확률로 매번 i-1 비협업자로 이동해야 하며, 각각은 확률 pf를 사용하여 경로를 전달하기로 선택한 다음 이야기,확률 c{\displaystyle}을 가진 협력자에게이동해야 한다..
다음 두 가지 사실은 바로 이것에서 온다.
(H1+) = k= n- ) =( ) k =( - p ( - )n}}}{
(H2+) = k= 1( p n- ) k=( ) = ( f( - c) 1- ( - )n 1}{1}(}{n}}}}:{n}}}}}}}}}}:{n}}}}}}}}}}}}}}}}}:{n}}}}}}}}}}}}}:{n
P(H1) = {
(I H1) = 1
P(I H2) = -
이제 P(I)는 로 포획할 수 있다.
P(I) = P(H1)P(I H1) + P(H2+)P(IH2+) = - + ) - (- ) p}+ = c(p) = c (n) = p - p - p)
I=>H1+ 이후
P(I H1+)= = =
따라서 p - ( ) 1}-{1}:{1}:{1}:{2
그때 P(I1+ H)<=1\2
예: pf=3\4일 경우 n >= 3(c + 1)만큼 무죄가 보장된다.
정적 경로
동적 경로는 협업에 대항하여 시스템이 제공하는 익명성을 감소시키는 경향이 있다.그 이유는 협력자들이 같은 종도에 의해 시작된 많은 뚜렷한 경로를 연결시킬 수 있다면 그 개연성 있는 무죄가 사라지기 때문이다.협업을 하는 전도는 관련 경로 내용이나 경로 상의 통신 타이밍에 기초하여 동일한 알려지지 않은 존도에 의해 시작된 경로를 연결할 수 있을 것이다.이를 방지하기 위해 경로를 정적으로 만들어 공격자가 동일한 jondo에 연결할 수 있는 경로를 여러 개 가지고 있지 않다.
포함된 이미지 및 타이밍 공격
HTML 페이지는 페이지를 검색할 때 사용자의 브라우저가 자동으로 다른 요청을 발행하도록 하는 URL(예: 이미지의 주소)을 포함할 수 있다.이러한 요청의 직접적인 성격으로 인해 전도와 협력하여 공격 타이밍에 가장 큰 기회를 제공하는 것이다.경로에서 처음 협업하는 jondo는 자동으로 검색되는 URL을 포함하는 해당 경로의 웹 페이지를 반환할 때 해당 URL에 대한 요청을 수신할 때까지의 시간을 설정할 수 있다. 기간이 충분히 짧다면 협력자의 직접 전임자가 요청의 개시자임을 알 수 있다.
예방
jondo가 사용자의 브라우저에서 직접 수신하거나 최종 서버에 직접 제출한 요청에 대한 HTML 회신을 수신하면, HTML 페이지를 구문 분석하여 이 회신을 수신한 결과 사용자의 브라우저가 자동으로 요청하는 모든 URL을 식별한다.경로의 마지막 jondo는 이러한 URL을 요청하고 원래 요청이 수신된 동일한 경로를 따라 다시 전송한다.사용자의 jondo는, 사용자의 브라우저로부터 이러한 URL에 대한 요청을 받으면, 이러한 요청을 경로에 전달하지 않고, 오히려 URL의 내용이 경로에 도착하기를 기다렸다가 브라우저에 전송한다.이러한 방식으로 경로에 있는 다른 존도들은 브라우저에 의해 생성된 요청을 보지 못하므로, 이들로부터 타이밍 정보를 얻을 수 없다.
척도
우리가 평가하는 척도의 척도는 각 jondo가 어느 시점에서든 모든 경로에 대해 예상되는 총 외관 수입니다.예를 들어, 만약 jondo가 한 경로에 두 위치를 차지하고 다른 경로에 한 위치를 차지한다면, 이 경로에 총 세 개의 모습을 보이게 된다.
정리 : n 크기의 군중 속에서, 모든 길에 어떤 존도(jondo)가 하는 예상 총 출현 수는
각각의 jondo가 오솔길에서 예상되는 출현 횟수는 사실상 군중 규모의 함수로서 일정하다.이것은 군중이 꽤 크게 성장할 수 있어야 한다는 것을 암시한다.
공격
모든 구성원이 똑같이 이니시에이터였을 가능성이 높기 때문에 군중들은 부패 수신기에 대해 완벽한 익명성을 제공한다(즉, d← gets 참조).As we showed against collaborating corrupt nodes Crowds provides probable innocence as long as (see the paper for the derivation of this), and provides a degree of anonymity . Against the predec서 공격 는( 에서 굴복한다. 이 공격은 경로에서 이전 홉을 유지하는 부패 노드에 의해 작동하는데, 이는 네트워크를 재구축하는 라운드에 걸쳐 다른 노드보다 더 많은 송신자가 될 것이기 때문이다.반복과 루빈은 이 점을 언급하고 경로 개혁 사이의 긴 시간(가능한 경우 무한 시간)을 권장한다(경로 내의 노드가 네트워크를 떠날 때 발생한다).링크에 암호화를 사용할 수 없기 때문에 크라우드의 각 노드가 다른 모든 노드(완전히 연결된 그래프)와 통신할 수 있기 때문에 크라우드의 각 노드는 대칭 키를 설정하기 O ) N^{2 {\displaysty O(})} 쌍별 키가 필요하므로 글로벌 도청자로부터 보호할 수 없음실현가능하다다시 로컬 도청자를 상대로 한 Crowds는 도청자가 들어가지 않은 노드에서 메시지가 나오는 것을 볼 수 있기 때문에 아무런 보호도 제공하지 않으며, 이는 노드를 송신자로 확실히 식별한다.
참고 항목
참조
추가 읽기
- ^ Claudia Diaz and Stefaan Seys and Joris Claessens and Bart Preneel (April 2002). Roger Dingledine and Paul Syverson (ed.). "Towards measuring anonymity". Proceedings of Privacy Enhancing Technologies Workshop (PET 2002). Springer-Verlag, LNCS 2482. Archived from the original on 2006-07-10. Retrieved 2005-11-10.
- ^ Michael Reiter and Aviel Rubin (June 1998). "Crowds: Anonymity for Web Transactions" (PDF). ACM Transactions on Information and System Security. 1 (1). Archived from the original (PDF) on 2005-12-12. Retrieved 2005-11-23.
- ^ Matthew K. Wright and Micah Adler and Brian Neil Levine and Clay Shields (2004). "The predecessor attack: An analysis of a threat to anonymous communications systems" (PDF). ACM Transactions on Information and System Security. ACM Press. 7 (4): 489–522. Archived from the original (PDF) on 2005-09-24. Retrieved 2005-11-23.
- ^ Matthew Wright and Micah Adler and Brian Neil Levine and Clay Shields (February 2002). "An Analysis of the Degradation of Anonymous Protocols" (PDF). Proceedings of the Network and Distributed Security Symposium - NDSS '02. IEEE. Archived from the original (PDF) on 2006-02-19. Retrieved 2005-11-23.