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 - Pdf 10

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

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

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.

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:

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  

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à

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ã

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ữ

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:


[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].


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status