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

Ứng dụng thiết bị Ikey 2000 để triển khai xác thực giao dịch HomeBanking

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 (4.11 MB, 140 trang )








ĐẠI HỌC QUỐC GIA HÀ NỘI
Trường Đại học Công nghệ
––––––––––oOo––––––––––







NGUYỄN TRỌNG KIÊN



Ứng dụng thiết bị Ikey 2000 để triển khai xác
thực giao dịch HomeBanking

Ngành:
Công nghệ thông tin
Mã số:
1.01.10


LUẬN VĂN THẠC SỸ





Người hướng dẫn khoa học:
PGS.TS Nguyễn Đình Hoá







Hà Nội - 2007

4
MỤC LỤC
MỞ ĐẦU 8
Chƣơng 1 - GIỚI THIỆU DỊCH VỤ HOMEBANKING TẠI NGÂN HÀNG ĐẦU TƢ
VÀ PHÁT TRIỂN VIỆT NAM 9
1.1 Giới thiệu chung 9
1.2 Giới thiệu dịch vụ HomeBanking 11
1.2.1 Tra cứu số dƣ tài khoản CA/SA 12
1.2.2 Xem thông tin lịch sử giao dịch . 12
1.2.3 Cung cấp thông tin tín dụng 12
1.2.4 Cung cấp thông tin Ngân hàng: 12
1.2.5 Cung cấp dịch vụ chuyển tiền: 13
1.3 Các yêu cầu về bảo mật hệ thống và xác thực 14
1.4 Giải pháp bảo mật và xác thực giao dịch cho hệ thống HommeBanking 15
1.4.1 Xây dựng PKI và Tích hợp ứng dụng HomeBanking 15
Chƣơng 2 - HẠ TẦNG KHOÁ CÔNG KHAI 17

2.1 Một số phƣơng pháp mã hoá 17
2.1.1 Mã hoá đối xứng 17
2.2 Mã hoá công khai 18
2.2.1 Nguyên lý hoạt động của các hệ thống mật mã công khai 18
2.2.2 Quản lý khoá 23
2.2.3 Xác thực thông báo và các hàm băm 30
2.2.4 Chữ ký số 34
2.2.5 Chuẩn chữ ký số 37
2.3 Chứng chỉ điện tử 38
2.3.1 Giới thiệu về các chứng chỉ khoá công khai 38
2.3.2 Quản lý cặp khoá công khai và khoá riêng 42
2.3.3 Phát hành chứng chỉ 43
2.3.4 Khuôn dạng chứng chỉ X509 44
2.3.5 Thu hồi chứng chỉ 47
2.3.6 Tóm tắt 48
2.4 Tổng quan về thƣ viện mã hoá của Microsoft 49
2.4.1 Tổng quan về các cryptography API 49
2.4.2 Khoá trong cryptography API 53
2.4.3 Hàm băm và chữ ký số 53
2.4.4 Thông điệp số-Khái niệm PKCS #7 54
2.4.5 Kiến trúc CSP 55
2.4.6 Các dịch vụ chứng chỉ số 56
2.5 Sử dụng Microsoft CAPICOM 58
2.5.1 Giới thiệu thƣ viện Microsoft CAPICOM 58
2.5.2 Ký dữ liệu và kiểm tra chữ ký số 59
2.5.3 CAPICOM cho phép 1 ngƣời sử dụng ký hoặc nhiều ngƣời ký trên một
văn bản. Dữ liệu sau khi ký đƣợc lƣu dƣới dạng PKCS#7. Vì lƣu dƣới dạng
PKCS#7 là chuẩn công nghiệp nên chữ ký đƣợc tạo ra bởi CAPICOM có thể
đƣợc xác thực bởi các PKI của hãng thứ ba. 59
2.5.4 Mã hoá dữ liệu 59

Chƣơng 3 - XÂY DỰNG HỆ THỐNG XÁC THỰC GIAO DỊCH HOMEBANKING 60
3.1 Mục tiêu, yêu cầu của hệ thống xác thực giao dịch 60
3.1.1 Thiết kế tổng thể hệ thống xác thực giao dịch HomeBanking 61
3.1.2 Bảo mật bằng tƣờng lửa (firewall) 62

5
3.1.3 Bảo mật tầng kết nối và xác thực ngƣời sử dụng 62
3.1.4 Xác thực giao dịch với chứng chỉ số, chữ ký điện tử 66
3.1.5 Kết hợp cả mã hoá và ký trong giao dịch HomeBanking 68
3.1.6 Qui trình đăng ký mới ngƣời sử dụng 72
3.1.7 3.2. Tạm dừng ngƣời sử dụng: 74
3.1.8 3.3. Kích hoạt ngƣời sử dụng: 74
3.1.9 3.4. Cấp lại mật khẩu truy cập BIDV HBK cho ngƣời sử dụng: 75
3.1.10 3.5. Cấp lại mật khẩu truy cập Ikey: 75
3.1.11 3.6. Xóa ngƣời sử dụng 76
3.2 4. Quy định về đóng gói, gửi thông báo các mật khẩu và Ikey từ HSC về chi
nhánh: 76
3.2.1 4.1. Đóng gói 76
3.2.2 Giao nhận: 77
3.3 Thiết kế module chƣơng trình 77
3.3.1 Lƣợc đồ Usecase 77
3.4 THIẾT KẾ CHƢƠNG TRÌNH PHÍA KHÁCH HÀNG 81
3.4.1 Mô hình phân cấp chức năng 81
3.4.2 Mô hình luồng dữ liệu 85
3.5 THIẾT KẾ CHƢƠNG TRÌNH TẠI TRUNG TÂM 87
3.5.1 Mô hình phân cấp chức năng 87
3.5.2 Mô hình luồng dữ liệu 91
3.6 THIẾT KẾ CHƢƠNG TRÌNH chi NHÁNH 95
3.6.1 Mô hình phân cấp chức năng 95
3.6.2 Mô hình luồng dữ liệu 102

3.7 THIẾT KẾ CƠ SỞ DỮ LIỆU 104
3.7.1 Mô hình quan hệ thực thể 105
3.7.2 6.2. Cấu trúc bảng 105
3.7.3 THIẾT KẾ DỮ LIỆU CHI TIẾT 106
3.8 Một số màn hình giao diện chính của chƣơng trình 125
3.8.1 Thêm khách hàng 125
3.8.2 Xác nhận thông tin khách hàng 126
3.8.3 Phân quyền ngƣời sử dụng 126
3.8.4 Xác nhận thông tin ngƣời sử dụng 128
3.8.5 Phê duyệt và đặt mật khẩu 129
3.8.6 Xác nhận và đặt mật khẩu Ikey của NSD 130
3.8.7 Màn hình chính 131
3.8.8 Màn hình giao dịch 132
3.8.9 Màn hình mã hoá/ký sử dụng Ikey 133
3.8.10 Màn hình vấn tin 134
Kết luận 134
Đề xuất và kiến nghị 134
Hƣớng phát triển 135
TÀI LIỆU THAM KHẢO 136
PHỤ LỤC 137
3.9 Phụ lục A: 137


6

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Viết tắt
Mô tả
ĐT&PT

Đầu tư và phát triển
ATM
Automatic Teller Machine
BDS
Branch Delivery System
CA
Certify Authority
PKI
Public key infrastructure
KSV
Kiểm soát viên
KTT
Kế Toán trưởng
TTV
Thanh Toán viên
KH
Khách hàng
CSP
cryptographic service provider
HBK
HomeBanking
HSC
Hội sở chính
NH
Ngân hàng



























7





DANH MỤC CÁC HÌNH VẼ
Hình 1
Các module nghiệp vụ ngân hàng

11
Hình 2
Sơ đồ dịch vụ HomeBanking
12
Hình 3
Mô hình mã hoá đối xứng
17
Hình 4
Mô hình hệ mật đối xứng
18
Hình 5
Mã hoá công khai
20
Hình 6
Hệ mật khoá công khai: Bí mật
21
Hình 7
Hệ mật khoá công khai: Xác thực
21
Hình 8
Phân phối khoá công khai không kiểm soát
24
Hình 9
Công bố khoá công khai
24
Hình 10
Lược đồ phân phối khoá công khai
25
Hình 11
Trao đổi các chứng chỉ khoá công khai

28
Hình 12
Sử dụng mật khoá công khai để thiết lập một khoá phiên
29
Hình 13
Sử dụng mật khoá công khai để trao đổi khoá bí mật
30
Hình 14
Các dạng sử dụng mã hoá thông báo cơ bản
32
Hình 15
Hai tiếp cận chữ ký số
37
Hình 16
Chứng chỉ khoá công khai đơn giản
40
Hình 17
Đường dẫn chứng thực
42
Hình 18
Khuông dạng chứng chỉ trong phiên bản 1 và 2 của X.509
47
Hình 19
Bảo vệ tính riêng tư
52
Hình 20
Kiến trúc CryptoAPI
54
Hình 21
Sơ đồ kiểm tra chữ ký điện tử

56
Hình 22
Kiến trúc CSP
57
Hình 23
Cấu trúc key Container
58
Hình 24
Kiến trúc dịch vụ chứng chỉ số của Microsoft
59
Hình 25
Tiến trình xử lý yêu cầu cấp chứng chỉ
60
Hình 26
Kiến trúc tổng thể hệ thống xác thực giao dịch HomeBanking
63
Hình 27
Tiến trình xác thực người sử dụng
66
Hình 28
Tiến trình tạo một thông điệp Envelop
71
Hình 29
Tiến trình giải mã một thông điệp Envelop
72
Hình 30
Lược đồ Usecase của hệ thống HomeBanking
80
Hình 31
Lược đồ Usecase của KTV, CTK, KTT

81
Hình 32
Lược đồ Usecase của KSV, GDV
82




8



MỞ ĐẦU
Tận dụng tối đa lợi thế của Internet thực sự đã giúp nhiều doanh nghiệp (DN)
tăng đáng kể nguồn lợi nhuận. Trong tất cả các hình thức giao dịch TMĐT nói trên,
không thể không nhắc đến vai trò của ngân hàng (NH) - đơn vị trung gian nhận và
chuyển tiền. Thời gian qua, một số NH, tổ chức tín dụng ở Việt Nam đã phát triển
khá nhiều dịch vụ mới như trả lương qua tài khoản, homebanking, Internet banking,
phone banking
Ngân hàng ĐT&PT Việt Nam hiện đã triển khai thành công dự án hiện đại
hoá ngân hàng và hệ thống thanh toán do World Bank tài trợ. Dự án hiện đại hoá là
một trong những vấn đề then chốt trong công cuộc hiện đại hoá hệ thống ngân hàng
Việt Nam nhằm phù hợp với chuẩn quốc tế và đảm bảo cung cấp các dịch vụ ngân
hàng chất lượng cao. Với hệ thống này thì toàn bộ hệ thống giao dịch của ngân hàng
ĐT&PT Việt Nam được xử lý trực tuyến, nhanh chóng, chính xác, an toàn,… Cơ sở
dữ liệu tập trung. Tuy nhiên, hiện tại mới chỉ có 2 kênh phân phối dịch vụ đó là
BDS (Branch Delivery System) và ATM (Automatic Teller Machine). Mọi khách
hàng muốn thực hiện giao dịch với ngân hàng đều phải đến quầy giao dịch tại chi
nhánh hoặc đi đến các điểm đặt máy. Hạn chế của hệ thống phân phối hiện tại là chỉ
hoạt động trong giờ hành chính đối với BDS và hoạt động theo giờ phục vụ của các

nơi đặt máy ATM (có thể là 24hx7 tuỳ thuộc vào từng điểm đặt máy cụ thể).
HomeBanking là một kênh dịch vụ của ngân hàng cho phép khách hàng thực
hiện các giao dịch ngân hàng như vấn tin tài khoản, chuyển tiền, thanh toán hoá
đơn,… trên mạng Internet/Intranet thông qua một website được bảo mật. Kênh dịch
vụ này rất có ý nghĩa, đặc biệt là có khả năng cung cấp dịch vụ ngân hàng ngoài giờ
làm việc tại bất cứ đâu trên thế giới miễn là có thể truy cập Internet bằng một trình
duyệt web thông thường như Internet Explorer hay Netscape Navigator mà không
cần phải có một phần mềm hay phần cứng đặc biệt.
Trong bối cảnh hội nhập kinh tế quốc tế hiện nay, sự canh tranh giữa các
ngân hàng rất gay gắt. Các ngân hàng đang ra sức đầu tư công nghệ không chỉ đề
nhằm có một hệ thống thông tin và giao dịch tốt, phục vụ hoạt động của ngân hàng
cũng như phục vụ công tác quản trị điều hành mà còn nhằm nâng cao chất lượng
dịch vụ phục vụ khách hàng, đặc biệt là gia tăng dịch vụ để đem lại lợi ích cho
khách hàng khi thực hiện các giao dịch ngân hàng một cách thuận tiện, nhanh
chóng, chính xác và an toàn…
Một vấn đề then chốt khi triển khai dịch vụ HomeBanking là vấn đề xác thực
giao dịch của khách hàng. Hệ thống HomeBanking đảm bảo được các yếu tố:
 Đảm bảo tính toàn vẹn (intergrity) cho dữ liệu: xác định được dữ liệu
bị thay đổi nội dung sau khi được phát hành trong mỗi giao dịch
(transaction) hoặc sự thay đổi nội dung trong quá trình lưu trữ.

9
 Đảm bảo tính chống từ chối (non-repudiation): người tham gia giao
dịch sẽ không chối bỏ được thông tin đã được đưa vào giao dịch
 Đảm bảo tính xác thực (authentication) của các cá nhân tham gia giao
dịch: tránh việc giả mạo, mạo danh khi giao dịch
 Đảm bảo tính bí mật (confidentiality) của giao dịch bằng cách mã hoá
sử dụng PKI.
Đề tài “Ứng dụng thiết bị Ikey 2000 để triển khai xác thực giao dịch
HomeBanking” nhằm nghiên cứu về thiết bị bảo mật Ikey 2000 và áp dụng vào việc

bảo mật các giao dịch điện tử của Ngân hàng.
Với mục tiêu ứng dụng thiết bị Ikey 2000 vào việc bảo mật giao dịch điện tử
giữa khách hàng và Ngân hàng, đề tài tập trung nghiên cứu các đặc tính công nghệ
thiết bị Ikey 2000, xây dựng các thư viện lập trình chuẩn cho việc bảo mật các giao
dịch điện tử.
Nội dung của luận văn gồm ba chương:
Chương 1: Giới thiệu dịch vụ HomeBanking tại Ngân hàng Đầu tư và Phát
triển Việt Nam
Chương 2: Hạ tầng khoá công khai
Chương 3: Xây dựng hệ thống xác thực giao dịch cho dịch vụ HomeBanking
của Ngân hàng Đầu tư và Phát triển Việt Nam

Chƣơng 1 - GIỚI THIỆU DỊCH VỤ HOMEBANKING TẠI
NGÂN HÀNG ĐẦU TƢ VÀ PHÁT TRIỂN VIỆT NAM
1.1 Giới thiệu chung
Ngân hàng Đầu tư và Phát triển Việt Nam(BIDV) đã triển khai xong dự án hiện đại
hoá ngân hàng và hệ thống thanh toán. Dự án Hiện đại hóa BIDV là một tiểu dự án thuộc
Dự án Hiện đại hóa Ngân hàng và Hệ thống Thanh toán do Ngân hàng Thế giới tài trợ cho
ngành Ngân hàng Việt Nam nhằm nâng cao chất lượng và phát triển các sản phẩm dịch vụ
ngân hàng theo các tiêu chuẩn tiên tiến, phù hợp với các thông lệ quốc tế và từng bước hội
nhập với các Ngân hàng trong khu vực và trên thế giới. Dự án này có một ý nghĩa rất to lớn
đối với BIDV trong quá trình cơ cấu lại Ngân hàng.
Hệ thống bao gồm các module nghiệp vụ sau:
 Thông tin khách hàng (Customer Information File - CIF)
 Tiền gửi (Deposit)
 Khoản vay (Loan)
 Tài trợ thương mại (Trade Finance)

10
 Chuyển tiền (Remittance)

 Ngân quỹ (Treasury)
 Sổ cái tổng hợp (General Ledger - GL)


Hình 1 Các module nghiệp vụ ngân hàng
Dữ liệu của toàn bộ hệ thống được lưu trữ tập trung về kho dữ liệu tại Hội sở
chính(HSC). Giao dịch tại các chi nhánh sẽ được xử lý trực tuyến và được lưu trữ tại HSC.
Dữ liệu của từng chi nhánh được phân biệt bởi mã của chi nhánh đó. Hệ thống có tính năng
mềm dẻo cao cho phép xây dựng các sản phẩm đa dạng trên cơ sở tham số hoá hệ thống
(Các sản phẩm sẽ do người sử dụng xác định bằng cách quy định tham số thích hợp). Hệ
thống cũng có khả năng tương tác với các hệ thống giao dịch của Chi nhánh (BDS) và các
hệ thống thanh toán khác như SWIFT/TELEX, Thanh toán liên ngân hàng của Ngân hàng
nhà nước, ATM, POS, HomeBanking… Đồng thời hệ thống còn có khả năng tích hợp với
các hệ thống thông tin quản lý khác như: Quản lý mẫu dấu chữ ký, Trái phiếu, CIC, Quản
lý TSCĐ…
Kênh phân phối dịch vụ chính là BDS (Branch Delivery System). Mọi giao dịch
ngân hàng với khách hàng đều được xử lý thông qua kênh phân phối BDS.
Delivery Applications
BDS, ATM, PC, Etc.
Other
Host
Systems
Summary
Systems

Data-Warehouse
Delivery Services Processor (DSP)
Deposit
General Ledger
Loan

Trade Finance
Remittance
Credit Card
Interface
Bank-wide CIF
AS/400 - Universal DB2/400
System Module


11
Ngoài ra hệ thống còn cung cấp một kênh cung cấp dịch vụ khác là ATM
(Automatic Teller Machine). Kênh ATM cung cấp một số giao dịch ngân hàng truyền
thống như vấn tin số dư tài khoản, rút tiền, chuyển tiền, thanh toán hoá đơn, phát hành sổ
phụ, in sao kê,… Lợi ích của kênh ATM là hoạt động bất kể thời gian, 24h x 7 ngày đáp
ứng chủ yếu các nhu cầu giao dịch tiền tệ phục vụ tiêu dùng. Kênh này có ý nghĩa khi
ngoài giờ hành chính hoặc trong các ngày nghỉ, ngày lễ, các điểm giao dịch tại ngân hàng
nghỉ giao dịch. Hay ngay cả trong giờ hành chính, kênh này rất tiện lợi đối với khách hàng
vì không phải đi đến quầy giao dịch (có thể ở xa) và xếp hàng chờ đợi để được phục vụ.
Trong tương lai, BIDV sẽ tiếp tục đầu tư xây dựng đưa vào áp dụng thêm nhiều
kênh phân phối dịch vụ khác như Phone Banking, Mobile Banking, POS, các hệ thống thẻ
kết nối với các tổ chức VISA, MASTER,… .
1.2 Giới thiệu dịch vụ HomeBanking
Dịch vụ HomeBanking là một sản phẩm ngân hàng điện tử tăng cường tiện ích cho
khách hàng. Thông qua việc sử dụng sản phẩm HomeBanking khách hàng của ngân hàng
có thể tiến hành các giao dịch ngân hàng điện tử từ xa - tại nhà hoặc tại nơi làm việc.


Hình 2: Sơ đồ dịch vụ HomeBanking
Bank Head Office
AS/400 Applications

Internet
Web Browsers
Web Browsers
Web Browsers
Router
switch
switch
Web Server
Firewall Firewall
Application Server(s)
Database Server
Local
Area
Network
Bank Head Office
AS/400 Applications

Middleware (DSP)
SIBS

12
Các dịch vụ chính do HomeBanking cung cấp bao gồm:
1.2.1 Tra cứu số dư tài khoản CA/SA
Thông tin tài khoản được cập nhật liên tục trên máy chủ của hệ thống
HomeBanking, vì vậy khách hàng có thể vấn tin tài khoản CA/SA và các thông tin kèm
theo như tên tài khoản, trạng thái tài khoản, số dư khả dụng, số dư bị phong tỏa 24/24.
1.2.2 Xem thông tin lịch sử giao dịch .
Trên hệ thống máy chủ của HomeBanking luôn lưu trữ tất cả các giao dịch của tài
khoản từ trước đến giờ, thực hiện đồng bộ liên tục các giao dịch mới từ hệ thống Ngân
hàng trung tâm sang, vì vậy bất kỳ lúc nào khách hàng đều có thể tra cứu được thông tin

các giao dịch trong một khoảng thời gian bất kỳ. Hơn nữa HomeBanking còn cung cấp
dịch vụ tạo sao kê theo một khoảng thời gian bất kỳ.
1.2.3 Cung cấp thông tin tín dụng
1.2.3.1 Hồ sơ khế ước
HomeBanking cho phép xem hồ sơ khế ước của các loại khoản vay, các tiểu khoản
của khoản vay chính.
1.2.3.2 Lịch sử giao dịch tín dụng
Cũng như các thông tin giao dịch của tài khoản CA/SA, HomeBanking cũng cung
cấp dịch vụ cho phép xem các giao dịch của khoản vay.
1.2.3.3 Lịch trả nợ
Khách hàng có thể xem thông tin về lịch trả nợ về các khoản vay của mình.
1.2.4 Cung cấp thông tin Ngân hàng:
1.2.4.1 Tỷ giá
HomeBanking luôn cung cấp các thông tin tỷ giá mới nhất được áp dụng tại
BIDV.
1.2.4.2 Lãi xuất tiền gửi tiền vay.
Khách hàng có thể theo dõi nhanh chóng lãi suất tiền gửi, tiền vay đang
được áp dụng ở BIDV
1.2.4.3 Phí dịch vụ…
Với bảng phí dịch vụ được thiết kế khoa học, khách hàng có thể dễ dàng
tìm được thông tin biểu phí của dịch vụ mình cần ở đây.

13
1.2.4.4 Thông tin Ngân hàng
Thông tin ngân hàng cũng là một tiêu chí được nhiều khách hàng quan
tâm yêu cầu. Thông tin ngân hàng trên hệ thống BIDV Homebanking
được cập nhật thường xuyên như các bản tin hàng ngày phục vụ doanh
nghiệp, thông tin tỷ giá, lãi suất, phí dịch vụ. Các thông tin được cập nhật
theo từng chi nhánh khác nhau trong hệ thống BIDV nhằm đảm bảo
khách hàng có được những thông tin mới nhất vê ngân hàng nơi đăng ký

sử dụng dịch vụ.
Ở đây khách hàng luôn được nhận được những thông tin mới nhất về BIDV như
triển khai các dịch vụ mới, chi nhánh mới, các thay đổi về chính sách, phí, các
thông tin khuyến mãi, các đợt huy động vốn, phát hành trái phiếu, kỳ phiếu …
Vấn tin tài khoản là một trong những tiện ích không thể thiếu đối với ứng dụng
Homebanking. BIDV Homebanking cho phép vấn tin các loại tài khoản của khách
hàng mở tại hệ thống BIDV: tài khoản tiền gửi thanh toán, tài khoản tiền gửi tiết
kiệm không kỳ hạn, tài khoản tiền gửi có kỳ hạn, tài khoản tiền vay, tài khoản tài
trợ thương mại

1.2.5 Cung cấp dịch vụ chuyển tiền:
1.2.5.1 Chuyển khoản, chuyển tiền liên chi nhánh
Tiện ích thanh toán là tiện ích chính, là trái tim của hệ thống BIDV
Homebanking. Tiện ích thanh toán cho phép khách hàng thiết lập thanh toán
theo hai bước hay ba bước tùy thuộc vào mô hình tổ chức của doanh nghiệp.
Thông thường quy trình thanh toán được thực hiện theo ba bước: Soạn điện,
duyệt điện, xác nhận điện tương ứng với kế toán viên, kế toán trưởng và giám
đốc trong một công ty.
Với dịch vụ chuyển khoản này khách hàng có thể thực hiện yêu cầu đặt lệnh
chuyển tiền. Các thông tin cần phải nhập vào để thực hiện đặt lệnh rất ít vì

14
chương trình đã nhớ các thông tin khách hàng, chỉ cần nhập số tiền, ghi chú, tài
khoản, Ngân hàng người nhận.
1.2.5.2 Chuyển tiền sang các ngân hàng khác.
Tương tự như dịch vụ chuyển khoản, khách hàng chỉ cần nhập thêm Ngân hàng
nhận.
1.3 Các yêu cầu về bảo mật hệ thống và xác thực
Như trên đã đề cập, HomeBanking là một dịch vụ cho phép khách hàng của Ngân hàng
Đầu tư và phát triển Việt nam truy cập vào mạng Internet/Intranet BIDV để thực hiện các

giao dịch với Ngân hàng như: Chuyển tiền, Vấn tin, Mở L/C, Xem thông tin Ngân hàng,
Các đối tượng khách hàng sử dụng dịch vụ HomeBanking có thể là khách hàng cá nhân,
doanh nghiệp hoặc các tổ chức tín dụng khác. Mọi đối tượng này đều có tài khoản mở tại
Ngân hàng Đầu tư và phát triển Việt Nam.
Công tác bảo mật và xác thực là thực sự cần thiết.
Phương pháp xác thực người sử dụng thông thường sử dụng bằng cách Login ID và
Password. Việc sử dụng là chưa đảm bảo tính an toàn đối với Ngân hàng, đặc biệt các giao
dịch thanh toán chuyển tiền bởi những khả năng phát hiện như:
- Người sử dụng nhớ các thông tin Login ID và Password vào giấy tờ, và bị mất
hoặc phát hiện 1 cách vô ý hoặc cố ý.
- Password lưu trên máy tính, hoặc cất giữ trên thiết bị mạng và có thể bị phát hiện.
- Dùng cùng 1 password cho nhiều mục đích, và dễ bị phát hiện.
- Hacker có thể truy cập vào các file và lấy thông tin về password.
- Có quá nhiều công cụ phần mềm để hacking password
Các giao dịch của HomeBanking là các Giao dịch điện tử do vậy nó cần phải đáp ứng
được :
 Xác thực điện tử chính xác tuyệt đối
 Gắn chặt trách nhiệm, chỉ rõ xuất sứ
 Toàn vẹn tuyệt đối dữ liệu trong giao dịch
 Bảo mật tuyệt đối thông tin trong quá trình thực hiện giao dịch
Hơn nữa, cụ thể là đối với hệ thống HomeBanking, cần phải có hệ thống tăng cường tính
bảo mật và xác thực với các yêu cầu chính như sau :
 Về phía Trung tâm đặt tại Ngân hàng :
Ngoài các lớp bảo vệ bên phần Hệ thống Server của Ngân hàng để đảm bảo tính bảo mật,
và trao dổi dữ liệu bên trong của toàn bộ hệ thống, cần phải có công cụ kiểm tra xác thực
những giao dịch, dữ liệu được chuyển đến từ phía khách hàng.

15
Toàn bộ dữ liệu trao đổi trên đường truyền cần phải được mã hóa và xác thực nhằm đảm
bảo tính toàn vẹn và không xâm phạm của dữ liệu.

Dữ liệu nhận được từ khách hàng phải là dữ liệu mã hoá.
 Tại phía khách hàng :
Khách hàng cần phải được cung cấp công cụ vật lý và điện tử để bảo
mật dữ liệu và khóa mật mã.
Các giao dịch từ khách hàng cần phải bảo mật và xác thực với ngân
hàng.
 Ngân hàng cần có công cụ để quản lý phát hành khóa, quản lý khóa, quản lý
việc cấp quyền truy cập và thực hiện dịch vụ theo chính sách của Ngân hàng.
 Hệ thống cần phải tuân thủ theo các chuẩn bảo mật nhằm dễ dàng tích hợp và
phát triển, mở rộng các ứng dụng, đảm bảo khả năng bảo mật cao, tương thích
với các hệ thống phần mềm hiện có và sẽ được đầu tư trong tương lai.
1.4 Giải pháp bảo mật và xác thực giao dịch cho hệ thống
HommeBanking

1.4.1 Xây dựng PKI và Tích hợp ứng dụng HomeBanking
Trong các tổ chức ngân hàng và tài chính, PKI ( Hạ tầng mã khóa công khai) được sử
dụng rộng rãi, cung cấp bảo đảm an toàn thông tin cho các dịch vụ truy cập thông tin trực
tuyến từ đầu đến cuối trong nội bộ ( Front office To back office), và cũng thường được mở
rộng ra tới các hệ thống liên quan với khách hàng nhằm hỗ trợ cho giải pháp ngân hàng
trực tuyến ( online banking). Toàn bộ các truy cập này được xác thực bằng các chứng thực
số. PKI tạo thành khung công việc và dịch vụ cho việc khởi tạo, thực hiện, phân phối,
kiểm tra, hủy bỏ, thu hồi, khôi phục và rà soát theo dõi các chứng thực số cùng với khóa
riêng tương ứng .
PKI là sự kết hợp các sản phẩm phần cứng và phần mềm , các quy trình thủ tục, chính sách
thực hiện giúp cho các thành viên tham gia trao đổi dữ liệu đảm bảo tính an toàn và riêng
tư trong một mạng công cộng.
Phối hợp với thẻ thông minh ( hoặc token) và các thư mục ( directory) , Hệ thống PKI sễ
hỗ trợ công viêc đăng ký thành viên, phổ cập chứng thực và quản lý chứng thực một cách
toàn diện. Sử dụng thẻ thông minh cần phải được đưa ra trong chiến lược phát triển đảm
bảo tính toàn vẹn dữ liệu.


16
Hơn nữa, PKI cho phép phát hành chứng thực số cho các ứng dụng thông qua các điểm
RA – cơ quan đăng ký. Công nghệ PKI cung cấp tính bảo mật với những tính năng mật,
toàn vẹn và xác thực mang đến sự trung thực và không xâm phạm cho từng giao dịch thực
hiện.
Trong khuông khổ luận văn này, đề xuất xây dựng một CA với phần mềm của hãng
Microsoft. Microsoft CA so với các giải pháp CA khác có 1 số lợi thế nhất định như giá
thành thấp, dễ dàng tìm hiểu, triển khai lắp đặt, vận hành và thân thiện với người sử dụng.
Thuật toán mật mã phần mềm CSP ( Crypto Service Provider) với RSA 2048 bít cho CA
và 1024 bít trên thiết bị Ikey2000 của hãng Safenet. Thiết bị Ikey2000 quản lý Khoá riêng
và MS Active Directory quản lý Chứng thực khoá công khai cho phép xác thực trực tuyến,
để thuận tiện cho quá trình mã hoá và giải mã điện thanh toán và kiểm tra trực tuyến tính
hợp của chữ ký.


























17
Chƣơng 2 - HẠ TẦNG KHOÁ CÔNG KHAI
2.1 Một số phương pháp mã hoá
2.1.1 Mã hoá đối xứng
Hình 3 minh hoạ quá trình mã hoá đối xứng. Bản rõ được chuyển thành bản mã.
Quá trình mã hoá sử dụng một thuật toán và một khoá. Khoá là một giá trị không
phụ thuộc vào bản rõ. Đầu ra của thuật toán phụ thuộc vào khoá xác định. Nếu
chúng ta thay đổi khoá thì đầu ra của thuật toán cũng thay đổi theo.
Một khi bản mã đã được tạo ra, nó có thể được truyền đi. Tại nơi nhận, bản mã
được biến đổi trở lại dạng bản rõ ban đầu nhờ một thuật toán giải mã, thuật toán này
sử dụng cùng một khoá như đã được sử dụng khi mã hoá.[1]




Hình 3: Mô hình mã hoá đối xứng

Độ an toàn của hệ mật mã này phụ thuộc vào một vài yếu tố. Trước hết thuật
toán mã hoá phải đủ mạnh, sao cho việc giải mã một thông báo chỉ dựa vào bản mã
là không khả thi. Tiếp theo, độ an toàn của mã đối xứng dựa vào sự bí mật của
khoá, chứ không phải là sự bí mật của thuật toán. Có nghĩa là, việc giải mã một

thông báo dựa vào bản mã và các thông tin về thuật toán là không khả thi. Nói cách
khác, chúng ta không cần giữ bí mật thuật toán; chúng ta cần giữ bí mật khoá.
Chính đặc tính này đã làm cho mã hoá đối xứng được sử dụng rộng rãi. Đó là vì các
thuật toán không phải giữ bí mật, có nghĩa là các nhà sản xuất có thể sản xuất các
chip thuật toán mã giá thành thấp. Các chip này có sẵn và dễ dàng ghép với một số
sản phẩm khác. Khi sử dụng mã hoá đối xứng, vấn đề an toàn cần được quan tâm
hàng đầu chính là sự bí mật của khoá.
Hình 4 mô tả các yếu tố cơ bản của lược đồ mã hoá đối xứng. Nguồn A tạo ra một
thông báo dạng rõ, X={X
1
, X
2
, ,X
M
). M phần tử của X là các chữ cái trong một
Đầu vào-bản rõ
Đầu ra-bản rõ
Bản mã được
truyền đi

Khoá bí mật dùng chung
giữa người gửi và người
nhận
Khoá bí mật dùng chung
giữa người gửi và người
nhận

18
bảng chữ cái hữu hạn nào đó. Trước đây bảng chữ cái bao gồm 26 chữ cái cơ bản.
Hiện nay, bảng chữ cái nhị phân {0,1} thường được sử dụng. Khi mã hoá, một khoá

dạng K={K
1
, K
2
, ,K
L
) được sinh ra. Nếu khoá do nguồn sinh ra, khoá phải
được cho đích theo một kênh bí mật nào đó. Có thể sử dụng một thành viên thứ ba α
để sinh khoá và phân phối khoá một cách bí mật cho cả nguồn và đích.
Với đầu vào là thông báo X và khoá mã K, đầu ra của thuật toán mã hoá là một bản
mã Y={Y
1
, Y
2
, ,Y
N
). Chúng ta có thể viết như sau:
Y=E
K
(X)
Khi người nhận hợp pháp nhận được bản mã có thể giải mã bản mã nhờ dùng cùng
một khoá như sau:
X=D
K
(Y)


Hình 4: Mô hình hệ mật đối xứng

Khi có Y nhưng không có K hoặc X, đối phương không thể khôi phục lại X

hoặc K, hoặc cả X và K. Giả thiết rằng, đối phương biết các thuật toán mã hoá E và
giải mã D. Nếu đối phương chỉ quan tâm đến một thông báo xác định nào đó, họ sẽ
tập trung mọi nỗ lực vào việc khôi phục lại X bằng cách sinh ra một bản rõ X ước
lượng. Tuy nhiên, nếu đối phương muốn đọc được các thông báo tiếp theo trong
tương lai, đối phương cần khôi phục lại K bằng cách sinh ra một K ước lượng.
2.2 Mã hoá công khai
2.2.1 Nguyên lý hoạt động của các hệ thống mật mã công khai
Khái niệm mật mã khoá công khai nảy sinh khi giải quyết hai vấn đề khó khăn trong
mã đối xứng, đó là vấn đề phân phối khoá và vấn đề chữ ký số.
Nguồn
của
thông
báo

hoá
Giải

Đích
Phân tích mã
Nguồn
khoá
Kênh bí mật

X ước lượng
K ước lượng
X
Y
K

19

Như chúng ta đã biết, việc phân phối khoá trong mã hoá đối xứng yêu cầu hai bên
liên lạc phải:
Dùng chung một khoá được phân phối theo cách nào đó hoặc:
Sử dụng một trung tâm phân phối khoá
Whitifield Diffie, một trong những người đã phát minh ra mã hoá công khai (cùng
với Martin Hellman, đại học Standford) đã suy luận và cho rằng, yêu cầu thứ hai
phủ nhận bản chất của mật mã. Bản chất đó là đảm bảo tính bí mật trong liên lạc.
Khó có thể tồn tại các hệ thống mật mã không thể phá được nếu người sử dụng của
các hệ thống này bắt buộc phải dùng chung cho các khoá của một trung tâm phân
phối khoá (KDC), lý do là trung tâm này có thể để lộ khoá.
Vấn đề thứ hai mà Diffie đặt ra là “chữ ký số”. Nếu việc sử dụng mật mã trở nên
phổ biến, không chỉ trong lĩnh vực quân sự mà còn được sử dụng cho các mục đích
thương mại và cá nhân, thì các thông báo và tài liệu điện tử cần có các chữ ký và
chúng có hiệu lực tương tự như các chữ ký trên giấy tờ.[1]

2.2.1.1 Các hệ thống mật mã khoá công khai
Các thuật toán công khai sử dụng một khoá để mã hoá và một khoá khác để giải mã.
Chúng có tính chất quan trọng sau:
Không thể xác định được khoá giải mã nếu chỉ căn cứ vào các thông tin về
thuật toán và khoá mã hoá
Một thuật toán, chẳng hạn như RSA, cũng có tính chất như sau:
Một trong hai khoá được sử dụng để mã hoá, khoá còn lại được sử dụng để
giải mã.
Hình 5 minh hoạ quá trình mã hoá công khai. Các bước cơ bản gồm:
1. Mỗi thành viên sinh ra một cặp khoá, cặp khoá này được sử dụng để mã hoá và
giải mã các thồn báo.
2. Mỗi thành viên công bố khoá mã hoá của mình bằng cách đặt khoá này vào một
địa chỉ được công bố công khai. Đây chính là khoá công khai. Khoá cùng cặp được
giữ bí mật.
3. Nếu A muốn gửi cho B một thông báo, A mã hoá thông báo bằng khoá công khai

của B.
4. Khi B nhận được thông báo, B giải mã thông báo bằng khoá riêng của B. Không
một người nào khác có thể giải mã thông báo, bởi vì chỉ có B mới biết khoá riêng
của mình.
Với cách giải quyết này, tất cả các thành viên tham gia truyền thông đều có thể có
được khoá công khai. Khoá riêng của mỗi thành viên được giữ bí mật. Quá trình
liên lạc chỉ an toàn chừng nào khoá riêng còn được giữ bí mật. Mỗi thành viên có
thể thay đổi được khoá riêng của mình bất cứ lúc nào, đồng thời công bố khoá công
khai cùng cặp để thay thế khoá công khai cũ.

20
Để phân biệt mã hoá khoá công khai và mã hoá khoá đối xứng, người ta gọi khoá
được sử dụng trong mã hoá khoá đối xứng là khoá bí mật. Hai khoá được sử dụng
trong mã hoá công khai là khoá công khai và khoá riêng.
Hình mô tả chi tiết các yếu tố cần thiết trong lược đồ mã hoá khoá công khai.
Nguồn A đưa ra một thông báo rõ và bản rõ của thông báo là X={X
1
, X
2
, ,X
M
)
Các phần tử X
i
(i=1÷M) của X là các chữ cái trong bảng chữ cái hữu hạn nào đó.
A dự định gửi thông báo cho đích B. B sinh ra một căpk khoá là khoá công khai
KU
b
, khoá riêng KR
b

. Chỉ có B biết KR
b
, còn KU
b
được công bố công khai, do
vậy A có thể có được khoá công khai này.
Với đầu vào là thông báo X và khoá mã hoá KU
b
, A tạo ra một bản mã Y=[Y
1
,
Y
2
, ,Y
N
] với Y=E
KUb
(X).



Hình 5: Mã hoá công khai

Người nhận hợp lệ (người sở hữu khoá riêng) thu được X, qua phép biến đổi ngược
X=D
KRb
(Y).
Đầu
vào
bản rõ

Thuật
toán mã
hoá
Vòng khoá công
khai của Alice
Thuật
toán giải

Đầu
ra
bản

Bản mã được
truyền đi
(a) Mã hoá
Ted
Bob
Mike
Joy
Khoá riêng của Bob
Vòng khoá công
khai của Bob
Ted
Bob
Mike
Joy
Khoá công khai của Bob
Khoá riêng của Alice
Khoá công khai của Alice
Đầu

vào
bản rõ
Thuật
toán mã
hoá
Thuật
toán giải

Đầu
ra
bản

Bản mã được
truyền đi
(b) Xác thực

21
Đối phương (có thể có được Y và KU
b
nhưng không có KR
b
hoặc X) phải tim cách
khôi phục lại X và/hoặc KR
b
. Giả sử rằng anh ta có thông tin về thuật toán mã hoá
E và giải mã D, anh ta có thể khôi phục thông báo X, bằng cách sinh ra một bản rõ
X ước lượng. Tuy nhiên, để đọc được các thông báo mới, đối phương phải khôi
phục được KR
b
ước lượng.

Chúng ta đã biết, một trong hai khoá trong cặp khoá có thể được sử dụng để mã
hoá, khoá còn lại được sử dụng để giải mã. Điều này cho phép thực hiện một lược
đồ mã hơi khác một chút. Lược đồ được minh hoạ trong hình 6 cung cấp tính bí
mật. Hình 5b và 7 minh hoạ việc sử dụng mã hoá công khai cho xác thực:
Trong trường hợp này, A chuẩn bị một thông báo để gửi cho B và mã hóa thông báo
bằng khóa riêng của A trước khi truyền đi. B có thể giải mã thông báo bằng khoá
công khai của A. Thông báo được mã hoá bằng khoá riêng của A nên có thể xác
định chỉ có A là người tạo ra thông báo. Do vậy, toàn bộ thông báo mã hoá được sử
dụng nhu một chữ ký số. Hơn nữa không thể sửa đổi thông báo nếu không có khoá
riêng của A, chính vì vậy thông báo được xác thực cả nguồn gốc lẫn tính toàn vẹn
dữ liệu.

Hình 6: Hệ mật khoá công khai: Bí mật

Nguồn
của
thông
báo

hoá
Giải

Đích
Phân tích

Nguồn
của cặp
khoá
X
Y

X
KR
a

KU
a

X ước lượng
KR
b
ước lượng

22

Hình 7: Hệ mật khoá công khai: Xác thực

Trong lược đồ trước, toàn bộ thông báo được mã hóa , nó đòi hỏi khả năng lưu giữ
lớn. mỗi tài liệu phải được lưu giữ ở dạng rõ. Bản sao được lưu giữ ở dạng mã, do
vậy chúng ta có thể triển kiểm tra nguồn gốc và các nội dung trong trường hợp tranh
chấp. một cách hiệu quả hơn để có được các kết quả như trên là mã hoá một khối
nhỏ các bit. Khối này được gọi là dấu xác thực. Nó phải có tính chất là mọi thay đổi
trên tài liệu dẫn đến sự thay đổi của dấu xác thực. Nếu dấu xác thực được mã hoá
bằng khoá riêng của người gửi, nó được sử dụng như một chữ ký. Chữ ký được sử
dụng để kiểm tra nguồn gốc, nội dung và trình tự.
Trước hết, chúng ta mã hoá một thông báo bằng khoá riêng của người gửi, đưa ra
một chữ ký số. Tiếp theo, mã hoá một lần nữa bằng khoá công khai của người nhận.
Chỉ có người nhận hợp pháp mới giải mã được bản mã cuối cùng này vì anh ta có
khoá riêng cùng cặp. Như vậy sẽ đảm được tính bí mật. Khó khăn của biện pháp
này là thuật toán khoá công khai, nó thực sự phức tạp, phải tiến hành 4 lần (chứ
không phải 2 lần) cho mỗi cuộc truyền thông.

2.2.1.2 Các ứng dụng hệ thống khoá công khai
Việc sử dụng một kiểu thuật toán mật mã với 2 khoá (một khoá riêng, một khoá
công khai) là đặc trưng của các hệ thống khoá công khai.
Tuỳ thuộc vào ứng dụng, người sử dụng khoá riêng của người gửi hoặc khoá công
khai của người nhận, hoặc cả hai.
Nói rộng hơn, chúng ta có thể phân loại việc sử dụng các hệ thống khoá công khai
thành 3 loại:
1.Mã hoá/giải mã: Người gửi mã hoá một thông báo bằng khoá công khai của người
nhận.
2.Chữ ký số: Người gửi ký thông báo bằng khoá riêng của mình. Quá trình ký nhờ
dùng một thuật toán mã đối với thông báo hoặc một khối dữ liệu nhỏ.
Nguồn
của
thông
báo

hoá
Giải

Đích
Phân tích

Nguồn
của cặp
khoá
X
Y
X
KR
b


KR
b

X ước lượng
KR
b
ước lượng

23
3.Trao đổi khoá: Hai thành viên trao đổi một khoá phiên. Có một vài hướng giải
quyết khác nhau, cần đến một (hoặc nhiều) khoá riêng của một hoặc hai thành viên.
Một số thuật toán phù hợp cho tất cả các ứng dụng, còn một số thuật toán khác chỉ
được sử dụng cho một hoặc hai ứng dụng của chúng.
Các ứng dụng được các thuật toán hỗ trợ

Thuật toán
Mã hoá/Giải mã
Chữ ký số
Trao đổi khoá
RSA



Diffie-Hellman
Không
Không

DSS
Không


Không

2.2.1.3 Các yêu cầu đối với mật mã khoá công khai
Các ứng dụng hệ mật minh hoạ trong hình 5 phụ thuộc vào một thuật toán với hai khoá
cùng cặp. Diffie và Hellman đưa ra các điều kiện mà thuật toán trên phải đáp ứng như sau:
1.Người nhậ B có thể dễ dàng sinh ra được một cặp khoá (khoá công khai KU
b
và khoá
riêng KR
b
)
2.Người gửi A dễ dang biết được khoá công khai của người nhận, mã hoá thông báo
M và tạo ra một bảng mã tương ứng:
3.Người nhận B dễ dàng giải mã được bản mã bằng cách sử dụng khoá riêng của
mình để khôi phục lại thông báo ban đầu.
4.Đối phương khó có thể khôi phục được khoá riêng KR
b
, mặc dù biết khoá công
khai KU
b
.
5.Đối phương khó có thể khôi phục lại thông báo M ban đầu dù biết khoá công khai
KU
b
và bản mã C.
Có thể bổ sung thêm yêu cầu 6. Mạc dù nó hữu ích nhưng không cần thiết cho tất cả
các ứng dụng khoá công khai.
6.Các hàm mã hoá và giải mã có thể được áp dụng như sau:


ở đây có một vài yêu cầu khắt khe, trong thực tế các yêu cầu cần đáp ứng hàm cửa
sập một chiều. Hàm một chiều là hàm đơn trị hai triều, rất dễ tính toán hàm nhưng
tính toán hàm nghịch đảo rất khó.
Y=f(X) dễ dàng
X=f
1
(y) không thể
Việc phát triển một lược đồ khoá công khai thiết thực phụ thuộc vào việc tìm ra
mọtt hàm cửa sập một chiều phù hợp.
2.2.2 Quản lý khoá
Một trong các vai trò của mã hoá công khai là giải quyết vấn đề phân phối khoá.
Khi sử dụng mã hoá khoá công khai, chúng ta cần phân biệt hai khái niệm sau:
 Phân phối khoá công khai,và
 Sử dụng mã hoá khoá công khai để phân phối các khoá bí mật
2.2.2.1 Phân phối các khoá công khai
Người ta đã đề xuất một số kỹ thuật phân phối khoá công khai. Các đề xuất này có
thể được nhóm lại như sau:

24
Khai báo công khai
Thư mục công khai
Trung tâm quản lý khoá công khai
Các chứng chỉ khoá công khai
2.2.2.2 Khai báo công khai các khoá công khai
Xuất phát điểm của mật mã khoá công khai là khoá công khai được công bố công
khai. Do vậy, nếu có một thuật toán được chấp nhận rộng rãi, chẳng hạn như RSA,
bất kỳ thành viên nàocung có thể gửi khoá công khai của mình cho thành viên khác
hoặc quảng bá cho cộng đồng lớn. (Hình 8)




Hình 8: Phân phối khoá công khai không kiểm soát

Mặc dù giải pháp này khá thích hợp, nhưng nó có nhược điểm là bất kỳ ai cũng có
thể giả mạo một khoá công khai. Có nghĩa là, một người sử dụng nào đó có thể giả
danh là người sử dụng A phát hiện ra sự gian lận và thông báo cho các thành viên
khác. Khoảng thời gian cho đến khi người sử dụng A phát hiện ra sự gian lận và
thông báo cho các thành viên khác, đối tượng giả mạo có thể đã đọc toàn bộ các
thông báo mã hoá gửi cho A và có thể sử dụng các khoá giả cho xác thực.
2.2.2.3 Thư mục công khai
Chúng ta có thể có được độ an toàn cao, bằng cách duy trì một thư mục công khai
thuộc trách nhiệm của một tổ chức tin cậy nào đó (Hình 9)

A
B
KU
b


KU
a

Thư
mục
khoá
công
khai
A
B
KU

b


KU
b

KU
b

KU
a

KU
a

KU
a

KU
b

KU
a


25
Hình 9: Công bố khoá công khai
Một lược đồ như vậy bao gồm các yếu tố sau:
1.Cơ quan quản lý duy trì một thư mục, mỗi thành viên có một đầu vào entry {tên,
khoá công khai}.

2.Mỗi thành viên đăng ký một khoá công khai với cơ quan quản lý thư mục. Việc
đăng ký này có thể được thực hiện bởi một cá nhân hoặc qua hình thức liên lạc có
xác thực an toàn nào đó.
3.Một thành viên có thể thay thế một khoá mới bất kỳ lúc nào, chẳng hạn khi họ
muốn thay thế một khoá công khai đã được sử dụng nhiều, hoặc khi khoá riêng
cùng cặp bị lộ.
4.Cơ quan quản lý công bố toàn bộ thư mục hoặc cập nhật thư mục một cách định
kỳ.
5.Các thành viên cũng có thể truy nhập vào thư mục. Chính vì vậy, việc truyền
thông xác thực an toàn (từ cơ quan quản lý đến thành viên) phải mang tính bắt buộc
2.2.2.4 Trung tâm quản lý khoá công khai
Việc phân phối khoá công khai được đảm bảo an toàn cao hơn nếu cung cấp các
kiểm soát chặt chẽ khi phân phối khoá công khai từ thư mục (được minh hoạ trong
hình 10)






Hình 10: Lược đồ phân phối khoá công khai


Một cơ quan trung tâm duy trì một thư mục khoá công khai động cho tất cả các
thành viên. Mỗi thành viên đều biết khoá công khai của trung tâm quản lý khoá
công khai nhưng chỉ Trung tâm này biết được khoá riêng cùng cặp.
Quá trình trao đổi thông tin bí mật xảy ra như sau:
1.A gửi một thông báo có gán nhãn thời gian cho cơ quan quản lý khoá công khai,
yêu cầu khoá công khai hiện thời của B.
A

B
(4)Request || Time2

(1)Request || Time 1
Trung
tâm quản
lý khoá
công khai
(2)E
KRauth
[KU
b
||Request || Time 1]

26
2.Cơ quan quản lý trả lời bằng một thông báo. Thông báo này được mã hoá bằng
một khoá riêng của cơ quan quản lý, KR
auth
. Như vậy, A có khả năng giải mã thông
báo bằng cách sử dụng khoá công khai của cơ quan quản lý, A được đảm bảo rằng
thông báo có nguồn gốc từ cơ quan quản lý. Thông báo gồm có:
Khoá công khai của B là KU
b
, A có thể sử dụng nó để mã hoá các thông báo
gửi cho B.
Yêu cầu gốc-A so khớp yêu cầu này với yêu cầu A, đã gửi đi trước đó, nhờ
đó A có thể biết yêu cầu gốc có bị sửa đổi trước khi cơ quan quản lý nhận được hay
không
Nhãn thời gian gốc, cho phép xác định: đây không phải là một thông báo cũ
mà là thông báo có chứa khoá công khai hiện thời của B.

3.A lưu giữ khoá công khai của B và sử dụng nó để mã hoá một thông báo gửi cho
B, thông báo này có chứa tên của A (ID
A
) và một giá trị N
1
để sử dụng để nhận
dạng giao dịch này.
4.B lấy khoá công khai của A từ cơ quan quản lý (tương tự như A lấy khoá công
khai của B).
5.Đến lúc này, các khoá công khai được chuyển giao an toàn cho A và B, họ có thể
trao đổi với nhau.
2.2.2.5 Các chứng chỉ khoá công khai
Lược đồ như trong hình 10 rất hấp dẫn nhưng nó cũng có một số nhược điểm. Cơ
quan quản lý khoá công khai gần giống như một cổ chai trong hệ thống. Người sử
dụng phải yêu cầu cơ quan quản lý cấp khoá công khai cho người sử dụng khác khi
họ muốn liên lạc. Như đã trình bày từ trước, cơ quan quản lý duy trì thư mục (mỗi
đầu vào bao gồm tên và khoá công khai)-đây cũng là điểm yếu dễ bị giả mạo.
Một giải pháp lựa chọn là sử dụng chứng chỉ. Các thành viên sử dụng chứng chỉ này
để trao đổi khoá mà không cần liên lạc với cơ quan quản lý khoá công khai và các
thông tin khác. Nó được một cơ quan quản lý chứng chỉ tạo ra và phát hành cho các
thành viên. một thành viên chuyển thông tin khoá của mình cho thành viên khác
thông qua các chứng chỉ. Các thành viên khác có thể kiểm tra chứng chỉ do cơ quan
quản lý tạo ra.
Chúng ta cơ thể đưa vào lược đồ này các yêu cầu như sau:
1.Một thành viên có thể đọc chứng chỉ để xác định tên và khoá công khai của người
sở hữu chứng chỉ.
2.Mọi thành viên có thể kiểm tra: nguồn gốc của chứng chỉ và nó có bị giả mạo
không.
3.Chỉ có cơ quan quản lý chứng chỉ mới có thể tạo ra và cập nhật các chứng chỉ
4.Mọi thành viên có thể kiểm tra sự lưu hành của chứng chỉ.

Hình 11 minh hoạ một lược đồ chứng chỉ. Trong đó, mỗi thành viên yêu cầu cơ
quan quản lý chứng chỉ cung cấp một khoá công khai và một chứng chỉ. Đối với
thành viên A, cơ quan quản lý cung cấp cho A một chứng chỉ như sau:
C
A
=E
KRauth
[T,ID
A
, KU
a
]
K
KRauth
là khoá riêng được cơ quan quản lý sử dụng. Sau đó, A có thể chuyển chứng
chỉ này cho thành viên khác, thành viên này đọc và kiểm tra chứng chỉ như sau:
D
KUauth
[C
A
]=D
KUauth
[E
KRauth
[T,ID
A
, KU
a
KU]]=(T,ID
A

, KU
a
)

27
Người nhận sử dụng khoá công khai của cơ quan quản lý (K
auth
) để giải mã chứng
chỉ. Do chỉ có thể đọc được chứng chỉ bằng cách sử dụng khoá công khai của cơ
quan quản lý nên việc kiểm tra này chứng tỏ rằng: chứng chỉ có nguồn gốc từ cơ
quan quản lý chứng chỉ.




Hình 11: Trao đổi các chứng chỉ khoá công khai

ID
A
, KU
a
cung cấp cho người nhận tên và khoá công khai của người nắm giữ
chứng chỉ.
Nhãn thời gian T phê chuẩn sự lưu hành của chứng chỉ. Nó được sử dụng để đối
phó với khoá riêng của A bị lộ. A sinh ra một căpk khoá mới và yêu cầu cơ quan
quản lý chứng chỉ cấp một chứng chỉ mới. Trong lúc đó, đối phương vẫn sử dụng
chứng chỉ cũ với B. Sau đó nếu B mã hoá các thông báo bằng khoá công khai cũ,
đối phương có thể đọc toàn bộ các thông báo này.
Việc làm lộ khoá riêng được so sánh với việc mất một thẻ tín dụng. Người chủ sở
hữu huỷ bỏ số thẻ tín dụng, nhưng vẫn có thể xảy ra các rủi ro cho đến khi tất cả

những người liên lạc nhận thức được-thẻ tín dụng cũ không được sử dụng nữa.
Nhãn thời gian chỉ ra thời hạn kết thúc.
2.2.2.6 Sử dụng hệ mật mã khoá công khai để phân phối khoá bí mật
Một khi các khoá công khai được phân phối hoặc có thể truy nhập vào chúng, liên
lạc an toàn có thể ngăn chặn nghe trộm, giả mạo. Tuy nhiên một số người không
muốn sử dụng hệ mật khoá công khai do thời gian mã/giải mã lớn. Các hệ mật khoá
công khai được sử dụng để phân phối khoá bí mật cho các hệ khoá đối xứng.
2.2.2.7 Phân phối khoá bí mật đơn giản
Merkle đưa ra một lược đồ rất đơn giản (được minh hoạ trong Hình 12)
Nếu A muốn truyền thông với B, thủ tục được thực hiện như sau:
1.A tạo ra một cặp khoá {KU
a
, KR
a
} và truyền thông báo cho B. Thông báo gồm
KU
a
và tên của A(ID
A
).
2.B tạo ra khoá bí mật K
s
và truyền cho A. Khoá được mã bằng khoá công khai của
A.
A
B

Trung
tâm quản
lý khoá

công khai
Ca=E
KRauth
[Time1,IDa,KUa]
KU
a

KU
b

Cb=E
KRauth
[Time2,IDb,KUb]

×