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

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

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

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


Trịnh Xuân Hoàng

Trường Đại học Khoa học Tự nhiên
Luận văn ThS chuyên ngành: Bảo đảm toán cho máy tính và hệ thống tính toán;Mã
Mã số: 60 46 35
Người hướng dẫn: TS. Tôn Quốc Bình
Năm bảo vệ: 2012


Abstract: Nghiên cứu giải pháp xác thực và bảo mật tài liệu trong trao đổi văn bản trên
môi trường mạng giữa các cơ quan nhà nước và ứng dụng thành công tại tỉnh Thái Bình.
Thực trạng và nhu cầu về an toàn thông tin trong các cơ quan nhà nước; các tiêu chuẩn,
cơ sở mật mã, giải pháp công nghệ; trên cơ sở đó nghiên cứu giải pháp xác thực và bảo
mật trong trao đổi tài liệu trên môi trường mạng.

Keywords: Hệ thống tính toán; Bảo mật tài liệu; Trao đổi văn bản


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


nhận thư điện tử, các hệ thống hỗ trợ quản lý điều hành trên mạng. Chính vì những vấn đề thực
tiễn trên, luận văn: “Nghiên cứu giải pháp xác thực và bảo mật tài liệu trong trao đổi văn bản
trên môi trường mạng giữa các cơ quan nhà nước” nhằm nâng cao việc xác thực và an toàn
thông tin trong các hoạt động của các cơ quan, tổ chức trong các ứng dụng trên môi trường
mạng.
2. Mục đích nghiên cứu
Luận văn nghiên cứu giải pháp xác thực và bảo mật tài liệu trong trao đổi văn bản trên môi
trường mạng giữa các cơ quan nhà nước và ứng dụng thành công tại tỉnh Thái Bình.
3. Đối tượng và phạm vi nghiên cứu
Tập trung nghiên cứu, tìm hiểu thực trạng và nhu cầu về an toàn thông tin trong các cơ quan nhà
nước; các tiêu chuẩn, cơ sở mật mã, giải pháp công nghệ; trên cơ sở đó nghiên cứu giải pháp xác
thực và bảo mật trong trao đổi tài liệu trên môi trường mạng.
4. Phương pháp nghiên cứu
- Tiếp cận phân tích và tổng hợp: Đọc tài liệu, tổng hợp lý thuyết, phân tích lý thuyết về Hệ mật
mã đối xứng, hệ mật mã bất đối xứng (hệ mật mã khóa công khai), chữ ký số.
- Tiếp cận theo định tính và định lượng: Nghiên cứu cơ sở khoa học của mã hóa, chữ ký số của
các tác giả trong và ngoài nước, các bài báo, thu thập thông tin trên mạng, tìm hiểu các mô hình
bảo mật, chứng chỉ số. Từ đó trình bày theo ý tưởng của mình và đề xuất các giải pháp xác thực
và bảo mật tài liệu trong trao đổi văn bản trên môi trường mạng giữa các cơ quan nhà nước trên
địa bàn.
5. Bố cục Luận văn
Luận văn được trình bày trong 03 chương:
- Chương 1: Tập trung tìm hiểu một số khái niệm về án toàn thông tin, đánh giá thực trạng và
nhu cầu về an toàn thông tin trong các cơ quan nhà nước.
- Chương 2: Trình bày tổng hợp, phân tích một số cơ sở mật mã cần thiết để áp dụng trong việc
bảo mật thông tin trên môi trường mạng.
- Chương 3: Tập trung phân tích thiết kế giải pháp xác thực và bảo mật thông tin trong trao đổi
tài liệu trên môi trường mạng.
.
Chương-1. TỔNG QUAN VỀ AN TOÀN THÔNG TIN

1.1. Một số khái niệm cơ bản
1.1.1. Khái niệm về an toàn thông tin
Thông tin được lưu trữ bởi các sản phẩm và hệ thống CNTT là một tài nguyên quan trọng cho sự
thành công của tổ chức đó, là tài sản của một cá nhân hay tổ chức. Các thông tin cá nhân lưu trữ
trong hệ thống thông tin cần được giữ bí mật, bảo vệ và không bị thay đổi khi không được phép.
Trong khi các sản phẩm và hệ thống CNTT thực hiện các chức năng của chúng, các thông tin cần
được kiểm soát để đảm bảo chúng được bảo vệ chống lại các nguy cơ, ví dụ như việc phổ biến và
thay đổi thông tin không mong muốn và trái phép, nguy cơ mất mát thông tin.
1.1.2. Khái niệm về đảm bảo an toàn thông tin
Đảm bảo an toàn thông tin là đảm bảo an toàn kỹ thuật cho hoạt động của các cơ sở hạ tầng
thông tin, trong đó bao gồm đảm bảo an toàn cho cả phần cứng và phần mềm hoạt động theo các
tiêu chuẩn kỹ thuật do nhà nước ban hành; ngăn ngừa khả năng lợi dụng mạng và các cơ sở hạ
tầng thông tin để thực hiện các hành vi trái phép gây hại cho cộng đồng, phạm pháp hay khủng
bố; đảm bảo các tính chất bí mật, toàn vẹn, chính xác, sẵn sàng phục vụ của thông tin trong lưu
trữ, xử lý và truyền tải trên mạng.
1.2. Thực trạng về an toàn thông tin trong các cơ quan nhà nước
Theo thống kê của Bkav, tính từ đầu năm 2012 đến nay, mỗi ngày có tới 6 website tại Việt Nam
bị tấn công, tương ứng với hơn 2.000 website bị hack mỗi năm. Đã có 175 website của các cơ
quan, doanh nghiệp tại Việt Nam bị hacker xâm nhập, trong đó có 24 trường hợp gây ra bởi
hacker trong nước, 151 trường hợp do hacker nước ngoài. Hầu hết nguyên nhân của các vụ hack
này là do website tồn tại nhiều lỗ hổng.
1.3. Nhu cầu về an toàn thông tin trong ứng dụng tại các cơ quan nhà nước
Những thông tin trên cho thấy việc lựa chọn giải pháp và đầu tư cho an toàn thông tin là vấn đề
cần được các cơ quan nhà nước chú trọng đầu tư, bên cạnh đó là việc hoàn thiện hành lang chính
sách và pháp lý trong lĩnh vực này để việc ứng dụng CNTT thực sự có hiệu quả.
1.4. Một số kỹ thuật mật mã
Kỹ thuật mật mã [1], [9] đóng vai trò thiết yếu trong việc giải quyết vấn đề an toàn thông tin.
Bảng 1.1 liệt kê một số kỹ thuật và công nghệ để giải quyết yêu cầu xác thực, toàn vẹn, bí mật,
chống chối bỏ trong an toàn và bảo mật thông tin.
Bảng 1.1. Một số kỹ thuật và công nghệ giải quyết yêu cầu an toàn và bảo mật

Yêu cầu
Công nghệ - Kỹ thuật
Bí mật
Mã hóa và giải mã dựa vào khóa
Xác thực
Sử dụng tên và mật khẩu của người dùng, đặc điểm sinh trắc học,
ký số và kiểm tra chữ ký số dựa vào khóa
Tin cậy
Ký số và kiểm tra chữ ký số dựa vào khóa
Chống chối bỏ
Ký số và kiểm tra chữ ký số dựa vào khóa
Toàn vẹn
Tóm lược thông báo
Trao quyền
Áp dụng chính sách kiểm soát truy nhập và quản lý quyền hạn
Kiểm toán
Lưu nhật ký và sử dụng công cụ kiểm toán
1.4.1. Các hệ mật mã
Hệ mật chính là hệ thống cung cấp các kỹ thuật mã hóa và giải mã dữ liệu, được phân loại thành
hệ mật khóa công khai và hệ mật khóa đối xứng.
Hệ mật khóa đối xứng sử dụng cùng một khóa khi mã hóa và giải mã, được minh hoạ trong Hình
1.1. Độ an toàn của hệ mật này phụ thuộc chính vào sự bí mật của khóa.

Hình 1.1. Hệ mật khóa đối xứng đảm bảo tính bí mật và xác thực
Hệ mật khóa công khai sử dụng một cặp khóa (khóa riêng và khóa công khai), một khóa được sử
dụng để mã hóa và khóa còn lại được sử dụng để giải mã, được minh hoạ trong dưới đây:

Hình 1.2. Hệ mật khoá công khai
Mục đích chính của hệ mật khóa công khai là phân phối khóa và ký số. Các ứng dụng của hệ mật
này gồm có: Mã hóa/giải mã, chữ ký , trao đổi khóa.

Các thuật toán mật mã:
- Tóm lược thông báo (MD2-4-5, SHA, SHA1, SHA2,…): chuyển thông báo rõ có độ dài không
xác định thành thông báo mã có độ dài xác định.
- Mật mã khóa bí mật (DES, IDEA, RC2-4-5, Triple-DES, AES,…): sử dụng cùng một khóa cho
mã hóa và giải mã.
- Mật mã khóa công khai (DSA, RSA,…): sử dụng một khóa để mã hóa và một khóa khác để giải
mã.
Khi A muốn truyền thông với B, thủ tục được tiến hành như sau:
1. A tạo ra một cặp khóa {KUa, KRa} và truyền thông báo cho B gồm KUa và tên của A (IDA).
2. B tạo ra khóa bí mật Ks và gửi cho A sau khi mã hóa với khóa công khai của A.
3. A tính toán DKRa[EKUa[Ks]] để khôi phục lại khóa bí mật. Chỉ A có khóa riêng nên giải mã
được khóa bí mật. Chỉ A và B biết khóa bí mật Ks.
Nếu kiểm soát được kênh truyền thông, đối tượng E có thể dàn xếp cuộc truyền thông mà không
bị phát hiện, theo hình thức sau đây:
1. A tạo ra một cặp khóa {KUa, KRa} và truyền thông báo cho B gồm có KUa và tên của A
(IDA).
E chặn lấy thông báo, tạo ra một cặp {KUe KRe} và truyền KUe || IDA cho B.
B sinh ra một khóa bí mật Ks và truyền EKUe[Ks] cho A.
E chặn lấy thông báo, biết được Ks bằng cách tính DKRe[EKUe[Ks]].
E truyền EKUa[Ks] cho A.
A và B không biết E đã làm giả Ks và dùng Ks để trao đổi các thông báo. Không mất nhiều thời
gian, E có thể can thiệp vào kênh truyền thông, nghe trộm và giải mã tất cả các thông báo vì biết
Ks.
- Lược đồ phân phối khóa bí mật đảm bảo tính bí mật và xác thực:
1. A sử dụng khóa công khai của B để mã hóa thông báo (1) gửi cho B có chứa tên của A (IDA)
và một nonce N1 để nhận dạng giao dịch này.
2. B gửi thông báo (2) cho A. Thông báo được mã hóa bằng KUa, có chứa N1 của A và nonce
mới N2 do B sinh ra. Do chỉ có B mới có thể giải mã thông báo (1) nên sự xuất hiện của N1
trong thông báo (2) đảm bảo A đang liên lạc với B.
3. A trả lại N2, được mã hóa bằng khóa công khai của B để đảm bảo rằng B đang liên lạc với A.

4. A chọn một khóa bí mật Ks và gửi thông báo (3) M= EKUb[EKRa[Ks]] cho B. Việc mã hóa
thông báo với khóa công khai của B đảm bảo chỉ có B mới có thể đọc. Việc mã hóa với khóa
riêng của A đảm bảo chính A đã gửi thông báo.
5. B tính toán DKUa[EKRb[M]] để khôi phục khóa bí mật.
1.4.2. Chữ ký số
Chữ ký số là dữ liệu để xác định nguồn gốc và tính toàn vẹn của thông báo. Người gửi sử dụng
khóa riêng của mình để ký số thông báo hay tạo chữ ký số cho thông báo được gửi đi. Người
nhận sử dụng khóa công khai của người gửi để kiểm tra nguồn gốc thông báo và xác định thông
báo không bị thay đổi trên đường truyền.
Chữ ký số tương tự như chữ ký viết tay và phải có một số tính chất sau:
- Có khả năng kiểm tra chữ ký số và thời gian ký số.
- Có khả năng xác thực các nội dung tại thời điểm ký số.
- Thành viên thứ 3 có thể kiểm tra chữ ký số để giải quyết các tranh chấp.
Dựa vào các tính chất cơ bản này, chữ ký số có các yêu cầu sau:
- Phải là một mẫu bít phụ thuộc vào thông báo được ký số.
- Phải sử dụng một thông tin duy nhất của người gửi để ngăn chặn tình trạng làm giả và chối bỏ.
- Được tạo ra dễ dàng.
- Khó có thể làm giả chữ ký số bằng cách tạo ra một thông báo mới cho một chữ ký số hiện có,
hoặc tạo ra một chữ ký số giả mạo cho một thông báo cho trước.
- Trong thực tế, cần lưu giữ một bản sao của chữ ký số.
1.4.3. Phân phối khóa công khai
Nhiều kỹ thuật phân phối khóa công khai được đưa ra như khai báo công khai, thư mục công
khai, trung tâm quản lý khóa công khai và chứng chỉ khóa công khai.
Một giải pháp lựa chọn khác là sử dụng chứng chỉ khóa công khai. Các thành viên trao đổi khóa
thông qua chứng chỉ khóa công khai mà không cần liên lạc với cơ quan quản lý khóa công khai.
Khi cần sử dụng khóa công khai, các thành viên kiểm tra chứng chỉ do cơ quan quản lý phát
hành.
1.4.4. Chứng chỉ khóa công khai
Chứng chỉ khóa công khai là sự gắn kết khóa công khai của một thực thể (con người, thiết bị
phần cứng, dịch vụ) với một hoặc nhiều thuộc tính nhận dạng thực thể, được một cơ quan chứng

thực (Certification Authority - viết tắt là CA) phát hành.
Việc sử dụng khóa công khai có trong chứng chỉ hoàn toàn rất đơn giản nhưng việc công bố và
quản lý các chứng chỉ gặp rất nhiều vấn đề như phát hành, hủy bỏ, kiểm tra tình trạng trực tuyến,
thư mục lưu trữ, chứng thực chéo. Những vấn đề này được giải quyết thông qua hạ tầng khóa
công khai.
1.4.5. Hạ tầng khóa công khai
Các thành phần cơ bản của PKI X509 gồm phía nhà cung cấp (cơ quan chứng thực, cơ quan đăng
ký, hệ thống quản lý và phân phối chứng chỉ) và phía người dùng (các ứng dụng PKI). Mô hình
cấp phát chứng chỉ khóa công khai của PKI X509 được minh họa trong hình dưới dây

Hình 1.3. Mô hình cấp phát chứng chỉ của PKI X509
MỘT SỐ CƠ SỞ MẬT MÃ PHỤC VỤ AN TOÀN THÔNG TIN
1.5. Lược đồ mã RSA-OAEP
1.5.1. Hàm mã hoá RSAES-OAEP
RSAES-OAEP-ENCRYPT((n, e), M,L)
Các lựa chọn:
Hash là hàm băm (hLen ký hiệu độ dài theo byte của đầu ra hàm
băm)
MGF là hàm sinh mặt nạ
Đầu vào:

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

“thông báo quá dài”, “nhãn quá dài”.
Giả thiết:
Khoá công khai RSA (n, e) là hợp lệ.

Hình 1.4. Thuật toán mã hóa EME-OAEP
1.5.2. Hàm giải mã RSAES-OAEP
RSAES-OAEP-DECRYPT(K, C,L)
Các lựa chọn:
Hash là hàm băm (hLen ký hiệu độ dài theo byte của đầu ra hàm
băm.
MGF là hàm sinh mặt nạ.
Đầu vào:

K là khoá riêng RSA của người nhận (k ký hiệu độ dài theo byte
của RSA-modulo n).
C là bản mã cần được giải mã, chuỗi byte có độ dài k, với k 
2hLen + 2.
L là nhãn tùy chọn liên quan đến thông báo, giá trị mặc định của
L là chuỗi rỗng nếu không được cung cấp.
Đầu ra:
M thông báo, một chuỗi byte có độ dài mLen với mLen  k –
2hLen -2
Lỗi:
“Lỗi giải mã”
1.5.3. Yêu cầu tham số an toàn cho hệ mật RSA
V2. Số mũ công khai e phải được chọn với các ràng buộc sau:
a) Chọn trước khi tạo số mũ bí mật.
b) Là số nguyên dương lẻ sao cho 65537  e < 2nlen-2security_strength.
V3. Hai số nguyên tố p, q phải được chọn với ràng buộc:
a) p-1 và q-1 phải nguyên tố cùng nhau với e.

b) Mỗi một trong bốn số p-1, p+1, q-1 và q+1 phải có ước nguyên tố lớn hơn
2security_strength+20.
c)
2
2nlen/2-1  p, q  2nlen/2-1.
V4. Số mũ bí mật d phải được chọn sau khi tạo p và q với các ràng buộc:
a) d > 2nlen/2.
b) d  e-1 (mod lcm(p-1,q-1)).
1.6. Thuật toán mã khối AES
1.6.1. Giới thiệu thuật toán AES
AES là thuật toán hướng byte. Đơn vị thông tin được xử lý trong thuật toán là byte. Chúng được
xem như một phần tử của trường Galois GF(28) với phép  và phép nhân 
Mỗi byte có thể được biểu diễn theo nhiều cách khác nhau. Ở dạng nhị phân là {b7 b6 b5 b4 b3
b2 b1 b0}, ở dạng hệ cơ số 16 là { h1 h0}, ở dạng đa thức có các hệ số nhị phân là
7
0
ii
i
bx


. Ví
dụ, một byte được biểu diễn ở dạng nhị phân là {01100011}, ở dạng đa thức: hoặc
ở dạng hexa là {63}.
 Phép cộng trên GF(28) như sau:
với ,
 Phép nhân trên GF(28) như sau:
.
65
1x x x  

7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
{a a a a a a a a } {b b b b b b b b }={c c c c c c c c }
iii
c a b
07i
8 4 3
( ) ( ) ( ) ( )mod( 1)a x b x a x b x x x x x      
1.6.2. Cấu trúc bên trong của AES.
Số lượng các vòng phụ thuộc vào kích cỡ khóa được chọn, ví dụ kích cỡ khóa 128 bit-10 vòng,
192 bit-12 vòng, và 256 bit – 14 vòng. Mỗi vòng gồm nhiều tầng khác nhau. Các tầng cho quá
trình mã hóa và giải mã như sau:
* Mã hóa
Tầng thay thế byte (ByteSub)
Tầng thay thế byte gồm 16 S-box có các tính chất sau:
Các S-box giống hệt nhau. Là thành phần phi tuyến duy nhất trong AES, nghĩa là: ByteSub(Si)
+ ByteSub(Sj)≠ByteSub(Si+Sj), .
S-box của AES được xây dựng dựa trên ánh xạ nghịch đảo trên trường GF(28).
Trong cài đặt bằng phần mềm, các S-box thường được thực hiện như một bảng tra.
Lược đồ tạo khóa (Keyschedule)
Các khóa con được tính một cách đệ quy từ 128/192/256 bit khóa gốc đầu vào.
Mỗi vòng mã hóa/giải mã, sử dụng một khóa con cộng với một khóa con ở phần bắt đầu của
thuật toán AES. Như vậy, số khóa con=số vòng +1. Tương ứng với mỗi kích cỡ khóa đầu vào có
một lược đồ khóa. Với khóa 128 bit có số khóa con là 11, khóa 192 bit có số khóa con là 13 và
khóa 256 bit có số khóa con là 15.
* Giải mã
AES không dựa vào cấu trúc Feistel nên mọi biến đổi phải thực hiện ngược khi giải mã. Với
biến đổi MixColumn có InvMixColumns cho quá trình giải mã, với biến đổi ShiftRows, với
ByteSub có InvByteSub. Tầng cộng khóa cũng phải thực hiện với các khóa con có thứ tự ngược
lại.
InvMixColumns: sử dụng đa thức .

InvShiftRows: tất cả các hàng trong ma trận trạng thái được dịch vòng theo hướng ngược lại.
InvByteSub: Vì S-box là song ánh nên chúng ta có thể xây dựng một ánh xạ ngược sao cho
Ai=S-1(Bj). Ánh xạ này được dùng khi giải mã. Nó thường được lưu trữ ở dạng một bảng tra.
Lược đồ khóa cho giải mã: Mọi khóa con phải được sử dụng theo thứ tự ngược lại. Trong
thực tế, cả khi mã hóa và giải mã, chúng ta vẫn sử dụng cùng một lược đồ khóa. Điều này dẫn
đến việc phải tính toán các khóa con trước khi mã hóa khối đầu tiên.
1.6.3. Một số yêu cầu đảm bảo an toàn khi ứng dụng mã khối AES
Hệ mã khối AES có vai trò quan trọng và được sử dụng nhiều trong các hệ thống an toàn và
bảo mật. Tuy nhiên, ta cần tuân thủ một số yêu cầu về cài đặt hiệu quả và chọn lựa chế độ làm
việc cho AES nhằm đảm bảo an toàn khi ứng dụng.
Yêu cầu cài đặt hiệu quả AES trong thực tế:
Cách cài đặt trực tiếp là cách khá tốt đối với các bộ vi xử lý 8-bit, nhưng không hiệu quả với
các bộ vi xử lý 32-bit hoặc 64-bit. Đối với các bộ vi xử lý (hoặc thiết bị có tài nguyên nhỏ), việc
cài đặt tối ưu cần chú ý vấn đề sau:
- S-box: có thể lưu bảng tra đơn (1 S-box 8 bit) hoặc tính toán qua các phép tính số học trên
GF(28).
,ij
32
( ) {0 } {0 } {09} {0 }d x b x d x x e   
- Biến đổi MixColumns: có thể tính phép nhân một phần tử với các hằng số 0x09, 0x03,
0x0b, 0x0d, 0x0e có thể được tính thông qua các phép nhân với hằng số 0x02, 0x01. Cụ thể:
a.0x03 = (0x02.a) +(0x01.a) = (0x02.a) ^ a
a.0x09 = (((a.0x02).0x02).0x02) + (0x01.a)= (((a.0x02).0x02).0x02)^a
a.0x0b = (((a.0x02).0x02).0x02) + (a.0x02) + (a.0x01)
= (((a.0x02).0x02).0x02) ^ (a.0x02) ^ a
Lựa chọn chế độ làm việc cho AES: Mỗi chế độ làm việc của mã khối đều có những ưu
nhược điểm riêng, cần tìm hiểu và lựa chọn áp dụng.
Chương-2. GIẢI PHÁP XÁC THỰC VÀ BẢO MẬT
2.1. Giới thiệu giải pháp
Hiện nay đã có nhiều công cụ (phần mềm, giải pháp) hỗ trợ người dùng trong việc xác thực và

mã hoá thông tin. Tuy nhiên các công cụ này chủ yếu được cung cấp từ các nhà cung cấp chữ ký
số hoặc phần mềm miễn phí dùng để cài đặt tại máy PC của người dùng để sử dụng cho các ứng
dụng cài đặt tại máy. Việc tích hợp với các ứng dụng khác, đặc biệt là các ứng dụng web chưa
được chú trọng.
Giải pháp xác thực tài liệu trên môi trường mạng: Là việc xây dựng phần mềm xác thực (ký số)
tài liệu trong trao đổi văn bản trên môi trường mạng. Giải pháp được xây dựng cho phép tích hợp
trên các chức năng gửi nhận tài liệu của các ứng dụng web bằng việc sử dụng chứng chỉ số cho
máy chủ và chứng chỉ số của tổ chức, cá nhân tham gia vào hệ thống.
2.2. Sơ đồ kiến trúc giải pháp xác thực tài liệu trên môi trường mạng
Từ những nghiên cứu trong chương 1 về hiểm họa đối với ứng dụng web, đặc biệt đối với các
ứng dụng trong các hoạt động của các cơ quan nhà nước cần được coi trọng và đảm bảo tính xác
thực, toàn vẹn cho các tài liệu (văn bản) trao đổi qua mạng. Hình 2.1 mô tả quá trình xác thực tài
liệu truyền nhận giữa máy chủ và máy trạm.

Hình 2.1. Mô hình xác thực tài liệu trên môi trường mạng
Các thành phần trong của sơ đồ:
a) Thiết bị eToKen:
Là thiết bị được sử dụng để lưu trữ các khóa riêng và chứng chỉ 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 điện tử như Hình 2.2 a và
b.

a) Thiết bị eToKen

b) Thành phần của eToKen
Hình 2.2. Thiết bị eToKen và thành phần của eToKen
Trong hình b:
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 chỉ: Lưu trữ chứng chỉ số được cấp bởi tổ chức cấp chứng chỉ 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).

b) Ứng dụng phía máy trạm bao gồm: Là giao diện được tích hợp trong mỗi chức năng có yêu
cầu ký số hoặc xác thực của ứng dụng.
c) Thư viên mật mã: Cung cấp các lớp, các phương thức cho phép tương tác với modul tích hợp
trên trình duyệt để thực thi các chức năng theo yêu cầu của chương trình.
d) Chứng chỉ số cho máy chủ
Sử dụng chứng chỉ SSL, nhằm đảm bảo thông tin trên kênh truyền cho ứng dụng web. Khi đó
mọi dữ liệu trao đổi giữa người dùng và website sẽ được mã hóa (ở phía người gửi) và giải mã (ở
phía người nhận) bởi cơ chế SSL mạnh mẽ nhất hiện nay. Nếu website không sử dụng chứng chỉ
số SSL, mọi dữ liệu nhập vào website từ người dùng sẽ được truyền đi nguyên bản trên Internet.
Khi đó, nguy cơ dữ liệu bị xâm nhập trong quá trình trao đổi dữ liệu giữa người dùng và website
sẽ rất cao.
e) Các Dịch vụ phía máy chủ
Thực hiện xác thực tài liệu; dịch vụ Upload tài liệu cho phép máy trạm thực hiện tải tải liệu đã
được ký số hoặc mã hóa lên server phục vụ cho quá trình phân phối tài liệu của ứng dụng (mạng
văn phòng điện tử liên thông).
2.3. Phân tích thiết kế giải pháp
2.3.1. Các chức năng cần thiết cho yêu cầu của phần mềm xác thực
STT
Tên chức năng
Mô tả chi tiết
1
Chức năng tại máy trạm

1.1
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
1.2
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
1.3
Ghép nối với thiết bị eToKen
Ghép nối với thiết bị eToKen khi có yêu
cầu về khóa và chứng chỉ lưu trữ trong
eToKen
2
Chức năng tại máy chủ

2.1
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ý
2.2
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 chỉ người gửi
2.3
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ủ
3
Thư viện mật mã

3.1
Các phương thức đọc eToKen
Các phương thức đọc eToKen
3.2

Các phương thức ký số
Các phương thức ký số
3.3
Các phương thức mã hóa
Các phương thức mã hóa
2.3.2. Lựa chọn ngôn ngữ lập trình và công cụ thiết kế ứng dụng
- Visual Studio 2010 và.NET Framework 4
Visual Studio là bộ công cụ hoàn chỉnh cho phép xây dựng, triển khai các ứng dụng cho máy để
bàn lẫn các ứng dụng web. Visual Studio hỗ trợ nhiều ngôn ngữ lập trình từ C, C++, C#, C#.net,
VB ; với Visual Studio 2010 Ultimate SP1 hỗ trợ.NET Framework 4 và Siverlight 5 cần thiết để
xây dựng ứng dụng trong giải pháp này.
Trên cơ sở mô hình xác thực và bảo mật đã giới thiệu trong mục 2.2, 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 phía máy trạm và sử dụng 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
2.3.2.1. Thư viện mật mã
Thư viện mật mã trong mô hình này được xây dựng trên cơ sở cá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ố được quy định tại Quyết định sô: 59/2008/QĐ-
BTTTT ngày 31/12/2008 của Bộ Thông tin và Truyền thông và các tiêu chuẩn về an toàn thông
tin theo quy định tại Thông tư số 01/2011/TT-BTTTT ngày 04/01/2011 của Bộ trưởng Bộ Thông
tin và Truyền thông.
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 và các hàm,
thủ tục ký số, xác thực văn bản như hình Hình 2.3 và dưới đây:

Hình 2.3. Lược đồ ký số văn bản
2.3.2.2. Dịch vụ phía máy chủ
Để nâng cao tính an toàn thông tin, mô hình xác thực và bảo mật tài liệu thiết kế theo mô hình
client- server trên môi trường web, trong đó quá trình ký số hoặc mã hóa được thực thi tại máy
trạm (client), máy chủ (server) chỉ làm nhiệm vụ cung cấp giao diện tại trình duyệt và đẩy dữ

liểu lên server.
Thiết kế dịch vụ phía server như sau:

Dịch vụ WebService với phương thức Upload cho phép ứng dụng sử dụng để đưa dữ liệu file lên
máy chủ một cách an toàn. Thuật toán được mô tả như sau:
- Đầu vào: tệp dữ liệu từ máy trạm được chọn
- Đầu ra: đường dẫn tệp dữ liệu trên máy chủ
- Các bước thực hiện:
B1) Đọc dữ liệu từ tệp dữ liệu từ máy trạm được chọn
B2) Thử Ghi dữ liệu vào biến writer (BinaryWriter) và đẩy lên máy chủ
B3) Nếu quá trình tại B2 thành công thì trả về đường dẫn tệp dữ liệu trên máy chủ, nếu không
được thì trả về đường dẫn rỗng.
2.3.3. Công cụ ký số trên web
Việc thiết kế công cụ ký số đảm bảo các yêu cầu sau:
- Cho phép người dùng lựa chọn văn bản để ký (văn bản định dạng.pdf)
- Khi thực hiện lệnh ký số cho văn bản ứng dụng tự động giao tiếp với thiết bị eToken và thư
viện mật mã đã cài đặt tại máy trạm để thực hiện ký văn bản.
- Kết quả trả về tệp văn bản được ký và tự động đẩy lên máy chủ
- Thông báo cho người dùng kết quả đã thực hiện.
Mô tả chương trình:
Đầu vào:
- Tệp văn bản cần ký
- Thiết bị eToken
- Thao tác, lệnh từ người dùng
Đầu ra:
- Tệp văn bản được ký
- Đẩy tệp văn bản ký lên máy chủ
- Thông báo cho người dùng kết quả thực hiện
Các bước:


B1
Kiểm tra độ tin cậy (ứng dụng phải được tin cậy với trình duyệt bằng
cách sử dụng chứng chỉ để ký cho ứng dụng và cài đặt tại máy trạm.
Nếu không tin cậy thì cho thông báo và kết thúc.
B2
Cho phép người dùng duyệt tệp văn bản, nếu tệp văn bản không dúng
định dạng thì yêu cầu duyệt lại tệp văn bản.
B3
- Kiểm tra thiết bị eToken, nếu hợp lệ (đã kết nối và nhập đúng mã
PIN) thì thực hiện ký tệp văn bản
- Đẩy tệp văn bản đã ký lên máy chủ
- Thông báo ký thành công
Trong đó tệp “KySo.xap” là tệp biên dịch từ ứng dụng Siverlight để cung cấp giao diện ký số
cho ứng dụng web.
b) Cài đặt thư viện tại máy trạm
Để ứng dụng Siverlight hoạt động được trên máy trạm cần thực hiện các yêu cầu sau:
- Cài đặt thư viện mã hóa (cung cấp các hàm đã xây dựng);
Bước 1: Mở tệp setup.exe trong thư mục cài đặt để tiến hành cài đặt bộ thư viện cho ứng dụng.
Nhấn Next để thực hiện bước tiếp theo.
Bước 2: Chọn thư mục chứa chương trình trong ô Folder nếu cần thay đổi thư mục chứa chương
trình. Nhấn Next để thực hiện bước tiếp theo.
Bước 3: Nhấn Close để đóng lại và kết thúc cài đặt
- Cài đặt chứng thư số tại máy trạm: Chứng thư này chính là chứng thư đã ký cho giao diện trên
trình duyệt để đảm bảo tính tin cậy giữa trình duyệt và máy chủ;
- Cài đặt trình điều khiển (Driver) cho thiết bị eTocken (thiết bị lưu chứng thư số).
2.4. Kết quả của giải pháp xác thực và bảo mật tài liệu
Sau khi nghiên cứu thành công sản phẩm giải pháp này, sản phẩm đã được cài đặt sử dụng trên
hệ thống mạng văn phòng điện tử liên thông của tỉnh Thái Bình để thực hiện việc ký số trực tại
đầu mối các văn thư các cơ quan tỉnh Thái Bình. Như hình dưới đây:




Hình 2.4. Giao diện gửi văn bản đã được tích hợp chức năng ký số và sản phẩm ký số văn
bản điện tử
KẾT LUẬN
Để nghiên cứu giải pháp xác thực và bảo mật tài liệu trong trao đổi văn bản trên môi trường
mạng giữa các cơ quan nhà nước, luận văn tập trung nghiên cứu các vấn đề sau:
Nghiên cứu, tìm hiểu một số khái niệm về an toàn thông tin, đánh giá thực trạng và nhu cầu về
an toàn thông tin trong các cơ quan nhà nước.
Để xây dựng giải pháp đáp ứng được yêu cầu trong thực tế, luận văn tập trung tổng hợp, phân
tích một số cơ sở mật mã cần thiết để áp dụng trong việc bảo mật thông tin trên môi trường mạng
theo tiêu chuẩn nhà nước đã quy định (đối với mã hoá phi đối xứng và chữ ký số, áp dụng lược
đồ RSA-OAEP theo chuẩn PKCS#1 phiên bản 2.1; đối với mã hóa đối xứng áp dụng thuật toán
mã khối AES).
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 các giải
pháp xác thực tài liệu trong trao đổi văn bản trên môi trường mạng giữa các cơ quan nhà nước.
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. Với thời gian và trình độ 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.


References
Tiếng Việt
[1]. Phan Đình Diệu, Lý thuyết mật mã và an toàn thông tin, Đại học Quốc gia Hà Nội,
1999.
[2]. TCVN 7635:2007, Chữ ký số, Kỹ thuật Mật mã, 2007
[3]. Quyết định Số: 59/2008/QĐ-BTTTT ngày 31 tháng 12 năm 2008 của Bộ trưởng Bộ
Thông tin và Truyền thông Ban hà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ố.

[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.
Tiếng Anh
[5]. Microsoft, Building Secure ASP.NET Applications, Patterns & practices.
[6]. Microsoft, Introduction to Web Applications Security, Patterns & practices.
[7]. NIST (26/10/2001) Advanced Encryption Standard (AES), FIPS 197.
[8]. RSA Laboratories (14/6/2002) RSA Cryptography Standard PKCS #1 V2.1.
[9]. William Stallings, Cryptography and Network Security: Principles and Practices,
Fourth Edition, Prentice Hall, 2006.
[10]. Bruno Lowagie, Digital Signatures for PDF documents, 17 Sep 2012.
Tài liệu trên Internet:
[11].
[12].
[13].


×