Để nghiên cứu ứng dụng chữ ký trong gửi nhận tài liệu điện tử, luận văn
đã tập trung nghiên cứu một số vấn đề: Nghiên cứu một số khái niệm về an toàn
thông tin, 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, đánh giá thực trạng và nhu cầu về an toàn thông
tin trong trong hệ thống quản lý văn bản và điều hành.
Trên cơ sở các nghiên cứu về mặt lý thuyết, luận văn tập trung nghiên
cứu, xây dựng giải pháp ứng dụng chữ ký số trong 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, một trong những yêu cầu trại Nghị quyết
số 36a của Chính phủ về Chính phủ điện tử.
Kết quả của giải pháp phù hợp với yêu cầu cần thiết, đang đƣợc triển khai
để đảm bảo tính bảo mật, xác thực và giá trị pháp lý của văn bản điển tử trong
hệ thống kết nối liên thông giữa các hệ thống QLVB&ĐH của các cơ quan hành
chính nhà nƣớc.
Trong thời gian tới, tác giả sẽ tiếp tục nghiên cứu mở rộng các tính nhƣ
xác thực đăng nhập, mã hóa dữ liệu trong trao đổi tài liệu cho các ứng dụng, giải
pháp tích hợp chữ ký số trong quy trình xử lý công việc của từng đối tƣợng sử
dụng.
Với thời gian và kiến thức còn hạn chế, trong luận văn này không tránh
khỏi sơ suất. Rất mong nhận đƣợc sự đóng góp ý kiến của các Thầy Cô để luận
văn đƣợc hoàn thiện hơn.
62 trang |
Chia sẻ: yenxoi77 | Lượt xem: 1349 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Luận văn 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ử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ƣở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.
25
Đ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ữ 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ý.
26
Chữ ký số là một dạng chữ ký điện tử (Electronic Signature) là dạng
thông tin đi kèm dữ liệu (văn bản, hình ảnh, video, v.v) nhằm mục đích xác
định ngƣời chủ của dữ liệu đó.
Để sử dụng chữ ký số thì ngƣời dùng phải có một cặp khoá gồm khoá
công khai (public key) và khoá bí mật (private key). Khoá bí mật dùng để tạo
chữ ký số, khoá công khai dùng để thẩm định chữ ký số hay xác thực ngƣời tạo
ra chữ ký số đó.
Chữ s 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ữ 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.
- 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.
2.5.2. C ch tạo chữ s
Quá trình sử dụng chữ ký số bao gồm 2 qúa trình: tạo và kiểm tra chữ ký.
27
Chữ ký số đƣợc tạo ra bằng cách mã hóa giá trị băm (đƣợc tạo ra từ dữ
liệu ban đầu bằng cách sử dụng thuật toán băm) 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 băm để
tạo ra giá trị băm tính đƣợc từ dữ liệu nhận đƣợc, giải mã chữ ký số với khóa
công khai của ngƣời gửi để thu đƣợc giá trị mong muốn, so sánh giá trị mong
muốn và giá trị băm 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.
2.5.3. Sơ đồ chữ s
Sơ đồ chữ ký là bộ năm (P, A, K, S, V), trong đó:
P là tập hữu hạn các văn bản có thể
A là tập hữu hạn các chữ ký có thể
K là tập hữu hạn các khóa có thể
S là tập các thuật toán ký
V là tập các thuật toán kiểm thử
Với mỗi khóa k K , có thuật toán ký , : ,k kSig S Sig P A có thuật toán
kiểm tra chữ ký , : , ,k kVer V Ver P A đúng sai thỏa mãn điều kiện sau
với mọi , :x P y A ( , ) ( )k kVer x y đúng y Sig x [7].
Hình 2.5 Lƣợc đồ tạo và kiểm tra chữ ký số
28
Ngƣời ta thƣờng sử dụng hệ mã hóa khóa công khai để lập sơ đồ chữ ký
số. Khóa bí mật dùng làm khóa ký, khóa công khai dùng làm khóa kiểm tra chữ
ký.
2.5.4. Một s chữ phổ biến
2.5.4.1 Chữ RSA
a) Sơ đồ chữ [8]
Sơ đồ chữ ký RSA đƣợc cho bởi bộ năm
S = (P, A, K, S, V) (2.1)
Trong đó P = A = Zn, với n = p.q là tích của hai số nguyên tố lớn p, q. K
là tập khóa K = (a, n, b), với a, b là hai số thuộc Z*n.
- Tạo cặp khóa bí mật, công khai (a, b):
Tính bí mật ( ) ( 1).( 1)n p q (2.2)
Chọn khóa công khai b< )(n , nguyên tố với )(n .
Khóa bí mật a là phần tử nghịch đảo của b theo:
mod )(n : . 1(mod ( ))a b n (2.3)
Tập cặp khóa bí mật, công khai
( , ) / , , * 1(mod ( ))nK a b a b Z a b n
- Ký số: Chữ ký trên x P là ( ) (mod ),aky Sig x x n y A
- Kiểm tra chữ ký: ( , ) (mod )b
k
Ver x y đúng x y n
Ta nhận thấy sơ đồ chữ ký RSA và sơ đồ mã hóa RSA có sự tƣơng ứng.
Việc ký số vào x là việc mã hóa tài liệu x, việc kiểm tra chữ ký là việc giải mã
chữ ký.
b) Độ an toàn của chữ ký RSA [8]
Dựa vào ƣu điểm của hệ mã RSA, thiết lập đƣợc sơ đồ chữ ký dựa trên
bài toán phân tích ra thừa số nguyên tố thì độ an toàn của chữ ký số sẽ rất cao.
- Ngƣời gửi G gửi tài liệu x cùng chữ ký y đến ngƣời nhận N, có hai cách:
K trƣớc, mã hóa sau:
29
G ký trƣớc vào x bằng chữ ký y = SigG(x), sau đó mã hóa x và y nhận
đƣợc z = eG(x, y). G gửi z cho N. Nhận đƣợc z, N giải mã z để đƣợc x, y.
Tiếp theo kiểm tra chữ ký VerN(x, y) = true hay không?
Mã hóa trƣớc, ký sau:
G mã hóa trƣớc x bằng u = eG(x), sau đó ký vào u bằng chữ ký v =
SigG(u). G gửi (u, v) cho N. Nhận đƣợc (u, v), G giải mã u đƣợc x. Tiếp theo
kiểm tra chữ ký VerN(u, v) = True hay không?
- Giả sử H lấy trộm đƣợc thông tin trên đƣờng truyền từ G đến N.
Trong trƣờng hợp ký trƣớc, mã hóa sau, H lấy đƣợc z. Để tấn công x, H
phải giải mã thông tin lấy đƣợc. Để tấn công chữ ký y, H phải giải mã Z mới
nhận đƣợc y.
Trong trƣờng hợp mã hóa trƣớc, ký sau, H lấy đƣợc (u, v), để tấn công
chữ ký v H đã có sẵn v, H chỉ việc thay v bằng v’. H thay chữ ký v trên u bằng
chữ ký của H là v’ = SigH(u), gửi (u, v’) đến N. Khi nhận đƣợc v’, N kiểm tra
thấy sai, gửi phản hồi lại G. G chứng minh chữ ký đó là giả mạo. G gửi chữ ký v
đúng cho N, nhƣng quá trình truyền tin sẽ bị chậm lại.
2.5.4.2. Chữ E gama
a) Sơ đồ chữ E gama [8]
Sơ đồ chữ ký Elgamal đƣợc thiết kế cho mục đích ký trên các văn bản
điện tử, đƣợc cho bởi hệ:
S = (P, A, K, S, V) (2.4)
Trong đó
* *
1,p p pP Z A Z Z , với số nguyên tố p sao cho bài toán
logarit rời rạc trong Zp là khó giải. K là tập khóa.
- Tạo cặp khóa bí mật, công khai (a, h):
Chọn khóa bí mật
*
pZa (khóa bí mật a dùng để ký). Tính khóa công
khai pgh
a mod , với g là một phần tử nguyên thủy của Z*p.
Tập khóa: pghhgpaK a mod:),,,( . Các giá trị p, g, h đƣợc công
khai và đƣợc dùng để kiểm thử chữ ký.
- Ký số:
30
Với mỗi thông báo x, để tạo chữ ký trên x ngƣời ta chọn thêm một
khóa ngẫu nhiên bí mật
*
1 pZr (vì
*
1 pZr , nên nguyên tố cùng p – 1, do
đó tồn tại r-1 mod (p – 1), r-1 là phần tử nghịch đảo của r trong *
1pZ ), rồi tính:
( , ) ( , ),ky Sig x r y A (2.5)
trong đó:
* : modrpZ g p (2.6)
1
1 : ( * )* mod( 1)pZ x a r p
(2.7)
- Kiểm tra chữ ký:
pghđúngxVer
x
k mod*),,(
(2.8)
Dễ thấy sơ đồ chữ ký đƣợc định nghĩa nhƣ trên là đúng. Vì nếu
( , ) ( , )ksig x r thì ta có:
( )* * mod mod moda r a r xh g g p g p g p
vì )1mod(*)*(
1 prax nên )1mod()( pxra
b) Độ an toàn của chữ E gama [2, 8]
Sơ đồ chữ ký Elgamal đƣợc xem là an toàn, nếu việc ký trên một văn bản
là không giả mạo đƣợc. Vì vậy, việc giữ bí mật khóa a dùng để tạo chữ ký sẽ
bảo đảm tính an toàn của chữ ký. Có thể lộ khóa bí mật a trong những trƣờng
hợp nào và có thể không lộ a mà vẫn giả mạo chữ ký đƣợc không? Xét các
trƣờng hợp sau đây:
- Khả năng để ộ ho bí m t a
Khóa bí mật a có thể bị phát hiện trong trƣờng hợp để lộ số ngẫu nhiên r ở
một lần ký nào đó, hoặc sử dụng cùng một số ngẫu nhiên r ở hai lần ký khác
nhau.
Nếu số ngẫu nhiên r đƣợc sử dụng khi ký trên văn bản x bị lộ, thì khóa bí
mật a đƣợc tính theo công thức sau:
1( ). mod( 1)a x k p (2.9)
Nếu sử dụng số ngẫu nhiên r cho hai lần ký khác nhau, ví dụ ký cho x1, x2
thì ta có chữ ký trên x1 là (γ,δ1) và trên x2 là (γ,δ2), với γ = g
r
mod p, khi đó các
chữ ký đó thỏa mãn:
1 1* mod
x
h g p
,
2 2* mod
x
h g p
1 2 1 2 1 2*( )mod mod
x x r
g p g p
(2.10)
31
1 2 1 2
*( ) mod ( 1)x x r p
(2.11)
Đặt 1 2
( , 1)d UCLN p
. Cả ba số 1 2
, 1p
và 1 2
x x
đều chia hết
cho d, ta đặt:
1 2 1 2 1' , ' , '
x x p
x p
d d p
. Khi đó (1.27) trở thành:
' * 'mod 'x r p (2.12)
Vì UCLN( ' , 'p ) = 1, nên có thể tính
1' mod p , và giá trị r theo mod 'p :
'. mod 'r x p tức là '. . 'mod 1r x i p p , với i là một giá trị nào đó,
0 1i d . Thử lần lƣợt điều kiện mod
rg p với các giá trị đó của i ta sẽ đƣợc
r, thử r ta tính đƣợc khóa bí mật a.
- Giả mạo chữ ký không cùng với tài liệu đƣợc ký
Giả sử chủ thể A chọn sơ đồ Elgamal với khóa bí mật a. Một ngƣời B không
biết khóa a mà muốn giả mạo chữ ký của A trên x. Nhƣ vậy, B phải tính đƣợc và .
* Nếu chọn trƣớc , B phải tính :
1( * )* mod ( 1)
((x a )log g mod ( 1)
= log .log
log mod( 1)
x
g
x
x a r p
p
g h g
g h p
Do đó: 1xlog g h mod p
Đó là bài toán logarit rời rạc mà ta biết là khó giải.
* Nếu chọn trƣớc , B phải tính qua phƣơng trình: h*gx mod p. Bài
toán này cũng không dễ hơn bài toán logarit rời rạc.
Nhƣ vậy, khả năng giả mạo chữ ký trên một văn bản cho trƣớc khi không
biết khóa bí mật a là rất khó, do đó không ảnh hƣởng đến tính an toàn của sơ đồ
chữ ký.
- Giả mạo chữ cùng với tài iệu đƣợc
B có thể ký trên tài liệu ngẫu nhiên bằng cách chọn trƣớc đồng thời x, , .
Cách 1:
* Chọn x, , thoả mãn điều kiện kiểm thử nhƣ sau:
32
Chọn các số nguyên i, j sao cho 0 i, j p-2, UCLN(j, p-1) = 1 và tính:
= gi hj mod p (2.13)
= - j-1 mod (p -1) (2.14)
x = - i j-1 mod (p -1) (2.15)
Trong đó j-1 đƣợc tính theo mod (p -1) (nghĩa là j nguyên tố với p -1).
* Chứng minh (, ) là chữ ký trên x, bằng cách kiểm tra điều kiện kiểm thử:
1
1. . .
j
j i ji xh h g h mod p h g h mod p g mod p
Cách 2:
* Nếu (, ) là chữ ký trên tài liệu x có từ trƣớc, thì có thể giả mạo chữ ký
(λ, µ) trên tài liệu x’ khác.
Chọn số nguyên k, i, j thỏa mãn 0 k, i, j p-2, UCLN(k.( – j)., p-1) = 1
và tính:
= kgihj mod p (2.16)
= (k – j ) -1 mod (p -1) (2.17)
x’ = (k x + i ) (k – j ) -1 mod (p -1) (2.18)
* (, ) là chữ ký trên x’, vì thỏa mãn điều kiện kiểm thử: hgx’ mod p.
Chú ý: Cả hai cách giả mạo nói trên đều cho chữ ký đúng trên tài liệu
tƣơng ứng, nhƣng đó không phải là tài liệu đƣợc chọn theo ý của ngƣời giả mạo.
Tài liệu đó đều đƣợc tính sau khi tính chữ ký, vì vậy giả mạo loại này trong thực
tế cũng không có ý nghĩa nhiều.
2.5.4.3. Chữ DSS
Chuẩn chữ ký số (DSS: Digital Signature Standard) là cải biên của sơ đồ
chữ ký ElGamal. Sơ đồ chữ ký DSS đƣợc mô tả nhƣ sau [8]:
- Tạo cặp hóa bí m t, công hai (a, h)
Chọn số nguyên tố lớn p có độ dài biểu diễn ≥ 512 bit sao cho bài toán
logarit rời rạc trong Zp là “khó” giải, q là ƣớc nguyên tố của p-1, tức là p -1 =
t*q hay p = t*q + 1, q có độ dài biểu diễn cỡ 160 bit.
Chọn gZp* là căn bậc q của 1 mod p (g là phần tử sinh của Zp*).
Tính = gt, chọn khóa bí mật a Zp*, tính khóa công khai h
a
mod p.
33
Đặt P = Zq*, A = Zq* x Zq*, K = (p, q, , a, h)/a Zp*, h
a
mod p.
Với mỗi khóa (p, q, , a, h), k’ = a là khóa bí mật, k” = (p, q, , h) là khóa công khai.
- K s
Dùng 2 khóa ký: khóa a và khóa ngẫu nhiên bí mật r Zq
*
.
Chữ ký trên x Zp* là: Sig k’(x, r) = (, ), trong đó:
= (r mod p) mod q (2.19)
= ((x + a * ) * r-1 mod q (2.20)
(Chú ý rZq*, để bảo đảm tồn tại r
-1
mod q).
- Kiểm tra chữ
Với e1 = x *
-1
mod q, e2 = *
-1
mod q
Ver k” (x, , ) = đúng (
e1
* h
e2
mod p) mod q = (2.21)
2.5.5. Ƣu điểm và ứng dụng của chữ s
2.5.5.1. X c định nguồn g c
Các hệ thống mật mã hóa khóa công khai cho phép mã hóa văn bản với
khóa bí mật mà chỉ có ngƣời chủ của khóa biết. Để sử dụng chữ ký số thì văn
bản cần phải đƣợc mã hóa bằng hàm băm. Sau đó dùng khóa bí mật của ngƣời
chủ khóa để mã hóa, khi đó ta đƣợc chữ ký số. Khi cần kiểm tra, bên nhận giải
mã để lấy lại chuỗi gốc (đƣợc sinh ra qua hàm băm ban đầu) và kiểm tra với
hàm băm của 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 bí mật.
2.5.5.2. Tính toàn vẹn
Cả hai bên tham gia vào 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 bị thay đổi thì hàm băm
cũng sẽ thay đổi và lập tức bị phát hiện.
2.5.5.3. Tính hông thể phủ nh n
Trong giao dịch, một bên có thể từ chối nhận một văn bản nào đó là do
mình gửi. Để ngăn ngừa khả năng này, bên nhận có thể 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ứ ba giải quyết.
2.5.5.4. Ứng dụng của chữ s
34
Chính vì những ƣu điểm của chữ ký số, nó đƣợc dùng trong nhiều ứng
dụng: Đảm bảo an ninh truyền thông, ngân hàng trực tuyến, thƣơng mại điện tử,
trong gửi nhận văn bản điển tử, đảm bảo an ninh cho thƣ điện tử, v.v
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
giải quyết thông qua kỹ thuật phân phối khóa công khai và chứng thƣ khóa công
khai (chứng thƣ số).
2.5.6. Phân ph i hóa công hai
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 thƣ số
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
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 entity 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 thƣ số. Các thành viên trao
đổi khóa thông qua chứng thƣ số 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
thƣ số do cơ quan quản lý phát hành.
2.5.7. Chứng thƣ s
Chứng thƣ số 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ể.
Chứng thƣ số do một một cơ quan chứng thực (Certification Authority -
viết tắt là CA) đáng tin cậy phát hành sau khi kiểm tra tính xác thực của thông
tin ngƣời chủ khóa. CA áp dụng chữ ký số của mình vào các chứng thƣ do bản
thân phát hành vì vậy các bên tham gia giao dịch nếu tin tƣởng vào CA thì có
thể tin tƣởng vào các chứng thƣ số, v.v
Trong chứng thƣ số có ba thành phần chính:
+ Thông tin cá nhân của ngƣời đƣợc cấp.
35
+ Khóa công khai (Public key) của ngƣời đƣợc cấp.
+ Chữ ký số của CA cấp chứng thƣ.
+ Thời gian hợp lệ
Chứng thƣ số 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 thƣ số 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 thƣ
số đƣợc sử dụng phổ biến rộng rãi là X.509.
2.5.7.1. C c phi n bản chứng thƣ s
Chứng thƣ s theo chuẩn X.509 [12,13] gồm có các phiên bản: Chứng
thƣ X.509 version 1; Chứng thƣ X.509 version 2; Chứng thƣ X.509 version 3
Các thông số trong chứng thƣ số:
Version: cho biết version của X.509
Serial Number: cung cấp một mã số nhận dạng duy nhất cho mỗi chứng
thƣ đƣợc phát hành bởi CA.
CA Signature Algorithm: tên của thuật toán mà CA sử dụng để ký lên
nội dung của chứng thƣ số.
Issuer Name: tên phân biệt (distinguished name) của CA phát hành
chứng thƣ. Thƣờng thì tên phân biệt này đƣợc biểu diễn theo chuẩn X.500 hoặc
định dạng theo đặc tả của X.509 và RFC 3280.
Validity Period: khoảng thời gian mà chứng thƣ đƣợc xem là còn hiệu
lực, bao gồm 2 trƣờng là: Valid From và Valid To.
Subject Name: tên của máy tính, ngƣời dùng, thiết bị mạng sở hữu chứng
thƣ.
Subject Public Key Info: khóa công khai của đối tƣợng nắm giữ chứng
thƣ. Khóa công khai này đƣợc gửi tới CA trong một thông điệp yêu cầu cấp
chứng thƣ (certificate request) và cũng đƣợc bao gồm trong nội dung của chứng
thƣ đƣợc phát hành sau đó. Trƣờng này cũng chứa nhận dạng của thuật toán đƣợc
dùng để tạo cặp khóa công khai và khóa bí mật đƣợc liên kết với chứng thƣ.
Signature Value: chứa giá trị của chữ ký.
X.509 version 3
Đƣợc ra đời vào năm 1996, định dạng X.509 version 3 đƣợc bổ sung thêm
các phần mở rộng (extension) để khắc phục các vấn đề liên quan tới việc so
36
khớp Issuer Unique ID và Subject Unique ID cũng nhƣ là các vấn đề về xác thực
chứng thƣ. Một chứng thƣ X.509 version 3 co thể chứa một hoặc nhiều
extension, nhƣ đƣợc thể hiện trong hình dƣới đây:
Hình 2.6 X.509 version 3
Mỗi extension trong chứng thƣ X.509 version 3 gồm 3 phần:
Extension Identifier: là một mã nhận dạng đối tƣợng (Object Identifier –
OID) cho biết kiểu định dạng và các định nghĩa của extension.
Criticality Flag: là một dấu hiệu cho biết thông tin trong extension có
quan trọng (critical) hay không. Nếu một ứng dụng không thể nhận diện đƣợc
trạng thái critical của extension hoặc extension không hề chứa giá trị nào thì
chứng thƣ đó không thể đƣợc chấp nhận hoặc đƣợc sử dụng. Nếu mục criticality
flag này không đƣợc thiết lập thì một có thể sử dụng chứng thƣ ngay cả khi ứng
dụng đó không nhận diện đƣợc extension.
Extension Value: là giá trị đƣợc gán cho extension. Nó phụ thuộc vào
từng extension cụ thể.
Trong một chứng thƣ X.509 version 3, các extension sau có thể có là:
Authority Key Identifier: extension này có thể chứa một hoặc hai giá trị,
chúng có thể là:
+ Subject Name của CA và Serial Number của chứng thƣ của CA mà đã
cấp phát chứng thƣ này.
+ Giá trị băm của khóa công khai của chứng thƣ của CA mà đã cấp phát
chứng thƣ này.
37
Subject Key Identifier: extension này chứa giá trị băm của khóa công
khai của chứng thƣ.
Key Usage: một CA, ngƣời dùng, máy tính, thiết bị mạng hoặc dịch vụ có
thể sở hữu nhiều hơn một chứng thƣ. Extension này định nghĩa các dịch vụ bảo
mật mà một chứng thƣ có thể cung cấp nhƣ:
+ Digital Signature: khóa công khai có thể đƣợc dùng để kiểm tra chữ
ký. Khóa này cũng đƣợc sử dụng để xác thực máy khách và xác minh nguồn gốc
của dữ liệu.
+ Non-Repudiation: khóa công khai có thể đƣợc dùng để xác minh nhận
dạng của ngƣời ký, ngăn chặn ngƣời ký này từ chối rằng họ không hề ký lên
thông điệp hoặc đối tƣợng nào đó.
+ Key Encipherment: khóa công khai có thể đƣợc dùng để trao đổi khóa,
vú dụ nhƣ đối xứng (hoặc khóa phiên). Giá trị này đƣợc dùng khi một khóa RSA
đƣợc dùng cho việc quản lý khóa.
+ Data Encipherment: khóa công khai có thể đƣợc dùng để mã hóa dữ
liệu một cách trực tiếp thay vì phải trao đổi một khóa đối xứng (hay khóa phiên)
để mã hóa dữ liệu.
+ Key Agreement: khóa công khai có thể đƣợc dùng để trao đổi khóa, ví
dự nhƣ khóa đối xứng. Giá trị này đƣợc dùng khi một khóa Diffie-Hellman đƣợc
dùng cho việc quản lý khóa.
+ Key Cert Sign: khóa công khai có thể đƣợc dùng để kiểm tra chữ ký
của chứng thƣ số.
+ CRL Sign: khóa công khai có thể đƣợc dùng để kiểm tra chữ ký của
CRL (danh sách chứa các chứng thƣ bị thu hồi).
+ Encipher Only: giá trị này đƣợc dùng kết hợp với các extension Key
Agreement và Key Usage. Kết quả là khóa đối xứng chỉ có thể đƣợc dùng để mã
hóa dữ liệu.
+ Decipher Only: giá trị này đƣợc dùng kết hợp với các extension Key
Agreement và Key Usage. Kết quả là khóa đối xứng chỉ có thể đƣợc dùng để mã
hóa dữ liệu.
Private Key Usage Period: extension này cho phép khóa bí mật có
khoảng thời gian hiệu lực khác so với khoảng thời gian hiệu lực của chứng thƣ.
Giá trị này có thể đƣợc đặt ngắn hơn so với khoảng thời gian hiệu lực của chứng
thƣ. Điều này giúp khóa bí mật có thể đƣợc dùng để ký lên các tài liệu trong một
38
khoảng thời gian ngắn (ví dụ, một năm) trong khi khóa công khai có thể đƣợc
dùng để xác minh chữ ký trong khoảng thời gian hiệu lực của chứng thƣ là 5
năm.
Certificate Policies: extension này mô tả các chính sách và thủ tục đƣợc
dùng để xác minh chủ thể của chứng thƣ trƣớc khi chứng thƣ đƣợc cấp phát. Các
chính sách chứng thƣ đƣợc đại diện bởi các OID. Ngoài ra, một chính sách
chứng thƣ có thể bao gồm một đƣờng dẫn (URL) tới trang web mô tả nội dung
của chính sách và thủ tục.
Policy Mappings: extension này cho phép chuyển dịch thông tin về chính
sách giữa hai tổ chức. Ví dụ, thử tƣởng tƣợng rằng một tổ chức định nghĩa một
chính sách chứng thƣ có tên là Management Signing mà trong đó các chứng thƣ
đƣợc dùng để ký lên một lƣợng lớn các đơn đặt hàng. Một tổ chức khác có thể
có một chính sách chứng thƣ tên là Large Orders mà cũng đƣợc dùng để ký lên
một lƣợng lớn các đơn đặt hàng. Khi đó, Policy Mapping cho phép hai chính
sách chứng thƣ này đƣợc đánh giá ngang nhau.
Subject Alternative Name: extension này cung cấp một danh sách các
tên thay thế cho chủ thể của chứng thƣ. Trong khi định dạng cho Subject Name
thƣờng tuân theo chuẩn X.500 thì Subject Alternative Name cho phép thể hiện
theo các dạng khác nhƣ User Principal Name (UPN), địa chỉ email, địa chỉ IP
hoặc tên miền (DNS).
Issuer Alternative Name: extension này cung cấp một danh sách các tên
thay thế cho CA. Mặc dù thƣờng không đƣợc áp dụng nhƣng extension này có
thể chứa địa chỉ email của CA.
Subject Dir Attribute: extension này có thể bao gồm bất kỳ thuộc tính
nào từ danh mục LDAP hoặc X.500 của tổ chức, ví dụ, thuộc tính country.
Extension này có thể chứa nhiều thuộc tinh và với mỗi thuộc tính phải gồm OID
và giá trị tƣơng ứng của nó.
Basic Constraints: extension này cho biết chứng thƣ có phải của CA hay
của các chủ thể nhƣ ngƣời dùng, máy tính, thiết bị, dịch vụ. Ngoài ra, extension
này còn bao gồm một rằng buộc về độ dài của đƣờng dẫn mà giới hạn số lƣợng
các CA thứ cấp (subordinate CA) có thể tồn tại bên dƣới CA mà cấp phát chứng
thƣ này.
Name Constraints: extension này cho phép một tổ chức chỉ định không
gian tên (namespace) nào đƣợc phép hoặc không đƣợc phép sử dụng trong
chứng thƣ.
39
Policy Constraints: extension này có thể có trong các chứng thƣ của CA.
Nó có thể ngăn cấm Policy Mapping giữa các CA hoặc yêu cầu mỗi chứng thƣ
trong chuỗi chứng thƣ phải bao gồm một OID của chính sách chứng thƣ.
Enhanced Key Usage: extension này cho biết khóa công khai của chứng
thƣ có thể đƣợc sử dụng nhƣ thế nào. Những cái này không có trong extension
Key Usage. Ví dụ, Client Authentication (có OID là 1.3.6.1.5.5.7.3.2), Server
Authentication (có OID là 1.3.6.1.5.5.7.3.1), và Secure E-mail (có OID là
1.3.6.1.5.5.7.3.4). Khi ứng dụng nhận đƣợc một chứng thƣ, nó có thể yêu cầu sự
có mặt của một OID trong các OID kể trên.
CRL Distribution Points: extension này chứa một hoặc nhiều URL dẫn
tới tập tin chứa danh sách các chứng thƣ đã bị thu hồi (CRL) đƣợc phát hành bởi
CA. Các URL có thể sử dụng một trong các giao thức nhƣ HTTP, LDAP, FTP,
File.
Authority Information Access: extension này có thể chứa một hoặc
nhiều URL dẫn tới chứng thƣ của CA
Freshest CRL: extension này chứa một hoặc nhiều URL dẫn tới delta
CRL do CA phát hành. Subject Information Access: extension này chứa thông
tin cho biết cách thức để truy cập tới các các chi tiết khác về chủ thể của chứng thƣ.
Lợi ích cơ bản của một hệ thống chứng thƣ 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 thƣ hoàn toàn rất đơn giản
nhƣng việc công bố và quản lý các chứng thƣ 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.
2.5.8. Hạ tầng hóa công hai
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 thƣ số.
PKI cho phép ngƣời sử dụng có thể trao đổi dữ liệu một cách an toàn
thông qua việc sử dụng một cặp mã khóa công khai và khóa cá nhân đƣợc cấp
phát và sử dụng thông qua một nhà cung cấp chứng thực (CA) đƣợc tín nhiệm.
Nền tảng khóa công khai cung cấp một chứng thƣ số, dùng để xác minh một cá
nhân hoặc một tổ chức, và các dịch vụ danh mục có thể lƣu trữ và khi cần có thể
thu hồi các chứng thƣ số.
40
2.5.8.1. Chức năng PKI
PKI cho phép những ngƣời tham gia xác thực lẫn nhau. Mục tiêu chính
của PKI là cung cấp khóa công khai và xác định mối liên hệ giữa khóa và định
dạng ngƣời dùng. PKI có một số chức năng chính sau:
+ Chứng thực: Chứng thực là chức năng quan trọng nhất của hệ thống
PKI. Đây là quá trình ràng buộc khóa công khai với định danh của thực thể. CA
là thực thể PKI thực hiện chức năng chứng thực.
+ Thẩm tra: Quá trình xác dịnh liệu chứng thƣ đã đƣa ra có thể đuợc sử
dụng đúng mục đích thích hợp hay không đƣợc xem nhƣ là quá trình kiểm tra
tính hiệu lực của chứng thƣ.
Nhờ vậy ngƣời dùng có thể sử dụng trong một số ứng dụng nhƣ:
+ Mã hóa, giải mã văn bản.
+ Xác thực ngƣời dùng ứng dụng.
+ Mã hóa Email hoặc xác thực ngƣời gửi Email.
+ Tạo chữ ký số trên văn bản điện tử.
2.5.8.2. C c thành phần của PKI
- Certification Authorities (CA)
+ Cấp và thu hồi chứng thƣ
-Registration Authorities (RA)
+ Tiếp nhập thông tin đăng ký chứng chƣ.
+ Gắn kết giữa khóa công khai và định danh của ngƣời giữ chứng thƣ.
- Entity
+ Ngƣời sử dụng chứng thƣ.
+ Hệ thống là chủ thể của chứng thƣ nhƣ webserver, mailserver v.v..
-Repository
+ Hệ thống (có thể tập trung hoặc phân tán) lƣu trữ chứng thƣ và danh
sách các chứng thƣ bị thu hồi.
+ Cung cấp cơ chế phân phối chứng thƣ và danh sách thu hồi chứng thƣ
(CRLs -Certificate Revocatio Lists).
41
Hình 2.8 Quy trình đăng ký chứng thƣ số
Hình 2.7 Mô hình PKI
2.5.8.3. Hoạt động của PKI
Đăng và ph t hành chứng thƣ s :
42
Các bƣớc thực hiện đăng ký chứng thƣ số:
+ User gửi thông tin về bản thân tới RA để đăng ký. Thông tin này có thể
là họ tên, số chứng minh thƣ, email, địa thƣ v.v..
+ RA ký yêu cầu đƣợc chấp thuận và gửi thông tin về User đến trung tâm
CA.
+ CA tạo chứng thƣ trên khóa công khai, ký bằng khóa bí mật của CA và
cập nhật chứng thƣ trên cơ sở dữ liệu LDAP, MySQL v.v..
+ CA gửi chứng thƣ trở lại RA.
+ RA cấp chứng thƣ cho ngƣời sử dụng.
Sử dụng chứng thƣ s :
Mục đích sử dụng chứng thƣ số để đảm bảo các dịch vụ sau:
+ Xác thực: đảm bảo cho một ngƣời dùng rằng một thực thể nào đó đúng
là đối tƣợng mà họ đang cần khẳng định. Có thể là xác minh thực thể hoặc xác
minh nguồn gốc dữ liệu.
+ Bí mật: đảm bảo bí mật của dữ liệu. Không ai có thể đọc dữ liệu ngoại
trừ những thực thể đƣợc phép. Tính bí mật đƣợc yêu cầu khi dữ liệu đƣợc lƣu
trữ trên các thiết bị nhƣ ổ đĩa, usb hay đƣợc truyền trên các mạng không đƣợc
bảo vệ hoặc mức độ an toàn thấp.
+ Toàn vẹn dữ liệu: đảm bảo dữ liệu không bị thay đổi, nếu có thay đổi
thì sẽ bị phát hiện. Để đảm bảo tính toàn vẹn, một hệ thống phải có khả năng
phát hiện những thay đổi dữ liệu trái phép với mục đích là giúp cho ngƣời nhận
dữ liệu xác minh đƣợc rằng dữ liệu của mình có bị thay đổi hay không.
2.5.8.4. Các mô hình của PKI
Một số mô hình tin cậy có thể đƣợc áp dụng hoặc đƣợc đề xuất sử dụng
trong hạ tầng mã hóa công khai –PKI dựa trên x.509 [5]
+ Single CA Model (mô hình CA đơn)
+ Hierarchical Model (Mô hình phân cấp)
+ Mesh Model (Mô hình mắt lƣới- xác thực chéo)
+ Web Model (Trust List) (Mô hình web)
+ Hub and Spoke (Birdge CA) (Mô hình cầu CA)
43
2.6. Kết u n chƣơng 2
Trong chƣơng này luận văn đã tìm hiểu về các cơ sở mật mã ứng dụng
trong đảm bảo an toàn bảo mật thông tin. Qua đó nắm rõ đƣợc các thuật toán mã
hóa, hàm băm, mức độ an toàn của các hệ mã hóa. Nghiên cứu về chữ ký số và
mô hình phân phối khóa công khai. Tất cả các vấn đề này sẽ là cơ sở để lựa
chọn, xây dựng giải pháp chữ ký số cho ứng dụng gửi nhận tài liêu điện tử.
Phần tiếp luận văn sẽ 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 ứng dụng cho
bài toán 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.
44
Chƣơng 3. Giải ph p ứng dụng chữ s trong qu tr nh gửi nh n tài iệu
điện tử tr n hệ th ng quản văn bản và điều hành
3.1. Thực trạng ứng dụng chữ s trong nƣớc
3.1.1. Gi trị ph p của chữ s
Cho đến nay tại Việt Nam nhiều văn bản quy phạm pháp luật đã đƣợc ban
hành, tạo hành lang pháp lý cho việc thúc đẩy ứng dụng CNTT:
- Luật giao dịch điện tử số 51/2005/QH11 ngày 29/11/2005 quy định về
giao dịch điện tử trong hoạt động của các cơ quan nhà nƣớc, trong lĩnh vực dân
sự, kinh doanh thƣơng mại và các lĩnh vực khác;
- Nghị định số 26/2007/NĐ-CP ngày 15/02/2007 quy định chi tiết thi
hành Luật Giao dịch điện tử về chữ ký số và dịch vụ chứng thực chữ ký số;
- Quyết định số 48/2009/QĐ-TTg ngày 31/3/2009 của Thủ tƣớng
Chính phủ về việc phê duyệt Kế hoạch ứng dụng công nghệ thông
tin trong hoạt động của các cơ quan Nhà nƣớc giai đoạn 2009-2011;
- Quyết định 1605/QĐ-TTg ngày 27/8/2010 của Thủ tƣớng Chính phủ
về việc phê duyệt chƣơng trình quốc gia về ứng dụng CNTT, trong đó nêu ra
một số chỉ tiêu:
+) 60% các văn bản, tài liệu chính thức của các cơ quan nhà nƣớc sẽ đƣợc
trao đổi hoàn toàn dƣới dạng điện tử;
+) 50% hồ sơ khai thuế của doanh nghiệp và ngƣời dân đƣợc nộp qua mạng;
+) 90% cơ quan Hải quan triển khai thủ tục Hải quan điện tử;
+) 30% số hồ sơ đề nghị cấp giấy phép xây dựng đƣợc nộp qua mạng.
- Chỉ thị số 897/CT-TTg ngày 10/6/2011 của Thủ tƣớng Chính phủ về
việc tăng cƣờng triển khai các hoạt động đảm bảo an toàn thông tin
số;
- Chỉ thị số 15/CT-TTg ngày 22/5/2012 của Thủ tƣớng Chính phủ về
việc tăng cƣờng sử dụng văn bản điện tử trong các cơ quan nhà
nƣớc; trong đó yêu cầu:
+) Văn bản điện tử áp dụng chữ ký số thì không phải dùng văn bản giấy;
+) Nếu sử dụng văn bản giấy phải gửi kèm văn bản điện tử;
+) Ban Cơ yếu Chính phủ phải khẩn trƣơng phát triển và nâng cao năng
lực mở rộng hệ thống CA;
45
+) Bảo đảm cung cấp dịch vụ chứng thực theo yêu cầu thực tế của cơ
quan nhà nƣớc các cấp.
- Nghị quyết số 36a/NQ-CP ngày 14/10/2015 của Chính phủ về Chính
phủ điện tử; trong đó có nhiệm vụ “Xây dựng hệ thống điện tử thông suốt, kết
nối và liên thông văn bản điện tử, dữ liệu điện tử từ Chính phủ đến cấp tỉnh, cấp
huyện, cấp xã. Tạo lập môi trường điện tử để người dân giám sát và đóng góp
cho hoạt động của chính quyền các cấp”
3.1.2. Hệ th ng chứng thƣ s trong nƣớc
Mô hình với cấu trúc phân cấp với CA gốc và các CA cấp dƣới. CA gốc
xác nhận các CA cấp dƣới, các CA này lại xác nhận các CA cấp thấp hơn. Các
CA cấp dƣới không cần xác nhận các CA cấp trên. Trong mô hình này, mỗi thực
thể sẽ giữ bản sao khoá công khai của root CA và kiểm tra đƣờng dẫn của chứng
thƣ bắt đầu từ chữ ký của CA gốc [5].
Hình 3.1 Hệ thống chứng thực số trong nƣớc
46
Một s CA đã triển hai tại Việt Nam:
Hình 3.2 Chứng thƣ số Root CA Quốc gia
Hình 3.3 Chứng thƣ số Root CA Chính phủ
47
3.1.3. Dịch vụ chứng thực chữ s trong nƣớc
Đến cuối năm 2015, Việt Nam có 09 doanh nghiệp đƣợc cấp phép cung
cấp dịch vụ chứng thực chữ ký số công cộng. Thị trƣờng cung cấp dich vụ
chứng thực chữ ký số công cộng ghi nhận sự tăng trƣởng mạnh với số lƣợng chữ
ký số cấp phát năm 2015 tăng 75% so với năm 2014 với 537.629 chứng thƣ số
cấp phát mới, nâng tổng số chứng thƣ số đã cấp phát từ khi bắt đầu hoạt động
đến nay lên 1.422.800 chứng thƣ số. Số lƣợng chứng thƣ số đang hoạt động đến
31/12/2015 là 733.846 chứng thƣ số, tăng 260.846 chứng thƣ số so với năm
2014, đƣợc sử dụng chủ yếu trong lĩnh vực kê khai thuế qua mạng, nộp thuế
điện tử, hải quan điện tử và bảo hiểm điện tử [1].
Bảng 3.1 Danh sách các doanh nghiệp đƣợc cấp phép
STT T n doanh nghiệp T n giao dịch
1 Công ty cổ phần BKAV BKAV-CA
2 Công ty cổ phần Công nghệ Thẻ Nacencomn CA2
3 Công ty Công nghệ và Truyền thông CK CK-CA
4 Công ty cổ phần Hệ thống Thông tin FPT FPT-CA
5 Công ty cổ phần truyền thông Newtelecom NEWTEL-CA
5 Công ty cổ phần chứng số an toàn SAFE-CA
6 Công ty cổ phần Chữ ký ố VINA SMARTSIGN
7 Tập đoàn Viễn thông Quân đội Viettel VIETTEL-CA
8 Tập đoàn Bƣu chính Viễn thông Việt Nam VNPT-CA
48
Theo một thống kê của Cục Chứng thực và Bảo mật thông tin, thuộc Ban
Cơ yếu Chính phủ thì hiện tại có 76% cơ quan trung ƣơng đã ứng dụng chữ ký
số, tỉ lệ này ở địa phƣơng là 71% [15].
Theo số liệu cung cấp từ các doanh nghiệp cung cấp dịch vụ, số lƣợng cơ quan,
tổ chức, doanh nghiệp sử dụng chữ ký số trong một số lĩnh vực cụ thể nhƣ sau:
- Kê khai thuế qua mạng: 582.436 cơ quan, tổ chức, doanh nghiệp.
- Nộp thuế điện tử: 490.892 cơ quan, tổ chức, doanh nghiệp.
- Hải quan điện tử: 69.835 cơ quan, tổ chức, doanh nghiệp.
- Bảo hiểm: 124.077 cơ quan, tổ chức, doanh nghiệp.
3.2. Kh i qu t về hệ th ng quản văn bản và điều hành
Hệ thống quản lý văn bản và điều hành (QLVB&ĐH) là giải pháp phần
mềm dùng chung trao đổi thông tin, điều hành tác nghiệp và quản lý công văn,
văn bản, hồ sơ công việc của cơ quan, tổ chức trên môi trƣờng mạng.
Những yêu cầu cơ bản đối với hệ thống QLVB&ĐH gồm: Quản lý văn
bản đến, quản lý và phát hành văn bản đi, quản lý giao việc, quả lý hồ sơ công
việc, quản lý văn bản nội bộ, báo cáo thống kê, quản lý ngƣời dùng, v.v
Hình 3.4 Thị trƣờng dịch vụ chứng thực số công cộng
49
Mục đích của hệ th ng quản văn bản và điều hành:
Thống nhất và tin học hóa các quy trình hoạt động tác nghiệp; các hình
thức tiếp nhận, lƣu trữ, trao đổi, tìm kiếm, xử lý thông tin, giải quyết công việc
trong các cơ quan nhà nƣớc để nâng cao chất lƣợng và hiệu quả của hoạt động
chỉ đạo, điều hành của lãnh đạo; hoạt động công tác.
Tăng cƣờng sử dụng văn bản điện tử trong hoạt động của các cơ quan nhà
nƣớc.
Xây dựng hệ thống các kho văn bản điện tử tập trung để cung cấp thông
tin về văn bản phục vụ yêu cầu công việc.
Tạo lập và quản lý các hồ sơ xử lý văn bản, thiết lập luồng xử lý văn bản
trên môi trƣờng mạng.
Tạo cơ sở kỹ thuật để kết nối liên thông đƣợc các hệ thống QLVB&ĐH
khác nhau, v.v
3.3. Nhu cầu an toàn, an ninh thông tin trong gửi nh n văn bản điện tử
Tại Chỉ thị số 15/CT-TTg ngày 22/5/2012 của Thủ tƣớng Chính phủ yêu
cầu tăng cƣờng sử dụng văn bản điện tử trao đổi giữa các cơ quan nhà nƣớc với
nhau, hoặc giữa cơ quan nhà nƣớc với các cơ quan, tổ chức, doanh nghiệp, cá
nhân khác.
Tại Nghị quyết số 36a/NQ-CP, ngày 14/10/2015 của Chính phủ về Chính
phủ điện tử đã nêu ra một số nhiệm vụ nhằm thúc đẩy Chính phủ điện tử, nâng
cao chất lƣợng, hiệu quả hoạt động của các cơ quan nhà nƣớc, trong đó yêu cầu:
+) Các Bộ, ngành, địa phƣơng thực hiện kết nối liên thông hệ thống
QLVB&ĐH với Văn phòng Chính phủ;
+) Văn phòng Chính phủ chủ trì, phối hợp với các Bộ, ngành, địa phƣơng
kết nối liên thông hệ thống QLVB&ĐH nhằm tiến tới hình thành một hệ thống
quản lý văn bản điện tử thống nhất, thông suốt từ trung ƣơng đến địa phƣơng.
Xuất phát từ những yêu cầu đó, để đảm bảo an toàn, bảo mật, toàn vẹn,
xác thực, tạo giá trị pháp lý cho văn bản điện tử thì việc 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ử giữa các cơ quan tổ
chức là điều cần đƣợc thực hiện.
3.4. Giải ph p ứng dụng chữ s
3.4.1. Giới thiệu mô h nh ết n i i n thông
50
Ngày nay chữ ký số đã đƣợc ứng dụng trong giao dịch điện tử với nhiều
lĩnh vực khác nhau nhƣ thƣơng mại điện tử, kê khai thuế, hải quan điện tử, bảo
hiểm, v.v... Tuy nhiên ứng dụng chữ ký số trong gửi nhận văn bản điện tử liên
thông của các hệ thống QLVB&ĐH giữa các cơ quan nhà nƣớc hiện nay đang
trong quá trình triển khai.
Cách thức gửi nhận văn bản điện tử giữa các cơ quan đƣợc thực hiện theo
mô hình tổng quan sau:
- Văn thƣ tại cơ quan A sử dụng Hệ thống A tại máy khách A phát hành
văn bản điện tử, nghĩa là văn bản điện tử đƣợc chuyển tới máy chủ quản lý văn
bản và điều hành A.
- Máy chủ quản lý văn bản và điều hành A chuyển văn bản điện tử tới hệ
thống trung gian; tại đây hệ thống trung gian sẽ xác thực Hệ thống A và lƣu
thông tin gửi đi từ Hệ thống A.
- Sau đó, hệ thống trung gian sẽ xác thực Hệ thống B và chuyển tiếp văn
bản điện tử đến máy chủ quản lý văn bản và điều hành B.
Ngoài ra, máy chủ quản lý văn bản và điều hành B có thể chủ động kết
nối với hệ thống trung gian và lấy về văn bản điện tử do máy chủ quản lý văn
bản và điều hành A đã gửi sau khi hệ thống trung gian đã xác thực Hệ thống B.
- Cuối cùng, máy chủ quản lý văn bản và điều hành B chuyển văn bản
điện tử tới máy khách B, văn thƣ tại cơ quan B sử dụng máy khách B để lấy văn
bản điện tử về.
Hình 3.5 Mô hình liên thông gửi nhận văn bản điện tử
51
Để máy chủ QLVB&ĐH A trao đổi văn bản điện tử đƣợc với máy chủ
QLVB&ĐH B thông qua hệ thống trung gian, cần thiết phải xây dựng thêm bộ
kết nối cho Hệ thống A, bộ kết nối cho Hệ thống B và bộ kết nối cho hệ thống
trung gian. Ở đây luận văn không nghiên cứu về cách thức hoạt động của bộ kết
nối, mà sẽ nghiên cứu xây dựng giải pháp tích hợp chữ ký số vào hệ thống
QLVB&ĐH để đáp ứng nhu cầu trao đổi văn bản điện tử giữa các cơ quan nhà
nƣớc.
3.4.2 Giải ph p chữ s
3.4.2.1. Xây dựng giải ph p s tr n nền Web [9]
Yêu cầu đặt ra khi tích hợp chữ ký số vào các ứng: Tƣơng thích với nhiều
trình duyệt web khác nhau; dễ dàng tích hợp vào các hệ thống thông tin có sẵn;
có thể chạy trên nhiều hệ điều hành khác nhau.
Ngƣời sử dụng cuối 1 sau khi nhập liệu trên web form có thể ký dữ liệu
trên web form và gửi lên web server, ngƣời sử dụng cuối 2 sẽ tải dữ liệu đã ký
lên web form trên máy của mình và tiến hành xác thực dữ liệu trên server.
Các chức năng của ứng dụng Applet:
a) Truy cập vào máy chủ web từ Applet
Ứng dụng applet ký tài liệu phải có một số phƣơng tiện để có thể gửi chữ
ký số tới máy chủ. Điều này đƣợc thực hiện bằng nhiều cách:
- Các applet sẽ mở ra một socket để gửi chữ ký, hoặc nó sẽ gửi thông tin
của một yêu cầu truy cập vào một địa chỉ URL của máy chủ; hoặc giao tiếp với
các trình duyệt và gửi thông tin cho server. Cách tiếp cận cuối cùng là thuận tiện
nhất, vì nó đòi hỏi ít chi phí lập trình để gửi và nhận tập tin đã đƣợc ký. Trong
Hình 3.6 Mô hình xác thực trên Web tổng quan
52
trƣờng hợp này máy chủ nhận đƣợc các tập tin cùng với chữ ký của tập tin trong
một yêu cầu trình duyệt web duy nhất, không có thêm bất kỳ hành động nào
khác.
b) Giao tiếp giữa Applet và trình duyệt web
Thông thƣờng, sẽ có một form HTML đƣợc sử dụng để gửi các tập tin
đến một ứng dụng web không có chức năng ký số. Nếu muốn mở rộng hình thức
này để nó hỗ trợ ký số các tập tin, đơn giản là tích hợp một java- applet cho các
tập tin trên đó. Trong trƣờng hợp này, applet sẽ thực hiện ký số của file và đƣa
chữ ký số vào một số trƣờng của form HTML. Khi “summit” form HTML, trình
duyệt web sẽ gửi chữ ký cùng với tập tin, vì vậy không cần thiết lập bất kỳ kênh
liên lạc nào giữa máy chủ và applet.
3.5. Xây dựng ứng dụng
3.5.1. Mô hình giải ph p s tài iệu
Trên cơ sở tham khảo giải pháp ký số trên nền web ở phần trên, trong
phần này luận văn đã xây dựng ứng dụng tích hợp chữ ký số trên hệ thống
QLVB&ĐH tại Văn phòng Chính phủ, giải pháp đang đƣợc xây dựng triển khai
và thử nghiệm liên thông với một số đơn vị.
Ứng dụng phía máy trạm: Là giao diện đƣợc tích hợp chức năng đầu vào
văn bản.
Hình 3.7 Mô hình giải pháp ký số
53
Các Dịch vụ phía máy chủ: dịch vụ Upload tài liệu cho phép máy trạm
thực hiện tải dữ liệu lên server phục vụ cho quá trình ký số, xác thực tài liệu,
phân phối tài liệu của ứng dụng.
Thư viên mật mã: Cung cấp các lớp, các phƣơng thức để thực thi các chức
năng theo yêu cầu của chƣơng trình.
Thiết bị eToKen: Là thiết bị đƣợc sử dụng để lƣu trữ các khóa riêng và
chứng thƣ số của ngƣời dùng, đƣợc sử dụng trong xác thực ngƣời dùng, ký số tài
liệu điện tử, mã hóa tài liệu
Dữ liệu: Là dữ liệu đƣợc tạo ra bởi các ứng dụng của ngƣời dùng.
Chứng thƣ: Lƣu trữ chứng thƣ số đƣợc cấp bởi tổ chức cấp chứng thƣ cho
ngƣời dùng.
Khóa: Bao gồm một khóa công khai (public key), một khóa riêng (private
key) và khóa bảo vệ (secret key).
File mã hóa p12: gồm các thành phần và chức năng tƣơng tự nhƣ các
thành phần trong Token.
Trong phần này luận văn đã sử dụng mã nguồn mở OpenSS (là một thƣ
viện mở nổi tiếng nhất cho truyền thông bảo mật) để tạo và cấp phát chứng thƣ
số đối với ngƣời sử dụng [16].
Hinh 3.8 Thiết bị Token
54
- Chứng thƣ số RootCA
- Chứng thƣ số SubCA
Hình 3.9 Minh họa chứng thƣ số RootCA
Hình 3.10 Minh họa chứng thƣ số SubCA
55
Hình 3.11 Minh họa chứng thƣ số ngƣời dùng
- Chứng thƣ số ngƣời dùng:
3.5.2. Phân tích thiết ế giải ph p
3.5.2.1. Chức năng cần thiết của y u cầu x c thực
a) Chức năng tại m y trạm
Cung cấp giao diện cho ngƣời dùng: Để tạo giao diện tích hợp với ứng
dụng cho phép ngƣời dùng thực hiện các thao tác cần thiết.
b) Chức năng tại m y chủ
Tạo giao diện giao tiếp với máy trạm: Tạo giao diện để tải tài liệu trƣớc
khi xử lý.
Ghép nối với thƣ viện mật mã: Ghép nối với thƣ viện mật mã để thực hiện
ký số, mã hóa theo yêu cầu của chƣơng trình.
Ghép nối với thiết bị eToKen (hoặc file *.p12): Ghép nối khi có yêu cầu
về khóa và chứng thƣ.
Tạo giao diện giao tiếp với máy trạm: Tạo giao diện để tải tài liệu trƣớc
khi xử lý.
Kiểm tra, xác thực tài liệu: Kiểm tra tính đúng đắn của tài liệu đƣợc gửi
cũng nhƣ chứng thƣ ngƣời gửi:
56
Thực hiện Upload tài liệu lên máy chủ: Upload tài liệu lên thƣ mục hoặc
CSDL trên máy chủ.
c) Thƣ viện m t mã
Các phƣơng thức đọc eToKen, file p12.
Các phƣơng thức ký số.
Các phƣơng thức mã hóa.
3.5.2.2. Phân tích thiết ế c c thành phần của mô h nh
Trên cơ sở mô hình giải pháp ký số tài liệu đã giới thiệu trong mục 3.5.1,
việc phân tích thiết kế phần mềm cần thực hiện các nội dung sau:
- Phân tích thiết kế thƣ viện mật mã cài đặt tại máy chủ;
- Phân tích thiết kế dịch vụ phía máy chủ
- Thiết kế công cụ ký số trên web
a) Thƣ viện m t mã
Thƣ viện mật mã bao gồm các hàm, thủ tục cho phép giao tiếp với thiết bị
eToken (file p12) và các hàm, thủ tục ký số, xác thực văn bản nhƣ các hình sau:
Hình 3.12 Lƣợc đồ ký số trên hệ thống
57
OCSP (Online Certificate Status Protocol): giao thức kiểm tra chứng thƣ
số trực tuyến.
CRL (Certificate revocation List): Danh sách chứng thƣ đã thu hồi.
Hình 3.13 Lƣợc đồ xác thực văn bản ký số
58
3.6. Kết quả của giải ph p
Sau khi nghiên cứu thành công giải pháp này, sản phẩm đang đƣợc triển
khai sử dụng thử nghiệm trên hệ thống quản lý văn bản và hồ sơ công việc của
Văn phòng Chính phủ để thực hiện việc ký số tại đầu mối văn thƣ của văn
phòng. Hiện nay giải pháp đang đƣợc triển khai thử nghiệm kết nối liên thông
với một số cơ quan hành chính nhà nƣớc.
Sau khi Văn thƣ cập nhật các thông tin đầu vào cần thiết của văn bản
(*.pdf, .doc, docx) và thực hiện chức năng ký số và phát hành văn bản. Kết quả
văn bản đƣợc ký số nhƣ sau:
Hình 3.14 Giao diện phát hành văn bản
Hình 3.15 Văn bản đã đƣợc ký số (pdf)
59
3.7. Kết u n chƣơng 3
Trong chƣơng này luận văn đã tìm hiểu về thực trạng ứng dụng chữ ký
trong nƣớc; khái quát về hệ thống QLVB&ĐH, nhu cầu đảm bảo an toàn, an
ninh thông tin trong gửi nhận văn bản điện tử. Nghiên cứu xây dựng giải pháp
tích hợp chữ ký trên hệ thống QLVB&ĐH. Với giải pháp này giúp cho đơn vị dễ
dàng thực hiện ký số và phát hành, đảm bảo tính xác thực và pháp lý đối với văn
bản điện tử đƣợc gửi trên môi trƣờng mạng tới các đơn vị khác.
Để thực hiện Nghị quyết 36a ngày 14/10/2015 của Chính phủ về Chính
phủ điện tử, yêu cầu kết nối liên thông hệ thống QLVB&ĐH giữa các cơ quan
hành chính nhà nƣớc thì việc xây dựng giải pháp ứng dụng chữ ký số trong gửi
nhận văn bản là điều cần thiết.
Qua đó đảm bảo đƣợc an toàn, bảo mật và giá trị pháp lý của các văn bản
điện tử đƣợc nâng cao. Đây là lần đầu tiên tại Việt Nam thực hiện việc liên
thông hệ thống quản lý văn bản và điều hành giữa các cơ quan khác nhau; giải
pháp tích hợp chữ ký số là tiền đề quan trọng tiến tới giảm tỷ lệ sử dụng giấy tờ,
giảm thời gian xử lý công việc; tiết kiệm chi phí, thời gian, v.v
Hình 3.16 Văn bản đã đƣợc ký số (.docx)
60
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
Để nghiên cứu ứng dụng chữ ký trong gửi nhận tài liệu điện tử, luận văn
đã tập trung nghiên cứu một số vấn đề: Nghiên cứu một số khái niệm về an toàn
thông tin, 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, đánh giá thực trạng và nhu cầu về an toàn thông
tin trong trong hệ thống quản lý văn bản và điều hành.
Trên cơ sở các nghiên cứu về mặt lý thuyết, luận văn tập trung nghiên
cứu, xây dựng giải pháp ứng dụng chữ ký số trong 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, một trong những yêu cầu trại Nghị quyết
số 36a của Chính phủ về Chính phủ điện tử.
Kết quả của giải pháp phù hợp với yêu cầu cần thiết, đang đƣợc triển khai
để đảm bảo tính bảo mật, xác thực và giá trị pháp lý của văn bản điển tử trong
hệ thống kết nối liên thông giữa các hệ thống QLVB&ĐH của các cơ quan hành
chính nhà nƣớc.
Trong thời gian tới, tác giả sẽ tiếp tục nghiên cứu mở rộng các tính nhƣ
xác thực đăng nhập, mã hóa dữ liệu trong trao đổi tài liệu cho các ứng dụng, giải
pháp tích hợp chữ ký số trong quy trình xử lý công việc của từng đối tƣợng sử
dụng.
Với thời gian và kiến thức còn hạn chế, trong luận văn này không tránh
khỏi sơ suất. Rất mong nhận đƣợc sự đóng góp ý kiến của các Thầy Cô để luận
văn đƣợc hoàn thiện hơn.
61
TÀI LIỆU THẢM KHẢO
Tiếng Việt
[1] Bộ Thông tin và Truyền thông – Cục An toàn thông tin (2015), Báo
cáo an toàn thông tin Việt Nam 2015, Hà Nội.
[2] Phan Đình Diệu (2004), Lý thuyết mật mã và An toàn thông tin, Nhà
xuất bản Đại học Quốc gia Hà Nội.
[3] Nghị định số 26/2007/NĐ-CP Quy định chi tiết thi hành Luật Giao
dịch điện tử về chữ ký số và dịch vụ chứng thực chữ ký số, Chính phủ ban hành
ngày 15 tháng 2 năm 2007.
[4] Nghị định số 64/2007/NĐ-CP ngày 10-04-2007 của Chính phủ về ứng
dụng công nghệ thông tin trong hoạt động của cơ quan nhà nƣớc.
[5] Nguyễn Đăng Đào (2012), “Triển khai giải pháp chứng thực chữ ký số
và Hệ thống chức thực trong các cơ quan Chính phủ”, tham luận trình bày tại
hội nghị Ban cơ yếu Chính phủ, ngày 16/7/2012.
[6] Nguyễn Huy Thắng (2013), Nghiên cứu chữ ký số và ứng dụng trong
hóa đơn điện tử tại VNPT Hà Nội, Tóm tắt Luận văn Thạc sĩ, Học viện Bƣu
chính viễn thông, tr.9.
[7] Thông tƣ số 6/2015/TT-BTTTT Quy định Danh mục tiêu chuẩn bắt
buộc áp dụng về chữ ký số và dịch vụ chứng thực chữ ký số, Bộ Thông tin và
Truyền thông ban hành ngày 23 tháng 3 năm 2015.
[8] Trịnh Nhật Tiến (2006), Giáo trình an toàn dữ liệu và mã hóa, Đại
học CôNg nghệ - Đại học Quốc Gia Hà Nội.
[9] TS. Hồ Văn Hƣơng, KS. Hoàng Chiến Thắng (2013), Ký số và xác
thực trên nền tảng web, Tạp chí An toàn thông tin, số 2 (026) năm 2013.
Tiếng Anh
[10] William Stallings (2005), Cryptography and Network Security
Principles and Practices, Fourth Edition.
[11] Kefa Rabah (2005), Elliptic Curve Elgamal Encryption and
Signature schemes”, Eastern Mediterranean University.
Website
[12]https://vi.wikipedia.org/wiki/Ch%E1%BB%A9ng_th%E1%BB%B1c
_kh%C3%B3a_c%C3%B4ng_khai
62
[13] https://manthang.wordpress.com/2012/07/20/cac-phien-ban-cua-
chung-chi-so-x-509-pki-4/
[14] https://vi.wikipedia.org/wiki/OpenSSL
[15]
[16]
Các file đính kèm theo tài liệu này:
- luan_van_nghien_cuu_ung_dung_chu_ky_so_trong_qua_trinh_gui_n.pdf