Trong bài báo cáo này, em tập trung vào việc phân tích chi tiết thuật toán mã hóa DES và ứng dụng của nó trong một hệ thống quản lý sinh viên nhỏ.. Hệ thống này không chỉ hỗ trợ quản lý
Trang 1TRƯỜNG ĐẠI HỌC QUY NHƠN
KHOA SƯ PHẠM
Trách nhiệm - Chuyên nghiệp - Chất lượng - Sáng tạo - Nhân văn
BÁO CÁO CUỐI KÌ
HỌC PHẦN BẢO MẬT MẠNG MÁY TÍNH
HỆ THỐNG QUẢN LÝ SINH VIÊN TÍCH HỢP HỆ MẬT MÃ DES
Họ và tên sinh viên : Đỗ Thanh Vũ
Mã sinh viên : 4451130013 Lớp : Sư phạm Tin học K44
Ngành : Sư phạm Tin học Khoa : Sư Phạm
Giảng viên hướng dẫn : ThS Phùng Văn Minh
Bình Định, Tháng 12/2024
Trang 2Mục lục
1 Giới thiệu 3
2 Hệ mật mã DES 4
2.1 DES là gì? 4
2.2 Cơ chế hoạt động của DES 4
2.3 Đánh giá độ bảo mật 7
3 Hệ mật mã 3DES và AES 8
3.1 Hệ mật mã 3DES 8
3.2 Hệ mật mã AES 8
3.3 So sánh các hệ mật mã DES, 3DES và AES 9
3.4 Lý do chọn DES trong hệ thống quản lý sinh viên 10
4 Thiết kế hệ thống Quản lý sinh viên 10
4.1 Quản lý thông tin sinh viên 10
4.2 Cập nhật và xóa dữ liệu 11
4.3 Tích hợp mã hóa DES trong quản lý dữ liệu 11
4.4 Quy trình hoạt động tổng quan của hệ thống 11
5 Triển khai hệ thống 11
5.1 Xây dựng cơ sở dữ liệu 11
5.2 Xây dựng giao diện người dùng 12
5.3 Tích hợp mã hoá DES trong xử lý dữ liệu 13
5.4 Triển khai trang web thử nghiệm 14
6 Kết quả và thảo luận 15
7 Kết luận 16
8 Tài liệu tham khảo 17
Trang 31 Giới thiệu
Trong thời đại công nghệ số, thông tin trở thành một trong những tài sản quý giá nhất của con người và tổ chức Tuy nhiên, cùng với sự phát triển mạnh mẽ của internet và mạng máy tính, các mối đe dọa liên quan đến bảo mật thông tin cũng không ngừng gia tăng Chính vì vậy, bảo mật đã và đang trở thành một lĩnh vực quan trọng và không thể thiếu trong việc đảm bảo an toàn cho dữ liệu và hệ thống
Bảo mật mạng máy tính là nhánh quan trọng của bảo mật thông tin, tập trung vào việc bảo vệ các hệ thống mạng khỏi các cuộc tấn công, truy cập trái phép và các mối đe dọa khác Các biện pháp bảo mật mạng không chỉ bảo vệ dữ liệu lưu trữ và truyền tải trên mạng mà còn duy trì tính ổn định và liên tục của các dịch vụ mạng Từ việc sử dụng tường lửa, VPN đến các hệ thống phát hiện xâm nhập (IDS) và ngăn chặn tấn công (IPS), bảo mật mạng đòi hỏi sự kết hợp chặt chẽ giữa công nghệ, con người và quy trình
Trong khi đó, mã hóa thông tin đóng vai trò như một lớp phòng thủ quan trọng, giúp bảo vệ dữ liệu bằng cách biến đổi thông tin thành dạng mã hóa mà chỉ những người được
ủy quyền mới có thể giải mã Mã hóa đảm bảo tính bí mật, toàn vẹn và an toàn cho dữ liệu, đặc biệt trong các giao tiếp trực tuyến và lưu trữ trên đám mây
Lý do cần bảo mật và mã hóa thông tin xuất phát từ thực tế rằng thông tin ngày nay không chỉ có giá trị kinh tế mà còn mang ý nghĩa xã hội và chính trị Việc bảo vệ thông tin
cá nhân, tài chính hay dữ liệu nhạy cảm của tổ chức không chỉ giúp tránh các tổn thất kinh
tế mà còn giữ vững niềm tin từ khách hàng và đối tác Đồng thời, việc mã hóa và bảo mật mạng còn giúp tổ chức tuân thủ các quy định pháp luật về bảo vệ dữ liệu và chống lại các mối đe dọa không ngừng gia tăng từ các cuộc tấn công mạng
Trong bài báo cáo này, em tập trung vào việc phân tích chi tiết thuật toán mã hóa DES và ứng dụng của nó trong một hệ thống quản lý sinh viên nhỏ Hệ thống này không chỉ hỗ trợ quản lý thông tin cơ bản của sinh viên mà còn áp dụng mã hóa DES để bảo vệ
dữ liệu quan trọng như thông tin cá nhân của sinh viên
Mục tiêu của bài báo cáo là:
• Trình bày các khái niệm cơ bản và cơ chế hoạt động của mã hóa DES
• Thiết kế một hệ thống quản lý sinh viên đơn giản, ứng dụng mã hóa DES để bảo
vệ thông tin
Trang 4Qua bài báo cáo, em hy vọng cung cấp một góc nhìn cụ thể về cách mã hóa DES có thể được triển khai thực tế trong một ứng dụng nhỏ, đồng thời đánh giá vai trò của mã hóa trong việc nâng cao tính an toàn cho các hệ thống thông tin hiện đại
2 Hệ mật mã DES
2.1 DES là gì?
DES (Data Encryption Standard) là một thuật toán mã hóa đối xứng được phát triển bởi IBM vào đầu những năm 1970 và được công nhận như một tiêu chuẩn mã hóa dữ liệu bởi Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST) vào năm 1977 DES sử dụng cùng một khóa để mã hóa và giải mã, nghĩa là cả hai bên tham gia trao đổi dữ liệu đều cần chia sẻ một khóa bí mật chung
Thuật toán DES hoạt động trên khối dữ liệu có kích thước 64 bit, với khóa mã hóa dài 56 bit (thực tế là 64 bit, nhưng 8 bit được sử dụng để kiểm tra chẵn lẻ) DES áp dụng một chuỗi các phép biến đổi bao gồm hoán vị, thay thế và các phép toán logic để chuyển đổi dữ liệu đầu vào thành dạng mã hóa
Mặc dù từng được sử dụng rộng rãi, DES ngày nay được coi là không còn đủ mạnh
mẽ trước các công cụ tấn công hiện đại, đặc biệt với khả năng tính toán ngày càng tăng của các hệ thống máy tính Tuy nhiên, thuật toán DES vẫn giữ giá trị lớn trong nghiên cứu, giảng dạy và ứng dụng trong các hệ thống nhỏ với yêu cầu bảo mật vừa phải
2.2 Cơ chế hoạt động của DES
2.2.1 Chia nhỏ và hoán vị dữ liệu đầu vào (Initial Permutation - IP):
• Dữ liệu đầu vào (64 bit) được thực hiện hoán vị theo bảng IP cố định, sắp xếp lại vị trí các bit
• Sau đó, khối dữ liệu được chia thành hai nửa: nửa trái (Left Half - L) và nửa phải (Right Half - R), mỗi nửa có 32 bit
2.2.2 16 vòng mã hóa (Rounds):
Trang 5DES áp dụng 16 vòng mã hóa lặp đi lặp lại để tăng độ phức tạp Mỗi vòng thực hiện các bước sau:
• Bước 1: Nửa trái L[i] giữ nguyên giá trị từ nửa phải R[i−1] của vòng trước
• Bước 2: Nửa phải R[i] được tạo bằng cách:
1 Mở rộng (Expansion): Nửa R[i−1] (32 bit) được mở rộng thành 48 bit bằng
cách lặp lại một số bit, theo một bảng mở rộng cố định
2 Kết hợp với khóa con (Key Mixing): Khóa con 48 bit được XOR với kết quả
mở rộng
3 Thay thế (Substitution): Kết quả được chia thành 8 nhóm (6 bit mỗi nhóm)
và đi qua 8 S-box Mỗi S-box giảm 6 bit thành 4 bit Kết quả cuối là 32 bit
4 Hoán vị (Permutation): Kết quả từ S-box được hoán vị theo một bảng cố định
để tạo ra F(R[i−1],K[i])
• Bước 3: Kết quả F(R[i−1],K[i]) được XOR với nửa trái L[i−1], tạo thành R[i]
2.2.3 Kết hợp cuối cùng (Final Permutation - FP):
• Sau khi hoàn tất 16 vòng, nửa L và R được kết hợp lại và thực hiện hoán vị cuối cùng (FP) để tạo ra khối dữ liệu mã hóa (ciphertext)
Trang 6Hình 1: Lưu đồ mã hoá của DES 2.2.4 Giải mã:
• Quá trình giải mã diễn ra tương tự, sử dụng các bước ngược lại, nhưng áp dụng các khóa con theo thứ tự ngược (từ khóa cuối đến khóa đầu)
Trang 7Hình 2: Lưu đồ giải mã của DES
2.3 Đánh giá độ bảo mật
2.3.1 Ưu điểm:
• Đơn giản và dễ triển khai: Cơ chế mã hóa và giải mã của DES tương đối đơn giản, dễ dàng được triển khai trong phần cứng hoặc phần mềm
• Khả năng mã hóa đối xứng: DES sử dụng một khóa duy nhất cho cả mã hóa và giải mã, phù hợp cho các hệ thống có yêu cầu bảo mật vừa phải
• Tăng độ phức tạp qua các vòng mã hóa: Với 16 vòng mã hóa, DES cung cấp độ phức tạp nhất định, đảm bảo rằng mỗi bit đầu vào ảnh hưởng đến toàn bộ kết quả đầu ra
2.3.2 Hạn chế:
Trang 8• Độ dài khóa ngắn (56 bit): Với khóa 56 bit, DES dễ dàng bị tấn công bằng phương pháp brute force, đặc biệt khi các hệ thống tính toán hiện đại có thể kiểm tra hàng triệu khóa mỗi giây
• Không chống lại tấn công hiện đại: DES không thể bảo vệ dữ liệu trước các cuộc tấn công như tấn công phân tích tuyến tính (linear cryptanalysis) hoặc tấn công phân tích vi sai (differential cryptanalysis)
• Cần thay thế trong các hệ thống lớn: Do tính bảo mật không còn đủ mạnh, DES
đã được thay thế bằng các thuật toán mạnh hơn như AES (Advanced Encryption Standard) hoặc Triple DES (3DES)
2.3.3 Kết luận:
DES là một thuật toán mã hóa quan trọng trong lịch sử phát triển của mật mã học, nhưng nó không còn đáp ứng được yêu cầu bảo mật hiện đại Tuy nhiên, với các hệ thống nhỏ hoặc các ứng dụng học thuật, DES vẫn giữ vai trò đáng kể trong việc cung cấp nền tảng hiểu biết về mã hóa và bảo mật
3 Hệ mật mã 3DES và AES
3.1 Hệ mật mã 3DES
Triple DES (3DES) là một thuật toán mã hóa khối được thiết kế để tăng cường độ bảo mật của thuật toán DES (Data Encryption Standard) thông qua việc thực hiện mã hóa
ba lần Đây là một giải pháp nhằm khắc phục các điểm yếu bảo mật của DES khi đối mặt với các phương pháp tấn công hiện đại
Cách hoạt động của 3DES:
a) Mã hóa lần 1: Văn bản gốc (plaintext) được mã hóa bằng khóa đầu tiên (Key1) b) Giải mã lần 2: Kết quả từ bước 1 được giải mã bằng khóa thứ hai (Key2) c) Mã hóa lần 3: Kết quả từ bước 2 được mã hóa lại bằng khóa thứ ba (Key3) Tùy theo cách sử dụng các khóa, 3DES có thể được triển khai với:
• Ba khóa khác nhau (168-bit): Độ bảo mật cao nhất
• Hai khóa (112-bit): Một số trường hợp dùng chung Key1 và Key3
• Một khóa (56-bit): Tương tự DES, ít được sử dụng do không tăng cường bảo mật
3.2 Hệ mật mã AES
Advanced Encryption Standard (AES) là một thuật toán mã hóa khối hiện đại được thiết kế nhằm thay thế các tiêu chuẩn mã hóa cũ như DES và 3DES AES được phát triển
Trang 9bởi hai nhà mật mã học người Bỉ, Vincent Rijmen và Joan Daemen, và chính thức được Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST) phê duyệt vào năm 2001
Đặc điểm nổi bật của AES:
• Độ dài khóa: Hỗ trợ ba mức độ dài khóa: 128 bit, 192 bit, và 256 bit, mang lại
sự linh hoạt và mức độ bảo mật cao trước các cuộc tấn công hiện đại
• Cấu trúc: AES dựa trên cấu trúc mạng hoán vị thay thế (substitution-permutation network - SPN), với các vòng lặp bao gồm nhiều bước biến đổi như SubBytes, ShiftRows, MixColumns, và AddRoundKey
• Kích thước khối: Mã hóa và giải mã từng khối dữ liệu có kích thước cố định là
128 bit
3.3 So sánh các hệ mật mã DES, 3DES và AES
Thuật toán Đặc điểm chính Ưu điểm Nhược điểm Ứng dụng phù hợp
DES
- Mã hóa đối xứng, khóa dài 56 bit, khối dữ liệu
64 bit
- Đơn giản, dễ triển khai
- Khóa ngắn, dễ
bị brute force
- Không đủ bảo mật trước các tấn công hiện đại
- Hệ thống nhỏ, học thuật, yêu cầu bảo mật vừa phải
3DES
- Sử dụng DES ba lần (mã hóa, giải
mã, mã hóa), khóa dài 112-168 bit
- Tăng cường
độ bảo mật so với DES
- Tương thích ngược với các
hệ thống cũ dùng DES
- Hiệu năng thấp do thực hiện mã hóa ba lần
- Độ phức tạp cao hơn DES
- Ngân hàng, hệ thống yêu cầu bảo mật cao
AES
- Mã hóa đối xứng, hỗ trợ khóa dài 128, 192, hoặc
256 bit, khối dữ liệu 128 bit
- Bảo mật cao, khó bị tấn công brute force
- Hiệu năng
- Độ phức tạp cao hơn DES
và 3DES
- Cần tài nguyên tính toán mạnh hơn
- Hệ thống hiện đại, yêu cầu bảo mật cao, quy mô lớn
Trang 103DES
- Linh hoạt trong các ứng dụng
cho các hệ thống nhỏ
3.4 Lý do chọn DES trong hệ thống quản lý sinh viên
Mặc dù DES đã cũ và không phù hợp với các hệ thống yêu cầu bảo mật cao, nhưng trong trường hợp của hệ thống quản lý sinh viên nhỏ, DES vẫn là một lựa chọn hợp lý vì:
• Đơn giản và dễ triển khai: DES dễ dàng được tích hợp vào ứng dụng mà không yêu cầu tài nguyên lớn hoặc cấu hình phức tạp
• Yêu cầu bảo mật vừa phải: Dữ liệu trong hệ thống quản lý sinh viên (như tên,
mã số sinh viên) không quá nhạy cảm so với các hệ thống tài chính hoặc y tế
• Mục đích học thuật: DES cung cấp một nền tảng cơ bản để hiểu cách thức mã hóa hoạt động, phù hợp với mục tiêu giảng dạy và nghiên cứu
Tuy nhiên, nếu mở rộng hệ thống hoặc xử lý dữ liệu nhạy cảm hơn trong tương lai, cần cân nhắc chuyển đổi sang các thuật toán hiện đại hơn như AES để đảm bảo tính an toàn
và hiệu quả lâu dài
4 Thiết kế hệ thống Quản lý sinh viên
4.1 Quản lý thông tin sinh viên
Hệ thống cho phép người dùng thực hiện các thao tác cơ bản để quản lý thông tin sinh viên, bao gồm:
• Thêm sinh viên mới: Người dùng có thể nhập các thông tin cơ bản như:
o Họ và tên
o Mã số sinh viên
o Lớp học
o Ngành học
o …
Các thông tin này sẽ được lưu trữ dưới dạng mã hóa bằng thuật toán DES để đảm bảo tính bảo mật
• Hiển thị danh sách sinh viên: Hệ thống cung cấp giao diện hiển thị danh sách sinh viên trong cơ sở dữ liệu Dữ liệu sẽ được giải mã trước khi hiển thị để đảm bảo tính dễ đọc đối với người dùng hợp lệ
Trang 114.2 Cập nhật và xóa dữ liệu
• Cập nhật thông tin sinh viên: Người dùng có thể tìm kiếm và chỉnh sửa thông tin sinh viên đã lưu trong hệ thống Thông tin sau khi được cập nhật sẽ được mã hóa lại bằng DES trước khi lưu vào cơ sở dữ liệu
• Xóa sinh viên: Cung cấp chức năng xóa một hoặc nhiều sinh viên khỏi danh sách dựa trên mã số sinh viên hoặc các tiêu chí khác
4.3 Tích hợp mã hóa DES trong quản lý dữ liệu
Hệ thống áp dụng mã hóa DES cho toàn bộ quá trình lưu trữ và xử lý dữ liệu sinh viên, nhằm đảm bảo:
Bảo mật thông tin nhạy cảm
• Các thông tin cá nhân như họ tên, mã số sinh viên, lớp học và ngành học được
mã hóa để ngăn chặn việc lộ thông tin nếu cơ sở dữ liệu bị truy cập trái phép
• Chỉ những người dùng được ủy quyền và có khóa giải mã hợp lệ mới có thể đọc
và chỉnh sửa dữ liệu sinh viên
Ngăn chặn truy cập trái phép
• Dữ liệu mã hóa đảm bảo rằng dù kẻ tấn công có truy cập được vào cơ sở dữ liệu, chúng vẫn không thể đọc được nội dung do không có khóa giải mã
4.4 Quy trình hoạt động tổng quan của hệ thống
4.4.1 Nhập dữ liệu:
• Người dùng nhập thông tin sinh viên vào giao diện hệ thống
• Dữ liệu được mã hóa bằng DES trước khi lưu vào cơ sở dữ liệu
4.4.2 Hiển thị dữ liệu:
• Khi người dùng yêu cầu xem danh sách sinh viên, hệ thống sẽ giải mã dữ liệu được lưu trữ và hiển thị kết quả dưới dạng rõ ràng
4.4.3 Cập nhật dữ liệu:
• Dữ liệu cũ được giải mã và hiển thị để người dùng chỉnh sửa
• Sau khi cập nhật, thông tin mới được mã hóa lại và lưu trữ
4.4.4 Xóa dữ liệu:
• Hệ thống xác nhận thông tin cần xóa và loại bỏ dữ liệu tương ứng khỏi cơ sở dữ liệu
5 Triển khai hệ thống
5.1 Xây dựng cơ sở dữ liệu
Trang 12Bảng Sinh viên (Student Table):
o id (Khóa chính, kiểu int)
o name (Tên sinh viên, kiểu text)
o id_stu (Mã số sinh viên, kiểu text)
o dob (Ngày sinh, kiểu text)
o class (Lớp học, kiểu text)
o major (Ngành học, kiểu text)
o faculty (Khoa, kiểu text)
o gender (Giới tính, kiểu text)
o email (Email, kiểu text)
o phone (Số điện thoại, kiểu text)
o address (Địa chỉ, kiểu text)
Bảng Tài khoản (Account Table):
o id (Khóa chính, kiểu int)
o username (Tên đăng nhập, kiểu varchar(255))
o password (Mật khẩu, kiểu varchar(255))
5.2 Xây dựng giao diện người dùng
• Trang chính:
o Hiển thị danh sách sinh viên
Hình 3: Giao diện hiển thị danh sách sinh viên
• Chức năng thêm mới:
o Form nhập thông tin: Họ tên, mã số sinh viên, lớp, ngành
o Sau khi nhập, dữ liệu sẽ được mã hóa bằng DES trước khi lưu
Trang 13Hình 4: Giao diện Thêm sinh viên
• Chức năng cập nhật:
o Hiển thị thông tin sinh viên (được giải mã)
o Cho phép người dùng chỉnh sửa và lưu lại thông tin (được mã hóa lại)
Hình 5: Giao diện Cập nhật thông tin sinh viên
• Chức năng xóa:
o Xác nhận trước khi xóa sinh viên
o Dữ liệu tương ứng sẽ bị loại bỏ khỏi cơ sở dữ liệu
Hình 6: Thông báo khi xoá sinh viên
5.3 Tích hợp mã hoá DES trong xử lý dữ liệu
Tích hợp mã hóa DES vào toàn bộ quy trình xử lý dữ liệu trong hệ thống
• Tạo khóa mã hóa: