Location distribution attack

Một phần của tài liệu một số thuật toán đảm bảo tính riêng tư trong hệ thống lbs (Trang 46)

: query sampling attack.

: .

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ . . . V : Q R Q Q (C, D, E, F). 2.4.1.2 Phương pháp chống tấn công k-sharing . V 3, k-sharing

. Thuật toán CliqueCloak là tiêu biể

k-sharing. Hình 2-18:Phân bố user C D E B A F

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

2.4.1.3 Thuật toán CliqueCloak

Thuật toán

clique

(cloaked region) nhƣ nhau. : (Constraint Area): - ). (Cloaking Box): - : . m.k m). . (Constraint Graph): Hình 2-19: Vùng giới hạn Hình 2-20: Vùng làm mờ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ . l-clique: l- lmi.k i trong l- l- (spatial cloaking box g l- ị cloaking box nhƣ nhau.

Algorithm: CliqueCloak

1. while TRUE do

2. pick a message m from S.

3. N ← all messages in range B(m) 4. for each n in N do:

5. if P(m) is in B(n) then: 6. add the edge (m,n) into G 7. M ← local_k_search(m.k, m, G) 8. if M ≠ Ø then

9. Bcl(M) ← The minimal area that contains M 10. for each n in M do

11. remove n from S 12. remove n from G

13. nT ← < n.uid, n.rno, Bcl(M), n.C > 14. output transformed message nT 15. remove expired messages from S

Hình 2-21: Đồ thị giới hạn

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 16. local_k_search(k, m, G) 17. U ← { n | (m,n) is an edge in G and n.kk } 18. if |U| < k-1 then 19. return Ø 20. l ← 0 21. while l ≠ |U| do 22. l ← |U| 23. for each u in U do

24. if |{G neighbors of u in U}| < k-2 then

25. U ← U \ {u}

26. find any subset M in U s.t. |M| = k-1 and M U {m} forms a clique 27. return M U {m} : k-anomity sau : (constraint graph : A (k=3) C (k=2) B (k=4) D (k=4) F (k=5) H (k=4) E (k=3)

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ :

l- , l=3.

spatial cloaking box. : . : A (k=3) C (k=2) B (k=4) D (k=4) H (k=4) E (k=3) m (k=3) A (k=3) C (k=2) D (k=4) H (k=4) E (k=3) m (k=3) A (k=3) C (k=2) D (k=4) F (k=5) H (k=4) E (k=3) B (k=4) B (k=4)

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

o

10.

o (adsbygoogle = window.adsbygoogle || []).push({});

.

2.4.2.1 Maximum movement boundary

Giả sử service provider (SP) lƣu tất cả các khu vực đã đƣợc che giấu (cloaked locations) mà nó nhận đƣợc từ user. SP cũng có thể biết đƣợc thông tin vận tốc tối đa của user thông qua các bản ghi sự di chuyển (movement record) hoặc phƣơng tiện. Khi đó, SP có thể thu hẹp đƣợc phạm vi trong đó user có thể xuất hiện.

Ví dụ: gọi vận tốc tối đa của user SiVi. Giả sử Si đã gửi cloaked location cuối cùng tại thời điểm t0Ui(t0) và rồi lại gửi lần nữa sau thời gian T, là Ui (t0 + T). Sử dụng giá trị ViUi(t0), SP có thể biết đƣợc vị trí có thể của Si. SP có thể suy ra đƣợc vùng bao vị trí của Si tại thời điểm t0 + T (gọi là maximum bound hay MMB). Vậy, nếu Sithể hiện vị trí đang nằm đâu đó trong vùng Ui (t0 +

T), thì vị trí có thểthực sự phải nằm trong vùng giao nhau giữa Ui (t0 + T) và MMB, vùng này nhỏ hơn Ui(t0+ T).

Nếu SP có thể thu hẹp vùng nghi ngờ có mặt của user, thì tình riêng tƣ của user sẽ bị đe dọa. 3 điều kiện để kiểu tấn công này xảy ra là:

Các câu query liên tiếp nhau bị bắt đƣợc bởi ngƣời tấn công

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ Cùng một định danh cho 2 câu query liên tiếp

Ngƣời tấn công biết đƣợc vận tốc tối đa của ngƣời phát ra query. Sự đe dọa này sẽ không xảy ra nếu một trong ba điều kiện sau đây thỏa mãn:

Một là, vùng overlapping thỏa yêu cầu của user (user requirements). Hai là, vùng Ui(t0) chứa luôn vùng Ui(t0 + T).

Ba là, khu vực MMB của Ui(t0) hoàn toàn chứa vùng Ui (t0 + T).

2.4.2.2 Kỹ thuật Patching

Patching là kỹ thuật kết hợp cloaked locations đã đƣợc gửi đi trong quá khứ với cloaked location hiện tại trƣớc khi gửi đi[14].

Tại thời điểm t0 + T, thay vì gửi đi Ui(t0 + T), user Si gửi đi vùng U’i(t0 +

T) = Ui(t0) ∪Ui(t0 + T). Kết quả là sự thu hẹp vùng nghi ngờ dựa trên trajectory tracing đƣợc ngăn chặn.

2.4.2.3 Kỹ thuật Delaying

Delaying là kĩ thuật dựa trên ràng buộc về thời gian. Ý tƣởng chính là trì hoãn request tới khi vùng cloaked location nằm gọn trong vùng MMB (maximum bound)[14].

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Vùng Ui(t0 + T) không đƣợc gửi đi cho tới sau khoảng thời gian δt, khi đó,

Ui(t0 + T) đã đƣợc đảm bảo sẽ nằm trong vùng MMB. Lợi điểm của mô hình này so với patching là vùng cloaked location đƣợc gửi đi vẫn không đổi so với mô hình ban đầu và vì vậy chất lƣợng của dịch vụ không bị ảnh hƣởng. Tuy nhiên, thời gian đáp ứng của mỗi query có thể bị kéo dài ra vì sự delay nói trên.

2.4.2.4 So sánh độ hiệu quả giữa patching và delaying

Khi vận tốc nhanh hơn thì sẽ làm tăng vùng giao nhau giữa vùng MMB với vùng nghi ngờ tiếp theo và vì thế sự thu hẹp vùng nghi ngờ cũng bị giảm đi. Trong khi cả hai kĩ thuật nêu trên đều làm giảm sự thu hẹp đó hơn trƣờng hợp bình thƣờng thì patching đem lại kết quả tốt nhất vì nó làm mở rộng vùng nghi ngờ đƣợc gửi đi.

Kế tiếp, xét đến độ hiệu quả của privacy của ngƣời phát ra query và chất lƣợng query. Khi privacy tăng, 3 cách trên đạt đƣợc những mức độ chất lƣợng khác nhau. Trong khi delaying và trƣờng hợp bình thƣờng đạt đƣợc mức chất lƣợng nhƣ nhau, thì patching đem lại kết quả tệ nhất. Điều này là bởi vì patching mở rộng khu vực nghi ngờ của user. Nó giúp cho bảo vệ vị trí ngƣời phát ra query tốt hơn nhƣng đem lại chất lƣợng query ít chuẩn xác nhất.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Hình 2-26:Đồ thị so sánh chất lượng và tính riêng tư của 3 loại kỹ thuật

Cuối cùng, xét đến thời gian đáp ứng. Với những “vận tốc tối đa” lớn thì delaying thực hiện tốt hơn patching và trƣờng hợp bình thƣờng. Vì vùng MMB có thể phủ vùng nghi ngờ mới nhanh hơn. Tuy nhiên, khi “vận tốc tối đa” nhỏ, delaying làm việc không tốt vì nó phải chờ lâu hơn thì vùng MMB mới bao phủ vùng nghi ngờ.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

2.4.2.5 Thuật toán IcliqueCloak

Ý tƣởng: liên tục duy trì vùng clique lớn nhất cho location cloaking trong đồ thị không hƣớng, trong đó tính đến tác động của việc cập nhật vị trí liên tiếp nhau.

Thực hiện: Thuật toán mô hình hóa bài toán bằng cách sử dụng mô hình đồ thị (graph model). Đồ thị đƣợc xây dựng nhƣ sau: mỗi mobile user đƣợc thể hiện bởi một node trong đồ thị, một cạnh xuất hiện giữa 2 node/user chỉ nếu chúng nằm trong MMB của nhau và có thể đƣợc che giấu (cloaked) cùng nhau. (adsbygoogle = window.adsbygoogle || []).push({});

Kí hiệu vùng MMB của user A tại thời điểm ti+1 là là MMBA,ti,ti+1. Thời điểm hiện tại là ti. Có một cạnh evwgiữa 2 node/user v, w nếu và chỉ nếu:

Trong đó MBR(v,w) là hình chữ nhật bao nhỏ nhất (minimum boundary rectangle) của 2 node/user v và w. Điều kiện thứ tƣ đảm bảo vùng cloaked region nhỏ hơn vùng lớn nhất mà có thể đem lại chất lƣợng dịch vụ cho user

Amax.

Mô tả thuật toán:

- Định nghĩa vùng maximum clique là clique mà không nằm trong bất kì clique nào.

- Bắt đầu với đồ thị không có cạnh nào.

- Tất cả các node thành lập một tập các 1-node clique.

- Thêm từng cạnh vào đồ thị và liên tục cập nhật tập các maximum clique. Độ phức tạp của quá trình này là O(nE2), trong đó n là số user/node, E là số các maximum clique mà đồ thị có.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

- Sau khi cập nhật tập maximum clique, các clique mà user của một request mới liên quan đến sẽ là tập các vùng cloaking dự tuyển. Chúng có thể đƣợc phân thành 3 lớp: dự tuyển dƣơng, dự tuyển âm và không dự tuyển.

- Cho một dự tuyển dƣơng, tất cả các user trong đó có thể đƣợc cloaked cùng nhau vì chúng thỏa cả điều kiện k-anonymityAmax. Do đó, vùng MBR của tất cả các user trong đó có thể đƣợc trả về nhƣ là cloaked region.

- Cho dự tuyển âm, để tìm tập cloaking, giải thuật đầu tiên sắp xếp các user trong clique theo mức privacy k của họ. Sau đó, nó lần lƣợt xóa các user có mức privacy cao nhất cho tới khi số user còn lại nhỏ hơn hoặc bằng mức privacy lớn nhất k và khu vực MBR của chúng nhỏ hơn vùng Amax. Và vùng MBR này sẽ đƣợc trả về nhƣ là cloaking region.

Tóm lại, vấn đề của bài toán trở thành việc tìm k-node cliques trong đồ thị mà tất cả các user trong clique đó có thể hình thành một tập cloaking.

Hiệu năng của giải thuật: IcliqueCloak chạy rất nhanh với thời gian cloaking trung bình nhỏ hơn 0.5 ms dƣới tất cả các mức privacy đƣợc kiểm tra.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

2.4.3.1 Querry Tracking Attack

Một câu truy vấn cơ bản bao gồm các thuộc tính cơ bản về ngƣời dùng (định danh, vị trí,…) và các thuộc tính về dịch vụ. Để che dấu những thông tin của ngƣời dùng, nhiều thuật toán cũng nhƣ giải pháp đƣợc áp dụng trong đó chủ yếu là sử dụng location k-anonymity và những cải tiến của phƣơng pháp đó.

Hầu hết những nghiên cứu đã có đều tập trung vào thiết kế một giải thuật cloaking hiệu quả để đạt đƣợc location k-anonymity. Ý tƣởng của location k- anonymity nhằm dấu đi user thực sự trong số những user khác hay kẻ tấn công không biết ai trong số k ngƣời dùng là ngƣời đã gửi yêu cầu dịch vụ. Để làm đƣợc điều này ngƣời ta sử dụng các cloaking regions (Interval Cloak, CliqueCloak, Uncertainty Cloaking,…).

Tuy nhiên những giải thuật k-anonymity có thể thất bại nếu kẻ tấn công dùng các kiểu tấn công sau:

Query sampling attacks Query homogeneity attacks Query tracking attacks

A. Query sampling attacks

Nhƣ đã đề cập ở phần Location distribution attack, trong nhiều trƣờng hợp khi sự phân bố của user không đồng đề

. Kẻ tấn công có thể dùng query sampling attack để tìm ra vị trí của user gửi yêu cầu.

B. Query homogeneity attacks

Chiến lƣợc tấn công này thƣờng đƣợc áp dụng khi kẻ tấn công biết những thông tin nền, hay một vài thông tin về profile của user (background knowlegde) và dựa trên tập các câu truy vấn để có thể suy ra những thông tin nhạy cảm.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Hình 2-29: Bảng thông tin cư dân Hình 2-30: Bảng thông tin suy đoán

Ví dụ: Giả sử cho bảng thông tin về những cƣ dân trong một vùng nhƣ Hình 2-29. Trong đó A và B là những ngƣời hàng xóm. B bị bệnh đƣợc cấp cứu vào bệnh viện. Và A muốn biết B bị căn bệnh gì. Nhờ vào bảng thông tin những bệnh nhân nội trú tại bệnh viện đã đƣợc xử lý đảm bảo 4-knonymity (Hình 2-28). A biết đƣợc những thông tin của B là 31 tuổi, zip code 13053, nhƣ vậy thông tin về B nằm trong nhóm các dòng 9, 10, 11, 12. Dễ thấy rằng tất cả các bệnh nhân này đều bị ung thƣ. Vậy B bị ung thƣ.

C. Query tracking attacks

Với mô hình tấn công bằng cách theo dõi các câu truy vấn (query tracking attack model) những kẻ tấn công có thể dựa trên chuỗi những câu truy vấn liên tục để có thể lấy những thông tin quan trọng từ ngƣời dùng nhƣ định danh, sở thích cùng những thông tin nhạy cảm khác. Ngay cả khi ngƣời dùng đã sử dụng những tên giả, biệt hiệu (pseudonym). (adsbygoogle = window.adsbygoogle || []).push({});

Mô hình tấn công dựa trên theo dõi câu truy vấn thƣờng đƣợc sử dụng khi:

Thông tin về vị trí hay câu truy vấn đƣợc cập nhật liên tục.

Cùng một pseudonym đƣợc sử dụng trong nhiều lần cập nhật liên tục.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ Kẻ tấn công biết về thông tin về vị trí của ngƣời dùng.

2.4.3.2 Giải pháp để ngăn chặn sự tấn công

Nếu chỉ sử dụng k-anonymity là không đủ để đảm bảo đƣợc tính riêng tƣ của user. Thực tế cho thấy trong trƣờng hợp tất cả user trong một cloaked region cùng quan tâm đến một loại dịch vụ, bằng cách sử dụng query homogeneity attack, kẻ tấn công dù không biết chính xác ai là ngƣời gửi yêu cầu tuy nhiên vẫn có thể suy ra đƣợc thông tin ngƣời đó quan tâm đến. Bên cạnh đó, không phải lúc nào tất cả user cũng cùng yêu cầu một dịch vụ, kẻ tấn công vẫn có thể dựa trên xác suất cao các dịch vụ đƣợc sử dụng để thu đƣợc thông tin cần thiết.

Để giải quyết vấn đề này cần sử dụng khái niệm l-diversity áp dụng vào câu truy vấn để bảo vệ những thông tin nhạy cảm (query l-diversity). Ý tƣởng chính là đảm bảo tất các các câu truy vấn chia sẻ cùng một cloaked region, nội dung của chúng phải đủ khác nhau để xác suất kết nối một câu truy vấn đến ngƣời gửi nó nhỏ hơn một giá trị thích hợp.

Nhƣ vậy để đảm bảo đƣợc tính riêng tƣ cho user yêu cầu đầu tiên là câu truy vấn phải đảm bảo đƣợc location k-anonymity trong khi đó yêu cầu thứ hai là query l-diversity.

Hình 2-18 là ví dụ về các vùng làm mờ đƣợc sinh ra thỏa mãn query 3-diverse và location 3- anonymous.

Tuy nhiên location k-anonymity và query l-diversity vẫn chƣa đủ để bảo vệ đƣợc tính riêng tƣ trong môi trƣờng thời gian thực. Bằng cách sử dụng query tracking attack kẻ tấn công vẫn lấy đƣợc những thông tin nhạy cảm. Hình 2-31 tuy đã đảm bảo query 3-diverse và location 3-anonymous nhƣng nếu kẻ tấn công

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

thu đƣợc các câu truy vấn ở thời điểm t1, t2, t3 và nhận thấy tại cả ba thời điểm đều xuất hiện user U1 và thuộc tính dịch vụ a. Từ đó liên kết thuộc tính a với user U1, thông tin nhạy cảm của user U1 đã bị lộ.

Để đối phó với loại tấn công query tracking attack nhiều giải thuật đã đƣợc phát triển nhƣ Query m-Invariance[13], Historical k-Anonymity hay Memorizing…

2.4.3.3 Thuật toán m-InvariantCloak

Thuật toán Query m-invariance[13]bao gồm cả đảm bảo location m- anonymity và query l-diversity. Nguyên lý cơ bản dựa trên ý tƣởng khả năng kẻ tấn công thành công, lấy đƣợc thông tin nhạy cảm từ câu truy vấn sẽ giảm nếu một user có thể đƣợc liên kết đến nhiều giá trị thuộc tính dịch vụ hơn.

Vì vậy nhiều giá trị sẽ đƣợc biểu diễn tại tất cả các thời điểm trong một session của user. Query m-invariance đảm bảo số lƣợng những giá trị đó không nhỏ hơn m.

Ví dụ: đây là một trƣờng hợp đảm bảo location 3-anonymity, query 2- diversity2-invariance. Kẻ tấn công có thể dùng Query tracking attack để tìm đƣợc mối liên hệ giữa user U và hai thuộc tính dịch vụ „a‟ và „b‟. Tuy nhiên user

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

U chỉ thực sự quan tâm đến thuộc tính „a‟ nhƣ vậy xác suất kẻ tấn công có thể suy đƣợc thông tin nhạy cảm là ½.

Một phần của tài liệu một số thuật toán đảm bảo tính riêng tư trong hệ thống lbs (Trang 46)