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

Tài liệu luận văn Nghiên Cứu Kỹ Thuật An Toàn Thông Tin Trong Kiểm Phiếu Điện Tử

71 13 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

Tiêu đề Nghiên Cứu Kỹ Thuật An Toàn Thông Tin Trong Kiểm Phiếu Điện Tử - Ứng Dụng Cho Trường Trung Học Phổ Thông Chuyên Hạ Long
Tác giả Mạc Thùy Linh
Người hướng dẫn TS. Hồ Văn Hương
Trường học Đại Học Thái Nguyên
Chuyên ngành Khoa Học Máy Tính
Thể loại Luận văn
Năm xuất bản 2020
Thành phố Thái Nguyên
Định dạng
Số trang 71
Dung lượng 2,24 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ính vì thấy được lợi ích và khó khăn của việc triển khai bỏ phiếu điện tử tại cơ quan công tác nên học viên chọn đề tài: “Nghiên cứu kỹ thuật An toàn thông tin trong kiểm phiếu điện t

Trang 1

MẠC THÙY LINH

NGHIÊN CỨU KỸ THUẬT AN TOÀN THÔNG TIN

TRONG KIỂM PHIẾU ĐIỆN TỬ - ỨNG DỤNG CHO TRƯỜNG

TRUNG HỌC PHỔ THÔNG CHUYÊN HẠ LONG

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

THÁI NGUYÊN - 2020

Trang 2

MẠC THÙY LINH

NGHIÊN CỨU KỸ THUẬT AN TOÀN THÔNG TIN

TRONG KIỂM PHIẾU ĐIỆN TỬ - ỨNG DỤNG CHO TRƯỜNG

TRUNG HỌC PHỔ THÔNG CHUYÊN HẠ LONG

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

Mã số: 8 48 01 01

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

Giáo viên hướng dẫn: TS Hồ Văn Hương

THÁI NGUYÊN - 2020

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn này do chính tôi thực hiện, dưới sự hướng dẫn khoa học của TS Hồ Văn Hương, các kết quả lý thuyết được trình bày trong luận văn là

sự tổng hợp từ các kết quả đã được công bố và có trích dẫn đầy đủ, kết quả của chương trình thực nghiệm trong luận văn này được tác giả thực hiện là hoàn toàn trung thực, nếu sai tôi hoàn toàn chịu trách nhiệm

Thái Nguyên, ngày 20 tháng 9 năm 2020

Học viên

Mạc Thùy Linh

Trang 4

LỜI CẢM ƠN

Luận văn này được hoàn thành tại Trường Đại học Công nghệ Thông tin và Truyền thông dưới sự hướng dẫn của TS Hồ Văn Hương Tác giả xin bày tỏ lòng biết ơn tới các thầy cô giáo thuộc Trường Đại học Công nghệ Thông tin và Truyền thông, các thầy cô giáo thuộc Viện Công nghệ Thông tin – Viện Hàn lâm Khoa học

và Công nghệ Việt Nam đã tạo điều kiện, giúp đỡ tác giả trong quá trình học tập và làm luận văn tại Trường, đặc biệt tác giả xin bày tỏ lòng biết ơn tới TS Hồ Văn Hương đã tận tình hướng dẫn và cung cấp nhiều tài liệu cần thiết để tác giả có thể hoàn thành luận văn đúng thời hạn

Xin chân thành cảm ơn anh chị em học viên cao học và bạn bè đồng nghiệp đã trao đổi, khích lệ tác giả trong quá trình học tập và làm luận văn tại Trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên

Cuối cùng tác giả xin gửi lời cảm ơn đến gia đình, những người đã luôn bên cạnh, động viên và khuyến khích tôi trong quá trình thực hiện đề tài

Thái Nguyên, ngày 20 tháng 9 năm 2020

Học viên cao học

Mạc Thùy Linh

Trang 5

MỤC LỤC

LỜI CẢM ƠN ii

LỜI CAM ĐOAN i

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

DANH MỤC CÁC HÌNH ẢNH vii

DANH MỤC BẢNG BIỂU viii

MỞ ĐẦU 1

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

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

3 Phương pháp luận nghiên cứu 2

4 Nội dung và bố cục của luận văn 2

CHƯƠNG 1 TỔNG QUAN VỀ BỎ PHIẾU VÀ KIỂM PHIẾU ĐIỆN TỬ 4

Giới thiệu chương 4

Những vấn đề chung về an toàn thông tin 4

1.2.1 Khái niệm an toàn thông tin 4

1.2.2 Các phương pháp bảo vệ thông tin 5

Bài toán bỏ phiếu và kiểm phiếu điện tử 7

1.3.1 Khái niệm về bỏ phiếu 7

1.3.2 Khái niệm bỏ phiếu điện tử 7

1.3.3 Các thành phần trong hệ thống bỏ phiếu điện tử 7

1.3.4 Các giai đoạn bỏ phiếu điện tử 8

1.3.5 Các yêu cầu đối với hệ thống bỏ phiếu điện tử 9

Đảm bảo an toàn thông tin trong bỏ phiếu và kiểm phiếu điện tử 10

1.4.1 Sử dụng kỹ thuật mật mã 10

1.4.2 Đảm bảo tính toàn vẹn trong hệ thống thông tin mật mã bằng chia sẻ khóa bí mật 15

1.4.3 Bảo mật và xác thực bằng chữ ký số 16

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

CHƯƠNG 2 SỬ DỤNG MẬT MÃ ĐẢM BẢO AN TOÀN THÔNG TIN TRONG KIỂM PHIẾU ĐIỆN TỬ 21

Trang 6

Giới thiệu chương 21

Cơ sở toán học của mật mã 22

2.2.1 Nhóm, vành và không gian Zp 22

2.2.2 Bài toán logarit rời rạc 23

Sử dụng hệ mã hóa khóa công khai Elgamal trong bỏ phiếu điện tử 24

2.3.1 Tổng quan về hệ mật mã khóa công khai Elgamal 24

2.3.2 Tính đồng cấu của hệ mã hóa Elgamal 26

2.3.3 Ứng dụng hệ mã hóa Elgamal cho bài toán bỏ phiếu đồng ý /không đồng ý 27

Sử dụng sơ đồ chia sẻ bí mật Shamir kết hợp với hệ mã hóa Elgamal trong bỏ phiếu điện tử 29

2.4.1 Sơ đồ ngưỡng Shamir 1979 29

2.4.2 Sơ đồ chia sẻ bí mật Shamir kết hợp với hệ mã hóa Elgamal 31

2.4.3 Ứng dụng sơ đồ kết hợp giải quyết bài toán bỏ phiếu chọn L trong K 32

Xác thực cử tri bằng Chữ ký số Elgamal 35

2.5.1 Sơ đồ chữ ký Elgamal 35

2.5.2 Họ sơ đồ chữ ký Elgamal 36

Kết luận chương 2 39

CHƯƠNG 3 ỨNG DỤNG KỸ THUẬT MẬT MÃ TRONG KIỂM PHIẾU ĐIỆN TỬ 41

Giới thiệu chương 41

Phân tích yêu cầu bài toán bỏ phiếu, kiểm phiếu nhận xét giáo viên tại trường THPT chuyên Hạ Long 41

3.2.1 Giới thiệu về trường THPT chuyên Hạ Long 41

3.2.2 Phân tích bài toán bỏ phiếu, kiểm phiếu nhận xét giáo viên tại trường THPT chuyên Hạ Long 43

Xây dựng chương trình thử nghiệm 48

3.3.1 Môi trường cài đặt 48

3.3.2 Cấu trúc chương trình 48

Kết quả thử nghiệm và đánh giá 51

Trang 7

Kết luận chương 3 57 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 58 TÀI LIỆU THAM KHẢO 60

Trang 8

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

khai RSA

thông

Trang 9

DANH MỤC CÁC HÌNH ẢNH

Hình 1.1 Sơ đồ mã hóa và giải mã bằng khóa riêng 12

Hình 1.2 Sơ đồ mã hóa và giải mã bằng khóa công khai 13

Hình 1.3 Hoạt động của hệ thống chữ ký số 17

Hình 1.4 Quá trình tạo chữ ký 17

Hình 1.5 Quá trình xác thực chữ ký 18

Hình 2.1 Hệ mật mã công khai 24

Hình 2.2 Sơ đồ bỏ phiếu đồng ý/ không đồng ý 28

Hình 2.3 Sơ đồ bỏ phiếu chọn L trong K 32

Hình 3.1 Giới thiệu về trường THPT chuyên Hạ Long 41

Hình 3.2 Hình ảnh mẫu phiếu hỏi lớp 10 toán năm học 2018-2019 43

Hình 3.3 Hình ảnh mẫu phiếu hỏi lớp 12 Anh 2 toán năm học 2018-2019 44

Hình 3.4 Một ví dụ minh họa về mô hình phần cứng bỏ phiếu điện tử 47

Hình 3.5 Giao diện của chương trình chính 51

Hình 3.6 Minh họa sử dụng mã hóa Elgamal với các câu hỏi dạng có/không 52

Hình 3.7 Minh họa sử dụng kết hợp mã hóa khóa công khai Elgamal và sơ đồ chia sẻ bí mật Shamir với các câu hỏi dạng “chọn 1 trong K” 54

Hình 3.8 Minh họa việc xác thực chữ kí số Elgamal 56

Trang 10

DANH MỤC BẢNG BIỂU

Bảng 2.1 Ví dụ về mã hóa và giải mã 26 Bảng 3.1 Các file chính để minh họa bỏ phiếu dạng có/không đồng ý 49 Bảng 3.2 Các file chính để minh họa bỏ phiếu với câu hỏi dạng “chọn 1 trong K” 49 Bảng 3.3 Các file chính để minh họa Bài toán bỏ phiếu có/không đồng ý 50

Trang 11

MỞ ĐẦU

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

Ngày nay, với sự phát triển mạnh mẽ của khoa học công nghệ, máy tính điện tử

và mạng máy tính là công cụ có ý nghĩa quyết định, mang tính đột phá, hỗ trợ đắc lực cho con người tiếp cận, trao đổi những thông tin mới nhất một cách nhanh chóng, thuận tiện

Chúng ta đang sống trong một xã hội dân chủ, rất nhiều việc cần đến bỏ phiếu như bỏ phiếu thăm dò các kế hoạch, chính sách; bỏ phiếu bầu cử chức vụ, chức danh,… Tại trường THPT chuyên Hạ Long, cuối mỗi năm học đều cho học sinh nhận xét, đánh giá các giáo viên giảng dạy tại lớp mình thông qua phiếu hỏi Có hai hình thức có thể thực hiện là bỏ phiếu trực tiếp bằng các lá phiếu in trên giấy - đây là cách nhà trường vẫn thực hiện, tuy nhiên cần nhiều thời gian từ khâu bỏ phiếu đến kiểm phiếu trong khi quỹ thời gian giai đoạn cuối năm có rất ít, mà kết quả kiểm phiếu cần

có trước buổi tổng kết năm học Hình thức thứ hai là bỏ phiếu bằng các lá phiếu đã được số hóa (lá phiếu điện tử) từ máy tính điện tử hoặc điện thoại di động Hình thức này hiện nay vẫn chưa được thực hiện nhưng rõ ràng về mặt lí thuyết ta thấy nó sẽ giúp tiết kiệm thời gian, nhân lực rất nhiều Vấn đề chỉ còn là thời gian và kỹ thuật cho phép

Cũng như hình thức bỏ phiếu trực tiếp, bỏ phiếu điện tử phải đảm bảo yêu cầu

bí mật, toàn vẹn, xác thực của lá phiếu [9] Bí mật tức là ngoài học sinh bỏ phiếu thì

chỉ có người kiểm phiếu mới biết nội dung lá phiếu, nhưng sẽ không biết ai bỏ phiếu; Toàn vẹn là trên đường truyền tin, thông tin trên lá phiếu không bị thay đổi, lá phiếu đến hòm phiếu an toàn, đúng thời điểm và được kiểm phiếu; Xác thực là lá phiếu phải hợp lệ, đúng là người được quyền bỏ phiếu và học sinh bỏ phiếu có thể nhận ra lá phiếu của mình

Việc bỏ phiếu này trải qua nhiều công đoạn: Lên danh sách học sinh được bỏ phiếu, bỏ phiếu, kiểm phiếu Mọi giai đoạn cần đạt được mọi yêu cầu của bỏ phiếu trực tiếp Tuy nhiên lại gặp phải các vấn đề về an toàn, bảo mật thông tin Để giải

Trang 12

quyết vấn đề này, mỗi giai đoạn trong quá trình bỏ phiếu nên sử dụng một kỹ thuật

an toàn bảo mật để giải quyết

Chính vì thấy được lợi ích và khó khăn của việc triển khai bỏ phiếu điện tử tại

cơ quan công tác nên học viên chọn đề tài: “Nghiên cứu kỹ thuật An toàn thông tin

trong kiểm phiếu điện tử - Ứng dụng cho trường Trung học phổ thông chuyên Hạ Long” làm đề tài tốt nghiệp thạc sĩ Đề tài tập trung nghiên cứu kỹ thuật An toàn

thông tin trong kiểm phiếu điện tử - Ứng dụng cho trường Trung học phổ thông chuyên Hạ Long trong kiểm phiếu hỏi nhận xét giáo viên

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

Đề tài tập trung tìm hiểu về:

- Thực trạng và nhu cầu an toàn thông tin trong bỏ phiếu và kiểm phiếu điện

tử

- Các giải pháp đảm bảo an toàn trong bỏ phiếu và kiểm phiếu điện tử

- Cơ sở mật mã, chữ ký số trong nhằm đảm bảo an toàn trong bỏ phiếu và kiểm phiếu hỏi - đánh giá giáo viên của các học sinh trường THPT chuyên Hạ Long

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

- Nghiên cứu, thu thập các tài liệu đã xuất bản, các bài báo trên các tạp chí khoa học và các tài liệu trên mạng Internet có liên quan đến vấn đề đang nghiên cứu của các tác giả trong và ngoài nước Từ đó chọn lọc và sắp xếp lại theo ý tưởng của mình

- Tìm hiểu, vận dụng và kế thừa một số thuật toán mã hóa và giải mã thuật toán

ký số

- Khai thác, xây dựng chương trình demo minh họa việc xác thực, bỏ phiếu và kiểm phiếu hỏi nhận xét giáo viên của các học sinh trong trường THPT chuyên Hạ Long - tỉnh Quảng Ninh

4 Nội dung và bố cục của luận văn

Ngoài phần mở đầu, kết luận và hướng phát triển, luận văn được bố cục thành

ba chương chính như sau:

Trang 13

Chương 1 Tổng quan về bỏ phiếu và kiểm phiếu điện tử

Chương này tập trung trình bày những vấn đề chung về an toàn thông tin; Tổng quan bài toán bỏ phiếu và kiểm phiếu điện tử; Đảm bảo an toàn thông tin trong bỏ phiếu và kiểm phiếu điện tử bằng kỹ thuật mật mã, chữ kí số và chia sẻ khóa bí mật

Chương 2: Sử dụng kỹ thuật mật mã đảm bảo an toàn trong kiểm phiếu điện tử

Nội dung chính của chương phân tích việc sử dụng hệ mật mã Elgamal, chữ ký

số Elgamal, sơ đồ chia sẻ khóa bí mật Shamir nhằm đảm bảo an toàn thông tin trong kiểm phiếu điện tử

Chương 3: Ứng dụng kỹ thuật mật mã trong kiểm phiếu điện tử

Từ các kết quả phân tích lý thuyết ở các chương trước, chương này sẽ đi sâu vào phân tích yêu cầu bài toán bỏ phiếu, kiểm phiếu nhận xét giáo viên tại trường THPT chuyên Hạ Long, từ đó xây dựng chương trình thử nghiệm và đánh giá khả năng áp dụng trong thực tế

Trang 14

CHƯƠNG 1 TỔNG QUAN VỀ BỎ PHIẾU VÀ KIỂM PHIẾU ĐIỆN TỬ

Giới thiệu chương

Nội dung chương 1 của luận văn chia làm ba phần Phần đầu tiên trình bày về những vấn đề chung của an toàn thông tin mà bất cứ hệ thống thông tin điện tử nào cũng phải đối mặt Phần tiếp theo phân tích về ưu điểm của việc chuyển đổi từ bỏ phiếu truyền thống sang bỏ phiếu điện tử Khi áp dụng bỏ phiếu điện tử, hệ thống bỏ phiếu trở thành một hệ thống thông tin điện tử và các vấn đề an toàn của hệ thống này

sẽ được đảm bảo thông qua việc sử dụng mật mã để mã hóa lá phiếu, sử dụng kỹ thuật chia sẻ khóa bí mật để đảm bảo tính toàn vẹn trong kiểm phiếu, sử dụng chữ ký số để xác thực người bỏ phiếu Các nội dung này được trình bày trong phân cuối của chương

Những vấn đề chung về an toàn thông tin

1.2.1 Khái niệm an toàn thông tin

1.1.2.1 Khái niệm

Theo [1] an toàn thông tin nghĩa là thông tin được bảo vệ, các hệ thống và dịch

vụ có khả năng chống lại những sự can thiệp, lỗi và những tai họa không mong đợi Các thay đổi tác động đến độ an toàn của hệ thống là nhỏ nhất Hệ thống không an toàn là hệ thống tồn tại những điểm: thông tin bị rò rỉ ra ngoài - thông tin dữ liệu trong hệ thống bị người không được quyền truy nhập lấy và sử dụng, thông tin bị thay đổi - các thông tin trong hệ thống bị thay thế hoặc sửa đổi làm sai lệch một phần hoặc hoàn toàn nội dung

Giá trị thực sự của thông tin chỉ đạt được khi thông tin được cung cấp chính xác

và kịp thời, hệ thống phải hoạt động chuẩn xác thì mới có thể đưa ra những thông tin

có giá trị cao Mục tiêu của an toàn bảo mật trong công nghệ thông tin là đưa ra một

số tiêu chuẩn an toàn và áp dụng các tiêu chuẩn an toàn này vào chỗ thích hợp để giảm bớt và loại trừ những nguy hiểm có thể xảy ra Ngày nay với kỹ thuật truyền nhận và xử lý thông tin ngày càng phát triển và phức tạp nên hệ thống chỉ có thể đạt tới một mức độ an toàn nào đó và không có một hệ thống an toàn tuyệt đối Ngoài ra

Trang 15

khi đánh giá còn phải cân đối giữa mức độ an toàn và chất lượng của dịch vụ được cung cấp

Khi đánh giá độ an toàn thông tin cần phải dựa trên nội dung phân tích các rủi

ro có thể gặp, từ đó tăng dần sự an toàn bằng cách giảm bớt những rủi ro Các đánh giá cần hài hoà với đặc tính, cấu trúc hệ thống và quá trình kiểm tra chất lượng

1.1.2.2 Các yêu cầu an toàn bảo mật thông tin

Với sự phát triển rất nhanh của khoa học công nghệ, các biện pháp tấn công ngày càng tinh xảo hơn, độ an toàn của thông tin có thể bị đe dọa từ nhiều nơi, theo nhiều cách khác nhau, chúng ta cần phải đưa ra các chính sách đề phòng thích hợp Các yêu cầu cần thiết của việc bảo vệ thông tin và tài nguyên [4]:

- Đảm bảo bí mật (Bảo mật) thông tin không bị lộ đối với người không được phép

- Đảm bảo tính tin cậy (Confidentiality): Thông tin và tài nguyên không thể bị truy cập trái phép bởi những người không có quyền hạn

- Đảm bảo tính toàn vẹn (Integrity): Thông tin và tài nguyên không thể bị sửa đổi, bị thay thế bởi những người không có quyền hạn

- Đảm bảo tính sẵn sàng (Availability): Thông tin và tài nguyên luôn sẵn sàng

để đáp ứng sử dụng cho người có quyền hạn

- Đảm bảo tính không thể chối bỏ (Non-repudiation): Thông tin và tài nguyên được xác nhận về mặt pháp luật của người cung cấp

1.2.2 Các phương pháp bảo vệ thông tin

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

 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, người khác khó nhận

ra

- “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 (đánh giấu thông tin)

 Kỹ thuật:

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

Trang 16

- Giao thức bảo toàn thông tin, giao thức xác thực thông tin,

 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ọ” vào trong hệ thống máy tính

- Kỹ thuật: Mật khẩu, tường lửa, mạng riêng ảo, nhận dạng, xác định thực thể, cấp quyền hạn

 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

- Hạ tầng mật mã khóa công khai (PKI)

- Kiểm soát nối vào – ra: Mật khẩu, tưởng lửa, mạng riêng ảo, cấp quyền hạn

- Kiểm soát và xử lý các lỗ hổng

 Các kỹ thuật bảo đảm an toàn thông tin:

- Kỹ thuật diệt trừ: Virus máy tính, chương trình trái phép

- Kỹ thuật tường lửa: Ngăn chặn truy cập trái phép, lọc thông tin không hợp pháp

- Kỹ thuật mạng riêng ảo: Tạo ra hành lang riêng cho thông tin “đi lại”

- Kỹ thuật mật mã: Mã hóa, kỹ số, các giao thức mật mã, chống chối cãi

- Kỹ thuật giấu tin: Che giấu thông tin trong môi trường dữ liệu khác

- Kỹ thuật thủy ký: Bảo vệ bản quyền tài liệu số hóa

- Kỹ thuật truy tìm “dấu vết” kẻ trộm tin

 Các công nghệ đảm bảo an toàn thông tin:

- Công nghệ chung: Tường lửa, mạng riêng ảo, PKI (khóa công khai), thẻ thông minh,

- Công nghệ cụ thể: SSL, TLS, PGP, SMINE

Trang 17

Bài toán bỏ phiếu và kiểm phiếu điện tử

1.3.1 Khái niệm về bỏ phiếu

Theo [5]thì bỏ phiếu là việc người dùng phiếu để bày tỏ sự lựa chọn hay thái độ của mình trong cuộc bầu cử hoặc biểu quyết Một cuộc bỏ phiếu thành công phải bảo đảm các tính chất:

- Quyền bỏ phiếu: chỉ người có quyền bầu cử mới được bỏ phiếu Mỗi cử tri chỉ được bỏ phiếu một lần

- Bí mật: không thể biết được lá phiếu nào đó là của ai, trừ cử tri của nó

- Kiểm soát kết quả: có thể phát hiện được những sai sót trong quá trình

1.3.2 Khái niệm bỏ phiếu điện tử

Người ta bỏ phiếu để bầu cử các chức vụ, chức danh hay để thăm dò dư luận về một kế hoạch, chính sách nào đó Hiện nay có hai loại bỏ phiếu chính Bỏ phiếu trực tiếp tại hòm phiếu bằng các lá phiếu in trên giấy Bỏ phiếu từ xa bằng các lá phiếu

“số hóa” tạm gọi là các lá phiếu điện tử từ các máy tính cá nhân trên mạng, trên điện thoại di động,… Nó cũng được gọi là bỏ phiếu điện tử [9]

Bỏ phiếu điện tử là bỏ phiếu bằng các phương pháp điện tử Các hệ thống bỏ phiếu điện tử cho phép cử tri sử dụng các kỹ thuật mã hóa, để giữ bí mật lá phiếu điện

tử trước khi chuyển đến hòm phiếu qua các kênh công khai Cử tri có thể bỏ phiếu qua Internet, các máy bỏ phiếu tự động

1.3.3 Các thành phần trong hệ thống bỏ phiếu điện tử

- Cử tri: Là người tham gia bỏ phiếu Cử tri có quyền hợp lệ để bỏ phiếu,

đồng thời là người giám sát cuộc bầu cử: kiểm tra xem lá phiếu của mình có được đếm không?

Trang 18

- Ban điều hành (ĐH): Quản lý các hoạt động bỏ phiếu, trong đó có thiết lập

danh sách cử tri cùng các hồ sơ của mỗi cử tri, quy định cơ chế định danh cử tri

- Ban đăng ký (ĐK): Nhận dạng cử tri và cấp quyền bỏ phiếu cho cử tri, theo dõi cuộc bầu cử chống lại việc cử tri bỏ phiếu hai lần Có hệ thống ký hỗ trợ

- Ban kiểm tra (KT): Kiểm tra cử tri có hợp lệ không? Nội dung lá phiếu có

hợp lệ không? (Vì là lá phiếu đã mã hóa nên ban kiểm phiếu không biết được lá phiếu

có hợp lệ không, nên cần xác minh tính hợp lệ của lá phiếu trước khi nó chuyển đến hòm phiếu)

- Ban kiểm phiếu (KP): Kiểm phiếu và thông báo kết quả bầu cử Có hệ thống kiểm phiếu hỗ trợ

- Hệ thống phân phối khóa tin cậy: Cung cấp khóa ký của ban ĐK, quá trình

mã hóa và giải mã lá phiếu

- Hệ thống ký: Giúp ban ĐK ký vào các định danh cử tri

- Hệ thống kiểm phiếu: Giúp ban KP tính kết quả cuộc bầu cử

- Bảng niêm yết công khai (BB): Giúp theo dõi quá trình bầu cử Đây là kênh liên lạc công khai của tất cả các thành phần tham gia hệ thống bỏ phiếu điện tử

1.3.4 Các giai đoạn bỏ phiếu điện tử

Bỏ phiếu điện tử gồm ba giai đoạn chính: Đăng ký, bỏ phiếu, kiểm phiếu và công bố kết quả

 Giai đoạn đăng ký bỏ phiếu:

Chuẩn bị các thành phần kỹ thuật của hệ thống bỏ phiếu cũng như cơ cấu tổ chức Ban KP, ban ĐK, ban KT được chỉ định Danh sách các cử tri cũng được thiết lập Trong bước này, quan trọng nhất là cơ chế định danh người gửi dùng trong quá trình bỏ phiếu của cử tri

 Giai đoạn bỏ phiếu:

Các cử tri thực hiện bỏ phiếu Các cử tri phải có một hình thức định danh tính hợp lệ của lá phiếu Thêm vào đó, một số kỹ thuật mã hóa cần được áp dụng để bảo đảm tính toàn vẹn của lá phiếu

Trang 19

 Giai đoạn kiểm phiếu và công bố kết quả:

Ban KP sẽ tính toán kết quả dựa vào các lá phiếu đã thu thập, sau đó công bố kết quả

1.3.5 Các yêu cầu đối với hệ thống bỏ phiếu điện tử

Để hoạt động bỏ phiếu hay bỏ phiếu phát huy đúng tác dụng thì cần đảm bảo hai yêu cầu [2]:

- Tính kiểm tra được: việc kiểm phiếu được kiểm tra một cách công khai và mỗi

cử tri đều có thể kiểm tra chắc chắn rằng lá phiếu của mình đã được tính

- Tính tự do trong lựa chọn: mỗi cử tri đều được đảm bảo tuyệt đối quyền lựa chọn lá phiếu của mình, không bị ai ép buộc và cũng không thể bán phiếu bầu của mình cho bất cứ bên nào

Tuy nhiên, các hệ thống bỏ phiếu truyền thống không đạt được đồng thời hai yêu cầu trên [8] Trong một số cuộc bỏ phiếu, để đảm bảo yêu cầu thứ nhất thì người

ta công khai danh sách ai đã bầu cho ai, vì thế việc kiểm phiếu là hoàn toàn công khai

và ai cũng có thể kiểm tra phiếu bầu của mình đã được tính Nhưng, điều đó lại không đảm bảo quyền hoàn toàn tự do lựa chọn của cử tri: người bầu có thể bị khống chế buộc phải bầu cho một ứng cử viên hoặc người bầu có thể bán lá phiếu của mình vì chứng minh được cho người mua thấy mình đã bầu cho ai

Để tránh những hạn chế của việc cử tri bị khống chế hoặc việc mua bán phiếu bầu, hầu hết các cuộc bỏ phiếu chọn việc đảm bảo yêu cầu thứ hai bằng cách ẩn danh

lá phiều bầu: cử tri đến trung tâm bỏ phiếu, được phát một lá phiếu bầu, chọn ứng cử phiên và cho lá phiếu ẩn danh vào thùng phiếu Cử tri do vậy hoàn toàn tự do lựa chọn và bản thân họ khi ra khỏi phòng bỏ phiếu cũng không thể chứng minh là mình

đã bỏ cho ai và do vậy cũng không bán được phiếu bầu Cách làm này lại không thể đảm bảo yêu cầu thứ nhất: một khi lá phiếu đã cho vào hòm phiếu, cử tri buộc phải đặt tin tưởng vào người kiểm phiếu và không có cách nào chắc chắn được liệu lá phiếu của mình sẽ được tính và cũng không thể kiểm tra liệu lá phiếu của mình có bị thay đổi

Cả hai tính chất kiểm tra được và tự do trong lựa chọn của một hệ thống bỏ phiếu đều rất cơ bản nhưng luôn bị coi là đối ngược nhau và do vậy không thể cùng

Trang 20

đạt được Tuy nhiên, các phương pháp mật mã chứng tỏ rằng ta có thể xây dựng các

hệ bỏ phiếu đạt được cả hai yêu cầu trên [9]

Để đồng thời đạt tính kiểm tra được và tính tự do trong lựa chọn, ta phải làm sao kết hợp được cả hai phương pháp bỏ phiếu nêu trên: vừa công bố danh sách các phiếu bầu để cử tri có thể kiểm tra phiếu của mình đã được tính, vừa đảm bảo sự ẩn danh cho cử tri trong lựa chọn Một cách tự nhiên, các hàm mã hóa được sử dụng để

mã lựa chọn của cử tri nhằm che dấu lựa chọn của cử tri trong phiếu bầu Mặt khác,

để đảm bảo tính bí mật cho việc kiểm phiếu, chìa khóa giải mã phải được giữ kín và không thể chia sẻ với cử tri Từ đó dẫn tới viêc sử dụng các hệ mã hóa khóa công khai: khóa để mã hóa là công khai và việc mã hóa lựa chọn được thực hiện dễ dàng

mà không cần biết thông tin bí mật nào, khóa để giải mã được giữ bí mật và vì vậy chỉ có những người có thầm quyền mới có thể kiểm phiếu bầu

Đảm bảo an toàn thông tin trong bỏ phiếu và kiểm phiếu điện tử

1.4.1 Sử dụng kỹ thuật mật mã

1.4.1.1 An toàn thông tin bằng mật mã

Mật mã là một ngành khoa học chuyên nghiên cứu các phương pháp truyền tin

bí mật Mật mã bao gồm: Lập mã và phá mã Lập mã bao gồm hai quá trình: mã hóa

và giải mã [1], [9]

Để 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ã hoá thông tin (encryption), ở trạm nhận phải thực hiện quá trình ngược lại, tức là biến đổi thông tin từ dạng không nhận thức được (dữ liệu đã được

mã hoá) về dạng nhận thức được (dạng gốc), quá trình này được gọi là giải mã Đây

là một lớp bảo vệ thông tin rất quan trọng và được sử dụng rộng rãi trong môi trường mạng

1.4.1.2 Vai trò của hệ mật mã

Các hệ mật mã phải thực hiện được các vai trò sau:

Trang 21

- Hệ mật mã phải che dấu được nội dung của văn bản rõ (PlainText) để đảm bảo sao cho chỉ người chủ hợp pháp của thông tin mới có quyền truy cập thông tin (Secrety), hay nói cách khác là chống truy nhập không đúng quyền hạn

- Tạo các yếu tố xác thực thông tin, đảm bảo thông tin lưu hành trong hệ thống đến người nhận hợp pháp là xác thực (Authenticity)

Ưu điểm lớn nhất của bất kỳ hệ mật mã nào đó là có thể đánh giá được độ phức tạp tính toán mà “kẻ địch” phải giải quyết bài toán để có thể lấy được thông tin của

dữ liệu đã được mã hoá Tuy nhiên mỗi hệ mật mã có một số ưu và nhược điểm khác nhau, nhưng nhờ đánh giá được độ phức tạp tính toán mà ta có thể áp dụng các thuật toán mã hoá khác nhau cho từng ứng dụng cụ thể tuỳ theo yêu cầu về độ an toàn

1.4.1.3 Các thành phần của một hệ mật mã

 Định nghĩa:

Một hệ mật là một bộ 5 (P, C, K, E, D) thoả mãn các điều kiện sau [1]:

- P là một tập hợp hữu hạn các bản rõ (PlainText), nó được gọi là không gian bản rõ

- C là tập các hữu hạn các bản mã (Crypto), nó còn được gọi là không gian các bản mã Mỗi phần tử của C có thể nhận được bằng cách áp dụng phép mã hoá Ek lên một phần tử của P, với k ∈ K

- K là tập hữu hạn các khoá hay còn gọi là không gian khoá Đối với mỗi phần tử k của K được gọi là một khoá (Key) Số lượng của không gian khoá phải

đủ lớn để “kẻ địch: không có đủ thời gian để thử mọi khoá có thể (phương pháp vét cạn)

- Đối với mỗi k ∈ K có một quy tắc mã eK: P → C và một quy tắc giải mã tương ứng dK ∈ D Mỗi eK: P → C và dK: C → P là những hàm mà:

dK (eK(x)) = x với mọi bản rõ x ∈ P

1.4.1.4 Phân loại hệ mật mã

Có nhiều cách để phân loại hệ mật mã Dựa vào cách truyền khóa có thể phân các hệ mật mã thành hai loại:

Trang 22

- Hệ mật đối xứng (hay còn gọi là mật mã khóa bí mật): là những hệ mật dùng chung một khoá cả trong quá trình mã hoá dữ liệu và giải mã dữ liệu Do đó khoá phải được giữ bí mật tuyệt đối

- Hệ mật mã bất đối xứng (hay còn gọi là mật mã khóa công khai): Hay còn gọi là hệ mật mã công khai, các hệ mật này dùng một khoá để mã hoá sau đó dùng một khoá khác để giải mã, nghĩa là khoá để mã hoá và giải mã là khác nhau Các khoá này tạo nên từng cặp chuyển đổi ngược nhau và không có khoá nào có thể suy được

từ khoá kia Khoá dùng để mã hoá có thể công khai nhưng khoá dùng để giải mã phải giữ bí mật

 Mã hóa và giải mã bằng khóa bí mật

- - - -

- - - -

-Quá trình truyền

dữ liệu

Khóa bí mật(chỉ

Có người mã hóa và người giải mã biết)

Quá trình

mã hóa

Quá trình giải mã

Hình 1.1 Sơ đồ mã hóa và giải mã bằng khóa riêng

Các hệ thống mã hóa với khóa bí mật còn được gọi là mã hóa bằng khóa riêng,

mã hóa đối xứng sử dụng duy nhất một khóa cho cả quá trình mã hóa lẫn quá trình giải mã

Có hai loại thuật toán mã hóa bí mật:

- Stream Algorithms/Stream Ciphers: các thuật toán hoạt động trên văn bản bình thường theo từng bit một

- Block Algorithms/Block Ciphers: các thuật toán hoạt động trên văn bản theo các khối (32 bit, 64 bit, 128 bit, )

Trang 23

 Mã hóa và giải mã bằng khóa công khai

- - - -

- - - -

-Quá trình truyền

dữ liệu

Khóa công khai, chỉ dùng để mã hóa (có thể cho mọi người biết) Khóa mật, chỉ dùng để giải mã (cần

được giữ bí mật)

Quá trình

mã hóa

Quá trình giải mã

Bản tin gốc

Bản tin gốc Bản tin mã

Hình 1.2 Sơ đồ mã hóa và giải mã bằng khóa công khai

Mã hóa bằng khóa công khai còn gọi là mã hóa bất đối xứng hay mã hóa bằng khóa chung Sự khác biệt cơ bản giữa một hệ thống mã hóa bằng khóa bí mật với

hệ thống mã hóa bằng khóa công khai là hệ thống mã hóa khóa công khai dùng hai khóa khác nhau để mã hóa và giải mã Do đó, một bộ mã công khai sẽ bao gồm hai khóa: một khóa dành cho người mã hóa thường được công khai, và khóa còn lại dùng cho người giải mã thường được giữ bí mật Như vậy, hệ thống mã hóa với khóa công khai cần có một quá trình sinh ra hai khóa để mã hóa và giải mã thông điệp Các khóa này được xem như là một đôi

- Public-key (khóa công khai): được phép công khai mà không phải chịu rủi

ro về an toàn Khóa này được dùng để mã hóa thông điệp

- Private-key (khóa bí mật): không được để lộ Mỗi thông điệp được mã hóa bằng public-key chỉ có thể giải mã bằng một khóa mật thích hợp

Một số thuật toán mã hóa công khai phổ biến: RSA, Diffie-Hellman Exchange Algorithm, Elgamal

Key-Ngoài ra nếu dựa vào thời gian đưa ra hệ mật mã ta còn có thể phân làm hai loại: Mật mã cổ điển (là hệ mật mã ra đời trước năm 1970) và mật mã hiện đại (ra đời sau năm 1970) Còn nếu dựa vào cách thức tiến hành mã thì hệ mật mã còn được chia

Trang 24

làm hai loại là mã dòng (tiến hành mã từng khối dữ liệu, mỗi khối lại dựa vào các khóa khác nhau, các khóa này được sinh ra từ hàm sinh khóa, được gọi là dòng khóa

và mã khối (tiến hành mã từng khối dữ liệu với khóa như nhau)

1.4.1.5 Tiêu chuẩn đánh giá hệ mật mã

Để đánh giá một hệ mật mã người ta thường đánh giá thông qua các tính chất sau:

 Độ an toàn:

Một hệ mật được đưa vào sử dụng điều đầu tiên phải có độ an toàn cao Ưu điểm của mật mã là có thể đánh giá được độ an toàn thông qua độ an toàn tính toán mà không cần phải cài đặt Một hệ mật được coi là an toàn nếu để phá hệ mật mã này phải dùng n phép toán Mà để giải quyết n phép toán cần thời gian vô cùng lớn, không thể chấp nhận được

Một hệ mật mã được gọi là tốt thì nó cần phải đảm bảo các tiêu chuẩn sau:

- Chúng phải có phương pháp bảo vệ mà chỉ dựa trên sự bí mật của các khoá, công khai thuật toán

- Khi cho khoá công khai eK và bản rõ P thì chúng ta dễ dàng tính được eK(P)

= C Ngược lại khi cho dK và bản mã C thì dễ dàng tính được dK(M)=P Khi không biết dK thì không có khả năng để tìm được M từ C, nghĩa là khi cho hàm f: X → Y thì việc tính y=f(x) với mọi x∈ X là dễ còn việc tìm x khi biết y lại là vấn đề khó và

nó được gọi là hàm một chiều

- Bản mã C không được có các đặc điểm gây chú ý, nghi ngờ

 Tốc độ mã và giải mã: Khi đánh giá hệ mật mã chúng ta phải chú ý đến tốc

độ mã và giải mã Hệ mật tốt thì thời gian mã và giải mã nhanh

 Phân phối khóa: Một hệ mật mã phụ thuộc vào khóa, khóa này được truyền

công khai hay truyền khóa bí mật Phân phối khóa bí mật thì chi phí sẽ cao hơn so với các hệ mật có khóa công khai Vì vậy đây cũng là một tiêu chí khi lựa chọn hệ mật mã

Trang 25

1.4.2 Đảm bảo tính toàn vẹn trong hệ thống thông tin mật mã bằng chia sẻ khóa

bí mật

1.4.2.1 Kỹ thuật Chia sẻ khóa bí mật (Secret Sharing)

Sơ đồ chia sẻ bí mật không phải là một lĩnh vực mới mẻ của an toàn bảo mật thông tin, nhưng hứa hẹn sẽ mang đến những ứng dụng rộng khắp, quan trọng nhất

là ứng dụng bỏ phiếu điện tử

Sơ đồ chia sẻ bí mật chính là phương thức dùng đề chia một bí mật ra làm nhiều phần riêng biệt sau đó phân phối tới những người tham gia Trong đó chỉ những người được chỉ định trước mới có khả năng khôi phục bí mật bằng cách gộp những phần thông tin của họ, những người không được chỉ định sẽ không thu được bất kỳ thông tin gì về bí mật

Ý tưởng: thông tin quan trọng cần bí mật, không nên trao cho một người nắm

giữ, mà phải chia thông tin đó thành nhiều mảnh và trao cho mỗi người một hay một số mảnh Thông tin gốc chỉ có thể được xem lại, khi mọi người giữ các mảnh thông tin đều nhất trí Các mảnh thông tin được khớp lại để được thông tin gốc

Yêu cầu: để thực hiện công việc trên, phải sử dụng một sơ đồ gọi là Sơ đồ chia

sẻ bí mật, ta có khái niệm

Khái niệm chia sẻ bí mật: Sơ đồ chia sẻ bí mật dùng để chia sẻ một thông tin

cho m thành viên, sao cho chỉ những tập con hợp thức các thành viên mới có thể khôi phục lại thông tin bí mật, còn lại không ai có thể làm được điều đó

Mục đích:

- Chia sẻ Thông tin mật thành nhiều mảnh

- Chia sẻ Password, Khoá mật thành nhiều mảnh Mỗi nơi, mỗi người hay mỗi máy tính cất giấu 1 mảnh

Các thành phần của sơ đồ chia sẻ bí mật:

Người phân phối bí mật (Dealer): Là người trực tiếp chia bí mật ra thành nhiều phần

- Những người tham gia nhận dữ liệu từ Dealer (Participant) ký hiệu P

Trang 26

- Nhóm có khả năng khôi phục bí mật (Acess structure): Là tập con của P trong

đó có các tập con có khả năng khôi phục bí mật

1.4.2.2 Ứng dụng của chia sẻ khóa bí mật

- Trong việc giữ khóa két bạc: Không nên trao khoá két bạc cho một người duy nhất Khoá phải được chia nhỏ thành nhiều mảnh và trao cho mỗi thành viên một mảnh

- Trong bỏ phiếu điện tử: Không thể tin hoàn toàn vào tất cả các thành viên Ban kiểm phiếu Vì vậy, lá phiếu nên chia thành nhiều mảnh và trao cho mỗi Kiểm phiếu viên một mảnh của lá phiếu

- Trong lưu trữ các khóa bí mật: Khoá bí mật và quan trọng không nên lưu trữ tại một Server Nó phải được chia nhỏ và lưu trữ tại nhiều máy trạm

1.4.3 Bảo mật và xác thực bằng chữ ký số

Có thể nói ứng dụng quan trọng nhất của hệ mã hóa công khai là chữ ký số Nó cung cấp khả năng bảo mật mà các hình thức khác khó có thể có được Chữ ký số có vai trò tương tự chữ ký tay trong giao dịch số, giúp xác thực bản tin đến từ người gửi hợp pháp trong giao dịch [4] Ngoài ra nó cũng đảm bảo tính toàn vẹn dữ liệu (integerity) và chống lại khả năng chối bỏ nguồn gốc (nonrepudiation) của người gửi Chữ ký số mang một số đặc điểm sau:

- Phải xác minh được người ký và thời gian ký cụ thể

- Phải xác thực được nội dung tại thời điểm ký

- Phải được xác minh bởi bên thứ ba để tránh những tranh chấp xảy ra

Cơ sở hạ tầng chủ yếu để xây dựng hệ thống chữ ký số là các thuật toán mã hóa công khai và hàm băm (sẽ được trình bày trong chương 2)

1.4.3.1 Khái niệm về chữ ký số

Chữ ký số là xâu bit được dùng để xác thực một tài liệu số, đảm bảo người gửi không thể chối bỏ rằng mình đã gửi bản tin và người nhận không thể giả mạo bản tin hoặc chữ ký [3] Đồng thời, người nhận có thể chứng minh với người khác nội dung bản tin là chính xác và do người gửi ban đầu gửi đến

Trang 27

Hệ thống chữ ký số hoạt động dựa trên sự phối hợp giữa bên gửi và bên nhận thông điệp, nhằm thực hiện đồng bộ hai quá trình tạo và xác minh chữ ký

1.4.3.2 Hoạt động của chữ ký số

Hoạt động của hệ thống chữ ký số gồm hai quá trình:

Hình 1.3 Hoạt động của hệ thống chữ ký số

 Tạo chữ ký số (Digital signature creation):

Đầu vào của quá trình này chính là bản tin cần ký, bằng cách sử dụng khóa

bí mật của người gửi, ta có thể tạo ra chữ ký cho bản tin hiện thời Bản tin gửi đi bao gồm bản tin ban đầu được ký bằng chữ ký vừa tạo ra

 Xác minh chữ ký số (Digital signature verification):

Đây là quá trình sử dụng khóa công khai của người nhận giải để xác thực chữ ký

A/ Quá trình tạo chữ ký

Quá trình tạo chữ ký thực hiện tại bên gửi, gồm hai bước sau đây:

Hình 1.4 Quá trình tạo chữ ký

Trang 28

 Tính toán giá trị băm

Bước đầu tiên của quá trình tạo chữ ký là tạo giá trị băm của bản tin cần gửi Các hàm băm có thể sử dụng là SHA-256, SHA-384, SHA-512…Kết quả thu được

là một message digest có chiều dài cố định, nhỏ hơn rất nhiều lần bản tin ban đầu Theo tính chất của hàm băm, xác suất để hai bản tin khác nhau có cùng một giá trị băm là rất nhỏ và có thể bỏ qua Vì vậy nếu giá trị băm của hai bản tin trùng nhau thì

bản tin ban đầu cũng trùng nhau (Xem Hình 1.4)

B/ Quá trình xác thực

Quá trình xác thực gồm các bước sau đây:

Hình 1.5 Quá trình xác thực chữ ký

 Tính toán giá trị băm hiện thời

Sau khi nhận được bản tin bao gồm bản tin ban đầu (nói chính xác là bản tin

mà bên nhận cho là bản tin ban đầu) và chữ ký gửi kèm, bên nhận tiến hành tách riêng hai phần của bản tin ra Phần bản tin ban đầu trở thành đầu vào của thuật toán băm

Trang 29

giống với thuật toán băm khi tạo chữ ký số Giá trị băm nhận được gọi là giá trị băm hiện thời vì nó được tính từ bản tin hiện thời

 Tính toán giá trị băm ban đầu

Trong bước thứ hai của quá trình giải mã, chữ ký số đính kèm được giải mã bằng khóa công khai (public key) tương ứng với khóa bí mật (private key) dùng để tạo chữ ký ở bên gửi Kết quả thu được giá trị băm ban đầu

 So sánh giá trị băm hiện thời với giá trị băm ban đầu

Trong bước này ta tiến hành so sánh giá trị băm thu được từ bước 1 và bước 2 của quá trình xác thực

- Nếu hai giá trị băm này trùng nhau: quá trình xác thực thành công, bản tin đã được ký bằng khóa bí mật tương ứng với khóa công khai khi xác minh, đồng thời bản tin cũng không bị thay đổi trong quá trình truyền đi

- Nếu hai giá trị băm không trùng nhau: quá trình xác thực thất bại, có hai trường hợp mất an toàn đã xảy ra:

 Khóa bí mật của người gửi không được sử dụng khi tạo chữ ký

 Bản tin đã bị thay đổi trong quá trình truyền đi

1.4.3.3 Hàm băm mật mã

Hàm băm (hash function) là một kĩ thuật phục vụ quá trình xác thực Chức năng chính của nó là thực hiện ánh xạ các bản tin có chiều dài khác nhau thành một miếng băm có kích thước cố định Miếng băm mới tạo ra thường có kích thước nhỏ hơn rất nhiều so với bản tin ban đầu

Một giá trị miếng băm h được sinh ra bởi hàm băm H có dạng: h= H (M) trong đó: M là bản tin có chiều dài tùy ý, h là giá trị băm chiều dài cố định

Các yêu cầu đối với hàm băm

- Hàm H có thể áp dụng cho các khối dữ liệu với kích thước tùy ý

- Đầu ra của hàm H có độ dài xác định

- Việc tính giá trị H(x) đủ đơn giản để việc cài đặt là khả thi đối với cả phần mềm và phần cứng

Trang 30

- Hàm H là hàm một chiều, nghĩa là với x cho trước thì H(x) xác định nhưng với h cho trước thì việc tính x là cực kỳ khó khăn

- Với hai giá trị đầu vào x ≠ y thì H(x) ≠ H(y)

Hiện nay, một số kỹ thuật băm được sử dụng phổ biến như: 256,

Khi áp dụng bỏ phiếu điện tử, ta phải đối mặt với vấn đề an toàn thông tin Tuy nhiên, nhờ sự trợ giúp của kỹ thuật mật mã và chữ ký số, bỏ phiếu điện tử có thể hạn chế thấp nhất các sai nhầm mang yếu tố con người khi đo lường kết quả kiểm phiếu như: đảm bảo sự ẩn danh trong lá phiếu của cử tri (tránh việc cử tri bị khống chế) bằng mật mã, ngăn ngừa việc mua bán phiếu bầu; tránh gian lận trong ban kiểm phiếu bằng sơ đồ chia sẻ khóa bí mật; xác thực cử tri bằng chữ ký số Cơ sở toán học cho các phương pháp mật mã, các biện pháp an toàn thông tin được luận văn lựa chọn hướng đến sẽ được trình bày chi tiết trong chương 2

Trang 31

CHƯƠNG 2

SỬ DỤNG MẬT MÃ ĐẢM BẢO AN TOÀN THÔNG TIN

TRONG KIỂM PHIẾU ĐIỆN TỬ

Giới thiệu chương

Mục tiêu của luận văn là áp dụng mật mã và chữ ký số để đảm bảo an toàn thông tin cho việc triển khai phiếu hỏi điện tử tại trường PTTH chuyên Hạ Long Việc triển

khai phiếu hỏi điện tử phải đảm bảo yêu cầu bí mật, toàn vẹn, xác thực của lá phiếu

- Bí mật tức là ngoài học sinh bỏ phiếu thì chỉ có người kiểm phiếu biết

được kết quả mà không cần biết ai cụ thể danh tính của người bỏ phiếu cũng như nội dung cụ thể của lá phiếu Hệ mã hóa khóa công khai Elgamal cho phép thực hiện điều này thông qua tính đồng cấu của nó [10]

- Toàn vẹn là đảm bảo lá phiếu không bị thay đổi khi kiểm phiếu Điều này

có thể thực hiện được khi áp dụng sơ đồ chia sẽ khóa bí mật Shamir [11]

- Xác thực là lá phiếu phải hợp lệ, đúng là người được quyền bỏ phiếu và có

thể nhận ra lá phiếu của mình Sử dụng chữ ký số Elgamal cho phép thực hiện điều

đó [3]

Chính vì vậy, chương 2 sẽ đi sâu vào phân tích chi tiết các kỹ thuật liên quan Phần đầu của chương sẽ trình bày cơ sở toán học chung của mật mã Hai bài toán bỏ phiếu thường gặp là bỏ phiếu dạng có/không và bỏ phiếu chọn L/K [2] Vì vậy, các phần tiếp theo của luận văn sẽ trình bày chi tiết về việc lựa chọn hệ mã hóa công khai Elgamal để mã hóa phiếu trả lời cho hai dạng câu hỏi này Tiếp đó, luận văn đề cập đến việc tránh gian lận cần áp dụng kỹ thuật chia sẻ khóa bí mật Shamir kết hợp với mật mã Elgamal Phần cuối của chương trình bày việc xác định người dùng bằng chữ

kỹ số Elgamal

Trang 32

Cơ sở toán học của mật mã

2.2.1 Nhóm, vành và không gian Zp

 Nhóm:

Nhóm là cấu trúc bao gồm tập G và toán tử hai ngôi ∗, trường G Với a, b ∈ G,

a b ∈ G được định nghĩa như sau:

a ∗ (b∗ c) = (a ∗b) ∗c với mọi a, b, c ∈ G

Tồn tại e ∈ G thoả mãn e ∗a=a ∗e=a với mọi a ∈ G, (e gọi là phần tử trung

hoà)

Với mỗi a ∈ G, tồn tại một phần tử b ∈ G thoả mãn b∗ a=a∗ b=e (b là duy nhất

và được gọi là phần tử nghịch đảo của a)

Ký hiệu <G, >là nhóm nhân và <G, +> là nhóm cộng Trong nhóm cộng, phần

tử trung hoà là 0 và phần tử nghịch đảo của a là –a Trong nhóm nhân, phần tử trung hoà là 1 và phần tử nghịch đảo của a la a-1

<G, > được gọi là nhóm abel nếu a∗ b=b∗ a với mọi a, b thuộc G

Nếu <G, > là nhóm hữu hạn thì số phần tử của <G, > được gọi là bậc của G và

ký hiệu là |G|

Bậc của phần tử a ∈ G là số nguyên dương nhỏ nhất n thỏa mãn an = 1 Ở đây, trong nhóm nhân an được hiểu là a.a a (n lần), còn trong nhóm cộng là a+a+ +a (n lần) Trong nhóm nhân với mọi phần tử thuộc nhóm thì n luôn tồn tại

Nếu a  G có bậc m thì H = { a k | k  Z } là nhóm con của G và có bậc m

Nếu G có một phần tử a có bậc n = |G| thì G = { a k | k  Z} và G được gọi là một nhóm cylic, a được gọi là phần tử sinh của G

Ví dụ, tập hợp Zn = {0, 1, 2,…, n - 1} là một nhóm cylic bậc n với toán tử cộng module n

 Vành:

Định nghĩa: Tập hợp R được gọi là vành nếu trên đó có hai phép toán hai ngôi mà ta ký hiệu là "+" (phép cộng) và "." (phép nhân) thỏa mãn các điều kiện sau:

R là một nhóm giao hoán đối với phép cộng, nghĩa là:

Trang 33

- Phép cộng có tính kết hợp: x y z, , R: (xy)  z x (yz)

- Phép cộng có phần tử trung hòa, nghĩa là:    0 R, x R: 0   x x 0 x

- Mọi phần tử của R có phần tử đối:  x, x' :x   x' x' x 0

- Phép cộng có tính giao hoán, nghĩa là: x y, R x:   y y x

Phép nhân có tính kết hợp, nghĩa là x y z, , R: (x y).z x y z.( )

Phép nhân có phần tử đơn vị, nghĩa là:     1 R, x R:1    x x 1 x

2.2.2 Bài toán logarit rời rạc

Định nghĩa: giả sử G là một nhóm cyclic hữu hạn có n phần tử Chúng ta ký hiệu phép toán của G theo kiểu nhân Giả sử b là một phần tử sinh của G khi đó mọi phần tử g G có thể viết dưới dạng g = b k với một số nguyên k nào đó Hơn nữa, hai số nguyên có cùng tính chất đó với g là đồng dư theo module n [1]

Ta định nghĩa một hàm: log : b GZ n (trong đó Zn ký hiệu cho vành các số nguyên modulo n) theo g là lớp các số nguyên k modul n Hàm này là một đồng cấu nhóm, được gọi là logarit rời rạc theo cơ số b

Công thức đổi cơ số giống như logarith thông thường: Nếu c là một phần tử sinh khác của G, thì: log ( )c g log ( ).log ( )c b b g

Cho p là một số nguyên tố Xét nhóm nhân các số nguyên module p: với phép nhân module p Z*p  {1,2, p}

Nếu ta tính luỹ thừa bậc k của một số trong nhóm rồi rút gọn theo module p thì ta được một số trong nhóm đó Quá trình này được gọi là luỹ thừa rời rạc modulo

p Chẳng hạn với p=17, lấy a=3, k=4 ta có: 4

3 81 13(mod17)

Lôgarit rời rạc là phép tính ngược lại, biết: 3k  13(mod17) hãy tìm k

Hiện nay, chưa có thuật toán hiệu quả nào để tính logarit rời rạc tổng quát

Có nhiều thuật toán phức tạp, thường sinh ra từ những thuật toán tương tự cho bài toán phân tích thừa số nguyên Chúng chạy nhanh hơn các thuật toán thô sơ, nhưng vẫn còn chậm hơn so với thời gian đa thức

Trang 34

Logarit rời rạc là bài toán khó (chưa biết một thuật toán hiệu quả nào), trong khi bài toán ngược luỹ thừa rời rạc lại không khó (có thể sử dụng thuật toán bình phương và nhân) Tình trạng này giống như tình hình giữa bài toán thừa số nguyên

và phép nhân các số nguyên Chính vì vậy, chúng đều có thể dùng để xây dựng cấu trúc cho một hệ mật mã

Người ta thường chọn nhóm G trong mật mã logarit rời rạc là nhóm cyclic (Zp)× chẳng hạn như mật mã ElGamal, Trao đổi khoá Diffie-Hellman, và Chữ ký

số Elgamal

Ngoài ra còn có mật mã sử dụng lôgarit rời rạc trong nhóm con cyclic của các đường elliptic trên trường hữu hạn gọi là mật mã đường cong elliptic

Sử dụng hệ mã hóa khóa công khai Elgamal trong bỏ phiếu điện tử

2.3.1 Tổng quan về hệ mật mã khóa công khai Elgamal

Hình 2.1 Hệ mật mã công khai

Hệ mật Elgamal hình thành trên cơ sở bài toán logarith rời rạc Được đề xuất năm

1984 Sau đó chuẩn chữ ký điện tử của Mỹ và Nga hình thành trên cơ sở hệ mật mã này [10][11]

Trang 35

Hình thành khóa:

Sơ đồ của hệ mã công khai Elgamal được cho ở Hình 2.1 Giả sử Alice và Bob

muốn trao đổi thông tin mật với nhau bằng hệ mật Elgamal Thì trước tiên Alice thực hiện qúa trình hình thành khóa như sau [10]:

1 Chọn số nguyên tố đủ lớn p có chiều dài là k sao cho bài toán logarithm trong

p

Z là khó giải

2 Chọn gZ*p là phần tử nguyên thủy (phần tử sinh) Chọn a là số ngẫu nhiên sao cho 1<a<p

3 Tính giá trị h thỏa mãn công thức: hg amod p

Khóa mật là a, còn khóa công khai là 3 số (g,p,h)

Quá trình mã hóa bản tin T:

Ngày đăng: 10/06/2021, 09:58

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phan Đình Diệu (1999), Giáo trình lý thuyết mật mã và an toàn thông tin, Nhà xuất bản Đại học Quốc gia Hà Nội Sách, tạp chí
Tiêu đề: Giáo trình lý thuyết mật mã và an toàn thông tin
Tác giả: Phan Đình Diệu
Nhà XB: Nhà xuất bản Đại học Quốc gia Hà Nội
Năm: 1999
[2] Nguyễn Hải Trường (2016), Nghiên cứu kết hợp sơ đồ chia sẻ bí mật Shamir và hệ mã hóa Elgamal, ứng dụng trong bỏ phiếu điện tử, Luận văn thạc sĩ công nghệ thông tin, Trường ĐH Công nghệ thống tin và truyền thông, ĐH Thái nguyên Sách, tạp chí
Tiêu đề: Nghiên cứu kết hợp sơ đồ chia sẻ bí mật Shamir và hệ mã hóa Elgamal, ứng dụng trong bỏ phiếu điện tử
Tác giả: Nguyễn Hải Trường
Năm: 2016
[3] Hồ Văn Hương, Hoàng Chiến Thắng (2013), 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) Sách, tạp chí
Tiêu đề: Ký số và xác thực trên nền tảng web
Tác giả: Hồ Văn Hương, Hoàng Chiến Thắng
Năm: 2013
[4] Trần Đông Hải, Nghiên cứu một số giải pháp đảm bảo an toàn thông tin trong giai đoạn đăng kí bỏ phiếu điện tử, 2015.II. Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: Nghiên cứu một số giải pháp đảm bảo an toàn thông tin trong giai đoạn đăng kí bỏ phiếu điện tử
[6] Adewale, Olumide &amp; Boyinbode, Olutayo &amp; Adekunle, Salako. (2020). A Review of Electronic Voting Systems: Strategy for a Novel. International Journal of Information Engineering and Electronic Business. 12. 19-29.10.5815/ijieeb.2020.01.03 Sách, tạp chí
Tiêu đề: A Review of Electronic Voting Systems: Strategy for a Novel
Tác giả: Adewale, Olumide &amp; Boyinbode, Olutayo &amp; Adekunle, Salako
Năm: 2020
[7] Adi Shamir. 1979. How to share a secret. Commun. ACM 22, 11 (Nov. 1979), 612–613. DOI:https://doi.org/10.1145/359168.35917 Sách, tạp chí
Tiêu đề: How to share a secret
[9] William Stallings, Cryptography and Network Security Principles and Practices, Fourth Edition, 2005 Sách, tạp chí
Tiêu đề: Cryptography and Network Security Principles and Practices
[5] Azougaghe, Ali &amp; Kartit, Zaid &amp; Mustapha, Hedabou &amp; Belkasmi, Mostafa &amp Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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

w