1. Trang chủ
  2. » Luận Văn - Báo Cáo

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ử

70 375 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 70
Dung lượng 1,77 MB

Nội dung

ĐẠ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 –

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

Trang 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

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

Trang 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

Trang 4

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

Trang 5

MỤC LỤC

Trang

MỤC LỤC……….1

DANH MỤC HÌNH……… 4

MỞ ĐẦU……… 6

Chương 1. CÁC KHÁI NIỆM CƠ BẢN 13

1.1 TỔNG QUAN VỀ AN TOÀN THÔNG TIN 13

1.1.1 Khái niệm 13

1.1.2 Các yêu cầu đảm bảo an toàn thông tin 13

1.1.3 Các nội dung an toàn thông tin 14

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

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

1.1.6 Ứng dụng an toàn thông tin 16

1.2 MÃ HÓA 17

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

1.2.2 Phân loại hệ mã hóa 19

1.2.3 Hệ mã hóa RSA 21

1.3 CHỮ KÝ SỐ 24

1.3.1 Giới thiệu 24

1.3.2 Chữ ký số RSA 27

1.3.3 Chữ ký mù 28

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

1.4.1 Khái niệm 30

1.4.2 Phân loa ̣i 30

Trang 6

1.4.3 Sơ đồ ngưỡng Shamir 31

Chương 2. MỘT SỐ BÀI TOÁN VỀ AN TOÀN THÔNG TIN 37

TRONG GIAI ĐOẠN ĐĂNG KÝ BỎ PHIẾU ĐIỆN TỬ 37

VÀ PHƯƠNG PHÁP GIẢI QUYẾT 37

2.1 BỎ PHIẾU ĐIỆN TỬ 37

2.1.1 Giới thiệu 37

2.1.2 Yêu cầu 38

2.1.3 Phân loại 40

2.1.4 Các thành phần trong một hệ thống bỏ phiếu điện tử 41

2.1.5 Quy trình bỏ phiếu điện tử 42

2.2 CÁC BÀI TOÁN 47

2.2.1 Bảo vê ̣ hồ sơ cử tri 47

2.2.2 Thẩm đi ̣nh hồ sơ cử tri 50

2.2.3 Ẩn danh lá phiếu tránh lá phiếu bị theo dõi 51

2.2.4 Mô ̣t cử trí đăng ký bỏ phiếu nhiều lần 52

2.2.5 Ban đăng ký ký nhiều lá phiếu cho mô ̣t cư tri 53

Chương 3. THỬ NGHIỆM CHƯƠNG TRÌNH ỨNG DỤNG 54

3.1 CÔNG NGHỆ PHÁT TRIỂN 54

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

3.2.1 Biểu đồ ngữ cảnh 56

3.2.2 Biểu đồ khung cảnh 56

3.2.3 Biểu đồ phân rã chức năng 57

3.2.4 Cơ sở dữ liệu 59

3.3 MỘT SỐ CHỨC NĂNG 62

3.3.1 Đăng ký hồ sơ 62

Trang 7

3.3.2 Giao diện đăng nhập hệ thống 63

3.3.3 Quản lý hồ sơ 63

3.3.4 Quản trị hệ thống 64

3.3.5 Chữ ký mù: 67

KẾT LUẬN……… ……… 65

TÀI LIỆU THAM KHẢO……… 66

Trang 8

DANH MỤC HÌNH Trang

Trang 9

Hình 3.13 Quản trị hệ thống 60

Trang 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,

Trang 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ế

Trang 12

đó, tôi lựa 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ựng 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

Trang 13

Chương 1 CÁC KHÁI NIỆM CƠ BẢN

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

Trang 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

Trang 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

Trang 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

Trang 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 đó:

Trang 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:

Trang 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:

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

Trang 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

Trang 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ư

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):

Trang 22

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

Trang 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

Trang 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

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

Trang 25

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

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

Verk x, y = Đúng, nếu y = Sigk(x)

Sai, nếu y ≠ Sigk x (1.4) 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ê ̣u , có thuật toán ký , chữ ký có kích thước gấp đôi kích thước tài

Trang 26

liê ̣u như chữ ký DSS Do đó, tốc độ ký chậm , gửi trên ma ̣ng tốn nhiều băng

thông, tốn bô ̣ nhớ lưu trữ

Để cải thiện điều trên, thực tế chữ ký thường được ký lên đa ̣i diê ̣n tài liê ̣u có đội dài không đổi, do đó chữ ký sẽ có đô ̣ dài không thay đổi Ta có thể tạo đa ̣i diê ̣n tài liê ̣u thông qua hàm băm Các hàm băm phổ biến được dùng hiện nay có MD4, MD5, SHA, …

Sơ đồ sử dụng chữ ký thường như sau:

Hình 1.2 Chữ ký số

Trang 27

1.3.2 Chữ ký số RSA

1.3.2.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 }

1.3.2.2 Ví dụ

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

Chọn bí mật số nguyên tố p = 7, q = 5, tính n = p*q = 35, công khai n Đặt P = C = ZnTính bí mật ɸ n = p − 1 q − 1 = 24

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

Chọn khóa bí mật a = 5, là phân tử nghịch đảo của b theo mod ɸ n :

a ∗ b ≡ 1 (mod ɸ n )

y = Sigk x = xa mod n = 25 mod 35 = 32, y ∈ A

Trang 28

Cụ thể: A cần B ký lên một thông điệp X, A làm mù X thành X‟ và gửi X‟ cho B ký, B ký xong gửi chữ ký cho A, A xóa mù chữ ký trên X‟ để đƣợc chữ ký trên X

Chữ ký mù đƣợc ứng dụng trong các vấn đề đòi hỏi sự nặc danh nhƣ bỏ phiếu điện tử, tiền điện tử

1.3.3.2 Chữ ký mù RSA

1.3.3.3 Giới thiệu

Mục đích A cần chữ ký B trên văn bản x theo sơ đồ chữ ký RSA nhƣng không muốn B biết nội dung văn bản x Chữ ký đó là giá trị xamod n, ta làm nhƣ sau:

- A làm mù x thành u: [6]

u = Blind x = x rb(mod n) (1.5) Với n và b lấy đƣợc từ khóa công khai B, r ngẫu nhiên, r ∈ Zn và r nguyên

tố cùng nhau với n để tồn tại phần tử nghịch đảo của r mod n

v = Sig Blind x = Sig x ∗ rb a = xa rb a(mod n)

v = xa ∗ r(mod n)

Trang 29

- A xóa mù trên v sẽ đƣợc chữ ký của x:

z = UnBlind v = v

rmod n = xa.r

r mod n = xa(mod n) (1.6) Nhƣ vậy, A đã nhận đƣợc chữ ký của B trên x: xa(mod n), B không biết nội dung x

1.3.3.4 Ví dụ

- Sinh khóa:

+ Chọn p = 3, q = 5, n = p ∗ q = 15, ɸ n = p − 1 ∗ q − 1 = 8 + Chọn b=3, nguyên tố cùng nhau với ɸ n , a=3, phần tử nghịch đảo của

b theo ɸ n

- Làm mù x=8 thành z với tham số r=2:

z = Blind x = x ∗ rb mod n = 8 ∗ 23 mod 15 = 4

Trang 30

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

1.4.1 Khái niệm

Thông tin quan trọng, bí mật nhiều khi không nên trao cho một người nắm giữ, mà nên chia ra thành nhiều mảnh giao cho nhiều người nắm giữ, mỗi người nắm một mảnh Thông tin gốc chỉ có thể được khôi phu ̣c mo ̣i người đồng ý gô ̣p các mảnh của mình la ̣i Để làm được điều đó ta có thể dùng

sơ đồ chia sẻ bí mật

Sơ đồ chia sẻ bí mật là một phương thức để chia sẻ bí mật ra nhiều phần, sau đó phân phối cho một tập hợp những người tham gia sao cho các tập con trong số những người này được chỉ định có khả năng khôi phục lại bí mật bằng cách kết hợp dữ liệu của họ

Sơ đồ chia sẻ bí mật là hoàn hảo, nếu bất kì một tập hợp những người tham gia mà không được chỉ định sẽ không thu được thông tin mật Có một số

sơ đồ chia sẻ bí mật: sơ đồ ngưỡng Shamir, mạch đơn điệu, cấu trúc không gian vector Brickell Sơ đồ chia sẻ bí mật có thể được dùng trong chia sẻ khóa của bài toán bỏ phiếu điện tử, tiền điện tử…

Mô ̣t sơ đồ chia sẻ bí mâ ̣t có các thành phần : ngườ i phân phối bí mâ ̣t Dealer, những người tham gia nhâ ̣n dữ liê ̣u từ d ealer, kí hiệu P, nhóm có khả năng khôi phu ̣c bí mâ ̣t, là một tập con của P

1.4.2 Phân loa ̣i

1.4.2.1 Sơ đồ chia sẻ bí mật sơ khai

Sơ đồ chia sẻ bí mâ ̣t sơ khai chia mô ̣t cu ̣m từ bí mâ ̣t „password‟ thành các phần „pa‟, „ss‟, „wo‟, „rd‟ và chia mỗ i người mô ̣t mảnh Mô ̣t người không

có mảnh nào chỉ biết mật khẩu 8 ký tự phải thử 268

khả năng , vớ i người có nắm mô ̣t mảnh bí mâ ̣t cần phải đoán 6 ký tự còn lại với 266

khả năng Việc đó khó có thể thực hiện được

Trang 31

1.4.2.2 Sơ đồ chia sẻ bí mật tầm thường

Có một số sơ đồ chia sẻ bí mật trong đó yêu cầu tất cả những người tham gia phải cùng nhau khôi phu ̣c bí mâ ̣t:

ngẫu nhiên ri (trừ mô ̣t người), đưa cho người cuối cùng số (S-r1-… rn)

(trừ mô ̣t người), đưa cho người cuối cùng byte (S xor b1 xor b1)

1.4.2.3 Sơ đồ chia sẻ bí mật có ngưỡng giới hạn

Cho t, w là các số nguyên dương, t ≤ w Một sơ đồ ngưỡng A(t, w) là một phương pháp phân chia khóa K cho một tập w thành viên (ký hiệu P) sao cho t thành viên bất kỳ có thể tính được K nhưng không một nhóm (t-1) thành viên nào có thể làm được điều đó

Giá trị K được chọn bởi một thành viên đặc biệt được gọi là người phân phối D không thuộc tập P D chia khóa cho mỗi thành viên trong P bằng cách cho mỗi thành viên một thông tin cục bộ gọi là mảnh Các mảnh được phân phát bí mật để các thành viên không biết mảnh của nhau Một tập con các thành viên B sẽ kết hợp các mảnh của họ để tính khóa K Nếu |B| ≥ t thì họ

có khả năng tính được K, Nếu B < 𝑡 thì họ không thể tính được K

Có nhiều sơ đồ chia sẻ bí mâ ̣t có ngưỡng giới ha ̣n như : sơ đồ chia sẻ bí

mâ ̣t Blakley, sơ đồ ngưỡng Shamir

1.4.3 Sơ đồ ngưỡng Shamir

Giả sử tập P được phân phối khóa K là : P = pi: 1 ≤ i ≤ w K là tập tất

cả các khóa có thể S tập mảnh khóa: tập tất cả các mảnh khóa có thể

Trong sơ đồ ngưỡng Shamir, D xây dựng một đa thức ngẫu nhiên a(x) có bậc tối đa là t-1 Trong đa thức này, hằng số là khóa K, mỗi thành viên pi sẽ

có một cặp giái trị (xi, yi) Với một tập con B gồm t thành viên, dựa vào các

Trang 32

mảnh thông tin của các thành viên đó, ta khôi phục lại khóa K bằng 2 phương pháp: phép nội suy đa thức và công thức nội suy Lagrange

Giai đoạn khởi tạo:

1.4.3.1 Khôi phục khóa K bằng phép nội suy đa thức:

Khi t thành viên gộp t mảnh(xi, yi), để xây dựng lại khóa K, ta cần xây dựng lại đa thức bí mật mà D xây dựng:

a x = K + a1x + ⋯ + at−1xt−1Tức là ta cần giải hệ t phương trình t ẩn: K, a1, … , at−1sau:

Ở đây các phép toán đều tính trên Zp

Nếu các phương trình này độc lập tuyến tính, ta có thể giải ra hệ phương trình ra bộ nghiệm duy nhất (K, a1, … , at−1) và tính ra K duy nhất

Trang 33

Ta sử du ̣ng giải thuâ ̣t khử Gauss để giải hê ̣ phương trình trên

Giải thuật khử Gauss:

Giải thuật Gauss giải hệ phương trình tuyến tính n ẩn, n phương trình:

Trang 34

Bước k: Mô ̣t cách tổng quát, bước thứ k ta có hệ phương trình đầu vào:

hê ̣ phương trình như sau:

xn = bn

ann

xi = bi − aijxj

n j=i+1

aii

Trong đó i=n-1, n-2 … 1

Trang 35

Ví dụ:

Chọn số nguyên tố p=17 Ta cần chia sẻ khóa k=13 Trong bỏ phiếu điê ̣n tử thì số người cần thiết để tìm la ̣i khóa ký trong ban đăng ký là tất cả các các thành viên:

Vâ ̣y 3 thành viên sẽ nhận được các mảnh khóa (1,8), (2,7), (3,10)

Để khôi phu ̣c la ̣i khóa k=13, ta giải hê ̣ 3 phương trình 3 ẩn:

8710

Ngày đăng: 25/11/2015, 10:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w