Với sự phát triển của mật mã học – ngành khoa học nghiên cứu việc che giấu thông tin, trên thực tế, đã có nhiều phương pháp mã hóa và các thuật toán tương ứng với mỗi phương pháp được ứn
Trang 1SỞ GIÁO DỤC - ĐÀO TẠO QUẢNG NGÃI
Chuyên ngành : Khoa học máy tính
Mã số: 60.48.01
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
Đà Nẵng - Năm 2013
DaiHocDaNang
Trang 2Người hướng dẫn khoa học: TS NGUYỄN TRẦN QUỐC VINH
Phản biện 1: PGS.TS VÕ TRUNG HÙNG
Phản biện 2: PGS.TS LÊ MẠNH THẠNH
Luận văn đã được bảo vệ tại Hội đồng chấm luận văn tốt nghiệp Thạc sĩ kỹ thuật họp tại Đại học Đà Nẵng vào ngày 28 tháng 12 năm 2013
* Có thể tìm hiểu luận văn tại:
- Trung tâm Thông tin - Học liệu, Đại học Đà Nẵng
DaiHocDaNang
Trang 3MỞ ĐẦU
1 Lý do chọn đề tài
Ngày nay, với sự quan tâm và đầu tư của xã hội, giáo dục và đào tạo là một trong những lĩnh vực đi đầu về ứng dụng và khai thác công nghệ thông tin Một trong những công tác mà ngành giáo dục
và đào tạo quan tâm áp dụng công nghệ là công tác bảo mật và truyền tải đề thi
Bảo mật đề thi có một vai trò hết sức quan trọng đối với tất cả các kỳ thi Đặc biệt, đối với các kỳ thi có quy mô lớn thì đề thi sẽ được truyền đi trên mạng với sự giúp đỡ của mạng máy tính Bởi vậy vấn đề là chúng ta phải làm sao đảm bảo được tính bảo mật dữ liệu, chính xác của đề thi trong suốt quá trình truyền đi Nghĩa là, thông tin sẽ không bị sai lệch, bị thay đổi, bị lộ trong quá trình truyền từ nơi gửi đến nơi nhận
Có thể nói, hậu quả của việc rò rỉ thông tin đề thi là vô cùng nghiêm trọng Nó sẽ ảnh hưởng đến rất nhiều thành phần trong xã hội Cụ thể là ngành giáo dục, thí sinh, gia đình thí sinh và rộng hơn
là toàn xã hội Vì vậy, vấn đề bảo mật đề thi trở nên cấp bách và cần thiết cho tất cả mọi người chứ không phải chỉ riêng ngành giáo dục đào tạo
Mã hóa được xem là mức bảo vệ tối ưu đối với dữ liệu giúp thông tin không bị lộ và nâng cao độ an toàn trong các giao dịch truyền tải thông tin
Với sự phát triển của mật mã học – ngành khoa học nghiên cứu việc che giấu thông tin, trên thực tế, đã có nhiều phương pháp
mã hóa và các thuật toán tương ứng với mỗi phương pháp được ứng dụng để mã hóa thông tin như phương pháp mã hóa đối xứng với các thuật toán Data Encryption Standard (DES), Triple DES, Advance Encryption Standard (AES); phương pháp mã hóa phi đối xứng với
DaiHocDaNang
Trang 4khóa công khai gồm các thuật toán nổi tiếng như Diffle-Hellman, Rivest – Shamir – Adleman (RSA), hệ mã hóa đường cong Elliptic (ECC); hệ thống mã hóa lai (Hybrid Cryptosystems)
Trong các phương pháp mã hóa và thuật toán kể trên, hệ thống
mã hóa lai là sự kết hợp giữa tốc độ với tính an toàn của phương pháp
mã hóa đối xứng và mã hóa phi đối xứng Hệ thống mã hóa lai đã tận dụng tốt được điểm mạnh của hai phương pháp mã hóa ở trên đó là tốc
dữ liệu mã hoá lớn hơn, yêu cầu băng thông đường truyền cao hơn Quảng Ngãi là một tỉnh có nhiều huyện miền núi và một huyện đảo, do đó việc nhận và chuyển đề thi bằng phương tiện giao thông như hiện nay sẽ có nhiều trở ngại cũng như việc đảm bảo an toàn, bí mật cho đề thi chứa đựng nhiều yếu tố rủi ro, kinh phí cho việc giao nhận
và bảo vệ đề thi rất tốn kém
Trước thực tế đó và được sự đồng ý của TS Nguyễn Trần
Quốc Vinh, tôi chọn luận văn “Nghiên cứu và ứng dụng hệ thống
mã hóa lai vào công tác bảo mật trong truyền tải đề thi tại Sở Giáo dục – Đào tạo Quảng Ngãi”
Luận văn thực hiện việc nghiên cứu kết hợp các giải thuật mã hóa thông tin tiên tiến, từ đó đề xuất giải pháp xây dựng hệ thống mã hóa lai để bảo mật thông tin khi trao đổi thông tin trên mạng, ứng dụng cụ thể vào công tác bảo mật trong truyền tải đề thi
DaiHocDaNang
Trang 52 Mục tiêu nghiên cứu
Mục tiêu của đề tài là xây dựng ứng dụng quản lý và truyền tải
đề thi đảm bảo an toàn thông tin dữ liệu khi truyền qua mạng dựa vào lý thuyết hệ thống mã hóa lai
Đề tài tập trung vào các nhiệm vụ cụ thể sau:
− Tìm hiểu về an toàn và bảo mật thông tin
− Các kỹ thuật mã hóa thông tin
− Các giải thuật mã hóa tiên tiến
− Kết hợp các giải thuật mã hóa tiên tiến thích hợp, từ đó xây dựng hệ thống mã hóa lai ứng dụng vào công tác bảo mật trong truyền tải đề thi
− Đánh giá, so sánh ưu điểm, nhược điểm của các giải thuật
mã hóa được sử dụng trong đề tài
3 Đối tượng và phạm vi nghiên cứu
v Đối tượng nghiên cứu
− Nghiên cứu các kỹ thuật mã hóa thông tin
− Cơ sở lý thuyết về hệ thống mã hóa lai
v Phạm vi nghiên cứu
− Nghiên cứu giải thuật AES
− Nghiên cứu hệ mã hóa đường cong ECC
− Nghiên cứu hệ thống mã hóa lai
Đề tài chỉ nghiên cứu xây dựng ứng dụng bảo mật trong truyền tải các đề thi quan trọng trong phạm vi Sở Giáo dục – Đào tạo Quảng Ngãi
4 Phương pháp nghiên cứu
v Phương pháp lý thuyết
Nghiên cứu lý thuyết về kỹ thuật mã hóa thông tin, các phương pháp mã hóa thông tin, thuật toán AES, hệ mã hóa đường
DaiHocDaNang
Trang 6cong ECC Trên cơ sở đó, xây dựng hệ thống mã hóa lai ứng dụng vào công tác bảo mật trong truyền tải đề thi
v Phương pháp thực nghiệm
− Xây dựng hệ thống quản lý và truyền tải đề thi dựa trên hệ thống mã hóa lai
− Lập trình ứng dụng bằng ngôn ngữ C#
− Xây dựng chương trình, thử nghiệm và đánh giá kết quả
5 Cấu trúc luận văn
Luận văn được tổ chức thành ba chương với các nội dung chính như sau:
Chương 1: Tổng quan về an toàn và bảo mật thông tin
Chương này trình bày một số lý thuyết về mã hóa thông tin, an toàn và bảo mật thông tin, các phương pháp mã hóa thông tin và giới thiệu một số giải thuật tiên tiến hiện nay đang được áp dụng tùy theo phương pháp và môi trường áp dụng
Chương 2: Giải pháp sử dụng hệ thống mã hóa lai trong bảo mật đề thi
Chương này đi sâu nghiên cứu cách thức tổ chức, cơ chế hoạt động, phương pháp thực hiện của giải thuật AES và hệ mã hóa đường cong ECC, đồng thời đánh giá, so sánh chung để nêu ra các
ưu điểm, hạn chế từ đó đề xuất giải pháp sử dụng hệ thống mã hóa lai
Chương 3: Xây dựng hệ thống quản lý và truyền tải đề thi tại Sở Giáo dục – Đào tạo Quảng Ngãi
Chương này tìm hiểu bài toán bảo mật và an toàn thông tin dữ liệu khi thực hiện quá trình truyền tải thông tin qua mạng, sử dụng ngôn ngữ lập trình C# xây dựng hệ thống quản lý và truyền tải đề thi, ứng dựng hệ thống mã hóa lai để giải quyết bài toán
Cuối cùng là phần kết luận và hướng phát triển luận văn
DaiHocDaNang
Trang 7CHƯƠNG 1 TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THÔNG TIN
Chương này trình bày tổng quan về nội dung an toàn và bảo mật thông tin, một số lý thuyết liên quan đến mã hóa thông tin, bảo mật thông tin đồng thời giới thiệu một số giải thuật điển hình tiên tiến hiện nay đang được áp dụng tùy theo phương pháp và môi trường ứng dụng
1.1 NỘI DUNG AN TOÀN VÀ BẢO MẬT THÔNG TIN
Hiện nay, nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và
đa dạng Các tiến bộ về điện tử viễn thông và công nghệ thông tin không ngừng được phát triển nâng cao chất lượng và lưu lượng truyền tin Do đó, cần phải có các biện pháp cần thiết để bảo vệ an toàn thông tin dữ liệu Đây là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong thực tế có thể có rất nhiều phương pháp được thực hiện để bảo vệ an toàn thông tin dữ liệu
An toàn thông tin bao gồm các nội dung sau:
− Tính bí mật: Tính kín đáo riêng tư của thông tin
− Tính xác thực: Xác thực đối tác, xác thực thông tin trao đổi
− Tính trách nhiệm: Đảm bảo người gửi thông tin không thể thoái thác trách nhiệm về thông tin mà mình đã gửi
1.1.1 Các kỹ thuật tấn công mạng cơ bản
a Các bước cơ bản của một cuộc tấn công
b Các phương thức tấn công cơ bản
1.1.2 Phương pháp bảo vệ an toàn thông tin bằng mật mã
Trang 8Một số khái niệm trong mật mã học gồm: Mã hóa (encrypt hay encipher ), Giải mã (decrypt hay decipher), Bản rõ (plantext), Bản mã (cipher) , Khóa (key)
c Vai trò của hệ mật mã
d Độ an toàn của hệ mật mã
e Tính chất của mã hóa thông tin
f Ứng dụng của mã hóa thông tin
1.2 CÁC PHƯƠNG PHÁP MÃ HÓA
1.2.1 Mã hóa cổ điển
1.2.2 Mã hóa đối xứng
1.2.3 Mã hóa phi đối xứng
1.3 GIỚI THIỆU MỘT SỐ GIẢI THUẬT MÃ HÓA TIÊN
TIẾN
1.3.1 Mã hóa dữ liệu DES
DES là thuật toán mã hóa với dữ liệu đầu vào và đầu ra là một khối 64 bit Trong đó, khóa mã sử dụng để mã hóa có độ dài 64 bit
DaiHocDaNang
Trang 9nhưng tại những vị trí chia hết cho 8 được dùng để kiểm tra tính chẵn
lẻ
Thuật toán thực hiện 16 vòng Từ khóa đầu vào K, 16 khóa con 48 bit Ki sẽ được sinh ra, mỗi khóa cho một vòng thực hiện trong quá trình mã hóa
Quá trình giải mã được diễn ra tương tự nhưng với các khóa con ứng dụng vào các vòng trong theo thứ tự ngược lại
1.3.2 Mã hóa dữ liệu Triple DES (3DES)
Triple DES hay còn gọi là 3DES thực chất là thực chất là mã hóa cùng một thông tin qua ba lần mã hóa DES với ba khóa khác
nhau Do đó chiều dài khóa sẽ lớn hơn và an toàn hơn so với DES
1.3.3 Chuẩn mã hóa cao cấp AES
AES là một chuẩn mã hóa cao cấp với khóa bí mật cho phép
xử lý các khối dữ liệu đầu vào có kích thước 128 bit và sử dụng các khóa có độ dài 128, 192, 256 bit
1.3.4 Thuật toán RSA
Thuật toán mã hóa phi đối xứng RSA sử dụng một loạt các phương pháp tính toán dựa trên cặp khóa riêng và khóa công khai thay vì phương pháp khối/dòng được định nghĩa trong mã hóa đối xứng
1.3.5 Hệ mật mã dựa trên các đường cong Elliptic
Thuật toán mã hóa sử dụng đường cong elliptic dựa vào độ phức tạp của bài toán logarit rời rạc trong hệ thống đại số Một đường cong elliptic là một đường cong tạo ra bởi một phương trình dạng mẫu y2 = x3 + Ax +B
Thuật toán mã hóa dựa trên đường cong elliptic (ECC) thực hiện việc mã hóa và giải mã dựa trên tọa độ các điểm dựa trên đường
cong elliptic
DaiHocDaNang
Trang 101.4 TỔNG KẾT CHƯƠNG
Chương 1 đã nêu khái quát về tình hình an toàn thông tin, đồng thời nêu ra được một số lý luận về mật mã học cũng như các ứng dụng của nó trong các lĩnh vực khác nhau Bên cạnh đó, ở chương này chúng tôi đã giới thiệu cơ bản một số phương pháp mã hóa đã và đang được các nhà khoa học nghiên cứu, trình bày nguyên tắc hoạt động cũng như nêu ra các ưu và nhược điểm của mỗi giải thuật
CHƯƠNG 2 GIẢI PHÁP SỬ DỤNG HỆ THỐNG MÃ HÓA LAI TRONG
BẢO MẬT ĐỀ THI
Chương này đi sâu nghiên cứu cách thức tổ chức, cơ chế hoạt động, phương pháp thực hiện của giải thuật Advanced Encryption Standard - AES và hệ mã hóa đường cong Elliptic - ECC, đồng thời đánh giá so sánh chung để nêu ra các ưu điểm, hạn chế của các giải thuật, từ đó đề xuất giải pháp sử dụng hệ thống mã hóa lai
2.1 THUẬT TOÁN ADVANCED ENCRYPTION STANDARD 2.1.1 Giới thiệu
2.1.2 Các khái niệm và định nghĩa
a Các khái niệm và ký hiệu
b Các ký hiệu phép toán và các tham số của thuật toán
2.1.3 Các quy ước
a Đầu vào, đầu ra
DaiHocDaNang
Trang 11Đầu vào (input) và đầu ra (output) của thuật toán AES là các dãy nhị phân 128 bit được đánh số thứ tự từ 0 cho đến số cuối cùng, còn được gọi là các khối (block) Khóa mã dùng cho thuật toán AES
là một dãy nhị phân có độ dài 128, 192 hay 256 bit Chuẩn mã hóa này không cho phép sử dụng các đầu vào, đầu ra hoặc khóa có đội
dài khác với các đội dài nói trên
Bắt đầu của phép mã hóa hoặc giải mã là việc sao chép mảng các byte in0, in1, in2, , in15 vào mảng trạng thái s theo công thức sau: s[r,c] = in[r +4c], với 0 ≤ r, c ≤ 4 Vào cuối quá trình mã hóa hay giải mã, mảng trạng thái sẽ được sao chép vào mảng byte đầu ra gồm các byte out0, out1, out2, , out15 theo công thức: Out[r + 4c] = s[r,c], với với 0 ≤ r, c ≤ 4
DaiHocDaNang
Trang 12giản được chọn là:
m(x) = x8 + x4 + x3 + x + 1
hay {01}, {1b} nếu biểu diễn dưới dạng hexa
Kết quả nhận được của phép rút gọn là một đa thức có bậc nhỏ hơn 8 nên có thể biểu diễn được dưới dạng 1 byte
c Phép nhân với x
Phép nhân modulo của a(x) và b(x) ký hiệu là a(x)Ub(x) được
Trang 13d2 = (a2—b0 )Å(a1—b1)Å(a0—b2)Å(a3—b3)
d3 = (a3—b0 )Å(a2—b1)Å(a1—b2)Å(a0—b3)
2.1.5 Đặc tả thuật toán
Phương pháp mã hóa theo thuật toán AES bao gồm nhiều
bước biến đổi được thực hiện tuần tự, kết quả đầu ra của phép biến
đổi trước là đầu vào của phép biến đổi tiếp theo Kết quả trung gian
của các phép biến đổi chính là các mảng trạng thái (state)
Thuật toán AES cho phép sử dụng các khóa có độ dài khác
nhau là 128, 192, 256 bit tương ứng với các giá trị của Nk là 4, 6, 8
Số lần lặp trong thuật toán phụ thuộc vào độ dài khóa (Nk) và kích
thước khối (Nb) theo công thức:
a Qui trình mã hóa
Bắt đầu qui trình mã hóa, bản rõ được sao chép vào mảng
trạng thái Sau khi thực hiện thao tác cộng với khóa mã đầu tiên,
mảng trạng thái sẽ được biến đổi qua Nr vòng tùy thuộc vào độ dài
của khóa mã, trong đó lần cuối cùng được thực hiện khác với Nr-1
vòng trước đó Nội dung của mảng trạng thái ở vòng cuối cùng sẽ
sao chép vào mảng đầu ra
Trong qui trình mã hóa của AES, tất cả vòng lặp đều sử dụng
4 hàm (theo thứ tự): Subbytes(), ShiftRows(), MixColumns(),
AddRoundKey() Riêng vòng cuối cùng bỏ qua việc gọi hàm
MixColumns()
v Hàm SubByte()
Hàm SubByte() thực hiện phép thay thế các byte của mảng
trạng thái bằng cách sử dụng một bảng thế S-box, bảng thế này có
tính khả nghịch và được xây dựng bằng cách kết hợp hai biến đổi
sau:
DaiHocDaNang
Trang 141 Thực hiện nhân nghịch đảo trên trường GF(28) Quy ước : {00}-1={00}
2 Áp dụng phép biến đổi Affine (trên GF(2)) sau:
bi = bi Åb(i+4) mod 8 Å b(i+5) mod 8 Å b(i+6) mod 8 Å b(i+7) mod 8
Å ci
trong đó, 0≤ i ≤ 8 là bit thứ i của byte b tương ứng và c i là bit
thứ i của byte c với giá trị {63} hay {01100011}
Hàm AddRoundKey() nhằm bổ sung khóa riêng biệt cho mỗi
vòng lặp trong quá trình mã hóa hay giải mã của AES Các khóa này
được sinh ra từ thủ tục sinh khóa Hàm AddRoundKey() thực hiện
bằng cách cộng một khóa vòng tại vòng đang xét với mảng trạng thái thông qua phép toán XOR trên bit
v Thuật toán sinh khóa
b Qui trình giải mã
Qui trình giải mã được thực hiện theo chiều ngược lại với qui trình mã hóa, đồng thời các hàm biến đổi trong qui trình này cũng
DaiHocDaNang
Trang 15được thực hiện đảo ngược Ngoại trừ hàm AddRoundKey() không thay đổi vì chính bản thân nó là một phép biến đổi thuận nghịch do
Hàm này là phép biến đổi ngược của hàm MixColumns()
v Thuật toán giải mã tương đương
2.1.6 Các ưu điểm và hạn chế của giải thuật
Ưu điểm của thuật toán AES là cho phép thực thi hiệu quả bằng cả phần mềm và phần cứng mà không cần nhiều bộ nhớ Nhược điểm là giải mã kém trên các thiết bị thẻ thông minh vì cần nhiều mã
và số vòng xử lý
2.2 HỆ MÃ HÓA ĐƯỜNG CONG ELLIPTIC
2.2.1 Cơ sở toán học
a Nhóm, vành, trường
b Số học modulo và trường hữu hạn GF(p)
2.2.2 Đường cong Elliptic trên trường số thực
Đường cong elliptic trên trường số thực là đường cong có dạng: y2 = x3 + ax + b, với a,b R
2.2.3 Đường cong Elliptic trên trường hữu hạn GF(P)
Đường cong elliptic trên trường GF(p) là đường cong có các
hệ số thuộc trường Zp, đường cong này có dạng:
y2 mod p = (x3 + ax + b)mod p với a,b, x, y Zp DaiHocDaNang