..
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
BÙI VĂN TÚ
XÂY DỰNG HỆ THỐNG BỎ PHIẾU ĐIỆN TỬ SỬ
DỤNG MẬT MÃ
LUẬN VĂN THẠC SĨ KỸ THUẬT VIỄN THÔNG
THÁI NGUYÊN - 2020
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN
http://lrc.tnu.edu.vn
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
BÙI VĂN TÚ
XÂY DỰNG HỆ THỐNG BỎ PHIẾU ĐIỆN TỬ
SỬ DỤNG MẬT MÃ
Chuyên ngành: Kỹ thuật Viễn thông
Mã số: 8.52.02.08
LUẬN VĂN THẠC SĨ KỸ THUẬT VIỄN THÔNG
KHOA CHUYÊN MÔN
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. NGUYỄN PHƯƠNG HUY
THÁI NGUYÊN - 2020
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN
http://lrc.tnu.edu.vn
LỜI CAM ĐOAN
Tên tôi là: Bùi Văn Tú
Sinh ngày: 14/7/1986
Học viên lớp cao học CHK20KTVT - Trường Đại học Kỹ thuật Công nghiệp
- Đại học Thái Nguyên.
Hiện đang công tác tại: Sở Công Thương Bắc Giang.
Xin cam đoan: Đề tài “Xây dựng hệ thống bỏ phiếu điện tử sử dụng mật
mã” do Thầy giáo TS. Nguyễn Phương Huy hướng dẫn là công trình nghiên cứu
của riêng tôi. Tất cả tài liệu tham khảo đều có nguồn gốc, xuất xứ rõ ràng.
Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng như nội dung
trong đề cương và yêu cầu của thầy giáo hướng dẫn. Nếu sai tôi hoàn toàn chịu trách
nhiệm trước hội đồng khoa học và trước pháp luật.
Thái Nguyên, ngày
tháng năm 2020
Tác giả luận văn
Bùi Văn Tú
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN
http://lrc.tnu.edu.vn
LỜI CẢM ƠN
Sau một thời gian nghiên cứu và làm việc nghiêm túc, được sự động viên,
giúp đỡ và hướng dẫn tận tình của Thầy giáo hướng dẫn TS. Nguyễn Phương Huy, luận
văn với đề tài “Xây dựng hệ thống bỏ phiếu điện tử sử dụng mật mã” đã hoàn thành.
Tôi xin bày tỏ lòng biết ơn sâu sắc đến:
Thầy giáo hướng dẫn TS. Nguyễn Phương Huy đã tận tình chỉ dẫn, giúp đỡ
tôi hoàn thành luận văn này.
Trường Đại học Kỹ thuật công nghiệp và đặc biệt là các thầy, cô trong Khoa
Điện tử đã giúp đỡ tôi trong quá trình học tập cũng như thực hiện luận văn.
Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp và gia đình đã động viên,
khích lệ, tạo điều kiện giúp đỡ tôi trong suốt quá trình học tập, thực hiện và hoàn
thành luận văn này.
Thái Nguyên, ngày
tháng
năm 2020
Tác giả luận văn
Bùi Văn Tú
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN
http://lrc.tnu.edu.vn
MỤC LỤC
LỜI CAM ĐOAN ........................................................................................................ i
LỜI CẢM ƠN .............................................................................................................ii
DANH MỤC CÁC HÌNH ẢNH ................................................................................. v
DANH MỤC BẢNG BIỂU ....................................................................................... vi
MỞ ĐẦU ..................................................................................................................... 1
CHƯƠNG 1: BỎ PHIẾU ĐIỆN TỬ ........................................................................... 5
1.1. Tổng quan về bỏ phiếu điện tử. ....................................................................... 5
1.1.1. Khái niệm về bỏ phiếu. .............................................................................. 6
1.1.2. Khái niệm bỏ phiếu điện tử. ...................................................................... 7
1.1.3. Ưu điểm của bỏ phiếu điện tử. .................................................................. 7
1.1.4. Hai bài toán bỏ phiếu điện tử thường gặp. ................................................ 7
1.1.5. Yêu cầu chung của bỏ phiếu điện tử. ........................................................ 8
1.2. Ứng dụng mật mã trong bỏ phiếu điện tử ....................................................... 8
1.2.1. Tổng quan về mật mã ................................................................................ 8
1.2.1.1. Giới thiệu ................................................................................................ 8
1.2.1.2. Vai trò của hệ mật mã ............................................................................. 9
1.2.1.3. Phân loại hệ mật mã .............................................................................. 10
1.2.1.4. Tiêu chuẩn đánh giá hệ mật mã ............................................................ 11
1.2.2. Một số ưu điểm khi ứng dụng mật mã trong bỏ phiếu điện tử ............... 12
1.2.2.1. Kiểm tra tổng các phiếu bầu thay vì kiểm tra từng lá phiếu ............... 12
1.2.2.2. Mật mã giúp đạt tính phân quyền trong kiểm phiếu ............................ 15
1.2.2.3. Mã hóa xác suất giúp giữ vững tính ẩn danh của phiếu bầu ............... 16
1.2.2.4. Chứng minh tương tác để chống việc bán phiếu bầu .......................... 16
1.3. Kiến trúc chung của một hệ thống bỏ phiếu điện tử. .................................... 18
1.3.1. Các thành phần trong hệ thống bỏ phiếu điện tử. ................................... 18
1.3.2. Các giai đoạn bỏ phiếu điện tử. ............................................................... 19
1.4. Giới thiệu một số hệ thống bỏ phiếu điện tử trong thực tế. .......................... 19
1.5. Kết luận chương 1 ......................................................................................... 20
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN
http://lrc.tnu.edu.vn
CHƯƠNG 2: ỨNG DỤNG MỘT SỐ GIẢI PHÁP TRONG XÂY DỰNG HỆ
THỐNG BỎ PHIẾU ĐIỆN TỬ ................................................................................ 22
2.1. Cơ sở toán học của mật mã. ......................................................................... 22
2.1.1. Nhóm, vành và không gian Zp. ............................................................... 22
2.1.2. Bài toán logarit rời rạc. ............................................................................ 23
2.1.3. Mã hóa và giải mã dữ liệu. ...................................................................... 24
2.1.4. Mã hóa và giải mã bằng khóa bí mật và công khai. ............................... 26
2.2. Sử dụng hệ mã hóa khóa công khai Elgamal trong bỏ phiếu điện tử.......... 28
2.2.1. Tổng quan về hệ mật mã khóa công khai................................................ 28
2.2.2. Tính đồng cấu của hệ mã hóa Elgamal. .................................................. 29
2.2.3. Ứng dụng hệ mã hóa Elgamal cho bỏ phiếu đồng ý /không đồng ý. ..... 29
2.3. 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ử. .................................................................................................. 31
2.3.1. Kỹ thuật Chia sẻ khóa bí mật (Secret Sharing). ...................................... 31
2.3.2. Các sơ đồ chia sẻ bí mật. ......................................................................... 32
2.3.3.Sơ đồ chia sẻ bí mật Shamir kết hợp với hệ mã hóa Elgamal cho bài toán
loại bỏ phiếu chọn L trong K. ................................................................................37
2.4. Kết luận chương 2 ......................................................................................... 41
CHƯƠNG 3: MỘT SỐ KẾT QUẢ ĐẠT ĐƯỢC .................................................... 42
3.1. Mô phỏng hệ thống bỏ phiếu điện tử cho hai bài toán cơ bản. ..................... 42
3.2. Thiết kế và thi công hệ thống bỏ phiếu điện tử cho bài toán bỏ phiếu Có/Không
50
3.2.1. Giới thiệu ................................................................................................. 50
3.2.2. Sơ đồ khối của hệ thống .......................................................................... 51
3.2.3. Thiết kế chi tiết khối chức năng .............................................................. 53
3.2.4. Một số kết quả đạt được. ......................................................................... 59
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ........................................................... 62
TÀI LIỆU THAM KHẢO ................................................................................... 64
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN
http://lrc.tnu.edu.vn
DANH MỤC CÁC HÌNH ẢNH
Hình 1.1. Mã hoá với khoá mã và khoá giải giống nhau .........................................10
Hình 2.1. Mã hóa dữ liệu. ........................................................................................24
Hình 2.2. Quy và giải trình mã hóa mã. ...................................................................25
Hình 2.3. Sơ đồ mã hóa và giải mã bằng khóa riêng. ..............................................26
Hình 2.4. Sơ đồ mã hóa và giải mã bằng khóa công khai. .......................................27
Hình 2.5. Hệ mật mã công khai................................................................................28
Hình 2.6. Sơ đồ bỏ phiếu đồng ý/ không đồng ý. ...................................................30
Hình 2.7. Sơ đồ bỏ phiếu chọn L trong K. ...............................................................39
Hình 3.1. Giao diện chương trình chính...................................................................45
Hình 3.2. Giao diện chương trình bỏ phiếu có/không đồng ý..................................46
Hình 3.3. Giao diện chương trình bỏ phiếu chọn L trong K ....................................48
Hình 3.4. Sơ đồ khối của hệ thống. ..........................................................................51
Hình 3.5. Lưu đồ giải thuật tạo nội dung phiếu bầu trên Android ...........................53
Hình 3.6. Màn hình File Activity_login.xml (Design). ...........................................54
Hình 3.7. Màn hình Activity_main.xml (Design). ...................................................54
Hình 3.8. Module sim A7 .........................................................................................55
Hình 3.9. Module arduino Uno. ...............................................................................56
Hình 3.10. Web hiển thị kết quả bỏ phiếu. ..............................................................58
Hình 3.11. Màn hình login. ......................................................................................59
Hình 3.12. Màn hình chính hệ thống bỏ phiếu điện tử. ...........................................60
Hình 3.13. Kết quả bỏ phiếu hiển thị trên trang web. ..............................................60
Hình 3.14. Danh sách niêm yết trên trang web. .......................................................61
Hình 3.15. Kết quả bỏ phiếu hiển thị trên trang web (tiếp). ....................................61
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN
http://lrc.tnu.edu.vn
DANH MỤC BẢNG BIỂU
Bảng 2.1. Một số ví dụ về mã hóa và giải mã. ..........................................................28
Bảng 3.1. Các file chính để minh họa Bài toán bỏ phiếu có/không đồng ý ..............44
Bảng 3.2. Các file chính để minh họa Bài toán bỏ phiếu “chọn L trong K” ............44
Bảng 3.3. Thông số kỹ thuật của Arduino nano v3.0................................................56
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN
http://lrc.tnu.edu.vn
MỞ ĐẦU
1. Tính khoa học và cấp thiết của đề tài
Trong những năm gần đây, sự phát triển, hội tụ và tương tác các xu thế công
nghệ đã mở ra nhiều cơ hội phát triển cho Chính phủ điện tử. Một trong những phương
diện mới đánh dấu sự phát triển của Chính phủ điện tử và đã được kiểm chứng ở một
số nước phương Tây là bỏ phiếu điện tử.
Phương thức bỏ phiếu truyền thống gặp phải một số hạn chế: với những cử tri
ở vùng sâu vùng xa, khoảng cách về địa lý sẽ bị hạn chế việc thực hiện được quyền
bỏ phiếu của mình; tính độc lập, cá nhân và quyền riêng tư của cử tri sẽ bị ảnh hưởng
lớn; tính minh bạch, niềm tin vào số lần bỏ phiếu của một cử tri; việc đảm bảo an
ninh cho bầu cử, tính minh bạch kết quả bầu cử, sự tham gia và thái độ tham gia của
những cử tri trẻ đối với cuộc bầu cử; tính an ninh của những lá phiếu trong quá trình
vận chuyển và kiểm phiếu. Cùng với đó là quá trình chuẩn bị cơ sở vật chất, đào tạo
nhân lực phục vụ cho cuộc bầu cử. Đây quả là những khó khăn, thách thức vô cùng
lớn.
Trong khi đó, nhờ sự phát triển của công nghệ viễn thông, bằng hình thức bỏ
phiếu điện tử, mọi người dân đều có thể tự tay bỏ những lá phiếu của mình cho dù họ
đang ở đâu, làm gì. Hơn nữa, nó còn đảm bảo được tính cá nhân và quyền riêng tư
trong lá phiếu của mình, đảm bảo an ninh do không mất quá trình vận chuyển “thủ
công” hòm phiếu từ nhiều địa điểm khác nhau mà nó đã được lưu trữ ngay lập tức
vào hệ thống cơ sở dữ liệu. Thay vì đào tạo một đội ngũ cán bộ khổng lồ để phục vụ
cho công tác bầu cử, việc bỏ phiếu điện tử sẽ giản tiện tới mức tối đa về nhân lực. Và
một điều đặc biệt, hình thức bỏ phiếu này sẽ đáp ứng nhu cầu bầu cử theo cách của
những người trẻ đó có thể là bầu cử trực tuyến, có thể là bầu cử qua điện thoại hoặc
bầu cử thông qua Facebook, Twiter, Youtube… Thông qua hệ thống Internet và
những thiết bị thông minh, chính phủ có thể dễ dàng kết nối tất cả quá trình trước,
trong và sau bầu cử nhanh, gọn, nhẹ; thu hút được đông đảo cử tri và không phân biệt
đối tượng, vị trí địa lý. Điều này chắc chắn sẽ giảm bớt sức nặng tối đa cho cuộc bầu
cử và mang lại thành công cho nó. Qua đó cũng thấy được tính ưu việt của hình thức
1
bỏ phiếu điện tử. Với chính phủ, bỏ phiếu điện tử là một bước cụ thể hóa của chính
phủ điện tử và được đánh giá là giải pháp hữu hiệu cho việc bầu cử của các quốc gia.
Trên thế giới, khái niệm bỏ phiếu điện tử (e-voting) không còn xa lạ gì đối với
các nước phát triển, nhất là ở Bắc Mỹ và Châu Âu. Tại Châu Á, chỉ có ba
nước đã từng thử nghiệm hệ thống bầu cử điện tử, đó là Hàn Quốc, Nhật
Bản và Ấn Độ, những nước có trình độ công nghệ phát triển cao. Tuy nhiên bầu
cử điện tử tại ba nước này vẫn chưa được xem là thực sự thành công khi kết quả thu
được từ những lá phiếu điện tử vẫn còn nhiều nghi vấn. Vấn đề lớn nhất chính là tính
bảo mật của toàn hệ thống.
Tại Việt Nam bỏ phiếu điện tử mới chỉ dừng ở mục đích bầu chọn, bình chọn
(bầu chọn Vịnh Hạ Long là di sản Thiên nhiên thế giới, bình chọn bài hát hay trên
sóng truyền hình, bình chọn hoa hậu, ca sỹ..) song chưa thể triển khai vào các cuộc
bầu cử quan trọng do còn nhiều hạn chế (vấn đề ngân sách, giáo dục ý thức cho người
dân, quá trình phổ biến, huấn luyện phương thức thực hiện cho các cấp, các bộ phận
liên quan..). Đây rõ ràng là một khoảng trống khá lớn, nhất là việc kinh phí lắp đặt hệ
thống máy bầu cử hay trở ngại trong khoảng cách vùng miền.
Để hoạt động bỏ phiếu phát huy đúng tác dụng thì cần đảm bảo hai yêu cầu về
tính kiểm tra được và tính tự do trong lựa chọn [1], [2], [9]. Điều này chỉ có thể được
thực hiện nhờ mật mã. Người đầu tiên đặt nền móng cho việc xây dựng các hệ bỏ
phiếu tích hợp các phương pháp mật mã là Chaum vào năm 1981 [3]. Kể từ đó đến
nay, các công trình công bố trên thế giới đều tập trung vào xây dựng ba mô hình bỏ
phiếu cơ bản là: mô hình xáo trộn phiếu [3], mô hình chữ ký mù [4] và mô hình sử
dụng mã hóa đồng cấu [6],[7],[9]. Trong đó, do tính ưu việt trong giải quyết vấn đề
tính kiểm tra được và tính tự do trong lựa chọn mà gần đây, mô hình mã hóa đồng
cấu được tập nghiên cứu nhiều nhất. Hiện tại ở Việt Nam, các công trình như [1], [2]
mới chỉ dừng lại ở việc đề xuất áp dụng các mô hình bỏ phiếu mà chưa thực sự triển
khai trên một ứng dụng cụ thể.
Chính vì vậy, được sự hướng dẫn của Thầy giáo, TS. Nguyễn Phương Huy, học
viên lựa chọn đề tài luận văn tốt nghiệp “Xây dựng hệ thống bỏ phiếu điện tử sử
dụng mật mã” với mong muốn áp dụng các kiến thức đã được học, xây dựng một hệ
2
thống bỏ phiếu điện tử với phần cứng dựa trên vi điều khiển và phần mềm dựa trên
các thuật toán mật mã.
2. Mục tiêu, đối tượng và phạm vi nghiên cứu của đề tài
a. Mục tiêu
Qua việc phân tích, khảo sát và đánh giá thực trạng bỏ phiếu điện tử tại Việt
Nam cũng như thế giới, kết hợp với nghiên cứu các kỹ thuật, phương pháp, thuật toán
mã hóa, mục tiêu của luận văn được xác định là: Xây dựng hệ thống bỏ phiếu điện tử
giải quyết hai bài toán bỏ phiếu điện tử phổ biến nhất hiện nay: bỏ phiếu có/không
đồng ý và bỏ phiếu chọn L trong K.
b. Đối tượng
Như vậy, các đối tượng nghiên cứu của đề tài là: Kiến trúc phần cứng của hệ
thống bỏ phiếu điện tử, các thuật toán mã hóa/giải mã lá phiếu trong phần mềm của
hệ thống để đảm bảo tính kiểm tra được và tính tự do trong lựa chọn.
c. Phạm vi nghiên cứu
-
Về kiến trúc hệ thống bỏ phiếu, luận văn sử dụng phần cứng là vi điều khiển Adruino
UNO để thu thập và tính toán các lá phiếu (đã được mã hóa) qua máy di động và
website.
-
Với bài toán bỏ phiếu có/không , học viên lựa chọn hệ mã hoá Elgamal do hệ mã này
có tính chất đồng cấu với phép cộng và phép nhân, nhờ đó có thể tính được kết quả
trong cuộc bỏ phiếu “có/không” thông qua tổng các phiếu bầu mà không cần giải
mã từng lá phiếu.
-
Với bài toán bỏ phiếu “chọn L trong K”, ngoài yêu cầu mã hóa được nội dung lá
phiếu còn phải đảm bảo sự minh bạch, chính xác trong kiểm tra kết quả bỏ phiếu
trong điều kiện các cử tri không tin vào một số thành viên ban kiểm phiếu. Vì vậy,
học viên dự kiến nghiên cứu việc kết hợp sơ đồ chia sẻ bí mật có ngưỡng giới hạn
Shamir và hệ mã hóa đồng cấu Elgamal để giải bài toán “chọn L trong K”.
3. Phương pháp luận nghiên cứu
3
-
Phương pháp nghiên cứu lý thuyết: Tổng hợp tài liệu; Nghiên cứu các tài liệu về xây
dựng hệ nhúng sử dụng Adruino, xây dựng ứng dụng giao tiếp với vi điều khiển qua
di động, Internet; Nghiên cứu các tài liệu về bỏ phiếu điện tử; Nghiên cứu về hệ mã
hóa công khai, hệ mật Elgamal, sơ đồ chia sẻ bí mật Shamir và kết hợp sơ đồ chia sẻ
bí mật Shamir và hệ mật Elgamal; Tìm hiểu các kiến thức liên quan.
-
Phương pháp nghiên cứu thực nghiệm: Sau khi nghiên cứu lý thuyết, phát biểu bài
toán, đưa ra giải pháp xử lý; Mô phỏng thử nghiệm chương trình trên phần mềm
Matlab; Đánh giá các kết quả đạt được. Xây dựng mô hình thử nghiệm bỏ phiếu điện
tử.
-
Phương pháp trao đổi khoa học: Thảo luận, xemina, lấy ý kiến chuyên gia, công bố
các kết quả nghiên cứu trên tạp chí khoa học.
4. Nội dung và bố cục của luận văn
Nội dung luận văn dự kiến bao gồm 3 chương:
-
Chương 1: “Bỏ phiếu điện tử” Chương này giới thiệu tổng quan về bỏ phiếu điện
tử, các thành phần chính trong hệ thống và qui trình bỏ phiếu điện tử. Vai trò của
mật mã trong bỏ phiếu điện tử, các tình huống và bài toán cụ thể phát sinh trong
quá trình bỏ phiếu điện tử cũng như phương án giải quyết.
-
Chương 2: “Ứng dụng một số giải pháp trong xây dựng hệ thống bỏ phiếu điện
tử” Từ những bài toán, vấn đề đã đặt ra trong phần mở đầu và chương 1, chương 2
sẽ trình bày cơ sở lý thuyết về toán học và các phương pháp mã hóa để giải quyết các
bài toán đặt ra trong bỏ phiếu điện tử. Trình bày và phân tích hệ mã hóa công khai
Elgamal cùng với tính chất đồng cấu của hệ mật này, tiếp đến là sơ đồ chia sẻ bí mật
theo ngưỡng Shamir. Từ đó chỉ ra ứng dụng của hệ mật Elgamal trong bài toán “bỏ
phiếu Có/ không”; Phối hợp hệ mật Elgamal và sơ đồ chia sẻ bí mật Shamir để giải
quyết bài toán “bỏ phiếu chọn L trong K”.
-
Chương 3: “Một số kết quả đạt được” Lựa chọn một ứng dụng bỏ phiếu điện tử
cụ thể; Trình bày cụ thể cách thức thiết kế và thi công phần cứng và thực hiện các
thuật toán mã mật trong phần mềm của hệ thống bỏ phiếu điện tử; Đánh giá các kết
quả đạt được.
4
CHƯƠNG 1
BỎ PHIẾU ĐIỆN TỬ
1.1. Tổng quan về bỏ phiếu điện tử.
Trong những năm gần đây, cả thế giới đang chứng kiến một cuộc cách mạng
mạnh mẽ, toàn diện và sâu sắc đã làm thay đổi các hoạt động trong mọi lĩnh vực
kinh tế, văn hoá, chính trị, xã hội, thay đổi cả phương thức làm việc, học tập, giải
trí, giao tiếp và quan hệ xã hội. Một trong những nội dung cơ bản của cuộc cách
mạng này là ứng dụng công nghệ cao, hiện đại với công nghệ thông tin là công cụ
có ý nghĩa quyết định, mang tính đột phá, góp phần rút ngắn quá trình công nghiệp
hoá, hiện đại hóa. Trong đó mạng máy tính đã giúp 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 và nó đã mang lại cho
con người những lợi ích không thể phủ nhận được.
Một xã hội dân chủ có nhiều việc phải cần đến "bỏ phiếu", người ta "bỏ phiếu"
để thăm dò các kế hoạch, chính sách nào đó hoặc để bầu cử các chức vụ, chức danh...
Hiện nay có 2 loại bỏ phiếu chính là 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 truyền thống") và bỏ phiếu từ xa bằng các lá phiếu
"số hoá" tạm gọi là lá phiếu điện tử từ các máy tính cá nhân trên mạng, điện thoại
di động... ("bỏ phiếu điện tử" hoặc "bầu cử điện tử ").
Ngày nay, khoảng thời gian của mỗi cá nhân không nhiều, mặt khác một người
có thể làm việc ở nhiều nơi, như vậy người ta khó có thể thực hiện được nhiều cuộc
bỏ phiếu theo phương pháp truyền thống. Rõ ràng "bỏ phiếu từ xa" đang và sẽ là
nhu cầu cấp thiết, vấn đề này chỉ còn là thời gian và kỹ thuật cho phép. Cũng như
bỏ phiếu truyền thống, bỏ phiếu thăm dò từ xa phải đảm bảo yêu cầu "bí mật", "toàn
vẹn" và "xác thực" của lá phiếu.
Kỹ thuật bỏ phiếu thăm dò từ xa dựa trên những lý luận rất sâu sắc về an toàn
và bảo mật dữ liệu trên đường truyền tin. Mặt khác lá phiếu phải bảo đảm hợp pháp,
lá phiếu đúng là của người được phép bầu cử, mỗi cử tri chỉ được gửi một lá phiếu.
Yêu cầu "bí mật" của lá phiếu là ngoài cử tri, chỉ có ban kiểm phiếu mới được
biết nội dung của lá phiếu nhưng họ không biết chủ nhân của nó.
5
Yêu cầu "toàn vẹn" của lá phiếu trên đường truyền tin, nội dung lá phiếu không
thể bị thay đổi, tất cả các lá phiếu đều được chuyển đến hòm phiếu an toàn, đúng
thời hạn và được kiểm phiếu đầy đủ.
Yêu cầu "xác thực" của lá phiếu gửi tới hòm phiếu phải hợp lệ, đúng là của
người có quyền bỏ phiếu, cử tri có thể nhận ra lá phiếu của họ.
Trải qua nhiều thế kỷ, đã có nhiều công nghệ bỏ phiếu khác nhau với những
phương pháp và các hình thức khác nhau. Từ những hòn đá và mảnh vỡ bỏ vào
trong lọ thời Hy lạp được thay thế bằng lá phiếu bỏ vào trong hộp gắn niêm phong.
Ngày nay, công nghệ mới phát triển việc bỏ phiếu, có thể tự động hoá.
Việc bỏ phiếu tự động cần phải được bảo mật và an toàn như những cuộc bầu
cử truyền thống (đặc biệt là bí mật riêng của lá phiếu). Phòng bỏ phiếu "cơ học" và
những phiếu đục lỗ sẽ được thay thế bằng những lá phiếu "điện tử" để có thể kiểm
phiếu nhanh hơn.
Bỏ phiếu điện tử trực tuyến qua Internet có lợi hơn rất nhiều. Các cử tri có thể
bỏ phiếu từ bất cứ nơi đâu. Việc bỏ phiếu thuận tiện làm gia tăng số lượng cử tri.
Nhanh chóng, rẻ và tiện lợi. Quá trình bỏ phiếu có thể tác động lớn trên những xã
hội dân chủ. Ví dụ những cuộc bầu cử cho phép công dân có thể bỏ phiếu vào bất
cứ thời gian nào.
Những phương pháp bỏ phiếu hiệu quả có thể phân loại bằng 2 cách tiếp cận
chính sơ đồ sử dụng chữ ký mù và sơ đồ sử dụng mã hoá đồng cấu.
1.1.1. Khái niệm về bỏ phiếu.
Bầu cử là một quá trình đưa ra quyết định của người dân để chọn ra một cá
nhân nắm giữ các chức vụ thuộc chính quyền. Đây là cơ chế thông thường mà các
nền dân chủ hiện dùng để phân bổ chức vụ trong bộ máy lập pháp, thỉnh thoảng ở
bộ máy hành pháp, tư pháp, và ở chính quyền địa phương. Bầu cử là một trong
những chế định quan trọng trong ngành Luật Hiến pháp, là cơ sở pháp lý cho việc
hình thành ra các cơ quan đại diện cho quyền lực của Nhà nước và cách phổ biến
nhất là bỏ phiếu.
Bỏ phiếu gồm: bỏ phiếu truyền thống và bỏ phiếu điện tử.
6
1.1.2. Khái niệm bỏ phiếu điện tử.
Bỏ phiếu điện tử là phương pháp bỏ phiếu từ xa qua mạng thông qua máy tính,
thiết bị di động... Bỏ phiếu từ xa luôn đảm bảo được tính bí mật, toàn vẹn và xác
thực của lá phiếu.
Kết quả bỏ phiếu được gửi ngay về chương trình kiểm phiếu tự động, kết quả
bỏ phiếu được chương trình tự động tổng hợp theo thời gian thực và tất cả các thành
viên đều có thể xem được báo cáo tổng hợp này.
Mỗi cử tri chỉ được bỏ phiếu một lần, mọi người đều có thể kiểm tra tính đúng
đắn của cuộc bỏ phiếu, cử tri không thể chỉ ra mình đã bỏ phiếu cho ai để tránh cơ
hội bán phiếu bầu.
1.1.3. Ưu điểm của bỏ phiếu điện tử.
-
Cho phép bỏ phiếu từ xa.
-
Kiểm phiếu và thống kê kết quả nhanh.
-
Loại bỏ các sai sót có thể có do thao tác bằng tay.
-
Bỏ phiếu điện tử sẽ đem đến sự thuận tiện, đáp ứng tốt hơn yêu cầu công
việc.
-
Tạo điều kiện để các thành viên Hội đồng tham gia bỏ phiếu mọi lúc mọi nơi
kể cả khi đang đi công tác nước ngoài
1.1.4. Hai bài toán bỏ phiếu điện tử thường gặp.
Hiện nay có 2 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ử.
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.
7
1.1.5. Yêu cầu chung của bỏ phiếu điện tử.
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 bỏ
phiếu.
Cho đến nay các cuộc bỏ phiếu vẫn được thực hiện theo cách truyền thống, tuy
nhiên với tốc độ phát triển của ngành công nghệ thông tin, đặc biệt là xu thế thực
hiện “Chính phủ điện tử” thì việc “bỏ phiếu điện tử” thay thế phương thức truyền
thống là điều sẽ diễn ra trong tương lai gần.
1.2. Ứng dụng mật mã trong bỏ phiếu điện tử
1.2.1. Tổng quan về mật mã
1.2.1.1. Giới thiệu
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ã.
Để 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.
Để bảo vệ thông tin bằng mật mã người ta thường tiếp cận theo hai hướng:
-
Theo đường truyền (Link_Oriented_Security).
-
Từ nút đến nút (End_to_End).
8
Theo cách thứ nhất thông tin được mã hoá để 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 đó. Ở đây ta lưu ý rằng thông
tin chỉ được bảo vệ trên đường truyền, tức là ở mỗi nút đều có quá trình giải mã sau
đó mã hoá để truyền đi tiếp, do đó các nút cần phải được bảo vệ tốt.
Ngược lại theo cách thứ hai thông tin trên mạng được bảo vệ trên toàn đường
truyền từ nguồn đến đích. Thông tin sẽ được mã hoá ngay sau khi mới tạo ra và chỉ
được giải mã khi về đến đích. Cách này mắc phải nhược điểm 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ì giữ nguyên để có
thể xử lý tại các nút.
1.2.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:
-
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).
-
Tổ chức các sơ đồ chữ ký điện tử, đảm bảo không có hiện tượng giả mạo, mạo
danh để gửi thông tin trên mạng.
Ư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 dộ yêu cầu về độ an toàn.
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:
-
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õ.
9
-
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.
Hình 1.1. Mã hoá với khoá mã và khoá giải giống nhau
1.2.1.3. 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:
-
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
10
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.
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
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.2.1.4. 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ã.
11
1.2.2. Một số ưu điểm khi ứng dụng mật mã trong bỏ phiếu điện tử
1.2.2.1. Kiểm tra tổng các phiếu bầu thay vì kiểm tra từng lá phiếu
Để 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:
-
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. 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 đạ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.
12
- Xem thêm -