Cùng với sự phát triển của công nghệ thông tin, công nghệ mạng máy tính và sự phát triển của mạng internet ngày càng phát triển đa dạng và phong phú. Các dịch vụ trên mạng đã thâm nhập vào hầu hết các lĩnh vực trong đời sống xã hội. Các thông tin trên Internet cũng đa dạng về nội dung và hình thức, trong đó có rất nhiều thông tin cần được bảo mật cao hơn bởi tính kinh tế, tính chính xác và tính tin cậy của nó.Sự ra đời của các công nghệ An ninh – Bảo mật Mạng nhằm bảo vệ mạng của bạn trước việc đánh cắp và sử dụng sai mục đích thông tin bí mật và chống lại tấn công bằng mã độc từ vi rút và sâu máy tính trên mạng Internet. Bên cạnh đó, các hình thức phá hoại mạng cũng trở nên tinh vi và phức tạp hơn. Do đó đối với mỗi hệ thống, nhiệm vụ bảo mật được đặt ra cho người quản trị mạng là hết sức quan trọng và cần thiết. Xuất phát từ những thực tế đó, tôi đã tìm hiểu về đề tài “Các bài toán liên quan tới an ninh hệ thống thông tin, hệ thống web, dịch vụ web, rà soát lỗ hổng hệ thống, tìm mã độc.”.
Trang 1Sự ra đời của các công nghệ An ninh – Bảo mật Mạng nhằm bảo vệ mạng củabạn trước việc đánh cắp và sử dụng sai mục đích thông tin bí mật và chống lại tấncông bằng mã độc từ vi rút và sâu máy tính trên mạng Internet
Bên cạnh đó, các hình thức phá hoại mạng cũng trở nên tinh vi và phức tạp hơn
Do đó đối với mỗi hệ thống, nhiệm vụ bảo mật được đặt ra cho người quản trị mạng
là hết sức quan trọng và cần thiết Xuất phát từ những thực tế đó, nhóm chúng em
đã tìm hiểu về đề tài “Các bài toán liên quan tới an ninh hệ thống thông tin, hệ thống web, dịch vụ web, rà soát lỗ hổng hệ thống, tìm mã độc.”.
Với sự hướng dẫn tận tình của thầy TS Hồ Ngọc Vinh – Trưởng khoa công
nghệ thông tin nhóm em đã hoàn thành bản báo cáo này Tuy đã cố gắng tìm hiểu,phân tích nhưng chắc rằng không tránh khỏi những thiếu sót Nhóm em rất mongnhận được sự thông cảm và góp ý của quí Thầy cô
Nhóm em xin chân thành cảm ơn!
Trang 2MỤC LỤC
LỜI CẢM ƠN 1
MỤC LỤC 2
DANH MỤC CÁC BẢNG BIỂU, HÌNH ẢNH 6
MỞ ĐẦU 7
-Chương 1 TỔNG QUAN VỀ AN NINH MẠNG 1
1.1 An ninh mạng là gì? 1
1.2 Các yếu tố cần bảo vệ trong hệ thống thông tin, hệ thống web 1
1.3 Các yếu tố đảm bảo an toàn thông tin trong hệ thống thông tin, hệ thống web 2
1.3.1 Xác định các lỗ hổng hệ thống 3
1.3.2 Xác định các mối đe đoạ 3
1.3.3 Các biện pháp an toàn hệ thống 3
Chương 2 CÁC LỔ HỎNG BẢO MẬT VÀ CÁC ĐIỂM YẾU CỦA HỆ THỐNG THÔNG TIN, HỆ THỐNG WEB 4
2.1 Các lổ hỏng bảo mật 4
2.1.1 Lổ hỏng loại C 4
2.1.2 Lổ hỏng loại B 4
2.1.3 Lổ hỏng loại A 5
2.2 Các kiểu tấn công 6
2.2.1 Tấn công trực tiếp 6
2.2.2 Kỹ thuật đánh lừa: (Social Engineering) 6
2.2.3 Kỹ thuật tấn công vào vùng ẩn 6
2.2.4 Tấn công vào các lổ hỏng bảo mật 7
2.2.5 Khai thác tình trạng tràn bộ nhớ đệm 7
2.2.6 Nghe trộm 7
Trang 32.2.8 Kỹ thuật chèn mã lệnh 8
2.2.9 Tấn công vào cấu hình không an toàn 8
2.2.10 Tấn công dùng Cooke 9
2.2.11 Can thiệp tham số trên URL 9
2.2.12 Vô hiệu hóa dịch vụ 9
2.2.13 Một số kiểu tấn công khác 10
2.3 Các biện pháp phát hiện tấn công 10
2.4 Các biện pháp phòng ngừa 12
2.4.1 Mã hóa, nhận dạng, chứng thực người dùng và phân quyền sử dụng 12
2.4.2 Bảo mật máy trạm 15
2.4.3 Bảo mật máy trạm truyền thống 16
2.5 Các công nghệ và kỹ thuât bảo mật 17
CHƯƠNG 3 KỸ THUẬT MÃ HÓA 19
3.1 Khái niệm bảo mật học 19
3.2 Các thành phần của một hệ mật mã 19
3.3 Phân loại các hệ mật mã 20
3.4 Một số phương pháp mã hóa 21
3.4.1 Mã hóa cổ điển: 21
3.4.1.1 Mật mã CAESAR 21
3.4.1.2 Mã thay thế: 22
3.4.1.3 Mã Vigenère: 23
3.4.1.4 Mã hoán vị 24
3.4.1.5 DES (Data Encryption Standard) 25
3.5 Thuật toán mã hóa công khai 27
3.5.1 Hệ mật RSA 27
Trang 43.6 So sánh giữa mã hóa bí mật(đại diện mã hóa đối xứng) và mã hóa công khai .29
CHƯƠNG 4 CHỮ KÝ ĐIỆN TỬ 31
5.1 Giới thiệu 31
5.2 Một số khái niệm cơ bản 32
5.3 Phân loại chữ ký số 32
5.4 Mô hình của chữ ký số trong thực tế 33
5.5 Thuật toán băm bảo mật SHA 34
5.5.1 Giới thiệu 34
5.5.2 Tính chất hàm băm 34
5.5.3 Hàm băm MD5 36
Chương 5 AN TOÀN IP – WEB 41
5.1 An toàn IP 41
5.1.1 IPSec 41
5.1.2 Kiến trúc an toàn IP 41
5.1.2.1 Dịch vụ IPSec 41
5.1.2.2 Liên kết an toàn 41
5.1.2.3 Phần đầu xác thực (Authentication Header - AH) 42
5.1.2.4 Tải trọng an toàn đóng gói (ESP) 42
5.1.2.5 Chế độ vận chuyển và chế độ ống ESP 42
5.1.2.6 Kết hớp các liên kết an toàn 43
5.1.2.7 Quản trị khóa 43
5.1.2.8 Oakley 43
5.1.2.9 ISAKMP 43
5.2 An toàn WEB 44
5.2.1 Khái niệm 44
Trang 55.2.3 Kiến trúc SSL 44
5.2.3.1 Dịch vụ thủ tục bản ghi SSL 45
5.2.3.2 Thủ tục thay đổi đặc tả mã SSL (SSL Change Cipher Spec Protocol) 45
5.2.3.3 Thủ tục nhắc nhở SSL (SSL Alert Protocol) 45
5.2.3.4 Thủ tục bắt tay SSL (SSL HandShake Protocol) 45
5.2.3.5 An toàn tầng vận chuyển 46
5.3 Thanh toán điện tử 49
5.3.1 Yêu cầu 49
5.3.2 Thanh toán điện tử an toàn 49
5.3.3 Chữ kỳ kép 50
5.3.4 Yêu cầu trả tiền 50
5.3.5 Yêu cầu trả tiền – người mua 51
5.3.6 Yêu cầu trả tiền - người bán 51
5.3.7 Giấy phép cổng trả tiền 52
5.3.8 Nhận trả tiền 52
5.4 An toàn thư điện tử 52
5.5 Dịch vụ PGP 52
KẾT LUẬN 59
DANH MỤC TÀI LIỆU THAM KHẢO 60
Trang 6DANH MỤC CÁC BẢNG BIỂU, HÌNH ẢNH
Hình 1.1: Quá trình đánh giá nguy cơ của hệ thống 3
Hình 2.1 Quá trình mã hoá 12
Hình 2.2: Chứng thực bằng user và password 13
Hình 2.3: Hoạt động của CHAP 14
Hình 2.4: Mã hóa Kerberos 15
Hình 2.5: Bảo mật FTP 16
Hình 2.6: Mô hình tổng quát firewall 17
Hình 2.7: Bảo mật bằng VPN 18
Hình 2.8: Hệ thống chống xâm nhập IDS 18
Hình 4.1 : Phân loại chữ ký số 33
Hình 4.2 : Sơ đồ tổng quan chữ ký số trong thực tế 33
Hình 4.3: Sơ đồ vòng lặp chính của MD5 37
Hình 5.1: Kiến trúc SSL 44
Hình 5.2: Thủ tục bắt tay 46
Hình 5.3: Các thành phần thanh toán điện tử 49
Hình 5.4: Mô phỏng yêu cầu trả tiền người mua 51
Hình 5.5: Mô phỏng mô hình trả tiền người bán 51
Hình 5.6: Thao tác PGP – Bảo mật xác thực 54
Hình 5.7: PGP Message Format 55
Hình 5.8: Sơ đồ nhận mẩu tin PGP 56
Hình 5.9: Sơ đồ giải mã, kiểm chứng mẩu tin 56
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
1 ACL Access Control List – Danh sách kiểm soát truy cập
2 AES Advanced Encryption Standard - chuẩn mã quốc tế
3 AH Authentication Header - đầu mục xác thực
4 CA Certification authority – Chủ quyền chứng nhận
5 CERT Computer emergency response team - Đội cấp cứu sự cố máy
10 CBC Cipher Block Chaining – Dãy mã khối
11 CFB Cipher feedback - Phản hồi mã
12 DBA Database administrator - Quản trị hệ thống
13 DES Data Encription Standards – Chuẩn mã dữ liệu
14 DNA Domain Name System – Hệ thống tên miền
15 DSA Digital signature Algorithm – Thuật toán chữ ký điện tử
16 DSS Digital signature standard – Chuẩn chữ ký điện tử
17 ECB Electronic codebook – sách mã điện tử
18 ECC Encription curve code – mã đường cong Elip
19 ESP Encapsulating security payload – tải bảo mật đóng gói
20 FIPS Federal Information Processing Standard - chuẩn xử lý thông
tin Liên bang
21 IDEA International data encryption algorithm - Thuật toán mã dữ liệu
quốc tế
Trang 823 KDC Key Distribution Center – Trung tâm phân phối khóa
24 LAN Local area network – mạng cục bộ
25 MD Message digest – digest bản tin
26 NAT Network address translation – dịch địa chỉ mạng
27 PKCS Public key cryptography standard – Chuẩn mã khoa công khai
28 PKI Public Key Infrastructure - Hạ tầng khoá chung
29 PGP Pretty Good Privacy – Phần mềm bảo mật thư điện tử
30 RSA Thuật toán mã công khai RSA mang tên Rivest, Shamir,
Adleman
31 SET Secure Electronic transaction – Thanh toán điện tử an toàn
32 SHA1 Secure hash algorithm 1 – Thuật toán băm 1
33 SMTP Simple Mail Transfer Protocol – Giao thức chuyển thư đơn
giản
34 SOAP Simple Object Access Protocol – Giao thức truy cập đối tượng
đơn giản
35 SSL Secure Socket Layer – giao thức bảo mật lớp vận chuyển
36 TLS Transport Layer Security – Chuẩn giao thức bảo mật lớp vận
chuyển
37 UID User Identification – Định danh người sử dụng
38 TTP Trusted Third Party – Bên thứ ba tin cậy
39 URL Uniform Resource Locator – Địa chỉ nguồn thống nhất
40 VPN Virtual private network – mạng riêng ảo
41 WAN Wide area network - mạng diện rộng
42 WTLS Wireless transport layer security – an toàn tầng vận chuyển
không dây
Trang 9MỞ ĐẦU
- Hệ thống thông tin (HTTT) là một ngành mũi nhọn của công nghệ thông tin(CNTT) đã có nhiều ứng dụng trong quản lý Mặc dù có khá nhiều ngôn ngữ và hệquản trị cơ sở dữ liệu cũng như các phần mềm chuyên dụng cho quản lý song đốivới một hệ thống quản lý lớn việc vận dụng ngay các phần mềm đó là một vấn đềgặp không ít khó khăn
- Trong những năm gần đây, khoa học công nghệ Việt Nam đã từng bước hộinhập vào dòng chảy của khoa học công nghệ tiên tiến trên thế giới Công nghệthông tin ở nước ta mới, song tốc độ phát triển của nó rất nhanh và mạnh, chiếmmột vị trí quan trọng trong các ngành khoa học công nghệ Một trong những lĩnhvực đang được ứng dụng tin học hóa rất phổ biến ở nước ta là lĩnh vực quản Tinhọc hóa trong quản đã giúp cho các nhà quản điều hành công việc một cách khoahọc, chính xác và hiệu quả
- Quản lý điểm là một trong những công việc tương đối phức tạp, tốn nhiềuthời gian và công sức Chính vì vậy, tin học hóa trong lĩnh vực quản lí điểm là mộtyêu cầu tất yếu Muốn quản lý tốt cần có được các phần mềm tốt, phần mềm phảiđảm bảo được độ bảo mật cao, dễ sử dụng và nhiều tiện ích
- Qua quá trình tìm hiểu nghiên cứu em nhận thấy việc Xây dựng trang webtrực tuyến có rất nhiều ưu điểm và thế mạnh Do đó em quyết định chọn đề tài
"Xây dựng hệ thống thông tin quản điểm trung học cơ sở trường Trần Bội Cơ"
để nghiên cứu khoa học
Trang 10Chương 1 TỔNG QUAN VỀ AN NINH MẠNG1.1 An ninh mạng là gì?
- Máy tính có phần cứng chứa dữ liệu do hệ điều hành quản lý, đa số các máytính nhất là các máy tính trong công ty, doanh nghiệp được nối mạng Lan vàInternet Nếu như máy tính, hệ thống mạng của bạn không được trang bị hệ thốngbảo vệ vậy chẳng khác nào bạn đi khỏi căn phòng của mình mà quên khóa cửa, máytính của bạn sẽ là mục tiêu của virus, worms, unauthorized user … chúng có thể tấncông vào máy tính hoặc cả hệ thống của bạn bất cứ lúc nào
- Vậy an toàn mạng có nghĩa là bảo vệ hệ thống mạng, máy tính khỏi sự pháhoại phần cứng hay chỉnh sửa dữ liệu (phần mềm) mà không được sự cho phép từnhững người cố ý hay vô tình An toàn mạng cung cấp giải pháp, chính sách, bảo vệmáy tính, hệ thống mạng để làm cho những người dùng trái phép, cũng như cácphần mềm chứa mã độc xâm nhập bất hợp pháp vào máy tính, hệ thống mạng củabạn
1.2 Các yếu tố cần bảo vệ trong hệ thống thông tin, hệ thống web
- Yếu tố đầu tiên phải nói đến là dữ liệu, những thông tin lưu trữ trên hệ thốngmáy tính cần được bảo vệ do các yêu cầu về tính bảo mật, tính toàn vẹn hay tính kịpthời Thông thường yêu cầu về bảo mật được coi là yêu cầu quan trọng đối vớithông tin lưu trữ trên mạng Tuy nhiên, ngay cả khi những thông tin không đượcgiữ bí mật, thì yêu cầu về tính toàn vẹn cũng rất quan trọng Không một cá nhân,một tổ chức nào lãng phí tài nguyên vật chất và thời gian để lưu trữ những thông tin
mà không biết về tính đóng đắn của những thông tin đó
- Yếu tố thứ hai là về tài nguyên hệ thống, sau khi các Attacker đã làm chủđược hệ thống chúng sẽ sử dụng các máy này để chạy các chương trình như dò tímmật khẩu để tấn công vào hệ thống mạng
- Yếu tố thứ ba là danh tiếng một khi dữ liệu bị đánh cắp thì việc nghi ngờnhau trong một tổ chức, công ty là điều không tránh khỏi, vì vậy sẽ ảnh hưởng đếndanh tiếng của tổ chức, công ty rất nhiều
Trang 111.3 Các yếu tố đảm bảo an toàn thông tin trong hệ thống thông tin, hệ thống web
- An toàn thông tin nghĩa là thông tin được bảo vệ, các hệ thống và nhữngdịch vụ có khả năng chống lại những tai hoạ, lỗi và sự tác động không mong đợi.Mục tiêu của an toàn bảo mật trong công nghệ thông tin là đưa ra một số tiêu chuẩn
an toàn và ứng dụng các tiêu chuẩn an toàn này để loại trừ hoặc giảm bớt các nguyhiểm
- Hiện nay các biện pháp tấn công càng ngày càng tinh vi, sự đe doạ tới độ antoàn thông tin có thể đến từ nhiều nơi khác nhau theo nhiều cách khác nhau, vì vậycác yêu cầu cần để đảm bảo an toàn thông tin như sau:
- Tính bí mật: Thông tin phải đảm bảo tính bí mật và được sử dụng đóng đốitượng
- Tính toàn vẹn: Thông tin phải đảm bảo đầy đủ, nguyên vẹn về cấu trúc,không mâu thuẫn
- Tính sẵn sàng: Thông tin phải luôn sẵn sàng để tiếp cận, để phục vụ theođóng mục đích và đóng cách
- Tính chính xác: Thông tin phải chính xác, tin cậy
- Tính không khước từ (chống chối bỏ): Thông tin có thể kiểm chứng đượcnguồn gốc hoặc người đưa tin
- Nguy cơ hệ thống (Risk) được hình thành bởi sự kết hợp giữa lỗ hổng hệthống và các mối đe doạ đến hệ thống, nguy cơ hệ thống có thể định nghĩa trong bacấp độ thấp, trung bình và cao Để xác định nguy cơ đối với hệ thống trước tiên taphải đánh giá nguy cơ hệ thống theo sơ đồ sau
Trang 12Hình 1.1: Quá trình đánh giá nguy cơ của hệ thống
- Các môi trường truy cập vật lý hệ thống
- Các điểm truy cập người dùng
- Các điểm truy cập không dây
- Ở mỗi điểm truy cập, ta phải xác định được các thông tin có thể truy cập vàmức độ truy cập vào hệ thống
1.3.2 Xác định các mối đe đoạ
- Đây là một công việc khó khăn vì các mối đe dọa thường không xuất hiện rõràng (ẩn), thời điểm và quy mô tấn công không biết trước Các hình thức và kỹthuật tấn công đa dạng như:
Trang 13Chương 2
CÁC LỔ HỎNG BẢO MẬT VÀ CÁC ĐIỂM YẾU CỦA HỆ
THỐNG THÔNG TIN, HỆ THỐNG WEB
2.1 Các lổ hỏng bảo mật
- Có nhiều các tổ chức đã tiến hành phân loại các dạng lỗ hổng đặc biệt Theo
bộ quốc phòng Mỹ các loại lỗ hổng được phân làm ba loại như sau:
2.1.1 Lổ hỏng loại C
- Cho phép thực hiện các hình thức tấn công theo DoS (Denial of Services- Từchối dịch vụ) Mức độ nguy hiểm thấp chỉ ảnh hưởng tới chất lượng dịch vụ, làmngưng trệ gián đoạn hệ thống, không làm phá hỏng dữ liệu hoặc đạt được quyềntruy cập bất hợp pháp
- DoS là hình thức tấn công sử dụng các giao thức ở tầng Internet trong bộgiao thức TCP/IP để làm hệ thống ngưng trệ dẫn đến tình trạng từ chối người sửdụng hợp pháp truy nhập hay sử dụng hệ thống
- Các dịch vụ có lỗ hổng cho phép các cuộc tấn công DoS có thể được nângcấp hoặc sửa chữa bằng các phiên bản mới hơn của các nhà cung cấp dịch vụ Hiệnnay chưa có một biện pháp hữu hiệu nào để khắc phục tình trạng tấn công kiểu này
vì bản thân thiết kế ở tầng Internet (IP) nói riêng và bộ giao thức TCP/IP nói chung
đã ẩn chứa những nguy cơ tiềm tang của các lỗ hổng loại này
2.1.2 Lổ hỏng loại B
- Cho phép người sử dụng có thêm các quyền trên hệ thống mà không cầnkiểm tra tính hợp lệ dẫn đến mất mát thông tin yêu cầu cần bảo mật Lỗ hổng nàythường có trong các ứng dụng trên hệ thống Có mức độ nguy hiểm trung bình
- Lỗ hổng loại B này có mức độ nguy hiểm hơn lỗ hổng loại C Cho phépngười sử dụng nội bộ có thể chiếm được quyền cao hơn hoặc truy nhập không hợppháp.Những lỗ hổng loại này thường xuất hiện trong các dịch vụ trên hệ thống.Người sử dụng local được hiểu là người đã có quyền truy nhập vào hệ thống vớimột số quyền hạn nhất định
Trang 14- Một dạng khác của lỗ hổng loại B xảy ra với các chương trình viết bằng mãnguồn C Những chương trình viết bằng mã nguồn C thường sử dụng một vùngđệm, một vùng trong bộ nhớ sử dụng để lưu trữ dữ liệu trước khi xử lý Người lậptrình thường sử dụng vùng đệm trong bộ nhớ trước khi gán một khoảng không gian
bộ nhớ cho từng khối dữ liệu Ví dụ khi viết chương trình nhập trường tên người sửdụng quy định trường này dài 20 ký tự bằng khai báo:
- Char first_name [20]; Khai báo này cho phép người sử dụng nhập tối đa 20
ký tự Khi nhập dữ liệu ban đầu dữ liệu được lưu ở vùng đệm Khi người sử dụngnhập nhiều hơn 20 ký tự sẽ tràn vùng đệm Những ký tự nhập thừa sẽ nằm ngoàivùng đệm khiến ta không thể kiểm soát được Nhưng đối với những kẻ tấn côngchúng có thể lợi dụng những lỗ hổng này để nhập vào những ký tự đặc biệt để thựcthi một số lệnh đặc biệt trên hệ thống Thông thường những lỗ hổng này được lợidụng bởi những người sử dụng trên hệ thống để đạt được quyền root không hợp lệ
Để hạn chế được các lỗ hổng loại B phải kiêm soát chặt chẽ cấu hình hệ thống vàcác chương trình
2.1.3 Lổ hỏng loại A
- Cho phép người ngoài hệ thống có thể truy cập bất hợp pháp vào hệ thống
Có thể làm phá huỷ toàn bộ hệ thống Loại lỗ hổng này có mức độ rất nguy hiểm đedọa tính toàn vẹn và bảo mật của hệ thống Các lỗ hổng này thường xuất hiện ởnhững hệ thống quản trị yếu kém hoặc không kiểm soát được cấu hình mạng Ví dụvới các web server chạy trên hệ điều hành Novell các server này có một scripst làconvert.bas chạy scripst này cho phép đọc toàn bộ nội dung các file trên hệ thống
- Những lỗ hổng loại này hết sức nguy hiểm vì nó đã tồn tại sẵn có trên phầnmềm sử dụng, người quản trị nếu không hiểu sâu về dịch vụ và phần mềm sử dụng
có thể bỏ qua điểm yếu này Vì vậy thường xuyên phải kiểm tra các thông báo củacác nhóm tin về bảo mật trên mạng để phát hiện những lỗ hổng loại này Một loạtcác chương trình phiên bản cũ thường sử dụng có những lỗ hổng loại A như: FTP,Gopher, Telnet, Sendmail, ARP, finger
Trang 152.3.1 Kỹ thuật đánh lừa: (Social Engineering)
- Đây là thủ thuật được nhiều hacker sử dụng cho các cuộc tấn công và thâmnhập vào hệ thống mạng và máy tính bởi tính đơn giản mà hiệu quả của nó Thườngđược sử dụng để lấy cấp mật khẩu, thông tin, tấn công vào và phá hủy hệ thống
- Ví dụ : kỹ thuật đánh lừa Fake Email Login.
- Về nguyên tắc, mỗi khi đăng nhập vào hộp thư thì bạn phải nhập thông tintài khoản của mình bao gồm username và password rồi gởi thông tin đến MailServer xử lý Lợi dụng việc này, những người tấn công đã thiết kế một trng webgiống hệt như trang đăng nhập mà bạn hay sử dụng Tuy nhiên, đó là một trang webgiả và tất cả thông tin mà bạn điền vào đều được gởi đến cho họ Kết quả, bạn bịđánh cắp mật khẩu !
- Nếu là người quản trị mạng, bạn nên chú ý và dè chừng trước những email,những messengers, các cú điện thoại yêu cầu khai báo thông tin Những mối quan
hệ cá nhân hay những cuộc tiếp xúc đều là một mối nguy hiểm tiềm tàng
2.3.2 Kỹ thuật tấn công vào vùng ẩn
- Những phần bị dấu đi trong các website thường chứa những thông tin vềphiên làm việc của các client Các phiên làm việc này thường được ghi lại ở máykhách chứ không tổ chức cơ sở dữ liệu trên máy chủ Vì vậy, người tấn công có thể
sử dụng chiêu chức View Source của trình duyệt để đọc phần đầu đi này và từ đó có
Trang 16thể tìm ra các sơ hở của trang Web mà họ muốn tấn công Từ đó, có thể tấn côngvào hệ thống máy chủ.
2.3.3 Tấn công vào các lổ hỏng bảo mật
- Hiện, nay các lỗ hổng bảo mật được phát hiện càng nhiều trong các hệ điềuhành, các web server hay các phần mềm khác, Và các hãng sản xuất luôn cậpnhật các lỗ hổng và đưa ra các phiên bản mới sau khi đã vá lại các lỗ hổng của cácphiên bản trước Do đó, người sử dụng phải luôn cập nhật thông tin và nâng cấpphiên bản cũ mà mình đang sử dụng nếu không các hacker sẽ lợi dụng điều này đểtấn công vào hệ thống
- Thông thường, các forum của các hãng nổi tiếng luôn cập nhật các lỗ hổngbảo mật và việc khai thác các lỗ hổng đó như thế nào thì tùy từng người
2.3.4 Khai thác tình trạng tràn bộ nhớ đệm
- Tràn bộ đệm là một tình trạng xảy ra khi dữ liệu được gởi quá nhiều so vớikhả năng xử lý của hệ thống hay CPU Nếu hacker khai thác tình trạng tràn bộ đệmnày thì họ có thể làm cho hệ thống bị tê liệt hoặc làm cho hệ thống mất khả năngkiểm soát
- Để khai thác được việc này, hacker cần biết kiến thức về tổ chức bộ nhớ,stack, các lệnh gọi hàm Shellcode
- Khi hacker khai thác lỗi tràn bộ đệm trên một hệ thống, họ có thể đoạt quyềnroot trên hệ thống đó Đối với nhà quản trị, tránh việc tràn bộ đệm không mấy khókhăn, họ chỉ cần tạo các chương trình an toàn ngay từ khi thiết kế
2.3.5 Nghe trộm
- Các hệ thống truyền đạt thông tin qua mạng đôi khi không chắc chắn lắm vàlợi dụng điều này, hacker có thể truy cập vào data paths để nghe trộm hoặc đọctrộm luồng dữ liệu truyền qua
- Hacker nghe trộm sự truyền đạt thông tin, dữ liệu sẽ chuyển đến sniffinghoặc snooping Nó sẽ thu thập những thông tin quý giá về hệ thống như một packetchứa password và username của một ai đó Các chương trình nghe trộm còn đượcgọi là các sniffing Các sniffing này có nhiệm vụ lắng nghe các cổng của một hệ
Trang 17thống mà hacker muốn nghe trộm Nó sẽ thu thập dữ liệu trên các cổng này vàchuyển về cho hacker.
2.3.6 Kỹ thuật giả mạo địa chỉ
- Thông thường, các mạng máy tính nối với Internet đều được bảo vệ bằngbức tường lửa(fire wall) Bức tường lửa có thể hiểu là cổng duy nhất mà người đivào nhà hay đi ra cũng phải qua đó và sẽ bị “điểm mặt” Bức tường lửa hạn chế rấtnhiều khả năng tấn công từ bên ngoài và gia tăng sự tin tưởng lẫn nhau trong việc
sử dụng tào nguyên chia sẻ trong mạng nội bộ
- Sự giả mạo địa chỉ nghĩa là người bên ngoài sẽ giả mạo địa chỉ máy tính củamình là một trong những máy tính của hệ thống cần tấn công Họ tự đặt địa chỉ IPcủa máy tính mình trùng với địa chỉ IP của một máy tính trong mạng bị tấn công.Nếu như làm được điều này, hacker có thể lấy dữ liệu, phá hủy thông tin hay pháhoại hệ thống
2.3.8 Tấn công vào cấu hình không an toàn
- Cấu hình không an toàn cũng là một lỗ hổng bảo mật của hệ thống Các lỗhổng này được tạo ra do các ứng dụng có các thiết lập không an toàn hoặc ngườiquản trị hệ thống định cấu hình không an toàn Chẳng hạn như cấu hình máy chủweb cho phép ai cũng có quyền duyệt qua hệ thống thư mục Việc thiết lập như trên
có thể làm lộ các thông tin nhạy cảm như mã nguồn, mật khẩu hay các thông tin củakhách hàng
Trang 18- Nếu quản trị hệ thống cấu hình hệ thống không an toàn sẽ rất nguy hiểm vìnếu người tấn công duyệt qua được các file pass thì họ có thể download và giải mã
ra, khi đó họ có thể làm được nhiều thứ trên hệ thống
2.3.9 Tấn công dùng Cooke
- Cookie là những phần tử dữ liệu nhỏ có cấu trúc được chia sẻ giữa website
và trình duyệt của người dùng
- Cookies được lưu trữ dưới những file dữ liệu nhỏ dạng text (size dưới 4KB).Chúng được các site tạo ra để lưu trữ, truy tìm, nhận biết các thông tin về ngườidùng đã ghé thăm site và những vùng mà họ đi qua trong site Những thông tin này
có thể bao gồm tên, định danh người dùng, mật khẩu, sở thích, thói quen,
- Cookies được Browser của người dùng chấp nhận lưu trên đĩa cứng của máytính, không phải Browser nào cũng hổ trợ cookies
2.3.10.Can thiệp tham số trên URL
- Đây là cách tấn công đưa tham số trực tiếp vào URL Việc tấn công có thểdùng các câu lệnh SQL để khai thác cơ sở dữ liệu trên các máy chủ bị lỗi Điển hìnhcho kỹ thuật tấn công này là tấn công bằng lỗi “SQL INJECTION”
- Kiểu tấn công này gọn nhẹ nhưng hiệu quả bởi người tấn công chỉ cần mộtcông cụ tấn công duy nhất là trình duyệt web và backdoor
2.3.11.Vô hiệu hóa dịch vụ
- Kiểu tấn công này thông thường làm tê liệt một số dịch vụ, được gọi là DOS(Denial of Service - Tấn công từ chối dịch vụ)
- Các tấn công này lợi dụng một số lỗi trong phần mềm hay các lỗ hổng bảomật trên hệ thống, hacker sẽ ra lệnh cho máy tính của chúng đưa những yêu cầukhông đâu vào đâu đến các máy tính, thường là các server trên mạng Các yêu cầunày được gởi đến liên tục làm cho hệ thống nghẽn mạch và một số dịch vụ sẽ khôngđáp ứng được cho khách hàng
- Đôi khi, những yêu cầu có trong tấn công từ chối dịch vụ là hợp lệ Ví dụmột thông điệp có hành vi tấn công, nó hoàn toàn hợp lệ về mặt kỹ thuật Nhữngthông điệp hợp lệ này sẽ gởi cùng một lúc Vì trong một thời điểm mà server nhận
Trang 19quá nhiều yêu cầu nên dẫn đến tình trạng là không tiếp nhận thêm các yêu cầu Đó
là biểu hiện của từ chối dịch vụ
2.3.12.Một số kiểu tấn công khác
- Lỗ hổng không cần login: Nếu như các ứng dụng không được thiết kế chặtchẽ, không ràng buộc trình tự các bước khi duyệt ứng dụng thì đây là một lỗ hổngbảo mật mà các hacker có thể lợi dụng để truy cập thẳng đến các trang thông tin bêntrong mà không cần phải qua bước đăng nhập
- Thay đổi dữ liệu: Sau khi những người tấn công đọc được dữ liệu của một hệthống nào đó, họ có thể thay đổi dữ liệu này mà không quan tâm đến người gởi vàngười nhận nó Những hacker có thể sửa đổi những thông tin trong packet dữ liệumột cách dễ dàng
- Password-base Attact: Thông thường, hệ thống khi mới cấu hình cóusername và password mặc định Sau khi cấu hình hệ thống, một số admin vẫnkhông đổi lại các thiết lập mặc định này Đây là lỗ hổng giúp những người tấn công
có thể thâm nhập vào hệ thống bằng con đường hợp pháp Khi đã đăng nhập vào,hacker có thể tạo thêm user, cài backboor cho lần viến thăm sau
- Identity Spoofing: Các hệ thống mạng sử dụng IP address để nhận biết sựtồn tại của mình Vì thế địa chỉ IP là sự quan tâm hàng đầu của những người tấncông Khi họ hack vào bất cứ hệ thống nào, họ đều biết địa chỉ IP của hệ thốngmạng đó Thông thường, những người tấn công giả mạo IP address để xâm nhậpvào hệ thống và cấu hình lại hệ thống, sửa đổi thông tin, …
- Việc tạo ra một kiểu tấn công mới là mục đích của các hacker Trên mạngInternet hiện nay, có thể sẽ xuất hiện những kiểu tấn công mới được khai sinh từnhững hacker thích mày mò và sáng tạo Bạn có thể tham gia các diễn đàn hacking
và bảo mật để mở rộng kiến thức
2.4 Các biện pháp phát hiện tấn công
- Không có một hệ thống nào có thể đảm bảo an toàn tuyệt đối; bản thân mỗidịch vụ đều có những lỗ hổng bảo mật tiềm tàng Đứng trên góc độ người quản trị
hệ thống, ngoài việc tìm hiểu phát hiện những lỗ hổng bảo mật còn luôn phải thực
Trang 20hiện các biện pháp kiểm tra hệ thống xem có dấu hiệu tấn công hay không Các biệnpháp đó là:
- Kiểm tra các dấu hiệu hệ thống bị tấn công: hệ thống thường bị treo hoặc bịcrash bằng những thông báo lỗi không rõ ràng Khó xác định nguyên nhân do thiếuthông tin liên quan Trước tiên, xác định các nguyên nhân về phần cứng hay không,nếu không phải phần cứng hãy nghĩ đến khả năng máy bị tấn công
- Kiểm tra các tài khoản người dùng mới trên hệ thống: một số tài khoản lạ,nhất là uid của tài khoản đó có uid= 0
- Kiểm tra xuất hiện các tập tin lạ Thường phát hiện thông qua cách đặt têncác tệp tin, mỗi người quản trị hệ thống nên có thói quen đặt tên tập tin theo mộtmẫu nhất định để dễ dàng phát hiện tập tin lạ Dùng các lệnh ls -l để kiểm tra thuộctính setuid và setgid đối với những tập tinh đáng chú ý (đặc biệt là các tập tinscripts)
- Kiểm tra thời gian thay đổi trên hệ thống, đặc biệt là các chương trình login,
sh hoặc các scripts khởi động trong /etc/init.d, /etc/rc.d …
- Kiểm tra hiệu năng của hệ thống Sử dụng các tiện ích theo dõi tài nguyên vàcác tiến trình đang hoạt động trên hệ thống như ps hoặc top …
- Kiểm tra hoạt động của các dịch vụ mà hệ thống cung cấp Chúng ta đã biếtrằng một trong các mục đích tấn công là làm cho tê liệt hệ thống (Hình thức tấncông DoS) Sử dụng các lệnh như ps, pstat, các tiện ích về mạng để phát hiệnnguyên nhân trên hệ thống
- Kiểm tra truy nhập hệ thống bằng các account thông thường, đề phòngtrường hợp các account này bị truy nhập trái phép và thay đổi quyền hạn mà người
sử dụng hợp pháp không kiểm sóat được
- Kiểm tra các file liên quan đến cấu hình mạng và dịch vụ như /etc/inetd.conf;
bỏ các dịch vụ không cần thiết; đối với những dịch vụ không cần thiết chạy dướiquyền root thì không chạy bằng các quyền yếu hơn
- Kiểm tra các phiên bản của sendmail, /bin/mail, ftp; tham gia các nhóm tin
về bảo mật để có thông tin về lỗ hổng của dịch vụ sử dụng
Trang 21và bất hợp pháp nếu cả hai cùng sử dụng một key giống nhau Do đó mã hoá chính
nó sẽ không cung cấp bảo mật, chúng phải được điều khiển bởi key mã hoá và toàn
bộ hệ thống
-Hình 2.1 Quá trình mã hoá
- Mã hoá nhằm đảm bảo các yêu cầu sau:
- Tính bí mật (confidentiality): dữ liệu không bị xem bởi “bên thứ 3”
- Tính toàn vẹn (Integrity): dữ liệu không bị thay đổi trong quá trình truyền
- Tính không từ chối (Non-repudiation): là cơ chế người thực hiện hành độngkhông thể chối bỏ những gì mình đã làm, có thể kiểm chứng được nguồn gốc hoặcngười đưa tin
Chứng thực người dùng
- Là quá trình thiết lập tính hợp lệ của người dùng trước khi truy cập thông tintrong hệ thống Các loại chứng thực như:
Trang 22- + Username/password: Là loại chứng thực phổ biến nhất và yếu nhất củachứng thực, username/password được giữ nguyên dạng chuyển đến Server.
- Đặt mật khẩu dài tối thiểu là tám kí tự, bao gồm chữ cái, số, biểu tượng
- Thay đổi password: 01 tháng/lần
- Không nên đặt cùng password ở nhiều nơi
- Xem xét việc cung cấp password cho ai
- + CHAP (Challenge Hanshake Authentication Protocol): Dùng để mã hóa
mật khẩu khi đăng nhập, dùng phương pháp chứng thực thử thách/hồi đáp Định kỳkiểm tra lại các định danh của kết nối sử dụng cơ chế bắt tay 3 bước và thông tin bímật được mã hóa sử dụng MD5 Hoạt động của CHAP như sau:
Trang 23- Kerberos hoạt động sử dụng một bên thứ ba tham gia vào quá trình nhậnthực gọi là key distribution center – KDC (KDC bao gồm hai chức năng: "máy chủxác thực" (authentication server - AS) và "máy chủ cung cấp vé" (ticket grantingserver - TGS) "Vé" trong hệ thống Kerberos chính là các chứng thực chứng minhnhận dạng của người sử dụng.) Mỗi người sử dụng trong hệ thống chia sẻ một khóachung với máy chủ Kerberos Việc sở hữu thông tin về khóa chính là bằng chứng đểchứng minh nhận dạng của một người sử dụng Trong mỗi giao dịch giữa hai người
Trang 24sử dụng trong hệ thống, máy chủ Kerberos sẽ tạo ra một khóa phiên dùng cho phiêngiao dịch đó.
- Hầu hết các hệ điều hành đều chạy trong tình trạng thấp hơn với mức bảomật tối thiểu và có rất nhiều lỗ hổng bảo mật Trước khi một máy chủ khi đưa vàosản xuất, sẽ có một quá trình kiểm tra theo một số bước nhất định Toàn bộ các bảnsửa lỗi phải được cài đặt trên máy chủ, và bất cứ dịch vụ không cần thiết nào phảiđược loại bỏ Điều này làm tránh độ rủi ro xuống mức thấp nhất cho hệ thống
Trang 25- Việc tiếp theo là kiểm tra các log file từ các máy chủ và các ứng dụng.Chúng sẽ cung cấp cho ta một số thông tin tốt nhất về hệ thống, các tấn công bảomật Trong rất nhiều trường hợp, đó chính là một trong những cách để xác nhận quy
mô của một tấn công vào máy chủ
2.5.3 Bảo mật máy trạm truyền thống
- Tiêu biểu như bảo mật trên FTP, SSH
- Bảo mật truyền thông FTP
Hình 2.5: Bảo mật FTP
- FTP là giao thức lớp ứng dụng trong bộ giao thức TCP/IP cho phép truyền
dữ liệu chủ yếu qua port 20 và nhận dữ liệu tại port 21, dữ liệu được truyền dướidạng clear-text, tuy nhiên nguy cơ bị nghe lén trong quá trình truyền file hay lấymật khẩu trong quá trình chứng thực là rất cao, thêm vào đó user mặc địnhAnonymous không an toàn tạo điều kiện cho việc tấn công tràn bộ đệm
- Biện pháp đặt ra là sử dụng giao thức S/FTP (S/FTP = FTP + SSL/TSL) cótính bảo mật vì những lí do sau:
- Sử dụng chứng thực RSA/ DSA
- Sử dụng cổng TCP 990 cho điều khiển, cổng TCP 989 cho dữ liệu
- Tắt chức năng Anonymous nếu không sử dụng
- Sử dụng IDS để phát hiện tấn công tràn bộ đệm
- Sử dụng IPSec để mã hóa dữ liệu
- Bảo mật truyền thông SSH
- SSH là dạng mã hóa an toàn thay thế cho telnet, rlogin hoạt động theo môhình client/server và sử dụng kỹ thuật mã hóa public key để cung cấp phiên mã hóa,
nó chỉ cung cấp khả năng chuyển tiếp port bất kỳ qua một kết nối đã được mã hóa
Trang 26Với telnet hay rlogin quá trình truyền username và password dưới dạng cleartextnên rất dễ bị nghe lén, bằng cách bắt đầu một phiên mã hóa.
- Khi máy client muốn kết nối phiên an toàn với một host, client phải bắt đầukết nối bằng cách thiết lập yêu cầu tới một phiên SSH Một khi server nhận dượcyêu cầu từ client, hai bên thực hiện cơ chế three-way handshake trong đó bao gồmviệc xác minh các giao thức, khóa phiên sẽ được thay đổi giữa client và server, khikhóa phiên đã trao đổi và xác minh đối với bộ nhớ cache của host key, client lúcnày có thể bắt đầu một phiên an toàn
2.6 Các công nghệ và kỹ thuât bảo mật
Bảo mật bằng firewall
- Là một hàng rào giữa hai mạng máy tính, nó bảo vệ mạng này tránh khỏi sựxâm nhập từ mạng kia, đối với những doang nghiệp cỡ vừa là lớn thì việc sử dụngfirewall là rất cần thiết, chức năng chính là kiểm soát luồng thông tin giữa mạng cầnbảo vệ và Internet thông qua các chính sách truy cập đã được thiết lập
- Firewall có thể là phần cứng, phần mềm hoặc cả hai Tất cả đều có chungmột thuộc tính là cho phép xử lý dựa trên địa chỉ nguồn, bên cạnh đó nó còn có cáctính năng như dự phòng trong trường hợp xảy ra lỗi hệ thống
Hình 2.6: Mô hình tổng quát firewall
- Do đó việc lựa chọn firewall thích hợp cho một hệ thống không phải là dễdàng Các firewall đều phụ thuộc trên một môi trường, cấu hình mạng, ứng dụng cụ
Trang 27thể Khi xem xét lựa chọn một firewall cần tập trung tìm hiểu tập các chức năng củafirewall như tính năng lọc địa chỉ, gói tin.
Bảo mật bằng VPN (Vitual Private Network)
- VPN là một mạng riêng ảo được kết nối thông qua mạng công cộng cung cấp
cơ chế bảo mật trong một môi trường mạng không an toàn Đặc điểm của VPN là
dữ liệu trong quá trình truyền được mã hóa, người sử dụng đầu xa được chứng thực,VPN sử dụng đa giao thức như IPSec, SSL nhằm tăng thêm tính bảo mật của hệthống, bên cạnh đó tiết kiệm được chi phí trong việc triển khai
Hình 2.7: Bảo mật bằng VPN
Bảo mật bằng IDS (Phát hiện tấn công)
- IDS (Intrusion Detection System) là hệ thống phát hiện xâm nhập, hệ thốngbảo mật bổ sung cho firewall với công nghệ cao tương đương với hệ thống chuôngbáo động được cấu hình để giám sát các điểm truy cập có thể theo dõi, phát hiện sựxâm nhập của các attacker Có khả năng phát hiện ra các đoạn mã độc hại hoạt độngtrong hệ thống mạng và có khả năng vượt qua được firewall Có hai dạng chính đó
là network based và host based
Hình 2.8: Hệ thống chống xâm nhập IDS
Trang 28CHƯƠNG 3
KỸ THUẬT MÃ HÓA
3.1 Khái niệm bảo mật học
- Kỹ thuật mật mã thông qua việc biến đổi hoặc mã hoá thông tin, biến đổinhững thông tin nhạy cảm, vấn đề cơ mật thành những văn tự mã hoá có dạng hỗnloạn, làm cho bọn tin tặc khó lòng mà đọc hiểu được, từ đó sẽ đạt được hai mụcđích: một là, làm cho bọn tin tặc không biết làm thế nào để giải mã nên cũng khôngthể thu được những thông tin có bất kỳ ý nghĩa nào trong chuỗi mật mã hỗn loạnđó; hai là làm cho tin tặc không có khả năng làm giả thông tin với chuỗi mật mãhỗn loạn như thế Khoa học nghiên cứu kỹ thuật mật mã gọi là mật mã học
- Mật mã học bao gồm hai nhánh, là mật mã học lập mã và mật mã học phântích Mật mã học lập mã với ý là tiến hành mã hoá thông tin để thực hiện việc chegiấu thông tin, còn mật mã học phân tích là ngành học nghiên cứu phân tích giảidịch mật mã Hai cái đối lập với nhau, nhưng lại thúc đẩy lẫn nhau
- Dùng phương pháp mật mã có thể che dấu và bảo hộ những thông tin cơ mật,làm cho người chưa được uỷ quyền không thể lấy được thông tin, những thông tinđược giấu kín kia được gọi là văn bản rõ, mật mã có thể đem văn bản rõ biến đổithành một loại hình khác, gọi là văn bản mật Sự biến đổi văn bản rõ thành văn bảnmật gọi là mã hoá bảo mật, quá trình người thu nhận hợp pháp khôi phục từ văn bảnmật trở thành văn bản rõ được gọi là quá trình giải mã (hoặc giải mật) Người thunhận phi pháp có ý đồ phân tích từ văn bản mật ra thành văn bản rõ, gọi là giải dịch
3.2 Các thành phần của một hệ mật mã
- Một hệ mật là một bộ 5 (P, C, K, E, D) thoả mãn các điều kiện sau:
- + P là một tập hữu hạn các bản rõ có thể
- + C là tập hữu hạn các bản mã có thể
- + K (không gian khoá) là tập hữu hạn các khoá có thể
- + Đối với mỗi kK có một quy tắc mã ek: P -> C và một quy tắc giải mãtương ứng dkD Mỗi ek: P -> C và dk: C -> P là những hàm mà: dk(ek(x)) = x vớimọi bản rõ xP
Trang 29- Tính chất 4 là tính chất chủ yếu Nội dung của nó là nếu một bản rõ x được
mã hoá bằng ek và bản mã nhận được sau đó được giải mã bằng dk thì ta phải thuđược bản rõ ban đầu x Trong trường hợp này hàm mã hoá ek phải là hàm đơn ánh,nếu không việc giải mã sẽ không thể thực hiện được một cách tường minh
- Trong các hệ mật mã này, khoá mật mã mã hoá bảo mật giống với khoá giải
mã hoặc trên thực tế là cùng đẳng cấp Lúc này khoá mật mã cần phải có mộtđường truyền an toàn để truyền đưa khoá mật mã từ phía người truyền cho phíangười nhận Đặc điểm của mật mã đối xứng là bất luận khi gia công bảo mật hay làkhi giải mã đều sử dụng cùng một khoá mật mã Do đó tính an toàn của mật mã này
là sự an toàn của khoá mật mã nếu như khoá mật mã bị tiết lộ, thì hệ thống mật mãnày sẽ bị phá vỡ Mật mã đối xứng có ảnh hưởng nhất là phép tính DES do cục tiêuchuẩn quốc gia Mỹ công bố vào năm 1977
- Ưu điểm: Tính an toàn cao, tốc độ giải mã nhanh.
- Nhược điểm:
- Theo sự mở rộng của quy mô mạng lưới, việc quản lý khoá mật mã trở thànhmột việc khó khăn
- Không có cách nào giải quyết vấn đề xác nhận thông tin
- Thiếu năng lực kiểm tra tự động sự tiết lộ khoá mật mã
Hệ mật mã bất đối xứng (còn gọi là mật mã khoá công khai hoặc
mật mã khoá đôi):
- Trong các hệ mật mã này quá trình mã hoá và giải mã có chìa khoá khácnhau, lúc này không cần có đường truyền an toàn để truyền đưa khoá mật mã màchỉ cần bộ phát sinh khoá mã tại chỗ để tạo ra khoá giải mã đồng thời lấy đó đểkhống chế các thao tác giải mã Mật mã bất đối xứng là một thể chế mật mã loại
Trang 30mới do W.Diffie và M.E Hellman đề xuất năm 1976 Do quá trình mã hoá và giải
mã của thể chế mật mã bất đối xứng không như nhau và khoá mã bảo mật là côngkhai, hơn nữa, chỉ yêu cầu bảo mật khoá giải mã, cho nên mật mã bất đối xứngkhông tồn tại vấn đề quản lý khoá mật mã Mật mã bất đối xứng còn một ưu điểmnữa là có thể có khả năng ký tên chữ số và một số chức năng mới Mật mã bất đốixứng nổi tiếng nhất là thể chế mật mã RSA do ba người là Rivest, Shamir vàAdleman đề xuất năm 1977 Khuyết điểm của mật mã bất đối xứng là: phép tínhmật mã là tương đối phức tạp, tốc độ giải mã chậm
Do đó, việc bảo mật dữ liệu trên mạng nên dùng cơ chế bảo mật hỗn hợp kếthợp giữa mật mã đối xứng và mật mã bất đối xứng, tức là khi giải mã thì dùng mật
mã đối xứng, khi truyền đưa khoá mật mã thì dùng mật mã bất đỗi xứng Như thếtức là đã giải quyết được khó khăn trong việc quản lý khoá mật mã, vừa lại giảiquyết được vấn đề tốc độ giải mã Không còn hoài nghi gì nữa, nó là một phươngpháp tương đối tốt để giải quyết vấn đề an toàn thông tin khi truyền đưa trên mạnghiện nay
- Trước khi mã hoá một bản rõ thành bản mã bằng các phương pháp mã hoá,
ta xét một sự một thiết lập tương ứng giữa các ký tự và các thặng dư theo modulo
26 như sau: A0, B1, …, Z25 hoặc:
Trang 31cái đi ba chữ cái về phía trước trong bảng chữ cái (và ba chữ cái cuối cùng thành bachữ cái đầu tiên) Đây là 1 ví dụ về sự mã hoá, tức là quá trình làm cho bức thư trởnên bí mật.
- Phương pháp mã hoá của CAESAR có thể được biểu diễn bởi hàm f, hàmnày gán cho số nguyên không âm p, p 25, số nguyên f(p) trong tập 0, 1, 2, … ,25 sao cho: f(p)=(p+3) mod 26
- Như vậy, trong phiên bản mã hoá của bức thư, chữ cái được biểu diễn bởi p
sẽ được thay bằng chữ cái được biểu diễn bởi: (p+3) mod 26
- Ví dụ: dùng mật mã của CAESAR chuyển bức thư “meet you in the park”
- Nhận xét: phương pháp mã hoá của CAESAR không có độ an toàn cao.
Phương pháp mã hoá này dễ bị khám phá bằng cách dựa vào tần xuất xuất hiện củacác chữ cái trong bức thư
3.4.1.2 Mã thay thế:
- Mã thay thế có thể được mô tả như sau:
- Cho P = C = Z26 K chứa mọi hoán vị có thể của 26 kí hiệu 0, 1, …,25 vớimỗi hoán vị K, ta định nghĩa
- e(x) = (x) và
- d(y) = -1(y)
Trang 32- trong đó -1 là hoán vị ngược của
Ví dụ: mã hoá bản rõ: illustrate sử dụng mã thay thế với khoá là 1 hoán vị bất kì
- Nhận xét: với mã thay thế, ta có một không gian khoá tương đối lớn (mỗi
khoá là một hoán vị của 26 kí hiệu 0, 1, …, 25) do đó nó khó có thể bị thám theophương pháp tìm khóa vét cạn, thậm chí cả bằng máy tính
3.4.1.3 Mã Vigenère:
- Sử dụng mã vigenère, ta có thể gán cho mỗi khoá k một chuỗi kí tự có độ dài
m được gọi là từ khoá Mật mã vigenère sẽ mã hoá đồng thời m kí tự: mỗi phần tửcủa bản rõ tương đương với m kí tự
- Mã vigenère có thể được mô tả như sau:
- Cho m là một số nguyên dương cố định nào đó định nghĩa P=C=K=(Z)m vớikhoá k=(k1, k2, …, km), ta xác định:
- ek(x1, x2, …, xm)=(x1+k1, x2+k2, …, xm+km) và
Trang 33- dk(y1, y2, …, ym)=(y1-k1, y2-k2, …, ym-km)
- trong đó tất cả các phép toán được thực hiện trong Z26
- Ví dụ: mã hoá bản rõ: thiscryptosystemisnotsecure với m=6 và từ khoá là
CIPHER bằng mã vigenère
- Từ khóa CIPHER tương ứng với dãy số k=(2, 18, 15, 7, 4, 17)
- Biến đổi các phần tử của bản rõ thành các thặng dư theo modulo 26, viếtchúng thành các nhóm 6 rồi cộng với từ khoá theo modulo 26 như sau:
- Nhận xét: ta thấy rằng số các từ khoá có thể với số độ dài m trong mật mã
vigenère là 26m , bởi vậy, nó khó có thể bị thám theo phương pháp tìm khoá vét cạn,thậm chí với các giá trị m khá nhỏ, phương pháp tìm khoá vét cạn cũng phải yêucầu thời gian khá lớn
Trang 34- Cho m là một số nguyên dương xác định nào đó Cho P=C=(Z26)m và K gồmtất cả các hoán vị của 1, …, m Đối với một khoá (tức là một hoán vị) ta xácđịnh e(x1, …, xm)=(x(1), …, x(m)) và
- d(y1, …, ym)=(yˉạ(1)ạ(1) , … , yˉạ(1)ạ(m) )
- trong đó -1 là hoán vị ngược của
- Ví dụ: mã hoá bản rõ: shesellsseashellsbytheseashore, sử dụng mã hoán vị,
với m=6 và khoá là phép hoán vị sau:
- Trước tiên ta nhóm bản rõ thành các nhóm 6 ký tự:
- shesel / lsseas / hellsb / ythese / ashore
- Bây giờ mỗi nhóm 6 chữ cái được sắp xếp lại theo hoán vị , ta có:
- EESLSH / SALSES / LSHBLE / HSYEET / HRAEOS
- Như vậy bản mã là: EESLSHSALSESLSHBLEHSYEETHRAEOS
- Để giải mã ta sử dụng phép hoán vị ngược của là -1 có dạng:
- Ta cũng nhóm bản mã thành nhóm 6 ký tự:
- EESLSH / SALSES / LSHBLE / HSYEET / HRAEOS
- Mỗi nhóm 6 chữ cái được sắp xếp lại theo hoán vị ngược -1 ta có:
- shesel / lsseas / hellsb / ythese / ashore
- Cuối cùng ta thu được bản rõ là: shesellsseashellsbytheseashore
3.4.1.5 DES (Data Encryption Standard)
- Lược đồ mã hoá được sử dụng phổ biến nhất dựa trên cơ sở của DES đượcphát triển vào năm 1977 bởi cục tiêu chuẩn quốc gia Mỹ, bây giờ là học viện tiêuchuẩn và công nghệ quốc gia (NIST), chuẩn xử lý thông tin liên bang Đối với DES,
dữ liệu được mã hoá trong khối 64 bit sử dụng khoá 56 bit Thuật toán chuyển 64bit đầu vào, biến đổi và đưa ra 64 bit đầu ra