1. Trang chủ
  2. » Kinh Doanh - Tiếp Thị

Mật mã khối và mật mã khóa đối xứng

16 275 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 16
Dung lượng 1,3 MB

Nội dung

Giáo trình An toàn & Bảo mật Thông tin 2012 CHƯƠNG Mật mã khối mật mã khóa đối xứng Các khái niệm nguyên lý thiết kế sở Các hệ mật mã cổ điển giới thiệu chương trước thuộc loại mật mã dòng (stream cipher), phép biển đổi mật mã thực ký tự độc lập Tuy nhiên ngày ưa chuộng sử dụng kiểu mật mã khác – mật mã khối (block cipher) khối nhiều ký tự mã hóa lúc Trong mật mã khối, tham số quan trọng kích thước (độ dài khối) kích thước khóa Các khái niệm minh họa qua ví dụ sau Ví dụ 2.1 Bảng sau biểu diễn thuật toán mã hóa theo khối key 000 001 010 011 100 101 110 111 001 111 110 000 100 010 101 011 001 110 111 100 011 010 000 101 001 000 100 101 110 111 010 011 100 101 110 111 000 001 010 011 101 110 100 010 011 001 011 111 Theo bảng này, liệu plaintext 010100110111 đươc mã hóa thành: 010 100 110 111  111 011 000 101 theo key=1 010 100 110 111  100 011 011 111 theo key=4 Ở số lượng khóa 5, 22 < < 23 nên cần bit để biểu diễn lưu giữ khóa, tức kich thước khóa Đồng thời kích thước khối Cũng qua ví dụ đơn giản (chỉ có tính chất minh họa), ta thấy tham số kích thước khối khóa qua nhỏ mật mã dễ bị phá công thông qua phân tích thống kê Chẳng hạn ví dụ trên, kẻ thù nhận khối mã ciphertext 001 dễ dàng suy plaintext tương ứng 000 101 (nhờ thống kê bảng biến đổi mã) Vì vây, điều kiện cần cho mật mã khối an toàn là: TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An toàn & Bảo mật Thông tin 2012  Kích thước khối phải đủ lớn để chống lại loại công phá hoại phương pháp thống kê Tuy nhiên cần lưu ý kích thước khối lớn làm thời gian trễ lớn  Không gian khóa phải đủ lớn (tức chiều dài khóa phải đủ lớn) để chống lại tìm kiếm vét cạn.Tuy nhiên mặt khác, khóa cần phải đủ ngắn để việc làm khóa, phân phối lưu trữ hiệu Về nguyên lý thiết kế mật mã khối, người ta ghi nhận nguyên tắc sở sau để có bảo mật cao, việc tạo confusion (tính hỗn loạn, rắc rối) diffusion (tính khuếch tán) Confusion (Hỗn loạn, rắc rối) Sự phụ thuộc mã rõ phải thực phức tạp để gây rắc rối, cảm giác hỗn loạn kẻ thù có ý định phân tích tìm qui luật để phá mã Quan hệ hàm số mã-tin phi tuyến (non-linear) Diffusion (Khuếch tán) Làm khuếch tán mẫu văn mang đặc tính thống kê (gây dư thừa ngôn ngữ) lẫn vào toàn văn Nhờ tạo khó khăn cho kẻ thù việc dò phá mã sở thống kê mẫu lặp lại cao Sự thay đổi bit khối rõ phải dẫn tới thay đối hoàn toàn khối mã tạo Một cách đơn giản nhất, confusion thực phép thay (substitution) diffusion tạo phép chuyển đổi chỗ (transposition/permutation) hay hoán vị Toàn sơ đồ biến đổi mật mã lưới biến đổi thay thế-hoán vị (substitutionpermutation network) Ví du 2.2: Phép hoán vị cột: Để mã hóa “computer security”, ta viết lại thành nhiều hàng cột c o m p u t e r s e c u r i t y Mã tạo cách viết lại theo cột: C T C Y O E U M R R P S I U E T Bên cạnh nguyên tắc tạo tính bảo mật nói trên, việc thiết kế mật mã khối đề cao nguyên tắc cài đặt hiệu quả.:  Cài đặt cho phần mềm cần đảm bảo tính mềm dẻo giá thành thấp  Cài đặt cho phần cứng cần đảm bảo tốc độ cao tính kinh tế TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An toàn & Bảo mật Thông tin 2012 Để đáp ứng tốt nguyên lý thiết kế nêu trên, thuật toán mật mã khối thường tổ chức cấu trúc nhiều vòng lặp Khái niệm vòng lặp Một cách phổ biến, hệ mã khối thường thiết kế theo cấu trúc nhiều vòng lặp với vòng lặp lại gọi thực hàm f sở (nhưng với tham số khác nhau) Theo đó, đầu vào vòng lặp đầu vòng lặp trước khóa phát sinh từ khóa đầy đủ dựa thuật toán lập lịch khóa (key scheduler), hay gọi thuật toán sinh khóa Giải mã trình ngược, khóa sử dụng vòng lặp lập lịch để sử dụng theo thứ tự ngược Hình 2.1 Sơ đồ minh họa cấu trúc 16 vòng lặp, với đầu vào có kích thức 64 bits (Nguồn: Wikipedia) Có hai khối hoán vị đầu cuối (IP FP) Hàm F sở nhận đầu vào 32 bits, tác động rộng khắp qua vòng nhờ hoán vị nửa trái phải Thông thường, hàm sở vòng lặp f thiết kế có tính chất đặc biệt tính đối hợp hàm (involution), tức hàm ngược nó: f = f-1 f(f(x)) = x Ví dụ 2.3 Ta xét phép biến đổi f với miền xác định: x  {tập chuỗi nhị phân độ dài 3} TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An toàn & Bảo mật Thông tin 2012 123  f   (bit thứ thứ hai đổi chỗ cho nhau, bit thứ ba giữ nguyên)  213 Như ta có f hàm có tính đối hợp, chẳng hạn cụ thể là: f(101) = 011; từ f(f(101)) = 101 Chúng ta tìm hiểu chi tiết hệ mã khối điển hình, chuẩn mật mã DES (Data Encryption Standard); chuẩn đời vào năm 1977 thống trị ứng dụng mật mã suốt thập kỷ sau Tuy nhiên chuẩn mật mã trở nên lạc hâu, an toàn thay chuẩn AES (Advanced Encryption Standard) Chuẩn mật mã DES Lịch sử DES Vào năm đầu thập kỷ 70, nhu cầu có chuẩn chung thuật toán mật mã trở nên rõ ràng Các lý là:  Sự phát triển công nghệ thông tin nhu cầu an toàn & bảo mật thông tin: đời mạng máy tính tiền thân Internet cho phép khả hợp tác liên lạc số hóa nhiều công ty, tổ chức dự án lớn phủ Mỹ  Các thuật toán ‘cây nhà vườn’ (ad hoc) đảm bảo tính tin cậy đòi hỏi cao  Các thiết bị khác đòi hỏi trao đổi thông tin mật mã thống nhất, chuẩn Một chuẩn chung cần thiết phải có với thuộc tính như: Bảo mật mức cao Thuật toán đặc tả công khai hoàn toàn, tức tính bảo mật không phép dựa phần che giấu đặc biệt thuật toán Việc cài đặt phải dễ dàng để đem lại tính kinh tế Phải mềm dẻo để áp dụng cho muôn vàn nhu cầu ứng dụng Năm 1973, Cục quản lý chuẩn quốc gia Mỹ có văn cổ động cho việc tạo lập hệ mật mã chuẩn quan đăng ký liên bang Mỹ Điều dẫn đến công bố vào năm 1977 cục An ninh Quốc gia Mỹ (NSA) Data Encryption Standard, viết tắt DES Thực chất, DES phát triển IBM sửa đổi hệ mã trước biết với tên Lucipher Trong khoảng thập kỷ tiếp theo, DES hệ mã dùng rộng rãi gây nhiều nghi ngờ, tranh cãi lĩnh vực này: xung quanh nguyên tắc thiết kế đảm bảo tính mật, chiều dài khóa tương đối ngắn khả NSA che giấu cửa sau TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An toàn & Bảo mật Thông tin 2012 (backdoor) để bẻ khóa, phá mã tốn thông thường Thuật toán lưu đồ hoạt động DES Các hình vẽ sau cung cấp sơ đồ khái quát chi tiết thuật toán sinh mã DES X1 Y1 X2 Y2  X 64  DES  Y64  Z1 Z  Z 56 Hình 2.2 Sơ đồ DES: đầu vào DES khối độ dài 64 bits, đầu 64 bits khóa 56 bits INPUT 64 Bits L0 32 Bits 32 Bits K1 f L1  R0 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits 32 Bits R15  L14  f ( R14 , K 15 ) K 16 f L16  L15  f ( R15 , K 16 ) R2  L1  f ( R1 , K ) Ki f L15  R14 R1  L0  f ( R0 , K1 ) K2 f L2  R1 R0 32 Bits R16  R15 64 Bits OUTPUT Hình 2.3 Sơ đồ giải thuật sinh mã DES với cấu trúc 16 vòng lặp Sơ đồ hình vẽ 2.3 cho thấy DES cấu tạo 16 bước lặp với bước lặp sở gọi hàm TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An toàn & Bảo mật Thông tin 2012 chuyển đổi phi tuyến f; 16 bước lặp kẹp vào hai tác tử giao hoán IP IP-1 Hai tác từ ý nghĩa mặt bảo mật mà hoàn toàn nhằm tạo điều kiện cho việc cài đặt phần cứng, ‘chip hóa’ thuật toán DES Hàm sở f nguồn gốc sức mạnh bảo mật thuật toán DES Sự lặp lại nhiều lần bước lặp với tác dụng f nhằm tăng cường tính confusion diffusion có f Thuật toán sinh khóa 16 vòng lặp DES gọi thực f với tham số khóa khác Tất 16 khóa khác này, gọi khóa con, sinh từ khóa DES thuật toán sinh khóa Trong thuật toán sinh khóa (lập lịch khóa), khóa K, 64 bit, qua 16 bước biến đổi, bước khóa sinh với độ dài 48 bit Hình 2.4 Sơ đồ thuật toán sinh khóa (Key Scheduler) – Nguồn: Wikipedia Qua sơ đồ thuật toán sinh khóa thấy thực có 56 bit khóa sử dụng, bit lại mã kiểm tra chẵn lẻ (parity bits) bị lọc biến đổi PC1 Các biến đổi PC1 PC2 đơn giản vừa chọn lọc vừa hoán vị (PC = permuted choice = lựa chọn có hoán vị) Các biến đổi R1 R2 (left rotate bit bit) tương ứng phép đẩy bit trái vị trí Cấu trúc vòng lặp DES Mỗi vòng lặp DES thực sở công thức sau: (Li,Ri) = (Ri-1, Li-1  f (Ri-1,Ki)) TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An toàn & Bảo mật Thông tin 2012 đó, (Li,Ri) nửa trái phải thu từ biến đổi vòng lặp thứ i Ta viết lại (Li,Ri) = T F (Ri-1,Ki)) Trong F phép thay Li-1 Li-1  f (Ri-1,Ki), T phép đổi chỗ hai thành phần L R Tức biến đổi vòng lặp DES coi tích hàm số F T (trừ vòng cuối T) Ta viết lại toàn thuật toán sinh mã DES dạng công thức tích hàm số sau: DES = (IP)-1F16TF15T F2TF1 (IP) Thuật toán giải mã DES xây dựng giống hệt thuật toán sinh mã có khóa sử dụng theo thứ tự ngược lại, tức dùng khóa K16 cho vòng lặp 1, khóa K15 cho vòng lặp Vì vậy, thuật toán giải mã viết lại dạng công thức sau: DES-1 = (IP)-1F1TF2T F15TF16 (IP) Bây ý hàm T F hàm có tính chất đối hợp (f=f-1, hay f(f(x) =x) Do ta thực phép tích hàm DES-1DES hay DES DES-1 thu phép đồng Điều giải thích thuật toán giải mã lại giống hệt sinh mã có khác thứ từ chuỗi khóa Bài tập Bạn đọc tự chứng minh tính đối hợp T F đồng thời rõ x= DES ( DES-1 (x) với x chuỗi nhị phân 64 bit Cấu trúc cụ thể hàm f Sơ đồ biến đổi cụ thể hàm f minh họa hình 2.5 Trước hết, 32 bit thành phần Ri-1 mở rộng thành 48 bit thông qua biến đổi E (expansion: mở rộng với lặp lại số bit) đem XOR với 48 bit khóa Ki Tiếp theo, 48 bit kết phân thành nhóm bit Mỗi nhóm vào biến đổi đặc biệt gọi biến đổi S-box (có S-box khác ứng với nhóm bit) cho kết nhóm bit Từ đó, 32 bit hợp thành (sau qua S-box khác nhau) hoán vị lại theo hàm hoán vị P để đưa kết cuối hàm f (tức nhân Fi) TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An toàn & Bảo mật Thông tin 2012 Hình 2.5 Cấu trúc biến đổi hàm f, bước lặp sở DES Nguồn: Wikipedia Cấu trúc S-Box Như ta biết nhóm bit vào biến đổi S1,S2 S8 Mỗi S-box bao gồm bảng biến đổi dòng, thực chất biến đổi hoán vị cho 16 tổ hợp bits Trong bits đầu vào hai bit (bit 6) dùng để định bảng biến đổi dòng này; chúng gọi bit điều khiển trái phải (CL CR) Còn lại bit (các bit 2-5) nhóm bit đầu vào tổ hợp bits bị biến đổi Middle bits of input 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 0010 1100 0100 0001 0111 1010 1011 0110 1000 0101 0011 1111 1101 0000 1110 1001 Outer 01 1110 1011 0010 1100 0100 0111 1101 0001 0101 0000 1111 1010 0011 1001 1000 0110 bits 10 0100 0010 0001 1011 1010 1101 0111 1000 1111 1001 1100 0101 0110 0011 0000 1110 11 1011 1000 1100 0111 0001 1110 0010 1101 0110 1111 0000 1001 1010 0100 0101 0011 S5 Hình 2.6 Bảng biến đổi S5: đầu vào bits 011011 biến đổi thành 1001 (ô vàng) Các thuộc tính S-Box Các nguyên tắc thiết kế S-box đưa vào lớp thông tin mật ‘Classified information’ Mỹ Mặc dù vây, NSA tiết lộ thuộc tính S-boxes, thuộc tính bảo đảm tính confusion & diffusion thuật toán Các bít vào (output bit) phụ thuộc không tuyến tính vào bít (input bit) Sửa đổi bit vào làm thay đổi hai bit Khi bit vào giữ cố định bit lại cho thay đổi S-boxes thể tính TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An toàn & Bảo mật Thông tin 2012 chất gọi ‘phân bố đồng ‘ (uniform distribution): so sánh số lượng bit số đầu mức cân Tính chất khiến cho việc áp dụng phân tích theo lý thuyết thông kê để tìm cách phá S-boxes vô ích Rõ ràng, tính chất đảm bảo tốt confusion & diffusion Thực tế, sau vòng lặp tất bit DES chịu ảnh hưởng tất bit vào tất bit khóa Hơn phụ thuộc phức tạp Tuy nhiên sau số công đề xuất cho thấy vòng lặp chưa đủ để bảo mật (điều cho thấy NSA biết trước dạng công nên qui định số vòng lặp 16 từ đầu) Chính cấu tạo S-box gây tranh luận mạnh mẽ thập kỷ 70-90 khả quan NSA (National Security Agency), Mỹ, che dấu số đặc tính S-box hay cài bên cửa bẫy (trapdoor) mà qua họ dễ dàng phá giải mã người bình thường (biết bí mật giản lược không gian khóa 256 để tìm kiếm vét cạn nhanh hơn) Sự phát sau công mới, mạnh công vi phân, củng cố nghi ngờ giới khoa học Các điểm yếu DES 1.Tính bù Ký hiệu u phần bù u (ví dụ 0100101 1011010 bù nhau) DES có tính chất sau: y = DESz (x)  y  DES z ( x ) Cho nên biết MÃ y mã hóa từ TIN x với khóa z ta suy y mã hóa từ TIN x với khóa z Tính chất điểm yếu DES nhờ kẻ địch loại trừ nửa số khóa cần phải thử tiến hành phép thử-giải mã theo kiểu tìm kiếm vét cạn không gian khóa Khóa yếu Các khóa yếu khóa mà theo thuật toán sinh khóa tất 16 khóa Z1 = Z2 = Z3 = =Z15 = Z16 điều khiến cho phép sinh mã giải mã khóa yếu giống hệt DESz = DES-1z Có tất khóa yếu sau: 1) [00000001 00000001 00000001] TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An toàn & Bảo mật Thông tin 2012 2) [11111110 11111110 11111110] 3) [11100000 11100000 11100000 11100000 11110001 11110001 11110001 11110001] 4) [00011111 00011111 00011111 00011111 00001110 00001110 00001110 00001110] Đồng thời có 10 khóa yếu với thuộc tính tồn Z, Z’ cho DES-1z = DESz’ DES-1z’ = DESz Tấn công phương pháp vét cạn (hay brute-force attack) DES có 256=1017 khóa Nếu biết cặp plaintext-ciphertext thử tất 1017 khả để tìm khóa cho kết khớp Giả sử phép thử quãng 10-6s (trên máy PC thông thường), thử 1011s tức 7300 năm! Nhưng nhớ sử dụng máy tính thông thường, có máy tính chế tạo theo nguyên lý xử lý song song Chẳng hạn làm thiết bị với 107 chip mật mã DES chạy song song chip phải chịu trách nhiệm tính toán với 1010 phép thử Chip mã DES ngày xử lý tới tốc độ 4.5 x 107bits/s tức làm 105 phép mã DES giây Diffie Hellman (1977) ước lượng chế máy tính chuyên dụng để vét cạn không gian khóa DES trong1/2 ngày với giá cho máy 20 triệu đô la Cái giá tính toán lại giảm xuống $200,000 vào năm 1987 Vì DES bị phê bình từ đời có kích thước khóa ngắn! Hiện có thiết kế cụ thể cho loại máy tính chuyên dụng phá khóa dựa kỹ thuật xử lý song song tiên tiến cho biết thiết bị kiểu có giá khoảng $10,000 cho kết ngày Sau đoạn trích, tham khảo từ nguồn Wikipedia (theo từ khóa DES): In academia, various proposals for a DES-cracking machine were advanced In 1977, Diffie and Hellman proposed a machine costing an estimated US$20 million which could find a DES key in a single day By 1993, Wiener had proposed a key-search machine costing US$1 million which would find a key within hours However, none of these early proposals were ever implemented—or, at least, no implementations were publicly acknowledged The vulnerability of DES was practically demonstrated in the late 1990s In 1997, RSA Security sponsored a series of contests, offering a $10,000 prize to the first team that broke a message encrypted with DES for the contest That contest was won by the DESCHALL Project, led by Rocke Verser, Matt Curtin, and Justin Dolske, using idle cycles of thousands of computers across the Internet The feasibility of cracking DES quickly was demonstrated in 1998 when a custom DES-cracker was built by theElectronic Frontier Foundation (EFF), a cyberspace civil rights group, at the cost of approximately US$250,000 (see EFF DES cracker) Their motivation was to show that DES was breakable in practice as well as in theory: "There are many people who will not believe a truth until they can see it with their own eyes Showing them a physical machine that can crack DES in a few days is the only way to convince some people that they really cannot trust their security to DES." The machine brute-forced a key in a little more than days search Tăng kích thước khóa DES Nếu ta dùng nhiều khối DES nối tiếp làm tăng kích thước khóa Tuy nhiên ý nối hai khối DES với hai khóa khác không kích thước khóa TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 10 Giáo trình An toàn & Bảo mật Thông tin 2012 hệ thống tăng gấp đôi thành 56 *2 =112 bits mà 57 bit Bài tập Hãy giải thích Sơ đồ 3-DES đây, trái lại, thực cung cấp hệ mã với độ dài khóa 112 bits TIN DES DES-1 K1 K2 DES MÃ K3 Hình 2.7 Sơ đồ 3-DES (Triple-DES) Các dạng công khác Differential Cryptanalysis Được công bố lần đầu E Biham A Shamir vào cuối năm 80 (thế kỷ trước), nhiên thực tế biết đến từ lâu không công bố IBM NSA (Cục An ninh Quốc gia Mỹ) Để phá DES với đầy đủ 16 vòng lặp, công cần tới 249 rõ chọn trước (chosen plaintext) Để có khối lượng rõ xảy thực tế, điều cho thấy DES thiết kế ban đầu để tránh công Linear Cryptanalysis Tấn công phát Matsui vào năm 1994, cần 243 rõ chọn trước Các hệ mật mã khối khác Các mật mã khối khác (Cho đến năm 1999) Qua thời gian, có nhiều thuật toán mật mã khối khác đề xuất cộng đồng khoa học mật mã FEAL (-4, -8, -N, -NX), NewDES, LOKI91, Blowfísh, RC2, MMB, IDEA Tuy nhiên, nhiều số bị phá giải có điểm yếu định Điều chứng tỏ đề xuất thuật toán mã khối tốt thay DES đơn giản Trong số nói IDEA (1990) xem thuật toán có độ an toàn cao nhất, chưa có công bố nói lên điểm yếu đáng kể DES, kể từ năm 1990 có nhiều loại công mạnh sử dụng để thử phá giải IDEA thuật toán dùng PGP (Pretty Good Privacy) - giải pháp bảo mật không thương mại gần cho phép người dùng Internet sử dụng cho nhu cầu thỏa mãn bí mật riêng e-mail IDEA làm việc với liệu khối 64 bit, với khóa128 bit nên việc thay sử dụng IDEA cho DES khó khăn lớn TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 11 Giáo trình An toàn & Bảo mật Thông tin 2012 Mật mã AES Vào năm 2000, quan quản lý chuẩn công nghệ Mỹ, NIST (National Institute of Standard and Technology), tổ chức thi để chọn hệ mật mã thay cho DES Hệ mã Rijndael chọn công bố (2002) chuẩn mật mã thay cho DES, với tên gọi Advanced Encryption Standard (AES) Vào đến vòng có ứng viên khác RC6, Serpent, MARS Twofish Hệ mã phát triển nhà khoa học Bỉ, Joan Daemen Vincent Rijnmen (vì tên gọi Rijndael tạo từ việc ghép tiền tố tên họ ông này) AES xây dựng nguyên lý thiết kế lưới giao hoán – thay (substitution-permutation network) Đây hệ mã có tốc độ tốt cài đặt phần mềm phần cứng Khác với DES, AES không theo mẫu thiết kế mạng Feistel Thay vào thao tác thực khối ma trận liệu 4*4 (bytes), gọi trạng thái (state) Số vòng lặp AES tham số xác định sở kích thước khóa: 10 vòng lặp cho khóa 128bit, 12 cho 192 bit, 14 cho 256bit Giáo trình không sâu tìm hiểu AES Sinh viên khuyến khích tìm đọc thêm từ tài liệu tham khảo AES Các chế độ sử dụng Mã khối Thuật toán mã khối có đầu vào đầu khối có độ dài xác định (như DES 64bit) Để mã hóa liệu có độ dài tùy ý ta phải cắt liệu thành nhiều khối đơn vị áp dụng thuật toán mã nhiều lần, sau kết hợp khối liệu thu theo sơ đồ Có nhiều loại sơ đồ, hay gọi chế độ mật mã khác nhau, với ưu nhược điểm khác áp dụng cho nhu cầu khác Sau số chế độ hay dùng Chế độ bảng tra mã điện tử (Electronic code book - ECB) Trong chế độ này, khối tạo mật mã riêng biệt, độc lập Do đó, khối tin giống mã hóa thành khối mã giống Điều trở nên nguy hiểm, tạo miếng đất màu mỡ cho kẻ địch vận dụng công replay thao tác biên tập theo khối Kẻ thù nghe trộm tìm cách thu thập mẫu tin-mã phổ biến, sau cắt ghép trộn lẫn để tạo mã giả mã bên nhận không phát Ví dụ: Nếu ECB sử dụng truyền tin mật giao dịch ngân hàng, kẻ địch công làm giả thông báo, lệnh chuyển tài khoản Nhược điểm nói khiến cho việc truyền tin mật theo chế độ mã lợi, nhiên chế độ thường dùng mã hóa thông tin lưu trữ, ví dụ sở liệu cho phép đơn vị liệu mã hóa độc lập cập nhật thay đổi dễ TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 12 Giáo trình An toàn & Bảo mật Thông tin 2012 dàng phần mà không động chạm đến phần khác sở liệu Hình 2.8 Sơ đồ chế độ mật mã ECB Chế độ mã móc xích (Cipher Block Chaining - CBC) Trong chế độ này, khối tin trước mã hóa XOR với khối mã sinh từ bước trước X1 = X1’  IV X2 = X2’  Y1 Xi = Xi’  Yi-1 Như khối mã phụ thuộc chặt vào theo kiểu “móc xích” Cũng qua thấy CBC tạo khối mã khác khối tin đưa vào giống tức che giấu mẫu tin-mã phổ biến khỏi theo dõi kẻ thù, chặn đứng khả phá hoại công replay biên tập nói Tại bước đầu tiên, chưa có khối mã sinh từ bước trước, khối tin đầu XOR với vecto khỏi đầu, chọn ngẫu nhiên, ký hiệu IV (initial vector) Xi X’i E Yi Yi E Xi X’i IV IV Hình 2.9 Sơ đồ chế độ mật mã CBC Tính chất phụ thuộc lẫn khối mã đem lại ưu ngăn chặn kẻ thù sửa đổi cắt xén mã truyền tin, dù thay đổi bit mã làm ảnh hưởng đến toàn thông tin mà giải mã từ đó, đến mức người nhận phát dễ dàng đoạn thông tin giải mã bị hoàn toàn vô nghĩa TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 13 Giáo trình An toàn & Bảo mật Thông tin 2012 Tuy nhiên tính chất đem lại mối hại mã truyền bị sai nhiễu giải mã bị ảnh hưởng lan truyền nhiều, dẫn đến phải phát lại Ngoài chế độ CBC mặc định xử lý tuần tự, thực tính toán song song, tức cải tiến tốc độ cho hệ máy tính song song Liệu có tồn chế công khác, thông minh loại áp dụng cho ECB, để phá mã lợi dụng CBC? Lý luận phụ thuộc móc xích cho ta cảm giác an toàn chưa phải chứng minh chặt chẽ Tuy nhiên tính an toàn truyền tin mật chế CBC chứng minh chặt chẽ phương pháp toán học Bài tập Hãy so sánh dạng sơ đồ mật mã từ liên hệ CBC với mật mã onetime-pad Sơ đồ A: Sử dụng chuỗi ngẫu nhiên làm khóa chung Sơ đồ B: biểu diễn lại CBC Chế độ Mã phản hồi k-bit (k-bit Cipher Feedback Mode - CFB) Với số ứng dụng thời gian thực yêu cầu dòng liệu truyền đến phải liên tục gián đoạn (như chuỗi ký tự truyền host terminal phải tạo thành dòng ký tự liên tục) Do chế độ mật mã khối xử lý truyền theo khối trở nên không thích hợp; mã stream cipher với đơn vị xử lý ký tự - khối bit thích hợp với dạng ứng dụng Chế độ CFB cải tiến cho phép tạo khả truyền khối nhỏ k-bit (với k tùy ý) dùng thuật toán mã khối Dòng tin vào ‘múc’ ‘gầu’ với dung lượng k bit mà k tham số thay đổi Thuật toán mật mã khối E chạy liên tục lò nấu: bước người ta lấy k bit (bên trái nhất) vector đầu từ E để bỏ vào ‘gầu’ k bit tin, chúng XOR với Kết TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 14 Giáo trình An toàn & Bảo mật Thông tin 2012 k bit vừa đem truyền đi, vừa bỏ lại vào đầu vào thuật toán mã khối: vecto đầu vào dịch trái k vị trí k bit phải thay k bit lấy từ gầu tin Như thấy thuật toán mã khối thực hàm sinh số giả ngẫu nhiên k-bit, gía trị lại XOR với phần tử k-bit tin lấy vào để tạo mã truyền Qua trình giải mã tiến hành theo nguyên tắc đối xứng Rõ ràng chế độ cung cấp khả chế độ CBC, thêm vào cho phép truyền tin với khối ngắn tùy ý, đảm bảo ứng dụng truyền-xử lý liên tục l k E l k l k E l k i Ptxt i i Ctxt Hình 2.10 Sơ đồ chế độ mật mã CFB i Ptxt Chế độ mật mã kết phản hồi (Output Feedback Mode – OFB) Chế độ gần với hai chế độ đây, phép XOR để tạo khối ciphertext độc lập riêng rẽ, phụ thuộc (móc xích) trước Các khối plaintext XOR với đầu – output – hàm sinh mã (thuật toán mật mã khối) mà riêng phần tử output hàm mã hóa phụ thuộc móc xích (nên gọi output feedback) Tuy nhiên chuỗi móc xích thực off-line thông qua tiền xử lý, trước thực có thông tin văn cần gửi Chính khả thời gian tính toán rút ngắn nhiều Ngoài ra, chế độ cho phép mã khối nhỏ, stream cipher, giống với chế độ CFB Hình 2.11 Sơ đồ chế độ mật mã OFB TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 15 Giáo trình An toàn & Bảo mật Thông tin 2012 Chế độ mật mã đếm (Counter mode – CTR) Đây chế độ mật mã phát minh không lâu (2000) cho ưu tú Sơ đồ đơn giản cách đáng ngạc nhiên! Sự móc xích (feedback) khối loại trừ hoàn toàn, làm cho CTR có hiệu tính toán cao đáng mong ước  Có thể xử lý song song dễ dàng khối tính toán hòan tòan độc lập; cho phép tiền xử lý để tính toán trước chuỗi phần tử output hàm sinh mã (chẳng qua chuỗi mã hóa dãy số tự nhiên liên tiếp từ giá trị IV ban đầu)  Không có phụ thuộc lẫn nên dùng vào mã hóa liệu lưu trữ giống với ECB: cho phép truy nhập ngẫu nhiên (random access) thay truy nhập với CBC chẳng hạn Mặc dù có sơn đồ tính toán đơn giản, tính an toàn chế độ chứng minh đầy đủ công cụ toán học hình thức, sở thông qua so sánh với mật mã one-time-pad (đạt bí mật tuyệt đối Hình 2.12 Sơ đồ chế độ mật mã CTR TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 16

Ngày đăng: 05/11/2016, 13:25

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN