1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát triển các kỹ thuật tìm bất biến invariants và biến variants cho việc sử dụng hoare logic để chứng minh tính đúng đắn của chu trình

120 24 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 120
Dung lượng 1,74 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 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 3

MỤ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 4

3.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 5

DANH 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 6

MỞ ĐẦ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 7

LUẬ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 8

Chươ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 9

Cá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 SiSj: 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},SjN,j1, ,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 10

1.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 11

SCF 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 uSi đượ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}, 1iw

+ Hoặc là Lu {f(Li)}, 1iw, 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 12

3) Giải mã: Thực hiện tại TBTDL u

Trang 13

1.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 14

1.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: PRN,PR

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 16

1.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 17

b 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 18

Hì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 19

c 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 a1 với mọi a là số thực

Nếu a là số nguyên, thì  a a Ngược lại, aa' trong đó 01 và a’ Z

2 log2( ) 1 log2( )11  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 20

Hình 1 5: Minh họa thuộc tính rẽ nhánh

Trang 21

1.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 22

Chươ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 n1 Các nút v1,v2, ,v n1 đượ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 23

Hì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 24

Phươ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 25

2.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 26

Nế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 27

Lư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 28

Biể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 29

2.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 m1) 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

 pj1là xác suất giải mã bản tin tM (mã hóa (j1) 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 mj) 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 pj1=p hay j |pj1pj|0: mâu thuẫn điều kiện |pj1pj|0

Vậy TBTDL_TN phải dùng khóa “dài”

j

i

L (đpcm)

Trang 31

Trê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 |pj1pj| đượ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ị pj1,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 32

pa  c  a  b

Trang 33

Biể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 34

2.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 35

2.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 36

Bộ 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 37

Nế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 38

Bướ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 39

Do 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 40

Bướ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)

Ngày đăng: 16/03/2021, 12:22

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w