ĐẠ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
Số hóa bởi Trung tâm Học liệu - ĐHTN
http://www.lrc-tnu.edu.vn/
ĐẠ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
Đặ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
Số hóa bởi Trung tâm Học liệu - ĐHTN
http://www.lrc-tnu.edu.vn/
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 ........................................................................................ vii
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
2.1.2. Hệ mã hóa trên đƣờng cong Elliptic .......................................................... 25
2.2. Kỹ thuật chia sẻ bí mật ...................................................................................... 33
2.2.1. Khái niệm “Chia sẻ bí mật” ....................................................................... 33
2.2.2. Ví dụ về “Chia sẻ bí mật” .......................................................................... 33
2.2.3. Sơ đồ “Chia sẻ bí mật” Shamir .................................................................. 34
2.3. Kỹ thuật chứng minh không tiết lộ thông tin .................................................... 37
2.3.1. Khái niệm “Chứng minh không tiết lộ thông tin” và Giao thức
............ 37
2.3.2. Chứng minh tính hợp lệ của lá phiếu (x, y) (Giao thức 1) ........................ 38
2.3.3. Chứng minh quyền sở hữu giá trị bí mật
(Giao thức 2) ........................ 41
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 ..... 43
Chƣơng 3. ỨNG DỤNG TRONG KIỂM PHIẾU ĐIỆN TỬ ............................. 45
3.1. Ứng dụng hệ mã hóa trên đƣờng cong Elliptic trong bầu cử điện tử................ 45
3.1.1. Các đối tƣợng của hệ thống bầu cử ........................................................... 45
3.1.2. Thiết lập ..................................................................................................... 45
3.1.3. Bỏ phiếu ..................................................................................................... 46
3.1.4. Mở phiếu bầu ............................................................................................. 46
3.2. Ứng dụng sơ đồ chia sẻ bí mật Shamir trong kiểm phiếu điện tử ......................... 47
3.3. Chƣơng trình thử nghiệm .................................................................................. 49
3.3.1. Môi trƣờng cài đặt và thử nghiệm ............................................................. 49
3.3.2. Phát biểu bài toán ....................................................................................... 49
3.3.3. Thiết kế phần mềm .................................................................................... 50
3.3.4. Giao diện chƣơng trình và kết quả thử nghiệm ......................................... 51
3.3.5. Đánh giá ..................................................................................................... 59
Số hóa bởi Trung tâm Học liệu - ĐHTN
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ử ........................................ 13
Hình 1.5:
Sơ đồ kỹ thuật mã hóa hai tầng ............................................................ 16
Hình 1.6:
Quy trình tính kết quả bầu cử ............................................................... 17
Hình 1.7:
Sơ đồ mã hóa dữ liệu ............................................................................ 19
Hình 1.8:
Sơ đồ hoạt động của mã hóa khóa đối xứng ......................................... 21
Hình 1.9:
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 .............. 53
Hình 3.6:
Thông báo tạo dữ liệu cho cử tri thành công ........................................ 54
Hình 3.7:
Bảng danh sách cử tri ........................................................................... 54
Hình 3.8:
Danh sách cử tri sau khi đƣợc ban bầu cử tạo cơ sở dữ liệu ................ 54
Hình 3.9:
Cử tri đăng nhập hệ thống .................................................................... 55
Hình 3.10: Giao diện cử tri bỏ phiếu ...................................................................... 56
Hình 3.11: Giao diện ban kiểm phiếu đăng nhập hệ thống .................................... 57
Hình 3.12: Giao diện mảnh khóa ............................................................................ 57
Hình 3.13: Kết quả cuộc bầu cử ............................................................................. 58
Hình 3.14: Kết quả cuộc bầu cử trên cơ sở dữ liệu của hệ thống ........................... 59
Số hóa bởi Trung tâm Học liệu - ĐHTN
http://www.lrc-tnu.edu.vn/
đạ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
Số hóa bởi Trung tâm Học liệu - ĐHTN
http://www.lrc-tnu.edu.vn/
2
+ Kiểm phiếu
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
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.
Số hóa bởi Trung tâm Học liệu - ĐHTN
http://www.lrc-tnu.edu.vn/
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
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,
Số hóa bởi Trung tâm Học liệu - ĐHTN
http://www.lrc-tnu.edu.vn/
6
http://www.lrc-tnu.edu.vn/
7
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.
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ó
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ù”
Số hóa bởi Trung tâm Học liệu - ĐHTN
Xóa mù để thu
đƣợc chữ ký trên X
http://www.lrc-tnu.edu.vn/
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
9
Hình 1.1. Sơ đồ giai đoạn đăng ký bỏ phiếu
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
là
phiếu lại rồi giải mã sẽ cho ta tổng số phiếu bầu cho
phiếu bầu cho
và
nhƣ
. Lấy gộp của tất cả các lá
và từ đó cũng tính đƣợc số
.
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).
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
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ý số (Digital Signature)
Số hóa bởi Trung tâm Học liệu - ĐHTN
http://www.lrc-tnu.edu.vn/
12
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à
14
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
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
Số hóa bởi Trung tâm Học liệu - ĐHTN
http://www.lrc-tnu.edu.vn/