1. Trang chủ
  2. » Công Nghệ Thông Tin

de cuong bao mat may tinh va mang

135 439 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Đề Cương Bảo Mật Máy Tính Và Mạng
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành An Toàn Thông Tin
Thể loại Đề Cương
Định dạng
Số trang 135
Dung lượng 4,4 MB

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

Nội dung

đề cương môn bảo mật máy tính vfa mạng

Trang 1

MỤC LỤC

MỤC LỤC 1

BÀI 1: GIỚI THIỆU CHUNG 4

1.1 Giới thiệu mục tiêu, nội dung, phương pháp học 4

1.2 Một số khái niệm về an toàn và bảo mật thông tin 5

1.2.1 Khái niệm an toàn và an toàn đữ liệu 5

1.2.2 Một số nguy cơ tiềm ẩn về khả năng mất an toàn thông tin 6

1.2.3 Mục tiêu của an toàn dữ liệu 6

1.2.4 Các yêu cầu của An toàn dữ liệu 7

1.2.5 Quy trình đảm bảo an toàn dữ liệu 8

1.2.6 Các loại tấn công phá hoại an toàn: 10

1.2.6.1 Nghe trộm đường truyền 11

1.2.6.2 Giả mạo người gửi 12

1.2.6.3 Thay đổi thông điệp 13

1.2.6.4 Tấn công lặp lại 14

1.2.6.5 Tấn công từ chối dịch vụ 15

1.3 Các chủ đề làm tiểu luận 16

BÀI 2: CƠ SỞ LÝ THUYẾT SỐ 19

2.1 Định nghĩa Modulo 19

2.2 Các phép toán số học trên Modulo 20

2.3 Ước số chung lớn nhất (Greatest Common Divisor) 21

2.4 Tìm số nghịch đảo a-1 23

2.5 Số học đa thức 25

2.6 Phép toán đa thức với Modulo đa thức 26

2.7 Các số nguyên tố 29

2.8 Phân tích ra thừa số nguyên tố 29

2.9 Các số nguyên tố cùng nhau và GCD 29

2.10 Định lý Ferma (Định lý Ferma nhỏ) 30

2.11 Hàm Ole 30

2.12 Định lý Ole 31

2.13 Kiểm tra tính nguyên tố 31

BÀI 3: CÁC HỆ MẬT MÃ CỔ ĐIỂN 33

3.1 Khái niệm Hệ mật mã 33

3.2 Mã dịch chuyển (shift cipher - Caesar) 34

3.3 Mã thay thế (substitution cipher) 35

3.4 Hệ mật mã Affine 36

3.5 Hệ mật mã Vigenere 37

3.6 Hệ mật mã Hill 38

Trang 2

3.7 Mã hoán vị (permutation cipher) 39

3.8 Mã dòng (stream cipher) 39

3.9 Một số phương pháp thám mã 41

3.9.1 Khái niệm 41

3.9.2 Thám mã tích cực 42

3.9.3 Thám mã thụ động 42

3.9.4 Phương pháp thống kê 42

3.9.5 Thám mã Affine 42

3.9.6 Thám mã Vigenere 44

BÀI 4 – THẢO LUẬN VỀ CÁC HỆ MẬT MÃ CỔ ĐIỂN 45

BÀI 5 - MÃ NÉN DỮ LIỆU 46

5.1 Khái niệm cơ bản 46

5.2 Các phương pháp nén dữ liệu 46

5.2.1 Nén bảo toàn 46

5.2.2 Nén không bảo toàn 46

5.3 Mô hình thống kê 47

5.3.1 Mô hình thống kê tĩnh 47

5.3.2 Mô hình thống kê động 47

5.4 Một số mã nén cơ bản 48

5.4.1 Mã nén Huffman 48

a) Thuật toán tạo mã Huffman 48

5.4.2 Mã RLE (Run- Length- Encoding) 54

5.5 Mô hình từ điển 55

5.5.1 Tổng quát 55

5.5.2 Từ điển tĩnh 56

5.5.3 Từ điển động 56

5.5.4 LZ77 <Sliding Window> 56

5.5.5 LZ78 59

BÀI 6: HỆ MÃ HÓA ĐỐI XỨNG 62

6.1 Các khái niệm 62

6.2 Mã Fiestel 64

6.3 Chuẩn mã dữ liệu (DES) 66

6.3.1 Lịch sử DES 67

6.3.2 Sơ đồ mã DES 67

6.3.3 Cấu tạo một vòng của DES 68

6.3.4 Sinh khoá con của DES 69

6.3.5 Tính chất của DES 70

6.3.6 Thám mã tuyến tính 72

6.5 Chuẩn mã hóa AES (Xem TLTK) 73

BÀI 7: THẢO LUẬN VỀ HỆ MÃ HÓA KHÓA ĐỐI XỨNG 73

BÀI 8: HỆ MẬT MÃ HÓA KHÓA CÔNG KHAI RSA 73

8.1 Mã khoá riêng 74

8.2 Mã khoá công khai RSA 74

8.3 Thuật toán RSA 76

Trang 3

8.4 Áp dụng RSA mã hóa 77

8.5 Lũy thừa 78

BÀI 9: PHÂN PHỐI KHÓA VÀ TRAO ĐỔI KHÓA 80

9.1 Phân phối khoá 80

9.2 Phân phối khoá công khai 80

9.3 Trao đổi khoá Diffie Hellman 83

9.3.1 Yêu cầu 83

9.3.2 Khởi tạo Diffie Hellman 83

9.3.3 Trao đổi khoá Diffie Hellman 83

BÀI 10: HÀM BĂM VÀ THUẬT TOÁN BĂM 84

10.1 Hàm băm 84

10.1.1 Các yêu cầu 84

10.1.2 Các tính chất của hàm băm 85

10.2 Hàm băm SHA (Secure Hash Algorithm) 85

10.3 Thuật toán Hash an toàn SHA (Secure Hash Algorithm) 86

10.4 Hàm băm MD5 90

BÀI 11: THẢO LUẬN VỀ HỆ MÃ HÓA KHÓA CÔNG KHAI 93

BÀI 12: XÁC THỰC VÀ CHỮ KÝ SỐ 93

12.1 Mã xác thực mẩu tin (MAC – Message Authentication Code) 94

12.1.1 Các tính chất của MAC 94

12.1.2 Yêu cầu đối với MAC 94

12.1.3 Sử dụng MAC 94

12.2 Chữ ký số 95

12.2.1 Khái niệm 95

12.2.2 Đặc điểm của chữ ký điện tử 96

12.2.3 Chức năng 96

12.3 Hệ mật mã và sơ đồ chữ ký El Gamal 96

12.4 Những yêu cầu đối với chữ ký điện tử 96

BÀI 13 AN NINH ĐƯỜNG TRUYỀN 97

13.1 Giới thiệu 97

13.2 IP/IPSec 98

13.2.1 Phần đầu xác thực (Authentication Header - AH) 99

13.2.2 Tải trọng an toàn đóng gói (ESP) 99

13.2.3 Chế độ vận chuyển và chế độ ống ESP 99

13.3 SSL/TSL (Secure Socket Layer) 100

13.3.1 Kiến trúc SSL 100

13.3.2 Hoạt động của SSL 102

13.4 Các dịch vụ bảo mật tầng ứng dụng (Xem TLTK) 103

BÀI 14: VIRUS MÁY TÍNH (Computer Virus) 103

14.1 Giới thiệu 104

14.2 Một số tính chất của virus máy tính 105

Trang 4

14.2.1 Tính lây lan 105

14.2.2 Tính tương thích 105

14.2.3 Tính nhỏ gọn 105

14.2.4 Tính phá hoại 106

14.3 Phân loại virus máy tính 106

14.3.1 Phân loại theo đối tượng lây nhiễm 106

14.3.2 Phân loại theo phương thức hoạt động 106

14.4 Một số loại Virus cơ bản và cách phòng chống 107

14.4.1 Virus lây vào file COM, EXE 107

14.4.2 Virus Macro 108

14.4.3 Virus lây nhiễm qua mạng 115

14.4.4 Mã ngoại lai 117

BÀI 15: FIREWALL 119

15.1 Khái niệm Firewall 119

15.2 Nguyên lý hoạt động và bảo mật trên Firewall 120

15.2.1 Chức năng chính 120

15.2.2 Nguyên lý 120

15.3 Các luật lọc packet trên Firewall 121

15.4 Cấu hình tường lửa 123

BÀI 16: THẢO LUẬN VỀ VIRUS VÀ FIREWALL 133

TÀI LIỆU THAM KHẢO 134

BÀI 1: GIỚI THIỆU CHUNG 1.1 Giới thiệu mục tiêu, nội dung, phương pháp học

+ Mục tiêu

Học xong module này, người học có khả năng:

- Giải thích được các thuật toán mã hóa đảm bảo an ninh mạng

- Mô tả được các nguyên lý bảo mật và các kỹ thuật bảo mật mạng doanh nghiệp

- Phân tích rủi ro cho một hệ thống thông tin;

- Triển khai các kỹ thuật bảo mật bảo vệ hệ thống thông tin;

- Tư vấn về các vấn đề bảo mật cho mạng doanh nghiệp

Module này sẽ giúp người học phát triển các năng lực: Phân tích (4); Tư vấn (4); Thực hiện (3) và Bảo trì (3)

+ Nội dung

Module giới thiệu các vấn đề bảo mật máy tính và mạng máy tính Các chủ đề (không hạn chế) bao gồm:

Trang 5

Các kỹ thuật đảm bảo an toàn cho các hệ thống máy tính đa người dùng và các hệ thống máy tính phân tán;

Hệ mật mã: khóa bí mật, khóa công khai, chữ ký điện tử;

Bảo mật thư điện tử và WWW;

Thương mại điện tử: giao thức thanh toán, tiền điện tử;

Thời lượng của module tương đương 3 tín chỉ, có kết cấu dạng lý thuyết kết hợp làm tiểu luận do vậy người học phải đăng ký chủ đề nghiên cứu theo nhóm (từ 2 đến 3 người) ngay từ buổi học đầu tiên Trong quá trình học tập, sinh viên tham gia học tập trên lớp và làm việc nhóm theo các chủ đề đã đăng ký Sau khi kết thúc 11 buổi học lý thuyết, các nhóm sinh viên báo cáo kết quả nghiên cứu trước lớp trong 4 buổi còn lại

1.2 Một số khái niệm về an toàn và bảo mật thông tin

1.2.1 Khái niệm an toàn và an toàn đữ liệu

Theo từ điển tiếng Việt, an toàn có nghĩa là được bảo vệ, không bị xâm hại.

An toàn thông tin có thể hiểu là quá trình đảm bảo cho hệ thống tránh khỏi

những nguy cơ hỏng hóc hoặc mất mát dữ liệu Các nguy cơ này có thể là ngẫu nhiên (do tai nạn) hoặc có chủ định (bị phá hoại từ bên ngoài) Việc bảo vệ dữ liệu có thể được thực hiện bằng các thiết bị phần cứng (các hệ thống backup dữ liệu, ) hay các chương trình phần mềm (trình diệt virus, các chương trình mã hóa, )

Trong môi trường mạng toàn cầu như hiện nay, việc đảm bảo an toàn thông tin gặp khó khăn hơn rất nhiều Trước đây, dữ liệu chỉ được lưu trữ trong một máy tính cá nhân độc lập, việc bảo mật dữ liệu được thực hiện dễ dàng bằng cách sử dụng các biện pháp phần cứng (niêm phong các ổ mềm, ổ CD) hay các trình bảo vệ dữ liệu cục bộ đơn giản Hiện nay, dữ liệu không đơn thuần nằm trong một máy tính riêng biệt nữa

mà được chia sẻ trên mạng cho nhiều người sử dụng Điều này giúp việc trao đổi thông tin thuận lợi hơn bao nhiêu thì cũng giúp cho việc tấn công dữ liệu dễ dàng hơn bấy nhiêu Hacker không cần phải động vào máy tính của nạn nhân, thậm chí cũng

Trang 6

không cần biết chiếc máy tính đó như thế nào mà vẫn có thể xâm nhập vào nó Dữ liệu

có nguy cơ bị tấn công bất cứ lúc nào cho dù có áp dụng các biện pháp bảo mật tiên tiến nhất Vì vậy, người đảm bảo an toàn thông tin phải luôn luôn cập nhật các kiến thức bảo mật mới có thể thích nghi được với tình trạng tấn công dữ liệu ngày càng gia tăng như hiện nay

1.2.2 Một số nguy cơ tiềm ẩn về khả năng mất an toàn thông tin

Một số nguy cơ về khả năng mất an toàn thông tin mà hệ thống Công nghệ thông tin (CNTT) cần cảnh báo là:

(1) Nguy cơ bị lộ thông tin của cá nhân, tổ chức và các giao dịch liên quan cho

bên thứ ba (không phải là bên mà thông tin cần được gửi đến)

(2) Nguy cơ bị kẻ xấu làm sai lệch thông tin bằng một trong ba cách:

- “Bắt” thông tin ở giữa đường di chuyển từ “nguồn” đến “đích”, sửa đổi hay chèn, xoá thông tin và gửi đi tiếp

- Tạo một nguồn thông tin giả mạo để đưa các thông tin đánh lừa “đích”

- Tạo “đích” giả để lừa thông tin đến từ các nguồn “thật” Chẳng hạn như kỹ thuật đánh lừa “Phishing” hay được nhắc tới gần đây Tin tặc có thể tạo ra một “đích” giả giống hệt trang Web giao dịch của ngân hàng để lừa khách hàng vào giao dịch, từ

đó bắt được các mật khẩu của khách hàng Kỹ thuật này tuy khá mới nhưng phát triển rất nhanh, đồng thời ngày càng được cải tiến tinh vi hơn về kỹ thuật Ngoài ra còn có

kỹ thuật “Pharming” Khác với Phishing lừa người giao dịch vào một trang Web có địa chỉ khác, nhưng được ngụy trang bằng dòng chữ giống hệt địa chỉ của ngân hàng (mặc

dù vậy, nếu tinh ý sẽ thấy dòng địa chỉ “lạ” hiện lên khi bấm vào đó) thì Pharming lừa đưa người giao dịch đến một trang Web giả, mặc dù địa chỉ vẫn y như thật Kẻ xấu thực hiện điều này sử dụng các kỹ thuật Hack tinh vi như “DNS Cache Poisoning”

(3) Nguy cơ bị tắc nghẽn, ngừng trệ thông tin

1.2.3 Mục tiêu của an toàn dữ liệu

Đảm bảo an toàn thông tin cho một hệ thống thông tin là một công việc phức tạp, nhằm đạt được những mục tiêu cụ thể sau:

(1) Phát hiện các lỗ hổng của hệ thống cũng như dự đoán trước những nguy cơ tấn công vào hệ thống,

(2) Ngăn chặn những hành động gây mất an toàn thông tin từ bên trong cũng như bên ngoài,

(3) Phục hồi tổn thất trong trường hợp hệ thống bị tấn công nhằm đưa hệ thống vào hoạt động trong thời gian sớm nhất

Trang 7

1.2.4 Các yêu cầu của An toàn dữ liệu

Hình 1.1 Minh hoạ về an toàn thông tin

An toàn thông tin là một vấn đề phức tạp, liên quan đến nhiều yếu tố khác nhau

Các yếu tố cơ bản cần phải giải quyết, bao gồm: tính bảo mật, tính toàn vẹn, tính sẵn sàng và tính tin cậy.

Tính bảo mật (Confidentiality)

Đây là yêu cầu đảm bảo cho dữ liệu của người sử dụng phải được bảo vệ, không bị mất mát vào những người không được phép Nói khác đi là phải đảm bảo được ai là người được phép sử dụng (và sử dụng được) các thông tin (theo sự phân loại mật của thông tin)

Thông tin đạt được tính bảo mật khi nó không bị truy nhập, sao chép hay sử dụng trái phép bởi một người không sở hữu Trên thực tế, mọi rất nhiều thông tin cá nhân của người sử dụng đều cần phải đạt được độ bảo mật cao chẳng hạn như mã số thẻ tín dụng, số thẻ bảo hiểm xã hội, Vì vậy đây có thể nói là yêu cầu quan trọng nhất đối với tính an toàn của một hệ thống thông tin

Tính toàn vẹn (Integrity)

Trong an toàn thông tin, tính toàn vẹn có nghĩa là dữ liệu không bị tạo ra, sửa

đổi hay xóa bởi những người không sở hữu Tính toàn vẹn đề cập đến khả năng đảm bảo cho các thông tin không bị thay đổi nội dung bằng bất cứ cách nào bởi người không được phép trong quá trình truyền thông

Chính sách toàn vẹn dữ liệu phải đảm bảo cho ai là người được phép thay đổi

dữ liệu và ai là người không được phép thay đổi dữ liệu Dữ liệu trên thực tế có thể vi phạm tính toàn vẹn khi một hệ thống không đạt được độ an toàn cần thiết Chẳng hạn một hệ quản trị CSDL xây dựng kém có thể gây mất mát dữ liệu trong trường hợp mất điện đột ngột Các hành động phá hoại cũng có thể gây ra mất tính toàn vẹn của dữ liệu

Việc đảm bảo tính toàn vẹn của dữ liệu bao gồm:

- Đảm bảo sự toàn vẹn dữ liệu đổi với dữ liệu gốc

Trang 8

- Bảo vệ dữ liệu khỏi sự sửa chữa và phá hoại của những người dùng không có thẩm quyền

- Bảo vệ dữ liệu tránh khỏi những thay đổi không đúng về mặt ngữ nghĩa hay logic

Tính sẵn sàng (Availability)

Tuy dữ liệu phải được đảm bảo bí mật và toàn vẹn nhưng đối với người sử dụng, dữ liệu phải luôn trong trạng thái sẵn sàng Các biện pháp bảo mật làm cho người sử dụng gặp khó khăn hay không thể thao tác được với dữ liệu đều không thể được chấp nhận Nói khác đi, các biện pháp đảm bảo an toàn thông tin phải đảm bảo được sự bảo mật và toàn vẹn của dữ liệu đồng thời cũng phải hạn chế tối đa những khó khăn gây ra cho người sử dụng thực sự

Tính tin cậy (Confidentiality)

Yêu cầu này liên quan đến khả năng đảm bảo rằng, ngoài những người có quyền, không ai có thể xem các thông điệp và truy cập những dữ liệu có giá trị Mặt khác, nó phải đảm bảo rằng thông tin mà người dùng nhận được là đúng với sự mong muốn của họ

Hình 1.2 Các yêu cầu trong đảm bảo an toàn thông tin

Việc đánh giá độ an toàn của một hệ thống thông tin phải xem xét đến tất cả những yếu tố trên Nếu thiếu một trong số đó thì độ bảo mật của hệ thống là không hoàn thiện

1.2.5 Quy trình đảm bảo an toàn dữ liệu

Quy trình đảm bảo an toàn thông tin cho một hệ thống bao gồm bốn bước như

hình sau:

Trang 9

Hình 1.3 Quy trình bảo đảm an toàn hệ thống

Xác định

Bước này phân tích trực tiếp toàn bộ hệ thống, tìm ra những kẽ hở mà các tin tặc có thể lợi dụng để tấn công Ngoài ra khi hệ thống bị tấn công thì cần nhanh chóng xác định rõ là bị tấn công từ đâu và tấn công băng cách nào để có thể đưa ra các biện pháp khắc phục trong thời gian nhanh nhất

Để thực hiện tốt giai đoạn này, phải trả lời được 3 câu hỏi:

(1) bảo vệ cái gì (2) bảo vệ khỏi ai (3) bảo vệ bằng cách nào

Để tìm ra những lỗ hổng trong hệ thống, người quản trị phải xem mình như một hacker, tự tấn công vào chính hệ thống của mình Một hệ thống dù hoàn thiện đến đâu nhưng cũng không tránh khỏi những kẽ hở, dù là rất nhỏ Trong khi hacker ngày càng nghĩ ra nhiều cách thức tấn công mà chúng ta không ngờ tới

Đánh giá

Sau khi đã xác định được những kẽ hở và phân tích các nguy cơ bị tấn công của

hệ thống, người quản trị phải đề ra những biện pháp đề phòng đống thời đánh giá các chi phí bỏ ra để tiến hành khắc phục các lỗ hổng trên cũng như chi phí cho thiệt hại khi xảy ra tấn công

Lựa chọn giải pháp

Trên cơ sở đánh giá tất cả các yếu tố: độ an toàn, tính khả thi, chi phí, người quản trị lựa chọn ra giải pháp thích hợp nhất trong số những phương pháp bảo mật dữ liệu trong cả 2 trường hợp là khắc phục lỗ hổng của hệ thống hoặc khi hệ thống bị tấn công Trong trường hợp hệ thống đang bị tẫn công thì cần lựa chọn một cách nhanh nhất một giải pháp để có thể ngăn chặn cuộc tấn công này hay ít nhất cũng là hạn chể được những thiệt hại về sau

Xác định

Đánh giá

Giám sát rủi ro Lựa chọn

giải pháp

Trang 10

đảm bảo cho hệ thống hoạt động một cách bình thường Giám sát hệ thống đồng thời

đưa ra các giải pháp khắc phục khi bị tấn công sẽ giúp cho việc bảo mật dữ liệu trở nên hiệu quả hơn

1.2.6 Các loại tấn công phá hoại an toàn:

Hình 1.4 - Mô hình truyền thông qua 3 thực thể

Các hệ thống trên mạng có thể là đối tượng của nhiều kiểu tấn công:

- Tấn công giả mạo là một thực thể tấn công giả danh một thực thể khác Tấn công giả mạo thường được kết hợp với các dạng tấn công khác như tấn công chuyển tiếp và tấn công sửa đổi thông báo

- Tấn công chuyển tiếp xảy ra khi một thông báo, hoặc một phần thông báo được gửi nhiều lần, gây ra các tác động tiêu cực

- Tấn công sửa đổi thông báo xảy ra khi nội dung của một thông báo bị sửa đổi nhưng không bị phát hiện

- Tấn công từ chối dịch vụ xảy ra khi một thực thể không thực hiện chức năng của mình, gây cản trở cho các thực thể khác thực hiện chức năng của chúng

- Tấn công từ bên trong hệ thống xảy ra khi người dùng hợp pháp cố tình hoặc vô

ý can thiệp hệ thống trái phép Còn tấn công từ bên ngoài là nghe trộm, thu chặn, giả mạo người dùng hợp pháp và vượt quyền hoặc lách qua các cơ chế kiểm soát truy nhập

• Tấn công bị động Do thám, theo dõi đường truyền để:

Trang 11

o nhận được nội dung bản tin hoặc

o theo dõi luồng truyền tin

• Tấn công chủ động Thay đổi luồng dữ liệu để:

o giả mạo một người nào đó

o lặp lại bản tin trước

o thay đổi ban tin khi truyền

o từ chối dịch vụ

1.2.6.1 Nghe trộm đường truyền

Hình 1.5 - Nghe trộm thông tin trên đường truyền

Kẻ nghe trộm Thông tin

Thông tin

Trang 12

Nghe trộm Password: tin tặc có thể lấy được mật khẩu của người sử dụng, sau

đó chúng truy nhập một cách chính quy vào hệ thống, nó cũng giống như là lấy được chìa khoá, sau đó đàng hoàng mở cửa và khuân đồ ra

Tấn công theo kiểu này cũng có thể được thực hiện bởi các loại Virus gián điệp (Spyware) hoặc các Virus loại Malicious Các Virus loại này nếu bị lây nhiễm vào máy tính của chúng ta sẽ hoạt động như một tiến trình ngầm và sẽ lấy cắp các thông tin của chúng ta bằng cách “lắng nghe” các thông tin của chúng ta sau đó sẽ gửi về một địa chỉ nào đó ở trên mạng (được các tin tặc đặt sẵn)

Xem lén thư tín điện tử là một dạng mới của hành vi trộm cắp trên mạng Kỹ thuật xem

lén thư điện tử sử dụng một đoạn mã ẩn bí mật gắn vào một thông điệp thư điện tử, cho phép người nào đó có thể giám sát toàn bộ các thông điệp chuyển tiếp được gửi đi cùng với thông điệp ban đầu Chẳng hạn, một nhân viên phát hiện thấy lỗi kỹ thuật trong khâu sản xuất, anh ta lập tức gửi một báo cáo cho cấp trên thông báo phát hiện của mình Người này, sau đó, sẽ tiếp tục gửi thông báo tới tất cả các bộ phận có liên quan trong doanh nghiệp Một kẻ nào đó, sử dụng kỹ thuật xem lén thư điện tử, có thể theo dõi và biết được toàn bộ thông tin trong các bức thư điện tử gửi tiếp sau đó bàn về vấn đề này Và sẽ rất nguy hiểm nếu như các thông tin bí mật trong nội bộ doanh nghiệp bị kẻ xấu biết được và sử dụng vào những mục đích bất chính,

1.2.6.2 Giả mạo người gửi

Hình 1.6 Giả mạo người gửi tin

Giả mạo người gửi: Trong những mạng lưới truyền dữ liệu cổ điển, dữ liệu

được gửi rất thô sơ, không hề có một sự mã hóa hay xác thực nào từ cả hai phía người gửi và người nhận, vì vậy hacker có thể dễ dàng tạo ra những thông báo, giả mạo nó như một thông báo thực sự từ người gửi để gửi nó cho người nhận Các thông báo này

có thể là những tin tức giả, nhưng yêu cầu để lấy user cũng như Password để xâm nhập

Trang 13

vào máy chủ Phương pháp tấn công này chỉ áp dụng được với những mạng có độ bảo mật rất kém, còn nói chung hiện nay thì hầu như không thể sử dụng được.

Giả mạo địa chỉ: Thường thì các mạng máy tính nối với Internet đều được bảo

vệ bởi bức tường lửa (Firewall) Bức tường lửa có thể coi như cái cửa duy nhất mà người đi vào nhà hay đi ra khỏi cũng đều bắt buộc phải qua đó (như cửa khẩu ở sân bay) Như vậy những người trong nhà (trong mạng) sẽ có sự tin tưởng lẫn nhau, tức là được phép dùng tất cả mọi thứ trong nhà (dùng mọi dịch vụ trong mạng) Còn những người bên ngoài sẽ bị hạn chế tối đa việc sử dụng đồ đạc trong nhà đó Việc này làm được nhờ bức tường lửa

Giả mạo địa chỉ là kiểu tấn công mà người bên ngoài (máy tính của tin tặc) sẽ giả mạo mình là một người ở trong nhà (tự đặt địa chỉ IP của mình trùng với một địa chỉ nào đó ở mạng bên trong) Nếu làm được điều đó thì nó sẽ được đối xử như một người (máy) bên trong, tức là được làm mọi thứ, để từ đó tấn cống, lấy trộm, phá huỷ thông tin

1.2.6.3 Thay đổi thông điệp

Hình 1.7 Tấn công bằng thay đổi thông điệp

Trong trường hợp không thể giả mạo hoàn toàn thông điệp bên phía người gửi,

kẻ tấn công có khả năng chặn và sửa đổi một thông điệp nào đó rồi tiếp tục gửi cho phía nhận Dữ liệu bị sửa đổi có thể gây ra một số hậu quả nghiêm trọng, chẳng hạn như các báo cáo tài chính hay các giao dịch trong ngân hàng Tuy nhiên, phương pháp này hiện nay cũng ít phổ biến do các giao dịch hiện thời đã trở nên an toàn hơn nhiều, mọi dữ liệu trước khi gửi đều được mã hóa và xác thực cẩn thận Vì vậy, việc sửa đổi một thông báo trở nên phức tạp Hacker cần phải tìm ra những phương pháp tấn công

dữ liệu khác

Trang 14

1.2.6.4 Tấn công lặp lại

Hình 1.8 - Tấn công lặp lại

Nếu không thể thực hiện được cả 2 hình thức tấn công trên, tức là không thể tạo

ra cũng như sửa đổi thông điệp bên phía người gửi Kẻ tấn công có thể sử dụng một phương pháp tấn công khác, đó là tấn công lặp lại Trong cách này, hacker chỉ cần lưu lại một thông điệp mà hắn bắt được trước đó, đợi 1 thời điểm thích hợp rồi gửi lại cho bên nhận Bên nhận không thể phát hiện được đây là thông báo giả mạo do thông báo

đó đúng là do bên gửi tạo ra, chỉ có điều đây là thông điệp cũ Bằng cách tìm cách đón bắt nhiều loại thông báo, Hacker có thể gây ra những hậu quả nghiêm trọng Phương pháp tấn công này có thể phòng tránh bằng cách thêm trường thời gian vào bên trong thông điệp Kẻ tấn công không thể sửa đổi được thông báo nên trường này không bị ảnh hưởng nếu bị gửi lại Qua việc so sánh trường thời gian trong thông điệp cũ và mới, người nhận có thể phân biệt được thông báo mình nhận được có phải là thông báo

cũ bị gửi lại hay không

Trang 15

1.2.6.5 Tấn công từ chối dịch vụ

Tấn công từ chối dịch vụ (DoS - Denial of Service) là tên gọi chung của kiểu tấn công làm cho một hệ thống nào đó bị quá tải dẫn tới không thể cung cấp dịch vụ, hoặc phải ngưng hoạt động Đối với các hệ thống được bảo mật tốt, khó thâm nhập, tấn công từ chối dịch vụ được hacker sử dụng như một cú dứt điểm để triệt hạ hệ thống

đó Tùy phương thức thực hiện mà DoS được biết dưới nhiều tên gọi khác nhau: cổ điển nhất là kiểu DoS (Denial of Service) tấn công bằng cách lợi dụng sự yếu kém của giao thức TCP (Transmision Control Protocol); sau đó là DDoS (Distributed Denial of Service) - tấn công từ chối dịch vụ phân tán; mới nhất là tấn công từ chối dịch vụ theo phương pháp phản xạ DRDoS (DistributedReflection Denial of Service)

Mặc dù kẻ tấn công theo hình thức DoS không thể chiếm quyền truy cập hệ thống hay

có thể thay đổi thông tin, nhưng nếu một hệ thống không thể cung cấp thông tin, dịch

vụ cho người sử dụng thì sự tồn tại đó cũng là vô nghĩa! Những cuộc tấn công DoS có thể là nguyên nhân khiến cho mạng máy tính ngừng hoạt động và trong thời gian đó, người sử dụng sẽ không thể truy cập vào các website Đối với những Website TMĐT náo nhiệt như eBay.com hay Buy.com, những tấn công này cũng đồng nghĩa với những khoản chi phí vô cùng lớn, vì trong thời gian Website ngừng hoạt động, khách hàng không thể thực hiện các giao dịch mua bán Và sự gián đoạn hoạt động này sẽ ảnh hưởng tới uy tín và tiếng tăm của doanh nghiệp, những điều không dễ dàng gì lấy lại được Mặc dù những cuộc tấn công này không phá huỷ thông tin hay truy cập vào những vùng cấm của máy chủ nhưng tạo ra nhiều phiền toái, ngây trở ngại cho hoạt động của nhiều doanh nghiệp Thí dụ, tháng 2 - 2000, các vụ tấn công DoS từ bọn tin tặc là nguyên nhân dẫn tới ngừng hoạt động của hàng loạt website trên thế giới trong nhiều giờ: eBay ngừng hoạt động trong 5 giờ, Amazon gần 4 giờ, CNN gần 3,5 giờ, E-Trade gần 3 giờ, Yahoo, Buy.com và ZDNet cũng ngừng hoạt động từ 3 - 4 giờ 2 ; ngay cả người khổng lồ Microsoft cũng đã từng phải khắc phục những hậu quả nghiêm trọng do DOS gây ra

Trang 16

Hình 1.9 - Tấn công từ chối dịch vụ

Tấn công từ chối dịch vụ thường rất khó phòng chống do tính bất ngờ của nó và

hệ thống thường phải phòng chống nó trong thế bị động, khi "trận đánh" đã diễn ra Để phòng chống, các quản trị hệ thống nên thường xuyên cập nhật các bản vá lỗi phần mềm, các chương trình chống Virus, Trojan, Worm mới nhất cho hệ thống Tắt tất cả các dịch vụ không cần thiết trên hệ thống và đóng tất cả các cổng (Port) dịch vụ không

có nhu cầu sử dụng Thiết lập thêm máy chủ dự phòng ở địa chỉ khác để luân chuyển ngay khi xảy ra sự cố, hệ thống sẽ không bị gián đoạn hoạt động

Dùng Router/Firewall để hạn chế, loại bỏ các gói tin không hợp lệ, giảm lượng lưu thông trên mạng và tải của hệ thống Đối với các Website có sử dụng form nhập liệu nên cài thêm tính năng "mã xác nhận" (Security Code); giới hạn IP đăng ký ở cùng thời điểm, để hạn chế bị Flood dữ liệu Ngoài ra, cần thông tin cho các nhà cung cấp dịch vụ Internet (ISP) để chặn ngay các gói dữ liệu không hợp lệ từ xa Đặc biệt, đóng vai trò quan trọng hơn cả vẫn là các quản trị viên với việc phải theo dõi, giám sát chặt chẽ hệ thống để kịp thời phân tích, tìm nguyên nhân để đối phó khi có sự

cố xảy ra và đừng quên thường xuyên cập nhật kiến thức mới liên quan ,

1.3 Các chủ đề làm tiểu luận

Sinh viên có thể chọn các chủ đề theo gợi ý (trong danh mục) hoặc chủ động lựa chọn các chủ đề nghiên cứu khác nhưng phải được sự đồng ý của giáo viên hướng dẫn Danh mục các chủ đề bao gồm:

Mạng riêng ảo (Virtual Private Network)

Tường lửa (Hard and Soft-Firewall)

Tìm hiểu kỹ thuật làm giả Email (Forged Email)

Nghiên cứu phương pháp chống thư rác (Spam Email)

Tìm hiểu IPSec trong bộ giao thức Ipv6

Trang 17

Tìm hiểu một số công cụ (phần mềm) dùng để tấn công hệ thống từ xa

Tìm hiểu một số công cụ (phần mềm) bảo vệ hệ thống

Tìm hiểu một số kỹ thuật tấn công trên mạng (Vụ tấn công doanh nghiệp TMĐT Viet

Co Ltd, vụ tấn công diễn đàn Hacker Việt Nam - HVA)

Tìm hiểu kỹ thuật bảo mật trong Windows

Tìm hiểu kỹ thuật bảo mật trong Linux

Tìm hiểu kỹ thuật kiểm soát truy xuất trong bảo vệ mạng nội bộ

Tìm hiểu vấn đề bảo mật trong mạng không dây và điện thoại di động

Tìm hiểu hệ mật mã IDEA

Tìm hiểu hệ mật mã RC5

Xây dựng chương trình DEMO một số hệ mật mã cổ điển

Xây dựng chương trình DEMO một số hệ mật mã sử dụng khóa công khai

Bảo mật các chương trình CHAT

Ứng dụng chữ ký điện tử cho các chương trình Email

Truy tìm dấu vết trên mạng

Tìm hiểu Malware(Keyloger, Spyware, Trojan horse, Internet worm )

Tìm hiểu Internet worm…

Tìm hiểu virus Macro

Tìm hiểu Mobile code

Tìm hiểu một số kỹ thuật sử dụng trong các chương trình diệt virus

Xây dựng ngân hàng câu hỏi về Virus

Phân tích virus

Bảo vệ an toàn mạng LAN

Nghiên cứu giải pháp phòng, chống tấn công DDOS

Tính toán tin cậy

Thủy vân số và dấu vân tay

Bảo mật vật lý

SEC: SSH like client

A Secure Media Distribution Framework

How to Make the User Authentication Process in MS Passport More Secure

Blinded Distributed Computing

Security of Wireless Networks and Mobile Devices

Trang 18

Cracking Digital Satellite TV

User Authentication in Cryptographic File Systems

Steganography in Spam

Proactive Cryptography Applications in Smart Cards

Execution-Based Software Protection

Analyzing the Security of 802.11 Wireless Networks

Threshold Signatures and Open Source

Honeypots

Security and Privacy Issues of Microsoft Passport

Security Aspects of Unicode

Digital Signatures for Physical Mail

Differential Fault Analysis of RC5

Secure Instant Messengers

A Review of AES Candidates

A Payword Implementation

An Analysis of TIMEBOMB

Purple: Japanese Ciphers in WWII

Approaches to MIXNets

SmartCards: Back from the Dead

Payment via GSM Mobile phones

Digital Multimedia Copyright Protection

Security Analysis of Electronic Postage Systems

Security of Network Attached Storage

Software Bugging

Design of a Secure Pilot-based Authentication System

Intrusion Detection Systems

Cellular Telephone Security

A Computer Testing System

Copyright Protection Mechanisms in DVD + DIVx

CGI Security Issues

Network Access Controls

Digital Money—Fault Tolerant Multibank System

Security Policy Models

Trang 19

An Overview of Biometric Technologies and their Real World Applications

Netbook

Secure Sockets Layer 3.0: Overiew and Analysis

Secure Perfectly Forward Secure Email Wizard

Cryp: An All-or-Nothing Encryption Scheme for Secure Multi-user Information Distribution

Frosty the Random Number Generator

Impact of Quantum Theory on Cryptography

Cartemis: Secure Electronic Wallet Technology

Preventing Media Piracy

Tìm hiểu so sánh PGP và S/MIME

Tìm hiểu SSH

ATM: Một máy tin cậy?

Khung chính sách bảo mật cho Mobile Code

Pseudonyms and Credential Transfer

Sơ đồ thanh toán điện tử

eCheck: A Safety-Oriented Electronic Check Scheme

Tính toán trên dữ liệu mã hóa Computing with Encrypted Data

BÀI 2: CƠ SỞ LÝ THUYẾT SỐ 2.1 Định nghĩa Modulo

Cho số tự nhiên n và số nguyên a Ta định nghĩa: a mod n là phần dư dương khi chia a cho n

Định nghĩa quan hệ tương đương trên tập số nguyên

a ≡ b mod n

khi và chỉ khi a và b có phần dư như nhau khi chia cho n

o Ví dụ: 100 mod 11 = 1; 34 mod 11 = 1, nên 100 ≡ 34 mod 11

o Số b được gọi là đại diện của a, nếu

o

o a ≡ b mod n

Trang 20

Các phần tử cùng cột là có quan hệ đồng dư vói nhau Tập các đại diện của các

số nguyên theo Modulo n gồm n phần tử ký hiệu như sau:

2.2 Các phép toán số học trên Modulo

Cho trước một số n Ta muốn thực hiện các phép toán theo Modulo của n Ta

có thể thực hiện các phép toán trên các số nguyên như các phép cộng, nhân các

số nguyên thông thường sau đó rút gọn lại bằng phép lấy Modulo hoặc cũng có thể vừa tính toán, kết hợp với rút gọn tại bất cứ thời điểm nào:

(a+b) mod n = [a mod n + b mod n] mod n (*)

(a.b) mod n = [a mod n b mod n] mod n (**)

Trang 21

Như vậy khi thực hiện các phép toán ta có thể thay các số bằng các số tương đương theo Modulo n đó hoặc đơn giản hơn có thể thực hiện các phép toán trên các đại diện của nó: Zn = { 0, 1, 2, 3, …, n-1 }.

o Zn với các phép toán theo Modulo tạo thành vành giao hoán có đơn vị Thực vậy tính đóng của các phép cộng và nhân dựa trên hai công thức (*) và (**) Các tính chất kết hợp, giao hoán và nghịch đảo được suy ra từ các tính chất tương ứng của các số nguyên

o Các chú ý về tính chất rút gọn:

 nếu (a+b)≡(a+c) mod n, thì b≡c mod n

 Nhưng (ab)≡(ac) mod n, thì b≡c mod n chỉ khi nếu a là nguyên tố cùng nhau với n

Ví dụ Áp dụng các tính chất của modulo:

(11*19 + 1017) mod 7 = ((11*19) mod 7 + 1017 mod 7) mod 7 = ((11 mod 7* 19 mod 7) mod 7 + (10 mod 7)17 mod 7) mod 7=

((4.(-2)) mod 7 + (((32)2)2)2 * 3 mod 7)mod 7=

((-1) mod 7 + ((22)2)2 * 3 mod 7)mod 7 = (-1 + 5) mod 7 = 4

Ví dụ: Bảng Modulo 8 với phép cộng

2.3 Ước số chung lớn nhất (Greatest Common Divisor)

Bài toán Cho hai số nguyên dương a và b Bài toán tìm ước chung lớn nhất của

hai số nguyên dương là bài toán chung của lý thuyết số Ta ký hiệu GCD(a,b) là ước số chung dương lớn nhất của a và b, tức là số nguyên dương vừa là ước của a vừa là ước của b và là số nguyên dương lớn nhất có tính chất đó

Ví dụ: GCD(60,24) = 12 ; GCD (6, 15) = 3; GCD(8, 21) = 1.

Trang 22

Nguyên tố cùng nhau Ta thấy 1 bao giờ cũng là ước số chung của hai số

nguyên dương bất kỳ Nếu GCD(a, b) = 1, thì a, b đựơc gọi là hai số nguyên tố cùng nhau:

Ví dụ: GCD(8,15) = 1, tức là 8 và 15 là hai số nguyên tố cùng nhau

Tìm ước chung lớn nhất Bây giờ chúng ta xét bài toán tìm ước số chung lớn

nhất của hai số nguyên dương cho trước Dễ dàng chứng minh được tính chất sau:

GCD(a,b) = GCD(b, a mod b)

Như vậy để tìm ước số chung của một cặp số cho trước, ta đưa về bài toán tìm ước chung của cặp số gồm số nhỏ hơn trong hai số đó và phần dư của số lớn khi chia cho số nhỏ hơn Thuật toán Ơcơlít tạo nên vòng lặp, ở mỗi bước ta áp dụng tính chất trên cho đến khi phần dư đó còn khác 0

Thuật toán Ơcơlit tìm GCD(a, b)

A=a, B=bwhile B>0

R = A mod B

A = B, B = Rreturn A

Trang 23

Bây giờ ta xét bài toán: nếu GCD(m, a) = 1, thì tìm nghịch đảo của a theo Modulo

m Ta mở rộng thuật toán Ơcơlit vừa tìm ước chung lớn nhất của m và a, vừa tính nghịch đảo trong trường hợp GCD(m, a) = 1

Ví dụ:

11-1 mod 7 = 4-1 mod 7 =2, (vì: 2.4 mod 7 = 1) suy ra ngịch đảo của 11-1 mod 7 =2

7-1 mod 11 =8 (vì: 7.8=56 mod 11 = 1)

Giải thuật sau chỉ thực hiện với các số nguyên m>a>0, biểu diễn bằng giã mã:

Procedure Euclid_Extended (a:integer, m:integer)

int, y0=0,y1:=1; r=0;q=0; y=0;

While (a>=1) do { r:= m mod a ; if r=0 then Break q:= m div a

y:= y0-y1*q m:=a

a:=r

y0:=y1 y1:=y }

If a>1 Then Return "A không khả nghịch theo mođun m"

else Return " Nghịch dảo mođun m của a là y"

Ví dụ: Ví dụ tìm số nghịch đảo nếu có của 30 theo mdulo 101 dựa vào thuật toán

Trang 24

5 2 1 0 2 27 -37 64

Kết quả tính toán trong bảng cho ta 64 Vậy

Ví dụ 2: Tìm nghịch đảo của 550 trong GL(1759)

có thể tìm được 2 hệ số đó? Thuật toán sau đây giúp chúng ta trả lời câu hỏi trên

Chúng ta sẽ bắt đầu từ thuật toán Euclide để tìm ước chung lớn nhất của 38 và 22.(1) 38 = 22 · 1 + 16

Trang 25

2 = (22 · 3 – 16 · 3) – 16 · 1

(5′) 2 = 22 · 3 -16 · 4

Chúng ta cứ tiếp tục quá trình ngược trên cho đến biểu thức ban đầu …

Từ biểu thức (1) 38 = 22 · 1 + 16, ta giải tìm số dư 16:

Bằng cách trên, ta luôn tìm được các số nguyên x và y sao cho UCLN(a,b) = ax + by

Và bằng cách này, bạn có thể đố mọi người biểu diễn một số thông qua 2 số cho trước

2.5 Số học đa thức

Ta xét tập các đa thức Pn có bậc nhỏ hơn hoặc bằng n:

Trên tập các đa thức đó ta có thể có một số cách khác nhau thực hiện các phép toán cộng và nhân đa thức:

o Có thể thực hiện các phép toán thông thường trên đa thức

o Các phép toán trên đa thức với các hệ số trên Modulo p

o Các phép toán trên đa thức với các hệ số trên Modulo p và sau đó lầy Modulo theo đa thức m(x)

• Phép toán đa thức thông thường

o Cộng trừ các hệ số tương ứng

o Nhân mọi hệ số với cùng một số

Ví dụ f(x) = x3 + x2 + 2 và g(x) = x2 – x + 1

f(x) + g(x) = x3 + 2x2 – x + 3 f(x) – g(x) = x3 + x + 1 f(x) g(x) = x5 + 3x2 – 2x + 2

• Phép toán đa thức với Modulo hệ số

o Cho số nguyên tố p tùy ý

o Tính các hệ số theo Modulo p Khi đó tập các hệ số được lấy từ trường GL(p) Còn phép nhân đa thức có thể nhận được kết quả là đa thức bậc lớn hơn n

Trang 26

o Ta thường quan tâm đến Mod 2, tức là mọi hệ số là 0 hoặc 1

Giả sử f(x) = x3 + x2 and g(x) = x2 + x + 1

f(x) + g(x) = x3 + x + 1 f(x) g(x) = x5 + x2

Sau đây ta xét riêng trường hợp khi các phép tóan cộng, nhân đa thức được thực hiện với phép lấy Modulo theo một đa thức nào đó

2.6 Phép toán đa thức với Modulo đa thức

• Cho đa thức g(x) bậc n và các hệ số của các đa thức xét trong mục này lầy trong trường Galoa GF(p) với p là số nguyên tố Viết đa thức f(x) dưới dạng:

f(x) = q(x) g(x) + r(x)

trong đó r(x) là phần dư khi chia f(x) cho g(x) Rõ ràng bậc của r(x) sẽ nhỏ

hơn bậc của g(x)

Ta viết r(x) = f(x) mod g(x)

Nếu không có phần dư, tức là r(x) = 0, ta nói g(x) là ước của f(x) hay g(x) chia

hết f(x) hay f(x) chia hết cho g(x)

• Trong trường hợp g(x) không có ước ngoài 1 và chính nó, thì ta nói g(x) là đa

thức nguyên tố hoặc không rút gọn được Ví dụ g(x) = x3 + x + 1 là đa thức

nguyên tố

• Việc tìm ước chung lớn nhất của hai đa thức được trình bày trong thuật toán tương tự như Ơcolit như sau:

Tìm đa thức ước chung lớn nhất GCD(a(x), b(x))

o c(x) = GCD(a(x), b(x)) nếu c(x) là đa thức bậc lớn nhất mà chia hết cả a(x), b(x)

o Có thể điều chỉnh thuật toán Euclid’s Algorithm để tìm nó:

Trang 27

Phép toán đa thức với Modulo đa thức.

Cho g(x) là đa thức nguyên tố bậc n Khi đó tập các đa thức bậc nhỏ hơn bằng n với các phép toán cộng và nhân đa thức theo Modulo của đa thức nguyên tố g(x)

tạo thành trường hữu hạn, gọi là trường Galoa và ký hiệu là GL(pn)

Sau đây ta xét trường GF(2n), tức là xét tập các đa thức với các hệ số Modulo 2 và bậc nhỏ hơn bằng n và phép toán nhân có thể rút gọn theo Modulo của đa thức g(x) nguyên tố bậc n Có thể tìm được nghịch đảo nhờ thuật toán Euclide mở rộng.Tuy nhiên để thuận tiện trong việc biểu diễn đa thức, ta sẽ xây dựng song ánh từ tập các đa thức bậc nhỏ hơn n vào các dãy n bit là dãy các hệ số thể hiện sự có mặt của các lũy thừa tương ứng, và xây dựng các phép toán cộng và nhân các dãy bit sao cho nhận được kết quả tương tự như cộng và nhân các đa thức tương ứng cùng với việc rút gọn theo đa thức nguyên tố Để đơn giản ta minh họa qua ví dụ cụ thể trên GL(23)

Ví dụ GF(2 3 )

• Bảng trên có thể xây dựng bằng cách tính trực tiếp trên các phép toán cộng và nhân đa thức sau đó lấy Modulo theo đa thức nguyên tố x3 + x + 1

• Tuy nhiên có thể thực hiện các phép toán trên dãy 3 bit như sau;

o Vì các hệ số là 0, 1 nên các đa thức có thể biểu diễn như các xâu bit

Trang 28

o Phép cộng hai đa thức trở thành XOR (cộng cơ số 2) trên các xâu bit tương ứng với hai đa thức đó.

o Nhân một đa thức với x trở thành Shift

sang trái 1 đơn vị của dãy bit tương ứng với đa thức đó

o Phép tính Modulo theo đa thức nguyên tố của một đa thức cùng bậc n được thực hiện bằng cách tính hiệu hay cũng là tổng của hai đa thức đó, mà đó cũng chính là lấy dãy bit của đa thức đó XOR với dãy bit của đa thức nguyên tố

o

o

o

o Phép nhân và tính Modulo được kết hợp bằng phép lặp giữa Shìt và XOR

Ví dụ Trong GF(23) ta có (x2+1) tương ứng dãy bít 1012 và

(x2+x+1) tương ứng với dãy 1112

• Tổng hai đa thức trên là

= 1010 XOR 101 = 11112

• Phép rút gọn theo Modulo là

(x3+x2+x+1 ) mod (x3+x+1) = (x3+x2+x+1 ) - (x3+x+1 ) = x2

1111 mod 1011 = 1111 XOR 1011 = 01002

Như vậy trường Galoa GL(2n) bao gồm 2n phần tử Muốn trường Galoa có số phần

tử lớn tuỳ ý, ta chỉ việc tăng và lấy n thích hợp Đặc biệt việc tính toán các phép toán cộng trừ, nhân, chia trên đó rất nhanh và hiệu quả trên các thao tác của các thiết bị phần cứng Chính vì vậy trường Galoa đóng vai trò quan trọng trong lý thuyết mã mà chúng ta sẽ thấy rõ qua các chương tiếp theo

Trang 29

2.7 Các số nguyên tố

Như chúng ta đã biết số nguyên tố là các số nguyên dương chỉ có ước số là 1 và chính nó Chúng không thể được viết dưới dạng tích của các số khác 1 là số nguyên

tố, nhưng không quan tâm đến nó Xét các số nhỏ hơn 10 ta có: 2, 3, 5, 7 là số nguyên

tố, vì chúng không có ước số khác 1 và chính nó; 4, 6, 8, 9, 10 không phải là số nguyên tố Có thể nói 2 là số chẵn duy nhất là số nguyên tố Các số nguyên tố là trung tâm của lý thuyết số Số các số nguyên tố là vô hạn

Ví dụ Sau đây là danh sách các số nguyên tố nhỏ hơn 200:

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107

109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199

2.8 Phân tích ra thừa số nguyên tố

Một trong những bài toán cơ bản của số học là phân tích ra thừa số nguyên tố số

a, tức là viết nó dưới dạng tích của các số nguyên tố Lưu ý rằng phân tích là bài toán

khó hơn rất nhiều so với bài toán nhân các số để nhận được tích

Ta có kết luận, mọi số nguyên dương đều có phân tích duy nhất thành tích các lũy thừa của các số nguyên tố:

Ví dụ: 91=7×13; 3600=24×32×52

Thông thường để tìm phân tích trên, ta phải kiểm tra tính chia hết cho các số nguyên tố

từ nhỏ đến lớn và thực hiện phép chia liên tiếp cho các số nguyên tố, rồi gộp thành lũy thừa của các số nguyên tố

2.9 Các số nguyên tố cùng nhau và GCD

Hai số nguyên dương a và b không có ước chung nào ngoài 1, được gọi là nguyên tố cùng nhau

Ví dụ: 8 và 15 là nguyên tố cùng nhau, vì ước của 8 là 1, 2, 4, 8, còn ước của 15 là 1,

3, 5, 15 Chỉ có 1 là ước chung của 8 và 15

Ngược lại có thể xác định ước chung lớn nhất bằng cách trong các phân tích ra thừa số của chúng, tìm các thừa số nguyên tố chung và lấy bậc lũy thừa nhỏ nhất trong hai phân tích của hai số đó

Ví dụ Ta có phân tích: 300=21×31×52 và 18=21×32 Vậy

GCD(18,300)=21×31×50=6

Trang 30

Công thức trên luôn đúng, nếu p là số nguyên tố, còn a là số nguyên dương nhỏ hơn p.

Ví dụ Vì 5 và 7 là các số nguyên tố 2 và 3 không là bội tương ứng của 7 và 5, nên

theo định lý Ferma ta có

27-1 mod 7 = 1 (= 26 mod 7 = 64 mod 7= 1)

35-1 mod 5 = 1 (= 34 mod 5 = 81 mod 5= 1)

(-2)11-1 mod 11 = 1 (= 210 mod 11 = 1024 mod11 = 1)

Kết quả trên được dùng trong khoá công khai Nó cùng được sử dụng để kiểm tra tính nguyên tố của một số nguyên p nào đó, bằng cách lấy ngẫu nhiên các số a và kiểm tra xem có tính chất nêu trên không, kết luận là p nguyên tố càng thuyết phục nếu phép thử trên đúng với nhiều lần chọn ngẫu nhiên các số a

o Tập rút gọn các phần dư nguyên tố với 10 là {1,3,7,9}

o Số các phần tử của tập rút gọn trên là giá trị của hàm Ole Ф(n) Như vậy, Ф(10) = 4

Muốn tính Ф(n) việc đếm số các số ngưyên tố cùng nhau với n và nhỏ hơn n được

loại bỏ vì đây là bài toán tốn nhiều công sức

• Nói chung có thể tính hàm Ơle của một số dựa trên biểu thức phân tích ra thừa số của số đó

o Dễ dàng thấy, nếu p là số nguyên tố Ф(p) = p-1

o Nếu p và q là hai số nguyên tố khác nhau, thì

o có thể chứng minh được rằng:

Trang 31

2.13 Kiểm tra tính nguyên tố

Giả sử cần phải tìm một số nguyên tố rất lớn Lấy ngẫu nhiên một số đủ lớn, ta cần phải kiểm tra xem số đó có phải là số nguyên tố không Phương pháp truyền thống là thử bằng phép chia như sau:

o Chia cho tất cả các số (chỉ cần nguyên tố) nhỏ hơn hoặc bằng căn bậc hai của số đó Nếu nó không chia hết cho số nào, thì đó là số nguyên tố

o Chỉ hiệu quả khi xét các số nhỏ

Có phương pháp khác, mà ta sẽ xét ở đây, sử dụng các phép kiểm tra tính nguyên tố thống kê dựa trên các tính chất

o Mà mọi số nguyên tố phải thỏa mãn

o Nhưng có một số số không nguyên tố, gọi là giả nguyên tố cũng thoả mãn tính chất đó

Cụ thể là phép kiểm tra dựa trên Định lý Ferma như sau: nếu số n cần kiểm tra tính nguyên tố là số nguyên tố, thì nó sẽ thoã mãn định lý Ferma đối với mọi số a nhỏ hơn

nó an-1 mod n = 1 Như vậy, lấy ngẫu nhiên số a và kiểm tra xem nó có tính chất trên

Trang 32

không Nếu có thì n có thể là số nguyên tố, nếu cần độ tin cậy lớn hơn, thì ta kiểm tra liên tiếp nhiều lần như vậy với các số ngẫu nhiên a được chọn Sau mỗi lần qua được phép thử, xác suất để n là số nguyên tố lại tăng lên Chú ý rằng

- nếu bi mod n = 1,

thì b2i mod n = (1)2 mod n = 1 và

- nếu bi mod n = n – 1,

thì b2i mod n = (n - 1)2 mod n = (n2 – 2n +1) mod n = 1

Kiểm tra số n có là số nguyên tố không, ta chỉ cần xét n là lẻ, khi đó n-1 là chẵn và

biểu diễn nó dạng (n–1)= 2k.q

Khi đó để tính an-1, ta tính aq, sau đó bình phương liên tiếp k lần

Thuật toán Miller - Rabin

• Thuật toán như sau:

TEST (n) is:

1. Find integers k, q, k > 0, q odd, so that (n–1)= 2k.q

2 Select a random integer a, 1<a<n–1

3 if aq mod n = 1 then return (“maybe prime");

Ngược lại số đó có thể là số nguyên tố hoặc giả nguyên tố theo nghĩa nó thoả mãn định

lý Fecma với số a < n Người ta chứng minh được rằng xác suất để số giả nguyên tố đó không là số nguyên tố là là ¼ Suy ra nếu lặp t phép thử với các lựa chọn ngẫu nhiên khác nhau của số a, thì khi đó xác suất để số n sau t phép thử là số nguyên tố là: 1-(1/4)t

Ví dụ Sau 10 bước, t = 10, mà số đã cho n đều có thể là nguyên tố, thì xác suất để n

là số nguyên tố là 1 – (1/4)10 > 0.99999

Phân bố nguyên tố

Định lý về số nguyên tố khẳng định số nguyên tố xuất hiện trung bình sau mỗi khoảng

ln n số nguyên (nếu xét các số trong kích thước n) Như vậy bỏ qua số chẵn và các bội

số của 5, ta cần kiểm tra 0.4ln n số trong kích thước n để tìm được 1 số nguyên tố Chẳng hạn n=1024, thì 0.4*ln 1024 = 0.4*10 = 4, nghĩa là trong 1024 số đầu, thì trung

Trang 33

bình cứ 4 số lại có một số nguyên tố Lưu ý đây chỉ là trung bình, vì có lúc các số nguyên rất gần nhau và có lúc lại rất xa nhau

III.4.10 Logarit rời rạc

Bài toán ngược của bài toán lũy thừa là tìm logarit rời rạc của một sô modulo p, tức là tìm số nguyên x sao cho

ax = b mod p Hay còn được viết là x=logab mod p hoặc x=inda,p(b)

Nếu a là căn nguyên tố của p và p là số nguyên tố, thì luôn luôn tồn tại logarit rời rạc, ngược lại thì có thể không

Ví dụ Tìm x = log2 3 mod 13 Bằng cách thử lần lượt:

20 mod 13 = 1; 21 mod 13 = 2, 22 mod 13 = 4, 23 mod 13 = 8, 24 mod 13 = 3

Vậy log2 3 mod 13 = 4

Tìm x = log3 4 mod 13 (tìm x: 3x = 4 mod 13) Trong trường hợp này không có lời giải, vì

30 mod 13 = 1; 31 mod 13 = 3; 32 mod 13 = 9; 33 mod 13 = 1= 30 mod 13

Ta nhận thấy, trong khi bài toán lũy thừa là dễ dàng, thì bài toán logarit rời rạc là rất khó Đây cũng là một cơ sở của mã công khai

BÀI 3: CÁC HỆ MẬT MÃ CỔ ĐIỂN3.1 Khái niệm Hệ mật mã

Một hệ mật mã là một bộ 5 (P, C, K,ε , D), thỏa mãn các điều kiện sau đây:

P: là tập hữu hạn các bản tin rõ (Pain Text)

C: là một tập hữu hạn các bản tin đã mã hóa (Cipher Text: bản mã )

K: là không gian khóa, là tập hữu hạn các khóa (Key)

E: Gọi là giải thuật mã hóa (Encryption algorithm)

D: Gọi là giải thuật giải mã hóa (Decryption algorithm)

Với mỗi khóa K∈ K, tồn tại một giải thuật mã hóa e K ∈ε và một giải thuật giải mã

K

d D Trong đó: e K : P→C và d K :C→P là các hàm sao cho d K(e K(x))=x với mọi

x∈P.

Trang 34

Định nghĩa: Cho a, b là các số nguyên, m là số nguyên dương

Ta viết a ≡ b mod m nếu (b-a) chia hết cho m Cụm từ ab (mod m) được đọc là “a, b

đồng dư modulo m”

3.2 Mã dịch chuyển (shift cipher - Caesar)

Hệ mã hoá nổi tiếng CAESAR là một hệ mã hoá thay thế đơn làm việc trên bảng chữ cái tiếng Anh 26 ký tự (A, B, , Z)

Trong hệ CAESAR và các hệ tương tự còn lại ta sử dụng các số tự nhiên thay cho các

ký tự - đánh số các ký tự trong bảng chữ cái theo thứ tự: A là 0, B là 1, và Z là 25

A B C D E F G H I J L M N W X Y Z

0 1 2 3 4 5 6 7 8 9 11 12 13 22 23 23 25Các phép toán số học thực hiện theo modul 26 Có nghĩa là 26 đồng nhất với 0, 27 đồng nhất với 1, 28 đồng nhất với 2, Ví dụ: 2×17 + 5×9 = 79 = 1 + 3×26 = 1

Hệ CAESAR sử dụng thuật toán mã hoá trong đó mỗi ký tự được thay thế bởi một ký

tự khác được xác định bằng cách dịch ký tự cần mã hoá sang phải k bước theo modul 26:

Đặt P=C=K=Z26 Với 0≤K ≤25, định nghĩa:

Ek(x) = (x + k) MOD 26

với x là một ký tự, 0 k 26, MOD là phép chia lấy phần dư. 

Thuật toán giải mã tương ứng Dk là lùi lại k bước trong bảng chữ cái theo modul 26:

Dk(y) = (x - k) MOD 26 (x, y ∈ Z26)

Không gian khoá của hệ CAESAR bao gồm 26 số 0, 1, 2, 25

Ví dụ 1: với k=3, A được thay bằng D, B được thay bằng E, , W được thay bằng Z,

, X được thay bằng A, Y được thay bằng B, và Z được thay bằng C Ta có:

Bảng chữ cái gốc

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Trang 35

Bảng chữ cái dùng để mã hoá

D E F G H I J K L M N O P Q R S T U V W X Y Z A B CTrong trường hợp này bản rõ “TRY AGIAN” được mã hoá thành “WUBDJDLQ”, bản

rõ “HELP ME” được mã hoá thành “KHOSPH” (Chú ý, các ký tự trống trong bản mã được bỏ đi để đảm bảo tính an toàn)

Thêm một vài ví dụ minh hoạ:

E25(IBM) = HAL, E6(MUPID) = SAVOJ,

E3(HELP) = KHOS, E1(HOME) = IPNF,

E6(SAVOJ) = E20(SAVOJ) = MUPID

Plain: meet me after the toga party

Cipher: PHHW PH DIWHU WKH WRJD SDUWB

3.3 Mã thay thế (substitution cipher)

Đặt P=C=Z26 Với K gồm tất cả các hoán vị có thể của 26 ký hiệu 0, 1, …, 25 Với mỗi K∈ K định nghĩa:

)

(y K 1 y

d K = − mod 26 Trong đó K− 1 là hoán vị ngược của K

Hệ mã hoá thay thế là hệ mã hoá trong đó mỗi ký tự của bản rõ được thay thế bằng ký tự khác trong bản mã (có thể là một chữ cái, một số hoặc một ký hiệu) Sự thay thế này làm cho bản rõ trở lên khó hiểu đối với mọi người nhưng người nhận sẽ đảo sự thay thế trong bản mã để được bản rõ

Có 4 kỹ thuật thay thế sau đây:

Thay thế đơn (A simple substitution cipher): là hệ trong đó một ký tự của bản rõ được thay bằng một ký tự tương ứng trong bản mã Một ánh xạ 1-1 từ bản rõ tới bản

mã được sử dụng để mã hoá toàn bộ thông điệp

Thay thế đồng âm (A homophonic substitution cipher): giống như hệ thống mã hoá thay thế đơn, ngoại trừ một ký tự của bản rõ có thể được ánh xạ tới một trong số một vài ký tự của bản mã: sơ đồ ánh xạ 1-n (one-to-many) Ví dụ, “A” có thể tương ứng với 5, 13, 25, hoặc 56, “B” có thể tương ứng với 7, 19, 31, hoặc 42, v.v

Thay thế đa mẫu tự (A polyalphbetic substitution cipher): được tạo nên từ nhiều thuật toán mã hoá thay thế đơn Ánh xạ 1-1 như trong trường hợp thay thế đơn, nhưng

có thể thay đổi trong phạm vi một thông điệp Ví dụ, có thể có năm thuật toán mã hoá

Trang 36

đơn khác nhau được sử dụng; đặc biệt thuật toán mã hoá đơn được sử dụng thay đổi theo vị trí của mỗi ký tự trong bản rõ.

Thay thế đa sơ đồ (A polygram substitution cipher): là thuật toán trong đó các khối ký tự được mã hoá theo nhóm Đây là thuật toán tổng quát nhất, cho phép thay thế các nhóm ký tự của văn bản gốc Ví dụ, “ABA” có thể tương ứng với “RTQ”,

“ABB” có thể tương ứng với “SLL”, v.v

Ví dụ: Khóa K:

a b c d e f g h i j k l m n o p q r s t u v w x y z

X N Y A H P O G Z Q W B T S F L R C V M U E K J D IKhóa K−1

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

d l r y v o h e z x w p t b g f j q n m u s k a c iCipher: MGZVYZLGHCMHJMXSSFMNHAHYCDLMHA

3.4 Hệ mật mã Affine

Hệ mã hoá AFFINE được xác định bởi hai số nguyên a và b, với điều kiện 0 <= a,b <= 25 (tức a, b thuộc bảng chữ cái tiếng Anh 26 ký tự) Ở đây chúng ta xét hệ làm việc trên các số tự nhiên thay cho các ký tự như đã nói ở phần trên, các phép toán số học được thực hiện theo modul 26

Đặt P=C=Z26 và đặt K={(a, b)∈ Z26 x Z26: gcd(a, 26)=1}.

Với K=(a, b)∈K, định nghĩa:

Ek(x) = (ax + b) MOD 26

và Dk(y) = a-1(y - b) MOD 26Trong đó (x, y ∈ Z26), a-1 ∈ Z26 là số nghịch đảo của a (muốn tìm a-1 ta sử dụng thuật toán Euclid mở rộng), sao cho aa−1 ≡a−1a≡1(mod26)hay a-1 mod 26 =a

Lưu ý: khi a = 1 thì ta có hệ mã hoá CAESAR.

Ví dụ: nếu a = 3 và b = 5 thì ta có, bảng số tự nhiên tương ứng với bảng chữ cái gốc:

13 14 15 16 17 18 19 20 21 22 23 24 25Bảng số tự nhiên sau khi mã hoá:

18 21 24 1 4 7 10 13 16 19 22 25 2Tương ứng ta có bảng chữ cái gốc:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

và bảng chữ cái dùng để mã hoá:

Trang 37

F I L O R U X A D G J M P S V Y B E H K N Q T W Z CKhi đó bản rõ “NOTEVERYSTEAMBATHISSAUNA” được mã hoá thành

Trong đó các phép +, - được thực hiện trên trường Z26

VIGENERE cũng giống như CAESAR, nhưng ở đây khoá được thay đổi theo từng bước Hình vuông VIGENERE được sử dụng để mã hoá và giải mã

,(

), ,

,(

), ,

,

( 1 2 m 1 1 2 2 m m

Trang 38

Mỗi cột của hình vuông VIGENERE có thể xem như là một hệ CAESAR, với các khoá 0, 1, 2, , 25 Để mã hoá thì bản rõ được đọc từ các hàng và khoá được đọc từ các cột

Ví dụ để mã hóa bản rõ PURPLE với từ khoá CRYPTO, đầu tiên ta tìm điểm giao nhau của hàng P và cột C, ta được R Cứ như vậy ta được bản mã RLPEES Ta sẽ thu được bản mã tương tự nếu ta thay đổi vai trò của hàng và cột trong khi mã hoá Để giải

mã bản mã RLPEES vừa mã hoá, ta nhìn vào hàng nào có chứa R trong cột C, theo cách này ta sẽ tìm được P Và như vậy ta tìm được bản rõ là PURPLE

Khoá được áp dụng một cách tuần hoàn, tức là nếu bản rõ dài hơn khoá thì khoá lại được bắt đầu lại từ đầu Ví dụ khoá CRYPTO được áp dụng với bản rõ có độ dài 15 ký

tự là CRYPTOCRYPTOCRY

Ta thấy rằng trong hệ mã hoá VIGENERE, với khoá có độ dài d thì sẽ có 26d khoá hợp lệ Vì vậy, chỉ cần với giá trị d nhỏ thì phương pháp thám mã vét cạn cũng đòi hỏi khá nhiều thời gian

Ví dụ: với m=2;các phần tử của K là các số nguyên từ 0 đến 25 Hơn nữa K phải là ma trận khả nghịch, tức là tồn tại K-1 Ví dụ:

K = 2 5

3 3

và K-1= 20 9

17 15

Trang 39

Trong đó P và C được viết thành các vector cột d chiều Mỗi bộ d chữ cái của bản rõ được viết thành vector P với các thành phần là các số biểu diễn các ký tự Và C cũng thể hiện khối d ký tự của bản mã.

Còn khi giải mã ta phải dùng ma trận nghịch đảo K-1:

P = D(K, P) = K 1 C mod 26 = K 1 KP = P

Ví dụ: bản rõ “HELP” được viết thành hai vector

P1 = E

H = 4

7

và P2 = P

L = 15

11.Theo công thức mã hoá ta có

KP1 = 2 5

3 3

33 = 8

7 =  I

H = C1 vàKP2 = 2 5

3 3

78 = 19

0 = T

A = C2Chúng ta thu được bản mã “HIAT”

3.7 Mã hoán vị (permutation cipher)

Đặt m là một số nguyên dương Đặt P=C=(Z26)m và đặt K là tập tất cả các hoán

vị của tập {1, …, m} Với K∈K, định nghĩa:

), ,(

()

K là hoán vị ngược của K

3.8 Mã dòng (stream cipher)

Trong các hệ mật nghiên cứu ở trên, các phần tử liên tiếp của bản rõ đều được

mã hoá bằng cùng một khoá K Tức xâu bản mã y nhận được có dạng:

y = y1y2 = Ek(x1) Ek(x2 )

Các hệ mật thuộc dạng này thường được gọi là các mã khối Một quan điểm sử dụng khác là mật mã dòng Ý tưởng cơ bản ở đây là tạo ra một dòng khoá z = z1z2

và dùng nó để mã hoá một xâu bản rõ x = x1x2 theo quy tắc: y = y1y2 =

) (x

zi = fi (k, x1 , , xi -1 )

Trang 40

Phần tử zi của dòng khoá được dùng để mã xi tạo ra yi = eiz(xi) Bởi vậy, để

mã hoá xâu bản rõ x1x2 ta phải tính liên tiếp: z1, y1, z2, y2 Việc giải mã xâu bản mã y1y2 có thể được thực hiện bằng cách tính liên tiếp: z1, x1, z2, x2 .Sau đây là định nghĩa hệ mã dòng dưới dạng toán học

Một hệ mã dòng là một bộ (P, C, K, L, F, E, D) thoả mãn các điều kiện sau đây

6 Với mỗi z ∈ L có quy tắc mã ez ∈ E và một quy tắc giải mã tương ứng: dz ∈

D ez : P→ C và dz : C→ P là các hàm thoả mãn dz ez(x)=x với mọi bản rõ x ∈ P

Mã dòng được gọi là đồng bộ nếu dòng khoá không phụ thuộc vào xâu bản rõ, tức là nếu dòng khoá đựoc tạo ra chỉ là hàm của khoá k Khi đó ta coi k là một "mần"

để mở rộng thành dòng khoá z1z2 Một hệ mã dòng được gọi là tuần hoàn với chu kỳ d nếu zi+d= zi với số nguyên i≥ 1 Mã Vigenère với độ dài từ khoá m có thể coi là mã dòng tuần hoàn với chu kỳ m Trong trường hợp này, khoá là k = (k1, km) Bản thân k sẽ tạo m phần tử đầu tiên của dòng khoá: zi = ki Sau đó dòng khoá

sẽ tự lặp lại Nhận thấy rằng, trong mã dòng tương ứng với mật mã Vigenère, các hàm

mã và giải mã được dùng giống như các hàm mã và giải mã được dùng trong MDV:ez(x) = x+z và dz(y) = y-z

Các mã dòng thường được mô tả trong các bộ chữ nhi phân tức là P=C=L=Z2 Trong trường hợp này, các phép toán mã và giải mã là phép cộng theo modulo 2

ez(x) = x +z mod 2 và dz(x) = y +z mod 2

Nếu ta coi "0" biểu thị giá trị "sai" và "1" biểu thị giá trị "đúng" trong đại số Boolean thì phép cộng theo moulo 2 sẽ ứng với phép hoặc có loại trừ Bởi vậy phép mã (và giải

mã ) dễ dàng thực hiện bằng mạch cứng

Ta xem xét một phương pháp tạo một dòng khoá (đồng bộ) khác Giả sử bắt đầu với (k1, , km ) và zi = ki (cũng giống như trước đây), tuy nhiên bây giờ ta tạo dòng khoá theo một quan hệ đệ quy tuyến tính cấp m

Zi+m =

2mod

1 0

∑−

n

j j i j z c

Trong đó c0,…, cm-1 ∈ Z2 là các hằng số cho trước:

Ngày đăng: 17/09/2013, 21:05

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Gary McGraw and Edward W. Felten. "Java Security - Hostile Applets, Holes, and Antidotes". John Wiley &amp; Sons, Inc, 1997 Sách, tạp chí
Tiêu đề: Java Security - Hostile Applets, Holes, and Antidotes
[2] William Stallings, "Cryptography and Network Security Principles and Practices, Fourth Edition", Prentice Hall Sách, tạp chí
Tiêu đề: Cryptography and Network Security Principles and Practices, Fourth Edition
[3] Dung. P.M “Computer Security’s Lecture Notes”. Computer Security Course. CSIM, AIT, 2004.http://www.cs.ait.ac.th/~dung Sách, tạp chí
Tiêu đề: Computer Security’s Lecture Notes
[4] Philip W. L. Fong. “Proof Linking: A Modular Verification Architecture for Mobile Code Systems”. Phd thesis, Simon Fraser University, Jan, 2004.http://www2.cs.uregina.ca/~pwlfong/Pub/dissertation.pdf Sách, tạp chí
Tiêu đề: Proof Linking: A Modular Verification Architecture for Mobile Code Systems
[5] Dieter Gollmann. “Computer Security”. John Wiley &amp; Sons, Inc, 1999 Sách, tạp chí
Tiêu đề: Computer Security
[6] Valentin Razmov. “Security in Untrusted Code Environments: Missing Pieces of the Puzzle”. University of Washington, March 2002.http://www.cs.washington.edu/homes/valentin/papers/Security-UntrustedCode.pdf Sách, tạp chí
Tiêu đề: Security in Untrusted Code Environments: Missing Pieces of the Puzzle
[7] Satish R., Venkata R., Balaji T., Govindakrishnan K., Rajneesh M., Nilest P Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.2. Các yêu cầu trong đảm bảo an toàn thông tin - de cuong bao mat may tinh va mang
Hình 1.2. Các yêu cầu trong đảm bảo an toàn thông tin (Trang 8)
Hình 1.3. Quy trình bảo đảm an toàn hệ thống Xác định - de cuong bao mat may tinh va mang
Hình 1.3. Quy trình bảo đảm an toàn hệ thống Xác định (Trang 9)
Hình 1.5 - Nghe trộm thông tin trên đường truyền - de cuong bao mat may tinh va mang
Hình 1.5 Nghe trộm thông tin trên đường truyền (Trang 11)
Hình 1.6. Giả mạo người gửi tin - de cuong bao mat may tinh va mang
Hình 1.6. Giả mạo người gửi tin (Trang 12)
Hình 1.9 - Tấn công từ chối dịch vụ - de cuong bao mat may tinh va mang
Hình 1.9 Tấn công từ chối dịch vụ (Trang 16)
Hình 5.1 - Mã hoá theo mô hình thống kê động - de cuong bao mat may tinh va mang
Hình 5.1 Mã hoá theo mô hình thống kê động (Trang 48)
Hình 6.1 - Hộp S có thuận nghịch - de cuong bao mat may tinh va mang
Hình 6.1 Hộp S có thuận nghịch (Trang 63)
Hình 6.2 - Hộp P có thuận nghịch Rối loạn và khuếch tán (Diffusion and Confusion) - de cuong bao mat may tinh va mang
Hình 6.2 Hộp P có thuận nghịch Rối loạn và khuếch tán (Diffusion and Confusion) (Trang 63)
Hình 6.3 - Khối mã theo Fiestel Nguyên tắc thiết kế mã khối Fiestel - de cuong bao mat may tinh va mang
Hình 6.3 Khối mã theo Fiestel Nguyên tắc thiết kế mã khối Fiestel (Trang 65)
Hình 6.4 - Khối mã hóa và giải mã theo Fiestel - de cuong bao mat may tinh va mang
Hình 6.4 Khối mã hóa và giải mã theo Fiestel (Trang 66)
6.3.2. Sơ đồ mã DES - de cuong bao mat may tinh va mang
6.3.2. Sơ đồ mã DES (Trang 67)
Hình 6.5 - Một vòng đơn của DES - de cuong bao mat may tinh va mang
Hình 6.5 Một vòng đơn của DES (Trang 68)
Hình 6.6 - Khối mã vào 48 ra 32 (Các hộp S) - de cuong bao mat may tinh va mang
Hình 6.6 Khối mã vào 48 ra 32 (Các hộp S) (Trang 69)
Hình 6.7 - Khối sinh khóa theo DES - de cuong bao mat may tinh va mang
Hình 6.7 Khối sinh khóa theo DES (Trang 70)

TỪ KHÓA LIÊN QUAN

w