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

Chữ ký điện tử và ứng dụng

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 (2.4 MB, 75 trang )

Mục lục
Hình vẽ ............................................................................................................... 4
GIỚI THIỆU CHUNG ....................................................................................... 6
Chương 1: Tổng quan về mật mã ....................................................................... 8
1.

Định nghĩa ............................................................................................... 8

2, Mật mã khóa đối xứng................................................................................ 9
3, Mật mã khóa công khai ............................................................................ 10
4, Hàm băm .................................................................................................. 11
5. Một số ví dụ .............................................................................................. 14
Bảo mật đường truyền SSL ...................................................................... 14
Lưu trữ cơ sở dữ liệu ................................................................................ 15
Bảo mật thông tin cá nhân ........................................................................ 16
6, Mã xác thực (MAC) ................................................................................. 17
7, Chữ ký số .................................................................................................. 18
Chương 2: Chữ ký điện tử ................................................................................ 20
1, Khái niệm và tính chất.............................................................................. 20
1.1, Khái niệm chữ ký điện tử .................................................................. 20
1.2, Đặc điểm............................................................................................ 21
2, Chữ ký số và chứng thư số ....................................................................... 22
2.1, Chữ ký số........................................................................................... 22
2.2, Chứng thư số ..................................................................................... 24
3, Các phương thức xác thực ........................................................................ 31
3.1, Xác thực bằng mật khẩu .................................................................... 31
3.2, Xác thực được bảo vệ thông qua SSL ............................................... 32
3.3, Xác thực theo session và hàm băm ................................................... 33
3.4, Xác thực thông qua OTP ................................................................... 33
3.5, Xác thực bằng chứng thư số .............................................................. 34
4, Phương pháp ký ........................................................................................ 36


1


4.1, Tổng quan .......................................................................................... 36
4.2, Kiểm tra chứng thư số ....................................................................... 36
Chương 3: Ứng dụng của chữ ký số trong chính phủ điện tử tại Việt Nam ... 38
1, Mô hình cung cấp chứng thư số ............................................................... 38
1.1, Cấu trúc phân tầng ............................................................................. 38
1.2, Cấu trúc xác thực chéo từng thành phần ........................................... 39
1.3, Mô hình lai ........................................................................................ 40
1.4, Xác thực bắc cầu ............................................................................... 42
2, Hạ tầng khóa công khai ............................................................................ 43
2.1, Hệ thống ở Việt Nam ........................................................................ 43
2.2, Cây chứng thư số ............................................................................... 44
2.3, Phân loại ............................................................................................ 45
3, Ứng dụng chữ ký số tại Quận Long Biên ................................................. 46
3.1 Hạ tầng công nghệ thông tin .............................................................. 46
3.2, Hiện trạng sử dụng chữ ký số ở Long Biên ...................................... 49
3.3, Đánh giá ............................................................................................ 53
Chương 4: Đề xuất giải pháp và Cài đặt thử nghiệm ....................................... 55
1, Đề xuất giải pháp ...................................................................................... 55
1.1, Tiếp cận mô hình ............................................................................... 55
1.2, Môi trường và ứng dụng triển khai ................................................... 59
2, Chương trình ký văn bản .......................................................................... 60
2.1, Mô hình mô tả nghiệp vụ .................................................................. 60
2.2, Hình ảnh ứng dụng ............................................................................ 62
3, Một số các xử lý, xây dựng hệ thống ....................................................... 66
3.1, Ký số.................................................................................................. 66
3.2, Xác thực chữ ký................................................................................. 66
3.3, Cài đặt EJBCA .................................................................................. 67

3.4, Sinh chứng thư .................................................................................. 72

2


4, Đánh giá ưu nhược điểm .......................................................................... 73
Kết luận ............................................................................................................ 74
Tài liệu tham khảo ............................................................................................ 75

3


Hình vẽ
Hình 1: Mô tả định nghĩa mật mã....................................................................... 9
Hình 2: Mô hình mô tả sử dụng khóa đối xứng ................................................. 9
Hình 3: Mô hình mô tả sử dụng hệ mật mã khóa công khai ............................ 11
Hình 4: ánh xạ giữa thông điệp và giá trị băm không phải là song ánh ........... 12
Hình 5: Gửi dữ liệu đi ...................................................................................... 13
Hình 6: Nhận dữ liệu ........................................................................................ 13
Hinh 7: Mô tả tạo và kiểm định chữ ký số ....................................................... 14
Hình 8: Ứng dụng mã hóa trong bảo mật đường truyền .................................. 15
Hình 9: Ứng dụng hàm băm trong lưu trữ mật khẩu ........................................ 16
Hình 10: Ứng dụng mã hóa trong bảo vệ thông tin cá nhân ............................ 16
Hình 11: Xác thực thông điệp .......................................................................... 17
Hình 12: Mô hình mô tả chữ ký số ................................................................... 19
Hình 13: Mô hình mô tả giải mã dữ liệu. ......................................................... 19
Hình 14: Mô hình mô tả tạo chữ ký số ............................................................. 23
Hình 15: Mô hình mô tả kiểm tra chữ ký số .................................................... 24
Hình 16: Mô hình chứng thư số chuẩn X509 ................................................... 25
Hình 17: Mô hình chứng thư số được gán vào khối dữ liệu ............................ 26

Hình 18: Mô hình ứng dụng chứng thư số trong giải mã chữ ký ..................... 26
Hình 19: Các phiên bản chứng thư số .............................................................. 27
Hình 20: Chứng thư số dành cho doanh nghiệp ............................................... 29
Hình 21: Chứng thư số dành cho cá nhân ........................................................ 30
Hình 22: Chứng thư số dành cho tên miền ....................................................... 31
Hình 23: Xác thực bằng mật khẩu .................................................................... 32
Hình 24: Xác thực được bảo vệ thông qua SSL ............................................... 32
Hình 25: Xác thực theo session và hàm băm ................................................... 33
Hình 26: Xác thực thông qua OTP ................................................................... 34
Hình 27: Xác thực bằng chứng thư số .............................................................. 35
4


Hình 28: Tổng quan về ký số và chứng thực chữ ký số ................................... 36
Hình 29: Kiểm tra tính hiệu lực của chứng thư ................................................ 37
Hình 30: Cấu trúc hệ thống CA phân tầng ....................................................... 38
Hình 31: Cấu trúc hệ thống CA xác thực chéo................................................. 40
Hình 32: Cấu trúc hệ thống CA lai ................................................................... 41
Hình 33: Cấu trúc hệ thống CA bắc cầu ........................................................... 42
Hình 34: Cấu trúc hệ thống CA ở Việt Nam .................................................... 43
Hình 35: Cấu trúc hệ thống CA công cộng ở Việt Nam .................................. 44
Hình 36: Mô tả quá trình tạo chứng thư số ...................................................... 45
Hình 37: Phân loại chứng thư số ở Việt Nam .................................................. 46
Hình 38: Hành chính nội bộ - thông tin chữ ký............................................... 50
Hình 39: Hành chính nội bộ - Phần mềm ký số JSignPDF .............................. 51
Hình 43: Hành chính nội bộ - Nhập PIN token ................................................ 51
Hình 41: Hành chính nội bộ - Tệp ký ............................................................... 52
Hình 44: Hành chính nội bộ - Kết quả ký ........................................................ 52
Hình 45: Tổng quan Mô hình ứng dụng ........................................................... 55
Hình 46: Minh họa chức năng ký điện tử ......................................................... 59

Hình 47: Ví dụ - Mô tả nghiệp vụ .................................................................... 60
Hình 48: Ví dụ - Mô hình ký số ....................................................................... 61
Hình 49: Ví dụ - Xác thực chữ ký số................................................................ 61
Hình 50: Ví dụ - Văn bản sau khi ký ................................................................ 65
Hình 51: Ví dụ - Sinh chứng thư số ................................................................. 73

5


GIỚI THIỆU CHUNG
Khoa học mật mã đã ra đời từ hàng nghìn năm. Tuy nhiên, trong suốt nhiều
thế kỷ, các kết quả của lĩnh vực này hầu như không được ứng dụng trong các lĩnh
vực dân sự thông thường của đời sống xã hội mà chủ yếu được sử dụng trong lĩnh
vực quân sự, chính trị, ngoại giao... Ngày nay, các ứng dụng mã hóa và bảo mật
thông tin được sử dụng phổ biến trong các lĩnh vực khác nhau, từ các lĩnh vực an
ninh, quân sự, quốc phòng cho đến các lĩnh vực dân sự như thương mại điện tử,
ngân hàng…
Cùng với sự phát triển của khoa học máy tính và Internet, các nghiên cứu và
ứng dụng của mật mã học ngày càng trở nên đa dạng hơn, mở ra nhiều hướng
nghiên cứu chuyên sâu vào từng lĩnh vực ứng dụng đặc thù với những đặc trưng
riêng. Ứng dụng của khoa học mật mã không chỉ đơn thuần là mã hóa và giải mã
thông tin mà còn bao gồm nhiều vấn đề khác nhau cần được nghiên cứu và giải
quyết, ví dụ như chứng thực nguồn gốc nội dung thông tin (kỹ thuật chữ ký điện tử),
chứng nhận tính xác thực về người sở hữu mã khóa (chứng nhận khóa công cộng),
các quy trình giúp trao đổi thông tin và thực hiện giao dịch điện tử hoàn toàn trên
mạng..
Sự phát triển công nghệ thông tin cho phép chúng ta có thể xây dựng và phát
triển chính phủ điện tử với các thủ tục hành chính công hỗ trợ rất nhiều cho người
dân trong việc trao đổi thông tin và hoàn thiện các thủ tục hành chính. Tuy nhiên,
nó cũng đặt ra vấn đề về bảo mật và an toàn trong việc trao đổi thông tin. Các thông

tin truyền đi phải đảm bảo tính chính xác, không bị sửa đổi và trong môi trường
hành chính công thì càng phải đảm bảo tính bảo mật thông tin xác thực đúng người
gửi và người nhận.
Chính vì thế, để xác thực thông tin, gắn trách nhiệm của một thực thể nào đó
với một thông tin, cũng như đảm bảo tính toàn vẹn, thông tin truyền đi không bị sai
lệch, sửa đổi ngoài ý muốn, con người đã tạo ra chữ ký số. Xuất phát từ thực tế trên
việc nghiên cứu chữ ký số và ứng dụng của nó trong môi trường giao dịch điện tử là
vô cùng quan trọng, thiết thực và có ý nghĩa to lớn.
Chữ ký số là một dạng chữ ký điện tử dựa trên cơ sở hạ tầng khóa công khai
(PKI - Public Key Infrastructure). Nó là một xác minh điện tử ngang bằng với một
chữ ký truyền thống trên giấy: có giá trị duy nhất, có thể kiểm chứng được và chỉ
người ký mới có thể tạo ra nó. Thông điệp hay tài liệu dù đã được mã hóa hay chưa,
hễ có chữ ký điện tử thì cũng đảm bảo được rằng thông tin trong đó không bị xâm
phạm trong quá trình lưu chuyển.

6


Các chính phủ, doanh nghiệp, cá nhân muốn hội nhập vào cuộc cách mạng số
hóa đều phải dùng chữ ký số. Việc ứng dụng chữ ký số ở mỗi tổ chức mỗi kết cấu
hạ tầng lại khác nhau. Vì vậy, việc nghiên cứu kiến trúc cơ sở và các mô hình hiện
nay là rất cần thiết. Nó giúp chúng ta đánh giá rủi ro cho từng mô hình, và có cái
nhìn tổng quan hơn, cũng như những cải tiến cần thiết cho các ứng dụng chứng thực
chữ ký số hiện này trong ứng dụng chính phủ điện tử.
Mục đích của đề tài này là nghiên cứu về các cơ sở lý thuyết và ứng dụng của
chữ ký số trong các dịch vụ công của chính phủ điện tử. Nội dung của luận văn bao
gồm:
 Tìm hiểu cơ sở lý thuyết chữ ký điện tử và định dạnh chữ ký số cùng các hệ
thống liên quan.
 Tìm hiểu về chứng thư số và mô hình hệ thống chứng thư số công cộng ở

nước ta hiện nay và ứng dụng thực tế tại Quận Long Biên.
 Xây dựng chương trình ứng dụng mô phỏng hệ thống hành chính công của
quận có tích hợp chữ ký điện tử.

7


Chương 1: Tổng quan về mật mã
1. Định nghĩa
Mật mã đã được tìm thấy trong các văn bản cổ đại từ khoảng bốn nghìn năm
trước trong nền văn minh Ai Cập cổ đại. Mật mã được sử dụng rộng rãi trên khắp
thế giới để giữ bí mật cho việc chuyển nhận thông tin trong nhiều lĩnh vực của con
người và các quốc gia, đặc biệt là trong các lĩnh vực quân sự,chính trị, ngoại giao..
Bước sang thế kỷ 20, với những tiến bộ của kỹ thuật tính toán và truyền thông,
ngành mật mã cũng có những tiến bộ vượt bậc. Các văn bản, các mật mã trước đây
được viết bằng ngôn ngữ thông thường nay được chuyển thành kỹ thuật số thành
các dãy tín hiệu nhị phân và các phép biến đổi trên dãy ký tự được chuyển thành các
phép biến đổi trên dãy nhị phân, dãy số. Việc thực hiện các phép mật mã, giải mã
trở thành việc thực hiện các hàm số học.
Định nghĩa: Một hệ mật mã là một bộ năm
S = (P, C, Қ, E, D)
trong đó:
 P là một tập hữu hạn các bản rõ;
 C là một tập hữu hạn các bản mã
 Қ là một tập hữu hạn các khóa
 E là một ánh xạ từ Қ x P vào C, được gọi là phép lập mật mã;
 D là một ánh xạ từ Қ x C vào P, được gọi là phép giải mã.
Hai hàm E và D phải thỏa mãn điều kiện:
D(k, E(k,m))= m


(1)

với mọi k thuộc K, m thuộc P.
Điều kiện (1) đảm bảo việc giải mã duy nhất thông điệp khi biết khóa.
Ví dụ: Thuật toán rand AES crt-mode
Trong đó:
- K: các xâu nhị phân 128bit
- C, P: các xâu nhị phân độ dài tùy ý.
- E, D: định nghĩa như hình 1

8


Hình 1: Mô tả thuật toán AES crt-mode
Hình 1: Chọn IV là một số ngẫu nhiên 128bit, ta chia văn bản thành các khối
m(i) độ dài 128 bit và XOR khối I với hàm AES(k,IV+i). Sau đó đính kèm IV ngẫu
nhiên cùng bản mã.
Các hệ mật mã được chia làm hai loại: mật mã khóa đối xứng và mật mã khóa
công khai.
 Mật mã khóa đối xứng: quá trình mã hoá và giải mã sử dụng một khóa
chung. Bên gửi và bên nhận phải trao đổi khóa trước khi truyền tin.
 Mật mã khóa công khai: Quá trình mã hoá và giải mã sử dụng hai khóa
phân biệt gọi là khóa công khai và khóa riêng. Một khóa được sử dụng để
mã hóa, một khóa được sử dụng để giải mã.

2, Mật mã khóa đối xứng
Trong sơ đồ này, Người gửi và người nhận cùng có một khóa chung k, được
giữ như bí mật riêng của hai người, dùng cả cho lập mật mã và giải mã. Mỗi lần
truyền tin cả người gửi A và người nhận B phải cùng sử dụng chung khóa k, sau đó
người gửi dùng hàm E với khóa k để lập mật mã cho thông báo gửi đi và người

nhận dùng hàm D với khóa k để giải mã bản mật mã nhận được, ta gọi những hệ
mật mã với cách sử dụng đó là mật mã khóa đối xứng.
Mô hình mã hóa sử dụng khóa đối xứng được mô tả như hình 2.

Hình 2: Mô hình mô tả sử dụng khóa đối xứng
9


Điểm yếu nhất của phương pháp mã hóa này là ở quá trình quản lý và trao đổi
khóa. Do chỉ sử dụng một khóa duy nhất cho cả 2 quá trình mã hóa và giải mã nên
người gửi và người nhận phải tìm cách thỏa thuận hoặc trao đổi khóa với nhau một
cách an toàn trước khi thực hiện các chức năng mã hóa/giải mã tương ứng. Điều này
không phải dễ dàng với một môi trường mạng rộng lớn và thay đổi liên tục như
mạng Internet. Khóa được sử dụng để mã hóa ở đây là một chuỗi dữ liệu bất kỳ.
Tuy nhiên phương pháp này có những ưu điểm nhất định, làm cho nó vẫn còn
được sử dụng cho đến ngày này, như tốc độ mã hóa cao hơn, kích thước dữ liệu
không bị thay đổi nhiều so với phương pháp mã hóa sử dụng khóa đối xứng.

3, Mật mã khóa công khai
Sự ra đời của hệ mật mã khóa công khai được khởi đầu từ ý tưởng của
W.Diffie và M.E.Hellman vào tháng 6/1976 tại Hội nghị quốc gia hàng năm AFIPS
của Hoa kỳ trong bài Multiuser cryptographic techniques. Một năm sau, năm 1977,
R.L.Rivest, A. Shamir, L.M. Adleman đã đề xuất một hệ cụ thể về mật mã khóa
công khai mà độ khó của nó dựa vào bài toán phân tích một số nguyên thành các
thừa số nguyên tố, hệ này mang tên là RSA và được sử dụng rộng rãi trong thực tiễn
trong an toàn thông tin từ đó đến nay. Ngoài ra còn một số hệ mã khóa khác như: hệ
McEliece, hệ Merkle-Hellman, hệ mật mã ElGamal.
Trong hệ mật mã này: hai hàm lập mã và giải mã là khác nhau, không nhất
thiết phải phụ thuộc cùng một khóa. Nếu ta xác định mỗi khóa k gồm có hai phần
k=( pk, sk), pk dành cho việc lập mật mã, sk dành cho việc giải mã thì các hàm lập

mã và giải mã thỏa mã điều kiện:
với mọi m thuộc P

D(sk, E(pk,m))=m

Hệ này được gọi là hệ mã hóa khóa công khai vì khi tham gia vào quá trình
trao đổi thông tin người dùng A sẽ công khai một khóa pk cho người dùng B.

10


Mô hình mã hóa sử dụng khóa phi đối xứng được mô tả như sau:

Hình 3: Mô hình mô tả sử dụng hệ mật mã khóa công khai
Điểm yếu của phương pháp này là tốc độ mã hóa chậm và dữ liệu được mã
hóa thường có kích thước lớn hơn nhiều lần so với dữ liệu ban đầu. Trong những
ứng dụng đòi hỏi vừa phải có tốc độ cao vừa phải an toàn, người ta sử dụng kết hợp
cả hai phương pháp trên. Trong đó, mật mã khóa công khai dùng để trao đổi khóa,
mật mã đối xứng dùng để mã hóa.

4, Hàm băm
Hàm băm H là hàm tính được “hiệu quả”:
H:{0,1}* -> {0,1}d
Nó ánh xạ một xâu độ dài bất kỳ thành một xâu có độ dài cố định gọi là mã băm.
Để an toàn hàm băm H nên thỏa mãn các yêu cầu:
1) Tính một chiều: với một mã băm h cho trước, không thể tìm lại được x sao cho:
h = H(x)
2) Tính chống trùng yếu: cho trước một x, không thể tìm y khác x sao cho:
H(x) = H(y)
3) Tính chống trùng mạnh: không thể tìm ra cặp x, y bất kỳ, x khác y sao cho:

H(x) = H(y)
hay nói cách khác nếu H(x) = H(y) thì có thể chắc chắn rằng x = y
11


Hình 4: ánh xạ giữa thông điệp và giá trị băm không phải là song ánh
Kích thước của input x là bất kỳ còn kích thước của h là nhỏ, ví dụ giả sử kích
thước của x là 512 bit còn kích thước của h là 128 bit. Như vậy trung bình có
khoảng 2384 giá trị x mà có cùng giá trị h. việc trùng là không thể loại bỏ. Tính
chống trùng mạnh của hàm băm là yêu cầu rằng việc tìm ra hai input x như vậy thì
phải là rất khó về mặt thời gian tính toán.
Một số yêu cầu khác của hàm băm
 Hàm băm tạo nên dấu vân tay (tức là thông tin đặc trưng) của một tệp, mẩu
tin hay dữ liệu
h = H(M)
 Nén mẩu tin có kích thước tùy ý về dấu vân tay có kích thước cố định.
 Hàm băm được giả thiết là công khai, mọi người đều biết cách sử dụng.
Hằm băm thường được ứng dụng trong việc lưu mật khẩu, download file và
tạo chữ ký điện tử. Mật khẩu thường không được lưu trữ trực tiếp trên cơ sở dữ liệu
mà chỉ được lưu dạng mã băm.
Sau khi download file người ta cần kiểm tra tính toàn vẹn của dữ liệu. Người
ta sẽ tóm lược dữ liệu dựa trên nguyên lý của hàm băm trong đó một dữ liệu đầu
vào D của hàm băm sẽ cho kết quả là một dữ liệu d. Trong đó kích thước của „d‟
thông thường nhỏ hơn „D‟ (và thường có độ dài cố định). Người ta dùng „d‟ và hàm
băm tương ứng như là dữ liệu để kiểm tra tính toàn vẹn của „D‟.

12


Sơ đồ mô tả phương pháp tóm lược thông điệp được mô tả theo như hình 5 và

hình 6:

Hình 5: Gửi dữ liệu đi

Hình 6: Nhận dữ liệu

13


Trong hệ chữ ký điện tử, người ta thực hiện tác tử ký lên H(X) thay vì X là sử
dụng (X, DS(H(X)) như văn bản đã ký
X

H

H(X)

Concatenation

DA

X*DA(H(X))

C
Bộ tạo chữ ký
DA(H(X))

EA
0 - Accept


+

X*DA(H(X))
H

1 - Reject

H(X)

Bộ kiểm định chữ ký
Hinh 7: Mô tả tạo và kiểm định chữ ký số

5. Một số ví dụ
Với các phương pháp mã hóa, ngoài bản thân ứng dụng trực tiếp của nó là mã
hóa dữ liệu ra thì còn được sử dụng vào nhiều mục đích khác nhau như để định
danh người dùng, đảm bảo sự toàn vẹn của dữ liệu... Trong thực tế người ta thường
kết hợp hai phương pháp mã hóa đối xứng và mã hóa công khai để tận dụng ưu
điểm của cả hai phương pháp này. Quá trình kết hợp ưu điểm hai phương pháp này
được sử dụng phổ biến trong bảo mật đường truyền SSL
Bảo mật đường truyền SSL
Mô hình SSL là mô hình ứng dụng kết hợp giữa khóa đối xứng và khóa công
khai tận dụng ưu điểm của cả hai phương pháp này trong mô hình Bảo mật đường
truyền internet.

14


Hình 8: Ứng dụng mã hóa trong bảo mật đường truyền
Mô hình SSL được thực hiện như hình vẽ 4, trong đó:
-


Client yêu cầu cấp một phiên làm việc

-

Server trả về khóa công khai của server cho client

-

Client sử dụng sử dụng khóa công khai để mã hóa, gửi khóa phiên thống nhất
cho phiên làm việc.

-

Server sử dụng khóa riêng giải mã để lấy khóa phiên làm việc.

Trong suốt quá trình làm việc server và client sử dụng khóa phiên mã hóa đối
xứng để thực hiện các thao tác. Sau quá trình thống nhất khóa, quá trình thực hiện
các thao tác được bảo vệ hết sức an toàn.
Lưu trữ cơ sở dữ liệu
Các hệ thống lưu trữ mật khẩu dưới dạng bản rõ là không an toàn. Hiện nay
người ta sử dụng mật mã để mã hóa mật khẩu, mật khẩu được lưu khi đã qua dạng
mã hóa và việc đăng nhập thực hiện khi so sánh giá trị mã hóa này với nhau.

15


Hình 9: Ứng dụng hàm băm trong lưu trữ mật khẩu
Bảo mật thông tin cá nhân
Một ví dụ về bảo mật thông tin cá nhân đó là bảo vệ máy tính trước các tấn

công từ bên ngoài, bảo vệ thông tin bản thân trong ngân hàng bằng chứng thư số. Ở
Việt Nam ứng dụng bảo vệ các giao dịch trong dịch vụ công nói riêng và các nghiệp
vụ trong mô hình chính phủ điện tử băng chứng thư số:
-

Hệ thống kê khai thuế qua mạng

-

Gửi email cá nhân có mã hóa

Hình 10: Ứng dụng mã hóa trong bảo vệ thông tin cá nhân
16


6, Mã xác thực (MAC)
Định nghĩa: Mã xác thực (MAC) hay gọi là mã xác thực thông điệp
I = (S,V) trên (K,M,T)
là hai thuật toán:
-

S(k,m) cho ra kết quả T

-

V(k,m,t) kiểm tra kết quả

Vì MAC có khóa k bí mật giữa người gửi và người nhận nên chỉ có người gửi
và người nhận mới có thể tính được giá trị MAC tương ứng. Mô hình ứng dụng
MAC để xác thực thông điệp như hình 11.


Hình 11: Xác thực thông điệp
Các tính chất của MAC
MAC là thông tin nén của mẩu tin kết hợp với khoá MAC = S(k,m)
 Nén bản tin m có độ dài tùy ý
 Sử dụng khoá mật k
 Tạo nên dấu xác thực có độ dài cố định
 Là hàm nhiều - một, nghĩa là có nhiều bản tin khác nhau nhưng có cùng
MAC. Tuy nhiên ta phải lựa chọn hàm MAC sao cho xác suất để các
mẩu tin có ý nghĩa có MAC trùng nhau là rất nhỏ. Việc tìm được các
mẩu tin như vậy là rất khó khăn
Yêu cầu đối với MAC
Tuỳ thuộc vào kiểu tấn công mà MAC phải có các tính chất khác nhau để
chống đối lại. Nhưng nói chung MAC phải thỏa mãn các điều sau
 Biết mẫu tin và MAC, không thể tìm được mẩu tin khác có cùng MAC.

17


 Các MAC cần phải phân bố đều.
 MAC phải phụ thuộc như nhau vào tất cả các bit trong mẩu tin. Tức là
khi thay đổi một bit thông tin nào đó, MAC sẽ có những thay đổi kéo
theo.
Các mã xác thực mẩu tin MAC cung cấp sự tin cậy cho người nhận là mẩu tin
không bị thay đổi và từ đích danh người gửi. Trong các trường hợp không cần tính
bảo mật mà chỉ cần chứng thực nên sử dụng MAC thay vì mã hóa đối xứng để tiết
kiệm thời gian xử lý. Người ta cũng có thể sử dụng mã xác thực MAC kèm theo với
việc mã hoá để bảo mật. Nói chung người ta sử dụng các khoá riêng biệt cho mỗi
MAC và có thể tính MAC trước hoặc sau mã hoá, tốt hơn là thực hiện MAC trước
và mã hoá sau.

Sử dụng MAC có nhược điểm là MAC phụ thuộc vào cả mẩu tin và cả người
gửi, nhưng đôi khi chỉ cần xác thực mẩu tin và thông tin xác thực đó chỉ phụ thuộc
mẩu tin để lưu trữ làm bằng chứng cho tính toàn vẹn của nó. Khi đó người ta sử
dụng hàm băm thay vì MAC. Cần lưu ý rằng MAC không phải là chữ ký điện tử, vì
cả người gửi và người nhận đều biết thông tin về khoá.
Trong thực tế người ta hay dùng mã khối với chế độ chuỗi móc nối bất kỳ và
sử dụng khối cuối cùng của mã khối làm MAC của mẩu tin.

7, Chữ ký số
Chữ ký số là một dạng chữ ký điện tử phổ biến nhất hiện nay, dựa trên cơ sở
hạ tầng khóa công khai - PKI (Public Key Infrastructure). Trong đó mỗi người tham
gia ký cần có một cặp khóa bao gồm một khóa công khai và một khóa riêng. Khóa
riêng dùng để tạo chữ ký số, khóa công khai dùng để thẩm định, xác thực chữ ký số.
Phương pháp tạo và kiểm tra chữ ký số hoạt động dựa trên sự kết hợp của
phương pháp mã hóa sử dụng khóa phi đối xứng và phương pháp tóm lược thông
điệp. Theo đó:
Người tạo chữ ký số gắn với dữ liệu D (người dùng A):
-

Thực hiện phương pháp tóm lược thông điệp để được dữ liệu là d.

-

Mã hóa d bằng khóa riêng của mình để được dữ liệu d1.

-

Gửi dữ liệu D cùng với d1 cho người nhận.

18



Hình 12: Mô hình mô tả chữ ký số
Người nhận kiểm tra chữ ký số d1‟ và dữ liệu D‟ nhận được (người dùng B):
-

Sử dụng khóa công khai của người gửi để giải mã d1‟ được d‟.

-

Thực hiện phương pháp tóm lược thông điệp tên dữ liệu D‟ được d‟‟.

-

So sánh d‟ và d‟‟, nếu giống nhau nghĩa là dữ liệu D‟ chính là D (không
bị thay đổi, và do dúng người dùng A gửi tới).

Hình 13: Mô hình mô tả giải mã dữ liệu.
Chữ ký số được ứng dụng rộng rãi trong thực tế để xác thực định danh thực
thể trong môi trường internet thiếu an toàn.

19


Chương 2: Chữ ký điện tử
Con người đã sử dụng các hợp đồng dưới dạng điện tử từ hơn 100 năm trước
với việc sử dụng mã hóa Morse và điện tín. Năm 1889, tòa án tối cao bang New
Hampshire (Hoa Kỳ) đã phê chuẩn tính hiệu lực của chữ ký điện tử. Tuy nhiên, chỉ
với những phát triển khoa học kỹ thuật gần đây thì chữ ký điện tử mới đi vào cuộc
sống một cách rộng rãi.

Vào thập kỷ 1980, các công ty và các cá nhân bắt đầu sử dụng máy fax để
truyền đi các tài liệu quan trọng. Mặc dùng chữ ký này vẫn thể hiện trên giấy nhưng
quá trình truyền và nhận chúng hoàn toàn dựa trên tín hiệu điện tử.

1, Khái niệm và tính chất
Hiện nay, chữ ký điện tử có thể bao hàm các cam kết gửi bằng email, nhập các
định dạng cá nhận (PIN) vào máy ATM, ký bằng bút điện tử với các màn hình cảm
ứng tại các quầy tính tiền, chấp nhận các điều khoản người dùng khi cài đặt phần
mềm, ký các hợp đồng online...
Đặc điểm của chữ ký điện tử rất đa dạng, có thể là một tên hoặc hình ảnh cá
nhân kèm theo dữ liệu điện tử, một mã khóa riêng, hay một dữ liệu sinh trắc học, ...
có khả năng xác thực người gửi, với độ an toàn của từng dạng là khác nhau.
1.1, Khái niệm chữ ký điện tử
Trong cách thức truyền thống, thông báo được truyền đi trong giao dịch
thường dưới dạn các văn bản viết tay hoặc đánh máy kèm thêm chữ ký tay của
người gửi. Chữ ký đó là bằng chứng xác nhận thông báo đúng là của người ký. Khi
chuyển sang cách thức truyền tin bằng phương tiện hiện đại, các thông báo được
truyền đi trên các mạng truyền tin số hóa.
Mô tả: Chữ ký điện tử (electronic signature) là thông tin đi kèm theo dữ liệu
(Văn bản, hình ảnh, video, ...) nhằm mục đích xác định người chủ của dữ liệu đó.
Ngày này sự phát triển của internet và công nghệ thông tin ngày càng cao cho
phép chúng ta thực hiện những giao dịch điện tử thông qua môi trường internet.
Nhưng tính linh hoạt của internet cũng tạo điều kiện cho "bên thứ ba" có thể thực
hiện các hành động bất hợp pháp cụ thể như:
-

Nghe trộm: Thông tin không bị thay đổi nhưng sự bí mật của nó không còn.
Ví dụ: Thông tin về thẻ tín dụng, thông tin về trao đổi giao dịch, ...

-


Giả mạo: Các thông tin khi truyển đi bị thay đổi hoặc thay thế trước khi đến
người nhận. Ví dụ: đơn đặt hàng, lý lịch cá nhân của khách hàng, ...
20


-

Mạo dạnh: Thông tin được gửi bởi một cá nhân mạo nhận là người gửi hợp
pháp theo hai hình thức, giả mạo người khác hoặc thay đổi thông tin về bản
thân họ. Ví dụ: giả mạo website, giả mạo thư điện tử, ...

Một trong những vấn đề trong chính phủ điện tử nói chung, ứng dụng điện tử
cho các dịch vụ công nói riêng chính là vấn đề định danh và xác thực cá nhân, tổ
chức. Giải pháp thông dụng được đưa ra là sử dụng chứng thư số và chữ ký số để
định danh và xác thực.
Để đảm bảo an toàn cho các giao dịch điện tử cần có các hình thức bảo mật có
hiệu quả nhất. Công nghệ được sử dụng phổ biến hiện nay là chữ ký điện tử, chữ ký
số và chứng thực điện tử. Ta sẽ giới thiệu định nghĩa về sơ đồ chữ ký.
Định nghĩa: Một sơ đồ chữ ký Ş là một bộ năm
Ş = (P, A, Қ, S, V) trong đó:
P là một tập hữu hạn các thông báo có thể có
A là một tập hữu hạn các chữ ký có thể có
Қ là một tập hữu hạn các khóa, mỗi khóa k thuộc Қ gồm có hai phần K = (sk,
pk), sk là khóa bí mật dành cho việc ký, còn pk là khóa công khai dành cho việc
kiểm thử chữ ký.
Với mỗi khóa k = (pk, sk) trong S có một thuật toán ký sigk’:P->A và trong V
có một thuật toán kiểm thử verk’’:PxA -> {0,1} thỏa mãn diều kiện sau đây đối với
mọi thông báo x thuộc P và mọi chữ ký y thuộc A:
versk(x,y) = 1 <=> y = sigpk(x)

Với sơ đồ trên, mỗi chủ thể sở hữu một bộ khóa k = (pk, sk), công bố công
khia khóa sk để mọi người có thể kiểm thử chữ ký của mình và giữ bí mật khóa pk
để thực hiện chữ ký trên các thông báo mà mình muốn gửi đi. Các hàm versk và sigpk
phải tính được một cách dễ dàng trong thời gian đa thức, tuy nhiên hàm y = sigpk(x)
là khó tính được nếu không biết pk – điều đó đảm bảo bí mật cho việc ký cũng tức
là đảm bảo chống giả mạo chữ ký.
1.2, Đặc điểm
Điểm khác biệt giữa chữ kí điện tử và chữ ký tay thường
-

Chữ ký số phụ thuộc vào nội dung của thông tin: nó là một hàm của toàn bộ
thông tin.

-

Với chữ ký tay, người ký thực sự thực hiện một quá trình vật lý từ đầu đến
cuối, trong khi với chữ ký số, người ký chỉ cung cấp một thông số bí mật mà
21


dựa vào đó máy tính sẽ làm ra chữ ký. Thông số bí mật này là xác định duy
nhất đối với người ký, đó có thể là dấu vân tay, ảnh chụp võng mạc mặt...
hay là một con số duy nhất bí mật.
Tính xác thực
Các hệ thống mã hóa khóa công khai cho phép mã hóa văn bản với khóa riêng
mà chỉ có người chủ của khóa biết. Để sử dụng chữ ký số thì văn bản không cần
phải được mã hóa mà chỉ cần mã hóa hàm băm của văn bản đó (thường có độ dài cố
định và ngắn hơn băn bản rất nhiều). Khi cần kiểm tra, bên nhận giải mã để lấy lại
hàm băm và kiểm tra với hàm bằm văn bản nhận được. Nếu hai giá trị này khớp
nhau thì bên nhận có thể tin tưởng rằng văn bản xuất phát từ người sở hữu khóa

riêng.
Tính toàn vẹn
Cả hai bên tham gia quá trình thông tin đều có thể tin tưởng là văn bản không
bị sửa đổi trong khi truyền. Vì nếu văn bản thay đổi thì hàm băm cũng sẽ thay đổi
và lập tức bị phát hiện.
Tính chống chối bỏ
Trong quá trình trao đổi dữ liệu, một bên có thể từ chối một văn bản nào đó, là
do chính mình gửi. Để ngăn ngừa khả năng này, bên nhận yêu cầu bên gửi phải gửi
kèm chữ ký số với văn bản. Khi có tranh chấp, bên nhận sẽ dùng chữ ký này như
một chứng cứ để bên thứ 3 giải quyết.

2, Chữ ký số và chứng thư số
2.1, Chữ ký số
Chữ ký số là một dạng chữ ký điện tử phổ biến nhất hiện nay, dựa trên cơ sở
hạ tầng khóa công khai - PKI (Public Key Infrastructure). Hạ tầng khóa công khai là
một hệ thống hạ tầng kỹ thuật gồm hệ thống mật mã tạo ra chứng thư số, các
chương trình ứng dụng ký số đảm bảo an toàn trong giao dịch điện tử. Trong đó mỗi
người tham gia ký cần có một cặp khóa bao gồm một khóa công khai và một khóa
riêng. Khóa riêng dùng để tạo chữ ký số, khóa công khai dùng để thẩm định, xác
thực chữ ký số.
Trong thực tế, có nhiều sơ đồ chữ ký. Phổ biến nhất là sơ đồ chữ ký RSA được
thực hiện thông qua bài toán phân tích số nguyên tố.

22


Định nghĩa: Sơ đồ chữ ký RSA được cho bởi bộ năm
Ş = (P, A, Қ, S, V) trong đó:
P = A = Zn với n = p.q là tích của hai số nguyên tố lớn p, q
Қ là tập các cặp khóa k = (sk, pk) với sk = a và pk = (n,b); a và b là hai số

thuộc Zn* thỏa mãn a.b ≡ 1 (mod φ(n)). Các hàm sigsk và verpk được xác định như
sau:
sigsk(x) = xa mod n
verpk (x,y) = 1 <=> x ≡ yb (mod n)
Ta có thể mô tả phương pháp tạo và kiểm tra chữ ký số hoạt động dựa trên sự
kết hợp của phương pháp mã hóa sử dụng khóa phi đối xứng và phương pháp tóm
lược thông điệp. Người dùng A tạo chữ ký số gắn với dữ liệu D thực hiện phương
pháp tóm lược thông điệp (thông thường là một hàm băm) để được dữ liệu là d. Sau
đó người dùng A sẽ mã hóa dữ liệu d bằng khóa riêng của mình để được dữ liệu d1.
Người dùng sẽ gửi cùng lúc dữ liệu D và d1 cho người nhận là người dùng B.
Người nhận nhận được 2 dữ liệu gọi là D‟ và d1‟. Người nhận sử dụng khóa công
khai của người gửi để giải mã d1‟ được d‟ và thực hiện phương pháp tóm lược
thông điệp lên dữ liệu D‟ được d‟‟. Nếu d‟ và d‟‟ giống nhau nghĩa là dữ liệu D‟
chính là D (không bị thay đổi, và do dúng người dùng A gửi tới). Toàn bộ quá trình
được mô tả theo các hình vẽ sau:

Hình 14: Mô hình mô tả tạo chữ ký số

23


Hình 15: Mô hình mô tả kiểm tra chữ ký số
2.2, Chứng thư số
2.2.1, Định nghĩa
Mô tả: Chứng thư số có thể được xem như là một dạng "chứng minh thư" sử
dụng trong môi trường máy tính và Internet.
Chứng thư số được sử dụng để nhận diện một cá nhân, tổ chức, một máy chủ
hoặc một vài đối tượng khác và gắn định danh của đối tượng đó với một khóa công
khai, được cấp bởi những tổ chức có thẩm quyền xác nhận định danh và cấp chứng
thư số.

Chứng thư số được tạo bởi nhà cung cấp dịch vụ chứng thực gọi tắt là CA
(certificate authorication), trong đó chứa khóa công khai của người dùng và các
thông tin của người dùng theo tiêu chuẩn X509.
Một chứng thư số là một khối thông tin kết hợp của nhiều trường thông tin
như định danh người dùng, khóa công khai người dùng, thời hạn sử dụng, … và chữ
ký trên thông tin đó của một đơn vị cấp. Đơn vị cấp phải có đầy đủ các chức năng,
thẩm quyền để cấp nó. Để kiểm tra tính hợp lệ của một chứng thư số, bạn cần phải
kiểm tra đơn vị cấp phát có đủ chức năng, thẩm quyền không. Sử dụng khóa công
khai của đơn vị đó để xác thực chữ ký trên giấy chứng nhận. Nếu việc kiểm tra thấy
các chứng thư số là đúng, bạn có thể đảm bảo các chữ ký số sử dụng trong chứng
thư là thuộc về người được cấp.
Các đơn vị cấp chứng thư số phải thực sự cần thận vì họ được người dùng đặt
niềm tin khi sử dụng chứng thư số có chữ ký của đơn vị đó.

24


Hình 16: Mô hình chứng thư số chuẩn X509
Một văn bản sử dụng chứng thư số được mô tả như trong hình 17. Trong hình
này, chúng ta có thể thấy được rằng, người dùng đã sử dụng chứng thư số kèm theo
một văn bản rõ ràng.
Trong ảnh chúng ta cũng có thể thấy chứng thư số cung cấp thêm một số
thông tin được cấp như tên, địa chỉ, công ti, giới hạn sử dụng, …Ngoài ra còn có
bản sao khóa công cộng thời gian chứng thư còn hiệu lực.
Sau khi có chứng thư số người sử dụng sẽ có ba thành phần riêng biệt cần kết
hợp lại với nhau, đó là: chứng thư số, mật mã băm, và văn bản rõ ràng cần xử lý.
Đầu tiên cần kiểm tra các chứng thư số được cấp là hợp lệ, bằng các chương
trình kiểm tra, kiểm tra đơn vị cấp, quyền hạn và thời gian sử dụng của chứng thư.
Sau khi đã kiểm tra chứng thư số là hợp lệ chúng ta thực hiện kết hợp cả ba
thành phần riêng lẻ thành một khối văn bản được sử dụng chứng thư số để ký đảm

bảo nó không bị thay đổi.

25


×