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

Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử

94 1,8K 3

Đ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 94
Dung lượng 1,7 MB

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

Nội dung

Mục đích cơ bản của tôi khi lựa chọn và thực hiện luận án này bao gồm:  Nghiên cứu, nắm bắt cơ chế hoạt động của các phương pháp mã hoá  Tìm hiểu khả năng ứng dụng các phương pháp mã h

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

KHOA CÔNG NGHỆ NGUYỄN VIỆT PHƯƠNG

Mã hoá bảo mật thông tin và ứng dụng

trong thương mại điện tử

LUẬN VĂN THẠC SĨ CÔNG NGHỆ

Hà Nội, 2003

Trang 2

Mục lục

Lời mở đầu .4

Chương 1: Giới thiệu khái quát về mã hoá và bảo mật thông tin 6

1.1 Lịch sử của mã hoá 7

1.2 Định nghĩa mã hoá 11

1.3 Mục tiêu của hệ thống mã hoá 16

1.3.1 Xác thực người sử dụng (User Authentication) 16

1.3.2 Xác thực thông tin (Data authentication) 17

1.3.3 Chống phủ nhận thông tin (Non-repudiation of origin) 18

1.3.4 Bảo vệ tính riêng tư của thông tin (Data confidentiality) 18

Chương 2: Các phương pháp mã hoá và bảo mật thông tin 19

2.1 Mã hoá đối xứng 20

2.2 Mã hoá bất đối xứng 22

2.3 Mã hoá thông tin theo luồng và mã hoá thông tin theo khối (Stream and Block Ciphers) 27

2.3.1 Mã hoá theo khối 27

2.3.2 Mã hoá theo luồng dữ liệu (Stream Cipher) 29

2.4 Một số thuật toán mã hoá đối xứng được công khai phổ biến 30

2.4.1 Data Encryption Standard (DES) 31

2.4.2 Thuật toán mã hoá 3DES 38

2.4.3 Advanced Encryption Standard (AES) 38

2.5 Một số loại mã hoá bất đối xứng 41

2.5.1 RSA 41

2.5.2 El Gamal 42

2.5.3 Elliptic Curve Cryptosystems (ECCs) 42

2.6 Các phương pháp mã hoá lai (hybrid) 42

2.6.1 Hệ thống khoá mã công khai 43

2.6.2 Khoá mã phiên (session key) 46

Chương 3: Ứng dụng các hệ thống mã hoá trong môi trường thương mại điện tử 48

3.1 Hạ tầng cơ sở hệ thống khoá mã công khai - PKI 48

3.1.1 Đơn vị cấp phát chứng chỉ - CA 49

3.1.2 Chứng chỉ (Certificates) 51

Trang 3

3.1.3 Đơn vị đăng ký (Registration Authority) 51

3.1.4 Các bước trong PKI 52

3.2 Hàm một chiều và chữ ký điện tử 53

3.2.1 Tính toàn vẹn của thông tin 54

3.2.2 Hàm Hash một chiều 55

3.2.3 Hàm một chiều sử dụng trong mã hoá so với hàm hash một chiều 56

3.2.4 Chữ ký điện tử (Digital Signatures) 56

3.2.5 Tiêu chuẩn chữ ký điện tử Quốc gia Hoa kỳ - DSS 59

3.2.6 Các thuật toán Hash 59

3.3 Quản lý khoá mã 61

3.3.1 Nguyên tắc quản lý khoá mã 63

3.4 Bảo mật Internet 65

3.4.1 HTTP 65

3.4.2 S-HTTP 66

3.4.3 HTTPS 67

3.4.4 SSL 67

3.4.5 MIME 68

3.4.6 S/MIME 69

3.4.7 Bảo mật các thông tin giao dịch trực tuyến - SET 69

3.4.8 Cookies 70

3.4.9 SSH 71

3.4.10 IPSec 72

Chương 4: Nghiên cứu triển khai ứng dụng xác thực người sử dụng bằng hệ thống RSA SecurID 76

4.1 Tầm quan trọng của vấn đề xác thực người sử dụng 76

4.2 SecurID và phương pháp xác thực truy nhập hai thành phần 77

4.3 Mô hình tổng quan hệ thống bảo mật SecurID, các thành phần và chức năng cơ bản 80

4.3.1 RSA ACE/Server 81

4.3.2 Thẻ RSA SecurID 83

4.3.3 RSA ACE/Agents 84

4.4 Quản lý và phát triển hệ thống bảo mật SecurID 86

4.4.1 Quản lý an ninh hệ thống 86

4.4.2 Cấp phát và thay thế thẻ SecurID 87

4.4.3 Tự động phát triển hệ thống bảo mật với trình duyệt Web 88

Trang 4

4.4.4 Thiết lập các báo cáo theo yêu cầu 88

4.5 Những ưu điểm nổi bật của hệ thống bảo mật RSA SecurID 88

4.5.1 Khả năng bảo mật và tính ổn định cao, sẵn sàng đáp ứng các yêu cầu bảo mật trong tương lai 89

4.5.2 Quản lý tập trung, dễ dàng 89

4.5.3 Đơn giản, hiệu quả độ an toàn cao 89

Kết luận .91

Tài liệu tham khảo 93

Trang 5

số thiệt hại lên đến 377 triệu USD - tăng 42% so với mức thiệt hại 265 triệu USD trong năm 2000 Trong số này, mức độ thiệt hại do trộm cắp thông tin là 151 triệu USD và do gian lận thương mại là 93 triệu USD – những con số rất lớn mặc dù số

vụ trộm cắp, gian lận thông tin không nhiều bằng số vụ virus tấn công hay số vụ trộm cắp máy tính cá nhân Chính vì vậy vấn đề đảm bảo an toàn cơ sở dữ liệu, thông tin cá nhân là vấn đề sống còn của bất kỳ một tổ chức nào và bảo mật thông tin là nền móng cơ bản để phát triển các dịch vụ thương mại điện tử

Tại Việt Nam, sau bước đầu hoàn thành quá trình tin học hoá, thiết lập các mạng máy tính cục bộ nhằm chia sẻ dữ liệu, trao đổi thông tin…, các ban nghành, tổ chức

và các doanh nghiệp đã bắt đầu lập các website, quảng bá thông tin, cho phép truy vấn thông tin và tiến hành giao dịch trực tuyến thông qua mạng Internet Vì lý do

đó, vấn đề bảo mật mạng máy tính, hạn chế sự tấn công, phá hoại của tin tặc (hacker) đã bắt đầu thu hút được nhiều sự quan tâm, chú ý và trở thành đề tài nóng bỏng trong thời gian gần đây

Bảo mật mạng máy tính có nhiều khía cạnh nhưng chủ yếu được chia thành hai loại:

1 Bảo mật hệ thống máy tính, chống lại các cuộc thâm nhập bất hợp pháp bằng cách thiết lập, sử dụng các hệ thống Firewall, IDS,…

Trang 6

2 Chống lại việc gian lận, ăn cắp, sửa đổi thông tin giao dịch trên mạng bằng cách thiết lập các hệ thống mã hoá thông tin, chữ ký điện tử… Tầm quan trọng và tính cấp bách của việc an toàn bảo mật thông tin khi Việt Nam đang từng bước phát triển thương mại điện tử đã thôi thúc tôi lựa chọn đề tài: “Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử”

Mục đích cơ bản của tôi khi lựa chọn và thực hiện luận án này bao gồm:

 Nghiên cứu, nắm bắt cơ chế hoạt động của các phương pháp mã hoá

 Tìm hiểu khả năng ứng dụng các phương pháp mã hoá vào trong thực tiễn nói chung và vào trong lĩnh vực thương mại điện tử nói riêng

 Tìm hiểu các vấn đề trở ngại về mặt công nghệ trong việc phát triển thương mại điện tử ở Việt Nam và nghiên cứu phương hướng giải quyết

Bản luận án này được chia làm bốn chương:

Chương 1: Giới thiệu khái quát về mã hoá và bảo mật thông tin

Chương 2: Các phương pháp mã hoá và bảo mật thông tin

Chương 3: Ứng dụng các hệ thống mã hoá trong môi trường thương mại

điện tử Chương 4: Nghiên cứu triển khai ứng dụng xác thực người sử dụng bằng hệ

thống RSA SecurID

Trang 7

CHƯƠNG 1: GIỚI THIỆU KHÁI QUÁT VỀ MÃ HOÁ

VÀ BẢO MẬT THÔNG TIN

Từ cryptology (chuyên khoa mật mã) có nguồn gốc từ tiếng Hy Lạp cổ đại và được cấu tạo bởi hai thành phần: “cryptos” có nghĩa là che giấu, “logos” có nghĩa là từ ngữ Chuyên khoa mật mã đã có từ lâu đời, những phương pháp mã hoá đầu tiên xuất hiện khoảng 4000 năm trước đây được coi là một nghệ thuật và được sử dụng chủ yếu cho mục đích bảo vệ các thông tin trong quân sự, các thông điệp trong quan hệ bang giao Một ví dụ điển hình là đế chế Julius Caesar nổi tiếng thời La mã

cổ đại thường sử dụng lối viết chữ đan xen (cipher) để mã hoá các thông điệp gửi cho quân đội của ông ta Trải qua thời gian, các cá nhân cũng như các tổ chức chính phủ đã nghiên cứu phát triển nhiều phương thức, thuật toán mã hoá có độ phức tạp cao hơn, áp dụng rộng rãi trong nhiều lĩnh vực hơn khiến mã hoá thông tin dần trở thành một phần quan trọng trong thế giới vi tính

Chuyên khoa mật mã có thể được chia thành hai nghành khác nhau: mã hoá (cryptography) và phá mã (cryptanalysis) [5]

Mã hoá là phương pháp lưu trữ và truyền thông tin dưới dạng sao cho chỉ có những người có thẩm quyền mới đọc và xử lý được Mã hoá là một phương pháp hiệu quả

để bảo vệ các thông tin nhạy cảm khi lưu trữ hoặc khi truyền trên các kênh truyền thông

Mặc dù mục tiêu cơ bản của mã hoá là bảo vệ, che giấu thông tin khỏi con mắt của những kẻ tò mò bất hợp pháp, nhưng phần lớn các thuật toán đều có thể bị phá vỡ

và thông tin được giải mã (một cách bất hợp pháp) nếu kẻ tấn công có đủ thời gian

và các phương tiện cần thiết

Phá mã là một lĩnh vực khoa học nhằm nghiên cứu độ an toàn và tìm cách phá vỡ các thuật toán mã hoá cũng như các thành phần của chúng Việc nghiên cứu độ an toàn của thuật toán có thể tiến hành bởi các viện nghiên cứu nhằm tìm ra những điểm yếu để ngăn chặn những kẻ gian lận, phá hoại hoặc tiến hành bởi các kẻ tấn công (hackers) với mục đích thoả mãn trí tò mò và tìm cách gian lận, trộm cắp

Trang 8

thông tin

Các chuyên gia mã hoá (cryptographer) nghiên cứu cải tiến và phát triển các thuật toán nhằm bảo vệ và mã hoá thông tin còn các chuyên gia phá mã (cryptanalyst) thì tìm cách giải mã, phá vỡ hệ thống do các chuyên gia mã hoá xây dựng lên Mục tiêu của các chuyên gia phá mã có thể không tốt nhưng những nỗ lực của họ, cộng với sự phát triển mạnh mẽ sức mạnh xử lý của máy tính phần nào đã tác động ngược trở lại, thôi thúc các chuyên gia mã hoá làm việc tốt hơn và thúc đẩy ngành

mã hoá phát triển nhanh hơn

Hình 1.1: Chữ viết tượng hình đầu tiên được sử dụng như một dạng mã hoá

Trong thực tế, mã hoá là phương pháp chủ yếu dùng để che giấu thông tin để những người không có thẩm quyền không thể đọc được

Trang 9

Người Hebrew sử dụng phương pháp mã hoá bằng cách tráo đổi các ký tự Mỗi một

ký tự sẽ được gán tương ứng với một ký tự khác trong bảng chữ cái Phương pháp

mã hoá này được gọi là atbash Một ví dụ của từ khoá được sử dụng trong phương

pháp mã hóa atbash như sau:

ABCDEFGHI JK LMNOPQ R STU VW XYZ

ZYXWVUTSR QP ONMLKJ I HGF ED CBA

Khi đó từ “security” sẽ được mã hoá thành “hvxfirgb” Đây là loại mã viết chữ đan xen với các chữ cái được thay bằng chữ khác (substitution cipher) Cách viết đan xen này còn được gọi là mã thay thế ký tự đơn lẻ (monoalphabetic substitution) Một số cách viết khác sử dụng nhiều ký tự khác nhau để thay thế cho một ký tự Khoảng 400 năm trước Công nguyên, những người Spartans sử dụng hệ thống mã hoá thông tin bằng cách viết các thông điệp lên những mảnh giấy cói quấn quanh một cây quyền trượng Thông điệp chỉ có thể đọc được khi mảnh giấy cói quấn quanh cây quyền trượng có kích thước thích hợp Phương pháp này được gọi

phương pháp viết chữ đan xen kiểu scytale (scytale cipher) Khi mảnh giấy cói

được tháo ra khỏi cây quyền trượng, các chữ viết trên mảnh giấy cói xuất hiện dưới dạng một chuỗi các ký tự ngẫu nhiên Những mảnh giấy cói chứa thông điệp được truyền đến các chiến binh Khi các chiến binh quấn mảnh giấy cói quanh cây quyền trượng có đường kính và chiều dài thích hợp, các ký tự ngẫu nhiên sẽ sắp xếp theo một trật tự xác định và thông điệp cần truyền tải sẽ hiện ra (hình 1.2) [6]

Hình 1.2: Cây quyền trượng được người Spartans

dùng để giải mã các thông điệp

Ngày nay các kỹ thuật này quá đơn giản nhưng thời đó rất ít người có thể đọc được nên kỹ thuật ấy là một phương pháp để bảo vệ thông tin hiệu quả có độ an toàn cao

Trang 10

Cuộc cách mạng mã hoá tiếp tục phát triển khi người châu Âu phát minh ra những phương pháp và công cụ mã hoá mới dùng trong suốt thời kỳ Trung đại Đến cuối những năm 1800, mã hoá đã được sử dụng phổ biến trong các liên lạc truyền tin giữa các đơn vị quân đội

Trong cuộc chiến tranh Thế giới lần thứ II, các thiết bị mã hoá đơn giản đã được cải tiến đáng kể bằng các kỹ thuật cơ khí, điện từ tạo ra các thiết bị truyền tin điện báo

và sử dụng sóng vô tuyến

Chiếc máy mã hoá sử dụng các trục quay rotor khác nhau để tạo ra thông điệp phức tạp rất khó giải mã là một bước đột phá quan trọng trong lĩnh vực mã hoá thông tin quân sự Chiếc máy nổi tiếng nhất do người Đức chế tạo có tên là Enigma Chiếc máy Enigma có 3 trục quay, một bàn phím và một trục quay hồi tiếp Từ khoá gốc được cấu hình cho máy trước khi tiến hành quá trình mã hoá Khi người điều khiển

gõ một ký tự, máy sẽ thay thế ký tự ấy bằng một ký tự khác và trả về cho người điều khiển Quá trình mã hoá này được thực hiện bằng cách tịnh tiến trục quay một

số lần định trước để thay thế ký tự gõ vào bằng một ký tự khác Nếu người điều

khiển gõ vào chữ T, máy Enigma có thể trả về ký tự M Người điều khiển viết ký tự

M ra giấy rồi tịnh tiến trục quay và nhập ký tự tiếp theo Sau mỗi một ký tự mã hoá,

người điều khiển lại tịnh tiến trục quay đến một vị trí mới Quá trình này tiếp diễn cho đến khi toàn bộ thông điệp được mã hoá Việc lựa chọn ký tự thay thế cho từng

ký tự phụ thuộc vào cấu hình của trục quay Do đó bí mật của quá trình xử lý này (khoá mã) là cách người điều khiển tịnh tiến trục quay khi mã hoá và giải mã thông tin

Người điều khiển tại hai đầu phải thống nhất quy tắc tịnh tiến này để điều khiển trục quay cho phù hợp Mặc dù tại thời điểm đó, cơ chế mã hoá của máy Enigma khá phức tạp nhưng một nhóm kỹ sư người Ba lan đã giải mã thành công và cung cấp các thông tin về kế hoạch tấn công, di chuyển quân sự của người Đức cho người Anh Có thể nói rằng việc phá mã thành công đã giúp kết thúc chiến tranh Thế giới lần thứ II sớm hơn 2 năm [6] Sau chiến tranh, thông tin chi tiết về chiếc máy Enigma được công bố rộng rãi, một trong những chiếc máy này hiện đang được trưng bày tại học viện Smithsonian Institute [6]

Trang 11

Mã hoá có một lịch sử lâu dài và phong phú trong đó quân sự là một lĩnh vực lớn

sử dụng mã hoá để che giấu các thông tin quân sự cũng như để phá mã các thông

tin của đối phương William Frederick Friedman tác giả của cuốn sách “Lý thuyết

ngẫu nhiên và ứng dụng trong mã hoá” được coi là cha đẻ của nghành mã hoá hiện

đại và ông là người đã phá mã được rất nhiều thông điệp quân sự trong chiến tranh Thế giới thứ II [1]

Với sự phát triển của máy tính, các thuật toán, thiết bị và ứng dụng mã hoá đã phát triển mạnh mẽ Kỷ nguyên công nghệ thông tin đã đem lại những cơ hội chưa từng thấy cho các chuyên gia nghiên cứu mật mã Dự án nổi tiếng nhất và thành công nhất là dự án phát triển thuật toán mã hoá Lucifer do IBM phát triển Thuật toán Lucifer bao gồm rất nhiều hàm và phương trình toán học phức tạp đã được Cơ quan

An ninh Quốc gia Hoa kỳ chấp thuận và sửa đổi thành tiêu chuẩn mã hoá quốc gia Hoa kỳ - DES (Data Encryption Standard) [6] DES đã được chấp thuận thành một tiêu chuẩn liên bang và được sử dụng rộng rãi trong các giao dịch tài chính cũng như trong các ứng dụng thương mại Thuật toán DES có một lịch sử phong phú trong các thuật toán mã hoá phát triển bằng máy tính và đã được sử dụng rộng rãi trên 20 năm nay

Ngày nay, mã hoá thông tin đã có một vai trò rất quan trọng trong đời sống kinh tế, chính trị Các thuật toán mã hoá được bảo vệ bởi tổ chức chính phủ và luật pháp Việc phát triển các chip chuyên dụng để giải mã đường truyền (ví dụ như Clipper Chip) đã bị chính phủ một số nước liệt vào hành vi phạm pháp tương đương với việc buôn bán sử dụng ma tuý (tất nhiên việc này cũng dấy lên nhiều làn sóng công kích đòi hỏi quyền riêng tư và chống lại quyền nghe trộm của chính phủ)

Với sự phát triển của mã hoá, phần lớn các giao thức được phát triển từ thuở sơ khai của máy tính đều được cập nhật bổ sung thêm tính năng mã hoá để đảm bảo khả năng bảo mật thông tin Mã hoá đã được sử dụng rộng rãi trong cả phần cứng lẫn phần mềm để bảo vệ dữ liệu, các giao dịch ngân hàng, mạng extranet, thư tín điện tử, giao dịch trên web, giao dịch trên mạng không dây, lưu trữ thông tin… Con người ngày càng lệ thuộc vào sự phát triển của công nghệ, do đó con người sẽ ngày càng lệ thuộc vào mã hoá, bởi vì bí mật luôn cần phải giữ kín

Trang 12

nó được giải mã Quá trình mã hoá cho phép truyền các thông tin bí mật qua các kênh thông tin có tính chất không an toàn Khi dữ liệu được lưu trữ trên máy tính,

dữ liệu có thể được đảm bảo an toàn bằng cách kiểm soát truy nhập về mặt logic và

về mặt vật lý Tuy nhiên khi các thông tin nhạy cảm này truyền trên mạng, việc kiểm soát truy nhập về mặt logic và vật lý không còn thực hiện được và thông tin rất dễ bị rò rỉ [1]

Hình 1.3: Quá trình mã hoá biến đổi plaintext thành ciphertext

và giải mã biến đổi ciphertext thành plaintext

Plaintext thường được gọi là M (có nghĩa là thông điệp - message) hoặc là P Plaintext có thể là một chuỗi bits, một file văn bản, đồ hoạ hoặc một chuỗi âm thanh được số hoá… Trong lĩnh vực máy tính, MP thường được hiểu là dữ liệu dạng cơ số nhị phân [1] Plaintext có thể dùng để truyền hoặc để lưu trữ và trong mọi trường hợp M , P là thông tin cần phải mã hoá

Ciphertext được gọi là C và cũng có dạng mã nhị phân Đôi khi ciphertext có kích thước như M , đôi khi có kích thước lớn hơn [1] Bằng việc kết hợp mã hoá với nén

dữ liệu, C có thể có kích thước nhỏ hơn M Tuy nhiên mã hoá không thực hiện nhiệm vụ này Hàm mã hoá là E thao tác trên M tạo ra C Ta có thể viết dưới dạng biểu thức toán học như sau:

 M C

E

Trong quá trình ngược lại, hàm giải mã D thao thác trên C để tạo ra M :

Trang 13

Hình 1.4: Khoá mã chèn vào thuật toán

áp dụng lên thông điệp để tạo ra ciphertext

Thuật toán mã hoá (cryptographic algorithm hay còn gọi là cipher) là một tập hợp các hàm toán học dùng trong tiến trình mã hoá và giải mã Thông thường có hai hàm tương quan với nhau, một hàm dùng cho quá trình mã hoá và một hàm dùng cho quá trình giải mã

Nếu độ an toàn của một thuật toán dựa vào việc giữ bí mật các bước xử lý bên trong của thuật toán, thuật toán đó được gọi là thuật toán bị giới hạn (restricted algorithm) Về mặt lịch sử, các thuật toán bị giới hạn khá được ưa chuộng, tuy nhiên ngày nay các thuật toán như vậy không phù hợp với các tiêu chuẩn và rất khó

Trang 14

được chấp nhận rộng rãi [1] Một cộng đồng lớn có số thành viên thường xuyên thay đổi không thể sử dụng được những thuật toán này do mỗi khi một thành viên rời khỏi nhóm, những thành viên còn lại trong nhóm phải chuyển sang sử dụng một thuật toán khác Nếu một người tình cờ (hay hữu ý) khám phá ra bí mật của thuật toán, tất cả mọi người phải thay đổi thuật toán

Tệ hơn, các thuật toán bị giới hạn không cho phép thực hiện các quy trình giám sát chất lượng và tiêu chuẩn Mỗi một nhóm người phải có một thuật toán riêng Những nhóm người đó không thể sử dụng các thiết bị phần cứng hoặc phần mềm

có sẵn, họ phải tự nghiên cứu thuật toán và tự triển khai hệ thống cho riêng mình Nếu thành viên trong nhóm phát triển không phải là các chuyên gia giỏi thì khó có thể đánh giá chính xác mức độ an toàn của thuật toán và nếu một thành viên trong nhóm phát triển rời khỏi nhóm thì không có gì đảm bảo thuật toán đó sẽ được giữ

bí mật

Mặc dù có những hạn chế như trên, các thuật toán bị giới hạn vẫn được sử dụng rộng rãi trong các ứng dụng có độ bảo mật thấp bởi vì người sử dụng có thể không nhận ra hoặc không thực sự quan tâm đến các vấn đề rủi ro tiềm ẩn trong hệ thống của họ

Các hệ thống mã hoá hiện đại giải quyết vấn đề trên bằng cách sử dụng khoá mã, gọi là K Khoá mã này có thể là một giá trị ngẫu nhiên trong một số rất lớn các giá trị Khoảng chứa các giá trị có thể dùng làm khoá mã được gọi là khoảng mã (keyspace) Khoảng mã càng lớn thì số lượng khoá mã có thể có càng lớn và kẻ tấn công càng cần nhiều thời gian để dò tìm khoá mã [6]

Trang 15

Hình 1.5: Khoảng mã lớn hơn cho phép lựa chọn nhiều khóa mã hơn

Nếu kẻ nghe trộm bắt được thông tin truyền giữa hai người, kẻ nghe trộm có thể xem được nội dung thông tin Nhưng do các thông tin ấy được mã hoá nên kẻ nghe trộm không thể hiểu được nội dung thông tin Thậm chí nếu kẻ nghe trộm biết được thuật toán mã hoá sử dụng nhưng nếu không có khoá mã thích hợp, kẻ nghe trộm cũng không thể giải mã được thông tin Như vậy thông tin nghe trộm được trở nên không có giá trị

Hình 1.6: Nếu không có khoá mã thích hợp, thông tin trở nên không có giá trị đối với kẻ nghe trộm

Cả hai quá trình mã hoá và giải mã đều sử dụng khoá mã và có thể biểu thị dưới

Trang 16

dạng biểu thức toán học như sau:

Độ an toàn của các thuật thuật toán theo mô hình này hoàn toàn phụ thuộc vào khoá

mã mà không phụ thuộc vào thuật toán [1] Điều này cũng có nghĩa là thuật toán

mã hoá có thể được công bố rộng rãi và được phân tích kỹ lưỡng

Encryption Decryption

Cipheretext Plaintext

Original Plaintext

Key Key

Hình 1.7a: Mã hoá và giải mã với cùng một khoá mã

Encryption Decryption

Cipheretext Plaintext

Original Plaintext

Decryption Key

Encryption Key

Hình 1.7b: Mã hoá và giải mã với hai khoá mã khác nhau

Trang 17

1.3 Mục tiêu của hệ thống mã hoá

Các hệ thống mã hoá hiện đại được phát triển nhằm đảm bảo 4 mục đích: xác thực người sử dụng (user authentication), xác định tính toàn vẹn và nguồn gốc của thông tin (data authentication), chống phủ nhận nguồn gốc thông tin (non-repudiation) và đảm bảo tính riêng tư hay an toàn của thông tin (privacy or data confidentiality) [5]

1.3.1 Xác thực người sử dụng (User Authentication)

Khi người sử dụng muốn truy nhập vào một hệ thống máy tính, thông thường, bằng cách này hay cách khác, người sử dụng cần cung cấp các thông tin nhận dạng cho máy tính Khi nhận được các thông tin ấy, máy tính kiểm tra xem người sử dụng có được quyền truy nhập vào hệ thống không Đây cũng là nguyên tắc cơ bản được áp dụng cho một người khi muốn trao đổi thông tin với người khác: trước tiên cần phải xác định người đang tham gia trao đổi thông tin có đúng là người muốn trao đổi không Do đó cần phải có một số phương thức để cung cấp đặc điểm nhận dạng nhằm đảm bảo người đang trao đổi thông tin là hợp lệ Quá trình này được gọi là xác thực định danh người sử dụng (user authentication)

Có rất nhiều cách để xác thực: người sử dụng có thể cung cấp các thông tin mà chỉ người đó mới biết như mật khẩu (password), số hiệu người sử dụng (user-id), mã số

cá nhân (pin code), hoặc người đó cũng có thể cung cấp các thông tin riêng khác như số chứng minh thư, thẻ từ, thẻ thông minh (smart card)… Ngoài ra, người sử dụng cũng có thể dùng các đặc tính sinh học khác như dấu vân tay, hình dạng bàn tay, đặc điểm võng mạc mắt Các phương thức này đòi hỏi phải có các thiết bị đặc biệt và cần các khoản đầu tư lớn Tuy nhiên, các hệ thống sinh trắc học này không thật hoàn hảo và đôi khi những người sử dụng hợp lệ lại bị từ chối không được truy nhập hệ thống còn những kẻ thâm nhập bất hợp pháp lại được cấp quyền như một người truy nhập hợp lệ [5]

Một cơ chế khác thường được sử dụng để nâng cao khả năng xác thực người sử dụng đó là challenge - response (yêu cầu - đáp ứng) Nguyên tắc chung của phương pháp này là khi người sử dụng muốn truy nhập vào hệ thống, hệ thống sẽ tạo ra một

mã challenge ngẫu nhiên gửi đến cho người sử dụng Căn cứ vào mã challenge

Trang 18

nhận được, kết hợp với một số thông tin bí mật của mình, người sử dụng tạo ra một

mã response gửi trả về hệ thống Hệ thống sẽ kiểm tra xem mã response đấy có hợp

lệ không và cấp quyền truy nhập cho người sử dụng Trên thực tế, người sử dụng

có thể dùng thiết bị phần cứng hoặc phần mềm để tính toán các mã response một cách tự động Khi đó thực chất hệ thống xác thực tính hợp lệ của thiết bị tạo response và thông tin mà người sử dụng cung cấp cho thiết bị ấy [5]

1.3.2 Xác thực thông tin (Data authentication)

Xác thực thông tin bao gồm hai mục đích: kiểm tra tính toàn vẹn của thông tin (data intergrity) và kiểm tra nguồn gốc của thông tin (data origin authentication) [5]

Kiểm tra tính toàn vẹn của thông tin (Data integrity)

Kiểm tra tính toàn vẹn của thông tin là một quá trình cho phép đảm bảo nội dung của thông tin được gửi đi không bị sửa đổi bất hợp pháp trên đường truyền Bản thân quá trình kiểm tra tính toàn vẹn của thông tin không có ý nghĩa nếu không đảm bảo được rằng thông tin đó có được gửi trực tiếp từ người hợp lệ hay không Hay nói cách khác không thể biết được thông tin có bị thay đổi hay chưa nếu nó được gửi qua một người trung gian Do đó kiểm tra tính toàn vẹn của thông tin bắt buộc phải kết hợp với việc kiểm tra nguồn gốc của thông tin [6]

Khi người sử dụng A truyền một thông điệp đến cho người sử dụng B, trên đường truyền có thể có một kẻ nghe trộm C Nếu không có khả năng kiểm tra tính toàn vẹn của thông tin, C có thể thay đổi nội dung thông điệp và chuyển tiếp cho B B không biết rằng thông điệp đã bị thay đổi và cho rằng đó là điều mà A muốn gửi

Xác định nguồn gốc của thông tin (Data origin authentication)

Như đã nói ở trên, nếu chỉ xác định tính toàn vẹn của thông tin mà không xác định nguồn gốc của nó thì quá trình xác thực thông tin trở nên vô nghĩa Khi người A gửi một thông điệp đến cho người B, trên đường truyền thông điệp bị người nghe trộm C đánh cắp Sau đó người nghe trộm C giả danh người A gửi một thông điệp đến cho người B Không có gì đảm bảo rằng thông điệp do C gửi giống với thông điệp A muốn gửi cho B

Trang 19

Chính vì vậy nhiệm vụ của hệ thống mã hoá là phải vừa đảm bảo tính toàn vẹn của

dữ liệu, vừa phải xác định nguồn gốc của dữ liệu

1.3.3 Chống phủ nhận thông tin (Non-repudiation of origin)

Chống phủ nhận thông tin nhằm mục đích ngăn chặn các đối tượng tham gia quá trình truyền tin phủ nhận thực tế rằng họ đã tham gia đầy đủ quá trình truyền tin [5] Hệ thống mã hoá có tính năng chống phủ nhận thông tin sẽ cung cấp các bằng chứng về nguồn gốc của thông tin ngăn không cho người gửi phủ nhận rằng mình

là người gửi thông tin Bên cạnh đấy hệ thống mã hoá có tính năng chống phủ nhận thông tin cũng cung cấp các bằng chứng về quá trình truyền tin để ngăn không cho người gửi phủ nhận rằng thông tin bị truyền sai

1.3.4 Bảo vệ tính riêng tƣ của thông tin (Data confidentiality)

Đây là phần quan trọng và có nguồn gốc lịch sử lâu đời nhất trong lĩnh vực mã hoá Trên thực tế vấn đề bảo vệ tính riêng tư của thông tin thường được quan tâm nhiều hơn so với vấn đề xác thực người sử dụng và chống phủ nhận thông tin [5] Điều này có thể hiểu được bởi vì các dịch vụ xác thực và chống phủ nhận thông tin thường được bảo vệ và là thuộc tính của các kênh truyền vật lý Ví dụ như trường hợp các lá thư truyền thống có thể được xác thực bằng nét chữ, chữ ký và được đóng dấu niêm phong nên có thể xác định một cách tương đối chính xác người gửi

là ai

Trong thời đại thương mại điện tử hiện nay, trên thế giới hàng ngày có hàng triệu giao dịch trực tuyến với giá trị lên đến hàng tỷ đô la, do đó yêu cầu đảm bảo tính riêng tư, an toàn thông tin ngày càng trở nên quan trọng hơn

Trang 20

CHƯƠNG 2: CÁC PHƯƠNG PHÁP MÃ HOÁ VÀ

BẢO MẬT THÔNG TIN

Mặc dù mỗi thuật toán mã hoá có thể có rất nhiều thành phần khác nhau nhưng hầu hết các thuật toán đều có hai thành phần chính: thuật toán và khoá mã [6] Như đã

đề cập ở trên, thuật toán mã hoá thông thường là tập hợp các hàm toán học phức tạp dùng để định hướng biến đổi thông tin thành dạng ciphertext Khoá mã là một chuỗi bit ngẫu nhiên được chèn vào thuật toán Để hai đối tượng có thể trao đổi thông tin với nhau thông qua một kênh liên lạc được mã hoá, hai đối tượng đó phải

sử dụng chung một thuật toán mã hoá và trong nhiều trường hợp phải sử dụng chung một khoá mã Hình 2.1 [6] phân loại các đặc điểm, thành phần và cơ chế hoạt động của các phương pháp mã hoá

Hình 2.1: Phân loại các phương pháp mã hoá

Trang 21

2.1 Mã hoá đối xứng

Một hệ thống mã hoá được gọi là đối xứng khi cả đối tượng truyền tin và nhận tin cùng sử dụng chung một khoá mã [7] Hệ thống này còn được gọi là hệ thống mã hoá bí mật bởi vì phương pháp mã hoá này yêu cầu đối tượng truyền tin và nhận tin phải giữ bí mật thông tin về khoá mã Nếu khoá mã lọt vào tay đối tượng nghe trộm, đối tượng nghe trộm có thể dùng khoá mã đó để giải mã và ăn cắp thông tin Trong hệ thống mã hoá đối xứng, từng cặp đối tượng muốn trao đổi thông tin với nhau cần có một khoá mã riêng Điều này có nghĩa nếu A muốn trao đổi thông tin với B, cả A và B cần phải có chung một khoá mã Nếu A cũng muốn trao đổi thông tin với C và D thông qua phương pháp mã hoá đối xứng, A cần phải có 3 mã khoá khác nhau, mỗi khoá mã ứng với một đối tượng liên lạc Điều này không được thuận tiện khi A phải trao đổi thông tin với hàng trăm, hàng ngàn đối tượng khác nhau trong một thời gian dài Khi đó A phải giữ rất nhiều khoá mã và phải sử dụng đúng khoá mã cho từng đối tượng trao đổi thông tin Nếu trong hệ thống mã hoá đối xứng có 10 đối tượng, số khoá mã cần thiết để các đối tượng có thể trao đổi

thông tin với nhau là n*(n-1)/2 = 45 (với n là số người sử dụng trong hệ thống) và

nếu hệ thống mã hoá đối xứng có 100 người thì số khoá mã cần thiết là 4,950 [2]

Hình 2.2: Hệ thống mã hoá đối xứng, đối tượng truyền tin và nhận tin sử dụng

chung một khoá mã cho quá trình mã hoá và giải mã

Độ an toàn của phương pháp mã hoá đối xứng hoàn toàn phụ thuộc vào việc các đối tượng bảo vệ khoá mã như thế nào Điều này rất nguy hiểm khi hệ thống có hàng ngàn đối tượng vì khi đó rất khó có thể đảm bảo rằng tất cả các đối tượng

Trang 22

tham gia truyền tin đều giữ khoá mã một cách an toàn

Khi đối tượng A muốn trao đổi thông tin với B, A cần phải tìm cách để có khoá mã của B Việc này sẽ không an toàn nếu khoá mã của B được gửi cho A dưới dạng e-mail bởi vì khoá mã đó không được bảo vệ và kẻ tấn công có thể đọc trộm e-mail

để lấy thông tin về khoá mã A cũng có thể lấy khoá mã của B thông qua phương pháp không sử dụng đường truyền (out-of-band): khi A muốn liên lạc với B, B có thể lưu khoá mã của mình ra một đĩa mềm rồi chuyển cho A qua đường bưu điện hoặc qua thư bảo đảm Tuy nhiên việc đó rất phức tạp, không thuận tiện và cũng không thật sự an toàn Chính vì vậy, việc quản lý khoá mã là một vấn đề rất phức tạp và quan trọng trong việc duy trì hoạt động của hệ thống mã hoá Vấn đề này sẽ được đề cập cụ thể trong các phần sau

Do cả hai đối tượng trên một kênh truyền đều sử dụng chung một khoá mã để mã hoá và giải mã nên hệ thống mã hoá đối xứng có thể cho phép bảo vệ sự riêng tư của thông tin nhưng không thể xác thực người sử dụng cũng như chống phủ nhận thông tin được Hệ thống mã hoá đối xứng không có cách nào để chứng minh ai là người gửi thông điệp đi khi cả hai cùng dùng chung một khoá mã

Vậy vấn đề đặt ra là: nếu hệ thống mã hoá đối xứng có nhiều vấn đề và thiếu sót như vậy thì tại sao phải sử dụng chúng? Các thuật toán mã hoá đối xứng có tốc độ nhanh và khó bị phá vỡ So với các thuật toán mã hoá bất đối xứng, thuật toán mã hoá đối xứng chạy nhanh hơn rất nhiều [1] Các thuật toán mã hoá đối xứng có thể

mã hoá và giải mã một khối lượng lớn dữ liệu trong khoảng thời gian ngắn trong khi đó nếu sử dụng thuật toán mã hoá bất đối xứng thì thời gian chờ đợi lâu hơn rất nhiều (thậm chí không thể chấp nhận được) Ngoài ra rất khó có thể giải mã được thông tin nếu hệ thống mã hoá đối xứng sử dụng khoá mã có độ dài lớn

Một số ưu điểm và nhược điểm của hệ thống mã hoá đối xứng:

Ưu điểm:

- Nhanh hơn rất nhiều so với hệ thống mã hoá bất đối xứng

- Rất khó có thể bị phá vỡ khi sử dụng khoá mã dài

Nhược điểm:

Trang 23

- Phân phát khoá mã: yêu cầu phải có một cơ chế an toàn để phân phát khoá

- Khả năng mở rộng: mỗi cặp đối tượng sử dụng một cặp khoá mã do đó nếu

số đối tượng tăng lên thì số khoá tăng rất nhanh theo hàm số mũ

- Không cung cấp khả năng xác thực và chống từ chối nguồn gốc thông tin Một số thuật toán làm việc theo mô hình mã hoá đối xứng [6]:

- Data Encryption Standard (DES)

- Triple DES (3DES)

Phần lớn các hệ thống mã hoá bất đối xứng lưu khoá mã công khai được trong thư mục, cơ sở dữ liệu nên mọi đối tượng đều có thể sử dụng các khoá mã công khai này để mã hoá và giải mã khi muốn trao đổi thông tin với nhau

Trang 24

Hình 2.2: Hệ thống mã hoá bất đối xứng

Khoá mã công khai và khoá mã cá nhân có những mối quan hệ với nhau về mặt toán học nhưng không thể dùng khoá mã cá nhân để tìm ra khoá công khai và ngược lại Điều đó có nghĩa nếu một kẻ nghe trộm lấy được khoá mã công khai của

B thì anh ta cũng không có cách nào tính toán để tìm ra được khoá mã cá nhân của

B

Nếu đối tượng B mã hoá thông tin bằng khoá mã cá nhân và gửi cho A, đối tượng

A phải sử dụng khoá mã công khai của B để giải mã A có thể giải mã thông điệp của B và trả lời B dưới dạng mã hoá Tất cả việc A cần làm là mã hoá thông điệp trả lời B bằng khoá mã công khai của B, sau đó B có thể giải mã thông điệp ấy bằng khoá mã cá nhân của mình

Trong hệ thống mã hoá bất đối xứng, không thể dùng chung một khoá mã để đồng thời giải mã và mã hoá Thông điệp chỉ có thể được giải mã bằng khoá mã công cộng nếu thông điệp ấy được mã hoá bằng khoá mã cá nhân tương ứng

Cụ thể: đối tượng B có thể mã hoá thông điệp bằng mã khoá cá nhân rồi gửi cho A,

A nhận được và giải mã bằng khoá mã công khai của B Bằng cách sử dụng khoá

mã công khai của B, A có thể biết rằng thông điệp ấy đến từ B Hay nói cách khác

A có thể xác định được nguồn gốc của thông điệp ấy đến từ B bởi vì chỉ B là người biết khoá mã cá nhân của anh ta

Khi A muốn chỉ có B mới được quyền đọc trả lời của A, A có thể mã hoá thông điệp trả lời bằng khoá mã công khai của B Chỉ có B mới có thể giải mã được thông điệp vì B là người duy nhất có khoá mã cá nhân tương ứng với khoá mã công khai

Trang 25

mà A dùng

A cũng có thể mã hoá thông điệp trả lời cho B bằng mã khoá cá nhân của A khi A muốn cho B biết thông điệp ấy đến từ A chứ không phải từ ai khác Nếu A mã hoá thông điệp trả lời bằng khoá mã công khai của B thì không thể xác thực được nguồn gốc của thông tin bởi vì bất kỳ ai cũng có thể có khoá mã công khai của B Nếu A sử dụng khoá mã cá nhân để mã hoá thông điệp trả lời, B phải dùng khoá

mã công khai của A để giải mã và do đó B có thể biết chắc rằng thông điệp trả lời đến từ A chứ không phải từ ai khác

Nếu vấn đề bảo vệ tính riêng tư của thông tin là điều quan trọng nhất, người gửi có thể mã hoá thông điệp gửi đi bằng khoá mã công khai của người nhận Phương pháp này gọi là định dạng thông điệp an toàn (secure message format) [6], khi đó chỉ có người nhận với mã khoá cá nhân tương ứng mới có thể giải mã được thông điệp ấy Gọi khoá mã công khai của người gửi là PubA, khoá mã cá nhân của người gửi là PriA, còn gọi khoá mã công khai của người nhận là PubB và khoá mã cá nhân của người nhận là PriB, ta có thể biểu diễn quá trình này dưới dạng toán học như sau:

Người gửi: EPubB MC

Người nhận: DPriB CM

Nếu vấn đề xác thực nguồn gốc của thông tin là điều quan trọng nhất, người gửi có thể mã hoá thông điệp gửi đi bằng khoá mã cá nhân của anh ta Người nhận sử dụng khoá mã công khai của người gửi để giải mã thông tin và đồng thời biết được nguồn gốc của thông tin đó Phương pháp này được gọi là định dạng thông điệp mở (open message format) do bất kỳ người nào có khoá mã công khai của người gửi đều có thể giải mã được thông tin, cũng chính vì vậy phương pháp này không cung cấp khả năng bảo vệ tính riêng tư của thông tin Ta có thể biểu diễn quá trình này dưới dạng toán học như sau:

Người gửi: EPriA MC

Người nhận: D  CM

Trang 26

Đối với những thông điệp vừa cần có tính riêng tư vừa cần có khả năng xác thực nguồn gốc (secure and signed format), người gửi có thể mã hoá thông điệp cần gửi

đi bằng khoá mã cá nhân của anh ta rồi mã hoá thêm một lần nữa với khoá mã công khai của người nhận Người nhận phải giải mã thông điệp bằng mã khoá cá nhân của mình rồi sau đó sử dụng khoá mã công khai của người gửi để giải mã tiếp Phương pháp này vừa đảm bảo xác thực nguồn gốc của thông tin đồng thời đảm bảo tính riêng tư của thông tin Ta có thể biểu diễn quá trình này dưới dạng toán học như sau:

Người gửi: EPubBEPriA M C

Người nhận: DPubADPriB C M

Hình 2.3 [2] bên dưới minh hoạ các phương thức mã hoá khác nhau trong hệ thống

Trang 27

đều có thể dùng để mã hoá và giải mã Nếu dữ liệu được mã hoá bằng khoá mã cá nhân, nó phải được giải mã bằng khoá mã công khai tương ứng Nếu dữ liệu được

mã hoá bằng khoá mã công khai, nó phải được giải mã bằng khoá mã cá nhân tương ứng

Hệ thống mã hoá bất đối xứng làm việc chậm hơn rất nhiều so với hệ thống mã hoá đối xứng Tuy nhiên hệ thống mã hoá bất đối xứng cho phép đảm bảo an toàn dữ liệu, xác thực nguồn gốc của dữ liệu và chống phủ nhận thông tin Hệ thống mã hoá bất đối xứng cũng cho phép quản lý và phân phát khoá mã dễ dàng hơn so với hệ thống mã hoá đối xứng; đồng thời không gặp phải vấn đề về tính khả mở để phát triển như trong các hệ thống mã hoá đối xứng [6]

Hình 2.4: Bảo vệ và xác định nguồn gốc thông tin bằng cách mã hoá hai lần

với khoá mã của người gửi và người nhận

Một số ưu nhược điểm của hệ thống mã hoá bất đối xứng

Ưu điểm:

- Quản lý phân phát khoá mã tốt hơn so với hệ thống mã hoá đối xứng

- Có khả năng mở rộng phát triển tốt hơn so với hệ thống mã hoá đối xứng

- Có khả năng bảo vệ an toàn dữ liệu, xác thực nguồn gốc và chống phủ nhận thông tin

Nhược điểm:

Trang 28

- Làm việc chậm hơn rất nhiều so với các hệ thống mã hoá đối xứng

Một số thuật toán mã hoá làm việc theo mô hình mã hoá bất đối xứng:

- RSA

- Elliptic Curve Cryptosystem (ECC)

- Diffie-Hellman

- El Gamal

- Digital Signature Standard (DSS)

Các thuật toán này sẽ được trình bày chi tiết hơn trong phần các thuật toán mã hoá bất đối xứng

2.3 Mã hoá thông tin theo luồng và mã hoá thông

tin theo khối (Stream and Block Ciphers)

Có hai phương pháp chính được sử dụng trong các thuật toán mã hoá đối xứng là

mã hoá theo luồng thông tin và mã hoá theo khối [2] Mã hoá thông tin theo khối làm việc với các khối dữ liệu plaintext và ciphertext còn mã hoá theo luồng làm việc với luồng dữ liệu plaintext và ciphertext, theo từng bit hoặc từng byte

2.3.1 Mã hoá theo khối

Khi sử dụng thuật toán mã hoá theo khối để mã hoá và giải mã, thông tin được chia thành từng khối theo đơn vị bit Các khối thông tin này sau đó được đưa vào mã hoá thông qua các phép gán (substitution), chuyển vị (transsposition) và các hàm toán học khác [2] Thuật toán sẽ gọi tất cả các hàm phải thực hiện trên khối dữ liệu, kiểm tra khoá mã rồi xác định thứ tự thực hiện các hàm

Phương pháp mã hoá theo khối có hai thuộc tính là: hỗn loạn và khuếch tán Thuật toán sử dụng các giá trị khoá mã khác nhau không thể đoán trước được tạo ra sự hỗn loạn, bên cạnh đó thuật toán còn chèn thêm các bit ngẫu nhiên vào dữ liệu và biến đổi qua rất nhiều hàm toán học khác nhau nên các giá trị bit trong plaintext bị phân tán

Trang 29

Hình 2.5 minh hoạ một thuật toán mã hoá theo khối đơn giản với 16 đường vào, mỗi đường vào ứng với 1 bit [4] Thuật toán này gồm hai lớp các hộp S-box 4 bit Mỗi hộp S-box này chứa một bảng tra cứu dùng để chỉ dẫn cách mà các bit được dịch chuyển hoặc hoán vị Khoá mã được sử dụng trong quá trình mã hoá dùng để

ra lệnh S-box nào được sử dụng và sử dụng theo thứ tự nào

Hình 2.5: Trong thuật toán mã hoá block cipher, dữ liệu được chia thành từng khối bit, các hàm toán học được thực hiện trên các khối này

Mỗi một S-box có thể có những hàm toán học, công thức và các phương pháp khác nhau khi thao tác trên từng bit riêng lẻ Khoá mã tạo ra sự hỗn loạn bởi vì kẻ tấn công không thể biết được S-box nào sẽ được sử dụng trong quá trình mã hoá và tất

cả các phép hoán vị trên các bit là khuếch tán bởi vì các bit được dịch chuyển giữa các S-box khác nhau và được đưa vào trong các quá trình xáo trộn thông tin

Trong ví dụ này chỉ có hai hàng S-box thực hiện việc mã hoá dữ liệu Đây là một ví

dụ rất đơn giản Phần lớn các thuật toán mã hoá theo khối làm việc với các khối dữ liệu 64 bits và có rất nhiều S-box tham gia vào quá trình mã hoá Bên cạnh đó, hệ thống mã theo khối sử dụng các giá trị khoá mã ngẫu nhiên nên kẻ tấn công rất khó

có thể xác định S-box nào được sử dụng

Trang 30

2.3.2 Mã hoá theo luồng dữ liệu (Stream Cipher)

Như đã đề cập ở trên, thuật toán mã hoá theo khối tiến hành thực hiện các hàm toán học trên các khối dữ liệu Thuật toán mã hoá theo luồng thông tin (stream cipher) không chia thông tin thành từng khối như vậy mà coi thông tin là một luồng các bit hoặc byte và tiến hành thực hiện các phép toán trên các bit hoặc byte đó

Trong thuật toán mã hoá theo luồng, tại mỗi lần mã hoá khác nhau, các bit hoặc byte có thể được biến đổi thành giá trị khác nhau Một số thuật toán sử dụng bộ tạo chuỗi khoá (keystream generator) để tạo ra các chuỗi bit và so sánh tuyệt đối (XOR) với các bit dữ liệu plaintext để tạo ra thông tin mã hoá Hình 2.6 bên dưới minh hoạ quá trình này [4]

Hình 2.6: Giá đầu ra của bộ tạo chuỗi khoá được so sánh tuyệt đối với các bit của dữ liệu plaintext

Nếu hệ thống mã hoá chỉ đơn thuần phụ thuộc vào bộ tạo chuỗi khoá thì kẻ tấn công có thể copy thông tin dưới dạng plaintext đem so sánh tuyệt đối với thông tin

mã hóa thu được để tìm ra chuỗi khoá và từ đó giải mã các thông tin khác Do đó cần phải bổ sung thêm khoá mã cho thuật toán

Trong thuật toán mã hoá thông tin theo khối, nhiêm vụ của khoá mã là xác định hàm nào sẽ được sử dụng và sử dụng theo tuần tự nào Có nghĩa khoá mã làm nhiệm vụ cung cấp tính ngẫu nhiên cho tiến trình mã hoá Như đã đề cập ở trên, phần lớn các thuật toán đều được công khai do đó mọi người đều có thể nắm được nguyên lý làm việc của thuật toán Điều bí mật ở đây chính là khoá mã Trong hệ

Trang 31

thống mã hoá thông tin theo luồng, khoá mã cũng làm nhiệm vụ cung cấp tính ngẫu nhiên, nhưng áp dụng cho chuỗi khoá làm việc với luồng thông tin Khoá mã là một giá ngẫu nhiên được đưa vào thuật toán để tạo ra một chuỗi mã, đảm bảo tính ngẫu nhiên của chuỗi mã được tạo ra Hình 2.7 bên dưới minh hoạ quá trình này

Hình 2.7: Khoá mã dùng để tạo ra các chuỗi khoá ngẫu nhiên

trong quá trình mã hoá và giải mã

Độ an toàn và tính hiệu quả của thuật toán mã hoá thông tin theo luồng gồm các đặc tính:

- Chu kỳ dài, không có sự lặp lại về kiểu trong giá trị chuỗi khoá

- Chuỗi khoá không quan hệ tuyến tính với khoá mã

- Không thể dự đoán thống kê (do số lượng bit 0 luôn tương đương bit 1)

Do thuật toán mã hoá theo luồng thực hiện việc mã hoá và giải mã lần lượt từng bit theo thời gian nên thuật toán này rất phù hợp để phát triển các phần cứng [6] Thuật toán mã hoá thông tin theo khối thường phù hợp với việc triển khai ứng dụng cho phần mềm hơn bởi vì thuật toán này làm việc với các khối dữ liệu - cách mà các phần mềm thường làm (thông thường các khối có độ lớn bằng độ rộng của bus dữ liệu - 64 bit) [4]

2.4 Một số thuật toán mã hoá đối xứng đƣợc công

khai phổ biến

Hiện nay có rất nhiều thuật toán mã hoá đối xứng được sử dụng công khai, các thuật toán này có những cơ chế khác nhau để cung cấp khả năng mã hoá và giải mã

Trang 32

2.4.1 Data Encryption Standard (DES)

Data Encryption Standard (DES) là một thuật toán có bề dày lịch sử rất phong phú

trong lĩnh vực máy tính Trong những năm 1960, Viện tiêu chuẩn và công nghệ quốc gia Hoa kỳ (NIST) nghiên cứu nhu cầu bảo vệ hệ thống máy tính và khởi xướng một chương trình mã hoá vào đầu những năm 1970 NIST mời các đối tác

đề xuất các kỹ thuật mã hoá dữ liệu nhằm xây dựng một tiêu chuẩn mã hoá phổ biến Thời điểm đó, IBM đã phát triển một thuật toán mã hoá dùng để bảo vệ các giao dịch tài chính Năm 1974, thuật toán mã hoá sử dụng khoá mã 128 bit của IBM có tên Lucifer được đệ trình và được chấp thuận Có rất nhiều tranh cãi xung quanh vấn đề đưa thuật toán Lucifer vào sử dụng, nhưng cuối cùng, năm 1977 Lucifer cũng trở thành một chuẩn mã hoá quốc gia Hoa kỳ và trở thành một chuẩn ANSI vào năm 1978 [6]

DES là thuật toán mã hoá hiện đại đầu tiên dùng trong thương mại đã công khai toàn bộ mọi chi tiết thực hiện bên trong DES được phát triển phần lớn trong các sản phẩm thương mại và trong phần lớn các cơ quan chính phủ Thuật toán DES đã được kiểm tra và được công nhận là một trong những thuật toán mạnh nhất và hiệu quả nhất Việc không tiếp tục hỗ trợ thuật toán DES cũng là nguyên nhân gây ra nhiều tranh cãi nhất khi vào năm 1986, NSA thông báo kể từ tháng 1 năm 1988 tất

cả các cơ quan chính phủ không được sử dụng thuật toán nữa, và các sản phẩm dựa trên DES sẽ không còn đáp ứng tiêu chuẩn 1027 trong bộ tiêu chuẩn của Liên bang Hoa kỳ NSA cho rằng thuật toán DES đã quá phổ biến trong một thời gian dài nên

nó chắc chắn là mục tiêu tấn công và trở nên vô ích nếu sử dụng như một tiêu chuẩn chính thức Rất nhiều nhà nghiên cứu không tán thành nhưng NSA muốn có một tiêu chuẩn mới hơn, an toàn hơn và ít phổ biến hơn

Quyết định của NSA gây ra rất nhiều tranh cãi và phản ứng tiêu cực bởi vì tại thời điểm đó, DES vẫn cung cấp các tính năng bảo mật cần thiết, các máy tính tại thời điểm đó cần hàng nghìn năm mới phá mã được; ngoài ra DES đã được tích hợp vào trong hàng nghìn sản phẩm và chưa có thuật toán nào thay thế cho DES NSA cân nhắc lại quyết định của mình và NIST quyết định tiếp tục chấp nhận DES thêm năm năm nữa

Trang 33

Năm 1998, hãng Electronic Frontier Foundation chế tạo một hệ thống máy tính trị giá 250,000 đô la và phá mã DES trong vòng ba ngày [6] Chiếc máy tính đó gồm 1,536 bộ vi xử lý chạy ở tốc độ 40MHz, mỗi bộ vi xử lý có thể thực hiện 60 triệu phép giải mã trong vòng 1 giây Mặc dù hầu hết mọi người không thể có những hệ thống máy tính như vậy để phá mã DES, nhưng khi định luật Moore thành sự thật, sức mạnh của bộ vi xử lý tăng lên thì các kẻ tấn công có khả năng tài chính ở mức trung bình cũng có thể phá mã DES Điều này làm cho thuật toán 3DES ra đời Thuật toán 3DES mạnh hơn bằng cách thực hiện mã hoá, giải mã rồi lại mã hoá thông tin với các khoá mã khác nhau

Sau này tiêu chuẩn mã hoá DES đã được NIST thay thế bằng tiêu chuẩn Advanced

Encryption Standard (AES) với thuật toán Rijndael Điều này có nghĩa là Rijndael

là một thuật toán mới được phê chuẩn để mã hoá các thông tin nhạy cảm (chưa phải

là bí mật) của Chính phủ Mỹ và thuật toán này sẽ dần được chấp thuận sử dụng công khai, rộng rãi

Cơ chế hoạt động của DES [4]

Thiết kế của DES liên quan tới hai khái niệm đó là: Product cipher và Feistel cipher Cả hai bao gồm việc lặp đi lặp lại một dãy các thao tác

Ý tưởng cơ bản của một product cipher là xây dựng một hàm mã hoá phức tạp bằng cách kết hợp vài giải thuật đơn giản bổ sung các thiếu sót lẫn nhau Các giải thuật

cơ bản bao gồm: các phương pháp hoán vị, tịnh tiến (ví dụ như XOR) các phép ánh

xạ tuyến tính, các biến đổi số học, nhân modun, các phép thay thế đơn giản

Một Product cipher là sự kết hợp hai hay nhiều hơn các phép biến đổi nhằm mục đích có được một phép mã hoá an toàn hơn

Một mạng thay thế-hoán vị (substitutation-permutation network hay SP network) là một product cipher bao gồm một số các tầng, mỗi tầng bao gồm các thay thế và hoán vị

Nhiều mạng thay thế-hoán vị là các phép mã hoá lặp theo định nghĩa: Một mã hoá theo khối lặp là một mã hoá theo khối bao hàm việc lặp lại có thứ tự một hàm nội tại gọi là hàm vòng Các tham số bao gồm số vòng lặp, kích thước khối n được tính

Trang 34

bằng bit, kích thước k từ đó rút ra r khoá con K i

Hình 2.8: Một mạng thay thế

Một Feistel cipher là một mã hoá lặp, ánh xạ một tài liệu gốc 2t bit (L0,R0) với các khối t bit L0, R0 thành một văn bản được mã hoá (Rr,Lr) qua 1 quá trình r vòng trong đó r 1 Với 1 ir, vòng thứ i ánh xạ (L i1,R i1)K i (L i,R i) như sau:

1

L , R iL i1 f(R i1,K i) trong đó mỗi khoá con Ki được rút ra từ khoá mã K

Theo chuẩn của Feistel cipher, r 3 và thường là số chẵn [4] Cấu trúc của Feistel bắt buộc mã hoá đầu ra là (R r,L r) chứ không phải là (L r,R r); các khối được đổi chỗ ban đầu của chúng sau vòng cuối cùng Việc giải mã vì vậy cũng sử dụng 1 quá

trình r vòng nhưng với các khoá con K i theo thứ tự ngược lại, từ K r đến K 1 Hàm f trong Feistel cipher có thể là một product cipher, mặc dù f không nhất thiết phải là

khả đảo để cho phép đảo nghịch trong mã hoá Feistel

DES là một giải thuật mã hoá đối xứng sử dụng phương pháp mã hoá thông tin theo khối Một khối thông tin plaintext 64 bit đi vào sẽ tạo ra một khối thông tin ciphertext 64 bit Giải thuật DES sử dụng một khoá mã 64 bit trong đó 56 bit là các khoá mã thật còn 8 bit (các bit 8, 16, …, 64) là bit kiểm tra chẵn lẻ

Khi tiến hành mã hoá dữ liệu, DES chia dữ liệu thành các khối 64 bit và tiến hành thao tác lần lượt từng khối Mỗi khối được chia làm 32 bit thấp và 32 bit cao, rồi được đưa qua 16 vòng thực hiện các hàm hoán vị, thay thế Thứ tự thực hiện các hàm hoán vị, thay thế phụ thuộc vào giá trị khoá mã đưa vào thuật toán

Kết quả thu được là một khối ciphertext 64 bit

Trang 35

Hình 2.9: Sơ đồ khối thực hiện giải thuật DES

Các thuật toán mã hoá theo khối có các chế độ điều khiển mã hoá khác nhau Các chế độ này sẽ xác định cách thức làm việc của thuật toán Mỗi chế độ có các đặc tính khác nhau và làm việc tốt trong một môi trường với các chức năng nhất định Điều này rất quan trọng khi triển khai hệ thống mã hoá DES

DES có bốn chế độ hoạt động cơ bản được sử dụng trong các hoàn cảnh khác nhau

và cho những kết quả khác nhau

Chế độ Electronic Code Book (ECB)

Đây là phương pháp mã hoá nguyên thuỷ của DES và có cơ chế hoạt động như một

Trang 36

cuốn sổ chứa các ký hiệu điện tín (code book) Khi một khối dữ liệu 64 bit và khoá

mã được đưa vào thuật toán sẽ tạo ra một khối ciphertext Với cùng một khối dữ liệu đưa vào và với cùng một giá trị khoá mã, giải thuật DES làm việc trong chế độ ECB luôn cho ra các ciphertext giống nhau Không phải khối dữ liệu nào cũng có đầy đủ 64 bit, do đó ECB phải kết hợp với bộ đệm (padding) chèn thêm các bit vô nghĩa để tạo ra các khối thông tin 64 bit Chế độ hoạt động này thường làm việc với

dữ liệu có kích thước nhỏ như để mã hoá và bảo vệ các khoá mã

Mỗi một khoá mã có một code book riêng Code book cung cấp quy tắc tiến hành các phép thay thế và hoán vị thực hiện trên khối dữ liệu plaintext Do chế độ ECB làm việc độc lập với các khối dữ liệu khác nhau nên dữ liệu trong một file không cần phải mã hoá theo một trật tự xác định Điều này rất hữu ích khi mã hoá các cơ

sở dữ liệu Một cơ sở dữ liệu chứa rất nhiều các phân mảnh dữ liệu do đó nếu được

mã hoá theo chế độ ECB, tất cả các bản ghi, bảng biểu có thể được thêm vào, mã hoá, giải mã và xoá bỏ mà không hề ảnh hưởng đến các bản ghi và bảng biểu khác Các chế độ hoạt động khác của DES phụ thuộc vào thông tin được mã hoá trước đó nên rất khó có thể mã hoá và giải mã các khối thông tin nhỏ bởi vì trước tiên cần phải giải mã các khối thông tin kế trước Chế độ mã hoá ECB này cũng được dùng trong một số ứng dụng kiểu challenge-response và trong một số ứng dụng quản ký khoá mã Chế độ mã hoá ECB cũng được dùng để mã hoá mã số cá nhân (PIN) trong các hệ thống rút tiền tự động (ATM) của các ngân hàng

Chế độ Cipher Block Chaining (CBC)

Trong chế độ ECB, mỗi khối dữ liệu plaintext và khóa mã luôn trả về một giá trị ciphertext duy nhất Điều đó có nghĩa nếu từ “balloon” được mã hoá thành

“hwicssn” thì mã hoá tại thời điểm bất kỳ thời điểm nào với cùng khoá mã ấy kết quả không bao giờ thay đổi Điều này có nghĩa là chế độ ECB mã hoá theo một khuôn mẫu định sẵn và nếu kẻ tấn công cố gắng thì có thể sẽ tìm hiểu được tiến trình mã hoá Chế độ mã hoá CBC không tuân theo một khuôn mẫu định sẵn do các khối thông tin, khoá mã và giá trị đầu ra luôn phụ thuộc vào các đầu ra của khối kề trước trong thuật toán; và giá trị thu được cũng được dùng để mã hoá khối tiếp theo Cơ chế này cho phép kết quả thu được bởi quá trình mã hoá ngẫu nhiên hơn

Trang 37

Hình 2.10: Trong chế độ CBC, ciphertext thu được dùng để mã hoá khối thông tin tiếp theo

Giá trị ciphertext được tách ra và so sánh tuyệt đối với plaintext của khối tiếp theo làm cho các khối trong thuật toán phụ thuộc vào nhau hay nói cách khác các khối

dữ liệu được móc nối với nhau tạo thành một chuỗi mắt xích Đấy cũng là lý do chế

độ này có tên là mã hoá theo khối liên kết (CBC), sự liên kết này giúp cho thuật toán giấu được khuôn mẫu của mình Cơ chế này có thể biểu diễn dưới dạng biểu thức toán học như sau:

P  1

Việc các khối dữ liệu plaintext phụ thuộc vào khối mã hoá ciphertext trước đó cũng

có nghĩa là khối dữ liệu plaintext phụ thuộc vào tất cả các khối dữ liệu trước đó

Chế độ mã hoá Cipher Feedback (CFB)

Chế độ mã hoá CBC chỉ có thể tiến hành được khi thuật toán nhận đầy đủ các khối thông tin Đây là một diều trở ngại cho một số ứng dụng ví dụ như các ứng dụng dạng terminal cần phải truyền đi các ký tự ngay khi ký tự đó được nhập vào Cơ chế mã hoá CFB cho phép khắc phục được điều này Trong chế độ này, giá trị ciphertext tạo ra từ khối thông tin được mã hoá trước đó được đưa ngược vào thuật toán để tạo ra các giá trị ngẫu nhiên Các giá trị ngẫu nhiên này được kết hợp với các khối thông tin hiện thời để tạo ra thông tin mã hoá ciphertext Đây là một hình thức khác của cơ chế mã hoá theo khối liên kết, tuy nhiên khác với cơ chế CBC sử dụng trực tiếp giá trị ciphertext của khối trước đó, cơ chế CFB biến đổi giá trị

Trang 38

ciphertext trước đó rồi mới so sánh tuyệt đối với giá trị plaintext trong khối hiện tại Quá trình này có thể biểu diễn dưới dạng biểu thức toán học như sau:

Chế độ mã hoá Output Feedback (OFB)

Chế độ mã hoá này rất giống với chế độ mã hoá CFB, nhưng nếu DES làm việc trong chế độ OFB, thuật toán sẽ có chức năng như một thuật toán mã hoá theo luồng bởi vì OFB tạo ra một chuỗi bit ngẫu nhiên kết hợp với plaintext để tạo ra ciphertext Ciphertext này được đưa ngược trở lại thuật toán tạo ra một đầu vào cho khối tiếp theo để mã hoá luồng bit kế tiếp

Như đã đề cập trong các phần trước, phương pháp mã hoá theo khối làm việc trên các khối dữ liệu còn phương pháp mã hoá theo luồng làm việc trên các luồng dữ liệu Phương pháp mã hoá theo luồng sử dụng các chuỗi khoá để tạo ra sự ngẫu nhiên để mã hoá dữ liệu, còn phương pháp mã hoá theo khối sử dụng các khối S-box để mã hoá dữ liệu Trong chế độ OFB, các khối thông tin của DES được truyền

đi qua các bộ mã hoá khối, các bộ mã hoá luồng và sử dụng các chuỗi khoá để mã hoá và giải mã thông tin Dạng biểu thức toán học của phương pháp này như sau:

Trang 39

2.4.2 Thuật toán mã hoá 3DES [7]

Gần đây, với sự phát triển mạnh của máy tính, thuật toán DES đã bị phá vỡ khiến cho thuật toán DES không còn thực sự an toàn Chính vì lí do đó thuật toán 3DES

đã ra đời và được rất nhiều tổ chức tài chính, ngân hàng sử dụng dụng làm chuẩn

mã hoá thay thế cho DES

Thuật toán 3DES cho phép tăng kích thước của khoá mã (điểm yếu duy nhất của DES từ trước đến nay lên thành 112 bit (tương ứng với 5.19x1033 trường hợp) và thậm chí lên 168 bit (3.74x1050 trường hợp)

Hình 2.12: Cơ chế hoạt động của thuật toán 3DES

Thuật toán 3DES sử dụng 3 khoá mã 56 bit của DES vào trong 3 tiến trình Tiến trình đầu tiên sử dụng khoá mã k1 để mã hoá, sau đó sử dụng khoá mã k2 để giải

mã Ciphertext tạo ra được đem mã hoá bằng khoá mã k3 để tạo ra ciphertext cuối cùng

Khi sử dụng từ khoá có độ dài 112 bit thì khoá mã k1 = k3

Khi khoá mã k1 = k2 = k3 thì thuật toán 3DES trở thành dạng thuật DES thông thường Điều này cũng có nghĩa là thuật toán 3DES có tính tương thích ngược đối với thuật toán DES

Khi khoá mã k1 ≠ k2 ≠ k3 thì ta có thuật toán 3DES với khoá mã dài 156 bit

Thuật toán 3DES sử dụng 48 vòng tính toán (3 x 16) cho phép chống phá mã cao hơn khoảng 256 lần so với thuật toán DES Tuy nhiên cũng vì vậy mà thuật toán 3DES thực hiện mã hoá lâu hơn khoảng 3 lần so thuật toán DES

2.4.3 Advanced Encryption Standard (AES) [6]

Sau khi DES được chọn làm tiêu chuẩn mã hoá và sử dụng phổ biến trên 20 năm

Trang 40

qua, với sự phát triển vượt bậc về tốc độ xử lý của máy tính, thuật toán DES đã có thể bị phá vỡ trong một khoảng thời gian ngắn Chính vì vậy NIST đã quyết định sử dụng thuật toán AES để thay thế DES Quyết định được đưa ra vào tháng 1 năm

1997 Các thuật toán AES là các thuật toán mã hoá đối xứng dạng mã hoá theo khối

sử dụng khoá mã có độ dài 128, 192 và 256 bit 5 thuật toán được NIST đưa vào xem xét bao gồm:

- MARS phát triển bởi đội ngũ IBM đã từng phát triển thuật toán Lucifer

- RC6 phát triển bởi phòng thí nghiệm RSA

- Serpent phát triển bởi Ross Anderson, Eli Biham, và Lars Knudsen

- Twofish phát triển bởi Counterpane Systems

- Rijndael phá triển bởi Joan Daemon và Vincent Rijmen

Cuối cùng thuật toán Rijndael đã được NIST lựa chọn để thay thế cho thuật toán DES Thuật toán này được sử dụng để bảo vệ các thông tin nhạy cảm nhưng chưa phải là tối mật của chính phủ Mỹ

Serpent

Serpent là một thuật toán hiện đại sử dụng khối thông tin 128 bit và các khoá mã có

độ dài 256 bit để tính toán và chọn ra một khoá mã có độ dài thích hợp Serpent được phát triển bởi Ross Anderson, Eli Biham, Lars Knudsen và là một trong 5 thuật toán được NIST xem xét để trở thành tiêu chuẩn AES Serpent được thiết kế theo nguyên lý tương tự với dạng BitSlice của thuật toán DES và cho phép mã hoá mạnh hơn 3DES với tốc độ tương đương với thuật toán DES thông thường Theo thiết kế, Serpent có thể làm việc tốt với các bộ xử lý 1 bit hoặc lớn hơn, Serpent cũng có thể dễ dàng song song hoá để làm việc với các hệ thống đa chip xử lý đối xứng (SMP) - một cấu trúc rất phổ biến trong các hệ thống máy tính lớn, các hệ thống VPU hoặc các hệ thống chip đa lõi Serpent hiện ít được sử dụng mặc dù thuật toán này còn mạnh hơn một chút so với thuật toán được chọn làm AES Một

dự án tiềm năng đang được triển khai để tối ưu hoá của Serpent trên các hệ thống VPU hoặc SMP và có thể sánh ngang tốc độ với sự hiệu quả của việc triển khai AES trên cùng một nền tảng hệ thống Không giống như DES, 3DES, Serpent được

Ngày đăng: 25/03/2015, 11:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Bruce Schneier, Applied Cryptography, Second Edition: Protocols, Algorthms, and Source Code in C. (1996) Sách, tạp chí
Tiêu đề: Applied Cryptography, Second Edition: Protocols, Algorthms, and Source Code in C
2. T. W. Korner, Mathematics. Coding and Cryptography. (1998) Sách, tạp chí
Tiêu đề: Mathematics. Coding and Cryptography
3. Douglas Stinson, Cryptography: Theory and Practice, Second Edition. (2002) 4. Alfred J. Menezes , Handbook of Applied Cryptography. (1996) Sách, tạp chí
Tiêu đề: Cryptography: Theory and Practice, Second Edition. "(2002) 4. Alfred J. Menezes, "Handbook of Applied Cryptography
5. William Stallings, Cryptography and Network Security: Principles and Practice. (1997) Sách, tạp chí
Tiêu đề: Cryptography and Network Security: Principles and Practice
6. Shon Harris, Gareth Hancock, CISSP All-in-One Exam Guide. (2001) 7. Thales e-security, General Cryptographic Knowledge Sách, tạp chí
Tiêu đề: CISSP All-in-One Exam Guide. "(2001) 7. Thales e-security

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Phân loại các phương pháp mã hoá - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 2.1 Phân loại các phương pháp mã hoá (Trang 20)
Hình 2.3 [2] bên dưới minh hoạ các phương thức mã hoá khác nhau trong hệ thống - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 2.3 [2] bên dưới minh hoạ các phương thức mã hoá khác nhau trong hệ thống (Trang 26)
Hình 2.4: Bảo vệ và xác định nguồn gốc thông tin bằng cách mã hoá hai lần - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 2.4 Bảo vệ và xác định nguồn gốc thông tin bằng cách mã hoá hai lần (Trang 27)
Hình 2.9: Sơ đồ khối thực hiện giải thuật DES - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 2.9 Sơ đồ khối thực hiện giải thuật DES (Trang 35)
Hình 2.10: Trong chế độ CBC, ciphertext thu được  dùng để mã hoá khối thông tin tiếp theo - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 2.10 Trong chế độ CBC, ciphertext thu được dùng để mã hoá khối thông tin tiếp theo (Trang 37)
Hình 2.13: Trong hệ thống hybrid, khoá mã bất đối xứng được dùng - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 2.13 Trong hệ thống hybrid, khoá mã bất đối xứng được dùng (Trang 45)
Hình 3.2: Mỗi một chứng chỉ chứa đầy đủ các thông tin nhận dạng cần thiết - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 3.2 Mỗi một chứng chỉ chứa đầy đủ các thông tin nhận dạng cần thiết (Trang 52)
Hình 3.4: CA và mối quan hệ với người sử dụng - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 3.4 CA và mối quan hệ với người sử dụng (Trang 54)
Hình 3.7: Tạo chữ ký điện tử cho một file - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 3.7 Tạo chữ ký điện tử cho một file (Trang 60)
Hình 3.8: Chu trình quản lý khoá mã - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 3.8 Chu trình quản lý khoá mã (Trang 66)
Hình 3.9: các bước để thiết lập một kênh SSH - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 3.9 các bước để thiết lập một kênh SSH (Trang 72)
Hình 3.10: Các bước khởi tạo một kết nối IPSec - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 3.10 Các bước khởi tạo một kết nối IPSec (Trang 74)
Hình 3.11: SA và SPI cho phép thiết bị mã hoá và giải mã khi sử dụng IPSec - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 3.11 SA và SPI cho phép thiết bị mã hoá và giải mã khi sử dụng IPSec (Trang 75)
Hình 4.4: Một agent làm việc với hệ điều hành MS Windows yêu cầu - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 4.4 Một agent làm việc với hệ điều hành MS Windows yêu cầu (Trang 86)
Hình 4.5: Một màn hình quản lý giao diện đồ hoạ của hệ thống RSA SecurID - Mã hoá bảo mật thông tin và ứng dụng trong thương mại điện tử
Hình 4.5 Một màn hình quản lý giao diện đồ hoạ của hệ thống RSA SecurID (Trang 88)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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