[IT-Security-2] 匿名通訊 Anonymous Communication

 Anonymous Communication


Notes from RWTH Aachen University course 
“IT security 2” Wintersemester 2019/20
professor: Meyer, Ulrike Michaela

:cactus: Different notions of Privacy

  • :droplet: Anonymity
    • 隱藏  執行action
    • 通常用一個 set 做匿名紀錄 action
  • :droplet: Untraceability
    • 讓執行的actions難以identify是同一個使用者
  • :droplet: Unlinkability
    • 難以連結人跟行為
  • :droplet: Unobservability
    • 隱藏items
  • :droplet: Pseudonymity
    • 用pseudonymity代替真的identity

:cactus: Broadcast

  • 達到 receiver anonymity 和 Unobservability
  • 對訊息 加密,只有要傳遞的的 receiver 能解開

    但使用者必須對所有訊息解密才知道是否傳給自己

:cactus: Mixes

  • :droplet: Idea
    • Untraceable electronic mail, return addresses, and digital pseudonyms
    • Mix 是一個網路節點
      • 接受encrypted訊息
      • Decrypt訊息
        • 是否接收過
        • 得到new address
      • 蒐集訊息
        • 達到threshold數量
        • 或時間到
      • 送出訊息
        • 隨意的順序給new address

      訊息只被最多一個 mix 處理

  • 保障
    • Sender是anonymous (receiver只看到mix)
    • 攻擊者可以竊聽,但不能link sender/receiver
    • random number確保不能replay
      若能replay則攻擊者要link sender/receiver且receiver出現兩次
  • :droplet: 缺點
    • 攻擊者若能 加入traffic,則可以link sender/receiver
    • 攻擊者知道自己傳/收哪些訊息
  • :droplet: Mix Cascades
    • 加入多個mix
    • 即使攻擊者控制一個mix,還有一個mix就可以保證anonymity
    • 越多Mixes,performance越低
    • 3個通常最好(在performance跟security之間)
      • 如果3個都被攻擊者控制,攻擊者還是可以link
  • :droplet: Return addresses
    • 若receiver不知道sender的身份但要回傳訊息?
    • A 生成 兩對公私鑰
      • \(k_2\) 給 B,加密自己的訊息給 A
      • \(k_1\) 給 mix,加密回傳訊息

  • :droplet: Basic Mixnets的缺點
    • 高度運算 (encryption/decryption)
    • 高延遲 (store/forward nature)
    • :necktie: 挑戰: Low-latency anonymity network
      • 用 public-key建立 circuit,但 circuit 間的 hops 用 symmetric keys

:cactus: Onion Routing

  • :droplet: 定義
    • 基於 mixes 的規則
    • real-time/ bi-directionsl
    • Initiator隨機選擇中間routers (由不同administrative控制)
    • hybrid encryption
    • anonymity是optional
    • Main emphasis: initiator/responder 對第三方或被攻擊的onion router來說是 unlikability
  • :droplet: Operation
    • application建立socket連線到application proxy
    • application proxy跟onion proxy建立連線
    • :steam_locomotive: Connection Setup
      • Router interconnection
        • 長期的socket連線
        • application layer
        • 用symmetric keys
      • initiator
        • Onion: 連線路徑recursively
        • 每個 onion router 只知道前一個跟下一個
        • Alice要送訊息要經過每個router都要用router public key層層加密
        • 經過每個router層層解密之後傳給Bob

:cactus: Garlic Routing

  • 與 Onion routing 相似
  • 但一個 garlic message 可以有 multiple data (cloves)
  • 和 garlic router 建立 inbound 和 outbound tunnel

可以像 onion routing一樣經過多個router
最後分散cloves給不同的receiver
同個receiver的多個cloves也可變成garlic message,經過多個router再給receiver

 

:cactus: Dining Cryptographers

  • perfectly untraceable
  • Dining Cryptographers problem: 無條件 sender/recipient untraceability
  • 保障 information-theoretic anonymity
    • 強烈假設,對抗有無限計算資源的攻擊者
  • 難以實行
  • :droplet: Three-person DC Protocol
    • 目標: 知道NSA是否付錢,或是其他兩人是否付錢但匿名
    • 解法:
      • 每個人擲銅板並給下一個人看
      • 每個人說自己的跟上一個人的是否相同
        • 但如果有付錢,則說謊
      • 基數個「相同」: NSA有付錢
        偶數個「相同」: 其他人付錢

      其他人如果不知道銅板內容,無法知道是誰付錢

    • 證明:
      • XOR
        \(x_1\oplus x_2\oplus x_2\oplus x_3\oplus x_3\oplus x_1 = 0\) 如果沒有人說謊的話
    • 推廣到 \(N\) 個人
      • 每個人產生一random bit
      • 給下一個人
      • 每個人計算自己和上一個人的bit的 XOR
    • 難以執行
      • 溝通需要secure
      • 大量communication和randomness
    • 若有人 collude 仍 robust

:cactus: Tor

  • 第二代 onion routing network

  • Features:

    • 主要提供 sender anonymity
    • directory servers (trusted nodes)
    • Integrity 保障
    • 建立 rendezvous point(會合點) 和 hidden service
  • :droplet: Circuit Setup

    • 從 trusted directory server 取得 onion routers 的 list
    • 從 list 中隨機選3個
    • 但router #1建立 symmetric key 及circuit
    • 經過router #1和router #2建立 symmetric key
    • router #3 是exit node

    3個onion router是對performance和security的折衷

  • :droplet: Key Establishment

    • Diffie-Hellman key agreement
    • TLS
    • relay: 接力
  • :droplet: Opening Streams (OP)

    • Alice想建立TCP連線
    • 詢問 OP (via SOCKS)
    • OP 選擇 最新的 open circuit或創造一個
  • :droplet: Management

    • 多個applications可以 共用 一個circuit
    • Tor router沒有root權限
      • 越多TCP streams,越有匿名性
    • Directory servers
      • 控制 new routers 如何加入
      • Sybil attack 攻擊者產生過多 routers
  • :droplet: warning

    • Tor沒有 Encrypt 和 Integrity protect
      • 除非application提供
    • 有些application resolve(解析) the host name to its IP address
      • DNS request與Tor’s purpose相悖
    • 不能阻止authorities/ network providers的censorship(審查制住)
      • 使用者/ router可能被 block
      • router list也可以被所有使用者知道

      不影響privacy但影響 usage

  • :droplet: Directory server

    • 儲存node state/ keys/ exit policies
    • acts as an HTTP server
      • Onion routers(ORs) 更新 signed statements給 server
      • Directory server 檢查
  • :droplet: Location Hidden Service

    • 目標:
      • 任何人都可連線但不知道在哪/是誰
      • Resistant to Censorship
      • Resistant to flooding attack/ physical attack
    • Idea:
      • Hidden Server 選擇 introduction points (list) ,並給directory server
      • Client 從 directory server 隨機選 rendezvous point 告訴 server,並透過 introduction points 連到 rendezvous point
      • 用 TOR circuit 達到 anonymity
    • Creating a Location Hidden Service
    • Using a Location Hidden Service
  • :droplet: Attacker Types

    • :bat: Routing Attack
      • 利用 Tor’s preferential routing 機制
      • Tor 高機率會選擇 high-bandwith, high-uptime 的 routers
      • 攻擊者創造一個 “preferred routers” 使 Tor 選擇
      • 即使攻擊者的 router with low-resource,還是可能成功攻擊
        因為 Tor 的 information 只由 node 本身提供
        攻擊者可以偽造 uptime/ bandwidth
      • 攻擊者可以控制 router 並取得 path 資訊
        • 可以知道是entry/ middle/ exit node
        • timestamp
        • previous circuit ID/ onion router’s IP address/ port
        • next circuit ID/ onion router’s IP address/ port
      • 攻擊者傳送這些 logs 給 central authority (想要 link 這些 information 的人)
        • 如果 node 收到 request 沒有在 directories list 上,則此 node 為 entrance node
      • central authority 分析 sender/ receiver
    • :bat: Cell Counters
      • 利用entry/exit node delay cells send out
      • 攻擊者若控制 entry/ exit node,可以 delay 送出資訊
      • 攻擊者 flushing down 3 cells
    • :bat: Fingerprinting
      • 攻擊者知道從網路上下載的身分 (eg. URL)
      • 可以觀察 onion proxy 的 traffic,知道前一個 fingerprinted website
      • Scenario 1:
        • 攻擊者分類使用者access哪個website
      • Scenario 2
        • 固定website分析使用者是否access
      • 解法:
        • Padding
        • Morphing
          • random ad blockers,隨機block網頁中的檔案
          • 同時loading多個頁面

:cactus: I2P

  • :droplet: Overview
    • I2P = Invisible Internet Project
    • message-oriented
    • peer-to-peer
      • 每個 user run I2P router
    • inside the network
    • garlic routing
  • :droplet: netDB
    • 有 contact information
    • 基於 flood-fill peers 管理的 distributed hash table
    • netDB存有
      • RouterInfo peer的資訊
      • LeaseSet 如何找到 internal service(destination) (lease: entry points)
    • Clients 透過 exploratory tunnels 連線 flood-fill peers
  • :droplet: Tunnel Establishment
    • 決定 I2P peer 的順序
    • 傳送 tunnel construction request 給第一個 peer
    • 每一層加入 symmetric key 並傳給下個 peer
    • 回傳回應並在經過每個 peer 時加密
  • :droplet: 如何決定 peer?
    • 用 peer profiling 分類peers 成為 tiers
    • 監測 peers的 performance
    • 每30秒 profiles 被排序到 3 個tiers
    • Fast tier: Client tunnnels
    • High-capacity tier: exploratory tunnels
  • :droplet: Comparison
TorI2P
Optimized and designed for exit traffic需要 out-proxy for exit traffic
SOCKS (TCP)I2P API (TCP/UDP)
onion routinggarlic routing
沒有encyptionend-to-end encryption如果service在I2P裡
較快較慢

Readings
§ David Chaum. ”Untraceable Electronic Mail, Return Addresses and Digital Pseudonyms”, 1981
§ David Chaum. “The dining cryptographers problem: unconditional sender and recipient
untraceability.” Journal of Cryptology, 1988
§ Reed et al. “Anonymous Connections and Onion Routing”, 1998
§ Reiter et al. “Crowds: Anonymity for Web Transactions”, 1998
§ Dingledine et al. “Tor: The Second Generation Onion Router” 2004
§ Alexis Pimenides: Holistic Confidentiality in Open Networks, 2009
§ Ling et al: A New Cell Counter Based Attack Against Tor, 2009
§ Bauer et al: Low-Resource Routing Attacks Against Anonymous Systems, 2007
§ Herrmann et al: Website Fingerprinting: Attacking Popular Privacy Enhancing Technologies with the Multinomial Naïve-Bayes Classifier, 2009
§ Wright et al: The predecessor attack: An analysis of a threat to anonymous communications systems, 2004
§ Johnson et al: Users Get Routed: Traffic Correlation on Tor by Realistic Adversaries, 2013
§ Conrad et al: A Survey on Tor and I2P, ICIMP 2014

留言

這個網誌中的熱門文章