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

Chữ ký số và ứng dụng trong quản lý văn bản điện tử tại tỉnh bắc ninh

72 15 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Chữ ký số và ứng dụng trong quản lý văn bản điện tử tại tỉnh Bắc Ninh
Tác giả Nguyễn Tiến Độ
Người hướng dẫn PGS.TS Đoàn Văn Ban
Trường học Viện Đại Học Mở Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2016
Thành phố Hà Nội
Định dạng
Số trang 72
Dung lượng 3 MB

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

Nội dung

viii DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT CA Certificate Authority Nhà cung cấp chứng thực số FIPS Federal Information Processing Standard Tiêu chuẩn xử lý thông tin liên bang ITU Inter

Trang 1

i

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn là công trình nghiên cứu của riêng cá nhân tôi, không sao chép của ai do tôi tự nghiên cứu, đọc, dịch tài liệu, tổng hợp và thực hiện dưới sự hướng dẫn của PGS.TS Đoàn Văn Ban Nội dung lý thuyết trong trong luận văn tôi có sử dụng một số tài liệu tham khảo như đã trình bày trong phần tài liệu tham khảo Các số liệu, chương trình phần mềm và những kết quả trong luận văn là trung thực và chưa được công bố trong bất kỳ một công trình nào khác

Hà Nội, ngày 15 tháng 11 năm 2016

Tác giả luận văn

Nguyễn Tiến Độ

Trang 2

ii

LỜI CẢM ƠN

Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến PGS.TS Đoàn Văn Ban người đã tận tình hướng dẫn, chỉ bảo, giúp đỡ em trong suốt quá trình làm luận văn

Em cũng xin gửi lời cảm ơn đến các thầy cô giáo khoa Sau Đại học, Viện Đại học Mở Hà Nội, đã truyền đạt những kiến thức và giúp đỡ em trong suốt quá trình học của mình

Tôi cũng xin gửi lời cảm ơn tới các lãnh đạo phòng Văn hóa và Thông tin, UBND thị xã Từ Sơn đã tạo điều kiện thuận lợi cho tôi tham gia khóa học và trong suốt quá trình hoàn thành luận văn

Và cuối cùng tôi xin gửi lời cảm ơn tới các đồng nghiệp, gia đình và bạn bè những người đã ủng hộ, động viên tạo mọi điều kiện giúp đỡ để tôi có được kết quả như ngày hôm nay

Hà Nội,ngày 15 tháng 11 năm 2016

Tác giả luận văn

Nguyễn Tiến Độ

Trang 3

iii

MỤC LỤC

Trang Trang phụ bìa

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH SÁCH BẢNG vi

DANH SÁCH HÌNH VẼ vii

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT viii

MỞ ĐẦU 1

1 Tính cấp thiết của đề tài 1

2 Tổng quan vấn đề nghiên cứu 2

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

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

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

6 Nội dung của luận văn 3

Chương 1 AN TOÀN THÔNG TIN VÀ CÁC HỆ MÃ HÓA THÔNG DỤNG 4

1.1 Tổng quan về bảo mật an toàn thông tin 4

1.1.1 Tại sao cần bảo đảm an toàn thông tin 4

1.1.2 Mục tiêu của An toàn thông tin 5

1.1.3 Các chiến lược bảo đảm An toàn thông tin 5

1.1.4 Các giải pháp bảo đảm An toàn thông tin 5

1.1.5 Các công cụ bảo đảm An toàn thông tin 6

1.2 Một số khái niệm toán học 8

1.2.1 Không gian Zp 8

1.2.2 Hàm Phi Euler và Quan hệ đồng dư 9

1.3 Hệ mã khóa bí mật 9

1.3.1 Khái quát hệ mã hóa khóa bí mật 9

1.3.2 Hệ mã hóa cổ điển 10

1.4 Hệ mã khóa công khai 13

Trang 4

iv

1.4.1 Hệ mã hóa RSA 13

1.4.2 Hệ mã hóa Elgamal 15

1.5 Kết luận chương 18

Chương 2 CHỮ KÝ SỐ 19

2.1 Giới thiệu 19

2.1.1 Khái niệm 19

2.1.2 Sơ đồ chữ ký số 19

2.1.3 Quy trình tạo và kiểm tra chữ ký số 20

2.2 Hàm băm 21

2.2.1 Khái niệm hàm băm 21

2.2.2 Phân loại hàm băm 22

2.2.3 Các hàm băm thông dụng 22

2.2.4 Kết hợp hàm băm vào chữ ký số 26

2.3 Thuật toán chữ ký số 26

2.3.1 Thuật toán RSA 26

2.3.2 Thuật toán DSA 30

2.3.3 Chuẩn chữ ký số DSS 33

2.4 Chứng thực khóa công khai 35

2.4.1 Khái niệm 35

2.4.2 Ứng dụng 36

2.4.3 Phân loại 37

2.5 Tính pháp lý và mô hình chữ ký số trong và ngoài nước 37

2.5.1 Tính pháp lý của chữ ký số 37

2.5.2 Mô hình chữ ký số 40

2.6 Kết luận chương 44

Chương 3 XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG CHỮ KÝ SỐ TRONG QUẢN LÝ VĂN BẢN 45

3.1 Bài toán quản lý văn bản của tỉnh Bắc Ninh 45

3.1.1 Những hạn chế của các giải pháp quản lý công văn theo phương pháp truyền thống 45

Trang 5

v

3.1.2 Yêu cầu giải pháp quản lý công văn theo phương pháp hiện đại vào

quản lý của tỉnh Bắc Ninh 46

3.2 Mô hình phần mềm quản lý văn bản và điều hành tỉnh Bắc Ninh 47

3.2.1 Giới thiệu chung 47

3.2.2 Mô hình quản lý văn bản liên thông giữa các cơ quan trên địa bàn tỉnh Bắc Ninh 48

3.3 Các chức năng của chương trình 49

3.3.1 Các tính năng hệ thống 49

3.3.2 Các yêu cầu phi chức năng 55

3.4 Cài đặt chương trình chữ ký số để bảo mật và xác thực tài liệu gốc 55

3.4.1 Các bước thực hiện của chương trình 55

3.4.2 Giao diện chương trình 58

3.4.3 Thử nghiệm và đánh giá 59

3.5 Kết luận chương 60

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61

TÀI LIỆU THAM KHẢO 63

Trang 6

vi

DANH SÁCH BẢNG

Bảng 1.1: So sánh hai hệ mã hóa công khai điển hình 17Bảng 2.1: Mức độ an toàn của RSA [3, tr.219] 30

Trang 7

vii

DANH SÁCH HÌNH VẼ

Hình 1.1: Giải thuật mã hóa và giải mã RSA [16] 14

Hình 2.1: Sơ đồ quy trình tạo và kiểm tra chữ ký số [8, tr.97] 20

Hình 2.2: Hoạt động của một hàm băm [8, tr.104] 22

Hình 2.3: Sơ đồ chữ ký số RSA [7] 27

Hình 2.4: Sơ đồ mã hóa công khai 28

Hình 2.5: Hệ thống CA Chính phủ Hàn Quốc [13] 41

Hình 2.6: Mô hình hệ thống CA của Việt Nam [13] 42

Hình 3.1: Mô hình trao đổi liên thông văn bản điện tử của các cơ quan trên phần mềm quản lý văn bản và điều hành tỉnh Bắc Ninh 49

Hình 3.2: Tiếp nhận công văn đến 49

Hình 3.3: Cập nhật công văn đi 50

Hình 3.4: Tạo cặp khóa bí mật và công khai 52

Hình 3.5: Văn bản đã mã hóa 52

Hình 3.6: Văn bản được giải mã 53

Hình 3.7: Ký văn bản 53

Hình 3.8: Xác thực chữ ký đúng 54

Hình 3.9: Chữ ký hoặc văn bản không toàn vẹn 54

Hình 3.10: Tạo cặp khóa bí mật, công khai 55

Hình 3.11: Sơ đồ quá trình ký vào tài liệu điện tử dùng khóa bí mật 56

Hình 3.12: Sơ đồ quá trình xác thực chữ ký điện tử dùng khóa công khai 57

Hình 3.13: Đăng nhập hệ thống 58

Hình 3.14: Quản lý văn bản 58

Hình 3.15: Chương trình ký văn bản điện tử 59

Trang 8

viii

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

CA Certificate Authority Nhà cung cấp chứng thực số FIPS Federal Information Processing Standard Tiêu chuẩn xử lý thông tin liên

bang ITU International Telecommunication Union Tổ chức viễn thông quốc tế thuộc

Liên hiệp quốc MD5 Message Digest 5 Giải thuật Tiêu hóa tin 5

NIST National Institute Of Standards And

RSA Rivest, Shamir, Adleman Một thuật toán mật mã hóa khóa

công khai SHA Secure Hash Algorithm Giải thuật băm an toàn

URL Uniform Resource Locator Định vị Tài nguyên xác định DSS Digital Signature Standard Chuẩn chữ ký số

DSA Digital Signature Algorithm Giải thuật ký số

XKMS XML Key Management Specification Quản lý khóa cho các thực thể

theo cú pháp XML GnuPG GNU Privacy Guard Một chương trình mã hóa dữ liệu

và tạo chữ ký số PGP Pretty Good Privacy Bảo mật rất mạnh

S/MIME Security/Multipurpose Internet Mail

Trang 9

1

MỞ ĐẦU

1 Tính cấp thiết của đề tài

Thực hiện ứng dụng công nghệ thông tin vào hoạt động, năm 2014, các cơ quan nhà nước tỉnh Bắc Ninh đã xây dựng và phát triển phần mềm Quản lý văn bản

và điều hành nhằm thực hiện việc quản lý, điều hành văn bản nội bộ trong cơ quan Qua từng năm, phần mềm này đã được nâng cấp giúp cho các cơ quan điều hành công việc và giao dịch văn bản trong nội bộ các đơn vị có hiệu quả thiết thực, giúp cải cách hành chính và tạo phong cách làm việc hiện đại cho cán bộ, công chức Phần mềm chạy trên nền web, các cán bộ, công chức, viên chức của các cơ quan, đơn vị được cấp tài khoản truy nhập để sử dụng Phần mềm có 2 chức năng

cơ bản đó là: Chức năng quản lý văn bản đến và chức năng quản lý văn bản đi Ban đầu, mỗi cơ quan có một phần mềm riêng, chỉ tiếp nhận và chuyển văn bản trong nội bộ cơ quan mình Sau một thời gian hầu hết các cơ quan tại Bắc Ninh

đã sử dụng phần mềm này, lúc này nảy sinh nhu cầu liên thông văn bản từ cơ quan này sang cơ quan khác, liên thông văn bản vừa nhanh lại vừa không phải scan, văn bản đi của cơ quan này là văn bản đến của cơ quan kia và ngược lại Vì vậy, Bắc Ninh đã nâng cấp phần mềm và liên thông văn bản giữa các cơ quan lại với nhau Tuy nhiên, trong quá trình liên thông văn bản lại phát sinh những khó khăn

đó là: các văn bản giao dịch, trao đổi trên phần mềm tính bảo mật chưa cao, mặc dù

đã dùng biện pháp các văn bản đi văn thư lấy chữ ký, con dấu và scan gắn vào phần mềm và gửi đi nhưng độ tin tưởng không cao Chính vì vậy, đòi hỏi văn bản phải được ký số và lưu chuyển trên phần mềm đáp ứng yêu cầu xác định tính đúng đắn

và toàn vẹn của văn bản khi nhận

Xuất phát từ lý do đó, đề tài đặt vấn đề nghiên cứu về Chữ ký số và ứng dụng trong quản lý văn bản điện tử tại tỉnh Bắc Ninh để xác thực nguồn gốc,

tính toàn vẹn của dữ liệu nhận được trên phần mềm quản lý, điều hành của các cơ quan tỉnh Bắc Ninh

Trang 10

2

2 Tổng quan vấn đề nghiên cứu

Hiện nay, các giao dịch điện tử ngày càng trở nên phổ biến Để bảo đảm an toàn cho các giao dịch này, trong quản lý các văn bản, chứng từ, … cần phải sử dụng đến giải pháp chữ ký số Chữ ký số được sử dụng để bảo đảm tính bảo mật, tính toàn vẹn, tính chống chối bỏ của các thông tin giao dịch trên mạng Internet Chữ ký số tương đương với chữ ký tay nên có giá trị sử dụng trong các ứng dụng giao dịch điện tử với máy tính và mạng Internet cần tính pháp lý cao

Hơn nữa, ngoài việc là một phương tiện điện tử được pháp luật thừa nhận về tính pháp lý, chữ ký số còn là một công nghệ mã hóa và xác thực rất mạnh Nó có thể giúp bảo đảm an toàn, bảo mật cao cho các giao dịch trực tuyến, nhất là các giao dịch chứa các thông tin liên quan đến tài chính

Việc ứng dụng chữ ký số sẽ đem lại cho doanh nghiệp, tổ chức rất nhiều lợi ích như: Tiết kiệm chi phí giấy tờ, thời gian luân chuyển trong hoạt động quản lý công văn, giấy tờ, thư điện tử và đảm bảo độ an toàn và bảo mật thông tin, …

- Xây dựng phần mềm ký số các tài liệu văn bản

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

* Đối tượng nghiên cứu:

- Tìm hiểu về các giải pháp mã hoá để bảo mật thông tin

- Nghiên cứu những phương pháp, kỹ thuật tạo chữ ký số trên các tài liệu, văn bản điện tử

Trang 11

3

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

- Phương pháp nghiên cứu lý thuyết: Tìm hiểu tài liệu, đọc hiểu các kiến thức cơ bản, đề xuất các phương pháp tích hợp chữ ký số trên phần mềm

- Phương pháp nghiên cứu thực nghiệm: Cài đặt thử nghiệm ký số tại UBND thị xã Từ Sơn tỉnh Bắc Ninh

- Phương pháp trao đổi khoa học: Trao đổi hướng nghiên cứu với người hướng dẫn, các đồng nghiệp để đề xuất và giải quyết các nội dung luận văn đề ra

6 Nội dung của luận văn

Luận văn được trình bày trong 3 chương, phần kết luận và hướng phát triển

Chương 1 AN TOÀN THÔNG TIN VÀ CÁC HỆ MÃ HÓA THÔNG DỤNG

Chương này trình bày những vấn đề mang tính cơ sở khoa học, nền tảng cho việc sử dụng chữ ký số vào việc bảo mật và xác thực thông tin

Chương 2 CHỮ KÝ SỐ

Chương này tìm hiểu tổng quan về chữ ký số và một số thuật toán chữ ký số thông dụng hiện nay: RSA, DSA, DSS Giới thiệu một số hàm băm phổ biến dùng trong thuật toán chữ ký số như MD5, SHA - 1

Chương 3 XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG CHỮ KÝ SỐ TRONG QUẢN LÝ VĂN BẢN

Chương này giới thiệu mô hình phần mềm quản lý văn bản và điều hành tỉnh Bắc Ninh và xây dựng chương trình ứng dụng chữ ký số để bảo vệ và xác thực tài liệu gốc

Trang 12

4

Chương 1 AN TOÀN THÔNG TIN VÀ CÁC HỆ MÃ HÓA

THÔNG DỤNG 1.1 Tổng quan về bảo mật an toàn thông tin

1.1.1 Tại sao cần bảo đảm an toàn thông tin

Ngày nay, cùng với sự phát triển của mạng máy tính, các ứng dụng của Công nghệ thông tin ngày càng trở nên phổ biến góp phần không nhỏ vào sự nghiệp công nghiệp hóa, hiện đại hóa đất nước, đáp ứng nhu cầu về vật chất và tinh thần của nhân dân Song song với những lợi ích do Công nghệ thông tin đem lại, chúng ta cũng phải đối mặt với nhiều nguy cơ, rủi ro tiềm ẩn khi điểm yếu của các hệ thống thông tin bị khai thác, lợi dụng Trong khi đó các trang thông tin điện tử ngày càng phát triển mạnh mẽ với thông tin đăng tải phong phú, đa dạng về mọi chủ đề của đời sống xã hội Cũng chính vì vậy, môi trường mạng cũng bị lợi dụng để đưa thông tin sai lệch, quảng cáo không trung thực, lừa đảo qua mạng,

Thời gian gần đây các tấn công trên môi trường mạng xuất hiện ngày càng nhiều, từ hình thức làm lây lan virus, cho đến làm ngừng trệ hoạt động của mạng, lấy cắp dữ liệu nhạy cảm như: Thông tin cá nhân, tài khoản ngân hàng, mật khẩu truy cập của người dùng Thực tế, tại Việt Nam, những vụ việc tương tự cũng đã bắt đầu diễn ra Trong năm 2013, hệ thống giám sát vi rút của Bkav đã phát hiện hàng loạt email đính kèm file văn bản chứa phần mềm gián điệp được gửi tới các cơ quan, doanh nghiệp Do từ trước tới nay các file văn bản vẫn được cho là an toàn, hầu hết người nhận được email đã mở file đính kèm và bị nhiễm vi rút dạng spyware (phát tán phần mềm gián điệp) khai thác lỗ hổng của phần mềm Microsoft Office (bao gồm cả Word, Excel và PowerPoint) Khi xâm nhập vào máy tính, vi rút này âm thầm kiểm soát toàn bộ máy tính nạn nhân, mở cổng hậu (backdoor), cho phép hacker điều khiển máy tính nạn nhân từ xa Chúng cũng nhận lệnh hacker tải các vi rút khác về máy tính để ghi lại thao tác bàn phím, chụp màn hình, lấy cắp tài liệu Trước tình hình mất an toàn thông tin ở nước ta diễn biến phức tạp, xuất hiện nhiều nguy cơ đe dọa nghiêm trọng đến việc ứng dụng công nghệ thông tin phục vụ phát triển kinh tế – xã hội và đảm bảo quốc phòng, an ninh Vì vậy, vấn đề đảm bảo

Trang 13

5

an toàn thông tin ngày càng trở nên cấp thiết đối với mọi cá nhân, tổ chức trong xã hội [5].

1.1.2 Mục tiêu của An toàn thông tin

• Bảo đảm bí mật: Thông tin không bị lộ đối với người không được phép

• Bảo đảm toàn vẹn: Ngăn chặn hay hạn chế việc bổ sung, loại bỏ và sửa dữ liệu không được phép

• Bảo đảm xác thực: Xác thực đúng thực thể cần kết nối, giao dịch, đúng thực thể có trách nhiệm về nội dung thông tin

• Bảo đảm sẵn sàng: Thông tin sẵn sàng cho người dùng hợp pháp

1.1.3 Các chiến lược bảo đảm An toàn thông tin

a/ Cấp quyền hạn tối thiểu

Nguyên tắc này tức là “Hạn chế sự ưu tiên”: Mỗi đối tượng sử dụng hệ thống chỉ được cấp phát một số quyền hạn nhất định đủ dùng cho công việc của mình b/ Phòng thủ theo chiều sâu

Nguyên tắc này là tạo nhiều lớp bảo vệ khác nhau cho hệ thống

1.1.4 Các giải pháp bảo đảm An toàn thông tin

a/ Phương pháp che giấu, bảo đảm toàn vẹn và xác thực thông tin

- “Che” dữ liệu (Mã hóa): thay đổi hình dạng dữ liệu gốc

- “Giấu” dữ liệu: cất giấu dữ liệu này trong môi trường dữ liệu khác

- Bảo đảm toàn vẹn và xác thực thông tin

Để thực hiện được phương pháp này người ta thường sử dụng các kỹ thuật:

Mã hóa, hàm băm, giấu tin, ký số,…

b/ Phương pháp kiểm soát lối vào ra của thông tin

- Kiểm soát, ngăn chặn các thông tin vào ra hệ thống máy tính

- Kiểm soát, cấp quyền sử dụng các thông tin trong hệ thống máy tính

- Kiểm soát, tìm diệt “sâu bọ” (virus) vào ra hệ thống máy tính

Để thực hiện được phương pháp này người ta thường sử dụng các kỹ thuật sau: Mật khẩu, Mạng riêng ảo, tường lửa, nhận dạng, xác thực thực thể, cấp quyền hạn c/ Phát hiện và xử lý các lỗ hổng trong an toàn thông tin

- Các lỗ hổng trong các Thuật toán hay giao thức mật mã, giấu tin

Trang 14

Mật mã là kỹ thuật được dùng lâu đời trong việc bảo đảm An toàn thông tin

cụ thể là trong thông tin liên lạc Về phương diện lịch sử, mật mã học gắn liền với quá trình mã hóa; điều này có nghĩa là nó gắn với các cách thức để chuyển đổi thông tin từ dạng này sang dạng khác nhưng ở đây là từ dạng thông thường có thể nhận thức được thành dạng không thể nhận thức được, làm cho thông tin trở thành dạng không thể đọc được nếu như không có các kiến thức bí mật Quá trình mã hóa được sử dụng chủ yếu để đảm bảo tính bí mật của các thông tin quan trọng, chẳng hạn trong công tác tình báo, quân sự hay ngoại giao cũng như các bí mật về kinh tế, thương mại

Trong những năm gần đây, lĩnh vực hoạt động của mật mã học đã được mở rộng: Trong khi mật mã học cổ điển chủ yếu dùng để che giấu dữ liệu thì mật mã học hiện đại cung cấp cơ chế cho nhiều hoạt động hơn và có một loạt các ứng dụng như: chứng thực khóa công khai, chữ ký số, bầu cử điện tử hay tiền điện tử Ngoài

ra, những người không có nhu cầu thiết yếu đặc biệt về tính bí mật cũng sử dụng các công nghệ mật mã hóa, thông thường được thiết kế và tạo lập sẵn trong các cơ

sở hạ tầng của công nghệ tính toán và liên lạc viễn thông

Mật mã học là khoa học nghiên cứu cơ sở lý thuyết và công nghệ để thực hiện việc xây dựng và sử dụng các hệ thống mật mã Mật mã học là một lĩnh vực liên quan đến các kỹ thuật ngôn ngữ và toán học để đảm bảo an toàn thông tin 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ọc

là khoa học nghiên cứu mật mã: tạo mã và thám mã

Thám mã là lĩnh vực khoa học nghiên cứu, tìm kiếm yếu điểm của các hệ mật từ đó đưa ra phương pháp tấn công các hệ mật đó Mật mã và thám mã là hai

Trang 15

7

lĩnh vực đối lập nhau nhưng gắn bó mật thiết với nhau Không thể xây dựng một hệ mật tốt nếu không hiểu sâu về thám mã Thám mã chỉ ra yếu điểm của hệ mật Yếu điểm này có thể được sử dụng để tấn công hệ mật này nhưng cũng có thể được sử dụng để cải tiến hệ mật cho tốt hơn

* Khái niệm mã hóa (Encryption) [8, tr.17]

Mã hóa là phương pháp để biến thông tin (phim ảnh, văn bản, hình ảnh ) từ định dạng thông tin ban đầu (dạng tường minh) sang dạng thông tin ẩn tàng, với mục đích giữ bí mật thông tin đó và không thể hiểu được nếu không có phương tiện giải mã

Giải mã là phương pháp để đưa từ dạng thông tin đã được mã hóa về dạng thông tin ban đầu, quá trình ngược của mã hóa

* Khái niệm chữ ký số (Digital Signature) [3, tr.191]

Chữ ký số được biết đến như một công nghệ xác thực, đảm bảo an ninh, an toàn cho giao dịch trên môi trường Internet Chữ ký số sẽ giải quyết vấn đề toàn vẹn

dữ liệu và là bằng chứng chống sự chối bỏ trách nhiệm trên nội dung đã ký, giúp cho các doanh nghiệp, tổ chức, cá nhân yên tâm với các giao dịch điện tử của mình trong môi trường Internet Chữ ký số là một dạng chữ ký điện tử, nó dựa trên công nghệ mã hóa công khai (RSA): mỗi người dùng phải có 1 cặp khóa (keypair) gồm khóa công khai (public key) và khóa bí mật (private key)

Khi gửi một tài liệu số có chữ ký trên đó, người ta phải gửi cả hai file: một file tài liệu và một file chữ ký Nhờ đó mới kiểm tra được có đúng chữ ký đó ký trên tài liệu đi kèm hay không

b/ Giấu tin (Steganography) [6, tr.161]

* Khái niệm Giấu tin

Giấu tin là giấu thông tin này vào trong một thông tin khác Thông tin được giấu vào bên trong một thông tin khác sẽ khó bị phát hiện vì người ta khó nhận biết được là đã có một thông tin được giấu vào bên trong Theo nghĩa rộng, giấu tin cũng là hệ mật mã nhằm đảm bảo tính bí mật của thông tin

* Khái niệm Thủy vân (WaterMaking) [13]

Trang 16

Ví dụ: Giấu một thông tin sở hữu của người chủ vào trong tác phẩm (tài liệu số) của họ, nếu ai sử dụng trái phép tác phẩm đó, thì tin được giấu sẽ là vật chứng

để chứng minh quyền hợp pháp của người chủ Đó là ứng dụng để bảo vệ bản quyền tác phẩm số

1.2 Một số khái niệm toán học

1.2.1 Không gian Z p

Zp được định nghĩa là tập hợp các số tự nhiên nhỏ hơn n Zp = {1,2, ,p-1}

Zp* được định nghĩa là tập hợp các số tự nhiên nhỏ hơn n và nguyên tố cùng nhau với n Zp* = {x/x N, x< p, gcd (x,p)=1}

Trong không gian Zp, các phép toán đều được thực hiện theo modulo n Phép cộng phép trừ và phép nhân được thực hiện bình thường như trong không gian Z, tuy nhiên kết quả cuối cùng phải được tính theo modulo n

Phép chia trong không gian Zp liên quan tới khái niệm phần tử nghịch đảo Phần tử nghịch đảo của a ∈ Zp định nghĩa là b ∈ Zp thỏa mãn

a.b = 1(mod n), ký hiệu b = (mod n)/a

Trang 17

17 ≡ 5 (mod 3) vì chia 17 và 5 cho 3, được cùng số dư là 2

Nhận xét: Các mệnh đề sau đây là tương đương:

- Nếu a ≡ b(mod n) thì b ≡ a(mod n)

- Nếu a ≡ b(mod n) và b ≡ c(mod n) thì a ≡ c(mod n)

- Nếu a ≡ b(mod n), c ≡ d(mod n) thì a ± c ≡ b ± d(mod n)*a*c ≡ b*d(mod n)

1.3 Hệ mã khóa bí mật

1.3.1 Khái quát hệ mã hóa khóa bí mật

Trang 18

1.3.2 Hệ mã hóa cổ điển

Trong hệ mã hóa này cả bản mã và bản rõ là dãy các ký tự thuộc bảng chữ cái tiếng Anh, bảng ký tự này gồm có 26 ký tự, được đánh số từ 0 đến 25, ta có thể đồng nhất nó với tập Z26

a/ Hệ mã hóa dịch chuyển

Sơ đồ các hệ mật mã dịch chuyển được định nghĩa như sau:

S = (P, C, K, E, D ) trong đó P = C = K = Z26

Với mọi x, y ∈ Z26, k∈K các hàm E và D được cho bởi [3]:

Hàm mã hóa: y= ek(x) = (x+k) mod 26 (1.1) Hàm giải mã: x= dk(y) = (y – k) mod 26 (1.2) Các hệ mật mã được xác định như vậy là đúng vì với mọi x, y ∈ Z26 ta đều có:

dk(ek(x)) = (x+k) - k mod 26 = x (1.3) Các hệ mã chuyển dịch được sử dụng từ rất sớm, theo truyền thuyết, hệ mã

đó với k=3 đã được dùng bởi J Caesar từ đế quốc La Mã và được gọi là hệ mã Caesar [1]

Trang 19

11

krpqdbwurlqdnjghs

Để giải bản mật mã đó ta chỉ cần chuyển nó lại dưới dạng số được dãy y, rồi thực hiện thuật toán giải mã, tức là trừ từng số hạng với 3 (theo modul 26), được lại dãy x, chuyển thành dãy ký tự là được bản rõ ban đầu

Các hệ mật mã chuyển dịch tuy dễ sử dụng, nhưng việc thám mã cũng khá dễ dàng, số các khóa có thể có là 26; nhận được một bản mã, người thám mã chỉ cần thử dùng lần lượt tối đa là 26 khóa đó để giải mã sẽ tìm ra khóa đã dùng và cả bản rõ

b/ Hệ mã hóa thay thế

Hệ mã hóa thay thế là hệ mã hóa trong đó mỗi ký tự của bản rõ được thay thế bằng ký tự khác trong bản mã (có thể là một chữ cái, một số hoặc một ký hiệu)

Sơ đồ các hệ mã hóa thay thế được định nghĩa như sau:

S = (P, C, K, E, D ), trong đó P = C = Z26, K là tập mọi hoán vị trên Z26 Với mọi x, y ∈ Z26, khóa k = π ∈ K các hàm E và D được cho bởi [3]:

Sơ đồ hệ mã hóa có số khóa bằng số phép hoán vị trên tập Z26, tức là 26! (26!>4.1026) khóa Do đó việc duyệt lần lượt các khóa để thám mã là không thực tế, ngay cả khi dùng máy tính Tuy vậy, có những phương pháp thám mã khác hiệu quả hơn, làm cho các hệ mật mã thay thế không thể được xem là an toàn

c/ Hệ mã hóa Hill

Trang 20

12

Cũng giống như sơ đồ mã Vigenere [5, tr.30], các hệ mã này được thực hiện trên từng bộ m ký tự liên tiếp, điều khác là mỗi ký tự của bản mã được xác định bởi một tổ hợp tuyến tính (trên vành Z26) của m ký tự trong bản rõ Như vậy, khóa sẽ được cho bởi một ma trận cấp m, tức là một phần tử của K∈Zmxm Để phép biến đổi tuyến tính xác định bởi ma trận K có phép nghịch đảo, bản thân ma trận K cũng phải có ma trận nghịch đảo K-1 theo mod 26; mà điều kiện cần và đủ để K có nghịch đảo là định thức của nó, ký hiệu detK, nguyên tố với 26 Vậy, sơ đồ mật mã Hill được định nghĩa theo sơ đồ sau:

S = (P, C, K, E, D ) Trong đó P = C = m

83

số và tách thành từng đoạn 2 số liên tiếp:

Trang 21

1.4 Hệ mã khóa công khai

1.4.1 Hệ mã hóa RSA

Hệ mã hóa khóa công khai RSA được đề xuất bởi Ron Rivest, Adi Shamir

và Len Adleman (MIT) vào năm 1977

Hệ mã hóa sử dụng phương pháp mã hóa khối với mỗi khối là một số

nguyên < n: Thông thường kích cỡ n là 1024 bit ≈ 309 chữ số thập phân

Quá trình tạo khóa cho hệ mật RSA

Giả sử An và Ba cần trao đổi thông tin bí mật thông qua một kênh không an toàn (ví dụ như Internet) Với thuật toán RSA, An đầ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 6 bước sau:

- Chọn 2 số nguyên tố lớn khác nhau p, q thỏa mãn điều kiện pq

- Tính tích của nó n= p q*

- Tính giá trị hàm Phi Euler của n: ϕ( )n =(p− 1)(q− 1)

- Chọn số nguyên e, sao cho 1 < e < ϕ(n)và gcd(e,ϕ(n))=1

- Tính giá trị d, 1 < d < ϕ(n) thỏa mãn điều kiện:e d* ≡1mod ( )ϕ n , ta dùng phương pháp thử dần các số nguyên x sao cho có được d = (x*ϕ(n)+1)/e là số nguyên

- Khóa công khai bao gồm: n và e Khóa mật: d còn p,q và ϕ(n)thường là xóa sau khi tính toán khóa

Trang 23

15

Ví dụ 1.3: Mã hóa bản rõ NA

1/ Sinh khóa (e, d):

Chọn bí mật số nguyên tố lớn p = 53, q = 61, n = p*q = 3233, công khai n Tính ( ) (ϕ n = p−1).(q−1) 52*60 3120= =

Chọn khóa công khai e là số nguyên tố cùng nhau với ϕ( )n , tức là:

Độ an toàn của hệ mã hóa RSA [5]:

1/ Hệ mã hóa RSA là tất định, tức là với một bản rõ x và một khóa bí mật a, thì chỉ có một bản mã y

2/ Hệ mật RSA an toàn khi giữ bí mật khóa giải mã a, p, q, ϕ( )n

Nếu biết được p và q thì thám mã dễ dàng vì khi đó sẽ tính được

( ) (n p 1).(q 1)

Nếu biết được ϕ( )n thì thám mã sẽ tính được a theo thuật toán Euclide mở rộng Nhưng phân tích n thành tích của p và q là rất khó Như vậy độ an toàn của hệ mật RSA phụ thuộc vào khả năng giải bài toán phân tích số nguyên dương n thành tích hai số nguyên tố lớn p và q

1.4.2 Hệ mã hóa Elgamal

Hệ mật mã Elgamal được T Elgamal đề xuất năm 1985, dựa vào độ phức tạp của bài toán tính logarit rời rạc, và sau đó đã nhanh chóng được sử dụng rộng rãi

Trang 24

Với bản rõ xP và bản mã yC, với khóa kKđịnh nghĩa:

- Hàm mã hóa: Chọn ngẫu nhiên bí mật rZ p−1, bản mã là [1]:

Trang 25

17

1/ Hệ mã hóa Elgamal là không tất định, tức là với một bản rõ x và một khóa bí mật a, thì có thể có nhiều bản mã y, vì trong hàm lập mã còn có thành phần ngẫu nhiên

2/ Độ an toàn của hệ mật Elgamal dựa vào khả năng giải bài toán logarit rời rạc trong Zp Theo giả thuyết trong sơ đồ, thì bài toán này phải là khó giải

Theo công thức lập mã: y = ek(x, r) = (y1, y2), trong đó y1 = gr mod p và y2 = x*hr mod p Như vậy muốn xác định được bản rõ x từ y2, thám mã phải biết được r Giá trị r có thể tìm được từ công thức y1, nhưng gặp bài toán logarit rời rạc là khó giải

Bảng 1.1: So sánh hai hệ mã hóa công khai điển hình

Giống nhau * Ưu điểm:

- Đều là các hệ mã mật khóa công khai

- Được xây dựng dựa trên các hàm 1 chiều

- Tính an toàn được nâng cao rõ rệt so với hệ mã mật khóa bí mật,việc phân phối khóa sẽ dễ dàng hơn,số lượng khóa hệ thống quản lí cũng ít hơn

-Xây dựng cho các ứng dụng thương mại điện tử,dịch vụ chữ kí điện tử

* Nhược điểm:

- Làm việc với các số nguyên lớn => hạn chế về tốc độ xử lí khóa

- Dung lượng bộ nhớ dành cho việc trữ khóa cũng lớn Khác nhau Ưu điểm:

- là hệ mã được sử dụng rông rãi nhất dùng để mã hóa các

dữ liệu có kích thước nhỏ,có yêu cầu bảo mật cao

Ưu điểm:

- so với RSA thì Elgamal không có nhiều rắc rối về bản quyền sử dụng

Nhược điểm:

- cần gấp đôi bộ nhớ để chứa bản

mã so với các hệ mã khác.Do kích

Trang 26

18

thước thông tin sau khi mã hóa gửi

đi sẽ tăng gấp đôi so với thông tin gốc

1.5 Kết luận chương

Mạng Internet đã phổ cập đến từng cán bộ công chức và đến từng cơ quan và

có thể đáp ứng đầy đủ nhu cầu gửi, nhận văn bản điện tử qua hệ thống quản lý văn bản và điều hành trong công tác quản lý nhà nước Tuy nhiên trong quá trình gửi, nhận văn bản điện tử có một yêu cầu thiết yếu là thông tin phải được bảo vệ một cách an toàn, bảo mật Một số quy định về an toàn thông tin được đưa ra như sau:

- Tính bí mật

- Tính xác thực thông tin

- Tính toàn vẹn thông tin

- Tính chống chối bỏ

Sự ra đời của hệ mật mã đã phần nào giải quyết được các yêu cầu trên Hai

hệ mật mã được nghiên cứu ở phần trên là hệ mật mã đối xứng và hệ mật mã bất đối xứng (hay hệ mật mã khóa công khai)

Chương 1 trình bày những vấn đề mang tính cơ sở khoa học, nền tảng cho việc sử dụng chữ ký số vào việc bảo mật và xác thực thông tin Khái niệm chữ ký

số, cách phân loại, thuật toán chữ ký số một số sơ đồ chữ ký hiện đang được sử dụng phổ biến sẽ được trình bày trong nội dung của chương 2

Trang 27

19

Chương 2 CHỮ KÝ SỐ 2.1 Giới thiệu

2.1.1 Khái niệm

Chữ ký điện tử [3],[5],[8]

- Là một định danh điện tử được tạo ra bởi máy tính được các tổ chức sử dụng nhằm đạt được tính hiệu quả và có hiệu lực như là các chữ ký tay

- Là một cơ chế xác thực hóa cho phép người tạo ra thông điệp đính kèm một

mã số vào thông điệp giống như là việc ký một chữ ký lên một văn bản bình thường

Việc tạo chữ ký điện tử qua mã hóa giá trị băm của mỗi thông điệp quả thực không dễ dàng với những cá nhân, tổ chức không được trang bị tốt về công nghệ thông tin Nếu chỉ nhằm mục đích nhận biết và không chối bỏ, người ta thường dùng một phương pháp đơn giản hơn: đó là chữ ký số

Chữ ký số là một dạng đặc biệt của chữ ký điện tử sử dụng kỹ thuật mã hóa khóa công khai, là hình thức chữ ký điện tử được sử dụng phổ biến nhất hiện nay Trong đó mỗi người tham gia ký cần một cặp khóa bao gồm một khóa công khai và một khóa bí mật Khóa bí mật dùng để tạo chữ ký số, khóa công khai dùng để thẩm định, xác thực chữ ký số

Đúng, nếu y = Sig k (x) Ver k (x, y) = (2.1)

Sai, nếu y ≠ Sig k (x)

Trang 28

20

2.1.3 Quy trình tạo và kiểm tra chữ ký số

Hình 2.1: Sơ đồ quy trình tạo và kiểm tra chữ ký số [8, tr.97]

Quy trình tạo chữ ký số:

Dùng giải thuật băm để thay đổi bản tin điện tử cần truyền đi, kết quả ta được một bản tóm lược (message digest), dùng giải thuật MD5 ta được digest dài

128 bit, dùng giải thuật SHA () ta có chiều dài 160 bit

Dùng giải thuật RSA trong quy trình ký bản tin điện tử Sử dụng khóa bí mật (private key) của người gửi để mã hóa bản tóm lược thu được ở trên

Sau đó ta gán chữ ký số vào bản tin điện tử, thu được bản tin rõ đã ký và cuối cùng là gửi bản tin đó đến địa chỉ của người nhận

Quy trình thẩm định chữ ký số:

Dùng khóa công khai (public key) của người gửi để giải mã chữ ký số của bản tin điện tử

Dùng giải thuật MD5 hoặc SHA băm bản tin đính kèm

So sánh kết quả thu được ở trên, nếu thấy trùng nhau ta kết luận bản tin điện

tử này không bị thay đổi trong quá trình truyền và bản tin này là của người gửi

Trang 29

21

2.2 Hàm băm

2.2.1 Khái niệm hàm băm

Hàm băm ( hàm hash): 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 (có thể là một chuỗi kí tự, một đối tượng trong lập trình hướng đối tượng, v.v ) Giá trị băm đóng vai 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 Khối dữ liệu có kích cỡ rất khác nhau nên rất khó xử lý Hàm băm được sử dụng để băm các khối dữ liệu khác nhau về cùng một cỡ như 126 bit, 256 bit Một số ứng dụng của hàm hash:

• Chống và phát hiện xâm nhập: chương trình chống xâm nhập so sánh giá trị hash của một file với giá trị trước đó để kiểm tra xem file đó có bị ai đó thay đổi hay không

• Bảo vệ tính toàn vẹn của thông điệp được gửi qua mạng bằng cách kiểm tra giá trị hash của thông điệp trước và sau khi gửi nhằm phát hiện những thay đổi cho

Ví dụ về hoạt động của một hàm băm:

Hai chuỗi dữ liệu gốc chỉ khác nhau một từ (runs và walks) nhưng qua hàm băm cho hai giá trị băm hoàn toàn khác nhau So sánh hai giá trị băm thấy khác nhau ta biết ngay hai chuỗi dữ liệu gốc là khác nhau

Trang 30

22

Hình 2.2: Hoạt động của một hàm băm [8, tr.104]

Hàm băm được chia làm 2 loại: [2]

- Hàm băm 1 chiều (one – way hash functions) là hàm băm mà với mọi mã

băm biết trước không thể tính toán để tìm được chuỗi bit đầu vào có mã băm bằng với mã băm đã cho

- Hàm băm kháng xung đột (collision resistant hash functions) là hàm băm

không thể tính toán để tìm ra 2 chuỗi bit có cùng giá trị băm

2.2.3 Các hàm băm thông dụng

a/ Thuật toán hàm băm MD5

MD5 (Message-Digest algorithm 5) là một hàm băm để mã hóa với giá trị băm là 128bit Từng được xem là một chuẩn trên Internet, MD5 đã được sử dụng rộng rãi trong các chương trình an ninh mạng, và cũng thường được dùng để kiểm tra tính nguyên vẹn của tập tin Nó đã được sử dụng rộng rãi trong các chương trình

an ninh mạng, và cũng thường được dùng để kiểm tra tính nguyên vẹn của tập tin MD5 được thiết kế bởi Ronald Rivest vào năm 1991 để thay thế cho hàm băm trước đó MD4

MD5 biến đổi một thông điệp có chiều dài bất kì thành một khối có kích thước cố định 128 bits Thông điệp đưa vào sẻ được cắt thành các khối 512 bits Thông điệp được đưa vào bộ đệm để chiều dài của nó sẽ chia hết cho 512

Trang 31

23

Mô tả thuật toán

Input: Thông điệp (văn bản) có độ dài tùy ý

Output: Bản băm, đại diện cho thông điệp gốc, độ dài cố định 128 bit

Bước 1: Khởi tạo các thanh ghi

Có 4 thanh ghi được sử dụng để tính toán nhằm đưa ra các đoạn mã: A, B, C,

D Bản tóm lược của thông điệp được xây dựng như sự kết nối của các thanh ghi Mỗi thanh ghi có độ dài 32 bit Các thanh ghi này được khởi tạo giá trị hecxa

Bước 3: Thực hiện bốn vòng băm

Các vòng 1, 2, 3 và 4 dùng tương ứng ba hàm F, G, H và I Mỗi hàm này là một hàm boolean tính theo bit Chúng được xác định như sau:

F(X, Y, Z) = (X∧Y)∨((¬X)∧ Z) G(X, Y, Z) = (X∧Z)∨ (Y∧(¬Z)) H(X, Y, Z) = X⊕Y⊕Z

I(X, Y, Z) = Y⊕(X∨(¬Z))

Bước 4: Output

Kết quả ra là đoạn mã có độ dài 128 bit, được thu gọn từ thông điệp a có độ dài b bit Đoạn mã này thu được từ 4 thanh ghi A, B, C, D: bắt đầu từ byte thấp của

thanh ghi A cho đến byte cao của thanh ghi D

Hàm băm MD5 sẽ trả về một chuỗi số thập lục phân gồm 32 số liên tiếp Dưới đây là ví dụ mô tả các kết quả thu được sau khi băm

MD5("Ủy ban nhân dân thị xã Từ Sơn")

= 4f2eb12881ec71fb7904367324a1ae76

Trang 32

24

Chỉ cần một thay đổi nhỏ cũng làm thay đổi hoàn toàn kết quả trả về :

MD5(“ Ủy Ban nhân dân thị xã Từ Sơn“)

= 39777bb38946aa5eb6dba5c9de02847a

b/ Thuật toán hàm băm SHA - 1 [5],[6]

Năm 1995, tổ chức NIST cùng NSA đã thiết kế ra thuật toán hàm băm an toàn SHA sử dụng cho chuẩn chữ ký điện tử DSS SHA được thiết kế dựa trên những nguyên tắc của MD4/MD5, tạo ra 160bit giá trị băm Sau đó, vào năm 1995, khi trích dẫn điểm yếu mới được phát hiện mà nó chối từ chau chuốt lại, NSA đã làm những thay đổi đối với SHA Thuật toán mới được gọi là SHA-1 SHA-1 (Sercue Hash Algorithm) là thuật toán cũng được xây dựng trên thuật toán MD4, đang được sử dụng rộng rãi Thuật toán SHA-1 tạo ra chuỗi mã băm có chiều dài cố định 160 bit từ chuỗi bit dữ liệu đầu vào x có chiều dài tùy ý

Thuật toán: [5, tr.116-tr.117]

Input: thông điệp với độ dài tối đa 264 bits

Output: giá trị băm (message digest) có độ dài 160 bits

Giải thuật gồm 5 bước thao tác trên các khối 512 bits

Bước 1: Nhồi dữ liệu

- Thông điệp được nhồi thêm các bit sao cho độ dài L mod 512 luôn đồng dư

là 448

- Thông điệp luôn luôn được nhồi thêm các bit

- Số bit nhồi thêm phải nằm trong khoảng [1-512]

- Phần thêm vào cuối dữ liệu gồm 1 bit 1 và theo sau là các bit 0

Bước 2: Thêm độ dài

- Độ dài của khối dữ liệu ban đầu sẽ đượ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 mà ta thu được 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ả thu được từ 2 bước là 1 khối dữ liệu có độ dài là bội số của

512.(với cứ 512 bit là 1 khối dữ liệu)

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

Trang 33

25

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) và có 2 bộ đệm.5 thanh ghi của bộ đệm đầu tiên được đánh đặt tên là A,B,C,D,E và tương tự cho bộ đệm thứ 2 là H0,H1,H2,H3,H4.Có giá trị như sau (theo dạng Hex):

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

- Bốn vòng lặp có cấu trúc như nhau, chỉ khác nhau ở các hàm logic ft

Trang 34

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

Sau khi thao tác trên toàn bộ N khối dữ liệu (blocks) Kết quả của khối thứ N

là chuỗi băm 160-bit

H=H0 H1 H2 H3 H4

2.2.4 Kết hợp hàm băm vào chữ ký số

Từ file cần gửi ban đầu, chúng ta sẽ sử dụng hàm băm để băm (mã hóa) thành chuỗi ký tự có độ dài cố định, với hàm băm MD5 cho ta chuỗi có độ dài 128 bit, hàm băm SHA cho ta chuỗi có độ dài 160 bit gọi là bản tóm lược Sau đó dùng

ký số ký lên bản tóm lược để trở thành bản chữ ký điện tử, tiếp theo gửi cho người nhận hai file là file cần gửi và bản chữ ký điện tử Khi người nhận nhận được sẽ thực hiện Xác nhận chữ ký để xác nhận người gửi đồng thời dùng hàm băm - băm file gửi kèm sau đó so sánh với bản tóm lược để xác định thông tin có sự thay đổi hay không

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

2.3.1 Thuật toán RSA

a/ Giới thiệu giải thuật

Trang 35

27

Trong mật mã học, RSA là một thuật toán mật mã hóa khóa công khai Đây

là thuật toán đầu tiê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ã học trong việc sử dụng khóa công cộng 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 [15] Trước hết chúng ta sẽ xem xét cách làm việc của giải thuật này khi áp dụng trong mã hoá Giả

sử rằng Ba muốn nhận được các bản tin được mã hoá như trong hình sau:

Hình 2.3: Sơ đồ chữ ký số RSA [7]

An ký bản tin rõ m để được chữ ký SA Sau đó An dùng khoá mã công khai

EB của Ba để lập bản mã M = EB(m,SA) rồi gửi đến Ba Khi nhận dược bản mã M,

Ba dùng khoá bí mật DB của mình để giải mã cho M và thu được m, SA Tiếp đó dùng thuật toán kiểm tra e A

Trang 36

28

Hình 2.4: Sơ đồ mã hóa công khai

b/ Thuật toán chữ ký số RSA [7],[8]

Bước 1: Tạo khóa

Tương tự thuật toán tạo khóa đã trình bày ở mục 1.4.1

+ Việc ký số vào m tương ứng việc mã hóa tài liệu m

+ Kiểm tra chữ ký chính là việc giải mã chữ ký, để kiểm tra tài liệu đã giải

mã có đúng là tài liệu trước khi ký hay không Thuật toán và khóa kiểm tra chữ ký

là công khai, ai cũng có thể kiểm thử được chữ ký

Ngày đăng: 29/08/2023, 13:39

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phan Đình Diệu (2002), Lý thuyết mật mã và an toàn thông tin, Nxb Đại học Quốc gia Hà Nội Sách, tạp chí
Tiêu đề: Lý thuyết mật mã và an toàn thông tin
Tác giả: Phan Đình Diệu
Nhà XB: Nxb Đại học Quốc gia Hà Nội
Năm: 2002
[2] Phạm Huy Điển, Hà Huy Khoái (2004), Mã hoá thông tin cơ sở toán học và ứng dụng, Viện toán học Sách, tạp chí
Tiêu đề: Mã hoá thông tin cơ sở toán học và ứng dụng
Tác giả: Phạm Huy Điển, Hà Huy Khoái
Nhà XB: Viện toán học
Năm: 2004
[3] Dương Anh Đức, Trần Minh Triết (2005), Mã hoá và ứng dụng, Nxb Đại học Quốc gia TP Hồ Chí Minh Sách, tạp chí
Tiêu đề: Mã hoá và ứng dụng
Tác giả: Dương Anh Đức, Trần Minh Triết
Nhà XB: Nxb Đại học Quốc gia TP Hồ Chí Minh
Năm: 2005
[4] Thái Hồng Nhị, Phạm Minh Việt (2004), An toàn thông tin - mạng máy tính, truyền tin số và truyền số liệu, Nxb Khoa học và kỹ thuật Sách, tạp chí
Tiêu đề: An toàn thông tin - mạng máy tính, truyền tin số và truyền số liệu
Tác giả: Thái Hồng Nhị, Phạm Minh Việt
Nhà XB: Nxb Khoa học và kỹ thuật
Năm: 2004
[5] Nguyễn Hữu Tuân (2007), Giáo trình An toàn và Bảo mật thông tin, Trường Đại học Hàng Hải Sách, tạp chí
Tiêu đề: Giáo trình An toàn và Bảo mật thông tin
Tác giả: Nguyễn Hữu Tuân
Nhà XB: Trường Đại học Hàng Hải
Năm: 2007
[6] Trần Minh Văn (2008), Bài giảng An toàn và Bảo mật thông tin, Trường Đại học Nha Trang Sách, tạp chí
Tiêu đề: Bài giảng An toàn và Bảo mật thông tin
Tác giả: Trần Minh Văn
Nhà XB: Trường Đại học Nha Trang
Năm: 2008
[7] Nguyễn Bình, Ngô Đức Thiện (2013), Giáo trình cơ sở mật mã học, Học viện Công nghệ Bưu chính Viễn thông Sách, tạp chí
Tiêu đề: Giáo trình cơ sở mật mã học
Tác giả: Nguyễn Bình, Ngô Đức Thiện
Nhà XB: Học viện Công nghệ Bưu chính Viễn thông
Năm: 2013
[8] Thái Thanh Tùng (2011), Giáo trình mật mã học và an toàn thông tin, NXB Thông tin và Truyền thông Sách, tạp chí
Tiêu đề: Giáo trình mật mã học và an toàn thông tin
Tác giả: Thái Thanh Tùng
Nhà XB: NXB Thông tin và Truyền thông
Năm: 2011
[9] Trần Văn Dũng (2007), Giáo trình An toàn và Bảo mật thông tin, Trường Đại học Giao thông Vận tải.Tiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình An toàn và Bảo mật thông tin
Tác giả: Trần Văn Dũng
Nhà XB: Trường Đại học Giao thông Vận tải
Năm: 2007
[10] A. MENEZES, P. VAN OORSCHOT, S. VANSTONE (1996), “Handbook of Applied Cryptography”, CRC Press. See Sách, tạp chí
Tiêu đề: Handbook of Applied Cryptography
Tác giả: A. MENEZES, P. VAN OORSCHOT, S. VANSTONE
Nhà XB: CRC Press
Năm: 1996
[11] Rolf Oppliger (2005), Contemporary Cryptography, Artech House Sách, tạp chí
Tiêu đề: Contemporary Cryptography
Tác giả: Rolf Oppliger
Nhà XB: Artech House
Năm: 2005
[12] J. Jonsson, B. Kaliski (2012), PKCS #1 v2.2: RSA Cryptography Standard, RSA Laboratories.Website Sách, tạp chí
Tiêu đề: PKCS #1 v2.2: RSA Cryptography Standard
Tác giả: J. Jonsson, B. Kaliski
Nhà XB: RSA Laboratories
Năm: 2012

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