1. Trang chủ
  2. » Luận Văn - Báo Cáo

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ố

79 432 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 1,84 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vnLỜ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Ô

Trang 1

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

Trang 2

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

Thái Nguyên, 2012

Trang 3

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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 TOÁ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 hoàn toàn

Thái Nguyên, tháng 10 năm 2012

Đào Quang Huynh

Trang 4

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

Trang 5

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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 toán 15

1.2.3.1 Tính hiệu quả của thuật toá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 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

Trang 6

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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.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 toá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 soá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

Trang 7

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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 Toán Song Phương

Trang 8

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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ử

Không nằm ngoà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

Trang 9

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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 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 toán đồng bộ theo chuẩn SWIFT

4 Ý nghĩa khoa học của đề tài

Trang 10

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Ứng dụng các tiêu chuẩn trong Thanh toán điện tử trong Ngân hàng

An toàn, bảo mật và tính nhất quán 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 toán được liên tục, an toà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 quát 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 toá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 toá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 toán MT103, MT195, MT196

Trang 11

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

CHƯƠNG 1 TỔNG QUAN VỀ KHÓA CÔNG KHAI VÀ

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 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 toán, thống kê và tổ hợp Mật mã hóa cũng được coi là một nhánh

Trang 12

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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 toá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 toá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 toán việc băm Như tên gọi của nó, chúng được sử dụng

Trang 13

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

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á:

Trang 14

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Đào Quang Huynh

Mã hóa

be2093ed380d5bd26f 701a40a79f6142933c 21a9487a857a7d1fc4 bd568c816f

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ố:

Đào Quang Huynh

Mã hóa + Ký

be2093ed380d5bd26f 701a40a79f6142933c 21a9487a857a7d1fc4 bd568c816f

Đào Quang Huynh Kiểm tra + Giải mã

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

Khóa công khai

Howard - Mã

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

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

Mã hóa ký số

Trang 15

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

 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

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

Trang 16

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

1.2.1 Thuật toán

Thuật toá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 toá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 toá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 nguyên 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 toá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 toá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 toá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ácthao tác hệ thống: đóng, mởfile

 Độ phức tạptuyế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

Trang 17

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

 Độ 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 toán với mảng nhiều chiều (tínhđịnh thứcma trận)

 Độ phức tạplogarit (chú ý: bậc của nó thấp hơn so với ) chẳng hạnthuật toán Euclidđể tìmước số chung lớn nhất

 Độ phức tạphà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

Trang 18

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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>=n0

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 toá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

nguyên 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 đó

Trang 19

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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 toá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 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

Trang 20

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

 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 toà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 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, …

Trang 21

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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ư 1, 224,

SHA-256, SHA-384, SHA-512 do NIST2

và NSA3 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-endian5

thay vì Little-endian6

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 đ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 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

Trang 22

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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 quá 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ỷ 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:

Trang 23

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

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

Trang 24

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

 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 khoá cá nhân của

CA bị xâm phạm, khoá 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 yê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

Trang 25

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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

Phần mềm PKI của Howard dùng chìa khóa công cộng của Huynh để kiểm chứng chữ ký số của Huynh

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

Trang 26

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

X.509 hỗ trợ cả hai mã bí mật (mã đơn) và mã công khai X.509 định nghĩa các nội dung về một chứng thực, bao gồm số phiên bản, số serial, ID chữ

ký, tên công bố, thời điểm có hiệu lực, định nghĩa chủ đề, phần mở rộng và chữ ký trên các trường trên Về cơ bản, một người có trách nhiệm chứng nhận sẽ đặt khóa công khai của một người nào đó có nhu cầu chứng thực vào thủ tục chứng thực và sau đó xác thực lại bằng khóa riêng Điều nầy bắt buộc khóa và thủ tục chứng thực phải luôn đi kèm với nhau Bất cứ ai cần dùng khóa công cộng của một đối tượng nào đó đều có thể mở thủ tục chứng thực bằng khóa công cộng của các đối tượng nầy do người có trách nhiệm chứng thực cung cấp (các khóa công cộng nầy được ký hoặc khóa bằng khóa riêng của người có trách nhiệm chứng thực) Vì vậy, người sử dụng phải tin rằng người có trách nhiệm chứng thực sẽ bảo đảm việc hợp lệ hóa người chủ của khóa công khai và thực sự khóa công khai ở đây chính

là khóa công khai của người có trách nhiệm chứng thực Đây chính là lãnh địa của các PKI (public-key infrastructures) PKI là một kiến trúc phân cấp những đối tuợng có trách nhiệm xác minh các khóa công khai lẫn nhau

PKCS là một chuẩn do phòng thí nghiệm RSA Data Security Inc phát triển

Nó dựa vào các cấu trúc ASN.1 và thiết kế cho phù hợp với chứng chỉ X.09, các tiêu chuẩn này do ANSI thiết kế, theo đó dữ liệu được chia thành từng khối nhỏ nhất là 8 bit (octet) PKCS hiện tại bao gồm các chuẩn PKCS#1, PKCS#3, PKCS#5, PKCS#7, PKCS#8, PKCS#9, PKCS#11, PKCS#12, PKCS#13, PKCS#15 Hiện tại phiên bản của các bản đang là 2.1 Trong đó có thể tìm được các chuẩn để mã hóa dữ liệu, chuẩn này được thiết kế dựa vào cách mà các thám mã dùng để tấn công vào đoạn mã

Có thể mô tả sơ qua thế này, trong PKCS#1 có các chuẩn mã hóa - giải mã RSAES - OAEP scheme, chuẩn tạo chữ ký điện tử - kiểm tra RSASSA - PSS scheme ver2.1, hay trong PKCS#7 là các chuẩn mã hóa cho password

Trang 27

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

PKCS#11 là phức tạp nhất, nó là chuẩn cho việc truyền thông tin trên mạng dưới dạng các gói tin đã mã

2.1.2 Một vài kiến trúc và công nghệ PKI hiện hành

2.1.2.1 Một số ứng dụng

Mục tiêu chính của PKI là cung cấp khóa riêng và khóa công khai, xác định mối liên hệ giữa khóa và định dạng người dùng Nhờ vậy người dùng có thể sử dụng trong một số ứng dụng như:

 Mã hoá Email hoặc xác thực người gửi Email (OpenPGP hay S/MIME)

 Mã hóa hoặc nhận thực văn bản (Các tiêu chuẩn Chữ ký XML* hoặc

mã hoá XML* khi văn bản được thể hiện dưới dạng XML)

 Xác thực người dùng ứng dụng (Đăng nhập bằng thẻ thông minh, nhận thực người dùng trong SSL)

 Các giao thức truyền thông an toàn dùng kỹ thuật Bootstrapping (IKE, SSL) trao đổi khóa bằng khóa bất đối xứng, còn mã hóa bằng khóa đối xứng

2.1.2.2 Một số hệ thống PKI

Dưới đây là danh sách một số hệ thống PKI, trong đó một số nhà cung cấp chứng thực số hàng đầu (ví dụ VeriSign) không được liệt kê vì các phần mềm của họ không được công bố công khai:

 Hệ thống quản lý chứng thực Red Hat

 Computer Associate eTrust PKI

 Microsoft

 OpenCA (Một mô hình PKI mã nguồn mở)

 RSA Security

Trang 28

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

 IDX-PKI

 Simple CA

2.2 Chữ ký số, thuật toán tạo và kiểm tra chữ ký số

Chữ ký số là một tập con của chữ ký điện tử Ta có thể dùng định nghĩa

 Chữ ký số khóa công khai (hay hạ tầng khóa công khai) là mô hình

sử dụng các kỹ thuật mật mã để gắn với mỗi người sử dụng một cặp khóa công khai, bí mật và qua đó có thể ký các văn bản điện tử cũng như trao đổi các thông tin mật Khóa công khai thường được phân phối thông qua chứng thực khóa công khai

 Quá trình sử dụng chữ ký số bao gồm 2 quá trình: tạo chữ ký và kiểm tra chữ ký

Khái niệm chữ ký điện tử mặc dù thường được sử dụng cùng nghĩa với chữ

ký số nhưng thực sự có nghĩa rộng hơn Chữ ký điện tử chỉ đến bất kỳ phương pháp nào (không nhất thiết là mật mã) để xác định người chủ của văn bản điện tử Chữ ký điện tử bao gồm cả địa chỉ telex và chữ ký trên giấy được truyền bằng fax

2.2.1 Thuật toán chữ ký số RSA

Phương pháp chữ ký số RSA được xây dựng dựa trên thuật toán mã hóa khóa công khai RSA Để tạo một cặp khóa, RSA thực hiện các bước sau:

Tạo khóa

Trang 29

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Giả sử NHA và NHB cần trao đổi thông tin bí mật thông qua một kênh không an toàn Với thuật toán RSA, NHA đầu tiên cần tạo ra cho mình cặp khóa gồm khóa công khai và khóa bí mật theo các bước sau:

 Chọn 2 số nguyên tố lớn và với , lựa chọn ngẫu nhiên và độc lập

 Các số nguyên tố thường được chọn bằng phương pháp thử xác suất

 Các bước 4 và 5 có thể được thực hiện bằng giải thuật Euclid mở rộng

 Bước 5 có thể viết cách khác: Tìm số tự nhiên sao

cho cũng là số tự nhiên Khi đó sử dụng

Trang 30

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

 n, môđun, xuất hiện cả trong khóa công khai và khóa bí mật, và

 d, số mũ bí mật (cũng gọi là số mũ giải mã)

Mã hóa

Giả sử NHA muốn gửi điện thanh toán cho NHB Đầu tiên NHA chuyển điện thanh toán thành một điện mã hóa nhỏ hơn kích cỡ điện ban đầu theo một hàm có thể đảo ngược (từ điện mã hóa có thể xác định lại được điện thanh toán gốc) được thỏa thuận trước (thuật toán mã hóa, khóa công khai do NHB cung cấp)

Lúc này NHA có điện gốc và biết n cũng như e do NHB gửi NHA sẽ tính c là bản mã hóa của m theo công thức:

Hàm trên có thể tính dễ dàng sử dụng phương pháp tính hàm mũ (theo môđun) bằng (thuật toán bình phương và nhân) Cuối cùng NHA gửi điện

Trang 31

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Dùng RSA để tạo chữ ký số cho văn bản Giả sử NHA muốn gửi cho NHB một văn bản có chữ ký của mình Để làm việc này, NHA tạo ra một giá trị băm(hash value) của điện thanh toán ký và tính giá trị mũ d mod n của nó Giá trị cuối cùng chính là chữ ký số của điện thanh toán đang xét Khi NHB nhận được văn bản cùng với chữ ký số, NHB ta tính giá trị

mũ e mod n của chữ ký đồng thời với việc tính giá trị băm của văn bản Nếu 2 giá trị này như nhau thì NHB biết rằng người tạo ra chữ ký biết khóa

bí mật của NHA và điện thanh toán không bị thay đổi sau khi ký

2.2.2 Thuật toán chữ ký số DSA

Thuật toán chữ ký số DSA (Digital Signature Algorithm) được đề nghị bởi NIST vào tháng 8/1991 để sử dụng trong chuẩn chữ ký số DSS (Digital Signature Standard), được chỉ ra trong FIPS 186, được chấp nhận năm

1993 Một sửa đổi nhỏ được đưa ra ngày năm 1996 trong FIPS 186-1, chuẩn được mở rộng hơn năm 2000, được xem như xem như FIPS 186-2 Việc tạo khóa gồm hai bước Bước thứ nhất là lựa chọn các tham số cho thuật toán được chia sẻ giữa các người sử dụng khác nhau trong cùng hệ thống:

 Chọn một hàm băm mã hóa ℋ Trong DSS chuẩn ℋ luôn là

SHA-1, nhưng các hàm băm tốt hơn trong nhóm SHA cũng đang được sử dụng Đôi khi đầu ra của một thuật toán băm mới hơn bị rút ngắn kích thước so với các thuật toán băm mới cũ để tương tích với cặp khóa hiện có

 Chọn kích thước khóa L Đây là thước đo chính quyết định sức mạnh

mã hóa của khóa DSS chuẩn ràng buộc L là bội số của 64 và 512≤L≤1024 Sau đó, FIPS 186-2 xác định L luôn là 1024 Không lâu sau, NIST 800-57 đề nghị độ dài khóa là 2048 (hoặc 3072) để

Trang 32

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

thời gian an toàn đến năm 2010 (hoặc 2030), sử dụng tương ứng với các giá trị băm và q dài hơn Bản thảo FIPS 186-3 cũng tính đến các hàm băm sau này và các khóa dài hơn

 Chọn một số nguyên tố q cùng số bit với đầu ra của ℋ

 Chọn một số nguyên tố p độ dài L bit sao cho p–1 là bội của q Tức

là p=qz–1 với số nguyên z nào đó

 Chọn g = h(p 1 ) /q mod p với h bất kỳ (1<h<p–1), và chọn lại nếu kết quả là 1 Hầu hết cách chọn h đều nhận được g có thể sử dụng, thông thường chọn h = 2

Các tham số thuật toán (p, q, g) có thể chia sẻ giữa những người khác nhau trong hệ thống Bước thứ hai tính các khóa bí mật và khóa công khai của từng người:

 Chọn x ngẫu nhiên sao cho 0<x<q

 Tính y=gx

mod p

 Khóa công khai là (p, q, g, y), khóa bí mật là x

 Phiên bản FIPS 186-3 sắp tới sử dụng SHA-224/256/384/512 là các hàm băm, kích thước của q là 224 (hoặc 256 bit), và L bằng 2048 (hoặc 3072)

Để ký một thông điệp m, người ký thực hiện các bước sau:

 Phát sinh một số ngẫu nhiêu k (0<k<q) cho mỗi thông điệp

 Tính r = (gk mod p) mod q

 Tính s = k 1(ℋ(m) + xr)) mod q

 Tính toán lại chữ ký trong trường hợp không chắc chắn r=0 hoặc s=0

Trang 33

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

 Chữ ký là (r, s)

Để xác nhận chữ ký, người nhận thực hiện các bước sau:

 Loại bỏ chữ ký nếu 0<r<q hoặc 0<s<q không thỏa mãn

 Chữ ký có hiệu lực nếu v=r

Tính đúng đắn của giải thuật được chứng minh như sau:

 Đầu tiên, nếu g = h(p1)/qmod p suy ra gp=hp 1−1=1 (mod p) theo định lý Fermat nhỏ Bởi vì g>1 và q là số nguyên tố nên g có bậc q

Cuối cùng, tính đúng đắn của DSA suy ra từ:

 R = (gk

mod p) mod q = (gu1

yu2 mod p) mod q = v

Phương pháp DSA đã giải quyết vấn đề này bằng cách sử dụng chữ ký 320 bit cho văn bản 160 bit với các phép tính được thực hiện trên tập con có

2160 phần tử với p là số nguyên tố 512 bit

Chữ ký số (Digital Signature) chỉ là tập con của chữ ký điện tử Chữ ký số

là chữ ký điện tử dựa trên kỹ thuật mã hóa với khóa công khai, trong đó,

Trang 34

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

mỗi người có một cặp khóa (một khóa bí mật và một khóa công khai) Khóa bí mật không bao giờ được công bố, trong khi đó, khóa công khai được tự do sử dụng Để trao đổi thông điệp bí mật, người gửi sử dụng khóa công khai của người nhận để mã hóa thông điệp gửi, sau đó, người nhận sẽ

sử dụng khóa bí mật tương ứng của mình để giải mã thông điệp

Chữ ký điện tử là thông tin được mã hoá bằng Khoá riêng của người gửi, được gửi kèm theo văn bản nhằm đảm bảo cho người nhận định danh, xác thực đúng nguồn gốc và tính toàn vẹn của tài liệu nhận được Chữ ký điện

tử thể hiện văn bản gửi đi là đã được ký bởi chính người sở hữu một Khoá riêng tương ứng với một Chứng chỉ điện tử nào đó

Chữ ký số khóa công khai (hay hạ tầng khóa công khai) là mô hình sử dụng

các kỹ thuật mật mã để gắn với mỗi người sử dụng một cặp khóa công khai

- bí mật và qua đó có thể ký các văn bản điện tử cũng như trao đổi các thông tin mật Khóa công khai thường được phân phối thông qua chứng thực khóa công khai Quá trình sử dụng chữ ký số bao gồm 2 quá trình: tạo chữ ký và kiểm tra chữ ký

2.3 Cấp phát và xác thực chứng thực số

2.3.1 Chứng thực số

Trong mật mã học, chứng thực khóa công khai (còn gọi là chứng thực số/chứng thực điện tử) là một chứng thực sử dụng chữ ký số để gắn một khóa công khai với một thực thể (cá nhân, máy chủ hoặc tổ chức ) Một chứng thực khóa công khai tiêu biểu thường bao gồm khóa công khai và các thông tin (tên, địa chỉ, thời hạn ) về thực thể sở hữu khóa đó Chứng thực điện tử có thể được sử dụng để kiểm tra một khóa công khai nào đó thuộc về ai

CA phát hành các chứng thực khóa công khai trong đó thể hiện rằng CA đó chứng nhận khóa công khai nằm trong mỗi chứng thực thuộc về cá nhân, tổ

Trang 35

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

chức, máy chủ hay bất kỳ thực thể nào ghi trong cùng chứng thực đó Nhiệm vụ của CA là kiểm tra tính chính xác của thông tin liên quan tới thực thể được cấp chứng thực Khi người sử dụng tin tưởng vào một CA và

có thể kiểm tra chữ ký số của CA đó thì họ cũng có thể tin tưởng vào khóa công khai và thực thể được ghi trong chứng thực

2.3.2 Cấp phát chứng thực số

Chứng thư số bao gồm các thông tin: tên, tuổi, địa chỉ, ngày tháng cấp phát chứng thực số, khóa công khai và ID của chứng thực số Việc cấp phát chứng thực số hoàn tất sau khi Client gửi thông tin đăng ký nên server Server sẽ kiểm tra các thông tin client gửi lên Bằng việc thẩm tra chữ ký

số, và khóa công khai Nếu chữ ký số đúng đắn tương đương việc khóa công khai là đúng đắn Thông tin client gửi mẫu lên đăng ký server gồm

những thông tin sau:

 Sinh cặp khóa ngẫu nhiên Tại Client hệ thống PKI sẽ cấp phát cặp khóa riêng và khóa công khai Hệ thống PKI (cụ thể PKI client) sẽ sử dụng 1 thuật toán bất kỳ hợp lý được chọn lựa để sinh cặp khóa ngẫu nhiên Chẳng hạn đây là thuật tóa RSA Cặp khóa ngẫu nhiên được sinh ra từ 2 số nguyên tố ngẫu nhiên lập đủ lớn Cặp khóa ngẫu nhiên

ở đây là:

 Khóa công khai: (n, e)

 Khóa bí mật: (n, d)

 Tạo chữ ký số sau khi tạo cặp khóa ngẫu nhiên, hệ thống PKI client

sẽ tạo ra chữ ký số tương ứng với cặp khóa ngẫu nhiên của từng client và ký theo từng văn bản ngẫu nhiên Tạo chứng thư số Sau khi PKI client tạo cặp khóa riêng và khóa công khai đồng thời tạo chữ ký

số cho client tương ứng Thông tin bảo mật sẽ được gửi đến server

Trang 36

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Tại server, server sẽ xác thực những thông tin mà client gửi đến có chính xác và đúng đắn.Nếu thông tin xác thực là đúng đắn (khóa công khai, chữ

ký số, giá trị băm của văn bản, tin nhắn) server sẽ cấp phát cho client 1 chứng thực số bao gồm các thông tin sau: tên, tuổi, địa chỉ, các thông tin cá nhân khác, khóa công khai, ngày tạo, ngày hết hạn và ID của chứng thực

số ID của chứng thực số có tính duy nhất với mỗi client

2.3.3 Thu hồi và cấp phát lại chứng thực số

Một chứng thực số bị thu hồi khi nào:

 Khi mà chứng thƣ số đã hết hạn sử dụng, chứng thƣ sẽ bị thu hồi để

Trang 37

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Một người thứ 3 bất kỳ (Có thể là 1 client khác, khách chưa đăng ký chứng thực số) đều có thể kiểm tra được tính đúng đắn của 1 chứng thực số Bằng cách PKI client sẽ cung cấp 1 dịch vụ xác thực Người dùng có thể nhập vào ID của 1 chứng thực số bất kỳ cần kiểm tra và gửi thông tin đó lên server Nếu chứng thực số tồn tại server sẽ trả lại thông báo cho client vừa kiểm tra

Trang 38

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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Ý

hộ mở theo từng NH và theo loại tiền tệ phù hợp với quy định/quy trình nội

bộ của mỗi NH

Loại tiền tệ thanh toán: Hệ thống TTĐTSP chỉ thực hiện các điện chuyển tiền ghi Có bằng đồng Việt Nam, đối với điện chuyển tiền ghi Có bằng ngoại tệ chỉ được áp dụng khi hai bên có phát sinh nhu cầu và cùng chấp thuận thực hiện trong từng thời kỳ

Hệ thống TTĐTSP sử dụng mẫu điện cơ sở của hệ thống Ý nghĩa các trường của mẫu điện theo chuẩn SWIFT

Các NH thực hiện việc chuyển hóa các chứng từ thanh toán thành chứng từ điện tử theo quy định/quy trình tác nghiệp nội bộ của mỗi NH và chuyển đến NH của người thụ hưởng qua hệ thống TTĐTSP

3.1.1.1 Nội dung thanh toán

Điện thanh toán bao gồm điện chuyển tiền và điện tra soát

 Người phát lệnh (Odering Customer):

o Là tổ chức hoặc cá nhân gửi điện thanh toán đến NH, yêu cầu

NH phục vụ trích tài khoản/hoặc nộp tiền mặt vào NH để

Trang 39

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

chuyển cho người thụ hưởng hoặc tra soát điện chuyển tiền cụ thể

o NH phát lệnh/NH gửi lệnh (Sender Bank): Là NH trực tiếp tạo lập điện thanh toán trong hệ thống nội bộ của mỗi NH gửi qua

hệ thống TTĐTSP tới NH nhận lệnh NH này phải được cấp

o YY: 2 ký tự cuối của năm giao dịch

o BBB: Ký tự thứ 3, 4, 5 trong mã 8 số do NHNN cấp cho HSC

NH gửi điện trong TTĐTSP

o MMM: Loại điện (103, 195, 196, 199)

o XXXXXXXX: Số chạy theo từng loại điện

 Ví dụ: Trên một MT có số MT_ID là 1220210300000001 được diễn giải chi tiết như sau:

o 12: Là điện MT của năm 2012

o 202: Là điện của NHA gửi đi trong chương trình TTĐTSP

o 103: Là loại điện MT103

Ngày đăng: 08/11/2014, 21:48

HÌNH ẢNH LIÊN QUAN

Sơ đồ cấp phát khóa riêng khóa và khóa công khai - 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ố
Sơ đồ c ấp phát khóa riêng khóa và khóa công khai (Trang 13)
8  10400  Bảng kê đối chiếu  Xây dựng mới - 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ố
8 10400 Bảng kê đối chiếu Xây dựng mới (Trang 51)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w