ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
BÁO CÁO TỔNG KẾT KẾT QUẢ
ĐỀ TÀI KHCN CẤP TRƯỜNG
Tên đề tài
BẢO VỆ TÍNH RIÊNG TƯTRONG
BẦU CỬ ĐIỆN TỬ
Mã số đề tài:
T-KHMT-2012-22
Thời gian thực hiện:
01/02/2012 – 01/02/2013
Chủ nhiệm đề tài:
Nguyễn Thị Ái Thảo
Đồng chủ nhiệm đề tài: PGS.TS. Đặng Trần Khánh
Thành phố Hồ Chí Minh – Tháng 01/2013
Danh sách các cán bộ tham gia thực hiện đề tài
1. PGS. TS. Đặng Trần Khánh
Bộ môn Hệ Thống Thông Tin – Khoa Khoa Học & Kỹ Thuật Máy Tính.
2. KS. Nguyễn Thị Ái Thảo
Bộ môn Hệ Thống Thông Tin – Khoa Khoa Học & Kỹ Thuật Máy Tính.
Trang ii
Bảo vệ tính riêng tư trong bầu cử điện tử
MỤC LỤC
MỤC LỤC ............................................................................................................................. 3
1.
Nội dung đăng ký ............................................................................................................ 4
2.
Kết quả thực hiện ............................................................................................................ 4
2.1.
Tìm hiểu tổng quan về chính phủ điện tử và bầu cử điện tử ..................................... 4
2.1.1.
Chính phủ điện tử .............................................................................................. 4
2.1.2.
Tìm hiểu quy trình bầu cử truyền thống ............................................................. 5
2.1.3.
Phân loại các hệ thống bầu cử điện tử ................................................................ 6
2.1.4.
Các tiêu chí đánh giá một hệ thống bầu cử điện tử ............................................. 6
2.2.
Bảo vệ tính riêng tư trong bầu cử điện tử: ............................................................... 7
2.2.1.
Tìm hiểu các loại kĩ thuật bảo vệ tính riêng tư ................................................... 7
2.2.2.
Tìm hiểu các giao thức ứng với từng kĩ thuật:.................................................... 9
2.2.3.
So sánh các giao thức với nhau:........................................................................11
2.3.
Đề xuất giải pháp để bảo vệ tính riêng tư trong bầu cử điện tử ...............................12
2.3.1.
Đề xuất giao thức mới bảo vệ tính riêng tư .......................................................12
2.3.2.
So sánh và đánh giá giao thức ..........................................................................14
2.4.
Viết bài báo khoa học cho hội nghị/tạp chí chuyên ngành.......................................17
3.
Kết quả mới ...................................................................................................................18
4.
Đề xuất ứng dụng ...........................................................................................................19
5.
Báo cáo kinh phí ............................................................................................................20
6.
Báo cáo quyết toán .........................................................................................................21
7.
Danh mục tài liệu tham khảo ..........................................................................................21
8.
Kết luận và kiến nghị......................................................................................................24
PHỤ LỤC .............................................................................................................................26
Trang 3
Bảo vệ tính riêng tư trong bầu cử điện tử
1. Nội dung đăng ký
Phần này liệt kê những nội dung đã được đăng ký trong thuyết minh đề tài.
a.
Tìm hiểu tổng quan về chính phủ điện tử và bầu cử điện tử:
Những khái niệm xung quanh chính phủ điện tử
Lợi ích chính phủ điện tử mang lại.
Thách thức và rào cản của chính phủ điện tử
Những dịch vụ và yêu cầu của dịch vụ điện tử của chính phủ.
Tìm hiểu quy trình bầu cử truyền thống.
Phân loại các hệ thống bầu cử điện tử.
Các mô hình bầu cử điện tử.
Các tiêu chí đánh giá một hệ thống bầu cử điện tử.
b.
Bảo vệ tính riêng tư trong bầu cử điện tử:
Tìm hiểu các loại kĩ thuật bảo vệ tính riêng tư.
Tìm hiểu các giao thức ứng với từng kĩ thuật.
So sánh các giao thức với nhau.
c.
Đề xuất giải pháp để bảo vệ tính riêng tư trong bầu cử điện tử:
Đề xuất giao thức mới bảo vệ tính riêng tư.
So sánh sự hiệu quả của giao thức mới với các giao thức trước đó.
Đánh giá giao thức.
d.
e.
Viết bài báo khoa học cho hội nghị/tạp chí chuyên ngành.
Viết báo cáo tổng hợp và nghiệm thu đề tài.
Viết báo cáo tổng hợp.
Nghiệm thu đề tài.
2. Kết quả thực hiện
2.1. Tìm hiểu tổng quan về chính phủ điện tử và bầu cử điện tử
2.1.1. Chính phủ điện tử
Chính phủ điện tử là cụm từ để chỉ đến việc áp dụng công nghệ thông tin – liên lạc trong
quản lý cộng đồng nhằm đơn giản hóa việc truy cập thông tin và thực hiện các thủ tục của
chính phủ.Khi chính phủ điện tử được đưa vào thực tế, những rào cản vật lý của các hệ thống
giấy tờ truyền thống sẽ bị loại bỏ. Những chủ thể thường xuyên bị phiền toái bởi các thủ tục
quản lý rắc rối như công dân, doanh nghiệp, nhân viên,… sẽ tiết kiệm được rất nhiều thời gian
sức người và sức của nhưng vẫn có thể dễ dàng tiếp cận được những thông tin chính sách mới
Trang 4
Bảo vệ tính riêng tư trong bầu cử điện tử
của chính phủ, cũng như có thể thực hiện các thủ tục liên quan đơn giản và nhanh chóng hơn
nhiều.
Tuy nhiên lợi ích luôn đi kèm với thử thách. Thử thách và rào cản đặt ra cho việc thực hiện
chính phủ điện tử được chia thành bốn khía cạnh: chính trị, văn hóa, pháp luật và kĩ thuật:
Chính trị: xây dựng các chính sách tuyên truyền thông tin, vấn đề bảo vệ thông tin mật
của quốc gia, cung cấp dịch vụ của chính phủ, chuẩn hóa các quy trình, vấn đề về nhận
diện và xác thực, …
Văn hóa: người dân không quen với việc sử dụng các công nghệ mới và cả các thiết bị
hiện đại, tính an toàn của dữ liệu riêng tư của người dân
Pháp luật: các vấn đề về tội phạm an ninh mạng, ngành luật về cộng nghệ thông tin vẫn
còn nhiều lỗ hổng,…
Kĩ thuật: cơ sở hạ tầng vẫn chưa đáp ứng được nhu cầu của hệ thống chính phủ điện tử
hiện đại, cơ chế bảo mật bảo vệ người dùng, dữ liệu trên hệ thống cần chính xác và
thống nhất, cơ chế thanh toán an toàn,…
Nhìn ở khía cạnh nào, vấn đề về bảo mật cũng được quan tâm.Đó chính là động lực để
chúng tôi thực hiện đề tài này.
2.1.2. Tìm hiểu quy trình bầu cử truyền thống
Hình 1: Bốn giai đoạn bầu cử chính.
Bất kì quy trình bầu cử nào cũng gồm bốn giai đoạn sau:
Đăng kí: Trước khi bầu cử, cử tri phải chứng minh danh tính và sự hợp lệ của mình,
quá trình này tương tự như việc người dân sẽ phải đăng kí để có quyền cử tri. Ngay sau
đó, quá trình bầu cử của cử tri đó sẽ bắt đầu.
Trang 5
Bảo vệ tính riêng tư trong bầu cử điện tử
Chứng thực: Trong suốt quá trình bầu cử, cử tri sẽ phải xác thực mình chính là người
mà mình đã khai báo với hệ thống bầu cử trước khi tiến hành bỏ phiếu.
Bỏ phiếu: Cử tri lựa chọn ứng viên mà mình tin tưởng và bỏ phiếu cho ứng viên đó.
Kiểm phiếu: Cuối giai đoạn bầu cử, tất cả những lá phiếu sẽ được thống kê lại.
Tùy theo hoàn cảnh của từng chính phủ, từng quốc gia mà có thể áp dụng các quy trình
điện tử thay thế cho quy trình truyền thống ở một số giai đoạn, không nhất thiết là phải thay
thế hết tất cả bốn giai đoạn.
2.1.3. Phân loại các hệ thống bầu cử điện tử
Theo [2], quy trình bầu cử từ xưa đến nay được chia ra làm hai loại chính:
Bầu cử truyền thống (hay còn gọi là bầu cử giấy)
Bầu cử điện tử. Có hai cách tiếp cận:
- Bầu cử tại điểm bầu cử tập trung,cử tri chứng thực tại điểm bầu cử, dữ liệu đồng bộ
qua internet
- Bầu cử qua internet,cử tri chứng thực bằng tài khoản được cấp sẵn .
Hình 2: Phân loại hệ thống bầu cử điện tử.
2.1.4. Các tiêu chí đánh giá một hệ thống bầu cử điện tử
Mục đích cuối cùng của các hệ thống bầu cử điện tử là đưa quy trình bầu cử lên internet và
thỏa mãn tối đa các tính chất đặc trưng của hệ thống bầu cử và tối thiểu các nhược điểm, cũng
như các giới hạn của bầu cử truyền thống. Dưới đây là một số định nghĩa về các tính chất bảo
mật của hệ thống bầu cử điện tử[2][4].
Tính riêng tư (Privacy): không ai có thể kết luận chắc chắn được nội dung thực của lá
phiếu được bầu ngoại trừ cử tri đã bầu nó.
Tính hợp lệ (Eligibility): chỉ có cử tri hợp lệ và đủ quyền mới có thêm tham gia vào
quá trình bầu cử.
Trang 6
Bảo vệ tính riêng tư trong bầu cử điện tử
Tính duy nhất (Uniqueness): Nếu một hệ thống bầu cử đạt được tính duy nhất thì sẽ
không xảy ra trường hợp một cử tri bầu nhiều lá phiều.
Tính chống cưỡng chế (Uncoercibility): tính chống cưỡng chếthể hiện ở hai điểm:
- Cử tri không thể chứng minh với người tạo sức ép hoặc người muốn mua phiếu bầu
của mình rằng mình đã bầu cử như thế nào (đã bầu cho ai). Yêu cầu này đồng thời
đảm bảo không xảy ra việc mua bán phiếu.
- Chỉ cử tri mới có thể quyết định mình bầu cho ai.
Tính chính xác (Accuracy): nội dung của phiếu bầu không thể bị sửa đổi hoặc bị xóa
không theo ý muốn của cử tri bỏ lá phiếu đó.
Tính công bằng (Fairness): Không ai được biết những kết quả sơ bộ của cuộc bầu cử
trước khi kết quả bầu cử chính thức được công bố.
Tính khả xác nhận (Verifiability): theo [5], tính chất này còn được phân thành hai loại
dựa vào mục đích của nó.
- Khả xác nhận cá nhân (Individual verifiability): cử tri có thể kiểm tra rằng phiếu
bầu của mình đã được đếm chính xác hay không.
- Khả xác nhận toàn cục (Universal verifiability): bất cứ ai quan tâm đến kết quả
cuối cùng có thể sử dụng thông tin từ những cử tri hoặc từ đơn vị tổ chức bỏ phiếu
để xác nhận tính đúng đắn của kết quả cuối cùng.
2.2. Bảo vệ tính riêng tư trong bầu cử điện tử:
2.2.1. Tìm hiểu các loại kĩ thuật bảo vệ tính riêng tư
a. Mix-net
Theo [2], khái niệm Mix-net lần đầu tiên được giới thiệu bởi Chaum [8] vào năm 1981.
Một mix-net được tạo bởi nhiều server liên kết với nhau gọi là mix. Mỗi mix sẽ nắm giữ một
nhóm các lá phiếu đã được mã hóa, xáo trộn nó và xuất ra, với cách đó thì các phiếu đưa vào
và đưa ra sẽ không có khả năng liên kết với nhau. Cơ chế của mô hình này như sau:
Ban đầu một lá phiếu sẽ được mã hóa nhiều lớp bởi các public key của mỗi mix. Đến giai
đoạn giải mã, các lá phiếu đã được mã hóa nhiều lớp sẽ được lần lượt đi qua các mix. Mỗi mix
sẽ sử dụng private key của mình để giải mã lớp mã hóa ngoài cũng của lá phiếu. Sau đó xáo
trộn các lá phiếu và gởi cho mix tiếp theo.
b. Homomorphic cryptography
Homomorphic cryptography (Mã hóa đồng hình) là một dạng mã hóa mà một toán tử đại
số cụ thể được tính toán trên bản rõ (plaintext) sẽ có kết quả tương đương với kết quả của một
toán tử đại số(có thể khác với toán tử trên) được tính toán trên bản mã hóa (ciphertext). Các
tính chất đồng hình của nhiều hệ thống mã hóa có thể được sử dụng để tạo ra hệ thống bầu cử
an toàn.
Giải thuật mã hóa E có tính đồng hình nếu với E(x) và E(y) cho trước ta có thể tính được
E(x y) mà không cần phải giải mã x hay y. Ta có
Trang 7
Bảo vệ tính riêng tư trong bầu cử điện tử
c. Chữ kí mù
Khái niệm chữ kí mù (Blind Signature) được giới thiệu bởi Chaum [22] như là một
phương pháp để số hóa xác nhận một thông điệp mà không cần biết đến nội dung thông điệp
đó. Một đặc trưng nổi bật của kĩ thuật chữ kí mù là khả năng không liên kết của nó, cụ thể là:
người kí không thể suy ra được sự tương đồng giữa tiến trình kí kết và chữ kí, mà sau này
được công khai. Điều này đảm bảo được sự riêng tư của người gởi.
Có thể hình dung ý tưởng cơ bản của kĩ thuật chữ kí mù như sau [23]: Người sở hữu
(Owner) một văn bản cần một cơ quan có thẩm quyền (Authority) kí xác nhận văn bản hợp lệ,
tuy nhiên lại không muốn Authority biết được nội dung văn bản. Owner bỏ văn bản (giấy) vào
phong bì, sau đó bỏ thêm vào phong bì một tờ giấy than rồi gửi cho Authority. Authority sẽ kí
lên phong bì ở vùng đã quy định trước (blindly sign), sau đó gửi lại cho Owner. Owner xé bỏ
phong bì để lấy được văn bản đã kí.
d. Lá phiếu động
Khái niệm lá phiếu động (dynamic ballot) lần đầu được giới thiệu trong công trình [24].
Trong lá phiếu động, thứ tự của các ứng của viên được thay đổi ngẫu nhiên trong mỗi lá phiếu.
Điều này đồng nghĩa với việc lựa chọn ứng viên của mỗi cử tri sẽ có một hàm nghĩa theo ngữ
cảnh ứng với lá phiếu động của họ. Do đó, kẻ phá hoại nếu muốn biết được một cử tri bất kì
đã bỏ phiếu cho ứng viên nào thì phải biết được lựa chọn mà cử tri đã thực hiện và đồng thời
là lá phiếu động tương ứng với lựa chọn đó.
Trong quá trính bầu cử, mỗi cử tri có thể ngẫu nhiên lựa chọn một lá phiếu động bất kì.
Sau đó, cử tri sẽ lựa chọn ứng viên mình yêu thích. Anh ta sẽ ghi thứ tự trên lá phiếu động của
ứng viên đó lên tờ giấy, rồi gởi cho một đơn vị bầu cử. Cùng lúc đó, anh ta cũng gởi lá phiếu
động của mình tới một đơn vị bầu cử khác. Cho đến khi quá trình bỏ phiếu kết thúc, hai đơn vị
bầu cử đó sẽ hợp tác với nhau để tính ra kết quả bầu cử sau cùng.
e. Plaintext Equality Test
Tên gọi PET (thay thế cho Plaintext Equality Test) được đề xuất bởi Jakobsson và Juels
trong công trình [28]. Mục đích của mô hình PET là để so sánh hai văn bản mã hóa mà không
cần giải mã. Mô hình dựa trên hệ thống mã hóa ElGamal.
Giả sử (r1, s1) và (r2, s2) là hai bản mã hóa ElGamal tương ứng của hai bản trắng (plaintext)
m1 và m2. Đầu vào I của mô hình PET là thương của hai bản mã hóa (r1, s1) và (r2, s2); và kết
quả đầu ra là một bit đơn R có giá trị là
Để hiểu rõ hơn về kĩ thuật này xem tài liệu [6]
Trang 8
Bảo vệ tính riêng tư trong bầu cử điện tử
2.2.2. Tìm hiểu các giao thức ứng với từng kĩ thuật:
a. Giao thức sử dụng mô hình mã hóa Benaloh
Theo [2], mô hình này sử dụng giản đồ chia sẻ khóa bí mật đồng hình (homomorphic
secret sharing scheme). Với giản đồ như vậy sẽ có một toán tử
định nghĩa trên không gian
chia sẻ, trong đó “tổng” của chia sẻ của hai khóa bí mật
là chia sẻ của
.
Trong mô hình bầu cử, đề xuất bởi ElGamal mỗi cử tri gởi lá phiếu của họ tới n đơn vị
thẩm tra bầu cử. Những lá phiếu đó được mã hóa bởi public key của đơn vị thẩm tra nhận
được lá phiếu, đơn vị đó sẽ xác thực và đưa nó lên bulletin board.
Cuối giai đoạn bầu cử, mỗi đơn vị thẩm tra sẽ cộng tất cả những lá phiếu họ nhận được để
lấy được mã hóa của tổng các lá phiếu của họ. Cuối cùng các đơn vị thẩm tra sẽ kết hợp các lá
phiếu của họ lại để có được kết quả của tình hình bầu cử. Để bảo đảm tính vững mạnh mô
hình mã hóa đồng hình ngưỡng (homomorphic threshold scheme) (t,n) được sử dụng: sau đó
chỉ có t đơn vị thẩm tra cần phải kết hợp những kết quả của riêng họ. Những kết quả này có
tính khả xác nhận toàn cục (universally verifiable).
Mặc dù những mô hình thuộc loại này thì hoàn toàn đơn giản, nhưng chi phí thông tin giao
tiếp cao: mỗi cử tri phải gởi phiếu bầu của họ qua những kênh thông tin có chi phí cao vì phải
bảo đảm đường truyền tốt và phải có sự bảo mật để tránh bị thất thoát cũng như sai lệnh thông
tin về phiếu bầu.
b. Giao thức che dấu nội dung lá phiếu sử dụng chữ kí mù
Những giao thức bầu cử này (ví dụ Fujioka [27]) áp dụng kĩ thuật chữ kí mù để che dấu
nội dung của lá phiếu. Ý tưởng của giao thức này được trình bày như sau:
Sau khi cử tri có được chữ kí từ người chứng thực, cử tri sẽ gởi chữ kí đó cùng lá phiếu
đã được mã hóa cho cơ quan bầu cử (đó cũng có thể là đơn vị đã cấp chữ kí cho cử tri)
thông qua một kênh ẩn danh để đảm bảo tính riêng tư.
Vào cuối giai đoạn bầu cử, cơ quan bầu cử sẽ đưa tất cả những lá phiếu mã hóa và
blinded signature của chúng lên một bản tin công cộng (bulletin board).
Mỗi cử tri sẽ kiểm tra xem lá phiếu đã được mã hóa có xuất hiện trên bulletin board
không, và sau đó gởi khóa giải mã cho cơ quan bầu cử cũng thông qua kênh ẩn danh.
Cơ quan bầu cử giải mã các phiếu bầu và công bố kết quả lên bulletin board.
c. Giao thức che dấu định danh cử tri sử dụng chữ kí mù
Những giao thức bầu cử này (ví dụ Hasan [25]) áp dụng kĩ thuật chữ kí mù để che dấu
định danh thực của cử tri. Ý tưởng chính của giao thức này được trình bày như sau:
Cử tri gửi public key của mình cho cơ quan bầu cử có chức năng đăng kí. Cơ quan này
sẽ kiểm tra cử tri đó có nằm trong danh sách cử tri hợp lệ được bầu cử hay không. Nếu
cử tri hợp lệ, cơ quan này sẽ cấp cho cử tri một chứng thư (certificate).
Trang 9
Bảo vệ tính riêng tư trong bầu cử điện tử
Cử tri sẽ dùng một số thông số trong chứng thư này để tạo ra định danh mờ của mình.
Định danh này sẽ được kí mù bởi một cơ quan bầu cử khác trong hệ thống. Nhờ kĩ
thuật chữ kí mù, không ai có thể phát hiện ra định danh mờ này được tạo bởi cử tri nào.
Từ đó, cử tri sẽ dùng định danh mờ đó để giao tiếp với các cơ quan bầu cử khác để
hoàn thành quá trình bầu cử của mình
d. Giao thức DynaVote sử dụng Lá phiếu động
Giai đoạn xác thực và cấp quyền
- Giai đoạn này được thực hiện trước khi bầu cử. Các cử tri lấy số chúng minh nhân
dân của mình để đăng kí với chính quyền. Những chứng minh nhân dân chưa đăng
kí sẽ bị cho là không hợp lệ và không được tham gia bầu cử.
- Đầu tiên, cử tri tạo ra một ID chứa một số ngẫu nhiên cũng như các từ khóa, ví dụ
như ID=(Election Data, Authority Data, Random Number). Sau đó cử tri gửi ID
này cùng với số chứng minh nhân dân đã đăng kí của mình cho bộ phận đăng kí.
Kiểm tra, nếu cử tri là hợp pháp thì bộ phận này sẽ kí mù lên ID và gửi lại kết quả
sau khi kí cho cử tri. Kết quả này chính là PVID cửa cử tri.
- Bộ phận đăng kí sẽ gửi ID và PVID cho bộ phận xác nhận. PVID của cử tri sẽ được
hiển thị lên bảng thông báo cùng trạng thái hiện tại.
- Sau giai đoạn này, cử tri đã có được một PVID và có thể sử dụng PVID này trong
suốt quá trình bầu cử còn lại. Nhân dạng thật sự của cử tri đã được ẩn với các bộ
phận bầu cử. Do vậy cử tri đã trở thành vô danh khi sử dụng PVID. Các bộ phận
bầu cử có thể dễ dàng kiểm tra tính hợp lệ của các PVID bằng cách gửi yêu cầu xác
nhận tới bộ phận tạo PVID, bộ phận này sẽ xác nhận lại là cử tri có hợp lệ hay
không.
Giai đoạn bầu cử
Giai đoạn tạo phiếu:
- Cử tri gửi yêu cầu tạo phiếu cho bộ phận tao phiếu kèm theo đó là PVID của mình.
- Bộ phận phiếu sẽ gửi yêu cầu xác nhận cho bộ phận xác nhận, nếu kết quả gửi trả
là cử tri hợp lệ thì sẽ cập nhật trạng thái của cử tri và sẽ tiến hành tạo phiếu động.
- Phiếu động sau khi tạo ra sẽ được gửi cho cử tri và cả bộ phận tạo khóa cho lá
phiếu.
- Tại bộ phận tạo lá phiếu, mỗi một lá phiếu sẽ được tạo một khóa duy nhất. Có thể
thứ tự của cử tri như nhau nhưng khóa của lá phiếu phải khác nhau và duy nhất.
- Cử tri sau khi nhận được lá phiếu sẽ gửi lá phiếu này cùng với PVID cho bộ phận
tạo khóa phiếu, bộ phận này sẽ xác nhận với bộ phận xác nhận. Nếu cử tri hợp lệ sẽ
cập nhật trạng thái và gửi trả lại cho cử tri khóa của phiếu của mình.
Giai đoạn bỏ phiếu:
Trang 10
Bảo vệ tính riêng tư trong bầu cử điện tử
-
Cử tri gửi phiếu bầu và khóa của phiếu cho bộ phận kiểm phiếu, lá phiếu sẽ là số
thứ tự của ứng cử viên mà cử tri bầu. Bộ phận kiểm phiếu sẽ gửi lại xác nhận có
dạng “bạn đã bầu cho ứng viên thứ X” lại cho cử tri.
Giai đoạn kiểm phiếu
- Kết thúc quá trình bầu cử, các bộ phận sẽ công bố dữ liệu của mình. Bộ phận tạo
khóa phiếu sẽ công bố bảng chứa lá phiếu động và khóa. Bộ phận kiểm phiếu sẽ
công bố bảng chứa khóa và thứ tự. Kết hợp hai bảng này với nhau ta đã ra được kết
quả cuối cùng.
- Các bộ phận sẽ kiểm tra dữ liệu của mình với kết quả này. Bộ phận đăng kí, bộ
phận xác nhận và bộ phận tạo phiếu sẽ kiểm tra số lượng cử tri hợp lệ và kết quả
cuối.
2.2.3. So sánh các giao thức với nhau:
a. Giao thức sử dụng Mix-net
Ưu điểm:
- Mô hình này đảm bảo được tính khả xác nhận toàn cục (universal verifiability).
- Khá hiệu quả (trong trường hợp số mix không quá lớn).Một số phương pháp để cải
thiện mix-net về khía cạnh tính chính xác và tính hiệu quả đã được đề nghị
[10][11].
Khuyết điểm:
- Với cơ chế như trên thì với hệ thống lớn thì chi phí giao tiếp giữa các mix sẽ rất
lớn.
- Cho đến nay thì chưa có hệ thống bầu cử nào được xây dựng dựa trên mô hình
mix-net này.
b. Giao thức sử dụng Mã hóa đồng hình
Dù cho các giao thức áp dụng mã hóa đồng hình như [15][18][21]phổ biến hơn các giao
thức mix-net, các giao thức này vẫn không hiệu quả cho bầu cử diện rộng bởi vì chi phí tính
toán và giao tiếp cho việc chứng minh và kiểm tra tính hợp lệ khá coi khi có nhiều cử tri. Một
điển hình là khi một lá phiếu đầu vào sai định dạng thì cũng có thể khiến cho cả hệ thống bị lỗi
do kết quả cuối cùng luôn phụ thuộc vào tính đúng của mỗi lá phiếu. Bên cạnh đó, các giao
thức mã hóa đồng hình không thể được ứng dụng cho mô hình bầu cử nhiều lựa chọn.
c. Giao thức sử dụng Chữ kí mù
Ưu điểm:
- Chi phí tính toán và giao tiếp khá nhỏ kể cả khi số lượng cử tri lớn.
- Mô hình này dễ dàng để quản lý.
- Dễ dàng hiện thực cho mô hình bầu cử nhiều ứng viên.
Nhược điểm:
- Chỉ đáp ứng tính khả xác nhận mang tính cá nhân.
Trang 11
Bảo vệ tính riêng tư trong bầu cử điện tử
- Cử tri không được bỏ phiếu trắng sau giai đoạn đăng kí.
Tuy nhiên những nhược điểm này có thể khắc phục khi kết hợp với các kĩ thuật mới khác
như Lá phiếu động và PET.
2.3. Đề xuất giải pháp để bảo vệ tính riêng tư trong bầu cử điện tử
2.3.1. Đề xuất giao thức mới bảo vệ tính riêng tư
Hình 3: Mô hình tổng quan.
Mô hình tổng quát của hệ thống bầu cử điện tử cũng sẽ có 4 thành phần chính đại diện cho
4 giai đoạn bầu cử. Để đảm bảo tính bảo mật cho hệ thống bầu cử điện tử, chúng tôi thêm vào
2 thành phần đảm nhiệm chức năng bảo vệ tính riêng tư cho cử tri và bảo vệ tính riêng cử cho
lá phiếu của họ (như minh họa ở Hình 3)
Trong giao thức đề nghị này, cử tri sẽ sử dụng một thiết bị có khả năng kết nối internet
(laptop, smartphone…) để thực hiện quy trình bầu cử. Ban đầu, người đó sẽ gởi yêu cầu lên
Registration Server (RS). RS lưu trữ các luật của một cuộc bầu cử cụ thể (là cuộc bầu cử địa
phương hay toàn quốc, cử tri phải trên bao nhiêu tuổi, đang sống ở địa phương nào…). RS sẽ
lấy thông tin cá nhân của cử tri cử Certificate Authority (CA)để xem liệu người này có đủ tiêu
chuẩn bầu cử hay không. Nếu đó là một cử tri hợp lệ, RS sẽ gởi trả lại cho họ một chứng thư
điện tử (certificate). RS là nơi duy nhất trong hệ thống biết chính xác cử tri là ai (nhưng không
biết gì về lá phiếu của cử tri vì quá trình bầu cử chưa diễn ra).
Trang 12
Bảo vệ tính riêng tư trong bầu cử điện tử
Hình 4: Giai đoạn đăng kí.
Sau đó có chứng thư điện tử, cử tri này có thể giao tiếp với Privacy of Voter Server (PVer).
PVer cho phép voter hợp lệ (đã được RS xác nhận bằng certificate) tạo ra một đinh danh mờ
(anonymous ID). Định danh mờ này cần phải duy nhất và không có cách nào tìm ra thông tin
cá nhân của cử tri từ nó. Cử tri sẽ sử dụng định danh mờ đó để tiếp tục quá trình bầu cử sau
này. Nhằm bảo vệ cho định danh thực của cử tri hoàn toàn bí mật, không một thành phần nào
trong hệ thống có thể biết được định danh mờ mà cử tri đang sử dụng ứng với định danh thực
nào. Điều đó cũng đồng nghĩa, PVer cũng được yêu cầu không biết gì về định danh thực mà
cử tri muốn làm mờ. Để thỏa mãn yêu cầu này, kĩ thuật chữ kí mù sẽ được áp dụng ở giai đoạn
này (Hình 4).
Để bảo vệ lá phiếu của cử tri chống lại việc bị thay đổi ngoài ý muốn của cử tri, hay bị tiết
lộ ra ngoài, trong kiến trúc sẽ cần một thành phần giữ nhiệm vụ bảo vệ lá phiếu; thành phần đó
là Privacy of Vote Server (PV). PV sẽ bao gồm các thành phần con, mỗi thành phần con đó sẽ
sử dụng các kĩ thuật như lá phiếu động để đảm bảo nội dung lá phiếu không bị tiết lộ ra ngoài.
Kĩ thuật này một phần nào đó giúp chống lại những phần tử phá hoại bên ngoài muốn mua lá
phiếu, và những phần tử bên trong hệ thống muốn bán kết quả bầu cử trung gian. Bên cạnh đó
trong giai đoạn này, để chống lại nguy cơ cử tri bị ép buộc phải bầu cho một ứng viên nào đó,
cơ chế bầu cử nhiều lần sẽ được áp dụng. Với cơ chế này, kẻ ép buộc sẽ khó có thể kiểm soát
được các lá phiếu mà cử tri đã bầu. Các bước cụ thể miêu tả cho hai kĩ thuật này được thể hiện
ở Hình 5.
Trang 13
Bảo vệ tính riêng tư trong bầu cử điện tử
Hình 5: Giai đoạn bỏ phiếu.
Khi giai đoạn bỏ phiếu kết thúc, Tallying Server (TS) sẽ bắt đầu làm việc. Để đảm bảo lá
phiếu không bị thay đổi do các tác nhân bên trong và bên ngoài, đồng thời tăng tính bảo mật
cho nội dụng lá phiếu, kĩ thuật PET sẽ được áp dụng. Trong kiến trúc này, bảng công khai
Bulletin Board sẽ đóng vai trò công bố kết quả cuối cùng của quá trình bầu cử cũng như công
bố một số thông tin để người cử tri có thể kiếm chứng được lá phiếu của mình đã được đếm
chính xác.
2.3.2. So sánh và đánh giá giao thức
a. Tính bảo mật
Bảng 1: So sánh về lỗ hổng bảo mật của những giao thức trước và giao thức đề nghị
Lỗ hổng bảo mật
Giao
thức Giao
Hasan [25]
thức Giao thức Giao thức
Cetinkaya [7]
JCJ [29]
đề nghị
Mua bán lá phiếu/ Cưỡng chế
√
√
-
-
Đơn vị đăng kí gian lận
-
-
√
-
Đơn vị bỏ phiếu gian lận
√
√
-
-
Đơn vị kiểm phiếu gian lận
√
√
-
-
(“√”:giao thức tồn tại lỗ hổng được nêu.
“-“: giao thức đã giải quyết được lỗ hổng được nêu.)
Trang 14
Bảo vệ tính riêng tư trong bầu cử điện tử
Bảng 2: So sánh về yêu cầu bảo mật của những giao thức trước và giao thức đề nghị.
Yêu cầu bảo mật
Giao
thức Giao
Hasan [25]
thức Giao thức Giao thức
Cetinkaya [7]
Tính riêng tư
√
√
Tính hợp lệ
√
√
Tính duy nhất
√
√
JCJ [29]
đề nghị
√
√
-
√
√
√
√
√
Tính không cưỡng chế
-
Tính chính xác
-
√
√
√
Tính công bằng
-
√
√
√
Tính khả xác nhận cá nhân
-
√
√
√
Tính khả xác nhận toàn cục
-
√
√
√
Không sử dụng giả định vật lý
√
√
-
-
√
(“√”:giao thức đạt được yêu cầu bảo mật được nêu.
“-“: giao thức không đạt được yêu cầu bảo mật được nêu.)
b. Tính hiện thực
Độ phức tạp tính toán
Tính hiệu quả của hệ thống phụ thuộc rất nhiều vào sức mạnh của phần cứng, tốc độ
đường truyền và mức độ tối ưu hóa của mã nguồn. Trong phạm vi phân tích của luận văn, hiệu
năng hệ thống sẽ được xem xét qua độ phức tạp của các hệ thống mã hóa.
Hệ thống sử dụng 3 kỹ thuật mã hóa chính: Mã hóa bất đối xứng, Chữ kí điện tử, Blind
signature, Plaintext Equality Test. Về mặt hiện thực, những kỹ thuật trên đây đều dựa trên nền
tảng của hệ thống mã hóalà RSA, ElGamal và Hash SHA, do đó ta sẽ xem xét độ phức tạp của
các hệ thống mã hóa này [31].
Bảng 3: Độ phức tạp của RSA.
Giai đoạn
Tạo khóa
Diễn giải
1. Chọn 2 số nguyên tố lớn p và q. Tính
2. Tính
3. Tìm e sao cho
4. Tính
Trang 15
Độ phức tạp
Bảo vệ tính riêng tư trong bầu cử điện tử
5. Khóa công khai
Khóa bí mật
Mã hóa
6.
Giải mã
7.
Bảng 4: Độ phức tạp của ElGamal.
Giai đoạn
Tạo khóa
Mã hóa
Giải mã
Diễn giải
Độ phức tạp
1. Chọn số nguyên tố lớn p
Số sinh g
Số ngẫu nhiên x
Tính
2. Khóa công khai
Khóa bí mật
3. Chọn số ngẫu nhiên r
4. Tính
5.
- Giải thuật SHA có độ phức tạp tuyến tính
Các tính toán trên đây chỉ ra các thuật toán mã hóa áp dụng trong hệ thống đều có khả
năng thực hiện trong thời gian đa thức.
Bên cạnh các thuật toán mã hóa, một hoạt động khác cũng ảnh hưởng đến thời gian chạy
của hệ thống là tác vụ loại bỏ các lá phiếu trùng lắp trong List1 và kết hợp B trong List1 và V’
tương ứng trong List2 để tìm ra kết quả cuối cùng.
- Tác vụ loại bỏ lá phiếu trùng lắp: mỗi Bi trong List1 sẽ được so sánh với tất cả Bj
còn lại. Do đó, thời gian chạy của tác vụ này là
.
- Tác vụ kết hợp B và V’: mỗi Bi trong List1 sẽ được so sánh với tất cả V’j trong
List2. Do đó, thời gian chạy của tác vụ này là
.
Tóm lại, từ những phân tích trên độ phức tạp của hệ thống sẽ là một hàm đa thức.
Tính khả thi về mặt công nghệ
Để đánh giá về mặt khả thi của hệ thống, chúng tôi chọn hiện thực chức năng bảo vệ định
danh của hệ thống bầu cử điện tử này. Chức năng này dựa trên kĩ thuật chữ kí mù, đây là kĩ
thuật đặc trưng thể hiện cho hướng tiếp cận để xây dựng giao thức bảo vệ tính riêng tư cho
bầu cử điện tử của đề tài. Các bước trong giai đoạn đăng kí, bỏ phiếu và kiểm phiếu sẽ được
bỏ qua để tập trung vào giai đoạn cử tri giao tiếp với Privacy of Voter server (PVer).
Trang 16
Bảo vệ tính riêng tư trong bầu cử điện tử
-
PVer sẽ được hiện thực dưới dạng một web service nhận vào nhận vào uid đã được
làm mờ của cử tri, trả về uid đã được kí mù.
Để thuận tiện cho cử tri khi tham gia vào quá trình bầu cử, một ứng dụng chạy trên
máy tính của cử tri sẽ được xây dựng. Ứng dụng này có chức năng giúp cử tri thực
hiện các bước tính toán, mã hóa trong quá trình giao tiếp với PVer.
Hình 6: Demo chức năng bảo vệ định danh cử tri.
Các thư viện được sử dụng trong demo này:
- Voting Certificate Module: Định nghĩa cấu trúc dữ liệu của một Voting Certificate
và các chức năng tạo, mã hóa và giải mã certificate.
- E-Voting Cryptography Module: Cung cấp các phương thức thực hiện các giải
thuật bảo mật phù hợp với nghiệp vụ E-Voting dựa trên nền tảng thư viện bảo mật
mã nguồn mở Bouncy Castle.
2.4. Viết bài báo khoa học cho hội nghị/tạp chí chuyên ngành
NGUYEN THI Ai Thao, DANG Tran Khanh: Enhanced Security in Internet Voting Protocol
using Blind Signature and Dynamic Ballots. In Proceedings of the 14 th International
Conference on Information Integration and Web-based Applications & Services (iiWAS2012),
ACM ISBN: 978-1-4503-1306-3, December 3-5, 2012, Bali, Indonesia, pp. 278-281.
Trang 17
Bảo vệ tính riêng tư trong bầu cử điện tử
3. Kết quả mới
Trong giao thức bầu cử qua internet này, cử tri sẽ sử dụng kĩ thuật chữ kí mù để có được
chữ kí xác thực của cơ quan bầu cử lên định danh mà người đó tạo ra. Do đó, RS và PVer
không biết bất cứ thông tin nào về định danh của cử tri đang được chứng thực bởi hệ thống. Vì
vậy, nếu những đơn vị bầu cử này bị mua chuộc trở thành kẻ phá hoại, họ sẽ không thể lợi
dụng lỗ hổng do những lá phiếu trống để tấn công hệ thống bầu cử. Điều này cũng được thỏa
mãn trong hệ thống bầu cử của Hasan [25]và Cetinkaya [7]. Tuy nhiên trong hệ thống JCJ
[29], RS là đơn vị tạo ra định danh mà cử tri sẽ sử dụng để tham gia vào quá trình bầu cử . Sau
đó, RS gởi nó tới những cho từng cử tri thông qua một kênh truyền được giả thuyết là đảm bảo
tính bảo mật cao một cách tuyệt đối và không bị tấn công. Trong trường hợp tệ nhất, nếu RS bị
tấn công và điều khiển bởi những hackers, nó sẽ gởi tới cử tri những thông tin định danh giả
và sử dụng những định danh hợp pháp để bầu cử cho những ứng cử viên mà những hackers
mong muốn. Do đó, đơn vị Đăng kí gian lận trở thành một lỗ hổng bảo mật trong giao thức
bầu cử JCJ. Việc sử dụng giả định vật lý, ví dụ kênh truyền được bảo mật tuyệt đối, là một
điểm yếu khác nữa của hệ thống JCJ so với các hệ thống đã được đề cập trước đó.
Trong hệ thống bầu cử của Hasan [25] và Cetinkaya [7], mặc dù loại bỏ sự tấn công do lá
phiếu trống từ RS bị mua chuộc, những hệ thống này vẫn không đủ mạnh để chống lại những
cách tấn công phức tạp hơn khác. Hệ thống bầu cử của Hasan [25] thì quá giản đơn vì nó
không có một cơ chế nào để bảo vệ nội dung của phiếu bầu tránh khỏi sự bị thay đổi nội dung
hoặc bị xóa bởi những kẻ tấn công. Do đó, nếu CS hoặc TS bí mật thông đồng với những kẻ
tấn công thì hệ thống sẽ bị sụp đổ. Kết quả là tính chính xác và công bằng không còn được
đảm bảo. Trong trường hợp lý tưởng (các máy chủ đại diện cho đơn vị bầu cử được giả định
an toàn tuyệt đối và không bị xâm hoại), hệ thống Hasan [25] vẫn không tránh khỏi việc mua
bán lá phiếu hoặc sự cưỡng chế nếu cử tri tự nguyện hoặc bị ép buộc tiết lộ định danh thật của
họ với những thế lực mua phiếu bầu nhằm dàn xếp kết quả bầu cử. Còn về hệ thống của
Cetinkaya [7], nó đảm bảo một vài yêu cầu bảo mật (được trình bày trong Bảng 2). Tuy nhiên,
điểm yếu của hệ thống này là cử tri vẫn bị những kẻ cưỡng chế đe dọa nếu những máy chủ giữ
những lá phiếu của cử tri bị những người tấn công điều khiển. Khi đó, kẻ cưỡng chế sẽ biết
được nội dung lá phiếu của cử tri và gây sức ép nếu họ không bầu theo đúng ý định của kẻ
cưỡng chế. Trong tình cảnh xấu nhất, cử tri cũng có thể bán những lá phiếu của họ bằng cách
cung cấp cho người mua định danh đã được làm mờ của họ. Sau đó, nếu người mua này mua
chuộc hay tấn công được các đơn vị bầu cử Ballot Generator, Counter, và Key Generator, họ
có thể khám phá ra liệu những định danh ẩn danh này có bầu cho ứng viên mà họ mong muốn
hay không. Một cách khác, máy chủ BC bị tấn công là một lỗ hổng bảo mật mà giao thức bầu
cử Cetinkaya vẫn chưa khắc phục được. Giao thức bầu cử mà tôi đề xuất đã khắc phục được
điểm yếu của giao thức Cetinkaya bằng cách mã hóa các định danh mờ đó bằng hệ thống mã
hóa ElGamal trước khi gởi những định danh đó đến BC. Do đó, khi một cử tri tiến hành bầu cử
lại, bản thân BC không thể nhận ra định danh mờ đó đã bầu trước đó rồi. Việc chứng thực tính
Trang 18
Bảo vệ tính riêng tư trong bầu cử điện tử
hợp lệ của cử tri sẽ do CS thực hiện. Điều đó có nghĩa là CS nhận định danh mờ của cử tri mà
không cần qua mã hóa ElGamal. Tuy nhiên, quá trình bầu cử lại của cử tri sẽ không xảy ra
trong CS; do đó, những người dàn xếp kết quả bầu cử không thể biết được liệu cử tri mình
đang theo dõi có tiến hành bầu cử lại hay không tại CS.
Nếu đơn vị kiểm phiếu gian lận, giao thức của tôi sẽ không bị sụp đổ. Dù cho, TS cấu kết
với những cơ quan bầu cử khác nằm trong hệ thống bầu cử điện tử mà tôi đề xuất. Ở những
giao thức bầu cử điện tử dùng phương thức lá phiếu động trước đây, những TSbị tấn công chỉ
cần cấu kết với BC và CSlà có thể lấy được kết quả trung gian của quá trình bầu cử. Tuy nhiên
trong hệ thống bầu cử của tôi, lá phiếu độngB và lựa chọn mờV’ đã được mã hóa với khóa tạm
(session key) – khóa này được sinh ra bởi KG; vì thế dù TS lấy được B và V’ thì nó cũng
không thể biết được nội dung của hai giá trị này. Thậm chí nếu KG bị tấn công thì kết quả
trung gian của hệ thống của tôi vẫn an toàn.Nhờ việc mã hóa định danh mờ của cử tri bằng hệ
thống mã hóa ElGamal, những kẻ tấn công không có cách nào để kết hợp B và V’để tính được
chính xác giá trị trung gian của cuộc bầu cử. Vì vậy, đơn vị kiểm phiếu gian lân không còn là
mối đe dọa cho hệ thống của tôi nữa. Tuy nhiên, dựa trên những phương thức tấn công phức
tạp khi mà nhiều đơn vị bầu cử cấu kết nhằm tấn công hệ thống, giao thức bầu cử của Hasan
[25] và Cetinkaya [7] không đủ mạnh để đánh bại những tấn công này.
Nói tóm lại, đóng góp chủ yếu của đề tài này là giới thiệu một giao thức bầu cử điện tử
thông qua internet đảm bảo được tất cả các yêu cầu bảo mật của một hệ thống bầu cử. Điểm
mới của giao thức này là chúng tôi cho phép kẻ tấn công có nhiều sức mạnh hơn bao giờ hết.
Chúng có thể là những kẻ cưỡng chế hoặc những người cố tình mua bán lá phiếu ở ngoài hệ
thống, hoặc những cơ quan chịu trách nhiệm bầu cử bị mua chuộc ở bên trong hệ thống.
Những thành phần phá hoại này có thể cấu kết với nhau để phá hoại hệ thống. Để giải quyết
được yêu cầu bảo mật trong ngữ cảnh này, các kĩ thuật như chữ kí mù, lá phiếu động, và PET
được kết hợp với nhau, tạo nên một hệ thống hiệu quả và có khả năng kháng cự với các loại
tấn công phức tạp khác nhau.
4. Đề xuất ứng dụng
Sự phát triển của chính phủ điện tử hiện là một khuynh hướng toàn cầu trong suốt mấy
chục năm gần đây. Kỉ nguyên “xã hội thông tin” đã cải thiện chất lượng cuộc sống của người
dân, góp phần phổ biến kiến thức cho tất cả mọi người, tăng cường sự kết nối trong xã hội,
biến những cái không thể trở thành có thể. Chính phủ điện tử ra đời hỗ trợ cho người dân rất
nhiều trong những hoạt động quản lý đời sống với nhiều dịch vụ khác nhau như công chứng
giấy tờ, đăng kí giấy tờ xe, đăng kí kết hôn, làm giấy khai sinh, giấy tờ đất,… trong đó bầu cử
là một dịch vụ phổ biến và quan trọng nhất trong chính phủ điện tử.
Về mặt khoa học, những nghiên cứu trong đề tài này có thể là nền tảng để phát triển các
nghiên cứu về mã hóa, cũng như những giao thức mã hóa ứng dụng cho hệ thống xác thực và
Trang 19
Bảo vệ tính riêng tư trong bầu cử điện tử
những ứng dụng giải quyết bài toán SMC (secure multiparty computation – tính toán bảo mật
đa thành phần).
Về mặt thực tiễn, đề tài này sẽ là nền tảng để phát triển các dịch vụ chính phủ điện tử khác.
Bên cạnh đó, đề xuất về giải pháp bảo vệ tính riêng tư trong đề tài có thể được sử dụng trong
việc phát triển các hệ thống thương mại điện tử an toàn hiệu quả hơn. Cụ thể, ứng dụng của
giải pháp này có thể được áp dụng trong việc bảo người dùng thuộc các hệ thống mua bán qua
mạng, hệ thống email, hệ thống đấu giá,…
5. Báo cáo kinh phí
(Đơn vị: Ngàn đồng)
STT
Nội dung chi
Kinh phí
1
Xây dựng thuyết minh chi tiết của đề tài
1,000
2
Thuê khoán chuyên môn 1:
- Tìm hiểu tổng quan về Bầu cử điện tử.
- Tìm hiểu các tiêu chí đánh giá hệ thống Bầu cử điện tử.
- Tìm hiểu các yêu cầu bảo vệ tính riêng tư trong bầu cử điện tử
- Tìm hiểu các kĩ thuật bảo vệ tính riêng tư trong bầu cử điện tử.
5,000
3
Thuê khoán chuyên môn 2:
- Tìm hiểu và phân tích các mô hình bầu cử điện tử.
- Đề xuất giao thức bảo vệ tính riêng tư trong bầu cử điện tử.
- Demo nhỏ minh họa giao thức đề nghị.
4
Viết báo cáo tổng kết khoa học kỹ thuật đề tài:
- Viết bài báo khoa học cho hội nghị/ tạp chí chuyên ngành.
- Viết báo cáo tổng hợp và nghiệm thu đề tài.
3,000
5
Phụ cấp chủ nhiệm đề tài cho 2 đồng chủ nhiệm:
250,000 đồng x 12 tháng x 2 người
6,000
Tổng cộng
Trang 20
15,000
30,000
- Xem thêm -