Tải bản đầy đủ (.docx) (71 trang)

Nghiên cứu một số giải pháp bảo đảm an toàn thông tin trong giai đoạn đăng ký 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.21 MB, 71 trang )

1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

Trần Đông Hải

NGHIÊN CỨU MỘT SỐ GIẢI PHÁP
BẢO ĐẢM AN TOÀN THÔNG TIN
TRONG GIAI ĐOẠN ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ

LUẬN VĂN THẠC SĨ

Hà Nội – 2015


2
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

Trần Đông Hải

NGHIÊN CỨU MỘT SỐ GIẢI PHÁP
BẢO ĐẢM AN TOÀN THÔNG TIN
TRONG GIAI ĐOẠN ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ

Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60480104

LUẬN VĂN THẠC SĨ


Người hướng dẫn khoa học: PGS.TS.Trịnh Nhật Tiến

Hà Nội - 2015


3
LỜI CAM ĐOAN

Tôi xin cam đoan kết quả đạt đƣợc trong luận văn là sản phẩm của riêng
cá nhân tôi, không sao chép của ngƣời khác. Trong toàn bộ nội dung luận
văn, những điều đã đƣợc trình bày hoặc là của riêng tôi, hoặc là đƣợc tổng
hợp từ nhiều nguồn tài liệu. Nguồn tài liệu tham khảo đều có xuất xứ rõ ràng,
đƣợc trích dẫn hợp pháp.
Tôi xin chịu trách nhiệm hoàn toàn và chịu mọi hình thức kỷ luật theo
quy định cho lời cam đoan của mình.
Học viên

Trần Đông Hải


4
LỜI CẢM ƠN!
Em chân thành cảm ơn thầy PGS.TS.Trịnh Nhật Tiến đã tận tình hƣớng
dẫn, giúp đỡ em thực hiện bản luận văn cao học này.
Em chân thành cảm ơn các thầy giáo, cô giáo Trƣờng Đại học Công
nghệ - Đại học Quốc gia Hà Nội đã giảng dạy truyền đạt kiến thức cho học
viên chúng em trong những năm học vừa qua.
Trong quá trình làm, luận văn không tránh khỏi những hạn chế, em mong
nhận đƣợc sự góp ý của các thầy cô và đồng nghiệp, để em có điều kiện,
nghiên cứu sâu thêm về đề tài đã lựa chọn.

Em xin chân thành cảm ơn!
Học viên

Trần Đông Hải


5
MỤC LỤC
Trang
MỤC LỤC………………………………………………………………….1
DANH MỤC HÌNH………………………………………………………..4
MỞ ĐẦU…………………………………………………………………...6

Chươ

1.1. TỔNG QUAN VỀ AN TOÀ

1

1

1

1

1

1

1.2. MÃ HÓA..............................


1

1

1

1.3. CHỮ KÝ SỐ .......................

1

1

1

1.4. SƠ ĐỒ CHIA SẺ BÍ MẬT...

1

1


1

Chươ
TRONG GIAI ĐOẠN ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ.........................
VÀ PHƢƠNG PHÁP GIẢI QUYẾT..........................................................
2.1.

BỎ PHIẾU ĐIỆN TỬ ..................................................................


2

2

2

2

2
2.2.

CÁC BÀI TOÁN..........................................................................

2

2

2

2

2

Chươ
3.1.

CÔNG NGHỆ PHÁT TRIỂN ......................................................

3.2.


PHÂN TÍCH THIẾT KẾ HỆ THỐNG ........................................

3

3

3

3
3.3.

MỘT SỐ CHỨC NĂNG ..............................................................

3


7
3.3.2.Giao diện đăng nhập hệ thống ...............................................
3.3.3.Quản lý hồ sơ .........................................................................
3.3.4.

Quản trị hệ thống .....

3.3.5.

Chữ ký mù: ..............

KẾT LUẬN…………………………………...………………………..65
TÀI LIỆU THAM KHẢO……………………………………………...66

8
DANH MỤC HÌNH

Hình 1.1 Mã hóa và giải mã
Hình 1.2 Chữ ký số
Hình 1.3 Sơ đồ ngƣỡng Shamir
Hình 2.1 Quy trình bỏ phiếu điện tử
Hình 2.2 Giai đoạn đăng ký bỏ phiếu
Hình 2.3 Giai đoạn bỏ phiếu
Hình 2.4 Giai đoạn kiểm phiếu
Hình 3.1 Biểu đồ ngữ cảnh
Hình 3.2 Biểu đồ khung cảnh
Hình 3.3 Biểu đồ mô tả chức năng
Hình 3.4 Bảng Voter
Hình 3.5 Bảng User
Hình 3.6 Bảng Role


Hình 3.7 Bảng sharekey
Hình 3.8 Bảng signballot
Hình 3.9 Bảng Config
Hình 3.10 Đăng ký hồ sơ
Hình 3.11 Đăng nhập
Hình 3.12 Quản lý hồ sơ


Hình 3.13

Quản trị


Hình 3.14

Quản trị

Hình 3.15

Khởi tạo

Hình 3.16 Chữ ký mù


10
MỞ ĐẦU
Ngày nay, máy tính và mạng internet phát triển mạnh mẽ, đã trở thành
công cụ lƣu trữ, xử lý và truyền tải thông tin chủ yếu của con ngƣời. Mạng
internet khiến thế giới gần nhau hơn, con ngƣời trên khắp thế giới có thể liên
lạc dễ dàng với nhau qua email, chat, gọi điện qua mạng với giá thành rẻ.
Thiết bị di động giúp chúng ta liên lạc với nhau mọi lúc mọi nơi. Máy tính
giúp chúng ta lƣu trữ lƣợng thông tin khổng lồ, tìm kiếm, xử lý thông tin
nhanh chóng và đƣợc sử dụng ngày càng sâu rộng trong mọi lĩnh vực của
cuộc sống kinh tế, chính trị, quân sự, y tế, …
Tuy nhiên, sự tiện lợi đó cũng phát sinh các vấn đề mới về an toàn thông
tin. Nhiều thông tin nhạy cảm nhƣ thông tin cá nhân, tài khoản ngân hàng, các
chiến lƣợc kinh doanh, bí mật quân sự, … đƣợc số hóa, khiến thông tin dễ bị tấn
công, đánh cắp, thay đổi, giả mạo. Theo báo cáo về an toàn thông tin thế giới
2013 của VNISA (Vietnam Information Security Association: hiệp hội an toàn
thông tin Việt Nam), số lƣợng website nhiễm mã độc và trở thành công cụ phát
tán mã độc đã lên tới 75 triệu. Thiết bị Androi trở thành đích tấn công lớn nhất
với 18.000 mẫu mã độc hại chỉ trong quý 2/2013, số lƣợng mã độc do McAfee
sƣu tầm lên đến 140 triệu mẫu khác nhau. Việc thu thập thông tin



mức độ nào là hợp pháp và bất hợp pháp, thu thập thông tin để chống khủng

bố là rất cần thiết, nhƣng việc thu thập thông tin tình báo xâm phạm chủ
quyền số quốc gia lại dẫn tới một thế giới thiếu tin cậy lẫn nhau, điển hình là
việc Edward Snowden, cựu nhân viên CIA, tiết lộ chƣơng trình thu thập
thông tin PRISM của chính phủ Mỹ đã nghe lén các cuộc gọi điện thoại của
nhiều nguyên thủ quốc gia các nƣớc đồng minh Châu Âu, Châu Á.
Trao đổi thông tin trên mạng còn thay đổi cách xác minh trách nhiệm các
thông tin. Khi nhận đƣợc tờ Sec điện tử, làm sao để xác nhận nó là do đối tác
đã thanh toán cho ta, tiền đó là thật hay giả. Khi nhận đƣợc bản hợp đồng
kinh tế, làm sao biết chữ ký phía dƣới là đúng của các bên tham gia hợp đồng,


11
các chữ ký đó hoàn toàn có thể bị giả mạo bằng cách lấy chữ ký của các bên
tham gia hợp đồng từ các giấy tờ khác và dán vào bản hợp đồng hiện tại. Xác
định trách nhiệm bằng chữ ký truyền thống không còn phù hợp với tài liệu số,
chúng ta cần dùng cách khác là chữ ký số.
Để giải quyết các vấn đề trên, nghiên cứu an toàn thông tin là yêu cầu
cấp bách, cần phải làm thƣờng xuyên, liên tục.
Bỏ phiếu để thăm dò ý kiến cộng đồng là những hoạt động có từ lâu đời
trong xã hội loài ngƣời. Bỏ phiếu truyền thống đã đáp ứng tốt các yêu cầu của
cuộc bỏ phiếu, nhƣng cũng còn tồn tại nhiều vấn đề: thời gian bỏ phiếu lâu,
việc gian lận phiếu bầu khó tránh khỏi, cử tri phải trực tiếp đến các địa điểm
bỏ phiếu …. Để khắc phục các vấn đề đó, bỏ phiếu điện tử ra đời áp dụng
công nghệ thông tin, internet vào quá trình bỏ phiếu. Bỏ phiếu điện tử hứa hẹn
mang lại nhiều lợi ích lớn: cho phép bỏ phiếu từ xa, kiểm phiếu nhanh chóng
và chính xác … Tuy vậy, chúng ta phải đối mặt với nhiều vấn đề mới ảnh

hƣởng tới độ tin cậy của kết quả bầu cử: đảm bảo bí mật, bảo toàn, xác thực
thông tin cử tri, lá phiếu trên đƣờng truyền hay khi lƣu trữ trên máy, tránh
gian lận, thay đổi lá phiếu ...
Trên thế giới, tính đến năm 2012, mới có khoảng 11 nƣớc nghiên cứu
phát triển bỏ phiếu điện tử, trong đó có 4 nƣớc áp dụng đầy đủ vào thực tế là
Estonia, Canada, Pháp và Thụy Sĩ, 7 nƣớc còn lại đang trong giai đoạn thử
nghiệm. Trong 11 nƣớc đó, có 7 nƣớc có ý định tiếp tục phát triển, một số
nƣớc còn lại đã ngừng nghiên cứu do thấy phát sinh vấn đề mới làm cho tính
hiệu quả của bỏ phiếu điện tử không hơn gì bỏ phiếu truyền thống nhƣ: Anh,
Hà Lan, Tây Ban Nha. Thực tế các nƣớc cho thấy, còn nhiều vấn đề phải giải
quyết để có hệ thống bỏ phiếu điện tử tin cậy, hiệu quả, trong đó vấn để bảo
đảm an toàn thông tin là vấn đề lớn [9].
Tại Việt Nam, bầu cử điện tử là lĩnh vực mới, đang đƣợc nghiên cứu và
cài đặt thử nghiệm ở một số lĩnh vực hẹp. Trƣớc yêu cầu lý luận và thực tế


12
đó, tôi lƣạ chọn đề tài: “Nghiên cứu một số giải pháp bảo đảm an toàn thông
tin trong giai đoạn đăng ký bỏ phiếu điện tử” làm luận văn tốt nghiệp cao học
của mình.
Bố cục của luận văn bao gồm 3 chƣơng:
Chƣơng 1: Các khái niệm cơ bản. Chƣơng này trình bày các vấn đề về
yêu cầu, nội dung, chiến lƣợc, các phƣơng pháp đảm bảo an toàn thông tin.
trình bày các khái niệm về an toàn thông tin, mã hóa, chữ ký số, về chia sẻ bí
mật,…các kiến thức này giúp giải quyết các vấn đề đặt ra của luận văn.
Chƣơng 2: Tìm hiểu về bỏ phiếu điện tử, các yêu cầu, quy trình bỏ phiếu
và một số bài toán về an toàn thông tin trong giai đoạn đăng ký bỏ phiếu điện
và phƣơng pháp giải quyết. Chƣơng này nghiên cứu năm bài toán an toàn
thông tin trong giai đoạn đăng ký bỏ phiếu điện tử: bảo vệ hồ sơ cử tri, thẩm
định hồ sơ, ẩn danh lá phiếu, chống một cử tri đăng ký bỏ phiếu nhiều lần,

chống ban đăng ký ký nhiều lá phiếu.
Chƣơng 3: Cài đặt thử nghiệm chƣơng trình ứng dụng
Chƣơng này trình xây dƣngg̣ h ệ thống bỏ phiếu điện tử với các chức
năng chính nhƣ: đăng ký mới, thẩm định hồ sơ, kiểm tra chữ ký cử tri, chia sẻ
khóa bí mật, ký mù lá phiếu, quản trị thành viên.
Phần cuối cùng là kết luận và định hƣớng phát triển của đề tài.


13
Chương 1. CÁC KHÁI NIỆM CƠ BẢN
1.1. TỔNG QUAN VỀ AN TOÀN THÔNG TIN
1.1.1. Khái niệm

An toàn thông tin là hoạt động bảo vệ thông tin, đảm bảo cho các hệ
thống dịch vụ có khả năng chống trả lại các lỗi, những tai họa không mong
đợi và các tác động ảnh hƣởng đến độ an toàn của hệ thống. Hệ thống không
an toàn tồn tại những nhƣợc điểm nhƣ: thông tin bị rò rỉ ra ngoài, dữ liệu hệ
thống bị ngƣời không có quyền truy cập lấy và sử dụng, thông tin bị thay đổi
làm sai lệch hoàn toàn nội dung.
1.1.2. Các yêu cầu đảm bảo an toàn thông tin

Một hệ thống thông tin đƣợc coi là bảo mật nếu thỏa mãn các yêu cầu:
bảo mật, toàn vẹn, xác thực và sẵn sàng.
Một là, tính bảo mật, hệ thống có tính bảo mật nếu thông tin không bị tiết
lộ cho ngƣời không đƣợc phép. Tính bí mật ở đây là sự giới hạn về đối tƣợng
đƣợc quyền truy xuất thông tin. Đối tƣợng truy xuất có thể là con ngƣời, máy
tính. Tùy theo tính chất của thông tin mà mức độ bí mật cũng khác nhau. Sự
bí mật thông tin cần xem xét hai yếu tố tách rời: sự tồn tại thông tin và nội
dung thông tin, đôi khi tiết lộ sự tồn tại thông tin còn có ý nghĩa cao hơn việc
biết nội dung thông tin đó. Có nhiều phƣơng pháp bảo đảm sự bí mật thông

tin: các phƣơng pháp vật lý nhƣ nhà xƣởng, dịch vụ bảo vệ, hay phƣơng
pháp mã hóa.
Hai là, tính toàn vẹn ngăn chặn, hạn chế việc bổ sung, loại bỏ, sửa đổi dữ
liệu, tài nguyên của ngƣời không đƣợc phép. Có hai loại cơ chế bảo đảm sự
toàn vẹn thông tin: các cơ chế ngăn chặn và các cơ chế phát hiện. Các cơ chế
ngăn chặn có chức năng ngăn các hành vi cố gắng thay đổi nội dung thông tin
khi không đƣợc phép truy xuất, hành vi thay đổi nội dung thông tin theo cách
khác với cách đã đƣợc cho phép. Các cơ chế phát hiện chỉ thực hiện chức


14
năng giám sát và thông báo khi có các thay đổi diễn ra trên thông tin bằng
cách phân tích các sự kiện diễn ra trên hệ thống.
Ba là, tính xác thực, xác thực đúng thực thể cần kết nối, giao dịch, ngƣời
có quyền mới đƣợc truy cập tài nguyên, xác thực đúng thực thể có trách
nhiệm về nội dung thông tin (xác thực nguồn gốc thông tin). Ngƣời nhận
thông tin phải biết chắc ai gửi thông tin cho mình, tránh giả mạo, chứng minh
đƣợc giả mạo. Có nhiều cơ chế xác thực nhƣ dùng cơ chế đăng nhập, giao
thức chống chối bỏ …
Bốn là, tính sẵn sàng, thông tin và tài nguyên luôn sẵn sàng để đáp ứng
nhu cầu sử dụng của ngƣời có quyền hạn. Đây là yêu cầu quan trọng của hệ
thống vì một hệ thống không sẵn sàng cho sử dụng thì cũng coi nhƣ không
tồn tại, và các yêu cầu bảo mật khác cũng không có ý nghĩa. Một hệ thống khả
dụng là một hệ thống làm việc trôi chảy và hiệu quả, có khả năng phục hồi
nhanh chóng nếu có sự cố xảy ra. Hiện nay, hình thức tấn công từ chối dịch vụ
DoS và từ chối phân tán dịch vụ DDoS là những nguy cơ lớn nhất với sự an
toàn, sẵn sàng của các hệ thống thông tin, gây ra thiệt hại lớn và đặc biệt là
chƣa có giải pháp ngăn chặn hiệu quả.
1.1.3. Các nội dung an toàn thông tin
-


Nội dung chính: Ngày nay máy tính và Internet đƣợc sử dụng rộng rãi

để lƣu trữ, xử lý, lan truyền thông tin. Có hai nội dung của an toàn thông tin
là an toàn máy tính và an toàn truyền tin. An toàn máy tính là sự bảo vệ các
thông tin, dữ liệu 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, là khoa học về bảo đảm an toàn thông tin trên đƣờng truyền tin.
-

Nội dung chuyên ngành: Để bảo vệ thông tin bên trong máy tính hay

trên đƣờng truyền, phải nghiên cứu các nội dung chuyên ngành sau: an toàn
dữ liệu, an toàn cơ sở dữ liệu, an toàn hệ điều hành và an toàn mạng máy tính.


15
1.1.4. Các chiến lƣợc an toàn thông tin
-

Cấp quyền hạn tối thiểu: Nguyên tắc chung là hạn chế sự ƣu tiên, mỗi

ngƣời dùng hệ thố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 họ.
- Phòng

thủ theo chiều sâu: không nên dựa vào một chế độ an toàn nào

dù là rất mạnh, ta nên tạo lập nhiều lớp bảo vệ cho hệ thống: quyền truy cập,
đăng nhập bằng mật khẩu, mã hóa dữ liệu, bảo vệ vật lý, tƣờng lửa.

1.1.5. Các phƣơng pháp bảo đảm an toàn thông tin

Có nhiều phƣơng 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”

(mã hóa) làm thay đổi hình dạng dữ liệu gốc, ngƣời khác khó nhận ra. “Giấu”
là Cất giấu dữ liệu 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). Có các kỹ thuật để thực hiện nhƣ 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, có các hình thức kiểm

soán: 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 thông tin trong hệ thống máy tính; kiểm soát, tìm diệt phần
mềm độc hại vào trong hệ thống máy tính. Kỹ thuật có thể là 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ác loại lỗ

hổng: “Lỗ hổng” trong các thuật toán hay giao thức mật mã, giấu tin; “lỗ
hổng” trong các giao thức; “lỗ hổng” trong các hệ điều hành; “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: hạ tầng mật mã khóa công khai (PKI), kiểm soát lố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.


16
-

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 nhằm 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ã nhƣ mã hóa, ký số, giao thức
mật mã, chống chối cãi; kỹ thuật giấu tin giúp che giấu thông tin trong môi
trƣờng dữ liệu khác; kỹ thuật thủy ký nhằm 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ó một số công nghệ chung

nhƣ tƣờng lửa, mạng riêng ảo, PKI (hạ tầng mã hóa khóa công khai), thẻ
thông minh . . . và các công nghệ cụ thể: SSL, TLS, PGP, SMINE . . .
1.1.6. Ứng dụng an toàn thông tin

Ngày nay an toàn thông tin đƣợc ứng dụng trong nhiều rất nhiều lĩnh
vực của đời sống.
- Lĩnh

vực an ninh quốc phòng: thông tin quốc phòng là thông tin tuyệt


mật ảnh hƣởng đến an ninh quốc gia. Bảo mật thông tin và hoạt động tình báo
sử dụng nhiều kỹ thuật nhƣ mã hóa, thám mã, lọc tin, bắt trộm …
-

Lĩnh vực chính trị xã hội: bầu cử, bỏ phiếu từ xa, thăm dò từ xa …

-

Lĩnh vực hành chính: chính phủ điện tử đang đƣợc nhiều nƣớc phát

triển sử dụng ở mức độ khác nhau, có các ứng dụng phổ biến nhƣ chứng minh
thƣ điện tử, giấy phép điện tử, gửi công văn, quyết định từ xa trên mạng máy
tính công khai, thủ tục hành chính trực tuyến.
- Lĩnh

vực kinh tế: thƣơng mại điện tử, ngân hàng điện tử đang phát triển

rộng khắp, mang lại giá trị kinh tế to lớn khiến vấn đề an toàn thông tin có ý
nghĩa sống còn. Có các ứng dụng phổ biến nhƣ thỏa thuận hợp đồng, đấu giá,
thanh toán trực tuyến, thẻ tiến dụng điện tử, ví tiền điện tử, tiền điện tử …
-

Lĩnh vực giáo dục: lĩnh vực này cũng có nhiều ứng dụng cần bảo mật

nhƣ gửi đề thi, bài thi qua mạng, đào tạo từ xa.


17
1.2. MÃ HÓA

1.2.1. Khái niệm mã hóa

Mã hóa là quá trình chuyển thông tin có thể đọc đƣợc (gọi là bản rõ)
thành thông tin khó thể đọc đƣợc theo cách thông thƣờng (gọi là bản mã).
Đây là một trong những kỹ thuật lâu đời để bảo mật thông tin [3].
Giải mã là quá trình chuyển thông tin ngƣợc lại từ bản mã thành bản rõ.
Thuật toán mã hóa hay giải mã là thủ tục tính toán để thực hiện mã hóa hay
giải mã. Khóa mã hóa là một giá trị làm cho thuật toán mã hóa thực hiện theo
cách riêng biệt, sinh ra bản rõ riêng. Thông thƣờng khóa càng lớn thì bản mã
càng an toàn. Phạm vi các giá trị có thể có của khóa gọi là không gian khóa.
Hệ mã hóa là tập các thuật toán, các khóa nhằm che giấu thông tin, cũng
nhƣ làm cho rõ thông tin. Hệ mã hóa đƣợc định nghĩa là bộ năm (P, C, K, E,
D), trong đó:
P là tập hữu hạn các bản rõ có thể.
C là tập hữu hạn các bản mã có thể.
K là tập hữu hạn các khoá có thể.
E

là tập các hàm lập mã.

D là tập các hàm giải mã.
Với khóa lập mã ke ∈ K, có hàm lập mã eke ∈ E, eke : P → C

Với khóa giải mã kd ∈ K, có hàm giải mã dkd ∈ D, dkd : C → P
= x, ∀ x ∈ P

sao cho dkd eke x

Ở đây x gọi là bản rõ, eke x


gọi là bản mã.


18

Hình 1.1 Mã hóa và giải mã
Ngƣời gửi G muốn gửi bản tin T tới ngƣời nhận N, để đảm bảo bí mật, G mã hóa T bởi khóa lập mã ke và
nhận đƣợc eke (T), và gửi cho N. Tin tặc có thể lấy trộm đƣợc eke (T) nhƣng khó hiểu đƣợc bản tin gốc T do
không có khóa giả mã kd. N nhận đƣợc bản mã, dùng khóa kd giải mã sẽ nhận đƣợc bản tin gốc T = dkd (eke
T ).

Quá trình mã hóa, giải mã bản tin có các bƣớc chính nhƣ sau:
-

Lập mã:
Bƣớc 1: nhập bản rõ ký tự: RÕ_CHỮ.
Bƣớc 2: chuyển RÕ_CHỮ ==> RÕ_SỐ.
Bƣớc 3: chuyển RÕ_SỐ ==> MÃ_SỐ.
Bƣớc 4: chuyển MÃ _SỐ ==> MÃ_CHỮ.

-

Giải mã:
Bƣớc 1: nhập bản mã ký tự: MÃ_CHỮ.
Bƣớc 2: chuyển MÃ_CHỮ ==> MÃ_SỐ.
Bƣớc 3: chuyển MÃ_SỐ ==> RÕ_SỐ.
Bƣớc 4: chuyển RÕ_SỐ ==> RÕ_CHỮ.


19

Để chuyển từ CHỮ sang SỐ hay ngƣợc lại, ngƣời ta có một quy ƣớc
nào đó, ví dụ dựa theo modulo 26 nhƣ bảng sau:
A
0

B
1

C
2

D
3

1.2.2. Phân loại hệ mã hóa
1.2.2.1. Hệ mã hóa khóa đối xứng

Mã hóa khóa đối xứng là hệ mã hóa mà biết đƣợc khóa lập mã thì có thể
dễ tính đƣợc khóa giải mã và ngƣợc lại [3]. Trong nhiều trƣờng hợp, khóa
lập mã và khóa giải mã trùng nhau. Hệ mã hóa khóa đối xứng còn gọi hệ mã
hóa khóa bí mật hay khóa riêng vì phải giữ bí mật cả hai khóa. Trƣớc khi sử
dụng, ngƣời gửi và ngƣời nhận phải thỏa thuận thuật toán mã hóa và khóa
chung. Độ an toàn của hệ phụ thuộc vào khóa.
Hệ mã hóa cổ điển là mã hóa khóa đối xứng, dễ hiểu, dễ thực thi, nhƣng
độ an toàn không cao. Một số hệ mã hóa cổ điển phổ biến: hệ mã hóa dịch
chuyển, hệ mã hóa thay thế, hệ mã hóa Affine, hệ mã hóa Vigenere, hệ mã hóa
hoán vị.
Hệ mã hóa DES là mã hóa khóa đối xứng hiện đại, có độ an toàn cao.
-


Ƣu điểm hệ mã hóa khóa đối xứng: quá trình mã hóa và giải mã nhanh

hơn hệ mã hóa khóa công khai.
-

Nhƣợc điểm: chƣa thật sự an toàn do ngƣời gửi và ngƣời nhận dùng

chung khóa, vì vậy phải giữ bí mật tuyệt đối cả hai khóa, lộ một khóa thì sẽ dễ
suy ra khóa kia, việc giữ bí mật khóa khó khăn vì hai ngƣời cùng biết một bí
mật sẽ dễ bị lộ khóa. Vấn đề thỏa thuận khóa và quản lý khóa chung là khó
khăn phức tạp, việc thay đổi khóa phức tạp và dễ bị lộ vì phải trao đổi qua lại,
với một mạng có nhiều ngƣời dùng, cứ hai ngƣời phải có một khóa chung,
nên số lƣợng khóa rất lớn và thông tin khóa trao đổi trên mạng nhiều.

E
4


20
Hệ mã hóa khóa đối xứng thƣờng đƣợc sử dụng trong môi trƣờng mà
khóa chung có thể dễ dàng trao đổi bí mật, chẳng hạn trong cùng một mạng
nội bộ. Hệ đƣợc dùng để mã hóa các bản tin lớn, vì tốc độ mã hóa và giải mã
nhanh hơn hệ mã hóa khóa công khai.
1.2.2.2. Hệ mã hóa khóa công khai

Hệ mã hóa khóa công khai là hệ mã hóa có khóa lập mã và khóa giải mã
khác nhau, biết đƣợc khóa này cũng khó tính đƣợc khóa kia [3]. Khóa lập mã
đƣợc công khai, gọi là khóa công khai, ngƣời nhận tin giữ bí mật khóa giải
mã, đƣợc gọi là khóa bí mật, hay khóa riêng. Một ngƣời bất kỳ có thể mã hóa
bản tin bằng khóa công khai và gửi cho ngƣời nhận, chỉ có ngƣời nhận mới

giải đƣợc mã bản tin bằng khóa bí mật.
Một số hệ mã hóa khóa công khai phổ biến: RSA, Elgamal …
-

Ƣu điểm hệ mã hóa khóa công khai

+

Thuật toán đƣợc viết một lần, công khai cho nhiều lần dùng, cho nhiều

ngƣời dùng, họ chỉ cần giữ bí mật khóa riêng của mình.
+

Khi biết các tham số ban đầu của hệ mã hóa, việc tính ra cặp khóa công

khai và bí mật phải là dễ, trong thời gian đa thức. Ngƣời gửi có bản rõ P và khóa
công khai thì dễ tạo ra bản mã C. Ngƣời nhận có bản mã C và khóa bí

mật thì dễ giải đƣợc bản rõ P.
+

Ngƣời mã hóa dùng khóa công khai, ngƣời giải mã giữ khóa bí mật.

Khả năng lộ khóa bí mật khó hơn vì chỉ có một ngƣời giữ bí mật.
+

Nếu thám mã biết khóa công khai, cố gắng tìm khóa bí mật thì phải

giải bài toán khó. Nếu thám mã biết khóa công khai và bản mã thì việc tìm ra
bản rõ P cũng là bài toán khó.

-

Nhƣợc điểm

Quá trình mã khóa và giải mã chậm hơn hệ mã khóa khóa đối xứng.


21
Hệ mã hóa khóa công khai thƣờng đƣợc sử dụng chủ yếu trên mạng
công khai nhƣ Internet, khi mà việc trao đổi khóa bí mật tƣơng đối khó khăn.
Do tốc độ mã hóa và giải mã chậm, hệ đƣợc sử dụng để mã hóa bản tin ngắn
nhƣ mã hóa khóa bí mật.
Hệ mã hóa khóa công khai thƣờng đƣợc dùng để mã hóa thông tin trong
quá trình thỏa thuận và phân phối khóa cho cặp ngƣời dùng hệ mã hóa khóa
bí mật.
1.2.3. Hệ mã hóa RSA

Hệ mã hóa RSA là một hệ mã hóa khóa đối xứng do Rivest, Shamir,
Adleman đề xuất năm 1977.
1.2.3.1. Sơ đồ
-

Tạo cặp khóa bí mật, công khai (a,b)

[3]: + Chọn bí mật số nguyên tố lớn p, q
+ Tính n = p*q, công khai n, đặt P = C =
Zn. + Tính bí mật:
ɸ n = p − 1 (q − 1)

Chọn khóa công khai b < ɸ(n) nguyên tố với ɸ(n).


+

Khóa bí mật a là phần tử nghịch đảo của b theo mod ɸ(n):

a ∗ b ≡ 1(mod ɸ n ).

+

Tập cặp khóa (bí mật, công khai) K

K = { a, b / a, b ∈ Zn , a ∗ b = 1 (mod ɸ(n))}.

Với bản rõ x ∈ P và bản mã y ∈ C, ta định nghĩa:

-

Hàm mã hóa:
y = e x = xb mod n
k


22
-

Hàm giải mã:
x = dk y = ya mod n

1.2.3.2. Ví dụ


Bản rõ: HELLOWORLD
-

Sinh khóa:

Chọn bí mật hai số nguyên tố p=53, q=61, tính n = p*q = 3233, công
khai n.
Đặt P = C = Zn, tính ɸ n

= p − 1 ∗ q − 1 = 52 ∗ 60 = 3120

Chọn khóa công khai b nguyên tố cùng nhau với ɸ(n): b=71
Chọn a là phần tử nghịch đảo của b theo mod ɸ(n): a = 791
-

Bản rõ số:

H E
07 04
m1

Theo phép lập mã: ci = mbi mod n = m71i mod 3233 ta nhận đƣợc:

-

Bản mã số:

c1
1614


Theo phép giải mã: mi = cia mod n = ci791 mod 3233 ta nhận lại bản rõ.

1.2.3.3. Độ an toàn
- Hệ

mã hóa RSA là tất định, tức là với một bản rõ x và một khóa công

khai thì chỉ có một bản mã y.
-

Hệ mã hóa RSA an toàn, khi giữ đƣợc bí mật khóa giải mã a, p, q, ɸ(n).


23
+

Nếu biết đƣợc p, q thì thám mã dễ tính đƣợc ɸ(n) = (p-1)*(q-1).

+

Nếu biết đƣợc ɸ(n), thì thám mã sẽ tính đƣợc a theo thuật toán Euclide

mở rộng do đã biết b và a ∗ b ≡ 1(mod ɸ n ).

+

Nhƣng phân tích n thành tích p*q là bài toán khó do p, q là số nguyên

tố lớn. Độ an toàn của hệ mật RSA dựa vào khả năng phân tích số nguyên
dƣơng n thành tích 2 thừa số nguyên tố lớn.



24
1.3. CHỮ KÝ SỐ
1.3.1. Giới thiệu
1.3.1.1. Khái niệm

Để chứng thực nguồn gốc tài liệu, lâu nay chúng ta vẫn dùng chữ ký tay,
ký vào phía dƣới tài liệu. Ngày nay, nhiều tài liệu đƣợc số hóa, nhu cầu
chứng thực tài liệu số đƣợc đặt ra. Chúng ta không thể dùng đƣợc cách ký
truyền thống do tài liệu số không đƣợc in ra, hơn nữa, nếu chúng ta chụp ảnh
chữ ký tay dán vào tài liệu số, thì chữ ký tay này dễ bị giải mạo, vì chữ ký đó
có thể đƣợc dán từ tài liệu này sang tài liệu khác. Vì vậy, cần phải có một
cách chứng thực khác, đó là chữ ký số.
Một chữ ký số có hai khóa bí mật và công khai. Khóa bí mật để ký chữ
số, khóa công khai dùng để chứng thực chữ ký số có phải đúng của ngƣời ký
tài liệu hay không.
Chữ ký số ngoài việc chứng thực nguồn gốc tài liệu, còn dùng để bảo
đảm tính toàn vẹn tài liệu, chống chối bỏ. Ƣu điểm của chữ ký số là có thể ký
từ xa trên mạng công khai, có thể ký bằng các thiết bị cầm tay miễn là kết nối
Internet.
1.3.1.2. Sơ đồ

Chữ ký số là bộ năm (P, A, K, S, V), trong đó:
P là tập hữu hạn các văn bản có thể
A là tập hữu hạn các chữ ký số có thể
K

là tập hữu hạn các khóa có


thể S là tập các thuật toán ký
V là tập các thuật toán kiểm thử.
Với mỗi khóa k ∈ K, có thuật toán ký Sigk ∈ S, Sigk : P → A


25
Có thuật toán kiểm tra chữ ký Verk ∈ V, Verk : P ∗ A →

Thỏa mãn điều kiện sau: ∀x ∈ P, y ∈ A:

đúng, sai

x, y =

Verk

Chú ý: Ta thƣờng dùng hệ mã hóa khóa công khai để lập sơ đồ chữ ký
số. Ở đây, khóa bí mật a dùng làm khóa ký, khóa công khai b dùng làm khóa
kiểm tra chữ ký. Điều này ngƣợc với quá trình mã hóa, khóa mã hóa là công
khai, khóa giải mã là bí mật.
1.3.1.3. Phân loại
+

Phân loại theo đặc trƣng kiểm tra chữ ký
Chữ ký khôi phục thông điệp: là chữ ký ngƣời gửi chỉ cần gửi chữ ký,

ngƣời nhận khôi phục lại đƣợc thông điêp đã đƣợc ký bởi chữ ký đó. Ví dụ:
chữ ký RSA.
+


Chữ ký không thể khôi phục thông điệp: là chữ ký, trong đó ngƣời gửi

ngoài gửi chữ ký phải gửi kèm thông điệp đã đƣợc ký bởi chữ ký này, nếu
không sẽ không khôi phục lại đƣợc thông điệp. Ví dụ: chữ ký Elgamal.
+

Phân loại theo mức an toàn:
Chữ ký không thể phủ nhận: Nhằm tránh việc nhân bản chữ ký để sử

dụng nhiều lần, ngƣời ký nên tham gia trực tiếp vào việc kiểm thử chữ ký
thông qua một giao thức kiểm thử mời hỏi và trả lời.
+

Chữ ký một lần: để đảm bảo an toàn, khóa ký chỉ dùng một lần trên

một tài liệu.
-

Phân loại theo ứng dụng đặc trƣng: có chữ ký mù, chữ ký nhóm, chữ ký

bội, chữ ký mù nhóm, chữ ký mù bội.
1.3.1.4. Đại diện tài liệu, hàm băm

Chữ ký số nếu ký trực tiếp lên tài liệu sẽ có kích thƣớc ít nhất bằng kích
thƣớc tài liêụ, có thuật toán ký , chƣƣ̃kýcókichh́ thƣớc gấp đôi

kích thƣớc tài



×