Tải bản đầy đủ (.pdf) (62 trang)

nghiên cứu giải pháp xác thực và bảo mật tài liệu trong trao đổi văn bản trên môi trường mạng giữa các cơ quan nhà nước

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.38 MB, 62 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN



TRỊNH XUÂN HOÀNG

NGHIÊN CỨU GIẢI PHÁP XÁC THỰC VF BẢO MẬT
TÀI LIỆU TRONG TRAO ĐỔI VĂN BẢN TRÊN MÔI
TRƢỜNG MẠNG GIỮA CÁC CƠ QUAN NHÀ NƢỚC



LUẬN VĂN THẠC SĨ KHOA HỌC







Hà Nội - Năm 2012
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN


TRỊNH XUÂN HOÀNG

NGHIÊN CỨU GIẢI PHÁP XÁC THỰC VF BẢO MẬT
TÀI LIỆU TRONG TRAO ĐỔI VĂN BẢN TRÊN MÔI
TRƢỜNG MẠNG GIỮA CÁC CƠ QUAN NHÀ NƢỚC


Chuyên ngành: BẢO ĐẢM TOÁN CHO MÁY TÍNH
VÀ HỆ THỐNG TÍNH TOÁN
Mã số: 60.46.35

LUẬN VĂN THẠC SĨ KHOA HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC:
Gs.TS. TÔN QUỐC BÌNH





Hà Nội - Năm 2012

Trang 3
MỤC LỤC
Nội dung Trang
LỜI CẢM ƠN 0
MỤC LỤC 3
DANH MỤC CÁC THUẬT NGỮ, TỪ VIẾT TẮT 5
DANH MỤC HÌNH VẼ 6
MỞ ĐẦU 7
1. Lý do chọn đề tài 7
2. Mục đích nghiên cứu 7
3. Đối tượng và phạm vi nghiên cứu 7
4. Phương pháp nghiên cứu 8
5. Bố cục Luận văn 8
Chƣơng-1. TỔNG QUAN VỀ AN TOÀN THÔNG TIN 9
1.1. Một số khái niệm cơ bản 9
1.1.1. Khái niệm về an toàn thông tin 9

1.1.2. Khái niệm về đảm bảo an toàn thông tin 9
1.1.3. Khái niệm về đánh giá an toàn thông tin 10
1.2. Thực trạng về an toàn thông tin trong các cơ quan nhà nước 11
1.3. Nhu cầu về an toàn thông tin trong ứng dụng tại các cơ quan nhà nước 12
1.4. Một số kỹ thuật mật mã 13
1.4.1. Các hệ mật mã 13
1.4.2. Các thuật toán mật mã 15
1.4.3. Chữ ký số 18
1.4.4. Phân phối khóa công khai 20
1.4.5. Chứng chỉ khóa công khai 20
1.4.6. Hạ tầng khóa công khai 21
1.5. Kết luận chương 23
Chƣơng-2. MỘT SỐ CƠ SỞ MẬT MÃ PHỤC VỤ AN TOÀN THÔNG TIN 24
2.1. Lược đồ mã RSA-OAEP 24
2.1.1. Hàm mã hoá RSAES-OAEP 24

Trang 4
2.1.2. Hàm giải mã RSAES-OAEP 26
2.1.3. Yêu cầu tham số an toàn cho hệ mật RSA 28
2.2. Thuật toán mã khối AES 29
2.2.1. Giới thiệu thuật toán AES 30
2.2.2. Cấu trúc bên trong của AES. 31
2.2.3. Một số yêu cầu đảm bảo an toàn khi ứng dụng mã khối AES 36
2.3. Kết luận chương 39
Chƣơng-3. GIẢI PHÁP XÁC THỰC VÀ BẢO MẬT 40
3.1. Giới thiệu giải pháp 40
3.2. Sơ đồ kiến trúc giải pháp xác thực tài liệu trên môi trường mạng 40
3.3. Phân tích thiết kế giải pháp 43
3.3.1. Các chức năng cần thiết cho yêu cầu của phần mềm xác thực 43
3.3.2. Lựa chọn ngôn ngữ lập trình và công cụ thiết kế ứng dụng 44

3.3.3. Phân tích thiết kế các thành phần của mô hình 45
3.3.4. Công cụ ký số trên web 49
3.4. Cài đặt giải pháp xác thực và bảo mật 52
3.4.1. Cài đặt chứng thư SSL cho ứng dụng mạng văn phòng điện tử 52
3.4.2. Cài đặt tích hợp ứng dụng ký số cho ứng dụng mạng văn phòng điện tử 56
3.5. Kết quả của giải pháp xác thực và bảo mật tài liệu 59
KẾT LUẬN 61
TÀI LIỆU THAM KHẢO 62

Trang 5
DANH MỤC CÁC THUẬT NGỮ, TỪ VIẾT TẮT
AES
Advanced Encrytion Standard – Chuẩn mã hóa nâng cao
ANTT
An toàn thông tin
CA
Certificate Authority – Cơ quan chứng thực số
Client
Máy trạm, khai thác các dịch vụ, ứng dụng
CNTT
Công nghệ thông tin
DES
Data Encryption Standard – Chuẩn mã hóa dữ liệu
DS
Digital Signatures - Chữ ký số
DSA
Digital Signature Algorithm - Giải thuật ký điện tử
DSS
Digital Signature Standard - Chuẩn chữ ký số
Hacker

Người đột nhập vào máy tính và phá hoại máy tính (tin tặc)
HTTP
Hypertext Transfer Protocol – Giao thức truyền siêu văn bản
HTTPS
Hypertext Transfer Protocol over Secure Socket Layer - Giao thức
truyền siêu văn bản thông qua an ninh thông tin
IPS
Intrusion Prevention System – hệ thống ngăn chặn và phát hiện xâm
nhập
MD5
Message Digest algorithm 5 - giải thuật của hàm băm
PKI
Public Key Infrastructure – Cơ sở hạ tầng khóa công khai
RSA
Rivest, Shamir and Adleman - Giải thuật mã hóa công khai
Server
Máy chủ, cung cấp các dịch vụ, ứng dụng
SHA
Secure Hash Algorithm – Giải thuật băm an toàn
SSL
Secure Socket Layer - Giao thức an ninh thông tin
TCP/IP
Transmission Control Protocol/Internet Protocol - một hệ thống các
giao thức hỗ trợ việc truyền thông tin trên mạng
WEB
Một loại siêu văn bản (tập tin dạng HTML hoặc XHTML) trình bày
thông tin trên mạng Internet, tại một địa chỉ nhất định




Trang 6
DANH MỤC HÌNH VẼ
Hình 1.1. Hệ mật khóa đối xứng đảm bảo tính bí mật và xác thực 13
Hình 1.2. Hệ mật khoá công khai 14
Hình 1.3. Lược đồ ký số và kiểm tra chữ ký số 19
Hình 1.4. Mô hình cấp phát chứng chỉ của PKI X509 22
Hình 2.1. Thuật toán mã hóa EME-OAEP 26
Hình 3.1. Mô hình xác thực tài liệu trên môi trường mạng 41
Hình 3.2. Thiết bị eToKen và thành phần của eToKen 41
Hình 3.3. Khả năng hỗ trợ của Siverlight 5 đối với các loại hệ điều hành
và trình duyệt Web 45
Hình 3.4. Lược đồ ký số văn bản 46
Hình 3.5. Lược đồ xác thực văn bản ký số 47
Hình 3.6. Giao diện gửi văn bản đã được tích hợp chức năng ký số và
sản phẩm ký số văn bản điện tử 60


Trang 7
MỞ ĐẦU
1. Lý do chọn đề tài
Nhận thức được lợi ích và tầm quan trọng của công nghệ thông tin và
truyền thông trong việc duy trì và thúc đẩy sự phát triển bền vững, trong
những năm vừa qua lĩnh vực công nghệ thông tin nói chung và hoạt động ứng
dụng công nghệ thông tin nói riêng đã phát triển nhanh chóng, mạnh mẽ và
ngày càng sâu rộng trong mọi mặt của đời sống kinh tế xã hội. Các hoạt động
có thể kể đến như: Các hoạt động thương mại điện tử; các hoạt động hành
chính công phổ biến như gửi nhận thư điện tử, các hệ thống hỗ trợ quản lý
điều hành trên mạng. Chúng đang góp phần tạo nên một hệ thống chính phủ
điện tử, sự phát triển của một hệ thống chính phủ điện tử sẽ đem lại rất nhiều
lợi ích như cắt giảm chi phí, rút ngắn thời gian thực hiện, nâng cao hiệu suất

lao động, cải thiện chất lượng dịch vụ cho các dịch vụ hành chính công. Tuy
nhiên khi triển khai các hoạt động chính phủ điện tử trên nền mạng Internet
thì yếu tố an toàn cần phải được đặt lên hàng đầu, vì song song với những lợi
ích mang lại thì Internet cũng là nơi tiềm ẩn vô vàn nguy cơ mất an toàn
thông tin có thể dẫn đến hậu quả khôn lường. Chính vì những vấn đề thực tiễn
trên, luận văn: “Nghiên cứu giải pháp xác thực và bảo mật tài liệu trong
trao đổi văn bản trên môi trường mạng giữa các cơ quan nhà nước” nhằm
nâng cao việc xác thực và an toàn thông tin trong các hoạt động của các cơ
quan, tổ chức trong các ứng dụng trên môi trường mạng.
2. Mục đích nghiên cứu
Luận văn nghiên cứu giải pháp xác thực và bảo mật tài liệu trong trao
đổi văn bản trên môi trường mạng giữa các cơ quan nhà nước và ứng dụng
thành công tại tỉnh Thái Bình.
3. Đối tượng và phạm vi nghiên cứu
Tập trung nghiên cứu, tìm hiểu thực trạng và nhu cầu về an toàn thông
tin trong các cơ quan nhà nước; các tiêu chuẩn, cơ sở mật mã, giải pháp công

Trang 8
nghệ; trên cơ sở đó nghiên cứu giải pháp xác thực và bảo mật trong trao đổi
tài liệu trên môi trường mạng.
4. Phương pháp nghiên cứu
- Tiếp cận phân tích và tổng hợp: Đọc tài liệu, tổng hợp lý thuyết, phân
tích lý thuyết về Hệ mật mã đối xứng, hệ mật mã bất đối xứng (hệ mật mã
khóa công khai), chữ ký số.
- Tiếp cận theo định tính và định lượng: Nghiên cứu cơ sở khoa học của
mã hóa, chữ ký số của các tác giả trong và ngoài nước, các bài báo, thu thập
thông tin trên mạng, tìm hiểu các mô hình bảo mật, chứng chỉ số. Từ đó trình
bày theo ý tưởng của mình và đề xuất các giải pháp xác thực và bảo mật tài
liệu trong trao đổi văn bản trên môi trường mạng giữa các cơ quan nhà nước
trên địa bàn.

5. Bố cục Luận văn
Luận văn được trình bày trong 03 chương:
- Chương 1: Tập trung tìm hiểu một số khái niệm về án toàn thông tin,
đánh giá thực trạng và nhu cầu về an toàn thông tin trong các cơ quan nhà
nước.
- Chương 2: Trình bày tổng hợp, phân tích một số cơ sở mật mã cần thiết
để áp dụng trong việc bảo mật thông tin trên môi trường mạng.
- Chương 3: Tập trung phân tích thiết kế giải pháp xác thực và bảo mật
thông tin trong trao đổi tài liệu trên môi trường mạng.
.

Trang 9
Chƣơng-1. TỔNG QUAN VỀ AN TOÀN THÔNG TIN
Để có hướng nghiên cứu và giải pháp phù hợp, chương này tập trung tìm
hiểu một số khái niệm về an toàn thông tin, đánh giá thực trạng và nhu cầu về
an toàn thông tin trong các cơ quan nhà nước.
1.1. Một số khái niệm cơ bản
1.1.1. Khái niệm về an toàn thông tin
Thông tin được lưu trữ bởi các sản phẩm và hệ thống CNTT là một tài
nguyên quan trọng cho sự thành công của tổ chức đó, là tài sản của một cá
nhân hay tổ chức. Các thông tin cá nhân lưu trữ trong hệ thống thông tin cần
được giữ bí mật, bảo vệ và không bị thay đổi khi không được phép. Trong khi
các sản phẩm và hệ thống CNTT thực hiện các chức năng của chúng, các
thông tin cần được kiểm soát để đảm bảo chúng được bảo vệ chống lại các
nguy cơ, ví dụ như việc phổ biến và thay đổi thông tin không mong muốn và
trái phép, nguy cơ mất mát thông tin.
An toàn thông tin là an toàn kỹ thuật cho các hoạt động của các cơ sở hạ
tầng thông tin, trong đó bao gồm an toàn phần cứng và phần mềm theo các
tiêu chuẩn kỹ thuật do nhà nước ban hành; duy trì các tính chất bí mật, toàn
vẹn, chính xác, sẵn sàng phục vụ của thông tin trong lưu trữ, xử lý và truyền

tải trên mạng (theo định nghĩa trong Nghị định 64-2007/NĐ-CP) [4].
Thuật ngữ an toàn CNTT thường sử dụng để chỉ việc ngăn chặn và làm
giảm nhẹ các mối nguy hại tương tự đối với các sản phẩm và hệ thống CNTT.
1.1.2. Khái niệm về đảm bảo an toàn thông tin
Mục tiêu hướng tới của người dùng là bảo vệ các tài sản nói trên. Tuy
nhiên, các sản phẩm và hệ thống thường luôn tồn tại những điểm yếu dẫn đến
những rủi ro có thể xảy ra, làm tổn hại đến giá trị tài sản thông tin. Các đối
tượng tấn công (tin tặc) có chủ tâm đánh cắp, lợi dụng hoặc phá hoại tài sản

Trang 10
của các chủ sở hữu, tìm cách khai thác các điểm yếu để tấn công, tạo ra các
nguy cơ và các rủi ro cho các hệ thống.
Với các biện pháp an toàn thông tin người dùng có được công cụ trong
tay để nhận thức được các điểm yếu, giảm thiểu các điểm yếu, ngăn chặn các
nguy cơ tấn công, làm giảm các yếu tố rủi ro. Như vậy, các biện pháp và kỹ
thuật đảm bảo an toàn thông tin chính là mang lại sự tin cậy cho các sản phẩm
và hệ thống.
Đảm bảo an toàn thông tin là đảm bảo an toàn kỹ thuật cho hoạt động
của các cơ sở hạ tầng thông tin, trong đó bao gồm đảm bảo an toàn cho cả
phần cứng và phần mềm hoạt động theo các tiêu chuẩn kỹ thuật do nhà nước
ban hành; ngăn ngừa khả năng lợi dụng mạng và các cơ sở hạ tầng thông tin
để thực hiện các hành vi trái phép gây hại cho cộng đồng, phạm pháp hay
khủng bố; đảm bảo các tính chất bí mật, toàn vẹn, chính xác, sẵn sàng phục
vụ của thông tin trong lưu trữ, xử lý và truyền tải trên mạng.
Như vậy khái niệm đảm bảo an toàn thông tin bao hàm đảm bảo an toàn
cho cả phần cứng và phần mềm. An toàn phần cứng là bảo đảm hoạt động cho
cơ sở hạ tầng thông tin. An toàn phần mềm gồm các hoạt động quản lý, kỹ
thuật nhằm bảo vệ hệ thống thông tin, đảm bảo cho các hệ thống thực hiện
đúng chức năng, phục vụ đúng đối tượng một cách sẵn sàng, chính xác, tin
cậy. An toàn công nghệ thông tin là đảm bảo an toàn kỹ thuật cho các sản

phẩm, dịch vụ và hệ thống công nghệ thông tin.
1.1.3. Khái niệm về đánh giá an toàn thông tin
Một nhu cầu thực tế đặt ra là làm thế nào để biết các sản phẩm và hệ
thống có tin cậy hay không, có áp dụng các biện pháp và kỹ thuật an toàn phù
hợp hay không, mức độ an toàn như thế nào? Đánh giá an toàn thông tin
chính là để đáp ứng nhu cầu đó, nhằm cung cấp bằng chứng về việc đảm bảo
an toàn cho các sản phẩm và hệ thống.

Trang 11
Mặt khác, nhiều người tiêu dùng CNTT không có đủ kiến thức, chuyên
môn và tài nguyên cần thiết để phán xét về sự an toàn của các sản phẩm và hệ
thống CNTT có phù hợp hay không, và cũng không thể chỉ dựa vào cam kết
của các nhà phát triển. Bởi vậy, người tiêu dùng có thể nâng cao tin cậy trong
các biện pháp an toàn của một sản phẩm hoặc hệ thống CNTT bằng cách đặt
hàng phân tích về an toàn cho chúng, nghĩa là đánh giá an toàn.
1.2. Thực trạng về an toàn thông tin trong các cơ quan nhà nước
Theo Báo cáo Ứng dụng Công nghệ thông tin năm 2010 của Bộ Thông
tin và Truyền thông, hoạt động ứng dụng CNTT trong các cơ quan nhà nước
đã đạt được một số kết quả sau:
Hạ tầng kỹ thuật CNTT bao gồm mạng truyền dẫn, mạng máy tính nội
bộ, trang thiết bị tin học trong các cơ quan nhà nước đã được hoàn thiện đáng
kể đáp ứng việc triển khai ứng dụng CNTT cơ bản trong các cơ quan nhà
nước trước mắt và tạo cơ sở nâng cấp, mở rộng trong tương lai.
Một số ứng dụng cơ bản như: Cổng Thông tin điện tử, trang thông tin
điện tử, hệ thống thư điện tử, phần mềm phục vụ công tác trao đổi văn bản,
quản lý điều hành đã được triển khai từ Chính phủ, cấp bộ ngành và các tỉnh
trong cả nước.
Và tiếp tục được đầu tư triển khai nhiều ứng dụng mới, theo số liệu
thống kê của Cục Ứng dụng CNTT đến tháng 5/2012, các bộ, cơ quan ngang
bộ và UBND các tỉnh, TP trực thuộc Trung ương đã cung cấp gần 100.000

dịch vụ công trực tuyến (có hơn 800 dịch vụ mức độ 3 và 8 dịch vụ mức độ
4). Những ứng dụng nội bộ phục vụ chỉ đạo, điều hành đã và đang được khai
thác, mở rộng nhằm nâng cao hiệu quả hoạt động, phục vụ người dân và
doanh nghiệp tốt hơn.
Bên cạnh việc đầu tư cho ứng dụng CNTT thì vấn đề an toàn và bảo mật
thông tin còn chưa thực sự được chú trong đầu tư. Theo phát biểu của Thứ
trưởng Bộ Thông tin và Truyền thông Nguyễn Minh Hồng tại Hội thảo về

Trang 12
công tác an toàn thông tin trong chính phủ điện tử ngày 25/5/2012 tại Hà Nội
đã nhận định: “Vấn đề an toàn thông tin (ATTT) hiện nay đang đặt ra nhiều
thách thức, số liệu thống kê 2011 cho thấy, chỉ có khoảng 35% cơ quan, tổ
chức đã xây dựng và áp dụng chính sách ATTT. Các Cổng/Trang thông tin
điện tử của các cơ quan Nhà nước còn tồn tại nhiều lỗ hổng, chưa áp dụng
những giải pháp đảm bảo ATTT phù hợp. Những vụ việc mất ATTT, vấn nạn
thư rác, tấn công xâm nhập gia tăng ở mức báo động về số lượng, đa dạng về
hình thức và ngày càng tinh vi hơn”.
Theo thống kê của Bkav, tính từ đầu năm 2012 đến nay, mỗi ngày có tới
6 website tại Việt Nam bị tấn công, tương ứng với hơn 2.000 website bị hack
mỗi năm. Đã có 175 website của các cơ quan, doanh nghiệp tại Việt Nam bị
hacker xâm nhập, trong đó có 24 trường hợp gây ra bởi hacker trong nước,
151 trường hợp do hacker nước ngoài. Hầu hết nguyên nhân của các vụ hack
này là do website tồn tại nhiều lỗ hổng.
1.3. Nhu cầu về an toàn thông tin trong ứng dụng tại các cơ quan nhà
nước
Những thông tin trên cho thấy việc lựa chọn giải pháp và đầu tư cho an
toàn thông tin là vấn đề cần được các cơ quan nhà nước chú trọng đầu tư, bên
cạnh đó là việc hoàn thiện hành lang chính sách và pháp lý trong lĩnh vực này
để việc ứng dụng CNTT thực sự có hiệu quả.
Tại Thái Bình, đến nay đã triển khai xây dựng Công thông tin điện tử, hệ

thống thư điện tử và hệ thống mạng văn phòng điện tử liên thông triển khai
cho các sở, ngành và UBND các huyện, thành phố vào năm 2012 và đến cấp
xã phường vào năm 2013. Bên cạnh việc phát triển ứng dụng Công nghệ
thông tin, thì giải pháp an toàn thông tin là nhu cầu được các cơ quan đơn vị
sử dụng quan tâm.

Trang 13
1.4. Một số kỹ thuật mật mã
Kỹ thuật mật mã [1], [9] đóng vai trò thiết yếu trong việc giải quyết vấn
đề an toàn thông tin. Bảng 1.1 liệt kê một số kỹ thuật và công nghệ để giải
quyết yêu cầu xác thực, toàn vẹn, bí mật, chống chối bỏ trong an toàn và bảo
mật thông tin.
Bảng 1.1. Một số kỹ thuật và công nghệ giải quyết yêu cầu an toàn và bảo mật
Yêu cầu
Công nghệ - Kỹ thuật
Bí mật
Mã hóa và giải mã dựa vào khóa
Xác thực
Sử dụng tên và mật khẩu của người dùng, đặc điểm sinh
trắc học, ký số và kiểm tra chữ ký số dựa vào khóa
Tin cậy
Ký số và kiểm tra chữ ký số dựa vào khóa
Chống chối bỏ
Ký số và kiểm tra chữ ký số dựa vào khóa
Toàn vẹn
Tóm lược thông báo
Trao quyền
Áp dụng chính sách kiểm soát truy nhập và quản lý
quyền hạn
Kiểm toán

Lưu nhật ký và sử dụng công cụ kiểm toán
1.4.1. Các hệ mật mã
Hệ mật chính là hệ thống cung cấp các kỹ thuật mã hóa và giải mã dữ
liệu, được phân loại thành hệ mật khóa công khai và hệ mật khóa đối xứng.
Hệ mật khóa đối xứng sử dụng cùng một khóa khi mã hóa và giải mã,
được minh hoạ trong Hình 1.1. Độ an toàn của hệ mật này phụ thuộc chính
vào sự bí mật của khóa.

Hình 1.1. Hệ mật khóa đối xứng đảm bảo tính bí mật và xác thực

Trang 14
Hệ mật khóa công khai sử dụng một cặp khóa (khóa riêng và khóa công
khai), một khóa được sử dụng để mã hóa và khóa còn lại được sử dụng để giải
mã, được minh hoạ trong dưới đây:

Hình 1.2. Hệ mật khoá công khai
Mục đích chính của hệ mật khóa công khai là phân phối khóa và ký số.
Các ứng dụng của hệ mật này gồm có:
- Mã hóa/giải mã: Người gửi mã hóa thông báo với khóa công khai của
người nhận. Người nhận giải mã thông báo bằng khóa riêng của mình.
- Chữ ký số: Người gửi ký số thông báo với khóa riêng của mình. Người
nhận kiểm tra chữ ký số bằng khóa công khai của người gửi.

Trang 15
- Trao đổi khóa: Hai thành viên trao đổi khóa bí mật với nhau bằng cách
mã hóa khóa bí mật với khóa công khai của người nhận và ký số (tùy chọn)
khóa bí mật bằng cách sử dụng khóa riêng của người gửi.
1.4.2. Các thuật toán mật mã
Các thuật toán mật mã được sử dụng trong các hệ mật nêu trên đều dựa
trên 3 loại thuật toán sau:

- Tóm lược thông báo (MD2-4-5, SHA, SHA1, SHA2,…): chuyển thông
báo rõ có độ dài không xác định thành thông báo mã có độ dài xác định.
- Mật mã khóa bí mật (DES, IDEA, RC2-4-5, Triple-DES, AES,…): sử
dụng cùng một khóa cho mã hóa và giải mã.
- Mật mã khóa công khai (DSA, RSA,…): sử dụng một khóa để mã hóa
và một khóa khác để giải mã.
Các thuật toán tóm lược thông báo dựa vào kỹ thuật hàm băm với mục
đích chuyển thông báo rõ có độ dài không xác định (M) thành thông báo mã
có độ dài xác định, ví dụ họ hàm băm MD biến đổi thông báo có độ dài tùy ý
thành thông báo có độ dài 128 bít. Hàm băm thường được sử dụng trong chữ
ký số và mã xác thực thông báo, có hai tính chất cơ bản: với giá trị h(M) cho
trước sẽ không có khả năng tìm được thông báo M, với M cho trước khó có
thể tìm được M‟ sao cho h(M)=h(M‟).
Các thuật toán mật mã dựa trên khóa bí mật có điểm mạnh là nhanh, hiệu
quả, mô hình đơn giản, cung cấp tính bí mật và xác thực (vì chỉ người gửi và
người nhận biết khóa bí mật để mã hóa và giải mã thông báo), nhưng có một
số điểm yếu sau:

Trang 16
- Khóa bí mật phải được chia sẻ cho tất cả các thành viên tham gia trao
đổi dữ liệu, gây rủi ro cao.
- Việc phân phối khóa sẽ tiến hành trên một lượng lớn các khóa bí mật
khi hệ thống có quá nhiều người sử dụng.
Các thuật toán mật mã dựa trên khóa công khai có điểm mạnh là ít rủi ro
(do khóa riêng chỉ người sở hữu biết), cung cấp tính bí mật (vì thông báo
được mã hóa với khóa công khai của người nhận, chỉ người người nhận có
khóa riêng cùng cặp để giải mã), cung cấp tính xác thực (vì thông báo được
mã hóa với khóa riêng của người gửi, đảm bảo thông báo có nguồn gốc từ
người gửi) và chống chối bỏ đã gửi thông báo (vì chỉ người gửi có khóa riêng
cùng cặp để mã hóa), nhưng có một số điểm yếu sau:

- Chậm hơn từ 100 – 1000 lần so với các thuật toán mật mã dựa trên
khóa bí mật, thường được sử dụng để trao đổi khóa bí mật cho các thuật toán
mật mã dựa trên khóa bí mật để mã hóa dữ liệu.
- Vấn đề xác thực cặp khóa: các thành viên trao đổi dữ liệu cần biết rõ
người sở hữu cặp khóa chính là người mà anh ta tự nhận. Điều này được giải
quyết bằng chữ ký số và chứng chỉ khóa công khai.
- Cần phải có cơ chế công bố khóa công khai để người gửi biết được
khóa công khai của người nhận và ngược lại. Điều này được giải quyết bằng
các kỹ thuật phân phối khóa công khai và triển khai hạ tầng khóa công khai.
Trong phần tiếp theo, luận văn sẽ trình bày một số vấn đề về sử dụng mã
hóa khóa công khai để trao đổi khóa bí mật, chữ ký số, phân phối khóa công
khai, chứng chỉ khóa công khai và hạ tầng khóa công khai.
Sử dụng mã hóa khóa công khai để trao đổi khóa bí mật:
Để phân phối khóa bí mật, ta có thể sử dụng một trong hai lược đồ sau:
- Lược đồ phân phối khóa bí mật đơn giản của Merkle:
Khi A muốn truyền thông với B, thủ tục được tiến hành như sau:
1. A tạo ra một cặp khóa {KUa, KRa} và truyền thông báo cho B gồm
KUa và tên của A (IDA).

Trang 17
2. B tạo ra khóa bí mật Ks và gửi cho A sau khi mã hóa với khóa công
khai của A.
3. A tính toán DKRa[EKUa[Ks]] để khôi phục lại khóa bí mật. Chỉ A có
khóa riêng nên giải mã được khóa bí mật. Chỉ A và B biết khóa bí mật Ks.
A và B truyền thông an toàn với nhau bằng cách sử dụng mã hóa đối
xứng với khóa bí mật Ks. Sau khi kết thúc quá trình trao đổi, A và B cùng hủy
bỏ khóa bí mật. Tuy đơn giản nhưng đây là một giao thức hấp dẫn, không có
khóa nào tồn tại trước và sau khi liên lạc, rủi ro do lộ khóa là rất nhỏ, nhưng
có điểm yếu dễ bị tấn công chủ động. Nếu kiểm soát được kênh truyền thông,
đối tượng E có thể dàn xếp cuộc truyền thông mà không bị phát hiện, theo

hình thức sau đây:
1. A tạo ra một cặp khóa {KUa, KRa} và truyền thông báo cho B gồm có
KUa và tên của A (IDA).
E chặn lấy thông báo, tạo ra một cặp {KUe KRe} và truyền KUe || IDA
cho B.
B sinh ra một khóa bí mật Ks và truyền EKUe[Ks] cho A.
E chặn lấy thông báo, biết được Ks bằng cách tính DKRe[EKUe[Ks]].
E truyền EKUa[Ks] cho A.
A và B không biết E đã làm giả Ks và dùng Ks để trao đổi các thông báo.
Không mất nhiều thời gian, E có thể can thiệp vào kênh truyền thông, nghe
trộm và giải mã tất cả các thông báo vì biết Ks.
- Lược đồ phân phối khóa bí mật đảm bảo tính bí mật và xác thực:
Lược đồ sau đây có thể chống lại kiểu tấn công chủ động, đảm bảo tính
bí mật và xác thực trong trao đổi khóa bí mật. Bắt đầu tại thời điểm khi A và
B trao đổi các khóa công khai với nhau trong lược đồ của Merkle, các bước
tiếp theo xảy ra như sau:
1. A sử dụng khóa công khai của B để mã hóa thông báo (1) gửi cho B
có chứa tên của A (IDA) và một nonce N1 để nhận dạng giao dịch này.

Trang 18
2. B gửi thông báo (2) cho A. Thông báo được mã hóa bằng KUa, có
chứa N1 của A và nonce mới N2 do B sinh ra. Do chỉ có B mới có thể giải mã
thông báo (1) nên sự xuất hiện của N1 trong thông báo (2) đảm bảo A đang
liên lạc với B.
3. A trả lại N2, được mã hóa bằng khóa công khai của B để đảm bảo
rằng B đang liên lạc với A.
4. A chọn một khóa bí mật Ks và gửi thông báo (3) M=
EKUb[EKRa[Ks]] cho B. Việc mã hóa thông báo với khóa công khai của B
đảm bảo chỉ có B mới có thể đọc. Việc mã hóa với khóa riêng của A đảm bảo
chính A đã gửi thông báo.

5. B tính toán DKUa[EKRb[M]] để khôi phục khóa bí mật.
1.4.3. Chữ ký số
Chữ ký số là dữ liệu để xác định nguồn gốc và tính toàn vẹn của thông
báo. Người gửi sử dụng khóa riêng của mình để ký số thông báo hay tạo chữ
ký số cho thông báo được gửi đi. Người nhận sử dụng khóa công khai của
người gửi để kiểm tra nguồn gốc thông báo và xác định thông báo không bị
thay đổi trên đường truyền.
Chữ ký số tương tự như chữ ký viết tay và phải có một số tính chất sau:
- Có khả năng kiểm tra chữ ký số và thời gian ký số.
- Có khả năng xác thực các nội dung tại thời điểm ký số.
- Thành viên thứ 3 có thể kiểm tra chữ ký số để giải quyết các tranh
chấp.
Dựa vào các tính chất cơ bản này, chữ ký số có các yêu cầu sau:
- Phải là một mẫu bít phụ thuộc vào thông báo được ký số.
- Phải sử dụng một thông tin duy nhất của người gửi để ngăn chặn tình
trạng làm giả và chối bỏ.
- Được tạo ra dễ dàng.

Trang 19
- Khó có thể làm giả chữ ký số bằng cách tạo ra một thông báo mới cho
một chữ ký số hiện có, hoặc tạo ra một chữ ký số giả mạo cho một thông báo
cho trước.
- Trong thực tế, cần lưu giữ một bản sao của chữ ký số.
Lược đồ ký số và kiểm tra chữ ký số được minh họa trong dưới đây:

Hình 1.3. Lƣợc đồ ký số và kiểm tra chữ ký số
Chữ ký số được tạo ra bằng cách mã hóa giá trị tóm lược (được tạo ra từ
thông báo ban đầu bằng cách sử dụng thuật toán tóm lược) với khóa riêng của
người gửi. Quá trình kiểm tra chữ ký số gồm các bước: sử dụng thuật toán
tóm lược để tạo ra một tóm lược tính được từ thông báo nhận được, giải mã

chữ ký số với khóa công khai của người gửi để thu được tóm lược mong
muốn, so sánh tóm lược mong muốn và tóm lược tính được, nếu trùng nhau
thì chữ ký số là hợp lệ, người nhận có thể tin cậy vào thông báo nhận được,
xác định thông báo không bị làm giả trong quá trình trao đổi và có nguồn gốc
từ người gửi.
Vấn đề của người nhận là bằng cách nào có được khóa công khai của
người gửi và tin cậy khóa công khai này để kiểm tra chữ ký số. Điều này được

Trang 20
giải quyết thông qua kỹ thuật phân phối khóa công khai và chứng chỉ khóa
công khai.
1.4.4. Phân phối khóa công khai
Nhiều kỹ thuật phân phối khóa công khai được đưa ra như khai báo công
khai, thư mục công khai, trung tâm quản lý khóa công khai và chứng chỉ khóa
công khai.
Khi sử dụng kỹ thuật khai báo công khai, mọi đối tượng có thể làm giả
khóa công khai. Khi sử dụng thư mục khóa công khai, việc duy trì và phân
phối thư mục công khai phụ thuộc vào một tổ chức tin cậy nào đó. Khi sử
dụng trung tâm quản lý khóa công khai, việc phân phối khóa công khai được
đảm bảo an toàn cao hơn so với thư mục khóa công khai vì cung cấp các cơ
chế kiểm soát chặt chẽ khi phân phối khóa công khai từ thư mục, nhưng cơ
quan quản lý khóa công khai gần giống như một cổ chai trong hệ thống, người
sử dụng phải yêu cầu cơ quan quản lý cấp khóa công khai cho người sử dụng
khác khi họ muốn liên lạc, phải duy trì thư mục (gồm nhiều entry gồm tên và
khóa công khai của thành viên) – đây chính là điểm yếu dễ bị giả mạo.
Một giải pháp lựa chọn khác là sử dụng chứng chỉ khóa công khai. Các
thành viên trao đổi khóa thông qua chứng chỉ khóa công khai mà không cần
liên lạc với cơ quan quản lý khóa công khai. Khi cần sử dụng khóa công khai,
các thành viên kiểm tra chứng chỉ do cơ quan quản lý phát hành.
1.4.5. Chứng chỉ khóa công khai

Chứng chỉ khóa công khai là sự gắn kết khóa công khai của một thực thể
(con người, thiết bị phần cứng, dịch vụ) với một hoặc nhiều thuộc tính nhận
dạng thực thể, được một cơ quan chứng thực (Certification Authority - viết tắt
là CA) phát hành.
Khi sử dụng mã hóa khóa công khai để mã hóa một thông báo và chuyển
cho người nhận, người gửi cần khóa công khai của người nhận. Khi muốn
kiểm tra chữ ký số trên thông báo nhận được, người nhận cần khóa công khai

Trang 21
của người ký số. Khóa công khai không cần giữ bí mật nhưng người sử dụng
khóa công khai cần đảm bảo rằng, khóa công khai được sử dụng đúng là của
người nhận thông báo hoặc người ký số.
Chứng chỉ khóa công khai giúp cho việc phân phối khóa công khai trở
nên có hệ thống và có một đặc tính rất quan trọng là các chứng chỉ có thể
được phát hành trên các kênh truyền mà không cần đến các kỹ thuật bảo vệ.
Khuôn dạng chứng chỉ khóa công khai được sử dụng phổ biến rộng rãi là
X.509.
Mỗi chứng chỉ gồm có một khóa công khai, thông tin nhận dạng chủ thể
của chứng chỉ và được CA ký số bằng khóa riêng của CA. Khóa công khai
của CA được phân phối cho người sử dụng thông qua một kênh an toàn và tin
cậy, ví dụ phân phối thủ công. Chứng chỉ được phát hành trong một khoảng
thời gian định trước được ghi trên chứng chỉ và nằm trong phần thông tin
được CA ký số. Sau khi chứng chỉ hết hạn, sự ràng buộc giữa khóa công khai
và chủ thể của chứng chỉ không còn hợp lệ và chứng chỉ không còn được tin
cậy, người sử dụng khóa công khai không nên sử dụng khóa công khai có
trong chứng chỉ này trừ khi muốn chứng thực lại hoạt động trước đó, ví dụ
kiểm tra chữ ký số trên một tài liệu cũ.
Lợi ích cơ bản của một hệ thống chứng chỉ là người sử dụng có thể có
được số lượng lớn khóa công khai của các những người sử dụng khác một
cách tin cậy, xuất phát từ thông tin khóa công khai của một CA.

Việc sử dụng khóa công khai có trong chứng chỉ hoàn toàn rất đơn giản
nhưng việc công bố và quản lý các chứng chỉ gặp rất nhiều vấn đề như phát
hành, hủy bỏ, kiểm tra tình trạng trực tuyến, thư mục lưu trữ, chứng thực
chéo. Những vấn đề này được giải quyết thông qua hạ tầng khóa công khai.
1.4.6. Hạ tầng khóa công khai
Hạ tầng khoá công khai (Public-Key Infrastructure - viết tắt là PKI) là hạ
tầng hỗ trợ quản lý và phân phối khóa công khai dựa trên kỹ thuật chứng chỉ

Trang 22
khóa công khai. Phức tạp hơn, PKI gồm một tập các chuẩn, cơ quan chứng
thực, quan hệ giữa các CA, các phương pháp tìm và phê chuẩn đường dẫn
chứng thực, các giao thức vận hành, quản lý, các công cụ chứng thực chéo và
cơ sở luật pháp hỗ trợ. Đây là một mảng nghiên cứu và ứng dụng lớn, luận
văn không đi sâu nghiên cứu về các vấn đề của PKI mà chỉ giới thiệu PKI
X509.
Các thành phần cơ bản của PKI X509 gồm phía nhà cung cấp (cơ quan
chứng thực, cơ quan đăng ký, hệ thống quản lý và phân phối chứng chỉ) và
phía người dùng (các ứng dụng PKI). Mô hình cấp phát chứng chỉ khóa công
khai của PKI X509 được minh họa trong hình dưới dây

Hình 1.4. Mô hình cấp phát chứng chỉ của PKI X509
Người dùng hoặc các dịch vụ ứng dụng có thể đăng ký chứng chỉ trực
tiếp với cơ quan đăng ký (Registration Authority - viết tắt là RA) hoặc từ xa
thông qua Internet, cung cấp thông tin định danh của mình cho RA, có thể là
số chứng minh thư hoặc hộ chiếu tùy thuộc vào các chính sách cụ thể. RA sẽ
gửi yêu cầu và thông tin của người dùng cho CA. Nếu chấp thuận, CA sẽ phát
hành chứng chỉ khóa công khai được CA ký số (gắn kết thông tin định danh
của người dùng với khóa công khai được cấp) cho người dùng và công bố
công khai tại một cơ sở dữ liệu hoặc thư mục lưu trữ nào đó.
Chức năng cơ bản của các thành phần trong PKI X509 như sau:


Trang 23
- Cơ quan chứng thực (CA) sinh cặp khóa, tạo, phát hành, phân phối và
hủy bỏ chứng chỉ khóa công khai, duy trì hệ thống sao lưu và phục hồi khóa,
chứng thực chéo.
- Cơ quan đăng ký (RA) nhận thông tin đăng ký chứng chỉ khóa công
khai (trực tiếp, từ xa, tự động) hoặc thông tin hủy bỏ các chứng chỉ.
- Hệ thống quản lý và phân phối chứng chỉ cung cấp hệ thống thư mục
lưu giữ chứng chỉ khóa công khai và danh sách chứng chỉ bị hủy bỏ
(Certificate Revocation List - viết tắt là CRL).
- Các ứng dụng PKI như đảm bảo an toàn thông tin cá nhân, xử lý chứng
chỉ khóa công khai, đảm bảo truy nhập cơ sở dữ liệu và truyền thông an toàn.
1.5. Kết luận chương
Trong chương này, luận văn nghiên cứu tìm hiểu một số cơ sở nền tảng
để giải quyết vấn đề an toàn thông tin, bao gồm:
Phân tích, tìm hiểu một số khái niệm về an toàn thông tin theo Nghị định
số: 64-2007/NĐ-CP của Chính phủ để có định hướng nghiên cứu phù hợp;
Tìm hiểu về thực trạng về an toàn thông tin trong các cơ quan nhà nước
qua đó đánh giá được nhu cầu về an toàn thông tin;
Tìm hiểu một số kỹ thuật mật mã trong an toàn thông tin đã được nghiên
cứu, đánh giá, chứng minh tính an toàn, tin cậy và hiệu quả trong thực tế làm
cơ sở để giải quyết vấn đề an toàn thông tin trong thực tế.

Trang 24
Chƣơng-2. MỘT SỐ CƠ SỞ MẬT MÃ PHỤC VỤ AN TOÀN
THÔNG TIN
Trong chương 2, luận văn tổng hợp, phân tích một số tiêu chuẩn về an
toàn thông tin, chữ ký số và dịch vụ chứng thực chữ ký số: Đối với mã hoá phi
đối xứng và chữ ký số, áp dụng lược đồ RSA-OAEP theo chuẩn PKCS#1v2.1 [8];
đối với mã hóa đối xứng áp dụng thuật toán mã khối AES [7].

2.1. Lược đồ mã RSA-OAEP
RSA-OAEP (RSA Encryption Scheme – Optimal Asymmetric
Encryption Padding) được đưa ra bởi Bel-lare và Rogaway năm 1994. Mã hóa
khóa công khai RSA-OAEP là sự kết hợp giữa phương pháp mã hóa của
OAEP với mã hóa RSA nguyên thủy. RSA-OAEP sử dụng bản rõ làm đầu
vào, chuyển chúng thành thông báo đã được mã hóa bằng OAEP và áp dụng
RSAEP (RSA encryption primitive) để cho kết quả (dạng số nguyên) sử dụng
một khóa công khai RSA. RSA-OAEP dùng cả hai khả năng bảo mật và được
thiết kể cho việc mã hóa một thông báo ngắn – các khóa bí mật trong mật mã
đối xứng.
2.1.1. Hàm mã hoá RSAES-OAEP
RSAES-OAEP-ENCRYPT((n, e), M,L)
Các lựa chọn:
Hash là hàm băm (hLen ký hiệu độ dài theo byte của
đầu ra hàm băm)
MGF là hàm sinh mặt nạ
Đầu vào:

(n, e) là khoá công khai RSA của người nhận (k ký hiệu
độ dài theo byte của RSA modulo n).
M là thông báo được mã hóa, chuỗi byte có độ dài
mLen với mLen  k –2hLen-2.
L là nhãn tùy chọn liên quan đến thông báo, giá trị mặc
định của L là chuỗi rỗng nếu không được cung cấp.
Đầu ra:
C bản mã, chuỗi byte có độ dài k.
Các lỗi:
“thông báo quá dài”, “nhãn quá dài”.
Giả thiết:
Khoá công khai RSA (n, e) là hợp lệ.


Trang 25
Các bƣớc thực hiện:
Bước1) Kiểm tra độ dài:
a. Nếu độ dài của L lớn hơn giới hạn đầu vào cho hàm băm (2
61
- 1 byte
đối với SHA-1), thì cho ra “nhãn quá dài” và dừng.
b. Nếu mLen > k -2hLen-2 thì cho ra “thông báo quá dài” và dừng.
Bước 2) Chuẩn bị dữ liệu EME-OAEP :
a. Nếu L không được cung cấp thì L là chuỗi rỗng. Đặt lHash=Hash(L),
chuỗi byte có độ dài hLen. Lưu ý, nếu L là chuỗi rỗng, giá trị lHash có biểu
diễn hex sau cho các lựa chọn khác nhau của Hash:
SHA-1: (0x)da39a3ee 5e6b4b0d 3255bfef 95601890 afd80709
SHA-256: (0x)e3b0c442 98fc1c14 9afbf4c8 996fb924 27ae41e4
649b934c a495991b 7852b855
SHA-384: (0x)38b060a7 51ac9638 4cd9327e b1b1e36a 21fdb711
14be0743 4c0cc7bf 63f6e1da 274edebf e76f65fb d51ad2f1 4898b95b
SHA-512: (0x)cf83e135 7eefb8bd f1542850 d66d8007 d620e405
0b5715dc 83f4a921 d36ce9ce 47d0d13c 5d85f2b0 ff8318d2 877eec2f
63b931bd 47417a81 a538327a f927da3e
b. Sinh chuỗi byte PS chứa k-mLen-2hLen byte 0. Độ dài của PS có thể
là 0.
c. Nối lHash, PS, một byte duy nhất với giá trị hexa 0x01 và thông báo
M để tạo nên khối dữ liệu DB có độ dài k- hLen -1: DB = lHash || PS || 0x01 ||
M.
d. Sinh một chuỗi byte ngẫu nhiên seed có độ dài hLen.
e. Đặt dbMask = MGF(seed, k- hLen -1).
f. Đặt maskedDB = DB  dbMask.
g. Đặt seedMask = MGF(maskedDB, hLen).

h. Đặt maskedSeed = seed  seedMask.

×