1. Trang chủ
  2. » Công Nghệ Thông Tin

Chữ ký số và ứng dụng xác thực thông tin trong các dịch vụ internet banking (LV thạc sĩ)

74 208 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 74
Dung lượng 2,5 MB

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

Nội dung

Chữ ký số và ứng dụng xác thực thông tin trong các dịch vụ internet banking (LV thạc sĩ)Chữ ký số và ứng dụng xác thực thông tin trong các dịch vụ internet banking (LV thạc sĩ)Chữ ký số và ứng dụng xác thực thông tin trong các dịch vụ internet banking (LV thạc sĩ)Chữ ký số và ứng dụng xác thực thông tin trong các dịch vụ internet banking (LV thạc sĩ)Chữ ký số và ứng dụng xác thực thông tin trong các dịch vụ internet banking (LV thạc sĩ)Chữ ký số và ứng dụng xác thực thông tin trong các dịch vụ internet banking (LV thạc sĩ)Chữ ký số và ứng dụng xác thực thông tin trong các dịch vụ internet banking (LV thạc sĩ)Chữ ký số và ứng dụng xác thực thông tin trong các dịch vụ internet banking (LV thạc sĩ)Chữ ký số và ứng dụng xác thực thông tin trong các dịch vụ internet banking (LV thạc sĩ)Chữ ký số và ứng dụng xác thực thông tin trong các dịch vụ internet banking (LV thạc sĩ)

Trang 1

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CNTT & TT THÁI NGUYÊN

NGÔ NGỌC CƯƠNG

CHỮ KÝ SỐ VÀ ỨNG DỤNG XÁC THỰC THÔNG TIN TRONG CÁC DỊCH VỤ INTERNET BANKING

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

Thái Nguyên – 2017

Trang 2

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CNTT & TT THÁI NGUYÊN

NGÔ NGỌC CƯƠNG

CHỮ KÝ SỐ VÀ ỨNG DỤNG XÁC THỰC THÔNG TIN TRONG CÁC DỊCH VỤ INTERNET BANKING

Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01.01

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

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS ĐỖ TRUNG TUẤN

Thái Nguyên – 2017

Trang 3

i

LỜI CAM ĐOAN

Tôi xin cam đoan: Đề tài “Chữ ký số và ứng dụng xác thực thông tin trong

các dịch vụ Internet Banking” do Thầy giáo PGS.TS Đỗ Trung Tuấn hướng dẫn là

công trình nghiên cứu của riêng tôi Tất cả tài liệu tham khảo đều có nguồn gốc, xuất xứ rõ ràng

Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng như nội dung trong đề cương và yêu cầu của thầy giáo hướng dẫn Nếu sai tôi hoàn toàn chịu trách nhiệm trước hội đồng khoa học và trước pháp luật

Thái Nguyên, ngày 15 tháng 4 năm 2017

Tác giả luận văn

Ngô Ngọc Cương

Trang 4

ii

LỜI CÁM ƠN

Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý thầy cô ở Khoa Công nghệ thông tin - Trường Đại học Công nghệ Thông tin và Truyền thông Thái Nguyên đã cùng với tri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại trường

Em xin chân thành cảm ơn đến các thầy, đặc biệt thầy PGS TS Đỗ Trung Tuấn đã dành thời gian và tâm huyết hướng dẫn nghiên cứu và giúp em hoàn thành luận văn tốt nghiệp và thầy TS Phạm Thế Quế đã hướng dẫn tận tình em hoàn thành luận văn

Xin cảm ơn các cán bộ Ngân hàng Thương mại cổ phần Bưu điện Liên Việt Bắc Ninh đã tạo điều kiện và giúp đỡ em trong quá trình nghiên cứu, khảo sát để có thêm tài liệu viết luận văn

Bài luận văn được thực hiện trong khoảng thời gian gần 6 tháng Em đã có nhiều cố gắng để hoàn thiện luận văn bằng tất cả sự nhiệt tình và năng lực của mình, tuy nhiên việc hoàn thiện thời gian hạn hẹp không thể tránh khỏi những thiếu sót, rất mong nhận được những đóng góp quý báu của quý thầy cô và các bạn

Nhân đây, xin chân thành cám ơn gia đình, bạn bè và tập thể lớp Cao học K14B đã cổ vũ động viên em hoàn thành luận văn của mình

Ngô Ngọc Cương

Trang 5

iii

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CÁM ƠN ii

MỤC LỤC iii

DANH MỤC CÁC TỪ TIẾNG ANH VÀ VIẾT TẮT vi

DANH MỤC CÁC HÌNH VẼ viii

MỞ ĐẦU 1

Đặt vấn đề, tổng quan đề tài 1

Cấu trúc của luận văn 1

Chương 1 An toàn thông tin và chữ kí số 3

1.1 Về mã hóa dữ liệu 3

1.1.1 Khái niệm mã hóa thông tin 3

1.1.2 Mã hóa khóa bí mật 4

1.1.3 Mã hóa khóa công khai 7

1.1.4 Hàm băm 9

1.2 Về chữ kí điện tử 14

1.2.1 Khái niệm chữ ký điện tử 14

1.2.2 Cơ sở hạ tầng khóa công khai (PKI) 15

1.2.3 Các thành phần của cơ sở hạ tầng khóa công khai 17

1.3 Tạo và kiểm tra chữ kí số 21

1.3.1 Tạo chữ kí số 21

1.3.2 Kiểm tra chữ kí số 22

1.4 Kết luận 22

Chương 2 Giải pháp xác thực thông tin trong các dịch vụ Internet Banking 23

2.1 Giới thiệu chung xác thực thông tin 23

2.1.1 Các kỹ thuật xác thực thông tin 23

Trang 6

iv

2.2 Các giao thức xác thực 30

2.2.1 Mật khẩu 30

2.2.2 Các giao thức xác thực trong mô hình điểm - điểm 31

2.2.3 Xác thực trong các hệ thống phân tán 33

2.2.4 Giao thức xác thực Kerberos 4 37

2.2.5 Giao thức xác thực Kerberos 5 41

2.3 Kết luận 42

Chương 3 Thử nghiệm chữ kí số trong Internet Banking tại Ngân hàng Thương mại cổ phần Bưu điện Liên Việt 44

3.1 Về ngân hàng Liên Việt 44

3.1.1 Internet Banking 45

3.1.2 Rủi ro trong Internet Banking 46

3.2 Tổng quan về hạ tầng Công nghệ thông tin tại Ngân hàng Liên Việt 47

3.2.1 Mô hình hệ thống 47

3.2.2 Mô hình Hạ tầng khóa trong Internet Banking 48

3.2.3 Các chuẩn mã hóa khóa công khai (PKCS) 48

3.2.4 Một số hệ thống PKI 49

3.3 Ứng dụng Internet Banking 49

3.3.1 Đăng nhập 50

3.3.2 Tìm kiếm thông tin 51

3.4 Các thủ tục thực hiện các giao dịch Internet Banking ngân hàng Liên Việt 52

3.4.1 Người dùng sử dụng 52

3.5 Quản lí giao dịch bưu điện 56

3.5.1 Quy mô hệ thống Tiết kiệm Bưu Điện 56

3.5.2 Cài đặt thử nghiệm 57

3.5.3 Đánh giá kết quả thử nghiệm 58

3.6 Kết luận 59

Trang 7

v

Kết luận 60

Kết quả đạt được 60

Hướng nghiên cứu tiếp theo 61

DANH SÁCH TÀI LIỆU THAM KHẢO 62

Tiếng Việt 62

Tiếng Anh 62

Trang 8

vi

DANH MỤC CÁC TỪ TIẾNG ANH VÀ VIẾT TẮT

ATM Automatic Teller Machine Máy rút tiền tự động

CA Certificate authority Cơ quan cung cấp chứng thực số

CNTT Information technology Công nghệ thông tin

CRL Certificate revocation lists Danh sách thu hồi chứng chỉ

DES Data encryption standard Tiêu chuẩn mã hóa dữ liệu

GDP Gross Domestic Product Tổng sản phẩm nội địa

LRA Local registration authority Cơ quan quản lý đăng ký địa

phương

Code

Mã xác thực thông báo MD5 Message-Digest algorithm 5 Giải thuật tiêu hóa tin 5

Ngân hàng thương mại

Chuẩn cho việc truyền thông tin trên mạng dưới dạng các gói tin đã

mã hóa

PKI Public key infrastructure Cơ sở hạ tầng khóa công khai

RA Registration authority Cơ quan quản lý đăng ký

RSA Rivest, Shamir and Adleman Thuật toán mã hóa công khai của 3

tác giả: Rivest, Shamir và Adleman TLS Transport Layer Security Bảo mật tầng truyền dẫn

Trang 9

vii

Trang 10

viii

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Hệ thống mã hóa thông tin 3

Bảng 1.1 Các thuật toán mã hóa khóa bí mật 5

Bảng 1.2 Các thuật toán mã hóa khóa công khai 8

Hình 1.2 Sơ đồ biểu diễn thuật toán RSA 9

Bảng 1.3 Các thuật toán băm 10

Hình 1.3 Một thao tác trong 64 tác vụ của thuật toán MD5 11

Hình 1.4 Sinh ra tiêu hóa tin sử dụng SHA-1 12

Hình 1.5 Cơ sở hạ tầng khóa công khai (PKI) 18

Hình 1.6 Các bước tạo chữ ký điện tử 21

Hình 1.7 Các bước kiểm tra chữ ký điện tử 22

Hình 2.1 Xác thực thông tin dùng mật mã đối xứng 24

Hình 2.2 Sử dụng khóa bất đối xứng để trao đổi khóa bí mật 25

Hình 2.3 Xác thực thông tin dùng mật mã bất đối xứng 25

Hình 2.4 Xác thực thông tin dùng MAC 26

Hình 2.5 Xác thực thông tin dùng chữ ký số 27

Hình 2.6 Minh hoạ xác thực sử dụng chứng chỉ số và chữ ký điện tử 28

Hình 2.7 Mô hình chữ ký điện tử trong Internet Banking 29

Hình 2.8 Giao thức xác thực PAP 32

Hình 2.9 Giao thức xác thực CHAP 33

Hình 2.10 Thủ tục xác thực Kerberos 4 38

Hình 3.1 Ngân hàng Thương mại cổ phần Bưu điện Liên Việt 44

Hình 3.2 Mô hình hệ thống mạng tại Ngân hàng Liên Việt 47

Hình 3.3 Mô hình triển khai chữ ký điện tử trong Internet Banking 48

Hình 3.4 Người dùng tra cứu về Internet Banking 49

Hình 3.5 Trang Internet Banking 50

Hình 3.6 Đăng nhập với mật khẩu 50

Hình 3.7 Màn hình đăng nhập Internet Banking 51

Hình 3.8 Tìm kiếm thông tin 51

Hình 3.9 Truy vấn sao kê 52

Hình 3.10 Màn hình đăng nhập dịch vụ Internet banking 52

Trang 11

ix

Hình 3.11 Form điền thông tin giao dịch 53

Hình 3.12 Form điền thông tin và mật khẩu 53

Hình 3.13 Thực hiện gửi thông tin giao dịch và mật khẩu 54

Hình 3.14 Tạo chữ ký điện tử 54

Hình 3.15 Máy chủ gửi chữ ký và chứng chỉ cho người dùng 54

Hình 3.16 Người dùng gửi thông tin, chữ ký và chứng chỉ cho máy chủ 55

Hình 3.17 Kiểm tra chữ ký điện tử 55

Hình 3.18 Sơ đồ điều hành quản lí 56

Hình 3.19 Giao diện tạo cặp khóa và ký văn bản 57

Hình 3.20 Thực hiện ký lên tài liệu cần gửi 57

Hình 3.21 Xác thực sự toàn vẹn của tài liệu nhận được 58

Bảng 3.1 Kết quả thử nghiệm 58

Trang 12

Trong hoàn cảnh hệ thống mạng và mạng xã hội trở nên thông dụng, ứng dụng công nghệ thông tin nói chung và ứng dụng công nghệ thông tin trong hệ thống ngân hàng trở nên phổ biến Đi kèm với vấn đề đó là an toàn thông tin người dùng Ngân hàng Bưu điện Liên Việt cũng nhận thức được việc này Ngân hàng thương mại cổ phần Bưu điện Liên Việt hay Ngân hàng Bưu điện Liên Việt, tên giao dịch quốc tế: LienVietPostBank hoặc LPB, là một ngân hàng thương mại cổ phần của Việt Nam Nó được Ngân hàng Nhà nước Việt Nam cấp phép hoạt động vào tháng 3 năm 2008 và chính thức ra mắt ngày 1 tháng 5 năm 2008

Trong khuôn khổ luận văn tốt nghiệp cao học, tôi thấy vấn đề an toàn thông tin trong đơn vị mình công tác là quan trọng và có ý nghĩa Việc thử nghiệm chữ kí

số và quản lí hoạt động của các phòng giao dịch bưu điện, chẳng hạn (i) chấm các chứng từ; (ii) đóng/ mở ngày giao dịch trên phần mềm giao dịch bưu điện; (iii) đảm bảo an toàn hệ thống… Chữ kí số là công cụ sử dụng tại ngân hàng bưu điện Liên Việt Công việc của tôi tại cơ sở liên quan đến hạ tầng xác thực thông tin… Tôi đã chọn đề tài luận văn là “chữ kí số và ứng dụng xác thực thông tin trong các dịch vụ Internet Banking”

Cấu trúc của luận văn

Luận văn có cấu trúc theo các chương Mục tiêu của luận văn là ứng dụng được trong Ngân hàng Thương mại cổ phần Bưu điện Liên Việt Nội dung các chương như sau:

 Chương 1 trình bày về kiến thức về an toàn thông tin và chữ chữ kí số Đây là kiến thức tìm hiểu và tham khảo trong các tài liệu liên quan;

Trang 13

2

 Chương 2 đề cập đến các giải pháp xác thực thông tin trong Internet Banking và khả năng ứng dụng tại Ngân hàng Thương mại cổ phần Bưu điện Liên Việt;

 Chương 3 trình bày các giao dịch thường xuyên của Ngân hàng Thương mại cổ phần Bưu điện Liên Việt, trong đó có vai trò của tôi, trong việc thực hiện an toàn thông tin đối với các phòng giao dịch;

Luận văn có phần mở đầu và phần kết luận Cuối luận văn là danh sách các tài liệu tham khảo và trích dẫn

Trang 14

3

Chương 1 An toàn thông tin và chữ kí số

1.1 Về mã hóa dữ liệu

1.1.1 Khái niệm mã hóa thông tin

Theo [9, 4], mã hóa sử dụng thuật toán và khóa để biến đổi dữ liệu từ bản rõ sang bản mã Chỉ có những ai có thông tin giải mã thì mới giải mã được và đọc được dữ liệu Thuật toán mã hóa đề cập tới nghành khoa học nghiên cứu về mã hoá

và giải mã thông tin Cụ thể hơn là nghiên cứu các cách thức chuyển đổi thông tin

từ dạng rõ (clear text) sang dạng mã (cipher text) và ngược lại

Mã hóa là một phương pháp hỗ trợ rất tốt cho trong việc chống lại những truy cập bất hợp pháp tới dữ liệu được truyền đi trên mạng, áp dụng mã hoá sẽ khiến cho nội dung thông tin được truyền đi dưới dạng mờ và không thể đọc được đối với bất

kỳ ai cố tình muốn lấy thông tin đó Hệ thống mã hóa là một bộ năm (P, C, K, E, D) thỏa mãn các điều kiện sau:

 Tập nguồn P là tập hữu hạn tất cả các mẫu tin nguồn cần mã hóa có thể

 Tập đích C là tập hữu hạn tất cả các mẫu tin có sau khi mã hóa

 Tập khóa K là tập hữu hạn các khóa có thể được sử dụng

 E và D lần lượt là tập luật mã hóa và giải mã.Với mỗi khóa k  K, tồn tại luật mã hóa ek  E và luật giải mã dk  D tương ứng Luật mã hóa

ek: P → C và luật giải mã ek: C → P là hai ánh xạ thỏa mãn dk(ek(x)) =

x, x  P

Hình 1.1 Hệ thống mã hóa thông tin

Hệ thống mã hoá phải đảm bảo các tính chất sau [1]:

Trang 15

4

an toàn và không thể bị lộ thông tin nếu như có ai đó cố tình muốn có được nội dung của dữ liệu gốc ban đầu Chỉ những người được phép mới có khả năng đọc được nội dung thông tin ban đầu

được chắc chắn dữ liệu mà họ nhận là dữ liệu gốc ban đầu Kẻ giả mạo không thể có khả năng để giả dạng một người khác hay nói cách khác không thể mạo danh để gửi dữ liệu Người nhận có khả năng kiểm tra nguồn gốc thông tin mà họ nhận được

rằng dữ liệu không bị thay đổi trong quá trình truyền đi Kẻ giả mạo không thể có khả năng thay thế dữ liệu ban đầu băng dữ liệu giả mạo

không thể chối bỏ sau khi đã gửi hoặc nhận thông tin

Có rất nhiều các thuật toán mã hoá khác nhau Từ những thuật toán được công khai để mọi người cùng sử dụng và áp dụng như là một chuẩn chung cho việc mã hoá dữ liệu; đến những thuật toán mã hoá không được công bố

Có thể phân loại theo các phương pháp:

1 Mã hoá cổ điển (Classical cryptography),

2 Mã hoá đối xứng (Symetric cryptography),

3 Mã hoá bất đối xứng(Asymetric cryptography),

4 Hàm băm (Hash function)

Hoặc phân loại theo số lượng khoá:

1 Mã hoá khoá bí mật (Private-key Cryptography),

2 Mã hoá khoá công khai (Public-key Cryptography)

Trang 16

dữ liệu của cá nhân hay tổ chức đơn lẻ

Bảng 1.1 Các thuật toán mã hóa khóa bí mật

Data Encryption

Standard (DES)

DES là một thuật toán mã hóa đối xứng dạng mã khối, mã hóa

dữ liệu trong từng khối 64-bit sử dụng một khóa 56-bit với 8 bits chẵn lẽ Chính độ dài của khóa ngắn cho nên DES là một thuật toán mã hóa hơi yếu

(3DES)

3DES là một thuật toán mã hóa đối xứng tiến hành mã hóa dữ liệu thông qua việc xử lý mỗi block 3 lần và mỗi lần dùng một khóa khác nhau Trước hết nó sẽ mã hóa bản rõ thành bản mã hóa dùng một khóa, sau đó lại tiếp tục mã hóa bản mã hóa với khóa, và tiếp tục mã hóa bản mã hóa thứ 2 này với một khóa khác nữa

(RC) 4, 5, and 6

Thuật toán RC bao gồm một series được phát triển bởi Ronald Rivest Tất cả có chiều dài khóa khác nhau RC4 là một thuật toán mã hóa dòng RC5 và RC6 là các thuật toán mã hóa khối với các kích cỡ khác nhau

Skipjack Skipjack là một thuật toán mã hóa khối được thiết kế bởi Cơ

quan bảo mật quốc gia Hoa kỳ - US National Security Agency (NSA) được sử dụng trong chip Clipper Fortezza PC card Blowfish Blowfish là một thuật toán mã hóa miễn phí theo khối 64-bit

sử dụng khóa có độ dài khác nhau Được phát triển bởi Bruce Schneier

CAST-128 CAST-128, được đặt theo tên người phát triển là Carlisle

Adams và Stafford Tavares, là một thuật toán mã hóa đối xứng có chiều dài khóa 128-bit

Trang 17

6

Trong các thuật toán trên, DES là thuật toán mã hoá khóa bí mật điển hình được sử dụng rộng rãi nhất trên thế giới Ở thời điểm DES ra đời người ta đã tính toán rằng việc phá được khoá mã DES là rất khó khăn, nó đòi hỏi chi phí hàng chục triệu USD và tiêu tốn khoảng thời gian rất nhiều năm Cùng với sự phát triển của các loại máy tính và mạng máy tính có tốc độ tính toán rất cao, khoá mã DES có thể

bị phá trong khoảng thời gian ngày càng ngắn với chi phí ngày càng thấp Dù vậy việc này vẫn vượt xa khả năng của các hacker thông thường và mã hoá DES vẫn tiếp tục tồn tại trong nhiều lĩnh vực như ngân hàng, thương mại, thông tin nhiều

năm nữa đặc biệt với sự ra đời của thế hệ DES mới, tức Triple DES"

Quá trình mã hóa của thuật toán DES: Bước đầu tiên là chuyển 64 bit chìa

khoá qua một bảng hoán vị gọi là Permuted Choice hay PC-1 để thu được chìa khoá mới có 56 bit Sau khi vệc chuẩn bị chìa khoá và dữ liệu mã hoá hoàn thành, thực hiện mã hoá bằng thuật toán DES Đầu tiên, khối dữ liệu đầu vào 64 bit được chia thành hai nửa, L và R L gồm 32 bit bên trái và R gồm 32 bit bên phải Quá trình sau đây được lặp 16 lần tạo thành 16 vòng của DES gồm 16 cặp L[0]-L[15] và R[0]-R[15]:

 R[r-1]- ở đây r là số vòng, bắt đầu từ 1- được lấy và cho qua bảng E bit Selection Table), bảng này giống như một bảng hoán vị, có điều là một số bit được dùng hơn một lần do vậy nó sẽ mở rộng R[r-1] từ 32 bit lên 48 bit để chuẩn bị cho bước tiếp theo

(E- 48 bit R[r-1] được XOR với K[r] và được lưu trong bộ nhớ đệm, vì vậy R[r-1] không thay đổi

 Kết quả của bước trước lại được chia thành 8 đoạn, mỗi đoạn 6 bit, từ B[1] đến B[8] Những đoạn này tạo thành chỉ số cho các bảng S (Substitution) được sử dụng ở bước tiếp theo Các bảng S, là một bộ 8 bảng (S[1]-S[8]) 4 hàng, 16 cột Các số trong bảng có độ dài 4 bit vì vậy có giá trị từ 0 đến 15

 Bắt đầu từ B[1], bit đầu và cuối của khối 6 bit được lấy ra và sử dụng làm chỉ số hàng của bảng S[1], nó có giá trị từ 0 đến 3, và 4 bit giữa được dùng làm chỉ số cột, từ 0 đến 15 Giá trị được chỉ đến trong bảng

S được lấy ra và lưu lại Việc này được lặp lại đối với B[2] và S[2] cho

Trang 18

và các chìa khoá phụ K[1]-K[16] đã được sử dụng

 Khi đã có L[16] và R[16], chúng được ghép lại với nhau theo cách chúng

bị tách ra (L[16] ở bên trái và R[16] ở bên phải) thành 64 bit 64 bit này được hoán vị để tạo ra kết quả cuối cùng là dữ liệu 64 bit đã được mã hoá

Quá trình giải mã của thuật toán DES: Việc giải mã dùng cùng một thuật toán

như việc mã hoá Để giải mã dữ liệu đã được mã hoá, quá trình như giống như mã hoá được lăp lại nhưng các chìa khoá phụ được dùng theo thứ tự ngược lại từ K[16]

đến K[1], nghĩa là trong bước 2 của quá trình mã hoá dữ liệu đầu vào ở trên R[r-1]

sẽ được XOR với K[17-r] chứ không phải với K[r]

1.1.3 Mã hóa khóa công khai

Theo [4, 7], phương pháp mã hóa khóa công khai (public key cryptography)

đã giải quyết được vấn đề của phương pháp mã hóa khóa bí mật là sử dụng hai khóa khóa công khai (public key) và khóa bí mật (private key) Public key được gửi công khai trên mạng, trong khi đó private key được giữ kín Public key và private key có vai trò trái ngược nhau, một khóa dùng để mã hóa và khóa kia sẽ dùng để giải mã Phương pháp này còn được gọi là mã hóa bất đối xứng (asymmetric cryptography)

vì nó sử dụng hai khóa khác nhau để mã hóa và giải mã dữ liệu

Giả sử B muốn gửi cho A một thông điệp bí mật sử dụng phương pháp mã hóa khóa công khai Ban đầu, A có cả private key và public key A sẽ giữ private key ở nơi an toàn và gửi public key cho B B mã hóa và gửi cho A thông điệp đã mã hóa bằng public key nhận được của A Sau đó A sẽ giải mã thông điệp bằng private key của mình Ngược lại nếu A muốn gửi thông điệp cho B thì A phải mã hóa thông điệp bằng public key của B

Trang 19

8

Các thuật toán loại này cho phép trao đổi khóa một cách dễ dàng và tiện lợi Tuy nhiên, tốc độ mã hóa chậm nên thường chỉ được sử dụng mã hóa dữ liệu nhỏ

Bảng 1.2 Các thuật toán mã hóa khóa công khai

Rivest Shamir

Adelman (RSA)

RSA, được đặt tên theo người thiết kế là Ronald Rivest, Adi Shamir, và Len Adelman, là thuật toán thành công đầu tiên sử dụng cho mã hóa khóa công (public-key encryption) Nó có

độ dài khóa khác nhau và các kích cỡ khối khác nhau RSA vẫn được xem là rất an toàn nếu được triển khai dùng với các khóa có chiều dài lớn

Diffie-Hellman Diffıe-Hellman là một giao thức mã hóa cung cấp khóa

chuyển đổi an toàn Được mô tả vào năm 1976, được hình thành trên nền tảng của các các kỹ thuật mã hóa public-key phổ biến bao gồm cả RSA

Elgamal Elgamal là một thuật toán mã hóa public-key được phát triển

bởi Taher Elgamal Nó cũng dựa trên nền tảng của Diffie Hellman

-Paillier

Cryptosystem

Paillier cryptosystem là một thuật toán mã hóa bất đối xứng được phát triển bởi Pascal Paillier

Thuật toán RSA (được đặt tên từ ba nhà phát minh là Ron Rivest, Adi Shamir

và Leonard Adleman) là thuật toán mã hóa khóa công khai được sử dụng nhiều

nhất Thuật toán sử dụng biểu thức với hàm mũ để mã hóa bản gốc thành các khối, mỗi khối có một giá trị nhị phân nhỏ hơn n

Giả sử khối bản gốc của người gửi là M và khối bản mã của người nhận là C thì:

 C = Me mod n

 M = Cd mod n

Cả người gửi và người nhận phải biết giá trị n Người gửi biết giá trị e và chỉ người nhận biết giá trị d Đây là một thuật toán mã hóa khóa công khai với khóa công khai KU = {e,n} và khóa riêng KR = {d,n} Để thuật toán này được thỏa mãn cho mã hóa khoá công khai, các yêu cầu sau đây phải được đáp ứng:

 Có thể tìm thấy giá trị của e, d, n sao cho Med = M mod n với tất cả

M < n

Trang 20

9

 Tương đối dễ tính toán Me và C với tất cả các giá trị của M < n

 Không thể xác định d dựa trên e và n

Hình 1.2 Sơ đồ biểu diễn thuật toán RSA

1.1.4 Hàm băm

Theo [7], hàm băm là giải thuật nhằm sinh ra các giá trị băm tương ứng với mỗi khối dữ liệu Mục đích của một hàm băm là tạo ra một "dấu vân tay" của một tập tin, thông điệp, hoặc khối dữ liệu khác Nếu H là hàm băm thì H có các thuộc tính sau đây:

 H có thể được áp dụng cho một khối dữ liệu có kích thước bất kỳ

 H tạo ra một đầu ra có độ dài cố định

 H (x) là tương đối dễ dàng để tính toán cho bất kỳ x được đưa ra, cho cả phần cứng và phần mềm triển khai thực tế

 Đối với bất kỳ mã h, gần như không thể tìm x sao cho H (x) = h

 Đối với bất kỳ khối cho x, gần như không thể tìm y ≠ x với H (y) = H (x)

 Gần như không thể tìm thấy bất kỳ cặp (x, y) sao cho H (x) = H (y)

Ba thuộc tính đầu tiên được yêu cầu đối với các ứng dụng thực tế của một hàm băm để xác thực thông điệp Thuộc tính thứ tư là thuộc tính "một chiều": Nó dễ dàng để tạo ra một mã khi đưa ra thông điệp, nhưng hầu như không thể tạo ra một thông điệp khi đưa ra một mã Thuộc tính này là quan trọng nếu các kỹ thuật xác thực bao gồm việc sử dụng một giá trị bí mật

Trang 21

10

Bảo đảm thuộc tính thứ năm mà không thể tìm thấy một thông điệp thay thế với giá trị băm như thông điệp đã đưa ra Điều này ngăn cản sự giả mạo khi một mã băm mật mã được sử dụng Nếu thuộc tính này không đúng, kẻ tấn công sẽ có khả năng làm theo trình tự sau đây: Thứ nhất, thực hiện hoặc ngăn chặn tin nhắn cộng với mã mã hóa băm của nó; thứ hai, tạo ra một mã băm không được mã hóa từ thông điệp; thứ ba, tạo ra một thông điệp sửa đổi với cùng mã băm

Một hàm băm thỏa mãn năm thuộc tính đầu tiên trong danh sách trước đó được gọi là một hàm băm yếu Nếu các thuộc tính thứ sáu là cũng được thỏa mãn thì được gọi là một hàm băm mạnh

Hàm băm có thể được ứng dụng để tạo chữ kí điện tử, chống và phát hiện xâm nhập hay dùng để bảo vệ tính toàn vẹn của thông điệp được gửi qua mạng

Bảng 1.3 Các thuật toán băm

Message Digest 5

(MD5)

Thuật toán MD5 tạo thành một dạng thông điệp được mã hóa với 128-bit, được tạo ra bởi Ronald Rivest và hiện là công nghệ mã hóa mang tính phổ biến rộng rãi - public

1.1.4.1 Giải thuật MD5

MD5 (Message-Digest algorithm 5) được thiết kế bởi Ronald Rivest vào năm

1991 để thay thế cho hàm băm trước đó, MD4 (cũng do ông thiết kế, trước đó nữa

là MD2) MD5 là một hàm băm để mã hóa với giá trị băm là 128bit được sữ dụng rộng rãi trong các chương trình an ninh mạng, được dùng để kiểm tra tính nguyên vẹn của tập tin và ứng dụng trong chữ ký điện tử

Quá trình xử lý của thuật toán bao gồm các bước sau:

Bước 1: Gắn thêm các bit

Thông điệp được mở rộng, thêm bit vào phía sau sao cho độ dài của nó (tính theo bit) đồng dư với 448 theo môđun 512 Nghĩa là thông điệp được mở rộng sao cho nó còn thiếu 64 bit nữa thì sẽ có một độ dài chia hết cho 512 Việc này luôn

Trang 22

đó các bit “0“ được thêm vào để có một độ dài đồng dư với 448 môđun 512

Hình 1.3 Một thao tác trong 64 tác vụ của thuật toán MD5

Bước 2: Gắn thêm độ dài

Độ dài của khối dữ liệu ban đầu được biểu diễn dưới dạng nhị phân 64-bit và được thêm vào cuối chuỗi nhị phân kết quả của bước 1 Nếu độ dài của khối dữ liệu ban đầu > 264, chỉ 64 bits thấp được sử dụng, nghĩa là giá trị được thêm vào bằng K mod 264 Kết quả có được từ 2 bước đầu là một khối dữ liệu có độ dài là bội số của

512 Khối dữ liệu được biểu diễn: Bằng một dãy L khối 512-bit Y0, Y1,…, YL-1; Bằng một dãy N từ (word) 32-bit M0, M1, MN-1 Vậy N = L x 16 (32 x 16 = 512)

Bước 3: Khởi tạo bộ đệm MD

Một bộ đệm 128-bit được dùng lưu trữ các giá trị băm trung gian và kết quả

Bộ đệm được biểu diễn bằng 4 thanh ghi 32-bit với các giá trị khởi tạo ở dạng endian (byte có trọng số nhỏ nhất trong từ nằm ở địa chỉ thấp nhất) như sau:

little- A = 67 45 23 01

 B = EF CD AB 89

 C = 98 BA DC FE

Trang 23

12

 D = 10 32 54 76

Bước 4: Xử lý các khối dữ liệu 512-bit

Trọng tâm của giải thuật là hàm nén (compression function) gồm 4 “vòng” xử

lý Các vòng này có cấu trúc giống nhau nhưng sử dụng các hàm luận lý khác nhau gồm F, G, H và I:

Bước 5: Xuất kết quả

Sau khi xử lý hết L khối 512-bit, đầu ra của lần xử lý thứ L là giá trị băm 128 bits

1.1.4.2 Giải thuật SHA-1

SHA (Secure Hash Algorithm) là năm thuật giải được chấp nhận bởi FPS (Federal Information Processing Standards) dùng để chuyển một đoạn dữ liệu nhất định thành một đoạn dữ liệu có chiều dài không đổi với xác suất khác biệt cao

Có năm thuật giải SHA là SHA-1 (trả lại kết quả dài 160 bit), SHA-224 (trả lại kết quả dài 224 bit), SHA-256 (trả lại kết quả dài 256 bit), SHA-384 (trả lại kết quả dài 384 bit), và SHA-512 (trả lại kết quả dài 512 bit)

Hình 1.4 Sinh ra tiêu hóa tin sử dụng SHA-1

Trang 24

13

Thuật giải SHA là thuật giải băm mật được phát triển bởi cục an ninh quốc gia

Mĩ (National Security Agency hay NSA) và được xuất bản thành chuẩn của chính phủ Mĩ bởi viện công nghệ và chuẩn quốc gia Mĩ (National Institute of Standards and Technology hay NIST) Bốn thuật giải sau thường được gọi chung là SHA-2 SHA-1 được sử dụng rộng rãi trong nhiều ứng dụng và giao thức an ninh khác nhau, bao gồm TLS và SSL, PGP, SSH, S/MIME, và IPSec SHA-1 được coi là thuật giải thay thế MD5, một thuật giải băm 128 bit phổ biến khác

Quá trình xử lý của thuật toán bao gồm các bước sau:

Bước 1: Gắn thêm các bit

Thông điệp được mở rộng, thêm bit vào phía sau sao cho độ dài của nó (tính theo bit) đồng dư với 448 theo môđun 512 Nghĩa là thông điệp được mở rộng sao cho nó còn thiếu 64 bit nữa thì sẽ có một độ dài chia hết cho 512 Việc này luôn được thực hiện ngay cả khi bản thân độ dài thông điệp đã đồng dư với 448 theo môđun 512

Trong tất cả các trường hợp, có ít nhất 1 và nhiều nhất 512 bit được thêm vào Việc thêm bit này thực hiện như sau: một bit “1“ được thêm vào sau thông điệp, sau

đó các bit “0“ được thêm vào để có một độ dài đồng dư với 448 môđun 512

Bước 2: Gắn thêm độ dài

Độ dài của khối dữ liệu ban đầu được biểu diễn dưới dạng nhị phân 64-bit và được thêm vào cuối chuỗi nhị phân kết quả của bước 1 Độ dài được biểu diễn dưới dạng nhị phân 64-bit không dấu Kết quả có được từ 2 bước đầu là một khối dữ liệu

có độ dài là bội số của 512 Khối dữ liệu được biểu diễn: Bằng một dãy L khối bit Y 0 , Y 1 ,…, Y L-1 ; Bằng một dãy N từ (word) 32-bit M 0 , M 1 , M N-1 Vậy N = L x 16

512-(32 x 16 = 512)

Bước 3: Khởi tạo bộ đệm MD

Một bộ đệm 160-bit được dùng lưu trữ các giá trị băm trung gian và kết quả

Bộ đệm được biểu diễn bằng 5 thanh ghi 32-bit với các giá trị khởi tạo ở dạng endian (byte có trọng số lớn nhất trong từ nằm ở địa chỉ thấp nhất) như sau:

big- A = 01 23 45 67

 B = 89 AB CD EF

 C = FE DC BA 98

Trang 25

14

 D = 76 54 32 10

 E = C3 D2 E1 F0

Bước 4: Xử lý các khối dữ liệu 512-bit

Trọng tâm của giải thuật bao gồm 4 vòng lặp thực hiện tất cả 80 bước 4 vòng lặp có cấu trúc như nhau, chỉ khác nhau ở các hàm logic f1, f2, f3, f4 Mỗi vòng có đầu vào gồm khối 512-bit hiện thời và một bộ đệm 160-bit ABCDE Các thao tác sẽ cập nhật giá trị bộ đệm Mỗi bước sử dụng một hằng số Kt (0 ≤ t ≤ 79)

 Kt = 5A827999 (0 ≤ t ≤ 19)

 Kt = 6ED9EBA1 (20 ≤ t ≤ 39)

 Kt = 8F1BBCDC (40 ≤ t ≤ 59)

 Kt = CA62C1D6 (60 ≤ t ≤ 79) Đầu ra của 4 vòng (bước 80) được cộng với đầu ra của bước CVq để tạo ra

CVq+1

Bước 5: Xuất kết quả

Sau khi thao tác trên toàn bộ L khối Kết quả của khối thứ L là bảng băm bit

160-1.2 Về chữ kí điện tử

1.2.1 Khái niệm chữ ký điện tử

Chữ ký điện tử được tạo lập dưới dạng từ, chữ, số, ký hiệu, âm thanh hoặc các hình thức khác bằng phương tiện điện tử, gắn liền hoặc kết hợp một cách lô gíc với thông điệp dữ liệu, có khả năng xác nhận người ký thông điệp dữ liệu và xác nhận

sự chấp thuận của người đó đối với nội dung thông điệp dữ liệu được ký (Theo luật giao dịch điện tử của Quốc hội nước Cộng hòa xã hội chủ nghĩa Việt Nam số 51/2005/QH11, theo [6])

Khái niệm chữ ký số (digital signature) và chữ ký điện tử (electronic

signature) thường được dùng thay thế cho nhau mặc dù chúng không hoàn toàn có

cùng nghĩa Chữ ký số chỉ là một tập con của chữ ký điện tử (chữ ký điện tử bao hàm chữ ký số) Chữ ký số thường được sử dụng để thực thi chữ ký điện tử, nhưng không phải tất cả các chữ ký điện tử sử dụng chữ ký số

Chữ ký số sử dụng một kiểu mật mã phi đối xứng (asymmetric cryptography) Với các thông điệp gửi qua một kênh không an toàn, một chữ ký số thực thi đúng

Trang 26

15

đem đến cho người nhận tin tưởng rằng thông điệp đã được gửi bởi đúng người gửi Chữ ký số tương đương với chữ ký viết tay truyền thống (traditional handwritten signatures) ở nhiều khía cạnh; hơn nữa, một chữ ký số thực thi đúng sẽ khó giả mạo hơn so với chữ ký viết tay Lược đồ chữ ký số chủ yếu dựa vào lý thuyết mật mã, và phải được thực thi đúng mới có hiệu quả

Chữ ký số cũng có thể cung cấp tính chống chối bỏ (non-repudiation), có nghĩa là người ký không thể khẳng định là không ký vào thông báo đó, trong khi yêu cầu người ký giữ kín khóa bí mật; hơn nữa, một số lược đồ chống chối bỏ còn đưa nhãn thời gian (time stamp) vào trong chữ ký số, do đó ngay cả khi khóa bí mật

bị lộ thì dù sao chữ ký vẫn hợp lệ Bất kỳ thông điệp ký số nào cũng có thể được biểu diễn như một chuỗi bit: ví dụ như thư điện tử, hợp đồng, hoặc một thông điệp được gửi qua các giao thức mật mã

Một lược đồ chữ ký số điển hình bao gồm có 3 thuật toán:

1 Thuật toán sinh khóa để lựa chọn ra một khóa bí mật ngẫu nhiên đều từ tập hợp các khóa bí mật có thể Thuật toán này cũng tạo ra khóa bí mật

và một khóa công khai tương ứng

2 Thuật toán ký, đầu vào là thông báo và khóa bí mật, để tạo ra một chữ ký

1.2.2 Cơ sở hạ tầng khóa công khai (PKI)

PKI là một kiến trúc an ninh được giới thiệu để gia tăng mức độ bảo mật trong việc trao đổi thông tin thông qua mạng Internet Phần này trình bày tổng quan về PKI, các khái niệm và các thành phần sử dụng trong PKI

Cuộc sống trong thời đại Internet đã tăng tầm quan trọng và yêu cầu của an ninh thông tin, đặc biệt là trong các tổ chức thông tin lớn mạnh Để đáp ứng các yêu cầu này, các tổ chức đã quyết định phát triển và triển khai một cơ sở hạ tầng khoá

Trang 27

Một cơ sở hạ tầng khóa công khai cho phép một tổ chức tận dụng tốc độ của mạng Internet trong khi vẫn bảo vệ các thông tin quan trọng khỏi việc nghe trộm, giả mạo, và truy cập trái phép

Một PKI cung cấp các khả năng sau:

1 Giao tiếp an toàn với các cá nhân trong các tổ chức trên toàn thế giới: PKI cho phép người dùng truy cập từ xa với các kênh an toàn tới mạng nội bộ của họ

2 Trao đổi dữ liệu bí mật với các đối tác kinh doanh của tổ chức: Một PKI

hỗ trợ tạo ra mạng mở rộng an toàn cung cấp một số lựa chọn để các đối tác dễ dàng truy cập các thông tin cần chia sẻ giữa hai bên mà lưu trữ trong mạng nội bộ của tổ chức mình

3 Tận dụng lợi thế của thương mại điện tử an toàn PKI cung cấp một thế giới an toàn để mua hàng và dịch vụ trên Web

Ngoài ra, một PKI có thể cung cấp các lợi ích sau:

chứng chỉ số cho phép người dùng cá nhân, tổ chức và người điều hành trang web nhận diện các bên trong giao dịch Internet

diễn ra trong quá trình lưu trữ và truyền tải thông qua mạng Chứng chỉ

số đảm bảo rằng thông điệp hoặc tài liệu của chủ sở hữu không bị thay

đổi

không thể chối bỏ việc tham gia Chứng chỉ số xác nhận danh tính của

Trang 28

17

người dùng, khiến cho người dùng không thể chối bỏ một giao dịch số

đã được ký

1.2.3 Các thành phần của cơ sở hạ tầng khóa công khai

Một PKI (public key infrastructure) cho phép người sử dụng của một mạng công cộng không bảo mật, chẳng hạn như Internet, có thể trao đổi dữ liệu và tiền một cách an toàn Nền tảng khoá công khai cung cấp một chứng chỉ số, dùng để xác minh một cá nhân hoặc tổ chức, và các dịch vụ danh mục có thể lưu trữ và khi cần

có thể thu hồi các chứng chỉ số Mặc dù các thành phần cơ bản của PKI đã phổ biến, nhưng một số nhà cung cấp đang muốn đưa ra những chuẩn PKI riêng khác biệt Một tiêu chuẩn chung về PKI trên Internet cũng đang trong quá trình xây dựng

Cơ sở hạ tầng khóa công khai đề cập tới việc tạo, cung cấp, phân phối, kiểm soát, quản lý khóa công khai và cung cấp những hỗ trợ cần thiết để hỗ trợ cho việc cung cấp ứng dụng bảo mật, xác thực giao dịch mạng cũng như tính toàn vẹn và chống chối bỏ nguồn gốc

Một cơ sở hạ tầng khoá công khai bao gồm:

1 Cơ quan cung cấp chứng thực số (CA)

2 Cơ quan quản lý đăng ký (RA)

3 Cơ quan quản lý đăng ký địa phương (LRA): Dùng đối với PKI có mạng lưới rộng lớn về mặt địa lý

4 Kho lưu trữ chứng chỉ (CD)

5 Danh sách thu hồi chứng chỉ (CRL): Dùng đối với PKI cần một kho lưu trữ các chứng chỉ bị thu hồi riêng với chứng chỉ còn hiệu lực

Trang 29

18

Hình 1.5 Cơ sở hạ tầng khóa công khai (PKI)

1.2.3.1 Tổ chức chứng nhận khóa công khai (CA)

CA là một thành phần thiết yếu của PKI CA phát hành các chứng chỉ sau khi danh tính của người sẽ sở hữu chứng chỉ đã được xác nhận Cấp một chứng chỉ có nghĩa là CA ký vào hàm băm để bảo vệ sự toàn vẹn và xác thực danh tính của người

sở hữu Kết quả là các chứng chỉ đã phát hành có thể được sẵn sàng công khai và sử dụng bởi các cá nhân đang làm việc hoặc kinh doanh với chủ sở hữu chứng chỉ

CA có thể là một đơn vị trong tổ chức hoặc của một thực thể độc lập CA phát hành chứng chỉ cho các RA, LRA, và người dùng Đồng thời, CA cũng chịu trách nhiệm thu hồi chứng chỉ và tạo, duy trì, phát hành danh sách thu hồi chứng chỉ, duy trì lưu trữ các chứng chỉ đã hết hạn và bị thu hồi, và có thể giữ lại một bản sao khóa

bí mật mã hóa dữ liệu của người dùng để phục hồi dữ liệu trong trường hợp người dùng mất khóa bí mật

Một CA cũng có thể nói rõ chất lượng của các kiểm tra đã tiến hành trước khi chứng chỉ được cung cấp Các loại khác nhau của giấy chứng nhận có thể được trả giá tương ứng với mức độ kiểm tra đã thực hiện Có 4 loại chứng chỉ phổ biến:

1 Loại 1: Chứng chỉ dễ dàng có được bằng cách cung cấp một địa chỉ email

Trang 30

19

2 Loại 2: Chứng chỉ yêu cầu bổ sung thêm một số thông tin cá nhân

3 Loại 3: Chứng chỉ được cung cấp sau khi đã kiểm tra kỹ lưỡng thông tin của người yêu cầu

4 Loại 4: Chứng chỉ được sử dụng bởi chính phủ hoặc các tổ chức cần tới mức độ cao đối với việc xác nhận định danh của người dùng Thông tin thu hồi chứng chỉ được cung cấp bởi CA về chứng chỉ bị thu hồi cho người dùng biết các chứng chỉ nào không còn hiệu lực và có thể làm theo hai cách:

1 Chứng chỉ có thể được xóa từ kho lưu trữ hoặc cơ sở dữ liệu mà chúng được tìm thấy Kết quả là bất kỳ nỗ lực nào tìm kiếm sự tồn tại của chứng chỉ đó sẽ thất bại và mọi người hiểu rằng chúng đã bị thu hồi

2 Một hệ thống chứa danh sách thu hồi (CRLs) được phát triển ngoài kho lưu trữ chứng chỉ Đây là danh sách các chứng chỉ không còn hiệu lực

1.2.3.2 Cơ quan quản lý đăng ký (RA)

Một CA thường sử dụng một hoặc nhiều cơ sở RA để kiểm tra người nộp đơn đăng ký Một RA cho phép cung cấp thông tin xác nhận danh tính đến CA Tùy thuộc vào từng cơ sở hạ tầng cụ thể, có thể là RA hoặc cơ quan đăng ký địa phương (LRA) gửi khóa công khai của người nộp đơn đến CA để chứng nhận và đặt trong một chứng chỉ Các RA cũng chịu trách nhiệm quản lý bất kỳ LRA nào được coi là cần thiết và phục vụ như là điểm thông báo yêu cầu thu hồi

1.2.3.3 Cơ quan quản lý đăng ký địa phương (LRA)

Giống như RA, LRA có trách nhiệm đối với các đơn đăng ký Các LRA cho phép tạo ra xác nhận và cung cấp các thông tin cần thiết cho CA

Người dùng được yêu cầu chứng minh danh tính của mình bằng chứng minh thư Sau khi danh tính được xác minh LRA thực hiện đăng ký người sử dụng Sau

đó người dùng được dạy làm thế nào để sinh cặp khóa của họ và nhận chứng nhận

từ CA Các LRA chỉ được thiết lập trong các PKI lớn mà người dùng ở trong khu vực địa lý rộng, do đó sẽ có lợi ích từ khả năng tiếp cận của một văn phòng địa phương để xử lý đăng ký người sử dụng và thay mặt CA quản lý người sử dụng

Trang 31

20

1.2.3.4 Kho lưu trữ chứng chỉ (CD)

Kho lưu trữ chứng chỉ là một trong những thành phần quan trọng của bất kỳ PKI nào Các CA cung cấp chứng chỉ và danh sách thu hồi chứng chỉ đến kho lưu trữ chứng chỉ Bằng cách này, người dùng có thể nhận chứng chỉ của những người dùng khác mà được cấp chứng chỉ bởi CA sở hữu kho lưu trữ Kho lưu trữ này lưu trữ tất cả các chứng chỉ hiện hành và danh sách chứng chỉ thu hồi hiện hành

Kho lưu trữ chứng chỉ là cơ sở dữ liệu lưu trữ các chứng chỉ Chúng có thể được công khai hoặc hạn chế truy cập cho một tổ chức cụ thể Ví dụ, một tổ chức có thể có kho lưu trữ riêng nơi giữ các chứng chỉ dành riêng cho người dùng của tổ chức này

1.2.3.5 Danh sách thu hồi chứng chỉ (CRL)

Mỗi chứng chỉ có ghi ngày hết hạn Thêm vào đó, một giấy chứng nhận có thể trở thành không hợp lệ trước ngày hết hạn Do đó, CA cần một cơ chế để cung cấp một bản cập nhật trạng thái cho các chứng chỉ đã cung cấp và phát hành

Một phương pháp để giải quyết vấn đề này là xóa các chứng chỉ từ kho lưu trữ chứng chỉ Kết quả là, bất kỳ một nỗ lực nào kiểm tra sự tồn tại của các chứng chỉ

đã xóa sẽ thất bại và chúng ta hiểu rằng chứng chỉ đã thu hồi Có 3 vấn đề với phương pháp này:

 Một cuộc tấn công từ chối dịch vụ vào kho lưu trữ chứng chỉ hoặc cơ sở

dữ liệu có thể tạo ra sự xuất hiện của chứng chỉ lỗi;

 Xóa các bản ghi không nói cho người yêu cầu thông tin tại sao không có;

 Nhiều sự triển khai PKI có thể tạo ra các bản sao chép tại nhiều nơi Kết quả là một hệ thống quản lý danh mục thu hồi đã được phát triển bên ngoài kho lưu trữ chứng chỉ Một CRL là một máy tính tạo ra danh sách các chứng chỉ được thu hồi bởi các công ty phát hành trước ngày hết hạn ban đầu của chúng vì một số lý do Khả năng tiếp cận với các danh sách thu hồi là hết sức quan trọng cho

sự tin tưởng cần thiết của cơ sở hạ tầng, các bên phải đảm bảo rằng các chứng chỉ

mà họ sử dụng chưa được thu hồi Vì vậy, những danh sách này phải có sẵn mọi lúc, ngay cả khi kho lưu trữ chứng chỉ có thể không có

Trang 32

21

1.3 Tạo và kiểm tra chữ kí số

1.3.1 Tạo chữ kí số

Người ta theo các bước:

1 Bước 1: Dùng giải thuật băm (MD5 hoặc SHA) để băm thông điệp cần

truyền đi Kết quả ta được một tiêu hóa tin (message digest);

2 Bước 2: Sử dụng khóa bí mật (private key) của người gửi để mã hóa tiêu

hóa tin thu được ở bước 1 Thông thường ở bước này ta dùng giải thuật RSA Kết quả thu được gọi là chữ ký điện tử của thông điệp ban đầu;

3 Bước 3: Gộp chữ ký điện tử vào thông điệp ban đầu Công việc này gọi

là “ký nhận” vào thông điệp Sau khi đã ký nhận vào thông điệp, mọi sự thay đổi trên thông điệp sẽ bị phát hiện trong giai đoạn kiểm tra Ngoài

ra, việc ký nhận này đảm bảo người nhận tin tưởng thông điệp này xuất phát từ người gửi chứ không phải là ai khác

Hình 1.6 Các bước tạo chữ ký điện tử

Trang 33

22

1.3.2 Kiểm tra chữ kí số

Để kiểm tra chữ kí số, người ta theo các bước:

1 Bước 1: Dùng mã hóa khóa công khai của người gửi (khóa này được

thông báo đến mọi người) để giải mã chữ ký số của văn bản

2 Bước 2: Dùng giải thuật băm (MD5 hoặc SHA) băm thông điệp đính

kèm

3 Bước 3: So sánh kết quả thu được ở bước 1 và 2 Nếu trùng nhau, ta kết

luận thông điệp này không bị thay đổi trong quá trình truyền và thông

điệp này là của người gửi

Hình 1.7 Các bước kiểm tra chữ ký điện tử

1.4 Kết luận

Chương 1 đã trình những tìm hiểu về chữ kí số và vai trò của mật mã trong việc đảm bảo an toàn dữ liệu Hạ tầng khóa công khai PKI đã được trình bày, như ứng dụng tại Ngân hàng Thương mại cổ phần Bưu điện Liên Việt

Trang 34

2.1 Giới thiệu chung xác thực thông tin

Xác thực (Authentification) là kỹ thuật kiểm tra tính hợp pháp của một thực thể giao tiếp trên mạng được quyền sử dụng tài nguyên của mạng Một thực thể có thể là một người sử dụng, một chương trình ứng dụng, hoặc một thiết bị phần cứng Các hoạt động kiểm tra tính xác thực được đánh giá là quan trọng nhất trong các hoạt động của một phương thức bảo mật Một hệ thống thông thường phải thực hiện kiểm tra tính xác thực của một thực thể trước khi thực thể đó thực hiện kết nối với

hệ thống Việc xác thực thường kết hợp với sự cho phép sử dụng hay từ chối phục

vụ Xác thực thông thường bằng mật khẩu (Password), dấu vân tay hay các dấu hiệu đặc trưng Nói cách khác, xác thực là sự cho phép xác định người sử dụng được quyền thực hiện một hành động nào đó như đọc/ghi một tệp, hay sử dụng tài nguyên phần mềm, sử dụng các tài nguyên phần cứng, sử dụng các dịch vụ mạng Người

sử dụng phải qua giai đoạn xác thực bằng mật khẩu trước khi được phép khai thác thông tin hay một tài nguyên nào đó trên mạng Cơ chế kiểm tra tính xác thực của các phương thức bảo mật dựa vào 3 mô hình chính sau:

- Đối tượng cần kiểm tra cần phải cung cấp những thông tin trước, ví dụ như Password, hoặc mã số PIN (PersonalInformation Number)

- Kiểm tra dựa vào mô hình những thông tin đã có, đối tượng kiểm tra cần phải thể hiện những thông tin mà chúng sở hữu, ví dụ như Private Key, hoặc số thẻ tín dụng

2.1.1 Các kỹ thuật xác thực thông tin

Xác thực thông tin (Message Authentication) là một cơ chế được ứng dụng trong xử lý thông tin với mục đích:

Trang 35

24

Đảm bảo nội dung thông tin trao đổi giữa các thực thể là chính xác, không bị thêm, sửa, xóa hay phát lại Nói cách khác, đảm bảo tính toàn vẹn về nội dung không bị vi phạm

Đảm bảo đối tượng tạo ra thông tin, tạo ra nguồn gốc thông tin đúng là đối tượng hợp lệ đã được khai báo Nói cách khác, đảm bảo tính toàn vẹn về nguồn gốc thông tin

2.1.1.1 Sử dụng các thuật toán mật mã khóa đối xứng

Để xác thực thông tin, nguyên tắc của mật mã là chỉ có những đối tượng hợp

lệ mới khôi phục được thông tin gốc từ thông tin mật Có thể sử dụng nguyên tắc này để xác thực thông tin như sau:

Theo quy ước, chỉ có nơi gửi thông tin và nơi nhận thông tin hợp lệ mới có khóa bí mật K Do đó chỉ nơi nhận thông tin hợp lệ mới có khả năng tạo ra khối thông tin mật hợp lệ từ khối thông tin gốc M Tương tự, chỉ có nơi nhận thông tin hợp lệ mới có khả năng giải mã được thông tin mật để ra thông tin gốc M Tất cả các cố gắng khác đều cho ra kết quả sai

Như vậy:

Chỉ có người nhận hợp lệ mới nhận được thông điệp từ người gửi và

Chỉ có người gửi hợp lệ mới gửi được thông điệp đến người nhận

Hình 2.1 Xác thực thông tin dùng mật mã đối xứng

Sử dụng kỹ thuật mật mã khóa bất đối xứng để trao đổi khóa bí mật trên kênh

an toàn, bằng cách mã hóa khóa bí mật (đối xứng) sử dụng khóa công khai của người gửi PUB

 Bên gửi: [E(K, PUB), E(M, K)]

 Bên nhận:

- Giải mã: D[E(K, PUB), PRB] = K

- Giải mã: D[E(M, K), K] = M

Trang 36

25

Hình 2.2 Sử dụng khóa bất đối xứng để trao đổi khóa bí mật

2.1.1.2 Sử dụng các thuật toán mật mã khóa bất đối xứng

Trường hợp sử dụng mật mã khóa bất đối xứng để xác thực thông tin, nơi gửi thông tin thực hiện mã hóa bằng khóa bí mật PR bên gửi thay vì dùng khóa công khai PU Khối thông tin mật tạo ra có thể được giải mã bởi bất kỳ đối tượng nào biết khóa công khai của thực thể gửi Tuy nhiên, nếu quá trình giải mã thành công, đối tượng nhận thông tin có thể chắc chắn rằng thông tin nhận được là đúng và chính đối tượng gửi hợp lệ đã gửi thông tin này, bởi vì chỉ có đối tượng đó mới có

khóa riêng PR

Hình 2.3 Xác thực thông tin dùng mật mã bất đối xứng

 Bên gửi: E(M, PRA)

là cố định, không phụ thuộc vào kích thước của khối dữ liệu gốc và thường nhỏ hơn

dữ liệu gốc Nơi gửi sẽ gửi giá trị MAC kèm cùng với thông tin gốc Phía nhận sau khi nhận được thông tin gốc cùng với giá trị MAC gửi kèm sẽ thực hiện thao tác tạo

ra giá trị MAC mới từ thông tin gốc cùng với khóa bí mật đã thống nhất giữa hai

Trang 37

26

bên Nếu giá trị MAC vừa tạo như giá trị MAC nhận được từ phía gửi, phía nhận có thể chắc chắn rằng thông tin gốc không bị thay đổi trong quá trình truyền

Việc dùng MAC để xác thực thông tin dựa vào hai cơ sở:

 Ứng với một khối thông tin gốc M và một khóa bí mật K, hàm C chỉ tạo

ra duy nhất một mã xác thực MAC

 Chỉ có phía gửi và phía nhận hợp lệ mới được biết khóa K

Có hai kỹ thuật tạo ra mã xác thực MAC: Kỹ thuật dùng cơ chế mật mã khối (Cipher Block Chaining), gọi là CMAC hay CBC-MAC và kỹ thuật dựa trên các hàm băm bảo mật, gọi là HMAC

Mã xác thực MAC được ứng dụng trong các trường hợp thông tin chỉ yêu cầu đảm bảo tính xác thực mà không cần đảm bảo tính bí mật

Hình 2.4 Xác thực thông tin dùng MAC

2.1.1.4 Xác thực thông tin dùng chữ ký điện tử

Sử dụng các hàm băm bảo mật (Secure Hash Function) chữ ký số để xác thực nguồn gốc thông tin Hàm băm dựa vào thông tin gốc để tạo ra mã băm và dùng khóa riêng của người gửi mã hóa giá trị băm này Vì vậy, để có thể sử dụng cơ chế

Ngày đăng: 05/01/2018, 15:11

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[15.] Andraž Zupan, Digital Signature as a tool to achieve competitive advantage of oganization, University of Ljubljana Faculty of Economics And International Center for Promotion of Enterprises (ICPE), 2006 Sách, tạp chí
Tiêu đề: Andraž Zupan," Digital Signature as a tool to achieve competitive advantage of oganization
[16.] A. Menezes, P. van Oorschot, and S. Vanstone, Handbook of Applied Cryptography, CRC Press, 1996 Sách, tạp chí
Tiêu đề: Handbook of Applied Cryptography
[17.] Gail Gran, Understanding Digital Signatures, McGraw-Hill; 1st edition, 2009 Sách, tạp chí
Tiêu đề: Understanding Digital Signatures
[18.] Gary Locke, Digital Signature Standard, US Department of Commerce, 2009 Sách, tạp chí
Tiêu đề: Digital Signature Standard
[19.] Senate and House of Representatives of the United States of America in Congress assembled, Electronic Signatures in Global an National Commerce Act, U.S. Congress, 2000 Sách, tạp chí
Tiêu đề: Electronic Signatures in Global an National Commerce Act
[1.] Hà Huy Khoái (1997), Nhập môn số học thuật toán, Nhà xuất bản Khoa học Khác
[2.] Hồ Văn Canh, Nguyễn Viết Thế (2005), Nhập môn phân tích thông tin có bảo mật. Nhà xuất bản Thông tin &amp; Truyền Thông Khác
[3.] Nguyễn Xuân Dũng (2007), Bảo mật thông tin, mô hình và ứng dụng - Nhà xuất bản Thống Kê Khác
[4.] Phạm Huy Điển – Hà Huy Khoái (2003), Mã hóa thông tin - Cơ sở Toán học &amp; ứng dụng, Nhà xuất bản Đại học Quốc gia Hà Nội Khác
[5.] Phan Đình Diệu (2002), Lý thuyết mật mã và an toàn thông tin, Nhà xuất bản Đại học Quốc Gia Hà Nội Khác
[10.] Nguyễn Văn Tảo (2015), Giáo trình An toàn thông tin, Đại học Công nghệ Thông tin và Truyền thông, Đại học Thái Nguyên Khác
[11.] Bùi Mạnh Hưng, ứng dụng chữ kí điện tử, luận văn thạc sĩ, Học viện Công nghệ Bưu chính Viễn thông, 2008Tiếng Anh Khác
[12.] A.J. Menezes, P.C. Van Oorschot, S.A. Vanstone (1997), Handbook of Applied Cryptography, CRC Press Khác
[13.] Bruce Schneier (1996), Applied Cryptography – Protocols, Algorithms and Source Code in C, John Wiley &amp; Sons, Inc Khác
[14.] Jan Li (2000), Public key infrastructure technology introduction, Intel Semiconductor Ltd Khác

TỪ KHÓA LIÊN QUAN

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