GVHD:PGS.TS Nguyễn Linh Giang
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
1
GVHD:PGS.TS Nguyễn Linh Giang
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
2
GVHD:PGS.TS Nguyễn Linh Giang
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
3
GVHD:PGS.TS Nguyễn Linh Giang
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
4
GVHD:PGS.TS Nguyễn Linh Giang
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
5
GVHD:PGS.TS Nguyễn Linh Giang
DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt
CNTT
PKI
Diễn giải ý nghĩa
Công nghệ thông tin
Public Key Infrastructure: Hạ tấng khóa công khai
Pertty Good Privacy: Phần mềm dùng để mã hóa và xác thực
PGP
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
6
GVHD:PGS.TS Nguyễn Linh Giang
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
7
GVHD:PGS.TS Nguyễn Linh Giang
DANH MỤC CÁC BẢNG
Bảng 1 1. So sánh các kiến trúc PKI ............................................................... 29
Bả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
8
GVHD:PGS.TS Nguyễn Linh Giang
PHẦN MỞ ĐẦU
Lý do chọn đề tài:
Cuộc Cách mạng khoa học công nghệ đã đƣa xã hội loài ngƣời đi đến
một thời đại mới văn minh, tân tiến hơn rất nhiều. Trong thời đại này, công
nghệ thông tin (CNTT) đã dần từng bƣớc trở thành nền tảng của nền tảng, hạ
tầng của hạ tầng trong nền kinh tế tri thức làm chủ đạo.Theo xu thế đó, ứng
dụng CNTT trong hoạt động của cơ quan nhà nƣớc (CQNN), hƣớng tới phát
triển Chính phủ điện tử (CPĐT) là xu thế tất yếu, là mô hình phổ biến của
nhiều quốc gia, xây dựng CPĐT trở thành nhiệm vụ quan trọng hàng đầu của
bất cứ Chính phủ nào.
Sở 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
9
GVHD:PGS.TS Nguyễn Linh Giang
vào thực tế tại cơ quan. Để hoàn thành mục đích ý tƣởng đề ra cần nghiên cứu
các nội dung nhƣ sau :
Nghiên cứu khảo sát mô hình đăng ký nhiệm vụ, đề tài nghiên cứu khoa
học tại cơ quan nơi tác giả đang công tác.
Nghiê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
và ngoài nƣớc.
Nghiên cứu các công nghệ xây dựng giải pháp chữ ký số cho nền tảng
web đƣợc sử dụng phổ biến hiện nay
Nghiên cứu, ứng dụng công nghệ C#.Net, Microft SQL Server 2008
trong tiến trình xây dựng hệ thống.
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
10
GVHD:PGS.TS Nguyễn Linh Giang
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.
11
GVHD:PGS.TS Nguyễn Linh Giang
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
12
GVHD:PGS.TS Nguyễn Linh Giang
đả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.
13
GVHD:PGS.TS Nguyễn Linh Giang
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).
Ký và xác thực văn bản.
Xác thực ngƣời dùng ứng dụng (đăng nhập bằng thẻ thông
minh – smartcard, nhận thực ngƣời dùng trong SSL).
Các giao thức truyền thông an toàn dùng kỹ thuật
bootstrapping (IKE, SSL): trao đổi khóa bằng khóa bất đối xứng, còn
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ính sách chứng nhận (Certificate Policy – CP).
Tuyên bố trong sử dụng chứng nhận (Certificate Practices
Statement – CPS).
Các môđun bảo mật phần cứng (Hardware Security Module –
HSM).
Chứng nhận khóa công khai (Public Key Certificate).
Cơ quan đăng ký (Registration Authority – RA).
14
GVHD:PGS.TS Nguyễn Linh Giang
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).
15
GVHD:PGS.TS Nguyễn Linh Giang
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ý
16
GVHD:PGS.TS Nguyễn Linh Giang
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.
17
GVHD:PGS.TS Nguyễn Linh Giang
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 CA1.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.
Đƣờ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.
18
GVHD:PGS.TS Nguyễn Linh Giang
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:
[CA−1
TQKy]
[CA−1
NDThang]
[CA−1
THHoa]
Dễ thấy chứng nhận đƣợc phát hành bởi CA−1 cho thực thể cuối là
đƣờng dẫn chứng nhận hoàn chỉnh và chỉ gồm có một chứng nhận.
Nhận xét
Triển khai một kiến trúc CA đơn hoàn toàn đơn giản bởi vì chỉ cần phải
thiết lập duy nhất một CA. Tuy nhiên, ƣu điểm đó cũng chính là khuyết điểm
của kiến trúc. Do chỉ có một CA duy nhất nắm giữ các thông tin quan trọng
của mọi thực thể cuối, nếu khóa bí mật của CA bị tổn thƣơng thì mọi chứng
nhận đƣợc phát hành bởi CA này sẽ trở nên vô hiệu, và kết quả là hệ thống
PKI sụp đổ hoàn toàn. Vì vậy, trong trƣờng hợp khóa công khai của CA bị tổn
thƣơng, CA nên lập tức thông báo tình trạng này đến mọi thực thể.Hơn nữa,
nếu khóa bí mật của CA bị tổn thƣơng, CA cần phải đƣợc tái thiết lập. Để tái
thiết lập một CA, mọi chứng nhận đƣợc phát hành bởi CA phải đƣợc thu hồi
và phải đƣợc phát hành lại đồng thời thông tin về CA mới sau đó phải đƣợc
19
GVHD:PGS.TS Nguyễn Linh Giang
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ó.
20
GVHD:PGS.TS Nguyễn Linh Giang
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à {CA1, 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
[CA−1
TQKy]
NDThang]
21
GVHD:PGS.TS Nguyễn Linh Giang
[CA−2
THHoa]
[CA−3
LTAnh]
Nhận xét
Ngƣợc lại với kiến trúc CA đơn trong đó CA mới không thể đƣợc thêm
vào PKI, trong kiến trúc này ta có thể thêm CA mới bằng cách thay đổi trong
danh sách tín nhiệm. Mặc dù kiến trúc này có một ƣu điểm dễ thấy trong việc
đơn giản trong thiết kế nhƣng đôi khi nó có thể trở nên hoàn toàn phức tạp.
Với sự tăng thêm của số lƣợng CA đƣợc tin cậy bởi một thực thể, số lƣợng
thực thể trong danh sách tín nhiệm cũng tăng lên. Ngoài ra, thông tin quan
trọng về các CA đƣợc tin cậy cũng đƣợc duy trì bởi mọi thực thể. Sự cập nhật
thông tin này có thể cho thấy một nhiệm vụ vất vả cho các thực thể khi số
lƣợng CA tăng lên.
Mô 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
22
GVHD:PGS.TS Nguyễn Linh Giang
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
23
GVHD:PGS.TS Nguyễn Linh Giang
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
c. Nhận xét
24
LTAnh]
GVHD:PGS.TS Nguyễn Linh Giang
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
25