NGHIÊN CỨU VÀ PHÁT TRIỂN PHƯƠNG PHÁP ẨN MÃ KẾT HỢP VỚI MẬT MÃ NHẰM TĂNG CƯỜNG MỨC ĐỘ AN TOÀN THÔNG TIN - Pdf 43

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

NGHIÊN CỨU VÀ PHÁT TRIỂN PHƯƠNG PHÁP
ẨN MÃ KẾT HỢP VỚI MẬT MÃ NHẰM TĂNG
CƯỜNG MỨC ĐỘ AN TOÀN THÔNG TIN

Hà Nội - 2017


TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

NGUYỄN VIỆT THẮNG

ĐỒ ÁN TỐT NGHIỆP
NGHIÊN CỨU VÀ PHÁT TRIỂN PHƯƠNG PHÁP
ẨN MÃ KẾT HỢP VỚI MẬT MÃ NHẰM TĂNG
CƯỜNG MỨC ĐỘ AN TOÀN THÔNG TIN
Chuyên ngành : Công nghệ thông tin
Mã ngành

: 52480201

GIÁO VIÊN HƯỚNG DẪN: ThS. BÙI THỊ THÙY

Hà Nội - 2017


3


Nguyễn Việt Thắng


5

MỤC LỤC


6

DANH MỤC CÁC HÌNH VẼ


7

DANH SÁCH BẢNG


8

DANH SÁCH ĐOẠN MÃ


9

KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
Từ viết tắt
BM
BMH


Chuẩn mã hóa dữ liệu, là một
giải thuật mã hóa bí mật
Chuẩn mã hóa nâng cao, là
một giải thuật mã hóa khóa
bí mật
Là một thuật toán mã hóa
công khai
Phân tích cú pháp tĩnh
Chuỗi con chung dài nhất


10

MỞ ĐẦU
1. Lý do lựa chọn đề tài
Ngày nay vấn đề an toàn thông tin được xem là một trong những quan tâm
hàng đầu của xã hội, có ảnh hưởng rất nhiều đến hầu hết các ngành khoa học tự
nhiên, kỹ thuật, khoa học xã hội và kinh tế. Đặc biệt với sự phát triển của công nghệ
thông tin đặc biệt là Internet, khiến việc bảo mật an toàn thông tin của người sử
dụng càng quan trọng và thiết yếu.
Mã hóa và ẩn mã là hai phương pháp được sử dụng phổ biến trong việc bảo
vệ thông tin trên các kênh truyền không tin cậy. Tuy nhiên, những phương pháp này
thường được sử dụng độc lập trong quá trình truyền tin. Việc lựa chọn một phương
pháp kết hợp giữa ẩn mã và mã hóa sẽ phát huy tối đa hiệu quả của từng phương
pháp. Vì vậy em lựa chọn nghiên cứu phát triển đề tài này nhằm tìm hiểu phương
pháp làm tăng độ tin cậy và an toàn cho thông tin được truyền đi của người gửi, qua
đó ứng dụng vào nhiều vấn đề bảo mật khác nhau.
2. Nội dung đề tài
Mã hóa và ẩn mã đều là những phương pháp đảm bảo sự an toàn cho thông
tin được trao đổi trên các kênh truyền không tin cậy. Phương pháp mã hóa nhằm ẩn

pháp, độ khả thi và những nhu cầu thực tiễn của phương pháp.
- Phương pháp thực nghiệm: Thực hiện xây dựng ứng dụng bằng những kiến thức
đã có, kết hợp quá trình xử lý lỗi để đạt được sản phẩm hoàn thiện.
4. Cấu trúc đồ án
Nội dung đồ án gồm phần mở đầu và 3 chương như sau:


Chương 1: Tổng quan về mã hóa và ẩn mã.

Trình bày định nghĩa, khái niệm, lịch sử ra đời cũng như phát triển của mã hóa
và ẩn mã. Phân loại các phương pháp mã hóa và ẩn mã, nêu ra các ưu điểm và
nhược điểm của từng phương pháp. Bên cạnh đó cũng nêu lên tầm quan trọng và
những ứng dụng của mã hóa và ẩn mã.


12



Chương 2: Phương pháp kết hợp mã hóa và ẩn mã.

Chương này sẽ đi sâu vào phân tích, nghiên cứu phương pháp ẩn mã mới,
phương pháp ẩn mã không thay đổi “Vật phủ”. Trình bày cơ sở toán học, nghiên
cứu các giải thuật đối sánh chuỗi và ứng dụng của giải thuật vào xây dựng ứng
dụng mã hóa kết hợp với ẩn mã.


Chương 3: Xây dựng ứng dụng mã hóa kết hợp với ẩn mã.

Chương này trình bày phương pháp cài đặt giải thuật mã hóa, đưa ra mô hình kết

đã được đưa ra, trong đó giải pháp dùng mật mã học là giải pháp được ứng dụng
rộng rãi nhất. Các hệ mật mã đã được phát triển nhanh chóng và được ứng dụng rất
phổ biến cho đến tận ngày nay. Thông tin ban đầu được mã hoá thành các ký hiệu
vô nghĩa, sau đó sẽ được lấy lại thông qua việc giải mã nhờ khoá của hệ mã. Đã có
rất nhiều những hệ mã phức tạp được sử dụng như DES, RSA ... Các phương pháp
này trong thực tế tỏ ra rất hiệu quả và được ứng dụng phổ biến. Tuy nhiên trong báo
cáo không đi sâu nghiên cứu về các hệ mật mã mà chỉ tiếp cận với một phương
pháp đã và đang được nghiên cứu, phát triển ở nhiều nước trên thế giới, đó là
phương pháp ẩn mã thông tin. Phương pháp này còn mới và phức tạp, ứng dụng


14

trong an toàn và bảo mật thông tin, đang được xem như một công nghệ chìa khoá
cho vấn đề bảo vệ bản quyền, nhận thực thông tin và điều khiển truy cập …
Để bảo đảm an toàn cho nội dung của thông tin, người ta thường sử dụng
phương pháp mã hoá thông tin, nhằm ẩn đi ý nghĩa của nó. Để giữ bí mật cho thông
tin, người ta tìm ra cách ẩn mã đi sự hiện diện của nó. Xu hướng hiện nay là kết hợp
hai kỹ thuật: mã hóa thông tin sau đó ẩn mã thông tin. Mã hoá và ẩn mã thông tin có
quan hệ chặt chẽ với nhau. Nhiều ý tưởng của kỹ thuật mật mã (Cryptography) rất
hữu ích trong những công việc ẩn mã sự hiện hữu của thông tin. Nghiên cứu việc
kết hợp hai kỹ thuật mật mã và ẩn mã dữ liệu, nhằm khắc phục những nhược điểm
hoặc những hạn chế của từng loại, cho phép xây dựng những hệ thống bảo mật, an
toàn cho việc chuyển tảidữ liệu trên các phương tiện thông tin đại chúng. [2]

Hình 1.1: Phân cấp các lĩnh vực nghiên cứu của mật mã học
1.2.

Tổng quan về mã hóa
• Lịch sử mã hóa

Các chức năng cơ bản của mã hóa
Đảm bảo tính bí mật (confidentiality) – giải quyết vấn đề bảo vệ thông tin

chống lại sự tìm hiểu nội dung thông tin từ các đối tượng không có quyền truy nhập
chúng. Thuật ngữ sự bí mật (secrecy) hoặc sự riêng tư (privacy) cũng đồng nghĩa
với confidentiality.[6]
Đảm bảo tính toàn vẹn dữ liệu (data integrity) – đảm bảo khả năng phát hiện
sửa đổi trái phép thông tin. Để đảm bảo toàn vẹn dữ liệu, cần có các phương pháp
đơn giản và tin cậy phát hiện bất kỳ sự can thiệp không mong muốn vào dữ liệu
(các can thiệp như chèn, xóa và thay thế trong bản tin).[6]
Đảm bảo sự xác thực (authentication) – chức năng này có liên hệ với sự định
danh (identification). Vì thế nó được thực hiện xác thực trên cả thực thể (hai đối
tượng trong một phiên liên lạc sẽ định danh lẫn nhau) và bản thân thông tin (thông
tin được truyền trên kênh truyền sẽ được xác thực về nguồn gốc, nội dung, thời gian
gửi, …). Vì thế vấn đề xác thực trong mật mã được chia thành hai lớp chính – xác


16

thực thực thể (identity authentication) và xác thực nguồn gốc dữ liệu (data origin
authentication).[6]
Đảm bảo chống sự từ chối (non-repudiation) – chức năng ngăn ngừa một
thực thể từ chối (phủ nhận) một cam kết hoặc hành động trước đó. Khi xuất hiện
tranh chấp vì một thực thể từ chối một hành động chắc chắn đã xảy ra, một biện
pháp giải quyết là cần thiết.[6]


Khái niệm về hệ mật

Hệ mật mã được định nghĩa là một bộ năm (P, C, K, E, D), trong đó:


-

Plaintext: Dữ liệu gốc (Original Data) – P
Secret key: Khóa bí mật – K. Sự xáo trộn, thay thế được thực hiện phụ thuộc

-

vào khóa này.
Encryption Algorithms: Thuật toán mã hóa dữ liệu – E. Thực hiện thay thế và

-

biến đổi dữ liệu gốc.
Ciphertext: Bản mã – C. Bản tin đã bị biến đổi sau khi áp dụng thuật toán, nó

-

phụ thuộc vào plaintext và khóa bí mật.
Decryption Algorithm: Thuật toán giải mã dữ liệu – D. Thuật toán giải mã
(phép biến đổi ngược). Sử dụng ciphertext và khóa bí mật để đưa ra bản tin
gốc.
Mô hình mã hóa đối xứng

Hình 1.3: Mô hình mã hóa đối xứng
Các giải thuật mã hóa đối xứng.
Mã hóa đối xứng sử dụng sự kết hợp giữa các phương pháp mã hóa cổ điển,
mã hóa dòng mã hóa khối, với các đặc điểm sau:
-


trong công nghệ an toàn thông tin điện tử. Nhưng thực tiễn triễn khai cho thấy tốc
độ mã hoá khối dữ liệu lớn bằng các thuật toán mã hoá công khai chậm hơn rất
nhiều so với hệ mã hoá đối xứng. Ví dụ, để đạt được độ an toàn như các hệ mã đối
xứng mạnh cùng thời, RSA đòi hỏi thời gian cho việc mã hoá một văn bản lâu hơn
gấp hàng ngàn lần. Do đó, thay bằng việc mã hoá văn bản có kích thước lớn bằng


19

lược đồ khoá công khai thì văn bản này sẽ được mã hoá bằng một hệ mã đối xứng
có tốc độ cao như DES, IDEA,…sau đó khoá được sử dụng trong hệ mã đối xứng sẽ
được mã hoá sử dụng mật mã khoá công khai. Phương pháp này rất khả thi trong
việc mã và giải mã những văn bản có kích thước lớn.[6]
 Ưu và nhược điểm của hệ mật mã khoá công khai

Vấn đề còn tồn đọng của hệ mật mã khoá đối xứng được giải quyết nhờ
hệmật mã khoá công khai. Chính ưu điểm này đã thu hút nhiều trí tuệ vào việc đề
xuất, đánh giá các hệ mật mã công khai. Nhưng do bản thân các hệ mật mã khoá
công khai đều dựa vào các giả thiết liên quan đến các bài toán khó nên đa số các hệ
mật mã này đều có tốc độ mã dịch không nhanh lắm. Chính nhược điểm này làm
cho các hệ mật mã khoá công khai khó được dùng một cách độc lập.
Một vấn đề nữa nảy sinh khi sử dụng các hệ mật mã khóa công khai là việc
xác thực mà trong mô hình hệ mật mã đối xứng không đặt ra. Do các khoá mã công
khai được công bố một cách công khai trên mạng cho nên việc đảm bảo rằng “khoá
được công bố có đúng là của đối tượng cần liên lạc hay không?” là một kẽ hở có thể
bị lợi dụng. Vấn đề xác thực này được giải quyết cũng chính bằng các hệ mật mã
khoá công khai. Nhiều thủ tục xác thực đã được nghiên cứu và sử dụng như
Kerberos, X.509… Một ưu điểm nữa của các hệ mật mã khoá công khai là các ứng
dụng của nó trong lĩnh vực chữ ký số, cùng với các kết quả về hàm băm, thủ tục ký
để bảo đảm tính toàn vẹn của một văn bản được giải quyết.[6]


Sơ đồ chữ ký được định nghĩa như sau:

Sơ đồ chữ ký là một bộ năm (P, A, K, S, V), trong đó:
1. P là một tập hữu hạn các văn bản có thể
2. A là một tập hữu hạn các chữ ký có thể
3. K là một tập hữu hạn các khoá có thể
4. S là tập các thuật toán ký
5. V là tập các thuật toán kiểm thử
6. Với mỗi k ∈ K, có một thuật toán ký sig k ∈ S, sig k: P → A và một thuật
toán kiểm thử ver k ∈ V, ver k: P x A → {đúng, sai}, thoả mãn điều kiện sau
đây với mọi x ∈ P, y ∈ A:

-

Quy trình ký và kiểm tra chữ ký:
- Quá trình ký văn bản:

Giả sử A muốn gửi cho B thông điệp x, A thực hiện các bước sau:


21

1. A băm thông điệp x, thu được bản đại diện z = h(x) – có kích thước cố định

128 bit hoặc 160 bit.
2. A ký số trên bản đại diện z, bằng khóa bí mật của mình, thu được bản ký số y
= sigK (z).
3. A gửi thông điệp và chữ ký (x, y) cho B.


Như vậy, hàm băm là một hàm h có ít nhất hai tính chất sau:
-

Tính chất nén: H sẽ ánh xạ một đầu vào x có độ dài bit hữu hạn tuỳ tới một

-

đầu ra H(x) có độ dài bit n hữu hạn.
Tính chất dễ dàng tính toán: Với H cho trước và một đầu vào x, có thể dễ
dàng tính được H(x).
Các hàm băm (H) tạo ra bản nhận dạng (fingerprint) cho một tập tin, thông

điệp hay một khối dữ liệu truyền đi nhằm kiểm tra tính toàn vẹn.[6]
Đặc trưng cơ bản của hàm băm H(x):
-

H có thể được áp dụng trên khối dữ liệu có độ dài bất kỳ.
H tạo đầu ra có độ dài cố định
H(x) tính toán mọi x tương đối dễ dàng, tạo điều kiện cho việc cài đặt trên

-

phần cứng lẫn phần mềm được thiết thực
Với bất kỳ giá trị băm h, không thể tính được x sao cho H(x)=h. Hay H được

-

gọi là hàm một chiều
Tính bền xung đột yếu (weak collision resistance): với bất kỳ giá trị x,
không thể tính được y ≠ x sao cho H(y) = H(x).

world

Xung đột

HAVAL

256/224/19
2/160/128

256

1024

64

32



MD2

128

384

128

Không

8


256

8736

256

No

32

Có lỗi

RIPEMD

128

128

512

64

32



128/256

128/256


Không

RIPEMD128/256
RIPEMD160/320
SHA-0

khả năng lớn


24

SHA-1
SHA256/224
SHA512/384
Tiger(2)192/160/128
VEST-4/8
(hash
mode)
VEST16/32 (hash
mode)
WHIRLPO
OL

160

160

512


192/160/12
8

192

512

64

64

Không

160/256

256/384

8

80/128

1

Không

320/512

512/768

8



25

1.3.

Tổng quan về ẩn mã.
Ẩn mã, xét theo khía cạnh tổng quát cũng là một hệ mã mật, nhằm đảm bảo

tính an toàn thông tin. Phương pháp này ưu điểm là làm vô hình nội dung thông tin
được chứa trong tệp tin, đó chính là biện pháp hữu hiệu, hạn chế tối đa được sự phá
hoại của những tên tin tặc (hacker). Việc gửi đi những tệp tin thông thường sẽ
không gây ra sự tò mò, chú ý của những tên tin tặc.[7]
Khái niệm về ẩn mã:
Ẩn mã là một kỹ thuật nhúng (Ẩn) một lượng thông tin số nào đó vào trong
một đối tượng dữ liệu số (vật phủ) khác theo một phương pháp nào đó. Có thể làm
thay đổi nội dung của đối tượng khác mà không thể phân biệt được hoặc có thể sử
dụng những đối tượng định trước để truy xuất thông tin.
Ẩn mã là thuật ngữ xuất phát từ tiếng Hi Lạp có nghĩa là “cách viết được
che phủ” nhưng vẫn có thể tìm ra được bản gốc và đã có từ năm 440 trước công
nguyên. Các tài liệu lịch sử cho thấy con người đã áp dụng phương pháp ẩn mã
như viết thông báo lên bảng gỗ sau đó phủ bằng một lớp sáp ong hoặc cạo trọc đầu
và xăm thông báo rồi đợi tóc mọc dài lại,... Sau này, người ta đã sử dụng các loại
“mực vô hình” được làm từ các nguyên liệu hữu cơ như sữa, nước hoa quả… và
các bản viết chỉ hiện lên khi được hơ nóng trên lửa. Vào thế kỉ 21, nhiều nước đã
bắt đầu sử dụng ẩn mã để bảo vệ tiền tệ không bị làm giả, bằng những loại mực
đặc biệt, thuốc nhuộm, sợi chỉ và những mảnh vải nhỏ nhúng bên trong để kí hiệu
giá trị của đồng tiền. Khi Internet ra đời, kéo theo sự phát triển mạnh mẽ của
phương pháp ẩn mã để trao đổi các thông tin một cách bí mật trên các kênh không
an toàn. Có rất nhiều phương pháp ẩn mã khác nhau: ẩn mã trong ảnh, âm thanh,


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status