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ử. 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. Ứ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.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. Tổng quan về bỏ phiếu điện tử 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. 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 Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.vn/ 5 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), … 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.
So sánh bỏ phiếu từ xa với bỏ phiếu truyền thống 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. 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.vn/ 6 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. Các thành phần trong hệ thống bỏ phiếu điện tử 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. 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ử. Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.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ử. 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.
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ú ý: Số hóa bởi Trung tâm Học liệu - ĐHTN http://www. 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ý. 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ù” Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.vn/ Kiểm tra các giấy tờ của cử tri Xóa mù để thu (Nếu hợp lệ thì ký trên X đã làm đƣợc chữ ký trên X mù do cử tri gửi về ghi lại số CMTND của cử tri để tránh việc 9 Hình 1. Sơ đồ giai đoạn đăng ký bỏ phiếu 1. 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ọ.