Nghiên cứu giải pháp bảo mật và xác thực cho các giao dịch hành chính công điện tử – Sở Thông tin và Truyền thông Bắc Ninh (LV thạc sĩ)Nghiên cứu giải pháp bảo mật và xác thực cho các giao dịch hành chính công điện tử – Sở Thông tin và Truyền thông Bắc Ninh (LV thạc sĩ)Nghiên cứu giải pháp bảo mật và xác thực cho các giao dịch hành chính công điện tử – Sở Thông tin và Truyền thông Bắc Ninh (LV thạc sĩ)Nghiên cứu giải pháp bảo mật và xác thực cho các giao dịch hành chính công điện tử – Sở Thông tin và Truyền thông Bắc Ninh (LV thạc sĩ)Nghiên cứu giải pháp bảo mật và xác thực cho các giao dịch hành chính công điện tử – Sở Thông tin và Truyền thông Bắc Ninh (LV thạc sĩ)Nghiên cứu giải pháp bảo mật và xác thực cho các giao dịch hành chính công điện tử – Sở Thông tin và Truyền thông Bắc Ninh (LV thạc sĩ)Nghiên cứu giải pháp bảo mật và xác thực cho các giao dịch hành chính công điện tử – Sở Thông tin và Truyền thông Bắc Ninh (LV thạc sĩ)Nghiên cứu giải pháp bảo mật và xác thực cho các giao dịch hành chính công điện tử – Sở Thông tin và Truyền thông Bắc Ninh (LV thạc sĩ)Nghiên cứu giải pháp bảo mật và xác thực cho các giao dịch hành chính công điện tử – Sở Thông tin và Truyền thông Bắc Ninh (LV thạc sĩ)
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
NGÔ THỊ THANH HẢI
NGHIÊN CỨU GIẢI PHÁP BẢO MẬT VÀ XÁC THỰC CHO CÁC GIAO DỊCH HÀNH CHÍNH CÔNG ĐIỆN TỬ – SỞ THÔNG TIN VÀ TRUYỀN THÔNG BẮC NINH
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Th¸i Nguyªn - 2017
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
NGÔ THỊ THANH HẢI
NGHIÊN CỨU GIẢI PHÁP BẢO MẬT VÀ XÁC THỰC CHO CÁC GIAO DỊCH HÀNH CHÍNH CÔNG ĐIỆN TỬ – SỞ THÔNG TIN VÀ TRUYỀN THÔNG BẮC NINH
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS- PHẠM THẾ QUẾ
Th¸i Nguyªn - 2017
Trang 3LỜI CẢM ƠN
Lời đầu tiên, tôi xin cảm ơn TS Phạm Thế Quế, Giảng viên Học viện công nghệ bưu chính viễn thông đã định hướng đề tài và tận tình hướng dẫn, chỉ bảo tôi trong suốt quá trình thực hiện luận văn
Tôi xin chân thành cảm ơn các thầy, cô trong Trường Đại học Công nghệ thông tin và truyền thông Thái Nguyên đã truyền đạt kiến thức và tạo điều kiện trong thời gian học tập
Cuối cùng, tôi xin được gửi lời cảm ơn tới gia đình và bạn bè, những người
đã luôn bên cạnh, giúp đỡ và động viên tôi trong quá trình học tập cũng như trong suốt quá trình thực hiện luận văn
Mặc dù đã rất nỗ lực, cố gắng nhưng chắc chắn luận văn của tôi vẫn còn nhiều thiếu sót Tôi rất mong nhận được những ý kiến đóng góp, chia sẻ của quý thầy cô, anh chị và các bạn
Tôi xin chân thành cảm ơn!
Thái Nguyên, ngày tháng 6 năm 2017
Người thực hiện
Ngô Thị Thanh Hải
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan luận văn cao học “Nghiên cứu giải pháp bảo mật và xác thực cho các giao dịch hành chính công điện tử – Sở Thông tin và Truyền thông Bắc Ninh” của tôi được thực hiện dưới sự hướng dẫn của giáo viên hướng dẫn là
TS Phạm Thế Quế Các nội dung trong luận văn đều được ghi rõ nguồn gốc ở phía cuối luận văn
Nếu có phát hiện nào về sự gian lận trong sao chép tài liệu, công trình nghiên cứu của tác giả khác mà không được ghi rõ trong phần tài liệu tham khảo, tôi sẽ chịu hoàn toàn trách nhiệm về kết quả luận văn của mình
Thái Nguyên, ngày tháng 6 năm 2017
Người thực hiện
Ngô Thị Thanh Hải
Trang 5MỤC LỤC
Trang
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT i
DANH MỤC BẢNG BIỂU iii
DANH MỤC CÁC HÌNH iv
MỞ ĐẦU 1
CHƯƠNG I: T NG QUAN AN TOÀN BẢO MẬT HỆ TH NG THÔNG TIN 3
1.1 Khái niệm chung về an toàn thông tin [1] 3
1.1.1 Giới thiệu 3
1.1.2 Các mục tiêu an toàn thông tin [2] 4
1.1.3 Các tiêu chí đánh giá một hệ thống thông tin an toàn, bảo mật 5 1.1.4 Các hành vi vi phạm an toàn và bảo mật thông tin 7
1.1.5 Một số hình thức tấn công hệ thống thông tin [2] 8
1.2 Kỹ thuật phát hiện và ngăn chặn xâm nhập [3] 11
1.2.1 Tường lửa (Firewall) 11
1.2.2 Hệ thống phát hiện xâm nhập 14
1.3 Bảo vệ thông tin bằng kỹ thuật mật mã [1] 15
1.3.1 Hệ mật mã 15
1.3.2 Bảo vệ thông tin bằng kỹ thuật mật mã khoá đối xứng 17
1.3.3 Thuật toán trao đổi khoá Diffie-Hellman 19
1.4 Bảo vệ thông tin bằng mật mã khóa bất đối xứng [1] 21
1.4.1 Khái niệm 21
1.4.2 Thuật toán mật mã RSA 23
1.4.3 Chuyển đổi văn bản rõ 25
1.4.4 Đánh giá kỹ thuật mật mã bất đối xứng 26
1.4.5 Một số hệ mật mã khóa công khai khác 27
CHƯƠNG II: XÁC THỰC DÙNG CHỮ KÝ ĐIỆN TỬ VÀ CHỨNG THỰC S 28
2.1 Cơ chế xác thực nguồn gốc thông tin [8] 28
Trang 62.1.2 Kỹ thuật xác thực thông tin 28
2.2 Hàm băm bảo mật 32
2.2.1 Hàm băm bảo mật là gì 32
2.2.2 Ứng dụng hàm băm bảo mật 33
2.2.3 Hàm băm bảo mật SHA 34
2.2.4 Hàm băm MD5 35
2.3 Chữ ký số [8] 36
2.3.1 Khái niệm 36
2.3.2 Phân loại chữ ký số 38
2.3.3 Các phương pháp thực hiện chữ ký số 38
2.3.4 Chuẩn chữ ký DSS 40
2.3.5 Thuật toán tạo chữ ký DSA 42
2.3.6 Những vấn đề còn tồn tại của chữ ký số 43
2.4 Cơ sở hạ tầng khóa công khai PKI [9] 44
2.4.1 Khái niệm 44
2.4.2 Chức năng chủ yếu của PKI 47
2.4.3 Các thành phần PKI 48
2.4.4 Các thủ tục trong PKI 50
2.4.5 Ưu nhược điểm của việc ứng dụng hệ thống PKI 50
2.5 Chứng thực số trong môi trường hạ tầng khóa công khai PKI [9] 51
2.5.1 Khái niệm 51
2.5.2 Xác thực thông tin dùng chữ ký điện tử và chứng thực điện tử 53
CHƯƠNG III: CÀI ĐẶT VÀ THỬ NGHIỆM BÀI TOÁN XÁC THỰC CHO CÁC GIAO DỊCH HÀNH CHÍNH CÔNG ĐIỆN TỬ 56
3.1 Mô hình giao dịch Chính phủ - Công dân (G to C) 56
3.1.1 Khái niệm 56
3.1.2 Hệ thống giao dịch hành chính công điện tử 56
3.1.3 Mô hình xác thực hệ thống thông tin liên thông 57
3.1.4 Các mức độ dịch vụ hành chính công 58
3.1.5 Thủ tục sử dụng các dịch vụ hành chính công một cửa 58
Trang 73.2 Nhu cầu triển khai chữ ký điện tử cho các giao dịch hành chính công tại Sở
Thông tin và Truyền thông 59
3.2.1 Hiện trạng dịch vụ công 59
3.2.2 Các điểm yếu về bảo mật trong giao dịch hành chính công 60
3.3.3 Ứng dụng PKI và các yêu cầu của Sở TT&TT 60
3.3 Một số đề xuất về tổ chức cung cấp quản lý chứng chỉ số 61
3.3.1 Đề xuất mô hình CA 61
3.3.2 Kiến trúc các thành phần thiết bị 61
3.3.3 Tính năng sản phẩm đề xuất 61
3.4 Giải pháp triển khai 60
3.4.1 Xây dựng một hệ thống CA riêng tại Sở TT&TT 63
3.4.2 Đăng ký sử dụng với một tổ chức cung cấp dịch vụ chứng thực số 63 3.4.3 Lưu trữ và bảo vệ khóa bí mật sử dụng cho chữ ký số 63
3.5 Triển khai thử nghiệm 64
3.5.1 Ứng dụng java mô phỏng quá trình ký và xác thực chữ ký 64
3.5.2 Kết quả thử nghiệm 65
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 67
TÀI LIỆU THAM KHẢO 69
Trang 8DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Institude
Viện tiêu chuẩn quốc gia Mỹ
Standard
Chuẩn xử lý thông tin liên bang Mỹ
Organization for Standardization
Tổ chức tiêu chuẩn hoá quốc tế
Internet
Nhà cung cấp dịch vụ
Telecommunication Union
Liên minh viễn thông quốc tế
and Technology
Viện quốc gia về chuẩn và công nghệ
Trang 9RA Registration Authority Nhà quản lý đăng ký
khai
TCP/IP Transmission Control Protocol/
Internet protocol
Institude
Viện tiêu chuẩn quốc gia Mỹ
Standard
Chuẩn xử lý thông tin liên bang
Algorithm
Thuật toán mã hoá dữ liệu quốc tế
Standardization
Tổ chức tiêu chuẩn hoá quốc tế
Trang 10DANH MỤC BẢNG BIỂU
Bảng 2.1 Các phiên bản SHA……… 35 Bảng 2.2 So sánh các thông số giữa SHA-1 và MD5……… 36 Bảng 3.1 Kết quả thử nghiệm………66
Trang 11DANH MỤC CÁC HÌNH
Hình 1.1: Tấn công từ chối dịch vụ phân tán - DDoS 10
Hình 1.2: Mô tả hoạt động của tường lửa 13
Hình 1.3: Mô tả một NIDS điển hình 14
Hình 1.4: Host Based IDS (HIDS) 15
Hình 1.5: Cấu trúc một hệ thống mật mã 16
Hình 1.6: Trao đổi khoá trong mật mã khóa đối xứng 17
Hình 1.7: Thuật toán trao đổi khoá Diffie-Hellman 20
Hình 1.8: Cấu trúc hệ thống mật mã khóa bất đối xứng 21
Hình 2.1: Xác thực thông tin sử dụng kỹ thuật mật mã 29
Hình 2.2: Xác thực thông tin dùng MAC 30
Hình 2.3: Xác thực thông tin dùng hàm băm 31
Hình 2.4: Một ứng dụng điển hình của hàm băm 33
Hình 2.5: Tạo chữ ký số 36
Hình 2.6: Chữ ký trực tiếp 39
Hình 2.7: Xác thực thông tin dùng RSA và chữ ký số DSS 41
Hình 2.8: Tạo và kiểm tra chữ ký DSS 42
Hình 2.9: Các thành phần cơ bản của một PKI 49
Hình 2.10: Minh hoạ xác thực sử dụng chứng chỉ số và chữ ký điện tử 53
Hình 2.11: Sơ đồ minh hoạ quá trình xin cấp chứng chỉ số 54
Hình 3.1: Mô hình tổng quát quy trình xác thực liên thông một cửa 59
Hình 3.2: eToken Pro 32K 64
Hình 3.3: Giao diện chương trình demo chữ ký số 64
Hình 3.4: Giao diện kiểm tra chuỗi toàn vẹn 65
Trang 12MỞ ĐẦU
Với sự phát triển mang tính toàn cầu của mạng Internet, con người có thể giao tiếp, trao đổi và cung cấp các dịch vụ thông tin qua mạng một cách dễ dàng, nhanh chóng
Tuy nhiên, đã và đang phát sinh những vấn đề cần phải giải quyết Những thông tin quan trọng, nhạy cảm đang được lưu trữ trong các cơ sở dữ liệu trên các máy chủ dịch vụ, hay thông tin lưu chuyển trên đường truyền có thể bị đánh cắp, sao chép, làm sai lệch hay bị giả mạo, … Điều này làm ảnh hưởng đến các tổ chức, cá nhân hay một quốc gia Những bí mật trong kinh doanh, tài chính, ngân hàng, hay các thông tin nhạy cảm về an ninh, quốc phòng, là những mục tiêu hấp dẫn của những kẻ đánh cắp, phá hoại
Theo số liệu của CERT (Computer Emegency Response Team - đội cấp cứu máy tính) số lượng các vụ tấn công trên Internet ngày một gia tăng Quy mô mỗi ngày một lớn và phương pháp tấn công mỗi ngày một tinh vi và hoàn thiện hơn Chẳng hạn như cùng một thời điểm tin tặc có thể tấn công hàng trăm nghìn máy tính trên mạng Vì vậy đối với các giao dịch mang tính nhạy cảm cần phải có những cơ chế nhằm đảm bảo cho các hệ thống thông tin an toàn và bảo mật Vì vậy, vấn đề bảo mật, an toàn thông tin trong giao dịch điện tử là một vấn đề hết sức quan trọng và cấp thiết
Bảo mật và xác thực thông tin cho các giao dịch điện tử đã và đang trở nên bức thiết trong thiết kế, xây dựng và cài đặt các hệ thống thông tin Yêu cầu này đang được áp dụng ngày càng phổ biến, rộng rãi ở Việt Nam và trên phạm vi toàn cầu Các cơ chế bảo mật và an toàn thông tin bao gồm:
- Nội dung và nguồn gốc thông tin phải đảm bảo bí mật, không bị theo dõi, nghe lén hoặc sao chép bởi những thực thể bất hợp pháp, không có thẩm quyền
- Nội dung và nguồn gốc thông tin phải được toàn vẹn, không bị sửa đổi hay bóp méo bởi những thực thể không được phép
Trang 13- Trong quá trình tham gia giao dịch, phải xác định tính hợp pháp, nguồn gốc thông tin của các thực thể tham gia
- Các thực thể tham gia trong các giao dịch điện tử không thể chối bỏ tính pháp lý về những sự việc và những nội dung thông tin đã gửi hoặc nhận
Xuất phát từ những khả năng ứng dụng trong thực tế và những ứng dụng đã
có từ các kết quả của nghiên cứu trước đây về lĩnh vực bảo mật và an toàn thông
tin, tôi đã chọn đề tài “Nghiên cứu giải pháp bảo mật và xác thực cho các giao dịch hành chính công điện tử - Sở Thông tin và Truyền thông Bắc Ninh” làm
hướng nghiên cứu và ứng dụng Nghiên cứu các giải pháp kỹ thuật và đề xuất các
mô hình về bảo mật và xác thực thông tin dựa vào chữ ký điện tử trong môi trường cơ sở hạ tầng khóa công khai cho bài toán hành chính công một cửa của Sở Thông tin và Truyền thông Bắc Ninh
Hiện tại, các phương pháp truy xuất, sử dụng các dịch vụ thông tin về các dịch vụ hành chính công đang thực hiện theo các phương pháp thủ công, có sự hỗ trợ của hệ thống mạng máy tính nội bộ Nó đang bộc lộ những vấn đề về bảo mật thông tin, ảnh hưởng đến sự an toàn hệ thống và người dùng đầu cuối Vì vậy, trên
cơ sở hạ tầng mạng đã có, học viên nghiên cứu và đề xuất các giải pháp an toàn, bảo mật sao cho thông tin trong hệ thống đảm bảo được bí mật nội dung và nguồn gốc, toàn vẹn được nội dung và không sai lệch nguồn gốc thông tin Đặc biệt có thể xác minh được nội dung và nguồn gốc thông tin đi từ đâu và từ đâu đến Vấn
đề giải quyết bằng các mô hình xác thực người sử dụng và kiểm soát quyền truy nhập thông tin của người dùng trong hệ thống dựa trên kỹ thuật mật mã, chữ ký điện tử và cơ sở hạ tầng mật mã khóa công khai
Ngoài phần mở đầu, kết luận và tài liệu tham khảo, nội dung luận văn gồm 3 chương như sau:
Chương I Tổng quan an toàn bảo mật hệ thống thông tin
Chương II Xác thực dùng chữ ký điện tử và chứng thực số
Chương III Cài đặt và thử nghiệm bài toán xác thực cho các giao dịch hành chính công điện tử
Trang 14CHƯƠNG I: T NG QUAN AN TOÀN BẢO MẬT HỆ TH NG
THÔNG TIN
1.1 Khái niệm chung về an toàn thông tin [1]
1.1.1 Giới thiệu
Vấn đề bảo đảm an toàn cho các hệ thống thông tin là một trong những vấn
đề quan trọng không thể thiếu trong quá trình thiết kế, cài đặt, vận hành và bảo dưỡng các hệ thống thông tin Nhu cầu bảo vệ thông tin ngày càng trở nên bức thiết Bảo vệ thông tin là bảo vệ tính bí mật của thông tin, tính toàn vẹn của thông tin, tính xác thực và không chối bỏ thông tin
Một trong những mục tiêu kết nối máy tính thành mạng là chia sẻ các tài nguyên chung của mạng Về nguyên tắc, người sử dụng có thể truy xuất và khai thác sử dụng các tài nguyên của mạng mà không phụ thuộc vào vị trí địa lý Do đặc điểm nhiều người sử dụng lại phân tán về mặt vật lý nên việc bảo vệ các tài nguyên thông tin lưu trữ trong các cơ sở dữ liệu, thông tin lưu chuyển trên mạng, là việc làm cần thiết và cấp bách, trở nên có tầm quan trọng thời sự Một hệ thống còn có giá trị hay không nếu nó không được bảo vệ để chống lại mọi hình thức tấn công và xâm nhập từ bên ngoài và bên trong hệ thống An toàn và bảo mật thông tin trở thành một mục tiêu phải đạt được trong quá trình thiết kế hệ thống Vấn đề an toàn
và bảo mật thông tin thực sự phải được đặt lên hàng đầu cho dù chi phí cao
An toàn thông tin có thể hiểu là cách thức bảo vệ thông tin nhằm đảm bảo an toàn cho hoạt động và cho tất cả các thành phần của mạng bao gồm dữ liệu, thiết
bị, cơ sở hạ tầng mạng và đảm bảo mọi tài nguyên mạng được sử dụng tương ứng với một chính sách hoạt động được ấn định và với chỉ những người có thẩm quyền tương ứng
Cần phải xác định chính xác các khả năng, nguy cơ xâm phạm hệ thống thông tin, các sự cố rủi ro đối với dữ liệu trên mạng để có các giải pháp phù hợp đảm bảo an hệ thống thông tin Đánh giá các nguy cơ tấn công của Hacker, sự phát tán virus, Phải nhận thấy an toàn thông tin là một trong những vấn đề cực
Trang 15kỳ quan trọng trong các hoạt động, nhất là các hoạt động trong giao dịch điện tử Một thách thức đối với an toàn thông tin là xác định chính xác mức độ an toàn cần thiết cho việc điều khiển hệ thống và các thành phần hệ thống Đánh giá các nguy cơ, các lỗ hổng khiến mạng có thể bị xâm phạm thông qua cách tiếp cận có cấu trúc Xác định những nguy cơ cơ virus, bọ gián điệp , nguy ăn cắp, phá hoại, xoá các cơ sở dữ liệu, ăn cắp mật khẩu, nguy cơ đối với sự hoạt động an toàn của hệ thống Khi đánh giá được hết những nguy cơ ảnh hưởng tới an ninh thông tin thì mới có thể có được những biện pháp tốt nhất để đảm bảo an toàn hệ thống thông tin
Về bản chất có thể phân loại các vi phạm an toàn thông tin thành hai loại: vi phạm thụ động và vi phạm chủ động Thụ động và chủ động được hiểu theo nghĩa
có can thiệp vào nội dung và luồng thông tin trao đổi hay không Vi phạm thụ động chỉ nhằm mục đích nắm bắt được thông tin Vi phạm chủ động là thực hiện
sự biến đổi, xoá bỏ hoặc thêm thông tin ngoại lai để làm sai lệch thông tin gốc nhằm mục đích phá hoại Các hành động vi phạm thụ động thường khó có thể phát hiện nhưng có thể ngăn chặn hiệu quả Trái lại vi phạm chủ động rất dễ dàng phát hiện nhưng lại rất khó ngăn chặn
1.1.2 Các mục tiêu an toàn thông tin [2]
Một hệ thống thông tin an toàn và bảo mật lý tưởng là khi thiết kế hệ thống phải đạt được các mục tiêu sau:
Phát hiện (Detection): Mục tiêu thiết kế hệ thống là tập trung vào các sự
kiện vi phạm chính sách đã và đang xảy ra trên hệ thống Thực hiện các cơ chế phát hiện nói chung rất phức tạp, phải dựa trên nhiều kỹ thuật và nhiều nguồn thông tin khác nhau Về cơ bản, các cơ chế phát hiện xâm nhập chủ yếu dựa vào việc theo dõi và phân tích các thông tin trong nhật ký hệ thống (System Log) và
dữ liệu đang lưu thông trên mạng (Network Traffic) để tìm ra các dấu hiệu của vi phạm, gọi là Signature thường phải được nhận diện trước và mô tả trong một cơ
sở dữ liệu của hệ thống, gọi là Signature database
Trang 16
Ngăn chặn (Prevention): Phải ngăn chặn kịp thời các hành vi vi phạm chính
sách Phải nhận điện các sự kiện, hành vi dẫn đến vi phạm chính sách Các hành vi
vi phạm có thể đơn giản như việc để lộ mật khẩu, quên thoát khỏi hệ thống khi rời khỏi hệ thống, hoặc có những hành vi phức tạp và có chủ đích như cố gắng tấn công vào hệ thống từ bên ngoài
Phục hồi (recovery): Mục tiêu thiết kế bao gồm các cơ chế nhằm chặn
đứng các vi phạm đang diễn ra (Response) hoặc khắc phục hậu quả của vi phạm một cách nhanh chóng nhất với mức độ thiệt hại thấp nhất (Recovery) Tùy theo mức độ nghiêm trọng của sự cố mà có các cơ chế phục hồi khác nhau Có những
sự cố đơn giản và việc phục hồi có thể hoàn toàn được thực hiện tự động mà không cần sự can thiệp của con người Ngược lại có những sự cố phức tạp và nghiêm trọng yêu cầu phải áp dụng những biện pháp bổ sung để phục hồi
1.1.3 Các tiêu chí đánh giá một hệ thống thông tin an toàn, bảo mật
Đảm bảo an toàn và an ninh thông tin là nhằm mục đích đảm bảo cho tính đúng đắn, độ tin cậy cao nhất của thông tin được xử lý, đồng thời bảo vệ được các thông tin được lưu trữ trong các cơ sở dữ liệu và thông tin lưu chuyển trên mạng Một hệ thống được xem là an toàn khi có sự kết hợp các đặc tính: bảo mật (Confidentialy), toàn vẹn (Intergity) và tính sẵn sàng (Availability) của các tài nguyên mạng và các dịch vụ của mạng Vấn đề an toàn thông tin còn thể hiện qua mối quan hệ giữa người sử dụng với hệ thống mạng và tài nguyên mạng Các quan
hệ này được đảm bảo bằng các phương thức xác thực (Authentication), cấp phép
sử dụng (Authorization) và từ chối phục vụ (Repudiation) Cụ thể như sau:
Tính bảo mật (Confidentialy): Bảo đảm dữ liệu không bị tiếp xúc, bị sử dụng
bởi người không có thẩm quyền Là đặc tính tin tức không bị tiết lộ cho các thực thể hay quá trình không được uỷ quyền biết hoặc không để cho các đối tượng đó lợi dụng Thông tin chỉ cho phép thực thể được cấp quyền sử dụng Kỹ thuật bảo mật thường là phòng ngừa dò la thu thập, phòng ngừa bức xạ Tăng cường bảo mật thông tin bằng khoá mật mã, bảo mật vật lý
Tính toàn vẹn (Integrity): Là đặc tính khi thông tin trong các cơ sở dữ liệu
hoặc đang lưu chuyển trên mạng khi chưa được uỷ quyền thì không thể thay đổi, tức là thông tin trên mạng khi đang lưu giữ hoặc trong quá trình truyền dẫn đảm
Trang 17bảo không bị xoá bỏ, sửa đổi, giả mạo, làm rối loạn trật tự, xen vào một cách ngẫu nhiên hoặc cố ý và những sự phá hoại khác Chúng chỉ được sử dụng và được sửa đổi bởi những người chủ của nó hay được cấp phép quyền sử dụng, khai thác Các cơ chế đảm bảo sự toàn vẹn của thông tin gồm:
đổi nội dung và nguồn gốc của thông tin
thay đổi diễn ra trên thông tin mà không thực hiện chức năng ngăn chặn các hành vi truy xuất trái phép thông tin
Tính xác thực (Authentification): Kiểm tra tính hợp pháp của một thực thể
giao tiếp trên mạng được quyền sử dụng tài nguyên của mạng Một thực thể có thể
là một người sử dụng, một chương trình ứng dụng, hoặc một thiết bị phần cứng Các hoạt động kiểm tra tính xác thực được đánh giá là quan trọng nhất trong các hoạt động của một phương thức bảo mật Một hệ thống thông thường phải thực hiện kiểm tra tính xác thực của một thực thể trước khi thực thể đó thực hiện kết nối với hệ thống Việc xác thực thường kết hợp với sự cho phép sử dụng hay từ chối phục vụ Xác thực thông thường bằng mật khẩu (Password), dấu vân tay hay các dấu hiệu đặc trưng Nói cách khác, xác thực là sự cho phép xác định người sử dụng được quyền thực hiện một hành động nào đó như đọc/ghi một tệp, hay sử dụng tài nguyên phần mềm, sử dụng các tài nguyên phần cứng, sử dụng các dịch
vụ mạng, Người sử dụng phải qua giai đoạn xác thực bằng mật khẩu trước khi được phép khai thác thông tin hay một tài nguyên nào đó trên mạng Cơ chế kiểm tra tính xác thực của các phương thức bảo mật dựa vào 3 mô hình chính sau:
- Đối tượng cần kiểm tra cần phải cung cấp những thông tin trước, ví dụ như Password, hoặc mã số PIN (Personal Information Number)
phải thể hiện những thông tin mà chúng sở hữu, ví dụ như Private Key, hoặc số thẻ tín dụng
- Kiểm tra dựa vào mô hình những thông tin xác định tính duy nhất, đối tượng kiểm tra cần phải có những thông tin để định danh tính duy nhất của mình, ví dụ như thông qua giọng nói, dấu vân tay, chữ ký
Trang 18Tính không thể chối cãi (Nonreputation): Trong quá trình trao đổi thông tin
trên mạng, yêu cầu phải xác nhận tính chân thực của những thực thể tham gia, tức
là tất cả các thực thể tham gia không thể chối bỏ hoặc phủ nhận những thao tác và cam kết đã được thực hiện
Tính sẵn sàng (Availability): Tính sẵn sàng là đặc tính mà hệ thống thông tin
trên mạng phải được các thực thể hợp pháp tiếp cận và sử dụng theo yêu cầu bất
cứ ở đâu, thời gian nào Tài nguyên trên mạng luôn luôn được đảm bảo không thể
bị chiếm đoạt bởi người không có thẩm quyền Các tài nguyên mạng luôn sẵn sàng phục vụ cho những người được phép sử dụng hợp pháp Đặc tính này rất quan trọng trong các dịch vụ mạng như dịch vụ ngân hàng, tư vấn, các giao dịch thanh toán, mua bán trên mạng,
Trong thực tế, tính khả dụng được xem là nền tảng của một hệ thống bảo mật, bởi vì khi hệ thống không sẵn sàng thì việc đảm bảo các đặc trưng về bí mật, toàn vẹn, xác thực và chống chối bỏ sẽ trở nên vô nghĩa
Hiện nay, các hình thức tấn công từ chối dịch vụ DoS (Denial of Service) và DDoS (Distributed Denial of Service) được đánh giá là các nguy cơ lớn nhất đối với sự an toàn của các hệ thống thông tin Gây ra những thiệt hại lớn và đặc biệt là chưa có giải pháp ngăn chặn hữu hiệu.Các hình thức tấn công này đều nhắm vào tính khả dụng của hệ thống
1.1.4 Các hành vi vi phạm an toàn và bảo mật thông tin
Các lỗ hổng về an toàn và bảo mật thông tin là những tình huống có khả năng gây mất mát và tổn hại đến hệ thống Có 4 hiểm hoạ đối với an toàn một hệ thống thông tin, đó là: sự phá hoại, sự can thiệp, sự sửa đổi và sự giả mạo
Phá hoại, ngăn chặn (Interception): Là các hành vi ngăn chặn để thực hiện tấn
công vào các tài nguyên của hệ thống, làm cho hệ thống không ở trạng thái sẵn sàng hoặc không thể sử dụng được, làm chậm hoặc gián đoạn dịch vụ của hệ thống Các hình thức tấn công loại này xâm phạm vào tính toàn vẹn dữ liệu của hệ thống Ví
dụ, các hành vi cố ý phá hoại các thiết bị phần cứng (máy chủ, Routers), xoá bỏ hoặc sửa đổi nội dung File dữ liệu, các chương trình hoặc thực hiện sai chức năng, hoặc không thể hoạt động, … Hacker thực hiện bằng các phương pháp tấn công từ
Trang 19chối dịch vụ DoS hoặc phá hoại bằng Virus, hoặc cài đặt mã độc ẩn vào phần mềm ứng dụng, cài đặt phần mềm gián điệp, chặn bắt mật khẩu người sử dụng, …
Xâm nhập (Intrusion): Xâm nhập nghĩa là mọi hành vi làm tổn hại đến an
toàn của hệ thống, có thể chủ động hoặc thụ động Đối tượng không được phép truy nhập vào hệ thống sử dụng tài nguyên bất hợp pháp Xâm nhập và tấn công với ý nghĩa gần giống nhau trong bảo mật hệ thống Tấn công là các hành vi xâm nhập chủ động bởi con người nhằm khai thác hoặc phá hoại các tài nguyên hệ thống Mục tiêu của xâm nhập là tấn công vào tính bí mật (Confidentiality), tính toàn vẹn (Integrity) và tính khả dụng (Availability)
Giả mạo (Tampering): Giả mạo những đối tượng hợp pháp trong hệ thống
(người sử dụng, một máy tính với một địa chỉ IP xác định hoặc một phần mềm) để thực hiện các hành vi bất hợp pháp Đưa các giao dịch giả vào mạng truyền thông, thêm, sửa xóa dữ liệu trong cơ sở dữ liệu hiện có Giả mạo nội dung, hoặc thay thế bản tin trên mạng Giả mạo địa chỉ IP của một máy tính hợp pháp trên mạng, tạo
ra các gói dữ liệu mang địa chỉ IP nguồn không phải là địa chỉ của nó, để truy nhập trái phép vào đối tượng cần tấn công (gọi là IP spoofing) Giả mạo tên miền DNS (Domain Name System) và giả mạo hệ thống để chiếm quyền điều khiển Hình thức này làm thay đổi nguồn gốc thông tin, tấn công vào đặc tính toàn vẹn của nguồn gốc thông tin
Cơ sở để tấn công giả mạo dựa vào những lỗ hổng về kỹ thuật của bộ giao thức TCP/IP
1.1.5 Một số hình thức tấn công hệ thống thông tin[2]
1 Tấn công từ chối dịch vụ DoS (Denial of Service): Dạng tấn công này
không nhằm vi phạm tính bảo mật, tính toàn vẹn dữ liệu, mà chỉ nhằm vào mục đích ngăn chặn hoạt động bình thường của hệ thống Đặc biệt tấn công vào tính khả dụng của các hệ thống phục vụ trên mạng công cộng như Web Servers, Mail Servers, …Ví dụ: kẻ tấn công dùng phần mềm tự động liên tục gửi các gói tin rác đến một máy chủ trên mạng, gây quá tải cho máy chủ, làm cho máy chủ không còn khả năng cung cấp dịch vụ một cách bình thường
Cơ sở của tấn công từ chối dịch vụ là Hacker dò tìm các hệ thống thông tin
sơ hở về bảo mật Lợi dụng những lỗ hổng bảo mật trong các giao thức kết nối
Trang 20mạng (TCP/IP), các lỗ hổng bảo mật phần mềm, hoặc sự hạn chế băng thông kết nối (Connection Bandwidth), hoặc năng lực của máy chủ để cài đặt bất hợp pháp các loại phần mềm độc hại, phần mềm gián điệp, các loại virus vào hệ thống Tấn công từ chối dịch vụ có thể xuất phát từ trong nội bộ hệ thống dưới dạng tác động của các phần mềm độc hại
Hậu quả của các cuộc tấn công dịch vụ DoS có thể: Tiêu hao các tài nguyên của mạng như băng thông, dung lượng, thời gian; thông tin định tuyến trong các bảng định tuyến vị xóa, bị sửa đổi; phá vỡ các trạng thái hoạt động, reset lại các phiên TCP hoặc UDP; phá vỡ các thành phần vật lý của mạng máy tính và làm tắc nghẽn thông tin giữa các thực thể
Tấn công từ chối dịch vụ DoS thông thường không chủ đích vi phạm tính bảo mật, gây tiết lộ thông tin hay vi phạm tính toàn vẹn dữ liệu, làm mất dữ liệu
mà chỉ nhắm vào tính khả dụng của hệ thống Tuy nhiên, do tính phổ biến của từ chối dịch vụ và đặc biệt là hiện nay chưa có một giải pháp hữu hiệu cho việc ngăn chặn các tấn công loại này Tấn công từ chối dịch vụ được coi như là một nguy cơ rất lớn đối với sự an toàn của các hệ thống thông tin
2 Tấn công từ chối dịch vụ phân tán (Distributed DoS hay DDoS): Là các
phương thức tấn công phổ biến nhất và nguy hiểm nhất hiện nay Phương thức tấn công DDoS dựa trên nguyên tắc của tấn công từ chối dịch vụ DoS, nhưng có mức
độ nguy hiểm cao hơn nhiều Hacker thường sử dụng phương thức này tấn công
có chủ đích như tống tiền, gây thiệt hại cho một ngành kinh tế, mức độ cao hơn với mục đích chính trị, an ninh, quốc phòng, chiến tranh mạng Hacker có thể thực hiện được, vì nó sử dụng nhiều hệ thống tòng phạm (những hệ thống hổng về bảo mật), cùng một thời điểm giờ G, đồng loạt tổng tấn công vào mục tiêu đã định Tấn công từ chối dịch vụ phân tán DdoS, một cách tổng quát được thực hiện qua 2 giai đoạn:
hở về bảo mật, nó tìm cách cài đặt các phần mềm độc hại, phần mềm gián điệp, có khả năng điều khiển từ xa trên các hệ thống này này
Giai đoạn tiếp theo: Kẻ tấn công điều khiển từ xa các phần mềm gián điệp, thực hiện tấn công đồng loạt vào mục tiêu đã được xác định
Trang 21Hình 1.1: Tấn công từ chối dịch vụ phân tán - DDoS
3 Tấn công bằng phần mềm độc hại: Ngoài các hình thức tấn công như trên,
các hệ thống thông tin còn phải đối mặt với một nguy cơ xâm nhập rất lớn đó là các phần mềm virus, worm, spyware, … gọi chung là các phần mềm độc hại (Malicious Code) Phần mềm độc hại là phần mềm nhỏ gọn, có dung lượng nhỏ,
có một nhiệm vụ duy nhất, cụ thể được Hacker ủy quyền, hoạt động tự trị Nó có thể ẩn nấp, ngủ đông, các phần mềm diệt vius hiện nay khó phát hiện, diệt trừ
4 Tấn công bằng các công cụ quét (Scanner): Hacker sử dụng các chương
trình Scanner tự động rà soát, quét và phát hiện những điểm yếu lỗ hổng về bảo mật trên một Server ở xa, dựa vào những thông tin số hiệu cổng (Port) sử dụng trong giao thức TCP/UDP và những dịch vụ sử dụng mà Scanner phát hiện Các chương trình quét Scanner cung cấp thông tin về khả năng bảo mật yếu kém của một hệ thống, hết sức nguy hiểm khi những kẻ phá hoại có những thông tin này
Có những phương pháp quét:
các cổng máy ở xa đang lắng nghe lệnh Connect
Quét TCP SYN gửi một gói tin SYN để thăm dò mở một liên kết nếu nhận được thông tin phản hồi SYN/ACK, cổng đích đang trong chế độ lắng nghe
Trang 22 Quét phân đoạn (chia) tiêu đề (Header) của gói tin, quét thành nhiều phần nhỏ dưới dạng các gói tin IP, nhằm tránh các chương trình lọc gói và tránh phát hiện trong các thiết bị như tường lửa, …
Bẻ khoá (Password Cracker): Chương trình bẻ khoá Password là chương
trình có khả năng giải mã một mật khẩu đã được mã hoá hoặc có thể vô hiệu hoá chức năng bảo vệ mật khẩu của một hệ thống Hầu hết việc mã hoá các mật khẩu được tạo ra từ một phương thức mã hoá Các chương trình mã hoá sử dụng các thuật toán mã hoá để mã hoá mật khẩu Có thể thay thế phá khoá trên một hệ thống phân tán, đơn giản hơn so với việc phá khoá trên một Server cục bộ
Những chương trình có ích đính kềm những mã lệnh đặc biệt cung cấp thông tin bí mật
Một chương trình Trojan chạy không hợp lệ trên một hệ thống với vai trò như một chương trình hợp pháp Nó thực hiện các chức năng không hợp pháp Thông thường, Trojans có thể chạy được là do các chương trình hợp pháp đã bị thay đổi mã bằng những mã bất hợp pháp Virus là một loại điển hình của các chương trình Trojans, vì các chương trình Virus che dấu các đoạn mã trong những chương trình hợp pháp Khi chương trình hoạt động thì những đoạn mã ẩn sẽ thực hiện một số chức năng mà người sử dụng không biết
1.2 Kỹ thuật phát hiện và ngăn chặn xâm nhập [3]
1.2.1 Tường lửa (Firewall)
Tường lửa là kỹ thuật ngăn chặn các tấn công xâm nhập từ bên ngoài từ mạng Internet vào hệ thống bên trong (mạng LAN và server) Hình 1.2 mô tả một
Trang 23cấu trúc mạng điển hình trong đó Firewall được lắp đặt trước Router, với vai trò bảo vệ cho toàn bộ hệ thống mạng bên trong
Nguyên tắc chung của tường lửa là điều khiển truy xuất bằng cách giám sát tất
cả các gói dữ liệu đi qua tường lửa Phụ vào chính sách bảo mật, nó cho phép hoặc không cho phép các gói được đi qua hay không được đi qua Hình 1.2 mô tả hoạt động điển hình của một tường lửa, trong đó, lưu lượng HTTP (TCP port 80) được phép đi qua tường lửa, còn lưu lượng NetBIOS (TCP port 445) thì bị chặn lại Chức năng của tường lửa là quản lý lưu lượng vào/ra trên kết nối Internet và ghi lại các sự kiện diễn ra trên kết nối này phục vụ cho các mục đích an toàn mạng Tuy nhiên, do bản chất của tường lửa là giám sát lưu lượng luân chuyển thông qua một kết nối giữa mạng nội bộ và mạng công cộng bên ngoài, vì vậy tường lửa không có khả năng giám sát và ngăn chặn các tấn công xuất phát từ bên trong mạng nội bộ
Có thể tóm tắt chức năng chủ yếu của tường lửa như sau:
nối từ trong ra ngoài hoặc từ ngoài vào trong phải đi qua tường lửa như một đường đi duy nhất
quản trị có thể thực thi chính sách bảo mật bằng cách thiết lập các quy tắc lọc gói tương ứng gọi là các Access Rules
Analyzer: Theo dõi lưu lượng luân chuyển qua tường lửa, lập nhật ký (logging) theo yêu cầu của người quản trị để phân tích để đánh giá mức
độ an toàn của hệ thống
(authentication) đối với người sử dụng trước khi chấp nhận kết nối
Tường lửa có thể là một phần mềm chạy trên một máy tính gọi là Firewall mềm hoặc là một thiết bị phần cứng riêng biệt, được gọi là Firewall cứng, hoặc một thiết bị
là phần cứng và cài đặt phần mềm Các sản phầm Firewall cứng điển hình như: Cisco PIX, NetScreen firewalls, SonicWall appliances, Nokia Firewalls, …
Firewall theo phạm vi bảo vệ: Tường lửa dành cho máy tính cá nhân
(Personal Firewalls) và tường lửa dành cho mạng (Network Firewalls)
Trang 24 Personal firewall thông thường là các firewall mềm, được cài đặt trên máy
cá nhân Các hệ điều hành Windows (2000 và XP) đã có tích hợp sẵn personal firewall Ngoài ra, các phần mềm antivirus chuyên nghiệp cũng
có chức năng của personal firewall như Norton Antivirus, McAfee, …
Network Firewall có thể là Firewall mềm hoặc Firewall cứng, thường được lắp đặt trước hoặc sau bộ định tuyến nhằm mục đích bảo vệ hệ thống mạng
Hình 1.2 : Mô tả hoạt động của tường lửa
Firewall theo cơ chế làm việc: Có 3 loại:
Tường lửa lọc gói (Packet Filtering Firewall): Dựa vào địa chỉ IP, cổng (Port number) và giao thức kết nối (Protocol), trong tiêu đề các gói dữ liệu đi qua tường lửa để quyết định chấp nhận (Accept) hay loại bỏ gói dữ liệu (Drop)
Firewall lớp ứng dụng (Application Layer gateway): Hoạt động tương tự
như tường lửa lọc gói Nó cho phép thiết lập các quy tắc lọc gói phức tạp hơn dựa vào phân tích nội dung của gói dữ liệu IP (phần Data Payload) Vì vậy, nó quản lý nội dung truy cập của người sử dụng hoặc để nhận dạng dấu hiệu của một số loại phần mềm độc (virus, worm, trojan, …) Do phải phân tích toàn bộ cấu trúc gói dữ liệu để lấy thông tin nên nhược điểm của tường lửa lớp ứng dụng là yêu cầu năng lực xử lý mạnh, và là nơi có thể xảy ra tắc nghẽn tiềm năng của mạng
Tường lửa kiểm soát trạng thái (Stateful Inspection Firewall): Là loại tường
lửa kết hợp cả tường lửa lọc gói và tường lửa lớp ứng dụng Cho phép thiết lập
Trang 25các quy tắc lọc gói phức tạp, nhưng không mất nhiều thời gian phân tích nội dung của các gói dữ liệu như tường lửa lớp ứng dụng Nó theo dõi trạng thái của tất cả kết nối đi qua nó, chỉ có các các gói dữ liệu thuộc về các kết nối hợp lệ mới được chấp nhận chuyển tiếp qua tường lửa, các gói khác đều bị loại bỏ tại đây
1.2.2 Hệ thống phát hiện xâm nhập
Hệ thống phát hiện xâm nhập IDS (Intrusion Detection System) là hệ thống phát hiện các dấu hiệu của tấn công xâm nhập Khác với tường lửa, IDS không thực hiện các thao tác ngăn chặn truy xuất mà chỉ theo dõi các hoạt động trên mạng để tìm ra các dấu hiệu của tấn công và cảnh báo cho người quản trị mạng IDS không thực hiện chức năng tách mạng nội bộ và mạng công cộng nên không gánh toàn bộ lưu lượng qua nó và do đó không có nguy cơ làm tắc nghẽn mạng
Hình 1.3: Mô tả một NIDS điển hình
Xâm nhập (Intrusion) nghĩa là một hành vi tác động vào các tiêu chí bảo mật, toàn vẹn và khả dụng IDS phát hiện dấu vết của tấn công bằng cách phân tích chủ yếu nguồn thông tin các thao tác thực hiện trên máy chủ lưu trong nhật ký
hệ thống (system log) và lưu lượng đang lưu thông trên mạng
Ngày nay, IDS không chỉ là phát hiện các dấu hiện xâm nhập, cảnh báo tấn công khi tấn công đang diễn ra hoặc sau khi tấn công đã hoàn tất, mà còn có khả năng dự đoán được tấn công (Prediction) và thậm chí phản ứng lại các tấn công đang diễn ra (Active Response)
Thành phần quan trọng của hệ thống IDS là Sensor (bộ cảm nhận) và Signature Database (cơ sở dữ liệu) chứa dấu hiệu (Signature) của các tấn công đã
database
Quản trị
hệ thống Firewall
Router
Trang 26được phát hiện và phân tích Cơ chế làm việc của Signature Database giống như Virus Database trong các chương trình Antivirus Vì vậy, duy trì một hệ thống IDS hiệu quả bao gồm việc cập nhật thường xuyên cơ sở dữ liệu này
Phân loại IDS theo kỹ thuật thực hiện:
vi xâm nhập qua phân tích lưu lượng mạng và nhật ký hệ thống Kỹ thuật này đòi hỏi phải duy trì một cơ sở dữ liệu về các dấu hiệu xâm nhập được cập nhật thường xuyên
hiện tại với hoạt động bình thường để phát hiện các bất thường (Anomaly)
Hình 1.4: Host Based IDS (HIDS)
Để hoạt động chính xác, IDS loại này phải thực hiện một quá trình “học”, tức là giám sát họat động của hệ thống trong điều kiện bình thường để ghi nhận các thông số hoạt động, đây là cơ sở để phát hiện các bất thường
Trong thực tế, IDS là một kỹ thuật mới so với Firewall, tuy nhiên với sự phát triển mạnh mẽ kỹ thuật tấn công, IDS vẫn chưa thật sự chứng tỏ được tính hiệu quả của nó trong việc đảm bảo an toàn cho các hệ thống mạng Một phần mềm IDS phổ biến là Snort, sản phẩm NIDS mã nguồn mở với hệ thống Signature Database
1.3 Bảo vệ thông tin bằng kỹ thuật mật mã [1]
Trang 27thông tin bí mật mà chỉ có những thực thể tham gia xử lý thông tin một cách hợp
lệ mới hiểu được
Một thực thể hợp lệ có thể là một người, một máy tính hay một phần mềm được phép nhận thông tin Để có thể giải mã được thông tin mật, thực thể đó cần phải biết cách giải mã (tức là biết được thuật toán giải mã) và các thông tin cộng thêm (khóa bí mật)
Quá trình chuyển thông tin gốc thành thông tin mật theo một thuật toán được gọi là quá trình mã hoá (Encryption) Quá trình biến đổi thông tin mật về dạng thông tin gốc ban đầu gọi là quá trình giải mã (Decryption) Đây là hai quá trình không thể tách rời của một kỹ thuật mật mã bởi vì mật mã (giấu thông tin) chỉ có
ý nghĩa khi có thể giải mã (phục hồi lại) được thông tin đó Vì vậy, khi dùng thuật ngữ mật mã thì có nghĩa bao hàm mã hóa và giải mã
Kỹ thuật mật mã gồm hai loại: mật mã khoá đối xứng (Symmetric Key Encryption) và mật mã khoá bất đối xứng (Asymmetric Key Encryption)
Một hệ thống mật mã gồm thành phần :
Plaintext: Là thông tin gốc cần truyền giữa các hệ thống thông tin
Decryption Algorithm: Thuật toán giải mã
mã làm tăng độ mật của thông tin
Hình 1.5: Cấu trúc một hệ thống mật mã
Khoá mật mã (Key)
Khoá mật mã (Key)
Thông tin đã được
mã hoá (Ciphertext)
Thông tin gốc
(Plaintext)
Thông tin gốc (Plaintext) Thuật toán giải
mã (Decryption Algorithm)
Thuật toán mã hoá (Encryption Algorithm)
Trang 281.3.2 Bảo vệ thông tin bằng kỹ thuật mật mã khoá đối xứng
Kỹ thuật mật mã khóa đối xứng (Symmetric Key Encryption) được đặc trưng bởi việc chỉ sử dụng một khóa duy nhất cho cả quá trình mã hóa và giải mã thông tin Bằng một cách an toàn nào đó, khóa chung này phải được trao đổi thống nhất giữa bên gửi và bên nhận (tức bên mã hóa và bên giải mã), đồng thời được giữ bí mật trong suốt thời gian sử dụng Kỹ thuật mật mã khóa đối xứng còn được gọi là mật mã khóa bí mật (Secret Key Encryption)
Cấu trúc chung của một hệ thống mật mã như hình 1.6, trong đó, kênh thông tin dùng để trao đổi khóa bí mật phải là một kênh an toàn Có thể thực hiện việc trao đổi khóa bí mật giữa hai thực thể A và B theo những cách sau:
tiện vật lý như ghi lên đĩa, nói trực tiếp, ghi ra giấy, …)
phương tiện vật lý như trên)
tục dùng khóa cũ để gửi thông báo về khóa mới cho thực thể kia
thể gửi thông báo về khóa cho cả hai thực thể A và B thông qua kết nối an toàn này
Hình 1.6: Trao đổi khoá trong mật mã khóa đối xứng
Kỹ thuật mật mã khóa đối xứng đòi hỏi người mã hóa và người giải mã cùng dùng chung một khóa Khóa phải được bí mật tuyệt đối Hệ mật mã khóa đối xứng không an toàn nếu khóa bị lộ với xác suất cao Trong hệ này, khóa phải được gửi
đi trên kênh an toàn
Thuật toán
mã hóa
Thuật toán giải mã
Thông tin gốc
Khoá bí mật
(dùng chung)
Trang 29Ưu nhược điểm của hệ mật mã khóa đối xứng:
Ưu điểm của hệ mật mã khóa đối xứng là tốc độ mã hóa và giải mã nhanh
Sử dụng đơn giản chỉ cần một khóa cho hai quá trình mã hóa và giải mã
Nhược điểm của phương pháp này là không an toàn vì độ phức tạp của thuật toán nằm trong khả năng tinh toán của các máy tính hiện nay
Một số hệ mật mã cổ điển thông dụng:
văn bản gốc thành 64 bits văn bản mật sử dụng một khoá gồm 64 bits trong
đó 56 bits được dùng trực tiếp bởi giải thuật mã hoá và giải mã Một khối
dữ liệu cần mã hoá sẽ phải trải qua 3 quá trình xử lý như sau:
- Hoán vị khởi đầu (Initial Permutation - IP)
hợp kỹ thuật đổi chỗ lẫn kỹ thuật thay thế
bản cải tiến của DES Nguyên tắc của Triple DES là tăng chiều dài khoá của DES để tăng độ an toàn, nhưng vẫn giữ tính tương thích với thuật toán DES cũ
đối xứng được phát triển ở Thụy Điển năm 1991 IDEA dựa trên cấu trúc Feistel, sử dụng khóa 128 bit và có nhiều điểm khác biệt so với DES IDEA không sử dụng S-box mà dựa vào 3 phép tóan là XOR, phép cộng nhị phân và phép nhân nhị phân trên các thanh ghi 16 bit IDEA sử dụng thuật toán mã hóa gồm 8 vòng, khóa phụ tại mỗi vòng được sinh ra từ các phép dịch phức tạp IDEA được sử dụng trong các ứng dụng bảo mật thư điện tử (PGP)
điểm yếu của DES và hoạt động ổn định trong nhiều ứng dụng trên mạng Internet Tuy nhiên, Triple DES vẫn còn chứa những nhược điểm của DES như tính khó phân tích, chỉ thích hợp với thực thi bằng phần cứng chứ
Trang 30không thích hợp cho thực thi bằng phần mềm, kích thước khối cố định 64 bit, … Do đó, cần thiết phải xây dựng một chuẩn mật mã mới, dựa trên một
cơ sở toán học vững chắc, có tính linh động để có thể điều chỉnh cho phù hợp với ứng dụng và đặc biệt là phải thích hợp với việc thực thi cả bằng phần mềm và phần cứng Đó là những yêu cầu cơ bản đối với chuẩn mật
mã cao cấp AES
dụng có độ dài thay đổi
1.3.3 Thuật toán trao đổi khoá Diffie-Hellman
Diffie-Hellman là một thuật toán dùng để trao đổi khóa đối xứng (Key Exchange), không dùng để mật mã hóa thông tin Tuy nhiên, Deffie-Hellman lại
có ích trong giai đoạn trao đổi khóa bí mật của các thuật toán mật mã đối xứng Như trên đã trình bày, một trong những vấn đề quan trọng liên quan trực tiếp đến tính an toàn của các thuật toán mật mã đối xứng là vấn đề thống nhất khoá bí mật giữa các thực thể thông tin
Thuật toán trao đổi khoá Diffie-Hellman dựa trên phép logarit rời rạc (Discrete log) Cho trước một số g và x = gk , tìm k, sao cho k = logg(x) Tuy nhiên, nếu cho trước g, p và (gk
mod p), thì quá trình xác định k theo phương pháp logarit rời rạc Việc tính logarit rời rạc nói chung rất phức tạp nhưng vẫn có thể thực hiện được
Thuật toán Diffie-Hellman khá đơn giản như sau:
Gọi p là một số nguyên tố và g là một cơ số sinh (Generator) thoả điều kiện với mọi x {1, 2, …, p-1}, tồn tại số n sao cho: x = gn mod p
User A tạo ra một số bí mật Xa< p, tính Ya = (gXa mod p) và gửi cho B
User B tạo ra một số bí mật Xb< p, tính Yb = (gb mod p) và gửi lại cho A
cho phiên làm việc bằng cách tính giá trị (gXa
mod p)Xb = (gXaXb mod p)
Trang 31 Tương tự, User A cũng xác định được khoá bí mật này bằng cách tính giá trị (gXb mod p)Xa = (gXaXb mod p)
Giả sử trong quá trình trao đổi các giá trị (gXa mod p) và (gXb mod p), một người thứ 3 nào nó bắt được thông tin này thì cũng rất khó xác định được a
và b vì độ phức tạp của phép toán logarit rời rạc là rất cao
ơ
Hình 1.7: Thuật toán trao đổi khoá Diffie-Hellman
Ví dụ: Cho p = 353 và g = 3, Giả sử, User A chọn giá trị bí mật Xa = 97 và User B chọn giá trị bí mật Xb = 233 Khi đó:
User A tính được Ya = (397 mod 353) = 40 và gửi cho B
User B tính được Yb = (3233 mod 353) = 248 và gửi cho A
User B tính được khoá bí mật K =(Ya)Xb mod 353= 4097 mod 353 = 160
Đánh giá độ an toàn thuật toán trao đổi khoá Diffie-Hellman
Tính an toàn của Diffie-Hellman dựa trên độ phức tạp của phép toán logarit rời rạc Nói chung, việc xác định các giá trị Xa, Xb từ các giá trị p, g, Ya và Yb là không thể thực hiện được trên các số nguyên đủ lớn Tuy nhiên, thuật toán này không ngăn chặn được các tấn công theo phương thức xen giữa Man-In-The-Middle (MITM):
cũng chọn hai số nguyên XC1 và XC2 thoả điều kiện XC1< p và XC2< p, sau đó cũng tính hai giá trị tương ứng YC1 = (gXc1 mod p) và YC2 = (gXc2 mod p)
Trang 32 Khi User A gửi Ya cho User B, User C sẽ chặn lấy Ya, đồng thời mạo danh A
để gửi cho B giá trị YC1 User B xác định khoá K1 dựa trên YC1, và gửi lại cho A giá trị Yb User C chặn Yb và mạo danh B để gửi cho A giá trị YC2
User A xác định khoá K2 dựa trên YC2 Bắt đầu từ đây, C chặn bắt và thay đổi bằng cách sử dụng cặp khoá K1 và K2
Như vậy, thuật toán Diffie-Hellman không giải quyết được vấn đề này do không có cơ chế xác thực giữa các thực thể trao đổi khoá Sẽ được khắc phục bằng cách sử dụng kết hợp với các thuật toán xác thực như sẽ trình bày ở phần kế tiếp Ngoài hai thuật toán RSA và Diffie-Hellman, một số thuật toán khác cũng được phát triển dựa trên nguyên lý sử dụng một cặp khoá công khai và bí mật Elliptic-Curve Cryptography (ECC) là một giải thuật mới đang được thử nghiệm và hứa hẹn nhiều ưu điểm so với RSA như độ phức tạp tính toán giảm trong khi tính an toàn vẫn được đảm bảo ECC thích hợp với các ứng dụng chạy trên các thiết bị có năng lực xử
lý hạn chế chẳn hạn như các thiết bị nhúng (embded devices)
1.4 Bảo vệ thông tin bằng mật mã khóa bất đối xứng [1]
1 Dùng khoá công khai PU để mã hoá và khoá riêng để giải mã cho ứng dụng bảo mật thông tin (Confidentiality)
2 Dùng khoá riêng PR để mã hoá và khoá công khai PU để giải mã cho ứng dụng xác thực nội dung và nguồn gốc thông tin (Authentication) Thuật toán mật mã bất đối xứng dựa chủ yếu trên các hàm toán học hơn là dựa vào các thao tác trên chuỗi bit Mật mã hóa bất đối xứng còn được gọi bằng một tên thông dụng hơn là mật mã hóa dùng khóa công khai (public key encryption)
Trang 33{Ơ
a) Ứng dụng bảo mật thông tin
b) Ứng dụng xác thực thông tin
Hình 1.8: Cấu trúc hệ thống mật mã khóa bất đối xứng
Nói chung, mật mã hóa bất đối xứng không phải là một kỹ thuật mật mã an toàn hơn so với mật mã đối xứng, mà độ an toàn của một thuật toán mã nói chung phụ thuộc vào 2 yếu tố: Độ dài của khóa và mức độ phức tạp khi thực hiện thuật toán (trên máy tính) Hơn nữa, mặc dù được ra đời sau nhưng không có nghĩa rằng mật mã bất đối xứng hoàn toàn ưu điểm hơn và sẽ được sử dụng thay thế cho mật
User E
User C User B
User D
Khoá công khai
Tập khoá công khai
Thông
tin gốc Thuật toán mã hoá
(thực hiện bởi user A)
Thuật toán giải mã
(thực hiện bởi user B)
Thông tin mật
Thông tin gốc
Thông
(thực hiện bởi user A)
Thuật toán giải mã
(thực hiện bởi user B)
User D User A User C
User E
Tập khoá công khai
Khoá bí mật của user A Khoá công khai của user A
Thông tin mật
Trang 34mã đối xứng Mỗi kỹ thuật mã có một thế mạnh riêng và mật mã đối xứng vẫn rất thích hợp cho các hệ thống nhỏ và đơn giản Ngoài ra, vấn đề phân phối khóa trong mật mã bất đối xứng cũng được đánh giá là một trong những vấn đề phức tạp khi triển khai kỹ thuật mật mã này trong thực tế
Các bước cơ bản của một hệ thống mật mã khóa công khai bao gồm:
1 Mỗi thực thể thông tin (User) tạo ra một cặp khóa (Public/Private) để dùng cho việc mã hóa và giải mã
2 Mỗi User thông báo một trong hai khoá cho các User khác biết, khóa này được gọi là khóa công khai (Public key) Khóa còn lại được giữ bí mật và gọi là khóa riêng (Private Key)
3 Nếu User A muốn gửi thông tin cho User B, User A sẽ thực hiện mã hóa thông tin cần gửi bằng khóa công khai của User B
4 Khi nhận được thông tin đã mã hóa từ User A, User B thực hiện giải mã thông tin đó bằng khóa riêng của nó Do khóa riêng không phổ biến công khai nên chỉ có User B có khả năng giải mã được
Mật mã hóa bất đối xứng được sử dụng trong các ứng dụng: che giấu thông tin, tạo chữ ký số (Digital Signature) và trao đổi khóa trong các thuật toán mật mã đối xứng (Key Exchange)
1.4.2 Thuật toán mật mã RSA
RSA (Rivest – Shamir – Adleman hay RSA) là thuật toán mật mã khóa bất đối xứng được xây dựng bởi Ron Rivest, Adi Shamir và Len Adleman tại viện công nghệ Massachusetts (MIT), ra đời năm 1977, đến nay đã được ứng dụng trong nhiều lĩnh vực Cũng như các thuật toán mật mã bất đối xứng khác, nguyên
lý của RSA dựa chủ yếu trên lý thuyết số, lý thuyết logic rời rạc
RSA là một thuật toán mật mã khối, kích thước khối thông thường là 1024 hoặc 2048 bit Thông tin gốc của RSA được xử lý như các số nguyên Ví dụ, khi chọn kích thước khối của thuật toán là 1024 bit thì số nguyên này có giá trị từ 0 đến 21024 – 1, tương đương với số thập phân có 309 chữ số Chú ý rằng đây là những số nguyên cực lớn, không thể xử lý được bằng cách sử dụng các cấu trúc
dữ liệu có sẵn của các ngôn ngữ lập trình phổ biến
Trang 35
Thuật toán RSA được mô tả như sau:
1 Chọn hai số nguyên tố đủ lớn p và q
2 Ký hiệu N = pq, (N) = (p-1)(q-1)
3 Chọn một số e sao cho e và (N) là hai số nguyên tố cùng nhau
4 Tìm số d sao cho ed = 1 mod (N)
gửi thông tin M = 15 cho User A
9 mod 33, Khi đó, thông tin mật gửi cho User A là C = 9
Tóm lại, thuật toán mật mã RSA được thực hiện gồm 3 quá trình tách rời: tạo khoá, mã hoá và giải mã được tóm tắt như sau:
Trang 361-Tạo khoá:
Tính (N) = (p – 1) (q – 1)
Trong thực tế, để đạt được độ an toàn cao, cặp khóa phải được chọn trên các
số p và q đủ lớn (N nhỏ nhất phải là 1024 bit), do vậy, vấn đề thực thi RSA bao gồm các phép toán lũy thừa trên các số rất lớn Vấn đề giảm chi phí tính toán và tăng tốc độ thực hiện thuật toán RSA là một trong những vấn đề quan trọng cần phải giải quyết Trên các hệ thống máy tính hiện nay, hiệu suất thực hiện giải thuật RSA là chấp nhận được
1.4.3 Chuyển đổi văn bản rõ
Trước khi thực hiện mã hóa, ta phải thực hiện việc chuyển đổi văn bản rõ (chuyển đổi từ M sang m) sao cho không có giá trị nào của M tạo ra văn bản mã không an toàn Nếu không có quá trình này, RSA sẽ gặp phải một số vấn đề: Nếu m = 0 hoặc m = 1 sẽ tạo ra các bản mã có giá trị là 0 và 1 tương ứng
Khi mã hóa với số mũ nhỏ (chẳng hạn e = 3) và m cũng có giá trị nhỏ, giá
có thể dễ dàng tìm được m bằng cách khai căn bậc e của c (bỏ qua modulo) RSA là phương pháp mã hóa xác định, không có thành phần ngẫu nhiên, nên Hacker có thể tấn công lựa chọn bản rõ bằng cách tạo ra một bảng tra giữa bản rõ và bản mã Khi gặp một bản mã, Hacker sử dụng bảng tra để tìm ra bản rõ tương ứng
Trên thực tế, thường gặp 2 vấn đề đầu khi gửi các bản tin ASCII ngắn với m là nhóm vài ký tự ASCII Một đoạn tin chỉ có 1 ký tự NUL sẽ được gán giá trị m = 0 và cho ra bản mã là 0 bất kể giá trị của e và N Tương tự, một ký tự ASCII khác, SOH, có giá trị 1 sẽ luôn cho ra bản mã là 1 Với các hệ thống dùng giá trị e nhỏ thì tất cả ký tự ASCII đều cho kết quả mã hóa không an toàn vì giá trị
Trang 37lớn nhất của m chỉ là 255 và 2553 nhỏ hơn giá trị n chấp nhận được Những bản
mã này sẽ dễ dàng bị phá mã Để tránh gặp phải những vấn đề trên, RSA trên thực
tế thường bao gồm một hình thức chuyển đổi ngẫu nhiên hóa m trước khi mã hóa Quá trình chuyển đổi này phải đảm bảo rằng m không rơi vào các giá trị không an toàn Sau khi chuyển đổi, mỗi bản rõ khi mã hóa sẽ cho ra một trong số khả năng trong tập hợp bản mã Điều này làm giảm tính khả thi tấn công lựa chọn bản rõ (một bản rõ sẽ có thể tương ứng với nhiều bản mã tuỳ thuộc vào cách chuyển đổi) Một số chuẩn, như PKCS, được thiết kế chuyển đổi bản rõ trước khi mã hóa bằng RSA Các phương pháp chuyển đổi này bổ sung thêm bít vào M Các phương pháp chuyển đổi cần được thiết kế cẩn thận để tránh những dạng tấn công phức tạp, tận dụng khả năng biết trước được cấu trúc của bản rõ Phiên bản ban đầu của PKCS dùng một phương pháp Ad-hoc mà về sau được biết là không an toàn trước tấn công lựa chọn bản rõ thích ứng (Adaptive Chosen Ciphertext Attack) Các phương pháp chuyển đổi hiện đại sử dụng các kỹ thuật như chuyển đổi mã hóa bất đối xứng tối ưu (Optimal Asymmetric Encryption Padding - OAEP) để chống lại tấn công dạng này Tiêu chuẩn PKCS còn được bổ sung các tính năng khác để đảm bảo an toàn cho chữ ký RSA (Probabilistic Signature Scheme for RSA-RSA-PSS)
1.4.4 Đánh giá kỹ thuật mật mã bất đối xứng
Kỹ thuật mật mã bất đối xứng hoàn toàn có thể đáp ứng được những yêu cầu
về bảo mật hệ thống như trong kỹ thuật mật mã đối xứng, mặc dù tốc độ thực thi của mã bất đối xứng thường thấp hơn do bản chất thuật toán dựa trên các thao tác
số học chứ không dựa trên các thao tác xử lý bit Hơn nữa, mã bất đối xứng chỉ phù hợp với việc thực thi bằng phần mềm Mật mã bất đối xứng đảm bảo được 2 yêu cầu cơ bản của thông tin là tính bí mật và tính toàn vẹn Kỹ thuật mật mã bất đối xứng có 2 ưu điểm so với mã đối xứng:
1 Hai thực thể không cần thực hiện trao đổi khóa trước khi làm việc
2 Bên cạnh công dụng đảm bảo tính tòan vẹn của dữ liệu, mật mã bất đối xứng (khi được sử dụng cho mục đích xác thực) còn đảm bảo được tính không thể phủ nhận (non-repudiation) của thông tin
Trang 38Theo lý thuyết, RSA có thể bị tấn công bằng những phương thức sau:
Brute-force attack: tìm lần lượt khoá riêng PR
các thừa số nguyên tố rồi từ đó xác định e và d
Timing attack: dựa trên thời gian thực thi của thuật toán giải mã
biệt để khôi phục thông tin gốc
Tuy nhiên trong thực tế, nguy cơ tấn công các hệ thống mật mã RSA là rất thấp, do RSA là một thuật toán linh động, kích thước khối dữ liệu gốc và chiều dài khoá dễ dàng được thay đổi mà không ảnh hưởng đến thuật toán mã
1.4.5 Một số hệ mật mã khóa công khai khác
khó giải của bài toán logarit rời rạc trên các trường hữu hạn
Schnorr (Schnorr,s Public-key Cryptosystem): Độ bảo mật dựa trên các thuật toán logarit rời rạc
DSA (Digital Signature Algorithm): Độ bảo mật dựa sự kết hợp của ELGamal và Schnorr
ECC (The Elliptic Curve Cryptosystem): Là biến tướng của các hệ mật khác (ELGamal), làm việc trên các đường cong Elip
Kết luận chương
Chương một đã trình bày một cách khái quát về các vấn đề an toàn và bảo mật thông tin, tuy nhiên vẫn còn tồn tại nhiều lỗ hổng về bảo mật Vì vậy vấn đề bảo đảm an toàn cho các hệ thống thông tin là một trong những vấn đề quan trọng
và bức thiết, trở thành một mục tiêu phải đặt lên hàng đầu trong quá trình thiết kế, xây dựng và cài đặt hệ thống Để có thể đánh giá một hệ thống thông tin an toàn
và bảo mật phải dựa trên các tiêu chí: tính bí mật, tính toàn vẹn, tính xác thực và tính không chối cãi Phải thể hiện qua mối quan hệ giữa người sử dụng với hệ thống và tài nguyên thông tin Các quan hệ này được đảm bảo bằng các phương thức xác thực (Authentication), cấp phép sử dụng (Authorization) và từ chối phục
vụ (Repudiation)
Trang 39CHƯƠNG II: XÁC THỰC DÙNG CHỮ KÝ ĐIỆN TỬ
VÀ CHỨNG THỰC S
2.1 Cơ chế xác thực nguồn gốc thông tin [8]
2.1.1 Giới thiệu chung
Trong chương 1, luận văn đã phân tích một số nguy cơ đe doạ đến an toàn hệ thống mạng đó là: Tấn công trực tiếp, nghe trộm, giả mạo, chối cãi nguồn gốc, từ chối dịch vụ, truy nhập bất hợp pháp, … một trong những giải pháp cần thiết để tránh các nguy cơ này là xác thực Xác thực là một thủ tục nhằm kiểm tra các thông tin nhận được có đến từ một nguồn hợp lệ và có bị sửa đổi hay không Mặt khác xác thực cũng có thể kiểm tra trình tự và tính đúng lúc của các thông tin
nhận được
Ngoài việc chứng minh người sử dụng, các hệ thống xác thực cũng được sử dụng để xác định những thông tin nào có thể được truy nhập; ví dụ như cơ sở dữ liệu tài nguyên hoặc cơ sở dữ liệu tài chính của một tổ chức
Có nhiều giao thức xác thực đã được đề xuất như: xác thực thông qua yêu cầu và phản hồi, xác thực bằng hỏi đáp, xác thực Deffie-Hellman, xác thực dùng một trung tâm phân phối khoá, xác thực Need-Schoede … các giao thức xác thực này đã để lộ nhiều điểm yếu, đó là thông tin trao đổi khoá giữa hai người sử dụng các giao thức này có thể bị bên thứ ba xen vào, vì vậy vấn đề an toàn của thông tin khi thực hiện các giao dịch cũng cần phải được xem xét Giải pháp xác thực dùng chứng chỉ số (Digital Certificate) và chữ ký điện tử (Digital Signature) được đề xuất nhằm đảm bảo an toàn cho các thông tin giao dịch, nó giải quyết được các vấn đề bảo mật dữ liệu, định danh được người gửi, tính toàn vẹn của dữ liệu và không bị giả mạo
2.1.2 Kỹ thuật xác thực thông tin
Xác thực thông tin (Message Authentication) là một cơ chế được ứng dụng trong xử lý thông tin với mục đích:
bị thêm, sửa, xóa hay phát lại Nói cách khác, đảm bảo tính toàn vẹn về nội dung không bị vi phạm
Trang 40 Đảm bảo đối tượng tạo ra thông tin, tạo ra nguồn gốc thông tin đúng là đối tượng hợp lệ đã được khai báo Nói cách khác, đảm bảo tính toàn vẹn về nguồn gốc thông tin
Để thực hiện xác thực thông tin, về nguyên tắc có 3 phương pháp sau đây:
1) Sử dụng các thuật toán mật mã khóa đối xứng và bất đối xứng: Để xác
thực thông tin Nguyên tắc của mật mã là chỉ có những đối tượng hợp lệ mới khôi phục được thông tin gốc từ thông tin mật Có thể sử dụng nguyên tắc này để xác thực thông tin như sau:
Trường hợp sử dụng mật mã khóa đối xứng: Theo quy ước, chỉ có nơi gửi thông tin và nơi nhận thông tin hợp lệ mới có khóa bí mật K Do đó chỉ nơi nhận thông tin hợp lệ mới có khả năng tạo ra khối thông tin mật hợp lệ từ khối thông tin gốc M Tương tự, chỉ có nơi nhận thông tin hợp lệ mới có khả năng giải mã được thông tin mật để ra thông tin gốc M Tất cả các cố gắng khác đều cho ra kết quả sai
Trường hợp sử dụng mật mã khóa bất đối xứng: Nơi gửi thông tin thực hiện mã hóa bằng khóa bí mật (PR) thay vì dùng khóa công khai Khối thông tin mật tạo ra có thể được giải mã bởi bất kỳ đối tượng nào biết khóa công khai của thực thể gửi Tuy nhiên, nếu quá trình giải mã thành công, đối tượng nhận thông tin có thể chắc chắn rằng thông tin nhận được là đúng và chính đối tượng gửi hợp
lệ đã gửi thông tin này, bởi vì chỉ có đối tượng đó mới có khóa riêng PR
a) Dùng mật mã đối xứng
C
M: thông tin gốc E: thuật toán mật mã D: Thuật toán giải mã C: Thông tin mật K: Khóa bí mật dùng chung giữa bên gửi và bên nhận PRa: Khóa bí mật của bên gửi PUa: Khóa công khai của bên gửi
Hình 2.1: Xác thực thông tin sử dụng kỹ thuật mật mã
b) Dùng mật mã bất đối xứng
C