Khái niệm chung về PKI Trong mật mã học, hạ tầng khóa công khai Public Key Infrastructure – PKI, là hệ thống vừa mang tính tiêu chuẩn, vừa mang tính công nghệ cho phép người sử dụng tro
Trang 11
MỤC LỤC
LỜI CẢM ƠN 5
DANH MỤC CÁC TỪ VIẾT TẮT 6
DANH MỤC HÌNH VẼ 7
DANH MỤC CÁC BẢNG 8
PHẦN MỞ ĐẦU 9
Lý do chọn đề tài: 9
Mục tiêu và nhiệm vụ nghiên cứu 9
Bố cục của luận văn 10
CHƯƠNG 1: HẠ TẦNG KHÓA CÔNG KHAI PKI 12
1.1 Giới thiệu chung về hạ tầng khóa công khai PKI 12
1.1.1 Khái niệm chung về PKI 12
1.1.2 Vai trò và chức năng của hạ tầng khóa công khai PKI 12
1.1.3 Các thành phần của một hạ tầng PKI 14
1.2 Các kiến trúc của hạ tầng PKI 15
1.2.1 Kiến trúc CA đơn 17
1.2.2 Kiến trúc danh sách tín nhiệm 20
1.2.3 Kiến trúc phân cấp 22
1.2.4 Kiến trúc lưới 26
CHƯƠNG 2: KHẢO SÁT CÁC GIẢI PHÁP KÝ SỐ CHO ỨNG DỤNG QUẢN LÝ TRÊN NỀN WEB 30
2.1 Khảo sát các giải pháp nước ngoài 30
2.1.1 SDX 30
2.1.2 ADSS Go-Sign Applet 33
2.2 Các giải pháp ký số trên các ứng dụng quản lý sử dụng web trong nước 35
2.2.1 Nộp hồ sơ khai thuế qua mạng 35
2.2.2 Hướng dẫn các quy trình khai thuế qua mạng 37
CHƯƠNG 3: NGHIÊN CỨU CÁC CÔNG NGHỆ XÂY DỰNG GIẢI PHÁP CHỮ KÝ SỐ TRÊN NỀN WEB 40
3.1 Giải pháp sử dụng công nghệ ActiveX 40
Trang 22
3.1.1 Các đặc điểm của ActiveX 40
3.1.2 Lập trình ký web ký số với ActiveX 43
3.2 Microsoft Silverlight 45
3.2.1 Silverlight là gì? 45
3.2.2 Đặc điểm của Silverlight 45
3.2.3 Khảo sát xây dựng giải pháp ký số dùng Silverlight 47
3.3 Giải pháp ký số sử dụng Java Applet 47
3.3.1 Cấu trúc của một Applet 47
3.3.2 Sự khác nhau giữa Application và Applet 48
3.3.3 Những giới hạn bảo mật trên applet 49
3.3.4 Chu trình sống của một Applet 49
3.3.5 Một số giải pháp sử dụng java applet để ký số dữ liệu trên webform 51
CHƯƠNG 4: ÁP DỤNG CHỮ KÝ SỐ TRONG QUẢN LÝ ĐỀ TÀI DỰ ÁN 52
4.1 Mô tả quy trình hiện có về quản lý nhiệm vụ KHCN cấp tỉnh tại Sở KHCN tỉnh Nam Định 52
4.1.1.Thông báo đề xuất nhiệm vụ nghiên cứu KHCN 53
4.1.2 Tiếp nhận phiếu đề xuất nhiệm vụ nghiên cứu KHCN 53
4.1.3 Tổng hợp danh mục các nhiệm vụ đề xuất 53
4.1.4 Tổ chức họp Hội đồng tư vấn của Sở 54
4.1.5 Tổ chức họp Hội đồng KHCN tỉnh xác định nhiệm vụ khoa học và công nghệ 54
4.1.6 Trình UBND tỉnh phê duyệt 54
4.1.7 Quyết định phân công nhiệm vụ 54
4.1.8 Thông báo kết quả 55
4.2 Tìm hiểu công nghệ XML: 55
4.3 Lựa chọn giải pháp thực hiện 57
4.3.1 Lựa chọn sử dụng dịch vụ chứng thực chữ ký số Viettel-CA 57
4.3.2 Hướng dẫn cài đặt USB Token 58
4.3.3 Ký số: 63
4.3.4 Xác thực ký số: 63
Trang 33
4.4 Ứng dụng chữ ký số vào các quy trình: 64
4.4.1 Quy trình gửi thuyết minh nhiệm vụ KH-CN có áp dụng chữ ký số: 64
4.4.2 Quy trình gửi ý kiến thảo luận có áp dụng chữ ký số: 65
4.4.3.Quy trình ra quyết định phê duyệt áp dụng chữ ký số: 67
4.5 Đánh giá kết quả: 68
KẾT LUẬN 69
A Kết luận 69
B Một số đề xuất 69
C Hướng phát triển của đề tài 70
TÀI LIỆU THAM KHẢO 71
Trang 44
Tác giả luận văn xin cam đoan đây là công trình nghiên cứu của riêng tác giả luận văn đúc kết từ quá trình nghiên cứu, từ việc tập hợp các nguồn tài liệu, các kiến thức đã học đến việc tự thu thập các thông tin liên quan và liên
hệ thực tế tại đơn vị công tác Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tác giả luận văn xin cam đoan rằng mọi thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc
về
Lưu Mạnh Hùng
Trang 55
LỜI CẢM ƠN
Trước tiên, tôi – tác giả luận văn xin được gửi lời cảm ơn đến các Quý Thầy/Cô đã giảng dạy trong chương trình đào tạo thạc sỹ, viện Công Nghệ Thông Tin và Truyền Thông, Đại học Bách Khoa Hà Nội, những người đã tận tình truyền đạt kiến thức trong quá trình tôi học tập Đây là vốn kiến thức thực
sự hữu ích, không chỉ làm nền tảng cho quá trình nghiên cứu khóa luận, mà còn là hành trang giúp tôi vững bước trên con đường hoạt động trong lĩnh vực Công nghệ thông tin nói riêng và trong cuộc sống nói chung
Với tất cả lòng kính trọng và biết ơn, tôi xin được gửi lời cảm ơn chân thành tới PGS.TS Nguyễn Linh Giang – người đã định hướng, hướng dẫn cho tôi những ngày đầu thực hiện luận văn Mặc dù trong quá trình thực hiện luận văn, có những giai đoạn khó khăn không thuận lợi, nhưng những lời động viên, hướng dẫn quý báu của thầy đã giúp tôi vượt qua và hoàn thành luận văn này
Cuối cùng tôi xin gửi lời biết ơn sâu sắc đến gia đình và bạn bè – những người đã luôn bên cạnh giúp đỡ và tạo điều kiện tốt nhất cho tôi trong suốt quá trình học tập cũng như thực hiện luận văn
Học viên thực hiện luận văn
Lưu Mạnh Hùng
Trang 66
DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt Diễn giải ý nghĩa
CNTT Công nghệ thông tin
PKI Public Key Infrastructure: Hạ tấng khóa công khai
PGP Pertty Good Privacy: Phần mềm dùng để mã hóa và xác thực
dữ liệu
CA Certificate Authority ( Cơ quan chứng thực)
RA Registration Authority (Cơ quan đăng ký)
VA Validation Authority (Cơ quan xác thực)
CR Certificate Repository (Kho lưu trữ chứng nhận)
KHCN Khoa học công nghệ
CPĐT Chính phủ điện tử
CQNN Cơ quan nhà nước
Trang 77
DANH MỤC HÌNH VẼ
Hình 1.1 Các thành phần của hạ tầng khóa công khai 15
Hình 1.2 Mô hình chuỗi tín nhiệm 16
Hình 1.3 Kiến trúc CA đơn 18
Hình 1.4 Đường dẫn chứng nhận trong kiến trúc CA đơn 19
Hình 1.5 Kiến trúc danh sách tín nhiệm 21
Hình 1.6.Đường dẫn tín nhiệm trong kiến trúc danh sách tín nhiệm 21
Hình 1.7 Kiến trúc PKI phân cấp 23
Hình 1.8.Đường dẫn chứng nhận trong kiến trúc PKI phân cấp 24
Hình 1.9 Mở rộng kiến trúc PKI phân cấp 25
Hình 1.10 Kiến trúc lưới 26
Hình 1.11 Đường dẫn chứng nhận trong kiến trúc lưới 27
Hình 2.1 SDX – tạo chữ ký 31
Hình 2.2 SDX - Xác thực chữ ký 31
Hình 2.3 Mô hình triển khai ADSS 33
Hình 2.4 Quy trình khai thuế qua mạng 35
Hình 2.5 Quy trình thực hiện khai thuế 36
Hình 2.6 Quy trình tổng quan 36
Hình 2.7.Quy trình nộp hồ sơ khai thuế 38
Hình 2.8 Gửi tờ khai điện tử 39
Hình 3.1 Chu trình sống của một applet 50
Hình 4.1 Phân tầng các bước quản lý nhiệm vụ 52
Hình 4.2 Giao diện chính quản lý đề tài dự án 55
Hình 4.3 Viettel-CA USB Token 58
Hình 4.4 Màn hình ổ CD ảo 58
Hình 4.5 Màn hình internet security 59
Hình 4.6 Màn hình thông báo cài đặt thành công 59
Hình 4.7 Màn hình quản lý Etoken 60
Hình 4.8 Đổi tên Etoken 61
Hình 4.9 Thay đổi mã Pin Token 61
Hình 4.10 Màn hình đăng nhập token 62
Hình 4.11 Màn hình quản trị chứng thư số 62
Hình 4.12 Màn hình chi tiết chứng thư số 63
Hình 4.13 Quy trình gửi thuyết minh có áp dụng chữ ký số 64
Hình 4.14 Quy trình gửi ý kiến thảo luận có áp dụng chữ ký số 65
Hình 4.15 Quy trình ra quyết định phê duyệt áp dụng chữ ký số 67
Trang 88
DANH MỤC CÁC BẢNG
Bảng 1 1 So sánh các kiến trúc PKI 29Bảng 3.1 Các phương thức của COM 45 Bảng 3.2 Các phương thức trong applet 48
Trang 9Sở Khoa học công nghệ Nam Định là cơ quan quản lý nhà nước về nghiên cứu khoa học, ứng dụng công nghệ trên địa bàn tỉnh nhà Hòa trong xu thế chung của đất nước, của địa phương về CPĐT, Sở cũng đã chủ động tích cực ứng dụng CNTT trong quản lý điều hành tác nghiệp Nhưng khi dịch vụ công đã lên đến mức 3 cho phép người đăng ký gửi trực tiếp hồ sơ nhiệm vụ nghiên cứu khoa học đến Sở thì các vấn đề an toàn thông tin như xác thực chính xác định danh của người gửi, đảm bảo toàn vẹn nội dung của hồ sơ rồi tính pháp lý của các quyết đinh lãnh đạo phê duyệt trong môi trường mạng,…
Để giải quyết bài toán đó, trong quá trình nghiên cứu, tìm hiểu học viên đã tiếp cận với công nghệ chứng thực số với ứng dụng điển hình là chữ ký số có thể giải quyết ở mức cao các yêu cầu thực tế trên Xuất phát từ yếu tố đó, học viên quyết định làm luận văn nghiên cứu về đề tài ―Áp dụng chữ ký số vào quy trình xử lý luồng công việc‖
Mục tiêu và nhiệm vụ nghiên cứu
Tập trung tìm hiểu quy trình đăng ký nhiệm vụ, đề tài nghiên cứu khoa học tại Sở KHCN Nam Định Nghiên cứu công nghệ chữ ký số nhằm áp dụng
Trang 10Nghiên cứu về kiến trúc hạ tầng mật mã khóa công khai
Khảo sát các giải pháp ký số ứng dụng nền tảng web cho quản lý trong
Cài đặt và triển khai
Bố cục của luận văn
Luận văn gồm 4 chương:
Chương 1: Hạ tầng khóa công khai PKI:
Chương này học viên tập trung nghiên cứu cơ bản về hạ tầng và các kiến trúc phổ biến của hạ tầng khóa công khai PKI Nội dung chính bao gồm khái niệm, vai trò chức năng và các thành phần của 1 hạ tầng PKI
Chương 2: Khảo sát các giải pháp ký số cho ứng dụng quản lý trên nền Web:
Chương này tập trung khao sát các giải pháp ký số đã có ở trong nước
và ngoài nước cho các ứng dụng quản lý trên nền tảng web Ở phía ngoài nước là các giải pháp SDX do E-Group của Hunggari phát triển hay ADDS Applet do Go-Sign xây dựng Còn phía trong nước thì tập trung vào khai báo thuế, nộp hồ sơ khai báo thuế qua mạng
Chương 3: Nghiên cứu các công nghệ xây dựng giải pháp ký số trên
Trang 1111
nền Web:
Chương này tập trung nghiên cứu 3 công nghệ tích hợp phía client trên nền tảng web Công nghệ activeX, silverlight của Microsoft và công nghệ Java Applet của Oracle
Chương 4: Xây dựng ứng dụng quản lý điều hành sử dụng ký số trên nền Web
Chương này học viên xây dựng một ứng dụng trên nền tảng web để mô phỏng lại quy trình đăng ký nhiệm vụ, đề tài nghiên cứu khoa học thực
tế đang diễn ra tại Sở KHCN Nam Định Sau đó sẽ phân tích nhu cầu
về tích hợp và tìm ra giải pháp tích hợp chữ ký số vào ứng dụng
Trang 1212
CHƯƠNG 1: HẠ TẦNG KHÓA CÔNG KHAI PKI 1.1 Giới thiệu chung về hạ tầng khóa công khai PKI
1.1.1 Khái niệm chung về PKI
Trong mật mã học, hạ tầng khóa công khai (Public Key Infrastructure – PKI), là hệ thống vừa mang tính tiêu chuẩn, vừa mang tính công nghệ cho phép người sử dụng trong một mạng công cộng không bảo mật (như Internet),
có thể trao đổi thông tin một cách an toàn thông qua việc sử dụng một cặp khóa bí mật và công khai được chứng nhận bởi một nhà cung cấp chứng thư
số CA được tín nhiệm Theo X.509 PKIX định nghĩa, một PKI là một tập các phần cứng, phần mềm, con người và các thủ tục cần thiết để tạo, lưu trữ, phân phối, thu hồi khóa/ chứng nhận dựa trên mã hóa khóa công khai Nhu cầu sử dụng hạ tầng này có từ cuối những năm 1990, khi mà các tổ chức công nghiệp
và các chính phủ xây dựng các tiêu chuẩn chung dựa trên phương pháp mã hoá để hỗ trợ một hạ tầng bảo mật trên mạng Internet Mục tiêu được đặt ra tại thời điểm đó là xây dựng một bộ tiêu chuẩn bảo mật tổng hợp cùng các công cụ và lý thuyết cho phép người sử dụng cũng như các tổ chức (doanh nghiệp hoặc phi lợi nhuận) có thể tạo lập, lưu trữ và trao đổi các thông tin một cách an toàn trong phạm vi cá nhân và công cộng
Một lựa chọn khác để phân phối chứng thư số khóa công khai giữa một
hệ thống mà không cần đến tổ chức thứ ba đó là hướng tiếp cận trong hệ thống PGP (Pertty Good Privacy) của NAI (Network Associates, Inc) Mỗi thành viên tham gia vào hệ thống này có thể đóng vai trò của CA để tạo và ký vào chứng thư khóa công khai của một thành viên khác mà họ biết, do đó không cần phải phát triển hạ tầng trung tâm Mô hình này chỉ hoạt động rất tốt cho một nhóm nhỏ gồm những người có những mối quan hệ trước đó với người khác, nhưng nó không mở rộng tốt cho những nhóm lớn hoặc ở những môi trường cần đòi hỏi sự quản lý chặt chẽ (chẳng hạn mức độ xác thực được đòi hỏi trước khi chứng nhận được phát hành)
1.1.2 Vai trò và chức năng của hạ tầng khóa công khai PKI
Chức năng chính của một PKI cho phép những người tham gia xác thực lẫn nhau và sử dụng thông tin từ các chứng thư số khóa công khai để mã hóa
và giải mã thông tin Đặc biệt, nó cho phép các giao dịch điện tử được diễn ra
Trang 1313
đảm bảo tính bảo mật, tính toàn vẹn, tính xác thực và tính chống chối bỏ mà không cần phải trao đổi các thông tin mật từ trước:
Tính bí mật (Confidentiality) nghĩa là bảo đảm tính bí mật của
dữ liệu Tính bí mật này được cung cấp bởi các cơ chế mã hóa mật mã học, bằng cách sử dụng cả mã hóa khoá công khai lẫn mã hóa khóa bí mật Do mã hóa khóa công khai không hiệu quả bằng mã hóa bí mật trong việc mã hóa dữ liệu lớn, nó thường được sử dụng để mã hóa những đối tượng dữ liệu tương đối nhỏ như các khóa bí mật được sử dụng trong các hệ thống mã hóa bất đối xứng
Tính toàn vẹn (Integrity) nghĩa là đảm bảo dữ liệu không thể
bị mất mát hoặc chỉnh sửa và các giao tác không thể bị thay đổi Tính toàn vẹn có thể được cung cấp bên trong PKI bằng cách sử dụng cả
mã hóa công khai và mã hóa bí mật Mã hóa khóa công khai đặc biệt được sử dụng chung với một thuật toán băm như SHA-1 hay MD5 để cung cấp tính toàn vẹn Một PKI được thiết kế tốt sẽ sử dụng các giao thức đòi hỏi sử dụng các thuật toán đó để cung cấp cơ chế toàn vẹn hiệu quả
Tính xác thực (Authentication) nghĩa là danh tính của thực thể được xác minh Tính xác thực trong môi trường thương mại điện tử được thực hiện rất tốt bằng các hệ thống mã hóa khóa công khai, dựa trên mối quan hệ toán học giữa khóa công khai và khóa bí mật Thông điệp được ký bởi một thực thể có thể được kiểm tra bởi bất kỳ thực thể nào quan tâm Các thực thể này có thể yên tâm rằng chỉ có chủ của khóa bí mật mới có thể tạo ra thông điệp này, bởi vì chỉ có người đó mới có khóa bí mật
Tính chống chối bỏ (Non-Repudiation) nghĩa là đảm bảo dữ liệu không thể bị không thừa nhận hoặc giao tác bị từ chối Đây là một dịch vụ bảo mật then chốt của bất kỳ ứng dụng thương mại nào trong
đó việc trao đổi giá trị hay các quy định pháp luật được thỏa hiệp Tính chống chối bỏ được cung cấp thông qua mã hóa khóa công khai bằng chữ ký số Khi dữ liệu được ký theo cách mật mã học sử dụng khóa bí mật của cặp khóa, bất kỳ ai có thể truy cập khóa công khai của cặp khóa này đều có thể xác định rằng chỉ có chủ của cặp khóa mới có thể ký vào dữ liệu
Trang 1414
PKI không chỉ phục vụ cho các chức năng thương mại nói riêng, nó còn cung cấp một nền tảng cho các dịch vụ bảo mật khác.PKI là nền tảng cho các ứng dụng và các thành phần bảo mật mạng khác được xây dựng trên nó Các
hệ thống thường xuyên đòi hỏi các cơ chế bảo mật dựa trên PKI có thể kể ra như thư điện tử, các ứng dụng thẻ thông minh, giao dịch điện tử (ví dụ thẻ ghi
nợ và tín dụng), ngân hàng điện tử, và các hệ thống bưu điện điện tử
Mục tiêu chính của PKI là cung cấp và xác thực mối liên hệ giữa khóa
và danh tính người dùng Nhờ vậy người dùng có thể sử dụng trong một số ứng dụng như:
Mã hoá email hoặc xác thực người gửi email (OpenPGP hay S/MIME)
mã hóa bằng khóa đối xứng
Ngoài ra, việc sử dụng PKI và mã hóa công khai giúp các cơ quan, tổ chức giảm chi phí xử lý giao tác, giảm rủi ro và giảm độ phức tạp của các hệ thống bảo mật với các phương pháp đối xứng
1.1.3 Các thành phần của một hạ tầng PKI
PKI là một cơ cấu tổ chức gồm con người, tiến trình, chính sách, giao thức, phần cứng và phần mềm dùng để cấp phát, quản lý, lưu trữ, triển khai và thu hồi các chứng thư số khóa công khai
Về cơ bản, PKI gồm các thành phần như sau:
Thực thể cuối (End Entity – EE)
Tổ chức chứng nhận (Certificate Authority – CA)
Chứng nhận khóa công khai (Public Key Certificate)
Cơ quan đăng ký (Registration Authority – RA)
Trang 1515
Kho lưu trữ chứng nhận (Certificate Repository – CR)
Hình 1.1 Các thành phần của hạ tầng khóa công khai
1.2 Các kiến trúc của hạ tầng PKI
Ngày nay, PKI được triển khai bởi nhiều cơ quan tổ chức như là công
cụ để bảo vệ những tài nguyên tập thể nhạy cảm.Tuy nhiên, với những nhu cầu, quy trình và sự phức tạp khác nhau trong mỗi công việc, chỉ một mô hình được chuẩn hóa cho PKI hoàn toàn không linh hoạt Vì lý do đó, có nhiều kiến trúc PKI khác nhau mà mỗi tổ chức có thể triển khai để phù hợp nhất với nhu cầu của họ Tuy vậy, cho dù kiến trúc PKI nào được triển khai, một thứ quan trọng trong cốt lõi của mỗi kiến trúc đó chính là sự tín nhiệm
CA giúp thiết lập cho việc nhận dạng của các thực thể giao tiếp với nhau được đúng đắn.CA không chỉ chứng nhận cho người sử dụng, mà còn cho những CA khác bằng cách ký lên chúng.Những CA đã được chứng nhận lần lượt có thể chứng nhận cho những CA khác và chuỗi mắc xích này sẽ tiếp tục cho đến khi có thể chứng nhận cho khóa công khai của thực thể cuối.Chuỗi mắc xích này được gọi là ―chuỗi tín nhiệm‖ (chain of trust) hay
―đường dẫn chứng nhận‖ (certification path)
Trang 1616
Hình 1.2 Mô hình chuỗi tín nhiệm
Ngược lại, khi thực thể cuối xác nhận chính mình cho một ứng dụng điện tử (như thương mại điện tử hay chính phủ điện tử), phần mềm mã hóa của ứng dụng sẽ kiểm tra chữ ký trong chứng nhận của thực thể cuối bằng việc sử dụng khóa công khai của CA tạo ra chứng nhận đó Nếu khóa của CA này không phải là khóa ―gốc‖ (là khóa của CA gốc được mọi người tin cậy) thì chứng nhận chứa nó cũng sẽ được xác thực với khóa công khai của CA ký chứng nhận đó, và cứ như vậy đến khi chứng nhận trong chuỗi tín nhiệm có thể được kiểm tra với một khóa gốc được tin cậy Chuỗi được xác nhận đó lúc này hàm ý tính chất xác thực của tất cả chứng nhận, bao gồm cả chứng nhận của người dùng cuối.Dưới đây là một số kiến trúc PKI phổ biến có thể được
sử dụng để thiết lập chuỗi tín nhiệm như vậy và mỗi kiến trúc đều có những lý
Trang 1717
lẽ tán thành và phản đối khi được triển khai thực tế.Sự khác biệt giữa chúng dựa trên số lượng CA, sự sắp xếp và mối quan hệ giữa chúng
Kiến trúc PKI đơn giản:
Kiến trúc CA đơn (Single CA)
Kiến trúc danh sách tín nhiệm cơ bản (Basic Trust-List)
Kiến trúc PKI trong tổ chức:
Kiến trúc phân cấp (Hierarchical)
Kiến trúc lưới (Mesh)
Kiến trúc lai:
Kiến trúc danh sách tín nhiệm mở rộng (Extended Trust-List)
Kiến trúc chứng nhận chéo (Cross-certified)
Kiến trúc CA cầu nối (Bridge CA)
Kiến trúc Gateway CA
1.2.1 Kiến trúc CA đơn
Khái niệm:
Kiến trúc CA đơn là kiểu kiến trúc PKI cơ bản nhất Trong kiểu kiến trúc này, chỉ có một CA phát hành và phân phối các chứng nhận hay danh sách các chứng nhận bị hủy (CRL) đến các thực thể cuối.Tất cả thực thể đó tín nhiệm CA này và chỉ sử dụng các chứng nhận được phát hành bởi CA đó Không có mối quan hệ tín nhiệm giữa các CA trong kiến trúc này bởi vì chỉ tồn tại duy nhất một CA Mọi thực thể trong kiến trúc này giao tiếp với nhau trong một môi trường tin cậy nhờ sử dụng cùng một điểm tín nhiệm (trust point) chung chính là CA đó Hình sau mô tả một kiến trúc CA đơn
Trang 1818
Hình 1.3Kiến trúc CA đơn
Hình trên cho thấy NDThang và TQKy là hai thực thể tín nhiệm 1.Vì thế, cả hai có thể kiểm tra và xác nhận các chứng nhận của nhau trước khi giao tiếp
CA-Đường dẫn chứng nhận:
Trong kiến trúc này, sự xây dựng đường dẫn chứng nhận cực kỳ đơn giản Có thể nói rằng không có sự xây dựng đường dẫn nào trong kiến trúc
CA đơn do kiến trúc này chỉ bao gồm duy nhất một CA hay điểm tín nhiệm
và vì vậy một chứng nhận đơn thể hiện toàn bộ đường dẫn Hình sau là một ví
dụ thể hiện các đường dẫn chứng nhận trong kiến trúc CA đơn
Trang 1919
Hình 1.4 Đường dẫn chứng nhận trong kiến trúc CA đơn
Bằng cách sử dụng ký hiệu [Tên CA Tên thực thể cuối] cho biết CA
đó phát hành chứng nhận cho thực thể cuối, đường dẫn chứng nhận của các thực thể cuối được mô tả như sau:
và phải được phát hành lại đồng thời thông tin về CA mới sau đó phải được
Trang 2020
chuyển đến mọi thực thể cuối Vì tính chất quan trọng đó, CA phải có các thủ tục cho việc bảo vệ khóa bí mật của nó và cũng nên có một cơ chế an toàn cho việc xác nhận trực tuyến của các chứng nhận được phát hành bởi các thực thể khác nhau Kiến trúc CA không thể mở rộng quy mô do nó không cho phép bất kỳ CA mới nào thêm vào PKI Vì vậy, nó chỉ phù hợp cho một tổ chức nhỏ với số lượng người giới hạn và khi kích thước của tổ chức tăng lên làm cho kiến trúc này trở nên bị quá tải
1.2.2 Kiến trúc danh sách tín nhiệm
Khái niệm
Kiến trúc CA đơn chỉ thích hợp cho tổ chức có số lượng người hạn chế Trong trường hợp số lượng người trong tổ chức tăng lên, nhu cầu sử dụng thêm các CA khác là cần thiết.Vấn đề đặt ra là làm sao những thực thể cuối có chứng nhận được phát hành bởi các CA khác nhau nhưng có thể giao tiếp với nhau Một cải tiến của kiến trúc CA đơn là kiến trúc danh sách tín nhiệm cơ bản trong đó các dịch vụ PKI được cung cấp bởi nhiều CA Trong kiến trúc này, các thực thể cuối phải duy trì một danh sách các CA mà họ tin cậy và chỉ
sử dụng các chứng nhận và CRL được phát hành bởi các CA trong danh sách các CA được tín nhiệm của nó
Trang 2121
Hình 1.5 Kiến trúc danh sách tín nhiệm
Ở ví dụ trên, danh sách tín nhiệm của TQKy và NDThang đều là
{CA-1, CA-2}
Đường dẫn chứng nhận
Tuy có nhiều CA trong kiến trúc nhưng những CA này không thiết lập một mối quan hệ tín nhiệm giữa chúng Do đó, đường dẫn chứng nhận trong kiến trúc danh sách tín nhiệm cũng chỉ chứa duy nhất một chứng nhận đơn
Hình 1.6.Đường dẫn tín nhiệm trong kiến trúc danh sách tín nhiệm
Trong ví dụ trên, đường dẫn chứng nhận của các thực thể cuối được mô
tả như sau: [CA−1 TQKy]
[CA−1 NDThang]
Trang 22Mô hình này được thực thi trong các trình duyệt web Netscape và Microsoft, cho phép người sử dụng linh động trong việc thêm vào hay gỡ bỏ
CA từ danh sách tín nhiệm của mình.Tuy nhiên, một tổ chức hiểm độc có khả năng thêm một chứng nhận CA không có thật hay giả mạo vào danh sách và
từ đó các chứng nhận người dùng không có thật được xác nhận bởi trình duyệt
1.2.3 Kiến trúc phân cấp
a Khái niệm
Khi số lượng thực thể cuối trong tổ chức tăng lên, việc quản lý các chứng nhận và sự xác thực bắt đầu phức tạp và đòi hỏi nhiều thời gian cho một CA đơn Đây thực sự trở thành gánh nặng và vì thế nhu cầu chia sẻ công việc cho các CA khác trở nên cần thiết
Kiến trúc PKI phân cấp là kiến trúc PKI phổ biến nhất thường được triển khai trong những tổ chức có quy mô lớn Trong kiến trúc này, các dịch
Trang 2323
vụ PKI được cung cấp bởi nhiều CA Không giống như kiến trúc danh sách tín nhiệm, mọi CA trong kiến trúc PKI phân cấp chia sẻ mối quan hệ tín nhiệm giữa chúng Các CA trong kiến trúc này được kết nối thông qua mối quan hệ phụ thuộc cấp trên
Hình 1.7 Kiến trúc PKI phân cấp
Sự phân cấp CA là một cấu trúc giống cây lộn ngược có gốc ở trên đỉnh (top-down), được gọi là CA gốc (root CA), và từ đó phát triển ra các nhánh hay nút Những nút là các CA cấp dưới của CA gốc.Các CA cấp dưới này cũng giống bất kỳ CA khác và thực hiện các chức năng của một CA Chúng cũng có thể ủy thác trách nhiệm của việc phát hành chứng nhận cho các CA cấp dưới hơn của nó.Bất cứ lúc nào CA gốc bổ nhiệm một CA cấp dưới, CA gốc sẽ phát hành một chứng nhận đến CA cấp dưới đó nhằm cho biết loại công việc nào cấp dưới có thể thực hiện
CA gốc luôn luôn phát hành chứng nhận đến các CA cấp dưới chứ không cho thực thể cuối.Tuy nhiên, các CA cấp dưới có thể phát hành các chứng nhận cho cả thực thế cuối và CA cấp dưới hơn của nó.Trong PKI phân cấp, CA cấp dưới không phát hành chứng nhận cho CA cấp trên của nó hoặc
Trang 2424
CA gốc.Trừ trường hợp CA gốc, tất cả các CA khác có một CA cấp trên duy nhất phát hành chứng nhận cho nó CA gốc tự phát ký chứng nhận cho mình (self-signed) và được mọi thực thể cuối tín nhiệm
b Đường dẫn chứng nhận
Đường dẫn chứng nhận trong kiến trúc PKI phân cấp khá ngắn và duy nhất, bắt đầu từ gốc cho đến chứng nhận của thực thể cuối
Hình 1.8.Đường dẫn chứng nhận trong kiến trúc PKI phân cấp
Đường dẫn chứng nhận cho TQKy được mô tả như sau:
[Root CA CA–1] : [CA–1 TQKy]
Đường dẫn chứng nhận cho NDThang được mô tả như sau:
[Root CA CA–1] : [CA–1 NDThang]
Đường dẫn chứng nhận cho THHoa được mô tả như sau:
[Root CA CA–2] : [CA–2 CA–21] : [CA–21 THHoa]
Đường dẫn chứng nhận cho LTAnh được mô tả như sau:
[Root CA CA–2] : [CA–2 CA–22] : [CA–22 LTAnh]
c Nhận xét
Trang 2525
PKI phân cấp hoàn toàn có thể mở rộng vì vậy chúng dễ dàng thỏa mãn nhu cầu phát triển của tổ chức Để thêm vào một thực thể mới trong hệ thống PKI, CA gốc hay CA bất kỳ đơn giản thiết lập một mối quan hệ tin cậy với thực thể CA cấp dưới đó bằng cách phát hành một chứng nhận đến CA mới này
Hình 1.9 Mở rộng kiến trúc PKI phân cấp
Hơn nữa, do chứng nhận chỉ được phát hành theo một hướng nên kiến trúc PKI phân cấp hoàn toàn dễ triển khai Đường dẫn cho một thực thể cuối đến gốc hay CA phát hành có thể được xác định dễ dàng và nhanh chóng
Tuy nhiên, kiến trúc PKI phân cấp gặp một trở ngại chính, đó là chỉ có một điểm tín nhiệm duy nhất (chính là CA gốc) điều khiển toàn bộ kiến trúc PKI phân cấp Nếu sự tổn thương nằm ở CA cấp dưới vẫn có thể giải quyết được bằng cách các CA cấp trên thu hồi các chứng nhận của chúng và thiết lập lại Trong trường hợp CA gốc bị tổn thương, toàn bộ sự tín nhiệm trên kiến trúc PKI sẽ sụp đổ
Hơn nữa, việc chuyển từ một tập CA cô lập và trong PKI phân cấp có thể không thực hiện được bởi vì lúc đó mọi thực thể phải điều chỉnh lại điểm tin cậy của mình.Một vấn đề khác kiến trúc PKI phân cấp không phù hợp trong các mối quan hệ ngang hàng.Ví dụ, khi hai tổ chức muốn hoạt động
Trang 26Hình 1.10 Kiến trúc lưới
b Đường dẫn chứng nhận
Trong kiến trúc này, đường dẫn chứng nhận được bắt đầu tại điểm tín nhiệm và di chuyển về hướng CA phát hành chứng nhận cho thực thể cuối đang cần xây dựng đường dẫn chứng nhận
Trang 2727
Hình 1.11 Đường dẫn chứng nhận trong kiến trúc lưới
Một CA có thể có nhiều chứng nhận chéo vì vậy việc xây dựng đường dẫn thêm phức tạp do có nhiều lựa chọn Một trong số lựa chọn dẫn đến một đường dẫn hợp lệ trong khi các lựa chọn khác dẫn đến ngõ cụt hoặc rơi vào vòng lặp chứng nhận vô tận.Độ dài tối đa của đường dẫn chứng nhận trong PKI lưới là số lượng CA có trong PKI
Ngoài ra, kiến trúc lưới liên quan đến sự xây dựng của các đường dẫn chứng nhận khác nhau bởi các người sử dụng khác nhau Do điểm tín nhiệm luôn là CA phát hành chứng nhận cho thực thể cuối, nên khi NDThang xây dựng một đường dẫn chứng nhận cho THHoa, điểm khởi đầu là CA đã phát hành chứng nhận cho NDThang (là CA-1) và điểm cuối là chứng nhận của THHoa Tương tự, khi LTAnh xây dựng một đường dẫn chứng nhận cho THHoa, điểm khởi đầu là nhà phát hành chứng nhận cho LTAnh (là CA-3) và điểm cuối là chứng nhận của THHoa Các đường dẫn chứng nhận được dựng lên bởi NDThang cho THHoa:
[CA–1 CA–2] : [CA–2 THHoa]
[CA–1 CA–3] : [CA–3 CA–2] : [CA–2 THHoa]
Các đường dẫn chứng nhận được dựng lên bởi LTAnh cho THHoa:
Trang 2828
[CA–3 CA–2] : [CA–2 THHoa]
[CA–3 CA–1] : [CA–1 CA–2] : [CA–2 THHoa]
Trong cả hai trường hợp, đường dẫn chứng nhận sẽ không như nhau trừ khi cả NDThang và LTAnh đều cùng có chung nhà phát hành CA hay điểm tín nhiệm giống như NDThang với TQKy (chung một điểm tín nhiệm là CA-1) Mặc khác, do kiến trúc lưới chứa nhiều mối quan hệ hai chiều giữa các CA, thường có nhiều hơn một đường dẫn chứng nhận giữa thực thể bất kỳ và một điểm tín nhiệm Trong kiến trúc phân cấp, xây dựng một đường dẫn chứng nhận từ chứng nhận người dùng đến điểm tín nhiệm cao nhất là tất định trong khi ở kiến trúc lưới là bất định.Sự tìm ra đường dẫn khó hơn trong trường hợp kiến trúc ngang hàng.Độ dài đường dẫn có thể dài hơn trong kiến trúc PKI phân cấp
c Nhận xét
Có nhiều điểm tin cậy trong kiến trúc PKI lưới, và do đó sự tổn thương của một CA đơn lẻ không thể làm sụp đổ toàn bộ PKI mà chỉ ảnh hưởng đến các thực thể liên kết với CA bị tổn thương đó Lúc này, chứng nhận của CA bị tổn thương sẽ bị thu hồi bởi các CA đã phát hành chứng nhận đến CA đó
CA mới dễ dàng được thêm vào kiến trúc PKI bằng cách phát hành chứng nhận đến ít nhất một CA khác trong lưới.Kiến trúc lưới có một điểm đặc biệt là mỗi CA phải kết nối với các CA khác, tạo thành một đồ thị đầy đủ.Điều đó có nghĩa là nếu có CA, số lượng liên kết cần thiết sẽ là × ( – 1) Do đó, khi số lượng CA tăng lên, số lượng chứng nhận chéo cũng như số lượng chuỗi chứng nhận trở nên vô cùng lớn
1.2.5 Nhận xét
Bảng sau cho thấy các ưu điểm và khuyết điểm của các kiến trúc PKI được triển khai trong phạm vi một tổ chức:
Trang 2929
Bảng 1 1 So sánh các kiến trúc PKI
Dễ dàng nhận thấy kiến trúc PKI phân cấp rất thích hợp khi triển khai trong các tổ chức có sự quản lý chặt chẽ Kiến trúc này có sự quản lý chặt chẽ theo cấu trúc phân cấp, phụ thuộc cấp trên và xây dựng đường dẫn chứng nhận cũng khá đơn giản Ngoài ra, trong tổ chức có số lượng thực thể cuối ít, kiến trúc CA đơn cũng được sử dụng rất hiệu quả
Trang 3030
CHƯƠNG 2: KHẢO SÁT CÁC GIẢI PHÁP KÝ SỐ CHO ỨNG
DỤNG QUẢN LÝ TRÊN NỀN WEB 2.1 Khảo sát các giải pháp nước ngoài
2.1.1 SDX
SDX là một sản phẩm thương mại của E-Groupđã được phát triển một kiến trúc chữ ký số để quản lý các tài liệu được xác thực (được ký số) số một cách hiệu quả Kiến trúc này có thể giải quyết hữu hiệu các thao tác liên quan đến chữ ký số, từ việc sinh đến lưu trữ lâu dài chữ ký số.Kiến trúc DSA tồn tại độc lập với nhà cung cấp dịch vụ xác thực Trong quy trình (workflow) làm việc chuẩn của DSA, nhà cung cấp dịch vụ chỉ hỗ trợ việc kiểm tra tính xác thực đối với chứng thư số của người ký (CRL, OCSP…)
Thông tin thu hồi của các tệp sẽ chỉ được đưa vào sau một khoảng thời gian nhất định Khoảng thời gian này phụ thuộc vào từng tổ chức cung cấp chứng thư số
2.1.1.1 Quy trình cơ bản của chữ ký số
Kiến trúc DSA hỗ trợ hai quy trình chính trong việc quản lý chữ ký số:
- Tạo các tài liệu điện tử được ký (ký số)
- Kiểm tra tính xác thực của tài liệu được ký (xác thực)
a Tạo các tài liệu điện tử được ký (ký số): Người ký sử dụng chứng thư
số nhận được từ tổ chức cung cấp chứng thư số để ký tài liệu Đầu ra là một tài liệu được ký số
Trang 3131
Hình 2 1 SDX – tạo chữ ký
b Kiểm tra tính xác thực của tài liệu được ký (xác thực): Tính xác thực của tài liệu được ký số cần được kiểm tra Đầu ra là câu trả lời về tính xác thực, ―xác thực‖ hoặc ―không xác thực‖
Hình 2 2: SDX - Xác thực chữ ký 2.1.1.2 Các tính năng của SDX
E-Group phát triển dòng sản phẩm SDX (Signed Document eXpert) phục vụ nhận biết các thành phần hệ thống của kiến trúc chữ ký số DSA SDX có khả năng xác minh tính xác thực và cấp phát chứng thư số pháp lý cho mọi định dạng tài liệu (HTML, XML, WORD, PDF…)
Các dịch vụ
- Các dữ liệu chứng minh tính xác thực có thể được lưu lại để làm chứng cứ (Ví dụ: người ký và thời điểm ký tài liệu)
Trang 32- Kiểm tra tính xác thực của chứng thư số (quản lý CRL, OCSP tự động hoặc kiểm tra bằng tay)
- Quản lý danh sách thu hồi
- Định dạng ký số dựa trên các chuẩn quốc tế sau:
RFC3369 Cryptographic Message Syntax (CMS) ETSI TS 101 733 Electronic Signature Formats
RFC3275 XML-Signature Syntax and Processing (XMLDSIG)
ETSI TS 101 903 XML Advanced Electronic Signatures (XAdES)
Độc lập với các chính sách về chữ ký số
Tất cả các tổ chức cung cấp chứng thư số đều có quy định xác thực của riêng họ Các quy định đó có thể bao gồm một số các hạn chế trong việc sử dụng chứng thư số để đạt được yêu cầu phù hợp Tuy nhiên, chúng không thể thay thế cho các quy định liên quan đến việc sử dụng chữ ký số
Tất cả các tổ chức sử dụng chữ ký số đều phải khởi tạo và triển khai chính sách chữ ký số (Electronic Signature Policy - ESP) phục vụ môi trường ứng dụng tương ứng Chính sách này phải đưa ra tất cả các yêu cầu cần có khi tạo và kiểm tra một tài liệu được ký số Trong thực tế, chính sách chữ ký số là tài liệu viết bằng ngôn ngữ thông thường Để tương thích với chính sách này, người ta thường phải hiệu chỉnh và thay đổi các công cụ và phần mềm tương ứng Kiến trúc DSA được phát triển bởi E-Group là độc lập với chính sách Các chuyên gia của E-Group chuyển đổi các yêu cầu của chính sách chữ ký
số thành một ngôn ngữ chuẩn hóa (XML) và các công cụ của hệ thống tạo,
Trang 3333
kiểm tra tài liệu sử dụng chính sách chuẩn này Các chính sách chuẩn này là công khai và đặt trong các tài liệu xác thực Ưu điểm nổi bật của giải pháp này là với cùng một công cụ, ta có thể xác thực nhiều tài liệu có các mục đích khác nhau (Ví dụ: Tài liệu trả thuế, giao dịch ngân hàng, thay đổi địa chỉ,…)
2.1.2 ADSS Go-Sign Applet
Go>Sign Applet là sản phẩm của công ty Ascertia được phát triển trên nền tảng Java GoSign Applet được phát triển cho người dùng cuối (phía client) có khả năng ký số và xác thực chữ ký số trên nền web
Go>Sign Applet được thiết kế để người dùng cuối có thể dễ dàng thực hiện ký số trên bất kỳ ứng dụng web nào Trong các môi trường của bên thứ
ba như B2B, B2C hoặc G2C không cần phải cài đặt chương trình GoSign applet là giải pháp tốt cho người dùng ký bên phía client
Mô hình triển khai ADSS
Hình 2.3Mô hình triển khai ADSS
Trang 3434
- Phía người dùng ký số tài liệu sử dụng ADSS Go>Sign Applet – được tự động download, không cần cài đặt và nó có thể truy cập các khóa trên máy cục bộ để ký các tài liệu được hiển thị bởi máy chủ trên mạng hoặc thậm chí các tệp trên máy cục bộ để tải lên máy chủ
- Với chức năng Countersign, Go>Sign Applet có thể cho phép ký nhiều chữ ký lên một tài liệu
- Chữ ký của Go>Sign Applet có gắn kèm dấu thời gian phục vụ cho việc xác định thời điểm ký số tài liệu
Các đặc điểm của Go>Sign Applet:
Trang 35- Sử dụng ứng dụng Desktop để ký số tài liệu sau đó đẩy lên giao diện web dưới dạng tệp có ký số
- Sử dụng các bộ phát triển SDK của các sản phẩm ký web thương mại của nước ngoài
Điển hình là giải pháp ký số khai báo thuế qua mạng:
2.2.1 Nộp hồ sơ khai thuế qua mạng
2.2.1.1 Quy trình nghiệp vụ
Hình 2 4Quy trình khai thuế qua mạng
- Người nộp thuế sử dụng phần mềm HTKK, kết xuất tờ khai thu ra tệp PDF, Excel hoặc XML…
- Vào mạng internet, đăng nhập vào hệ thống kê khai thuế để nộp tờ khai và ký điện tử trên tờ khai;
- Hệ thống kê khai thuế của cơ quan thuế sẽ lưu trữ tờ khai dưới dạng gốc (làm chứng từ gốc, có thể in phục hồi), kiểm tra chữ ký điện tử,
tự động truyền tờ khai về đúng cơ quan thuế quản lý đối tượng nộp thuế và đưa nội dung tờ khai vào hệ thống NTK sau đó ứng dụng