ĐẠ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
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
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
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
-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
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!
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)).
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
: CP,
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.
+ 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ì:
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
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
ϵ 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”
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).
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.
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
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