Thiết bị thu bất hợp pháp Traitor [2]: là TBTDL làm rò rỉ khóa hoặc TBTDL sử dụng bộ khóa nhái để giải mã bản tin nhận được từ NCCDL.. 1.2 KHUNG PHỦ TẬP CON Phần này giới thiệu khung
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thị Ngọc Mai
Giải pháp lưu vết và thu hồi thiết bị thu bất hợp pháp
LUẬN VĂN THẠC SĨ
Hà Nội - 2007
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 3MỤC LỤC
MỤC LỤC 1
DANH MỤC CÁC HÌNH VẼ 4
MỞ ĐẦU 5
Chương 1: CÁC KHÁI NIỆM CƠ BẢN 7
1.1 MỘT SỐ KHÁI NIỆM 7
1.2 KHUNG PHỦ TẬP CON 9
1.3 GIẢI PHÁP LƯU VẾT TBTDL LÀM RÕ RỈ KHÓA 12
1.4 GIẢI PHÁP THU HỒI THIẾT BỊ THU BẤT HỢP PHÁP 13
1.5 MỘT SỐ CÔNG CỤ 14
1.5.1 Đồ thị 14
1.5.2 Cây nhị phân 15
1.5.3 Cây Steiner 20
Chương 2: GIẢI PHÁP LƯU VẾT TBTDL LÀM RÕ RỈ KHÓA 21
2.1 KHÁI NIỆM LƯU VẾT TBTDL LÀM RÕ RỈ KHÓA 21
2.2 GIẢI THUẬT LƯU VẾT SỬ DỤNG TẬP CON 24
2.2.1 Giải thuật lưu vết sử dụng tập con (Subset Tracing) 24
2.2.2 Hàm tìm tập con chứa TBTDL làm rò rỉ khóa 28
2.3 LƯU VẾT VỚI NHIỀU BỘ KHÓA NHÁI 33
2.4 VÍ DỤ VỀ GIẢI THUẬT LƯU VẾT 34
Chương 3: GIẢI PHÁP THU HỒI TBTDL BẤT HỢP PHÁP 56
3.1 MỘT SỐ KHÁI NIỆM 56
3.2 GIẢI THUẬT CÂY NHỊ PHÂN CON ĐẦY ĐỦ (Complete Subtree) 59
3.2.1 Ví dụ về giải thuật CS 59
3.2.2 Giải thuật CS 63
3.2.3 Hiệu năng của giải thuật CS 65
Trang 43.3 GIẢI THUẬT HIỆU HAI TẬP CON (Subset Difference) 67
3.3.1 Bộ sinh số ngẫu nhiên G 68
3.3.1 Ví dụ về giải thuật SD 70
3.3.2 Giải thuật SD 78
3.3.3 Hiệu năng của giải thuật SD 83
3.4 SO SÁNH GIẢI THUẬT CS VÀ SD 84
Chương 4: ĐỘ AN TOÀN CỦA GIẢI THUẬT KHUNG PHỦ TẬP CON 85
4.1 CÀI ĐẶT GIẢI THUẬT E MÃ HÓA KHÓA PHIÊN K 86
4.1.1 Phương pháp “Cắt phần đầu bản mã” (Prefix Truncation) 86
4.1.2 Phương pháp mã hóa khóa công khai cho E 87
4.2 CÀI ĐẶT GIẢI THUẬT F MÃ HÓA BẢN TIN M 97
4.3 ĐỘ AN TOÀN CỦA GIẢI THUẬT SCF 99
4.3.1 Độ an toàn của giải thuật E, F và giải thuật thiết lập khóa 99
4.3.2 Khái niệm độ an toàn của giải thuật SCF 104
Chương 5: MỘT SỐ ỨNG DỤNG 110
5.1.1 Khái niệm truyền hình Internet (Internet Protocol Television - IPTV) 110
5.1.2 Sơ đồ kiến trúc mạng IPTV 113
5.2 TRUYỀN HÌNH DI ĐỘNG 115
5.2.1 Khái niệm truyền hình di động (Mobile Television- MobileTV) 115
5.2.2 Sơ đồ kiến trúc mạng MobileTV 115
5.2.4 So sánh truyền hình di động và truyền hình kỹ thuật số mặt đất 117
KẾT LUẬN 118
TÀI LIỆU THAM KHẢO 119
Trang 5DANH MỤC CÁC HÌNH VẼ
Hình 1 1: Đồ thị G 14
Hình 1 2: Cây nhị phân 16
Hình 1 3: Cây nhị phân đầy đủ 17
Hình 1 4: Cha chung thấp nhất của a và b 17
Hình 1 5: Minh họa thuộc tính rẽ nhánh 19
Hình 1 6: Cây Steiner của 3 nút (a,b,c) 20
Hình 2 1: Cây nhị phân T biểu diễn n TBTDL 22
Hình 2 2: Mô hình lưu vết TBTDL làm rò rỉ khóa “dài” 23
Hình 2 3: Cây nhị phân T biểu diễn 8 TBTDL 34
Hình 3 1: Mô hình thu hồi TBTDL bất hợp pháp 56
Hình 3 2: Cây nhị phân biểu diễn 8 TBTDL 58
Hình 3 3: Minh họa giải thuật CS với P={u1,u3,u5,u6}, R={u2,u4,u7,u8} 59
Hình 3 4: Cây Steiner ST({u2,u4,u7,u8}) và các nút kề nó 61
Hình 3 5: Cây nhị phân T biểu diễn n TBTDL 63
Hình 3 6: Si,j chứa các lá của cây gốc vi , nhưng không thuộc cây gốc vj 67
Hình 3 7: Bộ sinh số ngẫu nhiên G với mầm sinh Labeli 68
Hình 3 8: Tính L1,5 dựa vào Label1 69
Hình 3 9: Minh họa phân hoạch P thành các tập con của giải thuật SD 70
Hình 3 10: Cây T biểu diễn toàn bộ 8 TBTDL 71
Hình 3 11: Minh họa cây ST(u3) và các nút KeV(ST(u3)) 72
Hình 3 12: Cây Steiner ST(R) với R={v9, v11, v14, v15} 74
Hình 3 13 Cây Steiner ST(R) với R={v14, v15, v2} 75
Hình 3 14: Cây Steiner ST(R) với R={v2, v7} 76
Hình 3 15: Cây T biểu diễn toàn bộ n TBTDL 78
Hình 3 16: Minh họa cây ST(u) và các nút KeV(ST(u)) 79
Hình 4 1: Cây nhị phân T và các định danh tương ứng các nút 91
Hình 4 2: Cây nhị phân T và cách tính định dang theo HIBE 94
Hình 5 1: Sơ đồ mạng IPTV 113
Hình 5 2: Sơ đồ mạng MobileTV 115
Trang 6MỞ ĐẦU
Hiện nay vấn đề bảo vệ bản quyền đang là vấn đề nhức nhối của Việt Nam cũng như trên thế giới Vấn đề bảo vệ bản quyền với các tác phẩm công nghệ số là vấn đề mà luật bản quyền phải đương đầu do: công nghệ số tạo khả năng cho việc truyền phát và sử dụng tất cả các đối tượng bảo hộ của bản quyền và quyền kế cận dưới dạng số dễ dàng Quy trình số hóa cho phép biến đổi các tác phẩm này thành dạng nhị phân, khiến cho chúng dễ dàng được truyền qua mạng Internet và sau đó được phân phối, sao chép, và cất giữ một cách hoàn hảo dưới dạng số
Các thách thức trên diễn ra đối với ngành công nghiệp bản quyền, khi mà số tiền thu được từ bản quyền trong nền kinh tế quốc dân đang đạt tới mức khó dự đoán trước Giá trị kinh tế của riêng ngành công nghiệp bản quyền tại Mỹ ước tính đạt 91,2 tỷ đô la Mỹ (theo thông tin từ Liên minh Sở hữu trí tuệ thế giới (IIPA)) chiếm tới 5,24% tổng sản phẩm quốc nội của Mỹ, tăng nhanh gấp 2 lần phần còn lại của nền kinh tế
Giá trị của ngành công nghiệp bản quyền chiếm 6% giá trị tăng thêm của nền kinh tế Uruguay vào năm 1997, chiếm 6,7% giá trị tăng thêm của nền kinh tế Bra-xin vào năm 1998, thu hút 1.3 triệu việc làm tại quốc gia này
Tại Việt Nam, tỷ lệ vi phạm bản quyền đối với các tác phẩm nghe nhìn rất nghiêm trọng gây tổn thất cho nền kinh tế, gây khó khăn trong quá trình hội nhập với thế giới Chính vì vậy, việc tìm kiếm các giải pháp kỹ thuật và luật pháp để bảo
hộ bản quyền khỏi sự sao chép “số” bất hợp pháp là vô cùng cấp thiết
Nhiệm vụ của luận văn này là trình bày các giải pháp kỹ thuật về lưu vết và thu hồi các thiết bị thu bất hợp pháp, nhằm bảo vệ bản quyền, bảo vệ nội dung của các tác phẩm được truyền phát qua các kênh quảng bá (broadcast channels)
Trang 7LUẬN VĂN GỒM CÁC NỘI DUNG SAU:
MỞ ĐẦU
Chương 1: CÁC KHÁI NIỆM CƠ BẢN
Giới thiệu các khái niệm cơ bản sử dụng trong luận văn Chương này cũng nêu lên các thành phần cơ bản của một hệ thống phát dữ liệu quảng bá
Chương 2: GIẢI PHÁP LƯU VẾT THIẾT BỊ THU LÀM RÕ RỈ KHÓA
Chương này trình bày giải pháp lưu vết thiết bị thu làm rò rỉ khóa bí mật,
sử dụng phương pháp phân hoạch tập TBTDL thành các tập con
Chương 3: GIẢI PHÁP THU HỒI THIẾT BỊ THU BẤT HỢP PHÁP
Trình bày giải pháp thu hồi thiết bị thu bất hợp pháp sử dụng khung phủ tập con (Subset Cover Framework)
Sau đó sẽ trình bày các giải pháp áp dụng khung phủ tập con là: Cây nhị phân đầy đủ (Complete Subtree), Hiệu hai tập con (Subset Difference)
Chương 4: ĐỘ AN TOÀN CỦA KHUNG PHỦ TẬP CON
Chương 5: MỘT SỐ ỨNG DỤNG
KẾT LUẬN
Trang 8Chương 1: CÁC KHÁI NIỆM CƠ BẢN 1.1 MỘT SỐ KHÁI NIỆM
Trung tâm quảng bá (Center, Broadcast Center), nhà cung cấp dữ liệu
(NCCDL – Data Provider) [6]: Trung tâm có các kênh phát thông tin quảng bá
tới các thiết bị thu dữ liệu
Thiết bị thu dữ liệu (TBTDL - User) [3]: thu dữ liệu phát ra từ NCCDL và
dùng các khóa bí mật của nó để giải mã dữ liệu thu được
Thông điệp hay bản tin (Message) [6]: là thông tin hoặc đoạn thông tin được
NCCDL gửi đến TBTDL qua các kênh quảng bá
Khóa thời gian tồn tại ít (short-lived key - session key) [3]: là khóa được duy trì
trong một phiên truyền dữ liệu gọi tắt là khóa phiên
Khóa thời gian tồn tại dài (long-lived key) [3]: là khóa tồn tại trong thời gian
dài của hệ thống, gọi tắt là khóa thời gian dài hay khóa “dài”
Bộ khóa nhái [2]: Là bộ khóa mà kẻ gian đã thu được từ tập khóa của một số
TBTDL (bằng phương pháp nào đó, ví dụ thám khóa)
Thiết bị thu bất hợp pháp (Traitor) [2]: là TBTDL làm rò rỉ khóa hoặc TBTDL
sử dụng bộ khóa nhái để giải mã bản tin nhận được từ NCCDL
Truyền tin quảng bá (Broadcast, Transmistion) [6]: quá trình NCCDL phát
định kỳ thông điệp đã mã hóa tới TBTDL
Giải pháp lưu vết TBTDL làm rò rỉ khóa (Tracing Traitor) [2]: xác định định
danh TBTDL làm rò rỉ khóa
Giải pháp thu hồi TBTDL bất hợp pháp (Revocation Traitor) [3]: là giải pháp
phân hoạch các TBTDL hợp pháp thành các tập con, dựa vào đó NCCDL mã hóa thông điệp, để TBTDL bất hợp pháp không giải mã chính xác thông điệp
NCCDL phát quảng bá
Trang 9Các ký hiệu dùng trong luận văn:
N: tập tất cả các TBTDL do NCCDL quản lý, |N|= n
u1, ,un: ký hiệu các TBTDL thuộc N
R: tập các TBTDL làm rò rỉ khóa, |R|= r
P: tập các TBTDL hợp pháp, P=N - R
K: khóa phiên (session key hay short-lived key)
L: khóa “dài” (long-lived key)
M: thông điệp hay bản tin
CM: bản mã của thông điệp M
tM: bản tin thử nghiệm (test message)
L : tập các khóa “dài” của TBTDL ui u , i=1, 2,…, n i
|
i
u
L |: số lượng các khóa “dài” của TBTDL u i
S : tập các TBTDL dùng chung một khóa “dài” i L i
Si,j SiSj: chứa các TBTDL thuộc phần bù của tập S so với tập i S j
Các TBTDL trong tập S dùng chung khóa “dài” i,j L i,j
Định nghĩa phủ [6]
Cho một họ các tập con khác rỗng S{S1,S2, ,Sw},SjN,j1, ,w
Cho tập khác rỗng P N; phủ của tập P là tập S ,S , S ,
t 2
Ví dụ ở đây, kích thước của phủ P là t
Trang 101.2 KHUNG PHỦ TẬP CON
Phần này giới thiệu khung phủ tập con (Subset Cover Framework - SCF)
được sử dụng trong giải thuật lưu vết và giải thuật thu hồi TBTDL bất hợp pháp [3] Trong SCF, có giải thuật xác định các tập con S1,S2, ,Sw N, Si N
w 1
i
Mỗi tập S có khóa “dài” i L i
Tập P phải được phân hoạch thành các tập con rời rạc
m 2
i ,S , ,S
S sao cho:
j i m
SCF sử dụng hai giải thuật mã hóa E và F:
Giải thuật E: 0,1}* 0,}*, mã hóa khóa phiên K, lần lượt với từng khóa
Trang 11SCF gồm ba phần [3]:
1) Khởi tạo
NCCDL có giải thuật xác định các tập con S1, S2, , Sw N, Si N
w 1
i
Mỗi tập
i
S có khóa “dài” L i L có thể là: i
+ Hoặc là số độc lập, ngẫu nhiên: L = G i
+ Hoặc là hàm của số độc lập, ngẫu nhiên: L = f(G) i
Trong đó G là số được sinh từ bộ sinh số ngẫu nhiên
Mỗi TBTDL uSi được NCCDL cấp một tập các khóa “dài” Lu L có thể là: u
+ Hoặc là Lu {Li}, 1iw
+ Hoặc là Lu {f(Li)}, 1iw, f là ánh xạ 1-1
2) Mã hóa: Thực hiện tại NCCDL
NCCDL chọn khóa phiên K ngẫu nhiên
NCCDL phân hoạch P thành các tập con rời rạc
m 2
i ,S , ,S
m 2
i ,L , ,L
L là các khóa “dài” tương ứng với các tập con đó
NCCDL mã hóa khóa phiên K, một lần với từng khóa Li1,Li2, ,Lim và phát quảng bá bản mã:
[i1,i2, ,im,E(K,Li1),E(K,Li2), ,E(K,Lim)],FK(M)
Phần trong dấu [ ] gọi là phần đầu (header), FK(M) gọi là phần thân (body)
Trang 123) Giải mã: Thực hiện tại TBTDL u
Trang 131.3 GIẢI PHÁP LƯU VẾT TBTDL LÀM RÕ RỈ KHÓA
a Bài toán lưu vết
NCCDL truyền thông điệp M qua các kênh quảng bá tới tập N gồm các TBTDL (|N|=n) Mỗi TBTDL u có một tập khóa “dài” (bí mật) i
i u
L (i=1, 2,…, n) Trong tập N có tập R các TBTDL làm rò rỉ khóa bí mật (rò rỉ toàn bộ hoặc một vài khóa trong tập khóa “dài”
i u
Thuật toán lưu vết TBTDL làm rò rỉ khóa bí mật:
Xác định định danh của TBTDL làm rò rỉ khóa bí mật dựa trên sự phân hoạch tập TBTDL thành các tập con
Giải thuật này sẽ được trình bày trong chương 2
Trang 141.4 GIẢI PHÁP THU HỒI THIẾT BỊ THU BẤT HỢP PHÁP
a Bài toán thu hồi
NCCDL truyền thông điệp M qua các kênh quảng bá tới tập N gồm các TBTDL (|N|=n) Mỗi TBTDL u có một tập khóa “dài” i
i u
L (i=1, 2,…, n) NCCDL
đã biết tập R các TBTDL làm rò rỉ khóa và tập P các TBTDL hợp pháp
P, R thỏa mãn: PRN,PR
Yêu cầu:
Mọi TBTDL thuộc P giải mã chính xác thông điệp M
Mọi TBTDL thuộc R giải mã chỉ thu được MR M
Mọi TBTDL sử dụng bộ khóa nhái chỉ thu được M’ M
b Giải pháp thu hồi
Có nhiều giải pháp để thu hồi TBTDL bất hợp pháp Trong luận văn trình bày giải pháp thu hồi TBTDL bất hợp pháp sử dụng khung phủ tập con (SCF - xem
1.2) [3] Giải pháp đó gồm các phần: Khởi tạo, Mã hóa, Giải mã
Hiệu năng của giải thuật thu hồi TBTDL bất hợp pháp
Hiệu năng của giải thuật thu hồi thể hiện trên ba tham số sau [3]:
Số lượng khóa “dài” cần lưu trữ tối đa tại mỗi TBTDL u là: |Lu|
Độ dài phần đầu bản mã (header) trong thông điệp đã mã hóa
Thời gian giải mã bản mã thông điệp tại TBTDL
Trang 15Đường đi trong đồ thị G là một dãy: v1, e1, v2, e2,…,ei, vi+1, trong đó:
vi V(G) và ei E(G), ei là cạnh nối nút vi và vi+1
Đường đi trong đồ thị G không lặp lại các nút hoặc các cạnh
Độ dài của đường đi là số cạnh trong dãy xác định đường đi
Đồ thị liên thông là đồ thị có ít nhất một đường đi giữa 2 nút bất kỳ
Đồ thị đơn là đồ thị mà giữa hai đỉnh chỉ có tối đa một cạnh
Đồ thị có chu trình (cyclic) là đồ thị tồn tại một đường đi theo dạng:
v1, e1, v2, e2,…, ei, v1 (nút kết thúc trùng nút bắt đầu đường đi)
Vòng là một cạnh mà nối từ một nút tới chính nó (e=(v,v))
Đồ thị con G’ của đồ thị G là đồ thị có: V(G’) V(G), E(G’) E(G) và mỗi cặp trong E(G’) nối một cặp nút trong V(G’)
Trang 161.5.2 Cây nhị phân
a Khái niệm cây
Cây là đồ thị đơn, vô hướng, liên thông và không có chu trình [6]
Khi nói cây, nghĩa là có đường đi giữa hai nút bất kỳ Vì không có chu trình, nên đường đi, hay các cạnh là duy nhất
Thông thường cây được vẽ với gốc ở đỉnh trên, ta nói nút y ở dưới nút x nếu
x nằm trên đường từ y tới gốc Một nút trên cây có thể là gốc, nút trong hoặc lá
Mỗi nút v, trừ gốc, đều có duy nhất một nút trên nó, được gọi là cha của nó Các nút ngay bên dưới nút v được gọi là con của nó Nút có cùng cha với v được gọi là nút anh em của v Các nút không có con được gọi là nút lá hoặc nút ngoài Các nút có ít nhất một con thì được gọi là nút trong
Bất kỳ nút nào cũng là gốc của một cây con bao gồm chính nút đó và các nút dưới nó
Các nút trong của một cây được chia thành các tầng: tầng của một nút là số nút trên đường đi từ nó tới gốc (không kể chính nút đó)
Chiều cao của cây là tầng cao nhất trong số tất cả các tầng của các nút trong cây
Cây được gọi là cây được sắp, nếu thứ tự các con của mỗi nút được quy định
Trang 17b Khái niệm cây nhị phân
Cây nhị phân (hình 1.2) là cây có hai dạng nút:
Nút ngoài: nút lá, không có con
Nút trong: có chính xác hai con là con trái và con phải
Cha chung thấp nhất của hai nút (kể cả lá) a, b (hình 1.4) là nút giao nhau
giữa đường đi từ a tới gốc và từ b tới gốc
Cây con của cây T là đồ thị con của T và thỏa mãn các tính chất của một cây
Trang 18Hình 1 3: Cây nhị phân đầy đủ
Hình 1 4: Cha chung thấp nhất của a và b
Trang 19c Tính chất cây nhị phân
1) Cây nhị phân có r lá thì có chiều cao ít nhất là log2( )
Chứng minh
Đầu tiên, chứng minh a a1 với mọi a là số thực
Nếu a là số nguyên, thì a a Ngược lại, aa' trong đó 01 và a’ Z
2 log2( ) 1 log2( )11 log2( ) (cộng 1 vào mũ của 2 vế)
Điều này mâu thuẫn với giả thiết là cây T có r lá, suy ra điều phải chứng minh
2) Thuộc tính rẽ nhánh
Một cây nhị phân luôn có thể chia thành hai nhánh trái và phải (hình 1.5) Thuộc tính này được gọi là thuộc tính rẽ nhánh của cây nhị phân [3]
Trang 20Hình 1 5: Minh họa thuộc tính rẽ nhánh
Trang 211.5.3 Cây Steiner
Cho tập R các nút thuộc cây, đồ thị nối gốc và các nút thuộc R được gọi là cây Steiner của R, ký hiệu ST(R)
Ví dụ với tập R = {a, b, c}, ta có cây Steiner ST(a, b, c) như hình 1.6
Hình 1 6: Cây Steiner của 3 nút (a,b,c)
Trang 22Chương 2: GIẢI PHÁP LƯU VẾT TBTDL LÀM RÕ RỈ KHÓA 2.1 KHÁI NIỆM LƯU VẾT TBTDL LÀM RÕ RỈ KHÓA
Giả sử kẻ gian, bằng cách nào đó lấy được bộ khóa hoặc một phần bộ khóa
từ t TBTDL hợp pháp, họ xây dựng nên bộ khóa giải mã bất hợp pháp và nhân bản thành nhiều bộ khóa nhái để bán ra thị trường hoặc đưa lên internet cho người dùng mua hoặc tải về miễn phí [2] Những TBTDL dùng bộ khóa nhái này và kể cả t
TBTDL làm rò rỉ khóa được gọi là những TBTDL bất hợp pháp
Để đối phó với tình hình trên, NCCDL tạo ra các TBTDL để làm thí nghiệm
“tại gia” với các bộ khóa nhái
NCCDL thu mua được các bộ khóa nhái, họ cho các TBTDL thí nghiệm
(TBTDL_TN) dùng các bộ khóa nhái này
NCCDL dùng giải thuật SCF (xem 1.2) phát bản tin thử nghiệm tM, theo dõi những phản ứng của các TBTDL thí nghiệm này, để truy tìm TBTDL đã làm rò rỉ khóa “dài” ra bên ngoài, phân hoạch tập P các TBTDL hợp pháp thành các tập con,
để khi NCCDL phát bản tin chính thức, thì các TBTDL bất hợp pháp sẽ không giải
|
n , các lá tương ứng với các TBTDL Các nút kể cả lá trong cây được gán tên gọi v1,v2, ,v n1 Các nút v1,v2, ,v n1 được gán nhãn
1 n
i
Trong đó S là tập các lá icủa cây nhị phân con gốc v , i S có khóa “dài” i L tương ứng với nhãn tại nút i v i
Trang 23Hình 2 1: Cây nhị phân T biểu diễn n TBTDL
Để thực hiện mục tiêu lưu vết, NCCDL dùng phần mềm (PM) để tìm tập R
các TBTDL làm rò rỉ khóa “dài”, phân hoạch tập P các TBTDL hợp pháp thành các tập con
m 2
i ,S , ,S
S có các khóa “dài” tương ứng
m 2
i ,L , ,L
L để mã hóa khóa phiên K
Do đó chỉ có các TBTDL hợp pháp thuộc một trong các tập Si1,Si2, ,Sim mới giải
mã được K, sau đó dùng K để giải mã đúng thông điệp M
Các TBTDL bất hợp pháp (TBTDL dùng bộ khóa nhái hay TBTDL làm rò rỉ khóa “dài”) sẽ không giải mã được K, và do đó không thể giải mã chính xác M
Trang 24Phương pháp lưu vết của NCCDL đối với một TBTDL_TN:
NCCDL phát thử nghiệm thông điệp tM, PM quan sát xác suất giải mã của TBTDL_TN để xác định tập R chứa các TBTDL làm rò rỉ khóa “dài” và phân hoạch tập P các TBTDL hợp pháp thành P{Si1,Si2, ,Sim} Tìm được P, R thì
PM lưu P, R vào cơ sở dữ liệu (CSDL) của NCCDL để phục vụ cho lần lưu vết tiếp
theo [3]
Giải pháp này giả thiết TBTDL_TN không thể phát hiện được nó đang bị thử nghiệm, tức là nó không thể tự động tắt máy khi đang thu dữ liệu thử nghiệm từ NCCDL [3]
Trên thực tế có nhiều giải pháp lưu vết TBTDL làm rò rỉ khóa “dài”, luận văn này trình bày giải pháp lưu vết TBTDL làm rò rỉ khóa “dài” dựa trên phương pháp tìm kiếm nhị phân và dùng giải thuật SCF (xem 1.2) để phát bản tin thử nghiệm tM tới TBTDL_TN Kết quả được P gồm các tập con chứa TBTDL hợp pháp, P{Si1,Si2, ,Sim}, và tập R các TBTDL làm rò rỉ khóa “dài” Giải pháp này được gọi là giải pháp lưu vết sử dụng tập con, được trình bày trong phần 2.2
Hình 2 2: Mô hình lưu vết TBTDL làm rò rỉ khóa “dài”
Trang 252.2 GIẢI THUẬT LƯU VẾT SỬ DỤNG TẬP CON
2.2.1 Giải thuật lưu vết sử dụng tập con (Subset Tracing)
Ý tưởng của giải thuật lưu vết TBTDL làm rò rỉ khóa “dài”, sử dụng tập con là:
Tìm TBTDL làm rò rỉ khóa “dài” bằng cách phân hoạch tập các TBTDL thành tập P và R Trong đó P{Si1,Si2, ,Sim} gồm các tập con chứa TBTDL hợp pháp, R là tập các TBTDL làm rò rỉ khóa “dài”
Đầu tiên, giải thuật lưu vết được thực hiện với P={S1} (S1 là tập các TBTDL), R= Sau khi thực hiện k lần, sẽ được phân hoạch P{Si1,Si2, ,Sim} và tập R các TBTDL làm rò rỉ khóa “dài” Tập P và R được lưu vào CSDL của NCCDL
Tại lần k+1, NCCDL thu mua được bộ khóa nhái, đưa vào dùng trong
TBTDL_TN, PM sẽ sử dụng hàm Tim_j (mục 2.2.2) để tìm tập con chứa TBTDL
làm rò rỉ khóa “dài” Kết hợp với tập P, R trước đó trong CSDL của NCCDL để xác định P, R mới
Mỗi pha thực hiện Tim_j với tập P{Si1,Si2, ,Sim} và R
Nếu TBTDL_TN giải mã bản tin thử nghiệm tM với xác suất p< 1 thì kết thúc, P và R giữ nguyên, NCCDL yên tâm vì bộ khóa nhái không có tác dụng
Ngược lại, tức là TBTDL_TN giải mã tM với xác suất p=1 Điều đó chứng tỏ
bộ khóa nhái có chìa khóa “dài” L , nhờ nó mà TBTDL_TN đã giải mã được khóa ijphiên K Khóa “dài”
Trang 26Nếu S chỉ chứa một TBTDL thì chắc chắn TBTDL này đã làm rò rỉ khóa ij
Phương pháp lưu vết trong luận văn chỉ có tính chính xác tương đối: có thể xác định được định danh của TBTDL làm rò rỉ toàn bộ bộ khóa “dài”, hoặc chỉ có thể xác định được khóa “dài” nào bị rò rỉ (vì một số TBTDL chỉ làm rò rỉ một phần của bộ khóa) Dựa trên đó PM phân hoạch P thành các tập con chứa các TBTDL hợp pháp
Mục đích chính của phương pháp lưu vết này là lưu lại định danh của những TBTDL làm rò rỉ khóa và trừng trị những TBTDL bất hợp pháp Nghĩa là danh sách các TBTDL làm rò rỉ khóa sẽ được lưu trong CSDL và P được phân hoạch thành các tập con chứa các TBTDL hợp pháp để khi NCCDL phát thông điệp M, những TBTDL bất hợp pháp sẽ chỉ giải mã được M’ ≠ M
Trang 27Lưu đồ giải thuật lưu vết [4]
mã chính xác
tM
Kết thúc Bắt đầu
S Lưu P, R vào
Trang 28Biểu diễn giải thuật bằng ngôn ngữ tựa Pascal như sau:
Procedure Luu_vet(P);
Begin
Khởi tạo với P{Si1,Si2, ,Sim}, R; TBTDL_TN thí nghiệm với bộ khóa nhái;
//Lấy các thông tin khởi tạo từ CSDL của NCCDL
While true Do
If TBTDL_TN không thể giải mã tM then
//Tức là tập R và P giữ nguyên kết quả cũ
Lưu P, R vào CSDL của NCCDL;
Exit; //Kết thúc Else
S chỉ chứa 1 TBTDL then
Begin
};
S{R:R
};
S{P:P
j
j i
;SP:P
2 i
1 i i
j j
Trang 292.2.2 Hàm tìm tập con chứa TBTDL làm rò rỉ khóa
Hàm Tim_j tìm tập con chứa TBTDL làm rò rỉ khóa, được mô tả giống như phương pháp tìm kiếm nhị phân, để tìm giá trị j tương ứng khóa “dài” L Đó là ijkhóa nằm trong bộ khóa nhái, mà TBTDL_TN đang thí nghiệm
Hàm Tim_j dùng phương pháp mã hóa khóa phiên giả KP (K Pseudo) để tìm
ra chỉ số j, qua sự chênh lệch xác suất giải mã tM của TBTDL_TN, giữa hai lần mã hóa kề nhau Khóa phiên giả KP có cùng độ dài với khóa phiên K
Đặt p (j=0,…, m) là xác suất giải mã bản tin tM của TBTDL_TN khi jNCCDL mã hóa j lần với khóa phiên giả KP và (m-j) lần với khóa đúng K, khi đó bản mã như sau [3]:
[i1, ,im,E(KP,Li ), ,E(KP,Li ),E(KP,Li ),E(K,Li ), ,E(K,Li )],FK(tM)
m 1
j j
1 j 1
j lần m-j lần
Như vậy, nếu TBTDL_TN giải mã đúng bản tin tM thì p0 1, pm 0 (2.1):
p là xác suất giải mã bản tin tM (mã hóa m lần với khóa đúng K): 0
[i1, ,im,E(K,Li ), ,E(K,Li ),E(K,Li ), ,E(K,Li ), ,E(K,Li )],FK(tM)
m k
j 1
j 1
p là xác suất giải mã bản tin tM (mã hóa 1 lần với khóa giả KP, (1 m1) lần với khóa đúng K):
[i1, ,im,E(KP,Li ),E(K,Li ), ,E(K,Li ),E(K,Li ), ,E(K,Li )],FK(tM)
m j
1 j 2
1
pj1là xác suất giải mã bản tin tM (mã hóa (j1) lần với khóa giả KP,
)1
1 j 1
Trang 30 p là xác suất giải mã bản tin tM (mã hóa j lần với khóa giả KP, (j mj) lần với khóa đúng K):
[i1, ,im,E(KP,Li ), ,E(KP,Li ),E(KP,Li ),E(K,Li ), ,E(K,Li )],FK(tM)
m 1
j j
1 j 1
1 j 1
p là xác suất giải mã bản tin tM: (2) j
[i1, ,im,E(KP,Li ), ,E(KP,Li ),E(KP,Li ),E(K,Li ), ,E(K,Li )],FK(tM)
m 1
j j
1 j 1
Vì TBTDL_TN không có khóa “dài” L , nên nó không thể phân biệt được ij
sự khác nhau giữa E(K,Lij) và E(KP,Lij) trong phần đầu (header) của hai bản mã Tức là khả năng giải mã bản tin tM là như nhau trong cả hai trường hợp (1) và (2)
Do vậy, xác suất pj1=p hay j |pj1pj|0: mâu thuẫn điều kiện |pj1pj|0
Vậy TBTDL_TN phải dùng khóa “dài”
j
i
L (đpcm)
Trang 31Trên thực tế do xác suất p (j=1, 2,…, m) chỉ có thể tính xấp xỉ nên ngưỡng j
hiệu xác suất |pj1pj| được NCCDL qui định:
2
pp
|pp
|pp
Với kết quả định lý trên, hàm Tim_j(P) dùng phương pháp tìm kiếm nhị phân
để tìm cặp giá trị pj1,p giữa dãy giá trị j p0, ,pmthỏa mãn
2
pp
|pp
S chính là tập cần tìm,
b chính là chỉ số j cần tìm trong hàm Tim_j(P)
Trang 32pa c a b
Trang 33Biểu diễn hàmTim_j(P) bằng ngôn ngữ tựa Pascal, đầu ra là chỉ số j:
Function Tim_j(P): integer;
Begin
;m
|pp
;c:b
;c:a
Trang 342.3 LƯU VẾT VỚI NHIỀU BỘ KHÓA NHÁI
Phần 2.2 trình bày giải thuật lưu vết với một bộ khóa nhái Trên thực tế, NCCDL có thể thu mua được cùng lúc nhiều bộ khóa nhái
Để xử lý cùng lúc nhiều bộ khóa nhái, PM sẽ thực hiện lưu vết song song các TBTDL thí nghiệm với đầu vào P, R giống nhau [3]
Đầu tiên, các PM sẽ lấy P và R từ trong CSDL của NCCDL Khi các PM thực hiện lưu vết, nếu một PM xác định được P và R mới, PM này sẽ lưu P và R này vào trong CSDL và tạm ngừng tất cả các PM đang chạy
Sau đó các PM này lại tiếp tục thực hiện lưu vết với P, R lấy từ CSDL chung của NCCDL
Quá trình cứ tiếp tục như vậy và kết thúc khi tất cả các TBTDL thí nghiệm đều không thể giải mã đúng bản tin thử nghiệm tM
Trang 352.4 VÍ DỤ VỀ GIẢI THUẬT LƯU VẾT
Để dễ hình dung giải thuật lưu vết TBTDL làm rò rỉ khóa, ta lấy ví dụ với tập n=8=23 TBTDL là {u1, u2, u3, u4, u5, u6, u7, u8}
NCCDL biểu diễn 8 TBTDL thành cây nhị phân T (hình 2.3) Các lá của T tương ứng với các TBTDL Các nút (kể cả lá) được gán tên gọi v1,v2 ,v15
Các nút (kể cả lá) được gán nhãn L1,L2, ,L15
Giải thuật SCF duy trì các tập con S1,S2 ,S15 Trong đó S là tập các lá (tương iứng với các TBTDL) của cây nhị phân con gốc v , i S có khóa “dài” i L tương ứng inhãn tại nút v , i=1,…,15 i
}u,u,u,u,u,u,
Trang 36Bộ khóa của TBTDL u là tập các nhãn từ lá tương ứng với nó tới gốc Cụ thể: i
}L,L,L
Ví dụ 2.1: Giả sử đây là lần đầu NCCDL thực hiện lưu vết TBTDL làm rò rỉ khóa
NCCDL thu mua được một bộ khóa nhái, đưa bộ khóa này vào dùng trong TBTDL_TN để phát hiện TBTDL làm rò rỉ khóa “dài”
Quá trình thực hiện lưu vết như sau:
Khởi tạo: P {S1}= {u1, u2, u3, u4, u5, u6, u7, u8}, R =
Bước 1: PM thực hiện thủ tục Luu_vet(P), P= {S1}
+ NCCDL phát thử nghiệm bản tin tM (tM tùy ý) thông qua bản mã:
<[1, E(K, L1)], FK(tM)>
Trong đó phần đầu là bản mã của khóa phiên K, được mã hóa bằng khóa
“dài” L1, phần thân là bản mã của tM, được mã hóa bằng khóa phiên K
+ If TBTDL_TN không thể giải mã được tM với xác suất p=1 then
Begin
P={S1}; R = ; Lưu P, R vào CSDL của NCCDL; Kết thúc;
End;
+ Else (Tức là: TBTDL_TN giải mã được tM với xác suất p=1) Chứng tỏ rằng:
S1 chứa ít nhất một TBTDL làm rò rỉ khóa “dài” L (TBTDL_TN có khóa 1 L ) 1Công việc tiếp theo: Xác định TBTDL S1 đã làm rò rỉ L 1
Trang 37Nếu | S1| = 1 thì chính TBTDL duy nhất của S1 làm rò rỉ L Nhưng vì S1 1gồm 8 TBTDL, nên phải chia S1 thành hai tập con, được S2 và S3 để xác định tiếp TBTDL của S2 hay S3 làm rò rỉ L 1
Trang 38Bước 2: PM thực hiện thủ tục Luu_vet(P), P={S2, S3}
+ NCCDL phát thử nghiệm bản tin tM (tM tùy ý) thông qua bản mã:
[2,3,E(K,L2),E(K,L3)],FK(tM)
Trong đó phần đầu là bản mã của khóa phiên K, được mã hóa bằng khóa
“dài” L2,L3, phần thân là bản mã của tM, được mã hóa bằng khóa phiên K
+ If TBTDL_TN không thể giải mã được tM với xác suất p=1 then
Begin
P={S2, S3}; R = ; Lưu P, R vào CSDL của NCCDL; Kết thúc;
End;
+ Else, (Tức là: TBTDL_TN giải mã được tM với xác suất p=1 Chứng tỏ rằng
TBTDL_TN đã có L hoặc 2 L ) Như vậy S3 2 đã làm rò rỉ L , hoặc S2 3 đã làm rò
rỉ L PM thực hiện thủ tục Tim_j(P) để xác định rõ TBTDL nào đã làm rò rỉ 3khóa L hoặc 2 L , P={S3 2, S3}:
o Khởi tạo: [a, b] là [0, 2]
//Trong đó 2 là số lượng tập con của P{S2,S3}{Si1,Si2}
2
202
ba
pa c a b
then
Begin
;p:p
1);
c(
:b
Trang 39Do a=b-1 (0=1-1) S2 chứa ít nhất một TBTDL làm rò rỉ khóa “dài” L 2(tức là TBTDL_TN có khóa “dài” L ) (B2.1) 2
o Else
Begin
;p:p
1);
c(
:a
Trang 40Bước 3: Giả sử S2 chứa ít nhất một TBTDL làm rò rỉ khóa “dài” L (từ B2.1) 2
Nếu |S2| = 1 thì chính TBTDL duy nhất đã làm rò rỉ khóa L Nhưng vì S2 2 chứa 4 TBTDL là u1,u2,u3,u4}, nên PM chia S2 thành hai tập con S4 và S5 để xác định tiếp S4 hay S5 làm rò rỉ khóa.S4 u1,u2}, S5 u3,u4}, S3 { u5, u6, u7, u8}
4,L ,L
L , phần thân là bản mã của tM, được mã hóa bằng khóa phiên K
+ If TBTDL_TN không thể giải mã được tM với xác suất p=1 then
Begin
}S,S,S
{
P 4 5 3 ; R = ; Lưu P, R vào CSDL của NCCDL; Kết thúc;
End;
+ Else, (Tức là: TBTDL_TN giải mã được tM với xác suất p=1 Chứng tỏ rằng
TBTDL_TN đã có ít nhất một trong các khóa “dài” L4,L5,L3) Như vậy S đã 4làm rò rỉ L , hoặc 4 S làm rò rỉ 5 L , hoặc 5 S làm rò rỉ 3 L 3
PM thực hiện thủ tục Tim_j(P) để xác định rõ TBTDL nào làm rò rỉ khóa L 4hoặc L hoặc 5 L , 3 P{S4,S5,S3}:
o Khởi tạo: [a, b] là [0, 3] //trong đó 3 là số lượng tập con trong P
2
302
ba
c
o NCCDL phát thử nghiệm bản tin tM với c = 1 lần dùng khóa giả KP, thông qua bản mã: <[4, 5, 3,E(KP,L4),E(K,L5),E(K,L3)],FK(tM)