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

nghiên cứu kết hợp sơ đồ chia sẻ bí mật shamir và hệ mã hóa elgamal, ứng dụng trong bỏ 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.58 MB, 70 trang )



Số hóa bởi Trung tâm Học liệu

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CNTT&TT THÁI NGUYÊN



NGUYỄN HẢI TRƢỜNG




NGHIÊN CỨU KẾT HỢP SƠ ĐỒ CHIA SẺ BÍ MẬT
SHAMIR VÀ HỆ MÃ HÓA ELGAMAL, ỨNG DỤNG
TRONG BỎ PHIẾU ĐIỆN TỬ





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









THÁI NGUYÊN, 2014


Số hóa bởi Trung tâm Học liệu

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CNTT&TT THÁI NGUYÊN



NGUYỄN HẢI TRƢỜNG



NGHIÊN CỨU KẾT HỢP SƠ ĐỒ CHIA SẺ BÍ MẬT
SHAMIR VÀ HỆ MÃ HÓA ELGAMAL, ỨNG DỤNG
TRONG BỎ PHIẾU ĐIỆN TỬ

Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01


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



NGƢỜI HƢỚNG DẪN KHOA HỌC
TS. VŨ MẠNH XUÂN





THÁI NGUYÊN, 2014



Số hóa bởi Trung tâm Học liệu

i
LỜI CAM ĐOAN

Tên tôi là: Nguyễn Hải Trƣờng
Sinh ngày: 05/11/1980
Học viên lớp cao học CHK11G - Trƣờng Đại học Công nghệ thông tin và
Truyền thông – Đại học Thái Nguyên.
Hiện đang công tác tại: Trƣờng THPT Ỷ La
Xin cam đoan: Đề tài “Nghiên cứu kết hợp sơ đồ chia sẻ bí mật Shamir và hệ
mã hóa Elgamal, ứng dụng trong bỏ phiếu điện tử” do Thầy giáo TS. Vũ Mạnh
Xuân hƣớng dẫn là công trình nghiên cứu của riêng tôi. Tất cả tài liệu tham khảo đều
có nguồn gốc, xuất xứ rõ ràng.
Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng nhƣ nội dung
trong đề cƣơng và yêu cầu của thầy giáo hƣớng dẫn. Nếu sai tôi hoàn toàn chịu trách
nhiệm trƣớc hội đồng khoa học và trƣớc pháp luật.
Thái Nguyên, ngày tháng năm 2014
TÁC GIẢ LUẬN VĂN








Số hóa bởi Trung tâm Học liệu

ii
LỜI CẢM ƠN

Sau sáu tháng nghiên cứu và làm việc nghiêm túc, đƣợc sự động viên, giúp đỡ
và hƣớng dẫn tận tình của Thầy giáo hƣớng dẫn TS. Vũ Mạnh Xuân, luận văn với đề
tài “Nghiên cứu kết hợp sơ đồ chia sẻ bí mật Shamir và hệ mã hóa Elgamal, ứng
dụng trong bỏ phiếu điện tử” đã hoàn thành.
Tôi xin bày tỏ lòng biết ơn sâu sắc đến:
Thầy giáo hƣớng dẫn TS. Vũ Mạnh Xuân đã tận tình chỉ dẫn, giúp đỡ tôi hoàn
thành luận văn này.
Trƣờng THPT Ỷ La đã tạo điều kiện về mặt thời gian giúp tôi yên tâm học tập.
Khoa sau Đại học Trƣờng Đại học công nghệ thông tin và truyền thông đã giúp
đỡ tôi trong quá trình học tập cũng nhƣ thực hiện luận văn.
Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp và gia đình đã động viên,
khích lệ, tạo điều kiện giúp đỡ tôi trong suốt quá trình học tập, thực hiện và hoàn
thành luận văn này.
TÁC GIẢ LUẬN VĂN





Số hóa bởi Trung tâm Học liệu

iii
MỤC LỤC

LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
DANH MỤC HÌNH VẼ iii
DANH MỤC BẢNG BIỂU v
MỞ ĐẦU 1
CHƢƠNG 1. BỎ 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 về bỏ phiếu 4
1.1.2. Khái niệm bỏ phiếu điện tử 4
1.1.3. Các thành phần trong hệ thống bỏ phiếu điện tử 5
1.1.4. Các giai đoạn bỏ phiếu điện tử 5
1.2. Mật mã trong bỏ phiếu điện tử 6
1.2.1. Kiểm tra tổng các phiếu bầu thay vì kiểm tra từng lá phiếu 6
1.2.2. Mật mã ngƣỡng giúp đạt tính phân quyền trong kiểm phiếu 9
1.2.3. Mã hóa xác suất giúp giữ vững tính ẩn danh của phiếu bầu 9
1.2.4. Chứng minh tƣơng tác để chống việc bán phiếu bầu 10
Kết luận chƣơng 1 11
CHƢƠNG 2. CƠ SỞ LÝ THUYẾT 13
2.1. Tổng quan về an toàn và bảo mật thông tin 13
2.1.1. Sự cần thiết của bảo đảm an toàn thông tin 13
2.1.2. Khái niệm an toàn thông tin 13
2.1.3. Các phƣơng pháp bảo vệ thông tin 15
2.1.4. An toàn thông tin bằng mật mã 16
2.1.5. Vai trò của hệ mật mã 17
2.1.6. Phân loại hệ mật mã 18
2.1.7. Tiêu chuẩn đánh giá hệ mật mã 19



Số hóa bởi Trung tâm Học liệu


2.2. Cơ sở toán học của mật mã 19
2.2.1. Nhóm , vành và không gian Zp 19
2.2.2. Bài toán logarit rời rạc 20
2.3. Mã hóa 21
2.3.1. Mã hóa dữ liệu 21
2.3.2. Phân loại 24
2.3.3. Ƣu khuyết điểm của hai phƣơng pháp 28
Kết luận chƣơng 2 29
CHƢƠNG 3. ỨNG DỤNG HỆ MẬT ELGAMAL SƠ ĐỒ CHIA SẺ BÍ MẬT
TRONG BỎ PHIẾU ĐIỆN TỬ 30
3.1. Hệ mật mã khóa công khai 30
3.1.1. Tổng quan về hệ mật mã khóa công khai 30
3.1.2. Hệ mật Elgamal 31
3.2. Chia sẻ khóa bí mật 33
3.2.1. Kỹ thuật Chia sẻ khóa bí mật (Secret Sharing) 33
3.2.2. Các sơ đồ chia sẻ bí mật: 34
3.3. Ứng dụng hệ mã hóa đồng cấu Elgamal và sơ đồ chia sẻ bí mật Shamir trong
một số bài toán bỏ phiếu điện tử 38
3.3.1. Ứng dụng hệ mã hóa Elgamal cho bỏ phiếu đồng ý /không đồng ý 38
3.3.2. Sơ đồ chia sẻ bí mật Shamir kết hợp với hệ mã hóa Elgamal cho bài toán
loại bỏ phiếu chọn L trong K. 40
3.4. Khảo sát thực trạng tại Văn phòng UBND Tỉnh Tuyên Quang 44
3.4.1. Giới thiệu chung về Văn phòng UNND Tỉnh Tuyên Quang 44
3.4.2. Thực trạng các cuộc bỏ phiếu/bầu cử tại VP UBND Tỉnh 46
3.4.3. Một số mẫu biểu liên quan 46
3.5. Xây dựng chƣơng trình bỏ phiếu điện tử 50
3.5.1. Khảo sát thực trạng và phát biểu bài toán 50
3.5.2. Chƣơng trình demo 51
3.5.3. Một số kết quả đạt đƣợc 54

Kết luận chƣơng 3 59
KẾT LUẬN 61
TÀI LIỆU THAM KHẢO 62
iv


Số hóa bởi Trung tâm Học liệu

DANH MỤC HÌNH VẼ

Hình 2.1 Mã hoá với khoá mã và khoá giải giống nhau 18
Hình 2.2 Quy trình mã hóa dữ liệu 22
Hình 2.3 Sơ đồ mã hóa và giải mã 23
Hình 2.4 Sơ đồ mã hóa và giải mã bằng khóa riêng 25
Hình 2.5 Sơ đồ mã hóa và giải mã bằng khóa công khai 26
Hình 3.1 Sơ đồ mã hóa công khai 30
Hình 3.2 Sơ đồ bỏ phiếu đồng ý/ không đồng ý 39
Hình 3.3 Sơ đồ bỏ phiếu chọn L trong K 42
Hình 3.4 Sơ đồ tổ chức Văn phòng UBND Tỉnh Tuyên Quang 45
Hình 3.5 Thủ tục qui trình bầu cử hội đồng nhân dân cấp tỉnh 49
Hình 3.6 Mẫu danh sách cử tri 50
Hình 3.7 Giao diện chƣơng trình chính 55
Hình 3.8 Giao diện chƣơng trình bỏ phiếu có/không đồng ý 56
Hình 3.9 Giao diện chƣơng trình bỏ phiếu chọn L trong K 58

v


Số hóa bởi Trung tâm Học liệu


DANH MỤC BẢNG BIỂU

Bảng 2.1 Các ƣu khuyết điểm của hệ thống khóa bí mật (khóa đối xứng) 28
Bảng 2.2 Các ƣu khuyết điểm của hệ thống mã hóa khóa công khai 28
Bảng 3.1 Một số ví dụ về mã hóa và giải mã 32
Bảng 3.2 Các file chính để minh họa Bài toán bỏ phiếu có/không đồng ý 52
Bảng 3.3 Các file chính để minh họa Bài toán bỏ phiếu “chọn L trong K” 54
1

Số hóa bởi Trung tâm Học liệu

MỞ ĐẦU
1. Tính khoa học và cấp thiết của đề tài
Trong những năm gần đây, sự phát triển, hội tụ và tƣơng tác các xu thế công nghệ
đã mở ra nhiều cơ hội phát triển cho Chính phủ điện tử. Một trong những phƣơng diện
mới đánh dấu sự phát triển của Chính phủ điện tử và đã đƣợc kiểm chứng ở một số
nƣớc phƣơng Tây là bỏ phiếu điện tử.
Phƣơng thức bỏ phiếu truyền thống gặp phải một số hạn chế: với những cử tri ở
vùng sâu vùng xa, khoảng cách về địa lý sẽ bị hạn chế việc thực hiện đƣợc quyền bỏ
phiếu của mình; tính độc lập, cá nhân và quyền riêng tƣ của cử tri sẽ bị ảnh hƣởng lớn;
tính minh bạch, niềm tin vào số lần bỏ phiếu của một cử tri; việc đảm bảo an ninh cho
bầu cử, tính minh bạch kết quả bầu cử, sự tham gia và thái độ tham gia của những cử
tri trẻ đối với cuộc bầu cử; tính an ninh của những lá phiếu trong quá trình vận chuyển
và kiểm phiếu. Cùng với đó là quá trình chuẩn bị cơ sở vật chất, đào tạo nhân lực phục
vụ cho cuộc bầu cử. Đây quả là những khó khăn, thách thức vô cùng lớn.
Trong khi đó, với hình thức bỏ phiếu điện tử, mọi ngƣời dân đều có thể tự tay bỏ
những lá phiếu của mình cho dù họ đang ở đâu, làm gì. Hơn nữa, nó còn đảm bảo
đƣợc tính cá nhân và quyền riêng tƣ trong lá phiếu của mình, đảm bảo an ninh do
không mất quá trình vận chuyển “thủ công” hòm phiếu từ nhiều địa điểm khác nhau
mà nó đã đƣợc lƣu trữ ngay lập tức vào hệ thống cơ sở dữ liệu. Thay vì đào tạo một

đội ngũ cán bộ khổng lồ để phục vụ cho công tác bầu cử, việc bỏ phiếu điện tử sẽ giản
tiện tới mức tối đa về nhân lực. Và một điều đặc biệt, hình thức bỏ phiếu này sẽ đáp
ứng nhu cầu bầu cử theo cách của những ngƣời trẻ đó có thể là bầu cử trực tuyến, có
thể là bầu cử qua điện thoại hoặc bầu cử thông qua Facebook, Twiter, Youtube…
Thông qua hệ thống Interner và những thiết bị thông minh, chính phủ có thể dễ dàng
kết nối tất cả quá trình trƣớc, trong và sau bầu cử nhanh, gọn, nhẹ; thu hút đƣợc đông
đảo cử tri và không phân biệt đối tƣợng, vị trí địa lý. Điều này chắc chắn sẽ giảm bớt
sức nặng tối đa cho cuộc bầu cử và mang lại thành công cho nó. Qua đó cũng thấy
đƣợc tính ƣu việt của hình thức bỏ phiếu điện tử. Với chính phủ, bỏ phiếu điện tử là
một bƣớc cụ thể hóa của chính phủ điện tử và đƣợc đánh giá là giải pháp hữu hiệu cho
việc bầu cử của các quốc gia.
Trên thế giới, khái niệm bỏ phiếu điện tử (e-voting) không còn 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 và
2

Số hóa bởi Trung tâm Học liệu

Ấn Độ, 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.
Tại Việt Nam bỏ phiếu điện tử mới chỉ dừng ở mục đích bầu chọn, bình chọn (bầu
chọn Vịnh Hạ Long là di sản Thiên nhiên thế giới, bình chọn bài hát hay trên sóng
truyền hình ) song chƣa thể triển khai vào bầu cử Quốc hội do còn nhiều hạn chế (vấn
đề ngân sách, giáo dục ý thức cho ngƣời dân, quá trình phổ biến, huấn luyệ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.
Để hoạt động bỏ phiếu hay bỏ phiếu phát huy đúng tác dụng thì cần đảm bảo hai

yêu cầu về tính kiểm tra được và tính tự do trong lựa chọn [1], [2], [9]. Điều này chỉ
có thể đƣợc thực hiện nhờ mật mã. Ngƣời đầu tiên đặt nền móng cho việc xây dựng
các hệ bỏ phiếu tích hợp các phƣơng pháp mật mã là Chaum vào năm 1981 [3]. Kể từ
đó đến nay, các công trình công bố trên thế giới đều tập trung vào xây dựng ba mô
hình bỏ phiếu cơ bản là: mô hình xáo trộn phiếu [3], mô hình chữ ký mù [4] và mô
hình sử dụng mã hóa đồng cấu [6],[7],[9]. Trong đó, do tính ƣu việt trong giải quyết
vấn đề tính kiểm tra đƣợc và tính tự do trong lựa chọn mà gần đây, mô hình mã hóa
đồng cấu đƣợc tập nghiên cứu nhiều nhất. Hiện tại ở Việt Nam, các công trình nhƣ [1],
[2] mới chỉ dừng lại ở việc đề xuất áp dụng các mô hình bỏ phiếu mà chƣa thực sự
triển khai trên một ứng dụng cụ thể.
Chính vì vậy, đƣợc sự hƣớng dẫn của Thầy giáo, TS. Vũ Mạnh Xuân, tác giả lựa
chọn đề tài luận văn tốt nghiệp “Nghiên cứu kết hợp sơ đồ chia sẻ bí mật Shamir và
hệ mã hóa Elgamal, ứng dụng trong bỏ phiếu điện tử” với mong muốn áp dụng các
kiến thức đã đƣợc học, xây dựng thử nghiệm mô hình bỏ phiếu điện tử tại văn phòng
ủy ban nhân dân tỉnh Tuyên Quang.
2. Mục tiêu, đối tƣợng và phạm vi nghiên cứu của đề tài
Qua việc phân tích, khảo sát và đánh giá thực trạng bỏ phiếu điện tử tại Việt Nam
cũng nhƣ thế giới, kết hợp với nghiên cứu các kỹ thuật, phƣơng pháp, thuật toán mã
hóa, mục tiêu của luận văn đƣợc xác định là: Ứng dụng tính chất đồng cấu của hệ mã
hóa khóa công khai Elgamal và kỹ thuật chia sẻ khóa bí mật để giải quyết hai bài toán
3

Số hóa bởi Trung tâm Học liệu

bỏ phiếu điện tử phổ biến nhất hiện nay: bỏ phiếu có/không đồng ý và bỏ phiếu chọn
L trong K.
Với bài toán bỏ phiếu có/không , luận văn lựa chọn hệ mã hoá Elgamal do hệ mã này có
tính chất đồng cấu với phép cộng và phép nhân, nhờ đó có thể tính đƣợc kết quả trong cuộc
bỏ phiếu “có/không” thông qua tổng các phiếu bầu mà không cần giải mã từng lá phiếu.
Với bài toán bỏ phiếu “chọn L trong K”, ngoài yêu cầu mã hóa đƣợc nội dung lá

phiếu còn phải đảm bảo sự minh bạch, chính xác trong kiểm tra kết quả bỏ phiếu trong
điều kiện các cử tri không tin vào một số thành viên BKP. Vì vậy, tác giả đề xuất việc
kết hợp sơ đồ chia sẻ bí mật có ngƣỡng giới hạn Shamir và hệ mã hóa đồng cấu
Elgamal để giải bài toán “chọn L trong K”.
3. Phƣơng pháp luận nghiên cứu
Phƣơng pháp nghiên cứu lý thuyết: Tổng hợp tài liệu; Nghiên cứu các tài liệu về
bỏ phiếu điện tử; Nghiên cứu về hệ mã hóa công khai, hệ mật Elgamal, sơ đồ chia sẻ
bí mật Shamir và kết hợp sơ đồ chia sẻ bí mật Shamir và hệ mật Elgamal; Tìm hiểu
các kiến thức liên quan.
Phƣơng pháp nghiên cứu thực nghiệm: Sau khi nghiên cứu lý thuyết, phát biểu
bài toán, đƣa ra giải pháp xử lý; Mô phỏng thử nghiệm chƣơng trình trên phần mềm
Matlab; Đánh giá các kết quả đạt đƣợc.
Phƣơng pháp trao đổi khoa học: Thảo luận, xemina, lấy ý kiến chuyên gia, công
bố các kết quả nghiên cứu trên tạp chí khoa học.
4. Nội dung và bố cục của luận văn
Nội dung luận văn bao gồm 3 chƣơng:
Chƣơng 1: “Bỏ phiếu điện tử” Chƣơng này giới thiệu tổng quan về bỏ phiếu
điện tử, các thành phần chính trong hệ thống và qui trình bỏ phiếu điện tử. Vai trò
của mật mã trong bỏ phiếu điện tử, các tình huống và bài toán cụ thể phát sinh trong
quá trình bỏ phiếu điện tử cũng nhƣ phƣơng án giải quyết.
Chƣơng 2: “Cơ sở lý thuyết” Từ những bài toán, vấn đề đã đặt ra trong phần mở
đầu và chƣơng 1, chƣơng 2 trình bày tổng quan về an toàn và bảo mật thông tin, cơ sở lý
thuyết về toán học và các phƣơng pháp mã hóa để giải quyết các bài toán đặt ra.
Chƣơng 3: “ Ứng dụng hệ mật Elgamal và sơ đồ chia sẻ bí mật trong bỏ phiếu
điện tử”, trong chƣơng này đi sâu vào trình bày và phân tích hệ mã hóa công khai
Elgamal cùng với tính chất đồng cấu của hệ mật này, tiếp đến là sơ đồ chia sẻ bí mật

4

Số hóa bởi Trung tâm Học liệu


theo ngƣỡng Shamir. Từ đó chỉ ra ứng dụng của hệ mật Elgamal trong bài toán “bỏ
phiếu Có/ không”; Phối hợp hệ mật Elgamal và sơ đồ chia sẻ bí mật Shamir để giải
quyết bài toán “bỏ phiếu chọn L trong K”. Phần cuối chƣơng khảo sát bài toán bầu cử
tại UBND Tỉnh Tuyên Quang, từ đó làm căn cứ để xây dựng chƣơng trình demo cho hai
bài toán “bỏ phiếu Có/ không” và “bỏ phiếu chọn L trong K”.

1. CHƢƠNG 1. BỎ PHIẾU ĐIỆN TỬ
Chƣơng 1 nhằm phân tích nhấn mạnh ƣu điểm của bỏ phiếu điện tử so với bỏ phiếu
thông thƣờng, đồng thời khẳng định vai trò của mật mã trong việc xây dựng các mô
hình bỏ phiếu điện tử. Trƣớc tiên, phần đầu chƣơng sẽ tổng hợp các kiến thức từ tài
liệu [2], [1] để giới thiệu tổng quan về bỏ phiếu điện tử nhƣ: khái niệm, các thành
phần, các giai đoạn trong hệ thống bỏ phiếu điện tử. Tiếp đó, nội dung chƣơng tập
trung vào phân tích ứng dụng của mật mã trong việc kiểm tra tổng các phiếu bầu thay
vì kiểm tra từng lá phiếu, phân quyền trong kiểm phiếu , giữ vững tính ẩn danh của
phiếu bầu và cuối cùng là chứng minh tƣơng tác để chống việc bán phiếu bầu. Những
nội dung trên cũng đƣợc tổng hợp từ [2],[8], [10] .
1.1. Tổng quan về bỏ phiếu điện tử
1.1.1. Khái niệm về bỏ phiếu
Theo [1] thì 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 bảo
đảm 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 chỉ
đƣợ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.

1.1.2. Khái niệm bỏ phiếu điện tử
Ngƣời ta bỏ phiếu để bầu cử các chức vụ, chức danh hay để thăm dò dƣ luận về
một kế hoạch, chính sách nào đó. Hiện nay có 2 loại bỏ phiếu chính. Bỏ phiếu trực tiếp
5

Số hóa bởi Trung tâm Học liệu

tại hòm phiếu bằng các lá phiếu in trên giấy. Bỏ phiếu từ xa bằng các lá phiếu “số hóa”
tạm gọi là các lá phiếu điện tử từ các máy tính cá nhân trên mạng, trên điện thoại di
động…Nó cũng đƣợc gọi là bỏ phiếu điện tử.
Bỏ phiếu điện tử là bỏ phiếu bằng các phƣơng pháp điện tử. Các hệ thống bỏ phiếu
điện tử cho phép cử tri sử dụng các kỹ thuật mã hóa, để giữ bí mật lá phiếu điện tử
trƣớc khi chuyển đến hòm phiếu qua các kênh công khai. Cử tri có thể bỏ phiếu qua
Internet, các máy bỏ phiếu tự động.
1.1.3. Các thành phần trong hệ thống bỏ phiếu điện tử
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 không?
Ban điều hành (ĐH): 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ý (Đ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 (KT): 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 (KP): 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 ĐK, quá trình
mã hóa và giải mã lá phiếu.

Hệ thống ký: Giúp ban ĐK ký vào các định danh cử tri.
Hệ thống kiểm phiếu: Giúp ban KP tính kết quả cuộc bầu cử.
Bảng niêm yết công khai (BB): 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.4. Các giai đoạn bỏ phiếu điện tử
Bỏ phiếu điện tử gồm 3 giai đoạn chính: Đăng ký, bỏ phiếu, kiểm phiếu và
công bố kết quả.
Giai đoạn đăng ký bỏ phiếu:
6

Số hóa bởi Trung tâm Học liệu

Chuẩn bị các thành phần kỹ thuật của hệ thống bỏ phiếu cũng nhƣ cơ cấu tổ chức.
Ban KP, ban ĐK, ban KT đƣợc chỉ định. Danh sách các cử tri cũng đƣợc thiết lập.
Trong bƣớc này, quan trọng nhất là cơ chế định danh ngƣời gửi dùng trong quá trình
bỏ phiếu của cử tri.
Giai đoạn bỏ phiếu:
Các cử tri thực hiện bỏ phiếu. Các cử tri phải có một hình thức định danh tính hợp
lệ của lá phiếu. Thêm vào đó, một số kỹ thuật mã hóa cần đƣợc áp dụng để bảo đảm
tính toàn vẹn của lá phiếu.
Giai đoạn kiểm phiếu và công bố kết quả:
Ban KP sẽ tính toán kết quả dựa vào các lá phiếu đã thu thập, sau đó công bố kết
quả.
1.2. Mật mã trong bỏ phiếu điện tử
1.2.1. Kiểm tra tổng các phiếu bầu thay vì kiểm tra từng lá phiếu
Để hoạt động bỏ phiếu hay bỏ phiếu phát huy đúng tác dụng thì cần đảm bảo hai
yêu cầu:
- Tính kiểm tra được: việc kiểm phiếu đƣợc kiểm tra một cách công khai và mỗi
cử tri đều có thể kiểm tra chắc chắn rằng lá phiếu của mình đã đƣợc tính.
- Tính tự do trong lựa chọn: mỗi cử tri đều đƣợc đảm bảo tuyệt đối quyền lựa

chọn lá phiếu của mình, không bị ai ép buộc và cũng không thể bán phiếu bầu
của mình cho bất cứ bên nào.
Tuy nhiên, các hệ thống bỏ phiếu truyền thống không đạt đƣợc đồng thời hai yêu cầu
trên. Trong một số cuộc bỏ phiếu, để đảm bảo yêu cầu thứ nhất thì ngƣời ta công khai
danh sách ai đã bầu cho ai, vì thế việc kiểm phiếu là hoàn toàn công khai và ai cũng có
thể kiểm tra phiếu bầu của mình đã đƣợc tính. Nhƣng, điều đó lại không đảm bảo
quyền hoàn toàn tự do lựa chọn của cử tri: ngƣời bầu có thể bị khống chế buộc phải
bầu cho một ứng cử viên hoặc ngƣời bầu có thể bán lá phiếu của mình vì chứng minh
đƣợc cho ngƣời mua thấy mình đã bầu cho ai.
Để tránh những hạn chế của việc cử tri bị khống chế hoặc việc mua bán phiếu bầu,
hầu hết các cuộc bỏ phiếu chọn việc đảm bảo yêu cầu thứ hai bằng cách ẩn danh lá
phiều bầu: cử tri đến trung tâm bỏ phiếu, đƣợc phát một lá phiếu bầu, chọn ứng cử
phiên và cho lá phiếu ẩn danh vào thùng phiếu. Cử tri do vậy hoàn toàn tự do lựa chọn
và bản thân họ khi ra khỏi phòng bỏ phiếu cũng không thể chứng minh là mình đã bỏ
7

Số hóa bởi Trung tâm Học liệu

cho ai và do vậy cũng không bán đƣợc phiếu bầu. Cách làm này lại không thể đảm bảo
yêu cầu thứ nhất: một khi lá phiếu đã cho vào hòm phiếu, cử tri buộc phải đặt tin
tƣởng vào ngƣời kiểm phiếu và không có cách nào chắc chắn đƣợc liệu lá phiếu của
mình sẽ đƣợc tính và cũng không thể kiểm tra liệu lá phiếu của mình có bị thay đổi.
Cả hai tính chất kiểm tra đƣợc và tự do trong lựa chọn của một hệ thống bỏ phiếu
đều rất cơ bản nhƣng luôn bị coi là đối ngƣợc nhau và do vậy không thể cùng đạt
đƣợc. Tuy nhiên, các phƣơng pháp mật mã chứng tỏ rằng ta có thể xây dựng các hệ bỏ
phiếu đạt đƣợc cả hai yêu cầu trên.
Để đồng thời đạt tính kiểm tra đƣợc và tính tự do trong lựa chọn, ta phải làm sao
kết hợp đƣợc cả hai phƣơng pháp bỏ phiếu nêu trên: vừa công bố danh sách các phiếu
bầu để cử tri có thể kiểm tra phiếu của mình đã đƣợc tính, vừa đảm bảo sự ẩn danh cho
cử tri trong lựa chọn. Một cách tự nhiên, các hàm mã hóa đƣợc sử dụng để mã lựa

chọn của cử tri nhằm che dấu lựa chọn của cử tri trong phiếu bầu. Mặt khác, để đảm
bảo tính bí mật cho việc kiểm phiếu, chìa khóa giải mã phải đƣợc giữ kín và không thể
chia sẻ với cử tri. Từ đó dẫn tới viêc sử dụng các hệ mã hóa khóa công khai: khóa để
mã hóa là công khai và việc mã hóa lựa chọn đƣợc thực hiện dễ dàng mà không cần
biết thông tin bí mật nào, khóa để giải mã đƣợc giữ bí mật và vì vậy chỉ có những
ngƣời có thầm quyền mới có thể kiểm phiếu bầu.
Với việc dùng một thuật toán mã hóa
E
với cặp khóa công khai
pk
và bí mật
sk
,
lá phiếu
X
sẽ bị mã thành
( , )
A
C E pk X
và bất kể ai không có khóa bí mật
sk
sẽ không
thể tính đƣợc
X
từ
A
C
. Khi đó, nếu cử tri
A
bầu cho ứng cử viên

X
thì thay vì công bố
( , )AX
, ngƣời ta sẽ công bố
( ,C )
A
A
.
Tuy nhiên, việc sử dụng mã hóa khóa công khai một cách đơn giản nhƣ trên là
chƣa thể đủ để giải quyết vấn đề, nhất là trong việc đảm bảo tính chất ẩn danh của cử
tri trong phiếu bầu. Trở ngại là nếu ta vẫn sử dụng phƣơng pháp kiểm phiếu thông
thƣờng thì cần giải mã lá phiếu của
A
và do vậy lựa chọn của
A
không còn là bí mật
với những ngƣời kiểm phiếu. Tính tự do trong lựa chọn yêu cầu sự lựa chọn
của
A
đƣợc bí mật không chỉ với ngƣời quan sát mà ngay cả với ngƣời kiểm phiếu.
Giải quyết vấn đề bí mật phiếu bầu cho cử tri đã có một số phƣơng án nhƣ việc
dùng các hệ mix-net (xáo trộn phiếu) hay chữ ký mù (blind signature) nhƣng có lẽ ý
tƣởng nổi bật nhất là phƣơng pháp gộp phiếu bầu, đƣợc đề nghị lần đầu tiên bởi Cohen
và Fischer Error! Reference source not found Trái với phƣơng pháp kiểm từng
phiếu một, tất cả các phiếu bầu đƣợc gộp lại với nhau và việc kiểm phiếu sẽ đƣợc thực
8

Số hóa bởi Trung tâm Học liệu

hiện duy nhất trên kết quả gộp. Kết quả là ta sẽ có trực tiếp tổng các phiếu bầu cho

từng ứng cử viên mà không cần phải kiểm tra từng phiếu đơn lẻ. Đây là một ý tƣởng
trọng tâm cho việc tiến tới đảm bảo đồng thời tính kiểm tra đƣợc và tính tự do trong
lựa chọn của cử tri:
- Lá phiếu của mỗi cử tri đƣợc công bố công khai, nhƣng lựa chọn thì đƣợc mã
hóa để không ai biết ai bầu cho ai. Do vậy, A sẽ thấy đƣợc lá phiếu của mình đã
đến đƣợc trung tâm và không bị thay đổi kết quả lựa chọn.
- Khi kiểm phiếu, thay vì giải mã từng lá phiếu và dẫn đến việc phá vỡ tính ẩn
danh của lá phiếu, tất cả các lá phiếu sẽ đƣợc gộp lại với nhau một cách công
khai và việc giải mã chỉ thực hiện trên kết quả tổng thể. Do phép gộp là công
khai nên mọi cử tri đều có thể tự thực hiện thao tác này và kiểm tra liệu lá phiếu
của mình đã thực sự đƣợc tính đến.
- Các hệ mã hóa đồng cấu (homomorphic encryption) giúp giải quyết vấn đề trên
một cách tƣơng đối đơn giản. Một hệ mã đồng cấu với phép cộng cho ta tính
chất: gộp hai bản mã lại với nhau (phép gộp, ký hiệu là , có thể là phép cộng,
phép nhân hay một toán tử nào đó) sẽ cho ta bản mã có nội dung là tổng của hai
bản rõ tƣơng ứng:
1 2 1 2
( , ) ( , ) ( , )E pk m E pk m E pk m m

Với một hệ mã có tính chất nhƣ vậy, ta có thể dễ dàng hình dung một cuộc bỏ
phiếu cho ứng cử viên
X

Y
nhƣ sau: mỗi lá phiếu cho
X

( ,1)E pk
và cho
Y


( ,0)E pk
. Lấy gộp của tất cả các lá phiếu rồi giải mã sẽ cho ta tổng số phiếu bầu cho
X
, và từ đó cũng tính đƣợc số phiếu bầu cho
Y
. Nếu có nhiều ứng cử viên hơn là hai,
cách làm cũng gần nhƣ tƣơng tự, với việc mỗi phiếu bầu cho 1 ứng cử viên sẽ đƣợc mã
ở những khoảng số khác nhau. Chẳng hạn nếu có 3 ứng cử viên
, ,ZXY
và số cử tri ít
hơn 100 triệu thì một phiếu bầu cho
X
có thể nhƣ là mã của 1, một phiếu bầu cho
Y
có thể nhƣ là mã của
8
10
, một phiếu bầu cho
Z
có thể nhƣ là mã của
16
10
:
Phiếu cho
X
là mã của 00000000 00000000 00000001
Phiếu cho
Y
là mã của 00000000 00000001 00000000

Phiếu cho
Z
là mã của 00000001 00000000 00000000
Sau khi gộp tất cả các phiếu và giải mã lá phiếu gộp với khóa bí mật
sk
sẽ cho ta
kết quả là
M
và tổng số phiếu bầu cho các ứng cử viên đƣợc xác định trong các
khoảng số tƣơng ứng.
Chẳng hạn với
09670002 04823458 15712347M

9

Số hóa bởi Trung tâm Học liệu

thì có nghĩa ứng cử viên
X
đƣợc 9670002 phiếu, ứng cử viên
Y
đƣợc 4823458 phiếu
và ứng cử viên
Z
đƣợc 15712347 (và thắng cử).

1.2.2. Mật mã ngưỡng giúp đạt tính phân quyền trong kiểm phiếu
Phƣơng án sử dụng mật mã nhƣ trên vẫn đặt ra một vấn đề: việc kiểm phiếu chỉ cần
thực hiện trên kết quả gộp của các phiếu bầu nhƣng nếu ngƣời kiểm phiếu bất chấp
quy tắc mà cố tình giải mã từng lá phiếu để phá tính ẩn danh của lá phiếu thì sao? Ý

tƣởng để giải quyết vấn đề này là hệ thống sẽ phải đƣợc xây dựng để quyền kiểm
phiếu đƣợc phân ra cho nhiều bên và chỉ khi các bên hợp tác với nhau thì việc giải mã
mới thực hiện đƣợc. Khi đó, một mặt việc tính tổng số phiếu bầu vẫn đƣợc đảm bảo
khi tất cả cùng nhau hợp tác giải mã kết quả gộp của tất cả các phiếu bầu, mặt khác lựa
chọn trong từng lá phiếu sẽ chỉ bị lộ khi tất cả các bên kiểm phiếu cùng cấu kết với
nhau làm sai luật. Khi quyền kiểm phiếu đƣợc phân chia cho các bên có lợi ích đối lập
thì việc cùng cấu kết với nhau là rất ít có khả năng xả ra.
Tóm lại, một hệ bỏ phiếu tốt phải đảm bảo tính chất phân quyền kiểm phiếu: không
thể có một phía (một ngƣời) nào có thể tự thực hiên việc kiểm phiếu; quá trình kiểm
phiếu cần sự kết hợp của nhiều bên khác nhau. Tính chất phân quyền kiểm phiếu đƣợc
thực hiện thông qua các hệ mã hóa với ngƣỡng (threshold cryptosystems), đƣợc xem
xét lần đầu bởi Desmedt và Frankel năm 1990. Một hệ mã hóa với ngƣỡng là một hệ
thống gồm nhiều bên, mỗi bên tự thiết lập một cách độc lập một cặp tham số khóa bí
mật/khóa công khai riêng, sau đó khóa công khai cho hệ thống chung đƣợc tính thông
qua các khóa công khai của các bên. Quá trình giải mã chỉ đƣợc thiết lập khi các bên
cùng hợp tác lại với nhau: mỗi bên độc lập dùng khóa bí mật của mình để tính một kết
quả trung gian trên bản mã ; bản mã chỉ đƣợc giải hoàn toàn bởi sự kết hợp các kết quả
trung gian đó.
Các hệ mã hóa ngƣỡng có một đặc tính thú vị: các bên có thể cùng xây dựng một
khóa công khai thực
pk
và một khóa bí mật ảo
sk
tƣơng ứng. Tính chất ảo ở chỗ khóa
bí mật
sk
tồn tại nhƣng không một bên nào biết, và dù không bên nào biết khóa bí mật
nhƣng sự giải mã vẫn có thể thực hiện đƣợc thông qua sự hợp tác giữa các bên.
Trong phạm vi luận văn, tôi sử dụng hệ mã Elgamal – một hệ mã có tính chất đồng
cấu với phép cộng và phù hợp cho việc sử dụng trong các hệ bỏ phiếu điện tử.

1.2.3. Mã hóa xác suất giúp giữ vững tính ẩn danh của phiếu bầu
10

Số hóa bởi Trung tâm Học liệu

Hệ mã dùng trong bỏ phiếu không thể là một hệ mã tất định ở đó tƣơng ứng một
bản rõ chỉ cho duy nhất một bản mã. Thực vậy, khi đó mọi lá phiếu dành cho một ứng
cử viên có mã giống nhau và tính ẩn danh dễ dàng bị phá vỡ. Do vậy, hệ mã sử dụng
bắt buộc phải là một hệ mã xác suất và tƣơng ứng với cùng một lựa chọn sẽ có một tập
rất lớn các bản mã tƣơng ứng. Các hệ mã xác suất đƣợc giới thiệu lần đầu bởi
Goldwasser-Micali năm 1982 Error! Reference source not found. nhằm tăng cƣờng
tính an toàn cho các hệ mã (thực tế hiện nay, điều kiện cần để một hệ mã đạt an toàn
theo mức chuẩn hóa là nó phải là một hệ mã xác suất).
Đối với hệ thống bỏ phiếu điện tử, nay lá phiếu của
A
bầu cho ứng cử viên
X
sẽ có
dạng
( , ( , , ))
A
A C E pk X r
với
r
là một giá trị ngẫu nhiên đủ lớn để khả năng xảy ra
đụng độ (một giá trị ngẫu nhiên trên hai lá phiếu khác nhau) là vô cùng nhỏ. Các hệ
mã hiện dùng trong thực tế nhƣ mã Elgamal hay các phiên bản tăng cƣờng của RSA
đều là các hệ mã xác suất và có tính chất đồng cầu với phép cộng, và do vậy nó đƣợc
sử dụng trong các hệ bỏ phiếu điện tử.
1.2.4. Chứng minh tương tác để chống việc bán phiếu bầu

Tính tự do trong lựa chọn thể hiện ở cả hai khía cạnh:
- Cử tri đƣợc đảm bảo sự ẩn danh trong lá phiếu của mình nhằm tránh bị gây áp
lực trong lựa chọn
- Hệ thống phải đảm bảo là cử tri không có cách nào có thể chủ động để bán
phiếu của mình
Khía cạnh thứ nhất đƣợc đảm bảo thông qua sự mã hóa của lá phiếu. Khi lá phiếu
đƣợc niêm yết
( , ( , , ))
A
A C E pk X r
thì không ai có thể biết là cử tri
X
đƣợc lựa chọn
trong giá trị
A
C
. Ngay cả với những ngƣời kiểm phiếu, thông qua giải mã với ngƣỡng,
cũng không biết lựa chọn của từng lá phiếu. Tuy nhiên, sự ẩn danh này chƣa đủ để
chống lại việc chủ động bán phiếu. Theo cách hình dung tự nhiên, cử tri
A
sẽ tự do
tạo giá trị phiếu bầu cho mình bằng cách chọn
r
và tính mã từ khóa công khai của hệ
thống
( , , )
A
C E pk X r
. Tuy nhiên, khi đó giá trị
A

C
là ẩn danh với tất cả mọi ngƣời
quan sát nhƣng một khi
A
biết giá trị
r
thì sẽ có thể chứng minh là mình đã bầu cho
X
bằng cách đƣa
r

X
cho bất kỳ ai kiểm tra quan hệ
( , , )
A
C E pk X r
. Có khả năng
chứng minh mình đã bầu cho ai sẽ dẫn tới có khả năng bán phiếu bầu của
mình. Benaloh và Tuinstra [4] đã lần đầu nghiên cứu việc xem xét việc ngăn cản cử tri
có khả năng bán phiếu bầu.
11

Số hóa bởi Trung tâm Học liệu

Điểm mấu chốt để ngăn việc bán phiếu bầu là không cho cử tri
A
toàn quyền tạo
lập giá trị lá phiếu
( , , )
A

C E pk X r
. Điều đó có nghĩa là phải làm sao để cử
A
có thể
tính đƣợc giá trị
( , , )
A
C E pk X r
mà lại không biết giá trị ngẫu nhiên
r
. Các hệ mã
ngẫu nhiên hóa đƣợc (randomizable encryption) cho phép ta thực hiện công việc này.
Một hệ mã ngẫu nhiên hóa đƣợc cho phép ta biến đổi một bản

( , , )C E pk X r
của bản rõ
X
sang một bản mã ngẫu nhiên
( , , )C E pk X r
của
cùng bản rõ
X
nhƣng với một giá trị ngẫu nhiên
r
độc lập với
r
. Với tính chất này
, cử tri
A
khởi đầu bằng việc tạo một giá trị mã

( , , )C E pk X r
cho lựa chọn của
mình và gửi cho hệ thống, hệ thống sẽ làm ngẫu nhiên hóa giá trị lá phiếu của
A

sang một bản mã ngẫu nhiên
( , , )
A
C E pk X r
của cùng lựa chọn
X
và gửi lại cho
A
. Khi đó
A
C
sẽ là giá trị lá phiếu của
A
nhƣng
A
không biết giá trị
r
và không
chứng minh cho ai khác biết đƣợc rằng
A
C
là bản mã của lựa chọn
X
và vì thế
không thể bán đƣợc phiếu bầu. Mặt khác, hệ thống nhận phiếu chỉ có khả năng làm

ngẫu nhiên bản mã chứ không biết đƣợc nội dung lựa chọn
X
của cử tri
A
và tính
ẩn danh trong lựa chọn vẫn đƣợc đảm bảo.
Các hệ mã đồng cấu đều có tính chất ngẫu nhiên hóa đƣợc và do vậy có thể đƣợc
sử dụng trực tiếp cho việc chống bán phiếu của cử tri. Tuy nhiên, phƣơng án trên còn
một trở ngại: làm thế nào để cử tri
A
biết đƣợc là hệ thống đã thực sự làm ngẫu nhiên
hóa phiếu bầu của mình chứ không phải là thay phiếu bầu của mình bằng một phiếu
bầu cho một lựa chọn khác? Rất may là ở đây các kết quả của chứng minh tƣơng tác
đã có thể áp dụng. Một chứng minh tƣơng tác không để lộ tri thức (zero-knowledge
proof), đƣợc giới thiệu lần đầu bởi Goldwasser, Micali và Rackoff vào năm 1985 [6],
ngƣời chứng minh hoàn toàn có thể thuyết phục ngƣời đối thoại về một quan hệ (ở đây
là quan hệ
A
C
chính là một bản mã ngẫu nhiên hóa của bản mã gốc
C
) mà không để lộ
một chút thông tin gì. Nói cách khác,
A
hoàn toàn có thể bị thuyết phục là
A
C
là giá trị
mã của lựa chọn
X

nhƣng bản thân
A
lại không có khả năng chứng minh điều đó vì
không có thêm bất kể thông tin gì khác. Và do không thể chứng minh đƣợc mình đã
bầu cho ai,
A
không thể bán phiếu bầu của mình.
Kết luận chƣơng 1
Qua nội dung chƣơng 1, có thể thấy phƣơng pháp bỏ phiếu điện tử khẳng định
đƣợc ƣu việt vƣợt trội so với bỏ phiếu truyền thống và là xu hƣớng tất yếu của tƣơng
lai. Hệ thống bỏ phiếu điện tử cũng bao gồm các thành phần và cũng phải trải qua các
12

Số hóa bởi Trung tâm Học liệu

giai đoạn nhƣ bỏ phiếu thông thƣờng. Tuy nhiên, nhờ sự trợ giúp của kỹ thuật mật mã,
bỏ phiếu điện tử có thể hạn chế thấp nhất các sai nhầm mang yếu tố con ngƣời khi đo
lƣờng kết quả kiểm phiếu nhƣ: đảm bảo sự ẩn danh trong lá phiếu của cử tri tránh việc
cử tri bị khống chế; ngăn ngừa việc mua bán phiếu bầu. Cơ sở toán học cho các
phƣơng pháp mật mã thƣờng ứng dụng trong bỏ phiếu điện tử sẽ đƣợc trình bày chi
tiếp trong chƣơng 2.
13

Số hóa bởi Trung tâm Học liệu

1. CHƢƠNG 2. CƠ SỞ LÝ THUYẾT
Nhằm làm căn cứ cho việc đề xuất các giải pháp xây dựng chƣơng trình bỏ phiếu
điện tử trong chƣơng 3, nội dung chƣơng 2 trình bày các kiến thức cơ sở nền tảng liên
quan. Phần đầu chƣơng tổng hợp các vấn đề về an toàn và bảo mật thông tin để từ đó
thấy đƣợc vị trí và vai trò của an toàn thông tin bằng mật mã. Phần tiếp theo trình bày

cơ sở toán học của mật mã với các khái niệm về vành Zn, các phép toán cộng, nhân,
bài toán logarrit rời rạc trên không gian Zn. Phần cuối chƣơng phân tích vai trò của mã
hóa dữ liệu và giới thiệu hai hệ thống mã hóa thƣờng gặp là mã hóa khóa bí mật và mã
hóa khóa công khai. Các nội dung nêu trên là các vấn đề đã đƣợc công bố trong [2],
[7], [8].
2.1. Tổng quan về an toàn và bảo mật thông tin
2.1.1. Sự cần thiết của bảo đảm an toàn thông tin
Ngày nay, sự suất hiện internet và mạng máy tính đã giúp cho việc trao đổi thông tin
trở lên nhanh gọn, dễ dàng, Email cho phép ngƣời ta nhận hay gửi thƣ ngay trên máy tính
của mình, E-business cho phép thực hiện các giao dịch buôn bán ngay trên mạng.
Tuy nhiên lại phát sinh những vấn đề mới. Thông tin quan trọng nằm ở kho dữ liệu
hay đang trên đƣờng truyền có thể bị trộm cắp, có thể bị làm sai lệch, có thể bị làm giả
mạo. Điều đó làm ảnh hƣởng đến các tổ chức, các công ty hay cả một quốc gia. Những
bí mật kinh doanh, tài chính là mục tiêu của các đối thủ cạnh tranh. Những tin tức về
an ninh quốc gia là mục tiêu của các tổ chức tình báo trong và ngoài nƣớc.
Theo số liệu của CERT (Computer Emegency Response Team: đội cấp cứu máy
tính) số lƣợng các vụ tấn công trên máy internet ngày càng nhiều, quy mô của chúng
mỗi ngày một lớn và phƣơng pháp tấn công ngày càng hoàn thiện.
Khi trao đổi thông tin trên mạng, những tình huống mới nảy sinh: Ngƣời ta nhận
đƣợc một bản tin trên mạng, thì lấy gì làm đảm bảo rằng nó là của đối tác gửi cho họ.
Khi nhận đƣợc tờ Sec điện tử hay tiền điện tử trên mạng, thì có cách nào xác nhận
rằng nó là của đối tác đã thanh toán cho ta. Tiền đó là tiền thật hay tiền giả. Thông
thƣờng ngƣời gửi vản bản quan trọng phải ký phía dƣới. Nhƣng khi truyền trên mạng,
văn bản hay giấy thanh toán có thể bị trộm cắp và phía dƣới nó có thể dán một chữ ký
khác. Tóm lại với cách thức ký nhƣ cũ, chữ kỹ rất dễ bị giả mạo.
2.1.2. Khái niệm an toàn thông tin
2.1.2.1. Khái niệm
14

Số hóa bởi Trung tâm Học liệu


Theo [2] an toàn thông tin nghĩa là thông tin đƣợc bảo vệ, các hệ thống và dịch vụ có
khả năng chống lại những sự can thiệp, lỗi và những tai họa không mong đợi, các thay đổi
tác động đến độ an toàn của hệ thống là nhỏ nhất. Hệ thống không an toàn là hệ thống tồn
tại những điểm: thông tin bị rò rỉ ra ngoài - thông tin dữ liệu trong hệ thống bị ngƣời
không đƣợc quyền truy nhập lấy và sử dụng, thông tin bị thay đổi - các thông tin trong hệ
thống bị thay thế hoặc sửa đổi làm sai lệch một phần hoặc hoàn toàn nội dung
Giá trị thực sự của thông tin chỉ đạt đƣợc khi thông tin đƣợc cung cấp chính xác và
kịp thời, hệ thống phải hoạt động chuẩn xác thì mới có thể đƣa ra những thông tin có
giá trị cao. Mục tiêu của an toàn bảo mật trong công nghệ thông tin là đƣa ra một số
tiêu chuẩn an toàn và áp dụng các tiêu chuẩn an toàn này vào chỗ thích hợp để giảm
bớt và loại trừ những nguy hiểm có thể xảy ra. Ngày nay với kỹ thuật truyền nhận và
xử lý thông tin ngày càng phát triển và phức tạp nên hệ thống chỉ có thể đạt tới một
mức độ an toàn nào đó và không có một hệ thống an toàn tuyệt đối. Ngoài ra khi đánh
giá còn phải cân đối giữa mức độ an toàn và chất lƣợng của dịch vụ đƣợc cung cấp.
Khi đánh giá độ an toàn thông tin cần phải dựa trên nội dung phân tích các rủi ro có
thể gặp, từ đó tăng dần sự an toàn bằng cách giảm bớt những rủi ro. Các đánh giá cần
hài hoà với đặc tính, cấu trúc hệ thống và quá trình kiểm tra chất lƣợng.
2.1.2.2. Các yêu cầu an toàn bảo mật thông tin.
Ngày nay, với sự phát triển rất nhanh của khoa học công nghệ, các biện pháp tấn
công ngày càng tinh xảo hơn, độ an toàn của thông tin có thể bị đe dọa từ nhiều nơi,
theo nhiều cách khác nhau, chúng ta cần phải đƣa ra các chính sách đề phòng thích
hợp. Các yêu cầu cần thiết của việc bảo vệ thông tin và tài nguyên:
• Đảm bảo bí mật (Bảo mật) thông tin không bị lộ đối với ngƣời không đƣợc phép.
• Đảm bảo tính tin cậy (Confidentiality): Thông tin và tài nguyên không thể bị truy
cập trái phép bởi những ngƣời không có quyền hạn.
• Đảm bảo tính toàn vẹn (Integrity): Thông tin và tài nguyên không thể bị sửa đổi,
bị thay thế bởi những ngƣời không có quyền hạn.
• Đảm bảo tính sẵn sàng (Availability): Thông tin và tài nguyên luôn sẵn sàng để
đáp ứng sử dụng cho ngƣời có quyền hạn.

• Đảm bảo tính không thể chối bỏ (Non-repudiation): Thông tin và tài nguyên
đƣợc xác nhận về mặt pháp luật của ngƣời cung cấp.
2.1.2.3. Các nội dung an toàn thông tin
15

Số hóa bởi Trung tâm Học liệu

Nội dung chính:
- An toàn máy tính: là sự bảo vệ các thông tin cố định bên trong máy tính, là
khoa học về bảo đảm an toàn thông tin trong máy tính
- An toàn truyền tin: là sự bảo vệ thông tin trên đƣờng truyền tin(thông tin
đƣợc truyền từ hệ thống này sang hệ thống khác), là khoa học bảo đảm an
toàn thông tin trên đƣờng truyền tin.
Nội dung chuyên ngành:
- An toàn dữ liệu (data security)
- An toàn cơ sở dữ liệu (database security)
- An toàn hệ điều hành (operation system security)
- An toàn mạng máy tính (network security)
2.1.2.4. Các chiến lược bảo đảm an toàn thông tin.
Cấp quyền hạn tối thiểu: Nguyên tắc cơ bản trong an toàn nói chung là “hạn chế
sự ƣu tiên”. Mỗi đối tƣợng sử dụng hệ thống (ngƣời quản trị mạng, ngƣời sử dụng )
chỉ đƣợc cấp phát một số quyền hạn nhất định đủ dùng cho công việc của mình.
Phòng thủ theo chiều sâu: Nguyên tắc tiếp theo trong an toàn nói chung là “bảo
vệ theo chiều sâu”. Cụ thể là tạo lập nhiều lớp bảo vệ khác nhau cho hệ thống.
2.1.3. Các phương pháp bảo vệ thông tin
Các giải pháp bảo đảm an toàn thông tin
Phƣơng pháp che giấu, bảo đảm toàn vẹn và xác thực thông tin.
- “Che” dữ liệu (mã hóa): thay đổi hình dạng dữ liệu gốc, ngƣời khác khó
nhận ra.
- “Giấu” dữ liệu: Cất giấu dữ liệu này trong môi trƣờng dữ liệu khác.

- Bảo đảm toàn vẹn và xác thực thông tin(đánh giấu thông tin)
Kỹ thuật:
- Mã hóa, hàm băm, giấu tin, ký số. . .
- Giao thức bảo toàn thông tin, giao thức xác thực thông tin, . . .
Phƣơng pháp kiểm soát lỗi vào ra của thông tin.
- Kiểm soát, ngăn chặn các thông tin vào ra hệ thống máy tính.
- Kiểm soát, cấp quyền sử dụng các thông tin trong hệ thống máy tính.
16

Số hóa bởi Trung tâm Học liệu

- Kiểm soát, tìm diệt “sâu bọ” vào trong hệ thống máy tính
- Kỹ thuật: Mật khẩu, tƣờng lửa, mạng riêng ảo, nhận dạng, xác định thực thể,
cấp quyền hạn.
Phát hiện và xử lý các lỗ hổng trong an toàn thông tin.
- Các “lỗ hổng” trong các thuật toán hay giao thức mật mã, giấu tin.
- Các “lỗ hổng” trong các giao thức.
- Các “lỗ hổng” trong các hệ điều hành.
- Các “lỗ hổng” trong các ứng dụng.
Phối hợp các phƣơng pháp: Xây dựng các “hành lang”, “đƣờng đi” an toàn cho
thông tin gồm 3 phần:
- Hạ tầng mật mã khóa công khai(PKI)
- Kiểm soát nối vào – ra: Mật khẩu, tƣởng lửa, mạng riêng ảo, cấp quyền hạn.
- Kiểm soát và xử lý các lỗ hổng.
Các kỹ thuật bảo đảm an toàn thông tin
- Kỹ thuật diệt trừ: Virus máy tính, chƣơng trình trái phép.
- Kỹ thuật tƣờng lửa: Ngăn chặn truy cập trái phép, lọc thông tin không hợp
pháp.
- Kỹ thuật mạng riêng ảo: Tạo ra hành lang riêng cho thông tin “đi lại”.
- Kỹ thuật mật mã: Mã hóa, kỹ số, các giao thức mật mã, chống chối cãi.

- Kỹ thuật giấu tin: Che giấu thông tin trong môi trƣờng dữ liệu khác.
- Kỹ thuật thủy ký: Bảo vệ bản quyền tài liệu số hóa.
- Kỹ thuật truy tìm “dấu vết” kẻ trộm tin.
Các công nghệ đảm bảo an toàn thông tin
- Công nghệ chung: Tƣờng lửa, mạng riêng ảo, PKI(khóa công khai), thẻ
thông minh. . .
- Công nghệ cụ thể: SSL, TLS, PGP, SMINE . . .
2.1.4. An toàn thông tin bằng mật mã
Mật mã là một ngành khoa học chuyên nghiên cứu các phƣơng pháp truyền tin bí
mật. Mật mã bao gồm : Lập mã và phá mã. Lập mã bao gồm hai quá trình: mã hóa và
giải mã.
17

Số hóa bởi Trung tâm Học liệu

Để bảo vệ thông tin trên đƣờng truyền ngƣời ta thƣờng biến đổi nó từ dạng nhận thức
đƣợc sang dạng không nhận thức đƣợc trƣớc khi truyền đi trên mạng, quá trình này đƣợc
gọi là mã hoá thông tin (encryption), ở trạm nhận phải thực hiện quá trình ngƣợc lại, tức là
biến đổi thông tin từ dạng không nhận thức đƣợc (dữ liệu đã đƣợc mã hoá) về dạng
nhận thức đƣợc (dạng gốc), quá trình này đƣợc gọi là giải mã. Đây là một lớp bảo vệ
thông tin rất quan trọng và đƣợc sử dụng rộng rãi trong môi trƣờng mạng.
Để bảo vệ thông tin bằng mật mã ngƣời ta thƣờng tiếp cận theo hai hƣớng:
- Theo đƣờng truyền (Link_Oriented_Security).
- Từ nút đến nút (End_to_End).
Theo cách thứ nhất thông tin đƣợc mã hoá để bảo vệ trên đƣờng truyền giữa hai nút
mà không quan tâm đến nguồn và đích của thông tin đó. Ở đây ta lƣu ý rằng thông tin
chỉ đƣợc bảo vệ trên đƣờng truyền, tức là ở mỗi nút đều có quá trình giải mã sau đó
mã hoá để truyền đi tiếp, do đó các nút cần phải đƣợc bảo vệ tốt.
Ngƣợc lại theo cách thứ hai thông tin trên mạng đƣợc bảo vệ trên toàn đƣờng
truyền từ nguồn đến đích. Thông tin sẽ đƣợc mã hoá ngay sau khi mới tạo ra và chỉ

đƣợc giải mã khi về đến đích. Cách này mắc phải nhƣợc điểm là chỉ có dữ liệu của
ngƣời dùng thì mới có thể mã hóa đƣợc còn dữ liệu điều khiển thì giữ nguyên để có
thể xử lý tại các nút.
2.1.5. Vai trò của hệ mật mã
Các hệ mật mã phải thực hiện đƣợc các vai trò sau:
- Hệ mật mã phải che dấu đƣợc nội dung của văn bản rõ (PlainText) để đảm bảo
sao cho chỉ ngƣời chủ hợp pháp của thông tin mới có quyền truy cập thông tin
(Secrety), hay nói cách khác là chống truy nhập không đúng quyền hạn.
- Tạo các yếu tố xác thực thông tin, đảm bảo thông tin lƣu hành trong hệ thống
đến ngƣời nhận hợp pháp là xác thực (Authenticity).
- Tổ chức các sơ đồ chữ ký điện tử, đảm bảo không có hiện tƣợng giả mạo, mạo
danh để gửi thông tin trên mạng.
Ƣu điểm lớn nhất của bất kỳ hệ mật mã nào đó là có thể đánh giá đƣợc độ phức tạp
tính toán mà “kẻ địch” phải giải quyết bài toán để có thể lấy đƣợc thông tin của dữ liệu
đã đƣợc mã hoá. Tuy nhiên mỗi hệ mật mã có một số ƣu và nhƣợc điểm khác nhau,
nhƣng nhờ đánh giá đƣợc độ phức tạp tính toán mà ta có thể áp dụng các thuật toán mã
hoá khác nhau cho từng ứng dụng cụ thể tuỳ theo dộ yêu cầu về độ an toàn.

×