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

Tìm hiểu bài toán logarithm rời rạc và hệ mật omura massey có sửa đổi

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.71 MB, 68 trang )

ĐÀM QUANG QUYỀN

BỘ GIÁO DỤC VÀ ĐÀO TẠO
VIỆN ĐẠI HỌC MỞ HÀ NỘI

CÔNG NGHỆ THÔNG TIN

LUẬN VĂN THẠC SỸ
CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN

TÌM HIỂU BÀI TOÁN LOGARITHM RỜI RẠC VÀ HỆ
MẬT OMURA MASSEY CÓ SỬA ĐỔI

ĐÀM QUANG QUYỀN
KHÓA 2015-2017

HÀ NỘI - 2017


BỘ GIÁO DỤC VÀ ĐÀO TẠO
VIỆN ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SỸ

TÌM HIỂU BÀI TOÁN LOGARITHM RỜI RẠC VÀ HỆ
MẬT OMURA MASSEY CÓ SỬA ĐỔI

ĐÀM QUANG QUYỀN
CHUYÊN NGÀNH : CÔNG NGHỆ THÔNG TIN
MÃ SỐ: 60.48.02.018
NGƯỜI HƯỚNG DẪN KHOA HỌC: GS.TS NGUYỄN BÌNH



HÀ NỘI - 2017


MỤC LỤC
MỤC LỤC................................................................................................................... 1
LỜI CAM ĐOAN ....................................................................................................... 1
LỜI CẢM ƠN ............................................................................................................. 2
DANH MỤC HÌNH VẼ .............................................................................................. 3
DANH MỤC VIẾT TẮT ............................................................................................ 4
MỞ ĐẦU ..................................................................................................................... 5
CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN THÔNG TIN ...................................... 7
BÀI TOÁN LOGARITHM RỜI RẠC & CÁC HỆ MẬT CÓ LIÊN QUAN............. 7
1.1 Giới thiệu An toàn bảo mật thông tin [1], [3] ........................................... 7
1.1.1 Các hình thức tấn công và phương pháp phòng tránh ....................................................... 7
1.1.2 Mục tiêu của an toàn bảo mật thông tin ...........................................................................12

1.2 Khái quát về mật mã học [1], [3] ........................................................... 14
1.2.1 Giới thiệu về mật mã học .................................................................................................14
1.2.2 Sơ lược về mật mã học ....................................................................................................14

1.3 Bài toán logarithm rời rạc [2] ................................................................ 16
1.3.1 Bài toán logarithm tuyến tính ..........................................................................................16
1.3.2 Phát biểu bài toán logarith rời rạc ....................................................................................17
1.3.3 Các phương pháp giải bài toán logarith rời rạc................................................................18

1.4 Các hệ mật điển hình ............................................................................. 26
1.4.1 Hệ mật Pohlig-Hellman ...................................................................................................27
1.4.2 Hệ mật Diffie-Hellman ....................................................................................................30


1.5 Kết luận chương .................................................................................... 32
CHƯƠNG 2: XÂY DỰNG HỆ MẬT OMURA-MASSEY CÓ SỬA ĐỔI .............33
2.1 Tổng quan Omura-Messey [1], [3] .....................................................................................34

2.2 Bản chất hệ mật Omura – Massey .......................................................... 43
2.2.2 Nhận xét và hướng sửa đổi .............................................................................................44

2.3 BỔ SUNG HỆ MẬT OMURA – MASSEY ............................................ 45
2.3.1 Tạo khóa ..........................................................................................................................46
2.3.2 Quá trình giao tiếp, tính toán ...........................................................................................46


2.4.3 Ví dụ minh họa ................................................................................................................46

2.4 TÍNH XÁC THỰC TRONG HỆ MẬT OMURA MASSEY (Additive
Omura-Massey) .......................................................................................... 47
2.4.1 Tạo khóa ..........................................................................................................................47
2.4.2 Quá trình giao tiếp, tính toán ...........................................................................................47
2.4.3 Ghi chú ............................................................................................................................47
2.4.4 Ví dụ minh họa ................................................................................................................47

2.5 SỬA ĐỔI THÊM YẾU TỐ XÁC THỰC THEO KIỂU NHÂN (AOM-1) 48
2.5.1 Tạo khóa ..........................................................................................................................48
2.5.2 Quá trình giao tiếp, tính toán ...........................................................................................48

2.6 SỬA ĐỔI THÊM YẾU TỐ XÁC THỰC THEO KIỂU CỘNG (AOM-2) 48
2.6.1 Tạo khóa ..........................................................................................................................48
2.6.2 Quá trình giao tiếp, tính toán ...........................................................................................49
2.6.3 Ví dụ nhỏ .........................................................................................................................49


2.7 SỬA ĐỔI THÊM YẾU TỐ XÁC THỰC THEO KIỂU LŨY THỪA
(AOM-3) .................................................................................................... 49
2.7.1 Tạo khóa ..........................................................................................................................49
2.7.2 Quá trình giao tiếp, tính toán ...........................................................................................50
2.7.3 Ví dụ nhỏ .........................................................................................................................50

2.8 SỬA ĐỔI THÊM YẾU TỐ XÁC THỰC THEO KIỂU LŨY THỪA
(AOM-4) .................................................................................................... 50
2.8.1 Tạo khóa ..........................................................................................................................50
2.8.2 Quá trình giao tiếp, tính toán ...........................................................................................50
2.8.3 Ví dụ nhỏ .........................................................................................................................50
2.9 Kết luận chương..................................................................................................................51

CHƯƠNG 3: PHÂN TÍCH HIỆU NĂNG AN TOÀN CỦA HỆ MẬT OMURAMASSEY CÓ SỬA ĐỔI...........................................................................................52
3.1 Độ an toàn của hệ mật ........................................................................... 52
3.1.1 Độ an toàn không điều kiện .............................................................................................52
3.1.2 Độ an toàn tính toán.........................................................................................................52
3.1.3 Các loại tấn công cơ bản trong phân tích mã ...................................................................53

3.2 Đạt được cải tiến gì ............................................................................... 54


3.3 Ưu nhược điểm của hệ mật OMURA MASSEY sau khi sửa đổi ............. 54
3.3.1 Ưu điểm ...........................................................................................................................54
3.3.2 Nhược điểm .....................................................................................................................55

3.4 Giới thiệu RSA ...................................................................................... 55
3.4.1 Độ an toàn........................................................................................................................55
3.4.2 Hiệu suất thực hiện và ứng dụng .....................................................................................55
3.4.3 Một số phương pháp tấn công hệ mã RSA ......................................................................56

3.4.4 Tạo khóa bằng thuật toán RSA ........................................................................................57
3.4.5 Mã hóa khóa bằng thuật toán RSA ..................................................................................58
3.4.6 Giải mã bằng thuật toán RSA ..........................................................................................60
3.4.7 Mã chương trình ..............................................................................................................61

3.5 Kết luận chương 3 ................................................................................. 61
KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO .........................................62
TÀI LIỆU THAM KHẢO.........................................................................................63


LỜI CAM ĐOAN
Tôi xin cam đoan, toàn bộ nội dung liên quan tới đề tài được trình bày trong
luận văn là bản thân tôi tự tìm hiểu và nghiên cứu, dưới sự hướng dẫn khoa học của
GS.TS Nguyễn Bình. Các tài liệu, số liệu tham khảo được trích dẫn đầy đủ nguồn
gốc. Tôi xin chịu trách nhiệm trước pháp luật lời cam đoan của mình.
Học Viên thực hiện

Đàm Quang Quyền

1


LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn tới VIỆN ĐẠI HỌC MỞ HÀ NỘI, nơi các thầy cô đã
tận tình truyền đạt các kiến thức quý báu cho tôi trong suốt quá trình học tập. Xin
cảm ơn Ban Giám Hiệu nhà trường và các cán bộ đã tạo điều kiện tốt nhất cho
chúng tôi học tập và hoàn thành đề tài tốt nghiệp của mình. Đặc biệt, tôi xin gửi tới
GS.TS Nguyễn Bình, thầy đã tận tình chỉ bảo tôi trong suốt quá trình thực hiện đề
tài lời cảm ơn và biết ơn sâu sắc nhất. Bên cạnh những kiến thức khoa học, thầy đã
giúp tôi nhận ra những bài học về phong cách học tập, làm việc và những kinh

nghiệm sống quý báu. Tôi xin bày tỏ lòng biết ơn tới gia đình, bạn bè, đồng nghiệp
và những người thân đã động viên khích lệ tinh thần và giúp đỡ để tôi hoàn thành
luận văn này.
Học Viên thực hiện

Đàm Quang Quyền

2


DANH MỤC HÌNH VẼ
Hình 1. 1 Xem trộm thông điệp ..................................................................................8
Hình 1. 2 Trudy sửa thông điệp ..................................................................................8
Hình 1. 3 Mạo danh .....................................................................................................9
Hình 1. 4 Phát lại thông điệp .....................................................................................10
Hình 1. 5 Mô hình phòng chống xâm nhập và phá hoại hệ thống ............................12
Hình 1. 6 Các giao thức của hệ thống mật Massey - Omura ....................................36
Hình 1. 7 Các giao thức của hệ thống EMO-1 ..........................................................39
Hình 1. 8 Các giao thức của hệ thống mật EMO-2 ...................................................42
Hình 2. 1 Sơ đồ mã hóa, giải mã omura massey .......................................................44
Hình 3. 1 Giao diện tạo khóa RSA ............................................................................57
Hình 3. 2 Tạo khóa RSA thủ công ............................................................................58
Hình 3. 3 Tạo khóa RSA tự động ..............................................................................58
Hình 3. 4 Trích xuất file khóa ...................................................................................58
Hình 3. 5 Mã hóa RSA ..............................................................................................59
Hình 3. 6 Chọn file cần mã hóa.................................................................................59
Hình 3. 7 Kết quả mã hóa RSA .................................................................................59
Hình 3. 8 Giải mã RSA .............................................................................................60
Hình 3. 9 Chọn file cần giải mã ................................................................................60
Hình 3. 10 kết quả giải mã RSA ...............................................................................60


3


DANH MỤC VIẾT TẮT
STT

Ký hiệu/Chữ viết tắt

Viết đầy đủ

1

RSA

Rivest - Shamir - Adleman

2

DES

Data Encryption Standard

3

AES

Advanced Encryption Standard

4


NIST

National Institute of Standards and Technology

5

FIPF

Farm Innovation and Promotion Fund

6

NSA

National Security Agency

4


MỞ ĐẦU
Ngày nay cùng với sự phát triển của các ngành khoa học, công nghệ thông tin và
truyền thông đã có những bước tiến mang tính đột phá, trong đó phải kể đến sự phát
triển của mạng Internet và mạng truyền số liệu. Điều này làm cho việc trao đổi,
truyền thông tin qua mạng ngày càng trở nên phổ biến trong mọi lĩnh vực của đời
sống xã hội. Cùng với sự phát triển của mạng thông tin và truyền thông cũng kéo
theo sự gia tăng một số lượng tội phạm lợi dụng kẽ hở bảo mật của mạng để tấn
công, ăn cắp, làm giả thông tin gây ra những thiệt hại to lớn.
Tại nước ta trong những năm gần đây việc tiến hành xây dựng chính phủ điện tử đã
và đang được các cơ quan chức năng nghiên cứu và đề xuất các giải pháp đầu tư

thích hợp, tại các ngân hàng việc cung cấp các dịch vụ giao dịch qua mạng ngày
càng phổ biến với hầu hết các khách hàng như dịch vụ Ebank, ví điện tử, dịch vụ
thẻ….Về mặt văn hóa báo mạng ngày càng phát triển cả về số lượng và chất lượng,
cùng với mạng truyền hình số, truyền hình cable ngày càng trở nên phổ biến, dịch
vụ mạng có thể cung cấp cho mọi đối tượng có đủ điều kiện và nhu cầu tiếp cận, và
một vấn đề nảy sinh đó là đã có một số lượng tội phạm lợi dụng kẽ hở bảo mật để
tấn công, thay đổi thông tin làm ảnh hưởng đến uy tín, gây thiệt hại rất lớn về kinh
tế các tổ chức và cá nhân.
Để đối phó với những vấn đề đó việc cần thiết là phải xây dựng được hệ thống mật
mã đủ mạnh đảm bảo sự bảo mật và an toàn thông tin, đây cũng là nhiệm vụ trọng
tâm và then chốt của các nhà nghiên cứu, xây dựng mật mã. Hiện nay trên thế giới
tồn tại hai hệ thống mật mã, hệ thống mật mã khóa bí mật hiện vẫn sử dụng trong
nhiều ứng dụng tuy nhiên có một nhược điểm như khó phân phối, quản lý khóa và
không hỗ trợ chữ ký điện tử.
Hệ thống mật mã khóa công khai có nhược điểm là khả năng xử lí chậm hơn nhưng
có ưu điểm là dễ phân phối và quản khóa do đó có thể hỗ trợ chữ ký số sử dụng cho
mục đích đảm bảo tính toàn vẹn dữ liệu. Mã khóa công khai dựa trên các hàm một
chiều (tính thuận thì dễ, tính ngược thì rất khó) cho đến này thế giới đã tìm ra 5 bài
toán một chiều có thể sử dụng xây dựng hệ mật khóa công khai, đó là (1) bài toán
logarit rời rạc; (2) bài toán phân tích thừa số (tiêu biểu là hệ mật RSA); bài toán xếp

5


ba lô; (4) bài toán mã sửa sai và (5) bài toán hệ mật xây dựng trên các đường cong
elliptic.
Từ những phân tích trên tác giả đã chọn đề tài “Tìm hiểu Bài toán logarithm rời
rạc & Hệ mật OMURA-MASSEY có sửa đổi” để làm khóa luận tốt nghiệp.
Luận văn của Tác giả gồm có 3 chương với nội dung cơ bản sau:
CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN THÔNG TIN BÀI TOÁN

LOGARITHM RỜI RẠC & CÁC HỆ MẬT CÓ LIÊN QUAN
CHƯƠNG 2: XÂY DỰNG HỆ MẬT OMURA-MASSEY CÓ SỬA ĐỔI
CHƯƠNG 3: PHÂN TÍCH HIỆU NĂNG AN TOÀN CỦA HỆ MẬT OMURAMASSEY CÓ SỬA ĐỔI

6


CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN THÔNG TIN
BÀI TOÁN LOGARITHM RỜI RẠC & CÁC HỆ MẬT CÓ
LIÊN QUAN
1.1 Giới thiệu An toàn bảo mật thông tin [1], [3]
Trước đây khi công nghệ máy tính chưa phát triển, khi nói đến vấn đề an toàn
bảo mật thông tin (Information Security), chúng ta thường hay nghĩ đến các biện
pháp nhằm đảm bảo cho thông tin được trao đổi hay cất giữ một cách an toàn, bí
mật. Ví dụ:
- Đóng dấu và ký niêm phong một bức thư để biết ràng lá thư có được chuyển
nguyên vẹn đến người nhận hay không.
- Lưu trữ tài liệu mật trong các két sắt có khóa, tại các nới được bảo vệ nghiêm
ngặt, chỉ có những người được cấp quyền mới có thể xem tài liệu.
- Dùng mật mã mã hóa thông điệp để chỉ có người gửi và người nhận hiểu
được thông điệp. Phương pháp này thường được sử dụng trong chính trị, quân sự.
Với sự phát triển mạnh mẽ của công nghệ thông tin, đặc biệt là sự phát triển của
mạng Internet, ngày càng có nhiều thông tin được lưu trữ trên máy tính và gửi đi
trên mạng internet. Do đó xuất hiện nhu cầu về an toàn và bảo mật thông tin trên
máy tính.

1.1.1 Các hình thức tấn công và phương pháp phòng tránh
1.1.1.1 Các hình thức tấn công
Để xem xét những vấn đề bảo mật liên quan đến truyền thông trên mạng, chúng
ta lấy một bối cảnh sau: có ba nhân vật tên là Alice, Bob và Trudy, trong đó Alice

và Bob thực hiện trao đổi thông tin với nhau, còn Trudy là kẻ xấu muốn lấy thông
tin của Alice và Bob, đặt các thiết bị can thiệp vào kênh truyền tin giữa Alice và
Bob. Sau đây là các loại hành động tấn công của Trudy có ảnh hưởng đến quá trình
truyền tin giữa Alice và Bob:
a) Xem trộm thông tin (Release of Massage Content)
Trong trường hợp này Trudy chặn các thông điệp Alice gửi cho Bob và xem
được nội dung của thông điệp.

7


Hình 1. 1 Xem trộm thông điệp
b) Thay đổi thông điệp (Modification of Masage)
Trudy chặn các thông điệp Alice gửi cho Bob và ngăn không cho thông điệp
này đến đích. Sau đó trudy thay đổi nội dung của thông điệp và gửi tiếp cho
Bob. Bob nghĩ rằng thông điệp nguyên bản ban đầu của Alice gửi cho mà
không biết rằng chúng đã bị sửa đổi.

Hình 1. 2 Trudy sửa thông điệp
c) Mạo danh (Masquerade)

8


Trong trường hợp này Trudy giả là Alice và gửi thông điệp cho Bob. Bob
không biết điều này và nghĩ rằng thông điệp là của Alice.

Hình 1. 3 Mạo danh
d) Phát lại thông điệp (Replay)
Trudy sao chép lại thông điệp Alice gửi cho Bob. Sau đó một thời gian Trudy

gửi lại bản sao chép này cho Bob. Bob tin rằng thông điệp thứ hai vẫn là từ
Alice, nội dung hai thông điệp là giống nhau. Thoạt đầu có thể nghĩ rằng việc
phát lại này là vô hại, tuy nhiên trong nhiều trường hợp cũng gây ra tác hại
không kém so với việc giả mạo thông điệp. Xét tình huống sau: giả sử Bob là
ngân hàng còn Alice là một khách hàng. Alice gửi thông điệp đề nghị Bob
chuyển cho Trudy 10.000$. Alice có áp dụng các biện pháp như chữ ký điện tử
với mục đích không cho Trudy mạo danh cũng như sửa đổi thông điệp. Tuy
nhiên nếu Trudy sao chép và phát lại thông điệp thì biện pháp bảo vệ này không
còn ý nghĩa nữa. Bob tin rằng Alice gửi tiếp một thông điệp mới để chuyển
thêm cho Trudy 10.000$ nữa.

9


Hình 1. 4 Phát lại thông điệp

1.1.1.2 Một số cách phòng tránh
Ngày nay, khi mạng Internet đã kết nối các máy tính ở khắp mọi nơi trên thế
giới lại với nhau, thì vấn đề bảo vệ khỏi sự thâm nhập, phá hoại là một điều cần
thiết. Thông qua mạng Internet, các hacker có thể truy cập vào các máy tính trong
một tổ chức (dùng telnet), lấy trộm các dữ liệu quan trọng như mật khẩu, thẻ tín
dụng, tài liệu... Hoặc đơn giản chỉ phá hoại, gây trục trặc hệ thống mà tổ chức đó
phải tốn nhiều chi phí để khôi phục lại hoạt động bình thường của hệ thống.
Để thực hiện việc bảo vệ này, người ta dùng khai niệm “kiểm soát truy cập”
(Access Control). Khái niệm kiểm soát truy cập này có 2 yếu tố chú ý sau:
- Chứng thực truy cập (Authentication): Xác nhận rằng đối tượng (con người
hay chương trình máy tính) được cấp phép truy cập vào hệ thống. Ví dụ: để sử dụng
máy tính thì trước tiên đối tượng phải logon vào máy tính bằng username và
password. Ngoài ra, còn có các phương pháp chứng thực khác như sinh trắc học
(dấu vân tay, mống mắt...) hay dùng thẻ(ATM), Mobile CA....

- Phân quyền (Authorization): các hành động được phép thực hiện sau khi truy
cập vào hệ thống. Ví dụ: bạn được cấp username và password để logon vào hệ
thống, tuy nhiên bạn chỉ được cấp quyền để đọc một số file nào đó. Hoặc bạn chỉ có
quyền đọc file mà không có quyền sửa, xóa file.

10


Với nguyên tắc như vậy một máy tính hoặc một mạng máy tính được bảo vệ
khỏi sự thâm nhập của các đối tượng không được phép. Tuy nhiên thực tế chúng ta
vẫn nghe nói đến các vụ tấn công phá hoại. Để thực hiện điều đó, kể phá hoại tìm
cách phá bỏ cơ chế Authentication và Authorization bằng cách sau:
- Dùng các đoạn mã phá hoại (Malware): như virus, worm, trojan, backdoor...
những đoạn mã độc này phát tán, lan truyền từ máy tính này qua máy tính khác dựa
trên sự bất cẩn của người sử dụng, hay dựa trên các lỗi của phần mềm. Lợi dụng các
quyền được cấp cho người sử dụng (chẳng hạn rất nhiều người login vào máy tính
với quyền administrator), các đoạn mã này thực hiện lệnh phá hoại hoặc dò tìm
password quản trị hệ thống để gửi cho hacker, cài đặt các cổng hậu để hacker bên
ngoài có thể xâm nhập vào hệ thống.
- Thực hiện hành vi xâm phạm (Intrusion): Việc thiết kế các phần mềm có
nhiều lỗ hổng, dẫn đến các hacker có thể lợi dụng để thực hiện những lệnh phá hoại.
Những lệnh này thường là không được phép đối với người bên ngoài, nhung lỗ
hổng của phần mềm dẫn đến được phép. Trong những trường hợp đặc biệt, lỗ hổng
phần mềm cho phép thực hiện những lệnh phá hoại mà ngay cả những người thiết
kế chương trình không ngờ tới. Hoặc hacker có thể sử dụng các cổng hậu do các
backdoor tạo ra để xâm nhập.
Để khắc phục các hành động phá hoại này, người ta dùng các chương trình có
chức năng gác cổng, phòng chống. Những chương trình này dò tìm virus hoặc dò
tìm các hành vi xâm phạm để ngăn chặn chúng, không cho chúng thực thi hoặc xâm
nhập. Đó là các chương trình chống Virus, chương trình firewall... Ngoài ra các nhà

phát triển phần mềm cần có quy trình xây dựng và kiểm lỗi phần mềm nhằm hạn
chế tối ddã những lỗ hổng bảo mật có thể có.

11


Hình 1. 5 Mô hình phòng chống xâm nhập và phá hoại hệ thống

1.1.2 Mục tiêu của an toàn bảo mật thông tin
Như chúng ta đã biết, đối với nhiều tổ chức, doanh nghiệp, cá nhân thì thông tin
và dữ liệu đóng một vai trò hết sức quan trọng trong đời sống và có khi ảnh hưởng
đến sự tồn vong của họ. Vì vậy, việc bảo mật những thông tin và dữ liệu đó là điều
vô cùng cần thiết, nhất là trong bối cảnh hiện nay các hệ thống thông tin ngày càng
được mở rộng và trở nên phức tạp dẫn đến tiềm ẩn nhiều nguy cơ không thể lường
trước được.
Mặt khác, tính chất, mức độ và pham vi của các cuộc tấn công vào hệ thống
máy tính và mạng ngày càng gia tăng bởi chưa bao giờ việc tiếp cận với các kỹ
thuật và sử dụng các công cụ tấn công lại trở nên dễ dàng và đơn giản hơn thế. Và
cuối cùng xuất phát từ động cơ kiếm lợi hoặc chính trị mà các tổ chức tài chính và
cơ quan chính phủ đang trở thành mục tiêu chính của các hacker.
Tất cả những điều này cho thấy vai trò cốt yếu của các chuyên gia an toàn thông
tin trong cuộc chiến bảo mật đầy khốc liệt và không có lối kết này. Những mục tiêu
cần đạt được khi làm công tác bảo mật gồm có 3 mục tiêu chính sau:
- Confidentiality: Đảm bảo tính bí mật của thông tin, tức là thông tin chỉ được
phép truy cập(đọc) bởi những đối tượng(người, chương trình...) được cấp phép.
Tính bí mật của thông tin có thể đạt được bằng cách giới hạn tryu cập về cả
mặt vật lý, ví dụ như tiếp cận trực tiếp tới thiết bị lưu trữ thông tin đó hoặc logic, ví
dụ như truy cập các thông tin đó từ xa qua môi trường mạng. Sau đây là một số
cách thức như vậy:


12


+

Khóa kín và niêm phong thiết bị

+

Yêu cầu đối tượng cung cấp Credential: username/password....

+

Sử dụng Firewall hoặc ACL trên router để ngăn chặn truy cập trái

phép.
+

Mã hóa thông tin sử dụng giao thức và thuật toán mạnh SSL/TLS...

- Integrity: Đảm bảo tính toàn vẹn của thông tin, tức là thông tin chỉ được
phép xóa hoặc sửa đổi bởi những đối tượng được cấp phép và đảm bảo rằng thông
tin vẫn còn chính xác khi lưu trữ hay truyền tin.Về điểm này, nhiều người thường
hay nghĩ tính “Integrity” đơn giản chỉ là đảm bảo thông tin không bị thay đổi
(modify) là chưa đầy đủ.
Ngoài ra, một giải pháp “data integrity) có thể bao gồm thêm việc xác thực
nguồn gốc của thông tin này(thuộc sở hữu của đối tượng nào) để đảm bảo thông tin
đến từ một nguồn đáng tin cậy và ta gọi đó là tính “authenticity” của thông tin.
Sau đây là một số trường hợp tính “integrity” của thông tin bị phá vỡ:
+


Thay đổi giao diện trang chủ của một website.

+

Chặn đứng và thay đổi gói tin được gửi qua mạng.

+

Chỉnh sửa trái phép các file được lưu trữ trên máy tính.

+

Do có sự cố trên đường truyền tin mà tín hiệu bị nhiễu hoặc suy hao

dẫn đến thông tin bị sai lệch.
- Availability: đảm bảo độ sẵn sàng của thông tin, tức là thông tin có thể được
truy xuất bới những người được cấp phép vào bất cứ khi nào họ muốn. Ví dụ,
nếu một server bị ngừng hoạt động hay ngừng cung cấp dịch vụ trong vòng
5phút trên một năm thì độ sẵn sàng của nó là 99.99%.
Ví dụ sau cho thấy hacker có thể cản trở tính sẵn sàng của hệ thống như thế
nào: máy của hacker sẽ gửi hàng loạt các gói tin có các MAC nguồn giả tạo
đến switch làm bộ nhớ lưu trữ MAC addres table của switch nhanh chóng bị
đầy khiến switch không thể hoạt động bình thường được nữa. Đây cũng
thuộc hình thức tấn công từ chối dịch vụ (DoS).

13


Để tăng khả năng chống chọi với các cuộc tấn công cũng như duy trì độ sẵn

sàng của hệ thống ta có thể áp dụng một số kỹ thuật như: Load balancing,
Redudancy, Failover...

1.2 Khái quát về mật mã học [1], [3]
1.2.1 Giới thiệu về mật mã học
Mật mã học là ngành khoa học ứng dụng toán học vào việc biến đổi thông tin
thành một dạng khác với mục đích che dấu nội dung, ý nghĩa thông tin cần mã hóa.
Đây là một ngành quan trọng và có nhiều ứng dụng trong đời sống xã hội. Ngày
nay, các ứng dụng mã hóa và bảo mật thông tin đang được sử dụng ngày càng phổ
biến hơn trong các lĩnh vực khác nhau trên thế giới, từ các lĩnh vực an ninh, quốc
phòng, quân sự...., cho đến các lĩnh vực dân sự như thương mại điện tử, ngân
hàng...
Cùng với sự phát triển của khoa học máy tính và mạng Internet, các nghiên cứu
và ứng dụng của khoa học mật mã ngày càng trở nên đa dạng hơn, mở ra nhiều
hướng nghiên cứu chuyên sâu và từng lĩnh vực ứng dụng đặc thù với những đặc
trưng riêng. Ứng dụng khoa học mật mã không chỉ đơn thuần là mã hóa và giải mã
thông tin mà còn bao gồm nhiều vấn đề khác nhau cần được nghiên cứu và giải
quyết: chức thực ngồn gốc nội dung thông tin (kỹ thuật chữ ký điện tử CA), chứng
nhận tính xác thực về người sở hữu mã khóa (chứng nhận khóa công cộng), các quy
trình giúp trao đổi thông tin và thực hiện giao dịch điện tử an toàn trên mạng...
Những kết quả nghiên cứu về mật mã cũng đã đưa vào trong hệ thống phức tạp hơn,
kết hợp với những kỹ thuật khác để đáp ứng yêu cầu đa dạng của các hệ thống ứng
dụng khác nhau trong thực tế, ví dụ: hệ thống bỏ phiếu bầu cử qua mạng, hệ thống
đào tạo từ xa, hệ thống quản lý an ninh của các đơn vị với hương tiếp cận sinh trắc
học, hệ thống cung cấp dịch vụ multimedia trên mạng với yêu cầu cung cấp dịch vụ
và bảo vệ bản quyền sở hữu trí tuệ đối với thông tin số.

1.2.2 Sơ lược về mật mã học
Khoa học về mật mã (Crytography) bao gồm:
- Mật mã học (cryptography).

- Phân tích mật mã (cryptannalysis)

14


Mật mã học là khoa học nghiên cứu cách ghi bí mật thông tin nhằm biến bản tin
rõ thành các bản mã.
Phân tích mật mã là khoa học nghiên cứu cách phá các hệ mật nhằm phục hồi
bản rõ ban đầu từ bản mã. Việc tìm hiểu các thông tin về khoá và các phương pháp
biến đổi thông tin cũng là một nhiệm vụ quan trọng của phân tích mật mã.
Có ba phương pháp tấn công cơ bản của thám mã:
- Tìm khoá vét cạn.
- Phân tích thống kê.
- Phân tích toán học.
Việc tấn công của thám mã có thể được thực hiện với các giả định:
- Tấn công chỉ với bản mã.
- Tấn công với bản rõ đã biết.
- Tấn công với các bản rõ được chọn.
- Tấn công với các bản mã được chọn.
Có hai hệ thống mật mã chính là: mật mã khoá bí mật và mật mã khoá công
khai.
Khi xây dựng hệ mật người ta thường xem xét tới các tiêu chuẩn sau:
- Độ mật cần thiết.
- Kích thước không gian khóa.
- Tính đơn giản và tốc độ mã hóa, giải mã.
- Tính lan truyền sai.
- Tính mở rộng bản tin.
Khi xây dựng hệ mật người ta thường xem xét tới các tiêu chuẩn sau:
a) Bản rõ X được gọi là là bản tin gốc. Bản rõ có thể được chia nhỏ có kích
thước phù hợp.

b) Bản mã Y là bản tin gốc đã được mã hoá. Ở đây ta thường xét phương pháp
mã hóa mà không làm thay đổi kích thước của bản rõ, tức là chúng có cùng
độ dài.

15


c) Mã là thuật toán E chuyển bản rõ thành bản mã. Thông thường chúng ta cần
thuật toán mã hóa mạnh, cho dù kẻ thù biết được thuật toán, nhưng không
biết thông tin về khóa cũng không tìm được bản rõ.
d) Khoá K là thông tin tham số dùng để mã hoá, chỉ có người gửi và nguời
nhận biết. Khóa là độc lập với bản rõ và có độ dài phù hợp với yêu cầu bảo
mật.
e) Mã hoá là quá trình chuyển bản rõ thành bản mã, thông thường bao gồm
việc áp dụng thuật toán mã hóa và một số quá trình xử lý thông tin kèm
theo.
f) Giải mã chuyển bản mã thành bản rõ, đây là quá trình ngược lại của mã hóa.
g) Mật mã là chuyên ngành khoa học của Khoa học máy tính nghiên cứu về
các nguyên lý và phương pháp mã hoá. Hiện nay người ta đưa ra nhiều
chuẩn an toàn cho các lĩnh vực khác nhau của công nghệ thông tin.
h) Thám mã nghiên cứu các nguyên lý và phương pháp giải mã mà không biết
khoá. Thông thường khi đưa các mã mạnh ra làm chuẩn dùng chung giữa
các người sử dụng, các mã đó được các kẻ thám mã cũng như những người
phát triển mã tìm hiểu nghiên cứu các phương pháp giải một phần bản mã
với các thông tin không đầy đủ.
i) Lý thuyết mã bao gồm cả mật mã và thám mã. Nó là một thể thống nhất, để
đánh giá một mã mạnh hay không, đều phải xét từ cả hai khía cạnh đó. Các
nhà khoa học mong muốn tìm ra các mô hình mã hóa khái quát cao đáp ứng
nhiều chính sách an toàn khác nhau.


1.3 Bài toán logarithm rời rạc [2]
1.3.1 Bài toán logarithm tuyến tính
a) Định nghĩa
Trên trường số thực R với   0,  #1 và hai số thực  , x ta có thể tìm được một số
x thoả mãn    x
Ta có thể viết lại x  log
(3.1)
Bài toán logarith tuyến tính chính là bài toán tìm x.
b) Các tính chất cơ bản

16


Tính chất 1:
Với 1 2  0 thì ta có:
 log ( 1. 2 )  log 1  log  2 .
 log (

1
)  log 1  log  2 .
2

(3.2)

Tính chất 2:
Với   0 , x bất kỳ thì ta có:
log  x  x log  .

(3.3)


Tính chất 3:
Với   0 , x >0 thì ta có: log 

log x
logx

(3.4)

1.3.2 Phát biểu bài toán logarith rời rạc
a) Bài toán
Giả sử cho Zp là một trường hữu hạn với p là 1 số nguyên tố lớn.
Cho  là phần tử sinh của nhóm nhân,  #0 là một phần tử khác thuộc Zp ta
có thể tìm được một số nguyên tố x duy nhất thoả mãn:
  x

(3.5)

Ta có thể viết: log  x
Bài toán logarith rời rạc chính là bài toán tìm x.
b) Các tính chất cơ bản
Nếu y là một phần tử sinh khác của Zp thì
log y  logy  log

(3.6)

logy .  logy  log y

(3.7)




log y  logy  log y

(3.8)

c) Ví dụ
Xét Z19. Ta có bảng sau:
x

1

2

3

4

5

6

7

8

9

10 11 12 13 14 15 16 17 18

log3x


18

7

1

14

4

8

6

3

2

11 12 15 17 13

17

5

10 16

9



log2x

18

1

13

2

16 14

6

log10x 18 17

5

16

2

log13x 18 11 17
log14x 18 13

7

log15x 18

5


log4x

\

9

17 12 15

5

7

11

4

10

9

12 15 10

1

6

3

13 11


7

14

8

9

4

14 10 12 15 16

7

6

3

1

5

13

8

2

9


8

10

2

3

14

5

12 15 11

1

17 16

4

9

11 10

8

16 12 15

4


13

6

3

7

17

1

2

14

9

8

7

4

\

6

\


\

\

\

2

5

\

\

1

4

6

3

3

8

\

Từ bảng trên ta có: 213  3 mod 19.

Nhìn chung đây là một bài toán rất khó khi p đủ lớn ( chẳng hạn p  10200).
e) Nhận xét
So sánh giữa 2 bài toán logarith tuyến tính và logarith rời rạc trình bày ở trên
ta rút ra một số kết luận như sau:
- Đối với bài toán logarith tuyến tính: khi giải bài toán ngược thì đây cũng là
một bài toán khó giải nhưng ta có thể ước đoán được giá trị của nó trong một
khoảng xác định. Vì vậy nó vẫn là một bài toán dễ tìm ra lời giải.
- Đối với bài toán logarith rời rạc: ngoài tính khó giải của bài toán ngược ra
ta còn không thể ước đoán được giá trị của nó. Đây là một bài toán rất khó
giải hiện này không có thuật toán nào có hiệu quả để giải bài toán này. Do
vậy các nhà nghiên cứu mật mã học xây dựng các hệ mật có khả năng bảo
mật cao dựa trên tính khó giải của bài toán logarith rời rạc.

1.3.3 Các phương pháp giải bài toán logarith rời rạc
a) Thuật toán vét cạn
Đây là thuật toán tự nhiên nhất và kém hiệu quả nhất để tính logaritth rời rạc.
Người ta cứ thử tính 1 ,  2 ,  3 , … cho đến khi nào đạt được  thì thôi.
Phương pháp này đòi hỏi O(n) phép toán nhân với n là cấp của  và do đó
không hiệu quả khi n lớn và rõ ràng là hàm mũ thực sự theo logn.
b) Thuật toán bước đi lớn bước đi nhỏ ( Baby-step giant-step )
Giả sử m = [ n ] với n là cấp của  .
Thuật toán bước đi lớn bước đi nhỏ là sự thoả hiệp giữa thời gian và bộ nhớ
của phương pháp vét cạn và dựa trên quan sát sau là nếu    x thì chúng có
thể viết x = im + j với 0  i,j < m. Từ đó  x   im j

18


Hay ( m)i   j . Vậy nên người ta có thể lập bảng (j,  j ) với 0  j < m.
Sau đó lần lượt tính ( m)i với i lần lượt chạy từ 0 đến m – 1 và tra trong

bảng (j,  j ) chừng nào có được đẳng thức ( m)i   j thì dừng lại.
Thuật toán này đòi hỏi không gian lưu trữ là O( n ) phần tử nhóm và đòi hỏi
O( n ) phép nhân để xây dựng và O( n logn) phép so sánh để sắp xếp.
Ngoài ra nó cũng cần O( n ) phép toán nhân và O( n ) phép toán tra bảng.
Tựu chung là nó có thời gian chạy O( n ) phép toán nhóm.
c) Thuật toán  của Pollard
Đây là thuật toán ngẫu nhiên với cùng thời gian chạy như trong thuật toán
bước đi lớn bước đi nhỏ nhưng không cần đến không gian lưu trữ nhiều.
Nó chia nhóm G thành ba tập s1 , s2 , s3 như nhau dựa trên tính chất dễ kiểm
nghiệm. Định nghĩa dãy các phần tử của nhóm x0 , x1 , x2 , … với x0 =1 như sau:
  .xi

xi+1= f (xi)   xi2
 .x
 i
def

Nếu xi  S1
Nếu xi  S2

(3.9)

Nếu xi  S3

Dãy các phần tử của nhóm sẽ xác định hai dãy số nguyên a0 , a1 , a2 … và
b0 , b1 , b2 … thoả mãn xi   ai . bi với i  0 và với a0  0, b0  0 thì:

ai

ai+1=  2ai mod n

a mod n
 i 1
def

Nếu xi  S1
Nếu xi  S2

(3.10)

Nếu xi  S3


bi  1mod n

Bi+1=   2bi mod n
b
 i
def

Nếu xi  S1
Nếu xi  S2

(3.11)

Nếu xi  S3

Người ta áp dụng thuật toán tìm chu trình của Floyd để tìm hai phần tử của
nhóm xi và x2i sao cho xi  x2i . Từ đó  a . b   a . b và do đó  b b   a
i


i

2i

2i

Lấy logarith cả hai vế theo cơ số  chúng ta thu được:
(bi  b2i ).log  (a2i  ai )(mod n)

19

i

2i

2 i  ai


Với điều kiện là bi  b2i (mod n) thì chúng ta có thể dễ dàng giải phương
trình đồng dư này để tính ra log . Trên thực tế thì xác xuất để cho bi  b2i (mod
n) là rất nhỏ và có thể bỏ qua.
Thuật toán này được thực hiện giống như hình chữ  với điểm xuất phát là
chân chữ này và vòng tròn phía trên chính là khi thuật toán rơi vào chu trình.
Chính vì vậy mà nó được gọi là thuật toán  do Pollard nghĩ ra.
d) Thuật toán Pohlig – Hellman
Thuật toán này tận dụng lợi thế của phân rã của cấp n của nhóm G. Giả sử
phân rã của n  p1e p2e ... pre là phân rã nguyên tố của n. Nếu x = log thì cách
1

2


r

tiếp cận này xác định xi = x mod pi ei với 1  i  r và sau đó sử dụng thuật toán
Gauss làm việc với định lý phần dư để tìm ra x mod n.
Mỗi số xi được tính theo các chữ số lo , l1..., l e 1 trong biểu diễn pi phân rã của
i

xi = lo  l1 p1  ...  l e 1 p e 1 với 0  l j  pi  1 . Giả sử bước thứ j chúng ta đã tính
i

i

được l0 , l1 ,..., l j  1 . Do đó chúng ta tính được
l  l1 pi ... l j 1 pij 1

y  0

và    n / p .
i

j 1
i

Do đó   ( / y)n / p  ( ) . Từ đây lj được tính logarith rời rạc theo cơ số
lj

 của  .

Khi biết trước phân rã của n thì thời gian chạy của thuật toán Pohlig Hellman sẽ là o( i 1 ei (log n  pi )) các phép toán nhóm. Thuật toán này chỉ

r

thực sự hiệu quả khi ước lượng nguyên tố pi của n tương đối nhỏ hay n là số
nguyên mịn.
Các thuật toán trên đây cho thấy một điều là chúng đều chạy trong thời gian
hàm mũ thực sự theo số bit đầu vào. Chính vì vậy mà chúng là không hiệu quả
khi tấn công bài toán logarith rời rạc.
f) Thuật toán tính chỉ số (Index-Calculus)
Thuật toán tính chỉ số là thuật toán mạnh nhất được biết đến khi đem tấn
công bài toán logarith rời rạc. Không phải nhóm nào cũng có thể áp dụng thuật

20


×