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

Hạ tầng khóa công khai, xây dựng cổng truyền thông thanh toán song phương ứng dụng chữ ký số

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

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THƠNG

ĐÀO QUANG HUYNH

HẠ TẦNG KHĨA CƠNG KHAI,
XÂY DỰNG CỔNG TRUYỀN THƠNG THANH TỐN
SONG PHƢƠNG ỨNG DỤNG CHỮ KÝ SỐ

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên, 2012


ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THƠNG

ĐÀO QUANG HUYNH

HẠ TẦNG KHĨA CƠNG KHAI,
XÂY DỰNG CỔNG TRUYỀN THƠNG THANH TỐN
SONG PHƢƠNG ỨNG DỤNG CHỮ KÝ SỐ
Chun ngành: Khoa học máy tính
Mã số: 60 48 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƢỜI HƢỚNG DẪN KHOA HỌC
TSKH. NGUYỄN MINH HẢI


Thái Nguyên, 2012


1

LỜI CAM ĐOAN
Tôi xin cam đoan Những nội dung trong luận văn “HẠ TẦNG KHĨA
CƠNG KHAI, XÂY DỰNG CỔNG TRUYỀN THƠNG THANH TỐN
SONG PHƢƠNG ỨNG DỤNG CHỮ KÝ SỐ” là do tôi thực hiện dƣới sự
hƣớng dẫn trực tiếp của Thầy TSKH. Nguyễn Minh Hải.
Mọi tham khảo dùng trong luận văn đều đƣợc trích dẫn rõ ràng tên tác giả,
tên cơng trình, thời gian, địa điểm cơng bố.
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi xin
chịu trách nhiệm hồn tồn.

Thái Ngun, tháng 10 năm 2012
Đào Quang Huynh

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




2

LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành nhất tới TSKH. Nguyễn Minh Hải, Thầy
đã cho tôi những định hƣớng, tận tình chỉ bảo giúp đỡ tơi những ý kiến rất
q báu để tơi hồn thành luận văn tốt nghiệp này.
Tôi xin cảm ơn Trƣờng Đại Học Công Nghệ Thông tin và Truyền thông Đại Học Thái Nguyên đã hết sức tạo điều kiện cho tôi trong quá trình học,

làm và hồn thành khóa luận này.
Xin chân thành cảm ơn quý Thầy Cô trong khoa Sau đại học Trƣờng Đại
học Công nghệ Thông tin và Truyền thông – ĐH Thái Nguyên đã nhiệt tình
giảng dạy, trang bị cho tôi những kiến thức quý báu trong suốt thời gian
học tập tại trƣờng.
Tơi xin tỏ lịng biết ơn sâu sắc tới các thầy cơ, bạn bè đã dìu dắt, giúp đỡ
tơi tiến bộ trong suốt q trình làm khóa luận tốt nghiệp.
Xin gửi lời cảm ơn tới gia đình, những ngƣời bạn của tôi đã động viên,
giúp đỡ tôi trong suốt q trình học tập và hồn thành luận văn.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




3

MỤC LỤC
LỜI NÓI ĐẦU ............................................................................................................ 6
I. NỘI DUNG NGHIÊN CỨU CỦA ĐỀ TÀI ............................................................ 7
1. Đối tƣợng và phạm vi nghiên cứu ........................................................................... 7
2. Hƣớng nghiên cứu của đề tài .................................................................................. 7
3. Phƣơng pháp nghiên cứu......................................................................................... 7
4. Ý nghĩa khoa học của đề tài .................................................................................... 7
II. BỐ CỤC CỦA LUẬN VĂN .................................................................................. 8
CHƢƠNG 1 TỔNG QUAN VỀ KHĨA CƠNG KHAI VÀ CHỮ KÝ SỐ ................ 9
1.1. Mật mã học khoá cơng khai .........................................................................................9
1.1.1. Mật mã học ...........................................................................................................9
1.1.1.1. Khóa đối xứng .............................................................................................10
1.1.1.2. Khóa cơng khai ............................................................................................11

1.1.1.3. Mục đích ......................................................................................................11
1.1.2. Ứng dụng ............................................................................................................13
1.2. Thuật toán và độ phức tạp thuật toán .........................................................................14
1.2.1. Thuật toán ...........................................................................................................14
1.2.2. Độ phức tạp thuật toán ........................................................................................14
1.2.3. Phân tích thuật tốn.............................................................................................15
1.2.3.1. Tính hiệu quả của thuật tốn ........................................................................15
1.2.3.2. Đánh giá thời gian thực hiện thuật toán .......................................................15
1.3. Hàm băm mật mã học ................................................................................................16
1.3.1. Hàm băm .............................................................................................................16
1.3.2. Hàm băm mật mã học .........................................................................................16
1.3.3. Tính tồn vẹn dữ liệu ..........................................................................................16
1.3.4. Một số hàm băm thơng dụng ..............................................................................17
1.3.4.1. Thuật tốn hàm băm MD5 ...........................................................................17
1.3.4.2. Chuẩn băm an toàn SHS ..............................................................................19

CHƢƠNG 2 HẠ TẦNG KHĨA CƠNG KHAI VÀ CÁC THÀNH PHẦN............. 20
2.1. Hạ tầng khóa cơng khai .............................................................................................20
2.1.1. Hạ tầng khóa cơng khai là gì và một số khái niệm .............................................20
2.1.1.1. Cấu trúc phân tầng của hệ thống khóa cơng khai ........................................21
2.1.1.2. Mơ hình xác thực khóa cơng khai ................................................................22
2.1.1.3. Khái niệm X.509 và PKCS ..........................................................................23
2.1.2. Một vài kiến trúc và công nghệ PKI hiện hành ..................................................25
2.1.2.1. Một số ứng dụng ..........................................................................................25
2.1.2.2. Một số hệ thống PKI ....................................................................................25
2.2. Chữ ký số, thuật toán tạo và kiểm tra chữ ký số ........................................................26
2.2.1. Thuật toán chữ ký số RSA ..................................................................................26
2.2.2. Thuật toán chữ ký số DSA ..................................................................................29
2.3. Cấp phát và xác thực chứng thực số ..........................................................................32
2.3.1. Chứng thực số .....................................................................................................32

2.3.2. Cấp phát chứng thực số.......................................................................................33
2.3.3. Thu hồi và cấp phát lại chứng thực số ................................................................34
2.3.4. Xác thực chứng thực số ......................................................................................34
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




4
CHƢƠNG 3 XÂY DỰNG CỔNG TRUYỀN THƠNG THANH TỐN SONG
PHƢƠNG VÀ ỨNG DỤNG CHỮ KÝ SỐ .............................................................. 36
3.1. Tổng quan hệ thống ...................................................................................................36
3.1.1. Quy định chung ...................................................................................................36
3.1.1.1. Nội dung thanh tốn .....................................................................................36
3.1.1.2. Phƣơng thức thanh tốn lãi, phí trong TTĐTSP ..........................................38
3.1.1.3. Thời gian làm việc của hệ thống TTĐTSP ..................................................38
3.1.2. Quy trình nghiệp vụ ............................................................................................40
3.1.2.1. Tài khoản hạch tốn .....................................................................................40
3.1.2.2. Quy trình xử lý điện .....................................................................................40
3.1.2.3. Sai lầm, sự cố và xử lý .................................................................................41
3.1.3. Quyết toán và đối chiếu ......................................................................................42
3.1.3.1. Quyết toán vốn .............................................................................................42
3.1.3.2. Đối chiếu ......................................................................................................43
3.2. Đặc tả kỹ thuật kế nối ................................................................................................44
3.2.1. Mơ hình kỹ thuật kết nối .....................................................................................45
3.2.1.1. Yêu cầu chung .............................................................................................45
3.2.1.2. Mô hinh kỹ thuật kết nối sử dụng IBM Message Queue .............................46
3.2.1.3. Mô hinh kỹ thuật kết nối sử dụng Webservice ............................................47
3.2.2. Đặc tả message....................................................................................................48
3.2.3. Cấu trúc message ................................................................................................49

3.2.3.1. Cấu trúc message Header .............................................................................50
3.2.3.2. Yêu cầu đối với Header ...............................................................................51
3.2.3.3. Cấu trúc của message body ..........................................................................53
3.3. Một số lệnh thanh toán...............................................................................................53
3.3.1. Lệnh thanh toán MT103 .....................................................................................53
3.3.1.1. Quy trình xử lý .............................................................................................53
3.3.1.2. Luồng message ............................................................................................54
3.3.1.3. Mơ tả chi tiết ................................................................................................54
3.3.2. Điện tra soát MT195 ...........................................................................................62
3.3.2.1. Quy trình xử lý .............................................................................................62
3.3.2.2. Luồng message ............................................................................................62
3.3.2.3. Mơ tả chi tiết ................................................................................................63
3.3.3. Điện tra sốt MT196 ...........................................................................................65
3.3.3.1. Quy trình xử lý .............................................................................................65
3.3.3.2. Luồng message ............................................................................................66
3.3.3.3. Mô tả chi tiết ................................................................................................66
3.4. Cài đặt chữ ký số và xác thực chữ ký số ....................................................................68
3.4.1. Cài đặt hàm ký số................................................................................................68
3.4.2. Cài đặt hàm xác thực chữ ký số ..........................................................................70
3.4.3. Một số giao diện chƣơng trình ............................................................................72
3.4.3.1 Kiểm tra Queue .............................................................................................72
3.4.3.2 Ký và Put điện thanh toán lên Queue ...........................................................73
3.4.3.3 Get điện thanh toán trên Queue về và xác thực chữ ký ................................74

KẾT LUẬN ............................................................................................................... 75
TÀI LIỆU THAM KHẢO ......................................................................................... 76

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





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

CA

Certificate Authority

COT

Cut Off Time

DSA

Digital Signature Algorithm

H

Hash function

HSM

Hardware Security Module

IBPS

Inter Bank Payment System

NH


Ngân Hàng

NHA

Ngân Hàng A

NHB

Ngân Hàng B

MD5

Message Digest 5

PKI

Public Key Infrastructure

PKCS

Public Key Cryptography Standards

RA

Registration Authority

RFC

Request For Comments


RSA

Rivest Shamir Adleman

SHA

Secure Hash Algorithm

SHS

Secure Hash Standard

TTĐTSP

Thanh Toán Điện Tử Song Phƣơng

TTSP

Thanh Tốn Song Phƣơng

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




6

LỜI NÓI ĐẦU
Trong xu hƣớng phát triển của thế giới và Việt Nam hiện nay, giao dịch

qua mạng Internet đang đem đến sự bùng nổ thông tin một cách mạnh mẽ
nhƣ việc ra đời Luật Giao dịch điện tử ngày 29 tháng 11 năm 2005 và Nghị
định Chính phủ số 26/2007/NĐ-CP 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ố. Để điều chỉnh, giải
quyết các vấn đề phát sinh trong giao dịch điện tử và đảm bảo tính pháp lý
của giao dịch điện tử.
Nhà nƣớc khuyến khích việc sử dụng chữ ký số và dịch vụ chứng thực chữ
ký số trong các lĩnh vực kinh tế, chính trị, xã hội để thúc đẩy việc trao đổi
thông tin và các giao dịch qua mạng nhằm nâng cao năng suất lao động;
mở rộng các hoạt động thƣơng mại; hỗ trợ cải cách hành chính, tăng tiện
ích xã hội, nâng cao chất lƣợng cuộc sống của nhân dân và bảo đảm an
ninh, quốc phịng
Khơng nằm ngồi xu hƣớng đó các đơn vị Thanh toán và đặc biệt là trong
lĩnh vực Tài chính Ngân hàng các dạng chứng thực và mã hóa thơng tin sẽ
đƣợc chuyển sang nền tảng mã hóa công khai và sử dụng chữ ký số định
danh.
Nắm bắt tình hình, xu hƣớng kết hợp với với đƣợc sự định hƣớng tận tình
của TSKH. Nguyễn Minh Hải tơi đã chọn đề tài này có cơ hội tìm hiểu sâu
rộng hơn trong Hạ tầng khóa cơng khai và xây dựng cổng truyền thông ứng
dụng chữ ký số cho hệ thống Thanh toán song phƣơng. Trong ngân hàng
hiện nay thay thế các phƣơng pháp mã hóa cổ điển, giải thuật khơng cơng
khai.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




7


I. NỘI DUNG NGHIÊN CỨU CỦA ĐỀ TÀI
1. Đối tƣợng và phạm vi nghiên cứu
Tìm hiểu quy trình nghiệp vụ chuyển tiền điện tử và cấu trúc điện thanh
toán theo chuẩn SWIFT.
Nghiên cứu hạ tầng khóa cơng khai, chính sách cấp phát, chứng thực, thu
hồi kóa, dịch vụ chứng thực khóa cơng khai.
Xây dựng cổng truyển thơng nhận điện thanh toán đến, kiểm tra chữ ký và
đi ký trên điện thanh toán đi và gửi điện thanh toán đi.

2. Hƣớng nghiên cứu của đề tài
Một số điện thanh toán, yêu cầu nghiệp vụ thanh toán, điện phản hồi theo
chuẩn quốc tế - SWIFT.
Mơ hình truyền nhận dữ liệu hƣớng dịch vụ SOA, message queue, chứng
thực khóa cơng khai.
Xây dựng cổng thanh toán song phƣơng trong Ngân hàng cho các điện đi
và kiểm tra chữ ký số cho điện đến ứng dụng chữ ký số.

3. Phƣơng pháp nghiên cứu
Thu thập, tìm hiểu và phân tích u cầu trong thanh tốn, mơ hình thanh
tốn điện tử liên Ngân hàng, quy định giá trị pháp lý của chữ ký số trong
giao dịch điện tử.
Tìm hiểu u cầu đảm bảo tính bảo mật trong thanh tốn, đảm bảo tính tin
cậy trong truyền thơng.
Kết hợp với các nghiên cứu ứng dụng trƣớc đây trong quá trình chuẩn hóa
dữ liệu thanh tốn đồng bộ theo chuẩn SWIFT.

4. Ý nghĩa khoa học của đề tài
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





8
Ứng dụng các tiêu chuẩn trong Thanh toán điện tử trong Ngân hàng.
An tồn, bảo mật và tính nhất qn trong thanh toán điện tử của Ngân hàng
là một trong những vấn đề cấp thiết giúp cho các thanh toán viên và giao
dịch viên vận hành hệ thống thanh toán theo một quy trình thống nhất.
Đảm bảo tính ổn định nhất quán trong truyền nhận điện đi và đến trong
thanh tốn đƣợc liên tục, an tồn, đồng bộ và tin cậy.
Định danh nhất quán trong điện thanh toán đi với khóa bí mật định danh
cho Ngân hàng gửi điện đi là duy nhất.

II. BỐ CỤC CỦA LUẬN VĂN
Luận văn đƣợc chia thành 3 chƣơng chính với nội dung nhƣ sau:
Chƣơng 1: Tổng quan về Khóa cơng khai và chữ ký số
Trình bầy tổng qt và một sơ khái niệm cơ bản về mật mã và hạ tầng khóa
cơng khai.
Chƣơng 2: Hạ tầng khóa cơng khai và các thành phần của hạ tầng khóa
cơng khai
Giới thiệu về Hạ tầng khóa cơng khai, các thành phần của hạ tầng khóa
cơng khai, chính sách cấp phất, chứng thực và thu hồi khóa, quy trình mã
hóa và xác thực chữ ký số.
Chƣơng 3: Xây dựng cổng truyền thơng trong Thanh tốn song phƣơng và
ứng dụng chữ ký số.
Giới thiệu về quy trình nghiệp vụ thanh toanh toán viên với hệ thống Thanh
toán song phƣơng và quy trình tác nghiệp trên hệ thống.
Xây dựng cổng truyền thơng cho Hệ thống Thanh tốn song phƣơng ứng
dụng chữ ký số cho các điện thanh toán với một số điện thanh tốn MT103,
MT195, MT196.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





9

CHƢƠNG 1 TỔNG QUAN VỀ KHĨA CƠNG KHAI VÀ
CHỮ KÝ SỐ
1.1. Mật mã học khố cơng khai
1.1.1. Mật mã học

Mật mã học là một lĩnh vực liên quan với các kỹ thuật ngơn ngữ và tốn
học để đảm bảo an tồn thơng tin, cụ thể là trong thơng tin liên lạc. Về
phƣơng diện lịch sử, mật mã học gắn liền với q trình mã hóa; điều này có
nghĩa là nó gắn với các cách thức để chuyển đổi thông tin từ dạng này sang
dạng khác nhƣng ở đây là từ dạng thơng thƣờng có thể nhận thức đƣợc
thành dạng khơng thể nhận thức đƣợc, làm cho thông tin trở thành dạng
khơng thể đọc đƣợc nếu nhƣ khơng có các kiến thức bí mật. Q trình mã
hóa đƣợc sử dụng chủ yếu để đảm bảo tính bí mật của các thơng tin quan
trọng, chẳng hạn trong cơng tác tình báo, qn sự hay ngoại giao cũng nhƣ
các bí mật về kinh tế, thƣơng mại. Trong những năm gần đây, lĩnh vực hoạt
động của mật mã hóa đã đƣợc mở rộng: mật mã hóa hiện đại cung cấp cơ
chế cho nhiều hoạt động hơn là chỉ duy nhất việc giữ bí mật và có một loạt
các ứng dụng nhƣ: chứng thực khóa công khai, chữ ký số, bầu cử điện
tử hay tiền điện tử. Ngồi ra, những ngƣời khơng có nhu cầu thiết yếu đặc
biệt về tính bí mật cũng sử dụng các cơng nghệ mật mã hóa, thơng thƣờng
đƣợc thiết kế và tạo lập sẵn trong các cơ sở hạ tầng của cơng nghệ tính tốn
và liên lạc viễn thơng.
Mật mã học là một lĩnh vực liên ngành, đƣợc tạo ra từ một số lĩnh vực
khác. Các dạng cổ nhất của mật mã hóa chủ yếu liên quan với các kiểu mẫu

trong ngơn ngữ. Gần đây thì tầm quan trọng đã thay đổi và mật mã hóa sử
dụng và gắn liền nhiều hơn với toán học, cụ thể là toán học rời rạc, bao
gồm các vấn đề liên quan đến lý thuyết số, lý thuyết thơng tin, độ phức tạp
tính tốn, thống kê và tổ hợp. Mật mã hóa cũng đƣợc coi là một nhánh
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




10
của cơng nghệ, nhƣng nó đƣợc coi là khơng bình thƣờng vì nó liên quan
đến các sự chống đối ngầm. Mật mã hóa là cơng cụ đƣợc sử dụng trong an
ninh máy tính và mạng.
1.1.1.1. Khóa đối xứng

Thuật tốn khóa đối xứng là những thuật toán hoặc là sử dụng cùng một
khóa cho việc mật mã hóa và giải mật mã hoặc là khóa (thứ hai) sử dụng để
giải mật mã có thể dễ dàng tính đƣợc từ khóa (thứ nhất) đã dùng để mật mã
hóa. Các thuật ngữ khác bao gồm mật mã hóa khóa cá nhân, mật mã
hóa một khóa và mật mã hóa khóa đơn.
Khóa đối xứng có thể nhóm thành mật mã khối và mật mã luồng. Mật mã
luồng mật mã hóa 1 bit tại một thời điểm, ngƣợc lại với mật mã khối là
phƣơng thức cho phép thực hiện trên một nhóm các bit ("khối") với độ dài
nào đó trong một lần. Phụ thuộc vào phƣơng thức thực hiện, mật mã khối
có thể đƣợc thực hiện nhƣ là mật mã luồng tự đồng bộ (chế độ CFB).
Tƣơng tự, mật mã luồng có thể làm để nó hoạt động trên các khối riêng rẽ
của văn bản thƣờng tại một thời điểm. Vì thế, ở đây tồn tại sự đối ngẫu
giữa hai cách thức này. Các mật mã khối nhƣ DES, IDEA và AES, và mật
mã luồng nhƣ RC4, là những loại mật mã khóa đối xứng nổi tiếng nhất.
Các nền tảng mật mã học khác đôi khi cũng đƣợc phân loại nhƣ là mật mã

học khóa đối xứng:
 Các hàm băm mật mã sản sinh ra sự băm thơng điệp. Trong khi nó
có thể rất dễ tính tốn nhƣng nó lại rất khó để đảo ngƣợc (hàm một
chiều), cho dù các thuộc tính khác thơng thƣờng cũng là cần
thiết. MD5 và SHA-1 là các hàm băm nổi tiếng nhất.
 Các MAC (mã xác thực thông điệp), cũng đƣợc biết đến nhƣ là hàm
băm có khóa, là tƣơng tự nhƣ các hàm băm, ngoại trừ việc cần có
khóa để tính tốn việc băm. Nhƣ tên gọi của nó, chúng đƣợc sử dụng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




11
rộng rãi để xác thực thông điệp. Chúng thông thƣờng đƣợc xây dựng
từ các nền tảng khác, chẳng hạn từ mật mã khối, hàm băm khơng
khóa hay mật mã luồng.
1.1.1.2. Khóa cơng khai

Là một chun ngành của mật mã học cho phép ngƣời sử dụng trao đổi các
thông tin mật mà khơng cần phải trao đổi các khóa chung bí mật trƣớc đó.
Điều này đƣợc thực hiện bằng cách sử dụng một cặp khóa có quan hệ tốn
học với nhau là khóa cơng khai và khóa cá nhân (hay khóa bí mật).
Trong mật mã học khóa cơng khai, khóa cá nhân phải đƣợc giữ bí mật
trong khi khóa cơng khai đƣợc phổ biến cơng khai. Trong 2 khóa, một dùng
để mã hóa và khóa cịn lại dùng để giải mã. Điều quan trọng đối với hệ
thống là khơng thể tìm ra khóa bí mật nếu chỉ biết khóa cơng khai.
1.1.1.3. Mục đích
Tổ chức cấp khóa
Chứng thƣ số

Số ngẫu nhiên lớn

Khóa bí mật

Chức năng sinh khóa

Khóa cơng khai

Sơ đồ cấp phát khóa riêng khóa và khóa cơng khai
 Việc cấp phát khố cơng khai và khố bí mật thơng qua thuật toán
RSA (phổ biến). Thuật toán RSA tạo ra cặp khoá bằng các phƣơng
thức toán học từ 2 số nguyên tố bất kỳ đủ lớn.
Mã hố:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




12

Đào Quang Huynh

Mã hóa

be2093ed380d5bd26f
701a40a79f6142933c
21a9487a857a7d1fc4
bd568c816f

Đào Quang Huynh


Giải mã

Mã hóa thơng tin
 Huynh mã hóa thơng tin gửi cho Howard bằng khóa công khai của
Howard. Howard nhận đƣợc thông điệp từ Huynh kiểm tra thơng
điệp và giải mã bằng khóa bí mật của Howard.
Mã hóa và ký số:

Mã hóa + Ký
Khóa cơng khai
Howard - Mã

Đào Quang Huynh

Đào Quang Huynh

be2093ed380d5bd26f
701a40a79f6142933c
21a9487a857a7d1fc4
bd568c816f

Khóa bí mật
Huynh - Ký

Kiểm tra + Giải mã

Khóa cơng khai
Huynh - Kiểm tra ký


Khóa bí mật
Howard - Giải mã

Mã hóa ký số
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




13
 S = H(m)^d mod n (Tạo chữ kí số)
 Cho phép kiểm tra một văn bản có phải đã đƣợc tạo với một khóa bí
mật nào đó hay khơng.
 Tạo chữ kí số bằng khóa bí mật của Huynh.
 Và ký vào tin nhắn Huynh gửi cho Howard.
 Howard kiểm tra chữ ký số bằng khóa cơng khai của Huynh.
 S^e mod n = H(m) với H(m) là giá trị sau khi băm thông điệp
Huynh gửi cho Howard. Chữ ký số đúng đắn đồng nghĩa với việc các
thông tin Huynh gửi Howard là đúng đắn.
1.1.2. Ứng dụng

Ứng dụng rõ ràng nhất của mật mã hóa khóa cơng khai là trong lĩnh vực
bảo mật, an tồn thơng tin:
 Một văn bản đƣợc mã hóa bằng khóa cơng khai của một ngƣời sử
dụng thì chỉ có thể giải mã với khóa bí mật của ngƣời đó.
 Các thuật tốn tạo chữ ký số khóa cơng khai cho phép định danh một
tin nhắn hay 1 tài liệu.
 Một ngƣời sử dụng có thể mã hóa văn bản với khóa bí mật của mình.
Nếu một ngƣời khác có thể kiểm tra với khóa cơng khai của ngƣời
gửi thì có thể tin rằng văn bản thực sự xuất phát từ ngƣời gắn với

khóa cơng khai đó.
 Các đặc điểm trên cịn có ích cho nhiều ứng dụng khác nhƣ: giao
dịch tài chính, tiền điện tử, thƣơng mại điện tử, chính phủ điện tử.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




14
1.2. Thuật toán và độ phức tạp thuật toán
1.2.1. Thuật tốn

Thuật tốn đƣợc hiểu là sự đặc tả chính xác của một dãy các bƣớc có thể
đƣợc thực hiện một cách máy móc để giải quyết một vấn đề. Cần nhấn
mạnh rằng, mỗi thuật tốn có một dữ liệu vào (Input) và dữ liệu ra (Output)
khi thực hiện thuật toán (thực hiện các bƣớc đã mơ tả), thuật tốn cần cho
ra các kiểu dữ liệu ra tƣơng ứng với các dữ liệu vào.
1.2.2. Độ phức tạp thuật toán

Độ phức tạp khơng phải là độ đo chính xác lƣợng tài ngun máy cần
dùng, mà đặc trƣng cho động thái của hệ thống khi kích thƣớc đầu vào tăng
lên. Chẳng hạn với thuật tốn có độ phức tạp tuyến tính

(xem phần

dƣới), nếu kích thƣớc đầu vào tăng gấp đơi thì có thể ƣớc tính rằng tài
nguyên cần dùng cũng tăng khoảng gấp đơi. Nhƣng với thuật tốn có độ
phức tạp bình phƣơng


thì tài nguyên sẽ tăng gấp bốn. Mặt khác, với

thuật toán có độ phức tạp hàm mũ

thì chỉ cần cơng thêm 2 đơn vị

vào độ lớn đầu vào cũng đã làm tài nguyên tăng gấp 4 lần (tức là theo cấp
số nhân) rồi.
Các độ phức tạp thƣờng gặp đối với các thuật tốn thơng thƣờng gồm có:
 Độ phức tạp hằng số

số phép tính/thời gian chạy/dung lƣợng

bộ nhớ khơng phụ thuộc vào độ lớn đầu vào. Chẳng hạn nhƣ các thao
tác hệ thống: đóng, mở file.
 Độ phức tạp tuyến tính

số phép tính/thời gian chạy/dung lƣợng

bộ nhớ có xu hƣớng tỉ lệ thuận với độ lớn đầu vào. Chẳng hạn nhƣ
tính tổng các phần tử của một mảng một chiều.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




15
 Độ phức tạp đa thức


với

là đa thức bậc cao (từ 2 trở lên).

Chẳng hạn nhƣ các thao tác tính tốn với mảng nhiều chiều
(tính định thức ma trận).
 Độ phức tạp logarit
với

(chú ý: bậc của nó thấp hơn so

) chẳng hạn thuật tốn Euclid để tìm ƣớc số chung lớn nhất.

 Độ phức tạp hàm mũ

trƣờng hợp này bất lợi nhất và sẽ rất phi

thực tế nếu thực hiện thuật tốn với độ phức tạp này.
1.2.3. Phân tích thuật tốn
1.2.3.1. Tính hiệu quả của thuật tốn

Khi giải một vấn đề, chúng ta cần chọn trong số các thuật toán, một thuật
toán mà chúng ta cho là “tốt” nhất. Cơ sở đánh chọn lựa thuật toán:
 Thuật toán đơn giản, dễ hiểu, dễ cài đặt (dễ viết chƣơng trình)
 Thuật toán sử dụng tiết kiệm nhất các nguồn tài nguyên của máy tính
và đặc biệt chạy nhanh nhất có thể đƣợc.
Tính hiệu quả của thuật tốn bao gồm 2 nhân tố cơ bản:
 Dung lƣợng không gian nhớ cần thiết để lƣu giữ các dữ liệu vào, các
kết quả tính toán trung gian và các kết quả của thuật toán.
 Thời gian cần thiết để thực hiện thuật toán (hay thời gian chạy)

1.2.3.2. Đánh giá thời gian thực hiện thuật tốn

Thời gian chạy chƣơng trình phụ thuộc vào các nhân tố chính sau:
 Các dữ liệu vào
 Chƣơng trình dịch để chuyển chƣơng trình nguồn thành mã máy.
 Tốc độ thực hiện của các phép tốn của máy tính đƣợc sử dụng để
chạy chƣơng trình.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




16
Giả sử T(n) là thời gian thực hiện thuật toán và f(n) là hàm xác định dƣơng.
T(n)=O(f(n)) nếu  các hằng số dƣơng c và n0 sao cho T(n)  c.g(n) với
mọi n>=n 0 .
1.3. Hàm băm mật mã học
1.3.1. Hàm băm

Hàm băm (tiếng Anh: hash function) là hàm sinh ra các giá trị băm tƣơng
ứng với mỗi khối dữ liệu (có thể là một chuỗi kí tự, một đoạn tin nhắn...).
Giá trị băm đóng vai trị gần nhƣ một khóa để phân biệt các khối dữ liệu,
tuy nhiên, ngƣời ta chấp nhận hiện tƣợng trùng khóa hay cịn gọi là đụng
độ và cố gắng cải thiện giải thuật để giảm thiểu sự đụng độ đó. Hàm băm
thƣờng đƣợc dùng trong bảng băm nhằm giảm chi phí tính tốn khi tìm một
khối dữ liệu trong một tập hợp (nhờ việc so sánh các giá trị băm nhanh hơn
việc so sánh những khối dữ liệu có kích thƣớc lớn).
1.3.2. Hàm băm mật mã học

Trong ngành mật mã học, một hàm băm mật mã học (tiếng Anh:

Cryptographic hash function) là một hàm băm với một số tính chất bảo mật
nhất định để phù hợp việc sử dụng trong nhiều ứng dụng bảo mật thông tin
đa dạng, chẳng hạn nhƣ chứng thực (authentication) và kiểm tra tính
ngun vẹn của thơng điệp (message integrity). Một hàm băm nhận đầu
vào là một xâu ký tự dài (hay thơng điệp) có độ dài tùy ý và tạo ra kết quả
là một xâu ký tự có độ dài cố định, đơi khi đƣợc gọi là tóm tắt thơng điệp
(message digest) hoặc chữ ký số (digital fingerprint).
1.3.3. Tính toàn vẹn dữ liệu

Hàm băm mật mã học là hàm băm và có tính chất là hàm 1 chiều. Từ khối
dữ liệu hay giá trị băm đầu vào chỉ có thể đƣa ra 1 giá trị băm duy nhất.
Nhƣ chúng ta đã biết đối với tính chất của hàm 1 chiều. Một ngƣời nào đó
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




17
dù bắt đƣợc giá trị băm họ cũng không thể suy ngƣợc lại giá trị, đoạn tin
nhắn băm khởi điểm.
Hàm băm thƣờng đƣợc dùng trong bảng băm nhằm giảm chi phí tính tốn
khi tìm một khối dữ liệu trong một tập hợp. Giá trị băm đóng vai trị gần
nhƣ một khóa để phân biệt các khối dữ liệu.
Giá trị đầu vào (tin nhắn, dữ liệu...) bị thay đổi tƣơng ứng giá trị băm cũng
bị thay đổi. Do vậy nếu 1 kẻ tấn cơng phá hoại, chỉnh sửa dữ liệu thì server
có thể biết ngay lập tức.
1.3.4. Một số hàm băm thơng dụng
1.3.4.1. Thuật tốn hàm băm MD5

MD5 (Message-Digest algorithm 5) là một hàm băm mật mã đƣợc sử dụng

phổ biến, đƣợc thiết kể bởi Giáo sƣ Ronald L. Rivest tại trƣờng MIT vào
năm 1991 để thay thế cho hàm băm trƣớc đó là MD4 (1990). Là một chuẩn
Internet (RFC 1321), MD5 đã đƣợc dùng trong nhiều ứng dụng bảo mật và
cũng đƣợc dùng phổ biến để kiểm tra tính tồn vẹn của tập tin. Cũng nhƣ
các hàm băm khác nhƣ MD4 và SHS (Secure Hash Standard), MD5 là
phƣơng pháp có ƣu điểm tốc độ xử lý rất nhanh, thích hợp với các thông
điệp dài và cho ra giá trị băm dài 128 bit.
Trong MD5, thông điệp ban đầu X sẽ đƣợc mở rộng thành dãy bit X có độ dài là
bội của 512. Dãy bit X gồm các thành phần đƣợc sắp thứ tự nhƣ sau: Dãy bit X
ban đầu, một bit 1, dãy d bit 0 (d đƣợc tính sao cho dãy X cuối cùng là bội của
512), dãy 64 bit l biểu diễn chiều dài của thông điệp. Đơn vị xử lý trong

MD5 là các từ 32-bit, nên dãy bit X ở trên sẽ đƣợc biểu diễn thành dãy các
từ X[i] 32-bit sau:


X=X[0] X[1] X[2] …X[N−1] , với N là bội của 16.

 Phƣơng pháp MD5 có những ƣu điểm sau so với phƣơng pháp MD4
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




18
 Thay vì có 3 chu kỳ biến đổi nhƣ trong MD4, MD5 bổ sung thêm
chu kỳ thứ 4 để tăng mức độ an toàn.
 Trong mỗi thao tác của từng chu kỳ, MD5 sử dụng hằng số ti phân
biệt, trong khi MD4 sử dụng hằng số chung cho mọi thao tác trong
cùng chu kỳ biến đổi.

 Hàm G ở chu kỳ 2 của MD4: G(X, Y, Z) = ((X  Z)  (X  Y) 
(Y Z )) đƣợc thay thế bằng G(X, Y, Z) = (X  Z)  (Y  ( Z )) để
giảm tính đối xứng.
 Mỗi bƣớc biến đổi trong từng chu kỳ chịu ảnh hƣởng kết quả của
bƣớc biến đổi trƣớc, vì vậy làm tăng nhanh tốc độ của hiệu ứng lan
truyền (avalanche).
 Các hệ số dịch chuyển xoay vòng trong mỗi chu kỳ đƣợc tối ƣu hóa
nhằm tăng tốc độ hiệu ứng lan truyền. Ngoài ra, mỗi chu kỳ sử dụng
4 hệ số dịch chuyển khác nhau.
Lý do MD5 đƣợc thiết kế thay thế cho MD4 là vì các phân tích chỉ ra rằng
phƣơng pháp MD4 có vẻ khơng an tồn. Den Boer và Bosselaers đã chỉ ra
các điểm yếu trong MD4 trong một bài báo đƣợc đăng vào năm 1991 và
một tấn cơng xung đột đầu tiên đƣợc tìm thấy bởi Han Dobbertin vào năm
1996.
Tuy nhiên, các nỗ lực tấn công, phân tích của các nhà nghiên cứu cho thấy
MD5 cũng khơng cịn an tồn và cần đƣợc thay thế bằng một thuật tốn
băm khác nhƣ các cơng bố của Den Boer và Bosselaers năm 1993; của
Hans Dobbertin năm 1996; của nhóm tác giả Xiaoyun Wang, Dengguo
Feng, Xuejia Lai, và Hongbo ngày 19/8/2004; của Arjen Lenstra, Xiaoyun
Wang, và Benne de Weger ngày 1/3/2005; và của Vlastimil Klima, …

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




19
1.3.4.2. Chuẩn băm an toàn SHS

SHS (Secure Hash Standard) là chuẩn gồm tập hợp các thuật toán băm mật

mã an toàn (Secure Hash Algorithm – SHA) nhƣ SHA-1, SHA-224, SHA256, SHA-384, SHA-512 do NIST 2 và NSA 3 xây dựng.
 Phƣơng pháp SHA-1 (cũng nhƣ SHA-0) đƣợc xây dựng trên cùng cơ
sở với phƣơng pháp MD4 và MD5. Tuy nhiên, phƣơng pháp SHA-1
sử dụng trên hệ thống Big-endian 5 thay vì Little-endian 6 nhƣ
phƣơng pháp MD4 và MD5. Ngồi ra, hàm băm SHA-1 tạo ra thông
điệp rút gọn kết quả có độ dài 160 bit nên thƣờng đƣợc sử dụng.
 Phƣơng pháp SHA-1 giống với MD5 (cải tiến từ MD4) nhƣng thơng
điệp tóm tắt đƣợc tạo ra có độ dài 160 bit. Dƣới đây là một số điểm
so sánh giữa MD5 và SHA-1.
 Giống nhƣ MD5, SHA-1 cũng thêm chu kỳ thứ 4 để tăng mức độ an
toàn cho thuật toán. Tuy nhiên, chu kỳ 4 của SHA-1 sử dụng lại hàm
f của chu kỳ thứ 2.
 Trong SHA-1, 20 bƣớc biến đổi trong cùng một chu kỳ sử dụng cùng
một hàng số K[t]. Trong khi đó, mỗi bƣớc biến đổi trong cùng một
chu kỳ của MD5 sử dụng các hằng số khác nhau.
So với MD4, hàm G trong MD5 đƣợc thay thế thành hàm mới để làm giảm
tính đối xứng. Trong khi SHA-1, hàm G trong SHA-1 vẫn giữ lại hàm G
của MD4.
Cả MD5 và SHA-1, mỗi bƣớc biến đổi trong từng chu kỳ chịu ảnh hƣởng
kết quả của biến đổi trƣớc, vì vậy làm tăng nhanh tốc độ của hiệu ứng lan
truyền.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




20

CHƢƠNG 2 HẠ TẦNG KHĨA CƠNG KHAI VÀ CÁC

THÀNH PHẦN
2.1. Hạ tầng khóa cơng khai
2.1.1. Hạ tầng khóa cơng khai là gì và một số khái niệm

Để hiểu rõ về việc xây dựng cơ sở hạ tầng khóa cơng khai (Public Key
Infrastructure viết tắt là PKI) và vần đề cấp phát chứng thực số có vai trị
và ứng dụng nhƣ thế nào trong thƣơng mại điên tử. Chúng ta sẽ đi phân
tích từng khía cạnh xung quanh PKI.
Trƣớc tiên chúng hiểu thế nào là PKI và tính cấp thiết của PKI hiện nay. Là
một cơ chế để cho một bên thứ 3 (thƣờng là nhà cung cấp chứng thực số)
cung cấp và xác thực định danh các bên tham gia vào q trình trao đổi
thơng tin. Cơ chế này cũng cho phép gán cho mỗi ngƣời sử dụng trong hệ
thống một cặp khóa cơng khai/khóa bí mật.
Trong kỷ ngun bùng nổ của công nghệ thông tin, mọi giao dịch từ xa có
thể thơng qua internet. Tuy nhiên, mặt khác khó mà bảo đảm rằng những
giao dịch trên Internet luôn an tồn. Cơ sở hạ tầng khóa cơng khai (PKI) đã
đáp ứng những yêu cầu cấp thiết đó. Dựa trên cách sử dụng của chìa khóa
mật mã cơng cộng và chữ ký điện tử, một PKI chính là bộ khung của các
chính sách, dịch vụ và phần mềm mã hóa, đáp ứng nhu cầu bảo mật của
ngƣời sử dụng.
Một Platform PKI phải cung cấp đầy đủ các chức năng sau:
 Cấp phát.
 Xác thực.
 Toàn vẹn dữ liệu.
 Thu hồi và cấp phát lại chứng thƣ số.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





21
2.1.1.1. Cấu trúc phân tầng của hệ thống khóa cơng khai

Mơ hình này tƣơng ứng với cấu trúc phân cấp với CA gốc và các CA cấp
dƣới. CA gốc xác nhận các CA cấp dƣới, các CA này lại xác nhận các CA
cấp thấp hơn. Các CA cấp dƣới không cần xác nhận các CA cấp trên.

Mơ hình phân cấp đƣợc minh hoạ nhƣ hình ở trên. Trong mơ hình này, mỗi
thực thể sẽ giữ bản sao khố cơng khai của root CA và kiểm tra đƣờng dẫn
của chứng thƣ bắt đầu từ chữ ký của CA gốc. Đây là mơ hình PKI tin cậy
sớm nhất và đƣợc sử dụng trong PEM (Privacy Enhanced Mail : bảo mật
tăng cƣờng Mail).
Ƣu điểm của mơ hình:
 Mơ hình này có thể dùng đƣợc trực tiếp cho những doanh nghiệp
phân cấp và độc lập, cũng nhƣ những tổ chức chính phủ và quân đội.


Cho phép thực thi chính sách và chuẩn thơng qua hạ tầng cơ sở.

 Dễ vận hành giữa các tổ chức khác nhau.
Nhƣợc điểm:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




22
 Có thể khơng thích hợp đối với mơi trƣờng mà mỗi miền khác nhau
cần có chính sách và giải pháp PKI khác nhau.

 Các tổ chức có thể khơng tự nguyện tin vào các tổ chức khác.
 Có thể khơng thích hợp cho những mối quan hệ ngang hàng giữa
chính phủ và doanh nghiệp.
 Những tổ chức thiết lập CA trƣớc có thể khơng muốn trở thành một
phần của mơ hình.
 Có thể gây ra sự trội hơn của sản phẩm đối với vấn đề về khả năng
tƣơng tác.
 Chỉ có một CA gốc nên có thể gây ra một số vấn đề nhƣ thiếu khả
năng hoạt động. Thêm vào đó, trong trƣờng hợp khố cá nhân của
CA bị xâm phạm, khố cơng khai mới của CA gốc phải đƣợc phân
phối đến tất cả các ngƣời sử dụng cuối trong hệ thống theo một số cơ
chế khác nhau.
Mặc dù có những nhƣợc điểm, song mơ hình này vẫn thích hợp với u cầu
của các tổ chức chính phủ vì cấu trúc phân cấp tự nhiên sẵn có.
2.1.1.2. Mơ hình xác thực khóa cơng khai

PKI cung cấp một cặp chìa khóa, trong đó có một chìa là chìa khóa cơng
khai (Public key) để có thể sử dụng dịch vụ, chìa cịn lại là chìa khóa bí mật
(Private key) mà ngƣời sử dụng phải giữ bí mật. Hai chìa khóa này có liên
quan mật thiết đến nhau, sao cho một thơng điệp đƣợc mã hóa bởi một chìa
khóa mật mã cơng khai thì chỉ giải mã đƣợc bởi một chìa khóa bí mật
tƣơng ứng.
Ví dụ về mơ hình xử dụng xác thực:
Giả sử có 2 ngƣời dùng Howard và Huynh muốn chuyển thơng điệp tử cho
nhau để đảm bảo tính xác thực và bảo mật họ dùng 1 phần mềm PKI
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





23

Hành động

Trạng thái của hệ thống PKI

Huynh muốn chuyển một thơng điệp Phần mềm PKI dùng chìa khóa bí
đến cho Howard, với yêu cầu rằng mật của Huynh tạo ra một chữ ký số
giao dịch phải chứng minh đƣợc cho thơng điệp.
chính anh đã gửi nó đi và nội dung
thơng không bị thay đổi.
Huynh muốn chắc chắn rằng không Phần mềm PKI của Huynh dùng chìa
ai ngồi Howard đọc đƣợc bức thƣ khóa cơng cộng của Howard để mã
này

hóa thơng điệp của Huynh.

Howard muốn đọc thƣ do Huynh gửi Phần mềm PKI dùng chìa khóa cá
nhân của Howard để để giải mã
thông điệp.
Howard muốn kiểm chứng rằng Phần mềm PKI của Howard dùng
chính Huynh đã gửi đi thơng điệp đó chìa khóa cơng cộng của Huynh để
và nội dung thơng điệp không bị kiểm chứng chữ ký số của Huynh.
chỉnh sửa.
2.1.1.3. Khái niệm X.509 và PKCS

X.509 là một đề nghị của ITU (International Telecommunication Union)
định nghĩa một framework về chứng thực (certificate). X.509 dựa trên
X.500, mà bản thân X.500 còn chƣa đƣợc định nghĩa hoàn hảo. Kết quả là
chuẩn X.509 đang đƣợc diễn giải theo một số cách, tùy theo công ty cung

cấp quyết định sử dụng nhƣ thế nào. X.509 lần đầu tiên đƣợc công bố vào
năm 1988, và các phiên bản tiếp theo đã đƣợc đƣa ra để giải quyết các vấn
đề an toàn, đây cũng là sự cố xảy ra bất ngờ ngay lần công bố đầu tiên.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




×