Tải bản đầy đủ (.docx) (29 trang)

Đại Học Mỏ Địa ChấtKhoa Công Nghệ Thông TinBài Tập Lớn Môn Mạng Máy Tính Chủ Đề 10: An Ninh Mạng

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.09 MB, 29 trang )

Đại Học Mỏ Địa Chất
Khoa Công Nghệ Thông Tin

Bài Tập Lớn Môn Mạng Máy Tính

Chủ Đề 10: An Ninh Mạng
Giảng Viên Hướng Dẫn
Ks.Đào Anh Thư

Sinh Viên Thực Hiện
Phạm Công Khiên
Lê Thị Hải Yến
Trần Bảo Quốc
Đoàn Đắc Dũng


Chủ Đề 10: An Ninh Mạng

Hà Nội 18-03-2012

I. Tổng quan về an ninh mạng
1. Giới thiệu
Mạng máy tính là tập các máy tính được kết nối với nhau để trao đổi thông tin, chúng tham
gia vào mạng để cùng chia sẻ phương tiện vật lý chung, quan trọng hơn cả là chia sẻ và khai thác
thông tin của nhau. Cùng với sự phát triển vượt trội của Internet, đã thực sự đem đến một cuộc
cách mạng trong công nghệ, thay đổi hoàn toàn cách làm việc và mang lại hiệu quả thực sự.
Internet là mạng của các mạng, là hệ thống máy tính lớn nhất thế giới. Bạn có thể nói rằng
“thế thì đã sao? Tôi đã từng nghe về chiếc bánh sinh nhật lớn nhất thế giới, nó quá xấu và ăn thì quá
tệ, chẳng có gì hấp dẫn cả”. Vâng, mạng thì không giống bánh sinh nhật, nó phát triển từng ngày,
từng giờ, hấp dẫn đến từng người dùng vì những gì nó đem lại. Mọi người có thể kết nối, chia sẻ tài
nguyên thông tin bất chấp khoảng cách địa lý, dân tộc, tôn giáo... Trong một môi trường công nghệ


như vậy, ắt hẳn sẽ nảy sinh nhiều nguy cơ mới: Mất thông tin, thông tin quan trọng rơi vào tay kẻ
xấu, phá hoại tổ chức, giả mạo thông tin… An ninh mạng đã ra đời để đối phó với những mối hiểm
họa này. Nói đơn giản thì an ninh mạng giống như một bức tường để bảo vệ thông tin, luân chuyển
đến đúng người dùng.
Để có thể xây dựng hệ thống an ninh mạng tốt, ta phải hiểu được thủ phạm là ai? cách thức
tấn công thế nào? Các phương pháp mã hóa, giải thuật khóa, chữ ký điện tử, bức tường lửa….Tất cả
những vấn đề trên chúng ta sẽ cùng nhau tìm hiểu và giải quyết trong phần An Ninh Mạng này.
2. Thủ phạm
Thủ phạm là những người xâm nhập mạng trái pháp luật với mục đích và ý đồ không tốt. Vậy
thì họ là ai? Vâng! Có thể phân chia họ theo những nhóm người như sau:
-

Sinh Viên: Họ tham gia các diễn đàn công nghệ, thấy được sự hấp dẫn của IT, cùng với sự
tìm hiểu, ham muốn có được domain, hosting hay vps… Hoặc vì một lý do nào đó, các
bạn sinh viên biết được mặt trái đang tồn tại song hành trên internet mà người ta quen gọi
là UG (Under Groud) hay “thế giới ngầm”. Tại đây thì các bạn ấy được biết đến thế nào là
credit card – thẻ tín dụng, cùng với các “tuts” mà bậc đàn anh đi trước để lại. Là cơ hội để
thể hiện bản thân, sự tò mò và bắt đầu công cuộc phá hoại của mình.
2


Chủ Đề 10: An Ninh Mạng
-

Doanh Nhân: Họ xâm nhập an ninh mạng để đánh cắp thông tin, tìm hiểu chiến lược kinh
doanh của đối thủ. Nhằm tạo điều kiện thuận lợi cho kinh doanh, công việc của mình.
Ngoài ra còn rất nhiều các thức khác như giả mạo thông tin đánh lừa đối phương, tác động
tâm lý khách hang, làm đảo lộn thị trường. Tất cả những hành động này chỉ nhằm với một

-


mục đích duy nhất là trục lợi, kiếm tiền cho bản thân.
Hacker: Họ là những người có tài thực sự, có ý hướng và mục đích rõ ràng. Ở đây ta cũng
cần chú ý đến sự khác biệt giữa hacker mũ trắng và hacker mũ đen. Hacker mũ trắng là
những người vì cộng đồng, họ tìm hiểu về bảo mật (security) và lỗ hổng hệ thống. Ngược
lại đó là hacker mũ đen, những người này tấn công vào lỗ hổng phần mềm, ăn cắp bản

-

quyền, chống phá các tổ chức vì tiền hoặc vì một lợi ích nào đó.
Khủng Bố: Thật dễ nhận thấy đây là hành động tấn công an ninh mạng để đạt được mục
đích kinh tế, chính trị nào đó. Thường thì đây là một tổ chức, có hoạt động chặt chẽ, hệ
thống, có sức phá hủy và ảnh hưởng lớn đến an ninh mạng.

Để bảo vệ thông tin hiệu quả cao, chúng ta cần phải lường trước được tốt các khả năng xâm
phạm, các sự cố rủi ro đối với các thiết bị và dữ liệu trên mạng. Xác định càng chính xác các nguy
cơ thì việc tìm ra các giải pháp sẽ chính xác và giảm thiểu các thiệt hại.
Các loại vi phạm có thể được chia làm hai loại: vi phạm chủ động và vi phạm thụ động.
Chủ động và thụ động ở đây được hiểu theo nghĩa có can thiệp vào nội dung và luồng thông
tin trao đổi hay không? Vi phạm thụ động chỉ nhằm mục tiêu cuối cùng là nắm bắt thông tin,
có thể không biết được nội dung, nhưng vẫn có thể dò ra được thông tin về người gửi, người
nhận nhờ vào thông thông tin điều khiển nằm trong header của gói tin. Hơn nữa, kẻ phá hoại
còn có thể kiểm tra được số lượng, độ dài, lưu lượng, tần suất trao đổi dữ liệu trao đổi. Tóm lại,
vi phạm loại này không làm sai lệch hoặc hủy hoại thông tin. Trong khi đó, các vi phạm chủ
động có thể làm biến đổi, xóa bỏ, làm trễ, sắp xếp lại thứ tự, hoặc chèn vào một số các thông tin
ngoại lai vào để làm sai lệch thông tin gốc. Một hình thức vi phạm chủ động nữa là có thể làm
vô hiệu các chức năng phục vụ người dùng tạm thời hoặc lâu dài. Vi phạm thụ động thường khó
3



Chủ Đề 10: An Ninh Mạng
phát hiện nhưng dễ ngăn chặn, ngược lại, vi phạm chủ động dễ phát hiện nhưng rất khó ngăn
chặn.
Kẻ phá hoại có thể xâm nhập ở bất cứ đâu có thông tin mà họ quan tâm. Có thể là ở trên
đường truyền, các máy chủ nhiều người dùng, các máy trạm, hay ở các thiết bị kết nối (bridge,
router, gateway,…) các thiết bị ngoại vi, bàn phím, màn hình chính là những cửa ngõ thuật lợi
cho các loại xâm nhập trái phép.
3. Cách thức tấn công
Thế giới mạng rộng lớn và bao la, hàng ngày có rất nhiều dịch vụ, ứng dụng được ra đời,
chính vì lẽ đó mà cơ chế và cách thức tấn công của tội phạm mạng ngày càng nhiều, biến đổi khôn
lường. Khó có thể phân nhóm cũng như nêu hết được cách thức tấn công của tội phạm mạng, vậy
nên ở đây chúng tôi chỉ xin đưa ra một vài loại hình nổi bật, giúp chúng ta có cái nhìn sơ bộ về các
hoạt động xâm phạm an ninh mạng này.
3.1. Tấn công đến người dùng, cá nhân.
Ngày nay người sử dụng Internet phải đối mặt với rất nhiều rủi ro như: virus, lừa đảo, bị theo
dõi (gián điệp – spyware) bị đánh cắp dữ liệu, bị đánh phá website (nếu là chủ sở hữu website)
v.v.... Bên dưới liệt kê những nguy cơ điển hình:

a. Spam (thư rác): người nhận mỗi ngày có thể nhận vài, vài chục, đến vài trăm thư rác, gây
mất thời gian, mất tài nguyên (dung lượng chứa, thời gian tải về...)
b. Virus máy tính: xuất hiện lần đầu tiên vào năm 1983. Virus là một chương trình máy tính có
khả năng tự nhân bản và lan tỏa. Mức độ nghiêm trọng của virus dao động khác nhau tùy vào chủ ý
của người viết ra virus, ít nhất virus cũng chiếm tài nguyên trong máy tính và làm tốc độ xử lý của
máy tính chậm đi, nghiêm trọng hơn, virus có thể xóa file, format lại ổ cứng hoặc gây những hư
hỏng khác.
Ngày xưa virus chủ yếu lan tỏa qua việc sử dụng chung file, đĩa mềm... nhưng ngày nay trên
môi trường Internet, virus có cơ hội lan tỏa rộng hơn, nhanh hơn. Virus đa phần được gửi qua email,
ẩn dưới các file gửi kèm (attachment) và lây nhiễm trong mạng nội bộ các doanh nghiệp, làm doanh
4



Chủ Đề 10: An Ninh Mạng
nghiệp phải tốn kém thời gian, chi phí, hiệu quả, mất dữ liệu... Cho đến nay hàng chục nghìn loại
virus đã được nhận dạng và ước tính mỗi tháng có khoảng 400 loại virus mới được tạo ra.
c. Sâu máy tính (worms): sâu máy tính khác với virus ở chỗ sâu máy tính không thâm nhập
vào file mà thâm nhập vào hệ thống. Ví dụ: sâu mạng (network worm) tự nhân bản trong toàn hệ
thống mạng. Sâu Internet tự nhân bản và tự gửi chúng qua hệ thống Internet thông qua những máy
tính bảo mật kém. Sâu email tự gửi những bản nhân bản của chúng qua hệ thống email.
d. Trojan (đặt tên theo truyền thuyết con ngựa Trojan của thành Troy): là một loại chương
trình nguy hiểm (malware) được dùng để thâm nhập vào máy tính mà người sử dụng máy tính
không hay biết. Trojan có thể cài đặt chương trình theo dõi bàn phím (keystroke logger) để lưu lại
hết những phím đã được gõ rồi sau đó gửi “báo cáo” về cho một địa chỉ email được quy định trước
(thường là địa chỉ email của chủ nhân của Trojan). Như vậy, người sử dụng máy tính bị nhiễm
Trojan có thể bị đánh cắp mật khẩu, tên tài khoản, số thẻ tín dụng và những thông tin quan trọng
khác.
Phương pháp thông dụng được dùng để cài Trojan là gửi những email ngẫu nhiên với nội
dung khuyến cáo người sử dụng nên click vào một đường link cung cấp trong email để đến một
website nào đó. Và nếu người nhận email tin lời và click thì máy tính của họ sẽ tự động bị cài
Trojan. Không giống như virus, Trojan không tự nhân bản được.
e. Lừa đảo qua mạng (Phishing): xuất hiện từ năm 1996, Phishing là dạng kẻ lừa đảo giả
dạng những tổ chức hợp pháp như ngân hàng, dịch vụ thanh toán qua mạng... để gửi email hàng loạt
yêu cầu người nhận cung cấp thông tin cá nhân và thông tin tín dụng. Nếu người nào cả tin và cung
cấp thông tin thì kẻ lừa đảo sẽ dùng thông tin đó để lấy tiền từ tài khoản của “khổ chủ”.
Một dạng lừa đảo hay gặp khác là những email gửi hàng loạt đến người nhận, tuyên bố người
nhận đã may mắn trúng giải thưởng rất lớn, và yêu cầu người nhận gửi một số tiền nhỏ (vài nghìn
dollar Mỹ) để làm thủ tục nhận giải thưởng (vài triệu dollar Mỹ). Đã có một số bài báo ở Việt Nam
nêu ra vài “nạn nhân” ở Việt Nam.
Một nguy cơ khác xuất hiện nhiều gần đây là những kẻ lừa đảo tạo ra những website bán
hàng, bán dịch vụ “y như thật” trên mạng và tối ưu hóa chúng trên Google để “nạn nhân” tự tìm
thấy và mua hàng/dịch vụ trên những website này. Thực tế, khi nạn nhân đã chọn hàng/dịch vụ và

cung cấp đầy đủ thông tin thẻ tín dụng, nạn nhân sẽ không nhận được hàng/dịch vụ đã mua mà bị
đánh cắp toàn bộ thông tin thẻ tín dụng, dẫn đến bị mất tiền trong tài khoản.
3.2. Tấn công từ chối dịch vụ đến các trang mạng (dos, ddos, drdos, botnet)
Tấn công từ chối dịch vụ không quá khó thực hiện, nhưng rất khó phòng chống do tính bất
ngờ và thường là phòng chống trong thế bị động khi sự việc đã rồi.
Các kỹ thuật tấn công từ chối dịch vụ đang và vẫn là vấn nạn nguy hại lớn cho nền Internet
toàn cầu. Có rất nhiều việc phải làm và chuẩn bị để kiểm soát được chúng. Chúng ta phải có những
5


Chủ Đề 10: An Ninh Mạng
bước đi cụ thể và mạnh mẽ hơn để cùng khống chế loại hình tấn công này. Vì thế, việc đầu tiên là
chúng ta cùng tìm hiểu kỹ hơn về nó nhé!

a. Tấn công từ chối dịch vụ Dos
Tấn công DoS là một kiểu tấn công mà một người làm cho một hệ thống không thể sử dụng,
hoặc làm cho hệ thống đó chậm đi một cách đáng kể với người dùng bình thường, bằng cách làm
quá tải tài nguyên của hệ thống .
Nếu kẻ tấn công không có khả năng thâm nhập được vào hệ thống, thì chúng cố gắng tìm cách
làm cho hệ thống đó sụp đổ và không có khả năng phục vụ người dùng bình thường đó là tấ n công
Denial of Service (DoS).

Mặc dù tấn công DoS không có khả năng truy cập vào dữ liệu thực của hệ thống nhưng nó có
thể làm gián đoạn các dịch vụ mà hệ thống đó cung cấp. Như định nghĩa trên DoS khi tấn công vào
một hệ thống sẽ khai thác những cái yếu nhất của hệ thống để tấn công.
Mục đích: Cố gắng chiếm băng thông mạng và làm hệ thống mạng bị ngập (flood), khi đó hệ
thống mạng sẽ không có khả năng đáp ứng những dịch vụ khác cho người dùng bình thường. Cố
gắng làm ngắt kết nối giữa hai máy, và ngăn chặn quá trình truy cập vào dịch vụ. Băng thông của
6



Chủ Đề 10: An Ninh Mạng
hệ thống mạng (Network Bandwidth), bộ nhớ, ổ đĩa, và CPU Time hay cấu trúc dữ liệu đều là mục
tiêu của tấn công DoS. Tấn công vào hệ thống khác phục vụ cho mạng máy tính như: hệ thống điều
hoà, hệ thống điện, quạt làm mát và nhiều tài nguyên khác của doanh nghiệp. Bạn thử tưởng tượng
khi nguồn điện vào máy chủ web bị ngắt thì người dùng có thể truy cập vào máy chủ đó không?
b. Tấn công từ chối dịch vụ phân tán Ddos
Trên Internet tấn công Distributed Denial of Service (DDoS) hay còn gọi là tấn công từ chối
dịch vụ phân tán là một dạng tấn công từ nhiều máy tính tới một đích, nó gây ra từ chối các yêu cầu
hợp lệ của các user bình thường. Bằng cách tạo ra những gói tin cực nhiều đến một đích cụ thể, nó
có thể gây tình trạng tương tự như hệ thống bị shutdown.

Nhìn chung, có rất nhiều biến thể của kỹ thuật tấn công DDoS nhưng nếu nhìn dưới góc độ
chuyên môn thì có thể chia các biến thề này thành hai loại dựa trên mụch đích tấn công: Làm cạn
kiệt băng thông và làm cạn kiệt tài nguyên hệ thống.
DDos được tấn công từ một hệ thống các máy tính cực lớn trên Internet, và thường dựa vào
các dịch vụ có sẵn trên các máy tính trong mạng botnet. Là dạng tấn công rất khó có thể phát hiện
bởi tấn công này được sinh ra từ nhiều địa chỉ IP trên Internet. Nếu một địa chỉ IP tấn công một
công ty, nó có thể được chặn bởi Firewall. Nếu nó từ 30.000 địa chỉ IP khác, thì điều này là vô cùng
khó khăn. Thủ phạm có thể gây nhiều ảnh hưởng bởi tấn công từ chối dịch vụ DoS, và điều này
càng nguy hiểm hơn khi chúng sử dụng một hệ thống mạng Bot trên internet thực hiện tấn công
DoS và đó được gọi là tấn công DDoS.
C. DRdos (Distributed Reflection Denial of Service)
7


Chủ Đề 10: An Ninh Mạng
Xuất hiện vào đầu năm 2002, là kiểu tấn công mới nhất, mạnh nhất trong họ DoS. Nếu được
thực hiện bởi kẻ tấn công có tay nghề thì nó có thể hạ gục bất cứ hệ thống nào trên thế giới trong
phút chốc.

DRDoS là sự phối hợp giữa hai kiểu DoS và DDoS. Mục tiêu chính của DRDoS là chiếm
đoạt toàn bộ băng thông của máy chủ, tức là làm tắc nghẽn hoàn toàn đường kết nối từ máy chủ vào
xương sống của Internet và tiêu hao tài nguyên máy chủ.
Ta có Server A và Victim, giả sử ta gửi 1 SYN packet đến Server A trong đó IP nguồn đã bị
giả mạo thành IP của Victim. Server A sẽ mở 1 connection và gủi SYN/ACK packet cho Victim vì
nghĩ rằng Victim muốn mở connection với mình. Và đây chính là khái niệm của Reflection (Phản
xạ ). Hacker sẽ điều khiển Spoof SYN generator, gửi SYN packet đến tất cả các TCP Server lớn, lúc
này các TCP Server này vô tình thành Zombie cho Hacker để cùng tấn công Victim và làm nghẽn
đường truyền của Victim. Với nhiều server lớn tham gia nên server mục tiêu nhanh chóng bị quá tải,
bandwidth bị chiếm dụng bởi server lớn. Tính “nghệ thuật” là ở chỗ chỉ cần với một máy tính với
modem 56kbps, một hacker lành nghề có thể đánh bại bất cứ máy chủ nào trong giây lát mà không
cần chiếm đoạt bất cứ máy nào để làm phương tiện thực hiện tấn công.
D. Tìm hiểu về Bot, Botnet
Bot là gì? là những chương trình tương tự Trojan backdoor cho phép kẻ tấn công sử dụng máy
của họ như là những Zoombie (máy tính thây ma – máy tính bị chiếm quyền điều khiển hoàn toàn)
và chúng chủ động kết nối với một Server để dễ dàng điều khiển, các bạn lưu ý chữ “chủ động” đó
là một đặc điểm khác của bot so với trojan backdoor. Chính vì sự chủ động này mà máy tính bị cài
đặt chúng kết nối trở nên chậm chạp, một đặc điểm giúp ta dễ dàng nhận diện bot .
Tại sao gọi là mạng botnet: Mạng botnet là một mạng rất lớn gồm hàng trăm hàng ngàn máy
tính Zombie kết nối với một máy chủ mIRC (Internet Replay Chat) hoặc qua các máy chủ DNS để
nhận lệnh từ hacker một cách nhanh nhất. Các mạng bot gồm hàng ngàn “thành viên” là một công
cụ lý tưởng cho các cuộc chiến tranh đọ máu như DDOS, spam, cài đặt các chương trình quảng cáo
…..
3.3. Tấn công vào lỗ hổng bảo mật phần mềm, mã nguồn, nhà cung cấp dịch vụ…
Gần đây chắc bạn có biết đến sự kiện Bkav bị hacker đột nhập và chiếm đoạt quyền quản trị,
bên cạnh đó cũng có khá nhiều đợt tấn công ddos khiến cho bkav.com.vn gặp khó khăn trong việc
truy cập. Hacker đã xâm nhập vào forum của diễn đàn bkav qua lỗ hổng mã nguồn vbb, qua các
dịch vụ mà bkav cung cấp và qua cả server chủ của bkav nữa. Hậu quả là trang web bị thay đổi giao
diện, toàn bộ database forum bị drop (xóa), hàng nghìn thông tin cá nhân, email bị lộ…
8



Chủ Đề 10: An Ninh Mạng

Hay một sự kiện mới nổi. Sau khi trở thành trình duyệt bất khả chiến bại tại cuộc thi
Pwn2own 2011, Google tuyên bố thưởng 60.000 USD cho bất cứ ai khai thác thành công lỗ hổng
của Chrome trên Windows 7 trong năm cuộc thi năm nay (2012). Cơ chế bảo mật của Chrome được
đánh giá mạnh hơn nhiều so với trình duyệt đối thủ nhờ được trang bị công nghệ gọi là sandbox
(hộp cát) giúp Chrome hoạt động tách biệt với phần còn lại của hệ điều hành. Do đó, cả khi nó bị
tấn công, hacker cũng không giành được toàn bộ quyền kiểm soát hệ thống. Tuy thế, tại cuộc thi
này, không chỉ Sergey Glazunov, một nhóm hacker khác đến từ Pháp là Vupen cũng khống chế
được Chrome chỉ trong chưa đầy 5 phút. "Chúng tôi muốn chứng minh Chrome không phải là
không thể phá vỡ", đại diện của Vupen cho hay. "Năm ngoái, chúng tôi đọc rất nhiều bản tin nói về
việc không ai khai thác được Chrome trong khi Internet Explorer và Firefox bị hack dễ dàng. Chúng
tôi muốn Chrome sẽ bị hạ gục năm nay". Vupen mất 6 tuần để phát hiện ra hai lỗ hổng chưa được
biết đến trong Chrome. Họ cũng đã tìm ra cách tương tự để hạ Firefox và Internet Explorer nhưng
muốn thành công với Chrome trước.
Nói không đâu cho xa, Anh Phạm Kim Long, tác giả phần mềm Unikey đã xác nhận thông tin
website đã bị hacker kiểm soát và dẫn đến đường link có phần mềm đã bị chèn mã
độc. Anh Long cho biết, những người đã tải phần mềm từ unikey.org trong tháng 2/2012 vừa rồi có
thể bị ảnh hưởng. Bởi nó đã bị
Đây là lối tấn công đòi hỏi hacker cần có kiến thức chuyên sâu, bỏ thời gian và công sức
nhiều để nghiên cứu victim. Các phần mềm (chrome, kis, office…) hay các mã nguồn web (vbb,
nuke, jomla..) đều có thể là nạn nhân trong tầm ngắm của hacker. Cũng chính vì lý do đó mà các
version - phiên bản sau được update để dần hoàn thiện và đối phó với hacker.
Khi mà việc bảo mật đã trở thành bức tường lửa vững trãi, khó có thể nhăm nhe, lúc đó
hacker lại nghĩ đến việc xâm nhập đến các nhà cung cấp dịch vụ trên mạng. Để hình dùng về cách
thức này, ta có thể nhìn đến trang bảo mật lớn nhất Việt Nam Hvaonline.net. Kể từ giai đoạn
(khoảng năm 2002), bảo mật của HVA đã vươn tới đỉnh cao nhất trên “toàn cõi” hệ thống mạng Việt
9



Chủ Đề 10: An Ninh Mạng
Nam. HVA không còn tình trạng “dời nhà” hay bị “đột nhập” nữa, dù thực tế không ngày nào là
không bị tấn công, tình trạng DoS, flood,… hầu như xảy ra liên miên không dứt. Lần duy nhất HVA
“bị hack” là khi domain hackervn.net (domain ngày trước) bị VHF lấy mất do sự tiếp tay hết sức
phi pháp của một tổ chức internet trong nước và sự bất cẩn không đáng có của cơ quan quản lý
domain HVA, dù trước đó HVA đã nhiều lần cảnh báo với họ về những lỗ hổng nguy hiểm trên hệ
thống của họ. Trong khi sự thật thì server của HVA lúc này vững vàng hơn bao giờ hết. VHF đã
không xâm nhập được vào nên chỉ có thể “đi dạo” lòng vòng ở ngoài rồi tìm cách hack domain (vốn
không thuộc quyền quản lý hay nhận được được sự bảo vệ trực tiếp của HVA).
Trên đây chỉ là vài ví dụ giúp chúng ta hình dung và có cái nhìn đơn giản về các mối đe dọa
mà haker thường dùng. Trong khi đó, thực tế lại có vô vàn, hàng ngàn cách thức mà hacker xâm
phạm an ninh mạng. Internet luôn là miếng mồi ngon để các hacker ngó đến, cũng chính vì thế mà
an ninh mạng đang được chú trọng, nó được nâng cao vai trò và thiết thực hơn bao giờ hết!

II. Mật mã truyền thống, mật mã máy tính, mã hóa dữ liệu
Từ khi con người có nhu cầu trao đổi thông tin, thư từ cho nhau, đặc biệt là khi internet ra đời
và phát triển, đòi hỏi phải giữ an toàn, bí mật cho dữ liệu. Để bảo mật thông tin, người ta đã sớm
nghĩ đến việc che dấu nội dung bằng cách biến dạng nó đi để người ngoài không thể đọc hiểu được,
đồng thời có cách khôi phục lại nguyên dạng ban đầu để người trong cuộc vẫn đọc hiểu. Theo cách
gọi ngày nay thì dạng biến đổi thế được gọi là mật mã của văn bản, các làm mật mã cho văn bản
được gọi là phép lập mật mã, còn cách khôi phục lại nguyên dạng ban đầu là phép giải mã. Phép
lập mật mã và giải mã được thực hiện nhờ một chìa khóa riêng nào đó mà chỉ người trong cuộc
được biết, sau đây ta sẽ gọi là khóa mật mã.
Từ mấy thập niên gần đây, bước vào kỷ nguyên máy tính, cũng như đối với nhiều lĩnh vực
khác, lĩnh vực mật mã cũng đã có những chuyển biến to lớn từ giai đoạn mật mã truyền thống sang
giai đoạn mật mã máy tính. Việc chuyển sang giai đoạn mật mã máy tính trước hết có tác dụng phát
triển và hiện đại hóa hệ thống mật mã theo kiểu truyền thống, làm cho các hệ thống đó có các cấu
trúc tinh tế hơn, đòi hỏi lập mật mã và giải mã phức tạp hơn nhiều, do đó hiệu quả giữ bí mật của

các giải pháp mật mã được nâng cao hơn trước rất nhiều. Tuy nhiên, một bước chuyển có tính chất
cách mạng mà mật mã máy tính lại là phát minh ra các hệ mật mã có khóa công khai, bắt đầu từ
những năm 1970. Chúng ta sẽ cùng tìm hiểu đôi nét về sự phát triển của việc mã hóa qua các giải
thuật từ truyền thống đến hiện đại.
1. Mật mã truyền thống

10


Chủ Đề 10: An Ninh Mạng
1.1. Phương pháp đổi chỗ
Phương pháp sắp xếp lại các ký tự trong văn bản gốc để được văn bản mật mã. Các
kỹ thuật dùng trong phương pháp này gồm:
Đảo ngược toàn bộ văn bản gốc: Văn bản gốc được viết heo thức tự ngược lại để
tạo ra văn bản mật mã. Đơn giản và không an tòan.
Mã hóa theo dạng hình học: Văn bản gốc được sắp xếp theo một dạng hình học
nào đó, thường là một ma trận 2 chiều:
Ví dụ 1: Ta mã hóa sâu ký tự ‘Khoa CNTT ĐH Mo Đia Chat Ha Noi”
1

2

3

4

5

6


7

8

K

H

O

A

C

N

T

T

D

H

M

O

D


I

A

C

H

A

T

H

A

N

O

I

Sau đó nếu viêt các ký tự theo thứ tự các cột là 2,5,1,3,4,6,8,7 thì ta sẽ được văn bản mã hóa
là: HCKOANTT HDDMOICA AAHTDNIO

2

5

1


3

4

6

8

7

H

C

K

O

A

N

T

T

H

D


D

M

O

I

C

A

A

A

H

T

H

N

I

O

Phương pháp hoán vị theo một chu kỳ cố định:

Giả sử văn bản gốc M = m m m được chia thành các khối, mỗi khối gồm d ký tự.
1 2.. n
Cho f là một hàm hoán vị trên d ký tự, khi đó khoá mã hoá được biểu diễn bởi K(d,f).
Văn bản gốc được viết thành: M = m m m m
m
m
1 2.. d d+1 d+2.. 2d,..
sẽ được mã hoá thành: E (M) = m m
m
m
m
m
k
f(1) f(2).. f(d) f(d+1) f(d+2).. f(2d),...
trong đó m m
m
là một hoán vị của m m m .
f(1) f(2).. f(d)
1 2.. d
Ví dụ: Ta sẽ mã hoá xâu “AN TOAN BAO MAT THONG TIN TREN MANG”, với chu kỳ
d = 6, và hàm f hoán vị dãy i = 123456 thành f = 352164:
i
Ta viết xâu đã cho dưới dạng: “AN TOAN BAOMAT THONG TIN TREN MANG”
11


Chủ Đề 10: An Ninh Mạng
Xâu mã hoá trở thành: “TANANO OAABTM OGHTTN TENINR NAMG”
1.2. Phương pháp thay thế
Phương pháp này mã hoá bằng cách thay thế mỗi ký tự trong văn bản gốc bằng một ký tự

khác nào đó (một chức cái, một số, hay một ký hiệu).
Có nhiều kỹ thuật thay thế: thay thế đơn giản, thay thế đồng âm, thay thế đa mẫu tự, thay thế
đa sơ đồ.
− Thay thế đơn giản (simple substitution): mỗi ký tự trong văn bản gốc được thay thế bởi một
ký tự tương ứng trong văn bản mật mã. Hàm mã hoá là một ánh xạ 1-1 từ văn bản gốc đến văn bản
mật mã được sử dụng trong toàn bộ văn bản.
− Thay thế đồng âm (homophonic substitution): mỗi ký tự trong văn bản gốc được thay bằng
một số ký tự trong văn bản mật mã, sơ đồ ánh xạ là 1-n (one-to-many).
− Thay thế đa mẫu tự (polyalphabetic substitution): Nhiều chứ cái mật mã được dùng để
chuyển đổi từ văn bản gốc sang văn bản mật mã. Ánh xạ 1-1 như trong trường hợp thay thế đơn
giản, nhưng có thể thay đổi trong phạm vị 1 thông điệp.
− Thay thế đa sơ đồ (polygram substitution): đây là mật mã tổng quát nhất, cho phép thay thế
tuỳ ý các nhóm ký tự của văn bản gốc.
Ở đây ta chỉ trình bày phương pháp thay thế đơn giản.
Giả sử A là bộ chữ cái gốc có n ký tự: {a0,a1,a2,...,an-1}. Ta thay thế mỗi ký tự của A bằng
một ký tự tương ứng trong bộ chữ cái mật mã C được sắp xếp thứ tự, ký hiệu là {f(a0),
f(a1),f(a2),...,f(an-1)}. F là một hàm ánh xạ 1-1 từ 1 ký tự của A sang 1 ký tự của C. Lúc đó, một
thông điệp gốc M = m1m2... sẽ được viết dưới dạng như sau:
Ek(M) = f(m1) f(m2),.. Thường thì C là một sắp xếp lại của A.

Ví dụ về các dạng mã hóa thay thế đơn giản: bộ mã ASCII
Một trong những dạng mật mã thay thế đơn giản phổ dụng khác là bảng chữ cái chuyển dịch.
Ở đây các chữ cái trong bảng được chuyển dịch sang phải k vị trí (modul theo kích thước của bảng
chữ).
Nghĩa là nếu a là 1 ký tự của bảng chữ A thì f(a) = (a+k) mod n. Nếu A là bảng chữ cái tiếng
Anh chuẩn thì n = 26 . Đây cũng chính là phương pháp mật mã Caesar, với k =3.
Ví dụ: với k=3, bảng chữ cái gốc là:
ABCDEFGHI J KLMNOPQRSTUVWXYZ
Bảng chữ cái mật mã sẽ là:
DEFGHI J KLMNOPQRSTUVWXYZABC

Khi đó, dòng chữ: KHOA CNTT ĐH MO ĐIA CHAT
Trở thành: A CNTT DH MO DIA CHAT KHO
12


Chủ Đề 10: An Ninh Mạng

2. Mật mã máy tính với phát minh ra các hệ mật mã có khóa
công khai.
Mật mã hóa khóa công khai là một dạng mật mã hóa cho phép người sử dụng trao đổi các
thông tin mật mà không cần phải trao đổi các khóa chung bí mật trước đó. Điều này được thực hiện
bằng cách sử dụng một cặp khóa có quan hệ toán học với nhau là khóa công khai (Public key) và
khóa bí mật (Private Key).
Mã hóa khóa công khai ra đời cách đây 36 năm, đánh dấu bởi công trình khoa học của DiffieHellman. Đó thực sự là một bước ngoặt đưa mật mã từ một nghệ thuật thành một ngành khoa học..
Trong mật mã hóa khóa công khai, khóa cá nhân phải được giữ bí mật trong khi khóa công khai
được phổ biến rộng rãi. Trong 2 khóa, một dùng để mã hóa và khóa còn lại dùng để giải mã. Điều
quan trọng đối với hệ thống là không thể tìm ra khóa bí mật nếu chỉ biết khóa công khai.
Mặc dù khoá mã (khoá công khai) và khoá giải (khoá bí mật) thực hiện các thao tác ngược
nhau và do đó có liên quan đến nhau nhưng phải làm sao để không thể suy ra khoá riêng từ khoá
công khai. Yêu cầu đó có thể đạt được nhờ các hàm toán học đặc biệt gọi là các hàm sập bẫy một
chiều (trapdoor one-way function). Các hàm này có đặc điểm là không thể chỉ dựa vào mô tả cả
hàm mà còn phải biết được cách xây dựng hàm thì mới có thể suy ra được nghịch đảo của nó.

Thuật toán mã hoá công khai sử dụng khoá để mã hóa và khoá để giải mã là khác nhau.
Các khoá này tạo thành một cặp chuyển đổi ngược nhau. Việc biết khoá mã E không nhất
k
thiết làm lộ D . Cụ thể hơn người thám mã có thể biết E và do đó có thể tính được D , tuy
k
k
k

nhiên việc tính D từ E là không khả thi với hầu hết các khoá k, bởi vì việc đó phải mất đến
k
k
hàng tỷ năm. Do vậy trên thực tế bản mã C vẫn được giữa an toàn mặc dù khoá mã E
công bố rộng dãi. Khoá mã có thể công khai nhưng khoá giải phải được giữ bí mật.
13

k

được


Chủ Đề 10: An Ninh Mạng

Mật mã khóa công khai đã vượt qua rào cản đó và đưa đến một bước ngoặt trong sự phát
triển ngành mật mã. Ý tưởng chính của nó khá giản đơn: lập mã và giải mã là hai quá trình có bản
chất khác nhau, nếu như giải mã nhất thiết phải dùng khóa bí mật (nếu không ai cũng giải được)
thì lập mã lại không nhất thiết như vậy, và thậm chí sẽ càng tốt hơn khi ai cũng có thể lập mã. Do
vậy, nếu ta có thể tạo ra một khóa bí mật cho giải mã và một khóa công khai tương ứng cho lập
mã thì quá trình lập mã không còn cần bất kỳ bí mật nào. Tuy có vẻ tự nhiên nhưng việc mã hóa
sử dụng khóa công khai làm thay đổi hoàn toàn yêu cầu về sự an toàn: khóa bí mật không cần
chia sẻ nữa, mỗi người giữ khóa bí mật của riêng mình. Sự đảm bảo an toàn không còn cần dựa
trên sự tin tưởng lẫn nhau giữa người gửi và người nhận.
Về khía cạnh an toàn, các thuật toán mật mã hóa khóa bất đối xứng cũng không khác nhiều
với các thuật toán mã hóa khóa đối xứng. Có những thuật toán được dùng rộng rãi, có thuật toán
chủ yếu trên lý thuyết; có thuật toán vẫn được xem là an toàn, có thuật toán đã bị phá vỡ... Cũng cần
lưu ý là những thuật toán được dùng rộng rãi không phải lúc nào cũng đảm bảo an toàn. Một số
thuật toán có những chứng minh về độ an toàn với những tiêu chuẩn khác nhau. Nhiều chứng minh
gắn việc phá vỡ thuật toán với những bài toán nổi tiếng vẫn được cho là không có lời giải trong thời
gian đa thức. Nhìn chung, chưa có thuật toán nào được chứng minh là an toàn tuyệt đối (như hệ

thống mật mã sử dụng một lần). Vì vậy, cũng giống như tất cả các thuật toán mật mã nói chung, các
thuật toán mã hóa khóa công khai cần phải được sử dụng một cách thận trọng. Chính vì thế mà độ
an toàn của mật mã khóa công khai sẽ không thể chỉ dựa trên sự giữ bí mật khóa nữa. Muốn đảm
bảo sự an toàn, ta phải chứng tỏ làm sao, dù về nguyên tắc, kẻ tấn công có thể tìm ra khóa bí mật,
nhưng thời gian để đạt được mục đích đó phải là rất lớn, cỡ hàng triệu năm trên một máy tính nhanh
nhất chẳng hạn. Hay nói cách khác, độ phức tạp mà kẻ tấn công có thể tìm lại khóa bí mật là lớn phi
thực tế.
Một số thuật toán mã hóa khóa công khai được đánh giá cao: Diffie-Hellman; DSS (Tiêu
chuẩn chữ ký số); ElGamal; Các kỹ thuật Mã hóa đường cong elliptic; Các kỹ thuật Thỏa thuật khóa
chứng thực bằng mật khẩu; Hệ thống mật mã Paillier; Thuật toán mã hóa RSA (PKCS).
14


Chủ Đề 10: An Ninh Mạng
Để đạt được độ an toàn tương đương, thuật toán mật mã hóa khóa bất đối xứng đòi hỏi khối
lượng tính toán nhiều hơn đáng kể so với thuật toán mật mã hóa khóa đối xứng. Vì thế trong thực tế
hai dạng thuật toán này thường được dùng bổ sung cho nhau để đạt hiệu quả cao. Trong mô hình
này, một bên tham gia trao đổi thông tin tạo ra một khóa đối xứng dùng cho phiên giao dịch. Khóa
này sẽ được trao đổi an toàn thông qua hệ thống mã hóa khóa bất đối xứng. Sau đó 2 bên trao đổi
thông tin bí mật bằng hệ thống mã hóa đối xứng trong suốt phiên giao dịch.

3. So sánh các phương pháp mật mã
Để đánh giá một giải thuật mã hoá cần dựa vào các yếu tố như độ phức tạp, thời gian
mã hoá và vấn đề phân phối khoá trong môi trường nhiều người sử dụng.
Các phương pháp mã hoá cổ điển như phương pháp đổi chỗ và thay thế là đơn giản và
được sử dụng sớm nhất. Nhược điểm của chúng là độ an toàn không cao do thường không đạt
được độ phức tạp cần thiết đồng thời rất dễ bị lộ khoá do cả người gửi lẫn người nhận đều phải
biết khoá.
Còn các phương pháp mã hoá sử dụng khoá công khai (như RSA) mặc dù khắc phục được
vấn đề phân phối khoá song lại có chi phí cao và khá chậm chạp. Trong khi thời gian mã hoá

của phương pháp DES chỉ đòi hỏi vài micro giây thì phương pháp RSA lại đòi hỏi tới vài mili
giây, do đó hạn chế thông lượng ở mức 50 Kb/s.

4. Hai nguyên tắc cơ bản mật mã
Sự dư thừa (Redundancy): Nguyên tắc đầu tiên là tất cả các tin nhắn được mã hóa phải chứa
một số dự phòng, có nghĩa là thông tin không cần thiết để hiểu được thông điệp. Lấy một ví dụ để
minh họa. Công ty TKT54 bán sản phẩm công nghệ, lập trình viên của họ quyết định rằng các tin
nhắn đặt hàng nên bao gồm một tên khách hàng 16-byte theo sau bởi một trường dữ liệu 3-byte (1
byte cho số lượng và 2 byte cho các sản phẩm số). 3 byte cuối cùng là được mã hóa bằng cách sử
dụng một chìa khóa rất dài chỉ được biết đến bởi khách hàng và TCP. Nghe có vẻ an toàn, nhưng
thật không may, nó cũng có một lỗ hổng chết người làm cho nó vô dụng. Giả sử rằng một nhân viên
gần đây đã bị đuổi việc muốn trừng phạt công ty TT54. Trước khi rời đi, nhân viên có danh sách
khách hàn đã viết một chương trình để tạo ra các đơn đặt hàng giả bằng cách sử dụng tên khách
hàng thực sự. Chỉ cần đặt con số ngẫu nhiên trong 3 byte cuối cùng, và gửi hàng trăm đơn đặt hàng
đến TKT54. Vấn đề này có thể được giải quyết bằng việc bổ sung dự phòng cho tất cả các tin nhắn.
Ví dụ, nếu tin nhắn để được mở rộng đến 12 byte, với một dã dư thừa dự phòng, thì nhân viên cũ
không còn có thể tạo ra một dòng tin nhắn hợp lệ. Bài học của câu chuyện là tất cả các tin nhắn phải
15


Chủ Đề 10: An Ninh Mạng
có sự dư thừa đáng kể để những kẻ xâm nhập hoạt động không thể gửi rác ngẫu nhiên và có thể
được hiểu như một tin nhắn hợp lệ.

Đổi mới (Freshness): Nguyên tắc mật mã thứ hai là một số biện pháp phải được thực hiện để
đảm bảo rằng mỗi tin nhắn nhận được có thể được xác nhận như là tươi mới. Biện pháp này là cần
thiết để ngăn chặn những kẻ xâm nhập hoạt động từ chơi lại các tin nhắn cũ. Nếu không có biện
pháp như vậy đã được thực hiện, nhân viên cũ của chúng tôi có thể khai thác đường dây điện thoại
của một công ty nào đó và chỉ giữ lặp đi lặp lại trước đây đã gửi tin nhắn hợp lệ.


5. Giới thiệu hàm băm với thuật toán MD5.
Mã hóa là một kỹ thuật bảo mật làm biến đổi (converts) dữ liệu từ hình thức đơn giản, rõ
ràng (plain hoặc cleartext form) sang hình thức dữ liệu biến thành mật mã (coded, hoặc ciphertext
form). Chỉ những ai có được thông tin giải mã cần thiết mới có thể decode và đọc nội dung dữ
liệu. Encryption có thể là một chiều, có nghĩa là mã hóa được thiết kế để ẩn cleartext đi và không
bao giờ có thể giải mã được. Hoặc có thể 2 chiều chuỗi ki tự được mã hóa (ciphertext) có thể
chuyển trở lại thành cleartext và đọc được.
Hàm băm (tiếng Anh: hash function) là giải thuật nhằm sinh ra các giá trị băm tương ứng với
mỗi khối dữ liệu (có thể là một chuỗi kí tự, một đối tượng trong lập trình hướng đối tượng, v.v...).
Giá trị băm đóng vai gần như một khóa để phân biệt các khối dữ liệu. Các hàm băm được ứng dụng
trong nhiều lĩnh vực, chúng thường được thiết kế phù hợp với từng ứng dụng. Một hàm băm tốt là
16


Chủ Đề 10: An Ninh Mạng
một phép biến đổi "một chiều", nghĩa là không có một phương pháp thực tiễn để tính toán được dữ
liệu vào nào đó tương ứng với giá trị băm mong muốn, khi đó việc giả mạo sẽ rất khó khăn.

Trong xử lý hàm băm dữ liệu đầu vào có thể khác nhau về độ dài, thế nhưng độ dài của xử lý
Hash lại là cố định. Hashing được sử dụng trong một số mô hình xác thực password. Một giá trị
hash có thể được gắn với một thông điệp đện tử (electronic message) nhằm hỗ trợ tính tích hợp của
dữ liệu hoặc hỗ trợ xác định trách nhiệm không thể chối từ (non-repudiation). Mặt khác, hai chuỗi
đầu vào bất kỳ cũng không thể cho cùng một giá trị đầu ra. Bất cứ thay đổi nào ở đầu vào đều ạo ra
giá trị khác ở đầu ra, do đó nó được sử dụng để kiểm tra tính toàn vẹn của bản tin. Thông thường sử
dụng các hàm băm MD 2, 4 và 5.
Mã hóa MD5: MD5 là "Message-Digest algorithm 5", function của MD5 cũng tạo hash. Tại
sao phải hash? Giả sử user A có password là a, password này được application "hash" nó thành
0cc175b9c0f1b6a831c399e269772661 rồi chứa vào CSDL. Khi user A login và dùng password a để
đăng nhập, application sẽ hash a và so sánh giá trị vừa hash xong với giá trị đã lưu trong CSDL.
Nếu chúng trùng nhau, user A được vào. Nếu hệ thống bị nhân nhượng, kẻ tấn công chỉ thu thập

được hashed password và nếu muốn dùng chúng, hắn phải brute force nó (mất thời gian và ít thành
công).

17


Chủ Đề 10: An Ninh Mạng

III. Chữ ký điện tử và việc xác minh nó

1. Giới thiệu tổng quan
Trong thế giới số, có 3 cách để xác thực một người hoặc mức độ tin cậy của một thông tin
trên máy tính. Một là Pass Card (Thẻ thông hành) mà ở nước ta hiện nay chưa phổ biến. Hai là
Password, cách này sử dụng tên truy nhập (User Name) và mật khẩu (Password) cung cấp cho các
Form đăng nhập xác thực thông tin. Thứ ba, dùng Digital Signature (chữ ký điện tử).
Chữ ký điện tử là phương thức để đảm bảo xác thực các tài liệu điện tử (E-mail, File text,
bảng tính...). Chuẩn chữ ký điện tử DSS (Digital Signature Standard) là một tiêu chuẩn dựa trên một
dạng của phương pháp mã hóa khóa công khai sử dụng thuật toán DSA (Digital Signature
Algorithm), được định dạng cho chữ ký điện tử và được chứng thực bởi chính phủ Mỹ. Thuật toán
DSA gồm có một khóa riêng (Private Key) chỉ được biết bởi người chủ của tài liệu và một khóa
công khai (Public Key) mà bất cứ ai cần nó đều có thể biết.
Đầu tiên là một vấn đề ký một tài liệu. Với chữ ký thông thường, nó là một phần vật lý của tài
liệu. Tuy nhiên, một chữ ký số không gắn theo kiểu vật lý vào bức điện nên thuật toán được dùng
phải “không nhìn thấy” theo cách nào đó trên bức điện.
Thứ hai là vấn đề về kiểm tra. Chữ ký thông thường được kiểm tra bằng cách so sánh nó với
các chữ ký xác thực khác. Ví dụ, ai đó ký một tấm séc để mua hàng, người bán phải so sánh chữ ký
trên mảnh giấy với chữ ký nằm ở mặt sau của thẻ tín dụng để kiểm tra. Dĩ nhiên, đây không phải là
phương pháp an toàn vì nó dể dàng giả mạo. Mắt khác, các chữ ký số có thể được kiểm tra nhờ
dùng một thuật toán kiểm tra công khai. Như vậy, bất kỳ ai cũng có thể kiểm tra được chữ ký số.
Việc dùng một sơ đồ chữ ký an toàn có thể sẽ ngăn chặn được khả năng giả mạo.


Bản thân bạn là người được cấp cho 2 khóa điện tử Public Key và Private Key như đã nêu ở
trên. Bạn phải giữ gìn Private Key cẩn thận như giữ chiếc chìa khóa xe của mình. Khi có một người
dùng Public Key để mã hóa một bức thư rồi gửi cho bạn, bạn phải dùng Private Key để giải mã thì
18


Chủ Đề 10: An Ninh Mạng
mới đọc được bức thư này. Đồng nghiệp hay người thân của bạn dù có biết bức thư này cũng chịu vì
không tài nào giải mã được. Dùng Private Key, cùng với một phần mềm phù hợp, bạn có thể ký tên
lên một văn bản hay tập tin dữ liệu nào đó. Chữ ký điện tử này tương tự như một con tem độc nhất
vô nhị dán lên văn bản, khó có thể giả mạo được. Ngoài ra, chữ ký còn đảm bảo phác giác được bất
kỳ sự thay đổi nào trên dữ liệu đã được “ký”. Để ký lên một văn bản, phần mềm ký tên của bạn sẽ
nghiền (crunch down) dữ liệu để kết lại bằng một vài dòng, được gọi là thông báo tóm tắt, bằng một
tiến trình được gọi là “kỹ thuật băm” (hashing), rồi tạo thành chữ ký điện tử. Cuối cùng, phần mềm
ký tên của bạn sẽ gắn chữ ký điện tử này vào văn bản. Khi bạn gửi văn bản đã ký tên này đến cho
một đồng nghiệp thì anh ta dùng Public Key giải mã chữ ký ngược trở lại thành một thông báo tóm
tắt để biết có phải chính bạn đã ký tên vào văn bản này hay không. Đồng thời anh ta cũng dùng
phần mềm của mình tạo một thông báo tóm tắt từ dữ liệu trên văn bản và so sánh với thông báo tóm
tắt do bạn tạo ra. Nếu hai thông báo tóm tắt này giống nhau tức là dữ liệu trên văn bản là toàn vẹn,
không bị thay đổi bởi người khác.
Để cho chắc ăn hơn, tránh tình trạng người khác làm giả chữ ký để đánh lừa người nhận, bạn
có thể xin một chứng chỉ điện tử (Digital Certificate) tại một cơ quan có thẩm quyền để chứng thực
cho Public Key của bạn. Để xác định chính xác tính trung thực của văn bản trong trường hợp này,
trước tiên đồng nghiệp của bạn phải dùng Public Key do cơ quan chứng thực cung cấp kiểm tra
chứng chỉ của bạn để xác nhận có đúng là chứng chỉ thật không. Tiếp theo, bằng phần mềm của
mình, anh ta lấy Public Key từ chứng chỉ của bạn và dùng nó để kiểm tra và giải mã chữ ký của
bạn. Nếu Public Key của bạn giải mã thành công chữ ký, anh ta yên tâm rằng chữ ký này đã được
tạo ra từ Private Key của bạn. Bất kỳ người nào khác khó lòng xen được vào quá trình được tổ chức
chặt chẽ này để sửa đổi dữ liệu trên văn bản hòng đánh lừa người nhận. Nói ra thì dài dòng nhưng

trên thực tế quá trình này chỉ bao gồm có một bước đơn giản là kích vào chữ ký rồi xem báo cáo
kiểm tra của phần mềm chứng thực chữ ký để biết kết quả.

2. Sơ đồ hình thức của chữ ký

19


Chủ Đề 10: An Ninh Mạng
Người gửi (chủ nhân của văn bản) tạo chữ ký trên văn bản bằng khóa riêng của mình;
Người gửi chuyển văn bản cùng chữ ký cho người nhận
Người nhận văn bản sử dụng chìa khóa công khai của người gửi kiểm thử chữ ký trên văn bản
nhận được. Chữ ký không thể làm giả được vì chỉ có duy nhất người gửi có chìa khóa bí mật để ký,
và cũng không ai giả mạo được vì không có khóa bí mật. Văn bản đã ký không thể thay đổi nội
dung được nữa. Người đã ký thì khoong thể thoái thác chữ ký của mình. Bài toán xác nhận với chữ
ký điện tử, theo nghĩa nào đó có thể xem là đối ngẫu với bài toán mã hóa bằng hệ mã công khai. Và
vì thế nên sự an toàn của các sơ đồ ký cũng giống như thuật toán mã khóa công khai phụ thuộc vào
độ khó của bài toán nào đó.

Một sơ đồ chữ ký số là bộ 5( P, A, K, S, V) thoả mãn các điều kiện dưới đây:
- P là tập hữu hạn các bức điện có thể.
- A là tập hữu hạn các chữ ký có thể.
- K không gian khoá là tập hữu hạn các khoá có thể.
Với mỗi k thuộc K tồn tại một thuật toán ký sig(k) ∈ S và là một thuật toán xác minh ver(k)
∈ V. Mỗi sig(k): P → A và ver(k): P×a
→{true,false} là những hàm sao cho mỗi bức điện x∈ P và mỗi chữ ký y∈ A thoả mãn
phương trình dưới đây.
ver(k)True-nếu y=sig(x)
ver(k)False-nếu y# sig(x)
Với mỗi k thuộc K hàm sig(k) và ver(k) là các hàm thời than đa thức. Ver(k) sẽ là hàm công

khai sig(k) là mật. Không thể dể dàng tính toán để giả mạo chữ ký của anh A trên bức điện x. Nghĩa
là x cho trước, chỉ có anh A mới có thể tính được y để ver(k) = True. Như vậy, giống như trường
hợp hệ thống mã khoá công khai, mục đích của chúng ta là tìm các sơ đồ chữ ký số an toan về mặt
tính toán.

3. Sơ đồ chữ ký RSA
Chúng ta sẽ nghiên cứu đến sơ đồ chữ ký RSA. Đặc điểm của các sơ đồ chữ ký này là mức độ
tính toán phụ thuộc hoàn toàn vàođộ lớn của giải thuật giải quyết các bài toán nhân số nguyên bài
toán luỹ thừa. Sơ đồ chữ ký RSA được phát minh bởi 3 nhà nghiên cứu Rivest, Shamir và Adleman,
20


Chủ Đề 10: An Ninh Mạng
đây là sơ đồ có ứng dụng thực tế rộng rãi nhất dựa trên công nghệ sử dụng khoá chung. Các phương
pháp tấn công RSA đầu tiên (multicative property) và các vấn đề khác liên quan tới chữ ký RSA
được đưa ra bởi Davia, Jonge và Chaum.
Cho n= p.q, p và q là các số nguyên tố. Cho P =A= Z
n
ab ≡ 1(mod( φ (n))). Các giá trị n và b là công khai, a giữ bí mật.
Hàm kí:
a
sig (x)= x mod n và kiểm tra
k
chữ kí:
ver (x,y)= true ⇔ x ≡ yb (mod n) (x, y ∈ Z )
k
n
Dễ chứng minh rằng sơ đồ được định nghĩa như vậy là hợp thức, tức là với mọi x thuộc P, và
mọi chữ ký y thuộc A:
ver (x,y)= true ⇔y =

sig (x)
k
k
Chú ý rằng, tuy hai vấn đề xác nhận và bảo mật theo sơ đồ RSA là có bề ngoài giống nhau,
nhưng nội dung của chúng là hoàn toàn khác nhau: Khi A gửi thông báo x cho B, để có căn cứ xác
nhận đó đúng thực là thông báo do A gửi, A phải gửi kèm theo chữ ký Sig k(x), tức là A gửi cho B
(x, Sigk(x)), trong các thông tin gửi đi đó, thông báo x hoàn toàn không được giữu bí mật. Cũng
tương tự như vậy, nếu dùng sơ đồ mật mã RSA, khi một chủ thể A nhận được một bản mật mã e k(x)
từ B thì A chỉ biết rằng thông báo x được bảo mật, chứ không có gì để xác nhận x là của B.

IV: Tường lửa – firewall

1. FireWall là gì?
Trong ngành mạng máy tính, bức tường lửa (tiếng Anh: firewall) là rào chắn mà một số cá
nhân, tổ chức, doanh nghiệp, cơ quan nhà nước lập ra nhằm ngăn chặn người dùng mạng Internet
truy cập các thông tin không mong muốn hoặc/và ngăn chặn người dùng từ bên ngoài truy nhập các
thông tin bảo mật nằm trong mạng nội bộ. Đã có nhiều giải pháp bảo mật cho mạng máy tính được
đưa ra như dùng các phần mềm, chương trình để bảo vệ tài nguyên, tạo những tài khoản truy xuất
mạng đòi hỏi có mật khẩu … nhưng những giải pháp đó chỉ bảo vệ một phần mạng máy tính mà
thôi, một khi những kẻ phá hoại mạng máy tính đã thâm nhập sâu hơn vào bên trong mạng thì có rất
nhiều cách để phá hoại hệ thống mạng. Vì vậy đã đặt ra một yêu cầu là phải có những công cụ để
21


Chủ Đề 10: An Ninh Mạng
chống sự xâm nhập mạng bất hợp pháp ngay từ bên ngoài mạng, đó chính là nguyên nhân dẫn tới
sự ra đời của Firewall (Tường lửa).
Tường lửa là một thiết bị phần cứng hoặc một phần mềm hoạt động trong một môi trường
máy tính nối mạng để ngăn chặn một số liên lạc bị cấm bởi chính sách an ninh của cá nhân hay tổ
chức, việc này tương tự với hoạt động của các bức tường ngăn lửa trong các tòa nhà. Tường lửa còn

được gọi là Thiết bị bảo vệ biên giới (Border Protection Device - BPD).

Nhìn chung lại, Firewall có 5 chức năng sau:
-

Lọc gói dữ liệu đi vào và đi ra mạng lưới.
Quán lý hành vi khai thác đi vào và đi ra mạng lưới.
Ngăn chặn một hành vi nào đó.
Ghi chép nội dung tin tức và hoạt động thông qua bức tường lửa.
Tiến hành đo thử giám sát và cảnh báo sự tấn công đối với mạng lưới.

2. Ưu nhược điểm của Firewall
Ưu điểm dễ nhận thấy nhất của Firewall là bảo vệ mạng cục bộ. Cho phép người quản trị xác
định một điểm khống chế ngăn chặn để phòng ngừa tin tặc, hacker xâm nhập vào mạng nội bộ. Cấm
không cho các loại dịch vụ kém an toàn vào mạng, đồng thời chống trả sự công kích đến từ các nơi
khác. Tính an toàn mạng được củng cố trên hệ thống Firewall mà không phải phân bố trên tất cả
máy chủ của mạng. Bảo vệ những dịch vụ yếu kém trong mạng. Firewall dễ dàng giám sát tính an
toàn mạng và phát ra cảnh báo. Firewall được sử dụng để quản lý lưu lượng từ mạng ra ngoài, xây
dựng phương án chống nghẽn.
Nhược điểm Firewall không đủ thông minh như con người để có thể đọc hiểu từng loại thông
tin và phân tích nội dung tốt hay xấu của nó. Firewall chỉ có thể ngăn chặn sự xâm nhập của những
nguồn thông tin không mong muốn nhưng phải xác định rõ các thông số địa chỉ. Firewall không thể
ngăn chặn một cuộc tấn công nếu cuộc tấn công này không "đi qua" nó. Một cách cụ thể, Firewall
không thể chống lại một cuộc tấn công từ một đường dial-up, hoặc sự rò rỉ thông tin do dữ liệu bị
22


Chủ Đề 10: An Ninh Mạng
sao chép bất hợp pháp lên đĩa mềm. Firewall cũng không thể chống lại các cuộc tấn công bằng dữ
liệu (data-drivent attack). Khi có một số chương trình được chuyển theo thư điện tử, vượt qua

Firewall vào trong mạng được bảo vệ và bắt đầu hoạt động ở đây. Một ví dụ là các virus máy tính.
Firewall không thể làm nhiệm vụ rà quét virus trên các dữ liệu được chuyển qua nó, do tốc độ làm
việc, sự xuất hiện liên tục của các virus mới và do có rất nhiều cách để mã hóa dữ liệu, thoát khỏi
khả năng kiểm soát của Firewall. Firewall có thể ngǎn chặn những kẻ xấu từ bên ngoài nhưng còn
những kẻ xấu ở bên trong thì sao. Tuy nhiên, Firewall vẫn là giải pháp hữu hiệu được áp dụng rộng
rãi. Để có được khả nǎng bảo mật tối ưu cho hệ thống, Firewall nên được sử dụng kết hợp với các
biện pháp an ninh mạng như các phần mềm diệt virus, phần mềm đóng gói, mã hoá dữ liệu. Đặc
biệt, chính sách bảo mật được thực hiện một cách phù hợp và có chiều sâu là vấn đề sống còn để
khai thác tối ưu hiệu quả của bất cứ phần mềm bảo mật nào. Và cũng cần nhớ rằng công nghệ chỉ là
một phần của giải pháp bảo mật. Một nhân tố nữa hết sức quan trọng quyết định thành công của giải
pháp là sự hợp tác của nhân viên, đồng nghiệp.

3. Firewall phần cứng, Firewall phần mềm
Firewall phần cứng cung cấp mức độ bảo vệ cao hơn so với Firewall phần mềm và dễ bảo
trì hơn. Firewall phần cứng cũng có một ưu điểm khác là không chiếm dụng tài nguyên hệ thống
trên máy tính như Firewall phần mềm.
Firewall phần cứng là một lựa chọn rất tốt đối với các doanh nghiệp nhỏ, đặc biệt cho những
công ty có chia sẻ kết nối Internet. Có thể kết hợp Firewall và một bộ định tuyến trên cùng một hệ
thống phần cứng và sử dụng hệ thống này để bảo vệ cho toàn bộ mạng. Firewall phần cứng có thể là
một lựa chọn đỡ tốn chi phí hơn so với Firewall phần mềm thường phải cài trên mọi máy tính cá
nhân trong mạng.

23


Chủ Đề 10: An Ninh Mạng
Trong số các công ty cung cấp Firewall phần cứng có thể kể tới Linksys
() và NetGear (). Tính năng Firewall phần cứng do
các công ty này cung cấp thường được tích hợp sẵn trong các bộ định tuyến dùng cho mạng của các
doanh nghiệp nhỏ và mạng gia đình.

Firewall phần mềm: Nếu không muốn tốn tiền mua Firewall phần cứng thì bạn có thể sử
dụng Firewall phần mềm. Về giá cả, Firewall phần mềm thường không đắt bằng firewall phần cứng,
thậm chí một số còn miễn phí (phần mềm Comodo Firewall Pro, PC Tools Firewall Plus,
ZoneAlarm Firewall …) và bạn có thể tải về từ mạng Internet.

So với Firewall phần cứng, Firewall phần mềm cho phép linh động hơn, nhất là khi cần đặt lại
các thiết lập cho phù hợp hơn với nhu cầu riêng của từng công ty. Chúng có thể hoạt động tốt trên
nhiều hệ thống khác nhau, khác với Firewall phần cứng tích hợp với bộ định tuyến chỉ làm việc tốt
trong mạng có qui mô nhỏ. Firewall phần mềm cũng là một lựa chọn phù hợp đối với máy tính xách
tay vì máy tính sẽ vẫn được bảo vệ cho dù mang máy tính đi bất kỳ nơi nào.

4. Phân loại Firewall
Hiện nay có nhiều loại Firewall, để tiện cho quá trình nghiên cứu và phát triển, người ta chia
Firewall ra làm hai loại chính bao gồm:
-

Packet Filtering Firewall: là hệ thống tường lửa giữa các thành phần bên trong mạng và

-

bên ngoài mạng có kiểm soát.
Application-proxy Firewall: là hệ thống cho phép kết nối trực tiếp giữa các máy khách
và các host.

24


Chủ Đề 10: An Ninh Mạng

4.1. Packet Filtering Firewall

Đây là kiểu Firewall thông dụng hoạt động dựa trên mô hình OSI mức mạng. Firewall mức
mạng thường hoạt động theo nguyên tắc router hay còn được gọi là router, tức là tạo ra các luật lệ
về quyền truy cập mạng dựa trên mức mạng. Mô hình này hoạt động theo nguyên tắc lọc gói tin. Ở
kiểu hoạt động này các gói tin đều được kiểm tra địa chỉ nguồn nơi chúng xuất phát. Sau khi địa chỉ
IP nguồn được xác định, nó sẽ tiếp tục được kiểm tra với các luật đã đặt ra trên router. Với phương
thức hoạt động như vậy, các Firewall hoạt động ở lớp mạng có tốc độ xử lý nhanh vì nó chỉ kiểm tra
địa chỉ IP nguồn mà không cần biết địa chỉ đó là địa chỉ sai hay bị cấm. Đây chính là hạn chế của
kiểu Firewall này vì nó không đảm bảo tính tin cậy.
Lỗ hổng của kiểu Firewall này là nó chỉ sử dụng địa chỉ IP nguồn để làm chỉ thị. Khi một gói
tin mang địa chỉ nguồn là địa chỉ giả thì nó sẽ vượt qua được một số mức truy nhập để vào bên
trong mạng.
Firewall kiểu packet filtering chia làm hai loại:
-

Packet filtering firewall: Hoạt động tại lớp mạng (Network Layer) của mô hình OSI. Các
luật lọc gói tin dựa trên các trường trong IP header, transport header, địa chỉ IP nguồn và địa chỉ IP
đích …
Securityperimeter
Private
Network

Internet
Packet
filtering
router

Packet filtering firewall

-


Circuit level gateway: Hoạt động tại lớp phiên (Session Layer) của mô hình OSI. Mô
hình này không cho phép các kết nối end to end.
25


×