Chứng minh quyền sở hữu giá trị bí mật (Giao thức 2)

Một phần của tài liệu 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ử (Trang 51)

6. Nội dung luận văn

2.3.3. Chứng minh quyền sở hữu giá trị bí mật (Giao thức 2)

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Theo sơ đồ giai đoạn cử tri chuyển lá phiếu tới ban kiểm phiếu, phải thực hiện Giao thức 2. Tức là sau khi xác minh lá phiếu của cử tri là hợp lệ, ngƣời xác minh trung thực làm “mù” lá phiếu và gửi nó về ban kiểm phiếu kèm theo “Chứng minh không tiết lộ thông tin” cho tính hợp lệ của lá phiếu đã bị làm “mù”.

Ngƣời xác minh trung thực làm “mù” lá phiếu thông qua cặp (u, v) dựa trên giá trị bí mật . Nhƣ vậy để chứng minh lá phiếu đã bị làm “mù“ vẫn hợp lệ, ngƣời xác minh trung thực phải chứng minh rằng anh ta sở hữu giá trị bí mật thõa mãn u g , v h . Nhƣng mặt khác ngƣời xác minh trung thực không muốn để lộ . Có một giao thức hiệu quả để anh ta làm việc này: giao thức .

Trong sơ đồ dƣới đây, ngƣời xác minh trung thực là ngƣời chứng minh (P), ngƣời kiểm tra (V) là cử tri, ban kiểm phiếu, …

Ngƣời chứng minh (TT) (P)

Ngƣời kiểm tra (V)

- P có [(u,v) (g , h )] - P chọn w Zp

Tính (a,b): (gw,hw) (a,b)

P gửi V giá trị ngẫu nhiên w

thông qua (a, b)

c

V gửi lại P giá trị ngẫu nhiên c

- V chọn c Zp - P tính r: w c r P đáp lại V bằng r - Kiểm tra: c r c r bv h au g ? ? Nếu đều đúng  V thừa nhận P sở hữu giá trị

Chú ý: Nếu không biết , ngƣời chứng minh P không thể tạo ra

c w r: để kiểm tra. c c w c w r c c w c w r bv h h h h au g g g g .

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Ví dụ 2:

Ngƣời chứng minh P chọn g=3, s=7, h=gs=37. Anh ta có = 5 sử dụng trong (u,v) (g ,h )=(35, (37)5), cặp số này dùng để làm “mù” lá phiếu đã mã hoá của cử tri.

P muốn chứng minh với V rằng anh ta sở hữu mà không muốn để lộ giá trị . P thực hiện giao thức với ngƣời xác minh V nhƣ sau:

Ngƣời chứng minh (TT) (P)

Ngƣời kiểm tra (V) - P có [(u,v)=(35,( 37)5)] - P chọn w Zp= 2. Tính (a,b) = (gw, hw) = (32, (37)2) ) , (ab c - V chọn c = 11 - P tính r = w + c = 2 + 5 * 11 = 57 r

- V kiểm tra các đẳng thức đều đúng:

gr=357 = 32 (35)11 = auc

hr =(37 ) 57 = (37)5 ((37) 2) 11 = bvc

V thừa nhận P sở hữu = 5.

Nếu ngƣời nào đó giả mạo rằng đã biết để tạo (u,v)=(gβ, hβ) thì “khó” có thể tính đƣợc r=w+βc, tức là bƣớc kiểm thử gr

?

auc, hr

?

bvc “khó” có thể thực hiện đƣợc. Vì a, b, c, r, g, h, u, v đều công khai nên ai cũng có thể xác minh đƣợc r = w+βc.

Nhờ giao thức trên mọi ngƣời tin rằng ngƣời xác minh trung thực đã dùng để làm “mù” lá phiếu.

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

Theo sơ đồ giai đoạn cử tri chuyển lá phiếu tới ban kiểm phiếu đã trình bày. Nó đƣợc thực hiện bằng Giao thức 1 Giao thức 2, xin gọi là phƣơng án 1. Có

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

phƣơng án khác (tạm gọi là 2) cũng để thực hiện giai đoạn này bằng 2 giao thức. Giao thức 1 nhƣ trong phƣơng án 1. Giao thức 2 có thay đổi nhƣ sau:

Sau khi ngƣời xác minh trung thực xác minh lá phiếu của cử tri là hợp lệ, sau khi cử tri xác minh ngƣời xác minh trung thực sở hữu giá trị thì chính cử tri làm “mù” lá phiếu và gửi nó về ban kiểm phiếu (thay vì ngƣời xác minh trung thực làm “mù” lá phiếu và gửi nó về ban kiểm phiếu nhƣ theo giao thức 2 của phƣơng án 1). Trong phƣơng án này chúng tôi đề nghị: mỗi lần xử lý một lá phiếu, tại mỗi bƣớc thử điều kiện, nếu không thoả mãn, công việc xử lý dừng lại với lá phiếu này để chuyển ngay sang lá phiếu tiếp theo.

Trong đề tài nghiên cứu này tác giả đã trình bày hai giao thức “Chứng minh không tiết lộ thông tin” để giải quyết hai vấn đề trong giai đoạn cử tri chuyển lá phiếu tới ban kiểm phiếu. Nhƣ vậy trong giai đoạn này lá phiếu đã bị mã hoá 2 lần, nhƣng kết quả giải mã lá phiếu đúng nhƣ nội dung ban đầu của nó, bởi vì:

- Nội dung lá phiếu: chọn ứng cử viên Gi.

- Lá phiếu sau khi mã hoá lần 1: (x,y) (g , h Gi).

- Lá phiếu sau khi làm “mù” (mã hoá lần 2): (xu,yv) (g , h Gi)

- Sau khi giải mã lá phiếu:

i s s i s G g h g G h xu yv ) ( ) ( ) ( = ) (gs h Gi = ) (h h Gi = Gi .

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Chƣơng 3

ỨNG DỤNG TRONG KIỂM PHIẾU ĐIỆN TỬ

3.1. Ứng dụng hệ mã hóa trên đƣờng cong Elliptic trong bầu cử điện tử

3.1.1. Các đối tượng của hệ thống bầu cử

Hệ thống bỏ phiếu điện tử gồm các đối tƣợng sau:

- Trạm bỏ phiếu: là nơi thu thập các lá phiếu, có trách nhiệm tổng hợp và công bố kết quả cuối cùng của cuộc bầu cử. Ngoài ra, khi tất cả các lá phiếu đƣợc thu thập và tổng hợp, nó phải đƣợc giải mã và lƣu trữ trên một hệ thống tin cậy, đảm bảo an toàn và các lá phiếu phải kiểm chứng đƣợc.

- Cử tri: họ là những ngƣời có quyền tham gia bỏ phiếu.

- Hệ thống lƣu trữ khóa tin cậy: hệ thống này có trách nhiệm tạo, lƣu trữ các khóa riêng và công bố các khóa công khai. Khóa công khai của cuộc bầu cử phải đƣợc chứng nhận để đảm bảo tính xác thực của nó.

3.1.2. Thiết lập

Xét một cuộc bầu cử điện tử với m ứng viên.

- Hệ thống lƣu trữ khóa sinh ra một đƣờng cong Ellipitc E trên trƣờng hữu hạn Fp.

- Xác định một nhóm con cyclic G của E(Fp) và G có phần tử sinh P - n là bậc của P và h là phần phụ đại số của G trong E(Fp): h = #E(Fq)/n

Sau đó, hệ thống lƣu trữ khóa tạo khóa bí mật d bằng cách chọn ngẫu nhiên d

trong đoạn [1, n-1], tính khóa công khai Q = d * P và công bố tất cả các tham số công khai, khóa bí mật d đƣợc lƣu trữ tại một nơi an toàn.

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Tiếp theo, hệ thống lƣu trữ tạo ra m điểm {M1,…, Mm} thuộc đƣờng cong, mỗi điểm đại diện cho một ứng cử viên khác nhau (tức là ta nhúng thông tin đại diện cho m ứng cử viên thành m điểm trên đƣờng cong Elliptic).

3.1.3. Bỏ phiếu

Giả sử một cử tri T muốn bỏ phiếu bầu cho một ứng cử viên, quá trình bầu cử của cử tri này gồm 3 bƣớc: Lựa chọn ứng cử viên; Kiểm tra hồ sơ cử tri; Xác minh lá phiếu.

Bƣớc 1: Lựa chọn ứng cử viên

Giả sử điểm MCT là điểm trên đƣờng cong đại diện cho sự lựa chọn của cử tri T, ta thực hiện các bƣớc sau:

Mã hóa MCT bằng khóa công khai Q. Lá phiếu đã đƣợc mã hóa CT = EQ(MCT) - Tính chữ ký số của lá phiếu đã đƣợc mã hóa.

- Gửi CT cùng với chữ ký của nó đến trạm bỏ phiếu.

Bƣớc 2: Kiểm tra hồ sơ cử tri

Khi các trạm bỏ phiếu nhận đƣợc một lá phiếu, việc đầu tiên hệ thống sẽ kiểm tra tính hợp lệ của chữ ký số. Tiếp đó, hệ thống kiểm tra xem cử tri có trong danh sách đƣợc phép bầu cử không và đảm bảo rằng cử tri chƣa bỏ phiếu trƣớc đó. Trong trƣờng hợp này, cử tri phải chứng minh đƣợc lá phiếu của mình đƣợc là hợp lệ.

Bƣớc 3: Xác minh lá phiếu

Cử tri phải chứng minh rằng, bản rõ lá phiếu của mình tƣơng ứng với một điểm đại diện cho một trong những ứng cử viên. Điều này đƣợc thực hiện bằng phƣơng tiện chứng minh không tiết lộ thông tin. Nếu tất cả các kiểm tra là chính xác, lá phiếu đƣợc ký và các dữ liệu cần thiết sẽ đƣợc thông báo công khai (để bất kỳ ai cũng có thể kiểm tra đƣợc tính đúng đắn của nó).

3.1.4. Mở phiếu bầu

Khi cuộc bầu cử kết thúc, ban kiểm phiếu bắt đầu giải mã phiếu và thống kê phiếu bầu. Quá trình này đƣợc chia thành ba bƣớc: giải mã, kiểm soát phiếu và công bố kết quả.

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Bƣớc 1: Giải mã: Khi cuộc bầu cử kết thúc, các trạm bỏ phiếu có một tập các gói đƣợc tổng hợp lại và phải giải mã chúng. Hệ thống lƣu trữ khóa sẽ đƣa ra các khóa để giải mã chúng.

Bƣớc 2: Kiểm soát phiếu: Khi mỗi lá phiếu đã đƣợc giải mã, trạm bỏ phiếu cộng tất cả các lá phiếu để cuối cùng kiểm soát kết quả bầu cử.

Bƣớc 3: Công bố kết quả

Cuối cùng, kết quả bầu cử đƣợc thông báo trên các bảng thông báo. Và tại cuối cuộc bầu cử, các bảng thông báo chứa tất cả thông tin cần thiết để xác minh tính đúng đắn của toàn bộ quá trình. Đó là:

1) Kết quả bầu cử (số lƣợng phiếu bầu của mỗi ứng cử viên). 2) Danh sách cử tri (tên và khóa công khai của mỗi cử tri).

3) Phiếu đã nhận cùng với chữ ký số của chúng và bằng chứng về tính đúng đắn.

3.2. Ứng dụng sơ đồ chia sẻ bí mật Shamir trong kiểm phiếu điện tử

Trong bỏ phiếu từ xa, để đảm bảo bí mật, cử tri mã hóa nội dung lá phiếu. Ban kiểm phiếu phải giải mã mới biết lá phiếu ghi gì. Thực tế 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 trƣớc nội dung lá phiếu để thực hiện gian lận bầu cử (ví dụ sửa lại nội dung lá phiếu). Để bảo đảm một ngƣời hay một nhóm ngƣời của ban kiểm phiếu không thể biết trƣớc nội dung lá phiếu, ngƣời ta dùng kỹ thuật “chia sẻ bí mật”. Ví dụ:- Chìa khóa để giải mã nội dung lá phiếu đƣợc chia thành m mảnh, mỗi ngƣời trong ban kiểm phiếu giữ một mảnh và phải đảm bảo rằng một nhóm ngƣời ít hơn m không thể khôi phục đƣợc khóa giải mã.- Bản thân nội dung lá phiếu có thể đƣợc chia thành m mảnh. Cử tri gửi cho m thành viên của ban kiểm phiếu, mỗi ngƣời giữ một mảnh, và phải đảm bảo rằng một nhóm ngƣời ít hơn m không thể xác định đƣợc nội dung lá phiếu.

Với kỹ thuật này, cuộc bỏ phiếu bảo đảm đƣợc bí mật và kiểm soát đƣợc kết quả bỏ phiếu: cụ thể là tránh gian lận phiếu.

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Theo sơ đồ chia sẻ bí mật Shamir ngƣỡng (t,n), khóa bí mật s có thể đƣợc chia sẻ cho n thành viên Aj (1 j n), mỗi ngƣời sở hữu một mảnh sj. Việc khôi phục khóa bí mật s chỉ có thể đƣợc thực hiện khi có ít nhất t thành viên nhất trí.

Khóa bí mật s đƣợc khôi phục lại theo công thức jA

A j j s s , , trong đó j A l A j j l l \ , là hệ số Lagrange.

Mỗi thành viên Ajgiữ bí mật mảnh khóa sj, nhƣng công khai giá trị

j

h sj

g .

Không cần khóa gốc s, bản rõ m có thể tính đƣợc từ các mảnh khóa sj theo giao thức:

1). Mỗi thành viên Aj công khai sj

j x

w và chứng minh không tiết lộ thông tin về sj, bằng cách cho biết: logg hj logxwj .

(Chú ý : sj j x w suy ra xwj xxsj sj log log sj j g h suy ra j s g j gh g j s log log ) 2). Tính Bản rõ m theo công thức : A j j A j s s s j jA jA A j A j j w y x y x y x y m , , , . .

Trong đó A là tập con các thành viên truyền các chứng minh không tiết lộ thông tin.

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Hình 3.1: Sơ đồ chia sẻ ngƣỡng A (t,m) trong giai đoạn kiểm phiếu 3.3. Chƣơng trình thử nghiệm

3.3.1. Môi trường cài đặt và thử nghiệm

Chƣơng trình thử nghiệm đƣợc viết bằng ngôn ngữ C#.Net trên bộ Visual Studio 2012 sử dụng phiên bản Net Framework 4.0. Dữ liệu của chƣơng trình đƣợc lƣu trữ trong hệ quản trị cơ sở dữ liệu Microsoft Access.

3.3.2. Phát biểu bài toán

Với sự phát triển của khoa học kỹ thuật, nhu cầu trao đổi thông tin nhanh chóng và tiết kiệm thì hình thức họp trực tuyến, lấy ý kiến thăm dò dƣ luận về các vấn đề quan trọng trong xã hội đƣợc sử dụng phổ biến. Trong hình thức họp trực tuyến, khi cần lấy biểu quyết về một vấn đề nào đó thì biểu quyết giơ tay không hiệu quả và thiếu tính khách quan, bên cạnh đó do yêu cầu muốn ẩn danh ý kiến biểu quyết của các đại biểu. Trong hình thức lấy ý kiến thăm dò dƣ luận, số lƣợng ngƣời tham gia lấy ý kiến đông, thuộc các thành phần, vùng miền khác nhau để đảm bảo tính chính xác và khách quan thì cần có hệ thống bầu cử từ xa để dễ dàng thực hiện việc lấy ý kiến nhƣ lấy ý kiến dƣ luận trên mạng Internet, mạng điện thoại di động. Ƣu điểm của các cuộc họp, khảo sát thăm dò ý kiến trực tuyến đó là: cử tri (ngƣời cho ý kiến) đƣợc ẩn danh, ban kiểm phiếu sẽ không biết cử tri biểu quyết là đồng ý hay không đồng ý, ban kiểm phiếu chỉ có thể biết đƣợc tổng số phiếu bầu nhƣng không biết đƣợc nội dung từng lá phiếu.

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Từ yêu cầu đó, luận văn đƣa ra phƣơng án giải quyết dựa trên tính chất đồng cấu của hệ mã hóa trên đƣờng cong Elliptic kết hợp với sơ đồ chia sẻ bí mật ngƣỡng Shamir.

Luận văn sử dụng chƣơng trình mô phỏng nhằm kiểm chứng tính đúng đắn của bài toán kết hợp sơ đồ chia sẻ bí mật Shamir và hệ mã hóa trên đƣờng cong Elliptic ứng dụng trong bỏ phiếu lấy ý kiến về việc áp dụng chuẩn tin học và ngoại ngữ đối với sinh viên.

Dữ liệu đầu vào của chƣơng trình là các lá phiếu hợp lệ của cử tri. Với chƣơng trình mô phỏng bỏ phiếu lấy ý kiến về việc áp dụng chuẩn tin học và ngoại ngữ đối với sinh viên, trên lá phiếu có ba sự lựa chọn: “A. Có, nên áp dụng đối với sinh viên”, “B. Không, như thế sẽ gây khó khăn cho sinh viên”, “C. Tôi không quan tâm tới vấn đề này” . Lá phiếu hợp lệ là lá phiếu có chọn một trong ba phƣơng án trên.

Dữ liệu ra của chƣơng trình là bảng kết quả thống kê số phiếu bầu của từng phƣơng án, phƣơng án đƣợc lựa chọn nhiều nhất. Và quan trọng nhất là kết quả của chƣơng trình phải đảm bảo an toàn, trung thực đáp ứng đƣợc các tính chất của một cuộc bầu cử điện tử: tính bí mật, tính toàn vẹn, yêu cầu xác thực lá phiếu.

3.3.3. Thiết kế phần mềm

Để đảm bảo đƣợc cuộc bỏ phiếu lấy ý kiến dƣ luận về việc áp dụng chuẩn tin học và ngoại ngữ đối với sinh viên cho kết quả trung thực đáp ứng đƣợc các tính chất của cuộc bầu cử điện tử nhƣ: tính bí mật, tính toàn vẹn, yêu cầu xác thực lá phiếu thì cần áp dụng một số kỹ thuật bảo đảm an toàn thông tin nhƣ: mã hóa, chia sẻ bí mật, chữ ký số, chứng minh không tiết lộ thông tin, … Mỗi kỹ thuật trên là một bài toán nhỏ trong chuỗi các bài toán đảm bảo an ninh thông tin của cuộc bầu cử điện tử.

Cụ thể trong luận văn này tác giả đi sâu vào nghiên cứu kỹ thuật mã hóa trên đƣờng cong Elliptic, sơ đồ chia sẻ bí mật Shamir. Với các yêu cầu đó ta phải giải quyết các bài toán con sau:

Bài toán 1: Mã hóa lá phiếu

Input: Bản rõ lá phiếu hợp lệ của cử tri, tham số a,b, số nguyên tố p.

Một phần của tài liệu 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ử (Trang 51)

Tải bản đầy đủ (PDF)

(74 trang)