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

Nghiên cứu triển khai dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng

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 (3.12 MB, 91 trang )



ĐẠI HỌC QUỐC GIA HÀ
NỘI
TRƯỜNG ĐẠI HỌC CÔNG
NGHỆ








NGUYỄN THỊ HUYỀN







NGHIÊN CỨU TRIỂN KHAI DỊCH VỤ CHỨNG
THỰC CHỮ KÝ SỐ ỨNG DỤNG TRONG LĨNH
VỰC TÀI CHÍNH NGÂN HÀNG












LUẬN VĂN THẠC


























Hà Nội -
2011


ĐẠI HỌC
QUỐ
C GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG
NGHỆ






NGUYỄN THỊ HUYỀN










NGHIÊN CỨU TRIỂN KHAI DỊCH VỤ CHỨNG
THỰC CHỮ KÝ SỐ ỨNG DỤNG TRONG LĨNH
VỰC TÀI CHÍNH NGÂN HÀNG








Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
M
ã số: 60 48 10



LUẬN VĂN THẠC




NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Nguyễn Viết Thế



















Hà Nội –
2011

-1-

Học viên: Nguyễn Thị Huyền - K16HTTT

MỤC LỤC
DANH MỤC TỪ VIẾT TẮT 4
MỞ ĐẦU 5
CHƢƠNG 1: TỔNG QUAN VỀ GIAO DỊCH ĐIỆN TỬ VÀ CHỮ KÝ SỐ 8
1.1. Giao dịch điện tử 8
1.1.1. Tổng quan về giao dịch điện tử 8
1.1.2. Khảo sát bài toán giao dịch điện tử trong lĩnh vực tài chính ngân hàng
9
1.2. Cơ sở mật mã học 11
1.2.1. Khái niệm và phân loại hệ mật mã 11
1.2.2. Hệ mật mã khóa đối xứng 11
1.2.3. Hệ mật mã khóa bất đối xứng 13
1.3. Chữ ký số 16
1.3.1. Tổng quan về chữ ký số 16
1.3.2. Sơ đồ chữ ký số 17

1.3.3. Phân loại chữ ký số 18
1.3.4. Tính chất của chữ ký số 18
1.3.5. Chữ ký RSA 19
1.4. Hàm băm 19
1.4.1. Khái niệm hàm băm 19
1.4.2. Đặc tính của hàm băm 20
CHƢƠNG 2: CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI 22
2.1. Khái niệm hạ tầng khóa công khai - PKI 22
2.2. Các thành phần của PKI 22
2.2.1. Tổ chức chứng thực CA 22
2.2.2. Tổ chức đăng ký RA 23
2.2.3. Khách hàng PKI 23
2.2.4. Chứng thƣ số 24
2.2.5. Hệ thống phân phối (CDS) hoặc ngƣời đƣợc ủy thác 25
-2-

Học viên: Nguyễn Thị Huyền - K16HTTT

2.3. Chức năng và cách thức hoạt động của PKI 25
2.3.1. Chức năng của PKI 25
2.3.2. Cách thức hoạt động của PKI 26
2.4. Tiến trình trong PKI 28
2.4.1. Yêu cầu cấp chứng thƣ số 28
2.4.2. Gửi yêu cầu 29
2.4.3. Các chính sách 29
2.4.4. Thu hồi chứng thƣ số 29
2.4.5. Thông báo thu hồi chứng thƣ số 30
2.4.6. Truyền thông giữa khách hàng với khách hàng thông qua PKI 30
2.5. Các dịch vụ của PKI 30
2.5.1. Các dịch vụ cốt lõi 30

2.5.2. Các dịch vụ hỗ trợ 32
2.6. Các mô hình kiến trúc PKI 35
2.6.1. Mô hình kiến trúc đơn 35
2.6.2. Mô hình kiến trúc danh sách tin cậy 36
2.6.3. Mô hình kiến trúc doanh nghiệp PKI 37
2.6.4. Mô hình kiến trúc lai 40
CHƢƠNG 3: XÂY DỰNG DỊCH VỤ CHỨNG THỰC CHỮ KÝ SỐ ỨNG
DỤNG TRONG LĨNH VỰC TÀI CHÍNH NGÂN HÀNG 44
3.1. Phân tích bài toán sử dụng dịch vụ chứng thực chữ ký số ứng dụng trong
lĩnh vực tài chính ngân hàng 44
3.2. Xây dựng mô hình sử dụng dịch vụ chứng thực chữ ký số ứng dụng trong
lĩnh vực tài chính ngân hàng 45
3.3. Xây dựng ứng dụng mô hình sử dụng dịch vụ chứng thực chữ ký số ứng
dụng trong lĩnh vực tài chính ngân hàng 46
3.3.1 Bài toán số 1: Xây dựng chƣơng trình quản lý chứng thƣ số 46
3.3.1.1. Phân tích bài toán 46
3.3.1.2. Thiết kế hệ thống 48
3.3.2. Bài toán số 2: Xây dựng WebSite tra cứu chứng thƣ số 56
-3-

Học viên: Nguyễn Thị Huyền - K16HTTT

3.3.2.1. Phân tích bài toán 56
3.3.2.2 Thiết kế hệ thống 57
3.3.3. Bài toán số 3: Xây dựng website ứng dụng dịch vụ chứng thực chữ ký
số trong giao dịch điện tử của lĩnh vực tài chính ngân hàng 61
3.3.3.1. Phân tích bài toán 61
3.3.3.2. Thiết kế hệ thống 63
KẾT LUẬN 74
TÀI LIỆU THAM KHẢO 75

PHỤ LỤC 76


-4-

Học viên: Nguyễn Thị Huyền - K16HTTT

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

Từ viết tắt
Tiếng Anh
Tiếng Việt
CA
Certificate Authority
Tổ chức chứng thực
PKCS
Public Key Crytography
Standard
Chuẩn mã hóa khóa công khai
PKI
Public Key Infrastructure
Cơ sở hạ tầng khóa công khai
RA
Registration Authority
Tổ chức đăng ký
SSL
Secure Socket Layer
Giao thức bảo mật



-5-

Học viên: Nguyễn Thị Huyền - K16HTTT

MỞ ĐẦU
Giao dịch điện tử ra đời giúp cho các lĩnh vực khoa học và đời sống phát
triển mạnh mẽ hơn. Nó giúp giảm thiểu thời gian, công sức và tiền của để thực
hiện giao dịch. Do đó nó cũng góp phần nâng cao hiệu quả công việc. Ngày nay
giao dịch điện tử đang đƣợc phát triển mạnh mẽ, đƣợc ứng dụng cho nhiều lĩnh
vực khác nhau và ngày càng khẳng định đƣợc vai trò của mình. Tuy nhiên, giao
dịch điện tử lại nảy sinh các vấn đề nguy hại cần giải quyết. Chẳng hạn nhƣ
thông tin giao dịch bị thay đổi, bị đánh cắp, bị giả mạo… Các vấn đề này dẫn
đến giao dịch không thực hiện chính xác, thông tin không đƣợc đảm bảo tính bí
mật và cũng có thể gây thiệt hại cho ngƣời thực hiện giao dịch. Do đó cần phải
có các giải pháp để đảm bảo an ninh cho giao dịch điện tử.
Tài chính ngân hàng đã ứng dụng mạnh mẽ giao dịch điện tử để phục vụ
cho công việc của mình chẳng hạn nhƣ sử dụng hệ thống thẻ ATM, website, tin
nhắn SMS … cho phép các khách hàng thực hiện giao dịch. Các hệ thống này
thƣờng sử dụng mật khẩu, thẻ xác thực để bảo mật thông tin. Điều này không
đáp ứng đƣợc yêu cầu an toàn thông tin giao dịch. Một giải pháp đƣa ra đó là
chữ ký số. Sử dụng chữ ký số trong giao dịch ngân hàng có thể bảo đảm đƣợc
tính toàn vẹn, tính bí mật, tính xác thực và tính chống chối bỏ. Đây là một giải
pháp hữu hiệu đối với giao dịch điện tử nói chung và giao dịch điện tử trong tài
chính ngân hàng nói riêng.
Chữ ký số không chỉ đảm bảo về mặt kỹ thuật mà còn đƣợc đảm bảo về
mặt pháp lý. Đã có một số văn bản pháp luật đƣợc ban hành đối với việc sử
dụng chữ ký số nhƣ nghị định số 26/2007/NĐ-CP ngày 25/02/2007 của Chính
phủ quy định chi tiết thi hành Luật giao dịch điện tử về chữ ký số và dịch vụ
chứng thực chữ ký số. Dựa trên các ƣu điểm cũng nhƣ tính pháp lý của chữ ký
số ngân hàng nhà nƣớc Việt Nam đã đƣa ra Thông tƣ số 12/2011/TT-NHNH

ngày 17/5/2011 về việc quản lý, sử dụng chữ ký số và dịch vụ chứng thực chữ
ký số. Một vấn đề quan trọng trong việc sử dụng chữ ký số đó là chứng thực chữ
ký số. Khi nhận đƣợc một chữ ký số ngƣời nhận cần biết thông tin liên quan đến
chữ ký số đó xem nó có đảm bảo tính hợp pháp hay không và có đúng là của
ngƣời gửi hay không? Để đáp ứng nhu cầu này cần có dịch vụ chứng thực chữ
ký số. Đã có một số giải pháp đƣợc đƣa ra để phục vụ việc chứng thực chữ ký số
trong đó điển hình là giải pháp sử dụng cơ sở hạ tầng khóa công khai. Hạ tầng
khóa công khai bao gồm các tổ chức cấp, quản lý chứng thƣ số và các dịch vụ
-6-

Học viên: Nguyễn Thị Huyền - K16HTTT

chứng thực. Ở Việt Nam hiện nay có một số tổ chức cấp chứng thƣ số nhƣ:
VNPT, Viettel, BkaV, FPT…
Nắm bắt đƣợc nhu cầu sử dụng và chứng thực chữ ký số trong giao dịch
tài chính - ngân hàng em đã tìm hiểu và thực hiện đề tài: “Nghiên cứu triển
khai dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân
hàng”. Trong thời gian qua em đã đi sâu nghiên cứu các vấn đề về mã hóa, chữ
ký số, hàm băm, cơ sở hạ tầng khóa công khai, ngôn ngữ lập trình và hệ quản trị
cơ sở dữ liệu… để phục vụ cho việc xây dựng đề tài và đã đạt đƣợc những kết
quả nhất định. Luận văn đƣợc trình bày trong 3 chƣơng và phần kết luận, hƣớng
phát triển, cụ thể:
- Chương 1: Tổng quan về giao dịch điện tử và chứ ký số
Các nội dung đƣợc trình bày trong chƣơng bao gồm: Tổng quan về giao
dịch điện tử, Cơ sở mật mã học, Chữ ký số, Hàm băm. Các nội dung này
là cơ sở để chúng ta có thể hiểu về vai trò, ý nghĩa và quy trình tạo và xác
thực chữ ký số.
- Chương 2: Cơ Sở hạ tầng khóa công khai
Trong chƣơng này trình bày các nội dung chính về cơ sở hạ tầng khóa
công khai nhƣ: Khái niệm, thành phần, chức năng và cách thức hoạt động,

các tiến trình, các dịch vụ, mô hình kiến trúc. Qua đây chúng ta có thể
hiểu đƣợc tổng quan về vai trò, cách thức tổ chức và cách thức hoạt động
của hạ tầng khóa công khai. Đó là nền tảng để xây dựng dịch vụ chứng
thực chữ ký số.
- Chương 3: Xây dựng dịch vụ chứng thực chữ ký số ứng dụng trong
lĩnh vực tài chính ngân hàng
Trong chƣơng này em trình bày về việc xây dựng mô hình sử dụng dịch
vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng,
phân tích và thiết kế ba bài toán:
 Bài toán số 1: Xây dựng chƣơng trình quản lý chứng thƣ số.
 Bài toán số 2: Xây dựng website cho phép ngƣời dùng tra cứu
thông tin chứng thƣ số.
 Bài toán số 3: Xây dựng website ứng dụng dịch vụ chứng thực chữ
ký số trong giao dịch điện tử của lĩnh vực tài chính ngân hàng.
- Phần kết luận
Phần này tổng kết lại những kết quả luận văn đã thực hiện đƣợc và đƣa ra
hƣớng phát triển của luận văn trong thời gian tới.
-7-

Học viên: Nguyễn Thị Huyền - K16HTTT

Tuy nhiên, Việc ứng dụng chữ ký số trong lĩnh vực tài chính ngân hàng ở
nƣớc ta còn mới, hơn nữa do thời gian và trình độ có hạn nên một số vấn đề
trình bày trong luận văn không thể tránh khỏi những thiếu xót nhất định. Trong
thời gian tới em sẽ tiếp tục nghiên cứu và phát triển bài toán, mong nhận đƣợc
những ý kiến đóng góp của thầy cô và các bạn để đề tài đƣợc phát triển tốt hơn.
Em xin chân thành cảm ơn thầy giáo: TS. Nguyễn Viết Thế, TS. Hồ Văn
Hƣơng và các thầy cô trong trƣờng, bạn bè đồng nghiệp đã giúp đỡ em trong
thời gian qua để em hoàn thiện tốt luận văn của mình!


-8-

Học viên: Nguyễn Thị Huyền - K16HTTT

CHƢƠNG 1: TỔNG QUAN VỀ GIAO DỊCH ĐIỆN TỬ VÀ CHỮ KÝ SỐ
1.1. Giao dịch điện tử
1.1.1. Tổng quan về giao dịch điện tử
Trong cuộc sống hàng ngày thƣờng có rất nhiều giao dịch phát sinh.
Chẳng hạn nhƣ trong lĩnh vực tài chính ngân hàng, quan hệ giữa ngân hàng với
khách hàng tồn tại nhiều giao dịch nhƣ các giao dịch gửi tiền, vay tiền, chuyển
khoản, ủy nhiệm thu, ủy nhiệm chi… Việc thực hiện mỗi giao dịch này cần thực
hiện một số thủ tục nhất định. Ví dụ nhƣ đối với giao dịch chuyển khoản: Trƣớc
tiên chủ tài khoản cần liên hệ với ngân hàng, thông báo cho ngân hàng các thông
tin cần thiết về chủ tài khoản nhận tiền, số tài khoản ngƣời nhận, số tiền
chuyển… và yêu cầu ngân hàng thực hiện giao dịch. Sau đó ngân hàng kiểm tra
tính hợp lệ của các thông tin mà ngƣời chuyển cung cấp, nếu nhƣ thỏa mãn sẽ
tiến hành thực hiện giao dịch. Tƣơng tự với các giao dịch khác cũng cần phải
thực hiện những bƣớc nhất định. Những giao dịch này thƣờng xuyên diễn ra và
mất nhiều thời gian, công sức và tiền của.
Để thực hiện giao dịch một cách tiện lợi và nhanh chóng ngƣời ta đã phát
triển giao dịch điện tử. Giao dịch điện tử là giao dịch đƣợc thực hiện bằng
phƣơng tiện điện tử. Trong đó các phƣơng tiện điện tử là các phƣơng tiện hoạt
động dựa trên công nghệ điện, điện tử, kỹ thuật số, từ tính, truyền dẫn không
dây, quang học, điện tử hoặc công nghệ tƣơng tự. Khi chúng ta muốn thực hiện
giao dịch chúng ta không cần tới ngân hàng mà có thể ngồi tại nhà, tại cơ quan
hay đang đi chơi trong công viên sử dụng máy tính cá nhân, điện thoại di động
có kết nối mạng internet để thực hiện giao dịch một cách nhanh chóng và chính
xác. Có thể nói giao dịch điện tử là một giải pháp hiệu quả đối với các giao dịch
trên. Nó góp phần giảm bớt chi phí về công và của cũng nhƣ nâng cao hiệu quả
công việc cho lĩnh vực tài chính ngân hàng.

Tuy nhiên trong giao dịch điện tử lại nảy sinh các vấn đề cấp thiết cần giải
quyết. Chẳng hạn nhƣ thông tin giao dịch bị kẻ gian cố tình xem trộm. Có thể
bên gửi giao dịch là giả mạo, bên nhận giao dịch không biết chính xác chủ thể
thực hiện giao dịch. Ví dụ nhƣ có kẻ gian lấy trộm thông tin của khách hàng để
chuyển tiền vào tài khoản của mình mà ngân hàng không phát hiện ra. Cũng có
thể thông tin giao dịch bị thay đổi do kẻ gian cố tình thay đổi hoặc do lỗi trên
đƣờng truyền. Cũng có thể khách hàng thực hiện giao dịch nhƣng lại cố tình
chối bỏ…Tất cả những vấn đề này đều dẫn đến giao dịch không đƣợc thực hiện
một cách chính xác. Một giao dịch phải đảm bảo các tính chất sau: tính toàn vẹn
-9-

Học viên: Nguyễn Thị Huyền - K16HTTT

(đảm bảo thông tin không bị mất mát hay thay đổi), tính bí mật (thông tin không
bị lộ) và tính xác thực(xác định chính xác chủ thể giao dịch). Các nhà nghiên
cứu đã đƣa ra nhiều giải pháp nhƣ mã hóa, nén dữ liệu, hàm băm, chữ ký số…
để đảm bảo các yêu cầu trên.
 Một số quy định trong giao dịch điện tử
Theo quyết định số 59/BTTTT, ngày 31 tháng 12 năm 2008 của Bộ
Thông tin và Truyền thông. Một số tiêu chuẩn bắt buộc áp dụng về chữ ký số và
dịch vụ chứng thực chữ ký số nhƣ sau:
- Bảo mật cho khối an ninh phần cứng HSM: Tiêu chuẩn FIPS PUB 140-2
(Security Requirements for Cryptographic Modules), yêu cầu tối thiểu
level 3
- Chuẩn mã hóa:
 Mã hóa phi đối xứng và chữ ký số : Tiêu chuẩn PKCS#1
(RSA Cryptography Standard).
 Mã hóa đối xứng: Tiêu chuẩn FIPS PUB 197 (Advanced
Encryption Standard (AES)) hoặc FIPS PUB 46-3 (Data
Encryption Standard (DES)).

- Hàm băm bảo mật: Tiêu chuẩn FIPS PUB 180-2 (Secure Hash Standard)
Áp dụng một trong bốn hàm băm an toàn: SHA-1, SHA-256, SHA-384,
SHA-512.
- Định dạng chứng thƣ số và danh sách thu hồi chứng thƣ số: RFC 3280
(Internet X.509 Public Key Infrastructure - Certificate and Certificate
Revocation List (CRL) Profile)
1.1.2. Khảo sát bài toán giao dịch điện tử trong lĩnh vực tài chính ngân
hàng
Trong lĩnh vực tài chính ngân hàng, giữa ngân hàng với ngân hàng, giữa
ngân hàng với khách hàng có rất nhiều giao dịch diễn ra hàng ngày. Chẳng hạn
nhƣ các giao dịch chuyển khoản, kiểm tra tài khoản, ủy nhiệm thu, ủy nhiệm
chi… Các giao dịch này đƣợc thực hiện bằng hai cách:
+ Giao dịch trực tiếp: Khách hàng trực tiếp tới trụ sở chính hoặc chi
nhánh đại diện của ngân hàng và thực hiện giao dịch trực tiếp với các nhân viên
giao dịch của ngân hàng.
+ Giao dịch gián tiếp (giao dịch điện tử): Khách hàng giao dịch với ngân
hàng thông qua các phƣơng tiện điện tử.
-10-

Học viên: Nguyễn Thị Huyền - K16HTTT

Giao dịch điện tử giúp giảm bớt thời gian, công sức và tiền của từ đó nâng
cao hiệu quả công việc cho ngân hàng cũng nhƣ tiện lợi hơn cho khách hàng.
Trong thực tế nƣớc ta hiện nay có một số hình thức giao dịch điện tử nhƣ: hệ
thống ATM, website, email, tin nhắn SMS, Phone… Tuy nhiên các giao dịch
điện tử trong lĩnh vực tài chính ngân hàng có thể tiềm ẩn các mối đe dọa sau:
+ Thông tin không đảm bảo toàn vẹn: Nếu trên đƣờng truyền tin thông tin
không đƣợc toàn vẹn mà bị sai lệch (do lỗi đƣờng truyền hoặc kẻ gian gây ra…)
và ngân hàng không phát hiện ra sẽ dẫn đến giao dịch bị sai lệch kết quả là gây
thiệt hại nghiêm trọng cho khách hàng và ngân hàng. Ví dụ nhƣ trong giao dịch

chuyển tiền nếu thông tin về số tài khoản nhận bị sai thì tiền sẽ không đƣợc
chuyển tới ngƣời lẽ ra đƣợc nhận mà chuyển vào tài khoản của ngƣời khác, hoặc
số tiền chuyển bị thay đổi sẽ gây thiệt hại cho ngân hàng…
+ Thông tin không đảm bảo bí mật: Nếu trên đƣờng truyền tin thông tin
không đƣợc giữ bí mật thì khi có kẻ gian đánh cắp chúng có thể khai thác thông
tin sử dụng vào các mục đích xấu. Ví dụ nhƣ khi đánh cắp đƣợc số tài khoản và
mật khẩu kẻ gian sẽ lợi dụng để rút trộm tiền hoặc chuyển tiền vào tài khoản của
chúng…
+Thông tin không đảm bảo tính xác thực: Nếu có kẻ gian cố tình giả mạo
khách hàng để thực hiện giao dịch mà ngân hàng không phát hiện ra sẽ gây ra
những thiệt hại cho khách hàng. Ngƣợc lại nếu khách hàng đã thực hiện giao
dịch mà lại chối bỏ mà ngân hàng không có biện pháp để quy trách nhiệm thì
gây thiệt hại cho ngân hàng.
Để giải quyết các mối đe dọa trên các nhà nghiên cứu đã đƣa ra nhiều giải
pháp cho giao dịch điện tử trong lĩnh vực tài chính ngân hàng nhƣ: Sử dụng mật
khẩu (mã PIN, mật khẩu một lần), thẻ xác thực (thẻ ATM, thẻ token, tin nhắn
SMS, xác thực hai lần (mật khẩu và tin nhắn), mã hóa, chữ ký số…Đối với giải
pháp mật khẩu, thẻ xác thực, SMS và xác thực hai lần không đảm bảo đƣợc tính
toàn vẹn và tính bí mật. Đối với giải pháp mã hóa không đảm bảo đƣợc tính
chống chối bỏ. Nhƣng với giải pháp chữ ký số có thể đảm bảo đƣợc cả bốn tính
chất bao gồm tính toàn vẹn, bí mật, xác thực và chống chối bỏ. Chữ ký số là một
giải pháp đang chiếm ƣu thế và đang đƣợc các ngân hàng quan tâm. Việc ứng
dụng chữ ký số trong lĩnh vực tài chính ngân hàng phải tuân thủ theo các quy
định của pháp luật. Hiện nay có một số văn bản pháp luật quy định về việc ứng
dụng chữ ký số trong giao dịch điện tử nhƣ: Luật giao dịch điện tử ngày
29/11/2005 quy định về việc sử dụng giao dịch điện tử, Nghị định số
26/2007/NĐ-CP ngày 25/02/2007 của Chính phủ quy định chi tiết thi hành Luật
-11-

Học viên: Nguyễn Thị Huyền - K16HTTT


giao dịch điện tử về chữ ký số và dịch vụ chứng thực chữ ký số, Thông tƣ số
12/2011/TT-NHNH ngày 17/5/2011 của ngân hàng nhà nƣớc về việc quản lý, sử
dụng chữ ký số và dịch vụ chứng thực chữ ký số, Quyết định số 59/2008/QĐ-
BTTTT ban hành danh mục tiêu chuẩn bắt buộc áp dụng về chữ ký số và dịch vụ
chứng thực chữ ký số. Dựa theo các quy định pháp luật trên các tổ chức chứng
thực đã và đang xây dựng một số dịch vụ chứng thực chữ ký số ứng dụng cho
các lĩnh vực khác nhau trong đó có lĩnh vực tài chính ngân hàng. Ở Việt Nam
hiện nay có một số tổ chức cung cấp dịch vụ chứng thực chữ ký số nhƣ:
VNPT(VDC), FPT, Bkav(Bkis), NacoNem, Viettel… Các dịch vụ chứng thực
chữ ký số ứng dụng cho lĩnh vực tài chính ngân hàng dựa trên cơ sở hạ tầng
khóa công khai.
1.2. Cơ sở mật mã học
1.2.1. Khái niệm và phân loại hệ mật mã
 Khái niệm:
Một hệ mật mã là bộ năm (P,C,K,E,D) trong đó:
- P là tập hữu hạn các bản rõ có thể.
- C là tập hữu hạn các bản mã có thể.
- K là tập hữu hạn các khóa có thể.
- E là tập các hàm lập mã.
- D là tập các hàm giải mã.
Với khóa lập mã ke ϵ K, có hàm lập mã e
ke
ϵ E, e
ke
: p C
Với khóa giải mã kd ϵ K, có hàm giải mã d
kd
ϵ D, d
kd

: CP,
Sao cho d
kd
(e
ke
(x))=x, với mọi x ϵ P.
ở đây x đƣợc gọi là bản rõ, e
ke
(x) đƣợc gọi là bản mã[1].
 Phân loại hệ mật mã
Tùy theo các tiêu chí khác nhau ngƣời ta chia các hệ mật mã ra làm các
loại khác nhau. Dựa theo tiêu chí về tính bí mật của khóa mã hóa ngƣời ta chia
các hệ mật mã ra làm hai loại: Hệ mật mã khóa đối xứng (hay còn gọi là hệ mã
hóa khóa bí mật) và hệ mật mã khóa bất đối xứng (hay còn gọi là hệ mật mã
khóa công khai).
1.2.2. Hệ mật mã khóa đối xứng
-12-

Học viên: Nguyễn Thị Huyền - K16HTTT

1.2.2.1 Khái niệm hệ mật mã khóa đối xứng
Hệ mật mã khóa đối xứng là hệ mật mã mà nếu biết đƣợc khóa lập mã thì
có thể “dễ” tính đƣợc khóa giải mã và ngƣợc lại. Đặc biệt có một số hệ mã hóa
khóa đối xứng có khóa lập mã và khóa giải mã là trùng nhau (ke≡ kd) nhƣ hệ mã
hóa dịch chuyển hay DES.
Hệ mã hóa khóa đối xứng còn gọi là hệ mã hóa khóa bí mật hay hệ mã
hóa khóa riêng vì phải giữ bí mật cả hai khóa lập mã và khóa giải mã. Trƣớc khi
sử dụng hệ mã hóa khóa đối xứng, ngƣời gửi và ngƣời nhận phải thỏa thuận với
nhau về thuật toán mã hóa và khóa chung (khóa lập mã và khóa giải mã). Khóa
phải đƣợc giữ bí mật. Độ an toàn của hệ mã hóa này phụ thuộc vào khóa.

- Mô hình sử dụng mật mã khóa đối xứng:

Hình 1.1. Mô hình sử dụng hệ mật mã khóa đối xứng.
+ Giả sử bên gửi muốn truyền cho bên nhận một thông điệp X dƣới dạng
bản rõ. Cần tạo ra một khóa K để thực hiện việc lập mã. Nếu khóa đƣợc tạo ra
bởi bên gửi thì nó phải đƣợc gửi cho bên nhận thông qua một kênh thông tin an
toàn.
+ Khi đã có bản tin X và khóa K bên gửi sẽ sử dụng thuật toán mã hóa E
để tạo ra một bản mã Y:
Y= E(K,X)
+ Sau đó bên gửi sẽ gửi bản mã Y tới bên nhận và bên nhận sẽ sử dụng
khóa K đƣợc chia sẻ từ trƣớc qua kênh an toàn để giải mã bản mã Y thông qua
thuật toán giải mã thu đƣợc bản rõ X:
-13-

Học viên: Nguyễn Thị Huyền - K16HTTT

X= D(K,Y)
Trong quá trình truyền tin qua môi trƣờng mạng, có khả năng thám mã sẽ
bắt đƣợc mã mật Y. Tuy nhiên thám mã lại không có bản tin gốc X và khóa mật
K. Giả sử, các thuật toán sử dụng để mã hóa (E) và giải mã (D) đã đƣợc công
khai thì thám mã sẽ cố gắng để giải mã X bằng cách tạo ra các bản tin gần giống
X. Thậm chí thám mã còn cố gắng để có thể giải mã khóa mật K bằng cách tạo
ra số gần giống K. Nhƣ vậy có thể nhận thấy rằng, để đảm bảo tính an toàn cho
hệ mật mã khóa đối xứng thì hệ mật mã cần thỏa mã hai điều kiện sau:
+ Phƣơng pháp mã hóa phải đủ mạnh để thám mã không thể giải mã đƣợc
mã mật nếu nhƣ không có khóa K. Yêu cầu này có thể phát biểu dƣới dạng
mạnh hơn nhƣ sau: Thám mã sẽ không giải mã đƣợc bản tin mật hay tìm ra khóa
K kể cả khi đã có các mã mật cũng nhƣ các bản tin nguyên thủy đã tạo ra các mã
mật ấy.

+ Các bên tham gia truyền tin phải đảm bảo giữ bí mật đƣợc khóa K. Nếu
thám mã đánh cắp đƣợc khóa mật và biết đƣợc các thuật toán mã hóa thì thông
tin trao đổi giữa các bên hoàn toàn có khả năng bị lộ.
- Phạm vi sử dụng: Hệ mã hóa khóa đối xứng thƣờng đƣợc sử dụng trong môi
trƣờng mà khóa chung có thể dễ dàng trao chuyển bí mật. Chẳng hạn trong cùng
một mạng nội bộ. Hệ mã hóa khóa đối xứng thƣờng dùng để mã hóa những bản
tin lớn vì tốc độ mã hóa và giải mã nhanh hơn hệ mã hóa khóa công khai.
1.2.2.2. Ƣu nhƣợc điểm của hệ mã hóa khóa đối xứng
 Ƣu điểm
Hệ mã hóa khóa đối xứng mã hóa và giải mã nhanh hơn hệ mã hóa khóa
công khai.
 Nhƣợc điểm
- Mã hóa khóa đối xứng chƣa an toàn vì: Ngƣời mã hóa và ngƣời giải mã
phải có “ chung ” một khóa. Khóa phải đƣợc giữ bí mật tuyệt đối vì biết
khóa này “dễ” xác định đƣợc khóa kia và ngƣợc lại. Hai ngƣời (lập mã,
giải mã) cùng biết “chung” một bí mật thì càng khó giữ bí mật.
- Vấn đề thỏa thuận khóa và quản lý khóa chung là khó khăn và phức tạp.
Ngƣời gửi và ngƣời nhận phải luôn thống nhất với nhau về khóa. Việc
thay đổi khóa là rất khó và dễ bị lộ. Khóa chung phải đƣợc gửi cho nhau
trên kênh an toàn.
1.2.3. Hệ mật mã khóa bất đối xứng
-14-

Học viên: Nguyễn Thị Huyền - K16HTTT

1.2.3.1. Khái niệm hệ mật mã khóa bất đối xứng
Hệ mã hóa khóa bất đối xứng (còn gọi là hệ mã hóa công khai) là hệ mã
hóa có khóa lập mã và khóa giải mã khác nhau(ke ≠ kd), biết đƣợc khóa này
cũng “ khó ” tính đƣợc khóa kia. Hệ mã hóa này đƣợc gọi là hệ mã hóa khóa
công khai vì:

+ Khóa lập mã cho công khai, gọi là khóa công khai (public key).
+ Khóa giải mã giữ bí mật, còn gọi là khóa riêng (Private key) hay khóa
bí mật.
Một ngƣời bất kỳ có thể dùng khóa công khai để mã hóa bản tin, nhƣng chỉ
ngƣời nào có đúng khóa giải mã thì mới có khả năng đọc đƣợc bản rõ. Hệ mã
hóa khóa công khai do Diffie và Hellman phát minh vào những năm 1970.
- Mô hình sử dụng mật mã khóa bất đối xứng:

1.2. Mô hình mã hóa khóa bất đối xứng
+ Giả sử Alice cần gửi một bản tin X cho Bob. Bob sẽ tạo ra một cặp
khóa bí mật PU
b
/công khai PR
b
. Bob công khai khóa công khai và giữ bí mật
khóa riêng của mình.
+ Alice sẽ dùng khóa công khai của Bob để mã hóa bản tin X tạo ra bản
mã Y, và Alice gửi Y cho Bob: Y=E(PU
b
, X).
+ Khi nhận đƣợc Y, Bob sẽ sử dụng khóa riêng PR
b
của mình để thực
hiện việc giải mã dữ liệu: X= D(PR
b
, Y).
-15-

Học viên: Nguyễn Thị Huyền - K16HTTT


Dữ liệu đƣợc truyền từ Alice tới Bob đƣợc mã hóa đảm bảo tính bí mật, chỉ có
Bob mới có thể giải mã đƣợc bản mã.
- Phạm vi ứng dụng: Hệ mã hóa khóa bất đối xứng thƣờng đƣợc sử dụng chủ
yếu trên các mạng công khai nhƣ mạng Internet, khi mà việc trao chuyển khóa
bí mật tƣơng đối khó khăn. Đặc trƣng nổi bật của hệ mã hóa khóa công khai là
khóa công khai và bản mã đều có thể gửi đi trên một kênh truyền tin không an
toàn. Có biết cả khóa công khai và bản mã thì thám mã cũng không “dễ” khám
phá đƣợc bản rõ. Nhƣng vì tốc độ lập mã và giải mã chậm nên hệ mã hóa khóa
công khai chỉ dùng để mã hóa những bản tin ngắn, ví dụ nhƣ mã hóa khóa bí
mật gửi đi. Hệ mã hóa khóa công khai thƣờng đƣợc sử dụng cho cặp ngƣời dùng
thỏa thuận khóa bí mật của hệ mã hóa khóa đối xứng.
1.2.3.2. Ƣu nhƣợc điểm của hệ mã hóa khóa bất đối xứng
 Ƣu điểm:
- Thuật toán đƣợc viết một lần, công khai cho nhiều lần dùng, cho nhiều
ngƣời dùng và chỉ cần giữ bí mật khóa riêng của mình.
- Khi biết các tham số ban đầu của hệ mã hóa, việc tính ra cặp khóa công
khai và bí mật là “dễ” tức là trong thời gian đa thức. Ngƣời gửi có bản rõ
P và khóa công khai thì “ dễ ” tạo ra bản mã C. Ngƣời nhận có bản mã C
và khá bí mật thì “ dễ ” giải đƣợc thành bản rõ P.
- Ngƣời mã hóa dùng khóa công khai, ngƣời giải mã giữ khóa bí mật. Khả
năng lộ khóa bí mật khó hơn vì chỉ có một ngƣời giữ gìn. Nếu thám mã
biết khóa công khai và cố gắng tìm khóa bí mật thì chúng sẽ phải đƣơng
đầu với bài toán “khó”.
- Nếu thám mã biết khóa công khai và bản mã C, thì việc tìm ra bản rõ P
cũng là bài toán “khó”, số phép thử là vô cùng lớn, không khả thi.
 Nhƣợc điểm
Hệ mã hóa khóa công khai mã hóa và giải mã chậm hơn hệ mã hóa khóa
bí mật
1.2.3.3. Hệ mã hóa RSA
Hệ mã hóa RSA đƣợc đặt tên dựa theo các chữ cái đầu của 3 tác giả của

hệ mã là Rivest, Shamir và Adleman. Đây là thuật toán mã hóa nổi tiếng nhất và
cũng là thuật toán đƣợc ứng dụng thực tế nhất.
 Sơ đồ hệ mã hóa RSA:
- Tạo cặp khóa (bí mật, công khai)(a,b):
-16-

Học viên: Nguyễn Thị Huyền - K16HTTT

+ Chọn bí mật số nguyên tố lớn p,q.
+ Tính n=p*q, công khai n, đặt P=C=Z
n
.
+ Tính Ф(n) = (p-1)*(q-1), giữ bí mật Ф(n).
+ Chọn khóa công khai b<Ф(n), nguyên tố với Ф(n).
+ Tính khóa bí mật a là phần tử nghịch đảo của b theo mod Ф(n): a*b≡1(mod
Ф(n)).
+ Tập cặp khóa (bí mật, công khai) K={(a,b)/a,bϵZ
n
, a*b≡1(mod Ф(n))}.
Với Bản rõ x ϵ P và bản mã y ϵ C, định nghĩa:
- Hàm mã hóa: y=e
k
(x)

=x
b
mod n
- Hàm giải mã: x=d
k
(y)= y

a
mod n.
 Độ an toàn:
- Hệ mã hóa RSA là tất định, tức là với một bản rõ x và một khóa bí mật a, thì
chỉ có một bản mã y.
- Hệ mật RSA an toàn, khi giữ đƣợc bí mật khóa giải mã a, p, q, Ф(n).
Nếu biết đƣợc p và q thì thám mã dễ dàng tính đƣợc Ф(n)=(q-1)*(p-1).
Nếu biết đƣợc Ф(n), thì thám mã sẽ tính đƣợc a theo thuật toán Euclide mở rộng.
Nhƣng phân tích n thành tích của p và q là bài toán “Khó”.
Độ an toàn của hệ mật RSA dựa vào khả năng giải bài toán phân tích số nguyên
dƣơng n thành tích của 2 số nguyên tố lớn p và q.
1.3. Chữ ký số
1.3.1. Tổng quan về chữ ký số
Để xác thực tài liệu giấy chẳng hạn nhƣ một bức thƣ, một hợp đồng, hay
một biên lai… ngƣời ta phải ký vào văn bản đó. Tuy nhiên đối với một tài liệu
điện tử việc sao chép rất đơn giản và không thể phân biệt đƣợc đâu là bản gốc
đâu là bản sao mà lại không thể ký tay lên các tài liệu này đƣợc. Vì vậy để xác
thực cho các tài liệu điện tử ngƣời ta phải sử dụng chữ ký số. Chữ ký số là công
cụ dùng để chứng thực một “tài liệu số”. Việc “ký số” đƣợc thực hiện trên từng
bit của tài liệu và thông qua sơ đồ chữ ký số. Việc tạo chữ ký số là dựa trên cơ
sở mật mã học. Thực chất của việc ký số chính là mã hóa. Điểm khác nhau giữa
mã hóa (khóa công khai) và ký số đó là:
- Đối với mã hóa:
+ Ngƣời gửi sử dụng khóa công khai của ngƣời nhận để mã hóa.
+ Ngƣời nhận sử dụng khóa bí mật của mình để giải mã.
Mọi ngƣời đều có thể mã hóa nhƣng chỉ ngƣời có khóa bí mật mới giải mã đƣợc.
-17-

Học viên: Nguyễn Thị Huyền - K16HTTT


- Đối với ký số:
+ Ngƣời gửi dùng khóa bí mật của mình để tạo chữ ký (mã hóa)
+ Ngƣời nhận dùng khóa công khai của ngƣời gửi để xác thực chữ ký
(giải mã).
Chỉ ngƣời có khóa bí mật mới tạo đƣợc chữ ký, bất cứ ngƣời nhận nào cũng có
thể xác thực đƣợc chữ ký.
 Yêu cầu đối với chữ ký số
Để thực hiện vai trò tƣơng tự nhƣ chữ ký tay chữ ký số cần đảm bảo các yêu cầu
sau:
- Chữ ký số phải là một mẫu bit phụ thuộc vào thông điệp ký.
- Chữ ký số phải là duy nhất để tránh việc giả mạo cũng nhƣ chối bỏ.
- Việc tạo ra chữ ký số phải tƣơng đối dễ.
- Việc xác thực chữ ký số phải tƣơng đối dễ.
- Việc tính toán để xây dựng lại một thông điệp từ một chữ ký số đã tồn tại
hoặc để tìm ra một chữ ký giả mạo từ một thông điệp là không khả thi.
- Phải lƣu trữ một bản sao chữ ký số[3]-[4].
1.3.2. Sơ đồ chữ ký số
Sơ đồ chữ ký số là bộ năm (P, A, K, S, V) trong đó:
P : tập hữu hạn các văn bản có thể.
A : tập hữu hạn các chữ ký có thể.
K : tập hữu hạn các khóa có thể.
S : tập các thuật toán ký.
V : tập các thuật toán kiểm thử.
Với mỗi khóa k ϵ K, có thuật toán ký Sig
k
ϵ S, Sig
k
: PA, có thuật toán
kiểm tra chữ ký Ver
k

ϵ B, Ver
k
: P x A  {đúng, sai}, thoản mãn điều kiện sau
với mọi x ϵ P, y ϵ A:

[4] Vì việc “ký số” đƣợc thực hiện trên từng bit của tài liệu nên độ dài của “chữ
ký số” ít nhất cũng bằng độ dài của tài liệu. Do đó để rút ngắn thời gian ký
ngƣời ta thay việc ký trên tài liệu bằng việc ký trên đại diện của tài liệu. Đại
diện này đƣợc tạo ra bởi hàm băm (sẽ đƣợc trình bày ở phần sau).
-18-

Học viên: Nguyễn Thị Huyền - K16HTTT

1.3.3. Phân loại chữ ký số
Có nhiều loại chữ ký số khác nhau, tùy theo các tiêu chí khác nhau ngƣời ta chia
chữ ký số thành các loại khác nhau:
- Cách 1: Phân loại theo đặc trƣng kiểm tra chữ ký:
 Chữ ký khôi phục thông điệp: Là loại chữ ký mà ngƣời gửi chỉ cần gửi
“chữ ký” và ngƣời nhận có thể khôi phục lại đƣợc thông điệp từ “chữ ký”
này. Ví dụ chữ ký RSA.
 Chữ ký đi kèm thông điệp: Là loại chữ ký mà ngƣời gửi cần gửi cả “chữ
ký” và thông điệp đã đƣợc ký. Ngƣời nhận không thể khôi phục lại đƣợc
thông điệp gốc từ chữ ký. Ví dụ chữ ký Elgamal.
- Cách 2: Phân loại chữ ký theo mức độ an toàn:
 Chữ ký “ không thể phủ nhận ”
 Chữ ký “một lần”
- Cách 3: Phân loại chữ ký theo ứng dụng đặc trƣng:
 Chữ ký “mù”
 Chữ ký “ nhóm ”
 Chữ ký “bội”

 Chữ ký “mù nhóm”
 Chữ ký “ mù bội”
1.3.4. Tính chất của chữ ký số
Sử dụng chữ ký số trong giao dịch điện tử có thể đảm bảo đƣợc các tính chất
sau:
- Tính toàn vẹn:
Nếu trong quá trình truyền tin xảy ra bất cứ sự cố nào ví dụ nhƣ do lỗi
đƣờng truyền hay có kẻ tấn công cố tình phá hoại làm thay đổi thông tin chẳng
hạn nhƣ: Sửa đổi thông tin, cắt bớt hay xóa bỏ thông tin. Bất kỳ một thay đổi
nào đều dẫn đến kết quả xác thực là sai. Khi đó bên nhận sẽ biết dữ liệu đã bị sai
sót. Chỉ khi không xảy ra sự cố gì (dữ liệu là toàn vẹn) thì mới cho kết quả xác
thực là đúng. Nhƣ vậy thông tin trong giao dịch là toàn vẹn.
- Tính bí mật:
Chữ ký số dựa trên hệ mã hóa khóa công khai. Về bản chất ký số chính là
mã hóa và xác nhận chữ ký chính là giải mã. Sử dụng khóa bí mật để làm khóa
ký và khóa công khai để làm khóa xác nhận chữ ký. Do đó chữ ký số đảm bảo
tính bí mật.
-19-

Học viên: Nguyễn Thị Huyền - K16HTTT

- Tính xác thực:
Khi thực hiện giao dịch bên gửi phải dùng hàm băm để tạo đại diện cho
thông điệp. Tiếp theo dùng khóa bí mật để ký lên đại diện D của thông để tạo ra
chữ ký số R. Sau đó bên gửi chuyển cho bên nhận cả thông điệp và chữ ký số
qua mạng Internet. Khi bên nhận nhận đƣợc thông tin sẽ xác thực thông tin bằng
cách: Dùng hàm băm tạo đại diện cho thông điệp nhận đƣợc D
1
và dùng khóa
công khai của bên gửi để giải mã chữ ký số thu đƣợc bản rõ D

2
. Sau đó tiến
hành so sánh D
1
và D
2
. Vì toán học đã chứng minh với một khóa bí mật chỉ tồn
tại duy nhất một khóa công khai thỏa mãn thuật toán ký và thuật toán kiểm tra
chữ ký. Nhƣ vậy nếu kết quả kiểm tra thu đƣợc D
1
≡ D
2
thì kết luận chữ ký số
đúng là của bên gửi. Ngƣợc lại nếu kết quả kiểm tra thu đƣợc D
1
≠ D
2
thì kết
luận chữ ký số không phải của bên gửi.
- Tính không thể phủ nhận:
Bởi vì cặp khóa bí mật, khóa công khai là duy nhất. Mà khóa bí mật chỉ
có ngƣời chủ sở hữu cặp khóa đó biết. Nên khi tham gia vào giao dịch bên gửi
không thể phủ nhận chữ ký số của mình.
1.3.5. Chữ ký RSA
 Sơ đồ
- Tạo cặp khóa (bí mật, công khai) (a,b):
Chọn bí mật số nguyên tố lớn p, q, tính n=p*q, công khai n, đặt P=C= Z
n
. Tính
bí mật Ф(n) = (p-1)*(q-1). Chọn khóa công khai b < Ф(n), nguyên tố với Ф(n).

Khóa bí mật a là phần tử nghịch đảo của b theo mod Ф(n): a*b ≡ 1 ( mod Ф(n) ).
Tập cặp khóa (bí mật, công khai) K = { (a, b) / a, b ϵ Z
n
, a*b ≡ 1 ( mod Ф(n))}.
- Ký số: Chữ ký trên x ϵ P là y=Sig
x
(x) = x
a

(mod n), y ϵ A
- Kiểm tra chữ ký: Ver
y
(x,y) = đúng ↔ x ≡ y
b

( mod n)[1]
1.4. Hàm băm
1.4.1. Khái niệm hàm băm
Nhƣ đã biết ký số đƣợc thực hiện trên từng bit của tài liệu. Do vậy kích
thƣớc của chữ ký số sẽ nhỏ nhất là bằng kích thƣớc của thông điệp.Vì thế nên
với các thông điệp lớn thì sẽ tạo ra chữ ký rất lớn. Hơn nữa hầu hết các hệ chữ
ký đều rất chậm nên việc ký sẽ rất lâu. Để giảm bớt đƣợc độ lớn của chữ ký và
thời gian ký cần phải biến thông điệp từ lớn thành nhỏ, sau đó mới thực hiện ký.
Các nhà nghiên cứu đã tìm ra một giải pháp hữu hiệu để giải quyết vấn đề này.
Đó là hàm băm. Vậy hàm băm là gì?
-20-

Học viên: Nguyễn Thị Huyền - K16HTTT

Hàm băm H là một thuật toán lấy thông tin đầu vào là một thông điệp

có kích thước biến thiên và sinh ra một kết quả là một chuỗi có độ dài cố
định. Kết quả đó gọi là đại diện của thông điệp.[1]-[4]
Ví dụ:
Khi A muốn gửi một bức thông điệp x (có độ dài bất kỳ) cho B. Trƣớc tiên A
dùng hàm băm để tạo đại diện z cho x: z=h(x) và sau đó ký lên đại diện z thu
đƣợc chữ ký y: y=sig
k
(z). Sau đó A gửi cặp thông tin và chữ ký (x,y) cho B. Khi
nhận đƣợc cặp thông tin B sẽ thực hiện việc xác thực bằng cách : Tính lại đại
diện cho thông điệp z=h(x). Sau đó kiểm tra ver
k
(z,y) xem có bằng TRUE hay
không. Nếu bằng TRUE thì kết luận đúng, ngƣợc lại nếu bằng FALSE thì kết
luận là sai.

Hình 1.3. Sơ đồ chữ ký sử dụng hàm băm
1.4.2. Đặc tính của hàm băm
 Hàm băm h là hàm một chiều với các đặc tính sau:
- Với thông điệp đầu vào x chỉ thu đƣợc giá trị băm duy nhất z=h(x).
- Nếu dữ liệu trong thông điệp x bị thay đổi hay bị xóa để thành bản tin x

,
thì giá trị băm h(x

) ≠ h(x). Khi có bất kỳ một sự thay đổi nhỏ dù chỉ là một bit
dữ liệu của thông điệp gốc thì giá trị băm của nó cũng thay đổi. Điều này có
nghĩa là: hai thông điệp khác nhau thì giá trị băm của chúng cũng khác nhau.
- Từ đại diện “khó” thể suy ra đƣợc nội dung thông điệp gốc. Tức là từ
thông điệp gốc x “dễ” tính đƣợc đại diện z=h(x) nhƣng lại “khó” tính ngƣợc lại
đƣợc x từ z.

-21-

Học viên: Nguyễn Thị Huyền - K16HTTT

 Hàm băm phải là hàm không va chạm mạnh tức là: không có thuật toán
tính đƣợc trong thời gian đa thức giải bài toán: Tìm x và x

sao cho x ≠ x


h(x

) ≠ h(x). Nói cách khác việc tìm hai thông điệp giống nhau có cùng đại diện
là cực kỳ khó[1].
Trong chƣơng I em đã trình bày các vấn đề tổng quan về giao dịch điện
tử, bài toán giao dịch điện tử trong lĩnh vực tài chính ngân hàng, chữ ký số và
các vấn đề liên quan tới chữ ký số. Mật mã học là cơ sở để tạo ra các sơ đồ chữ
ký số. Hàm băm là một công cụ để tạo đại diện giúp giảm bớt kích thƣớc của
thông điệp ký. Từ đó, giúp cho việc ký nhanh chóng hơn. Nhƣ vậy qua chƣơng
này chúng ta có thể hiểu đƣợc vai trò của chữ ký số cũng nhƣ quy trình tạo và
xác thực chữ ký số.

-22-

Học viên: Nguyễn Thị Huyền - K16HTTT

CHƢƠNG 2: CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI
2.1. Khái niệm hạ tầng khóa công khai - PKI
Mọi phƣơng thức truyền thông đều dựa trên cơ sở vật lý hoặc điện tử.
Trong truyền thông vật lý tƣơng đối dễ để xây dựng một cơ sở tin cậy vì có thể

phân biệt đƣợc mọi ngƣời thông qua khuôn mặt, chữ ký, chứng minh thƣ… Tuy
nhiên trong truyền thông điện tử việc xây dựng một cơ sở tin cậy để xác minh
những thực thể không xác định khá là khó khăn. Truyền thông và giao dịch điện
tử cần xây dựng để đảm bảo đƣợc độ tin cậy, xác thực và bảo mật. Hạ tầng khóa
công khai đƣợc ra đời để giải quyết các vấn đề trên.
PKI bao gồm các chính sách bảo mật, các cơ chế mật mã và các ứng dụng
để tạo, lƣu trữ và quản lý các khóa. PKI cũng cung cấp các thủ tục để tạo, phân
phối và sử dụng các khóa và chứng thƣ số. Các hàm bảo mật cơ bản trong mật
mã để đáp ứng tính bí mật, tính toàn vẹn và tính chống chối bỏ. Cơ sơ hạ tầng
khóa công khai cần phải có các điều kiện sau:
- Có các chính sách quy định cụ thể việc điều hành các hệ thống mật mã.
- Có cơ chế quản lý, tạo và lƣu trữ cặp khóa.
- Hƣớng dẫn quản lý, lƣu trữ phân phối về tạo cặp khóa và chứng thƣ số.
Nhƣ vậy hạ tầng khóa công khai là một tập hợp bao gồm phần cứng, phần mềm,
các chính sách và các hàm để quản lý, tạo, lƣu trữ và phân phối các khóa và các
chứng thƣ số [2].
2.2. Các thành phần của PKI
Hạ tầng khóa công khai bao gồm các thành phần:
- Tổ chức chứng thực - CA (Certification Authority).
- Tổ chức đăng ký – RA (Registration Authority).
- Khách hàng của PKI (PKI Clients)
- Chứng thƣ số (Digital Certificates)
- Hệ thống phân phối chứng thƣ hoặc ngƣời đƣợc ủy thác (Certificate
Distribution System or repository)[2].
2.2.1. Tổ chức chứng thực CA
Tổ chức chứng thực là bên thứ ba tin cậy trong giao dịch điện tử. Nó thực
hiện việc xác thực các thực thể trong giao dịch điện tử. Việc xác thực đƣợc thực
hiện thông qua chứng thƣ số. Chứng thƣ số là một tài liệu số thiết lập các thông
tin của các đối tƣợng tham gia trong một giao dịch. Chứng thƣ số bao gồm các
thông tin về: tên của ngƣời đăng ký dịch vụ, cặp khóa bí mật – công khai của

-23-

Học viên: Nguyễn Thị Huyền - K16HTTT

ngƣời đó, khóa công khai của tổ chức cấp CA. Các thông tin này phụ thuộc vào
chính sách của các công ty phát hành chứng thƣ số theo quy định của pháp luật.
Trƣớc khi cấp chứng thƣ số, các thông tin CA yêu cầu khách hàng cung cấp phải
đƣợc tổ chức đăng ký (RA) kiểm tra tính chính xác. Nếu kết quả kiểm tra là hợp
lệ thì CA sẽ tiến hành làm các thủ tục cấp chứng thƣ số cho khách hàng[2].
2.2.2. Tổ chức đăng ký RA
RA chịu trách nhiệm về tƣơng tác giữa khách hàng và CA. Vì số lƣợng
chứng thƣ số yêu cầu đƣợc cấp là tƣơng đối lớn nên CA không thể đảm nhiệm
hết các nhiệm vụ xác thực thông tin khách hàng cung cấp và cấp chứng thƣ số.
RA đóng vai trò nhƣ một thực thể trung gian giữa khách hàng và CA. RA thực
hiện các nhiệm vụ sau:
- Nhận yêu cầu của khách hàng và xác thực chúng.
- Kiểm tra tính hợp lệ của thông tin do ngƣời sử dụng cung cấp.
- Nhận chứng thƣ đã tạo lập từ CA.
- Gửi chứng thƣ tới đúng khách hàng yêu cầu.
Để nâng cao hiệu quả công việc có thể mở rộng RA. Chẳng hạn nhƣ tạo lập các
tổ chức RA khác nhau chịu trách nhiệm trong các khu vực, vùng, miền khác
nhau để giảm bớt công việc cho từng tổ chức để nâng cao khả năng làm việc[2].
2.2.3. Khách hàng PKI
Khách hàng PKI là những tổ chức, cá nhân yêu cầu CA hay RA cấp
chứng thƣ số. Để nhận đƣợc chứng thƣ số khách hàng cần thực hiện các công
việc sau:
- Gửi yêu cầu tạo cặp khóa bí mật/công khai tới một tổ chức CA, hoặc
khách hàng tự tạo cặp khóa.
- Sau khi cặp khóa bí mật/công khai đƣợc tạo ra, khách hàng yêu cầu một
tổ chức CA cấp chứng thƣ số. Khách hàng cũng có thể gửi yêu cầu này qua một

tổ chức RA.
- Sau đó khách hàng nhận đƣợc chứng thƣ từ CA hoặc RA. Chứng thƣ
này định danh cho khách hàng sử dụng chứng thƣ và tổ chức cấp chứng thƣ.
- Tất cả các thông tin liên lạc giữa khách hàng và CA phải đƣợc giữ bí
mật và khách hàng phải đảm bảo giữ an toàn khóa bí mật của mình. Bởi vì nếu
nhƣ khóa bí mật bị mất thì thông điệp bị mã hóa bởi khóa công khai sẽ không
thể giải mã đƣợc. Ngoài ra nếu nhƣ khóa bí mật bị lộ thì bất cứ ai khi có đƣợc
khóa bí mật đều có thể giải mã đƣợc thông điệp đã đƣợc mã hóa. Vì vậy các

×