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ố - Pdf 23

ĐẠ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 TOÁ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 TOÁN
SONG PHƢƠNG ỨNG DỤNG CHỮ KÝ SỐ
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01

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

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
quý báu để tôi hoà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à hoà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 quá 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 quá trình học tập và hoàn thành luận văn.

1.3.3. Tính toà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 toá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
4
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

CHƢƠNG 3 XÂY DỰNG CỔNG TRUYỀN THÔNG THANH TOÁ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 toán 36
3.1.1.2. Phƣơng thức thanh toán lãi, phí trong TTĐTSP 38

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 5
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

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

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. 7
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

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 yêu cầu trong thanh toán, mô hình thanh
toá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 yêu cầu đảm bảo tính bảo mật trong thanh toán, đảm bảo tính tin

dụng chữ ký số cho các điện thanh toán với một số điện thanh toán MT103,
MT195, MT196.
9
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

CHƢƠNG 1 TỔNG QUAN VỀ KHÓA CÔNG KHAI VÀ
CHỮ KÝ SỐ
1.1. Mật mã học khoá 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à toán
học để đảm bảo an toà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 quá 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. Quá 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, quân 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ử. Ngoà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 toá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

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 toán việc băm. Nhƣ tên gọi của nó, chúng đƣợc sử dụng
11
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

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 chuyên 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ệ toá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
Số ngẫu nhiên lớn
Chức năng sinh khóa
Khóa bí mật
Khóa công khai
Tổ chức cấp khóa
Chứng thƣ số

Sơ đồ cấp phát khóa riêng khóa và khóa công khai
 Việc cấp phát khoá công khai và khoá 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ã hoá:

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

 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 toà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 toá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ử.
14
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

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

với ) chẳng hạn thuật toá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 toán với độ phức tạp này.
1.2.3. Phân tích thuật toán
1.2.3.1. Tính hiệu quả của thuật toá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 toá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 toá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 toán của máy tính đƣợc sử dụng để
chạy chƣơng trình.
16
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

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
.

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 toá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 toà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
18
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

 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.

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 toàn và cần đƣợc thay thế bằng một thuật toá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, …
19
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

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, SHA-
256, 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. Ngoà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

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ỷ nguyên 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 toà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ố.
21
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

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 khoá 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.

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
23
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Hành động
Trạng thái của hệ thống PKI
Huynh muốn chuyển một thông điệp
đến cho Howard, với yêu cầu rằng
giao dịch phải chứng minh đƣợc
chính anh đã gửi nó đi và nội dung
thông không bị thay đổi.
Phần mềm PKI dùng chìa khóa bí
mật của Huynh tạo ra một chữ ký số
cho thông điệp.
Huynh muốn chắc chắn rằng không
ai ngoài Howard đọc đƣợc bức thƣ
này
Phần mềm PKI của Huynh dùng chìa
khóa công cộng của Howard để mã
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
chính Huynh đã gửi đi thông điệp đó
và nội dung thông điệp không bị
chỉnh sửa.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status