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

Nghiên cứu cơ sở hạ tầng khóa công khai và giải pháp ứng dụng chữ ký số

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

LỜI CAM ĐOAN
Tôi xin cam đoan đề tài nghiên cứu của tôi hoàn toàn do tôi tự làm dƣới sự
hƣớng dẫn của cô giáo PGS. TS Nguyễn Thị Hoàng Lan. Những kết quả tìm hiểu và
nghiên cứu trình bày trong luận văn là hoàn toàn trung thực và chƣa từng đƣợc công
bố trong bất cứ công trình nào.
Nếu xảy ra bất cứ điều gì không đúng nhƣ những lời cam đoan trên, tôi xin chịu
hoàn toàn trách nhiệm trƣớc Viện và nhà trƣờng.

Hà Nội, tháng 09 năm 2014
Tác giả

Nguyễn Huy Hiệu

i


MỤC LỤC
LỜI CAM ĐOAN ........................................................................................................ i
DANH MỤC CÁC TỪ VIẾT TẮT ............................................................................ v
DANH MỤC HÌNH VẼ ............................................................................................. vi
MỞ ĐẦU ................................................................................................................. viii
CHƢƠNG 1: TỔNG QUAN VỀ PKI ......................................................................... 1
1.1. Khái niệm về PKI ............................................................................................1
1.2. Tìm hiểu về các hệ mật mã ...............................................................................2
1.2.1. Hệ mật mã khóa đối xứng ..........................................................................2
1.2.2. Hệ mật mã khóa công khai .........................................................................5
1.3. Các quá trình mã hóa và giải mã ......................................................................7
1.3.1. Quá trình băm .............................................................................................7
1.3.2. Quá trình mã hóa và giải mã ......................................................................8
1.3.3. Quá trình ký và xác thực chữ ký ..............................................................10
1.4. Các thành phần của PKI .................................................................................12


1.4.1. Certificate Authority.................................................................................12
1.4.2. Registration Authority ..............................................................................13
1.4.3. PKI client ..................................................................................................13
1.4.4. Các thành phần khác.................................................................................13
1.5. Các mô hình tổ chức PKI................................................................................13
1.5.1. Single CA Model ......................................................................................14
1.5.2. Hierachical Model ....................................................................................14
1.5.3. Mesh Model ..............................................................................................15
1.5.4. Web of Trust Model .................................................................................16
1.5.5. Trust List Model .......................................................................................16
1.6. Tìm hiểu phần mềm EJBCA ...........................................................................17
1.6.1. Giới thiệu ..................................................................................................17
1.6.2. Kiến trúc ...................................................................................................18
1.6.3. Quy trình đăng ký chứng chỉ số ...............................................................19
ii


1.6.4. Quy trình thu hồi chứng chỉ số .................................................................22
CHƢƠNG 2: PHÂN TÍCH GIẢI PHÁP PKI CHO DOANH NGHIỆP .................. 24
2.1. Doanh nghiệp khảo sát và nhu cầu thực tế .....................................................24
2.2. Khảo sát mô hình phân cấp tổ chức của doanh nghiệp ..................................24
2.3. Khảo sát một số nghiệp vụ hành chính ...........................................................25
2.3.1. Quy trình cấp thiết bị ................................................................................26
2.3.2. Quy trình tuyển nhân sự ...........................................................................26
2.3.3. Phân tích và đánh giá................................................................................27
2.4. Đề xuất mô hình PKI sử dụng EJBCA cho doanh nghiệp..............................29
2.4.1. Mô hình triển khai PKI trên hạ tầng mạng doanh nghiệp ........................30
2.4.2. Phân tích hoạt động trong mô hình đề xuất ..............................................32
CHƢƠNG 3: XÂY DỰNG HỆ THỐNG CHỮ KÝ SỐ ỨNG DỤNG VÀO VĂN
BẢN HÀNH CHÍNH DOANH NGHIỆP ................................................................. 34

3.1. Phân tích xây dựng các quy trình hoạt động trong hệ thống PKI ...................34
3.1.1 Xây dựng quy trình đăng ký chứng chỉ số ................................................34
3.1.2 Xây dựng quy trình thu hồi chứng chỉ số ..................................................37
3.1.3 Xây dựng quy trình ký/ xác thực chữ ký ...................................................39
3.2. Phân tích thiết kế các ứng dụng thử nghiệm...................................................40
3.2.1. Công cụ phát triển ....................................................................................40
3.2.2. Phân tích ứng dụng hỗ trợ ngƣời dùng RA ..............................................40
3.2.2.1. Biểu đồ Use Case ...............................................................................40
3.2.2.2. Biểu đồ tuần tự ...................................................................................41
3.2.2.3. Biểu đồ thành phần ............................................................................43
3.2.3. Phân tích ứng dụng hỗ trợ ngƣời quản trị EJBCA ...................................43
3.2.3.1. Biểu đồ Use Case ...............................................................................43
3.2.3.2. Biểu đồ tuần tự ...................................................................................44
3.2.3.3. Biểu đồ thành phần ............................................................................46
3.2.4. Phân tích ứng dụng hỗ trợ ngƣời sử dụng chứng chỉ số...........................47
3.2.4.1. Biểu đồ Use case ................................................................................47

iii


3.2.4.2. Biểu đồ tuần tự ...................................................................................48
3.2.4.3. Biểu đồ thành phần ............................................................................51
3.3. Cài đặt và thử nghiệm ứng dụng .....................................................................51
3.3.1. Môi trƣờng cài đặt ....................................................................................51
3.3.2. Cài đặt ứng dụng ......................................................................................53
3.3.3. Kịch bản thử nghiệm ................................................................................57
3.3.4. Kết quả thử nghiệm và đánh giá ...............................................................59
3.4. Nhận xét và đánh giá .......................................................................................... 59
KẾT LUẬN ............................................................................................................... 61
TÀI LIỆU THAM KHẢO ......................................................................................... 63


iv


DANH MỤC CÁC TỪ VIẾT TẮT
CA

Certificate Authority

CRL

Certificate Revocation List

DN

Distinguish Name

EJB

Enterprise Java Bean

EJBCA

Enterprise Java Bean Certificate Authority

LDAP

Lightweight Directory Access Protocol

MFC


Microsoft Foundation Classes

OCSP

Online Certificate Status Protocol

PKCS

Public Key Cryptography Standard

PKI

Public Key Infrastructure

RA

Registration Authority

RFC

Request For Comment

v


DANH MỤC HÌNH VẼ
Hình 1.1: Mã hóa và giải mã với khóa đối xứng ........................................................2
Hình 1.2: Mô hình mã hóa đối xứng không dùng vector khởi tạo. .............................3
Hình 1.3: Mô hình mã hóa đối xứng dùng vector khởi tạo. ........................................4

Hình 1.4: Mô hình mã hóa và giải mã với 2 khóa khác nhau. ....................................5
Hình 1.5: Mô phỏng quá trình mã hóa. .......................................................................8
Hình 1.6: Quá trình mã hóa. ........................................................................................9
Hình 1.7: Mã hóa kết hợp, quá trình giải mã. ...........................................................10
Hình 1.8: Minh họa quá trình ký. ..............................................................................11
Hình 1.9: Mô hình CA đơn. ......................................................................................14
Hình 1.10: Mô hình CA phân tầng. ...........................................................................15
Hình 1.11: Danh sách chứng chỉ số của một trình duyệt web. .................................16
Hình 1.12: Kiến trúc EJBCA. ...................................................................................18
Hình 1.13: Quá trình đăng ký chứng chỉ số. .............................................................20
Hình 1.14: Quy trình thu hồi chứng chỉ số................................................................22
Hình 2.1: Mô hình phân cấp chức năng của công ty IFI Solution. ...........................25
Hình 2.2: Đề xuất mô hình phân tầng hệ thống PKI của công ty IFI Solution. ........29
Hình 2.3: Đề xuất mô hình EJBCA triển khai ở công ty IFI Solution. .....................31
Hình 2.4: Mô hình hoạt động của EJBCA trong công ty IFI Solution. ....................32
Hình 3.1: Quy trình đăng ký chứng chỉ số ở công ty IFI Solution. ..........................35
Hình 3.2: Quy trình thu hồi chứng chỉ số ở công ty IFI Solution. ............................38
Hình 3.3: Quy trình ký duyệt văn bản. ......................................................................39
Hình 3.4: Biểu đồ Use case của công cụ RA. ...........................................................41
Hình 3.5: Biểu đồ tuần tự quá trình tạo mới yêu cầu trên RA. .................................42
Hình 3.6: Biểu đồ thành phần của công cụ RA. ........................................................43
Hình 3.7: Biểu đồ Use Case của công cụ quản trị EJBCA. ......................................44
Hình 3.8: Quá trình xử lý yêu cầu của ngƣời quản trị EJBCA. ................................45
Hình 3.9: Quá trình export file chứng chỉ số. ...........................................................46
Hình 3.10: Biểu đồ thành phần công cụ quản trị EJBCA. ........................................46

vi


Hình 3.11:Biểu đồ Use case công cụ ký văn bản. .....................................................47

Hình 3.12: Quản lý danh sách văn bản. ....................................................................48
Hình 3.13: Hiển thị thông tin chi tiết văn bản. ..........................................................49
Hình 3.14: Quá trình ký văn bản trên công cụ hỗ trợ ký số. .....................................50
Hình 3.15: Biểu đồ thành phần chƣơng trình ký/xác thực chữ ký. ...........................51
Hình 3.16: Mô hình hệ thống kiểm thử. ....................................................................52
Hình 3.17: Giao diện quản lý các yêu cầu. ...............................................................53
Hình 3.18: Giao diện tạo mới/ sửa yêu cầu. ..............................................................54
Hình 3.19: Giao diện xử lý các yêu cầu từ RA. ........................................................54
Hình 3.20: Giao diện quản lý các chứng chỉ số. .......................................................55
Hình 3.21: Giao diện quản lý danh sách văn bản......................................................56
Hình 3.22: Giao diện hiển thị thông tin văn bản. ......................................................56
Hình 3.23: Giao diện ký văn bản. .............................................................................57

vii


MỞ ĐẦU
Trong những năm gần đây, doanh nghiệp ở Việt Nam có sự gia tăng nhanh
chóng về số lƣợng: tính đến thời điểm hiện tại cả nƣớc có trên 400.000 doanh
nghiệp hoạt động và riêng chỉ trong năm 2013 nƣớc ta có 76.955 doạnh nghiệp mới
đăng ký kinh doanh (theo Thống kê của cục Quản lý kinh doanh, Bộ kế hoạch và
đầu tƣ) và đa số trong đó là các doanh nghiệp vừa và nhỏ. Cùng với sự gia nhập tổ
chức thƣơng mại thế giới WTO, các doanh nghiệp nƣớc ta sẽ đứng trƣớc những
thách thức lớn. Khi không còn đƣợc sự bảo hộ của nhà nƣớc các doanh nghiệp sẽ
phải cạnh tranh với các doanh nghiệp nƣớc ngoài có tiềm lực về tài chính và kinh
nghiệm. Ngoài việc tận dụng những lợi thế ƣu đãi của chính sách nhà nƣớc,
các doanh nghiệp Việt Nam cần phải tự cơ cấu lại chính mình để phù hợp với điều
kiện mới, nâng cao hiệu suất hoạt động, tăng sức cạnh tranh với các doanh nghiệp
có vốn đầu tƣ nƣớc ngoài.
Cùng với sự phát triển bùng nổ của mạng Internet, cũng nhƣ sự tiến bộ vƣợt bậc

của các công nghệ liên quan trong mƣời năm trở lại đây, việc ứng dụng công nghệ
thông tin vào hoạt động doanh nghiệp đã mang lại những lợi ích to lớn cho doanh
nghiệp, đặc biệt là quá trình trao đổi thông tin.
Có một hiện thực rằng, phần lớn các doanh nghiệp đã ứng dụng công nghệ
thông tin vào các hoạt động quản lý và kinh doanh, song việc đảm bảo an ninh
thông tin trong hệ thống của mỗi doanh nghiệp dƣờng nhƣ chƣa đƣợc chú trọng
đúng mức, hoặc là với các thông tin quan trọng vẫn phải sử dụng các thêm phƣơng
thức trao đổi thông tin truyền thống nhƣ: công văn, văn bản giấy… để xác nhận.
Làm cho việc ứng dụng công nghệ thông tin không triệt để, lãng phí thời gian tiền
của... Do đó, việc xây dựng một hệ thống truyền tin an toàn nói chung và hệ thống
văn bản điện tử trong doanh nghiệp nói riêng sẽ giúp loại bỏ các khâu hành chính
rƣờm rà, nâng cao hiệu suất hoạt động. Bởi vì, các giao tiếp xảy ra trên Internet đều
là “ảo”, do vậy, thật khó có thể khẳng định đƣợc ngƣời ta đang giao tiếp với có
đúng là ngƣời mà ta mong muốn hay không. Từ những nhu cầu thực tế đó, chúng ta
nhận thấy có hai vấn đề đƣợc đặt ra. Thứ nhất, để tránh giả mạo, ngƣời dùng sẽ cần

viii


một phƣơng thức để xác minh ai là ngƣời đƣa ra thông tin và xác minh sự toàn vẹn
của thông tin. Thứ hai, để tránh bị lộ thông tin, ngƣời dùng sẽ cần một phƣơng thức
để đảm bảo chỉ có ngƣời họ gửi thông tin cho mới đọc đƣợc những thông tin đó.
Giải pháp để đáp ứng hai vấn đề này thì đã đƣợc thế giới đề ra từ lâu. Đó là cấp cho
các cá nhân trong hệ thống văn bản điện tử của doanh nghiệp một chứng chỉ số có
thể tự chứng minh đƣợc với ngƣời khác họ là ai. Họ có thể dùng chứng chỉ này ký
điện tử lên các văn bản họ gửi đi để ngƣời nhận xác định đƣợc họ là tác giả và kiểm
tra sự toàn vẹn của văn bản. Ngoài ra, họ cũng có thể dùng chứng chỉ này để giải
mã các thông tin mà đƣợc mã hóa khi gửi cho họ, với mong muốn rằng chỉ mình họ
là có thể giải mã đƣợc những thông tin này. Hệ thống hỗ trợ việc đăng ký, cấp phát
và quản lý các chứng chỉ số, cũng nhƣ cung cấp các dịch vụ liên quan để sử dụng

các chứng chỉ số đƣợc gọi chung là Public Key Infrastructure (PKI – Hạ tầng khóa
công khai). Hay nói một cách khác, PKI tạo ra một cơ sở vững chắc để mọi ngƣời
có thể tin tƣởng, đăng ký và sử dụng chứng chỉ số. Trong phạm vi một doanh
nghiệp, việc triển khai thành công PKI sẽ cho phép hoàn thiện hệ thống văn bản
điện tử nói riêng và môi trƣờng truyền tin an toàn nói chung.
Hiện nay, có rất nhiều các mô hình PKI đã đƣợc xây dựng sẵn, một trong số đó
là EJBCA. EJBCA là một phần mềm nguồn mở dựa trên công nghệ Java, dễ dàng
triển khai cài đặt cũng nhƣ tùy chỉnh tùy theo điều kiện cụ thể. Để triển khai hệ
thống PKI trong nội bộ doanh nghiệp thì EJBCA là một trong những lựa chọn tối ƣu
hiện nay.
Nhận thấy lợi ích khi triển khai hệ thống PKI vào doanh nghiệp và đƣợc sự
đồng ý của giáo viên hƣớng dẫn PGS.TS Nguyễn Thị Hoàng Lan, tôi đã lựa chọn đề
tài luận văn: “Nghiên cứu cơ sở hạ tầng khóa công khai và giải pháp ứng dụng
chữ ký số trong văn bản hành chính của doanh nghiệp” với mục tiêu nhƣ sau:
 Nghiên cứu các kiến thức cơ bản về hạ tầng khóa công khai (Public Key
Infrastructure – PKI).
 Nghiên cứu thành phần, mô hình PKI sử dụng phần mềm nguồn mở EJBCA.

ix


 Phân tích và xây dựng giải pháp cho việc triển khai PKI sử dụng phần mềm
EJBCA và ứng dụng chữ ký số trong văn bản hành chính của doanh nghiệp
vừa và nhỏ.
Nội dung luận văn đƣợc trình bày thành 3 chƣơng:
 Chƣơng 1: Tổng quan về PKI
 Tìm hiểu các kiến thức cơ bản về PKI nhƣ: khái niệm, các thành phần và
các mô hình tổ chức PKI.
 Tìm hiểu về các hệ mật mã: hệ mật mã khóa đối xứng, hệ mật mã khóa
công khai.

 Tìm hiểu các quá trình mã hóa, giải mã, ký và xác thực chữ ký sử dụng
trong hệ thống PKI.
 Tìm hiểu phần mềm nguồn mở EJBCA bao gồm: kiến trúc và các quy
trình cơ bản trong hệ thống PKI sử dụng EJBCA.
 Chƣơng 2: Phân tích giải pháp PKI cho doanh nghiệp
 Tập trung khảo sát một doanh nghiệp cụ thể: nhu cầu của doanh nghiệp,
mô hình phân cấp tổ chức và các nghiệp vụ của doanh nghiệp…
 Phân tích đánh giá kết quả khảo sát ở trên, đề xuất mô hình PKI sử dụng
EJBCA cho doanh nghiệp, phân tích các hoạt động cơ bản trong mô hình
đề xuất, các đối tƣợng ngƣời dùng tham gia vào hệ thống.
 Chƣơng 3: Xây dựng hệ thống chữ ký số ứng dụng vào văn bản hành chính
doanh nghiệp
 Dựa trên mô hình đề xuất ở chƣơng 2, xây dựng các quy trình hoạt động
trong hệ thống PKI đề xuất.
 Phân tích thiết kế các ứng dụng thử nghiệm: nhằm hỗ trợ ngƣời sử dụng
tham gia vào hoạt động của hệ thống PKI. Sau đó, xây dựng các kịch bản
và thử nghiệm để đánh giá hoạt động của hệ thống.
 Đƣa ra các nhận xét đánh giá về mô hình đề xuất.

x


CHƢƠNG 1: TỔNG QUAN VỀ PKI
1.1. Khái niệm về PKI
PKI là viết tắt của “Public Key Infrastructure” – cơ sở hạ tầng khóa công khai.
Trong mã hóa phi đối xứng, ngƣời ta sử dụng một cặp khóa để mã hóa và giải mã
thông tin. Cặp khóa này là: khóa bí mật (private key) và khóa công khai (public
key). Khi một thông tin đƣợc mã hóa bằng khóa công khai thì chỉ có thể đƣợc giải
mã bằng khóa bí mật tƣơng ứng, và ngƣợc lại. Khóa công khai là khóa mà ta sẽ
công khai cho tất cả mọi ngƣời khác biết để họ giải mã các thông tin đƣợc mã hóa

bởi khóa bí mật của ta, hoặc là để họ mã hóa những thông tin gửi cho ta mà muốn
chỉ có ta giải mã đƣợc. Khóa công khai đƣợc công khai hóa thông qua việc đƣợc
gắn vào trong một chứng chỉ số.
Mục đích chính của PKI là cung cấp các cặp khóa và các dịch vụ liên quan sử
dụng chúng. Theo wikipedia, PKI là một tập hợp các đối tƣợng phần cứng, phần
mềm con ngƣời, các chính sách, các thủ tục mà cần thiết để tạo ra, quản lý, lƣu trữ,
phân phối và thu hồi chứng chỉ số.[9]
 Phần cứng ở đây có thể là các máy chủ, các smart card, token – thiết bị chứa
khóa bí mật.
 Phần mềm ở đây có thể là các ứng dụng chạy trên các máy chủ để cung cấp
các dịch vụ, các ứng dụng client chạy trên máy tính cá nhân để ngƣời dùng sử
dụng dịch vụ, các ứng dụng web…
 Con ngƣời ở đây là những ngƣời tham gia vào các quá trình của hệ thống PKI
nhƣ: các đối tƣợng đăng ký và sở hữu chứng chỉ số, các đối tƣợng có nhiệm
vụ kiểm duyệt và xác thực những ngƣời đăng ký chứng chỉ số và đối tƣợng
cấp chứng chỉ số…
 Các chính sách là các văn bản mô tả về vai trò, quyền lợi của ngƣời sử dụng
trong từng trƣờng hợp cụ thể, mô tả chi tiết về các yêu cầu kĩ thuật trong các
giao dịch, dịch vụ cụ thể (cho ngƣời phát triển ứng dụng)…
 Các thủ tục có thể là các bƣớc một ngƣời dùng cần thực hiện để sử dụng dịch
vụ (ví dụ nhƣ khai báo thông tin cá nhân khi đăng ký xin cấp chứng chỉ số),
1


các tham số cần cung cấp trong các giao thức dành cho các nhà phát triển ứng
dụng mà muốn xây dựng các ứng dụng client có thể tƣơng thích đƣợc với
server của nhà cung cấp…
1.2. Tìm hiểu về các hệ mật mã
1.2.1. Hệ mật mã khóa đối xứng
Thuật toán mã hóa đối xứng là thuật toán mà tại đó khoá mã hoá có thể tính

toán ra đƣợc từ khoá giải mã. Trong rất nhiều trƣờng hợp, khoá mã hoá và khoá
giải mã là giống nhau. Thuật toán này yêu cầu ngƣời gửi và ngƣời nhận phải chia
sẻ chung một khoá trƣớc khi thông tin đƣợc gửi đi và khoá này phải đƣợc cất giữ
bí mật. Độ an toàn của thuật toán này vẫn phụ thuộc vào độ an toàn của quá trình
chia sẻ khoá, nếu để lộ ra khoá này nghĩa là bất kỳ ngƣời nào cũng có thể mã hoá
và giải mã thông tin trong hệ thống mã hoá.
Sự mã hoá và giải mã của thuật toán đối xứng biểu thị bởi:
EK( P ) = C
DK( C ) = P

Hình 1.1: Mã hóa và giải mã với khóa đối xứng.[5]
Các thuật toán mã hóa đối xứng có thể chia làm hai loại:
 Mật mã luồng (stream cipher): mã hóa tất cả các bit của một thông điệp một
lần duy nhất.
 Mật mã khối (block cipher): tách thông điệp ra thành các khối, mỗi khối có
một số lƣợng n bit cố định nào đó và mã hóa chúng thành từng đơn vị riêng

2


rẽ. Đối với từng chuẩn mật mã khối, số bit này có thể là khác nhau.
Những dữ liệu mà nhỏ hơn n bit phải đƣợc mở rộng thành n bit để mã hóa.
Nhằm tăng tính bảo mật của mã hóa đối xứng ngƣời ta đƣa ra khái niệm
vecto khởi tạo (initialization vector). Vecto này đƣợc sử dụng nhƣ một đầu vào
bổ sung của thuật toán mã hóa đối xứng để kết quả mã hóa đảm bảo an ninh hơn.
Ví dụ, trong trƣờng hợp không sử dụng vecto khởi tạo (Hình 1.2), nếu nhƣ bộ
phận giải mã của kẻ xấu biết đƣợc rằng, “abcd” sẽ đƣợc mã hóa thành “efgh”,
nó sẽ có thể chắc chắn rằng bất kì chỗ nào có “efgh” trong mật mã thì đều có dữ
liệu gốc là “abcd”. Hạn chế này có thể đƣợc khắc phục trong các mô hình có sử
dụng vecto khởi tạo. (Hình 1.3)


Hình 1.2: Mô hình mã hóa đối xứng không dùng vector khởi tạo.
Đối với các thuật toán mã hóa đối xứng sử dụng vecto khởi tạo để mã hóa
khối plaintext đầu tiên. Khối đầu tiên sẽ đƣợc XOR với vector khởi tạo trƣớc khi
đƣợc mã hóa. Mỗi khối mật mã nhờ vậy sẽ phụ thuộc vào các khối trƣớc đó.
Nhƣ vậy khi sử dụng hệ thống, các phần của các thông điệp nếu có bị rơi vào tay
kẻ lạ thì cũng không thể đƣợc sử dụng để suy ngƣợc ra khóa mã hóa.[5]

3


Hình 1.3: Mô hình mã hóa đối xứng dùng vector khởi tạo.
Một cách để xâm hại các thuật toán mã hóa đối xứng có sử dụng vector khởi
tạo là dò tất cả các khóa có thể (phƣơng pháp vét cạn). Tùy thuộc vào độ dài của
khóa mà đƣợc dùng để mã hóa, công việc tìm kiếm này sẽ có thể là rất tốn thời
gian, kể cả khi dùng những hệ thống máy tính nhanh nhất, do đó trở nên không
thực tế. Kích cỡ khóa càng lớn thì việc bẻ khóa sẽ càng khó. Mặc dù việc mã hóa
không làm cho việc bẻ khóa trở thành không thể, nó làm cho chi phí cần có để bẻ
khóa tăng lên rất nhiều. Ví dụ nhƣ nếu ta phải mất ba tháng để giải mã và lấy
đƣợc một thông tin chỉ đáng giá ba ngày thì ta sẽ đƣơng nhiên không dùng biện
pháp giải mã đó.
 Một số nhƣợc điểm của hệ mã hoá đối xứng:
 Các phƣơng mã hoá đối xứng đòi hỏi ngƣời mã hoá và ngƣời giải mã phải
cùng chung một khoá. Khi đó khoá phải đƣợc giữ bí mật tuyệt đối, do vậy
ta dễ dàng xác định một khoá nếu biết khoá kia.
 Hệ mã hoá đối xứng không bảo vệ đƣợc sự an toàn nếu có xác suất cao
khoá ngƣời gửi bị lộ. Trong hệ khoá phải đƣợc chia sẻ trên kênh an toàn
nếu kẻ địch tấn công trên kênh này có thể phát hiện ra khoá.
 Vấn đề quản lý và phân phối khoá là khó khăn và phức tạp khi sử dụng hệ
mã hoá đối xứng. Ngƣời gửi và ngƣời nhận luôn luôn thông nhất với nhau

về vấn đề khoá. Việc thay đổi khoá là rất khó và dễ bị lộ.

4


 Khuynh hƣớng cung cấp khoá dài mà nó phải đƣợc thay đổi thƣờng xuyên
cho mọi ngƣời trong khi vẫn duy trì cả tính an toàn lẫn hiệu quả chi phí sẽ
cản trở rất nhiều tới việc phát triển hệ mật mã cổ điển.
1.2.2. Hệ mật mã khóa công khai
Vào những năm 1976, Diffie và Hellman đã phát minh ra một hệ mã hoá mới
đƣợc gọi là hệ mã hoá công khai hay hệ mã hoá phi đối xứng [5]. Thuật toán mã
hóa phi đối xứng đƣợc thiết kế sao cho khoá sử dụng vào việc mã hoá là khác so
với khoá giải mã. Hơn nữa, khoá giải mã không thể tính toán đƣợc từ khoá mã
hoá. Trong thuật toán này khoá để mã hoá có thể công khai, một ngƣời bất kỳ có
thể sử dụng khoá công khai để mã hoá thông báo, nhƣng chỉ một vài ngƣời có
đúng khoá giải mã thì mới có khả năng giải mã.
Khóa công khai và bí mật có quan hệ toán học với nhau, dữ liệu mà đƣợc mã
hóa bởi khóa công khai thì chỉ có thể đƣợc giải mã bằng khóa bí mật tƣơng ứng
và ngƣợc lại. Khóa công khai đƣợc công khai với tất cả mọi ngƣời là để mọi
ngƣời mã hóa những thông tin mà họ muốn gửi cho ngƣời đang giữ khóa bí mật
tƣơng ứng; đồng thời là để mọi ngƣời có thể giải mã các dữ liệu đƣợc mã hóa bởi
khóa bí mật này khi cần. Trong mã hóa thông thƣờng, các khóa thƣờng là bị cấm
đƣợc dùng lại hơn một lần. Tuy nhiên, trong mã hóa phi đối xứng, cặp khóa
thƣờng là có vòng đời khá dài, có thể lên tới vài năm.

Hình 1.4: Mô hình mã hóa và giải mã với 2 khóa khác nhau.
Trong hình vẽ trên thì: K1 khác K2 và K2 không thể tính toán từ K1.

5



Đặc trƣng nổi bật của hệ mã hoá công khai là cả khoá công khai và bản tin
mã hoá đều có thể gửi đi trên một kênh thông tin không an toàn.
Diffie và Hellman xác đinh rõ điều kiện của một hệ mã hoá công khai nhƣ sau:
 Việc tính toán ra cặp khoá công khai KB và khóa bí mật kB dựa trên cơ sở các
điều kiện ban đầu phải đƣợc thực hiện một cách dễ dàng, nghĩa là thực hiện
trong thời gian đa thức.
 Ngƣời gửi A có đƣợc khoá công khai của ngƣời nhận B và có bản tin P cần
gửi đi thì có thể dễ dàng tạo ra đƣợc bản mã C.
C = EKB (P) = EB (P)
 Ngƣời nhận B khi nhận đƣợc bản tin mã hóa C với khoá bí mật kB thì có thể
giải mã bản tin:
P = DkB (C) = DkB[EB(P)]
 Nếu kẻ địch biết khoá công khai KB cố gắng tính toán khóa bí mật thì khi đó
chúng phải đƣơng đầu với trƣờng hợp nan giải, trƣờng hợp này đòi hỏi nhiều
yêu cầu không khả thi về thời gian.
 Nếu kẻ địch biết đƣợc cặp (KB,C) và cố gắng tính toán ra bản rõ P thì giải
quyết bài toán khó với số phép thử là vô cùng lớn, do đó không khả thi.
So sánh giữa mã hóa khóa phi đối xứng và đối xứng:[5]
Mã hóa phi đối xứng

Mã hóa đối xứng

- Bị giới hạn về độ lớn của dữ

- Không bị giới hạn.

liệu đƣợc mã hóa.
- Có không gian khóa lớn hơn


- Khó bị tấn công hơn.

nên khó bị bẻ khóa bằng cách
tấn tấn công theo kiểu dò khóa.
- Dễ phân phối hơn do khóa
công khai không cần đƣợc an

6

- Khó phân phối hơn.


ninh.
- Tốc độ mã hóa rất chậm nếu so

- Tốc độ nhanh hơn. Có thể

sánh với mã hóa đối xứng. Đƣợc

mã hóa những dữ liệu lớn.

thiết kế để mã hóa các dữ liệu
nhỏ.
- Vòng đời của khóa dài hơn.

- Vòng đời của khóa ngắn
hơn.

Do những ƣu nhƣợc điểm riêng của cả mã hóa phi đối xứng và đối xứng,
ngƣời ta thƣờng kết hợp chúng để chúng lấy ƣu điểm của mình để bù đắp cho

nhƣợc điểm của cái còn lại.
1.3. Các quá trình mã hóa và giải mã
Cặp khóa công khai/ bí mật đƣợc cấp bới hệ thống PKI nhằm mục đích đảm bảo
an toàn và xác thực của thông tin số truyền trên mạng máy tính. Hai chức năng cơ
bản của chúng là: “ký” và “mã hóa”. Dựa trên hai chức năng này ngƣời ta xây dựng
các ứng dụng phù hợp với yêu cầu của từng hoàn cảnh thực tế là: chỉ bảo mật thông
tin hoặc chỉ xác thực thông tin hoặc cả hai.
1.3.1. Quá trình băm
Các giải thuật băm là quá trình ánh xạ các giá trị nhị phân có độ dài tùy ý
thành những giá trị nhị phân nhỏ hơn có một độ dài quy định trƣớc, kết quả đƣợc
gọi là các giá trị băm. Một giá trị băm là đại diện cho một dữ liệu duy nhất.
Nếu ta băm một đoạn bản rõ dữ liệu ban đầu và sau đó chỉ cần thay đổi dù chỉ
một chữ cái trong đoạn đó, ta cũng sẽ thu đƣợc một kết quả băm hoàn toàn khác.
Một trong những đặc điểm của một hàm băm mạnh là hai dữ liệu gần giống nhau
sẽ có hai kết quả băm khác xa nhau.
Tính chất quan trong của một hàm băm cần đƣợc đảm bảo là: các hàm một
chiều tức là không thể suy ngƣợc đƣợc văn bản gốc từ kết quả băm, hoặc để suy

7


ra thì chi phí là quá lớn. Một số giải thuật băm nối tiếng nhƣ MD5, SHA-1,
SHA-2…
1.3.2. Quá trình mã hóa và giải mã
Chúng ta mã hóa thông điệp gửi đi khi ta muốn chỉ có ngƣời mà ta gửi thông
điệp đó cho có thể hiểu đƣợc thông điệp. Nhu cầu này xuất hiện khá thƣờng
xuyên trong thực tế, ví dụ nhƣ trong kinh doanh: các thông tin về hợp đồng,
tài chính... Để đảm bảo an toàn, không bị lộ thông tin thì cần có một phƣơng
pháp mã hóa thông tin trƣớc khi thông tin đƣợc gửi đi, ở phía nhận sẽ thực hiện
giải mã thông tin để có thể đọc đƣợc nội dung.


Hình 1.5: Mô phỏng quá trình mã hóa.
Hình trên mô tả quá trình A gửi một thông điệp P đã đƣợc mã hóa đến cho B,
quá trình này thực hiện qua các bƣớc nhƣ sau (giả sử A đã có khóa công khai KB
của B):[5]
 Bƣớc 1: A dùng khóa công khai KB của B để mã hóa thông điệp P thu đƣợc
kết quả: E(P).
 Bƣớc 2: A gửi thông điệp đã đƣợc mã hóa E(P) sang cho B.
 Bƣớc 3: B nhận đƣợc thông điệp đã mã hóa E(P). Sử dụng khóa bí mật kB
của mình giải mã sẽ thu đƣợc thông điệp P.
Quá trình mã hóa phi đối xứng yêu cầu thời gian lớn hơn rất nhiều so với
phƣơng pháp mã hóa đối xứng và phƣơng pháp mã hóa đối xứng tuy đạt đƣợc độ
an toàn, tốc độ mã hóa dữ liệu song khóa giải mã cần phải chia sẻ trên một kênh
an toàn. Vì vậy, trong thực tế ngƣời ta đã kết hợp hai phƣơng pháp này để bổ
khuyết ƣu nhƣợc điểm của từng phƣơng pháp. Cụ thể quá trình này diễn ra nhƣ
sau (Hình 1.6): [6]

8


 Bƣớc 1: với văn bản P cần đƣợc mã hóa. Sử dụng phƣơng pháp mã hóa đối
xứng để mã hóa P, khóa của mã hóa dữ liệu ta gọi là session key (khóa
phiên).
 Bƣớc 2: sử dụng khóa công khai của ngƣời nhận mã hóa khóa phiên.
 Bƣớc 3: kết hợp kết quả bƣớc 1 và bƣớc 2 ta đƣợc dữ liệu đã mã hóa, gửi tới
cho ngƣời nhận.

Hình 1.6: Quá trình mã hóa.
Phía ngƣời nhận cũng sẽ thông qua ba bƣớc để giải mã dữ liệu nhận đƣợc
nhƣ sau (Hình 1.7): [6]

 Bƣớc 1: với dữ liệu đã mã hóa nhận đƣợc sẽ đƣợc tách ra làm hai phần:
dữ liệu đƣợc mã hóa và khóa phiên đƣợc mã hóa.
 Bƣớc 2: ngƣời nhận sử dụng khóa bí mật của mình giải mã khóa phiên đƣợc
mã hóa.
 Bƣớc 3: lấy khóa phiên giải mã đƣợc ở bƣớc 2 để giải mã phần dữ liệu mã
hóa, ta thu đƣợc văn bản P của ngƣời gửi.

9


Hình 1.7: Mã hóa kết hợp, quá trình giải mã.
Quá trình mã hóa và giải mã trên coi nhƣ là ngƣời gửi (ngƣời mã hóa dữ liệu)
đã có đúng khóa công khai của ngƣời nhận. Việc trao đổi khóa phải đƣợc thực
hiện một cách an toàn để ngƣời nhận xác nhận đƣợc rằng khóa công khai mà họ
nhận đúng là của ngƣời gửi. Việc trao đổi an toàn khóa công khai này đƣợc đảm
nhiệm bởi các hệ thống PKI.
1.3.3. Quá trình ký và xác thực chữ ký
Trong thực tế, ta cần ký lên một văn bản khi ta muốn ngƣời đọc văn bản sau
đó biết rằng văn bản đó đã đƣợc ta thông qua hay là do ta ban hành. Nhu cầu này
cũng tồn tại trong giao dịch điện tử và chữ ký điện tử đƣợc sinh ra để thỏa mãn
nó. Ở một số khía cạnh, chứ ký điện tử còn làm tốt hơn rất nhiều so với chữ ký
thật. Chữ ký điện tử là khó giả mạo hơn và nó còn làm đƣợc một điều rất quan
trọng là cho phép ngƣời đọc văn bản có thể chắc rằng kể từ khi đƣợc ký lên,
văn bản vẫn chƣa bị thay đổi.
Hình 1.8 mô tả quá trình một văn bản đƣợc ký điện tử lên và quá trình ngƣời
nhận đƣợc văn bản xác minh chữ ký đó. Ký và xác thực chứ ký là hai quá trình
quan trọng liên quan tới chữ ký điện tử. Sau đây ta sẽ làm rõ cả hai quá trình này:
Giả sử ngƣời gửi A có văn bản P muốn công bố, và mong muống bất kỳ ai
nhận văn bản cũng có thể xác minh rằng văn bản này là do A công bố và đồng
thời văn bản chƣa bị thay đổi kể từ khi đƣợc công bố. Lúc này, A sẽ ký điện tử

lên văn bản P. Quá trình ký qua ba bƣớc nhƣ sau: [5]

10


 Bƣớc 1: văn bản P cần ký đƣợc đi qua một hàm băm H để thu đƣợc kết quả
băm: H(P).
 Bƣớc 2: sau đó ngƣời ký sẽ mã hóa kết quả băm này bằng khóa bí mật của
họ đƣợc kết quả: E(H(P)).
 Bƣớc 3: tập hợp kết quả băm đƣợc mã hóa + khóa công khai ngƣời ký tạo
thành chữ ký điện tử: E(H(P)) + public key. Đính kèm chữ ký điện tử với văn
bản P ta sẽ đƣợc văn bản P đã đƣợc ký điện tử. Sau đó, công bố văn bản P đã
đƣợc ký.

Hình 1.8: Minh họa quá trình ký.

11


Sau đó là quá trình xác thực chữ ký. Giả sử, ngƣời nhận B nhận đƣợc văn
bản P do A công bố, quá trình xác thực chữ ký trên văn bản P sẽ qua bốn bƣớc
nhƣ sau: [5]
 Bƣớc 1: văn bản kèm chữ ký điện tử đƣợc tách riêng làm 2 phần: văn bản P
và chữ ký điện tử.
 Bƣớc 2: đƣa văn bản P qua hàm băm H, để thu đƣợc kết quả băm: H(P)’.
 Bƣớc 3: ngƣời xác thực lấy khóa công khai trong chữ ký điện tử giải mã kết
quả băm đƣợc mã hóa trong chữ ký: D(E(H(P))) = H(P)
 Bƣớc 4: so sánh kết quả của bƣớc 2 và bƣớc 3 (H(P)’ và H(P)): nếu H(P)’ =
H(P) thì văn bản P chƣa bị thay đổi kể từ khi ký lên, ngƣợc lại văn bản P đã
bị sửa đổi.

1.4. Các thành phần của PKI
Nhƣ đã trình bày ở phần khái niệm, PKI chính là hệ thống để cấp cho ngƣời sử
dụng một (hay một vài) khóa công khai và giải quyết ba câu hỏi: Khóa của ai?
Để làm gì? Còn hạn sử dụng không? Khóa công khai của mỗi ngƣời sẽ đƣợc gắn
vào trong một chứng chỉ số. Nói một cách đơn giản, nhiệm vụ của PKI là tạo ra,
công bố và quản lý các chứng chỉ số này. Các thành phần tối thiểu cần thiết để một
hệ thống PKI có thể vận hành đúng chức năng đó bao gồm 4 thành phần: [4]
 Certificate Authority (CA).
 Registration Authority (RA).
 PKI client.
 Các thành phần khác.
1.4.1. Certificate Authority
Certificate Authority (nhà ban hành chứng chỉ số - CA) là một bên thứ ba
đƣợc ngƣời sử dụng tin tƣởng đăng ký chứng chỉ số. Mỗi chứng chỉ số do
CA cấp: ngoài thông tin của ngƣời đăng ký thì còn phải có thông tin thông tin
của CA cấp chứng chỉ, cụ thể ở đây là chứng chỉ số của chính CA đấy.
Tùy theo mô hình tổ chức CA, chứng chỉ số của một CA có thể do CA đó tự tạo
ra hoặc đƣợc cấp bởi một CA khác. Nhiệm vụ chính của một CA đó là tiếp nhận

12


các yêu cầu của ngƣời dùng từ RA, tạo và lƣu trữ các cặp khóa bí mật/công khai,
tạo chứng chỉ số và cấp cho ngƣời dùng.
1.4.2. Registration Authority
Registration Authority (nhà quản lý đăng ký - RA) là cơ quan trung gian nằm
giữa ngƣời đăng ký và CA, làm nhiệm vụ tiếp nhận và xác minh các thủ tục đăng
ký các chứng chỉ số của ngƣời sử dụng. Ngoài ra, RA còn hỗ trợ CA trong quá
trình quản lý chứng chỉ số của ngƣời dùng nhƣ: tiếp nhận các yêu cầu thu hồi,
gia hạn chứng chỉ số... RA đƣợc tổ chức với chứng năng là để giảm tải cho CA

và tối ƣu hóa cơ sở hạ tầng.
1.4.3. PKI client
PKI client chính là các thực thể yêu cầu cấp chứng chỉ số gửi tới cho RA.
Các thực thể này có thể là những ngƣời dùng cá nhân cần sử dụng chứng chỉ số
cho các giao dịch điện tử nhƣ: mua bán, chuyển khoản… hoặc là các tổ chức,
doanh nghiệp cần sử dụng chứng chỉ số cho các hoạt động của tổ chức: kê khai
thuế qua mạng… Để có thể có đƣợc chứng chỉ số, đối tƣợng sử dụng cần phải
gửi các thông tin đăng ký theo mẫu của nhà ban hành chứng chỉ số - CA tới cho
RA. Dựa trên đăng ký này mà CA cấp chứng chỉ số phù hợp: chức năng của
chứng chỉ số, thời hạn có hiệu lực của chứng chỉ số…
1.4.4. Các thành phần khác
Ngoài ba thành phần chính ở trên, để một hệ thống PKI có thể hoạt động hiệu
quả thì còn có rất nhiều các thành phần hỗ trợ khác nhƣ: các văn bản quy định
hƣớng dẫn đăng ký chứng chỉ số đƣợc mỗi CA công bố, văn bản chi tiết về
quyền lợi của ngƣời dùng khi sử dụng chứng chỉ số đƣợc cấp bới một CA, các hệ
thống hỗ trợ ngƣời sử dụng kiểm tra trạng thái của các chứng chỉ số một CA ban
hành…
1.5. Các mô hình tổ chức PKI
CA là một thành phần rất quan trọng trong PKI, nó là cầu nối sự bắc cầu tin
tƣởng giữa các thực thể sở hữu và xử lý chứng chỉ số trong PKI. Do thế, việc quyết
định chọn mô hình tổ chức CA nào hay nói cách khác là cách tổ chức các mối quan

13


hệ tin tƣởng này thế nào là rất quan trọng đối với mỗi hệ thống PKI. Tùy vào điều
kiện thực tế của mỗi hệ thống PKI mà ngƣời ta lựa chọn mô hinh CA phù hợp.
Một số các mô hình CA phổ biến nhƣ sau: [1,4]
 Single CA Model (mô hình CA đơn).
 Hierarchical Model (mô hình phân tầng).

 Mesh Model (mô hình lƣới).
 Web of Trust Model (mô hình mạng lƣới tin tƣởng).
 Trust List Model (mô hình danh sách tin tƣởng).
1.5.1. Single CA Model
Đây là mô hình mà trong toàn hệ thống chỉ có duy nhất một CA. CA này tự
ban hành chứng chỉ cho nó. Nó trực tiếp ban hành chứng chỉ cho tất cả các thực
thể cuối ở dƣới nó.

Hình 1.9: Mô hình CA đơn.
Các thực thể trong mô hình này tin tƣởng chính chỉ của nhau thông qua việc
tin tƣởng chứng chỉ của CA. Mô hình này chỉ thích hợp cho các tổ chức nhỏ,
cần dùng chứng chỉ số ở mức đơn giản, mang tính nội bộ.
1.5.2. Hierachical Model
Mô hình này bắt đầu bằng một Root CA mà tự ban hành chững chỉ cho chính
nó. Root CA này đƣợc các CA khác tin tƣởng, nó sẽ ban hành chứng chỉ cho các
CA khác. Các CA này lại tiếp tục ban hành chứng chỉ cho các CA khác hoặc các

14


thực thể cuối khác, và cứ thế để tạo ra cấu trúc CA phân tầng, với tầng 1 là root
CA (Hình 1.10).

Hình 1.10: Mô hình CA phân tầng.
Các thực thể trong mô hình tin tƣởng chứng chỉ của nhau thông qua việc
chúng cùng tin tƣởng chứng chỉ hay chữ ký của một CA (có thể là Root CA hoặc
không).
Mô hình này thích hợp cho các tổ chức có cơ cấu phân tầng rõ ràng.
Khi đó mỗi tầng CA có thể là một tầng của tổ chức và mỗi CA trong sẽ phụ trách
một tầng đó. Ví dụ nhƣ, mô hình quản lý của nhà nƣớc từ các bộ, tỉnh, huyện và

xã phƣờng…
1.5.3. Mesh Model
Mô hình này xuất hiện khi các mô hình nhƣ Hierachical Model cần liên thông
với nhau. Khi đó, các Root CA sẽ ban hành chứng chỉ cho nhau để liên thông các hệ
thống. Nếu ta có n Root CA thì ta sẽ có n*(n-1) chứng chỉ nhƣ vậy. Đó cũng là lý
do mô hình này còn đƣợc gọi là mô hình chứng thực chéo. Mô hình này thƣờng
xuất hiện khi hai hay nhiều Hierachical Model đã phát triển độc lập trƣớc đó có nhu
cầu liên thông với nhau.

15


×