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

MỘT số vấn đề về bảo mật THƯ điện tử

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (476.79 KB, 13 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
-------------------

TRỊNH HÀ TRANG

MỘT SỐ VẤN ĐỀ
VỀ BẢO MẬT THƯ ĐIỆN TỬ

LUẬN VĂN THẠC SĨ KHOA HỌC

Hà Nội – Năm 2014

1


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
-------------------

TRỊNH HÀ TRANG

MỘT SỐ VẤN ĐỀ
VỀ BẢO MẬT THƯ ĐIỆN TỬ
Chuyên ngành: Bảo đảm toán học cho máy tính và HTTT
Mã số:
60 46 35

LUẬN VĂN THẠC SĨ KHOA HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. Tôn Quốc Bình



Hà Nội – Năm 2014

2


MỞ ĐẦU
Ngày nay, mạng Internet đã trở nên thiết yếu trong mọi lĩnh vực của đời sống
xã hội và nhanh chóng hiện diện rộng khắp với những mục đích đa dạng: từ sản
xuất, kinh doanh, ứng dụng khoa học kỹ thuật đến giải trí đơn thuần. Ứng dụng
quan trọng và phổ biến hàng đầu của Internet là thư điện tử.Thực tiễn mỗi ngày cho
thấy,trên mạng Internetđang diễn ra giao dịch hàng tỷ đô la (trên dưới 2 ngàn tỷ
USD mỗi năm)thông qua thư điện tử. Tuy nhiên dịch vụ phổ biến này cũng gây vô
số rắc rối cho người sử dụng và các doanh nghiệp khi mà một khối lượng thông tin
quan trọng như thông tin về khách hàng, giới thiệu các sản phẩm, dịch vụ hữu ích
cho khách hàng, đơn đặt mua hàng, thông tin cần thiết trước một giao ước ...; hàng
hóa và tiền bạc khổng lồ đang được chuyển giao qua đó. Và những thông tin quan
trọngnày thường là những dữ liệu đính kèmtrong giao dịch thư điện tử e-mail. Đây
quảthực là một mảnh đất mầu mỡ dễ bị nhòm ngó và tấn công.
Làm thế nào để khi gửi e-mail mà không ai khác ngoài người nhận có thể đọc
được? Làm thế nào để thông tin khi truyền đi không bị mất hay bị đánh tráo? Hay
làm thế nào người nhận biết được thông tin mà họ nhận được là chính xác hay
không, nguyên vẹn hay đã bị thay đổi? Vì vậy, vấn đề bảo mật thư điện tử trong khi
trao đổi thông tin trên mạng đãđược đặt ra. Đồng thời mong muốn này cũng đã kích
thích nhiều người và các nhóm áp dụng các nguyên tắc như: sử dụng mật khẩu, mã
hóa dữ liệu, giấu tin để đem lại một e-mail an toàn.
Xuất phát từ nhu cầu thực tế đó, em chọn đề tài luận văn “MỘT SỐ VẤN ĐỀ
VỀ BẢO MẬT THƯ ĐIỆN TỬ” nhằm tìm hiểu các giải pháp bảo mật và góp phần
đưa ragiải pháptránh chocác thông tin quan trọng của dữ liệu đính kèm thư điện tử
bị xem trộm hoặc bị thất thoát, giúp người sử dụng đảm bảoan toàn thông tin khi sử

dụng e-mail.
Em xin gửi lời cảm ơn tới các thầy cô giáo trong khoa Toán – Cơ – Tin học,
trường Đại học khoa học tự nhiên, Đại học Quốc gia Hà Nội; đặc biệt là các thầy cô
giáo trong bộ môn Tin học đã giúp đỡ em hoàn thành đề tài.
Em xin chân thành cảm ơn thầy TS.Tôn Quốc Bình đã tận tình hướng dẫn em
hoàn thành luận văn này.

3


Trong quá trình thực hiện đề tài vẫn còn nhiều thiếu sót. Kính mong các thầy
cô giáo cùng các bạn đóng góp ý kiến để luận văn hoàn thiện hơn.
Em xin chân thành cảm ơn!

4


Chương1- TỔNG QUAN VỀ BẢO MẬT THƯ ĐIỆN TỬ
1.1. Khái niệm về thư điện tử
Ngày nay, Internet đã phát triển rộng rãi trên khắp toàn cầu do đó hệ thống thư
điện tử hoàn toàn có khả năng thay thế hệ thống thư truyền thống. Vậy thưđiện tử là
gì? Nói một cách đơn giản, thưđiện tử là một thông điệp gửi từ máy tính này đến
máy tính khác trên mạng máy tính mang nội dung cần thiết từ người gửi đến người
nhận.
Hệ thống thư điện tử có những ưu điểm vượt trội so với hệ thống thư truyền
thống như:
 Gửi cùng một bức thư cho nhiều người cùng một lúc mà không phải viết nhiều
lần.
 Gửi thư đi khắp nơi trên thế giới nhanh chóng và dễ dàng.
 Gửi thư bất cứ lúc nào, bất cứ đâu và người nhận có thể đọc nó trong sự thuận

tiện nhất với họ.
 Tiết kiệm được rất nhiều thời gian và tiền bạc.
Với những ưu điểm trên, thư điện tử đã trở thành một dịch vụ được sử dụng
rộng rãi nhất trên Internet.
Thư điện tử hoạt động dựa trên mô hình client/server. Nghĩa là, một email sẽ
được tạo bởi một Mail User Agent (MUA) và được gửi đến một mail server, sau đó
mail server sẽ chuyển email đến mail server của người nhận như mô hình sau:

Hình 1.1. Mô hình client/server

5


Vớilượng thông tin được truyền quamạng như vậy thì nguy cơ thông điệp bị
truy cập trái phép rất dễ xảy ra. Vì vậy vấn đề bảođảm an toàn và bảo mật thông tin
cho thưđiện tử là rất cần thiết.
Đểđảm bảo an toàn và bí mậthay bảo mậtcho một thông điệp truyềnđi, phương
pháp truyền thống thườngđược sử dụng là mã hóa thông điệp theo một quy tắc
nàođóđã được thỏa thuận trước giữa người gửi và người nhận.
1.2. Sơ lược vềbảo mật thông tin
Bảo mật thông tin đã được sử dụng từ 400 năm trước công nguyên trong việc
trao đổi tin. Người Hi Lạp đã dùng một dải băng dài và mảnh quấn quanh một khối
hình trụ tròn xoay rồi viết chữ lên đó theo cách thức thông thường từ trái sang phải
và từ trên xuống dưới. Mẩu tin được chuyển đi dưới dạng dải băng và chỉ có thể đọc
ra được khi biết được bán kính của thiết diện khối trụ.
Trong thời đại La Mã,với mong muốnkhông cho kẻ địch biết được mục đích
của mình, nhà quân sự chiến lược tài ba Cesarđã sử dụng phép thay thế các ký tự
trong các thông báo,nghĩa là mỗi ký tự được thay thế bởi ký tự đứng sau nó 3 vị trí
trong bảng chữa cái alphabet nghĩa là chữ A được thay thế bởi chữ D, chữ B được
thay thế bởi chữ E, ... . Với cách thay thế các ký tự như vậy, ông đã mã hóa đượccác

thông báo của mình mà người khác không thể nào biết đượcnhằm đảm bảo an toàn
cho cácthông báo.
Qua nhiề u thế kỷ phát triể n , bảo mật thông tin không chỉ dùng phục vụ cho
các bí mật quân sự (gián điệp, chiến tranh ...)như thời kỳ của nhà quân sự thiên tài
Cesar đã áp dụng mà còn dùng trong ngoại giao, kinh tế và thương mại khi mà có
sự xuấ t hiê ̣n của máy tính . Các tài liệu , các thông tin quan trọng đ ều được số hóa
lưu trữ và xử lý nhiều trên máy tin
́ h . Với sự xuấ t hiê ̣n của các hệ thống máy tính cá
nhân và ma ̣ng máy tính , các tài liệu này được truyền đi trong mô ̣t môi trường mà
mă ̣c đinh
̣ là không an toàn . Do đó nảy sinh yêu cầ u v ề an toàn bảo mật đối với các
thông tin được lưu trữ, xử lý và truyền đi giữa các máy tính. Một công cụ cơ bản
thiết yếu của bảo mật thông tin đó chính là mật mã hay mã hóa dữ liệu.
Lịch s ử của mật mã học được đánh dấu vào năm 1949 khi Claude Shannon
đưa ra lý thuyế t thông tin . Sau thời kỳ này mô ̣t loa ̣t các nghiên c ứu quan tro ̣ng của

6


nghành mật mã học đã được thực hiện như các nghiên cứu về mã khối, sự ra đời của
các hệ mã mật khóa công khai và ch ữ ký điện tử.
Vào đầu nh ững năm 1970 là sự phát triển của các thuậ t toán mã hóa khố i đầ u
tiên, hệ mã Luciphernăm 1974. Sau đó, hệ mã khối Lucipherđược cải tiến thành hệ
chuẩnmã hóa dữ liệu DESvào năm 1975, một hệ mã khối đối xứng với chìa khóa
dài 56 bits, kết hợp luân phiên 16 phép thay thế với 15 phép hoán vị. DES được
công bố bởi Ủy ban Tiêu chuẩn quốc gia Hoa Kỳ vào năm 1977 và đượcứng du ̣ng
cho tới đầ u những năm 90.
Cuố i những năm 1970, sự phát triể n của các thuâ ̣t toán mã hóa khóa công khai
của Whitfield Diffie và Martin Hellman làm nền tảng cho sự ra đời của các hê ̣ mã
khóa công khai. Hệ mã công khai nổi tiếng nhất và cũng là thuật toán được ứng

dụng thực tế nhiều nhất là hệ mã RSA, được đặt tên theo các chữ cái đầu của ba tác
giả Rivest, Shamir và Adleman.
Tuy nhiên các hệ mã mật khóa công khai được đánh giá là vẫn châ ̣m, do đó
các hệ mã khối vẫn đượctiế p tu ̣c phát triể n thành các hệ mã khối mới thay thế cho
DES như IDEA, AES hoă ̣c 3DES (mô ̣t cải tiế n của DES) ở cuối thế kỷ 20.
Sự kiện lớn đối với ngành mật mã học liên quan tới các hàm băm MD do Ron
Rivest phát triể n và SHA 1 được nghiên cứu bởi nhóm các nhà khoa

học ngư ời

Trung Quố c ,làm cho các hãng viết phần mềm lớn , các nhà mật mã học khuyế n cáo
sử dụng các hàm băm mạnh như SHA-256, SHA-512 trong các ứng du ̣ng.
Ngày nay không dễ tìm thấ y các ứng du ̣ng trên máy tin
́ h mà lại không sử dụng
đến các thuật toán mật mã học chẳng hạn các thuật toán mã hóa mật khẩu người
dùng bằng một hệ mã hoặc một hàm băm nào đó đều được sử dụng trong các ứng
dụng cho máy tính cá nhân tới các chương trình hệ thống , các ứng du ̣ng ma ̣ng hoặc
cơ sở d ữ liê ̣u. Các hệ mật mã ngày càng đóng vai trò tích cực cho việc tạo môi
trường an toàn cho người dùng.
1.3. Các hệ thống mật mã
1.3.1. Sơ đồ hệ mật mã
Giả sử người gửi A muốn gửi một thông điệp Pđến người nhận B, để giữ bí
mậtcho thông điệp P, A sử dụng phép biến đổilên thông điệp Ptức là mã hóa P để

7


tạo ra thông điệp được mã hóa không thể hiểu đượcC.Thay cho việc gửi P, A sẽ gửi
cho B bảnmã hóa C.Người nhận B nhận được C và dùng phép biến đổi lên bản mã
C để khôi phục lại thông điệpP ban đầu tức là giải mã C.Trước khi truyền tin bảo

mật, người gửi A, người nhận B sẽ cùng thỏa thuận trước với nhau một thông tin bí
mật gọi là khóa K. Khóa K chính là thông số điều khiển cho phép biến đổi trong quá
trình mã hóa và giải mã.
Các phép biến đổi đ ược sử dụng trong mô hình truy ền tinthuô ̣c về mô ̣t hê ̣ mâ ̣t
mã nào đó.
Sơ đồ hệ mật mã được định nghĩa như sau:


Định nghĩa:Sơ đồ hệ mật mã là một bộ 5

thỏa mãn các điều kiện sau đây:
(1) P: là một tập hữu hạn các ký tự bản rõ
(2) C: là một tập hữu hạn các ký tự bản mã
(3) K: là một tập hữu hạn các khóa
(4) Đối với mỗi
mãtương ứng

, có m ột quy tắc mã hoá


. Với mỗi

cho mọi bản rõ

và một quy tắc giải
là những hàm mà

.

Các tập ký tự bản rõ và bản mã thường dùng là các tập ký tự của ngôn ngữ

thông thường như tiếng Việt, tiếng Anh gồm 26 ký tự- ký hiệu A, A = {a, b, c, ..., x,
y, z }; tập ký tự nhị phân B chỉ gồm hai ký tự 0 và l; tập các số nguyên không âm bé
hơn một số n nào đó Zn = {0, 1, 2, ..., n-1}.
1.3.2. Mã hóa theo khối và mã hóa theo dòng
Dựa trên cách thức xử lý đầu vào của thuật toán tức là bản rõ, có hai loại thuật
toán mã hóa sau:


Các thuật toán mã hóa khối (DES, AES …) xử lý bản rõ dư ới các đơn vị cơ bản
là các khối có kích thước giống nhau.



Các thuật toán mã hóa dòng (RC4 …) coi bản rõ là mô ̣t luồ ng bit, byte liên tu ̣c.

a) Mã hóa theo khối
Quá trình mã hóa của các hệ mã khối có đặc điểm chung là làm việc với các

8


khố i dữ liê ̣u thường ở dạng xâu bit có kích thước khác nh au, tố i thiế u là 64 bit.Khóa
của hệ mã cũng là một xâu bit có độ dài cố định như DES là 56 bit, các hệ mã khác
là 128, 256, hoă ̣c 512 bit. Hoạt động của các hệ mã khối thường được thực hiện qua
mô ̣t số lầ n lă ̣p, mỗi lầ n sẽ sử dụng một khóa con được sinh ra từ khóa chính.
Giả sử bản rõ muốn mã hóa dãy ký tự

. Tacắt X thành các

,mỗi khối có độ dài l, khối cuối cùng có thể có độ dài nhỏ hơn lvìluôn


khối

có thểbổ sung vào phần cuối của khối một số ký tự qui ước nào đó để khối cuối
cùngcó độ dài l.
Quy tắc mã hóa bản rõ X:
Đặt

, ta có thể viết

với

. Do đó,

quy tắc giải mã ra bản rõ X:
b) Mã theo dòng
Để mã hóa theo dòng thì cần phải xác định một dòng khóa, tức là một phần tử
K = Kl...Km với dòng khóa đó xác định với mọi bản rõ X = X1...XmP, bản mã
tương ứng là:
Giải mã Y = YK(X), ta được:

Để sử dụng cách lập mật mã theo dòng, ngoài sơ đồ mật mã gốc còn phải có
một dòng khóa, tức là một dãy có độ dài tùy ý các ký tự khóa. Đó thường là các dãy
các ký tự khóa được sinh ra bởi một bộ “tạo dãy ngẫu nhiên” nào đó. Trong các ứng
dụng thực tế, người ta thường dùng các mã theo dòng có sơ đồ mật mã gốc là sơ đồ
Vernam với P = C = K = {0,1}và các hàm lập mã và giải mã được xác định bởi
eK(X) = (X+K) mod 2, dK(Y) = (Y+K) mod 2; dòng khóa là dãy bit ngẫu nhiên
được sinh ra bởi một bộ tạo dãy bit ngẫu nhiên nào đó.
1.3.3. Mã khóa đối xứng và mã khóa công khai


Theo định nghĩa về sơ đồ mật mã, cứ mỗi lần truyền tin bảo mật, cả

9


người gửi A và người nhận B phải cùng thỏa thuận trước với nhau một khóa
chung K, sau đó người gửi dùng eK để lập mật mã cho thông báo gửi đi.
Người nhận dùng dK để giải mã bản mật mã nhận được. Người gửi và người
nhận cùng có một khóa chung K, được giữ như bí mật riêng của hai người,
dùng cả cho lập mật mã và giải mã. Hệ mật mã sử dụng khóa K chung cho lập
mã và giải mã, được gọi là mật mã khóa đối xứng. Hệ mật mã này đã được sử
dụng từ hàng ngàn năm nay và đôi khi cũng gọi là mật mã truyền thống.
Tuy nhiên, về nguyên tắc hai hàm lập mã và giải mã là khác nhau, không
nhất thiết phải phụ thuộc cùng một khóa. Nếu ta xác định mỗi khóa K gồm có
hai phần K = (K, K), K dành cho việc lập mật mã eK, K dành cho việc giải
mã dK, các hàm lập mã và giải mã thỏa mãn hệ thức dK(eK(X)) = X với
XP, thì được một hệ mật mã khóa phi đối xứng. Như vậy, trong một hệ
mật mã khóa phi đối xứng, các khóa lập mã K và giải mã K là khác
nhaunhưng có quan hệ với nhau. Trong hai khóa đó, khóa cần phải giữ bí mật
là khóa giải mã K, còn khóa lập mã K có thể được công bố công khai; tuy
nhiên điều đó chỉ có ý nghĩa thực tiễn khi việc tìm ra K" là rất khó khăn tới
mức gần như không thể thực hiện được khi biết K.
Một hệ mật mã khóa phi đối xứng có tính chất nói trên, trong đó khóa
lập mật mã Kcủa mỗi người tham gia đều được công bố công khai, được gọi
là hệ mật mã khóa công khai. Khái niệm mật mã khóa công khai mới được ra
đời vào giữa những năm 1970, và ngay sau đó đã trở thành một khái niệm
trung tâm của khoa học mật mã hiện đại.
1.4. Một số hệ mật mã khóa công khai
1.4.1. Sự ra đời của hệ mật mã khóa công khai
Sự ra đời của hệ mật mã khóa công khai là một bước ngoặt trong lịch sử mật

mã. Thời điểm khởi đầu của bước ngoặt đó là sự xuất hiện ý tưởng của Whitfield
Diffie và Martin Hellman được công bố trong bài báo “

Multiuser cryptographic

techniques” vào tháng 6 năm 1976 tại Hội nghị quốc gia hàng năm của AFIPSHoa

10


Kỳ. Ngay sau đó, công việc tìm kiếm những thể hiện cụ thể có khả năng ứng dụng
trong thực tế đã bắt đầu thu hút sự quan tâm của nhiều chuyên gia.
Một năm sau, năm 1977, R.L.Rivest, A.Shamir và L.M.Adleman đề xuất một
hệ cụ thể về mật mã khóa công khai mà độ an toàn của hệ dựa vào bài toán khó
“phân tích số nguyên thành thừa số nguyên tố”, hệ này về sau trở thành một hệ nổi
tiếng và mang tên là hệ RSA vàđược sử dụng rộng rãi trong thực tiễn bảo mật an
toàn thông tin. Cũng vào thời gian đó, M.O. Rabin cũng đề xuất một hệ mật mã
khóa công khai dựa vào cùng bài toán số học khó nói trên.
Sau đó, nhiều hệ mật mã khóa công khai đãđược đề xuất. Nổi tiếng và được
quan tâm nhiều là các hệ: hệ McEliece được đưa ra năm 1978 dựa trên độ NP-khó
của bài toán giải mã đối với các hệ mã cyclic tuyến tính; hệ Merkle-Hellman dựa
trên tính NP-đầy đủ của bài toán xếp ba lô; hệ mật mã nổi tiếng ElGamal dựa trên
độ khó của bài toán lôgarit rời rạc, hệ này được mở rộng và phát triển lên thành
nhiều hệ tương tự dựa trên độ khó của các cấu trúc nhóm cyclic hữu hạn, nhóm các
điểm nguyên trên đường cong eliptic, v.v...
1.4.2. Hệ mật mã RSA
Hệ mã RSA được ba tác giả Rivest, Shamir và Adleman phát minh vào năm
1977.Đây là thuâ ̣t toán mã hóa nổ i tiế ng nhấ t và cũng là thuật toán đ ược ứng dụng
trong thực tế nhiều nhấ t.
a) Sơ đồ hệ mật mã RSA

Trong đó:
- P = C = Zn
- K = (K, K)
K = (N, e) - là tập các giá trị dùng làm khóa công khai
K = (d, p, q) - là tập các giá trị dùng làm khóa bí mật
- E: K x P  C (thuật toán mã hóa)
- D: K x C  P (thuật toán giải mã)

11


TÀI LIỆU THAM KHẢO
Tiếng việt
[1] Phan Đình Diệu (2006), Lý thuyết mật mã và An toàn thông tin, NXB
ĐHQG HN.
[2]

Hà Huy Khoái, Phạm Huy Điển (2003), Số học thuật toán: Cơ sở lý
thuyết và tính toán thực hành, NXB ĐHQG HN.

[3]

Hà Huy Khoái, Phạm Huy Điển (2004), Mã hoã thông tin: Cơ sở toán

[4]

học và ứng dụng, NXB ĐHQG HN.
Đỗ Văn Tuấn, Trần Đăng Hiên, Phạm Văn Ất, Một sơ đồ cải tiến hệ mật
mã khóa công khai Rabin, Kỷ yếu hội thảo quốc gia lần thứ XIV, Một số
vấn đề chọn lọc Công nghệ thông tin và Truyền thông, Cần Thơ - 2011,


tr 280-289.
[5] Phạm Văn Ất, Nguyễn Hữu Cường, Đỗ Văn Tuấn, Giấu tin trong ảnh nhị
phân và ứng dụng, Tạp chí Khoa học Giao thông vận tải, số 19 tháng 9 năm
2007
[6] Vũ Bá Đình, Nguyễn Xuân Huy, Đào Thanh Tĩnh (2002), Đánh giá khả
năng giấu dữ liệu trong bản đồ số, tạp chí Tin học và Điều khiển học, số 4,
347-353
[7] Nguyễn Xuân Huy, Bùi Thị Thuý Hằng (2001), Một số cải tiến của kĩ thuật
giấu dữ liệu trong ảnh
Tiếng Anh
[8]

William Stallings - Cryptography and Network Security Principles
andPractices, Fourth Edition

[9]

Chin-Chen Chang and Sun-Min Tsu (2000) - An improvement on
Shimada’s public-key cryptosystem, Journal of Science and Engineering,

vol. 3, no. 2, pp. 75-79.
[10] Harn, and Kiesler (1989) - Improved Rabin’s scheme with high
efficiency, Electron. Lett., 25, (1 l), pp. 726-728
[11] Rabin, M. O (1980) - Probabilistic algorithm for testing primality, J.
Number theory, 12(1): 128 – 183.
[12] Safuat Hamdy (2005) - The Miller – Rabin Primality Test, United Arab

12



Emirates University College of IT.
[13] Shimada, M (1992) - Another Practical Public-Key Cryptosystem,
Electronics Letters, Vol.28, No.23, pp.2146-2147.

13



×