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

Nghiên cứu về mã hóa công khai elgamal và ứng dụng trong chữ ký điện tử tại tổng công ty bảo hiểm bảo việt

78 580 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 78
Dung lượng 2 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SĨ NGHIÊN CỨU VỀ MÃ HÓA CÔNG KHAI ELGAMAL VÀ ỨNG DỤNG TRONG CHỮ KÝ ĐIỆN TỬ TẠI TỔNG CÔNG TY BẢO HIỂM BẢO VIỆT LƯU XUÂN THỦY

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SĨ

NGHIÊN CỨU VỀ MÃ HÓA CÔNG KHAI ELGAMAL

VÀ ỨNG DỤNG TRONG CHỮ KÝ ĐIỆN TỬ

TẠI TỔNG CÔNG TY BẢO HIỂM BẢO VIỆT

LƯU XUÂN THỦY

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

MÃ SỐ: 60480201

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS NGUYỄN LONG GIANG

HÀ NỘI - 2016

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn “Nghiên cứu về mã hóa công khai Elgamal và ứng dụng trong chữ ký điện tử tại Bảo Hiểm Bảo Việt” là công trình nghiên

cứu của riêng tôi Các số liệu, kết quả được trình bày trong luận văn là hoàn toàn trung thực và chưa từng được công bố trong bất kỳ một công trình nào khác Tôi đã trích dẫn đầy đủ các tài liệu tham khảo, công trình nghiên cứu liên quan trong nước và quốc tế Ngoại trừ các tài liệu tham khảo này, luận văn là công việc của tôi

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

Học viên

Lưu Xuân Thủy

Trang 3

LỜI CẢM ƠN

Trong suốt quá trình học tập ở nhà trường vừa qua, tác giả đã được quý thầy

cô cung cấp và truyền đạt tất cả kiến thức chuyên môn cần thiết và quý giá nhất Ngoài ra, tác giả còn được rèn luyện một tinh thần học tập, làm việc độc lập, sáng tạo và làm việc theo nhóm

Đề tài nghiên cứu luận văn Thạc sĩ là cơ hội để tác giả có thể áp dụng, tổng kết lại những kiến thức mà mình đã học Đồng thời, rút ra những kinh nghiệm thực tế, quý giá trong suốt quá trình thực hiện nghiên cứu

Tác giả xin chân thành cảm ơn các thầy, cô giáo trong Viện Sau Đại học – Viện Đại học Mở – Hà Nội, những người đã trực tiếp giảng dạy, truyền đạt kiến thức cho tác giả cũng nhữ lớp thế hệ trẻ cùng với các học viên khác trong những năm tháng vừa qua

Tác giả xin đặc biêt cảm ơn thầy giáo TS Nguyễn Long Giang, giảng viên hướng dẫn tác giả thực hiện luận văn nghiên cứu này, thầy đã hướng dẫn nhiệt tình để tác giả có thể hoàn thành tốt đề tài nghiên cứu này Bên cạnh những kết quả đạt được cũng không tránh được những thiếu xót trong quá trình thực hiện báo cáo nghiên cứu của mình Sự góp ý của thầy cô, các anh, chị và các bạn độc giả sẽ là kinh nghiệm quý báu sẽ giúp ích cho tác giả nhiều trong công việc Kính chúc các thầy cô luôn mạnh khỏe và đạt được nhiều thành công trong

Trang 4

MỤC LỤC

LỜI CAM ĐOAN ii

LỜI CẢM ƠN iii

MỤC LỤC iv

CÁC THUẬT NGỮ VIẾT TẮT vii

DANH SÁCH HÌNH VẼ viii

LỜI MỞ ĐẦU 1

CHƯƠNG 1: TỔNG QUAN 3

1.1 Khái niệm về thương mại điện tử 3

1.1.1 Các loại thị trường điện tử 3

1.1.2 Các công đoạn của một giao dịch điện tử mua bán trên mạng 7

1.2 Một số khái niệm về bảo mật thông tin 8

1.2.1 Khái niệm an toàn 8

1.2.2 Các hiểm họa an toàn 9

1.2.3 Các dịch vụ an toàn 9

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 12

2.1 Cơ sở toán học 12

2.1.1 Khái niệm đồng dư modulo 12

2.1.2 Định lý về phần dư Trung Hoa 13

2.1.3 Các phép kiểm tra số nguyên tố 13

2.1.4 Thuật toán bình phương và nhân 15

2.1.5 Thuật toán Euclid mở rộng 16

2.1.6 Phẩn tử nguyên thủy và logarithm rời rạc 18

2.2 Lý thuyết về mã hóa, mã khối và hàm băm trong chữ ký điện tử 19

2.2.1 Khái niệm mã hóa 19

2.2.2 Mã hóa trong chữ ký điện tử 20

Trang 5

2.2.3 Khái niệm về mã khối 21

2.2.4 Hàm băm trong chữ ký điện tử 21

2.2.5 Quy trình tạo và kiểm tra chữ ký điện tử cơ bản 24

2.2.6 Các hệ mã đối xứng và công khai 27

2.2.7 Chữ ký một lần 33

2.2.8 Chữ kỹ không chối được 37

2.2.9 Thiết lập một hệ mật RSA 38

2.2.10 Hệ mật Elgamal và một số các vấn đề liên quan 39

CHƯƠNG 3: THỬ NGHIỆM CHỮ KÝ ĐIỆN TỬ TẠI TỔNG CÔNG TY BẢO HIỂM BẢO VIỆT BẰNG MÃ HÓA ELGAMAL 47

3.1 Giới thiệu về Bảo Việt 47

3.1.1 Tập đoàn Bảo Việt 47

3.1.2 Tổng công ty Bảo Hiểm Bảo Việt 47

3.2 Giải pháp ứng dụng chữ ký điện tử 49

3.3 Thực trạng ứng dụng chữ ký điện tử tại Việt Nam 49

3.4 Đề xuất ứng dụng chữ ký điện tử trong qui trình nghiệp vụ giám định bồi thường xe cơ giới tại Bảo Hiểm Bảo Việt 50

3.4.1 Qui trình giám định bồi thường 51

3.4.2 Mô tả các giai đoạn của qui trình 52

3.5 Đề xuất giải pháp 57

3.6 Phát biểu bài toán bảo lãnh điện tử 58

3.7 Mục tiêu thử nghiệm 58

3.8 Lựa chọn môi trường và công cụ cài đặt 59

3.9 Thử nghiệm và đánh giá kết quả thử nghiệm 59

3.9.1 Xây dựng thử nghiệm chương trình bảo lãnh điện tử với thứ tự các bước thực hiện như sau 59

Trang 6

3.9.2 Qui trình bảo lãnh điện tử đề xuất 60

3.9.3 Phân tích và thiết kế chương trình thử nghiệm 61

3.10 Đánh giá kết quả cài đặt thử nghiệm 64

3.10.1 Kết quả thu được 64

3.10.2 Những tồn tại của đề tài 65

3.11 Tổng kết 65

TÀI LIỆU THAM KHẢO 67

PHỤ LỤC: DANH MỤC CÁC BÀI BÁO ĐÃ ĐĂNG TRÊN KỶ YẾU HỘI THẢO KHOA HỌC CHUYÊN NGHÀNH CỦA ĐỀ TÀI 70

Bài báo của tác giả cùng với thầy hướng dẫn và cộng sự: “Chữ ký điện tử và ứng dụng trong hoạt động kinh doanh Bảo hiểm tại Tổng công Bảo Hiểm Bảo Việt” 70

Trang 7

CÁC THUẬT NGỮ VIẾT TẮT

DES Data Encrytion Standard Mã hóa dữ liệu chuẩn

RSA Rivest Shamir Adleman

SHA Secure Hash Algorithm Giải thuật hàm băm

MD5 Message Digest

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

CA Certificate Authority Ủy quyền chứng chỉ

IDE Integrated Development Environment Môi trường phát triển tích hợp

Trang 8

DANH SÁCH HÌNH VẼ

Hình 2.1: Tạo chữ ký điện tử 29

Hình 2.2: Kiểm tra chữ ký điện tử 29

Hình 2.3: Sơ đồ mã hóa khóa đối xứng 31

Hình 2.4: Mô hình mã hóa khóa công khai 32

Hình 3.1: Quy trình giám định bồi thường xe cơ giới 54

Hình 3.2: Quy trình bảo lãnh điện tử 63

Trang 9

LỜI MỞ ĐẦU

Ngày nay, sự phát triển mạnh mẽ của công nghệ thông tin và trao đổi thông tin ngày càng trở nên phổ biến khiến vấn đề đảm bảo an toàn thông tin trở nên cần thiết với mọi hoạt động kinh, xã hội và giao tiếp của con người

Để thực hiện yêu cầu về bảo mật thông tin thì cách hay dùng nhất là mã hóa thông tin trước khi gửi đi Vì vậy mật mã đã được nghiên cứu và sử dụng từ rất lâu trong lịch sử loài người, tuy nhiên nó mới được nghiên cứu công khai và tìm được các lĩnh vực ứng dụng trong đời sống công cộng cùng với sự phát triển của kỹ thuật tính toán và viễn thông hiện đại Từ đó, ngành khoa học này đã phát triển mạnh mẽ, đạt được nhiều kết quả lý thuyết và tạo cơ sở cho việc phát triển các giải pháp bảo mật và an toàn thông tin trong mọi lĩnh vực hoạt động của con người trong thời đại công nghệ thông tin được ứng dụng rộng rãi Với yêu cầu cấp thiết của an toàn thông tin, các cá nhân, tổ chức đã không ngừng tìm kiếm các phương pháp đảm bảo

tính bảo mật của thông tin Trong luận văn này, em xin trình bày về: “Nghiên cứu

về mã hóa công khai Elgamal và ứng dụng trong chữ ký điện tử tại Tổng công ty Bảo Hiểm Bảo Việt” Đồng thời, ứng dụng các thuật toán và chữ ký điện tử để đảm bảo an toàn thông tin khi truyền qua hệ thống mạng

Nội dung của đề tài bao gồm bốn chương:

 CHƯƠNG 1: TỔNG QUAN

Chương này trình bày tổng quanvề tổng quan an toàn bảo mật thông tin, khái quát, giới thiệu về đề tài và công cụ lập trình

 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

Chương này trình bày những khái niệm cơ bản về mã hóa và chữ ký điện tử và các loại chữ ký điện tử được sử dụng phổ biến hiện nay

Chương này bao gồm tìm hiểu về hệ mã Elgamal, mã hóa và giải mã hệ, đồng thời tìm hiểu quy trình tạo chữ ký điện tử dùng hệ Elgamal

 CHƯƠNG 3: THỬ NGHIỆM CHỮ KÝ ĐIỆN TỬ TẠI TỔNG CÔNG

TY BẢO HIỂM BẢO VIỆT BẰNG MÃ HÓA ELGAMAL

Trang 10

Chương này tiến hành cài đặt hệ mã, các nội dung tạo và kiểm tra chữ ký điện

tử Elgamal

Đánh giá kế quả đạt được những tồn tại của hệ thống và hướng phát triển, ứng

dụng trong hệ thống quản lý tài liệu, cấp đơn, Bảo lãnh Bảo hiểm tại Bảo Hiểm Bảo Việt

Trang 11

CHƯƠNG 1: TỔNG QUAN

1.1 Khái niệm về thương mại điện tử

1.1.1 Các loại thị trường điện tử

Loại hình thương mại điện tử B2B ( Business To Business ):

Loại hình thương mại điện tử B2B được định nghĩa đơn giản là thương mại điện tử giữa các công ty[27] Đây là loại hình thương mại điện tử gắn với mối quan

hệ giữa các công ty với nhau Khoảng 80% thương mại điện tử theo loại hình này và phần lớn các chuyên gia dự đoán rằng loại hình thương mại điện tử B2B sẽ tiếp tục phát triển nhanh hơn B2C

Thị trường B2B có hai thành phần chủ yếu: hạ tầng ảo và thị trường ảo

Hạ tầng ảo là cấu trúc của B2B chủ yếu bao gồm những vấn đề sau:

Hậu cần - Vận tải, nhà kho và phân phối;

Cung cấp các dịch vụ ứng dụng - tiến hành, máy chủ và quản lý phần mềm trọn gói từ một trung tâm hỗ trợ (ví dụ Oracle và Linkshare);

Các nguồn chức năng từ bên ngoài trong chu trình thương mại điện tử như máy chủ trang web, bảo mật và giải pháp chăm sóc khách hàng

Các phần mềm giải pháp đấu giá cho việc điều hành và duy trì các hình thức đấu giá trên Internet

Phần mềm quản lý nội dung cho việc hỗ trợ quản lý và đưa ra nội dung trang Web cho phép thương mại dựa trên Web

Phần lớn các ứng dụng B2B là trong lĩnh vực quản lý cung ứng ( Đặc biệt chu trình đặt hàng mua hàng), quản lý kho hàng (Chu trình quản lý đặt hàng gửi hàng-vận đơn), quản lý phân phối (đặc biệt trong việc chuyển gia các chứng từ gửi hàng)

và quản lý thanh toán (ví dụ hệ thống thanh toán điện tử hay EPS)

Tại Việt Nam có một số nhà cung cấp B2B trong lĩnh vực IT "khá nổi tiếng" là FPT , CMC, Tinh Vân với hàng loạt các dự án cung cấp phần mềm, các trang web giá thành cao và chất lượng tốt

Thị trường mạng được định nghĩa đơn giản là những trang web nơi mà người

Trang 12

mua người bán trao đổi qua lại với nhau và thực hiện giao dịch

Qua hai nội dung trên chúng ta có thể đưa ra vài nét tổng quan về các doanh nghiệp B2B:

Là những nhà cung cấp hạ tầng trên mạng internet cho các doanh nghiệp khác như máy chủ, hệ điều hành, phần mềm ứng dụng;

Là các doanh nghiệp chuyên cung cấp các giải pháp trên mạng internet như cung cấp máy chủ, hosting (Dữ liệu trên mạng), tên miền, các dịch vụ thiết kế, bảo trì, website;

Là các doanh nghiệp cung cấp các phần mềm quản lý doanh nghiệp, kế toán doanh nghiệp, các phần mềm quản trị, các phần mềm ứng dụng khác cho doanh nghiệp;

Các doanh nghiệp là trung gian thương mại điện tử trên mạng internet

Tại Việt Nam các trang web về B2B rất ít xuất hiện hoặc nó bị gán nhầm cho cái tên B2B thậm chí nhiều người không hiểu B2B là gì, cứ thấy có doanh nghiệp với doanh nghiệp là gán cho chữ B2B Chúng ta có thể ghé thăm các website được xếp hạng bên trong trang web của Bộ Công Thương Việt Nam: www.ecvn.gov.vn, www.vnemart.com, www.gophatdat.com, www.vietoffer.com, www.thuonghieuviet.com, ……

Loại hình thương mại điện tử B2C ( Business to Customers):

Loại hình thương mại điện tử B2C hay là thương mại giữa các công ty và người tiêu dùng, liên quan đến việc khách hàng thu thập thông tin, mua các hàng hoá thực (hữu hình như là sách hoặc sản phẩm tiêu dùng) hoặc sản phẩm thông tin (hoặc hàng hoá về nguyên liệu điện tử hoặc nội dung số hoá, như phần mềm, sách điện tử) và các hàng hoá thông tin, nhận sản phẩm qua mạng điện tử

Đơn giản hơn chúng ta có thể hiểu: Loại hình thương mại điện tử B2C là việc một doanh nghiệp dựa trên mạng internet để trao đổi các hang hóa dịch vụ do mình tạo ra hoặc do mình phân phối

Các trang web khá thành công với hình thức này trên thế giới phải kể đến Amazon.com, Drugstore.com, Beyond.com

Trang 13

Tại Việt Nam hình thức buôn bán này đang rất "ảm đạm" vì nhiều lý do nhưng

lý do chủ quan nhất là ý thức của các doanh nghiệp, họ không quan tâm, không để ý

và tệ nhất là không chăm sóc nổi website cho chính doanh nghiệp mình Tôi đã có lần trình bày ở bài viết về khởi nghiệp bằng thương mại điện tử của giới trẻ Chi phí

để lập và duy trì một website là rất ít và không tốn kém với một cá nhân chứ chưa

kể đến một doanh nghiệp, doanh nghiệp Việt Nam nếu vẫn trì trệ trong việc cập nhật công nghệ thì sẽ sớm bị các doanh nghiệp trẻ, doanh nghiệp nước ngoài chiếm mất thị trường béo bở 80 triệu dân với 40% là giới trẻ

Danh sách các website theo loại hình thương mại điện tử B2C được đánh giá cao trong bảng xếp hạng của Bộ Thương mại Việt Nam

Loại hình thương mại điện tử C2C (Customer to Customer):

Loại hình thương mại điện tử khách hàng tới khách hàng C2C đơn giản là thương mại giữa các cá nhân và người tiêu dùng

Loại hình thương mại điện tử này được phân loại bởi sự tăng trưởng của thị trường điện tử và đấu giá trên mạng, đặc biệt với các ngành theo trục dọc nơi các công ty / doanh nghiệp có thể đấu thầu cho những cái họ muốn từ các nhà cung cấp khác nhau Có lẽ đây là tiềm năng lớn nhất cho việc phát triển các thị trường mới Loại hình thương mại điện tử này tới theo ba dạng:

Đấu giá trên một trang web xác định

Hệ thống hai đầu P2P, Forum, IRC, các phần mềm nói chuyện qua mạng như Yahoo, Skype, Window Messenger, AOL

Quảng cáo phân loại tại một cổng (rao vặt)

Giao dịch khách hàng tới doanh nghiệp C2B bao gồm đấu giá ngược, trong đó khách hàng là người điều khiển giao dịch

Trang 14

Tại các trang web của nước ngoài chúng ta có thể nhận ra ngay Ebay là website đứng đầu danh sách các website theo loại hình thương mại điện tử C2C trên thế giới đây la một tượng đài về kinh doanh theo hình thức đấu giá mà các doanh nghiệp Việt Nam nào cũng muốn "trở thành"

Tại Việt Nam thì chưa tất các các hinh thức này ở mọi loại dạng, đi đến đâu cũng thấy quảng cáo rao vặt, rao bán, rao mua, trao đổi Tôi có thể đưa ra các website do Bộ Thương mại xếp hạng để các bạn có cơ hội thăm quan

Ví dụ:

www.chodientu.com, www.heya.com.vn, www.1001shoppings.com, www.saigondaugia.com, www.aha.com.vn

Loại hình thương mại điện tử B2G (Business to Government)

Loại hình thương mại điện tử giữa doanh nghiệp với chính phủ (B2G) được định nghĩa chung là thương mại giữa công ty và khối hành chính công Nó bao hàm việc sử dụng Internet cho mua bán công, thủ tục cấp phép và các hoạt động khác liên quan tới chính phủ Hình thái này của thương mại điện tử có hai đặc tính: thứ nhất, khu vực hành chính công có vai trò dẫn đầu trong việc

Thiết lập thương mại điện tử, thứ hai, người ta cho rằng khu vực này có nhu cầu lớn nhất trong việc biến các hệ thống mua bán trở nên hiệu quả hơn

Các chính sách mua bán trên web tăng cường tính minh bạch của quá trình mua hàng (và giảm rủi ro của việc không đúng quy cách) Tuy nhiên, tới nay, kích

cỡ của thị trường thương mại điện tử B2G như là một thành tố của của tổng thương mại điện tử thì không đáng kể, khi mà hệ thống mua bán của chính phủ còn chưa phát triển

• Ngoài ra vẫn còn một số loại hình thương mại điện tử khác nhưng sự xuất

hiện ở Việt Nam chưa cao như:

Thương mại điện tử M-Commerece ( Buôn bán qua các thiết bị di động cầm tay)

Thương mại điện tử sử dụng tiền ảo ( VTC với Vcoin)

Trang 15

1.1.2 Các công đoạn của một giao dịch điện tử mua bán trên mạng

Với một chiếc thẻ thanh toán và một máy tính kết nối Internet, người tiêu dùng

có thể hoàn thành việc mua hàng hóa, dịch vụ qua website.[27]

Dưới đây là các bước cơ bản để mua hàng và thanh toán trực tuyến

Bước 1: Tìm kiếm, chọn lựa hàng hóa

Truy cập website của nhà cung cấp dịch vụ, và chọn lựa hàng hóa, dịch vụ

Bước 2: Đặt hàng

Sau khi chọn lựa xong các sản phẩm cần mua, người mua sẽ thực hiện bước đặt hàng bằng cách điền các thông tin chi tiết như nhà cung cấp yêu cầu bao gồm: -Thông tin cá nhân

-Phương thức, thời gian giao hàng

-Phương thức, thời gian thanh toán

Bước 3: Kiểm tra thông tin hóa đơn

Hệ thống website sẽ hiển thị hóa đơn mua hàng để người mua kiểm tra thông tin trên hóa đơn Nếu thông tin chính xác, người mua sẽ tiến hànãiác nhận để chuyển sang bước thanh toán

Bước 4: Thanh toán

Nếu website chấp nhận thanh toán trực tuyến, người mua có thể hoàn thành việc thanh toán ngay trên website với điều kiện người mua sở hữu các loại thẻ mà nhà cung cấp chấp nhận Hầu hết website thương mại điện tử chấp nhận các loại thẻ tín dụng và ghi nợ mang thương hiệu Visa, MasterCard Người mua điền thông tin thẻ để hoàn thành thanh toán:

- Số thẻ

- Ngày hết hạn

- CVV

- Thông tin khác tùy theo yêu cầu của ngân hàng phát hành

Lưu ý: giao dịch thanh toán chỉ thành công khi thẻ thanh toán đã được đăng ký chức năng thanh toán online, thông tin thẻ điền đúng và thẻ còn khả năng chi trả

Bước 5: Xác nhận đặt hàng

Trang 16

Hệ thống website sẽ gửi email xác nhận đơn hàng vào email của người mua Nhà cung cấp sẽ liên hệ với người mua để hoàn thành nghiệp vụ giao hàng

1.2 Một số khái niệm về bảo mật thông tin

1.2.1 Khái niệm an toàn

Ngày nay, do nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, điện tử - viễn thông và công nghệ công tin không ngừng được phát triển ứng dụng

để nâng cao chất lượng và lưu lượng truyền tin thì các ý tưởng và biện pháp bảo vệ thông tin dữ liệu cũng được đổi mới và phát triển Bảo vệ an toàn thông tin dữ liệu

là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong thực tế có thể có rất nhiều phương pháp được thực hiện để bảo vệ an toàn thông tin dữ liệu [27]

Các phương pháp bảo vệ an toàn thông tin dữ liệu chủ yếu gồm ba nhóm:

• Bảo vệ an toàn thông tin bằng các biện pháp hành chính

• Bảo vệ an toàn thông tin bằng các biện pháp phần cứng (kỹ thuật)

• Bảo vệ an toàn thông tin bằng các biện pháp phần mềm (thuật toán)

Ba nhóm trên có thể được ứng dụng riêng rẽ hoặc phối hợp với nhau Tuy nhiên, môi trường mạng và truyền tin là môi trường khó bảo vệ an toàn thông tin nhất và dễ xâm nhập nhất Hiện nay, biện pháp thuật toán đang được sử dụng là biện pháp hiệu quả nhất và kinh tế nhất trên mạng truyền tin và mạng máy tính Nội dung an toàn thông tin bao gồm:

• Tính bí mật là tính kín đáo riêng tư của thông tin

• Tính xác thực của thông tin, bao gồm xác thực đối tác: bài toán nhận danh, xác thực thông tin trao đổi

• Tính trách nhiệm: đảm bảo người gửi thông tin có trách nhiệm về thông tin

mà mình đã gửi

Các ứng dụng thực tế của mật mã được thông qua một số giao thức bảo mật phổ biến hiện nay là:

• Keberos: giao thức dùng để chứng thực dựa trên mã hóa đối xứng

• Chuẩn chứng thực X509: được dùng trong mã hóa khóa công khai

Trang 17

• Secure Socket Layer (SSL): là giao thức bảo mật Web, được sử dụng phổ biến trong Web và thương mại điện tử

Bảo mật thư điện tử email: PGP và S/MMIME

1.2.2 Các hiểm họa an toàn

Lạm dụng các đặc quyền vượt mức và các đặc quyền không còn được dùng(Excessive and Unused Privileges)

Lợi dụng vết kiểm toán yếu(Weak Audit Trail)

Lợi dụng sự sơ hở để khai thác phương tiện lưu trữ(Storage Media Exposure) Khai thác các CSDL có điểm yếu và bị lỗi cấu hình(Exploitation of Vunlerabilities and Misconfigured Database)

Rò rỉ các dữ liệu nhạy cảm không được quản lý(Unmanaged Sensitive Data) Tấn công từ chối dịch vụ(Denial of Service)

Vấn đề đào tạo và chuyên gia an ninh còn hạn chế(Limit Sercurity Expertise and Education)

1.2.3 Các dịch vụ an toàn

Dịch vụ rà soát/đánh giá lỗ hổng bảo mật (Vulnerability Assessment)

Dịch vụ đánh giá kiểm thử xâm nhập (Pentest)

Dịch vụ đánh giá kiểm định vận hành (IT Audit)

Dịch vụ xây dựng chính sách bảo mật - (Security policy & Compliance)

Dịch vụ xây dựng SoC (Security operator Center)

Dịch vụ rà soát lỗ hổng bảo mật và cập nhật bản vá an ninh HĐH cho máy chủ

Trang 18

Đảm bảo tính xác thực ( Authentication )

Đối với những liên kết trực tuyến, có hai khía cạnh cần phải chú ý tới:

Tại thời điểm khởi tạo kết nối, dịch vụ xác thực phải hai thực thể tham gia vào trao đổi thông tin phải được ủy quyền

Dịch vụ cần khẳng định rằng kết nối không bị can thiệp bởi một bên thứ ba Trong đó bên thứ ba này có thể giả mạo một trong hai bên được ủy quyền để có thể tham gia vào quá trình truyền tin và thu nhận các thông điệp

Đảm bảo tính toàn vẹn ( Integrity )

Đảm bảo tính toàn vẹn cũng có thể áp dụng cho luồng thông điệp, một thông điệp hoặc một số trường được lựa chọn của thông điệp – Phương pháp hữu ích nhất

là trực tiếp bảo vệ luồng thông điệp – đảm bảo tính toàn vẹn:

 Dịch vụ bảo đảm tính toàn vẹn dữ liệu hướng liên kết;

 Dịch vụ bảo đảm tính toàn vẹn hướng không liên kết

Dịch vụ bảo đảm tính toàn vẹn dữ liệu hướng liên kết:

 Tác động lên luồng thông điệp và đảm bảo rằng thông điệp được nhận hoàn toàn giống khi được gửi, không bị sao chép, không bị sửa đổi, thêm bớt

 Các dữ liệu bị phá huỷ cũng phải được khôi phục bằng dịch vụ này

 Dịch vụ bảo đảm tính toàn vẹn dữ liệu hướng liên kết xử lý các vấn đề liên quan tới sự sửa đổi của luồng các thông điệp và chối bỏ dịch vụ

Dịch vụ bảo đảm tính toàn vẹn hướng không liên kết:

 Chỉ xử lý một thông điệp đơn lẻ Không quan tâm tới những ngữ cảnh rộng hơn

 Chỉ tập trung vào ngăn chặn việc sửa đổi nội dung thông điệp

Trang 19

Dịch vụ chống phủ nhận ngăn chặn người nhận và người gửi từ chối thông điệp được truyền tải – Khi thông điệp được gửi đi, người nhận có thể khẳng định được rằng thông điệp đích thực được gửi tới từ người được uỷ quyền – Khi thông điệp được nhận, người gửi có thể khẳng định được rằng thông điệp đích thực tới đích

Dịch vụ kiểm soát truy nhập

Dịch vụ kiểm soát truy nhập cung cấp khả năng giới hạn và kiểm soát các truy nhập tới các máy chủ hoặc các ứng dụng thông qua đường truyền tin

Để đạt được sự kiểm soát này, mỗi đối tượng khi truy nhập vào mạng phải được nhận biết hoặc được xác thực, sao cho quyền truy cập sẽ được gắn với từng cá nhân

Trang 20

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 Cơ sở toán học

2.1.1 Khái niệm đồng dư modulo

Giả sử a và b là các số nguyên và m là một số nguyên dương Khi đó ta viết a

≡ b(mod m) nếu b-a chia hết cho m Mệnh đề a ≡ b (mod m) được gọi là “a đồng dư với b theo modun m” [8] Ví dụ: [9]

24 ≡ 9 (mod 5) vì 24-9 = 3*5

-11 ≡ 17 (mod 7) vì -11 -17 = -4 * 7

Giả sử chia a và b cho m và ta thu được thương nguyên và phần dư, các phần

dư nằm giữa 0 và m-1, nghĩa là a ≡ q1* m + r1 và a ≡ q2* m + r2 trong đó 0 ≤ r1 ≤

m-1 và 0 ≤ r2 ≤ m-1 Khi đó có thể dễ dàng thấy rằng a ≡ b (mod m) khi và chỉ khi r1=

r2 [12]

Ta sẽ dùng ký hiệu a mod m để xác định phần dư khi a được chia cho m (chính là giá trị r1 ở trên) Như vậy, a ≡ b (mod m) khi và chỉ khi (a mod m) = (b mod m) Phép rút gọn, thay a bằng a mod m thì ta nói rằng a được rút gọn theo modulo m [14]

• Nhận xét

Nhiều ngôn ngữ lập trình của máy tính xác định a mod m là phần dư trong dải –m+1,…,m-1 có cùng dấu với a Ví dụ -18 mod 7 sẽ là -4, giá trị này khác với giá trị 3 là giá trị được xác định theo công thức trên Tuy nhiên, để thuận tiện ta sẽ xác định a mod m luôn là một số không âm

Ta có thể định nghĩa số học modulo m: Zm được coi là tập hợp {0,1, m-1} có trang bị hai phép toán cộng và nhân Việc cộng và nhân trong Zm được thực hiện giống như cộng và nhân các số thực ngoại trừ một điểm là các kết quả được rút gọn theo modun m [8]

Trang 21

2.1.2 Định lý về phần dư Trung Hoa

Định lý số dư Trung Hoa cho phép vì phải thực hiện các phép thay vì phải thực hiện các phép toán mod T trong trường hợp T lớn, ta có thể chuyển về tính toán trên các phép toán mod ti, với các ti nhỏ hơn T Do đó, đinh lý số dư Trung Hoa giúp tăng tốc độ tính toán của thuật toán RSA [9]

Ý tưởng: Tính toán trên modulo của một tích các số mod M, với M

=m1m2…mk trong đó GCD(mimj)=1 (Với i ≠j)

Định lý phần dư Trung Hoa cho phép thực hiện trên từng modulo mi riêng biệt nên tốc độ tính toán sẽ nhanh hơn trên toàn bộ modulo M Để tính toán theo modulo số lớn: Giả sử để tính giá trị của biểu thức A mod M với M khá lớn, A là biểu thức số học nào đó, ta thực hiện các bước sau: [12]

i a i c

∑=1 . ) mod M Định lý phần dư Trung Hoa sử dụng giải hệ phương trình modulo cho

mod

j i m m GCD

m x a

j i

i i

Ta có thể sử dụng định lý này để giải hệ tìm x [14]

2.1.3 Các phép kiểm tra số nguyên tố

2.1.3.1 Phương pháp thô sơ

Phương pháp đơn giản nhất để kiểm tra một số n có là số nguyên tố không là kiểm tra xem nó có chia hết cho các số m nằm trong khoảng 2 đến n-1 hay không Nếu n chia hết cho một số m nào đó thì n là hợp số (composite), ngược lại là số nguyên tố [8]

Thực ra việc kiểm tra với m từ 2 đến n-1 là không cần thiết, mà chỉ cần kiểm tra đến căn bậc 2 của n Đó là vì nếu n là hợp số thì nó chắc chắn có ước số không

Trang 22

vượt quá căn bậc 2 của n[9]

2.1.3.2 Kiểm tra theo xác suất

Các phép kiểm tra tính nguyên tố hay dùng nhất là các thuật toán ngẫu nhiên Giả sử có một mệnh đề Q(p,a) nào đó đúng với mọi số nguyên tố p và một số tự nhiên a <= p [8] Nếu n là một số tự nhiên lẻ và mệnh đề Q(n,a) đúng với một a<= n được lấy ngẫu nhiên, khi đó a có khả năng là một số nguyên tố Ta đưa ra một thuật toán, kết luận rằng n là số nguyên tố Nó là một thuật toán ngẫu nhiên hay thuật toán xác suất [9]Trong các thuật toán loại này, dùng một kiểm tra ngẫu nhiên không bao giờ kết luận một số nguyên tố là hợp số nhưng có thể kết luận một hợp

số là số nguyên tố Xác suất sai của phép kiểm tra có thể giảm xuống nhờ việc chọn một dãy độc lập các số a; nếu với mỗi số a xác suất để thuật toán kết luận một hợp

số là số nguyên tố là nhỏ hơn một nửa thì sau k lần thử độc lập, xác suất sai là nhỏ hơn 2−k, độ tin cậy của thuật toán sẽ tăng lên theo k [12]

Cấu trúc cơ bản của một phép kiểm tra ngẫu nhiên là:

Chọn một số ngẫu nhiên a

Kiểm tra một hệ thức nào đó giữa số a và số n đã cho Nếu hệ thức sai thì chắc chắn n là một hợp số (số a là "bằng chứng" chứng tỏ n là hợp số) và dừng thuật toán [14]

Lặp lại bước 1 cho đến khi đạt được số lần đã định hoặc gặp bước 2

Sau một loạt lần kiểm tra, nếu không tìm được bằng chứng chứng tỏ n là hợp

số thì ta kết luận n là số nguyên tố

2.1.3.3 Phương pháp lý thuyết số

Có một vài phương pháp khác trong lý thuyết số để kiểm tra tính nguyên tố như kiểm tra Lucas-Lehmer và kiểm tra Proth Chúng thường dựa vào việc phân tích n + 1, n − 1, hoặc những số khác.[8] Tuy nhiên các phương pháp này không dừng cho các số tự nhiên n bất kỳ mã chỉ cho các số có một dạng đặc biệt nào đó Kiểm tra Lucas-Lehmer dựa trên tính chất: bậc (multiplicative order) của một

số a modulo n là n − 1 với n là số nguyên tố và a là căn nguyên thuỷ (primitive root) modulo n Nếu ta có thể biểu diễn a chỉ theo n, ta có thể thấy n là nguyên tố

Trang 23

2.1.4 Thuật toán bình phương và nhân

Thuật toán bình phương và nhân là thuật toán tính nhanh lũy thừa tự nhiên của một số (thực hoặc nguyên) Trong trường hợp cơ số là số nguyên có thể được rút gọn theo một modun nào đó Được sử dụng nhiều trong các bài toán mã hóa và giải

mã các hệ mã hóa, đặc biệt là hệ mã hóa công khai [8]

Trang 24

2.1.5 Thuật toán Euclid mở rộng

Cho hai số tự nhiên a, n Ký hiệu (a,n) là ước số chung lớn nhất của a,n; Ø(n)

là số các số nguyên dương < n và nguyên tố với n, không mất tính tổng quát giả sử

Do đó, nếu (n,a) = 1, thì tm = a-1 mod n

Thuật toán Euclid mở rộng tìm phần tử nghịch đảo với modun cho trước Được sử dụng nhiều trong các bài toán mã hóa và giải mã các hệ mã hóa, đặc biệt là

Trang 25

ai = ai-2 – (ai-1 * Yi-1)

bi = bi-2 – (bi-1 * Yi-1)

Trang 26

4 8 -3 9 1

Kết quả: -9 mod m = -9 mod 79 = 70

Cách tính chia dư với số âm: cộng liên tục với số chia cho đến khi được kết quả dương

2.1.6 Phẩn tử nguyên thủy và logarithm rời rạc

Cho số n nguyên dương Ta biết rằng tập các thặng dư thu gọn theo modun n (tức là tập các số nguyên dương < n và nguyên tố với n) lập thành một nhóm với phép nhân mod n, ta ký hiệu là Z*n Nhóm đó có cấp (số phần tử) là ∅(n) Một phần

tử g ϵ Z*n có cấp m, nếu m là số nguyên dương bé nhất sao cho gm = 1 trong Z*n [8] Theo một định lý đại số, ta có m | ∅(n) (ký hiệu m là ước số của ∅(n)) vì vậy với mọi b ϵ Z*n ta luôn có: b∅(n) ≡ 1 (mod n)[9]

Nếu p là số nguyên tố, thì do ∅(p) = p-1, nên ta có với mọi b nguyên tố với p

bp-1 ≡ 1 (mod p) (1) [12]

Nếu b có cấp p-1, thì p-1 là số mũ bé nhất sao cho có công thức (1), do đó các phần tử b,b2,…,bn-1 đều khác nhau, và lập thành Z*p Nói cách khác, b là một phần tử sinh, hay như thường gọi là phần tử nguyên thủy của Z*p : và khi đó Z*p là

Trang 27

một nhóm cyclic

Trong lý thuyết số, người ta đã chứng minh được các định lý sau đây: [14]

• Với mọi số nguyên tố p, Z*p là nhóm cyclic, và số các phần tử nguyên thủy của Z*p bằng ∅(p-1)

• Nếu g là phần tử nguyên thủy theo modun p, thì β = gi , với mọi i mà 1) = 1, cũng là phần tử nguyên thủy theo modun p

(i,p-2.2 Lý thuyết về mã hóa, mã khối và hàm băm trong chữ ký điện tử

2.2.1 Khái niệm mã hóa

Mã hoá dữ liệu là mã hóa với mục đích làm cho dữ liệu không thể đọc được bởi bất cứ ai, ngoại trừ những ai được phép đọc Mã hóa sử dụng thuật toán và khóa

để biến đổi dữ liệu từ hình thức đơn giản rõ ràng (plain hay cleartext) sang hình thức mật mã vô nghĩa (code hay ciphertext) Chỉ có những ai có thông tin giải mã thì mới giải mã và đọc được dữ liệu [8]

Kỹ thuật mật mã là một ngành khoa học chuyên nghiên cứu các phương pháp

và kỹ thuật đảm bảo an toàn và bảo mật trong truyền tin liên lạc với giả thiết sự tồn tại của các thế lực thù địch, những kẻ muốn ăn cắp thông tin để lợi dụng và phá hoại.[9]

Bảo mật mã bao gồm: Lập, bảo vệ mã và phá mã Lập mã bao gồm quá trình

mã hóa và bảo vệ mã và quá trình giải mã

Để bảo vệ thông tin trên đường truyền người ta thường biến đổi nó từ dạng nhận thức được sang dạng không nhận thức được trước khi truyền đi trên mạng, quá trình này được gọi là mã hóa thông tin, ở nơi nhận phải thực hiện quá trình ngược lại, nghĩa là biến đổi thông tin từ dạng không nhận thức được (dữ liệu đã được mã hóa) về dạng nhận thức được (dạng gốc), quá trình này gọi là giải mã Đây là lớp bảo vệ thông tin rất quan trọng và được sử dụng rộng rạng trong môi trường mạng.[12]

Có hai hướng tiếp cận bảo vệ thông tin bằng mật mã: [14]

o Theo đường truyền

Trang 28

o Từ nút đến nút

Nếu theo đường truyền thông tin được mã hóa để bảo vệ trên đường truyền giữa hai nút mà không quan tâm đến nguồn và đích của thông tin đó Thông tin chỉ được bảo vệ trên đường truyền, mỗi nút đều có quá trình giải mã sau đó mã hóa để truyền đi tiếp, do vậy các nút cần được bảo vệ tốt

Nếu theo hướng thứ hai, thông tin trên mạng được bảo vệ trên đường truyền từ nguồn đến đích Thông tin sẽ được mã hóa ngay sau khi mới tạo ra và chỉ được giải

mã khi về đến đích Nhược điểm của cách này là chỉ có dữ liệu của người dùng thì mới có thể mã hóa được còn dữ liệu điều khiển thì được giữ nguyên để có thể xử lý tại các nút.[8]

Mã hóa là ngành nghiên cứu các thuật toán và phương thức để đảm bảo tính bí mật,thường dưới dạng các văn bản lưu trữ trên máy tính Các sản phẩm của lĩnh vực này bao gồm: các hệ mã mật, các hàm băm, các hệ chữ ký điện tử, các cơ chế phân phối, quản lý khóa và các giao thức mật mã

Mã hóa là phương pháp để biến thông tin(phim, văn bản, hình ảnh,…) từ định dạng bình thường sang dạng thông tin không chính thống, không giống dữ liệu gốc nếu không có phương tiện giải mã

2.2.2 Mã hóa trong chữ ký điện tử

Mã hóa là nền tảng để xây dựng nên các hệ chữ ký điện tử Các hệ mã hóa khóa bí mật ít dược sử dụng vì có một số hạn chế nhất định Hiện nay, các hệ mã hóa khóa công khai (hệ ba lô (Knapsack), hệ Rabin, hệ RSA,…) được sử dụng nhiều để xây dựng các lược đồ chữ ký điện tử vì nó có một số điểm mạnh: Sử dụng một khóa công khai để mã hóa thông báo và thẩm tra chữ ký, một khóa riêng (chỉ nơi giữ được biết) để giải mã văn bản và ký chữ ký, bên mã hóa không thể giải mã thông báo (nếu dùng để mã hóa thông báo) và bên kiểm tra không thể tạo chữ ký (nếu dùng để ký)[17]

Trang 29

2.2.3 Khái niệm về mã khối

Các hệ mã cổ điển (ví dụ: mã hóa dịch chuyển, mã hóa thay thế, mã hóa Affine, mã hóa Vigenere, mã hóa Hill) đều có đặc điểm chung là từng ký tự của bản

rõ được mã hoá tách biệt Điều này làm cho việc phá mã trở nên dễ dàng hơn Chính

vì vậy, trên thực tế người ta hay dùng một kiểu mật mã khác, trong đó từng khối ký

tự của bản rõ được mã hoá cùng một lúc như là một đơn vị mã hoá đồng nhất, gọi là phương pháp mã hóa “khối” [8]

Từ xưa đến nay thì đã có rất nhiều hệ mã “khối” ra đời và đã được phát triển

Có thể kể đến một số hệ mã như: Lucifer (1969), DES (1977), Madryga (1984), DES (1985)(t53), FEAL, REDOC, LOKI (1990), Khufu and Khafre (1990), RC2, RC4, IDEA (1990), MMB, CA-1.1, Shipjack, GOST, CAST, Blowfish, SAFER, AES (2001), [9]

3-2.2.4 Hàm băm trong chữ ký điện tử

2.2.4.1 Khái niệm

Một hàm băm H sẽ lấy ở đầu vào một văn bản M có kích thước bất kỳ và sinh kết quả ra là một chuỗi hM = h(M) có độ dài cố định (thường nhỏ hơn nhiều so với kích thước của M) Chuỗi này thường được gọi là cốt (digest) của M Hàm băm thường được sử dụng trong các hệ chữ ký điện tử, khi đó thay vì ký lên văn bản M, thì người ký chỉ cần thực hiện việc ký lên hM và như vậy văn bản đã được ký [26]

Để đảm bảm an toàn cao, chống tấn công giả mạo chữ ký, các hàm băm có các đặc điểm sau:

Lấy đầu vào là một xâu với độ dài bất kỳ và sinh ra xâu có độ dài cố định Tính một chiều: biết M, có thể dễ dàng tính được giá trị băm hM, nhưng không thể tính ngược được M khi chỉ biết hM

Tính bền xung đột yếu (weak collision resistance): với bất kỳ giá trị M, không thể tính được Y ≠ M sao cho h(Y) = h(M)

Tính bền xung đột mạnh (strong collision resistance): không thể tính được một cặp (M,Y) sao cho h(M) = h(Y)

Hiện nay, thường sử dụng hai hàm băm phổ biến là MD5 và SHA-1 [8]

Trang 30

2.2.4.2 Hàm băm MD5

• Mã hóa một chiều (Hash)

Phương pháp này dùng để mã hóa những thứ không cần dịch lại nguyên bản gốc [8]

Hàm băm sử dụng trong nhiều ứng dụng bảo mật thông tin đa dạng, như chứng thực và kiểm tra tính nguyên vẹn của thông điệp Một hàm băm nhận đầu vào

là một xâu ký tự dài (hay thông điệp) có độ dài tùy ý và tạo ra kết quả là một xâu ký

tự có độ dài cố định được gọi là tóm tắt thông điệp hoặc chữ ký số.[9]

Hàm băm là các thuật toán không sử dụng khóa để mã hóa, có nhiệm vụ băm thông điệp được đưa vào theo một thuật toán h một chiều nào đó rồi đưa ra một bản băm gọi là văn bản đại diện có kích thước cố định Do vậy, người nhận không biết được nội dung hay độ dài ban đầu của thông điệp đã được băm bằng hàm băm Giá trị của hàm băm là duy nhất và không thể suy ngược lại được nội dung thông điệp

từ giá trị băm này.[12]

• MD5 (Message Digest 5)

Ronald Rivest là người đã phát minh ra các hàm Băm MD2, MD4 và MD5 Bây giờ ta sẽ xem xét hàm Băm MD5, đây là một cải tiến của MD4 và được sử dung rộng rãi nhất Nguyên tắc thiết kế của hàm băm này cũng là nguyên tắc chung cho rất nhiều các hàm băm khác [14]

MD5: Đầu vào là những khối 512 bit, được chia cho 16 khối con 32 bit Đầu

ra của thuật toán là một thiết lập của 4 khối 32 bit để tạo thành một hàm Băm 128 bit duy nhất: Đầu tiên, chia bức điện thành các khối 512 bit, với khối cuối cùng (đặt

là x và x < 512bit) của bức điện ta cộng thêm một bit 1 vào cuối của x, theo sau đó

là các bit 0 để được độ dài cần thiết (512 bit) Kết quả là bức điện vào là một chuỗi

M có độ dài chia hết cho 512 cho nên ta có thể chia M ra thành các N khối con 32 bit (N khối này sẽ chia hết cho 16) [27]

2.2.4.3 Hàm băm SHA-1 (Secure Hash Algorithm)

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 160 bit giá trị Băm [8][14]

Trang 31

Cũng giống với MD5, bức điện được cộng thêm một bit 1 và các bit 0 ở cuối bức điện để bức điện có thể chia hết cho 512 SHA sử dụng 5 thanh ghi dịch:

SHA xác lập bốn hàm phi tuyến như sau:

ft(X,Y,Z) = (X and Y) or ((not X) and Z) ; 0 ≤ t ≤ 19

ft(X,Y,Z) = X xor Y xor Z ; 20 ≤ t ≤ 39

ft(X,Y,Z) = (X and Y) or (X and Z) or (Y and Z) ; 40 ≤ t ≤ 59

ft(X,Y,Z) = X xor Y xor Z ; 60 ≤ t ≤ 79

Bốn hằng số sử dụng trong thuật toán là:

Kt = 21/2 /4 = 0x5a827999 ; 0 ≤ t ≤ 19

Kt = 31/2 /4 = 0x6ed9eba1 ; 20 ≤ t ≤ 39

Kt = 51/2 /4 = 0x8f1bbcdc ;i 40 ≤ t ≤ 59

Kt = 101/2 /4 = 0xca62c1d6 ; 60 ≤ t ≤ 79

Các khối bức điện được mở rộng từ 16 khối con 32 bit (M0 đến M15) thành

80 khối con 32 bit (W0 đến W79) bằng việc sử dụng thuật toán mở rộng:

Wt = Mt với 0 ≤ t ≤ 15

Wt = (Wt-3 xor Wt-8 xor Wt-14 xor Wt-16) với 16 ≤ t ≤ 79

Nếu gọi Wt là biểu diễn của khối con thứ t của bức điện được mở rộng, và

<<<s là biểu diễn dịch trái s bit, thì vòng lặp chính của SHA như sau:

a = A, b = B, c = C, D = D, e = E,

for t = 0 to 79

Trang 32

Ngoài ra, chữ ký còn đảm bảo phát giác được bất kỳ sự thay đổi nào trên dữ

liệu đã được ký Để ký lên một văn bản, phần mềm sẽ nghiền dữ liệu để gói gọn

bằng một vài dòng, được gọi là thông báo tóm tắt, bằng một tiến trình được gọi là

kỹ thuật băm, rồi tạo thành chữ ký điện tử Cuối cùng phần mềm ký tên sẽ gắn chữ

ký điện tử vào văn bản này

Ví dụ: Giả sử bên A có tài liệu Data cần ký Bên A sẽ thực hiện băm văn bản thành một bản vắn tắt X, sau đó dùng khóa bí mật của mình ký lên bản vắn tắt X để được văn bản chữ ký điện tử Y, sau đó gửi tài liệu Data kèm theo chữ ký Y cho A

Trang 33

Bên B muốn nhận tài liệu Datat do bên A gửi, với chữ ký bản mã Y Bên B sẽ dùng khóa công khai của A để xác nhận chữ ký Y của A ký trên tài liệu Data gửi có đúng hay không, nếu xác nhận đúng thì chữ ký Y chính là A đã ký lên tài liệu Data, ngược lại thì không phải hoặc bản ký đã được thay đổi.[12] [14]

Một số trường hợp xảy ra với chữ ký điện tử, cũng giống như các trường hợp xảy ra với chữ ký truyền thống

Ví dụ: khi tài liệu của A bị thay đổi (dù chỉ một ký tự, một dấu chấm, hay một

ký hiệu bất kỳ) , thì B xác nhận, anh ta sẽ thấy bản giải mã khác với tài liệu của A, Bên B sẽ kết luận rằng tài liệu đó đã bị thay đổi, không phải tài liệu của A đã ký Trường hợp khác, nếu A để lộ khóa bí mật, nghĩa là văn bản tài liệu của A đã được ký bởi người khác có khóa bí mật của A Khi một ai đó xác nhận tài liệu được cho là của A ký, chữ ký vẫn là hợp lệ, mặc dù không phải chính A ký Như vậy chữ

ký của A sẽ không còn giá trị pháp lý nữa Do đó, việc giữ khóa bí mật là tuyệt đối quan trọng trong hệ thống chữ ký điện tử

Trong trường hợp ví dụ trên, A có một cặp khóa có thể ký trên văn bản, tải số liệu Tương tự như vậy, B hay bất kỳ ai sử dụng chữ ký điện tử, đều có một cặp khóa như vậy Khóa bí mật được giữa riêng, còn khóa công khai được đưa ra công cộng Vì vậy vấn đề đặt ra là làm thế nào để biết một khóa công khai thuộc về A, B hay một người nào đó

Hơn nữa, trong môi trường giao dịch trên mạng thì cần phải có độ tin cậy cao,

A muốn giao dịch với nhận vật X A và X cần trao đổi thông tin cá nhân cho nhau, các thông tin có thể như là: Họ tên, địa chỉ, số điện thoại,… Vậy làm sao để A có thể chắc chắn rằng mình giao dịch với X chứ không phải một ông X’ khác giả mạo ông X? Chứng chỉ số được tạo ra để giải quyết vấn đề này Chứng chỉ số có cơ chế

để xác nhận thông tin chính xác về các đối tượng sử dụng chứng chỉ số Thông tin giữa A và X sẽ được các nhận bằng một bên trung gian mà A và X đều tin tưởng Bên trung gian đó là nhà cung cấp chứng chỉ số CA(Cerfiticate Authority) CA

có một chứng chỉ số của riêng mình CA sẽ cung cấp chứng chỉ số cho A và X cũng như các đối tượng khác.[27]

Trang 34

Quay lại ví dụ trên, A và X sẽ có cách kiểm tra thông tin của nhau dựa trên chứng chỉ số như sau: Khi A trao đổi với X , họ sẽ trao đổi chứng chỉ số cho nhau,

đồng thời họ cũng có chứng chỉ số của CA, phần mềm tại máy tính của A có cơ chế

kiểm tra chứng chỉ số của X có hợp lệ hay không, phần mềm sẽ kết hợp chứng chỉ

số của A và của CA để thông báo cho A vễ tính xác thực của đối tượng X

Nếu phần mềm của A kiểm tra và thấy chứng chỉ số của X phù hợp với chứng chỉ số của CA thì A có thể hoàn toàn tin tưởng vào X

Cơ chế chữ ký điện tử và chứng chỉ số sử dụng các thuật toán mã hóa đảm bảo không thể giả mạo CA để cấp chứng chỉ số không hợp pháp, mọi chứng chỉ giả mạo

đều có thể dễ dang bị phát hiện

Quay lại với việc ký văn bản, tài liệu, khóa bí mật sẽ dùng để ký các văn bản, tài liệu của chủ thể Theo như ví dụ trên thì A muốn gửi văn bản kèm với chữ ký

của mình trên văn bản đó, A sẽ phải dùng khóa bí mật để mã hóa thu được bản mã

văn bản, bản mã đó chính là chữ ký của A trên văn bản

Khi A gửi tài liệu Data và chữ ký, để người khác có thể xác nhận văn bản của mình với thông tin đầy đủ về chủ thể, A sẽ gửi kèm chứng chỉ số của mình với văn

bản Giả sử X nhận được văn bản A gửi kèm với chứng chỉ số, khi đó X có thể dễ

dang xác nhận tính hợp pháp của văn bản đó.[8]

2.2.5.2 Quy trình tạo và kiểm tra chữ ký điện tử cơ bản Quy trình tạo và kiểm tra chữ ký điện tử cơ bản gồm hai giai đoạn [17]:

Chữ ký

điện tử

Khóa công khai

Trang 35

2.2.5.1 Tạo chữ ký điện tử

 Bước 1: Sử dụng thuật toán hàm băm để tính cốt của văn bản (message digest) (hay bản tóm lược) cần gửi đi

 Bước 2: Sử dụng khóa bí mật của người gửi để mã hóa bản tóm lược (thường

sử dụng các thuật toán mã hóa khóa công khai : RSA, rabin,Egalmal,…) được

kết quả gọi là chữ ký điện tử của văn bản và được hiểu là đã “ký” vào văn bản

Từ thời điểm này, các thay đổi trên văn bản sẽ được phát hiện trong giai đoạn kiểm tra Việc ký này đảm bảo người nhận tin tưởng văn bản này chắc chắn được gửi đi từ người gửi

 Bước 3: Kết hợp chữ ký điện tử vào văn bản gốc và gửi đến người nhận 2.2.5.2 Kiểm tra chữ ký điện tử

 Bước 1: Tách riêng văn bản ban đầu và chữ ký điện tử

 Bước 2: Sử dụng giải thuật hàm băm tương ứng để băm văn bản gốc ban đầu

 Bước 3: Sử dụng khóa công khai của người gửi (được thông báo đến mọi người) để giải mã chữ ký điện tử của văn bản

 Bước 4: So sánh 2 chuỗi băm thu được ở 2 bước trên (thực hiện theo quy trình kiểm tra của thuật toán chữ ký điện tử): Nếu trùng nhau thì văn bản không

bị thay đổi trong quá trình gửi và văn bản này được gửi đi từ người gửi Ngược lại, nếu không trùng nhau thì văn bản đã bị thay đổi và văn bản không phải của người gửi.[17]

2.2.6 Các hệ mã đối xứng và công khai

Trang 36

Khóa bí mật dùng chung bởi bên gửi và bên nhận Khóa bí mật dùng chung bởi bên gửi và bên nhận

Giải mã (Decode) X= D K (Y)

Hình 2.3: S ơ đồ mã hóa khóa đối xứng

Thuật toán mã hóa và giải mã sử dụng chung một khóa, thuật toán giải mã là phép toán ngược lại của thuật toán mã hóa Vì vậy mô hình trên được gọi là mã hóa đối xứng

Bản mã C được gửi qua kênh truyền Do bản mã C đã được biến đổi so với bản rõ P, nên nếu có người thứ ba can thiệp vào kênh truyền để lấy bản mã C cũng

sẽ không hiểu được ý nghĩa của bản mã Đây chính là đặc điểm quan trọng của mã hóa, cho phép đảm bảo tính bảo mật của một hệ thống truyền tin

Một đặc tính quan trọng nữa là khóa phải được giữ bí mật giữa người gửi và người nhận hay khóa phải được chuyển một cách an toàn từ người gửi đến người nhận

Mã hóa đối xứng đảm bảo tính bí mật, tính toàn vẹn dữ liệu, tính xác thực và tính không từ chối

Mã hóa đối xứng được chia thành hai loại là: mã hóa cổ điển và mã hóa bí mật (mã hóa đối xứng hiện đại)

2.2.6.2 Hệ mã công khai

Khác với mã khóa bí mật, khóa mã hóa của thuật toán mã hóa công khai được công bố rộng rãi Một người bất kỳ có thể sử dụng khóa công khai để mã hóa thông tin nhưng chỉ có người nhận thông tin có khóa giải mã phù hợp với

Trang 37

khóa mã hóa để giải mã thông tin sau đó [12][14]

Mô hình mã khóa công khai:

Hình 2.4: Mô hình mã hóa khóa công khai

Trong đó: Khóa mã hóa không thể giống giải mã và khóa giải mã không thể được tính từ khóa mã hóa

Các hệ mật mã khóa công khai dùng một khóa để mã hóa sau đó dùng một khóa khác để giải mã tức là khóa để mã hóa và giải mã là khác nhau Các khóa này được tạo nên từng cặp chuyển đổi ngược nhau và không có khóa nào có thể suy được từ khóa kia Khóa dùng để mã hóa có thể công khai nhưng khóa dùng

để giải mã phải giữ bí mật

Trong 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 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 được khóa

bí mật nếu chỉ biết khóa công khai

Hệ thống mật mã hóa khóa công khai có thể sử dụng với các mục đích:

• Mã hóa: giữ bí mật thông tin và chỉ có người có khóa bí mật mới giải mã

được

• Tạo chữ kí số: cho phép kiểm tra một văn bản có phải đã được tạo với một

khóa bí mật nào đó hay không

Thỏa thuận khóa: cho phép thiết lập khóa dùng để trao đổi thông tin mật giữa

2 bên.Ý tưởng về hệ mật khóa công khai được Diffie và Heliman đưa ra nhưng việc thực hiện mật mã khóa công khai lại được Rivest, Shamin và Adieman đưa ra đầu tiên.Họ tạo ra hệ mật mã RSA nổi tiếng và một số hệ mật mã được công bố, độ bảo mật của từng hệ dựa trên các bài toán khác nhau

Trang 38

2.2.6.3 Hạ tầng khóa công khai PKI

a PKI là gì ?

Để hiểu rõ về việc xây dựng cơ PKI và vần đề cấp phát chứng thực số có vai trò và ứng dụng như thế nào trong thương mại điên tử Chúng ta sẽ đi phân tích từng khía cạnh xung quanh PKI

Trước tiên chúng hiểu thế nào là PKI và tính cấp thiết của PKI hiện nay : PKI : viết tắt của Public Key Infrastructure tức là hạ tầng cơ sở khóa công khai Là một cơ chế để cho một bên thứ 3 (thường là nhà cung cấp chứng thực số) cung cấp và xác thực định danh các bên tham gia vào quá trình trao đổi thông tin

Cơ chế này cũng cho phép gán cho mỗi người sử dụng trong hệ thống một cặp khóa công khai/khóa bí mật

Một PKI 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 thông qua việc sử dụng một cặp mã khóa công khai và khóa cá nhân được cấp phát và sử dụng thông qua một nhà cung cấp chứng thực được tín nhiệm Nền tảng khóa công khai cung cấp một chứng chỉ số, dùng để xác minh một cá nhân hoặc một 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 đều được phổ biến, nhưng một số nhà cung cấp đang muốn đưa ra một 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.[8] [27]

Trong kỷ nguyên bùng nổ của công nghệ thông tin, mọi giao dịch từ xa có thể thông qua internet Tuy nhiên, mặt khác khó mà bảo đảm rằng những giao dịch trên Internet luôn an toàn Cơ sở hạ tầng khóa công khai (PKI) đã đáp ứng những yêu cầu cấp thiết đó Dựa trên cách sử dụng của chìa khóa mật mã công cộng và chữ ký điện tử, một PKI chính là bộ khung của các chính sách, dịch vụ và phần mềm mã hóa, đáp ứng nhu cầu bảo mật của người sử dụng

Trang 39

PKI cung cấp một cặp chìa khóa, trong đó có một chìa là chìa khóa công khai (Public key) để có thể sử dụng dịch vụ, chìa còn lại là chìa khóa bí mật (Private key) mà người sử dụng phải giữ bí mật Hai chìa khóa này có liên quan mật thiết đến nhau, sao cho một thông điệp được mã hóa bởi một chìa khóa mật mã công khai thì chỉ giải mã được bởi một chìa khóa bí mật tương ứng

Ví dụ về mô hình sử dụng xác thực :[27]

Giả sử có 2 người dùng B và A muốn chuyển thư điện tử cho nhau để đảm bảo tính xác thực và bảo mật họ dùng 1 phần mềm PKI

B muốn chuyển một thư điện tử

đến cho A, với yêu cầu rằng giao

dịch phải chứng minh được chính

anh đã gởi nó đi và nội dung bức

thư không bị thay đổi

Phần mềm PKI dùng chìa khóa cá nhân của B tạo ra một chữ ký điện

tử cho bức thư

B muốn chắc chắn rằng không ai

ngoài A đọc được bức thư này

Phần mềm PKI của B dùng chìa khóa công cộng của A để mã hóa thông điệp của B

A muốn đọc thư do B gởi Phần mềm PKI dùng chìa khóa cá

Ngày đăng: 22/03/2018, 19:26

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phan Anh. Lập trình ứng dụng. NXB Khoa học kỹ thuật. Hà Nội,1998 Sách, tạp chí
Tiêu đề: L"ậ"p trình "ứ"ng d"ụ"ng
Nhà XB: NXB Khoa học kỹ thuật. Hà Nội
[2] Nguyễn Hữu Đống, Đào Thanh Bằng, Lâm Quang Dụ, Phan Đức Trực. Java và ứng dụng. NXB Minh Khai. Tp Hồ Chí Minh, 1997 Sách, tạp chí
Tiêu đề: Java và "ứ"ng d"ụ"ng
Nhà XB: NXB Minh Khai. Tp Hồ Chí Minh
[3] Nguyễn Văn Tảo, Hà Thị Thanh, Nguyễn Lan Oanh. Bài giảng an toàn và bảo mật thông tin, 2011 Sách, tạp chí
Tiêu đề: Bài gi"ả"ng an toàn và b"ả"o m"ậ"t thông tin
[4] Huỳnh Ngọc Tín, Nguyễn Trác Thức, Tôn Thất Hòa An. Giáo trình lập trình Java. NXB Đại học quốc gia TP.Hồ Chí Minh, 2007 Sách, tạp chí
Tiêu đề: Giáo trình l"ậ"p trình Java
Nhà XB: NXB Đại học quốc gia TP.Hồ Chí Minh
[5] Phan Huy Khánh, Hồ Phan Hiếu. Giải pháp ứng dụng chữ ký điện tử trong quá trình gửi và nhận văn bản. Tạp chí khoa học và công nghệ, Đại học Đà Nẵng, 2009 Sách, tạp chí
Tiêu đề: Gi"ả"i pháp "ứ"ng d"ụ"ng ch"ữ" ký "đ"i"ệ"n t"ử" trong quá trình g"ử"i và nh"ậ"n v"ă"n b"ả"n
[7] Ban Cơ yếu Chính phủ phối hợp với Bộ Thông tin và Truyền thông. Hội thảo “Hiện trạng và kế hoạch thúc đẩy khiển khai ứng dụng chữ ký số”, 2010 Sách, tạp chí
Tiêu đề: “Hi"ệ"n tr"ạ"ng và k"ế" ho"ạ"ch thúc "đẩ"y khi"ể"n khai "ứ"ng d"ụ"ng ch"ữ" ký s"ố"”
[8] Khoa CNTT. Giáo trình an toàn và bảo mật thông tin. Trường ĐHHH Hải Phòng, 2008 Sách, tạp chí
Tiêu đề: Giáo trình an toàn và b"ả"o m"ậ"t thông tin
[9] ThS. Lưu Minh Tuấn. Bài giảng môn học an toàn và bảo mật thông tin, Viện CNTTKT – Trường ĐHKTQD, 2015 Sách, tạp chí
Tiêu đề: Bài gi"ả"ng môn h"ọ"c an toàn và b"ả"o m"ậ"t thông tin
[10] Ngô Cường, Lưu Minh Tuấn. Phương pháp mã hóa Rijdael với vấn đề bảo mật thông tin. Tạp chí Khoa học &amp; Công nghệ các trường Đại học kỹ thuật (Số 40+41/2003), 2003 Sách, tạp chí
Tiêu đề: Ph"ươ"ng pháp mã hóa Rijdael v"ớ"i v"ấ"n "đề" b"ả"o m"ậ"t thông tin
[11] Nghị định số 26/2007/NĐ-CP. Quy định chi tiết thi hành Luật Giao dịch điện tử về chữ ký số và dịch vụ chứng thực chữ ký số Sách, tạp chí
Tiêu đề: Quy "đị"nh chi ti"ế"t thi hành Lu"ậ"t Giao d"ị"ch "đ"i"ệ"n t"ử" v"ề" ch"ữ" ký s"ố" và d"ị"ch v"ụ" ch"ứ"ng th"ự"c ch"ữ" ký s
[12] Nguyễn Bình. Mật mã học lý thuyết và thực hành. Viện kỹ thuật thông tin, 1996 Sách, tạp chí
Tiêu đề: M"ậ"t mã h"ọ"c lý thuy"ế"t và th"ự"c hành
[13] TS. Nguyễn Trung Tuấn, ThS. Lưu Minh Tuấn. Xây dựng mô hình ứng dụng tổng thể CNTT trong quản lý tại trường ĐHKTQD. Kỷ yếu hội thảo khoa Sách, tạp chí
Tiêu đề: Xây d"ự"ng mô hình "ứ"ng d"ụ"ng t"ổ"ng th"ể" CNTT trong qu"ả"n lý t"ạ"i tr"ườ"ng "Đ"HKTQD
[14] GS. Phan Đình Diệu. Lý thuyết mật mã và an toàn bảo mật thông tin, NXB Đại học Quốc gia Hà nội, 2002 Sách, tạp chí
Tiêu đề: Lý thuy"ế"t m"ậ"t mã và an toàn b"ả"o m"ậ"t thông tin
Nhà XB: NXB Đại học Quốc gia Hà nội
[15] Phan Huy Khánh, Hồ Phan. Giải pháp ứng dụng chữ ký điện tử trong giao dịch điện tử. Tạp chí khoa học và công nghệ, Đại học Đà Nẵng (số 5 - 2009), 2009 Sách, tạp chí
Tiêu đề: Gi"ả"i pháp "ứ"ng d"ụ"ng ch"ữ" ký "đ"i"ệ"n t"ử" trong giao d"ị"ch "đ"i"ệ"n t
[17] Lưu Xuân Thủy, TS Nguyễn Long Giang, Ths Lưu Minh Tuấn. Chữ ký điện tử và ứng dụng trong hoạt động kinh doanh Bảo Hiểm tại Tổng công ty Bảo Hiểm Bảo Việt. Kỷ yếu hội thảo khoa học 2016Tiếng Anh Sách, tạp chí
Tiêu đề: Ch"ữ" ký "đ"i"ệ"n t"ử" và "ứ"ng d"ụ"ng trong ho"ạ"t "độ"ng kinh doanh B"ả"o Hi"ể"m t"ạ"i T"ổ"ng công ty B"ả"o Hi"ể"m B"ả"o Vi"ệ"t
[19] Jess Garms, Deniel Sonmerfiled. Professional Java Security. NXB Wrox Sách, tạp chí
Tiêu đề: Professional Java Security
Nhà XB: NXB Wrox
[20] Charlie Kaufman, Radia Perlman, Mike Speciner. Network Security Private Communication in a Public world. NXB Prentice Hall Sách, tạp chí
Tiêu đề: Network Security Private Communication in a Public world
Nhà XB: NXB Prentice Hall
[21] E. Harold. Java Network Programming. 3rd Edition, 2004 Sách, tạp chí
Tiêu đề: Java Network Programming
[22] Douglas R. Stinson.Cryptography Theory and practice. CRC Press, 1995 Sách, tạp chí
Tiêu đề: Cryptography Theory and practice
[23] Nik Goots, Boris Izotov, Alex Moldovyan and Nik Moldovyan. Modern Cryptography-Protect Your Data with Fast Block Ciphers, A-LIST Publishing, 2003 Sách, tạp chí
Tiêu đề: Modern Cryptography-Protect Your Data with Fast Block Ciphers

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w