[IT-Security-2] 匿名通訊 Anonymous Communication
Anonymous Communication
Notes from RWTH Aachen University course 
“IT security 2” Wintersemester 2019/20
professor: Meyer, Ulrike Michaela
 Different notions of Privacy
 Anonymity- 隱藏 誰 執行action
 - 通常用一個 set 做匿名紀錄 action
 
 Untraceability- 讓執行的actions難以identify是同一個使用者
 
 Unlinkability- 難以連結人跟行為
 
 Unobservability- 隱藏items
 
 Pseudonymity- 用pseudonymity代替真的identity
 
 Broadcast
- 達到 receiver anonymity 和 Unobservability
 - 對訊息 加密,只有要傳遞的的 receiver 能解開
但使用者必須對所有訊息解密才知道是否傳給自己
 
 Mixes
 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出現兩次 
 
 缺點- 攻擊者若能 加入traffic,則可以link sender/receiver
 - 攻擊者知道自己傳/收哪些訊息
 
 Mix Cascades- 加入多個mix
 - 即使攻擊者控制一個mix,還有一個mix就可以保證anonymity
 
- 越多Mixes,performance越低
 - 3個通常最好(在performance跟security之間)
- 如果3個都被攻擊者控制,攻擊者還是可以link
 
 
 Return addresses- 若receiver不知道sender的身份但要回傳訊息?
 - A 生成 兩對公私鑰
 - \(k_2\) 給 B,加密自己的訊息給 A
 - \(k_1\) 給 mix,加密回傳訊息
 
 Basic Mixnets的缺點- 高度運算 (encryption/decryption)
 - 高延遲 (store/forward nature)
 
 挑戰: Low-latency anonymity network- 用 public-key建立 circuit,但 circuit 間的 hops 用 symmetric keys
 
 Onion Routing
 定義- 基於 mixes 的規則
 - real-time/ bi-directionsl
 - Initiator隨機選擇中間routers (由不同administrative控制)
 - hybrid encryption
 - anonymity是optional
 - Main emphasis: initiator/responder 對第三方或被攻擊的onion router來說是 unlikability
 
 Operation- application建立socket連線到application proxy
 - application proxy跟onion proxy建立連線
 
 Connection Setup- Router interconnection
- 長期的socket連線
 - application layer
 - 用symmetric keys
 
 - initiator
 - Onion: 連線路徑recursively
 - 每個 onion router 只知道前一個跟下一個
 - Alice要送訊息要經過每個router都要用router public key層層加密
 - 經過每個router層層解密之後傳給Bob
 
 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
 Dining Cryptographers
- perfectly untraceable
 - Dining Cryptographers problem: 無條件 sender/recipient untraceability
 - 保障 information-theoretic anonymity
- 強烈假設,對抗有無限計算資源的攻擊者
 
 - 難以實行
 
 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\) 如果沒有人說謊的話 
 - XOR
 - 推廣到 \(N\) 個人
- 每個人產生一random bit
 - 給下一個人
 - 每個人計算自己和上一個人的bit的 XOR
 
 - 難以執行
- 溝通需要secure
 - 大量communication和randomness
 
 - 若有人 collude 仍 robust
 
 Tor
第二代 onion routing network
Features:
- 主要提供 sender anonymity
 - directory servers (trusted nodes)
 - Integrity 保障
 - 建立 rendezvous point(會合點) 和 hidden service
 
 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的折衷
 Key Establishment- Diffie-Hellman key agreement
 - TLS
 
- relay: 接力
 
 Opening Streams (OP)- Alice想建立TCP連線
 - 詢問 OP (via SOCKS)
 - OP 選擇 最新的 open circuit或創造一個
 
 Management- 多個applications可以 共用 一個circuit
 - Tor router沒有root權限
- 越多TCP streams,越有匿名性
 
 - Directory servers
- 控制 new routers 如何加入
 - Sybil attack 攻擊者產生過多 routers
 
 
 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
 
- Tor沒有 Encrypt 和 Integrity protect
 
 Directory server- 儲存node state/ keys/ exit policies
 - acts as an HTTP server
- Onion routers(ORs) 更新 signed statements給 server
 - Directory server 檢查
 
 
 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

 
- 目標:
 
 Attacker Types
 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
 
 Cell Counters- 利用entry/exit node delay cells send out
 - 攻擊者若控制 entry/ exit node,可以 delay 送出資訊
 - 攻擊者 flushing down 3 cells
 
 Fingerprinting- 攻擊者知道從網路上下載的身分 (eg. URL)
 - 可以觀察 onion proxy 的 traffic,知道前一個 fingerprinted website
 - Scenario 1:
- 攻擊者分類使用者access哪個website
 
 - Scenario 2
- 固定website分析使用者是否access
 
 - 解法:
- Padding
 - Morphing
- random ad blockers,隨機block網頁中的檔案
 - 同時loading多個頁面
 
 
 
 I2P
 Overview- I2P = Invisible Internet Project
 - message-oriented
 - peer-to-peer
- 每個 user run I2P router
 
 - inside the network
 - garlic routing
 
 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
 
 Tunnel Establishment- 決定 I2P peer 的順序
 - 傳送 tunnel construction request 給第一個 peer
 - 每一層加入 symmetric key 並傳給下個 peer
 - 回傳回應並在經過每個 peer 時加密
 
 如何決定 peer?- 用 peer profiling 分類peers 成為 tiers
 - 監測 peers的 performance
 - 每30秒 profiles 被排序到 3 個tiers
 - Fast tier: Client tunnnels
 - High-capacity tier: exploratory tunnels
 
 Comparison
| Tor | I2P | 
|---|---|
| Optimized and designed for exit traffic | 需要 out-proxy for exit traffic | 
| SOCKS (TCP) | I2P API (TCP/UDP) | 
| onion routing | garlic routing | 
| 沒有encyption | end-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
§ Heiko Rossnagel: The Market Failure of Anonymity Services, WISTP, 2010
§ 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





留言
張貼留言