Nội dung của Chương 2 trình bày các các kỹ thuật bảo vệ định danh và tính riêng tư của người sử dụng dịch vụ dựa trên Mix:
Giới thiệu về Mix-network
Mô hình Mix nhị thức
Framework RPROB
Hệ thống bảo vệ định danh về vị trị dựa trên Mix nhị thức
12 trang |
Chia sẻ: vietpd | Lượt xem: 1398 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Các kỹ thuật bảo vệ định danh / tính riêng tư dựa trên Mix, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
21
Chương 2
Các kỹ thuật bảo vệ định danh / tính riêng tư
dựa trên Mix
Tóm tắt chương:
Nội dung của Chương 2 trình bày các các kỹ thuật bảo vệ định danh và tính
riêng tư của người sử dụng dịch vụ dựa trên Mix:
Giới thiệu về Mix-network
Mô hình Mix nhị thức
Framework RPROB
Hệ thống bảo vệ định danh về vị trị dựa trên Mix nhị thức
2.1 Mô hình Mix-network
2.1.1 Giới thiệu
Mix là một bộ định tuyến cho thông điệp, có khả năng chuyển các thông điệp vào
hệ thống đến những hệ thống khác với mục tiêu là làm cho kẻ tấn công không thể nào
tạo được mối liên kết tương ứng giữa thông điệp vào hệ thống với thông điệp chuyển
ra hệ thống [31].
Hệ thống bảo vệ chỉ sử dụng một bộ mix sẽ gặp một số hạn chế [11]. Đầu tiên là
nếu hệ thống bị tấn công DoS thì toàn bộ hệ thống bảo vệ sẽ bị tê liệt. Thứ 2 là mix là
hệ thống trung gian chuyển thông điệp giữa người gửi và người nhận, rõ ràng là
người gửi thông điệp bắt buộc phải tin tưởng tập trung hoàn toàn vào hệ thống trung
gian này. Vậy, nếu không tin cậy được thì sao? Vì vậy, để tăng cường độ an toàn
trước các tấn công vào hệ thống và phân tán sự tin cậy của người gửi vào một hệ
thống bảo vệ tính riêng tư dựa trên mix thì thông điệp phải được định tuyến qua nhiều
22
mix khác nhau (mix-network) trước khi phân phối đến người nhận. Đồ hình mạng của
một Hệ thống mix-network có thể chia là 3 loại sau [30]:
Tuần tự (Cascade): Thông điệp sẽ được chuyển tuần tự qua các mix theo
một lộ trình các mix nhất định.
Mạng định tuyến tự do (Free route network): Lộ trình gửi thông điệp sẽ do
người gửi chọn ngẫu nhiên. Lộ trình này sẽ gồm các mix trong hệ thống
mix-network.
Mạng định tuyến giới hạn (Restricted route network): Tương tư như Mạng
định tuyến tự do nhưng lộ trình được chọn giới hạn trong các lộ trình an
toàn mà hệ thống mix-network đề nghị.
Hệ thống mix-network được đề xuất đầu tiên trong công trình của Chaum [10] vào
năm 1981. Đây là hệ thống phân phối e-mail có bảo vệ định danh của người gửi. Sau
đó, một số công trình khác dựa trên mô hình Mix cũng được đề xuất [31], [32], [33].
2.1.2 Tính chất của mix
Ý tưởng để cho một mix có thể đảm bảo được việc chống lại khả năng tạo liên kết
tương ứng giữa các thông điệp gửi vào hệ thống mix với các thông điệp chuyển ra hệ
thống mix là sử dụng kỹ thuật làm thay đổi các thể hiện của thông điệp (mã hóa, chèn
bổ sung) và kỹ thuật làm thay đổi luồng vận chuyển thông điệp ra (trì hoãn, đổi vị trí).
Như vậy, một mix phải có 2 tính chất sau:
Tính bất khả liên kết tương ứng.
Tính thay đổi luồng thông điệp.
2.1.2.1 Tính bất khả liên kết tương ứng
Để đạt được tính chất này, thông điệp x khi vào hệ thống mix và khi ra khỏi hệ
thống mix phải khác nhau. Chaum [10] đã đề nghị sử dụng kỹ thuật mã hóa công khai
để đạt được mục tiêu này. Ngoài ra, sử dụng thêm kỹ thuật chèn bổ sung vào thông
điệp trước khi mã hóa. Như vậy, thông điệp gốc sẽ được chèn bổ sung và mã hóa
23
lồng nhau (nested encryption) ở phía người gửi và khi qua từng mix trong mix-
network, thông điệp mã hóa sẽ được giải mã từ từ.
Hình 2-1: Ví dụ mã hóa lồng nhau cho một thông điệp trong mix-network [10]
Trong Hình 2-1 [10], M là thông điệp của người gửi S cho người nhận R đi qua
các mix trung gian M1, M2, M3. Ki là hàm mã hóa khóa công khai của thành phần mix
trung gian Mi.
2.1.2.2 Tính thay đổi luồng thông điệp
Để tăng độ khó cho kẻ tấn công khi cố gắng suy đoán mối tương ứng giữa thông
điệp gửi vào mix và thông điệp chuyển ra khỏi mix, tính chất làm thay đổi luồng
thông điệp khi ra khỏi hệ thống là rất quan trọng. Có thể sử dụng kỹ thuật làm thay
đổi vị trí và trì hoãn thông điệp để đạt tính chất này. Tuy nhiên, để đạt tính chất này
thì không phải là bài toán dễ, đặc biệt với phương pháp trì hoãn thông điệp vì phải trả
giá giữa việc đảm bảo tính riêng tư và tính đáp ứng thời gian thực.
2.1.3 Phân loại hệ thống mix
Việc phân loại dưới đây dựa vào phương pháp mà hệ thống mix thực hiện để đạt
được tính thay đổi luồng thông điệp. Ngoài ra, để biểu diễn cho tính chất của mix
dưới dạng toán học, công trình [11] đã đưa ra một ánh xạ để tính phần
trăm thông điệp được chuyển ra khỏi hệ thống tại một thời điểm t (được tính bằng tỉ
số giữa tổng số thông điệp được chuyển ra khỏi hệ thống với tổng số thông điệp có
trong hệ thống). Gọi n là tổng số thông điệp có trong hệ thống tại thời điểm đẩy thông
điệp ra ngoài hệ thống.
24
(
(2-1)
2.1.3.1 Threshold Mix
Ý tưởng của hệ thống Threshold Mix là trong mỗi chu kỳ xử lý (round) hệ thống
sẽ nhận các thông điệp đến hệ thống cho đến khi số lượng thông điệp đến đạt được
ngưỡng N thông điệp. Sau đó, hệ thống sẽ áp dụng phép biến đổi mã hóa cho mỗi
thông điệp, rồi chuyển tất cả N thông điệp ra khỏi hệ thống với một thứ tự khác với
thứ tự mà các thông điệp đi vào hệ thống. Hình 2-2 cho thấy phần trăm số lượng
thông điệp gửi ra hệ thống lúc nào cũng là 100%, P(n) = 1.
Như vậy, các thông điệp đến hệ thống Threshold Mix được trì hoãn cho đến khi
đạt được N thông điệp.
Hình 2-2: Biểu diễn Threshold Mix qua hàm P(n)
Nhận xét: Một thông điệp x đến hệ thống Threshold Mix trong chu kỳ thứ r thì
không được trộn chung với bất kỳ thông điệp nào của chu kỳ trước hoặc chu kỳ sau
đó. Việc trì hoãn thông điệp x của người sử dụng si hoàn toàn phụ thuộc vào hoạt
động của N-1 người khác. Ngoài ra, số lượng thông điệp N cần phải đạt được trong
0
0.2
0.4
0.6
0.8
1
1.2
0 50 100 150 200 250 300
P
(n
)
n
25
mỗi chu kỳ xử lý là con số cố định, vì vậy, không cách nào thể hiện được cấp độ
riêng tư cho từng người sử dụng.
2.1.3.2 Timed Mix
Ý tưởng của hệ thống Timed Mix là trong mỗi chu kỳ xử lý (round) hệ thống sẽ
chờ nhận các thông điệp gửi đến hệ thống cho đến khi hết ngưỡng thời gian t giây.
Sau đó, hệ thống sẽ áp dụng phép biến đổi mã hóa cho mỗi thông điệp, rồi chuyển tất
cả thông điệp hiện có ra khỏi hệ thống với một thứ tự khác với thứ tự mà các thông
điệp đi vào hệ thống. Hình 2-3 cho thấy, phần trăm số lượng thông điệp gửi ra hệ
thống lúc nào cũng là 100%, P(n) = 1.
Như vậy, các thông điệp đến hệ thống Timed Mix được trì hoãn trong thời gian t.
Hình 2-3: Biểu diễn Timed mix qua hàm P(n) [11]
Nhận xét: Cũng giống như hệ thống Threshold Mix, một thông điệp x đến hệ
thống Timed Mix trong chu kỳ thứ n thì không được trộn chung với bất kỳ thông điệp
nào của chu kỳ trước hoặc chu kỳ sau đó. Khi một thông điệp x đến hệ thống vào thời
điểm t0 thì chắc chắn, thông điệp đó sẽ phải chuyển ra khỏi hệ thống sau khoảng thời
gian nhỏ hơn t0 + t. Tham số ngưỡng thời gian t là tham số cố định cho hệ thống, vì
0
0.2
0.4
0.6
0.8
1
1.2
0 50 100 150 200 250 300
P
(n
)
n
26
vậy, người sử dụng không thể hiện được tính riêng tư của mình trong hệ thống Timed
Mix.
2.1.3.3 Pool mix
Ý tưởng của hệ thống Pool mix là trong mỗi chu kỳ xử lý r, hệ thống sẽ phát sinh
n thông điệp giả, sau đó nhận thêm N thông điệp mới. Khi kết thúc chu kỳ, hệ thống
sẽ chuyển N thông điệp được chọn ngẫu nhiên từ n + N thông điệp có trong hệ thống,
còn lại n thông điệp trong hệ thống sẽ được giữ lại cho chu kỳ r+1.
Nhận xét: Khác với hệ thống Time mix và Threshold mix, thông điệp x trong Pool
mix tại chu kỳ xử lý thứ r sẽ được trộn chung với thông điệp trong chu kỳ trước đó để
xử lý. Tuy nhiên, xác suất để kẻ tấn công suy đoán một thông điệp m’ rời khỏi hệ
thống Pool mix trong chu kỳ thứ r tương ứng với một thông điệp m vào hệ thống tại
chu kỳ thứ x ( ) sẽ được tính bằng công thức sau:
(
(
)
(2-2)
Ngoài ra, công thức xác suất (2-2) được áp dụng để tính cho tất cả N+n thông
điệp là như nhau.
2.1.3.4 Hệ thống mix lai
Dựa vào các ưu điểm của Pool mix, một số hệ thống mix lai giữa Pool mix với
Time mix và Threshold mix như sau:
Timed Pool Mix: Giống tính chất của Timed Mix. Tuy nhiên, vào thời
điểm t, thay vì chuyển tất cả n thông điệp ra khỏi hệ thống thì Timed Pool
Mix sẽ giữ lại Np thông điệp trong hệ thống; có nghĩa là, sẽ chuyển n-Np
thông điệp ra khỏi hệ thống ( ). Trong trường hợp thì tại thời
điểm t sẽ không có thông điệp được chọn để chuyển ra hệ thống mix.
(
(2-3)
27
Hình 2-4: Biểu diễn Timed Pool Mix qua hàm P(n) với Np = 30 [11]
Timed Dynamic Pool Mix (Cottel Mix): Ý tưởng giống Timed Pool Mix.
Tuy nhiên, số lượng thông điệp đẩy ra tại mỗi thời điểm là khác nhau dựa
vào một hàm f được tính bằng tỉ số giữa số lượng khác biệt giữa tổng số
thông điệp có trong hệ thống với số thông điệp phải giữ lại hệ thống Np.
Như vậy, phần trăm thông điệp sẽ chuyển ra khỏi hệ thống tại mỗi thời
điểm là :
( (
)
(2-4)
Hình 2-5: Biểu diễn Timed Dynamic Pool Mix của hàm P(n) với f=0.7, Np=20 [11]
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 100 200 300
P
(n
)
n
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 100 200 300
P
(n
)
n
28
Threshold Pool Mix: Giống như Threshold Mix, nhưng Threshold Pool
Mix sẽ không chuyển toàn bộ thông điệp ra khỏi hệ thống, mà sẽ giữa lại
trong hệ thống Np thông điệp.
Hình 2-6: Biểu diễn Threshold Pool Mix với ngưỡng N=100, Np=50 [11]
2.2 Mix nhị thức
Mô hình Mix nhị thức (Binomial Mix) được C.Diaz và A.Serjantov đề xuất vào
năm 2003 [11] và được mở rộng thành framework Mix nhị thức [12] vào năm 2007.
Một trong những đặc điểm nổi bật của Mix nhị thức là khả năng che giấu số lượng
thông điệp vẫn còn được giữ lại trong chu kỳ xử lý trước. Điều này, làm cho kẻ tấn
công không thể xác định chắc chắn có bao nhiêu thông điệp đang được lưu giữ trong
hệ thống bảo vệ. Vì thế, kẻ tấn công khó có thể tạo liên kết đúng và chính xác giữa
thông điệp đi ra khỏi hệ thống và thông điệp đi vào hệ thống Mix.
Một hệ thống mix nhị thức sẽ hoạt động theo chu kỳ. Trong mỗi chu kỳ, hệ thống
sẽ giữ lại tất cả thông điệp vào. Mỗi hệ thống Mix nhị thức được đặc trưng bởi hàm
mix . Hàm mix g định nghĩa một xác suất chuyển một thông điệp m ra
khỏi hệ thống vào cuối mỗi chu kỳ xử lý. Mỗi thông điệp trong hàng đợi của hệ thống
sẽ được chọn để chuyển đi một cách độc lập với xác suất ( , trong đó, n là tổng số
thông điệp có trong hệ thống vào cuối một chu kỳ. Số lượng thông điệp được giữ lại
trong một mix nhị thức và số lượng thống điệp được chuyển ra khỏi hệ thống đều
tuân theo phân phối nhị thức.
0
0.2
0.4
0.6
0.8
1
0 50 100 150 200 250 300
P
(n
)
n
29
Hình 2-7: Hàm mix g của Mix nhị thức [24]
2.3 Framework RPROB
Công trình [24] đã đề xuất framework RPROB. Đây là một framework để phát
triển các hệ thống trao đổi liên lạc có bảo vệ định danh của người dùng dựa trên nền
của hệ thống Mix nhị thức. Ý tưởng chính của framework này là giữ lại một số thông
điệp trong hàng đợi của hệ thống Mix để chống lại việc kẻ tấn công xác định một
cách chính xác khi nào một thông điệp vào hệ thống sẽ được chuyển ra ngoài hệ
thống.
Quy trình xử lý tại một chu kỳ r của RPROB [24] như sau:
Thu thập thông điệp: Mỗi khi có một thông điệp mới
(
vào hệ thống,
RPROB sẽ nhận và giữ lại thông điệp trong hàng đợi của hệ thống. Ký
hiệu là tổng số thông điệp mới được chuyển vào hệ thống RPROB trong
chu kỳ thứ r.
Lựa chọn thông điệp: ký hiệu
(
là tổng số thông điệp cũ được giữ
lại của hệ thống trong chu kỳ trước r-1. Vậy
(
là tổng số
thông điệp có trong hàng đợi trong chu kỳ thứ r (trước khi thông điệp được
chọn để chuyển ra ngoài). Nếu tất cả nr thông điệp trong hàng đợi đều thỏa
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 20 40 60 80 100
P
(n
)
n
Timed pool mix
Dynamic timed pool mix
'Special' pool mix
Timed mix
30
cấp độ yêu cầu bảo vệ định dạnh của người sử dụng (tính chất che giấu
nguồn – Source-hiding property [33]) thì mỗi thông điệp sẽ được chọn để
chuyển ra ngoài hệ thống với xác suất ( . Vậy ký hiệu br là tổng số
thông điệp được chọn.
Biến đổi thông điệp: Với mỗi thông điệp được chọn
(
trong tổng số br
thông điệp sẽ được biến đổi mã hóa thành thông điệp
(
. Thao tác này
nhằm đảm bảo kẻ tấn công không thể nào so khớp thông điệp ra
(
với
một trong thông điệp vào.
Chuyển thông điệp đi: Như vậy, mỗi thông điệp được chọn
(
sẽ được
chuyển ra ngoài hệ thống RPROB. Sau khi đã gửi hết các thông điệp được
chọn, trong hàng đợi thông điệp yêu cầu của hệ thống sẽ còn lại
(
thông điệp được giữ lại cho chu kỳ kế tiếp (r+1).
Như vậy, một thông điệp vào hệ thống RPROB có thể phải đợi rất lâu trước khi
được chọn để chuyển ra ngoài hệ thống, đặc biệt là trong môi trường có lưu lượng
giao dịch thấp. Vậy, mô hình RPROB không phù hợp với việc bảo vệ tính riêng tư về
vị trí cho người sử dụng dịch vụ LBS.
2.4 Hệ thống bảo vệ định danh về vị trí dựa trên Mix nhị thức
Hệ thống bảo vệ định danh về vị trí dựa trên Mix nhị thức (Binomial-Mix-Based
Location Anonymizer - BMLA) được đề xuất trong công trình [23]. Hệ thống BMLA
được phát triển trên framework của hệ thống RPROB [24], có bổ sung thêm kỹ thuật
phát sinh thông điệp giả toàn cục để giảm thời gian thông điệp phải chờ trong hàng
đợi hệ thống quá lâu, có nghĩa là hệ thống đạt được tính chất trì hoãn thông điệp ngắn.
Đồng thời, hệ thống BMLA đảm bảo được tính riêng tư về vị trí của người sử dụng
dịch vụ khi gửi thông điệp yêu cầu đến nhà cung cấp dịch vụ LBS.
Mỗi thông điệp yêu cầu x gửi đến hệ thống BMLA đều được người sử dụng gán
thêm một giá trị tính chất ẩn giấu vị trí (location hiding property [23]), đây là mức
độ riêng tư về vị trí mà người sử dụng mong muốn được bảo vệ. Trong hàng đợi của
31
hệ thống BMLA, thông điệp x chỉ được chuyển ra ngoài hệ thống để đến nhà cung
cấp dịch vụ LBS khi đã thỏa giá trị tính chất ẩn giấu vị trí mà người sử dụng dịch vụ
mong đợi. Đối với hệ thống RPROB [24], thông điệp x sẽ phải đợi trong hàng đợi
thông điệp yêu cầu của hệ thống cho đến khi hệ thống thu thập đủ số lượng thông
điệp (nhằm đảm bảo tính an toàn của hệ thống và tính riêng tư của các thông điệp
trong hệ thống trước khi được chuyển ra ngoài); như vậy, thông điệp x có thể phải
chờ trong hàng đợi trong nhiều chu kỳ xử lý. Ngược lại, vào cuối chu kỳ, hệ thống
BMLA sẽ phát sinh một lượng thông điệp giả để tất cả thông điệp trong hàng đợi đều
thỏa tính chất che giấu vị trí và sẵn sàng được chuyển ra ngoài hệ thống trong cùng
chu kỳ xử lý mà thông điệp x vào hệ thống.
Như vậy, hệ thống BMLA có thể đảm bảo được tính chất thời gian thực theo xác
suất, tính chất trì hoãn thông điệp ngắn và đảm bảo được tính riêng tư về vị trí cho
người sử dụng dịch vụ khi họ gửi thông điệp yêu cầu đến nhà cung cấp dịch vụ LBS.
Tuy nhiên, nếu kẻ tấn công có quyền kiểm soát dịch vụ LBS (hoặc đã thỏa hiệp được
với nhà cung cấp dịch vụ LBS) và có thể xác định được mối liên kết giữa thông điệp
kết quả phản hồi với người sử dụng nhận kết quả đó; từ đó, có thể suy diễn được vị trí
ban đầu của người sử dụng dịch vụ. Vì vậy, hệ thống bảo vệ tính riêng tư về vị trí cho
người sử dụng dịch vụ LBS không chỉ phải được bảo vệ ở phía gửi thông điệp yêu
cầu đến nhà cung cập dịch vụ, mà còn phải được bảo vệ từ phía nhà cung cấp dịch vụ
gửi kết quả truy vấn thông tin về. Ngoài ra, hệ thống BMLA còn có nguy cơ tạo ra
tấn công từ chối dịch vụ DoS đến nhà cung cấp dịch vụ LBS nếu kẻ tấn công cố tình
gửi vào hệ thống các thông điệp yêu cầu có giá trị tính chất che giấu vị trí (yêu cầu
bảo vệ tính riêng tư của người sử dụng) cực kỳ cao.
2.5 Kết luận
Chương này trình bày các hướng tiếp cận bảo vệ tính riêng tư của người sử dụng
dịch vụ LBS trên mô hình tập trung. Với mô hình này, người sử dụng phải tin tưởng
vào một hệ thống trung gian, chịu trách nhiệm bảo vệ và chuyển tiếp thông điệp yêu
cầu dịch vụ của người sử dụng đến nhà cung cấp dịch vụ LBS. Với hướng tiếp cận
này, nhiều mô hình hệ thống đã được đề xuất như PROB, APROB, RPROB,
32
Binomial RPROB, … Các hệ thống này thể hiện nhiều ưu điểm trong việc bảo vệ tính
riêng tư về vị trí cho người sử dụng cũng như khả năng triển khai thực tế cao hơn do
đảm bảo được độ chính xác của kết quả cũng như không cần phải thay đổi nhiều đối
với người sử dụng cuối. Tuy nhiên, các hệ thống trên đều hoạt động với một giả định
là kênh truyền dữ liệu giữa hệ thống và nhà cung cấp dịch vụ phải là kênh truyền an
toàn. Trong khi thực tế, không phải dịch vụ LBS nào cũng hỗ trợ điều này.
Vì vậy, chương kế tiếp của luận văn sẽ trình bày đề xuất một mô hình hệ thống có
thể hoạt động trên kênh truyền truyền thống giữa hệ thống bảo vệ và nhà cung cấp
dịch vụ LBS mà vẫn đảm bảo được tính an toàn, tính riêng tư về vị trí cho người sử
dụng dịch vụ.