Tải bản đầy đủ (.docx) (68 trang)

Nghiên cứu ứng dụng chữ ký số trong quá trình gửi nhận tài liệu điện tử

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 (3.34 MB, 68 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN TƯ THỤC

NGHIÊN CỨU ỨNG DỤNG CHỮ KÝ SỐ
TRONG QUÁ TRÌNH GỬI NHẬN TÀI LIỆU ĐIỆN TỬ

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội – 2016


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN TƯ THỤC

NGHIÊN CỨU ỨNG DỤNG CHỮ KÝ SỐ
TRONG QUÁ TRÌNH GỬI NHẬN TÀI LIỆU ĐIỆN TỬ

Ngành: Công nghệ Thông tin
Chuyên ngành: Hệ thống Thông tin
Mã số: 60480104

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Hữu Ngự

Hà Nội – 2016



LỜI CAM ĐOAN
Tôi xin cam đoan luận văn là công trình nghiên cứu của riêng cá nhân tôi,
không sao chép của ai. Do tôi tự nghiên cứu, đọc, dịch tài liệu, tổng hợp thực hiện
và làm theo hướng dẫn của người hướng dẫn khoa học. Nội dung lý thuyết trong
trong luận văn tôi có sử dụng một số tài liệu tham khảo như đã trình bày trong
phần tài liệu tham khảo. Các số liệu, chương trình phần mềm và những kết quả
trong luận văn là trung thực và chưa được công bố trong bất kỳ một công trình
nào khác.
Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình. Nếu có điều
gì sai trái, tôi xin chịu mọi hình thức kỷ luật theo quy định.

Hà Nội, tháng 11 năm 2016
Người cam đoan

Nguyễn Tư Thục


LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến PGS.TS Nguyễn Hữu Ngự
và TS Hồ Văn Hương đã tận tình hướng dẫn, chỉ bảo, giúp đỡ em trong suốt quá
trình làm luận văn.
Em cũng xin gửi lời cảm ơn đến các thầy cô giáo trong Khoa Công nghệ
Thông tin, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã truyền đạt
những kiến thức và giúp đỡ em trong suốt quá trình học tập, nghiên cứu.
Và cuối cùng tôi xin gửi lời cảm ơn tới các đồng nghiệp, gia đình và bạn
bè những người đã ủng hộ, động viên tạo mọi điều kiện giúp đỡ để tôi có được
kết quả như ngày hôm nay.

Hà Nội, tháng 11 năm 2016


Nguyễn Tư Thục


MỤC LỤC
LỜI CAM ĐOAN............................................................................................................... 1
LỜI CẢM ƠN...................................................................................................................... 3
MỤC LỤC............................................................................................................................. 4
DANH MỤC CÁC TỪ VIẾT TẮT............................................................................. 7
DANH MỤC CÁC BẢNG............................................................................................. 8
DANH MỤC CÁC HÌNH VẼ....................................................................................... 8
LỜI MỞ ĐẦU..................................................................................................................... 1
Chương 1. Giao dịch điện tử và các vấn đề bảo đảm an toàn............................ 3
1.1. Giao dịch điện tử........................................................................................................ 3
1.2. An toàn thông tin........................................................................................................ 3
1.3. Các nguy cơ mất an toàn thông tin...................................................................... 4
1.4. Thực trạng mất an ninh an toàn trong giao dịch điện tử.............................4
1.5. Các giải pháp bảo đảm An toàn thông tin........................................................ 5
1.6. Kết luận chương 1..................................................................................................... 6
Chương 2. Cơ sở mật mã ứng dụng trong an toàn bảo mật thông tin.............7
2.1. Tổng quan về hệ mật mã......................................................................................... 7
2.2. Hệ mật mã khóa đối xứng...................................................................................... 8
2.2.1. Khái quát hệ mật mã khóa đối xứng.......................................................... 8
2.2.2. Ưu nhược điểm của hệ mã hóa đối xứng................................................. 9
2.3. Hệ mật mã khóa công khai.................................................................................. 10
2.3.1. Khái quát hệ mật mã khóa công khai...................................................... 10
2.3.2. Ưu nhược điểm của hệ mật mã khóa công khai.................................. 11
2.3.3. Thuật tóa RSA.................................................................................................. 11
2.4. Hàm băm..................................................................................................................... 15
2.4.1. Khái niệm.......................................................................................................... 15

2.4.2. Đặc tính của hàm băm.................................................................................. 15
2.4.3. Một số tính chất cơ bản của hàm băm.................................................... 16
2.4.4. Vai trò của hàm băm...................................................................................... 16
2.5. Chữ ký số.................................................................................................................... 16


2.5.1. Khái niệm.......................................................................................................... 16
2.5.2. Cách tạo chữ ký số......................................................................................... 17
2.5.3. Sơ đồ chữ ký số............................................................................................... 18
2.5.4. Một số chữ ký phổ biến................................................................................ 19
2.5.4.1 Chữ ký RSA................................................................................................ 19
2.5.4.2. Chữ ký Elgamal....................................................................................... 20
2.5.4.3. Chữ ký DSS............................................................................................... 23
2.5.5. Ưu điểm và ứng dụng của chữ ký số....................................................... 24
2.5.5.1. Xác định nguồn gốc................................................................................ 24
2.5.5.2. Tính toàn vẹn............................................................................................ 24
2.5.5.3. Tính không thể phủ nhận...................................................................... 24
2.5.5.4. Ứng dụng của chữ ký số....................................................................... 24
2.5.6. Phân phối khóa công khai........................................................................... 25
2.5.7. Chứng thư số.................................................................................................... 25
2.5.7.1. Các phiên bản chứng thư số................................................................ 26
2.5.8. Hạ tầng khóa công khai................................................................................ 30
2.5.8.1. Chức năng PKI......................................................................................... 31
2.5.8.2. Các thành phần của PKI........................................................................ 31
2.5.8.3. Hoạt động của PKI.................................................................................. 32
2.5.8.4. Các mô hình của PKI............................................................................. 33
2.6. Kết luận chương 2................................................................................................... 34
Chương 3. Giải pháp ứng dụng chữ ký số.............................................................. 35
3.1. Thực trạng ứng dụng chữ ký số trong nước.................................................. 35
3.1.1. Giá trị pháp lý của chữ ký số...................................................................... 35

3.1.2. Hệ thống chứng thư số trong nước........................................................... 36
3.1.3. Dịch vụ chứng thực chữ ký số trong nước............................................ 38
3.2. Khái quát về hệ thống quản lý văn bản và điều hành................................ 39
3.3. Nhu cầu an toàn, an ninh thông tin................................................................... 40
3.4. Giải pháp ứng dụng chữ ký số............................................................................ 40
3.4.1. Giới thiệu mô hình kết nối liên thông..................................................... 40


3.4.2 Giải pháp chữ ký số..................................................................................... 42
3.4.2.1. Xây dựng giải pháp ký số trên nền Web......................................... 42
3.5. Xây dựng ứng dụng................................................................................................ 43
3.5.1. Mô hình giải pháp ký số tài liệu................................................................ 43
3.5.2. Phân tích thiết kế giải pháp......................................................................... 46
3.5.2.1. Chức năng cần thiết của yêu cầu xác thực..................................... 46
3.5.2.2. Phân tích thiết kế các thành phần của mô hình............................ 47
3.6. Kết quả của giải pháp............................................................................................. 49
3.7. Kết luận chương 3................................................................................................... 50
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.............................................................. 51
TÀI LIỆU THẢM KHẢO............................................................................................ 52

Chữ viết tắt
ATTT
AES
CNTT
CA
DDoS
DES
DS
DSS
FIPS PUB

MD 5


OID
PKCS
QLVB&ĐH
RSA
SHA
SSL
TMĐT
URL


DANH MỤC CÁC BẢNG
Bảng 1.1 Tổng hợp số liệu thống kê ATTT Việt Nam 2015............................................ 5
Bảng 3.1 Danh sách các doanh nghiệp được cấp phép................................................... 38

DANH MỤC CÁC HÌNH VẼ
Hình 2.1 Mật mã đối xứng........................................................................................................... 8
Hình 2.2 Mã hóa khóa công khai............................................................................................ 10
Hình 2.3 Sơ đồ biểu diễn thuật toán RSA............................................................................ 12
Hình 2.4 Minh họa hàm băm.................................................................................................... 15
Hình 2.5 Lược đồ tạo và kiểm tra chữ ký số....................................................................... 18
Hình 2.6 X.509 version 3........................................................................................................... 27
Hình 2.7 Mô hình PKI................................................................................................................. 32
Hình 3.1 Hệ thống chứng thực số trong nước.................................................................... 36
Hình 3.3 Chứng thư số Root CA Chính phủ....................................................................... 37
Hình 3.4 Thị trường dịch vụ chứng thực số công cộng.................................................. 39
Hình 3.5 Mô hình liên thông gửi nhận văn bản điện tử.................................................. 41
Hình 3.6 Mô hình xác thực trên Web tổng quan................................................................ 42

Hình 3.7 Mô hình giải pháp ký số.......................................................................................... 43
Hinh 3.8 Thiết bị Token.............................................................................................................. 44
Hình 3.9 Minh họa chứng thư số RootCA........................................................................... 45
Hình 3.10 Minh họa chứng thư số SubCA.......................................................................... 45
Hình 3.11 Minh họa chứng thư số người dùng.................................................................. 46
Hình 3.12 Lược đồ ký số trên hệ thống................................................................................ 47
Hình 3.13 Lược đồ xác thực văn bản ký số......................................................................... 48
Hình 3.14 Giao diện phát hành văn bản............................................................................... 49
Hình 3.15 Văn bản đã được ký số (pdf)................................................................................ 49
Hình 3.16 Văn bản đã được ký số (.docx)........................................................................... 50


LỜI MỞ ĐẦU
1. Đặt vấn đề
Ngày nay cùng với sự phát triển của Công nghệ thông tin, các phương tiện
và công nghệ truyền thông tiên tiến ra đời, trong đó mạng máy tính và đặc biệt là
mạng Internet đã giúp chúng ta giao dịch thông tin thuận tiện và nhanh chóng. Vì
vậy cần có một giải pháp bảo đảm an toàn thông tin (ATTT) trong quá trình giao
dịch điện tử đó. Bảo đảm ATTT là bảo đảm tính bí mật, bảo đảm tính toàn vẹn,
bảo đảm tính xác thực và bảo đảm tính sẵn sàng của thông tin. Việc bảo đảm
ATTT được dựa trên cơ sở về mã hóa thông tin, cơ sở khoa học mật mã phục vụ
ATTT, trong đó những vấn đề liên quan đến thuật toán băm, thuật toán mã hóa và
chữ ký số là các cơ sở chính để thực hiện đề tài.
Được sự đồng ý của thầy hướng dẫn và nhận thấy tính thiết thực của vấn
đề, tôi chọn đề tài: “Nghiên cứu ứng dụng chữ ký số trong quá trình gửi nhận
tài liệu điện tử”.
2. Mục đích của luận văn
Luận văn tìm hiểu các vấn đề về bảo đảm an toàn trong giao dịch điện tử,
các cơ sở khoa học trong bảo đảm an toàn bảo mật dữ liệu như các hệ mã hóa dữ
liệu, hàm băm, ký số.

Nghiên cứu các giải pháp mã hoá để bảo mật thông tin và những phương
pháp, kỹ thuật tạo chữ kí số trên các tài liệu, văn bản điện tử.
Đánh giá thực trạng ứng dụng chữ ký số trong gửi nhận văn bản điện tử
đối với các tổ chức, nghiên cứu hạ tầng khóa công khai PKI và các vấn đề liên
quan đến chứng thư số.
Xây dựng giải pháp ứng dụng chữ ký số trong quá trình gửi nhận văn bản
điện tử trên hệ thống quản lý văn bản và điều hành tại Văn phòng Chính phủ.
3. Đối tượng và phạm vi nghiên cứu
Hệ mã hóa RSA, chữ ký số RSA, hạ tầng khóa công khai PKI cũng như
các vấn đề liên quan đến chứng thư số; hệ thống quản lý văn bản và điều hành là
đối tượng nghiên cứu chính của luận văn nhằm xây dựng ứng dụng chữ ký số
trong gửi nhận tài liệu điện tử.
Phạm vi nghiên cứu: Luận văn nghiên cứu ứng dụng chữ ký số trong quá
trình gửi nhận văn bản điện tử với các định dạng như .docx, pdf trên hệ thống
quản lý văn bản và điều hành đang được dùng tại các cơ quan hành chính nhà
nước.
1


4. Phương pháp nghiên cứu
Tiếp cận phân tích và tổng hợp các tài liệu về mã hoá, hệ mật mã của các
tác giả trong và ngoài nước, các bài báo, thông tin trên mạng.
Tìm hiều chữ ký số RSA, hạ tầng khóa công khai PKI. Từ đó đưa ra giải
pháp xây dựng ứng dụng.
Tìm hiểu các sản phẩm ứng dụng chứng thực số hiện đang được sử dụng,
đánh giá thực trạng ứng dụng chứ ký số trong giao dịch điện tử của các cơ quan,
tổ chức đơn vị trong nước.
Tham khảo, vận dụng và kế thừa các thuật toán, mã nguồn mở, v.v…
5. Bố cục luận văn
Luận văn gồm 3 chương, có phần mở đầu, phần kết luận, phần mục lục,

phần tài liệu tham khảo. Các nội dung cơ bản của luận văn được trình bày theo
cấu trúc như sau:
Chương 1: Gao dịch điện tử và các vấn đề bảo đảm an toàn trong giao
dịch điện tử
Chương này trình bày về các khái niệm an toàn bảo mật thông tin, các
nguy cơ mất ATTT cũng như đánh giá thực trạng về ATTT. Từ đó đưa ra một số
giải pháp để đảm bảo ATTT.
Chương 2: Cơ sở mật mã ứng dụng trong an toàn bảo mật thông tin
Nghiên cứu về cơ sở ứng dụng trong bảo đảm an toàn bảo mật thông tin
như các hệ mật mã, các phương pháp mã hóa, hàm băm, chữ ký số, hạ tầng khóa
công khai, v.v…
Chương 3: Giải pháp ứng dụng chữ ký số trong quá trình gửi nhận tài
liệu điện tử trên hệ thống quản lý văn bản và điều hành
Tìm hiểu về thực trạng ứng dụng chữ ký số, khái quát về hệ thống quản lý
văn bản và điều hành. Qua đó xây dựng giải pháp ứng dụng chữ ký số trong gửi
nhận văn bản điện tử trên hệ thống quản lý văn bản và điều hành.

2


Chương 1. Giao dịch điện tử và các vấn đề bảo đảm an toàn trong giao dịch
điện tử
1.1. Giao dịch điện tử
Giao dịch điện tử là giao dịch được thực hiện bằng phương tiện điện tử.
Ngày nay với nền tảng của công nghệ thông tin hiện đại, giao dịch điện tử cũng
phát triển nhanh chóng, thu hút được sự quan tâm sâu rộng của các quốc gia, các
tổ chức quốc tế và các khối liên kết kinh tế; góp phần quan trọng làm thay đổi
cách thức kinh doanh, giao dịch truyền thống, phong cách sống, học tập, làm việc
của con người; thúc đẩy mạnh mẽ sự tăng trưởng kinh tế, tăng cường hiệu quả
hoạt động và khả năng cạnh tranh của các tổ chức, doanh nghiệp; tạo ra nhiều

ngành nghề sản xuất, kinh doanh, dịch vụ mới như công nghiệp công nghệ thông
tin, dịch vụ thương mại điện tử, dịch vụ tài chính – ngân hàng trực tuyến, dịch vụ
thư điện tử, dịch vụ chữa bệnh qua mạng, giáo dục đào tạo từ xa... Giao dịch điện
tử cũng thúc đẩy “tin học hóa” hoạt động của các cơ quan nhà nước, giúp cho quá
trình gửi nhận các văn bản được thực hiện nhanh chóng, kịp thời và chính xác;
cho phép mọi người dân có thể dễ dàng tiếp cận các dịch vụ công cũng như giám
sát hoạt động của các cơ quan Nhà nước.
1.2. An toàn thông tin
An toàn thông tin là sự bảo vệ thông tin, hệ thống thông tin tránh bị truy
nhập, sử dụng, tiết lộ, gián đoạn, sửa đổi hoặc phá hoại trái phép nhằm đảm bảo
tính nguyên ven, tính bảo mật và tính khả dụng của thông tin.
An toàn thông tin liên quan đến hai khía cạnh đó là an toàn về mặt vật lý
và an toàn về mặt kỹ thuật.
Mục tiêu cơ bản của an toàn thông tin [8]:
+ Đảm bảo tính bảo mật (Confidentiality): Thông tin chỉ được truy cập bởi

những người có thẩm quyền;
+ Đảm bảo tính toàn vẹn dữ liệu (Integrity): Thông tin chỉ được thay đổi bởi những người có thẩm quyền;
+ Đảm bảo tính xác thực (Authentication): Xác thực đúng thực thể cần kết

nối, giao dịch. Xác thực đúng thực thể có trách nhiệm về nội dung thông tin.
+ Đảm bảo tính sẵn sàng (Availability): Thông tin luôn sẵn sàng được sử
dụng bởi những người có thẩm quyền.

3


1.3. Các nguy cơ mất an toàn thông tin
Nguy cơ mất an toàn thông tin về khía cạnh vật lý: là nguy cơ do mất điện,
nhiệt độ, độ ẩm không đảm bảo, hỏa hoạn, thiên tai, thiết bị phần cứng bị hư

hỏng, các phần tử phá hoại như nhân viên xấu bên trong và kẻ trộm bên ngoài.
Nguy cơ bị mất, hỏng, sửa đổi nội dung thông tin: Người dùng có thể vô
tình để lộ mật khẩu hoặc không thao tác đúng quy trình tạo cơ hội cho kẻ xấu lợi
dụng để lấy cắp hoặc làm hỏng thông tin. Kẻ xấu có thể sử dụng công cụ hoặc kỹ
thuật của mình để thay đổi nội dung thông tin (các file) nhằm sai lệnh thông tin
của chủ sở hữu hợp pháp.
Nguy cơ bị tấn công bởi các phần mềm độc hại: Các phần mềm độc hại tấn
công bằng nhiều phương pháp khác nhau để xâm nhập vào hệ thống với các mục
đích khác nhau như: virus, sâu máy tính (Worm), phần mềm gián điệp
(Spyware),...
Nguy cơ xâm nhập từ lỗ hổng bảo mật: lỗ hổng bảo mật thường là do lỗi
lập trình, lỗi hoặc sự cố phần mềm, nằm trong một hoặc nhiều thành phần tạo nên
hệ điều hành hoặc trong chương trình cài đặt trên máy tính.
Nguy cơ xâm nhập do bị tấn công bằng cách phá mật khẩu.
Nguy cơ mất an toàn thông tin do sử dụng e-mai.
Nguy cơ mất an toàn thông tin trong quá trình truyền tin.
Nguy cơ bị các cuộc tấn công mạng, v.v...
1.4. Thực trạng mất an ninh an toàn trong giao dịch điện tử
Giao dịch điện tử là một hoạt động mang lại hiệu quả cao, song một khi
gặp rủi ro thì những thiệt hại đối với các tổ chức, doanh nghiệp cũng không nhỏ.
Theo đánh giá tổng thể, tình hình bảo đảm an toàn thông tin của Việt Nam
đã có những chuyển biến tích cực rõ rệt [1]. Chỉ số an toàn thông tin Việt Nam
năm 2015 (VNISA Index 2015) đã tăng từ mức 39% vào năm 2014 lên 46,4%
vào năm 2015.
Tuy nhiên vẫn còn nhữn bất cập, tồn tại về an toàn thông tin như: Việt Nam
tiếp tục nằm trong danh sách các quốc gia có tỉ lệ lây nhiễm phần mềm độc hại
cao trên thế giới. Chỉ số này của Việt Nam năm 2015 ước tính vào khoảng
64,36%, mặc dù tỉ lệ này có giảm so với năm 2014 nhưng là không đáng kể.
Trong năm 2015, Việt Nam phát hiện 38.177 cuộc tấn công mạng, tăng gấp
2 lần so với năm 2014, trong đó có 5.600 cuộc tấn công lừa đảo

4


(Phishing), 22.200 cuộc tấn công cài phần mềm độc hại (Malware) và 10.377
cuộc tấn công thay đổi giao diện (Deface), trong số đó có 212 cuộc tấn công thay
đổi giao diện vào các hệ thống có tên miền “.gov.vn”
Bảng 1.1 Tổng hợp số liệu thống kê ATTT Việt Nam 2015
TT
Chỉ số an toàn thông tin Việt Nam
1
Tỷ lệ lây nhiễm phần mềm độc hại
2
3
4
5

Qua các thiết bị đa phương tiện

Tấn công mạng
6 Tổng số cuộc tấn công
Tổng số cuộc tấn công thay đổi giao
7

diện
Tổng số cuộc tấn công thay đổi giao

8

diện vào tên miền “.gov.vn’
9 Tổng số cuộc tấn công lừa đảo

Tổng số cuộc tấn công lây nhiễm
10

phần mềm độc hại

Tấn công từ chối dịch vụ (DDoS)
Tỷ lệ số lượt bị tấn công DdoS của
11

Việt Nam so với thế giới
Thư rác
12 Tỷ lệ thư rác phát tán từ Việt Nam
1.5. Các giải pháp bảo đảm An toàn thông tin.
Để đảm bảo ATTT trong giao dịch điện tử chúng ta cần có những giải pháp
phù hợp, hiện nay có nhiều giải pháp cho vấn đề ATTT trong giao dịch điện tử
như:
Giải pháp nền tảng:

5


+ Giảm thiểu nguy cơ từ cơ sở hạ tầng kỹ thuật: Xác định nguồn và

nguyên nhân gây mất ATTT và ứng dụng các giải pháp kỹ thuật tương ứng.
+ Trong sạch và nâng cao chất lượng nguồn nhân: lựa chọn nhân lực quản

trị và vận hành hệ thống, đào tạo và nâng cao ý thức người sử dụng.
+ Hành lang pháp lý: chính sách ATTT; xây dựng và áp dụng các chế tài,

ban hành các quy chế, quy định, thẩm quyền khai thác, sử dụng thông tin.

Các giải pháp đảm bảo ATTT hệ thống:
+ Sử dụng các hệ thống kỹ thuật để bảo vệ hệ thống thông tin: sử dụng hệ

thống phát hiện và chống xâm nhập, chống nghe lén, phá hoại và ăn cắp thông tin
dữ liệu, v.v…
+ Sử dụng các hệ thống thiết bị, phần mềm chất lương cao, ổn định.

Các giải pháp kỹ thuật cụ thể:
+ Kiểm tra mức độ an ninh của các thành phần tham gia hệ thống. Cụ thể

như: kiểm tra các lỗ hổng an ninh đối với toàn bộ hệ thống, kiểm tra các phần
mềm cài cắm nghe lén, v.v…
+ Bảo mật, xác thực các thông tin dữ liệu trong quá trình giao dịch, trao

đổi như sử dụng các kỹ thuật mã hóa, chữ ký số, v.v…
1.6. Kết luận chương 1
Chương 1 đã trình bày một số vấn đề về Giao dịch điện tử, ATTT, các nguy
cơ mất ATTT cũng như đánh giá thực trạng về ATTT. Từ đó đưa ra một số giải
pháp để đảm bảo ATTT.
Chương tiếp theo luận văn sẽ tìm hiểu, nghiên cứu về cơ sở ứng dụng trong
đảm bảo an toàn bảo mật thông tin như các hệ mật mã, các phương pháp mã hóa,
hàm băm, chữ ký số, hạ tầng khóa công khai, v.v…

6


Chương 2. Cơ sở mật mã ứng dụng trong an toàn bảo mật thông tin
2.1. Tổng quan về hệ mật mã
Mật mã được sử dụng để bảo vệ tính bí mật của thông tin khi thông tin
được truyền trên các kên truyền thông công cộng như các kênh bưu chính, điện

thoại, mạng tuyền thông máy tính, mạng Internet, v.v...[2]
Mật mã gắn liền với quá trình mã hóa; tức là gắn với các cách thức để
chuyển đỗi thông tin từ dạng có thể nhận thức được thành dạng không thể nhận
thức được, làm cho thông tin trở thành dạng không thể đọc được. Các thuộc tính
yêu cầu của mật mã hóa là tính bí mật, tính nguyên vẹn, tính xác thực, tính không
bị từ chối và tính chống lặp lại. Mã hóa được sử dụng chủ yếu để đảm bảo tính bí
mật của các thông tin, chứng thực khóa công khai, chữ ký số, v.v..
Một hệ mã bao gồm 5 thành phần (P, C, K, E, D) [2], trong đó:
- P là tập hữu hạn các bản rõ (dữ liệu trước khi mã hóa)
- C là tập hữu hạn các bản mã (dữ liệu sau khi mã hóa)
- K là tập hữu hạn các khóa (khóa công khai, khóa bí mật)
- E là tập các hàm lập mã.
- D là tập các hàm giải mã

Với khóa lập mã ke ∈ K có hàm lập mã:

e ke ∈ E , e k e : P→ C

(2.1)

Với khóa giải mã kd ∈ K có hàm lập mã:

d kd ∈ E , d kd : C → D

(2.2)

d kd ( e ke ( x )) = x , ∀ x ∈ P

(2.3)


Sao cho:

Ở đây x là bản rõ, eke(x) là bản mã.
Quá trình mã hóa được tiến hành bằng cách áp dụng hàm lập mã E lên bản
rõ P, vốn được biểu diễn dưới dạng số, để trở thành thông tin đã mã hóa C.
Quá trình giải mã được tiến hành ngược lại: áp dụng hàm giải D lên thông
tin C để được thông tin đã giải mã P.

7


Hệ mật mã 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 mã khóa đối xứng và hệ mật mã khóa công
khai.
2.2. Hệ mật mã khóa đối xứng
2.2.1. Khái quát hệ mật mã khóa đối xứng
Hệ mật mã khóa đối xứng là hệ mật mã chỉ dùng một khóa duy nhất cho cả
hai quá trình mã hóa và giải mã. Hệ mật mã này có đặc điểm là có thời gian mã
hóa và giải mã tương đối nhanh. Do yậy, hệ mật mã khóa đối xứng thường được
sử dụng để mã hóa những dữ liệu lớn.
Có hai thuật toán được sử dụng chủ yếu trong việc tạo khóa bí mật trong
hệ mật mã khóa đối xứng:
- Loại thứ nhất tác động trên bản rõ theo từng nhóm bits. Từng nhóm bits

này được gọi với một cái tên khác là khối (Block) và thuật toán được áp dụng gọi
là mã hoá khối (Block Cipher). Theo đó, từng khối dữ liệu trong văn bản ban
đầu được thay thế bằng một khối dữ liệu khác có cùng độ dài. Đối với các thuật
toán ngày nay thì kích thước chung của một khối là 64 bits.
Loại thứ hai tác động lên bản rõ theo từng bit một. Các thuật toán áp dụng
được gọi là mã hoá dòng (Stream Cipher). Dữ liệu của văn bản được mã hoá

từng bit một. Các thuật toán mã hoá dòng này có tốc độ nhanh hơn các thuật toán
mã hoá khối và nó thường được áp dụng khi lượng dữ liệu cần mã hoá chưa biết
trước.
Độ an toàn của thuật toán này phụ thuộc vào khóa, nếu để lộ ra khóa này
nghĩa là bất kỳ người nào cũng có thể mã hóa và giải mã dữ liệu trong hệ thống
mã hóa.

Hình 2.1 Mật mã đối xứng


Một số thuật toán nổi tiếng trong mã hoá đối xứng là: DES, Triple DES
(3DES), RC4, AES...
- DES: bản rõ (Plaintext) được mã hoá theo từng khối 64 bits và sử dụng

một khoá là 64 bits, nhưng thực tế thì chỉ có 56 bits mã hoá và giải mã sử dụng 3
khoá [2]. Khối 64 bits của bản rõ đầu tiên sẽ được dùng để tạo khoá, 8 bits còn lại
dùng để kiểm tra tính chẵn, lẻ. DES là một thuật toán được sử dụng rộng rãi nhất
trên thế giới. Hiện tại DES không còn được đánh giá cao do kích thước của khoá
quá nhỏ 56 bits, và dễ dàng bị phá vỡ.
- Triple DES (3DES): 3DES cải thiện độ mạnh của DES bằng việc sử dụng

một mã quá trình mã hoá sử dụng khoá thứ nhất. Sau đó, dữ liệu bị mã hóa được
giải mã bằng việc sử dụng một khoá thứ hai. Cuối cùng, sử dụng khoá thứ ba và
kết quả của quá trình mã hoá trên để mã hoá.
AES: được sử dụng để thay thế cho DES. Nó hỗ trợ độ dài của khoá từ 128
bits cho đến 256 bits. AES là một thuật toán có tốc độ mã hóa và giải mã nhanh,
có khả năng chống được nhiều phương pháp tấn công như vét cạn, kẻ tấn công
đứng giữa, v.v...
2.2.2. Ưu nhược điểm của hệ mã hóa đối xứng
Ưu điểm:

- Có thể thiết kế để đạt tốc độ cao.
- Khóa dùng chung cho mã hóa khóa đối xứng tương đối ngắn.
- Được xem như thành phần cơ bản có thể triển khai để xây dựng các kỹ

thuật mã hóa khác, bao gồm khởi tạo các số ngẫu nhiên, các hàm băm, các thuật
toán tính toán.
- Có thể được kết hợp để tạo ra các thuật toán mã hóa mạnh hơn.

Nhược điểm:
- Trong quá trình truyền thông giữa hai người, khóa phải được giữ bí mật

cho cả hai phía.
- Trong hệ thống mạng lớn, số lượng khóa cần được quản lý nhiều. Do vậy

việc quản lý khóa một cách hiệu quả đòi hỏi sự dụng một bộ phận tin cậy thứ ba
(TTP: Trusted Third Party).
- Khóa bí mật cần được thay đổi thường xuyên.

9


- Kỹ thuật chữ ký số được phát triển từ cơ chế mã hóa khối đối xứng đòi

hỏi sử dụng các khóa lớn cho các hàm xác nhận công khai hoặc là sủ dụng một
TTP.
2.3. Hệ mật mã khóa công khai
2.3.1. Khái quát hệ mật mã khóa công khai
Khác với hệ mật mã khóa đối xứng, hệ mật mã khóa công khai sử dụng
một cặp khóa có liên quan với nhau về mặt toán học để mã hóa và giải mã thông
tin.

Thuật toán mã hóa công khai là thuật toán được thiết kế sao cho khóa mã
hóa khác với khóa giải mã, mà khóa giải mã không thể tính được từ kháo mã hóa.
Khóa mã hóa gọi hòa khóa công khai (public key), khóa giải mã được gọi là khóa
riêng (private key).
Hệ mật mã khóa công khai có tính chất bất đối xứng, tính bất đối xứng
được thể hiện ở chỗ bên giữ khóa công khai chỉ có thể mã hóa dữ liệu, hoặc
kiểm tra chữ ký số chứ không thể giải mã dữ liệu và tạo chữ ký số được.

Hình 2.2 Mã hóa khóa công khai
Quá trình truyền và sử dụng mã hoá khoá công khai được thực hiện như
sau:
Bên gửi yêu cầu cung cấp hoặc tự tìm khoá công khai của bên nhận trên
một server chịu trách nhiệm quản lý khoá.
Sau đó hai bên thống nhất thuật toán dùng để mã hoá dữ liệu, bên gửi sử
dụng khoá công khai của bên nhận cùng với thuật toán đã thống nhất để mã hoá
thông tin được gửi đi.
Khi nhận được thông tin đã mã hoá, bên nhận sử dụng khoá bí mật của
mình để giải mã và lấy ra thông tin ban đầu.
Vói sự ra đời của Mã hóa công khai thì khoá được quản lý một cách linh


hoạt và hiệu quả hơn, người sử dụng chỉ cần bảo vệ khoá bí mật.
Đặc trưng nổi bật của hệ mã hóa công khai là cả khóa công khai và dữ liệu
mã hóa (ciphertext) đều có thể giử đi trên một kên truyền thông tin không an
toàn.
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 mã này gồm có: Mã hóa/giải mã, chữ ký, trao đổi khóa.
Một số hệ mã hóa khóa công khai phổ biến như: RSA, Rabin, Elgaml,
v.v...
2.3.2. Ưu nhược điểm của hệ mật mã khóa công khai

Ưu điểm:
- Chỉ có khóa riêng thì cần được giữ bí mật, tuy nhiên việc xác nhận các

khóa công khai cần được đảm bảo.
- Việc quản trị các khóa trên mạng đòi hỏi sự tồn tại duy nhất một thành

phần tin cậy.
- Cặp khóa riêng và công khai có thể được sử dụng trong thời gian dài.
- Nhiều mô hình khóa công cộng được phát triển hình thành nên các kỹ

thuật chữ ký số hiệu quả. Khóa được sử dụng cho hàm kiểu công khai thì nhỏ hơn
rất nhiều so với dùng khóa đối xứng.
- Trong một mạng lớn, số lượng khóa cần thiết được quan tâm ít hơn so

với việc dùng khóa đối xứng.
Nhược điểm:
- Tốc độ cho các phương thức mã hóa công khai chậm hơn so với các mô

hình khóa đối xứng.
- Kích thước khóa lớn hơn nhiều so với cơ chế mã hóa đối xứng.

2.3.3. Thuật toán RSA
Các đặc điểm chính trong thuật toán mã hóa RSA
Thuật toán RSA được thiết kế dựa trên độ khó của bài toán phân tích ra
thừa số nguyên tố trên tập số nguyên Zn.
Cho số nguyên dương n = p * q, với p, q là 2 số nguyên tố rất lớn (ít nhất
100 ký số). Khi biết n, muốn tìm p, q thì phải giải bài toán phân tích ra thừa số

11



nguyên tố, công việc này đòi hỏi phải thực hiện một số lượng các phép tính vô
cùng lớn.
Thuật toán RSA dựa trên cơ sở hai bài toán:
+ Bài toán Logarith rời rạc.
+ Bài toán phân tích thành thừa số.

Sơ đồ chung của hệ mã hóa RSA [2]:
S=(P,C,K,E,D)
- P là tập hữu hạn các bản rõ (dữ liệu trước khi mã hóa)
- C là tập hữu hạn các bản mã (dữ liệu sau khi mã hóa)
- K là tập hữu hạn các khóa (KE khóa lập mã, KD khóa giải mã)
- E là tập các hàm lập mã.
- D là tập các hàm giải mã

Phương pháp lập mã và giải mã cuả hệ RSA

Hình 2.3 Sơ đồ biểu diễn thuật toán RSA

Tạo khóa:


- Tạo ngẫu nhiên 2 số nguyên tố p, q khác nhau và rất lớn (có số ký tự ít

nhất là 100), sau đó tính:
n = p * q; Ф(n) = (p -1) * (q -1)
- Chọn ngẫu nhiên 1 số e sao cho 1 < e < Ф(n), với e là số nguyên tố cùng
nhau với Ф(n).
- Tính số nghịch đảo d của e đối với Ф(n): 1 < d < Ф(n), ed = 1(mod


Ф(n)).
Ở đây d là số mũ bí mật; e là số mũ công khai.

- Cặp KU = {e, n} được gọi là khoá công khai.
- Cặp KR = {d, n} được gọi là khoá bí mật.
Mã hóa:
Khi bên gửi muốn gửi thông điệp M cho bên nhận với yêu cầu cần bảo mật
thông tin. Bên gửi yêu cầu Bên nhận gửi khoá công khai KU = {e, n}. Bên gửi
dùng khoá công khai KU này để mã hoá thông điệp M thành C theo công thức: C
= Me mod n, sau đó Bên gửi gửi C cho Bên nhận.
Giải mã:
Để giải mã bản mã C, Bên nhận dùng khoá bí mật KR = {d, n} để có thể
khôi phục lại dữ liệu gốc ban đầu do Bên gửi gửi đến thông qua phép toán M =
Cd mod n.
Đặc trưng của hệ RSA
- Không cần phải thiết lập một kênh bảo vệ phức tạp để truyền khóa như

trong hệ mã bí mật.
- Cặp khóa công khai được tạo ra theo một phương pháp đặc biệt có quan

hệ với nhau và được chọn trong nhiều khóa có thể (trong đó nếu khóa này dùng
để mã hóa thi khóa kia dùng để giải mã).
- Ứng với một cặp p, q có thể chọn được nhiều bộ khóa công khai (n; e; d)
- Mọi người trong hệ thống nếu nhận được bản mật C thì cũng không thể

biết được bản rõ P. Với việc chỉ biết khóa mã hóa k e và căn cứ vào các thông tin
về thuật toán thì không thể tìm ra khóa giải mã kd trong thời gian chấp nhận
được (kể cả dùng hệ thống hiện đại nhất để tinh toán).
Độ an toàn của hệ mã hóa RSA [8]:


13


- Hệ mã hóa RSA là tất định, tức là với một bản rõ x và một khóa bí mật d,

thì chỉ có một bản mã y. Tính mật của hệ RSA, chủ yếu dựa vào việc bảo vệ khóa
riêng d và giữ bí mật các số nguyên tố p va q.
- Độ an toàn của hệ mật RSA phụ thuộc vào khả năng giải bài toán phân

tích số nguyên dương n thành tích hai số nguyên tố lớn p và q.
Để xây dựng hệ RSA an toàn n=p.q phải đủ lớn để không có khả năng
phân tích nó về mặt tính toán. Để đảm bảo an toàn, nên chọn các số nguyên tố p
và q từ 100 chữ số trở lên. Thời gian phân tích mã RSA được nêu trong bảng 2.1
Bảng 2.1 Thời gian dự đoán phép tính thuật toán RSA
Số các chữ số trong số được phân tích
50
75
100
200
300
500
Thuật toán RSA sử dụng hai khóa có liên quan với nhau về mặt toán học,
cho nên kẻ tấn công nếu biết được khóa công khai cũng chưa chắc có thể tìm
được khóa bí mật. Tuy nhiên, vẫn có những phương pháp tấn công đối với thuật
toán RSA:
- Vét cạn: không gian khóa của RSA là rất lớn vì vậy tấn công theo hướng

này là không thể thực hiện được.
- Phương pháp phân tích toán học: Phân tích n là một số nguyên lớn thành


2 thừa số nguyên tố p và q. Tuy nhiên, việc phân tích một số nguyên lớn ra số
nguyên tố là rất khó khăn, với tốc độ của máy tính hiện nay cũng không thể đáp
ứng được việc phân tích số nguyên tố lớn trong thời gian đa thức nếu các số p, q
được chọn là lớn. Thời gian phân tích xem bảng 2.1.
- Xác định trực tiếp Ф(n) không thông qua p và q.
- Xác định trực tiếp d không thông qua Ф(n).

Ứng dụng RSA:
14


Tiêu chuẩn RSA được ứng dụng rộng rãi trong nhiều lĩnh vực như chữ ký
số, thương mại điện tử, bảo mật, xác thực,v.v… Trong Thông tư 6/2015/TTBTTTT ngày 23/03/2015 của Bộ trưởng Bộ Thông tin và Truyền thông công bố
Danh mục tiêu chuẩn kỹ thuật về ứng dụng công nghệ thông tin trong cơ quan
nhà nước quy định khuyến nghị áp dụng tiêu chuẩn RSA, là một trong những giải
thuật mã hóa và được xếp vào nhóm Tiêu chuẩn về an toàn thông tin.
2.4. Hàm băm
2.4.1. Khái niệm
Hàm băm là một giải thuật nhằm sinh ra các giá trị băm tương ứng với
mỗi khối dữ liệu. Giá trị băm đóng vai trò gần như một khóa để phân biệt các
khối dữ liệu [10].

Hình 2.4 Minh họa hàm băm
- Giá trị đầu vào là dữ liệu có độ dài bất kỳ.
- Giá trị đầu ra là dữ liệu có độ dài cố định.

2.4.2. Đặc tính của hàm băm
Hàm băm h là hàm một chiều (one - way hash ) với các đặc tính sau:
- Với thông điệp đầu vào x thu được bản băm z = h(x) là duy nhất.
- Nếu dữ liệu trong thông điệp x thay đổi hay bị xóa để thành thông điệp x’


thì h(x’) #h(x). Cho dù chỉ có một sự thay đổi nhỏ hay chỉ là xóa đi một bit dữ
liệu của thông điệp thì giá trị băm cũng vẫn thay đổi.


Điều này có nghĩa là: hai thông điệp hoàn toàn khác nhau thì giá trị hàm
băm cũng hoàn toàn khác nhau. Nội dung của thông điệp gốc không thể bị suy ra
từ giá trị hàm băm. Nghĩa là với thông điệp x thì dễ dàng tính được z = h(x),
nhưng lại không thể tính suy ngược lại được x nếu chỉ biết giá trị hàm băm h(x).
2.4.3. Một số tính chất cơ bản của hàm băm
- Có thể áp dụng với thông báo đầu vào có độ dài bất kỳ.
- Tạo ra giá trị băm y = h(x) có độ dài cố định.
- h(x) dễ dàng tính được với bất kỳ giá trị của x.
- Tính một chiều: với mọi đầu ra y cho trước không thể tìm được x’ sao

cho h(x’) bằng giá trị y cho trước.
- Tính chống xung đột yếu: với mọi dữ liệu đầu vào x1 cho trước không

thể tìm được bất kỳ giá trị x2 nào (x2 ≠ x1) mà h(x2) = h(x1).
- Tính chống xung đột mạnh: không thể tính toán để tìm được 2 dữ liệu

đầu vào x1 và x2 phân biệt sao cho chúng có cùng giá trị băm (h(x2) = h(x1)).
2.4.4. Vai trò của hàm băm
- Bảo vệ tính toàn vẹn và phát hiện xâm nhập thông điệp được gửi qua

mạng bằng cách kiểm tra giá trị băm của thông điệp trước và sau khi gửi nhằm
phát hiện những thay đổi cho dù là nhỏ nhất.
- Được dùng trong quá trình tạo chữ kí số trong giao dịch điện tử.

Một số hàm băm thông dụng:

Các hàm băm dụng MD (MD2, MD4, MD5) do Rivest đề xuất. Giá trị băm
theo các thuật toán này có độ dài cố định là 128 bit.
Hàm băm an toàn SHA, SHA1, SHA2 . Giá trị băm theo thuật toán này có
độ dài cố định là 160 bit.
2.5. Chữ ký số
2.5.1. Khái niệm
Chữ ký số là mô hình sử dụng các kỹ thuật mật mã để gắn với mỗi người
sử dụng một cặp khóa công khai - bí mật và qua đó có thể ký các văn bản điện tử
cũng như trao đổi các thông tin mật. Khóa công khai thường được phân phối
thông qua chứng thực khóa công khai. Quá trình sử dụng chữ ký số bao gồm 2
quá trình: tạo chữ ký và kiểm tra chữ ký.

16


×