Giáo trình Mật mã học (Phần 2)

4.8.5. Tính toμn vẹn của dữ liệu vμ xác thực thông báo

4.8.5.1. Định nghĩa 1

Tính toμn vẹn của dữ liệu lμ tính chất đảm bảo dữ liệu không

bị sửa đổi một cách bất hợp pháp kể từ khi dữ liệu đ−ợc tạo ra,

đ−ợc phát hoặc đ−ợc l−u giữ bởi một nguồn đ−ợc xác định.

4.8.5.2. Định nghĩa 2

Xác thực tính nguyên bản của dữ liệu lμ một kiểu xác thực

đảm bảo một bên liên lạc đ−ợc chứng thực lμ nguồn thực sự tạo ra

dữ liệu đó ở một thời điểm nμo đó trong quá khứ.

Xác thực thông báo lμ một thuật ngữ đ−ợc dùng t−ơng đ−ơng

với xác thực nguyên gốc của dữ liệu.

Có ba ph−ơng pháp cung cấp tính toμn vẹn của dữ liệu bằng

cách dùng các hμm băm.

 

pdf168 trang | Chia sẻ: phuongt97 | Lượt xem: 400 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Giáo trình Mật mã học (Phần 2), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CSDL Máy chủ xác thực (AS) Máy chủ cấp thẻ (TGS) Cơ sở dữ liệu (3) Trạm làm việc nhắc nhở ng−ời dùng đ−a vào mật khẩu để giải mã thông tin tới rồi gửi thẻ và chứng chỉ xác thực có chứa tên ng−ời sử dụng, địa chỉ mạng và thời gian tới TGS Một lần với mỗi phiên đăng nhập Server (2) AS kiểm tra quyền truy nhập của ng−ời sử dụng trong CSDL tạo thẻ cấp thẻ và khóa phiên Yêu cầu thẻ cấp thẻ Thẻ và khóa phiên Thẻ và khóa phiên Yêu cầu thẻ cấp dịch vụ Một lần với mỗi loại dịch vụ Kết quả là một khóa sử dụng đ−ợc mã phát sinh từ mật khẩu của ng−ời dùng. (2) TGS giải mã thẻ và chứng chỉ xác thực, kiểm tra yêu cầu rồi tạo thẻ cho máy chủ đ−ợc yêu cầu Một lần với mỗi phiên dịch vụ (6) Máy chủ kiểm tra sự phù hợp của thẻ và chứng chỉ xác thực rồi cấp quyền truy nhập vào dịch vụ. Nếu có yêu cầu xác thực lẫn nhau máy chủ sẽ gửi một chứng chỉ xác thực (5) Trạm làm việc gửi thẻ và chứng chỉ xác thực tới máy chủ Yêu cầu dịch vụCung cấp thẻ xác thực m áy chủ Kerberos Hình 6.4: Tóm l−ợc các trao đổi thông báo của Kv.4. a) Trao đổi dịch vụ xác thực: Để thu nhận thẻ cấp thẻ (1) C → AS : IDC//IDtgs//TS1 (Nhabx thời gian). (2) AS → C: EKc [KC, tgs // IDtgs // TS2 // LT2 (thời gian sống) // Thẻ tgs] Thẻ tgs = EKtgs [KC, tgs // IDC // ADC // IDtgs // TS2 // LT2 ] Giáo trình Mật mã học 282 b) Trao đổi dịch vụ cấp thẻ: Để thu nhận thẻ cung cấp dịch vụ (3) C → TGS : IDV Thẻ tgs // Authenticator C. (IDV : ID của dịch vụ yêu cầu) (4) TGS → C : EK,tgs [KC, V // IDV // TS2 // Thẻ V] Thẻ tgs = EKtgs [KC, tgs // IDC // ADC // IDtgs // TS2 // LT2 ] ThẻV = EKv [KC, v // IDC // ADC // IDV // TS2 // LT4 ] Authenticator C = EK,tgs [IDC // ADC // TS 3] c) Trao đổi xác thực Máy trạm/ máy chủ: Để thu nhận dịch vụ (5) C → V : Thẻ V // Authenticator C. (6) V → C : EKc,v [TS5 H] (để xác thực lẫn nhau) ThẻV = EKv [KC, v // IDC // ADC // IDV // TS2 // LT4 ] Authenticator C = EK,tgs [IDC // ADC // TS 5] Bảng trên cho ta thấy kỹ thuật phân phối khoá phiên. Tr−ớc hết khách hμng (client) gửi một thông báo tới AS yêu cầu truy nhập vμo TGS. AS trả lời bằng một thông báo đ−ợc mã bằng khóa trích xuất từ mật khẩu của ng−ời dùng (KC) có chứa thẻ. Thông báo nμy cũng chứa một bản sao của khoá phiên KC,tgs cho C vμ TGS, vì khóa phiên nμy nằm bên trong thông báo đ−ợc mã bằng KC nên chỉ có máy trạm của ng−ời dùng mới có thể đọc đ−ợc nó. Khóa phiên nμy cũng nằm trong Thẻ tgs mμ TGS có thể đọc đ−ợc. Nh− vậy khóa phiên đã đ−ợc phân phối an toμn cho C vμ TGS. Cần chú ý rằng một số thông tin phụ đã đ−ợc thêm vμo pha hội thoại đầu tiên. Thông báo (1) chứa nhãn thời gian TS 1 để AS biết rằng thông báo lμ đúng lúc. Thông báo (2) chứa một số yếu tố của thẻ ở dạng mμ C có thể truy nhập. Điều nμy cho phép C xác nhận rằng th− nμy lμ của TGS vμ biết đ−ợc thời gian hết hạn của nó. Khi có thẻ vμ khóa phiên C đã có thể truy nhập vμo TGS. Tr−ớc hết C gửi tới TGS một thông báo chứa thẻ + IDV (định danh của dịch vụ yêu cầu) (thông báo (3)). Hơn nữa, C cũng phát một thẻ xác thực Authenticator bao gồm IDC vμ ADC (địa chỉ của ng−ời dùng C) vμ một nhãn thời gian TS 3. Không giống nh− thẻ có Ch−ơng 6: Các chuẩn và áp dụng 283 thể dùng lại, thẻ xác thực chỉ dùng một lần vμ có thời gian sống ngắn. TGS có thể giải mã thẻ bằng khóa mμ nó chia sẻ với AS. Thẻ nμy báo rằng ng−ời dùng C đã đ−ợc cung cấp khóa phiên c,tgsK . Thực ra, thẻ nμy báo rằng "Ng−ời sử dụng khóa c,tgsK phải lμ C". TGS dùng khóa phiên để giải mã thẻ xác thực. Sau đó TGS có thể kiểm tra tên vμ địa chỉ từ thẻ xác thực từ nội dung của thẻ vμ từ địa chỉ mạng của thông báo tới. Nếu mọi điều lμ phù hợp thì TGS đã đ−ợc đảm bảo rằng ng−ời gửi thẻ thực sự lμ chủ nhân của thẻ. Thực ra thẻ nμy báo rằng "ở thời điểm TS3 tôi sử dụng c,tgsK ". Cần chú ý rằng thẻ không chứng minh định danh của bất cứ ai nh−ng lμ một ph−ơng pháp để phân phối các khóa một cách an toμn. Chính thẻ xác thực sẽ chứng minh định danh của client. Vì thẻ xác thực chỉ dùng một lần vμ có thời gian dùng ngắn nên đối ph−ơng khó lòng có thể ăn cắp thẻ vμ thẻ xác thực để dùng lại. TGS trả lời bằng thông báo (4) có dạng nh− thông báo (2). Thông báo đ−ợc mã bằng khóa phiên chia sẻ giữa TGS vμ C, nó chứa một khóa phiên cần chia sẻ giữa C vμ máy chủ V, định danh của V; IDV, nhãn thời gian của thẻ. Bản thân thẻ cũng chứa khóa phiên nμy. Lúc nμy C có thẻ cấp dịch vụ có thể dùng lại đối với V. Khi C trình thẻ nμy trong thông báo (5) nó cũng gửi kèm theo một thẻ xác thực (Authentication) Máy chủ V có thể giải mã thẻ, khôi phục khóa phiên vμ giải mã thẻ xác thực khi cần xác thực lẫn nhau, máy chủ có thể trả lời nh− thông báo (6). Máy chủ trả lại giá trị nhãn thời gian lấy từ thẻ xác thực đ−ợc tăng thêm 1 vμ đ−ợc mã bằng khóa phiên. C có thể giải mã thông báo nμy để khôi phục lại nhãn thời gian đã đ−ợc tăng. Vì thông báo đ−ợc mã bằng khóa phiên nên C đ−ợc đảm bảo rằng nó chỉ có thể đ−ợc tạo bởi V. Nội dung của thông báo đảm bảo với C rằng thông báo nμy không phải lμ dùng lại thông báo cũ. Cuối cùng, ở cuối quá trình, client vμ server cùng chia sẻ một khóa Giáo trình Mật mã học 284 bí mật. Khóa nμy có thể đ−ợc dùng để mã hóa các thông báo trong t−ơng lai cho hai bên hoặc để trao đổi khóa phiên ngẫu nhiên mới. Giải thích các yếu tố trong thủ tục Kv.4 a) Trao đổi dịch vụ xác thực Thông báo (1) Client yêu cầu thẻ cấp thẻ. IDC Báo cho AS định danh của ng−ời dùng từ client này IDtgs Báo cho AS biết rằng ng−ời dùng yêu cầu truy nhập TGS TS 1 Cho phép AS kiểm tra rằng đồng hồ của client đ−ợc đồng bộ với AS Thông báo (2) AS trả về thẻ cấp thẻ v,CKE Mã hóa dựa trên mật khẩu của ng−ời dùng, cho phép AS và client kiểm tra mật khẩu và bảo vệ nội dung của thông báo (2) KC, tgs Bản sao của khóa phiên đ−ợc tạo bởi AS mà client có thể sử dụng để thực hiện trao đổi bí mật giữa client và TGS (không yêu cầu chúng phải chia sẻ một khóa cố định) IDtgs Xác nhận rằng thẻ này là cho TGS TS 2 Báo cho client về thời gian mà thẻ này đệ trình. LT 2 Báo cho client về thời gian sống của thẻ này Thẻ tgs Thẻ cần đ−ợc client sử dụng để truy nhập TGS b) Trao đổi dịch vụ cấp thẻ Thông báo (3) Client yêu cầu thẻ cấp dịch vụ IDV Báo cho TGS rằng ng−ời dùng yêu cầu truy nhập tới máy chủ V. Thẻ tgs Đảm bảo cho TGS rằng ng−ời dùng này đ−ợc xác thực bởi AS. AuthenticatorC Đ−ợc tạo bởi client để xác nhận tính hợp lệ cho thẻ. Thông báo (4) TGS trả về thẻ cấp dịch vụ. tgs,CKE Khóa đ−ợc chia sẻ giữa C và TGS dùng bảo vệ nội dung của thông báo (4) tgs,CK Bản sao của khoá phiên đ−ợc tạo bởi AS. IDV Xác nhận rằng thẻ này là cho máy chủ V TS 4 Báo cho client về thời gian mà thẻ này đ−ợc đệ trình. Thẻ V Thẻ đ−ợc dùng bởi client để truy nhập vào máy chủ V. Thẻ tgs Có khả năng dùng lại để ng−ời dùng không phải vào lại mật khẩu. EKtgs Thẻ đ−ợc mã hóa bằng khóa chỉ có AS và TGS biết nhằm tránh phá rối (thu trộm) Ch−ơng 6: Các chuẩn và áp dụng 285 KC, tgs Bản sao của khóa phiên mà TGS có thể truy nhập đ−ợc dùng để giải mã thẻ xác thực nhờ đó xác thực thẻ IDC Báo chủ sở hữu hợp lệ của thẻ này ADC Tránh việc dùng thẻ từ một trạm làm việc khác với trạm đã yêu cầu thẻ IDtgs Đảm bảo cho máy chủ rằng nó đã giải mã đúng cho thẻ. TS 2 Báo cho TGS về thời gian mà thẻ này đ−ợc đệ trình. LT 2 Tránh dùng lại sau khi thẻ đã hết hạn. AuthenticatorC Đảm bảo cho TGS rằng ng−ời trình thẻ đúng là client mà thẻ đã đ−ợc trình cho nó, có thời gian sống ngắn để tránh dùng lại. CK ,tgsE Thẻ xác thực đ−ợc mã bằng khóa chỉ có client và TGS biết nhằm tránh thu trộm. ID C Phải phù hợp với ID trong thẻ để xác thực thẻ. AD C Phải phù hợp với địa chỉ trong thẻ để xác thực thẻ TS 2 Báo cho TGS về thời gian mà thẻ xác thực này đ−ợc tạo ra. c) Trao đổi xác thực Máy trạm/ máy chủ (Client/Server) Thông báo (5) Client yêu cầu dịch vụ. Thẻ V Đảm bảo với máy chủ rằng ng−ời dùng này đã đ−ợc AS xác nhận. AuthenticatorC Đ−ợc tạo bởi client để xác nhận tính hợp lệ cho thẻ. Thông báo (6) Xác thực (tùy chọn) của server đối với client. v,CKE Đảm bảo cho C rằng thông báo này là từ V. TS 5+1 Đảm bảo cho C rằng đây không phải là sự dùng lại của hồi đáp cũ. Thẻ V Có thể dùng lại để client không cần yêu cầu thẻ mới từ TGS đối với mỗi truy nhập tới cùng máy chủ. EKv Thẻ đ−ợc mã hóa bằng khóa chỉ có TGS và server biết nhằm tránh thu trộm. KC, V Bản sao của khóa phiên mà client có thể truy nhập, đ−ợc dùng để giải mã thẻ xác thực nhằm xác thực thẻ. IDC Báo chủ sở hữu hợp lệ của thẻ này. ADC Tránh việc dùng thẻ từ một trạm làm việc khác với trạm đã yêu cầu thẻ. IDV Đảm bảo cho server rằng nó đã giải mã đúng cho thẻ. TS 4 Báo cho server về thời gian mà thẻ này đ−ợc đệ trình. LT 4 Tránh dùng lại sau khi thẻ đã hết hạn. Giáo trình Mật mã học 286 AuthenticatorC Đảm bảo cho server rằng ng−ời trình thẻ đúng là client mà thẻ đã đ−ợc đ−a cho nó, có thời gian sống ngắn để tránh dùng lại. v,CKE Thẻ xác thực đ−ợc mã bằng khóa chỉ có server và client biết nhằm tránh thu trộm. IDC Phải phù hợp với ID trong thẻ để xác thực thẻ. ADC Phải phù hợp với địa chỉ trong thẻ để xác thực thẻ. TS5 Báo cho server về thời gian mà thẻ xác thực này đ−ợc tạo. Bμi tập 1. Nêu ý t−ởng thiết kế một hệ mật bảo vệ các tệp dữ liệu trên cơ sở phân tích PGP? 2. Cấu tạo của chữ ký kép? ý nghĩa của chữ ký kép trong th−ơng mại điện tử? 3. Vai trò của máy chủ xác thực trong Kenberos? 4. Hãy mô tả quá trình trao đổi dịch vụ xác thực trong K.V.4? Phần phụ lục Phần Phụ lục 289 Phụ lục 1 Lý thuyết thông tin trong các hệ mật Năm 1949, Claude Shannon đã công bố một bμi báo có nhan đề " Lý thuyết thông tin trong các hệ mật" trên tạp chí "The Bell System Technical Journal". Bμi báo đã có ảnh h−ởng lớn đến việc nghiên cứu khoa học mật mã. Trong ch−ơng nμy ta sẽ thảo luận một vμi ý t−ởng trong lý thuyết của Shannon. PL 1.1. độ mật hoμn thiện Có hai quan điểm cơ bản về độ an toμn của một hệ mật. Độ an toμn tính toán: Độ đo nμy liên quan đến những nỗ lực tính toán cần thiết để phá một hệ mật. Một hệ mật lμ an toμn về mặt tính toán nếu một thuật toán tốt nhất để phá nó cần ít nhất N phép toán, N lμ số rất lớn nμo đó. Vấn đề lμ ở chỗ, không có một hệ mật thực tế đã biết nμo có thể đ−ợc chứng tỏ lμ an toμn theo định nghĩa nμy. Trên thực tế, ng−ời ta gọi một hệ mật lμ "an toμn về mặt tính toán" nếu có một ph−ơng pháp tốt nhất phá hệ nμy nh−ng yêu cầu thời gian lớn đến mức không chấp nhận đ−ợc (Điều nμy tất nhiên lμ rất khác với việc chứng minh về độ an toμn). Một quan điểm chứng minh về độ an toμn tính toán lμ quy độ an toμn của một hệ mật về một bμi toán đã đ−ợc nghiên cứu kỹ vμ bμi toán nμy đ−ợc coi lμ khó. Ví dụ, ta có thể chứng minh một khẳng định có dạng " Một hệ mật đã cho lμ an toμn nếu không thể phân tích ra thừa số một số nguyên n cho tr−ớc". Các hệ mật loại nμy đôi khi gọi lμ " an toμn chứng minh đ−ợc". Tuy nhiên cần phải hiểu rằng, quan điểm nμy chỉ cung cấp một chứng minh về độ an toμn có liên quan đế một bμi toán khác chứ không phải lμ một Giáo trình Mật mã học 290 chứng minh hoμn chỉnh về độ an toμn (Tình hình nμy cũng t−ơng tự nh− việc chứng minh một bμi toán lμ NP đầy đủ: Có thể chứng tỏ bμi toán đã cho chí ít cũng khó nh− một bμi toán NP đầy đủ khác, song không phải lμ một chứng minh hoμn chỉnh về độ khó tính toán của bμi toán). Độ an toμn không điều kiện Độ đo nμy liên quan đến độ an toμn của các hệ mật khi không có một hạn chế nμo đ−ợc đặt ra về khối l−ợng tính toán mμ Oscar đ−ợc phép thực hiện. Một hệ mật đ−ợc gọi lμ an toμn không điều kiện nếu nó không thể bị phá thậm chí với khả năng tính toán không hạn chế. Khi thảo luận về độ an toμn của một hệ mật, ta cũng phải chỉ ra kiểu tấn công đang đ−ợc xem xét. Trong ch−ơng 3 đã cho thấy rằng, không một hệ mật nμo trong các hệ mã dịch vòng, mã thay thế vμ mã Vigenère đ−ợc coi lμ an toμn về mặt tính toán với ph−ơng pháp tấn công chỉ với bản mã (Với khối l−ợng bản mã thích hợp). Điều mμ ta sẽ lμm trong phần nμy lμ để phát triển lý thuyết về các hệ mật có độ an toμn không điều kiện với ph−ơng pháp tấn công chỉ với bản mã. Nhận thấy rằng, cả ba hệ mật nêu trên đều lμ các hệ mật an toμn vô điều kiện chỉ khi mỗi phần tử của bản rõ đ−ợc mã hoá bằng một khoá cho tr−ớc. Rõ rμng lμ độ an toμn không điều kiện của một hệ mật không thể đ−ợc nghiên cứu theo quan điểm độ phức tạp tính toán vì thời gian tính toán cho phép không hạn chế. ở đây lý thuyết xác suất lμ nền tảng thích hợp để nghiên cứu về độ an toμn không điều kiện. Tuy nhiên ta chỉ cần một số kiến thức sơ đẳng trong xác suất; các định nghĩa chính sẽ đ−ợc nêu d−ới đây. Định nghĩa 1.1 Giả sử X vμ Y lμ các biến ngẫu nhiên. Kí hiệu xác suất để X nhận giá trị x lμ p(x) vμ để Y nhận giá trị y lμ p(y). Xác suất đồng Phần Phụ lục 291 thời p(x, y) lμ xác suất để X nhận giá trị x vμ Y nhận giá trị y. Xác suất có điều kiện p(x⏐y) lμ xác suất để X nhận giá trị x với điều kiện Y nhận giá trị y. Các biến ngẫu nhiên X vμ Y đ−ợc gọi lμ độc lập nếu p(x, y) = p(x)p(y) với mọi giá trị có thể x của X vμ y của Y. Quan hệ giữa xác suất đồng thời vμ xác suất có điều kiện đ−ợc biểu thị theo công thức: ( ) ( ) ( )p x,y p x y p y= Đổi chỗ x vμ y ta có: ( ) ( ) ( )p x,y p y x p x= Từ hai biểu thức trên ta có thể rút ra kết quả sau: (đ−ợc gọi lμ định lý Bayes) Định lý 1.1: (Định lý Bayes) Nếu ( )p y 0> thì: ( ) ( ) ( )( ) p x p y x p x y p y = Hệ quả 1.2 X vμ Y lμ các biến độc lập khi vμ chỉ khi: ( ) ( )p x y p x= với mọi x,y. Trong phần nμy ta giả sử rằng, một khoá cụ thể chỉ dùng cho một bản mã. Giả sử có một phân bố xác suất trên không gian bản rõ P. Kí hiệu xác suất tiên nghiệm để bản rõ xuất hiện lμ pP (x). Cũng giả sử rằng, khóa K đ−ợc chọn (bởi Alice vμ Bob) theo một phân bố xác suất xác định nμo đó. (Thông th−ờng khoá đ−ợc chọn ngẫu nhiên, bởi vậy tất cả các khoá sẽ đồng khả năng, tuy nhiên đây không phải lμ điều bắt buộc). Kí hiệu xác suất để khóa K đ−ợc chọn lμ pK(K). Cần nhớ rằng khóa đ−ợc chọn tr−ớc khi Alice biết bản rõ. Bởi vậy có thể giả định rằng khoá K vμ bản rõ x lμ các sự kiện độc lập. Giáo trình Mật mã học 292 Hai phân bố xác suất trên P vμ K sẽ tạo ra một phân bố xác suất trên C. Thật vậy, có thể dễ dμng tính đ−ợc xác suất pP(y) với y lμ bản mã đ−ợc gửi đi. Với một khoá K ∈ K, ta xác định: ( ) ( ){ }KC K e x : x= ∈P ở đây C(K) biểu thị tập các bản mã có thể nếu K lμ khóa. Khi đó với mỗi y ∈ C, ta có : ( ) ( ) ( )( ) ( ){ } KK:y C K p y p K p d y ∈ = ∑C K P Nhận thấy rằng, với bất kì y ∈ C vμ x ∈ P, có thể tính đ−ợc xác suất có điều kiện ( )p y xC . (Tức lμ xác suất để y lμ bản mã với điều kiện bản rõ lμ x): ( ) ( ) ( ){ }KK:x d y p y x p K = = ∑C K Bây giờ ta có thể tính đ−ợc xác suất có điều kiện ( )p x yP (tức xác suất để x lμ bản rõ với điều kiện y lμ bản mã) bằng cách dùng định lý Bayes. Ta thu đ−ợc công thức sau: ( ) ( ) ( ) ( ){ } ( ) ( )( ) ( ){ } KK:x d y K K:y c K p x p K p y x p K p d y = ∈ = = ∑ ∑ K K P P P Các phép tính nμy có thể thực hiện đ−ợc nếu biết đ−ợc các phân bố xác suất. Sau đây sẽ trình bμy một ví dụ đơn giản để minh họa việc tính toán các phân bố xác suất nμy. Ví dụ 1.1 Giả sử { }a,b=P với ( )p a 1 4=P , ( )p b 3 4=P . Cho { }1 2 3K K ,K ,K= với ( )1p K 1 2=K , ( ) ( )2 3p K p K 1 4= =K K . Giả sử Phần Phụ lục 293 { }1,2,3,4=C vμ các hμm mã đ−ợc xác định lμ eK1(a) = 1, eK2(b) = 2, eK2(a) = 2, eK2(b) = 3, eK3(a) = 3, eK3(a) = 4. Hệ mật nμy đ−ợc biểu thị bằng ma trận mã hoá sau: a b K1 1 2 K2 2 3 K3 2 4 Tính phân bố xác suất pC ta có: pC (1) = 1/8 pC (2) = 3/8 + 1/16 = 7/16 pC (3) = 3/16 + 1/16 = 1/4 pC (4) = 3/16 Bây giờ ta đã có thể các phân bố xác suất có điều kiện trên bản rõ với điều kiện đã biết bản mã. Ta có: pP(a | 1) = 1 pP(b | 1) = 0 pP(a | 2) = 1/7 pP(b | 2) = 6/7 pP(a | 3) = 1/4 pP(b | 3) = 3/4 pP(a | 4) = 0 pP(b | 4) = 1 Bây giờ ta đã có đủ điều kiện để xác định khái niệm về độ mật hoμn thiện. Một cách không hình thức, độ mật hoμn thiện có nghĩa lμ Oscar với bản mã trong tay không thể thu đ−ợc thông tin gì về bản rõ. ý t−ởng nμy sẽ đ−ợc lμm chính xác bằng cách phát biểu nó theo các thuật ngữ của các phân bố xác suất định nghĩa ở trên nh− sau: Định nghĩa 1.2 Một hệ mật có độ mật hoμn thiện nếu ( ) ( )p x y p x=P P với mọi x ∈ P , y ∈ C Tức xác suất hậu nghiệm để bản rõ lμ x với điều kiện đã thu đ−ợc bản mã y lμ đồng nhất với xác suất tiên nghiệm để bản rõ lμ x. Trong ví dụ 2.1 chỉ có bản mã 3 mới thỏa mãn tính chất độ mật hoμn thiện, các bản mã khác không có tính chất nμy. Giáo trình Mật mã học 294 Sau đây sẽ chứng tỏ rằng, MDV có độ mật hoμn thiện. Về mặt trực giác, điều nμy d−ờng nh− quá hiển nhiên. Với mã dịch vòng, nếu đã biết một phần tử bất kỳ của bản mã y ∈ Z26, thì một phần tử bất kỳ của bản rõ x ∈ Z26 cũng có thể lμ bản mã đã giải của y tuỳ thuộc vμo giá trị của khoá. Định lý sau cho một khẳng định hình thức hóa vμ đ−ợc chứng minh theo các phân bố xác suất. Định lý 1.3 Giả sử 26 khóa trong MDV có xác suất nh− nhau vμ bằng1/26.Khi đó MDV sẽ có độ mật hoμn thiện với mọi phân bố xác suất của bản rõ. Chứng minh: Ta có P = C = K = Z26 vμ với 0 ≤ K ≤ 25, quy tắc mã hoá eK lμ ( )Ke x x K mod26= + (x ∈ 26). Tr−ớc tiên tính phân bố PC . Giả sử y ∈ Z26, khi đó: ( ) ( ) ( )( ) ( ) ( ) 26 26 26 K K Z K Z K Z p y p K p d y 1 26 p y K 1 26 p y K ∈ ∈ ∈ = = − = − ∑ ∑ ∑ C K P P P Xét thấy với y cố định, các giá trị y K mod26− sẽ tạo thμnh một hoán vị của Z26 vμ pP lμ một phân bố xác suất. Bởi vậy ta có: ( ) ( ) 26 26K Z K Z p y K p y 1 ∈ ∈ − = =∑ ∑P P Do đó ( )p y 1 26=C với bất kỳ y ∈ Z26. Tiếp theo ta có: ( ) ( )p y x p y x mod26 1 26= − =C K Với mọi x,y vì với mỗi cặp x,y, khóa duy nhất K (khóa đảm bảo eK(x) = y) lμ khóa K = y-x mod 26. Bây giờ sử dụng định lý Bayes, ta có thể dễ dμng tính: Phần Phụ lục 295 ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) p x p y x p x y p y p x . 1 26 1 26 p x = = = P C C C P P Bởi vậy, MDV có độ mật hoμn thiện. Nh− vậy, mã dịch vòng lμ hệ mật không phá đ−ợc miễn lμ chỉ dùng một khoá ngẫu nhiên để mã hoá mỗi ký tự của bản rõ. Sau đây sẽ nghiên cứu độ mật hoμn thiện trong tr−ờng hợp chung. Tr−ớc tiên thấy rằng, (sử dụng định lý Bayes) điều kiện để pP (x | y) = pP (x) với mọi x∈P , y∈P lμ t−ơng đ−ơng với pC (y | x) = pC (y) với mọi x∈P , y∈P . Giả sử rằng pC (y) > 0 với mọi y∈C (pC (y) = 0 thì bản mã sẽ không đ−ợc dùng vμ có thể loại khỏi C ). Cố định một giá trị nμo đó x∈P. Với mỗi y∈C ta có pC (y | x) = pC (y) > 0. Bởi vậy, với mỗi y∈C phải có ít nhất một khoá K sao cho eK(x) = y. Điều nμy dẫn đến |K | ≥ | C |. Trong một hệ mật bất kỳ ta phải có |C | ≥ | P | vì mỗi quy tắc mã hoá lμ một đơn ánh. Trong tr−ờng hợp giới hạn, |K | = |C | = | P |, ta có định lý sau (Theo Shannon). Định lý 1.4 Giả sử (P,C, K, E, D) lμ một hệ mật, trong đó |K | = | C | = | P |. Khi đó, hệ mật có độ mật hoμn thiện khi vμ mỗi khi khóa K đ−ợc dùng với xác suất nh− nhau bằng 1/|K | , vμ mỗi x ∈ P, mỗi y ∈ C có một khóa duy nhất K sao cho eK(x) = y. Chứng minh Giả sử hệ mật đã cho có độ mật hoμn thiện. Nh− đã thấy ở trên, với mỗi x ∈P vμ y ∈C , phải có ít nhất một khoá K sao cho eK(x) = y. Bởi vậy ta có bất đẳng thức: Giáo trình Mật mã học 296 ( ){ }Ke x : K= ∈ =C C K Tuy nhiên, ta giả sử rằng |C | = |K | . Bởi vậy ta phải có: ( ){ }Ke x : K∈ =C K Tức lμ ở đây không tồn tại hai khoá K1 vμ K2 khác nhau để ( ) ( )K1 K2e x e x y= = . Nh− vậy ta đã chứng tỏ đ−ợc rằng, với bất kỳ x ∈P vμ y ∈C có đúng một khóa K để eK(x) = y. Ký hiệu n = |K | . Giả sử P = {xi: 1 ≤ i ≤ n} vμ cố định một giá trị y ∈C. Ta có thể ký hiệu các khoá K1, K2,. . ., Kn sao cho eKi (xi ) = yi, 1 ≤ i ≤ n. Sử dụng định lý Bayes ta có: ( ) ( ) ( )( ) ( ) ( )( ) ( ) i i i 1 i p y x p x p x y p y p K . p x p y = = C P P C K P C Xét điều kiện độ mật hoμn thiện ( ) ( )i ip x y p x=P P Điều kiện nμy kéo theo ( )( )ip K p y=K C với 1 ≤ i ≤ n. Tức lμ khoá đ−ợc dùng với xác suất nh− nhau (chính bằng pC(y)). Tuy nhiên vì số khoá lμ |K | nên ta có pK(K) =1/ |K | với mỗi K ∈K . Ng−ợc lại, giả sử hai điều giả định đều thoả mãn. Khi đó dễ dμng thấy đ−ợc hệ mật có độ mật hoμn thiện với mọi phân bố xác suất bất kỳ của bản rõ (t−ơng tự nh− chứng minh định lý 2.3). Các chi tiết dμnh cho bạn đọc xem xét. Mật mã khoá sử dụng một lần của Vernam (One-Time- Pad:OTP) lμ một ví dụ quen thuộc về hệ mật có độ mật hoμn thiện. Gillbert Vernam lần đầu tiên mô tả hệ mật nμy vμo năm 1917. Hệ OTP dùng để mã vμ giải mã tự động các bản tin điện báo. Điều thú vị lμ trong nhiều năm OTP đ−ợc coi lμ một hệ mật không thể bị phá nh−ng không thể chứng minh cho tới khi Shannon xây dựng đ−ợc khái niệm về độ mật hoμn thiện hơn 30 năm sau đó. Phần Phụ lục 297 Mô tả về hệ mật dùng một lần nêu trên hình PL 1.1. Giả sử n ≥ 1 là số nguyên và P = C = K = (Z2)n. Với K (Z2)n , ta xác định eK(x) là tổng véc tơ theo modulo 2 của K và x (hay t−ơng đ−ơng với phép hoặc loại trừ của hai dãy bit t−ơng ứng). Nh− vậy, nếu x = (x1,..., xn ) và K = (K1,..., Kn ) thì: e K(x) = (x1 + K1,..., xn + Kn) mod 2. Phép mã hoá là đồng nhất với phép giải mã. Nếu y = (y1,..., yn ) thì: d K(y) = (y1 + K1,..., yn + Kn) mod 2. Hình PL 1.1: Hệ mật sử dụng khoá một lần (OTP) Sử dụng định lý 2.4, dễ dμng thấy rằng OTP có độ mật hoμn thiện. Hệ thống nμy rất hấp dẫn do dễ thực hiện mã vμ giải mã. Vernam đã đăng ký phát minh của mình với hy vọng rằng nó sẽ có ứng dụng th−ơng mại rộng rãi. Đáng tiếc lμ có những nh−ợc điểm quan trọng đối với các hệ mật an toμn không điều kiện, chẳng hạn nh− OTP. Điều kiện |K | ≥ | P | có nghĩa lμ l−ợng khóa (cần đ−ợc thông báo một cách bí mật) cũng lớn nh− bản rõ. Ví dụ, trong tr−ờng hợp hệ OTP, ta cần n bit khóa để mã hoá n bit của bản rõ. Vấn đề nμy sẽ không quan trọng nếu có thể dùng cùng một khoá để mã hoá các bản tin khác nhau; tuy nhiên, độ an toμn của các hệ mật an toμn không điều kiện lại phụ thuộc vμo một thực tế lμ mỗi khoá chỉ đ−ợc dùng cho một lần mã. Ví dụ OTP không thể đứng vững tr−ớc tấn công chỉ với bản rõ đã biết vì ta có thể tính đ−ợc K bằng phép hoặc loại trừ xâu bít bất kỳ x vμ eK(x). Bởi vậy, cần phải tạo một khóa mới vμ thông báo nó trên một kênh bảo mật đối với mỗi bản tin tr−ớc khi gửi đi. Điều nμy tạo ra khó khăn cho vấn đề quản lý khoá vμ gây hạn chế cho việc sử dụng rộng rãi OTP. Tuy nhiên OTP vẫn đ−ợc áp dụng trong lĩnh vực quân sự vμ ngoại giao, ở những lĩnh vực nμy độ an toμn không điều kiện có tầm quan trọng rất lớn. Lịch sử phát triển của mật mã học lμ quá trình cố gắng tạo các hệ mật có thể dùng một khoá để tạo một xâu bản mã t−ơng đối Giáo trình Mật mã học 298 dμi (tức có thể dùng một khóa để mã nhiều bản tin) nh−ng chí ít vẫn còn giữ đ−ợc độ an toμn tính toán. Chuẩn mã dữ liệu (DES) lμ một hệ mật thuộc loại nμy. PL 1.2. ENTROPI Trong phần tr−ớc ta đã thảo luận về khái niệm độ mật hoμn thiện vμ đặt mối quan tâm vμo một tr−ờng hợp đặc biệt, khi một khoá chỉ đ−ợc dùng cho một lần mã. Bây giờ ta sẽ xét điều sẽ xảy ra khi có nhiều bản rõ đ−ợc mã bằng cùng một khoá vμ bằng cách nμo mμ thám mã có thể thực hiện có kết quả phép tấn công chỉ với bản mã trong thời gian đủ lớn. Công cụ cơ bản trong nghiên cứu bμi toán nμy lμ khái niệm entropi. Đây lμ khái niệm trong lý thuyết thông tin do Shannon đ−a ra vμo năm 1948. Có thể coi entropi lμ đại l−ợng đo thông tin hay còn gọi lμ độ bất định. Nó đ−ợc tính nh− một hμm phân bố xác suất. Giả sử ta có một biến ngẫu nhiên X nhận các giá trị trên một tập hữu hạn theo một phân bố xác suất p(X). Thông tin thu nhận đ−ợc bởi một sự kiện xảy ra tuân theo một phân bố p(X) lμ gì?. T−ơng tự, nếu sự kiện còn ch−a xảy ra thì cái gì lμ độ bất định vμ kết quả? Đại l−ợng nμy đ−ợc gọi lμ entropi của X vμ đ−ợc kí hiệu lμ H(X). Các ý t−ởng nμy có vẻ nh− khá trìu t−ợng, bởi vậy ta sẽ xét một ví dụ cụ thể hơn. Giả sử biến ngẫu nhiên X biểu thị phép tung đồng xu. Phân bố xác suất lμ: p(mặt sấp) = p(mặt ngửa) = 1/2. Có thể nói rằng, thông tin (hay entropi) của phép tung đồng xu lμ một bit vì ta có thể mã hoá mặt sấp bằng 1 vμ mặt ngửa bằng 0. T−ơng tự entropi của n phép tung đồng tiền có thể mã hoá bằng một xâu bít có độ dμi n. Xét một ví dụ phức tạp hơn một chút. Giả sử ta có một biến ngẫu nhiên X có 3 giá trị có thể lμ x1, x2, x3 với các xác suất t−ơng Phần Phụ lục 299 ứng bằng 1/2, 1/4, 1/4. Cách mã hiệu quả nhất của 3 biến cố nμy lμ mã hoá x1 lμ 0, mã của x2 lμ 10 vμ mã của x3 lμ 11. Khi đó số bít trung bình trong phép mã hoá nμy lμ: 1/2 ì 1 +1/4 ì 2 + 1/4 ì 2 = 3/2. Các ví dụ trên cho thấy rằng,

Các file đính kèm theo tài liệu này:

  • pdfgiao_trinh_mat_ma_hoc_phan_2.pdf
Tài liệu liên quan