1. Trang chủ
  2. » Thể loại khác

Nghiên cứu xây dựng bảo mật và xác thực tài liệu điện tử dựa trên PKI và ứng dụng vào trường đại học hạ long

64 282 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 64
Dung lượng 1,78 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ƯƠNG 1 GIỚI THIỆU CHUNG VỀ MẬT MÃ Nội dung của chương luận văn này sẽ trình bày tổng quát về cơ sở lý thuyết mật mã, nêu các khái niệm về mật mã, tiếp theo sẽ đi sâu vào một số thuật t

Trang 1

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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

–––––––––––––––––––––––––––––––

MAI THỊ HOA HUỆ

NGHIÊN CỨU XÂY DỰNG BẢO MẬT VÀ XÁC THỰC TÀI LIỆU ĐIỆN TỬ DỰA TRÊN PKI VÀ ỨNG DỤNG

VÀO TRƯỜNG ĐẠI HỌC HẠ LONG

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 CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

–––––––––––––––––––––––––––––––

MAI THỊ HOA HUỆ

NGHIÊN CỨU XÂY DỰNG BẢO MẬT VÀ XÁC THỰC TÀI LIỆU ĐIỆN TỬ DỰA TRÊN PKI VÀ ỨNG DỤNG

VÀO TRƯỜNG ĐẠI HỌC HẠ LONG

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: TS Hồ Văn Hương

THÁI NGUYÊN - 2017

Trang 3

LỜI CAM ĐOAN

Tác giả xin cam đoan rằng số liệu và kết quả nghiên cứu trong luận văn

là hoàn toàn trung thực chưa hề được sử dụng và công bố trong bất kỳ một công trình khoa học nào Các thông tin, tài liệu trình bày trong luận văn đã được ghi rõ nguồn gốc

Tác giả luận văn

Mai Thị Hoa Huệ

Trang 4

LỜI CẢM ƠN

Trong quá trình học tập, nghiên cứu viết luận văn, được sự giúp đỡ của Trường Đại học Công nghệ Thông tin và Truyền thông, các thầy giáo, cô giáo, các tổ chức, đồng nghiệp trong và ngoài tỉnh đã tạo điều kiện về vật chất, thời gian và cung cấp tài liệu giúp đỡ tôi hoàn thành luận văn

Tôi xin chân thành cảm ơn sự giúp đỡ quý báu của các thầy, cô giáo, các

tổ chức, đồng nghiệp và người hướng dẫn khoa học TS Hồ Văn Hương đã hết

lòng hướng dẫn và giúp đỡ tôi rất nhiều trong nghiên cứu khoa học và thực hiện hoàn thành luận văn này

Tác giả xin trân trọng cảm ơn!

Tác giả luận văn

Mai Thị Hoa Huệ

Trang 5

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Ừ VIẾT TẮT vi

DANH MỤC CÁC BẢNG vii

DANH MỤC CÁC HÌNH viii

MỞ ĐẦU 1

1 Nhu cầu bảo mật và xác thực văn bản điện tử 1

2 Lý do chọn đề tài 1

3 Mục đích nghiên cứu 1

4 Phương pháp nghiên cứu 2

5 Bố cục của luận văn 2

CHƯƠNG 1 : GIỚI THIỆU CHUNG VỀ MẬT MÃ 3

1.1 Mật mã khóa đối xứng 3

1.1.1 Khái niệm 3

1.1.2 Bảo vệ tính bí mật của thông tin với mật mã khóa đối xứng 3

1.2 Mật mã khóa công khai 4

1.2.1 Khái niệm 4

1.2.2 Bảo vệ thông tin với mật mã khóa công khai 4

1.2.3 Thuật toán RSA 6

1.2.4 Hệ mật ElGamal trên đường cong elliptic 7

1.2.5 Sơ đồ trao đổi khóa Elliptic 9

1.2.6 Thuật toán chữ ký số Elliptic (ECDSA) 10

1.2.7 So sánh giữa Elliptic và RSA 11

1.3 Kết hợp mật mã đối xứng và mật mã khóa công khai 13

1.4 Kết luận chương 1 14

Trang 6

CHƯƠNG 2 : CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI 15

2.1 Khái niệm về PKI và các khái niệm cơ bản trong PKI 15

2.1.1 Khái niệm PKI 15

2.1.2 Các khái niệm cơ bản trong PKI 15

2.2 Các thành phần PKI 20

2.2.1 Tổ chức chứng thực 21

2.2.2 Trung tâm đăng ký 21

2.2.3 Người dùng cuối 22

2.2.4 Hệ thống lưu trữ 22

2.3 Các dịch vụ PKI 23

2.3.1 Các dịch vụ cốt lõi của PKI 23

2.3.2 Các dịch vụ PKI hỗ trợ 25

2.4 Các mô hình kiến trúc PKI 27

2.4.1 Kiến trúc kiểu CA đơn (Single CA) 28

2.4.2 Kiến trúc kiểu CA phân cấp 28

2.4.3 Kiến trúc kiểu chứng thực chéo (Cross – certificate) 29

2.4.4 Kiến trúc kiểu Bridge CA 30

2.5 Ứng dụng của PKI trong ký số và bảo mật dữ liệu 31

2.5.1 Mã hóa 31

2.5.2 Chống giả mạo 32

2.5.3 Xác thực 32

2.5.4 Chống chối bỏ nguồn gốc 32

2.5.5 Chữ ký điện tử 32

2.5.6 Bảo mật website 33

2.5.7 Code Signing 33

2.5.8 Chứng thực điện tử 34

2.6 Kết luận chương 2 34

Trang 7

CHƯƠNG 3 : XÂY DỰNG ỨNG DỤNG BẢO MẬT VÀ XÁC THỰC

TÀI LIỆU ĐIỆN TỬ 35

3.1 Phân tích 35

3.2 Thiết kế 35

3.3 Các chức năng trong phần mềm 36

3.4 Xây dựng giao diện 37

3.5 Thiết kế lớp 39

3.6 Cài đặt và kiểm thử 41

3.7 Kết luận chương 3 50

KẾT LUẬN 51

TÀI LIỆU THAM KHẢO 53

Trang 8

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

SPKC Simple Public Key Certificate

ITU International Telecommunication Union CRLs Certificate Revocation Lists

OCSP Online Certificate Status Protocol LDAP Lightweight Directory Access Protocol

Trang 9

DANH MỤC CÁC BẢNG

Bảng 1.1 So sánh sử dụng RSA và ECC trong quá trình bắt tay của SSL 12 Bảng 1.2 So sánh kích thước khóa RSA và ECC với cùng mức độ an toàn 12

Trang 10

DANH MỤC CÁC HÌNH

Hình 1.1: Mã hóa khóa bí mật 4

Hình 1.2: Mã hóa khóa công khai 5

Hình 1.3: Xác thực thông tin 5

Hình 1.4: Ký và mã với khóa công khai 6

Hình 1.5: So sánh mức độ bảo mật giữa ECC với RSA/DSA 12

Hình 1.6: Kết hợp khóa công khai và khóa bí mật 14

Hình 2.1: Chứng thư số 15

Hình 2.2: Các thành phần PKI 20

Hình 2.3: Single CA 28

Hình 2.4: CA phân cấp 29

Hình 2.5: Chứng thực chéo 30

Hình 2.6: Bridge CA 31

Hình 3.1: Giao diện xác thực khóa cá nhân 38

Hình 3.2: Giao diện chính 38

Hình 3.3: Giao diện thông báo 39

Hình 3.4: Lớp Crypto 39

Hình 3.5: Lớp ECDH 40

Hình 3.6: Lớp Data Transfrmer 40

Hình 3.7: Lớp ECDSA_Signature 41

Hình 3.8: XML Work 41

Hình 3.9: Xác thực người dùng 42

Hình 3.10: Thông báo file không phải là khóa cá nhân 42

Hình 3.11: Xác thực thất bại 42

Hình 3.12: Xác thực đúng 43

Hình 3.13: Giao diện chính của chương trình 43

Hình 3.14: Thông báo cho người dùng kết quả 43

Hình 3.15: file sign chứa chữ ký 44

Trang 11

Hình 3.16: Nội dung chữ ký được sinh ra 44

Hình 3.17: Các thẻ tương ứng trong file chữ ký 44

Hình 3.18: Thông báo xác minh chữ ký sai 45

Hình 3.19: Trích xuất nội dung khi xem log 45

Hình 3.20: Trích xuất nội dung khi xem log 45

Hình 3.21: file phục hồi file gốc 46

Hình 3.22: Thông báo lỗi file định dạng publickey 46

Hình 3.23: Tạo key phục vụ 46

Hình 3.24: Tải dữ liệu từ file gốc lên và tiến hành mã hóa 47

Hình 3.25: Thông báo mã hóa thành công 47

Hình 3.26: Định dạng file 47

Hình 3.27: Nội dung thẻ Senderpubkey 48

Hình 3.298: Tạo lại key ECDH 48

Hình 3.29: Kết quả giải mã 48

Hình 3.30: Thông báo giải mã thành công 48

Hình 3.31: Lưu file 49

Hình 3.32: File đã giải mã 49

Hình 3.33: Thông báo giải mã thất bại 49

Hình 3.34: Giải mã thất bại xem qua log 50

Trang 12

MỞ ĐẦU

1 Nhu cầu bảo mật và xác thực văn bản điện tử

Ngày nay, công nghệ thông tin phát triển rất nhanh và được ứng dụng vào hầu hết những lĩnh vực trong cuộc sống Vai trò của công nghệ thông tin ngày càng được nâng cao, không chỉ dừng lại ở những ứng dụng văn phòng, công nghệ thông tin còn được triển khai ở nhiều lĩnh vực Bên cạnh những lợi thế trong việc áp dụng công nghệ thông tin, việc sử dụng CNTT còn tiềm ẩn nhiều vấn đề còn tồn tại, trong

đó có việc đảm bảo an toàn thông tin ví dụ như bị đánh cắp dữ liệu, được phép đọc các tài liệu mà không đủ thẩm quyền, dữ liệu bị phá hủy … Do đó, bên cạnh việc triển khai và sử dụng CNTT, chúng ta cũng phải đảm bảo ATTT Đảm bảo ATTT chính là đảm bảo hệ thống có được ba yếu tố [3]:

Hiện nay trường Đại học Hạ Long trao đổi tài liệu chủ yếu qua mạng Internet Tuy nhiên, việc đưa thông tin lên mạng đó lại tiềm ẩn nhiều rủi ro, trong đó đặc biệt phải kể đến những rủi ro về bảo mật nhất là thông tin trong hệ thống là thông tin nhạy cảm và cần phải xác thực được tính chính xác vì những sai sót sẽ dẫn đến hậu quả

nghiêm trọng.Vì vậy em chọn đề tài: :“Nghiên cứu xây dựng bảo mật và xác thực tài liệu điện tử dựa trên PKI và ứng dụng vào trường Đại học Hạ Long ”

3 Mục đích nghiên cứu

3.1 Mục đích nghiên cứu

Luận văn nghiên cứu các vấn đề về an toàn hệ thống thông tin, lý thuyết mật

mã, mật mã đối xứng, mật mã công khai Xây dựng và phát triển ứng dụng chữ ký

số, xác thực, mã hoá và giải mã tài liệu điện tử ứng dụng trong thực tế

Trang 13

3.2 Đối tượng và phạm vi nghiên cứu

Trong phạm vi luận văn này sẽ tập trung tìm hiểu một số nội dung cơ bản: Nghiên cứu các thành phần, dịch vụ, kiến trúc và ứng dụng của cơ sở hạ tầng khóa công khai PKI Đánh giá vấn đề an toàn và bảo mật xác thực tài liệu điện tử

4 Phương pháp nghiên cứu

Luận văn kết hợp nghiên cứu lý thuyết, nghiên cứu xây dựng bảo mật và xác thực tài liệu điện tử dựa trên PKI

5 Bố cục của luận văn

Ngoài phần Mở đầu và Kết luận, Luận văn gồm 3 chương như sau:

Chương 1: Trình bày tổng quan về cơ sở lý thuyết mật mã: mật mã khóa đối

xứng, mật mã khóa công khai, kết hợp mật mã khóa đối xứng và mật mã khóa công khai, các thuật toán

Chương 2: Cơ sở hạ tầng khóa công khai: khái niệm về PKI, các thành phần

cơ bản, dịch vụ, mô hình và các ứng dụng của PKI

Chương 3: Xây dựng ứng dụng

Trang 14

CHƯƠNG 1 GIỚI THIỆU CHUNG VỀ MẬT MÃ

Nội dung của chương luận văn này sẽ trình bày tổng quát về cơ sở lý thuyết mật mã, nêu các khái niệm về mật mã, tiếp theo sẽ đi sâu vào một số thuật toán mã hóa công khai và trên cơ sở đó nhận xét, đánh giá một số thuật toán mã hóa công khai phổ biến hiện nay

1.1 Mật mã khóa đối xứng

1.1.1 Khái niệm

Mật mã khóa đối xứng còn được gọi là Mật mã khóa bí mật Đây là phương pháp mã hóa sử dụng cặp khóa đối xứng Với phương pháp này, người gửi và người nhận sẽ dùng chung một khóa để mã hóa và giải mã thông điệp Trước khi mã hóa thông điệp gửi đi, hai bên gửi và nhận phải có khóa chung và phải thống nhất thuật toán để mã hóa và giải mã

Mật mã là khoa học bảo vệ dữ liệu, cung cấp những phương pháp chuyển đổi

dữ liệu thành những bản mã để [7]:

 Dữ liệu không thể truy cập được bởi những người bất hợp pháp

 Nội dung dữ liệu được giữ kín với những người khác

1.1.2 Bảo vệ tính bí mật của thông tin với mật mã khóa đối xứng

Độ an toàn của thuật toán này phụ thuộc vào khoá, nếu để lộ khoá này nghĩa là bất kỳ người nào cũng có thể mã hoá và giải mã thông báo trong hệ thống mã hoá

Trang 15

Trong mật mã hóa 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 hai 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.2.2 Bảo vệ thông tin với mật mã khóa công khai

Việc sử dụng mật mã khóa công khai cung cấp cho ta những ứng dụng quan trọng trong bảo vệ thông tin [7, 8]:

a Bảo vệ tính bí mật thông tin

Giả sử A muốn gửi cho B một thông điệp M, A sẽ phải:

- Mã hóa thông điệp M bằng khóa công khai của B

- Gửi bản mã thông điệp cho B

Khi B nhận được thông điệp đã được mã hóa của A, B sẽ sử dụng khóa riêng của mình để giải mã thông điệp đó

Trang 16

Hình 1.2 Mã hóa khóa công khai

Phương pháp này cung cấp tính bí mật vì chỉ có B mới có khóa bí mật để giải

mã thành công bản mã mà A đã gửi Tuy nhiên, phương pháp này lại không cung cấp bất kỳ quá trình xác thực nào để khẳng định bản mã mà B nhận là do A gửi, vì khóa công khai của B ai cũng biết

b Xác thực thông tin

A muốn mọi người biết được rằng tài liệu M là của chính A gửi, A có thể sử dụng khóa riêng của mình để ký lên tài liệu M

Khi ai đó nhận được tài liệu, ví dụ là B, B sẽ kiểm tra chữ ký có trong tài liệu

M bằng khóa công khai của A và có thể chắc chắn được rằng tài liệu này là do A

ký vì chỉ có A mới có khóa riêng dùng để ký lên tài liệu

Hình 1.3 Xác thực thông tin

Trang 17

Phương pháp này giúp người sử dụng có thể xác thực được nguồn gốc của tài liệu, nhưng lại không bảo vệ tính bí mật của tài liệu Do đó, người không được quyền xem tài liệu vẫn có thể xem được nó

c Bảo vệ bí mật và xác thực thông tin

Để đảm bảo thông tin vừa bí mật vừa xác thực, chúng ta phải thực hiện mã hóa hai lần:

- Đầu tiên, A phải ký thông điệp bằng khóa riêng của mình (thao tác này để đảm bảo tính xác thực)

- Sau đó, A sử dụng khóa công khai của B để mã hóa tiếp thông báo vừa được mã hóa (thao tác này để đảm bảo tính bí mật)

Sau đó, A gửi bản mã cuối cùng đến B B nhận được, sẽ làm giải mã theo thứ

tự ngược lại để lấy được bản rõ

Hình 1.4 Ký và mã với khóa công khai

1.2.3 Thuật toán RSA

Trong mật mã học, RSA là một thuật toán mã hóa khóa công khai Đây là thuật toán phù hợp với việc tạo ra chữ ký điện tử đồng thời với việc mã hóa Nó đánh dấu một sự tiến bộ vượt bậc của lĩnh vực mật mã trong việc sử dụng khóa công khai RSA đang được sử dụng phổ biến trong thương mại điện tử và được cho

là đảm bảo an toàn với điều kiện độ dài khóa đủ lớn

Trang 18

RSA có tốc độ thực hiện chậm hơn đáng kể so với các thuật toán mã hóa đối xứng Trên thực tế, người ta thường sử dụng một thuật toán mã hóa đối xứng nào đó

để mã hóa văn bản cần gửi và sử dụng thuật toán mã hóa công khai để phân phối khóa đối xứng

Ngoài ra, thuật toán RSA còn được dùng để tạo chữ ký số cho văn bản Người ký sẽ sử dụng khóa bí mật của mình để ký vào văn bản cần ký Người nhận được văn bản sau đó sẽ dùng khóa công khai của người ký để xác thực người gửi cũng như kiểm tra tính toàn vẹn của văn bản

Việc sử dụng RSA sẽ mang lại cho chúng ta một số ưu điểm [10]:

- Quản lý khóa đơn giản: Trong mã hóa đối xứng, số khóa yêu cầu cho

phép n thực thể truyền thông với nhau là n2 Trong khi đó, đối với mã hóa công khai, mỗi thực thể cần 1 cặp khóa, tổng số khóa yêu cầu để truyền thông chỉ là 2*n Như vậy, việc quản lý khóa rất là đơn giản

- Nâng cao mức độ an toàn cho việc giao dịch khóa: Mọi người dùng

phải có một cặp khóa, trong đó khóa bí mật không được chia sẻ cho bất kỳ ai, tránh được vấn đề đảm bảo an toàn trong truyền khóa ở mật

mã khóa bí mật

Tuy nhiên, RSA cũng có những nhược điểm và nó vẫn có thể bị tấn công:

- Phân tích khóa công khai: Hiện nay RSA được đánh giá là an toàn, nó đã và

đang được sử dụng rộng rãi trên toàn thế giới Tấn công được xem xét thường xuyên nhất là phân tích khóa công khai Nếu tấn công này thành công thì mọi thông báo được mã hóa bằng khóa công khai đều được giải mã

- Tấn công vòng: Trong tấn công này, bản mã được giải mã nhiều lần cho

đến khi xuất hiện bản rõ Phương pháp tấn công này rất chậm, đối với những khóa có độ dài lớn, tấn công này là không thể

- Tấn công dựa trên thời gian: kẻ tấn công sẽ dùng một siêu máy tính để

tìm ra một trong hai số thừa số nguyên tố

1.2.4 Hệ mật ElGamal trên đường cong elliptic

Trong đoạn này ta xét đường cong elliptic trên trường GF(p) = Zp với p là số

nguyên tố lớn hơn 3 [10]

Trang 19

Tạo khóa:

 Chọn Ep(a,b) và điểm G – là phần tử sinh

 Mỗi người dùng chọn 1 số ngẫu nhiên:

Alice chọn nA và tính PA = nA*G Bob chọn nB và tính PB = nB*G

 Khóa công khai: PA, PB, Ep(a,b), G

 Khóa bí mật: nA, nB

Mã hóa:

 Thông báo là PM thuộc Ep(a,b), Alice gửi thông báo mã PC cho Bob:

 B1: Alice lấy khóa công khai của Bob

 B2: Alice chọn một số ngẫu nhiên k và tính:

PC = [k*G, (PM + k*PB)] = [k*G, Q]

 B3: Alice gửi bản mã PC cho Bob

Giải mã:

 Bob nhận được bản mã PC, Bob giải mã như sau:

 Bob dùng khóa bí mật của mình là nB và tính:

3x a2y

 =

23*5 2*13

7

 = 82

26 = 41

13 = 41*13-1 mod 53 = 41*49 mod 53 = 48

x3 = λ2 – x1 – x2 = 482 – 5 – 5 = 2294 mod 53 = 15

y3 = λ (x1 – x3 ) –y1 = 48*(5 – 15) – 13 = - 493 mod 53 = 37

 G + G = (15,37) = 2G Tương tự ta có: 4G = 2G + 2G = (15,37) + (15,37) = (29,3)

6G = 4G + 2G = (29,3) + (15,37) = (3,2)

Trang 20

 PM = [(PM + k*PB) – nB(k*G)] = (8,10)

Như vậy phép giải mã cho bản rõ là đúng

1.2.5 Sơ đồ trao đổi khóa Elliptic

Về mặt nguyên tắc thì tất cả các thuật toán mật mã dựa trên bài toán lô-ga-rít rời rạc trên trường hữu hạn đều có thể chuyển lên đường cong elliptic trên trường hữu hạn được

Muốn sử dụng được các thuật toán mật mã Elliptic thì công việc đầu tiên cần làm là ánh xạ được các thông báo lên tọa độ các điểm trên đường cong Elliptic vì các thuật toán mật mã Elliptic chỉ làm việc với các điểm và tọa độ của chúng

Trang 21

Trường hữu hạn GF(q) và đường cong elliptic E xác định trên trường hữu hạn này được công bố công khai Điểm P ∈ E được công bố công khai P không nhất thiết phải là phần tử sing của E nó cần phải có bậc lớn [9]

1 Alice chọn một số nguyên dương a có độ lớn cùng cỡ với q và công bố công khai điểm aP ∈ E

2 Bob chọn số nguyên dương b tương tự với cách làm của Alice và công bố công khai bP ∈ E

3 Cả Alice và Bob tính K = abP ∈ E và sử dụng như là khóa phiên chung với nhau

Độ an toàn: Nếu Alice muốn tính K khi biết P, aP, bP thì anh ta phải tìm được a từ aP hoặc b từ bP Việc này là tương đương với việc giải bài toán lô-ga-rít rời rạc Elliptic

1.2.6 Thuật toán chữ ký số Elliptic (ECDSA)

Chuẩn bị:

• Alice chọn đường cong elliptic E trên trường hữu hạn GF(p) sao cho số điểm của E trên GF(p) là fr và r là số nguyên tố lớn và f là số nguyên dương nhỏ nhất để cho thuật toán hiệu quả [9, 12]

• Alice chọn điểm cơ sở G trên E trên GF(q) có bậc r

• Alice chọn số nguyên dương a và tính Q = aG

• Alice công bố thông tin công khai sau đây: GF(q), E, r, G, Q

Ký chữ ký số:

• Alice chọn số nguyên dương ngẫu nhiên k với 1 ≤ k < r và tính R = kG = (x,y)

• Alice tính s = k-1(m + ax) ( mod r) và tài liệu ký là (m, R, s)

Trang 22

Sự khác nhau cơ bản của ECDSA và sơ đồ chữ ký số ElGamal Elliptic là thủ tục kiểm tra chữ ký số Trong sơ đồ ElGamal đẳng thức kiểm tra f(R)B + sR = mA đòi hỏi ba phép tính với một số nguyên lần một điểm và đây là những phần tốn kém nhất, trong khi đó ECDSA chỉ đòi hỏi hai phép tính như vậy Cải tiến này là nâng cao hiệu quả của ECDSA một khi cần nhiều lần kiểm tra chữ ký số và rất có giá trị trên thực tế

1.2.7 So sánh giữa Elliptic và RSA

Mã hóa khóa công cộng dựa trên hai vấn đề lớn của toán học là bài toán logarit rời rạc và bài toán phân tích số Phương pháp RSA dựa trên bài toán phân tích số (IFP – Integer Factoring Problem) Bài toán này đã được đưa ra từ cuối thập niên 70 Độ phức tạp tính toán của IFP là cận-hàm mũ (dùng thuật toán Index Calculus) Phương pháp ECC dựa trên bài toán logarit rời rạc trên nhóm các điểm đường cong elliptic trong trường hữu hạn (ECDLP – Elliptic Curve Discrete Problem) Bài toàn được đưa ra năm 1985 với độ phức tạp tính toán là hàm mũ, nghĩa là khó hơn so với IFP ECDLP cho tới nay vẫn chưa có thuật toán nào được xem là hiệu quả kiểu cận-hàm mũ để giải bài toán này

Do không có thuật toán cận-hàm mũ để giải bài toán ECDLP nên với cùng một mức an toàn (security level) thì hệ mật ECC yêu cầu độ dài khóa ngắn hơn rất nhiều so với hệ mật RSA Chẳng hạn để cho mức an toàn tương đương với RSA 1024-bít thì hệ mật ECC chỉ yêu cầu độ dài khóa tương ứng là 160 bít Kích thước khóa của ECC nhỏ hơn so với RSA nên thời gian sinh khóa, mã hóa/giải mã của hệ thống bảo mật dựa trên ECC nhanh hơn hệ thống RSA

Để thực hiện việc so sánh sử dụng RSA và ECC trong quá trình bắt tay của SSL, người ta sử sụng hai bộ mã khác nhau:

+TLS_RSA_WITH_RC4_128_SHA

+TLS_ECDH_ECDSA_WITH_RC4_128_SHA

Với mỗi bộ mã người ta sử dụng ba cấp độ an ninh khác nhau Đối với RSA người ta sử dụng khoá có độ dài 1024 bit, 1536 bit và 1048 bit, Với ECC sử dụng khoá có độ dài 160 bit, 192 bit và 224 bit Người ta sử dụng một công cụ để thực hiện nhiều phiên giao dịch đồng thời một lúc nhằm đo hai thông số trên một server [10] Và kết quả được thể hiện ở bảng 1.2

Trang 23

Bảng 1.1 So sánh sử dụng RSA và ECC trong quá trình bắt tay của SSL

Kích thước khóa Tỉ lệ kích thước

khóa RSA : ECC

Trang 24

Do có kích thước khóa nhỏ và khả năng phát sinh khóa rất nhanh nên ECC rất được quan tâm để áp dụng cho các ứng dụng trên môi trường giới hạn về thông lượng truyền dữ liệu, giới hạn về khả năng tính toán, khả năng lưu trữ ECC thích hợp với các thiết bị di động kỹ thuật số như handheld, PDA, điện thoại di động và thẻ thông minh (smart card)

Việc sử dụng ECC mang lại những hiệu quả sau: tăng tốc độ, yêu cầu khả năng tính toán thấp hơn, tiết kiệm dải thông đường truyền, tăng hiệu quả lưu trữ, giảm độ dài các chứng nhận… Các ưu điểm trên của hệ mật ECC có thể phát huy hiệu quả trong các ứng dụng mà đường truyền, khả năng tính toán, tốc độ và lưu trữ

bị hạn chế Và các ứng dụng đó được thể hiện rất hiệu quả trong thương mại điện

tử, web servers…

Hiện nay hầu hết các công ty lớn về viễn thông và bảo mật trên thế giới đều quan tâm phát triển Cả phòng thí nghiệm chính của RSA (RSA Security Laboratory) cũng đã nghiên cứu và đưa ECC vào sản phẩm của mình

Tuy nhiên, ECC vẫn có một số hạn chế nhất định Hạn chế thứ nhất đó là độ khó về toán học của hệ mật ECC, ngoài ra việc chọn sử dụng các tham số đường cong và điểm cơ sở chung như thế nào để thật sự đạt được độ bảo mật và an toàn cao là tương đối phức tạp

ECC cung cấp khả năng ứng dụng rất lớn trong lĩnh vực mã hóa khóa công cộng trên các thiết bị di động và smart card Tương lai ECC sẽ được nghiên cứu đưa vào thực tiễn phổ biến hơn để thay thế RSA

1.3 Kết hợp mật mã đối xứng và mật mã khóa công khai

Nhược điểm của mật mã khóa công khai là tốc độ chậm vì độ phức tạp tính toán lớn, dẫn đến việc tốn nhiều thời gian mã hóa và giải mã Do đó, khóa công khai không thuận tiện cho việc mã hóa một khối lượng dữ liệu lớn

Chính vì vậy, chúng ta có thể kết hợp cả hai phương pháp này để nâng cao hiệu quả hoạt động của mã hóa Ta xét các bước kết hợp:

- Sử dụng phương pháp mật mã đối xứng để mã hóa tập tin

- Sử dụng phương pháp mật mã khóa công khai để mã hóa mầm khóa của khóa đối xứng của người gửi bằng khóa công khai của người nhận, sau đó gửi đến cho người nhận

Trang 25

- Người nhận dùng khóa riêng của mình để giải mã mầm khóa của khóa đối xứng Sau đó, dùng khóa đối xứng vừa giải mã được để giải mã tài liệu

Sơ đồ hoạt động [8]:

Hình 1.6 Kết hợp khóa công khai và khóa bí mật

1.4 Kết luận chương 1

Trong chương này luận văn đã trình bày tổng quan về cơ sở lý thuyết mật mã

và một số thuật toán mã hóa công khai như: thuật toán RSA, hệ mật Elgamal trên đường cong Elliptic, thuật toán chữ ký số Elliptic (ECDSA) Trên cơ sở các thuật toán, tác giả cũng đã phân tích rõ sự so sánh giữa các thuật toán đã nêu, làm cơ sở hướng nghiên cứu chương tiếp theo trong luận văn này

Trang 26

CHƯƠNG 2

CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI

Nội dung của chương luận văn này sẽ tập trung trình bày về tổng quan cơ sở

hạ tầng khóa công khai như: nêu được các khái niệm về khóa công khai PKI, các thành phần dịch vụ của PKI, cũng như các ứng dụng của khóa công khai trong bảo mật dữ liệu thực tế hiện nay

2.1 Khái niệm về PKI và các khái niệm cơ bản trong PKI

2.1.1 Khái niệm PKI

PKI là cơ sở của một hạ tầng an toàn rộng khắp, các dịch vụ của nó được cài đặt

và thực hiện bằng cách sử dụng các khái niệm và kỹ thuật của khoá công khai [14]

2.1.2 Các khái niệm cơ bản trong PKI

Chứng thư số không chứa bất

kỳ một thông tin bí mật nào Về cơ

bản, chứng thư số chứa những thông

tin cần thiết như khóa công khai,

chủ thể (người sở hữu), bên cấp

chứng thư số và một số thông tin

khác Tính hợp lệ của các thông tin

được đảm bảo bằng chữ ký số của bên

cấp chứng thư số Người dùng muốn sử

dụng chứng thư số trước hết sẽ kiểm tra chữ ký số trong chứng thư số Nếu chữ

ký đó hợp lệ thì có thể sử dụng chứng thư số đó.Có nhiều loại chứng thư số, một trong số đó là:

Hình 2.1 Chứng thư số

Trang 27

 Chứng thư số khóa công khai X.509

 Chứng thư số khóa công khai đơn giản (Simple Public Key Certificate

- SPKC)

 Chứng thư số PGP

 Chứng thư số thuộc tính (Attribute Certificate – AC)

Tất cả các loại chứng thư số này đều có cấu trúc dạng riêng biệt Hiện nay chứng thư số khóa công khai X.509 được sử dụng phổ biến trong hầu hết các hệ thống PKI Chứng thư số X.509 được Hiệp hội viễn thông quốc tế (ITU) đưa ra lần đầu tiên năm 1998 Chứng thư số này gồm 2 phần: phần đầu là những trường cơ bản cần thiết phải có trong chứng thư số, phần thứ hai là phần chứa một số các trường phụ, hay còn gọi là trường mở rộng Các trường mở rộng thường được dùng để xác định và đáp ứng những yêu cầu bổ sung của hệ thống

Cấu trúc chứng thư số X.509 [4, 14]:

 Version : phiên bản của chứng thư số

 Serial Number: số serial của chứng thư số, là định danh duy nhất của chứng thư số, có giá trị nguyên

 Certificate-Signature Algorithm: thuật toán CA sử dụng để ký chứng thư số

 Issuer: Tên chủ thể phát hành chứng thư số

 Validity: Thời hạn của chứng thư số

 Subject: Tên chủ thể của chứng thư số

 Subject Public Key Info

◦ Subject Public Key Algorithm: Thuật toán sinh khóa công khai

◦ Subject's Public Key: Khóa công khai

 Extensions: Phần mở rộng

2.1.2.2 Kho chứng thư số

Chứng thư số được cấp bởi CA kết hợp với khóa công khai với nhận dạng của thực thể B Tuy nhiên nếu thực thể A không có khả năng xác định vị trí chứng thư số này một cách dễ dàng thì anh ta cũng không có hiệu quả gì hơn so với việc chứng thư số này chưa được tạo ra

Trang 28

Do đó, phải có một kho chứng thư số trực tuyến (online repositories), quy

mô lớn và mềm dẻo và phải được đặt ở vị trí mà A có thể xác định vị trí chứng thư

số mà anh ta cần để truyền thông an toàn

2.1.2.3 Thu hồi chứng thư số

Trong một số trường hợp như khóa bị xâm hại, hoặc người sở hữu chứng thư

số thay đổi vị trí, cơ quan … thì chứng thư số đã được cấp không có hiệu lực Do

đó, cần phải có một cơ chế cho phép người sử dụng chứng thư số kiểm tra được trạng thái thu hồi chứng thư số Chứng thư số X.509 cho phép kiểm tra chứng thư

số trong các trường hợp sau [14]:

 Chứng thư số không bị thu hồi

 Chứng thư số đã bị CA cấp thu hồi

 Chứng thư số do một tổ chức có thẩm quyền mà CA ủy thác có trách nhiệm thu hồi chứng thư số

2.1.2.4 Công bố và gửi thông báo thu hồi chứng thư số

Danh sách huỷ bỏ chứng thực điện tử bao gồm các chứng thực đã hết hạn hoặc đã bị thu hồi Tất cả các xác thực đều có thời hạn Đây là một quy định mang tính thiết kế, tuy nhiên trước đây, rất khó thực hiện quy định này bởi việc gia hạn chứng thực thường phải được thông báo tới tất cả người dùng sử dụng chứng thực

đó Tính năng này bảo đảm rằng các chứng thực hết hạn sẽ được gia hạn tự động khi đến thời hạn

Với một số lý do nhất định cần thiết phải huỷ bỏ chứng thực chứ không chỉ đơn thuần là làm cho nó hết hạn Công việc này có thể được thực hiện thông qua cơ chế danh sách huỷ bỏ chứng thực tự động Các chủ thể có thẩm quyền cấp phép chứng thực (CA) thông thường sẽ làm công việc gửi các danh sách này tới người dùng, tuy nhiên họ cũng có thể uỷ nhiệm cho một bộ phận khác.Thông thường chứng thư số sẽ hợp lệ trong khoảng thời gian có hiệu lực Nhưng trong một số trường hợp chứng thư số lại không hợp lệ trước thời gian hết hạn, ví dụ như:

Khóa riêng của chủ thể bị xâm phạm

Thông tin chứa trong chứng thư số bị thay đổi

Khóa riêng của CA cấp chứng thư số bị xâm phạm

Trang 29

Trong những trường hợp này cần có một cơ chế để thông báo đến những người sử dụng khác Một trong những phương pháp để thông báo đến người sử dụng về trạng thái của chứng thư số là công bố CRLs(Certificate Revocation Lists) định kỳ hoặc khi cần thiết Ngoài ra, có một số cách lựa chọn khác để thông báo đến người sử dụng như dùng phương pháp trực tuyến Online Certificate Status Protocol

CRLs (Certificate Revocation Lists) là cấu trúc dữ liệu được ký như chứng thư số người sử dụng CRLs chứa danh sách các chứng thư số đã bị thu hồi và những thông tin cần thiết khác của người sử dụng CRL thường do một CA cấp Tuy nhiên CRLs cũng có thể được sử dụng để cung cấp thông tin cho nhiều CA nếu

nó được định nghĩa như một CRLs gián tiếp

2.1.2.5 Sao lưu dự phòng

Trong bất kỳ một môi trường PKI đang hoạt động, khả năng làm mất hoặc sai các mã khoá riêng của người dùng là rất lớn, do đó cần phải có một cơ chế lưu trữ dự phòng và khôi phục mã khoá Không có khoá riêng, việc khôi phục tài liệu là không thể được xét trên thực tế Nguyên nhân có thể là do [9]:

 Quên mật khẩu: Khoá bí mật của người dùng vẫn còn về mặt vật lý nhưng không thể truy cập được

 Phương tiện bị hỏng hóc: Ví dụ như đĩa cứng bị hỏng hoặc thẻ thông minh bị gãy

 Sự thay thế của phương tiện: Hệ điều hành được tải lại (ghi đè lên các giấy tờ uỷ nhiệm cục bộ) hoặc một mô hình máy tính cũ hơn được thay thế bằng một mô hình máy tính mới hơn và các giấy tờ uỷ nhiệm không được chuyển trước khi đĩa cũ bị format

Giải pháp đưa ra là thực hiện việc sao lưu và dự phòng khóa bí mật dùng để

mã hóa để tài liệu đã mã hóa có thể được giải mã trong những trường hợp mất khóa Việc sao lưu và dự phòng khóa là cần thiết, nó tạo nên một phần mở rộng trong định nghĩa PKI

2.1.2.5 Lịch sử khóa

Trong suốt quá trình sử dụng PKI, một người dùng có thể có nhiều chứng thư

số cũ và có ít nhất một chứng thư số hiện tại Tập hợp các chứng thư số này với các

Trang 30

khoá bí mật tương ứng được gọi là lịch sử khoá (key history) hay còn gọi là lịch sử khoá và chứng thư số

Cũng giống như sự cập nhật khoá, quản lý lịch sử khoá phải được thực hiện

và duy trì tự động trong PKI PKI cần phải nắm giữ được tất cả các khoá trong lịch

sử, thực hiện sao lưu và dự phòng tại vị trí thích hợp

2.1.2.6 Hỗ trợ chống chối bỏ

Trong môi trường hoạt động của PKI, mỗi hành động của người dùng luôn gắn với định danh của họ Nếu một người dùng ký số văn bản của mình, thì có nghĩa người dùng đó khẳng định rằng văn bản đó xuất phát từ phía mình

PKI cần phải đảm bảo rằng người dùng đó không thể chối bỏ trách nhiệm mà mình đã thực hiện Cơ chế này được gọi là cơ chế hỗ trợ chống chối bỏ Để thực hiện được cơ chế hỗ trợ chống chối bỏ, PKI cần phải cung cấp một vài các bằng chứng kỹ thuật được yêu cầu, như là xác thực nguồn gốc dữ liệu và chứng thực thời gian mà dữ liệu được ký

2.1.2.7 Tem thời gian

Một nhân tố quan trọng trong việc hỗ trợ các dịch vụ chống chối bỏ là sử dụng tem thời gian an toàn (secure time stamping) trong PKI Nghĩa là nguồn thời gian phải được tin cậy và giá trị thời gian phải được truyền đi một cách an toàn Do

đó cần phải có một nguồn thời gian có thể tin tưởng được cho tất cả người dùng trong PKI

2.1.2.8 Phần mềm phía client

Trong mô hình PKI, các server sẽ thực hiện những nhiệm vụ sau [5]:

 CA cung cấp các dịch vụ chứng thư số

 Kho chứng thư số sẽ lưu giữ các thông tin chứng thư số và hủy bỏ chứng thư số

 Máy chủ sao lưu và dự phòng sẽ quản lý lịch sử khóa một cách phù hợp

 Máy chủ tem thời gian sẽ kết hợp các thông tin thời gian có thể tin tưởng được với các tài liệu văn bản

Server không thể thực hiện bất kỳ điều gì cho các máy khách nếu như máy khách không đưa ra các yêu cầu dịch vụ Do đó nhiệm vụ của máy khách sẽ là:

 Máy khách đưa ra yêu cầu các dịch vụ chứng thực

Trang 31

 Máy khách yêu cầu chứng thư số và xử lý các thông tin hủy bỏ chứng thư

số có liên quan

 Máy khách phải biết lịch sử khóa và phải biết khi nào cần yêu cầu cập nhật khóa hoặc hủy bỏ khóa

 Máy khách phải biết khi nào nó cần phải yêu cầu tem thời gian trên văn bản

 Phần mềm phía client là một thành phần thiết yếu của PKI tích hợp đầy

đủ tính năng trên

2.2 Các thành phần PKI

Một hệ thống PKI gồm các thành phần sau [5,6]:

- Certificate Authorites (CA): cấp và thu hồi chứng thư số

- Registration Authorites (RA): gắn kết giữa khóa công khai và định danh của

người giữ chứng thư số

- Clients: Người sử dụng cuối hoặc hệ thống là chủ thể của chứng thư số PKI

- Repositories: Hệ thống lưu trữ chứng thư số và danh sách các chứng thư số

bị thu hồi Cung cấp cơ chế phân phối chứng thư số và CRLs đến các thực thể cuối

Các thành phần PKI và các mối quan hệ giữa chúng được chỉ ra như trong hình sau Đây là mô hình kiến trúc PKI do PKIX đưa ra:

Hình 2.2 Các thành phần PKI

Trang 32

Tổ chức chứng thực - CA cũng được gọi là bên thứ ba được tin tưởng vì người sử dụng cuối tin tưởng vào chữ ký số của CA trên chứng thư số trong khi thực hiện những hoạt động mã hoá khoá công khai cần thiết CA thực hiện chức năng xác thực bằng cách cấp chứng thư số cho các CA khác và cho thực thể cuối (người giữ chứng thư số) trong hệ thống Nếu CA nằm ở đỉnh của mô hình phân cấp PKI và chỉ cấp chứng thư số cho những CA ở mức thấp hơn thì chứng thư số này được gọi là chứng thư số gốc “root certificate”

2.2.2 Trung tâm đăng ký

Mặc dù CA có thể thực hiện những chức năng đăng ký cần thiết, nhưng đôi khi cần có thực thể độc lập thực hiện chức năng này Thực thể này được gọi là “registration authority” - trung tâm đăng ký [2] Ví dụ khi số lượng thực thể cuối trong miền PKI tăng lên và số thực thể cuối này được phân tán khắp nơi về mặt địa lý thì việc đăng ký tại một CA trung tâm trở thành vấn đề khó giải quyết Để giải quyết vấn đề này cần thiết phải có một hoặc nhiều RAs (trung tâm đăng ký địa phương)

Mục đích chính của RA là để giảm tải công việc của CA Chức năng thực hiện của một RA cụ thể sẽ khác nhau tuỳ theo nhu cầu triển khai PKI nhưng chủ yếu bao gồm những chức năng sau:

- Xác thực cá nhân, chủ thể đăng ký chứng thư số

- Kiểm tra tính hợp lệ của thông tin do chủ thể cung cấp

- Xác nhận quyền của chủ thể đối với những thuộc tính chứng thư số được yêu cầu

- Kiểm tra xem chủ thể có thực sự sở hữu khóa riêng đang được đăng ký hay không - điều này thường được đề cập đến như sự chứng minh sở hữu

- Tạo cặp khóa bí mật, công khai

Ngày đăng: 25/06/2017, 17:10

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Hồ Văn Hương, Đào Thị Ngọc Thuỳ, Ứng dụng hệ thống kiểm soát truy nhập mạng theo mô hình truy nhập một lần, Tạp chí An toàn thông tin, số 1 (025) 2013 Sách, tạp chí
Tiêu đề: Ứng dụng hệ thống kiểm soát truy nhập mạng theo mô hình truy nhập một lần
[2]. Hồ Văn Hương, Hoàng Chiến Thắng, Ký số và xác thực trên nền tảng web, Tạp chí An toàn thông tin, số 2 (026) năm 2013 Sách, tạp chí
Tiêu đề: Ký số và xác thực trên nền tảng web
[3]. Hồ Văn Hương, Nguyễn Quốc Uy, Giải pháp bảo mật cơ sở dữ liệu, Tạp chí An toàn thông tin, số 3 (027) năm 2013 Sách, tạp chí
Tiêu đề: Giải pháp bảo mật cơ sở dữ liệu
[4]. Hồ Văn Hương, Hoàng Chiến Thắng, Nguyễn Quốc Uy, Giải pháp bảo mật và xác thực cho văn phòng điện tử, Hội nghị Quốc gia về điện tử và truyền thông (REV 2013-KC01) Sách, tạp chí
Tiêu đề: Giải pháp bảo mật và xác thực cho văn phòng điện tử
[5]. Hồ Văn Hương, Hoàng Chiến Thắng, Nguyễn Quốc Uy, Giải pháp bảo mật và xác thực thư điện tử, Tạp chí An toàn thông tin số 04 (028), 2013 Sách, tạp chí
Tiêu đề: Giải pháp bảo mật và xác thực thư điện tử
[6]. Hồ Văn Hương, Nguyễn Quốc Uy, Nguyễn Anh Đoàn, Tích hợp giải pháp bảo mật và xác thực cho mạng riêng ảo, Tạp chí nghiên cứu Khoa học và Công nghệ Quân sự số 28, 2013 Sách, tạp chí
Tiêu đề: Tích hợp giải pháp bảo mật và xác thực cho mạng riêng ảo
[7] Giáo trình Lý Thuyết Cơ Sở Mật Mã, Học Viện Kỹ Thuật Mật Mã, 2006 Sách, tạp chí
Tiêu đề: Giáo trình Lý Thuyết Cơ Sở Mật Mã
[8] Phan Đình Diệu, Lý thuyết mật mã và an toàn thông tin, Đại học Quốc gia Hà Nội, 1999 Sách, tạp chí
Tiêu đề: Lý thuyết mật mã và an toàn thông tin
[9] Dương Anh Đức, Trần Minh Triết, Mã hóa và ứng dụng, Đại học Khoa học Tự nhiên, Đại học Quốc gia TP Hồ Chí Minh, 2005 Sách, tạp chí
Tiêu đề: Mã hóa và ứng dụng
[10] Alfred J. Menezes, Paul C. Van Oorschot, Scott A. Vanstone, Handbook of Applied Cryptography, CRC Press, 1997 Sách, tạp chí
Tiêu đề: Handbook of Applied Cryptography
[11] Harvey M.Deitel&amp; Paul J.Deitel,Java How to Programdan, 2003 [12] Jonathan B. Knudsen,Java Cryptography ,May 1998 Sách, tạp chí
Tiêu đề: Java How to Programdan", 2003 [12] Jonathan B. Knudsen,"Java Cryptography
[14] Brian Komar,MS Press Windows Server 2003 PKI and Certificate Security, 2004 Sách, tạp chí
Tiêu đề: MS Press Windows Server 2003 PKI and Certificate Security

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