Tải bản đầy đủ (.pdf) (67 trang)

Nghiên cứu một số kỹ thuật an toàn thông tin dùng trong kiểm phiếu điện tử

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.36 MB, 67 trang )

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

NGUYỄN THỊ CHUNG THỦY

NGHIÊN CỨU MỘT SỐ KỸ THUẬT AN TOÀN
THÔNG TIN DÙNG TRONG KIỂM PHIẾU ĐIỆN TỬ

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

THÁI NGUYÊN - 2015


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

NGUYỄN THỊ CHUNG THỦY

NGHIÊN CỨU MỘT SỐ KỸ THUẬT AN TOÀN
THÔNG TIN DÙNG TRONG KIỂM PHIẾU ĐIỆN TỬ
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01 01

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

Người hướng dẫn khoa học: PGS.TS TRỊNH NHẬT TIẾN

THÁI NGUYÊN - 2015


i



LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này của tự bản thân tôi tìm hiểu, nghiên cứu dưới
sự hướng dẫn của PGS.TS Trịnh Nhật Tiến. Các chương trình thực nghiệm do chính
bản thân tôi lập trình, các kết quả là hoàn toàn trung thực. Các tài liệu tham khảo
được trích dẫn và chú thích đầy đủ.

TÁC GIẢ LUẬN VĂN

Nguyễn Thị Chung Thủy


ii

LỜI CẢM ƠN
Em xin bày tỏ lời cảm ơn chân thành tới tập thể các thầy cô giáo Viện công
nghệ thông tin - Viện Hàn lâm Khoa học và Công nghệ Việt Nam, các thầy cô giáo
Trường Đại học Công nghệ thông tin và truyền thông - Đại học Thái Nguyên đã dạy
dỗ chúng em trong suốt quá trình học tập chương trình cao học tại trường.
Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo PGS.TS Trịnh Nhật
Tiến, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã quan tâm, định
hướng và đưa ra những góp ý, gợi ý, chỉnh sửa quý báu cho em trong quá trình làm
luận văn tốt nghiệp.
Cuối cùng, em xin chân thành cảm ơn các bạn bè đồng nghiệp, gia đình và
người thân đã quan tâm, giúp đỡ và chia sẻ với em trong suốt quá trình làm luận
văn tốt nghiệp.

Thái Nguyên, ngày tháng năm 2015
HỌC VIÊN


Nguyễn Thị Chung Thủy


iii

MỤC LỤC
LỜI CAM ĐOAN .................................................................................................... i
LỜI CẢM ƠN ........................................................................................................ ii
MỤC LỤC ............................................................................................................ iii
DANH MỤC CÁC HÌNH ..................................................................................... vi
MỞ ĐẦU ................................................................................................................1
1. Lý do lựa chọn đề tài ...........................................................................................1
2. Mục đích nghiên cứu ...........................................................................................2
3. Đối tượng và phạm vi nghiên cứu ........................................................................2
4. Tóm tắt luận điểm cơ bản ....................................................................................2
5. Phương pháp nghiên cứu .....................................................................................3
6. Nội dung luận văn ...............................................................................................3
Chương 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ VÀ MỘT SỐ BÀI
TOÁN TRONG KIỂM PHIẾU ĐIỆN TỬ ...........................................................4
1.1. Tổng quan về bỏ phiếu điện tử ..........................................................................4
1.1.1. Khái niệm bỏ phiếu....................................................................................4
1.1.2. Khái niệm bỏ phiếu điện tử ........................................................................4
1.1.3. So sánh bỏ phiếu từ xa với bỏ phiếu truyền thống ......................................5
1.1.4. Các thành phần trong hệ thống bỏ phiếu điện tử ........................................6
1.1.5. Các giai đoạn bỏ phiếu điện tử ...................................................................6
1.1.6. Thực trạng bỏ phiếu điện tử ở Việt Nam và trên Thế giới ........................13
1.2. Một số bài toán phát sinh trong giai đoạn kiểm phiếu điện tử..........................14
1.2.1. Phòng tránh thành viên ban kiểm phiếu thông gian: sửa đổi nội dung
lá phiếu .............................................................................................................14
1.2.2. Phòng tránh cử tri bán phiếu bầu cho ứng cử viên....................................15

1.2.3. Giải mã lá phiếu để kiểm phiếu................................................................16
1.3. Vấn đề mã hóa ................................................................................................16
1.3.1. Mã hóa khóa đối xứng (mã hóa khóa riêng) .............................................19
1.3.2. Mã hóa khóa bất đối xứng (mã hóa khóa công khai) ................................20


iv

Chương 2. MỘT SỐ KỸ THUẬT BẢO ĐẢM AN TOÀN THÔNG TIN
ỨNG DỤNG TRONG KIỂM PHIẾU ĐIỆN TỬ ...............................................23
2.1. Kỹ thuật mã khóa trên đường cong Elliptic .....................................................23
2.1.1. Hệ mã hóa Elgamal cổ điển .....................................................................23
2.1.2. Hệ mã hóa trên đường cong Elliptic.........................................................24
2.2. Kỹ thuật chia sẻ bí mật ...................................................................................31
2.2.1. Khái niệm “Chia sẻ bí mật” .....................................................................31
2.2.2. Ví dụ về “Chia sẻ bí mật” ........................................................................32
2.2.3. Sơ đồ “Chia sẻ bí mật” Shamir ................................................................32
2.3. Kỹ thuật chứng minh không tiết lộ thông tin ...................................................36
2.3.1. Khái niệm “Chứng minh không tiết lộ thông tin” và Giao thức  ............36
2.3.2. Chứng minh tính hợp lệ của lá phiếu (x, y) (Giao thức 1) ........................36
2.3.3. Chứng minh quyền sở hữu giá trị bí mật  (Giao thức 2) ........................40
2.3.4. Giai đoạn cử tri chuyển lá phiếu tới ban kiểm phiếu với phương án 2 ......41
Chương 3. ỨNG DỤNG TRONG KIỂM PHIẾU ĐIỆN TỬ .............................43
3.1. Ứng dụng hệ mã hóa trên đường cong Elliptic trong bầu cử điện tử ................43
3.1.1. Các đối tượng của hệ thống bầu cử ..........................................................43
3.1.2. Thiết lập ..................................................................................................43
3.1.3. Bỏ phiếu ..................................................................................................44
3.1.4. Mở phiếu bầu...........................................................................................44
3.2. Ứng dụng sơ đồ chia sẻ bí mật Shamir trong kiểm phiếu điện tử.........................45
3.3. Chương trình thử nghiệm ................................................................................46

3.3.1. Môi trường cài đặt và thử nghiệm ............................................................46
3.3.2. Phát biểu bài toán ....................................................................................47
3.3.3. Thiết kế phần mềm ..................................................................................48
3.3.4. Giao diện chương trình và kết quả thử nghiệm.........................................48
3.3.5. Đánh giá ..................................................................................................56
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI ............................................58
TÀI LIỆU THAM KHẢO ...................................................................................59


v

DANH MỤC CÁC BẢNG
Bảng 3.1: Bảng so sánh về độ dài khóa của EC- Elgamal và Elgamal .......... 57


vi

DANH MỤC CÁC HÌNH
Hình 1.1:

Sơ đồ giai đoạn đăng ký bỏ phiếu ........................................................ 8

Hình 1.2:

Sơ đồ giai đoạn bỏ phiếu ................................................................... 10

Hình 1.3:

Sơ đồ giai đoạn kiểm phiếu ............................................................... 12


Hình 1.4:

Sơ đồ tổng quan quy trình Bỏ phiếu điện tử ....................................... 12

Hình 1.5:

Sơ đồ kỹ thuật mã hóa hai tầng .......................................................... 15

Hình 1.6:

Quy trình tính kết quả bầu cử ............................................................ 16

Hình 1.7:

Sơ đồ mã hóa dữ liệu ......................................................................... 18

Hình 1.8:

Sơ đồ hoạt động của mã hóa khóa đối xứng ....................................... 19

Hình 1.9:

Sơ đồ hoạt động của mã hóa khóa bất đối xứng.................................. 21

Hình 2.1:

Phép cộng trên đường cong Elliptic ................................................... 27

Hình 2.2:


Phép nhân đôi trên đường cong Elliptic ............................................. 27

Hình 2.3:

Sơ đồ giai đoạn cử tri chuyển lá phiếu tới ban kiểm phiếu ................. 37

Hình 3.1:

Sơ đồ chia sẻ ngưỡng A (t,m) trong giai đoạn kiểm phiếu ................. 46

Hình 3.2:

Giao diện chính của chương trình ...................................................... 49

Hình 3.3:

Ban bầu cử đăng nhập vào hệ thống lưu trữ khóa............................... 49

Hình 3.4:

Giao diện chính của hệ thống lưu trữ khóa......................................... 50

Hình 3.5:

Thông báo tạo cơ sở dữ liệu cho ban kiểm phiếu thành công ............. 50

Hình 3.6:

Thông báo tạo dữ liệu cho cử tri thành công ...................................... 51


Hình 3.7:

Bảng danh sách cử tri ........................................................................ 51

Hình 3.8:

Danh sách cử tri sau khi được ban bầu cử tạo cơ sở dữ liệu ............... 51

Hình 3.9:

Cử tri đăng nhập hệ thống.................................................................. 52

Hình 3.10: Giao diện cử tri bỏ phiếu ................................................................... 52
Hình 3.11: Giao diện ban kiểm phiếu đăng nhập hệ thống ................................... 53
Hình 3.12: Giao diện mảnh khóa ......................................................................... 54
Hình 3.13: Kết quả cuộc bầu cử .......................................................................... 55
Hình 3.14: Kết quả cuộc bầu cử trên cơ sở dữ liệu của hệ thống ......................... 55


1

MỞ ĐẦU
1. Lý do lựa chọn đề tài
Khi công nghệ thông tin và các ngành điện tử phát triển như vũ bão thì mọi
hoạt động của xã hội có thể số hóa. Số hóa các công việc không chỉ đảm bảo hiệu
quả công việc mà còn an toàn hơn nhiều so với những hoạt động do con người thực
hiện. Một hoạt động to lớn và quan trọng hàng đầu trong xã hội là bỏ phiếu cũng
được điện tử hóa - chúng ta đang nói tới “bỏ phiếu từ xa” hay “bỏ phiếu điện tử”.
Xã hội dân chủ có nhiều việc cần đến bỏ phiếu: để thăm dò các kế hoạch, để
bầu các chức vụ, chức danh… Nhưng quỹ thời gian của người ta không nhiều, mặt

khác một người có thể làm việc tại 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 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 đề trên chỉ còn là thời gian và kỹ thuật cho phép. Đó là cuộc
bỏ phiếu được thực hiện từ xa trên mạng máy tính qua các phương tiện điện tử như
máy tính cá nhân, điện thoại di động… Như vậy mọi người trong cuộc không thể
nhìn thấy mặt nhau và các lá phiếu (lá phiếu số) được chuyển từ xa trên mạng máy
tính tới hòm phiếu.
Nghiên cứu về bỏ phiếu điện tử là một chủ đề quan trọng đóng góp cho sự tiến
bộ của xã hội dân chủ. Nếu một hệ thống bỏ phiếu điện tử an toàn và tin cậy, nó sẽ
được sử dụng thường xuyên để thu thập ý kiến của mọi người cho nhiều quyết định
về chính trị và xã hội thông qua hệ thống tự động hóa. Bỏ phiếu điện tử cũng phải
đạt được các tính chất như bỏ phiếu truyền thống. Một quy trình bỏ phiếu gồm một
số giai đoạn (công đoạn). Hiện nay có nhiều kỹ thuật mật mã để thực hiện hợp lý
trong từng giai đoạn.
Thực hiện bỏ phiếu điện tử có thể chia thành 3 giai đoạn chính:
+ Đăng kí bỏ phiếu
+ Bỏ phiếu
+ Kiểm phiếu


2

Trong quá trình bầu cử điện tử, xuất hiện rất nhiều vấn đề mất an toàn
thông tin. Người ta đặt ra rất nhiều bài toán để giải quyết vấn đề mất an toàn đó
bằng một số kỹ thuật như: mã hóa, chữ ký số, chia sẻ bí mật Shamir kết hợp mã
hóa Elgamal, chứng minh không tiết lộ thông tin, kỹ thuật trộn,… Mỗi giai đoạn
trong quá trình bầu cử điện tử chỉ dùng một số kỹ thuật để giải quyết các vấn đề
về an toàn thông tin phát sinh.
Với những lý do trên, tác giả đã lựa chọn đề tài: “Nghiên cứu một số kỹ
thuật an toàn thông tin dùng trong kiểm phiếu điện tử” làm đề tài nghiên cứu luận

văn tốt nghiệp thạc sỹ chuyên ngành Khoa học máy tính.
2. Mục đích nghiên cứu
Nghiên cứu tổng quan về bỏ phiếu điện tử và một số kỹ thuật an toàn thông tin.
Tập trung nghiên cứu một số kỹ thuật an toàn thông tin dùng trong giai đoạn
kiểm phiếu điện tử.
Cài đặt thử nghiệm thuật toán mã hóa trên đường cong Elliptic và sơ đồ chia
sẻ bí mật Shamir.
3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: phiếu điện tử.
Phạm vi nghiên cứu: một số kỹ thuật an toàn thông tin trong giai đoạn kiểm
phiếu điện tử.
4. Tóm tắt luận điểm cơ bản
Các luận điểm chính mà luận văn đã thể hiện được:
Nghiên cứu tổng quan và đánh giá các kỹ thuật bảo đảm an toàn thông tin
dùng trong bỏ phiếu điện tử, trong đó tập trung vào các kỹ thuật sử dụng trong giai
đoạn kiểm phiếu.
Tập trung tìm hiểu một số thuật toán trong lĩnh vực an toàn bảo mật thông
tin: mã hóa trên đường cong Elliptic, chữ ký số, sơ đồ chia sẻ bí mật Shamir, chứng
minh không tiết lộ thông tin.
Cài đặt ứng dụng thuật toán mã hóa trên đường cong Elliptic, sơ đồ chia sẻ bí
mật Shamir trong kiểm phiếu điện tử. Đánh giá độ an toàn của hai thuật toán này.


3

5. Phương pháp nghiên cứu
Nghiên cứu lý thuyết và thực nghiệm kiểm chứng.
Lý thuyết:
- Tổng hợp tài liệu về bỏ phiếu điện tử, các hệ mã hóa, chữ ký số, sơ đồ chia
sẻ bí mật, chứng minh không tiết lộ thông tin, …

Thực nghiệm:
- Sau khi nghiên cứu lý thuyết, mô tả các nguy cơ mất an toàn thông tin
trong quá trình kiểm phiếu, đưa ra các giải pháp bảo đảm an ninh thông tin.
- Mô phỏng thực nghiệm chương trình trên phần mềm Microsoft Visual
studio 2012. Đánh giá các kết quả đạt được.
6. Nội dung luận văn
Nội dung luận văn gồm ba chương:
Chương 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ VÀ MỘT SỐ BÀI
TOÁN TRONG KIỂM PHIẾU ĐIỆN TỬ
Chương này trình bày tổng quan về bỏ phiếu điện tử, một số bài toán phát
sinh trong giai đoạn kiểm phiếu điện tử.
Chương 2. MỘT SỐ KỸ THUẬT BẢO ĐẢM AN TOÀN THÔNG TIN
DÙNG TRONG KIỂM PHIẾU ĐIỆN TỬ
Tập trung nghiên cứu một số giải pháp kỹ thuật bảo đảm an toàn thông tin
dùng trong giai đoạn kiểm phiếu như: mã hóa trên đường cong Elliptic, giao thức
chia sẻ bí mật Shamir, chứng minh không tiết lộ thông tin.
Chương 3. ỨNG DỤNG TRONG KIỂM PHIẾU ĐIỆN TỬ
Cài đặt thử nghiệm thuật toán mã hóa trên đường cong Elliptic, giao thức
chia sẻ bí mật Shamir, đánh giá độ an toàn của hai thuật toán này.


4

Chương 1

TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ VÀ MỘT SỐ BÀI TOÁN
TRONG KIỂM PHIẾU ĐIỆN TỬ
1.1. Tổng quan về bỏ phiếu điện tử
1.1.1. Khái niệm bỏ phiếu
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 đảm
bảo 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
đượ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.
Ví dụ: Bỏ phiếu bầu hội đồng nhân dân. Cử tri đi bỏ phiếu phải mang theo
thẻ cử tri đến các địa điểm bỏ phiếu để đăng ký quyền bỏ phiếu rồi ghi lựa chọn ứng
cử viên hội đồng vào lá phiếu và gửi vào hòm phiếu.
1.1.2. Khái niệm bỏ phiếu điện tử
Bỏ phiếu điện tử (hay bỏ phiếu từ xa) được thực hiện từ xa trên mạng máy
tính qua các phương tiện điện tử như máy tính cá nhân, điện thoại di động, ... Như
vậy mọi người trong cuộc không nhìn thấy mặt nhau và các lá phiếu (lá phiếu số)
được chuyển từ xa trên mạng máy tính tới hòm phiếu.
Cũng như bỏ phiếu truyền thống, bỏ phiếu từ xa phải bảo đảm yêu cầu: bí
mật, toàn vẹn và xác thực của lá phiếu. 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 (nhằm loại bỏ khả năng mua bán phiếu bầu), …


5

Yêu cầu bí mật lá phiếu: ngoài cử tri, chỉ có ban kiểm phiếu mới được biết
nội dung lá phiếu, nhưng họ lại không thể biết ai là chủ nhân của nó.
Yêu cầu toàn vẹn lá phiếu: trên đường truyền tin, nội dung lá phiếu không
thể thay đổi, các lá phiếu đều được chuyển tới hòm phiếu an toàn, đúng thời gian,

được kiểm phiếu đầy đủ.
Yêu cầu xác thực lá phiếu: 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ầu cử.
Hiện nay có một số mô hình bỏ phiếu cơ bản là: bỏ phiếu có/ không đồng ý,
bỏ phiếu lựa chọn L trong K, ..
Ví dụ: Năm 2011 Vịnh Hạ Long được trang web New7Wonders của tổ chức
New Open World công bố vịnh Hạ Long của Việt Nam là một trong 7 “kỳ quan thiên
nhiên” mới của Thế Giới. Cuộc bầu chọn 7 kỳ quan thiên nhiên mới được New Open
World phát động qua mạng Internet từ năm 2007. Đây là một hình thức bỏ phiếu từ xa
để lấy ý kiến của cộng đồng thông qua mạng Internet, mạng điện thoại di động, …
1.1.3. So sánh bỏ phiếu từ xa với bỏ phiếu truyền thống
1.1.3.1. Ưu điểm
- Bỏ phiếu từ xa giúp tiết kiệm rất nhiều thời gian, tài nguyên và công sức
cho quá trình bỏ phiếu: từ tiết kiệm thời gian đi lại, giấy bầu cử đến thời gian bỏ
phiếu, kiểm phiếu, …
- Bỏ phiếu từ xa hạn chế đến mức tối thiểu vấn nạn thường thấy trong bầu cử
thông thường: gian lận bầu cử nhờ áp dụng các kỹ thuật an toàn thông tin vào trong
quy trình bầu cử từ xa.
1.1.3.2. Nhược điểm
- Để bầu cử điện tử trở thành hiện thực cần một hệ thống cơ sở hạ tầng sâu
rộng gồm: mạng Internet hoặc phủ sóng điện thoại đến những vùng sâu vùng xa,
biên giới, hải đảo, cơ sở dữ liệu toàn dân, quy trình bầu cử chuẩn, các kỹ thuật trong
bầu cử, các điều kiện để bầu cử… Tất cả đòi hỏi kinh phí và thời gian mà không
phải bất kì quốc gia nào cũng đáp ứng được.


6

1.1.4. Các thành phần trong hệ thống bỏ phiếu điện tử
1.1.4.1. Các thành phần kỹ thuật của hệ thống bỏ phiếu

- Hệ thống máy tính và các phần mềm phục vụ quy trình bỏ phiếu từ xa.
- Người trung thực kiểm soát Server nhằm đảm bảo yêu cầu kết quả bỏ phiếu.
- Một số kỹ thuật bảo đảm an toàn thông tin: chữ ký mù, mã hoá, chia sẻ bí
mật, chứng minh không tiết lộ thông tin, …
1.1.4.2. Các thành viên trong tổ chức bỏ phiếu
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
hay không?
Ban điều hành: 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ý: 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: 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: 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 đăng ký, quá
trình mã hóa và giải mã lá phiếu.
Hệ thống ký: giúp ban đăng ký ký vào các định danh cử tri.
Hệ thống kiểm phiếu: giúp ban kiểm phiếu tính kết quả cuộc bầu cử.
Bảng niêm yết công khai: 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.1.5. Các giai đoạn bỏ phiếu điện tử
Thực hiện bỏ phiếu điện tử có thể chia thành ba giai đoạn chính: đăng ký bỏ
phiếu, bỏ phiếu, kiểm phiếu.


7


1.1.5.1. Giai đoạn đăng ký bỏ phiếu
a. Công việc
* Cử tri:
- Chọn bí mật định danh x, cần có chứng minh thư điện tử, thông tin nhận
dạng, rồi làm mù x thành bí danh y = blind (x).
- Cử tri gửi tới ban đăng ký thông tin nhận dạng của bản thân, chứng minh
thư điện tử, bí danh y.
* Ban đăng ký:
- Kiểm tra chứng minh thư nhân dân, bí danh y của cử tri.
- Nếu hồ sơ của cử tri hợp lệ, khớp với danh sách cử tri của ban điều hành,
cử tri chưa xin cấp chữ ký lần nào thì ban đăng ký sẽ ra lệnh cho hệ thống ký lên y.
Đó là chữ ký z = sign (y)
- Ban đăng ký ghi lại số chứng minh thư nhân dân, bí danh y và chữ ký z vào
sổ đăng ký (để tránh việc cử tri bỏ phiếu nhiều lần).
- Ban đăng ký gửi trả chữ ký z về cho cử tri.
* Cử tri:
- Khi nhận được chữ ký z, cử tri xóa mù trên z sẽ nhận được chữ ký sign(x)
trên định danh thật x. Như vậy lá phiếu có chữ ký sign(x) được xem như đã có chữ
ký của ban đăng ký  đó là lá phiếu hợp lệ để cử tri ghi ý kiến của mình.
- Cử tri có thể kiểm tra chữ ký của ban đăng ký trên định danh của mình có
hợp lệ hay không bằng cách dùng khóa công khai của ban đăng ký.
Chú ý: Khóa ký trên định danh của cử tri được chia sẻ thành từng mảnh
cho mỗi thành viên ban đăng ký. Khi cần ký lên lá phiếu của cử tri, các thành viên
ban đăng ký phải đồng hợp ghép mảnh mới nhận được khóa ký. Nhờ vậy tránh
được sự ký tùy tiện.
b. Kỹ thuật sử dụng
* Chia sẻ bí mật
Hệ thống phân phối khóa tin cậy đã chia sẻ khóa ký cho mọi thành viên của ban
đăng ký trước đó. Sau khi xét duyệt hồ sơ xin chữ ký của cử tri, nếu mọi thành viên của

ban đăng ký nhất trí thì họ sẽ khớp các mảnh khóa riêng để nhận được khóa ký.


8

Mục đích: Từng thành viên của ban đăng ký không thể tùy tiện cấp chữ ký.
* Chữ ký mù
Ban đăng ký sử dụng chữ ký để ký trên bí danh y của cử tri.
Mục Đích: cấp quyền bỏ phiếu cho cử tri nhưng vẫn bảo đảm tính ẩn danh
của cử tri.
Ví dụ: Dùng sơ đồ ký RSA với cặp khóa ký (a,b)
Cử tri che dấu số định danh x bằng bí danh y
Y= Blind(x)=x*rb (mod n)
(Trong đó r được chọn sao cho tồn tại phần tử nghịch đảo r-1 (mod n))
Cử tri gửi bí danh y cho ban kiểm phiếu
Ban kiểm phiếu ký lên bí danh y được chữ ký z
Z=E(y)=E(Blind(x))= E(x*rb)=(x*rb)a=xa*(rb)a=xa*r
Ban kiểm phiếu gửi chữ ký z cho cử tri
Cử tri “xóa mù” trên z sẽ nhận được chữ ký trên số định danh thật x:
Ublind(z)=Unblind(E(blind(x))=Unblind(xa*r)=(xa*r)*r-1=xa (mod n)

Chọn bí mật
bí danh X
X đã bị làm mù: Số CMTND, hộ khẩu…
Cử tri


Ban
đăng ký
Chữ ký trên X đã bị làm “mù”


Xóa mù để thu
được chữ ký trên X

Kiểm tra các giấy tờ của cử tri
(Nếu hợp lệ thì ký trên X đã làm
mù do cử tri gửi về ghi lại số
CMTND của cử tri để tránh việc
cử tri đăng ký hai lần

Hình 1.1. Sơ đồ giai đoạn đăng ký bỏ phiếu


9

1.1.5.2. Giai đoạn bỏ phiếu
a. Công việc
- Sau khi lá phiếu có chữ ký của ban đăng ký, cử tri ghi lựa chọn của mình
vào lá phiếu.
- Cử tri mã hóa lá phiếu bằng khóa công khai của ban kiểm phiếu.
- Cử tri gửi lá phiếu tới ban kiểm tra đã mã hóa, định danh thật x (không bị
làm mù) của họ.
- Chữ ký của ban đăng ký trên lá phiếu. “Chứng minh không tiết lộ thông
tin” về lá phiếu.
Chú ý: Lá phiếu không được chuyển thẳng tới hòm phiếu mà trước đó phải
qua ban kiểm tra.
Tại đây họ kiểm tra chữ ký cấp quyền bỏ phiếu có bị giả mạo hay không, họ
xác minh tính hợp lệ của lá phiếu.
b. Kỹ thuật sử dụng
* Kỹ thuật “mã hóa đồng cấu” (Homomorphism Cryptography)

- Mã hóa đồng cấu có tính chất đặc biệt: gộp các bản mã lại với nhau (, )
cho ta bản mã có nội dung là tổng các bản rõ tương ứng. Điều này rất thích hợp cho
loại bỏ phiếu điện tử khi mà các “bản tin” được mã hóa thành 0 hay 1.
Ví dụ: ta có thể hình dung một cuộc bỏ phiếu cho ứng cử viên
sau: mỗi lá phiếu cho



và cho



phiếu lại rồi giải mã sẽ cho ta tổng số phiếu bầu cho



như

. Lấy gộp của tất cả các lá
và từ đó cũng tính được số

phiếu bầu cho .
Mục đích: Ban kiểm phiếu không cần giải mã từng lá phiếu vẫn có thể kiểm
phiếu được.
* Kỹ thuật “Chứng minh không tiết lộ thông tin” (Zero Knowledge Proof)
Mục đích: ở giai đoạn sau, ban kiểm tra có cơ sở để xác minh tính hợp lệ của
lá phiếu (vì lá phiếu được mã hóa nên không thể biết lá phiếu có hợp lệ hay không).


10


Chọn ý kiến cho
lá phiếu của mình
Lá phiếu đã mã hóa bằng khóa công khai
của ban kiểm phiếu
“Chứng minh không tiết lộ Chữ ký của ban
đăng ký thông tin”

Cử tri


Ban kiểm tra



Kiểm tra chữ ký (liên hệ với ban đăng ký)
Thực hiện các giao thức tương tác với cử tri để
kiểm tra tính hợp lệ của lá phiếu
Mã hóa lại lá phiếu, gửi về ban kiểm phiếu
Hình 1.2. Sơ đồ giai đoạn bỏ phiếu
1.1.5.3. Giai đoạn kiểm phiếu
a. Công việc
* Kiểm tra lá phiếu
- Kiểm tra chữ ký cấp quyền bỏ phiếu trên lá phiếu (liên hệ với ban đăng ký).
- Kiểm tra tính hợp lệ của lá phiếu (tương tác với cử tri).
- Mã hóa lại các lá phiếu và gửi về hòm phiếu.
Khi lá phiếu (đã mã hóa) gửi tới ban kiểm tra thì cử tri phải gửi kèm theo
định danh thật sự x (không bị làm mù). Như vậy ban kiểm tra biết được chữ ký
thật sign(x) của ban đăng ký trên lá phiếu và định danh thật của cử tri. Nhưng
không biết danh tính thật của cử tri (họ tên, số CMT, …) ban đăng ký biết các

thông tin này, nhưng lại không biết định danh thật x của cử tri (vì nó đã bị làm mù
trước khi họ gửi tới họ).


11

Ban kiểm tra thực hiện giao thức tương tác với cử tri để kiểm tra tính hợp lệ
của lá phiếu.
Sau khi xác minh tính hợp lệ của lá phiếu, ban kiểm tra gửi nó về hòm phiếu.
Ban kiểm tra đứng trung gian giữa cử tri và ban kiểm phiếu để ngăn chặn
một số tình huống thiếu an toàn hay vi phạm luật bỏ phiếu, ví dụ trường hợp mua
bán phiếu bầu cử. (Phương pháp truyền thống không cần giai đoạn này).
* Kiểm phiếu
- Các phiếu sẽ được “trộn” nhờ kỹ thuật “trộn” trước khi chúng được chuyển
về ban kiểm phiếu, nhằm giữ bí mật định danh cho các cử tri.
- Ban kiểm phiếu tính kết quả dựa vào các lá phiếu (đã được mã hóa) gửi về.
Chú ý: Theo phương pháp mã hóa đồng cấu, ban kiểm phiếu không cần giải
mã từng lá phiếu vẫn có thể kiểm phiếu được.
Khi kiểm phiếu, các thành viên ban kiểm phiếu dùng các mảnh khóa riêng
của mình để khôi phục khóa bí mật (khóa này đã bị chia sẻ qua một sơ đồ chia sẻ bí
mật). Ban kiểm phiếu dùng khóa bí mật này để tính kết quả bầu cử.
- Ban kiểm phiếu thông báo kết quả lên bảng niêm yết công khai.
b. Kỹ Thuật
* Ký số (Digital Signature)
Mục đích: kiểm tra chữ ký cấp quyền bỏ phiếu trên lá phiếu.
* Chứng minh không tiết lộ thông tin (Zero_knowledge proof)
Mục đích: Kiểm tra tính hợp lệ của lá phiếu
* Mã hóa (Cryptography)
Mục đích: mã hóa lại lá phiếu, gửi về hòm phiếu
* Trộn (Mixing)

Ban kiểm phiếu gồm m thành viên, để họ không thể biết được lá phiếu nào là
của ai, người ta xây dựng hệ thống mã hóa m tầng và phải giải mã m lần mới biết
được nội dung của lá phiếu.
* Chia sẻ bí mật
Mục đích: Tránh liên kết giữa ứng viên với ban kiểm phiếu.


12

Hòm phiếu

Trộn các lá phiếu

Ban kiểm
phiếu 

Khôi phục khóa bí mật
Tính kết quả bầu cử
Công bố kết quả lên bảng niêm yết
công khai

Hình 1.3: Sơ đồ giai đoạn kiểm phiếu

Hình 1.4: Sơ đồ tổng quan quy trình Bỏ phiếu điện tử


13

1.1.6. Thực trạng bỏ phiếu điện tử ở Việt Nam và trên Thế giới
1.1.6.1. Việt Nam

Hiện nay bỏ phiếu điện tử ở nước ta mới chỉ dừng ở mục đích bầu chọn,
bình chọn (bình chọn bài hát hay trên sóng truyền hình, lấy ý kiến về một vấn đề
kinh tế hoặc xã hội, bầu chọn Vịnh Hạ Long là di sản thiên nhiên Thế giới, …)
song chưa thể triển khai vào bầu cử Quốc hội do còn nhiều vấn đề (ngân sách,
giáo dục ý thức cho người dân, quá trình phổ biế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, phong tục tập quán, ….
1.1.6.2. Thế giới
Khái niệm bỏ phiếu điện tử (E-voting) không còn quá 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, Ấn Độ đó là 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. Câu hỏi đặt ra là liệu có khả năng ai đó can thiệp vào những chiếc máy bầu
cử hay chương trình bầu cử trên Internet để làm thay đổi kết quả hay không?
Cần và đủ
Đề cập đến khả năng thực hiện bầu cử điện tử, ở một khía cạnh nào đó cần đáp
ứng hai điều kiện. Thứ nhất, điều kiện cần là phải xây dựng một hệ thống cơ sở dữ liệu
cho tất cả người dân. Một người dân cần phải có một con số nhận diện duy nhất, chẳng
hạn như số giấy chứng minh nhân dân, để nhà nước có thể kiểm tra được số cử tri đi
bầu cử. Hệ cơ sở dữ liệu này có thế ví như một cổng giao dịch điện tử an toàn.
Điều này giúp cho cơ quan tiến hành việc bầu cử rà soát tính hợp pháp của
cử tri, trong trường hợp có một số người bị tước quyền bầu cử. Ngoài ra, hệ cơ sở
dữ liệu này sẽ là tiền đề cho tất cả các hoạt động khác của một quốc gia, chẳng hạn
như chính phủ điện tử (E-Government), quốc hội điện tử (E-Parliament), chính trị


14


điện tử (E-Politics)… Thứ hai, điều kiện đủ là chính phủ phải định nghĩa được rõ
ràng các quy trình trong bầu cử để có thể tin học hóa những quá trình đó. Không chỉ
riêng trong bầu cử, các công ty quản lý hành chính khác cũng cần phải minh bạch
trong quá trình thì mới có thể tiến hành tin học hóa - bước đầu tiên của điện tử hóa
công tác quản lý. Riêng trong bầu cử điện tử, các quy trình đó có thể là phân công
cho ai nắm giữ và chịu trách nhiệm về kết quả bầu cử phân chia cấp độ bầu cử giữa
các cấp quận, huyện, hội đồng nhân dân và đại biểu quốc hội.

1.2. Một số bài toán phát sinh trong giai đoạn kiểm phiếu điện tử
1.2.1. Phòng tránh thành viên ban kiểm phiếu thông gian: sửa đổi nội dung lá phiếu
Việc kiểm phiếu chỉ cần thực hiện bằng cách giải mã từng lá phiếu của cử tri.
Tính bí mật và kiểm soát được kết quả đều được đảm bảo nếu các thành viên của
ban kiểm phiếu tuân thủ các quy tắc bầu cử và kiểm phiếu.
Bất chấp các quy định, một vài thành viên của ban kiểm phiếu dùng khóa bí
mật của mình cố tình giải mã từng lá phiếu nhằm mục đích: phá vỡ tính bí mật của
lá phiếu, báo nội dung bầu cử của cử tri cho ứng cử viên, hoặc thay đổi sự lựa chọn
của cử tri bằng cách sửa đổi lá phiếu để có lợi cho một ứng cử viên nào đó.
Để bảo vệ nội dung lá phiếu tránh bị sửa đổi nội dung thì có thể dùng một số
phương pháp sau:
Phương pháp 1: Chia sẻ khóa giải mã lá phiếu, mỗi thành viên trong ban
kiểm phiếu giữ một mảnh khóa.
Phương pháp 2: Cử tri mã hóa lá phiếu nhiều lần với khóa công khai của
từng thành viên ban kiểm phiếu. (Mỗi lần giải mã, có thể trộn các lá phiếu)
Phương pháp 3: Chia sẻ lá phiếu thành nhiều mảnh, mỗi người kiểm phiếu
giữ một mảnh.
Kỹ thuật áp dụng để giải quyết tình huống này: sử dụng sơ đồ chia sẻ bí mật,
cụ thể như sau:
Ban kiểm phiếu thiết lập một cặp tham số khóa công khai/ khóa bí mật trong
đó khóa công khai được cung cấp cho cử tri để mã hóa lá phiếu của mình, còn khóa

bí mật được sử dụng để giải mã lá phiếu. Để chống lại việc một hay một số thành
viên ban kiểm phiếu thông đồng với nhau sử dụng khóa bí mật để cố tình giải mã


15

các lá phiếu, khóa bí mật được chia thành t mảnh chia cho t người trong ban kiểm
phiếu giữ (việc chia mảnh phải đảm bảo sao cho dù có t-1 thành viên hợp lại cũng
không biết được khóa bí mật). Quá trình giải mã lá phiếu chỉ được thiết lập khi cả t
thành viên đang giữ mảnh khóa cùng hợp lại với nhau.
1.2.2. Phòng tránh cử tri bán phiếu bầu cho ứng cử viên
Sau khi được cấp quyền bỏ phiếu, cử tri ghi lựa chọn của mình vào lá phiếu,
mã hóa nó và gửi về hòm phiếu. Để đảm bảo tính công khai minh bạch, ban kiểm
phiếu công khai danh sách cử tri và công khai việc kiểm phiếu. Cử tri hoàn toàn có
thể kiểm tra lá phiếu của mình có đến được trung tâm hòm phiếu hay không?
Khi đó sẽ nảy sinh tình huống: để đảm bảo tính minh bạch, lá phiếu phải
được công khai trên bảng niêm yết. Như thế cử tri có thể nhận ra lá phiếu của họ
(được mã hóa) để bán phiếu bầu. Ứng cử viên nhìn thấy lá phiếu của cử tri bầu cho
mình nên phải “cảm ơn” cử tri.
Để giải quyết tình huống cử tri bán phiếu bầu cho ứng cử viên có thể dùng
phương pháp: lập ban kiểm tra, mã hóa lá phiếu hai tầng.

Hình 1.5 : Sơ đồ kỹ thuật mã hóa hai tầng
Việc kiểm tra chữ ký cấp quyền bỏ phiếu và tính hợp lệ của lá phiếu bầu sẽ
do “người trung thực” thực hiện và làm trung gian giữa cử tri và ban kiểm phiếu.
Lá phiếu của cử tri sau khi được mã hóa sẽ được gửi tới ban kiểm tra (người
trung thực) cùng với định danh thật X, chữ ký Z. Ban kiểm tra sẽ kiểm tra tính hợp
lệ của lá phiếu bầu, nếu không hợp lệ thì loại bỏ, nếu hợp lệ thì mã hóa (lần hai) rồi
gửi về hòm phiếu.



16

Khi ban kiểm phiếu công khai danh sách cử tri và kết quả kiểm phiếu trên
bảng niêm yết công khai, vì lá phiếu đã bị mã hóa lần hai nên cử tri không thể nhận
ra lá phiếu của họ để bán phiếu bầu.
1.2.3. Giải mã lá phiếu để kiểm phiếu
Khi cuộc bầu cử kết thúc, ban kiểm phiếu bắt đầu giải mã các lá phiếu và
thống kê phiếu bầu.
Tính tổng và công bố kết quả thăm dò: Ban bầu cử thống kê kết quả bầu cử
và công bố cho cử tri.

Hình 1.6: Quy trình tính kết quả bầu cử
Tình huống nảy sinh: có thể có một người hay một nhóm người của ban
kiểm phiếu muốn biết nội dung cũng như tác giả của lá phiếu, điều đó có thể dẫn
đến rắc rối cho cử tri sau này.
Để tránh tình huống trên người ta dùng kỹ thuật “giải mã lá phiếu hai lần”.
Lần 1: Bản mã của người xác minh trung thực
Lần 2: Bản mã của cử tri mã hóa là phiếu.
Việc giải mã sẽ được thực hiện theo thứ tự ngược lại với việc mã hóa.

1.3. Vấn đề mã hóa
Để đảm bảo an toàn thông tin lưu trữ trong máy tính (giữ gìn thông tin cố
định) hay đảm bảo an toàn thông tin trên đường truyền tin (trên mạng máy tính),
người ta phải “che giấu” các thông tin này.


17

“Che” thông tin (dữ liệu) hay “mã hóa” thông tin là thay đổi hình dạng thông

tin gốc và người khác “khó” nhận ra.
“Giấu” thông tin (dữ liệu) là cất giấu thông tin trong bản tin khác và người
khác cũng “khó” nhận ra.
Mã hoá là phần rất quan trọng trong vấn đề bảo mật. Mã hoá ngoài nhiệm
vụ chính là làm cho tài liệu an toàn hơn, nó còn có một lợi ích quan trọng là:
thay vì truyền đi tài liệu thô (không được mã hoá) trên một đường truyền đặc
biệt, được canh phòng cẩn mật không cho người nào có thể “xâm nhập” vào lấy
dữ liệu, người ta có thể truyền một tài liệu đã được mã hoá trên bất cứ đường
truyền nào mà không lo dữ liệu bị đánh cắp vì nếu dữ liệu có bị đánh cắp đi nữa
thì dữ liệu đó cũng không dùng được.
Một số khái niệm liên quan:
Thuật toán mã hoá/ giải mã: là thuật toán dùng để chuyển thông tin thành
dữ liệu mã hoá hoặc ngược lại.
Khoá: là thông tin mà thuật toán mã hóa/ giải mã sử dụng để mã hóa/ giải
mã thông tin. Mỗi khi một thông tin đã được mã hoá thì chỉ có những người có
khoá thích hợp mới có thể giải mã. Nếu không thì dù dùng cùng một thuật toán
giải mã nhưng cũng không thể phục hồi lại thông tin ban đầu. Đây là đặc điểm
quan trọng của khoá: mã hoá chỉ phụ thuộc vào khoá mà không phụ thuộc vào
thuật toán mã hóa/ giải mã. Điều này giúp cho một thuật toán mã hóa/ giải mã có
thể được sử dụng rộng rãi.
Hệ mã hóa: việc mã hóa phải theo quy tắc nhất định, quy tắc đó gọi là hệ mã
hóa. Hệ mã hóa được định nghĩa là bộ năm  P, C , K , E , D  , trong đó:
P là tập hữu hạn các bản rõ có thể
C là tập hữu hạn các bản mã có thể

K là tập hữu hạn các khóa
E là tập các hàm lập mã
D là tập các hàm giải mã



×