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ử

Để 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.

pdf62 trang | Chia sẻ: yenxoi77 | Lượt xem: 1313 | Lượt tải: 5download
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ử: hgx’ 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 gZp* 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ú ý rZq*, để 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:

  • pdfluan_van_nghien_cuu_ung_dung_chu_ky_so_trong_qua_trinh_gui_n.pdf
Luận văn liên quan