You are on page 1of 110

CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN

1. LUẬT CÔNG NGHỆ THÔNG TIN


SỐ 67/2006/QH11 NGÀY 29 THÁNG 6 NĂM 2006
Chương I: NHỮNG QUY ĐỊNH CHUNG
Điều 1. Phạm vi điều chỉnh
Luật này quy định về hoạt động ứng dụng và phát triển công nghệ thông tin, các
biện pháp bảo đảm ứng dụng và phát triển công nghệ thông tin, quyền và nghĩa
vụ của cơ quan, tổ chức, cá nhân (sau đây gọi chung là tổ chức, cá nhân) tham
gia hoạt động ứng dụng và phát triển công nghệ thông tin.
Điều 2. Đối tượng áp dụng
Luật này áp dụng đối với tổ chức, cá nhân Việt Nam, tổ chức, cá nhân nước
ngoài tham gia hoạt động ứng dụng và phát triển công nghệ thông tin tại Việt
Nam.
Điều 3. Áp dụng Luật công nghệ thông tin
1. Trường hợp có sự khác nhau giữa quy định của Luật công nghệ thông tin với
quy định của luật khác về cùng một vấn đề liên quan đến hoạt động ứng dụng và
phát triển công nghệ thông tin thì áp dụng quy định của Luật công nghệ thông
tin.
2. Trường hợp điều ước quốc tế mà Cộng hòa xã hội chủ nghĩa Việt Nam là
thành viên có quy định khác với quy định của Luật này thì áp dụng quy định của
điều ước quốc tế đó.
Điều 4. Giải thích từ ngữ
Trong Luật này, các từ ngữ dưới đây được hiểu như sau:
1. Công nghệ thông tin là tập hợp các phương pháp khoa học, công nghệ và
công cụ kỹ thuật hiện đại để sản xuất, truyền đưa, thu thập, xử lý, lưu trữ và trao
đổi thông tin số.
2. Thông tin số là thông tin được tạo lập bằng phương pháp dùng tín hiệu số.
3. Môi trường mạng là môi trường trong đó thông tin được cung cấp, truyền đưa,
thu thập, xử lý, lưu trữ và trao đổi thông qua cơ sở hạ tầng thông tin.
4. Cơ sở hạ tầng thông tin là hệ thống trang thiết bị phục vụ cho việc sản xuất,
truyền đưa, thu thập, xử lý, lưu trữ và trao đổi thông tin số, bao gồm mạng viễn
thông, mạng Internet, mạng máy tính và cơ sở dữ liệu.
5. Ứng dụng công nghệ thông tin là việc sử dụng công nghệ thông tin vào các
hoạt động thuộc lĩnh vực kinh tế - xã hội, đối ngoại, quốc phòng, an ninh và các
hoạt động khác nhằm nâng cao năng suất, chất lượng, hiệu quả của các hoạt
động này.
2

6. Phát triển công nghệ thông tin là hoạt động nghiên cứu - phát triển liên quan
đến quá trình sản xuất, truyền đưa, thu thập, xử lý, lưu trữ và trao đổi thông tin
số; phát triển nguồn nhân lực công nghệ thông tin; phát triển công nghiệp công
nghệ thông tin và phát triển dịch vụ công nghệ thông tin.
7. Khoảng cách số là sự chênh lệch về điều kiện, khả năng sử dụng máy tính và
cơ sở hạ tầng thông tin để truy nhập các nguồn thông tin, tri thức.
8. Đầu tư mạo hiểm trong lĩnh vực công nghệ thông tin là đầu tư cho doanh
nghiệp hoạt động trong lĩnh vực đó có triển vọng đem lại lợi nhuận lớn nhưng
có rủi ro cao.
9. Công nghiệp công nghệ thông tin là ngành kinh tế - kỹ thuật công nghệ cao
sản xuất và cung cấp sản phẩm công nghệ thông tin, bao gồm sản phẩm phần
cứng, phần mềm và nội dung thông tin số.
10. Phần cứng là sản phẩm thiết bị số hoàn chỉnh; cụm linh kiện; linh kiện; bộ
phận của thiết bị số, cụm linh kiện, linh kiện.
11. Thiết bị số là thiết bị điện tử, máy tính, viễn thông, truyền dẫn, thu phát sóng
vô tuyến điện và thiết bị tích hợp khác được sử dụng để sản xuất, truyền đưa, thu
thập, xử lý, lưu trữ và trao đổi thông tin số.
12. Phần mềm là chương trình máy tính đ?ược mô tả bằng hệ thống ký hiệu, mã
hoặc ngôn ngữ để điều khiển thiết bị số thực hiện chức năng nhất định.
13. Mã nguồn là sản phẩm trước biên dịch của một phần mềm, chưa có khả năng
điều khiển thiết bị số.
14. Mã máy là sản phẩm sau biên dịch của một phần mềm, có khả năng điều
khiển thiết bị số.
15. Thư rác là thư điện tử, tin nhắn được gửi đến người nhận mà người nhận đó
không mong muốn hoặc không có trách nhiệm phải tiếp nhận theo quy định của
pháp luật.
16. Vi rút máy tính là chương trình máy tính có khả năng lây lan, gây ra hoạt
động không bình thường cho thiết bị số hoặc sao chép, sửa đổi, xóa bỏ thông tin
lưu trữ trong thiết bị số.
17. Trang thông tin điện tử (Website) là trang thông tin hoặc một tập hợp trang
thông tin trên môi trường mạng phục vụ cho việc cung cấp, trao đổi thông tin.
18. Số hóa là việc biến đổi các loại hình thông tin sang thông tin số.
Điều 5. Chính sách của Nhà nước về ứng dụng và phát triển công nghệ
thông tin
1. Ưu tiên ứng dụng và phát triển công nghệ thông tin trong chiến lược phát
triển kinh tế - xã hội và sự nghiệp công nghiệp hóa, hiện đại hóa đất nước.
2. Tạo điều kiện để tổ chức, cá nhân hoạt động ứng dụng và phát triển công nghệ
thông tin đáp ứng yêu cầu phát triển kinh tế - xã hội, đối ngoại, quốc phòng, an
3

ninh; thúc đẩy công nghiệp công nghệ thông tin phát triển thành ngành kinh tế
trọng điểm, đáp ứng nhu cầu thị trường nội địa và xuất khẩu.
3. Khuyến khích đầu tư cho lĩnh vực công nghệ thông tin.
4. Ưu tiên dành một khoản ngân sách nhà nước để ứng dụng công nghệ thông tin
trong một số lĩnh vực thiết yếu, tạo lập nền công nghiệp công nghệ thông tin và
phát triển nguồn nhân lực công nghệ thông tin.
5. Tạo điều kiện thuận lợi để phát triển cơ sở hạ tầng thông tin quốc gia.
6. Có chính sách ưu đãi để tổ chức, cá nhân có hoạt động ứng dụng và phát triển
công nghệ thông tin đối với nông nghiệp; nông thôn, vùng sâu, vùng xa, biên
giới, hải đảo; người dân tộc thiểu số, người tàn tật, người có hoàn cảnh khó
khăn.
7. Bảo đảm quyền và lợi ích hợp pháp của tổ chức, cá nhân ứng dụng và phát
triển công nghệ thông tin.
8. Tăng cường giao lưu và hợp tác quốc tế; khuyến khích hợp tác với tổ chức, cá
nhân Việt Nam ở nước ngoài trong lĩnh vực công nghệ thông tin.
Điều 6. Nội dung quản lý nhà nước về công nghệ thông tin
1. Xây dựng, tổ chức thực hiện chiến lược, quy hoạch, kế hoạch, chính sách ứng
dụng và phát triển công nghệ thông tin.
2. Xây dựng, ban hành, tuyên truyền, phổ biến, tổ chức thực hiện văn bản quy
phạm pháp luật, tiêu chuẩn quốc gia, quy chuẩn kỹ thuật trong lĩnh vực công
nghệ thông tin.
3. Quản lý an toàn, an ninh thông tin trong hoạt động ứng dụng công nghệ thông
tin.
4. Tổ chức quản lý và sử dụng tài nguyên thông tin, cơ sở dữ liệu quốc gia.
5. Quản lý và tạo điều kiện thúc đẩy công tác hợp tác quốc tế về công nghệ
thông tin.
6. Quản lý, đào tạo, bồi dưỡng và phát triển nguồn nhân lực công nghệ thông tin.
7. Xây dựng cơ chế, chính sách và các quy định liên quan đến sản phẩm, dịch vụ
công ích trong lĩnh vực công nghệ thông tin.
8. Xây dựng cơ chế, chính sách và các quy định về việc huy động nguồn lực
công nghệ thông tin phục vụ quốc phòng, an ninh và các trường hợp khẩn cấp
quy định tại Điều 14 của Luật này.
9. Quản lý thống kê về công nghệ thông tin.
10. Thanh tra, kiểm tra, giải quyết khiếu nại, tố cáo và xử lý vi phạm trong lĩnh
vực công nghệ thông tin.
Điều 7. Trách nhiệm quản lý nhà nước về công nghệ thông tin
1. Chính phủ thống nhất quản lý nhà nước về công nghệ thông tin.
4

2. Bộ Bưu chính, Viễn thông chịu trách nhiệm trước Chính phủ trong việc chủ
trì, phối hợp với bộ, cơ quan ngang bộ có liên quan thực hiện quản lý nhà nước
về công nghệ thông tin.
3. Bộ, cơ quan ngang bộ trong phạm vi nhiệm vụ, quyền hạn của mình có trách
nhiệm chủ trì, phối hợp với Bộ Bưu chính, Viễn thông thực hiện quản lý nhà
nước về công nghệ thông tin theo phân công của Chính phủ.
4. Ủy ban nhân dân tỉnh, thành phố trực thuộc trung ương trong phạm vi nhiệm
vụ, quyền hạn của mình thực hiện quản lý nhà nước về công nghệ thông tin tại
địa phương.
5. Việc tổ chức thực hiện ứng dụng công nghệ thông tin trong hoạt động của cơ
quan nhà nước do Chính phủ quy định.
Điều 8. Quyền của tổ chức, cá nhân tham gia hoạt động ứng dụng và phát
triển công nghệ thông tin
1. Tổ chức, cá nhân tham gia hoạt động ứng dụng công nghệ thông tin có các
quyền sau đây:
a) Tìm kiếm, trao đổi, sử dụng thông tin trên môi trường mạng, trừ thông tin có
nội dung quy định tại khoản 2 Điều 12 của Luật này;
b) Yêu cầu khôi phục thông tin của mình hoặc khôi phục khả năng truy nhập đến
nguồn thông tin của mình trong trường hợp nội dung thông tin đó không vi
phạm quy định tại khoản 2 Điều 12 của Luật này;
c) Yêu cầu cơ quan nhà nước có thẩm quyền giải quyết theo quy định của pháp
luật trong trường hợp bị từ chối việc khôi phục thông tin hoặc khôi phục khả
năng truy nhập đến nguồn thông tin đó;
d) Phân phát các địa chỉ liên lạc có trên môi trường mạng khi có sự đồng ý của
chủ sở hữu địa chỉ liên lạc đó;
đ) Từ chối cung cấp hoặc nhận trên môi trường mạng sản phẩm, dịch vụ trái với
quy định của pháp luật và phải chịu trách nhiệm về việc đó.
2. Tổ chức, cá nhân tham gia phát triển công nghệ thông tin có các quyền sau
đây:
a) Nghiên cứu và phát triển sản phẩm công nghệ thông tin;
b) Sản xuất sản phẩm công nghệ thông tin; số hóa, duy trì và làm tăng giá trị các
nguồn tài nguyên thông tin.
3. Cơ quan nhà nước có quyền từ chối nhận thông tin trên môi trường mạng nếu
độ tin cậy và bí mật của thông tin đó được truyền đưa qua môi trường mạng
không được bảo đảm.
Điều 9. Trách nhiệm của tổ chức, cá nhân tham gia hoạt động ứng dụng và
phát triển công nghệ thông tin
1. Tổ chức, cá nhân tham gia hoạt động ứng dụng công nghệ thông tin phải chịu
5

trách nhiệm về nội dung thông tin số của mình trên môi trường mạng.
2. Tổ chức, cá nhân khi hoạt động kinh doanh trên môi trường mạng phải thông
báo công khai trên môi trường mạng những thông tin có liên quan, bao gồm:
a. Tên, địa chỉ địa lý, số điện thoại, địa chỉ thư điện tử;
b. Thông tin về quyết định thành lập, giấy phép hoạt động hoặc giấy chứng nhận
đăng ký kinh doanh (nếu có);
c. Tên cơ quan quản lý nhà cung cấp (nếu có);
d. Thông tin về giá, thuế, chi phí vận chuyển (nếu có) của hàng hóa, dịch vụ.
3. Tổ chức, cá nhân tham gia phát triển công nghệ thông tin có trách nhiệm sau
đây:
a) Bảo đảm tính trung thực của kết quả nghiên cứu - phát triển;
b) Bảo đảm quyền và lợi ích hợp pháp của chủ sở hữu cơ sở dữ liệu và không
gây cản trở cho việc sử dụng cơ sở dữ liệu đó khi thực hiện hành vi tái sản xuất,
phân phối, quảng bá, truyền đưa, cung cấp nội dung hợp thành cơ sở dữ liệu đó.
4. Khi hoạt động trên môi trường mạng, cơ quan nhà nước có trách nhiệm sau
đây:
a) Thông báo trên phương tiện thông tin đại chúng về các hoạt động thực hiện
trên môi trường mạng theo quy định tại khoản 1 Điều 27 của Luật này;
b) Thông báo cho tổ chức, cá nhân có liên quan địa chỉ liên hệ của cơ quan đó
trên môi trường mạng;
c) Trả lời theo thẩm quyền văn bản của tổ chức, cá nhân gửi đến cơ quan nhà
nước thông qua môi trường mạng;
d) Cung cấp trên môi trường mạng thông tin phục vụ lợi ích công cộng, thủ tục
hành chính;
đ) Sử dụng chữ ký điện tử theo quy định của pháp luật về giao dịch điện tử;
e) Bảo đảm độ tin cậy và bí mật của nội dung thông tin trong việc gửi, nhận văn
bản trên môi trường mạng;
g) Bảo đảm tính chính xác, đầy đủ, kịp thời của thông tin, văn bản được trao đổi,
cung cấp và lấy ý kiến trên môi trường mạng;
h) Bảo đảm hệ thống thiết bị cung cấp thông tin, lấy ý kiến trên môi trường
mạng hoạt động cả trong giờ và ngoài giờ làm việc, trừ trường hợp bất khả
kháng;
i) Thực hiện việc cung cấp thông tin và lấy ý kiến qua trang thông tin điện tử
phải tuân thủ quy định tại Điều 28 của Luật này.
Điều 10. Thanh tra về công nghệ thông tin
1. Thanh tra Bộ Bưu chính, Viễn thông thực hiện chức năng thanh tra chuyên
ngành về công nghệ thông tin.
6

2. Tổ chức và hoạt động của thanh tra về công nghệ thông tin thực hiện theo quy
định của pháp luật về thanh tra.
Điều 11. Hội, hiệp hội về công nghệ thông tin
1. Hội, hiệp hội về công nghệ thông tin có trách nhiệm bảo vệ quyền và lợi ích
hợp pháp của tổ chức, cá nhân tham gia hoạt động ứng dụng và phát triển công
nghệ thông tin.
2. Hội, hiệp hội về công nghệ thông tin được tổ chức và hoạt động theo quy định
của pháp luật về hội.
Điều 12. Các hành vi bị nghiêm cấm
1. Cản trở hoạt động hợp pháp hoặc hỗ trợ hoạt động bất hợp pháp về ứng dụng
và phát triển công nghệ thông tin; cản trở bất hợp pháp hoạt động của hệ thống
máy chủ tên miền quốc gia; phá hoại cơ sở hạ tầng thông tin, phá hoại thông tin
trên môi trường mạng.
2. Cung cấp, trao đổi, truyền đưa, lưu trữ, sử dụng thông tin số nhằm mục đích
sau đây:
a) Chống Nhà nước Cộng hoà xã hội chủ nghĩa Việt Nam, phá hoại khối đoàn
kết toàn dân;
b) Kích động bạo lực, tuyên truyền chiến tranh xâm lược, gây hận thù giữa các
dân tộc và nhân dân các nước, kích động dâm ô, đồi trụy, tội ác, tệ nạn xã hội,
mê tín dị đoan, phá hoại thuần phong mỹ tục của dân tộc;
c) Tiết lộ bí mật nhà nước, bí mật quân sự, an ninh, kinh tế, đối ngoại và những
bí mật khác đã được pháp luật quy định;
d) Xuyên tạc, vu khống, xúc phạm uy tín của tổ chức, danh dự, nhân phẩm, uy
tín của công dân;
đ) Quảng cáo, tuyên truyền hàng hoá, dịch vụ thuộc danh mục cấm đã được
pháp luật quy định.
3. Xâm phạm quyền sở hữu trí tuệ trong hoạt động công nghệ thông tin; sản
xuất, lưu hành sản phẩm công nghệ thông tin trái pháp luật; giả mạo trang thông
tin điện tử của tổ chức, cá nhân khác; tạo đường dẫn trái phép đối với tên miền
của tổ chức, cá nhân sử dụng hợp pháp tên miền đó.
Chương II: ỨNG DỤNG CÔNG NGHỆ THÔNG TIN
Mục 1
QUY ĐỊNH CHUNG VỀ ỨNG DỤNG CÔNG NGHỆ THÔNG TIN
Điều 13. Nguyên tắc chung về hoạt động ứng dụng công nghệ thông tin
1. Tổ chức, cá nhân có quyền tiến hành các hoạt động ứng dụng công nghệ
thông tin theo quy định của Luật này và các quy định khác của pháp luật có liên
quan.
7

2. Việc ứng dụng công nghệ thông tin vào các hoạt động thuộc lĩnh vực kinh tế -
xã hội, đối ngoại, quốc phòng, an ninh; hoạt động phòng, chống lụt, bão, thiên
tai, thảm họa khác, cứu hộ, cứu nạn và các hoạt động khác được Nhà nước
khuyến khích.
3. Tổ chức, cá nhân tiến hành hoạt động viễn thông, hoạt động phát thanh,
truyền hình trên môi trường mạng phải thực hiện các quy định của pháp luật về
viễn thông, báo chí và các quy định của Luật này.
Điều 14. Ưu tiên ứng dụng công nghệ thông tin trong trường hợp khẩn cấp
1. Cơ quan nhà nước có thẩm quyền quyết định huy động một phần hoặc toàn bộ
cơ sở hạ tầng thông tin để ưu tiên phục vụ cho việc ứng dụng công nghệ thông
tin khi có một trong các trường hợp khẩn cấp sau đây:
a) Phục vụ phòng, chống lụt, bão, hỏa hoạn, thiên tai, thảm họa khác;
b) Phục vụ cấp cứu và phòng, chống dịch bệnh;
c) Phục vụ cứu nạn, cứu hộ;
d) Phục vụ quốc phòng, an ninh, bảo đảm trật tự, an toàn xã hội, phòng, chống
tội phạm.
2. Chính phủ quy định cụ thể việc ưu tiên ứng dụng công nghệ thông tin trong
các trường hợp khẩn cấp.
Điều 15. Quản lý và sử dụng thông tin số
1. Tổ chức, cá nhân có quyền tự do sử dụng thông tin số vào mục đích chính
đáng, phù hợp với quy định của pháp luật.
2. Cơ quan nhà nước có thẩm quyền chịu trách nhiệm thực hiện các biện pháp
bảo đảm việc truy nhập và sử dụng thuận lợi thông tin số.
3. Việc cung cấp, trao đổi, truyền đưa, lưu trữ, sử dụng thông tin số phải bảo
đảm không vi phạm quy định tại khoản 2 Điều 12 của Luật này và các quy định
khác của pháp luật có liên quan.
4. Tổ chức, cá nhân không được trích dẫn nội dung thông tin số của tổ chức, cá
nhân khác trong trường hợp chủ sở hữu thông tin số đã có cảnh báo hoặc pháp
luật quy định việc trích dẫn thông tin là không được phép.
5. Trường hợp được phép trích dẫn thông tin số, tổ chức, cá nhân có trách nhiệm
nêu rõ nguồn của thông tin đó.
Điều 16. Truyền đưa thông tin số
1. Tổ chức, cá nhân có quyền truyền đưa thông tin số của tổ chức, cá nhân khác
phù hợp với quy định của Luật này.
2. Tổ chức, cá nhân truyền đưa thông tin số của tổ chức, cá nhân khác không
phải chịu trách nhiệm về nội dung thông tin được lưu trữ tự động, trung gian,
tạm thời do yêu cầu kỹ thuật nếu hoạt động lưu trữ tạm thời nhằm mục đích
phục vụ cho việc truyền đưa thông tin và thông tin được lưu trữ trong khoảng
8

thời gian đủ để thực hiện việc truyền đưa.


3. Tổ chức, cá nhân truyền đưa thông tin số có trách nhiệm tiến hành kịp thời
các biện pháp cần thiết để ngăn chặn việc truy nhập thông tin hoặc loại bỏ thông
tin trái pháp luật theo yêu cầu của cơ quan nhà nước có thẩm quyền.
4. Tổ chức, cá nhân truyền đưa thông tin số của tổ chức, cá nhân khác không
phải chịu trách nhiệm về nội dung thông tin đó, trừ trường hợp thực hiện một
trong các hành vi sau đây:
a) Chính mình bắt đầu việc truyền đưa thông tin;
b) Lựa chọn người nhận thông tin được truyền đưa;
c) Lựa chọn và sửa đổi nội dung thông tin được truyền đưa.
Điều 17. Lưu trữ tạm thời thông tin số
1. Tổ chức, cá nhân có quyền lưu trữ tạm thời thông tin số của tổ chức, cá nhân
khác.
2. Tổ chức, cá nhân lưu trữ tạm thời thông tin số của tổ chức, cá nhân khác
không phải chịu trách nhiệm về nội dung thông tin đó, trừ trường hợp thực hiện
một trong các hành vi sau đây:
a) Sửa đổi nội dung thông tin;
b) Không tuân thủ quy định về truy nhập hoặc cập nhật nội dung thông tin;
c) Thu thập dữ liệu bất hợp pháp thông qua việc lưu trữ thông tin tạm thời;
d) Tiết lộ bí mật thông tin.
Điều 18. Cho thuê chỗ lưu trữ thông tin số
1. Cho thuê chỗ lưu trữ thông tin số là dịch vụ cho thuê dung lượng thiết bị lưu
trữ để lưu trữ thông tin trên môi trường mạng.
2. Nội dung thông tin số lưu trữ không được vi phạm quy định tại khoản 2 Điều
12 của Luật này.
3. Tổ chức, cá nhân cho thuê chỗ lưu trữ thông tin số có trách nhiệm sau đây:
a) Thực hiện yêu cầu của cơ quan nhà nước có thẩm quyền về việc xác định
danh sách chủ sở hữu thuê chỗ lưu trữ thông tin số để thiết lập trang thông tin
điện tử và danh sách chủ sở hữu thông tin số được lưu trữ bởi tổ chức, cá nhân
đó;
b) Tiến hành kịp thời các biện pháp cần thiết để ngăn chặn việc truy nhập thông
tin số hoặc loại bỏ thông tin số trái pháp luật theo yêu cầu của cơ quan nhà nước
có thẩm quyền;
c) Ngừng cho tổ chức, cá nhân khác thuê chỗ lưu trữ thông tin số trong trường
hợp tự mình phát hiện hoặc được cơ quan nhà nước có thẩm quyền thông báo
cho biết thông tin đang được lưu trữ là trái pháp luật;
d) Bảo đảm bí mật thông tin của tổ chức, cá nhân thuê chỗ lưu trữ thông tin.
9

Điều 19. Công cụ tìm kiếm thông tin số


1. Công cụ tìm kiếm thông tin số là chương trình máy tính tiếp nhận yêu cầu tìm
kiếm thông tin số, thực hiện việc tìm kiếm thông tin số và gửi lại thông tin số
tìm kiếm được.
2. Nhà nước có chính sách khuyến khích tổ chức, cá nhân phát triển, cung cấp
công cụ tìm kiếm thông tin số.
3. Tổ chức, cá nhân có trách nhiệm ngừng cung cấp cho tổ chức, cá nhân khác
công cụ tìm kiếm đến các nguồn thông tin số trong trường hợp tự mình phát hiện
hoặc được cơ quan nhà nước có thẩm quyền thông báo cho biết thông tin đó là
trái pháp luật.
Điều 20. Theo dõi, giám sát nội dung thông tin số
1. Cơ quan nhà nước có thẩm quyền chịu trách nhiệm theo dõi, giám sát thông
tin số; điều tra các hành vi vi phạm pháp luật xảy ra trong quá trình truyền đưa
hoặc lưu trữ thông tin số.
2. Tổ chức, cá nhân tham gia ứng dụng công nghệ thông tin không phải chịu
trách nhiệm theo dõi, giám sát thông tin số của tổ chức, cá nhân khác, điều tra
các hành vi vi phạm pháp luật xảy ra trong quá trình truyền đưa hoặc lưu trữ
thông tin số của tổ chức, cá nhân khác, trừ trường hợp cơ quan nhà nước có
thẩm quyền yêu cầu.
Điều 21. Thu thập, xử lý và sử dụng thông tin cá nhân trên môi trường
mạng
1. Tổ chức, cá nhân thu thập, xử lý và sử dụng thông tin cá nhân của người khác
trên môi trường mạng phải được người đó đồng ý, trừ trường hợp pháp luật có
quy định khác.
2. Tổ chức, cá nhân thu thập, xử lý và sử dụng thông tin cá nhân của người khác
có trách nhiệm sau đây:
a) Thông báo cho người đó biết về hình thức, phạm vi, địa điểm và mục đích của
việc thu thập, xử lý và sử dụng thông tin cá nhân của người đó;
b) Sử dụng đúng mục đích thông tin cá nhân thu thập được và chỉ lưu trữ những
thông tin đó trong một khoảng thời gian nhất định theo quy định của pháp luật
hoặc theo thoả thuận giữa hai bên;
c) Tiến hành các biện pháp quản lý, kỹ thuật cần thiết để bảo đảm thông tin cá
nhân không bị mất, đánh cắp, tiết lộ, thay đổi hoặc phá huỷ;
d) Tiến hành ngay các biện pháp cần thiết khi nhận được yêu cầu kiểm tra lại,
đính chính hoặc hủy bỏ theo quy định tại khoản 1 Điều 22 của Luật này; không
được cung cấp hoặc sử dụng thông tin cá nhân liên quan cho đến khi thông tin
đó được đính chính lại.
3. Tổ chức, cá nhân có quyền thu thập, xử lý và sử dụng thông tin cá nhân của
người khác mà không cần sự đồng ý của người đó trong trường hợp thông tin cá
10

nhân đó được sử dụng cho mục đích sau đây:


a) Ký kết, sửa đổi hoặc thực hiện hợp đồng sử dụng thông tin, sản phẩm, dịch vụ
trên môi trường mạng;
b) Tính giá, cước sử dụng thông tin, sản phẩm, dịch vụ trên môi trường mạng;
c) Thực hiện nghĩa vụ khác theo quy định của pháp luật.
Điều 22. Lưu trữ, cung cấp thông tin cá nhân trên môi trường mạng
1. Cá nhân có quyền yêu cầu tổ chức, cá nhân lưu trữ thông tin cá nhân của mình
trên môi trường mạng thực hiện việc kiểm tra, đính chính hoặc hủy bỏ thông tin
đó.
2. Tổ chức, cá nhân không được cung cấp thông tin cá nhân của người khác cho
bên thứ ba, trừ trường hợp pháp luật có quy định khác hoặc có sự đồng ý của
người đó.
3. Cá nhân có quyền yêu cầu bồi thường thiệt hại do hành vi vi phạm trong việc
cung cấp thông tin cá nhân.
Điều 23. Thiết lập trang thông tin điện tử
1. Tổ chức, cá nhân có quyền thiết lập trang thông tin điện tử theo quy định của
pháp luật và chịu trách nhiệm quản lý nội dung và hoạt động trang thông tin điện
tử của mình.
2. Tổ chức, cá nhân sử dụng tên miền quốc gia Việt Nam ".vn" khi thiết lập
trang thông tin điện tử không cần thông báo với Bộ Bưu chính, Viễn thông. Tổ
chức, cá nhân khi thiết lập trang thông tin điện tử không sử dụng tên miền quốc
gia Việt Nam ".vn" phải thông báo trên môi trường mạng với Bộ Bưu chính,
Viễn thông những thông tin sau đây:
a) Tên tổ chức ghi trong quyết định thành lập, giấy phép hoạt động, giấy chứng
nhận đăng ký kinh doanh hoặc giấy phép mở văn phòng đại diện; tên cá nhân;
b) Số, ngày cấp, nơi cấp chứng minh thư nhân dân hoặc số, ngày cấp, nơi cấp hộ
chiếu của cá nhân;
c) Địa chỉ trụ sở chính của tổ chức hoặc nơi thường trú của cá nhân;
d) Số điện thoại, số fax, địa chỉ thư điện tử;
đ) Các tên miền đã đăng ký.
3. Tổ chức, cá nhân phải chịu trách nhiệm trước pháp luật về tính chính xác của
các thông tin quy định tại khoản 2 Điều này, khi thay đổi thông tin thì phải
thông báo về sự thay đổi đó.
4. Trang thông tin điện tử được sử dụng cho hoạt động báo chí phải thực hiện
quy định của Luật này, pháp luật về báo chí và các quy định khác của pháp luật
có liên quan.
5. Trang thông tin điện tử được sử dụng cho hoạt động kinh tế - xã hội, đối
11

ngoại, quốc phòng, an ninh phải thực hiện quy định của Luật này và các quy
định khác của pháp luật có liên quan.
Mục 2
ỨNG DỤNG CÔNG NGHỆ THÔNG TIN TRONG HOẠT ĐỘNG
CỦA CƠ QUAN NHÀ NƯỚC
Điều 24. Nguyên tắc ứng dụng công nghệ thông tin trong hoạt động của cơ
quan nhà nước
1. Việc ứng dụng công nghệ thông tin trong hoạt động của cơ quan nhà nước
phải được ưu tiên, bảo đảm tính công khai, minh bạch nhằm nâng cao hiệu lực,
hiệu quả hoạt động của cơ quan nhà nước; tạo điều kiện để nhân dân thực hiện
tốt quyền và nghĩa vụ công dân.
2. Việc ứng dụng công nghệ thông tin trong hoạt động của cơ quan nhà nước
phải thúc đẩy chương trình đổi mới hoạt động của cơ quan nhà nước và chương
trình cải cách hành chính.
3. Việc cung cấp, trao đổi thông tin phải bảo đảm chính xác và phù hợp với mục
đích sử dụng.
4. Quy trình, thủ tục hoạt động phải công khai, minh bạch.
5. Sử dụng thống nhất tiêu chuẩn, bảo đảm tính tương thích về công nghệ trong
toàn bộ hệ thống thông tin của các cơ quan nhà nước.
6. Bảo đảm an ninh, an toàn, tiết kiệm và có hiệu quả.
7. Người đứng đầu cơ quan nhà nước phải chịu trách nhiệm về việc ứng dụng
công nghệ thông tin thuộc thẩm quyền quản lý của mình.
Điều 25. Điều kiện để triển khai ứng dụng công nghệ thông tin trong hoạt
động của cơ quan nhà nước
1. Cơ quan nhà nước có trách nhiệm chuẩn bị các điều kiện để triển khai ứng
dụng công nghệ thông tin trong hoạt động của cơ quan mình.
2. Chính phủ quy định cụ thể các điều kiện bảo đảm cho ứng dụng công nghệ
thông tin trong hoạt động của cơ quan nhà nước; xây dựng và tổ chức thực hiện
chương trình quốc gia về ứng dụng công nghệ thông tin trong hoạt động của cơ
quan nhà nước với các nội dung chủ yếu sau đây:
a) Lộ trình thực hiện các hoạt động trên môi trường mạng của các cơ quan nhà
nước;
b) Các ngành, lĩnh vực có tác động lớn đến phát triển kinh tế - xã hội cần ưu tiên
ứng dụng công nghệ thông tin;
c) Việc chia sẻ, sử dụng chung thông tin số;
d) Lĩnh vực được ưu tiên, khuyến khích nghiên cứu - phát triển, hợp tác quốc tế,
phát triển nguồn nhân lực và xây dựng cơ sở hạ tầng thông tin đáp ứng yêu cầu
ứng dụng công nghệ thông tin trong hoạt động của cơ quan nhà nước trong từng
12

giai đoạn;
đ) Nguồn tài chính bảo đảm cho ứng dụng công nghệ thông tin trong hoạt động
của cơ quan nhà nước;
e) Các chương trình, đề án, dự án trọng điểm về ứng dụng công nghệ thông tin
trong hoạt động của cơ quan nhà nước.
Điều 26. Nội dung ứng dụng công nghệ thông tin trong hoạt động của cơ
quan nhà nước
1. Xây dựng và sử dụng cơ sở hạ tầng thông tin phục vụ cho hoạt động của cơ
quan nhà nước và hoạt động trao đổi, cung cấp thông tin giữa cơ quan nhà nước
với tổ chức, cá nhân.
2. Xây dựng, thu thập và duy trì cơ sở dữ liệu phục vụ cho hoạt động của cơ
quan và phục vụ lợi ích công cộng.
3. Xây dựng các biểu mẫu phục vụ cho việc trao đổi, cung cấp thông tin và lấy ý
kiến góp ý của tổ chức, cá nhân trên môi trường mạng.
4. Thiết lập trang thông tin điện tử phù hợp với quy định tại Điều 23 và Điều 28
của Luật này.
5. Cung cấp, chia sẻ thông tin với cơ quan khác của Nhà nước.
6. Thực hiện việc cung cấp dịch vụ công trên môi trường mạng.
7. Xây dựng, thực hiện kế hoạch đào tạo, nâng cao nhận thức và trình độ ứng
dụng công nghệ thông tin của cán bộ, công chức.
8. Thực hiện hoạt động trên môi trường mạng theo quy định tại Điều 27 của
Luật này.
Điều 27. Hoạt động của cơ quan nhà nước trên môi trường mạng
1. Hoạt động của cơ quan nhà nước trên môi trường mạng bao gồm:
a) Cung cấp, trao đổi, thu thập thông tin với tổ chức, cá nhân;
b) Chia sẻ thông tin trong nội bộ và với cơ quan khác của Nhà nước;
c) Cung cấp các dịch vụ công;
d) Các hoạt động khác theo quy định của Chính phủ.
2. Thời điểm và địa điểm gửi, nhận thông tin trên môi trường mạng thực hiện
theo quy định của pháp luật về giao dịch điện tử.
Điều 28. Trang thông tin điện tử của cơ quan nhà nước
1. Trang thông tin điện tử của cơ quan nhà nước phải đáp ứng các yêu cầu sau
đây:
a) Bảo đảm cho tổ chức, cá nhân truy nhập thuận tiện;
b) Hỗ trợ tổ chức, cá nhân truy nhập và sử dụng các biểu mẫu trên trang thông
tin điện tử (nếu có);
13

c) Bảo đảm tính chính xác và sự thống nhất về nội dung của thông tin trên trang
thông tin điện tử;
d) Cập nhật thường xuyên và kịp thời thông tin trên trang thông tin điện tử;
đ) Thực hiện quy định của pháp luật về bảo vệ bí mật nhà nước.
2. Trang thông tin điện tử của cơ quan nhà nước phải có những thông tin chủ
yếu sau đây:
a) Tổ chức, chức năng, nhiệm vụ, quyền hạn của cơ quan đó và của từng đơn vị
trực thuộc;
b) Hệ thống văn bản quy phạm pháp luật chuyên ngành và văn bản pháp luật có
liên quan;
c) Quy trình, thủ tục hành chính được thực hiện bởi các đơn vị trực thuộc, tên
của người chịu trách nhiệm trong từng khâu thực hiện quy trình, thủ tục hành
chính, thời hạn giải quyết các thủ tục hành chính;
d) Thông tin tuyên truyền, phổ biến, hướng dẫn thực hiện pháp luật, chế độ,
chính sách, chiến lược, quy hoạch chuyên ngành;
đ) Danh mục địa chỉ thư điện tử chính thức của từng đơn vị trực thuộc và cán
bộ, công chức có thẩm quyền;
e) Thông tin về dự án, hạng mục đầu tư, đấu thầu, mua sắm công;
g) Danh mục các hoạt động trên môi trường mạng đang được cơ quan đó thực
hiện theo quy định tại khoản 1 Điều 27 của Luật này;
h) Mục lấy ý kiến góp ý của tổ chức, cá nhân.
3. Cơ quan nhà nước cung cấp miễn phí thông tin quy định tại khoản 2 Điều này.
Mục 3
ỨNG DỤNG CÔNG NGHỆ THÔNG TIN TRONG THƯƠNG MẠI
Điều 29. Nguyên tắc ứng dụng công nghệ thông tin trong thương mại
1. Tổ chức, cá nhân có quyền ứng dụng công nghệ thông tin trong thương mại.
2. Hoạt động thương mại trên môi trường mạng phải tuân thủ quy định của Luật
này, pháp luật về thương mại và pháp luật về giao dịch điện tử.
Điều 30. Trang thông tin điện tử bán hàng
1. Tổ chức, cá nhân có quyền thiết lập trang thông tin điện tử bán hàng theo quy
định của Luật này và các quy định khác của pháp luật có liên quan.
2. Trang thông tin điện tử bán hàng phải bảo đảm các yêu cầu chủ yếu sau đây:
a) Cung cấp đầy đủ, chính xác thông tin về hàng hóa, dịch vụ, điều kiện giao
dịch, thủ tục giải quyết tranh chấp và bồi thường thiệt hại;
b) Cung cấp cho người tiêu dùng thông tin về phương thức thanh toán an toàn và
tiện lợi trên môi trường mạng;
14

c) Công bố các trường hợp người tiêu dùng có quyền hủy bỏ, sửa đổi thỏa thuận
trên môi trường mạng.
3. Tổ chức, cá nhân sở hữu trang thông tin điện tử bán hàng chịu trách nhiệm về
nội dung thông tin cung cấp trên trang thông tin điện tử, thực hiện quy định của
Luật này và các quy định khác của pháp luật có liên quan về giao kết hợp đồng,
đặt hàng, thanh toán, quảng cáo, khuyến mại.
Điều 31. Cung cấp thông tin cho việc giao kết hợp đồng trên môi trường
mạng
1. Trừ trường hợp các bên liên quan có thoả thuận khác, tổ chức, cá nhân bán
hàng hóa, cung cấp dịch vụ phải cung cấp các thông tin sau đây cho việc giao
kết hợp đồng:
a) Trình tự thực hiện để tiến tới giao kết hợp đồng trên môi trường mạng;
b) Biện pháp kỹ thuật xác định và sửa đổi thông tin nhập sai;
c) Việc lưu trữ hồ sơ hợp đồng và cho phép truy nhập hồ sơ đó.
2. Khi đưa ra các thông tin về điều kiện hợp đồng cho người tiêu dùng, tổ chức,
cá nhân phải bảo đảm cho người tiêu dùng khả năng lưu trữ và tái tạo được các
thông tin đó.
Điều 32. Giải quyết hậu quả do lỗi nhập sai thông tin thương mại trên môi
trường mạng
Trường hợp người mua nhập sai thông tin gửi vào trang thông tin điện tử bán
hàng mà hệ thống nhập tin không cung cấp khả năng sửa đổi thông tin, người
mua có quyền đơn phương chấm dứt hợp đồng nếu đã thực hiện các biện pháp
sau đây:
1. Thông báo kịp thời cho người bán biết về thông tin nhập sai của mình và
người bán cũng đã xác nhận việc nhận được thông báo đó;
2. Trả lại hàng hoá đã nhận nhưng chưa sử dụng hoặc hưởng bất kỳ lợi ích nào
từ hàng hóa đó.
Điều 33. Thanh toán trên môi trường mạng
1. Nhà nước khuyến khích tổ chức, cá nhân thực hiện thanh toán trên môi trường
mạng theo quy định của pháp luật.
2. Điều kiện, quy trình, thủ tục thanh toán trên môi trường mạng do cơ quan nhà
nước có thẩm quyền quy định.
Mục 4
ỨNG DỤNG CÔNG NGHỆ THÔNG TIN TRONG MỘT SỐ LĨNH VỰC
Điều 34. Ứng dụng công nghệ thông tin trong lĩnh vực giáo dục và đào tạo
1. Nhà nước có chính sách khuyến khích ứng dụng công nghệ thông tin trong
việc dạy, học, tuyển sinh, đào tạo và các hoạt động khác trong lĩnh vực giáo dục
15

và đào tạo trên môi trường mạng.


2. Tổ chức, cá nhân tiến hành hoạt động giáo dục và đào tạo trên môi trường
mạng phải tuân thủ quy định của Luật này và quy định của pháp luật về giáo
dục.
3. Cơ quan nhà nước có thẩm quyền chịu trách nhiệm xây dựng, triển khai thực
hiện chương trình hỗ trợ tổ chức, cá nhân nhằm thúc đẩy ứng dụng công nghệ
thông tin trong giáo dục và đào tạo.
4. Bộ Giáo dục và Đào tạo quy định điều kiện hoạt động giáo dục và đào tạo,
công nhận giá trị pháp lý của văn bằng, chứng chỉ trong hoạt động giáo dục và
đào tạo trên môi trường mạng và thực hiện kiểm định chất lượng giáo dục và
đào tạo trên môi trường mạng.
Điều 35. Ứng dụng công nghệ thông tin trong lĩnh vực y tế
1. Nhà nước có chính sách khuyến khích ứng dụng công nghệ thông tin trong
lĩnh vực y tế.
2. Tổ chức, cá nhân tiến hành hoạt động y tế trên môi trường mạng phải tuân thủ
quy định của Luật này, pháp luật về y, dược và các quy định khác của pháp luật
có liên quan.
3. Bộ Y tế quy định cụ thể điều kiện hoạt động y tế trên môi trường mạng.
Điều 36. Ứng dụng công nghệ thông tin trong lĩnh vực văn hóa - thông tin
1. Nhà nước có chính sách khuyến khích ứng dụng công nghệ thông tin trong
việc số hóa sản phẩm văn hóa, lưu trữ, quảng bá sản phẩm văn hóa đã được số
hóa và các hoạt động khác trong lĩnh vực văn hóa.
2. Tổ chức, cá nhân tiến hành hoạt động văn hóa, báo chí trên môi trường mạng
phải tuân thủ quy định của Luật này và các quy định của pháp luật về báo chí,
văn hóa - thông tin.
3. Tổ chức, cá nhân được Nhà nước hỗ trợ kinh phí để thực hiện số hóa các sản
phẩm văn hóa có giá trị bảo tồn phải tuân thủ quy định của Chính phủ về điều
kiện thực hiện số hóa các sản phẩm văn hóa có giá trị bảo tồn.
4. Chính phủ quy định việc quản lý hoạt động giải trí trên môi trường mạng
nhằm bảo đảm yêu cầu sau đây:
a) Nội dung giải trí phải lành mạnh, có tính giáo dục, tính văn hóa, không trái
thuần phong mỹ tục của dân tộc;
b) Gắn trách nhiệm và quyền lợi của các đối tượng tham gia hoạt động giải trí
trên môi trường mạng với lợi ích chung của xã hội, cộng đồng;
c) Bảo đảm an toàn kỹ thuật và chất lượng dịch vụ;
d) Bảo đảm an ninh chính trị, trật tự, an toàn xã hội và ngăn chặn các loại tội
phạm phát sinh từ hoạt động này.
Điều 37. Ứng dụng công nghệ thông tin trong quốc phòng, an ninh và một
16

số lĩnh vực khác


Hoạt động ứng dụng công nghệ thông tin phục vụ quốc phòng, an ninh và một
số lĩnh vực khác được thực hiện theo quy định của Chính phủ.
Chương III: PHÁT TRIỂN CÔNG NGHỆ THÔNG TIN
Mục 1
NGHIÊN CỨU - PHÁT TRIỂN CÔNG NGHỆ THÔNG TIN
Điều 38. Khuyến khích nghiên cứu - phát triển công nghệ thông tin
1. Nhà nước khuyến khích tổ chức, cá nhân nghiên cứu - phát triển công nghệ,
sản phẩm công nghệ thông tin nhằm phát triển kinh tế - xã hội, bảo đảm quốc
phòng, an ninh, nâng cao đời sống vật chất, tinh thần của nhân dân.
2. Tổ chức, cá nhân nghiên cứu - phát triển công nghệ, sản phẩm công nghệ
thông tin để đổi mới quản lý kinh tế - xã hội, đổi mới công nghệ được hưởng ưu
đãi về thuế, tín dụng và các ưu đãi khác theo quy định của pháp luật.
3. Nhà nước tạo điều kiện để tổ chức, cá nhân hoạt động khoa học và công nghệ
chuyển giao kết quả nghiên cứu - phát triển công nghệ, sản phẩm công nghệ
thông tin để ứng dụng rộng rãi vào sản xuất và đời sống.
Điều 39. Cơ sở vật chất, kỹ thuật phục vụ cho hoạt động nghiên cứu - phát
triển công nghệ thông tin
Nhà nước huy động các nguồn vốn để đầu tư xây dựng cơ sở vật chất, kỹ thuật
của các tổ chức nghiên cứu - phát triển công nghệ thông tin; khuyến khích tổ
chức, cá nhân đầu tư xây dựng cơ sở vật chất, kỹ thuật phục vụ nghiên cứu -
phát triển công nghệ thông tin; đầu tư một số phòng thí nghiệm trọng điểm về
công nghệ thông tin đạt tiêu chuẩn quốc tế; ban hành quy chế sử dụng phòng thí
nghiệm trọng điểm về công nghệ thông tin.
Điều 40. Nghiên cứu - phát triển công nghệ, sản phẩm công nghệ thông tin
1. Nhà nước khuyến khích tổ chức, cá nhân tham gia nghiên cứu - phát triển
công nghệ, sản phẩm công nghệ thông tin.
2. Nhà nước ưu tiên dành một khoản từ ngân sách nhà nước cho các chương
trình, đề tài nghiên cứu - phát triển phần mềm; ưu tiên hoạt động nghiên cứu -
phát triển công nghệ thông tin ở trường đại học, viện nghiên cứu; phát triển các
mô hình gắn kết nghiên cứu, đào tạo với sản xuất về công nghệ thông tin.
3. Cơ quan quản lý nhà nước về công nghệ thông tin chủ trì, phối hợp với cơ
quan quản lý nhà nước về khoa học và công nghệ tổ chức tuyển chọn cơ sở
nghiên cứu, đào tạo, doanh nghiệp thực hiện nhiệm vụ nghiên cứu - phát triển
sản phẩm công nghệ thông tin trọng điểm.
Điều 41. Tiêu chuẩn, chất lượng trong hoạt động ứng dụng và phát triển
công nghệ thông tin
1. Việc quản lý tiêu chuẩn, chất lượng sản phẩm, dịch vụ công nghệ thông tin
17

được thực hiện theo quy định của pháp luật về tiêu chuẩn, chất lượng.
2. Khuyến khích tổ chức, cá nhân tham gia sản xuất, cung cấp sản phẩm, dịch vụ
công nghệ thông tin, công bố tiêu chuẩn cơ sở và phải bảo đảm sản phẩm, dịch
vụ của mình phù hợp với tiêu chuẩn đã công bố.
3. Chất lượng sản phẩm, dịch vụ công nghệ thông tin được quản lý thông qua
các hình thức sau đây:
a) Chứng nhận phù hợp tiêu chuẩn, quy chuẩn kỹ thuật;
b) Công bố phù hợp tiêu chuẩn, quy chuẩn kỹ thuật;
c) Kiểm định chất lượng.
4. Bộ Bưu chính, Viễn thông công bố sản phẩm, dịch vụ công nghệ thông tin cần
áp dụng tiêu chuẩn quốc gia hoặc tiêu chuẩn quốc tế; ban hành và công bố áp
dụng quy chuẩn kỹ thuật; quy định cụ thể về quản lý chất lượng sản phẩm, dịch
vụ công nghệ thông tin; quy định các điều kiện đối với cơ quan đo kiểm trong
nước và nước ngoài để phục vụ cho việc quản lý chất lượng sản phẩm, dịch vụ
công nghệ thông tin và công bố cơ quan đo kiểm về công nghệ thông tin có thẩm
quyền.
5. Việc thừa nhận lẫn nhau về đánh giá phù hợp tiêu chuẩn đối với sản phẩm
công nghệ thông tin giữa Cộng hòa xã hội chủ nghĩa Việt Nam với nước ngoài
và với tổ chức quốc tế được thực hiện theo quy định của điều ước quốc tế mà
Cộng hòa xã hội chủ nghĩa Việt Nam là thành viên.
Mục 2
PHÁT TRIỂN NGUỒN NHÂN LỰC CÔNG NGHỆ THÔNG TIN
Điều 42. Chính sách phát triển nguồn nhân lực công nghệ thông tin
1. Nhà nước có chính sách phát triển quy mô và tăng cường chất lượng đào tạo
nguồn nhân lực công nghệ thông tin.
2. Chương trình, dự án ưu tiên, trọng điểm của Nhà nước về ứng dụng và phát
triển công nghệ thông tin phải có hạng mục đào tạo nhân lực công nghệ thông
tin.
3. Tổ chức, cá nhân được khuyến khích thành lập cơ sở đào tạo nhân lực công
nghệ thông tin theo quy định của pháp luật.
4. Cơ sở đào tạo được hưởng ưu đãi trong hoạt động đào tạo về công nghệ thông
tin tương đương với doanh nghiệp sản xuất phần mềm.
5. Nhà nước có chính sách hỗ trợ giáo viên, sinh viên và học sinh trong hệ thống
giáo dục quốc dân truy nhập Internet tại các cơ sở giáo dục.
Điều 43. Chứng chỉ công nghệ thông tin
Bộ Bưu chính, Viễn thông chủ trì, phối hợp với Bộ Giáo dục và Đào tạo, Bộ Lao
động - Thương binh và Xã hội quy định điều kiện hoạt động đào tạo công nghệ
thông tin và cấp chứng chỉ công nghệ thông tin, việc công nhận chứng chỉ công
18

nghệ thông tin của tổ chức nước ngoài sử dụng ở Việt Nam.
Điều 44. Sử dụng nhân lực công nghệ thông tin
1. Người hoạt động chuyên trách về ứng dụng và phát triển công nghệ thông tin
trong các cơ quan nhà nước được hưởng chế độ ưu đãi về điều kiện làm việc.
2. Tiêu chuẩn ngành nghề, chức danh về công nghệ thông tin do cơ quan nhà
nước có thẩm quyền ban hành.
Điều 45. Người Việt Nam làm việc tại nước ngoài
1. Nhà nước khuyến khích tổ chức, cá nhân tìm kiếm và mở rộng thị trường lao
động nhằm tạo việc làm ở nước ngoài cho người lao động Việt Nam tham gia
các hoạt động về công nghệ thông tin theo quy định của pháp luật Việt Nam,
phù hợp với pháp luật của nước sở tại và điều ước quốc tế mà Cộng hòa xã hội
chủ nghĩa Việt Nam là thành viên.
2. Nhà nước có chính sách ưu đãi cho tổ chức, cá nhân nước ngoài, người Việt
Nam định cư ở nước ngoài tuyển dụng lao động trong nước để phát triển, sản
xuất, gia công sản phẩm công nghệ thông tin.
Điều 46. Phổ cập kiến thức công nghệ thông tin
1. Nhà nước có chính sách khuyến khích phổ cập kiến thức công nghệ thông tin
trong phạm vi cả nước.
2. Ủy ban nhân dân tỉnh, thành phố trực thuộc trung ương có trách nhiệm xây
dựng và triển khai các hoạt động phổ cập kiến thức công nghệ thông tin cho tổ
chức, cá nhân trong địa phương mình.
3. Bộ Giáo dục và Đào tạo có trách nhiệm xây dựng chương trình và tổ chức
thực hiện phổ cập kiến thức công nghệ thông tin trong hệ thống giáo dục quốc
dân.
4. Nhà nước có chính sách hỗ trợ việc học tập, phổ cập kiến thức công nghệ
thông tin đối với người tàn tật, người nghèo, người dân tộc thiểu số và các đối
tượng ưu tiên khác phù hợp với yêu cầu phát triển trong từng thời kỳ theo quy
định của Chính phủ.
Mục 3
PHÁT TRIỂN CÔNG NGHIỆP CÔNG NGHỆ THÔNG TIN
Điều 47. Loại hình công nghiệp công nghệ thông tin
1. Công nghiệp phần cứng là công nghiệp sản xuất các sản phẩm phần cứng, bao
gồm phụ tùng, linh kiện, thiết bị số.
2. Công nghiệp phần mềm là công nghiệp sản xuất các sản phẩm phần mềm, bao
gồm phần mềm hệ thống, phần mềm ứng dụng, phần mềm điều khiển, tự động
hóa và các sản phẩm tương tự khác; cung cấp các giải pháp cài đặt, bảo trì,
hướng dẫn sử dụng.
3. Công nghiệp nội dung là công nghiệp sản xuất các sản phẩm thông tin số, bao
19

gồm thông tin kinh tế - xã hội, thông tin khoa học - giáo dục, thông tin văn hóa -
giải trí trên môi trường mạng và các sản phẩm tương tự khác.
Điều 48. Chính sách phát triển công nghiệp công nghệ thông tin
1. Nhà nước có chính sách ưu đãi, ưu tiên đầu tư phát triển công nghiệp công
nghệ thông tin, đặc biệt chú trọng công nghiệp phần mềm và công nghiệp nội
dung để trở thành một ngành kinh tế trọng điểm trong nền kinh tế quốc dân.
2. Nhà nước khuyến khích các nhà đầu tư tham gia hoạt động đầu tư mạo hiểm
vào lĩnh vực công nghiệp công nghệ thông tin, đầu tư phát triển và cung cấp
thiết bị số giá rẻ.
3. Chính phủ quy định cụ thể mức ưu đãi, ưu tiên và các điều kiện khác cho phát
triển công nghiệp công nghệ thông tin.
Điều 49. Phát triển thị trường công nghiệp công nghệ thông tin
Cơ quan nhà nước có thẩm quyền ban hành quy định và tổ chức thực hiện các
hoạt động phát triển thị trường công nghiệp công nghệ thông tin, bao gồm:
1. Thúc đẩy ứng dụng công nghệ thông tin; ưu tiên sử dụng nguồn vốn ngân
sách nhà nước để mua sắm, sử dụng các sản phẩm công nghệ thông tin được sản
xuất trong nước;
2. Xúc tiến thương mại, tổ chức triển lãm, hội chợ trong nước, hỗ trợ các doanh
nghiệp tham gia triển lãm, hội chợ quốc tế, quảng bá, tiếp thị hình ảnh công
nghiệp công nghệ thông tin của Việt Nam trên thế giới;
3. Phương pháp định giá phần mềm phục vụ cho việc quản lý các dự án ứng
dụng và phát triển công nghệ thông tin.
Điều 50. Sản phẩm công nghệ thông tin trọng điểm
1. Sản phẩm công nghệ thông tin trọng điểm là sản phẩm công nghệ thông tin
bảo đảm được một trong những yêu cầu sau đây:
a) Thị trường trong nước có nhu cầu lớn và tạo giá trị gia tăng cao;
b) Có tiềm năng xuất khẩu;
c) Có tác động tích cực về đổi mới công nghệ và hiệu quả kinh tế đối với các
ngành kinh tế khác;
d) Đáp ứng được yêu cầu về quốc phòng, an ninh.
2. Bộ Bưu chính, Viễn thông công bố danh mục và xây dựng chương trình phát
triển các sản phẩm công nghệ thông tin trọng điểm trong từng thời kỳ phù hợp
với quy hoạch phát triển công nghiệp công nghệ thông tin.
3. Các sản phẩm công nghệ thông tin thuộc danh mục sản phẩm công nghệ
thông tin trọng điểm quy định tại khoản 2 Điều này được Nhà nước ưu tiên đầu
tư nghiên cứu - phát triển, sản xuất.
4. Tổ chức, cá nhân tham gia nghiên cứu - phát triển, sản xuất sản phẩm công
20

nghệ thông tin trọng điểm được hưởng ưu đãi theo quy định của Chính phủ;
được Nhà nước ưu tiên đầu tư và được hưởng một phần tiền bản quyền đối với
sản phẩm công nghệ thông tin trọng điểm do Nhà nước đầu tư.
5. Tổ chức, cá nhân tham gia nghiên cứu - phát triển, sản xuất sản phẩm công
nghệ thông tin trọng điểm do Nhà nước đầu tư phải đáp ứng các điều kiện do cơ
quan nhà nước có thẩm quyền quy định; không được chuyển giao, chuyển
nhượng công nghệ, giải pháp phát triển sản phẩm công nghệ thông tin trọng
điểm do Nhà nước đầu tư khi chưa có sự đồng ý của cơ quan nhà nước có thẩm
quyền; chịu sự kiểm tra, kiểm soát, tuân thủ chế độ báo cáo theo quy định của cơ
quan nhà nước có thẩm quyền về hoạt động nghiên cứu - phát triển, sản xuất và
xúc tiến thương mại các sản phẩm công nghệ thông tin trọng điểm.
Điều 51. Khu công nghệ thông tin tập trung
1. Khu công nghệ thông tin tập trung là loại hình khu công nghệ cao, tập trung
hoặc liên kết cơ sở nghiên cứu - phát triển, sản xuất, kinh doanh, đào tạo về
công nghệ thông tin. Tổ chức, cá nhân đầu tư và hoạt động trong khu công nghệ
thông tin tập trung được hưởng các chính sách ưu đãi của Nhà nước áp dụng đối
với khu công nghệ cao.
2. Khuyến khích tổ chức, cá nhân trong nước và nước ngoài đầu tư, xây dựng
khu công nghệ thông tin tập trung theo quy hoạch của Chính phủ.
Mục 4
PHÁT TRIỂN DỊCH VỤ CÔNG NGHỆ THÔNG TIN
Điều 52. Loại hình dịch vụ công nghệ thông tin
1. Điều tra, khảo sát, nghiên cứu thị trường về công nghệ thông tin.
2. Tư vấn, phân tích, lập kế hoạch, phân loại, thiết kế trong lĩnh vực công nghệ
thông tin.
3. Tích hợp hệ thống, chạy thử, dịch vụ quản lý ứng dụng, cập nhật, bảo mật.
4. Thiết kế, lưu trữ, duy trì trang thông tin điện tử.
5. Bảo hành, bảo trì, bảo đảm an toàn mạng và thông tin.
6. Cập nhật, tìm kiếm, lưu trữ, xử lý dữ liệu và khai thác cơ sở dữ liệu.
7. Phân phối sản phẩm công nghệ thông tin.
8. Đào tạo công nghệ thông tin.
9. Chứng thực chữ ký điện tử.
10. Dịch vụ khác.
Điều 53. Chính sách phát triển dịch vụ công nghệ thông tin
1. Nhà nước có chính sách khuyến khích phát triển dịch vụ công nghệ thông tin.
2. Chính phủ quy định cụ thể chế độ ưu đãi và các điều kiện khác cho một số
loại hình dịch vụ công nghệ thông tin.
21

Chương IV: BIỆN PHÁP BẢO ĐẢM ỨNG DỤNG VÀ PHÁT TRIỂN
CÔNG NGHỆ THÔNG TIN
Mục 1
CƠ SỞ HẠ TẦNG THÔNG TIN PHỤC VỤ ỨNG DỤNG VÀ PHÁT
TRIỂN CÔNG NGHỆ THÔNG TIN
Điều 54. Nguyên tắc phát triển cơ sở hạ tầng thông tin
1. Cơ sở hạ tầng thông tin phải được phát triển để bảo đảm chất lượng và đa
dạng các loại hình dịch vụ nhằm đáp ứng yêu cầu ứng dụng và phát triển công
nghệ thông tin.
2. Cơ quan nhà nước có thẩm quyền chịu trách nhiệm bảo đảm sự phát triển cơ
sở hạ tầng thông tin phù hợp với yêu cầu phát triển kinh tế - xã hội; tạo điều kiện
để các thành phần kinh tế sử dụng cơ sở hạ tầng thông tin trong môi trường cạnh
tranh lành mạnh, bình đẳng, minh bạch; có biện pháp đồng bộ để ngăn chặn
những hành vi lợi dụng cơ sở hạ tầng thông tin vi phạm quy định Điều 12 của
Luật này.
Điều 55. Bảo đảm cơ sở hạ tầng thông tin phục vụ việc ứng dụng và phát
triển công nghệ thông tin
1. Nhà nước có chính sách phát triển cơ sở hạ tầng thông tin quốc gia rộng khắp,
có thông lượng lớn, tốc độ và chất lượng cao, giá cước cạnh tranh so với các
nước trong khu vực; khuyến khích tổ chức, cá nhân cùng đầu tư, sử dụng chung
cơ sở hạ tầng thông tin.
2. Điểm truy nhập Internet công cộng được ưu tiên đặt tại bưu cục, điểm bưu
điện văn hóa xã, nhà ga, bến xe, cảng biển, cảng hàng không, cửa khẩu, khu dân
cư, bệnh viện, trường học, siêu thị, trung tâm văn hóa, thể thao để phục vụ nhu
cầu của tổ chức, cá nhân.
Điều 56. Cơ sở hạ tầng thông tin phục vụ cơ quan nhà nước
1. Cơ sở hạ tầng thông tin phục vụ cơ quan nhà nước từ trung ương đến địa
phương được thống nhất xây dựng và quản lý theo quy định của Chính phủ.
2. Kinh phí đầu tư, xây dựng, khai thác, bảo trì cơ sở hạ tầng thông tin phục vụ
cơ quan nhà nước lấy từ ngân sách nhà nước và các nguồn khác.
Điều 57. Cơ sở hạ tầng thông tin phục vụ công ích
1. Nhà nước có chính sách ưu tiên vốn đầu tư và có cơ chế hỗ trợ tài chính cho
việc xây dựng và sử dụng cơ sở hạ tầng thông tin phục vụ công ích và thu hẹp
khoảng cách số.
2. Cơ quan quản lý nhà nước về công nghệ thông tin các cấp chịu trách nhiệm tổ
chức thực hiện các chương trình, dự án thu hẹp khoảng cách số, bao gồm:
a) Lắp đặt hệ thống máy tính và truy nhập Internet tại trường học, điểm công
cộng trên phạm vi toàn quốc;
22

b) Phát triển đội ngũ hướng dẫn sử dụng máy tính và truy nhập Internet;
c) Thu hẹp khoảng cách số giữa các vùng, miền.
Điều 58. Cơ sở dữ liệu quốc gia
1. Cơ sở dữ liệu quốc gia là tập hợp thông tin của một hoặc một số lĩnh vực kinh
tế - xã hội được xây dựng, cập nhật và duy trì đáp ứng yêu cầu truy nhập và sử
dụng thông tin của các ngành kinh tế và phục vụ lợi ích công cộng.
2. Tổ chức, cá nhân có quyền truy nhập và sử dụng thông tin trong cơ sở dữ liệu
quốc gia, trừ trường hợp pháp luật có quy định khác.
3. Nhà nước bảo đảm một phần hoặc toàn bộ kinh phí xây dựng và duy trì cơ sở
dữ liệu quốc gia.
4. Chính phủ quy định danh mục cơ sở dữ liệu quốc gia; xây dựng, cập nhật và
duy trì cơ sở dữ liệu quốc gia; ban hành quy chế khai thác, sử dụng cơ sở dữ liệu
quốc gia.
Điều 59. Cơ sở dữ liệu của bộ, ngành, địa phương
1. Cơ sở dữ liệu của bộ, ngành, địa phương là tập hợp thông tin được xây dựng,
cập nhật và duy trì đáp ứng yêu cầu truy nhập, sử dụng thông tin của mình và
phục vụ lợi ích công cộng.
2. Tổ chức, cá nhân có quyền truy nhập và sử dụng thông tin trong cơ sở dữ liệu
của bộ, ngành, địa phương, trừ trường hợp pháp luật có quy định khác.
3. Nhà nước bảo đảm một phần hoặc toàn bộ kinh phí xây dựng và duy trì cơ sở
dữ liệu của bộ, ngành, địa phương.
4. Bộ, cơ quan ngang bộ, cơ quan thuộc Chính phủ, Uỷ ban nhân dân tỉnh, thành
phố trực thuộc trung ương quy định danh mục cơ sở dữ liệu; xây dựng, cập nhật
và duy trì cơ sở dữ liệu; ban hành quy chế khai thác, sử dụng cơ sở dữ liệu của
bộ, ngành, địa phương mình.
Điều 60. Bảo vệ cơ sở hạ tầng thông tin
1. Cơ sở hạ tầng thông tin quốc gia phải được bảo vệ. Ủy ban nhân dân các cấp,
lực lượng vũ trang nhân dân và tổ chức, cá nhân quản lý, khai thác cơ sở hạ tầng
thông tin có trách nhiệm phối hợp bảo vệ an toàn cơ sở hạ tầng thông tin quốc
gia.
2. Tổ chức, cá nhân có trách nhiệm bảo đảm an toàn cơ sở hạ tầng thông tin
thuộc thẩm quyền quản lý; chịu sự quản lý, thanh tra, kiểm tra và thực hiện các
yêu cầu về bảo đảm an toàn cơ sở hạ tầng thông tin và an ninh thông tin của các
cơ quan nhà nước có thẩm quyền.
3. Tổ chức, cá nhân quản lý, khai thác cơ sở hạ tầng thông tin có trách nhiệm tạo
điều kiện làm việc, kỹ thuật, nghiệp vụ cần thiết để các cơ quan nhà nước có
thẩm quyền thực hiện nhiệm vụ kiểm soát và bảo đảm an ninh thông tin khi có
yêu cầu.
23

Mục 2
ĐẦU TƯ CHO CÔNG NGHỆ THÔNG TIN
Điều 61. Đầu tư của tổ chức, cá nhân cho công nghệ thông tin
1. Nhà nước khuyến khích tổ chức, cá nhân đầu tư cho hoạt động ứng dụng công
nghệ thông tin để đổi mới quản lý kinh tế - xã hội, đổi mới công nghệ và nâng
cao sức cạnh tranh của sản phẩm.
2. Nhà nước khuyến khích và bảo vệ quyền, lợi ích hợp pháp của tổ chức, cá
nhân trong nước, người Việt Nam định cư ở nước ngoài, tổ chức, cá nhân nước
ngoài đầu tư cho công nghệ thông tin.
3. Các khoản đầu tư của doanh nghiệp cho ứng dụng và phát triển công nghệ
thông tin và các chi phí sau đây của doanh nghiệp được trừ khi tính thu nhập
chịu thuế theo Luật thuế thu nhập doanh nghiệp:
a) Mở trường, lớp đào tạo công nghệ thông tin tại doanh nghiệp;
b) Cử người đi đào tạo, tiếp thu công nghệ mới phục vụ cho nhu cầu ứng dụng
và phát triển công nghệ thông tin của doanh nghiệp.
Điều 62. Đầu tư của Nhà nước cho công nghệ thông tin
1. Đầu tư cho công nghệ thông tin là đầu tư phát triển.
2. Nhà nước ưu tiên bố trí ngân sách cho công nghệ thông tin, bảo đảm tỷ lệ tăng
chi ngân sách cho công nghệ thông tin hằng năm cao hơn tỷ lệ tăng chi ngân
sách nhà nước. Ngân sách cho công nghệ thông tin phải được quản lý, sử dụng
có hiệu quả.
3. Chính phủ ban hành quy chế quản lý đầu tư phù hợp đối với các dự án ứng
dụng công nghệ thông tin sử dụng vốn đầu tư có nguồn gốc từ ngân sách nhà
nước.
4. Trong Mục lục ngân sách nhà nước có loại chi riêng về công nghệ thông tin.
Điều 63. Đầu tư cho sự nghiệp ứng dụng và phát triển công nghệ thông tin
1. Ngân sách nhà nước chi cho sự nghiệp ứng dụng và phát triển công nghệ
thông tin được sử dụng vào các mục đích sau đây:
a) Phổ cập ứng dụng công nghệ thông tin, hỗ trợ dự án ứng dụng công nghệ
thông tin có hiệu quả;
b) Phát triển nguồn thông tin số;
c) Xây dựng cơ sở dữ liệu quốc gia, cơ sở dữ liệu của bộ, ngành, địa phương;
d) Xây dựng cơ sở hạ tầng thông tin phục vụ công ích và cơ quan nhà nước;
đ) Điều tra, nghiên cứu, xây dựng, thử nghiệm, áp dụng tiến bộ khoa học - kỹ
thuật về công nghệ thông tin, cơ chế, chính sách, chiến lược, quy hoạch, kế
hoạch, tiêu chuẩn, quy chuẩn kỹ thuật, định mức kinh tế - kỹ thuật, mô hình ứng
dụng và phát triển công nghệ thông tin;
24

e) Phát triển nguồn nhân lực công nghệ thông tin;


g) Tuyên truyền, phổ biến, giáo dục pháp luật về công nghệ thông tin, đào tạo,
tập huấn chuyên môn, quản lý về công nghệ thông tin;
h) Trao giải thưởng công nghệ thông tin;
i) Các hoạt động khác cho sự nghiệp ứng dụng và phát triển công nghệ thông tin.
2. Hằng năm, Bộ Bưu chính, Viễn thông chịu trách nhiệm tổng hợp dự toán kinh
phí chi cho sự nghiệp ứng dụng và phát triển công nghệ thông tin quy định tại
khoản 1 Điều này của các bộ, cơ quan ngang bộ, cơ quan thuộc Chính phủ và
của tỉnh, thành phố trực thuộc trung ương để Chính phủ trình Quốc hội.
Điều 64. Đầu tư và phát triển công nghệ thông tin phục vụ nông nghiệp và
nông thôn
1. Thu hút mọi nguồn lực để đầu tư xây dựng cơ sở hạ tầng thông tin, đẩy nhanh
quá trình hiện đại hoá nông thôn, miền núi, hải đảo.
2. Tạo điều kiện thuận lợi cho nhân dân ở vùng sâu, vùng xa, vùng có đồng bào
dân tộc thiểu số, vùng có điều kiện kinh tế - xã hội khó khăn, vùng có điều kiện
kinh tế - xã hội đặc biệt khó khăn ứng dụng công nghệ thông tin để phục vụ sản
xuất và đời sống.
3. Tổ chức, cá nhân hoạt động ứng dụng và phát triển công nghệ thông tin tại
vùng sâu, vùng xa, vùng có đồng bào dân tộc thiểu số, vùng có điều kiện kinh tế
- xã hội khó khăn, vùng có điều kiện kinh tế - xã hội đặc biệt khó khăn được
hưởng các chính sách ưu đãi về đầu tư, tài chính và các ưu đãi khác theo quy
định của pháp luật.
4. Hoạt động ứng dụng và cung cấp dịch vụ công nghệ thông tin phục vụ mục
tiêu khuyến nông, khuyến lâm, khuyến ngư, đánh bắt xa bờ được Nhà nước hỗ
trợ một phần kinh phí.
Mục 3
HỢP TÁC QUỐC TẾ VỀ CÔNG NGHỆ THÔNG TIN
Điều 65. Nguyên tắc hợp tác quốc tế về công nghệ thông tin
Tổ chức, cá nhân Việt Nam hợp tác về công nghệ thông tin với tổ chức, cá nhân
nước ngoài, tổ chức quốc tế theo nguyên tắc tôn trọng độc lập, chủ quyền quốc
gia, không can thiệp vào công việc nội bộ của nhau, bình đẳng và cùng có lợi.
Điều 66. Nội dung hợp tác quốc tế về công nghệ thông tin
1. Phân tích xu hướng quốc tế về công nghệ thông tin, quy mô và triển vọng
phát triển thị trường nước ngoài và xây dựng chiến lược phát triển thị trường
công nghệ thông tin ở nước ngoài.
2. Quảng bá thông tin về định hướng, chính sách ứng dụng và phát triển công
nghệ thông tin của Việt Nam và của các nước trên thế giới.
3. Xây dựng cơ chế, chính sách đẩy mạnh hợp tác giữa tổ chức, cá nhân Việt
25

Nam với tổ chức, cá nhân nước ngoài, tổ chức quốc tế hoạt động trong lĩnh vực
công nghệ thông tin.
4. Thực hiện chương trình, dự án hợp tác quốc tế về công nghệ thông tin.
5. Phát triển thị trường công nghệ thông tin ở nước ngoài, giới thiệu sản phẩm
công nghệ thông tin Việt Nam qua các triển lãm quốc tế, tiếp cận với khách
hàng tiềm năng.
6. Tổ chức hội thảo, hội nghị và diễn đàn quốc tế về công nghệ thông tin.
7. Ký kết, gia nhập và thực hiện các điều ước quốc tế song phương, đa phương
và tham gia tổ chức khu vực, tổ chức quốc tế về công nghệ thông tin.
8. Tiếp thu công nghệ của nước ngoài chuyển giao vào Việt Nam.
Mục 4
BẢO VỆ QUYỀN, LỢI ÍCH HỢP PHÁP VÀ HỖ TRỢ NGƯỜI SỬ DỤNG
SẢN PHẨM, DỊCH VỤ CÔNG NGHỆ THÔNG TIN
Điều 67. Trách nhiệm bảo vệ quyền, lợi ích hợp pháp của người sử dụng
sản phẩm, dịch vụ công nghệ thông tin
Nhà nước và xã hội thực hiện các biện pháp phòng, chống các hành vi xâm hại
quyền, lợi ích hợp pháp của người sử dụng sản phẩm, dịch vụ công nghệ thông
tin. Quyền, lợi ích hợp pháp của người sử dụng sản phẩm, dịch vụ công nghệ
thông tin được bảo vệ theo quy định của pháp luật.
Điều 68. Bảo vệ tên miền quốc gia Việt Nam ".vn"
1. Tên miền quốc gia Việt Nam ".vn" và tên miền cấp dưới của tên miền quốc
gia Việt Nam ".vn" là một phần của tài nguyên thông tin quốc gia, có giá trị sử
dụng như nhau và phải được quản lý, khai thác, sử dụng đúng mục đích, có hiệu
quả.
Nhà nước khuyến khích tổ chức, cá nhân đăng ký và sử dụng tên miền quốc gia
Việt Nam ".vn". Tên miền đăng ký phải thể hiện tính nghiêm túc để tránh gây sự
hiểu nhầm hoặc xuyên tạc do tính đa âm, đa nghĩa hoặc khi không dùng dấu
trong tiếng Việt.
2. Tên miền quốc gia Việt Nam ".vn" dành cho tổ chức Đảng, cơ quan nhà nước
phải được bảo vệ và không được xâm phạm.
3. Tổ chức, cá nhân đăng ký sử dụng tên miền quốc gia Việt Nam ".vn" phải
chịu trách nhiệm trước pháp luật về mục đích sử dụng và tính chính xác của các
thông tin đăng ký và bảo đảm việc đăng ký, sử dụng tên miền quốc gia Việt
Nam ".vn" không xâm phạm các quyền, lợi ích hợp pháp của tổ chức, cá nhân
khác có trước ngày đăng ký.
4. Bộ Bưu chính, Viễn thông quy định việc đăng ký, quản lý, sử dụng và giải
quyết tranh chấp tên miền quốc gia Việt Nam ".vn".
Điều 69. Bảo vệ quyền sở hữu trí tuệ trong lĩnh vực công nghệ thông tin
26

Việc bảo vệ quyền sở hữu trí tuệ trong lĩnh vực công nghệ thông tin phải thực
hiện theo quy định của pháp luật về sở hữu trí tuệ và các quy định sau đây:
1. Tổ chức, cá nhân truyền đưa thông tin trên môi trường mạng có quyền tạo ra
bản sao tạm thời một tác phẩm được bảo hộ do yêu cầu kỹ thuật của hoạt động
truyền đưa thông tin và bản sao tạm thời được lưu trữ trong khoảng thời gian đủ
để thực hiện việc truyền đưa thông tin;
2. Người sử dụng hợp pháp phần mềm được bảo hộ có quyền sao chép phần
mềm đó để lưu trữ dự phòng và thay thế phần mềm bị phá hỏng mà không phải
xin phép, không phải trả tiền bản quyền.
Điều 70. Chống thư rác
1. Tổ chức, cá nhân không được che giấu tên của mình hoặc giả mạo tên của tổ
chức, cá nhân khác khi gửi thông tin trên môi trường mạng.
2. Tổ chức, cá nhân gửi thông tin quảng cáo trên môi trường mạng phải bảo đảm
cho người tiêu dùng khả năng từ chối nhận thông tin quảng cáo.
3. Tổ chức, cá nhân không được tiếp tục gửi thông tin quảng cáo trên môi trường
mạng đến người tiêu dùng nếu người tiêu dùng đó thông báo không đồng ý nhận
thông tin quảng cáo.
Điều 71. Chống vi rút máy tính và phần mềm gây hại
Tổ chức, cá nhân không được tạo ra, cài đặt, phát tán vi rút máy tính, phần mềm
gây hại vào thiết bị số của người khác để thực hiện một trong những hành vi sau
đây:
1. Thay đổi các tham số cài đặt của thiết bị số;
2. Thu thập thông tin của người khác;
3. Xóa bỏ, làm mất tác dụng của các phần mềm bảo đảm an toàn, an ninh thông
tin được cài đặt trên thiết bị số;
4. Ngăn chặn khả năng của người sử dụng xóa bỏ hoặc hạn chế sử dụng những
phần mềm không cần thiết;
5. Chiếm đoạt quyền điều khiển thiết bị số;
6. Thay đổi, xóa bỏ thông tin lưu trữ trên thiết bị số;
7. Các hành vi khác xâm hại quyền, lợi ích hợp pháp của người sử dụng.
Điều 72. Bảo đảm an toàn, bí mật thông tin
1. Thông tin riêng hợp pháp của tổ chức, cá nhân trao đổi, truyền đưa, lưu trữ
trên môi trường mạng được bảo đảm bí mật theo quy định của pháp luật.
2. Tổ chức, cá nhân không được thực hiện một trong những hành vi sau đây:
a) Xâm nhập, sửa đổi, xóa bỏ nội dung thông tin của tổ chức, cá nhân khác trên
môi trường mạng;
b) Cản trở hoạt động cung cấp dịch vụ của hệ thống thông tin;
27

c) Ngăn chặn việc truy nhập đến thông tin của tổ chức, cá nhân khác trên môi
trường mạng, trừ trường hợp pháp luật cho phép;
d) Bẻ khóa, trộm cắp, sử dụng mật khẩu, khóa mật mã và thông tin của tổ chức,
cá nhân khác trên môi trường mạng;
đ) Hành vi khác làm mất an toàn, bí mật thông tin của tổ chức, cá nhân khác
được trao đổi, truyền đưa, lưu trữ trên môi trường mạng.
Điều 73. Trách nhiệm bảo vệ trẻ em
1. Nhà nước, xã hội và nhà trường có trách nhiệm sau đây:
a) Bảo vệ trẻ em không bị tác động tiêu cực của thông tin trên môi trường mạng;
b) Tiến hành các biện pháp phòng, chống các ứng dụng công nghệ thông tin có
nội dung kích động bạo lực và khiêu dâm.
2. Gia đình có trách nhiệm ngăn chặn trẻ em truy nhập thông tin không có lợi
cho trẻ em.
3. Cơ quan nhà nước có thẩm quyền tiến hành những biện pháp sau đây để ngăn
ngừa trẻ em truy nhập thông tin không có lợi trên môi trường mạng:
a) Tổ chức xây dựng và phổ biến sử dụng phần mềm lọc nội dung;
b) Tổ chức xây dựng và phổ biến công cụ ngăn chặn trẻ em truy nhập thông tin
không có lợi cho trẻ em;
c) Hướng dẫn thiết lập và quản lý trang thông tin điện tử dành cho trẻ em nhằm
mục đích thúc đẩy việc thiết lập các trang thông tin điện tử có nội dung thông tin
phù hợp với trẻ em, không gây hại cho trẻ em; tăng cường khả năng quản lý nội
dung thông tin trên môi trường mạng phù hợp với trẻ em, không gây hại cho trẻ
em.
4. Nhà cung cấp dịch vụ có biện pháp ngăn ngừa trẻ em truy nhập trên môi
trường mạng thông tin không có lợi đối với trẻ em.
5. Sản phẩm, dịch vụ công nghệ thông tin mang nội dung không có lợi cho trẻ
em phải có dấu hiệu cảnh báo.
Điều 74. Hỗ trợ người tàn tật
1. Nhà nước khuyến khích và tạo điều kiện thuận lợi cho người tàn tật tham gia
hoạt động ứng dụng và phát triển công nghệ thông tin, phát triển năng lực làm
việc của người tàn tật thông qua ứng dụng và phát triển công nghệ thông tin; có
chính sách ưu tiên cho người tàn tật tham gia các chương trình giáo dục và đào
tạo về công nghệ thông tin.
2. Chiến lược, kế hoạch, chính sách phát triển công nghệ thông tin quốc gia phải
có nội dung hỗ trợ, bảo đảm cho người tàn tật hòa nhập với cộng đồng.
3. Nhà nước có chính sách ưu đãi về thuế, tín dụng và ưu đãi khác cho hoạt động
sau đây:
28

a) Nghiên cứu - phát triển các công cụ và ứng dụng nhằm nâng cao khả năng của
người tàn tật trong việc truy nhập, sử dụng các nguồn thông tin và tri thức thông
qua sử dụng máy tính và cơ sở hạ tầng thông tin;
b) Sản xuất, cung cấp công nghệ, thiết bị, dịch vụ, ứng dụng công nghệ thông tin
và nội dung thông tin số đáp ứng nhu cầu đặc biệt của người tàn tật.
Chương V: GIẢI QUYẾT TRANH CHẤP VÀ XỬ LÝ VI PHẠM
Điều 75. Giải quyết tranh chấp về công nghệ thông tin
1. Tranh chấp về công nghệ thông tin là tranh chấp phát sinh trong hoạt động
ứng dụng và phát triển công nghệ thông tin.
2. Khuyến khích các bên giải quyết tranh chấp về công nghệ thông tin thông qua
hòa giải; trong trường hợp các bên không hòa giải được thì giải quyết theo quy
định của pháp luật.
Điều 76. Hình thức giải quyết tranh chấp về đăng ký, sử dụng tên miền
quốc gia Việt Nam ".vn"
Tranh chấp về đăng ký, sử dụng tên miền quốc gia Việt Nam ".vn" được giải
quyết theo các hình thức sau đây:
1. Thông qua thương lượng, hòa giải;
2. Thông qua trọng tài;
3. Khởi kiện tại Tòa án.
Điều 77. Xử lý vi phạm pháp luật về công nghệ thông tin
1. Cá nhân có hành vi vi phạm pháp luật về công nghệ thông tin thì tùy theo tính
chất, mức độ vi phạm mà bị xử lý kỷ luật, xử phạt hành chính hoặc bị truy cứu
trách nhiệm hình sự, nếu gây thiệt hại thì phải bồi thường theo quy định của
pháp luật.
2. Tổ chức có hành vi vi phạm pháp luật về công nghệ thông tin thì tùy theo tính
chất, mức độ vi phạm mà bị xử phạt hành chính, đình chỉ hoạt động, nếu gây
thiệt hại thì phải bồi thường theo quy định của pháp luật.
Chương VI: ĐIỀU KHOẢN THI HÀNH
Điều 78. Hiệu lực thi hành
Luật này có hiệu lực thi hành từ ngày 01 tháng 01 năm 2007.
Điều 79. Hướng dẫn thi hành
Chính phủ quy định chi tiết và hướng dẫn thi hành Luật này.
2. KIẾN TRÚC MÁY TÍNH
1. Máy tính và kiến trúc máy tính
1.1. Mở đầu
29

Máy tính được cấu thành từ các mạch điện tử tích hợp (integrated circuits – IC)
rất phức tạp liên kết với nhau qua hệ thống kênh truyền dẫn được gọi là hệ thống
BUS. Các khối chức năng cơ bản được xây dựng với công nghệ tích hợp mật độ
lớn gồm đơn vị xử lý trung tâm (CPU – Central Proccessing Unit), khối tạo
xung nhịp (Clock), bộ nhớ (Memorry) và các chip tạo các cổng (Port Chips)
ghép nối thiết bị ngoại vi như minh hoạ trên Hình .1

Hình 1.
Hệ thống máy tính.

CPU được xây dựng từ các mạch điện tử phức tạp, có khả năng thực thi tất cả
các lệnh trong tập lệnh được mô phỏng trước. Bộ nhớ được xây dựng từ các chip
nhớ, có khả năng lưu giữ các lệnh của chương trình và dữ liệu. Các chip tạo
cổng điều khiển việc truy xuất đến các thiết bị ngoại vi như bàn phím
(Keyboard), chuột (Mouse), màn hình (Monitor), máy in Printer), các ổ đĩa
(Disk Drivers). CPU chỉ truy xuất dữ liệu đến từ (input) và đi ra (output) thiết bị
ngoại vi thông qua các chip tạo cổng
Cấu trúc chức năng của máy tính được mô phỏng trên Hình 1, Hệ điều hành và
Ngôn ngữ lập trình bậc cao điều khiển hoạt động của các mạch điện tử trong
máy tính. Khi cấp nguồn, chương trình khởi tạo hệ thống sẽ nạp hệ điều hành
(boot hệ thống), ngôn ngữ lập trình sẽ được tải vào bộ nhớ nhờ hệ điều hành.
Ở mức trên cùng, máy tính có thể thực thi các chương trình ứng dụng. Các
chương trình ứng dụng được sử dụng nhiều như tạo các bảng tính, tạo văn bản,
các bản vẽ, …, được viết bằng các ngôn ngữ lập trình khác nhau như C, C++,
hoặc là liên kết giữa các ngôn ngữ. Người ta sử dụng ngôn ngữ lập trình trong
30

mối liên kết với hệ điều hành để điều khiển hoạt động chức năng của phần cứng.
Ngôn ngữ máy là ngôn ngữ duy nhất bao gồm các chỉ lệnh (Instruction) mà
phần cứng có thể hiểu và thực thi, được tạo ra từ các tổ hợp các số biểu diễn
theo hệ nhị phân. Các mã nhị phân này được gọi là mã lệnh, chúng tạo nên tập
lệnh của CPU, giá trị “0” hoặc “1” làm nhiệm vụ “ngắt” hoặc “đóng” dòng điện
để điều khiển hoạt động của các phần tử logic trong mạch điện. Cần hiểu rằng,
tất cả các CPU đều làm việc với mã máy.
Một khi sử dụng ngôn ngữ lập trình bậc cao, sử dụng các phát biểu (Statements),
các chương trình dịch (Compiler) sẽ chuyển đổi (dịch) chúng ra mã máy để CPU
hiểu và thực hiện.
Mặc dù vậy, vẫn có thể nói máy tính bao giờ cũng được cấu thành từ các khối
chức năng chính sau:
1. Bộ nhớ trung tâm (Central Memory hoặc Main Memory). Bộ nhớ
trung tâm là nơi lưu giữ chương trình và dữ liệu trước khi chương
trình được thực hiện.
2. Đơn vị điều khiển (CU - Control Unit), điều khiển mọi hoạt động
của tất cả các thành phần trong hệ thống máy tính theo chương trình
mà máy tính cần thực hiện.
3. Đơn vị số học và Logic (ALU – Arithmetic & Logic Unit), thực hiện
các thao tác xử lý dữ liệu thông qua các phép toán số học và Logic
theo sự điều khiển của Đơn vị điều khiển. Đơn vị điều khiển CU và
đơn vị số học-logic ALU được tích hợp trong một chip IC và được gọi
là Đơn vị xử lý Trung tâm (CPU-Central Proccessing Unit).
4. Thiết bị vào (Input Device) thực hiện nhiệm vụ thu nhận các thông
tin, dữ liệu từ thế giớ bên ngoài, biến đổi thành dạng tương thích
với phương thức biểu diễn trong máy tính, đưa vào CPU xử lý hoặc
ghi vào bộ nhớ.
5. Thiết bị ra (Output Device) thực hiện nhiệm vụ đưa thông tin, dữ
liệu từ CPU hoặc bộ nhớ ra ngoài dưới các dạng thức được người sử
dụng yêu cầu. Thiết bị vào và thiết bị ra được gọi chung là nhóm thiết
bị ngoại vi (Peripherals).
Sau đây ta sẽ tìm hiểu nguyên lý kiến trúc và hoạt động của một máy tính
thông qua một máy tính đơn giản nhất.
Máy tính, ở dạng đơn giản nhất, được cấu thành từ bốn khối chức năng cơ
bản sau:
Khối điều khiển và xử lý dữ liệu: Khối chức năng này được tích hợp trong
cùng một vi mạch gọi là Đơn vị xử lý trung tâm (CPU – Central
Proccessing Unit).
Khối lưu trữ dữ liệu được gọi là bộ nhớ (Memory).
Khối chức năng cung cấp dữ liệu cho máy tính xử lý, hoặc phản ánh dữ
liệu đã được xử lý do máy tính cung cấp, được gọi là khối các thiết bị nhập
xuất (I/O devices).
Các kênh truyền dẫn cung cấp sự liên lạc và trao đổi dữ liệu giữa các khối
trên, được gọi là kênh liên kết hệ thống (BUS).
31

Trong một máy tính, mỗi khối thực hiện các chức năng nói trên có thể tồn tại
nhiều đơn vị, dưới các dạng khác nhau, trong đó CPU là quan trọng nhất.
Đơn vị xử lý trung tâm (CPU) có thể xử lý được các lệnh với khuôn dạng từ
lệnh, giả sử với độ dài 8 bit, như sau:

B7 B6 B5 B4 B3 B2 B1 B0

Phần chứa mã lệnh Phần chứa địa chỉ toán hạng

Lệnh được tạo từ hai phần: Mã lệnh và địa chỉ toán hạng
Mã lệnh là một giá trị nhị phân 4 bit, mỗi tổ hợp là một lệnh có chức năng khác
nhau, phần chứa địa chỉ toán hạng cũng là một giá trị nhị phân 4 bit, xác định vị
trí của ô nhớ trong bộ nhớ. Phần địa chỉ xác định toán hạng mà lệnh trực tiếp xử
lý.
Đơn vị xử lý trung tâm gồm hai thành phần chức năng: Đơn vị số học- logic
ALU (Arithmetic-Logic Unit) và đơn vị điều khiển CU (Control Unit)

Hình 2. Sơ đồ cấu trúc máy tính đơn giản


Đơn vị điều khiển CU có chức năng lấy lệnh theo tuần tự được lưu giữ từ trong
bộ nhớ, giải mã lệnh và tạo các tín hiệu điều khiển hoạt động của các khối chức
năng bên trong và bên ngoài CPU.
Lệnh đọc từ ô nhớ được đưa vào thanh ghi lệnh IR, được giải mã tại khối giải
mã lệnh ID để xác định công việc CPU cần thực hiện.
Đơn vị điều khiển CU gồm thanh ghi lệnh IR (Instruction Register), là nơi
chứa lệnh mà CPU đọc về từ ô nhớ lệnh, bao gồm cả phần mã lệnh và phần địa
chỉ toán hạng, khối giải mã lệnh ID (Instruction Decoder), mạch giải mã này
32

giải mã lệnh để xác định nhiệm vụ mà lệnh yêu cấu CPU xử lý, tạo các tín hiệu
điều khiểncác tác vụ của CPU khi thực thi lệnh và thanh đếm chương trình PC
(Program Counter). Thanh đếm chương trình PC làm nhiệm vụ con trỏ lệnh
(Instruction Pointer), chứa địa chỉ của ô nhớ chứa lệnh sẽ thực thi trong tuần tự
thực hiện chương trình. Do vậy sau khi CPU đọc được một lệnh từ bộ nhớ
chương trình, sau khi được giải mã, thông qua điều khiển của CU thì PC được
tăng nội dung lên để chỉ vào ô nhớ chứa lệnh tiếp theo. Trong trường hợp gặp
lệnh rẽ nhánh hay lệnh gọi chương trình con, nội dung thanh đếm PC thay đổi
tuỳ theo giá trị địa chỉ mà chương trình dịch gán cho nhãn hay tên chương trình
con được xác định bởi người lập trình.
CPU có các thanh ghi: thanh ghi gộp (Acc – Accummulator), thanh ghi tạm thời
TEMP (temporary), thanh ghi đệm địa chỉ MAR (Memory Address Register),
thanh ghi đệm bộ nhớ MBR (Memory Buffer Register), và thanh ghi cờ Flags.
Thanh ghi Acc được sử dụng để chứa nội dung một toán hạng, và thông thường
là nơi chứa kết quả thực hiện phép toán, thanh ghi tạm thời chứa nội dung toán
hạng thứ hai trong các phép toán hai ngôi. Nội dung thanh ghi MAR là địa chỉ
của ô nhớ mà CPU đang truy xuất, còn nội dung thanh ghi MBR là dữ liệu đọc
được từ bộ nhớ hoặc sẽ được ghi vào ô nhớ. Thanh ghi cờ Flags gồm các bit
biểu diễn trạng thái của kết quả thực hiện phép toán xử lý dữ liệu của CPU,
Trong trường hợp đơn giản, thanh ghi cờ có 3 bit, đó là bit dấu (S – Sign) biểu
diễn giá trị dữ liệu là âm hay dương, bit không (Z-Zero) biểu diễn kết quả phép
toán khác 0 hay bằng 0, bit nhớ (C – Carry) biểu diễn trạng thái kết quả phép
toán có bit nhớ hay không có bit nhớ. Giá trị các bit cờ trạng thái được định
nghĩa như sau:
Kết quả là một số âm: (S) = 1 ; dấu ngoặc thể hiện nội dung của bit
Kết quả bằng 0: (Z) = 1
Kết quả có nhớ: (C) = 1
Hoạt động thực thi một lệnh trong chương trình của máy tính có thể tóm tắt
như sau:
Chương trình và số liệu ban đầu được lưu giữ ở bộ nhớ trung tâm, đó là bộ
nhớ ROM (Read Only Memory), RAM (Random Access Memory).
1. Bắt đầu chương trình, lệnh đầu tiên của chương trình trong vùng nhớ chương
trình được đưa vào thanh ghi lệnh IR của đơn vị điều khiển (CU). Tác vụ được
gọi là tác vụ nhận lệnh (Instruction Fetch).
2. CU tiến hành giải mã lệnh, xác định nội dung phép toán cần xử lý là phép tính
nào, trên các dữ liệu nào. Đây là tác vụ giải mã lệnh (ID –
Instruction Decoder).
3. Nếu lệnh đòi hỏi làm việc với các toán hạng (được xác định trong lệnh), CU
xác định địa chỉ tương ứng của toán hạng trong vùng nhớ dữ liệu hoặc được
nhập vào từ thiết bị ngoại vi. Tác vụ này được gọi là tạo địa chỉ toán hạng
(GOA - Generate Operand Address).
4. Sau khi địa chỉ toán hạng được tạo, CU phát các tín hiệu điều khiển tới các
thành phần liên quan để nhận toán hạng, đặt vào các thanh ghi xác định trong
33

CPU. Tác vụ được gọi là nhận toán hạng (Operand Fetch)


5. CU phát các tín hiệu điều khiển tới Đơn vị Số học-Logic (ALU). ALU thực
hiện phép toán được yêu cầu trong mã lệnh. Tác vụ này gọi là thực hiện
(Execute).
6. Kết quả xử lý được đặt trong thanh ghi gộp (Acc) hoặc được lưu vào bộ nhớ
trong tuỳ thuộc sự xác định nơi lưu giữ thể hiện đích (destination) trong lệnh.
Tác vụ được gọi là Ghi lại kết quả (Write Back).

Trong trường hợp CU giải mã lệnh và đó là lệnh rẽ nhánh chương trình, CU tính
địa chỉ ô nhớ chứa lệnh cần thực hiện tiếp và phát tín hiệu điều khiển để nhận
lệnh về, công việc được tiến hành tuần tự như từ bước. Nếu không phải là lệnh
rẽ nhánh chương trình, CPU phát các tín hiệu điều khiển để lấy về lệnh kế tiếp
trong ô nhớ đứng ngay sau lệnh vừ thực hiện, hoạt động xẩy ra như từ bước 2.
Khi máy tính được sử dụng để giám sát hay điều khiển một quá trình thực, việc
giao tiếp giữa máy tính và con người được mô tả đơn giản hoá như ở Hình.3.
Thông qua chương trình giao tiếp và các thiết bị Vào/Ra, con người làm nhiệm
vụ giám sát hoặc điều khiển hoạt động của máy móc hoặc quá trình.

Hình 3. Giao diện Máy tính - Con người - Máy móc

Ở mức độ đơn giản và phổ biến nhất, con người giao tiếp trực tiếp với máytính
thông qua các thiết bị Vào và thiết bị Ra của nó. Các thiết bị này được gọi một
tên chung là thiết bị ngoại vi (Peripherals hoặc I/O Devices). Con người gửi yêu
cầu (lệnh hoặc dữ liệu) vào máy tính bằng cách sử dụng thiết bị nhập dữ liệu,
máy tính xử lý dữ liệu và sau khi thực hiện xong gửi trả kết quả ra thiết bị xuất
dữ liệu. Ở mức độ cao hơn con người sử dụng máy tính để điều khiển một đối
tượng thứ ba (máy móc hoặc thiết bị). Con người gửi tín hiệu điều khiển vào
máy tính, máy tính xử lý các dữ liệu được cung cấp và trực tiếp gửi yêu cầu tới
thiết bị để thiết bị
34

thực hiện các thao tác đáp ứng yêu cầu của con người. Máy tính cũng có thể gửi
kết quả xử lý ra thiết bị xuất để con người kiểm tra lại yêu cầu của mình.
Với một mức độ tự động hóa cao hơn, con người chỉ gửi chương trình điều
khiển thiết bị vào máy tính một lần, máy tính nhận dữ liệu, xử lý dữ liệu và gửi
yêu cầu tới thiết bị. Về phần mình, thiết bị, sau khi đáp ứng yêu cầu của con
người sẽ gửi trả kết quả về máy tính và trên cơ sở đó máy tính sẽ xử lý và gửi
các tín hiệu điều khiển tiếp theo tới thiết bị.
Như vậy máy tính là một thực thể có thể tương tác với môi trường bên ngoài.
Máy tính nhận thông tin từ bên ngoài, xử lý thông tin nhận được và gửi trả lại
kết quả. Đây là mối quan hệ trao đổi hai chiều, song luôn luôn xuất phát từ yêu
cầu của con người. Máy tính không thể tự mình khởi đầu quá trình này.
1.2. Chức năng của máy tính
Chức năng của máy tính là thực hiện chương trình thông qua xử lý một tập
lệnh do người lập trình cung cấp. Chương trình là tập hợp các lệnh được
người lập trình chọn lọc và sắp xếp theo một tuần tự chặt chẽ thông qua nguyên
tắc xử lý, giải quyết một vấn đề cụ thể (hay còn gọi là thuật giải).
Để thực hiện chức năng này, chương trình được lưu giữ trong bộ nhớ, việc thực
hiện chương trình thực chất là các tác vụ thực thi lệnh theo tuần tự đã được
người lập trình quy định. Quá trình thực thi 1 lệnh, như đã trình bày ở trên, gồm
các giai đoạn sau:
1. Nhận lệnh IF-Instruction Fetch
2. Giải mã lệnh ID-Instruction Decoder
3. Tạo địa chỉ toán hạng GOA-Generate Operand Address
4. Nhận toán hạng OF-Operand Fetch
5. Xử lý lệnh EX-Execute
6. Lưu kết quả WB-Write Back

Generate Write
Instruction Instruction Operand
Operand Execute
Fetch Decode Fetch Back
Address

IF ID GOA OF EX WB

Việc đảm bảo thực hiện chương trình theo tuần tự, như đã nói ở trên, là do CU
đảm nhận thông qua việc điều khiển sự thay đổi nội dung của thanh đếm chương
trình PC. Tuần tự các lệnh trong chương trình là do người lập trình quyết định
thông qua việc viết chương trình theo thuật giải.
Khi thực hiện một chương trình, thông thường máy tính thực hiện các công
việc sau:
Thứ nhất, Xử lý dữ liệu: Xử lý các yêu cầu của con người/thiết bị trên cơ sở các
dữ liệu được nhập vào. Đây là chức năng quan trọng nhất. Dữ liệu có thể ở
nhiều dạng khác nhau và các yêu cầu xử lý cũng rất khác biệt. Tuy nhiên máy
tính chỉ có thể thực hiện được một số lượng hữu hạn các thao tác xử lý cơ bản,
người lập trình dựa trên các khả năng xử lý dó mà tạo ra những khả năng xử lý
35

các vấn đề lớn hơn và phức tạp hơn thông qua công việc lập trình.
Thứ hai, Lưu trữ dữ liệu: Muốn công việc xử lý dữ liệu đạt hiệu quả cao, máy
tính phải có khả năng lưu trữ tạm thời dữ liệu và lưu trữ dữ liệu dài hạn để tái sử
dụng sau này.
Thứ ba, Di chuyển dữ liệu: Để phục vụ việc xử lý, dữ liệu phải có thể di chuyển
từ điểm này tới điểm khác bên trong máy tính. Ngoài ra, để có dữ liệu cho xử lý
và gửi kết quả ra bên ngoài, máy tính phải có khả năng trao đổi dữ liệu với môi
trường bên ngoài.
Thứ tư, Điều khiển: Để thực hiện có hiệu quả ba chức năng nói trên, các tác vụ
máy tính thực hiện phải được điều khiển một cách đồng bộ và hợp lý. Quy trình
điều khiển này sẽ được thực hiện nhờ con người cung cấp lệnh cho máy tính thi
hành thông qua một đơn vị điều khiển bên trong máy tính.
Kiến trúc máy tính phải được thiết kế để máy tính có khả năng thực hiện
những công việc này.

Hình 4. Kênh dữ liệu liên kết các thành phần chức năng
1.3. Kiến trúc máy tính và cấu trúc máy tính
Để tìm hiểu kiến trúc máy tính, cần phân biệt rõ sự khác nhau cơ bản, thuộc về
nguyên lý giữa kiến trúc (architecture) và tổ chức và cấu trúc (organization &
structure) của một máy tính:
Kiến trúc máy tính nghiên cứu những thuộc tính của một hệ thống mà người lập
trình có thể nhìn thấy được, những thuộc tính quyết định trực tiếp đến việc thực
thi một chương trình tính toán, xử lý dữ liệu Cấu trúc máy tính nghiên cứu về
các thành phần chức năng và sự kết nối giữa chúng để tạo nên một máy tính,
nhằm thực hiện những chức năng và tính năng
kỹ thuật của kiến trúc.
Những thuộc tính liên quan đến kiến trúc bao gồm tập lệnh cơ bản mà
CPU có thể thực hiện, số bit được sử dụng để biểu diễn các loại dữ liệu khác
nhau, cơ chế nhập/xuất dữ liệu, và các kỹ thuật đánh địa chỉ ô nhớ, v.v... Cấu
trúc máy tính lại bao gồm các thuộc tính kỹ thuật mà người lập trình không nhận
biết được như các tín hiệu điều khiển, giao diện giữa máy tính và thiết bị ngoại
vi, công nghệ xây dựng bộ nhớ, v.v…
36

Chẳng hạn việc quyết định máy tính có cần một lệnh cơ bản để thực hiện phép
nhân hay không là vấn đề về kiến trúc. Còn thể hiện lệnh nhân bằng các đơn vị
vật lý cụ thể nào (chẳng hạn, một đơn vị thuộc phần cứng đặc biệt, hay thực hiện
lặp nhiều phép cộng) lại là vấn đề về cấu trúc.
Để làm ví dụ minh họa sự khác biệt đó ta có thể xem các máy tính ở Trung tâm
nghiên cứu nào đó. Các máy tính này có thể có kiến trúc rất giống nhau theo
quan điểm của người lập trình. Chúng có cùng số thanh ghi (tức là thiết bị lưu
trữ tạm thời), có cùng một tập lệnh cơ bản và dạng các toán hạng được nạp vào
bộ nhớ giống nhau. Tuy nhiên các hệ thống này khác nhau về mặt cấu trúc: số
bộ vi xử lý khác nhau, kích thước bộ nhớ của chúng cũng khác hẳn nhau, cách
thức dữ liệu được truyền từ bộ nhớ đến bộ vi xử lý cũng không giống nhau.
Kiến trúc máy tính thường được ứng dụng trong khoảng thời gian dài, hàng
chục năm; trong khi cấu trúc thường thay đổi cùng với sự phát triển của công
nghệ. Trên cùng một kiến trúc, các hãng chế tạo máy tính có thể đưa ra nhiều
loại máy tính khác nhau về cấu trúc, do đó các đặc trưng về hiệu suất, giá thành
cũng khác nhau. Các sản phẩm của IBM là một ví dụ điển hình. Kiến trúc máy
tính của IBM vẫn còn được ứng dụng cho tới ngày nay và là ngọn cờ của
thương hiệu IBM.
Trong lĩnh vực máy PC, người ta thường không phân biệt rõ ràng giữa kiến trúc
và cấu trúc vì sự khác biệt giữa hai khái niệm này đã rút ngắn đáng kể. Sự phát
triển của công nghệ không chỉ tác động lên cấu trúc mà còn tạo điều kiện phát
triển các kiến trúc mạnh hơn và nhiều tính năng hơn; và do đó tác động qua lại
giữa kiến trúc và cấu trúc thường xuyên hơn.
Ngoài kiến trúc máy tính và cấu trúc máy tính còn có một lĩnh vực là kỹ thuật
máy tính nghiên cứu việc xây dựng cụ thể các hệ thống: chẳng hạn như độ dài
dây dẫn tạo BUS, kích cỡ các vi mạch, v.v. Người lập trình thường cần đến kiến
thức về kiến trúc, đôi khi cần những hiểu biết về cấu trúc, nhưng thường rất ít
khi cần đến những hiểu biết về kỹ thuật máy tính.
Hiểu kiến trúc máy tính có thể giúp người lập trình nhận biết khi nào chương
trình của mình tạo ra chạy chưa đạt hiệu suất tối đa của hệ thống, hiểu được các
kỹ năng làm tăng hiệu suất chương trình, v.v.
1.4. Kiến trúc máy tính Von Neumann
John von Neumann (Neumann János, 28 tháng 12, 1903 – 8 tháng 2, 1957) là
một nhà toán học người Hungary và là một nhà bác học thông thạo nhiều lĩnh
vực, đã có nhiều đóng góp vào các chuyên ngành vật lý lượng tử, giải tích hàm,
lý thuyết tập hợp, kinh tế, khoa học máy tính, giải tích số, thủy động lực học,
thống kê và nhiều lĩnh vực toán học khác. Đáng chú ý nhất, von Neumann là nhà
tiên phong của máy tính kỹ thuật số hiện đại và áp dụng của lý thuyết toán tử
(operator theory) vào cơ học lượng tử.
Năm 1945, ông đã đưa ra một đề nghị về kiến trúc máy tính như sau:
Lệnh (Instruction) và dữ liệu (Data) phải được lưu giữ trong một bộ
nhớ ghi/đọc được.
Từng ô nhớ trong bộ nhớ phải được định vị bằng địa chỉ. Sự định địa
chỉ là tuần tự và không phụ thuộc vào nội dung của từng ô nhớ.
37

Chương trình xử lý, giải bài toán phải thực hiện tuần tự từ lệnh này đến
lệnh tiếp theo, từ lệnh bắt đầu đến lệnh cuối cùng.
2. Tổng quan về kiến trúc máy tính
Trên cơ sở nguyên lý kiến trúc Von Neumann, máy tính là một hệ thống bao
gồm đơn vị xử lý trung tâm, bộ nhớ và các thiết bị vào/ra được kết nối với nhau.
Hệ thống đường truyền dẫn liên kết các khối là một trong những vấn đề mà các
hãng chế tạo máy tính gặp nhiều nan giải nhất. Để nắm được những kiến thức cơ
bản về kiến trúc, chúng ta sẽ bắt đầu bằng việc tìm hiểu về hướng phát triển kiến
trúc thông qua liên kết CPU với những khối chức năng cơ bản nhất trong hệ
thống: bộ nhớ, thiết bị vào/ra, đơn vị điều khiển truy cập trực tiếp bộ nhớ, đơn vị
điều khiển ngắt, đơn vị tạo xung nhịp, đơn vị diều khiển, v.v…
2.1. Liên kết các khối khối chức năng
2.1.1. Bộ xử lý trung tâm (CPU) và bộ nhớ
Nói đến máy tính tức là bàn luận về sự phối hợp giữa thực hiện xử lý
(processing) dữ liệu và đưa ra kết luận (making decisions). Việc xử lý và đưa ra
kết luận được thực hiện bởi Đơn vị xử lý trung tâm hay còn gọi là CPU của máy
tính. Vậy thì “bộ não” của máy tính chính là CPU. CPU không phải là một bộ
phận chức năng biết suy nghĩ và biết thực hiện công việc, song nó có khả năng
thực hiện những ý đồ và công việc của người sử dụng thông qua các lệnh.
Những ý tưởng của người sử dụng được thể hiện qua chương trình. Chương
trình là tập hợp các lệnh được chọn lọc và sắp xếp theo một tuần tự chặt chẽ
thông qua nguyên tắc xử lý, giải quyết một vấn đề cụ thể (hay còn gọi là thuật
giải). Chương trình và dữ liệu tương ứng được lưu giữ trong bộ nhớ của máy
tính. Bộ nhớ được chia ra thành 2 phần:
Phần lưu giữ chương trình được gọi là bộ nhớ chương trình hay Program
Memory.
Phần lưu giữ dữ liệu (dữ liệu để xử lý và dữ liệu kết quả) được gọi là bộ nhớ dữ
liệu hay Data Memory.

Hình 5. Hai thành phần bộ nhớ

Như vậy, CPU cần có bộ nhớ để lưu giữ chương trình và dữ liệu. Theo hình vẽ,
thấy rằng CPU chỉ đọc chương trình, song với dữ liệu, nó phải đọc ra để xử lý và
38

phải ghi lại kết quả, tương ứng với các mũi tên một chiều và mũi tên hai chiều
trên hình.
2.1.2. CPU, bộ nhớ và thiết bị vào/ra
CPU liên lạc với các thiết bị bên ngoài (hay còn gọi là thiết bị ngoại vi –
peripherals) để đọc dữ liệu, lệnh và đưa ra kết quả đã được xử lý, ví dụ như bàn
phím, máy in, màn hình... Chức năng của các thiết bị này là giao diện giữa người
sử dụng và máy tính. Các thiết bị này được gọi chung là thiết bị vào/ra, hay thiết
bị nhập/xuất, (I/O device). Một máy tính có thể có rất nhiều thiết bị vào/ra.

Hình II.6. CPU trong liên kết với bộ nhớ, thiết bị vào/ra và khả năng truy cập
trực tiếp bộ nhớ
Thông thường, các thiết bị vào/ra không tương thích được với CPU về mặt mức
tín hiệu (điện áp thể hiện mức logic “0” hoặc “1”) và tốc độ v.v…, do đó ta cần
phải bổ sung vào giữa chúng các khối phối ghép (hay còn gọi là giao diện – I/O
interface).
2.1.3. CPU, bộ nhớ, thiết bị vào ra và khả năng truy cập trực tiếp bộ nhớ
Rõ ràng, việc trao đổi dữ liệu giữa bộ nhớ và thiết bị ngoại vi đều phải thông
qua CPU. Mặc dù có lúc nào đó CPU không có yêu cầu dữ liệu, nhưng nó điều
khiển quá trình trao đổi dữ liệu của mọi thành phần trong máy tính.
Điều đó làm cho CPU tham gia vào mọi hoạt động và tốc độ xử lý của CPU
chậm đi rất nhiều.
Để giải quyết vấn đề này, kiến trúc máy tính đưa ra giải pháp thiết bị vào/ra
được phép truy cập trực tiếp bộ nhớ (DMA-Direct Memory Access). Để thay thế
CPU trong việc truy cập trực tiếp vào bộ nhớ, thiết bị vào/ra được ghép thêm
đơn vị điều khiển truy cập trực tiếp bộ nhớ DMAC (DMA Controler). Cơ chế
này thực sự mang lại hiệu quả lớn trong các hệ thống máy tính thu thập và xử lý
những khối dữ liệu phức tạp và được thực hiện như sau:
Khi thiết bị vào ra yêu cầu truy cập vào bộ nhớ, thay vì CPU tham gia vào
toàn bộ quá trình này, thiết bị vào/ra đưa ra yêu cầu thực hiện truy cập trực tiếp
bộ
nhớ tới CPU thông qua DMA Request Line.
39

CPU nhận yêu cầu, thực hiện việc trao quyền sử dụng đường truyền dẫn
dữ liệu cho thiết bị vào/ra (tức là treo dường truyền dẫn dữ liệu giữa bộ nhớ,
thiết bị vào/ra và CPU), sau đó gửi thông báo nhận biết và đồng ý cho thiết bị
vào/ra qua DMA Acknowledge Line). Những tín hiệu trao đổi này được gọi là
tín hiệu bắt tay (Handshaking)
Thiết bị vào/ra thực hiện việc Ghi hoặc Đọc bộ nhớ trực tiếp qua đường truyền
dẫn dữ liệu không thông qua CPU. Như vậy CPU có thể tiếp tục thực hiện các
thao tác xử lý khác.

Hình 7. CPU, bộ nhớ, thiết bị vào ra và khả năng sử dụng ngắt


2.1.4. CPU, bộ nhớ, thiết bị vào ra và khả năng sử dụng ngắt
Khối chức năng tiếp theo thực hiện việc đáp ứng yêu cầu phục vụ của CPU đối
với các thiết bị vào/ra là thiết bị điều khiển ngắt (Interrupt Controller).
Để hiểu ngắt cần thiết như thế nào, ta xét những khả năng sau:
- Thiết bị vào/ra chỉ cần đến CPU khi có sự trao đổi dữ liệu giữa CPU với thiết
bị vào/ra.
-Một số thiết bị vào/ra hoạt động rất chậm so với khả năng xử lý của CPU, do
vậy, việc CPU phải chờ đợi để trao đổi dữ liệu làm mất rất nhiều thời gian.
Dựa trên thực tế này, kiến trúc máy tính đề nghị một giải pháp hữu hiệu nhằm
làm tăng hiệu suất hoạt động xử lý dữ liệu của CPU cũng như của máy tính nói
chung. Giải pháp dựa trên quy trình sau:
-Thiết bị ngoại vi muốn làm việc với CPU phải gửi yêu cầu ngắt đến CPU thông
qua tín hiệu yêu cầu ngắt (Interrupt Request Signal).
CPU tạm dừng tiến trình đang thực hiện, gửi tín hiệu chấp nhận phục vụ
ngắt cho thiết bị vào/ra.
CPU tiến hành phục vụ thiết bị vào/ra thực chất là thực hiện việc trao đổi dữ
liệu, khi thực hiện xong thì quay về tiếp tục công việc đang bỏ dở.
2.1.5. Khối xung nhịp (Clock) và khối điều khiển (Control)
Đã có thể nhìn thấy rằng, chỉ cần thêm vào 2 khối cơ bản nữa là ta có một cấu
40

trúc máy tính hoàn chỉnh: Khối xung nhịp (Clock) và khối điều khiển (Control).
Có thể nói khối điều khiển là sợi chỉ xuyên suốt, chỉ đạo mọi hoạt động của tất
cả các khối chức năng nhằm đảm bảo hoạt động ổn định cho một máy tính,
không bao giờ xẩy ra bất cứ sự tranh chấp nào. Khối tạo nhịp Clock thực hiện
việc định thời cho mọi hoạt động trong máy tính được đồng bộ hoá.
2.2. Kiến trúc máy tính nhìn từ góc độ cấu trúc cơ bản
Một hệ thống máy tính phải có các tính năng cơ bản sau:
1. Khả năng thực hiện Vào/Ra - là khâu nối hay giao diện giữa người sử dụng và
máy tính
2. Khả năng Ngắt - cho phép máy tính hoạt động hiệu suất hơn và mềm dẻo hơn.
3. Khả năng Truy Cập Trực tiếp Bộ Nhớ - cho phép các thiết bị vào/ra làm
việc với bộ nhớ mà không ảnh hưởng đến tiến trình thực hiện chương trình
của CPU
Các khối chức năng chủ yếu gồm:
1. CPU - đó là bộ não của máy tính
2. Bộ nhớ - nơi lưu giữ mọi dữ liệu của máy tính
3. Khối điều khiển - Điều khiển sự lưu thông của các dòng dữ liệu trong tiến
trình, đảm bảo không xẩy ra tranh chấp giữa các khối chức năng
4. Logic yêu cầu ngắt thiết lập quan hệ phục vụ hợp lý của CPU với các thiết bị
vào/ra
5. Khối phối ghép vào/ra thực hiện việc đồng nhất hoá các loại tín hiệu, định
thời ... giữa CPU và các thiết bị vào/ra
6. Tạo nhịp Clock thực hiện việc định thời cho toàn bộ hệ thống.
41

Hình 8. Kiến trúc Máy tính nhìn từ góc độ cấu trúc


Để mô tả sơ đồ tổ chức nguyên lý. Thuật ngữ được dùng nhằm minh hoạ những
khối chức năng cần thiết và các kênh truyền dẫn liên kết chúng để cấu thành một
máy tính.
Trong các chương tiếp theo, chúng ta sẽ tìm hiểu phần kiến trúc các BUS hệ
thống, kiến trúc CPU, kiến trúc khối điều khiển. “Kiến trúc” nôm na có nghĩa là
các sơ đồ các tổ hợp liên kết các khối-chức năng và cấu hình hệ thống.
3. Biểu diễn thông tin trong máy tính

Các máy tính xử lý các thông tin số và chữ. Các thông tin được biểu diễn dưới
dạng mã nhất định. Bản chất vật lý của việc biểu diễn thông tin là điện áp (“0”
ứng với không có điện áp, “1” ứng với điện áp ở mức quy chuẩn trong mạch
điện tử) và việc mã hoá các thông tin số và chữ được tuân theo chuẩn quốc tế.
Mã hiệu để mã hoá các thông tin cho máy tính xử lý là các giá trị của biến nhị
phân "0" hoặc "1", tương ứng với biến logic "False" hoặc "True". Một biến chỉ
nhận một trong hai giá trị duy nhất là “0” hoặc “1” được gọi là một bit (Binary
Digit). Hai trạng thái này của bit, thực chất là các giá trị tương ứng với "False"
hoặc "True", hay trạng thái "tắt" hoăc "đóng" của một công tắc điện, được sử
dụng để mã hoá cho tất
cả các ký tự (gồm số, chữ và các ký tự đặc biệt khác). Các bit được ghép lại
thành các đơn vị mang thông tin đầy đủ - các mã tự - cho các ký tự biểu diễn các
42

số, các ký tự chữ và các ký tự đặc biệt khác.


Bit (BInary digiT) là đơn vị cơ bản mang thông tin trong hệ đếm nhị phân. Các
mạch điện tử trong máy tính phát hiện sự khác nhau giữa hai trạng thái (điện áp
mức “1” và điện áp mức “0”) và biểu diễn hai trạng thái đó dưới dạng một trong
hai số nhị phân “1” hoặc “0”.
Nhóm 8 bit ghép kề liền nhau, tạo thành đơn vị dữ liệu cơ sở của máy tính được
gọi là 1 Byte. Do được lưu giữ tương đương với một ký tự (số, chữ hoặc ký tự
đặc biệt) nên Byte cũng là đơn vị cơ sở để đo các khả năng lưu giữ, xử lý của
các máy tính. Các thuật ngữ như KiloByte, MegaByte hay GigaByte thường
được dùng làm bội số trong việc đếm Byte, dĩ nhiên theo hệ đếm nhị phân, nghĩa
là:
1KiloByte = 1024 Bytes,
1MegaByte = 1024 KiloBytes,
1GigaByte = 1024 MegaBytes.
Các đơn vị này được viết tắt tương ứng là KB, MB và GB.
3.1. Mã hoá các thông tin không số
Có hai loại mã phổ cập nhất được sử dụng là mã ASCII và EBCDIC.
- Mã ASCII (American Standard Code for Information Interchange)
dùng 7 bits để mã hoá các ký tự
- Mã EBCDIC (Extended Binary Coded Decimal Interchange Code) dùng
cả 8 bits (1 Byte) để mã hoá thông tin
- Loại mã trước đây được dùng nhiều trong ngành bưu điện, trong các máy
teletype là mã BAUDOT, chỉ sử dụng 5 bits để mã hoá thông tin.
Tồn tại nhiều loại mã khác nhau, nhưng hầu như không được sử dụng trong
các máy tính thông dụng…
3.2. Hệ đếm thập phân
Từ xa xưa con người đã sử dụng công cụ tự nhiên và sẵn có nhất của mình để
đếm các vật, đó là các ngón tay trên hai bàn tay của mình. Vì hai bàn tay chỉ có
10 ngón nên hệ đếm thập phân mà chúng ta sử dụng ngày nay là kết quả tự
nhiên của cách đếm đó.
Hệ đếm thập phân sử dụng 10 kí hiệu khác nhau để biểu diễn các số:
0, 1, 2, ..., 9. Để biểu diễn các số lớn hơn 10, hệ đếm thập phân sử dụng kí
pháp vị trí. Theo kí pháp này giá trị mà kí hiệu biểu diễn phụ thuộc vào vị trí của
nó trong dãy kí hiệu. Ví dụ 2 trong số 29 biểu diễn số 20, nhưng trong 92 biểu
diễn số 2. Cũng cần nhắc lại rằng: tất cả các hệ đếm đều tuân thủ ký pháp vị trí.
Với các số 0, 1, 2, ..., 9 và kí pháp vị trí chúng ta có thể biễu diễn mọi số tự
nhiên lớn tùy ý. Quy tắc biểu diễn tổng quát một số tự nhiên trong hệ thập phân

Ở đây 10 được gọi là cơ số của hệ đếm và các số 10-n, ..., 10-1,101, 102,..., 10n
43

được gọi là các trọng số.


Lưu ý rằng thay cho 10 chúng ta có thể sử dụng số tự nhiên a bất kỳ và kí
pháp vị trí để biểu diễn mọi số cũng với quy tắc trên. Khi đó hệ đếm được gọi là
hệ đếm cơ số a. Ví dụ như hệ đếm cơ số 12 dùng để biểu diễn thời gian.
3.3. Hệ đếm nhị phân
Máy tính số được xây dựng từ các mạch điện tử. Các mạch điện tử trong máy
tính phân biệt được sự khác nhau giữa hai trạng thái (có dòng điện hay không,
điệp áp cao hay thấp, v.v.) và biểu diễn các trạng thái đó dưới dạng một trong
hai số 1 hoặc 0. Vì vậy các số 0 và 1 rất thích hợp và đủ để biểu diễn các số tùy
ý trong máy tính. Việc chế tạo một mạch điện tin cậy có thể phân biệt được sự
khác nhau giữa 1 và 0 tương đối dễ và rẻ, hơn nữa máy tính có khả năng xử lý
nội bộ các số 0 và 1 rất chính xác.
Các số 0 và 1 được gọi là các số nhị phân. Hệ đếm nhị phân là hệ đếm chỉ
dùng các số 0 và 1 và kí pháp vị trí để biểu diễn các số. Dùng ký hiệu 0 và 1 để
biểu diễn số. Một số X ở dạng nhị phân có công thức tổng quát như sau:
X=anan-1........a1a0 ( Với 0<=ai<=1)
Ví dụ :11012, 10012
3.4. Hệ 8 và hệ 16
Hệ 8 và hệ 16 là những hệ thường dùng để biểu diễn các số trong tin học.
Biểu diễn các số trong hệ tám gồm các số sau: 0,1,2,3,4,5,6,7
Hệ 16 sử dụng các ký hiệu sau: 0,1,2,3,4,5,6,7,8,9
A có giá trị là 10 B có giá trị là 11

C có giá trị là 12 D có giá trị là 13


E có giá trị là 14 F có giá trị là 15

Ví dụ:
Tính giá trị của 4278
4*82+ 2*81+7*80= 256 + 16 + 7 = 279
Vậy: 4278=29710
3.5. Biểu diễn các ký tự
Mỗi ký tự trong máy tính như chữ cái in và thường, các chữ số, các ký
hiệu … được biểu diễn thông qua số nhị phân có độ dài cố định. Bảng mã Ascii
(American Standard Code for Information Interchange) là bảng mã biểu diễn 1
ký tự bằng 1 số nhị phân nằm trong khoảng tự 0 ->255 (chiếm 1 byte). Bảng mã
này gồm có 128 ký tự chuẩn và đây được coi là bảng mã phổ dụng nhất.
Ví dụ :
A 65 A là 0100 0001 (65)
44

B 66 B là 0100 0010 (66)


C 67 C là 0100 0011 (67)

3. MẠNG MÁY TÍNH


I. CÁC KIẾN THỨC CƠ SỞ
Mạng máy tính là một nhóm các máy tính, thiết bị ngoại vi được nối kết với
nhau thông qua các phương tiện truyền dẫn như cáp, sóng điện từ, tia hồng
ngoại... giúp cho các thiết bị này có thể trao đổi dữ liệu với nhau một cách dễ
dàng. Các thành phần cơ bản cấu thành nên mạng máy tính:
- Các loại máy tính: Palm, Laptop, PC, MainFrame...
- Các thiết bị giao tiếp: Card mạng (NIC hay Adapter), Hub, Switch, Router...
- Môi trường truyền dẫn: cáp, sóng điện từ, sóng vi ba, tia hồng ngoại...
- Các protocol: TCP/IP, NetBeui, Apple Talk, IPX/SPX...
- Các hệ điều hành mạng: WinNT, Win2000, Win2003, Novell Netware, Unix...
- Các tài nguyên: file, thư mục
- Các thiết bị ngoại vi: máy in, máy fax, Modem, Scanner...
- Các ứng dụng mạng: phần mềm quản lý kho bãi, phần mềm bán vé tàu...
Server (máy phục vụ): là máy tính được cài đặt các phần mềm chuyên dụng làm
chức năng cung cấp các dịch vụ cho các máy tính khác. Tùy theo dịch vụ mà
các máy này cung cấp, người ta chia thành các loại server như sau: File server
(cung cấp các dịch vụ về file và thư mục), Print server (cung cấp các dịch vụ về
in ấn). Do làm chức năng phục vụ cho các máy tính khác nên cấu hình máy
server phải mạnh, thông thường là máy chuyên dụng của các hãng như:
Compaq, Intel, IBM... Client (máy trạm): là máy tính sử dụng các dịch vụ mà
các máy server cung cấp. Do xử lý số công việc không lớn nên thông thường
các máy này không yêu cầu có cấu hình mạnh. Peer: là những máy tính vừa
đóng vai trò là máy sử dụng vừa là máy cung cấp các dịch vụ. Máy peer thường
sử dụng các hệ điều hành như: DOS, WinNT Workstation, Win9X, Win Me,
Win2K Professional, WinXP...
Media (phương tiện truyền dẫn): là cách thức và vật liệu nối kết các máy lại với
nhau.
Shared data (dữ liệu dùng chung): là tập hợp các tập tin, thư mục mà các máy
tính chia sẻ để các máy tính khác truy cập sử dụng chúng thông qua mạng.
Resource (tài nguyên): là tập tin, thư mục, máy in, máy Fax, Modem, ổ CDROM
và các thành phần khác mà người dùng mạng sử dụng.
II. CÁC LOẠI MẠNG MÁY TÍNH
1. Mạng cục bộ LAN (Local Area Network)
45

Mạng LAN là một nhóm máy tính và các thiết bị truyền thông mạng được nối
kết với nhau trong một khu vực nhỏ như một toà nhà cao ốc, khuôn viên trường
đại học, khu giải trí ...
Các mạng LAN thường có đặc điểm sau:
- Băng thông lớn, có khả năng chạy các ứng dụng trực tuyến như xem phim, hội
thảo qua mạng.
- Kích thước mạng bị giới hạn bởi các thiết bị.
- Chi phí các thiết bị mạng LAN tương đối rẻ.
- Quản trị đơn giản
User (người dùng): là người sử dụng máy trạm (client) để truy xuất các tài
nguyên mạng. Thông thường một user sẽ có một username (account) và một
password. Hệ thống mạng sẽ dựa vào username và password để biết bạn là ai, có
quyền vào mạng hay không và có quyền sử dụng những tài nguyên nào trên
mạng.
Administrator: là nhà quản trị hệ thống mạng.
2. Mạng diện rộng WAN (Wide Area Network)
Mạng WAN bao phủ vùng địa lý rộng lớn có thể là một quốc gia, một lục địa
hay toàn cầu. Mạng WAN thường là mạng của các công ty đa quốc gia hay toàn
cầu, điển hình là mạng Internet. Do phạm vi rộng lớn của mạng WAN nên thông
thường mạng WAN là tập hợp các mạng LAN, MAN nối lại với nhau bằng các
phương tiện như: vệ tinh (satellites), sóng viba (microwave), cáp quang, cáp
điện thoại...
Đặc điểm của mạng WAN:
- Băng thông thấp, dễ mất kết nối, thường chỉ phù hợp với các ứng dụng offline
như e-mail, web, ftp ...
- Phạm vi hoạt động rộng lớn không giới hạn.
- Do kết nối của nhiều LAN, MAN lại với nhau nên mạng rất phức tạp và có
tính toàn cầu nên thường là có tổ chức quốc tế đứng ra quản trị.
- Chi phí cho các thiết bị và các công nghệ mạng WAN rất đắt tiền.
3. Mạng Internet
Mạng Internet là trường hợp đặc biệt của mạng WAN, nó cung cấp các dịch vụ
toàn cầu như mail, web, chat, ftp và phục vụ miễn phí cho mọi người.
III. CÁC MÔ HÌNH XỬ LÝ MẠNG
Cơ bản có ba loại mô hình xử lý mạng bao gồm:
- Mô hình xử lý mạng tập trung
- Mô hình xử lý mạng phân phối
46

- Mô hình xử lý mạng cộng tác.


1. Mô hình xử lý mạng tập trung
Toàn bộ các tiến trình xử lý diễn ra tại máy tính trung tâm. Các máy trạm cuối
(terminals) được nối mạng với máy tính trung tâm và chỉ hoạt động như những
thiết bị nhập xuất dữ liệu cho phép người dùng xem trên màn hình và nhập liệu
bàn phím. Các máy trạm đầu cuối không lưu trữ và xử lý dữ liệu.
Mô hình xử lý mạng trên có thể triển khai trên hệ thống phần cứng hoặc phần
mềm được cài đặt trên server.
Ưu điểm: dữ liệu được bảo mật an toàn, dễ backup và diệt virus. Chi phí cho
các thiết bị thấp.
Khuyết điểm: khó đáp ứng được các yêu cầu của nhiều ứng dụng khác nhau, tốc
độ truy xuất chậm.
2. Mô hình xử lý mạng phân phối
Các máy tính có khả năng hoạt động độc lập, các công việc được tách nhỏ và
giao cho nhiều máy tính khác nhau thay vì tập trung xử lý trên máy trung tâm.
Tuy dữ liệu được xử lý và lưu trữ tại máy cục bộ nhưng các máy tính này được
nối mạng với nhau nên chúng có thể trao đổi dữ liệu và dịch vụ.
Ưu điểm: truy xuất nhanh, phần lớn không giới hạn các ứng dụng.
Khuyết điểm: dữ liệu lưu trữ rời rạc khó đồng bộ, backup và rất dễ nhiễm virus.
3. Mô hình xử lý mạng cộng tác
Mô hình xử lý cộng tác bao gồm nhiều máy tính có thể hợp tác để thực hiện một
công việc. Một máy tính có thể mượn năng lực xử lý bằng cách chạy các chương
trình trên các máy nằm trong mạng.
Ưu điểm: rất nhanh và mạnh, có thể dùng để chạy các ứng dụng có các phép
toán lớn.
Khuyết điểm: các dữ liệu được lưu trữ trên các vị trí khác nhau nên rất khó đồng
bộ và backup, khả năng nhiễm virus rất cao.
IV. CÁC MÔ HÌNH QUẢN LÝ MẠNG
1. Workgroup
Trong mô hình này các máy tính có quyền hạn ngang nhau và không có các máy
tính chuyên dụng làm nhiệm vụ cung cấp dịch vụ hay quản lý. Các máy tính tự
bảo mật và quản lý các tài nguyên của riêng mình. Đồng thời các máy tính cục
bộ này cũng tự chứng thực cho người dùng cục bộ.
2. Domain
Ngược lại với mô hình Workgroup, trong mô hình Domain thì việc quản lý và
chứng thực người dùng mạng tập trung tại máy tính Primary Domain Controller.
Các tài nguyên mạng cũng được quản lý tập trung và cấp quyền hạn cho từng
47

người dùng. Lúc đó trong hệ thống có các máy tính chuyên dụng làm nhiệm vụ
cung cấp các dịch vụ và quản lý các máy trạm.
V. CÁC MÔ HÌNH ỨNG DỤNG MẠNG
1. Mạng ngang hàng (peer to peer)
Mạng ngang hàng cung cấp việc kết nối cơ bản giữa các máy tính nhưng không
có bất kỳ một máy tính nào đóng vai trò phục vụ. Một máy tính trên mạng có thể
vừa là client, vừa là server. Trong môi trường này, người dùng trên từng máy
tính chịu trách nhiệm điều hành và chia sẻ các tài nguyên của máy tính mình.
Mô hình này chỉ phù hợp với các tổ chức nhỏ, số người giới hạn (thông thường
nhỏ hơn 10 người) và không quan tâm đến vấn đề bảo mật. Mạng ngang hàng
thường dùng các hệ điều hành sau: Win95, Windows for workgroup, WinNT
Workstation, Win2000 Proffessional, OS/2...
Ưu điểm: do mô hình mạng ngang hàng đơn giản nên dễ cài đặt, tổ chức và quản
trị, chi phí thiết bị cho mô hình này thấp.
Khuyết điểm: không cho phép quản lý tập trung nên dữ liệu phân tán, khả năng
bảo mật thấp, rất dễ bị xâm nhập. Các tài nguyên không được sắp xếp nên rất
khó định vị và tìm kiếm.
2. Mạng khách chủ (client- server)
Trong mô hình mạng khách chủ có một hệ thống máy tính cung cấp các tài
nguyên và dịch vụ cho cả hệ thống mạng sử dụng gọi là các máy chủ (server).
Một hệ thống máy tính sử dụng các tài nguyên và dịch vụ này được gọi là máy
khách (client). Các server thường có cấu hình mạnh (tốc độ xử lý nhanh, kích
thước lưu trữ lớn) hoặc là các máy chuyên dụng. Dựa vào chức năng có thể chia
thành các loại server như sau:
- File Server: phục vụ các yêu cầu hệ thống tập tin trong mạng.
- Print Server: phục vụ các yêu cầu in ấn trong mạng.
- Application Server: cho phép các ứng dụng chạy trên các server và trả về kết
quả cho client.
- Mail Server: cung cấp các dịch vụ về gửi nhận e-mail.
- Web Server: cung cấp các dịch vụ về web.
- Database Server: cung cấp các dịch vụ về lưu trữ, tìm kiếm thông tin.
- Communication Server: quản lý các kết nối từ xa.
Hệ điều hành mạng dùng trong mô hình client - server là WinNT, Novell
NetWare, Unix, Win2K...
Ưu điểm: do các dữ liệu được lưu trữ tập trung nên dễ bảo mật, backup và đồng
bộ với nhau. Tài nguyên và dịch vụ được tập trung nên dễ chia sẻ và quản lý và
có thể phục vụ cho nhiều người dùng.
Khuyết điểm: các server chuyên dụng rất đắt tiền, phải có nhà quản trị cho hệ
48

thống.
VI. CÁC DỊCH VỤ MẠNG
Các dịch vụ mạng phổ biến nhất là:
- Dịch vụ tập tin.
- Dịch vụ in ấn.
- Dịch vụ thông điệp.
- Dịch vụ thư mục.
- Dịch vụ ứng dụng.
- Dịch vụ cơ sở dữ liệu.
- Dịch vụ Web.
1. Dịch vụ tập tin (Files Services)
Dịch vụ tập tin cho phép các máy tính chia sẻ các tập tin, thao tác trên các tập tin
chia sẻ này như: lưu trữ, tìm kiếm, di chuyển... Truyền tập tin: không có mạng,
các khả năng truyền tải tập tin giữa các máy tính bị hạn chế. Ví dụ như chúng ta
muốn sao chép một tập tin từ máy tính cục bộ ở Việt Nam sang một máy tính
server đặt tại Pháp thì chúng ta dùng dịch vụ FTP để sao chép. Dịch vụ này rất
phổ biến và đơn giản.
Lưu trữ tập tin: phần lớn các dữ liệu quan trọng trên mạng đều được lưu trữ tập
trung theo nhiều cách khác nhau:
Lưu trữ trực tuyến (online storage): dữ liệu được lưu trữ trên đĩa cứng nên truy
xuất dễ dàng, nhanh chóng, bất kể thời gian. Nhưng phương pháp này có một
khuyết điểm là chúng không thể tháo rời để trao đổi hoặc lưu trữ tách rời, đồng
thời chi phí lưu trữ một MB dữ liệu tương đối cao.
Lưu trữ ngoại tuyến (offline storage): thường áp dụng cho dữ liệu ít khi cần truy
xuất (lưu trữ, backup). Các thiết bị phổ biến dùng cho phương pháp này là băng
từ, đĩa quang.
Lưu trữ cận tuyến (near- line storage): phương pháp này giúp ta khắc phục được
tình trạng truy xuất chậm của phương pháp lưu trữ ngoại tuyến nhưng chi phí
lại không cao đó là chúng ta dùng thiết bị Jukebox để tự động quản lý các băng
từ và đĩa quang.
Di trú dữ liệu (data migration) là công nghệ tự động dời các dữ liệu ít dùng từ
kho lưu trữ trực tuyến sang kho lưu trữ cận tuyến hay ngoại tuyến. Nói cách
khác đây là quá trình chuyển các tập tin từ dạng lưu trữ này sang dạng lưu trữ
khác.
Đồng bộ hóa việc cập nhật tập tin: dịch vụ này theo dõi các thay đổi khác nhau
lên cùng một tập tin để đảm bảo rằng tất cả mọi người dùng đều có bản sao mới
nhất của tập tin và tập tin không bị hỏng. Sao lưu dự phòng (backup) là quá trình
sao chép và lưu trữ một bản sao dữ liệu từ thiết bị lưu trữ chính. Khi thiết bị lưu
49

trữ chính có sự cố thì chúng ta dùng bản sao này để phục hồi dữ liệu.
2. Dịch vụ in ấn (Print Services)
Dịch vụ in ấn là một ứng dụng mạng điều khiển và quản lý việc truy cập các
máy in, máy fax mạng.
Các lợi ích của dịch vụ in ấn:
Giảm chi phí cho nhiều người có thể chia nhau dùng chung các thiết bị đắt tiền
như máy in màu, máy vẽ, máy in khổ giấy lớn. Tăng độ linh hoạt vì các máy
tính có thể đặt bất kỳ nơi nào, chứ không chỉ đặt cạnh PC của người dùng.
Dùng cơ chế hàng đợi in để ấn định mức độ ưu tiên nội dung nào được in trước,
nội dung nào được in sau.
3. Dịch vụ thông điệp (Message Services)
Là dịch vụ cho phép gửi/nhận các thư điện tử (e-mail). Công nghệ thư điện tử
này rẻ tiền, nhanh chóng, phong phú cho phép đính kèm nhiều loại file khác
nhau như: phim ảnh, âm thanh... Ngoài ra dịch vụ này còn cung cấp các ứng
dụng khác như: thư thoại (voice mail), các ứng dụng nhóm làm việc (workgroup
application).
4. Dịch vụ thư mục (Directory Services)
Dịch vụ này cho phép tích hợp mọi thông tin về các đối tượng trên mạng thành
một cấu trúc thư mục dùng chung nhờ đó mà quá trình quản lý và chia sẻ tài
nguyên trở nên hiệu quả hơn.
5. Dịch vụ ứng dụng (Application Services)
Dịch vụ này cung cấp kết quả cho các chương trình ở client bằng cách thực hiện
các chương trình trên server. Dịch vụ này cho phép các ứng dụng huy động
năng lực của các máy tính chuyên dụng khác trên mạng.
6. Dịch vụ cơ sở dữ liệu (Database Services)
Dịch vụ cơ sở dữ liệu thực hiện các chức năng sau:
- Bảo mật cơ sở dữ liệu.
- Tối ưu hóa tiến trình thực hiện các tác vụ cơ sở dữ liệu.
- Phục vụ số lượng người dùng lớn, truy cập nhanh vào các cơ sở dữ liệu.
- Phân phối dữ liệu qua nhiều hệ phục vụ CSDL.
7. Dịch vụ Web
Dịch vụ này cho phép tất cả mọi người trên mạng có thể trao đổi các siêu văn
bản với nhau. Các siêu bản này có thể chứa hình ảnh, âm thanh giúp các người
dùng có thể trao đổi nhanh thông tin và sống động hơn.
VII. CÁC LỢI ÍCH THỰC TẾ CỦA MẠNG.
1. Tiết kiệm được tài nguyên phần cứng.
50

Khi các máy tính của một phòng ban được nối mạng với nhau thì chúng ta có thể
chia sẻ những thiết bị ngoại vi như máy in, máy FAX, ổ đĩa CDROM... Thay vì
trang bị cho từng máy PC thì thông qua mạng chúng ta có thể dùng chung các
thiết bị này.
Ví dụ 1: trong một phòng máy thực hành có khoảng 30 máy, nếu trang bị cho tất
cả các máy trạm có đĩa cứng thì rất phí mà chúng ta lại không tận dụng được hết
năng suất của các đĩa cứng đó. Giải pháp tập trung tất cả các ứng dụng vào
server và dùng công nghệ mạng bootrom để chạy các máy trạm sẽ làm giảm chi
phí phần cứng đồng thời tiện dụng cho công tác quản trị phòng máy hạn chế
được tình trạng các học viên vô tình làm hỏng các máy trạm.
Ví dụ 2: Một công ty muốn rằng tất cả các phòng ban đều được sử dụng Internet
thông qua modem và đường điện thoại. Nếu chúng ta trang bị cho mỗi phòng
ban 1 modem và 1 đường điện thoại thì không khả thi vì vậy chúng ta phải tận
dụng cơ sở hạ tầng mạng để chia sẻ 1 modem và đường điện thoại cho cả công
ty đều có thể truy cập Internet.
2. Trao đổi dữ liệu trở nên dễ dàng hơn.
Theo phương pháp truyền thống muốn chép dữ liệu giữa hai máy tính chúng ta
dùng đĩa mềm hoặc dùng cáp link để nối hai máy lại với nhau sau đó chép dữ
liệu. Chúng ta thấy rằng hai giải pháp trên sẽ không thực tế nếu một máy đặt tại
tầng trệt và một máy đặt tại tầng 5 trong một tòa nhà. Việc trao đổi dữ liệu giữa
các máy tính ngày càng nhiều hơn, đa dạng hơn, khoảng cách giữa các phòng
ban trong công ty ngày càng xa hơn nên việc trao đổi dữ liệu theo phương thức
truyền thống không còn được áp dụng nữa, thay vào đó là các máy tính này
được nối với nhau qua công nghệ mạng.
3. Chia sẻ ứng dụng: Các ứng dụng thay vì trên từng máy trạm chúng ta sẽ cài
trên một máy server và các máy trạm dùng chung ứng dụng đó trên server. Lúc
đó ta tiết kiệm được chi phí bản quyền và chi phí cài đặt, quản trị.
4. Tập trung dữ liệu, bảo mật và backup tốt.
Đối với các công ty lớn dữ liệu lưu trữ trên các máy trạm rời rạc dễ dẫn đến tình
trạng hư hỏng thông tin và không được bảo mật. Nếu các dữ liệu này được tập
trung về server để tiện việc bảo mật, backup và quét virus.
5. Sử dụng các phần mềm ứng dụng trên mạng.
Nhờ các công nghệ mạng mà các phần mềm ứng dụng phát triển mạnh và được
áp dụng vào nhiều lĩnh vực như hàng không (phần mềm bán vé máy bay tại các
chi nhánh), đường sắt (phần mềm theo dõi đăng ký vé và bán vé tàu), cấp thoát
nước (phần mềm quản lý công ty cấp thoát nước thành phố)...
6. Sử dụng các dịch vụ Internet.
Ngày nay Internet rất phát triển, tất cả mọi người trên thế giới đều có thể trao
đổi E-mail với nhau một cách dễ dàng hoặc có thể trò chuyện với nhau mà chi
phí rất thấp so với phí viễn thông. Đồng thời các công ty cũng dùng công nghệ
51

Web để quảng cáo sản phẩm, mua bán hàng hóa qua mạng (thương mại điện tử)
... Dựa trên cơ sở hạ tầng mạng chúng ta có thể xây dựng các hệ thống ứng
dụng lớn như chính phủ điện tử, thương mại điện tử, điện thoại Internet nhằm
giảm chi phí và tăng khả năng phục vụ ngày càng tốt hơn cho con người.
4. ĐỊA CHỈ IP
I. TỔNG QUAN VỀ ĐỊA CHỈ IP
Là địa chỉ có cấu trúc, được chia làm hai hoặc ba phần là: network_id&host_id
hoặc network_id&subnet_id&host_id. Là một con số có kích thước 32 bit. Khi
trình bày, người ta chia con số 32 bit này thành bốn phần, mỗi phần có kích
thước 8 bit, gọi là octet hoặc byte.
Có các cách trình bày sau:
- Ký pháp thập phân có dấu chấm (dotted-decimal notation).
Ví dụ: 172.16.30.56.
- Ký pháp nhị phân. Ví dụ: 10101100 00010000 00011110 00111000.
- Ký pháp thập lục phân. Ví dụ: AC 10 1E 38. Không gian địa chỉ IP (gồm 232
địa chỉ) được chia thành nhiều lớp (class) để dễ quản lý. Đó là các lớp: A, B, C,
D và E; trong đó các lớp A, B và C được triển khai để đặt cho các host trên
mạng Internet; lớp D dùng cho các nhóm multicast; còn lớp E phục vụ cho mục
đích nghiên cứu. Địa chỉ IP còn được gọi là địa chỉ logical, trong khi địa chỉ
MAC còn gọi là địa chỉ vật lý (hay địa chỉ physical).
II. MỘT SỐ KHÁI NIỆM VÀ THUẬT NGỮ LIÊN QUAN.
Network_id: là giá trị để xác định đường mạng. Trong số 32 bit dùng địa chỉ IP,
sẽ có một số bit đầu tiên dùng để xác định network_id. Giá trị của các bit này
được dùng để xác định đường mạng.
Host_id: là giá trị để xác định host trong đường mạng. Trong số 32 bit dùng làm
địa chỉ IP, sẽ có một số bit cuối cùng dùng để xác định host_id. Host_id chính là
giá trị của các bit này.
Địa chỉ host: là địa chỉ IP, có thể dùng để đặt cho các interface của các host. Hai
host nằm thuộc cùng một mạng sẽ có network_id giống nhau và host_id khác
nhau.
Mạng (network): một nhóm nhiều host kết nối trực tiếp với nhau. Giữa hai host
bất kỳ không bị phân cách bởi một thiết bị layer 3. Giữa mạng này với mạng
khác phải kết nối với nhau bằng thiết bị layer 3.
Địa chỉ mạng (network address): là địa chỉ IP dùng để đặt cho các mạng. Địa chỉ
này không thể dùng để đặt cho một interface. Phần host_id của địa chỉ chỉ chứa
các bit 0. Ví dụ 172.29.0.0 là một địa chỉ mạng.
Mạng con (subnet network): là mạng có được khi một địa chỉ mạng (thuộc lớp
A, B, C) được phân chia nhỏ hơn (để tận dụng số địa chỉ mạng được cấp phát).
52

Địa chỉ mạng con được xác định dựa vào địa chỉ IP và mặt nạ mạng con (subnet
mask) đi kèm (sẽ đề cập rõ hơn ở phần sau).
Địa chỉ broadcast: là địa chỉ IP được dùng để đại diện cho tất cả các host trong
mạng. Phần host_id chỉ chứa các bit 1. Địa chỉ này cũng không thể dùng để đặt
cho một host được. Ví dụ 172.29.255.255 là một địa chỉ broadcast.
Mặt nạ mạng (network mask): là một con số dài 32 bit, là phương tiện giúp máy
xác định được địa chỉ mạng của một địa chỉ IP (bằng cách AND giữa địa chỉ IP
với mặt nạ mạng) để phục vụ cho công việc routing. Mặt nạ mạng cũng cho biết
số bit nằm trong phần host_id. Được xây dựng theo cách: bật các bit tương ứng
với phần network_id (chuyển thành bit 1) và tắt các bit tương ứng với phần
host_id (chuyển thành bit 0).
Mặt nạ mặc định của lớp A: sử dụng cho các địa chỉ lớp A khi không chia mạng
con, mặt nạ có giá trị 255.0.0.0.
Mặt nạ mặc định của lớp B: sử dụng cho các địa chỉ lớp B khi không chia mạng
con, mặt nạ có giá trị 255.255.0.0.
Mặt nạ mặc định của lớp C: sử dụng cho các địa chỉ lớp C khi không chia mạng
con, mặt nạ có giá trị 255.255.255.0.
III. GIỚI THIỆU CÁC LỚP ĐỊA CHỈ.
1. Lớp A.
Dành một byte cho phần network_id và ba byte cho phần host_id.
Để nhận diện ra lớp A, bit đầu tiên của byte đầu tiên phải là bit 0. Dưới dạng
nhị phân, byte này có dạng 0xxxxxxx. Vì vậy, những địa chỉ IP có byte đầu tiên
nằm trong khoảng từ 0 (00000000) đến 127 (01111111) sẽ thuộc lớp A. Ví dụ
địa chỉ 50.14.32.8 là một địa chỉ lớp A (50 < 127).
Byte đầu tiên này cũng chính là network_id, trừ đi bit đầu tiên làm ID nhận dạng
lớp A, còn lại bảy bit để đánh thứ tự các mạng, ta được 128 (27) mạng lớp A
khác nhau. Bỏ đi hai trường hợp đặc biệt là 0 và 127. Kết quả là lớp A chỉ còn
126 (27-2) địa chỉ mạng, 1.0.0.0 đến 126.0.0.0.
Phần host_id chiếm 24 bit, tức có thể đặt địa chỉ cho 16.777.216 (224) host khác
nhau trong mỗi mạng.
Bỏ đi một địa chỉ mạng (phần host_id chứa toàn các bit 0) và một địa chỉ
broadcast (phần host_id chứa toàn các bit 1) như vậy có tất cả 16.777.214 (224-
2) host khác nhau trong mỗi mạng lớp A. Ví dụ, đối với mạng 10.0.0.0 thì
những giá trị host hợp lệ là 10.0.0.1 đến 10.255.255.254.
2. Lớp B.
Dành hai byte cho mỗi phần network_id và host_id.
Dấu hiệu để nhận dạng địa chỉ lớp B là byte đầu tiên luôn bắt đầu bằng hai bit
10. Dưới dạng nhị phân, octet có dạng 10xxxxxx. Vì vậy những địa chỉ nằm
53

trong khoảng từ 128 (10000000) đến 191 (10111111) sẽ thuộc về lớp B. Ví dụ


172.29.10.1 là một địa chỉ lớp B (128 < 172 < 191).
Phần network_id chiếm 16 bit bỏ đi 2 bit làm ID cho lớp, còn lại 14 bit cho phép
ta đánh thứ tự 16.384 (214) mạng khác nhau (128.0.0.0 đến 191.255.0.0)
Phần host_id dài 16 bit hay có 65536 (216) giá trị khác nhau. Trừ 2 trường hợp
đặc biệt còn lại 65534 host trong một mạng lớp B. Ví dụ, đối với mạng
172.29.0.0 thì các địa chỉ host hợp lệ là từ 172.29.0.1 đến 172.29.255.254.
3. Lớp C.
Dành ba byte cho phần network_id và một byte cho phần host_id.
Byte đầu tiên luôn bắt đầu bằng ba bit 110 và dạng nhị phân của octet này là
110xxxxx. Như vậy những địa chỉ nằm trong khoảng từ 192 (11000000) đến 223
(11011111) sẽ thuộc về lớp C. Ví dụ một địa chỉ lớp C là 203.162.41.235 (192 <
203 < 223).
Phần network_id dùng ba byte hay 24 bit, trừ đi 3 bit làm ID của lớp, còn lại 21
bit hay 2.097.152 (221) địa chỉ mạng (từ 192.0.0.0 đến 223.255.255.0).
Phần host_id dài một byte cho 256 (28) giá trị khác nhau. Trừ đi hai trường hợp
đặc biệt ta còn 254 host khác nhau trong một mạng lớp C. Ví dụ, đối với mạng
203.162.41.0, các địa chỉ host hợp lệ là từ 203.162.41.1 đến 203.162.41.254.
4. Lớp D và E.
Các địa chỉ có byte đầu tiên nằm trong khoảng 224 đến 255 là các địa chỉ thuộc
lớp D hoặc E.
5. Ví dụ cách triển khai đặt địa chỉ IP cho một hệ thống mạng.
6. Chia mạng con (subnetting).
Một số khái niệm mới:
- Địa chỉ mạng con (địa chỉ đường mạng): bao gồm cả phần network_id và
subnet_id, phần host_id chỉ chứa các bit 0. Theo hình bên trên thì ta có các địa
chỉ mạng con sau: 150.150.1.0, 150.150.2.0, …
- Địa chỉ broadcast trong một mạng con: Giữ nguyên các bit dùng làm địa chỉ
mạng con, đồng thời bật tất cả các bit trong phần host_id lên 1. Ví dụ địa chỉ
broadcast của mạng con 150.150.1.0 là 150.150.1.255.
- Mặt nạ mạng con (subnet mask): giúp máy tính xác định được địa chỉ mạng
con của một địa chỉ host. Để xây dựng mặt nạ mạng con cho một hệ thống địa
chỉ, ta bật các bit trong phần network_id và subnet_id lên 1, tắt các bit trong
phần host_id thành 0. Ví dụ mặt nạ mạng con dùng cho hệ thống mạng trong
hình trên là 255.255.255.0.
Vấn đề đặt ra là khi xác định được một địa chỉ IP (ví dụ 172.29.8.230) ta không
thể biết được host này nằm trong mạng nào (không thể biết mạng này có chia
mạng con hay không, và nếu có chia thì dùng bao nhiêu bit để chia). Chính vì
54

vậy khi ghi nhận địa chỉ IP của một host, ta cũng phải cho biết subnet mask là
bao nhiêu (subnet mask có thể là giá trị thập phân, cũng có thể là số bit dùng
làm subnet mask).
+ Ví dụ địa chỉ IP ghi theo giá trị thập phân của subnet mask là
172.29.8.230/255.255.255.0
+ Hoặc địa chỉ IP ghi theo số bit dùng làm subnet mask là 172.29.8.230/24.
7. Địa chỉ riêng (private address) và cơ chế chuyển đổi địa chỉ mạng
(Network Address Translation - NAT)
Tất cả các IP host khi kết nối vào mạng Internet đều phải có một địa chỉ IP do tổ
chức IANA (Internet Assigned Numbers Authority) cấp phát – gọi là địa chỉ hợp
lệ (hay là được đăng ký). Tuy nhiên số lượng host kết nối vào mạng ngày càng
gia tăng dẫn đến tình trạng khan hiếm địa chỉ IP. Một giải pháp đưa ra là sử
dụng cơ chế NAT kèm theo là RFC 1918 qui định danh sách địa chỉ riêng. Các
địa chỉ này sẽ không được IANA cấp phát - hay còn gọi là địa chỉ không hợp lệ.
8. Cơ chế NAT
NAT được sử dụng trong thực tế là tại một thời điểm, tất cả các host trong một
mạng LAN thường không truy xuất vào Internet đồng thời, chính vì vậy ta
không cần phải sử dụng một số lượng tương ứng địa chỉ IP hợp lệ. NAT cũng
được sử dụng khi nhà cung cấp dịch vụ Internet (ISP) cung cấp số lượng địa chỉ
IP hợp lệ ít hơn so với số máy cần truy cập Internet. NAT được sử dụng trên các
router đóng vai trò là gateway cho một mạng. Các host bên trong mạng LAN sẽ
sử dụng một lớp địa chỉ riêng thích hợp. Còn danh sách các địa chỉ IP hợp lệ sẽ
được cấu hình trên Router NAT. Tất cả các packet của các host bên trong mạng
LAN khi gửi đến một host trên Internet đều được router NAT phân tích và
chuyển đổi các địa chỉ riêng có trong packet thành một địa chỉ hợp lệ trong danh
sách rồi mới chuyển đến host đích nằm trên mạng Internet. Sau đó nếu có một
packet gửi cho một host bên trong mạng LAN thì Router NAT cũng chuyển đổi
địa chỉ đích thành địa chỉ riêng của host đó rồi mới chuyển cho host ở bên trong
mạng LAN.
Một cơ chế mở rộng của NAT là PAT (Port Address Translation) cũng dùng cho
mục đích tương ứng. Lúc này thay vì chỉ chuyển đổi địa chỉ IP thì cả địa chỉ
cổng dịch vụ (port) cũng được chuyển đổi (do Router NAT quyết định).

5. CÁC KIẾN TRÚC VÀ CÔNG NGHỆ MẠNG LAN


I. CÁC KIẾN TRÚC MẠNG (TOPOLOGY).
1. Khái niệm.
Network topology là sơ đồ dùng biểu diễn các kiểu sắp xếp, bố trí vật lý của
máy tính, dây cáp và những thành phần khác trên mạng theo phương diện vật lý.
Có hai kiểu kiến trúc mạng chính là: kiến trúc vật lý (mô tả cách bố trí đường
55

truyền thực sự của mạng), kiến trúc logic (mô tả con đường mà dữ liệu thật sự di
chuyển qua các node mạng)
2. Các kiểu kiến trúc mạng chính.
Mạng Bus (tuyến)
- Kiến trúc Bus là một kiến trúc cho phép nối mạng các máy tính đơn giản và
phổ biến nhất. Nó dùng một đoạn cáp nối tất cả máy tính và các thiết bị trong
mạng thành một hàng. Khi một máy tính trên mạng gửi dữ liệu dưới dạng tín
hiệu điện thì tín hiệu này sẽ được lan truyền trên đoạn cáp đến các máy tính còn
lại, tuy nhiên dữ liệu này chỉ được máy tính có địa chỉ so khớp với địa chỉ mã
hóa trong dữ liệu chấp nhận. Mỗi lần chỉ có một máy có thể gửi dữ liệu lên
mạng vì vậy số lượng máy tính trên bus càng tăng thì hiệu suất thi hành mạng
càng chậm.
- Hiện tượng dội tín hiệu: là hiện tượng khi dữ liệu được gửi lên mạng, dữ liệu
sẽ đi từ đầu cáp này đến đầu cáp kia. Nếu tín hiệu tiếp tục không ngừng nó sẽ
dội tới lui trong dây cáp và ngăn không cho máy tính khác gửi dữ liệu. Để giải
quyết tình trạng này người ta dùng một thiết bị terminator (điện trở cuối) đặt ở
mỗi đầu cáp để hấp thu các tín hiệu điện tự do.
- Ưu điểm: kiến trúc này dùng ít cáp, dễ lắp đặt, giá thành rẻ. Khi mở rộng
mạng tương đối đơn giản, nếu khoảng cách xa thì có thể dùng repeater để
khuếch đại tín hiệu.
- Khuyết điểm: khi đoạn cáp đứt đôi hoặc các đầu nối bị hở ra thì sẽ có hai đầu
cáp không nối với terminator nên tín hiệu sẽ dội ngược và làm cho toàn bộ hệ
thống mạng sẽ ngưng hoạt động.
Những lỗi như thế rất khó phát hiện ra là hỏng chỗ nào nên công tác quản trị rất
khó khi mạng lớn (nhiều máy và kích thước lớn).
Mạng star (sao)
- Trong kiến trúc này, các máy tính được nối vào một thiết bị đấu nối trung tâm
(Hub hoặc Switch).
Tín hiệu được truyền từ máy tính gởi dữ liệu qua hub tín hiệu được khuếch đại
và truyền đến tất cả các máy tính khác trên mạng.
- Ưu điểm: kiến trúc star cung cấp tài nguyên và chế độ quản lý tập trung. Khi
một đoạn cáp bị hỏng thì chỉ ảnh hưởng đến máy dùng đoạn cáp đó, mạng vẫn
hoạt động bình thường. Kiến trúc này cho phép chúng ta có thể mở rộng hoặc
thu hẹp mạng một cách dễ dàng.
- Khuyết điểm: do mỗi máy tính đều phải nối vào một trung tâm điểm nên kiến
trúc này đòi hỏi nhiều cáp và phải tính toán vị trí đặt thiết bị trung tâm. Khi thiết
bị trung tâm điểm bị hỏng thì toàn bộ hệ thống mạng cũng ngừng hoạt động.
Mạng Ring (vòng)
- Trong mạng ring các máy tính và các thiết bị nối với nhau thành một vòng
56

khép kín, không có đầu nào bị hở. Tín hiệu được truyền đi theo một chiều và
qua nhiều máy tính. Kiến trúc này dùng phương pháp chuyển thẻ bài (token
passing) để truyền dữ liệu quanh mạng.
- Phương pháp chuyển thẻ bài là phương pháp dùng thẻ bài chuyển từ máy tính
này sang máy tính khác cho đến khi tới máy tính muốn gửi dữ liệu. Máy này sẽ
giữ thẻ bài và bắt đầu gửi dữ liệu đi quanh mạng. Dữ liệu chuyển qua từng máy
tính cho đến khi tìm được máy tính có địa chỉ khớp với địa chỉ trên dữ liệu. Máy
tính đầu nhận sẽ gửi một thông điệp cho máy tính đầu gửi cho biết dữ liệu đã
được nhận. Sau khi xác nhận máy tính đầu gửi sẽ tạo thẻ bài mới và thả lên
mạng. Vận tốc của thẻ bài xấp xỉ với vận tốc ánh sáng.
Mạng Cellular (tế bào).
Các mạng tế bào chia vùng địa lý đang được phục vụ thành các tế bào, mỗi tế
bào được một trạm trung tâm phục vụ. Các thiết bị sử dụng các tín hiệu radio để
truyền thông với trạm trung tâm, và trạm trung tâm sẽ định tuyến các thông điệp
đến các thiết bị. Ví dụ điển hình của mạng tế bào là mạng điện thoại di động.
3. Các kiến trúc mạng kết hợp.
Mạng star bus.
Star bus là mạng kết hợp giữa mạng star và mạng bus. Trong kiến trúc này một
vài mạng có kiến trúc hình star được nối với trục cáp chính (bus). Nếu một máy
tính nào đó bị hỏng thì nó không ảnh hưởng đến phần còn lại của mạng. Nếu
một Hub bị hỏng thì toàn bộ các máy tính trên Hub đó sẽ không thể giao tiếp
được.
Mạng star ring.
Mạng Star Ring tương tự như mạng Star Bus. Các Hub trong kiến trúc Star Bus
đều được nối với nhau bằng trục cáp thẳng (bus) trong khi Hub trong cấu hình
Star Ring được nối theo dạng hình Star với một Hub chính.
II. CÁC CÔNG NGHỆ MẠNG LAN.
1. Khái niệm.
- Collision Domain: đây là một vùng có khả năng bị đụng độ do hai hay nhiều
máy tính cùng gửi tín hiệu lên môi trường truyền thông.
- Broadcast Domain: đây là một vùng mà gói tin phát tán (gói tin broadcast) có
thể đi qua được.
Trong vùng Broadcast Domain có thể là vùng bao gồm nhiều Collision Domain.
2. Ethernet
Đầu tiên, Ethernet được phát triển bởi các hãng Xerox, Digital, Intel vào đầu
những năm 1970. Phiên bản đầu tiên của Ethernet được thiết kế như một hệ
thống 2,94 Mbps để nối hơn 100 máy tính vào một sợi cáp dài 1 Km. Sau đó các
hãng lớn đã thảo luận và đưa ra chuẩn dành cho Ethernet 10 Mbps.
57

Ethernet chuẩn thường có cấu hình bus, truyền với tốc độ 10Mbps và dựa vào
CSMA/CD (Carrier Sense Multiple Access / Collision Detection) để điều chỉnh
lưu thông trên đường cáp chính. Tóm lại những đặc điểm cơ bản của Ethernet
như sau:
- Cấu hình: bus hoặc star.
- Phương pháp chia sẻ môi trường truyền: CSMA/CD.
- Quy cách kỹ thuật IEEE 802.3
- Vận tốc truyền: 10 – 100 Mbps.
- Cáp: cáp đồng trục mảnh, cáp đồng trục lớn, cáp UTP.
- Tên của chuẩn Ethernet thể hiện 3 đặc điểm sau:
- Con số đầu tiên thể hiện tốc độ truyền tối đa.
- Từ tiếp theo thể hiện tín hiệu dải tần cơ sở được sử dụng (Base hoặc Broad).
+ Ethernet dựa vào tín hiệu Baseband sẽ sử dụng toàn bộ băng thông của
phương tiện truyền dẫn. Tín hiệu dữ liệu sẽ được truyền trực tiếp trên phương
tiện truyền dẫn mà không cần thay đổi kiểu tín hiệu.
+ Trong tín hiệu Broadband (ethernet không sử dụng), tín hiệu dữ liệu không
bao giờ gởi trực tiếp lên phương tiện truyền dẫn mà phải thực hiện điều chế.
- Các ký tự còn lại thể hiện loại cáp được sử dụng. Ví dụ: chuẩn 10Base2, tốc độ
truyền tối đa là 10Mbps, sử dụng tín hiệu Baseband, sử dụng cáp Thinnet.
Card mạng Ethernet: hầu hết các NIC cũ đều được cấu hình bằng các jump (các
chấu cắm chuyển) để ấn định địa chỉ và ngắt. Các NIC hiện hành được cấu hình
tự động hoặc bằng một chương trình chạy trên máy chứa card mạng, nó cho
phép thay đổi các ngắt và địa chỉ bộ nhớ lưu trữ trong một chip bộ nhớ đặc biệt
trên NIC.
Dạng thức khung trong Ethernet: Ethernet chia dữ liệu thành nhiều khung
(frame). Khung là một gói thông tin được truyền như một đơn vị duy nhất.
Khung trong Ethernet có thể dài từ 64 đến 1518 byte, nhưng bản thân khung
Ethernet đã sử dụng ít nhất 18 byte, nên dữ liệu một khung Ethernet có thể dài từ
46 đến 1500 byte. Mỗi khung đều có chứa thông tin điều khiển và tuân theo một
cách tổ chức cơ bản.
Các loại Ethernet với băng tần cơ sở:
- 10Base2: tốc độ 10, chiều dài cáp nhỏ hơn 200 m, dùng cáp thinnet (cáp đồng
trục mảnh).
- 10Base5: tốc độ 10, chiều dài cáp nhỏ hơn 500 m, dùng cáp thicknet (cáp đồng
trục dày).
- 10BaseT: tốc độ 10, dùng cáp xoắn đôi (Twisted-Pair).
- 10BaseFL: tốc độ 10, dùng cáp quang (Fiber optic).
58

- 100BaseT: tốc độ 100, dùng cáp xoắn đôi (Twisted-Pair).


- 100BaseX: tốc độ 100, dùng cho multiple media type.
- 100VG-AnyLAN: tốc độ 100, dùng voice grade.
2.1 Chuẩn 10Base2
Cấu hình này được xác định theo tiêu chuẩn IEEE 802.3 và bảo đảm tuân thủ
các quy tắc sau:
- Khoảng cách tối thiểu giữa hai máy trạm phải cách nhau 0.5m.
- Dùng cáp Thinnet (RG-58).
- Tốc độ 10 Mbps.
- Dùng đầu nối chữ T (T-connector).
- Không thể vượt quá phân đoạn mạng tối đa là 185m. Toàn bộ hệ thống cáp
mạng không thể vượt quá 925m.
- Số nút tối đa trên mỗi phân đoạn mạng là 30.
- Terminator (thiết bị đầu cuối) phải có trở kháng 50 ohm và được nối đất.
- Mỗi mạng không thể có trên năm phân đoạn. Các phân đoạn có thể nối tối đa
bốn bộ khuếch đại và chỉ có ba trong số năm phân đoạn có thể có nút mạng
(tuân thủ quy tắc 5-4-3).
Quy tắc 5-4-3: quy tắc này cho phép kết hợp đến năm đoạn cáp được nối bởi 4
bộ chuyển tiếp, nhưng chỉ có 3 đoạn là nối trạm. Theo hình trên ta thấy đoạn 3, 4
chỉ tồn tại nhằm mục đích làm tăng tổng chiều dài mạng và cho phép máy tính
trên đoạn 1, 2, 5 nằm cùng trên một mạng.
Ưu điểm chuẩn 10Base2: giá thành rẻ, đơn giản.
2.2 Chuẩn 10Base5
Chuẩn mạng này tuân theo các quy tắc sau:
- Khoảng cách tối thiểu giữa hai nút là 2.5m.
- Dùng cáp thicknet (cáp đồng dày).
- Băng tần cơ sở 10Mbps.
- Chiều dài phân đoạn mạng tối đa là 500m.
- Toàn bộ chiều dài mạng không thể vượt quá 2500m.
- Thiết bị đầu cuối (terminator) phải được nối đất.
- Cáp thu phát (tranceiver cable), nối từ máy tính đến bộ thu phát, có chiều dài
tối đa 50m.
- Số nút tối đa cho mỗi phân đoạn mạng là 100 (bao gồm máy tính và tất cả các
repeater).
- Tuân theo quy tắc 5-4-3.
59

Ưu điểm: khắc phục được khuyết điểm của mạng 10Base2, hỗ trợ kích thước
mạng lớn hơn.
Chú ý: trong các mạng lớn người ta thường kết hợp cáp dày và cáp mảnh. Cáp
dày dùng làm cáp chính rất tốt, còn cáp mảnh dùng làm đoạn nhánh.
2.3 Chuẩn 10BaseT.
Chuẩn mạng này tuân theo các quy tắc sau:
- Dùng cáp UTP loại 3, 4, 5 hoặc STP, có mức trở kháng là 85-115 ohm, ở
10Mhz.
- Dùng quy cách kỹ thuật 802.3.
- Dùng thiết bị đấu nối trung tâm Hub.
- Tốc độ tối đa 10Mbps.
- Dùng đầu nối RJ-45.
- Số nút tối đa là 512 và chúng có thể nối vào 3 phân đoạn bất kỳ với năm phân
tuyến tối đa có sẵn.
- Chiều dài tối đa một phân đoạn cáp là 100m.
- Dùng mô hình vật lý star.
- Có thể nối các phân đoạn mạng 10BaseT bằng cáp đồng trục hay cáp quang.
- Số lượng máy tính tối đa là 1024.
- Khoảng cách tối thiểu giữa hai máy tính là 2,5m.
- Khoảng cách cáp tối thiểu từ một Hub đến một máy tính hoặc một Hub khác là
0,5m.
Ưu điểm: do trong mạng 10BaseT dùng thiết bị đấu nối trung tâm nên dữ liệu
truyền tin cậy hơn, dễ quản lý. Điều này cũng tạo thuận lợi cho việc định vị và
sửa chữa các phân đoạn cáp bị hỏng. Chuẩn này cho phép bạn thiết kế và xây
dựng trên từng phân đoạn một trên LAN và có thể tăng dần khi mạng cần phát
triển. 10BaseT cũng tương đối rẻ tiền so với các phương án đấu cáp khác.
2.4 Chuẩn 10BaseFL.
Các đặc điểm của 10BaseFL:
- Tốc độ tối đa 10 Mbps.
- Truyền qua cáp quang.
Ưu điểm:
- Do dùng cáp quang nối các Repeater nên khoảng cách tối đa cho một đoạn cáp
là 2000m.
- Không sợ bị nhiễu điện từ.
- Số nút tối đa trên một đoạn cáp lớn hơn nhiều so với 10Base2, 10Base5,
60

10BaseT.
2.5 Chuẩn 100VG-AnyLAN.
100VG (Voice Grade) AnyLan là công nghệ mạng kết hợp các thành phần của
Ethernet và Token Ring, dùng quy cách kỹ thuật 802.12. Các đặc điểm kỹ thuật:
- Tốc độ truyền dữ liệu tối thiểu là 100Mbps.
- Sử dụng cáp xoắn đôi gồm bốn cặp xoắn (UTP loại 3, 4, 5 hoặc STP) và cáp
quang.
- Khả năng hỗ trợ sàng lọc từng khung có địa chỉ tại Hub nhằm tăng cường tính
năng bảo mật.
- Chấp nhận cả khung Ethernet lẫn gói Token Ring.
- Định nghĩa trong IEEE 802.12.
- Mô hình vật lý: cascaded star, mọi máy tính được nối với một Hub. Có thể mở
rộng mạng bằng cách thêm Hub con vào Hub trung tâm, Hub con đóng vai trò
như máy tính đối với Hub mẹ.
- Chiều dài tối đa của đoạn chạy cáp nối hai Hub là 250m.
2.6 Chuẩn 100BaseX.
Tiêu chuẩn 100BaseX Ethernet còn gọi là Fast Ethernet là sự mở rộng của tiêu
chuẩn Ethernet có sẵn. Tiêu chuẩn này dùng cáp UTP Cat5 và phương pháp truy
cập CSMA/CD trong cấu hình star bus với mọi đoạn cáp nối vào một Hub tương
tự 10BaseT. Tốc độ 100Mbps. Chuẩn 100BaseX có các đặc tả ứng với các loại
đường truyền khác nhau:
- 100BaseT4: dùng cáp UTP loại 3, 4, 5 có bốn cặp xoắn đôi.
- 100BaseTX: dùng cáp UTP loại 5 có hai cặp xoắn đôi hoặc STP.
- 100BaseFX: dùng cáp quang có hai dây lõi.
3. FDDI.
Một trong những bất lợi chính của các mạng vòng tín bài là sự nhạy cảm của
chúng với bất trắc. Vì mỗi máy gắn trên vòng phải chuyển khung cho máy kế
nên một hỏng hóc trên máy sẽ làm cho toàn mạng ngưng hoạt động. Phần cứng
vòng tín bài thường được thiết kế để tránh những hư hỏng như thế. Tuy nhiên
hầu hết các mạng vòng tín bài không thể vượt qua khi sự kết nối bị cắt như khi
đường cáp nối hai máy bỗng nhiên bị đứt.
Một số công nghệ mạng vòng đã được thiết kế để khắc phục được hỏng hóc
nghiêm trọng. Ví dụ FDDI (Fiber Distributed Data Interconnection) là công
nghệ mạng vòng tín bài có thể truyền dữ liệu ở tốc độ 100 triệu bit/giây, nhanh
gấp 8 lần mạng vòng tín bài IBM, và nhanh hơn 10 lần mạng Ethernet. Để cung
ứng tốc độ dữ liệu nhanh như vậy, FDDI dùng sợi quang để nối các máy thay
cho cáp đồng.
61

Mạng FDDI sử dụng cáp quang có đặc điểm sau:


- Chiều dài của cáp: chiều dài tối đa của cáp (2 vòng) là 100Km, nếu cáp (1
vòng) thì chiều
dài tối đa là 200Km.
- Số trạm trên mạng: có khả năng hỗ trợ 500 máy trong một mạng.
- Bảo mật: chỉ bị nghe lén khi vòng cáp bị đứt.
- Nhiễu điện từ: không bị nhiễu điện từ.
FDDI dùng tính năng dự phòng để khắc phục sự cố. Một mạng FDDI gồm hai
vòng - một dùng để gởi dữ liệu khi mọi việc đều ổn, và chỉ sử dụng vòng thứ hai
khi vòng một hỏng. Về mặt vật lý, hai đường nối với một cặp máy tính là không
hoàn toàn cách biệt. Mỗi sợi quang được bọc trong một vỏ nhựa dẻo và có một
vỏ bọc cặp sợi bao bên ngoài tương tự như các đường dây điện trong nhà. Vì
vậy có thể lắp đặt hai vòng cùng một lúc.
Điều thú vị là các vòng trong mạng FDDI được gọi là xoay ngược (counter
rotating) vì dữ liệu chảy trong vòng thứ hai ngược lại với hướng dữ liệu vòng
thứ nhất. Để hiểu tại sao lại dùng các vòng xoay ngược, hãy xét trường hợp có
sự cố nghiêm trọng xảy ra. Thứ nhất vì cặp sợi nối hai trạm thường đi trên cùng
đường nên khi đứt một sợi thì thường là đứt luôn sợi kia. Thứ hai, nếu dữ liệu
luôn luôn đi theo một hướng trên cả hai sợi, việc ngắt một trạm ra khỏi vòng (ví
dụ khi di chuyển máy) sẽ ngắt truyền thông các máy khác. Tuy nhiên, nếu dữ
liệu chuyển theo hướng ngược lại ở đường dự trữ, các trạm còn lại có thể cấu
hình mạng để sử dụng đường dự phòng.
Phương pháp truy cập mà mạng FDDI sử dụng là phương pháp Token-Ring.
Thẻ Token là một Frame đặc biệt, chạy xoay vòng trên đường mạng. Khi máy
trạm cần truyền dữ liệu, nó sẽ bắt thẻ Token, sau khi bắt được thẻ thì nó bắt đầu
truyền dữ liệu, sau khi truyền dữ liệu xong thì nó sẽ giải phóng thẻ Token. Chỉ
có máy trạm nào giữ thẻ Token mới được phép truyền dữ liệu lên trên đường
mạng.

6. KIẾN THỨC AN NINH MẠNG


I. KIẾN THỨC AN NINH MẠNG CĂN BẢN
Lĩnh vực an ninh mạng có thể nói là rất rộng, tuy nhiên không có gì là không
thể. Bạn cần bắt đầu từ những định nghĩa, khái niệm, tới các nền tảng trong
ngành công nghệ thông tin như: Lập trình (bạn có thể chọn các nền tảng như
html & css, java,ruby, python, c++/#, javascript, php, joomla)
An toàn thông tin; Cơ sở dữ liệu; Quản trị mạng; An ninh mạng và bảo mật hệ
thống; Mã hóa và giải mã; Lỗ hổng và khai thác lỗ hổng website, ứng dụng; Mã
độc, virus ...
62

1. Các lỗi bảo mật Website thường gặp


Các lỗi bảo mật website ngày càng đa dạng, với nhiều hình thức tấn công và gây
thiệt hại nghiêm trọng. Làm thế nào để bảo mật website toàn diện, những lỗi bảo
mật website phổ biến nhất, kèm theo ví dụ và những giải pháp cụ thể.
Theo các chuyên gia bảo mật, hầu hết các website bị gặp vấn đề về bảo mật là
do kỹ thuật lập trình, tính bảo mật kém của các ứng dụng, phần mềm dành cho
website. Giả sử như ứng dụng chat với khách hàng online trên wesite online.
Nếu ứng dụng chat đó chưa được rà soát lỗ hổng thì có thể có khả năng ứng
dụng đó sẽ chứa lỗ hổng bảo mật. Trên thực tế, việc kiểm tra thử nghiệm tính
bảo mật của website, phần mềm và các ứng dụng còn đang rất hạn chế.
Theo thống kế lỗi bảo mật website vào năm 2015 thì có tới 9 website của cơ
quan nhà nước đã bị tấn công thay đổi giao diện. Cùng với đó là 144 đường dẫn
bị thay đổi, 227 đường dẫn phát tán mã độc, 106 website bị cài mã độc.
Đáng chú ý hơn, google Việt Nam cũng đã bị tấn công vào 23/2/2015, vụ việc
được xác minh là do nhóm hacker Lizard Squad. Và vụ việc gần đây nhất là lỗi
bảo mật web của cảng hàng không Tân Sơn Nhất, Rạch Giá, Tuy Hòa đã bị 2
bạn trẻ 15 tuổi tấn công.
Vậy nguyên nhân gây ra các lỗ hổng bảo mật website là gì ?
1. 1. Phần mềm, ứng dụng miễn phí
Cũng như những phần mềm miễn phí tải về máy tính bị nhiễm virus, có những
loại virus bạn chỉ cần CCleaner, bkav, hoặc phần mềm diệt virus thông thường
có thể tránh được sự cố bảo mật về website, máy tính cá nhân. Tuy nhiên có
những phần mềm bạn không thể xóa được mà cần phải nhờ sự giúp đỡ của
những người có chuyên môn.
Ứng dụng miễn phí cũng vậy, những ứng dụng này sẽ ngấm ngầm sao lưu dữ
liệu thông tin của bạn gửi tới những kẻ xấu và bạn có thể bị mất tiền nếu muốn
chuộc lại. Và gần đây nhất không đâu xa, quý I đầu năm 2017, hàng loạt vụ báo
cáo về việc bị nhiễm phần mềm tống tiền Ransomware ảnh hưởng tới website,
iphone, thiết bị IoT.
1.2. Do một số ngôn ngữ lập trình có tính bảo mật web chưa cao:
Ngôn ngữ lập trình backend dễ học nhất là PHP. Hầu hết các website ở Việt
Nam được lập trình bằng php, wordpress. Các lập trình viên hay designer
thường nhầm lẫn giữa 2 phương thức bảo mật GET và POST, do đó website có
thể bị nhòm ngó nếu lập trình sai.
Thực tế, các chuyên gia bảo mật cho rằng ngay cả những người không cần nền
tảng về lập trình cũng có thể học được và tạo ra được những website, những
phần mềm đơn giản. Vì cú pháp, function đơn giản nên có thể vì vậy mà tính
bảo mật chưa cao.
Lỗi bảo mật trong website wordpress cũng không ngoại trừ. Nhắm vào những
phần mềm SEO free, plugin for seo, các hacker đã tấn công người dùng 1 cách
63

thầm lặng. Một trong những plugin cho Seo wordpress bị nhiễm mã độc mà bạn
cần gỡ bỏ ngay chính là WP- Base-SEO.
Vậy làm thế nào để tăng cường tính bảo mật cho website được code bằng PHP,
câu trả lời là bạn hãy dùng framework. Framework giúp tăng cường tính bảo mật
website mà mọi người yêu thích dùng nhất là Laravel, tiếp đó là symfony, thứ 3
là CodeIgniter.
1.3. Giải pháp tăng cường tính bảo mật website thường gặp nữa là giảm lỗ
hổng trong session, XSS
Bên cạnh những lỗi bảo mật website thường gặp trên còn có lỗ hổng trong XSS.
Bằng cách gửi đường link tới session, user name, khi người dùng click vào thì
website của bạn đã bị nhiễm virus. Bị lỗi này coi như toàn bộ website của bạn bị
hacker điều khiển, từ đó hackers có thể lợi dụng để tấn công chính site này và
những site khác nếu chúng bị bảo mật khác như CSRF. Đây là hình thức tấn
công website nguy hiểm cao nhưng khả năng khai thác thấp vì phải lừa được
người dùng.
Hàng năm có tới 21.5% các website bị xâm nhập vì lỗi XSS.
1.4. Lỗ hổng bảo mật trong cơ sở dữ liệu, kết nối web 2.0, javascipt, AJAX
Những lỗi bảo mật website hay gặp trong javascript là vô tình sử dụng toán tử
gán, nhầm lẫn giữa phép cộng và phép nối, lỗi ở câu lệnh return, kết thúc định
nghĩa bằng dấu phẩy không chính xác.
1.5. Lỗi chuyển tiếp và điều hướng không xác định
Đây là lỗi vấn đề đầu vào (lỗi về input). Giả sử rằng trang web đích có một
module redirect.php có thể lấy URL như một tham số GET. Khi thực hiện thao
tác với tham số này trên targetite.com, trang web của bạn có thể chuyển hướng
tới phần mềm malwareinstall.com. Người dùng thường cảm thấy tin cậy khi
click vào targetite.com/blahblahblah nhưng ít ai ngờ đây là cơ hội cho các phần
mềm độc hại lợi dụng tấn công website. Ngoài ra, kẻ tấn công có thể chuyển
hướng trình duyệt sang ‘targetite.com/deleteprofile?confirm=1’.
Điều đáng nói là khi nhồi nhét những input không xác định được người dùng có
thể làm phần header trở nên tệ hại.
Giải pháp bảo mật cho website khi bị lỗi điều hướng, chuyển tiếp
+ Không làm chuyển hướng tất cả vì thực sự không cần thiết
+ có 1 danh sách tĩnh các vị trí phù hợp để redect.
2. Các phương thức tấn công mạng phổ biến nhất
Công nghệ thông tin ngày càng trở nên đa dạng hóa kéo theo các phương thức
tấn công mạng ngày càng khó lường và phức tạp. Vậy những phương thức, hình
thức tấn công mạng, xâm nhập mạng đó là gì?
64

Trên thực tế, hiện nay có rất nhiều dạng, phương thức tấn công mạng. Các tin
tặc có thể cài mã độc vào bên trong file hoặc ứng dụng phần mềm của hệ thống
hoặc tấn công từ wifi bên ngoài…; các hoạt động xâm nhập ngày càng tinh vi,
đa chiều vì vậy ” phòng bệnh tốt hơn chữa bệnh “.
2.1. Những phương thức tấn công mạng chủ yếu.
– Tấn công mạng với hình thức Phishing:
Người dùng rất dễ bị lừa nếu không để ý tới trang web mà mình đang truy cập
bởi vì Phishing là kiểu tấn công người dùng bằng cách tạo ra 1 trang web với địa
chỉ giả mạo. Chẳng hạn như www.google.com thành www.gugle.com. Thông
thường với hình thức này, các tin tặc sẽ gửi tới người dùng 1 email đăng nhập để
người dùng đăng nhập và click vào đó, tiếp theo sẽ sử dụng kỹ thuật điều hướng
để điều sang website chứa mã độc. Và vô tình, khi bạn đăng nhập thông tin tài
khoản gmail của mình vào web giả mạo đó, bạn đã bị mất tài khoản.
- Tấn công mạng trực tiếp từ bên trong nội bộ:
Tin tặc có thể cài gắm máy tính trực tiếp của họ vào máy tính của người khác
hoặc lấy được tài khoản và mật khẩu của người khác sau đó thực hiện hành vi
tấn công của mình
– Tấn công gián tiếp:
Các hacker có thể nghe trộm những thông tin khi truy cập vào hệ thống máy tính
người dùng để đánh cắp dữ liệu cá nhân như hình ảnh, file, video…
– Tấn công theo tệp đính kèm:
Ví dụ như Email, file đính kèm chẳng hạn. Sau khi người dùng click vào tệp
đính kèm thì lập tức máy tính bị nhiễm virus. Case Study điển hình trong thời
gian quý I năm 2017 là hàng loạt vụ xảy ra liên quan tới mã độc tống tiến
Ransomware khi người dùng Click vào tệp đính kèm trong email. Hoặc mã độc
tống tiền Ransomware có thể ẩn trong quảng cáo Skype, phần mềm trên điện
thoại iPhone, Android.
– Tấn công ẩn danh:
Virus có thể xâm nhập vào máy tính bằng những phần mềm độc hại như những
phần mềm diệt virus, phần mềm học tập hay các trình duyệt, plug in ẩn danh, ẩn
trong quảng cáo của trình duyệt & phần mềm.
– Tấn công vào con người:
Kẻ tấn công có thể liên lạc với người quản trị hệ thống, tạo nên 1 hộp thoại đăng
nhập sau đó yêu cầu người dùng thay đổi mật khẩu, thay đổi cấu hình hệ
thống. Phương tức tấn công mạng này rất khó tìm ra giải pháp ngăn chặn triệt để
ngoài giáo dục nhận thức của người dùng.
– Một số hình thức, phương thức tấn công vào hệ thống mạng, máy tính khác
như: thông qua usb, đĩa CD, địa chỉ IP, server, qua đầu vào của máy in….
65

2.2. Giải pháp hạn chế những phương thức tấn công mạng.
Tốt nhất là bạn nên trang bị cho mình những kiến thức tối thiểu cơ bản về bảo
mật và an ninh mạng như:
– Bảo vệ tài khoản cá nhân của mình bằng xác thực mật khẩu 2 lớp . Hiện tại
những trang web như facebook, gmail, những trang web với giao thức https
cũng đã hỗ trợ người dùng bảo mật mật khẩu 2 lớp.
– Không nên sử dụng những USB không rõ nguồn gốc hay đã cắm vào nhiều
máy tính khác nhau. Nếu tốc độ copy hoặc paste file trong USB của bạn chậm
thì nên thay cái mới với dung lượng lớn hơn.
– Để tránh bị tấn công mạng, bạn cũng không nên click vào những đường link lạ
hoặc những trang web đen.
– Dùng những phần mềm diệt virus uy tín.
– Nâng cấp các trình duyệt, phần mềm và ứng dụng một cách thường xuyên
– Đối với các doanh nghiệp, để tránh lại những phương thức tấn công mạng đa
dạng của hackers cần phải kiểm tra, nâng cấp hệ thống, có những giải pháp,
chiến lược an ninh mạng rõ ràng. Đồng thời việc bảo trì hệ thống mạng, máy
tính cần được thực hiện một cách đều đặn.
Những phương thức, hình thức tấn công mạng ngày càng đa dạng và khó lường.
Đối với những vụ tấn công mạng nhỏ có thể mất vài triệu tới vài chục triệu, còn
đối với những vụ tấn công mạng lớn có thể thiệt hại tới hàng tỷ.
3. Những hình thức tấn công mạng thường gặp
3.1.Tấn công vào trình duyệt (Browse Attacks)
Một trong các kiểu tấn công mạng điển hình nhất phải kể đến là tấn công vào
trình duyệt. Các cuộc tấn công của trình duyệt thường được bắt đầu bằng những
trang web hợp pháp nhưng dễ bị tổn thương. Kẻ tấn công có thể xâm nhập vào
website và gây hại cho đối tượng bằng phần mềm độc hại.
Cụ thể, khi có khách truy cập mới thông qua trình duyệt web, trang web đó sẽ
lập tức bị nhiễm mã độc. Từ đó, mã độc sẽ xâm nhập vào hệ thống của nạn nhân
qua lỗ hổng của trình duyệt.Các trình duyệt web bị tin tặc tấn công chủ yếu là
Microsoft Internet Explorer Edge, Google Chrome, Mozilla, Firefox, Apple
Safari, Opera.
3. 2.Tấn công vét cạn (Brute Force Attacks)
Hiểu một cách đơn giản, Brute force attacks là hình thức tấn công mạng sử dụng
mật khẩu, tên người dùng….để tự động kết hợp chúng với nhau cho tới khi
chính xác. Kiểu tấn công Brure attacks này có thể mất thời gian vì vậy tin tặc
thường sử dụng phần mềm tự động hóa để nhập hàng trăm nghìn mật khẩu. Để
phòng tránh kiểu tấn công này, người quản trị website cần cấu hình module giới
hạn số lần đăng nhập sai cho mỗi tài khoản, hoặc giới hạn số lần đăng nhập từ
các địa chỉ IP.
66

3.3.Tấn công từ chối dịch vụ (Ddos Attacks)


Ddos attack hay còn gọi là tấn công từ chối dịch vụ – đứng thứ ba trong danh
sách các cuộc tấn công mạng nổi bật.
Phương thức tấn công Ddos chủ yếu nhắm vào các mục tiêu như: website, máy
chủ trò chơi, máy chủ DNS..làm chậm, gián đoạn hoặc đánh sập hệ thống.
Theo khảo sát của Kaspersky, có tới 5.200 trường hợp bị tấn công từ chối dịch
vụ Ddos tại 29 quốc gia khác nhau trong năm 2017. Dự đoán, tần suất và
phương thức tấn công Ddos sẽ tăng lên, người dùng hãy hết sức cẩn thận.
3.4.Kiểu tấn công sâu bọ (Worm Attacks)
Worm là những chương trình có khả năng tự động khai thác, tấn công vào điểm
đầu cuối hoặc những lỗ hổng đã có sẵn. Sau khi đã tận dụng các lỗ hổng thành
công trong hệ thống, Worm sẽ tự động sao chép chương trình từ máy bị nhiễm
rồi lây lan sang các máy khác.
Kiểu tấn công mạng Worm Attack thường yêu cầu người dùng tương tác trước
để bắt đầu lây nhiễm. Worm attacks thường được tấn công thông qua tệp tải
xuống chứa email độc hại, usb, đầu lọc thẻ.
Một trong ví dụ tiêu biểu của phương thức tấn công này là mã độc WannaCry đã
lây nhiễm hơn 300.000 máy tính chỉ sau một vài ngày. WannaCry nhắm vào
mục tiêu lỗ hổng trên Windows, một khi máy bị nhiễm, phần mềm độc hại sẽ tự
động quét hệ thống mạng kết nối với nhau, từ đó lây nhiễm sang các máy tính
khác.
3. 5.Tấn công bằng phần mềm độc hại
3 Hình thức tấn công mạng thông qua phần mềm độc hại chủ yếu là:
– Email phishings: Tin tặc thường lừa đảo người dùng bằng cách tạo ra những
thông điệp để thu hút sự tò mò của nhân. Nhưng thực chất, những tệp này sẽ
chứa các phần mềm độc hại và phát tán ngay sau khi người dùng tải về máy.
– Tấn công bằng website độc hại (malicious websites): Với cách thức này, kẻ
tấn công thường tạo một trang web giả mạo có giao diện y hệt với giao diện của
website gốc. Sau khi nạn nhân truy cập vào địa chỉ website đó, phần mềm độc
hại sẽ từ từ thâm nhập vào hệ thống của họ. Điển hình cho ví dụ này là các vụ
giả mạo website ngân hàng, website ngành hàng không...
– Tấn công bằng quảng cáo chứa mã độc (Malvertising): Đối với một số kẻ tấn
công thông minh, chúng sẽ tận dụng mạng lưới các quảng cáo để gắn mã độc
vào đó. Khi click vào quảng cáo độc hại này, người dùng sẽ bị điều hướng tới
một website khác có chứa phần mềm độc hại. Nguy hiểm hơn, trong một số
trường hợp người dùng không click vào quảng cáo cũng có thể bị tấn công.
3. 6.Tấn công website (Website Attacks)
Các dịch vụ tấn công công cộng chẳng hạn như thông qua ứng dụng website, cơ
sở dữ liệu thường là đối tượng mục tiêu tấn công nhằm vào website.
67

Các cuộc tấn công mạng thông qua lỗ hổng website chủ yếu là lỗ hổng SQL
Injection, XSS, và path Traversal.
3.7.Kiểu tấn công rà quét (Scan Attacks)
Thay vì sử dụng các hình thức tấn công toàn diện, Scan Attacks là kỹ thuật tấn
công mạng rà quét lỗ hổng thông qua các dịch vụ, hệ thống máy tính, thiết bị, hạ
tầng mạng của doanh nghiệp. Tin tặc sẽ sử dụng các công cụ để rà quét, nghe lén
hệ thống mạng để tìm ra lỗ hổng sau đó thực thi tấn công.
3.8.Các kiểu tấn công mạng khác
Ngoài 7 kiểu tấn công mạng nổi bật nói trên, Hacker còn có thể xâm nhập vào
bên trong hệ thống bằng cách:
- Tấn công vật lý (Physical Attacks). Tin tặc sẽ cố gắng phá hủy, ăn cắp dữ liệu
kiến trúc trong cùng một hệ thống mạng.
- Tấn công nội bộ (Insider Attacks). Các cuộc tấn công nội bộ thường liên quan
tới người trong cuộc. Chẳng hạn như trong một công ty, một nhân viên nào đó
“căm ghét” người khác… các cuộc tấn công hệ thống mạng nội bộ có thể gây
hại hoặc vô hại. Khi có tấn công mạng nội bộ xảy ra, thông tin dữ liệu của công
ty có thể bị truy cập trái phép, thay đổi hoặc bán đổi.
4. Nguyên nhân và giải pháp giúp bảo mật website
4.1. Xóa những dịch vụ, phần mềm, ứng dụng không cần thiết
– Các chuyên gia khuyên bạn nên xóa hoặc gỡ bớt những phần mềm, ứng dụng
không cần thiết trên máy tính nếu không cần thiết sử dụng. Việc gỡ bỏ đi sẽ giúp
máy tính của bạn được bảo mật hơn, tránh nguy cơ bị nhiễm virus tiềm ẩn và tất
nhiên là nhẹ máy hơn rồi.
– Một số dịch vụ trong cấu hình máy chủ website ví dụ như các dịch vụ đăng ký
từ xa, dịch vụ in từ máy chủ , RAS…Khi chạy các dịch vụ trên máy chủ, hệ điều
hành sẽ có nhiều cổng mở ra , kéo theo là các mã độc, phần mềm độc hại tấn
công. Hãy vô hiệu hóa chúng và khởi động máy chủ lại
4.2. Bảo mật máy chủ và dữ liệu bằng cách hạn chế – Truy cập từ xa
Những kết nối từ xa cần phải được bảo vệ một cách chính xác bằng cách sử
dụng những giao thức ngầm, mã hóa. Hoặc có thể sử dụng những token bảo mật
và những thiết bị, phần mềm đăng nhập khác một lần duy nhất. Nếu bạn muốn
bảo mật dữ liệu máy chủ an toàn, bạn nên hạn chế các địa chỉ IP, các tài khoản ở
một số nơi như quán coffee, công viên…
4.3. Nội dung ứng dụng web và kịch bản từ phía máy chủ
Những ứng dụng, file và các tệp, kịch bản trên website nên được lưu trong ổ đĩa
riêng biệt bởi vì các hacker có thể truy cập vào thư mục gốc của website, thâm
nhập và chèn mã độc. Nguy hiểm hơn, chúng có thể truy cập toàn bộ nội dung
trên đĩa, hệ điều hành, các tệp có trong web, máy chủ. SecurityBox khuyên bạn
nên bảo mật mật khẩu 2 lớp để tránh bị mất dữ liệu, file
68

4.4. Bảo mật máy chủ bằng với quyền các các đặc quyền cụ thể
Quyền truy cập dịch vụ file và hệ thống đóng một vai trò quan trọng trong bảo
mật máy chủ web. Nếu máy chủ mà bị xâm nhập, các hackers rất dễ đọc file dữ
liệu, và làm một số tác vụ xấu.
4.5. Cài đặt các bản vá lỗ hổng đúng lúc
Khi có bản vá lỗ hổng được công bố, bạn nên rà soát, cài đặt, thêm vào để tránh
rò rỉ tài liệu, dữ liệu.
4.6. Giám sát và kiểm tra máy chủ
Mọi nhật ký dịch vụ mạng, nhật ký truy cập trang web, nhật ký máy chủ cơ sở
dữ liệu (ví dụ: Microsoft SQL Server, MySQL, Oracle) và nhật ký hệ điều hành
phải được theo dõi và kiểm tra thường xuyên. Việc giám sát sẽ mất khá nhiều
thời gian, chúng tôi khuyên bạn nên sử dụng dịch vụ pentest tổng thể nhằm đảm
bảo sự bảo mật cho máy chủ, dữ liệu, website tốt nhất
4.7. Bảo mật tài khoản người dùng – người quản trị
Tài khoản của các nhà quản trị nên được đổi tên thường xuyên và không được
đặt trùng cùng với người dùng gốc trên cài đặt linux / unix. Mỗi quản trị viên
truy cập vào máy chủ web phải có tài khoản người dùng của riêng mình, với các
đặc quyền chính xác cần thiết. Đây cũng là một thực tiễn bảo mật tốt để tránh
việc nhầm lẫn tài khoản của mọi người với nhau.
4.8. Sử dụng những công cụ được phát hành bởi nhà cung cấp phần mềm
Microsoft đã phát hành một số công cụ để giúp các quản trị viên cài đặt IIS
server an toàn hơn, ví dụ như quét URL
4.9. Sử dụng máy quét giúp bảo mật dữ liệu máy chủ toàn diện
Máy quét là công cụ tiện dụng giúp bạn tự động hóa và giảm bớt quá trình bảo
mật máy chủ web và các ứng dụng web. Tương tự như trình quét an ninh mạng,
Acunetix WVS sẽ khởi chạy một số kiểm tra an ninh tiên tiến đối với các cổng
mở và các dịch vụ mạng chạy trên máy chủ web của bạn.
Acunetix WVS sẽ kiểm tra các lỗ hổng trong SQL Injection, Cross scripting site,
các vấn đề cấu hình máy chủ web và các lỗ hổng khác. Ngoài ra, Acunetix WVS
còn có thể kiểm tra độ an toàn , sự bảo mật trong giỏ hàng, mẫu đơn, noioj dung
website. Sau khi kết thúc quá trình rà quét sẽ có một báo cáo tổng thể được tạo
ra gửi tới bạn.
5. Hướng dẫn bảo mật wibsite
5.1. Bảo mật trang login và ngăn chặn các hành vi xâm phạm
- Thiết lập khóa trang web và cấm người dùng:
Bạn có thể cài đặt plugin bảo mật iThemes (một trong những plugin giúp bảo
mật wordpress tốt nhất hiện nay) để tăng tính bảo mật trong trang login. Việc
69

thiết lập tính năng khóa trang web và cấm người dùng không truy cập được nữa
sẽ bảo mật tuyệt đối website wordpress của bạn.
– Plugin iThemes này cho phép chặn, cấm người dùng nếu có 1 ai đó cố gắng
đăng nhập, thử nhiều mật khẩu. Và khi có hành động bất thường này xảy ra lập
tức người quản trị web wordpress đó sẽ nhận được thông báo qua email.
– Điều hay ho mà SecurityBox thấy ở đây chính là việc bạn có thể hoàn toàn tự
set up chế độ bảo mật riêng – tức là tự cài đặt hạn chế số lần người dùng login ví
dụ như 3,4 lần và nếu cố đăng nhập lần thứ 5 thì sẽ bị cấm địa chỉ IP đang cố
tình đó.
– ĐÁNG CHÚ Ý: việc quản lý file wp-config.php trong wordpress là việc quan
trọng nhất trong wordpress.
5.2. Không quên xác thực 2 lớp – 2 factor authentication
– Hầu hết những diễn đàn, website bảo mật cao và wordpress đều yêu cầu xác
thực 2 lớp khi bạn đăng ký làm thành viên và có thể là đăng nhập. Admin
wordpress có thể tăng tính bảo mật cho website của mình bằng cách đưa ra
những câu hỏi bí mật hoặc bắt người dùng nhấp vào những hình ảnh đúng yêu
cầu, giải phép tính, nhập mã bí mật…
– Với SecurityBox, plugin WP Authenticator đã bảo mật website
wordpress của mình chỉ trong vài đúp click chuột
5.3. Login bằng Email giúp tăng cường bảo mật cho web
– Theo mặc định, bạn sẽ đăng nhập bằng tên của mình hoặc số điện thoại.
Nhưng việc sử dụng một Email ID thay vì một cái tên thông thường sẽ bảo mật
an toàn hơn rất nhiều khi login website.
– Tại sao sử dụng email đăng nhập an toàn hơn ? Lý do đơn giản là tên người
dùng, số điện thoại dễ đoán và mò được, còn với email ID thì không. Hơn nữa,
bất kỳ tài khoản người dùng nào trong wordpress cũng được tạo từ một địa chỉ
email DUY NHẤT. Điều này giúp bảo mật thông tin người dùng, website 1 cách
tuyệt đối
– plugin WP Email Login sẽ hoạt động ngay sau khi kích hoạt và bạn không cần
phải cấu hình gì cả. Cách kiếm tra: Bạn chỉ cần đăng xuất khỏi trang web, sau
đó đăng nhập lại, nhưng lần này hãy nhớ sử dụng email mà bạn đã tạo để login
5.4. Đổi URL đăng nhập
– Một trong các cách bảo mật website wordpress mà người dùng ít biết chính là
đổi địa chỉ url đăng nhập. Theo mặc định, trang login wordpress có thể truy cập
dễ dàng qua địa chỉ: wp-login.php hoặc wp-admin + URL chính của trang web.
ví dụ như: securitybox.vn/wp-admin/ chẳng hạn.
– Hacker phản ứng sau khi nhìn thấy địa chỉ login này: Nếu nhìn thấy url đăng
nhập dạng như trên, hacker có thể đăng nhập vào GWDb (Guess Work
Database, ví dụ: tên người dùng: admin và mật khẩu: P @ ssword …)
70

– Giải pháp: Để nâng cấp bảo mật wordpress toàn tập (to secure website
wordpress), bạn cần phải thay đổi địa chỉ URL đăng nhập ngay.
– Plugin hỗ trợ: iThems Security sẽ giúp bạn loại bỏ tới 99% các cuộc tấn công
của tin tặc
+ Ví dụ cách thay đổi địa chỉ URL trong phần login như sau:
– Thay đổi wp-login.php thành một cái gì đó độc đáo. Chẳng hạn:
My_new_login ; / wp-admin / thành My_new_admin ; /wp-
login.php?action=register thành My_new_registeration
5.5. Không quên sử dụng MẬT KHẨU MẠNH:
– Khá nhiều người vẫn sử dụng mật khẩu đơn giản như: 123456, 12345678,
1234567890… hay no password, khongcopass. Việc tạo mật khẩu đơn giản như
thế này chính là cơ hội mở cửa cho các tin tặc lợi dụng tấn công. SecurityBox
khuyến cáo: Bạn cần kiểm tra thay đổi mật khẩu ngay nếu bạn để mật khẩu như
trên hoặc quá đơn giản.
– Tốt nhất, hãy sử dụng mật khẩu có cả chữ hoa và chữ thường, số và ký tự đặc
biệt, tránh sử dụng số điện thoại cá nhân nhé.
- Bảo mật trang quản trị Admin. Theo các chuyên gia bảo mật. Bảng điều khiển
trang quản trị là phần được hacker nhòm ngó nhất vì khi hack được bảng điều
khiển Dashboard sẽ đạt được nhiều mong muốn nhất của chúng.
5.6. Bảo vệ thư mục wp-admin (secure wp-admin directory wordpress):
Thư mục wp-admin được ví như trái tim của bất kỳ website wordpress nào. Vì
thế, nếu phần này bị tấn công, bị xâm chiếm thì coi như website của bạn hỏng
hoàn toàn.
Giải pháp: Bảo vệ bằng mật khẩu trong thư mục wp-admin. Bằng cách sử dụng
plugin có tên: AskApache Password Protect , Admin có thể truy cập vào
dashboard bằng cách gửi 2 mật khẩu. Một mật khẩu bảo vệ trang login và một
mật khẩu bảo vệ khu vực quản trị WordPress. Nếu người dùng trang web được
yêu cầu truy cập vào một số phần cụ thể của wp-admin, bạn có thể bỏ chặn
những phần đó và khóa phần kia lại. Plugin AskApache Password Protect này
sẽ tự động tạo ra một tập tin .htpasswd, mã hóa mật khẩu và cấu hình quyền của
tập tin và tăng cường bảo mật cao cho wordpress.
5.7. Mã hóa dữ liệu bằng SSL
SSL (Secure Socket Layer) là một bức tiến giúp bảo vệ bảng quảng trị. Các
hacker sẽ cảm thấy khó khăn khi cố tình kết nối, phá độ bảo mật của website
wordpress vì đã có SSL đảm bảo truyền dữ liệu an toàn giữa các trình duyệt của
người dùng và máy chủ.
Lợi thế cho Seoer khi website có chứng chỉ bảo mật SSL sẽ làm tăng thứ hạng
tìm kiếm keyword trên Google. Bởi Google hiểu website của bạn đang bảo
người dùng tốt hơn với những site khác nên sẽ ưu tiên hơn trên bảng thứ hạng.
71

5.8. Sử dụng plugin Force Strong passwords khi dùng blog wordpress
Nhằm tăng độ Bảo mật wordpress khi có nhiều tác giả viết bài, bạn nên cài
plugin này. Đây là một biện pháp phòng ngừa,tăng thêm bảo mật nữa cho trang
wordpress
5. 9. Điều hướng các files
Nếu bạn muốn thêm một số tính năng bảo mật cho wordpress thì bạn có thẻ điều
khiển sự thay đổi các tệp, file bằng plugin Acunetix WP Security, Wordfence, or
again, iThemes Security
5.10. Thay đổi WordPress database table prefix
– Nếu như bạn thông thạo về code và đã cài wordpress thì có thể bạn đã quen
với tiền tố wp-table được sử dụng trong database của WordPress.
– Chắc hẳn bạn không quên lỗ hổng bảo mật website – SQL injection. Hãy thay
đổi wp- thành một số ví dụ như: mywp-, wpnew-
– Để hỗ trợ bảo mật database wordpress bạn có thể sử dụng plugins: WP-
DBManager hoặc iThemes Security. Và nhớ sao lưu dữ liệu website trước khi
thực hiện bất kể điều gì với dữ liệu. Nó giống như việc bạn photo CMTND
trước khi nộp đơn xin việc tại chỗ làm vậy.
5.11.Sao lưu dữ liệu, site một cách thường xuyên
– Việc sao lưu dữ liệu giúp bạn bảo mật được tài sản website của mình trước khi
một ngày dông tố nhất có thể xảy ra.
– SecurityBox chia sẻ, bạn có thể sử dụng VaultPress ( giúp sao lưu và bảo mật
dữ liệu website wordpress cực kỳ nhanh, tốt). Cho dù bất kể điều gì xấu,
SecurityBox đều có thể khôi phục lại được toàn bộ dữ liệu. Mặt khác,
VaultPress sẽ rà quét các lỗ hổng, malware trong site của bạn và cảnh báo ngay
khi có lỗi.
– Và điều không thể không chính là thiết lập mật khẩu mạng cho database
5.12. Bảo mật file wp-config.php trong wordpress
– Hỡi các bạn yêu wordpress, file wp-config.php là file chứa thông tin quan
trọng nhất trong phần cài đặt WordPress, là tệp phải lưu tâm trong thư mục gốc
của website. Bạn là một blogger sử dụng wordpress hoặc không phải, thì đều
cần bảo mật file wp-config.php
– Bạn có thể tắt chức năng Revisions để tiết kiệm cơ sở dữ liệu và tăng tính bảo
mật cho wordpress
5. 13. Nâng cấp bảo mật blog wordpress bằng cách nâng cấp quyền chỉnh
sửa tệp
– Nếu người dùng có quyền truy cập phần dashboard của trang quản trị, họ có
thể chỉnh sửa bất kỳ file nào, thậm chí cả plugin, themes.
72

– Tuy nhiên, để ngăn chặn hacker và người khác chỉnh sửa file bạn có thể vào
phần Dashboard của wordpress và thêm tệp sau vào cuối file wp-config.php:
define (‘DISALLOW_FILE_EDIT’, true);
5.14.Kết nối tới máy chủ một cách chính xác
– Khi thiết lập phần cài đặt, hãy kết nối với máy chủ qua SFTP hoặc SSH . Việc
kết nối máy chủ theo cách này giúp đảm bảo truyền tải an toàn cho các files.
5.15.Thiết lập quyền truy cập thư mục – tránh CHMOD
– Việc thay đổi những tệp tin hay quyền truy cập thư mục là một định hướng tốt
giúp đảm bảo website wordpress của bạn được bảo mật hơn trong lưu trữ
hosting. Hãy thiết lập quyền cho thư mục “755” và các tệp tin “644” để bảo vệ
toàn bộ hệ thống tập tin – thư mục, thư mục con và các tệp riêng lẻ.
– Bạn có thể thực hiện việc này thủ công qua File Manager bên trong bảng điều
khiển hosting của bạn, hoặc thông qua Terminal (kết nối với SSH) – sử dụng
lệnh “chmod”.
– CHMOD có thể rất đang mới lạ với bạn vì kiến thức phần này khá nhiều. Bạn
chỉ cần nhớ CHMOD trong thư mục là 777 thôi. Dạo đầu mình cũng 1 số bạn
admin khác chưa rõ về bảo mật WordPress cho lắm cũng đã bị lỗi mất thư mục
mà không biết lý do gì.
– Thiết lập phân quyền 777, cho phép tối đa tất cả user trên server đều có quyền
ghi/xóa/thực thi thư mục và các tập tin bên trong.
– Bạn đang dùng Shared Host, thì cần phải nhớ CHMOD chuẩn nhất là 755 cho
thư mục, 644 cho files. Với file wp-config.php thì hãy CHMOD thành 444 hoặc
440 hoặc 400.
516.Tắt danh sách thư mục với .htaccess
– Bạn tạo một thư mục có tên “data”, và có thể thấy mọi thứ trong thư mục
“data” bằng cách gõ http://www.example.com/data/ trong trình duyệt của bạn
– Bạn có thể ngăn chặn điều này bằng cách thêm dòng mã sau vào tệp tin
.htaccess: Options All -Indexes
5.17. Theo dõi và cập nhật thường xuyên các plugin, themes của WordPress
– Cũng giống như windows, việc update thường xuyên giúp bảo mật máy tính
của bạn tốt hơn, thì wordpress cũng vậy. Nếu không cập nhật những themes,
plugin của wordpress, bạn có thể gặp rắc rối về vấn đề bảo mật đấy. Và mới cuối
tháng 3/2017 vừa rồi, một plugin mang tên WP- Base-SEO đã dẫn lối cho
hacker.
5.18. Xóa phiên bản wordpress:
– Tất nhiên việc tìm ra phiên bản wordpress mà bạn đang sử dụng sẽ giúp
hacker lần ra dấu vết lỗ hổng dễ dàng hơn rất nhiều và chúng có nhiều time
nghiên cứu hơn để công phá.
73

6. Những nguyên tắc cơ bản để bảo mật website Joomla


6.1.Website phải được an toàn trước khả nǎng bị tấn công Cross-Site
Scripting
Cách tấn công Cross-Site Scripting dễ dàng thấy nhất là khi hacker có ý định
chèn một đoạn mã độc vào mẫu điền(form) nhập thông tin. Nội dung input vào
có thể chứa các tag <object> hoặc là <script> đi kèm với những đoạn mã độc vô
cùng nguy hiểm. Khi trình duyệt của bạn truy cập vào trang đó, nó sẽ cho rằng
các đoạn mã này là do máy chủ gửi đến. Sau đó, nó sẽ chạy đoạn mã này ở cấp
độ bảo mật thông thường, tất nhiên người dùng sẽ lãnh hậu quả nghiêm trọng
khi chạy đoạn mã đó. Để muốn an toàn trước kiểu tấn công Cross-Site Scripting
cần để tâm đến các điều sau đây. Thứ nhất đó là thường xuyên cập nhật tất cả
những bản vá bản sửa lỗi mới nhất từ IIS và Windows. Thứ 2 đó là phải luôn lọc
toàn bộ những ký tự đặc biệt từ người dùng nhập vào ví dụ như < > ” ‘ % ( ) &
+ – -. Phải lọc những ký tự này để kết xuất dựa trên cơ sở dữ liệu người dùng
nhập vào.
Code:

Để lọc được các dữ liệu đặc biệt cần phải xác định được chính sác lược đồ mã
hóa kỹ tự trên những website, ở trong <meta> hoặc phần <header>.
Code:

6. 2.Application có thể không dùng những cookie thường trực


Trước khi nói đến vấn đề bảo mật website ASP.NET , bạn lên hiểu cookie
thường trực là gì. Nó thông thường sẽ là những folder và được những
application của website gửi đến trình duyệt của người dùng và sẽ tồn tại trong ổ
cứng của người sử dụng kể cả khi họ không dùng đến trình duyệt. Chúng sẽ lưu
trữ lại tất cả những thông tin về người dùng để những application website có thể
tùy biến nội dung để phù hợp với tất cả những người sử dụng hay có thể cho
phép người dùng bỏ qua bước đăng ký hoặc đăng nhập.
Cookie không thường trực sẽ được lưu trong máy tính của người dùng và tồn tại
trong một khoảng thời gian nhất định khi người dùng sử dụng trình duyệt. IIS sẽ
dựa vào những cookie đó để có thể xác định 1 phiên ASP. Nếu không có nó, IIS
sẽ không thể duy trì một một phiên làm việc. Nếu như trang của bạn dùng
74

cookie thường trực , không nên để IIS lưu chúng trong log của IIS. Nếu như log
đã lưu lại toàn bộ thông tin đăng nhập của người dùng thì sẽ có khả năng các
thông tin này sẽ bị lộ ra ngoài bởi một thỏa hiệp nào đó.
6.3. Dùng SSL với toàn bộ các site “nhạy cảm” được chuyển ở trên Internet
SSL sẽ có nhiệm vụ mã hóa tất cả những thông điệp TCP/TP để chúng không bị
“nhòm ngó” ở trên đường truyền hoặc là có một giải pháp khác đó là mã hóa
VPN. Những điều này là rất cần thiết nếu như bạn muốn gửi các thông tin tối
mật như số thẻ tín dụng của bạn qua mạng Internet. Khả năng xâm nhập đường
truyền rồi lấy cắp những thông tin tuyệt mật sẽ là rất thấp nhưng không phải là
không có.
Theo nghiên cứu của SecurityBox, người dùng sẽ không đặt quá nhiều niềm tin
vào website của bạn nếu như toàn bộ thông tin của họ không được mã hóa một
cách toàn diện. Tuy vậy, mặt không tốt của SSL là sẽ có thể làm chậm lại hiệu
năng thực thi của những ứng dụng. Mức độ sử dụng tài nguyên trong CPU yêu
cầu ở trong tiến trình mã hóa và phiên dịch cho một trang SSL sẽ cao hơn từ 10
% đến 100% khi so sánh với những trang không bình thường. Nếu như máy chủ
có mật độ những trang SSL cao, bạn sẽ phải để tâm đến việc dùng thêm bộ tăng
tốc cho SSL phần cứng.
6.4. Người dùng sẽ phải đăng nhập khi muốn dùng ứng dụng
Nguyên tắc bảo mật website ASP.NET này, các bạn áp dụng nó cho những
application mà có yêu cầu việc đăng nhập. Việc này có nghĩa là đăng nhập tự
động dựa vào cookie sẽ là không được chấp nhận. Tuy người dùng có thể sẽ
cảm thấy phiền phức nhưng nếu cho người dùng tự động đăng nhập tự cookie đó
sẽ có vô vàn hiểm nguy.
Một giải pháp để bảo vệ mật khẩu của bạn là việc chúng ta có thể dễ dàng làm
được bằng cách thêm autocomplete = “off” cho tag <form> hay <input>.
Code:

6.5Người dùng sẽ được đăng xuất khi thoát khỏi site


Ví dụ bảo mật web service ASP.NET cụ thể với phần này. Ví dụ như có một
người dùng đang lướt một trang trên website của bạn, và rồi họ thoát khỏi và
vào một website mới nhưng lại không thích rồi trở lại website của bạn bằng
phím mũi tên ⇐ trên trình duyệt của bạn.
Ở trong trường hợp này, application phải đưa ra yêu cầu người dùng đăng nhập
lại. Có những trường hợp giống như trường hợp ở trên của người dùng phải phụ
thuộc toàn bộ vào những script chạy ẩn ở trong trình duyệt mà không thể dựa
75

vào máy chủ bởi vì nó không thể biết người dùng đã lướt những trang nào đã ở
những đâu.
Vậy cách bảo mật website ASP.NET tốt nhất cho vấn đề này đó là dùng bảo
mật Proxy Server giống như của Netegrity SiteMinder. Giải pháp này sẽ kiểm
tra và giám sát toàn bộ những request Website từ trình duyệt của bạn và chép lại
mọi địa chỉ mà trình duyệt của bạn đã vào và để application có thể xem xét và
kiểm tra. Một cách thức không hoàn chỉnh ở trong việc xem xét những hạn chế
site có thể làm được bằng cách nhập đoạn mã sau
Code:

Ví dụ như người dùng muốn truy cập vào bất kể một website nào đó không
giống với website đã được từ một link của một website khác, thì chúng sẽ phản
hồi bằng 1 lệnh từ chối. Mặc dù vậy, cách này sẽ không ngăn chặn được việc
một người dùng rời bỏ website của bạn đến một trang khác nhưng rồi lại trở lại
trang của bạn và tiếp tục công việc của họ.
6.6.Ngắt kết nối khi người dùng không có tác động đến website sau thời
gian
Bạn 2 lựa chọn để bảo mật website ASP.NET cho vấn đề này.
Giải pháp thứ nhất đó là ta sẽ dùng IIS manager rồi sau đó đặt giới hạn cho
phiên làm việc ASP với một khoảng thời gian cụ thể hoặc bạn mong muốn trong
bao lâu. Ở trong ứng dụng, lưu dữ liệu truy cập vào trong 1 biến phiên làm việc
và sau đó sẽ xem xét và kiểm tra ở trên tất cả website mà người dùng duyệt qua.
Nếu như thông tin truy cập không nằm trong 1 biến phiên, người dùng đó sẽ bị
ngắt kết nối tới website và ứng dụng sẽ cần chuyển hướng họ đến trang đăng
nhập hệ thống.
Theo nghiên cứu của chuyên gia, nếu như chưa phải tin cậy tuyệt đối, chính bạn
hãy viết một đoạn mã để xử lý ngắt kết nối người dùng ở trong “Session_OnEnd
ở tệp Global.asa”. Giải pháp bảo mật website ASP.NET này phía client dùng
một chút JS(JavaScript), cho thêm đoạn mã sau vào đầu của tất cả những
website kết xuất từ ứng dụng
Code:

Để ngắt kết nối người dùng ứng dụng chúng ta sẽ dùng trang “Logout.ASP”.
Với 9000000 mili giây chính là khoảng thời gian lớn nhất mà người sử dụng vẫn
76

có thể giữ phiên làm việc của họ ở trong khi không có một hoạt động nào liên
quan đến website của bạn.

II. DỮ LIỆU VÀ AN TOÀN THÔNG TIN


1. Tổng quan về kiến thức, công việc của ngành An toàn thông tin
An toàn thông tin bao gồm những nhóm nào?
Có thể nói, ngành an toàn thông tin nói riêng và lĩnh vực CNTT nói chung là
rất rộng. Nhìn chung, ATTT có những nhóm sau đây:
An toàn vận hành (operations security)
Phát triển công cụ (applied security)
An toàn sản phẩm (product security)
Tìm diệt mã độc và các nguy cơ khác (threat analysis)
2. Cơ bản về mã hóa dữ liệu
2.1. Mã hóa thông tin là gì?
Ta có thể hiểu đơn giản rằng, mã hóa là một phương pháp bảo vệ thông tin,
bằng cách chuyển đổi thông tin từ dạng có thể đọc và hiểu được thông thường
sang dạng thông tin không thể hiểu theo các thông thường. Việc làm này giúp ta
có thẻ bảo vệ thông tin tốt hơn, an toàn trong việc truyền dữ liệu. Dù kẻ xấu có
được các gói tin, cũng khó có thể hiểu được nội dung của nó.
2.2. Vì sao việc mã hóa dữ liệu lại đặc biệt quan trọng?
Như đã trình bày bên trên, việc mã hóa là để đảm bảo tính an toàn cho thông tin,
đặc biệt trong thời đại công nghệ số như hiện nay. Bạn hãy thử tưởng tượng
xem, nếu không có mã hóa dữ liệu thì sẽ như thế nào? Ví dụ, bạn đang làm việc
cho một công ty lớn, và bạn phải gửi tài liệu quan trọng cho đồng nghiệp của
mình. Tuy nhiên, dữ liệu ấy lại không được mã hóa. Và thế là, bằng một số thủ
thuật nhỏ, công ty đối thủ có được số tài liệu đó. Điều này sẽ gây tổn thất không
hề nhỏ cho công ty. Nhưng ngược lại, nếu thông tin được mã hóa cẩn thận, chỉ
có những người có key mới mở được nó, thì sẽ không có những chuyện như vậy
xảy ra.Vì thế mà việc mã hóa thông tin trở nên vố cùng quan trọng.
2.3. Mã hóa cổ điển
Đây là phương pháp mã hóa cổ xưa và đơn giản nhất. Ngày nay phương pháp
này không còn được sử dụng nhiều so với những phướng pháp khác. Bởi nó quá
đơn giản. Ý tưởng của phương pháp này là: bên A mã hóa thông tin bằng thuật
toán mã hóa cổ điển, và bên B giải mã thông tin, dựa vào thuật toán của bên A
cung cấp, không cần dùng đến bất kì key nào. Vì thế toàn bộ độ an toàn của kiểu
mã hóa này phụ thuộc vào bí mật của thuật toán. Nếu một người thứ ba biết
được thuật toán thì xem như thông tin không còn bảo mật nữa. Việc giữ bí mật
77

thuật toán trở nên vô cùng quan trọng, và không phải ai cũng có thể giữ bí mật
đó một cách trọn vẹn.
2.4. Mã hóa một chiều (hash)
Có những tường hợp chúng ta chỉ cần mã hóa thông tin chứ không cần giải mã
nó. Đó là khi chúng ta cần sử dụng kiểu mã hóa một chiều này. Ví dụ, khi bạn
đăng nhập vào một trang web, mật khẩu của bạn sẽ được hàm băm (hush
function) “băm nhỏ” , chuyển thành một chuỗi các kí tự như “KhhdhujidbH”.
Thực chất, cơ sở dữ liệu lưu lại các kí tự mã hóa này chứ không lưu lại mật khẩu
của bạn. Lỡ hacker có trộm dữ liệu thì cũng chỉ thấy những kí tự khó hiểu chứ
không biết password thật của bạn là gì.
Đặc điểm của hash function đó là trong cùng 1 điều kiện, dữ liệu đầu vào giống
nhau thì nó sẽ cho ra kết quả y hệt nhau. Nếu chỉ cần thay đổi một kí tự trong
chuỗi, từ chữ hoa sang chữ thường, kết quả sẽ hoàn toàn khác. Cũng vì vậy mà
người ta dùng hash function để kiểm tra tính toàn vẹn của dữ liệu.
Hiện nay, hai thuật toán hash function thường được dùng nhất là MD5 và SHA.
Nếu bạn download file trên mạng thì đôi khi sẽ thấy dòng chữ MD5 do tác giả
cung cấp. Bạn sẽ phải nhập mã hiện lên theo yêu cầu. Mục đích là để bạn so
sánh file đã download với file gốc xem có bị lỗi gì không.

2.5. Mã hóa bất đối xứng


Kiểu mã hóa này còn có tên gọi khác là mã hóa khóa công khai. Nó sử dụng
đến hai khóa (key) khác nhau. Một khóa gọi là khóa công khai (public key) và
một khóa khác là khóa bí mật (private key). Dữ liệu được mã hóa bằng public
key. Tất cả mọi người đều có thể có được key này. Tuy nhiên để giải mã được
dữ liệu, người nhận cần phải có private key.
Để thực hiện mã hóa bất đối xứng thì:
- Người nhận sẽ tạo ra một gặp khóa (public key và private key), họ sẽ giữ lại
private key và truyền cho bên gửi public key. Vì public key này là công khai nên
có thể truyền tự do mà không cần bảo mật.
- Trước khi gửi tin nhắn, người gửi sẽ mã hóa dữ liệu bằng mã hóa bất đối xứng
với những key nhận được từ người nhận
- Người nhận sẽ giải mã dữ liệu nhận được bằng thuật toán được sử dụng ở bên
người gửi, với key giải mã là private key.
78

Điểm yếu lớn nhất của kiểu mã hóa này là tốc độ mã hóa và giải mã rất chậm.
Nếu dùng kiểu mã hóa bất đối xứng trong việc truyền dữ liệu thì sẽ rất tốn phí
và mất thời gian.
Thuật toán mã hóa bất đối xứng thường thấy: RSA.
2.6. Mã hóa đối xứng
Phương pháp mã hóa này chỉ cần dùng một key giống nhau để mã hóa và giải
mã. Theo một số tài liệu thì mã hóa đối xứng là giải pháp được sử dụng nhất phổ
biến hiện nay.
Quy trình mã hóa được miêu tả như sau:
- Dùng giải thuật ngẫu nhiên mã hóa + key để mã hóa dữ liệu gửi đi.
- Bằng cách nào đó, key của người gửi sẽ được gửi đến cho người nhận, có thể
là giao trước hoặc sau khi mã hóa file đều được.
- Khi người nhận nhận được dữ kiệu, họ sẽ dùng key này để giải mã dữ liệu để
có được dữ liệu chuẩn.
Tuy nhiên vấn đề bảo mật nằm ở chỗ, làm thế nào đẻ chuyển key cho người
nhận một cách an toàn. Nếu key này bị lộ, bất kì ai sử dụng giải thuật phía trên
đều có thể giải mã được dữ liệu như vậy thì tính bảo mật sẽ không còn nữa.
Chúng ta sẽ thường thấy hai thuật toán thường thấy là DES và AES. Thuật toán
DES xuất hiện từ năm 1977 nên không được sử dụng phổ biến bằng
AES. Thuật toán AES có thể dùng nhiều kích thước ô nhớ khác nhau để mã hóa
dữ liệu, thường thấy là 128-bit và 256-bit, có một số lên tới 512-bit và 1024-bit.
Kích thước ô nhớ càng lớn thì càng khó phá mã hơn, bù lại việc giải mã và mã
hóa cũng cần nhiều năng lực xử lý hơn.
3. Giải pháp bảo mật thông tin cá nhân.
3.1. Những vấn đề bảo mật thông tin cá nhân
Nổi cộm là mục tiêu tấn công mạng chuyển dịch từ mục tiêu cá nhân sang các
tập đoàn, tổ chức và doanh nghiệp kinh tế lớn làm ảnh hưởng tới các quốc gia.
Cụ thể, tại Việt Nam, từ đầu năm đến hết tháng 9 năm 2017, đã xảy ra 9.964 sự
cố tấn công mạng nhắm vào cá nhân, và tổ chức. Trong đó, hình thức tấn công
mạng ngày càng phức tạp khó lường, điển hình là phương thức tấn công
malware, deface, và phishing. Đáng chú ý hơn, có tới 21 website của chính phủ
có tên miền gov.vn đã bị hacker tấn công.
3.2. Giải pháp bảo mật thông tin cá nhân và doanh nghiệp trong.
+ Mạng nội bộ
Theo các chuyên gia “Khi làm việc với máy tính sử dụng mạng nội bộ của công
ty hay tổ chức, chúng ta nên sử dụng mật khẩu 2 lớp, tránh click vào những
website có dạng lừa đảo Phishing hoặc cảnh giác với các đường link lạ trên
mạng xã hội, email. Ngoài ra, nhân viên cũng cần phải cảnh giác tới các giao
79

dịch trực tuyến khi làm việc tại công ty. Lý do bởi, không thể khẳng định rằng
mạng nội bộ của tổ chức đã được bảo mật ở chế độ cao nhất.”
+ Vấn đề bảo mật thông tin cá nhân
Trong mạng nội bộ gia đình cũng vậy. Các hacker thường lợi dụng lỗ hổng wifi,
lỗ hổng trong hệ thống mạng gia đình, và lỗ hổng bảo mật trong thông tin cá
nhân để tấn công.
Một vấn đề đáng lưu ý nữa là khi làm việc tại nhà, hay văn phòng, người dùng
thường tắt tường lửa để chia sẻ thông tin cá nhân với nhau. Điều này rất nguy
hiểm, vì vô hình chung, bạn đã tắt tính năng ngăn chặn mã độc trên internet, file,
tệp tin và dữ liệu. Chưa hết, một số người dùng tắt tính năng cập nhật tự động
phần mềm, dẫn tới nguy cơ máy tính bị nhiễm mã độc rất cao.
+ Wifi công cộng
Sử dụng wifi công cộng cũng được các đơn vị đề cập tới. Các chuyên gia đều
nhấn mạnh nguy cơ máy tính, điện thoại bị tấn công khi sử dụng wifi miễn phí
tại các điểm công cộng như quán cà phê, nhà hàng, công viên…. đang diễn ra
rất phổ biến.
Hackers dễ dàng chiếm đoạt thông tin cá nhân qua mạng wifi miễn phí bởi mật
khẩu tại điểm phát rất dễ đoán, chỉ cần sử dụng công cụ ‘từ điển password’ là dễ
dàng dò ra.
Lưu ý thêm, khi người dùng chạy các ứng dụng có xác thực tài khoản như
Facebook, Linkedin, Email…hay tài khoản của thẻ tín dụng khi không được mã
hóa trước đó, hacker có thể dùng công cụ thu thập dữ liệu người dùng một cách
dễ dàng.
3.3. Bảo mật thông tin cá nhân trên mạng xã hội
Lời khuyên nói chung:
– Tránh kết bạn với những người lạ
– Không trả lời tin nhắn từ người lạ có dấu hiệu đáng ngờ được gửi đến trên
facebook, linkedin, zalo…
– Rà soát các nhóm, groups bạn đã tham gia trên mạng xã hội và rời khỏi những
nhóm không cần thiết.
– Tuyệt đối không click, nhấp vào đường dẫn lạ có nguy cơ ăn cắp mã độc.
– Khi giao dịch trực tuyến cần kiểm tra website đó có an toàn hay không, hãy để
ý đến tên miền (đề phòng trường hợp bạn bị tấn công phishing).
– Hạn chế tham gia các trò chơi trên mạng xã hội có yêu cầu xác thực hay kiểm
tra thông tin cá nhân quá nhiều lần.
+ Cách bảo mật thông tin cá nhân trên mạng xã hội Facebook:
Bạn nên kiểm tra thông tin cá nhân của mình trên Facebook được đảm bảo hay
chưa theo 7 bước sau:
80

+ Bước 1:Kiểm tra quyền riêng tư


+ Bước 2:Kiểm tra tính bảo mật trên thiết bị
+ Bước 3:Xét duyệt đăng nhập
+ Bước 4:Kiểm tra liên lạc cá nhân
+ Bước 5:Kiểm tra các ứng dụng kết nối
+ Bước 6:Xem lại nhật ký hoạt động
+ Bước 7:Sử dụng công cụ rà quét lỗ hổng của Facebook cấp
+ Thận trọng khi giao dịch trực tuyến
Khi đăng ký giao dịch trực tuyến, người dùng nên dùng bàn phím ảo hoặc copy
mật khẩu được tạo trên Word. Tránh nhập dữ liệu trực tiếp từ bàn phím đề
phòng khả năng máy tính bị keylogger. Và tất nhiên, bạn cũng cần cảnh giác với
hình thức lừa đảo phishing.
3.4.Thiết bị di động , máy tính và PC
Điện thoại thông minh nhưng chưa chắc đã an toàn. Điện thoại càng thông minh
và cao cấp bao nhiêu, kẻ xấu càng nhòm ngó và tấn công bấy nhiêu.
Với số lượng người truy cập internet từ thiết bị đang ngày càng tăng trưởng (sắp
vượt qua laptop & PC), người dùng thiết bị di động cần hết sức cảnh giác với
các hình thức tấn công mạng. Phổ biến nhất là các trường hợp điện thoại bị
nhiễm mã độc, virus từ các ứng dụng trên Store. Ngay cả các ứng dụng chính
chủ của Apple hay Google phát hành cũng bị tin tặc tấn công.
Để bảo mật thông tin cá nhân trên thiết bị di động (điện thoại) hay máy
tính cũng vậy, chúng ta cần hạn chế cài đặt những ứng dụng, công cụ, phần
mềm. Bạn cần bật và cài đặt các tính năng bảo mật có sẵn trong thiết bị của
mình thay vì tắt đi. Đồng thời, việc thường xuyên backup (sao lưu) dữ liệu trên
thiết bị rất cần thiết.
Nếu bạn sử dụng các công cụ bảo mật hay rà quét mật khẩu, hãy kiểm tra kỹ,
đọc kỹ các tính năng và nên hỏi ý kiến từ chuyên gia bảo mật hay các chuyên
gia về an ninh mạng.
4. Mã độc
4.1. Tổng quan về mã độc
Mã độc hay “Malicious software” là một loại phần mềm được tạo ra và chèn vào
hệ thống một cách bí mật với mục đích thâm nhập, phá hoại hệ thống hoặc lấy
cắp thông tin, làm gián đoạn, tổn hại tới tính bí mật, tính toàn vẹn và tính sẵn
sàng của máy tính nạn nhân. Mã độc được phân thành nhiều loại tùy theo chức
năng, cách thức lây nhiễm, phá hoại: virus, worm, trojan, rootkit …
Mọi người hay bị nhầm lẫn với 1 khái niệm khác là Virus máy tính. Thực tế,
virus máy tính chỉ là 1 phần nhỏ trong khái niệm mã độc. Virus máy tính hiểu
81

đơn thuần cũng là một dạng mã độc nhưng sự khác biệt ở chỗ virus máy tính có
KHẢ NĂNG TỰ LÂY LAN.
Các loại mã độc càng ngày càng phức tạp từ cách thức lây nhiễm, phương pháp
ẩn mình, cách thức thực hiện các hành vi nguy hiểm… Giới hạn giữa các loại
mã độc ngày càng hạn hẹp vì bản thân các mã độc cũng phải có sự kết hợp lẫn
nhau để hiệu quả tấn công là cao nhất.
4.2. 12 loại mã độc phổ biến
1.Boot virus
Boot virus hay còn gọi là virus boot, là loại virus lây vào boot sector hoặc
master boot record của ổ đĩa cứng. Đây là các khu vực đặc biệt chứa các dữ liệu
để khởi động hệ thống, nạp các phân vùng.
Boot Virus được thực thi trước khi hệ điều hành được nạp lên vì vậy nó hoàn
toàn độc lập với hệ điều hành. B-Virus có nhược điểm là khó viết do không thể
sử dụng các dịch vụ, chức năng có sẵn của hệ điều hành và kích thước virus bị
hạn chế bởi kích thước của các sector (mỗi sector chỉ có 512 byte).
Ngày nay gần như không còn thấy sự xuất hiện của Boot Virus do đặc điểm lây
lan chậm và không phù hợp với thời đại Internet.

2.Macro virus
Đây là loại virus đặc biệt tấn công vào chương trình trong bộ Microsoft Office
của Microsoft: Word, Excel, Powerpoint. Macro là tính năng hỗ trợ trong bộ
công cụ văn phòng Microsoft Office cho phép người sử dụng lưu lại các công
việc cần thực hiện lại nhiều lần. Thực tế hiện nay cho thấy virus macro gần như
đã “tuyệt chủng”.
82

3.Scripting virus
Scripting virus là loại virus được viết bằng các ngôn ngữ script (kịch bản) như
VBScript, JavaScript, Batch script. Những loại virus này thường có đặc điểm dễ
viết, dễ cài đặt. Chúng thường tự lây lan sang các file script khác, thay đổi nội
dung cả các file html để thêm các thông tin quảng cáo, chèn banner … Đây cũng
là một loại virus phát triển nhanh chóng nhờ sự phổ biến của Internet.

4.File Virus
Virus này chuyên lây vào các file thực thi (ví dụ file có phần mở rộng .com,
.exe, .dll) một đoạn mã để khi file được thực thi, đoạn mã virus sẽ được kích
hoạt trước và tiếp tục thực hiện các hành vi phá hoại, lây nhiễm.
Loại virus này có đặc điểm lây lan nhanh và khó diệt hơn các loại virus khác do
phải xử lý cắt bỏ, chỉnh sửa file bị nhiễm.
File Virus có nhược điểm là chỉ lây vào một số định dạng file nhất định và phụ
thuộc vào hệ điều hành.
F-Virus vẫn tồn tại tới ngày nay với những biến thể ngày càng trở nên nguy
hiểm, phức tạp hơn.
5.Trojan horse – ngựa thành Tơ roa
Tên của loại virus này được lấy theo một điển tích cổ. Trong cuộc chiến với
người Tơ-roa, các chiến binh Hy Lạp sau nhiều ngày không thể chiếm được
thành đã nghĩ ra một kế, giảng hòa rồi tặng người dân thành Tơ-roa một con
ngựa gỗ khổng lồ. Sau khi ngựa gỗ được đưa vào thành, đêm đến các chiến binh
Hy Lạp từ trong ngựa gỗ chui ra đánh chiếm thành.
Đây cũng chính là cách mà các Trojan horse (gọi tắt là Trojan) áp dụng: các
đoạn mã của Trojan được “che giấu” trong các loại virus khác hoặc trong các
phần mềm máy tính thông thường để bí mật xâm nhập vào máy nạn nhân. Khi
tới thời điểm thuận lợi chúng sẽ tiến hành các hoạt động ăn cắp thông tin cá
nhân, mật khẩu, điều khiển máy tính nạn nhân … Bản chất của Trojan là không
tự lây lan mà phải sử dụng phần mềm khác để phát tán.
Dựa vào cách hoạt động ta có thể phân chia Trojan thành các loại sau:
BackDoor, Adware và Spyware.
83

6.BackDoor
Phần mềm BackDoor (cửa sau) là một dạng Trojan khi thâm nhập vào máy tính
nạn nhân sẽ mở ra một cổng dịch vụ cho phép kẻ tấn công điều khiển các hoạt
động ở máy nạn nhân. Kẻ tấn công có thể cài các phần mềm BackDoor lên
nhiều máy tính khác nhau thành một mạng lưới các máy bị điều khiển – Bot Net
– rồi thực hiện các vụ tấn công từ chối dịch vụ (DoS – Denial of Service).
7.Adware và Spyware
Đây là loại Trojan khi xâm nhập vào máy tính với mục đích quảng cáo hoặc
“gián điệp”. Chúng đưa ra các quảng cáo, mở ra các trang web, thay đổi trang
mặc định của trình duyệt (home page) … gây khó chịu cho người sử dụng. Các
phần mềm này cài đặt các phần mềm ghi lại thao tác bàn phím (key logger), ăn
cắp mật khẩu và thông tin cá nhân …
8.Worm – sâu máy tính
Cùng với các loại mã độc máy tính như Trojan, WannaCry, Worm (sâu máy
tính) là loại virus phát triển và lây lan mạnh mẽ nhất hiện nay nhờ mạng
Internet. Vào thời điểm ban đầu, Worm được tạo ra chỉ với mục đích phát tán
qua thư điện tử – email. Khi lây vào máy tính, chúng thực hiện tìm kiếm các sổ
địa chỉ, danh sách email trên máy nạn nhân rồi giả mạo các email để gửi bản
thân chúng tới các địa chỉ thu thập được. Các email do worm tạo ra thường có
nội dung “giật gân”, hoặc “hấp dẫn”, hoặc trích dẫn một email nào đó ở máy nạn
nhân để ngụy trang. Điều này khiến các email giả mạo trở nên “thật” hơn và
người nhận dễ bị đánh lừa hơn. Nhờ những email giả mạo đó mà Worm lây lan
mạnh mẽ trên mạng Internet theo cấp số nhân.
Bên cạnh Worm lây lan theo cách truyền thống sử dụng email, Worm hiện nay
còn sử dụng phương pháp lân lan qua ổ USB. Thiết bị nhớ USB đã trở nên phổ
biến trên toàn thế giới do lợi thế kích thước nhỏ, cơ động và trở thành phương
tiện lây lan lý tưởng cho Worm.
Dựa đặc điểm lây lan mạnh mẽ của Worm, những kẻ viết virus đã đưa thêm vào
Worm các tính năng phá hoại, ăn cắp thông tin…, Worm đã trở thành “bạn đồng
hành” của những phần mềm độc hại khác như BackDoor, Adware…
9.Rootkit
Rootkit ra đời sau các loại virus khác, nhưng rootkit lại được coi là một trong
những loại virus nguy hiểm nhất.
Bản thân rootkit không thực sự là virus, đây là phần mềm hoặc một nhóm các
phần mềm máy tính được giải pháp để can thiệp sâu vào hệ thống máy tính
(nhân của hệ điều hành hoặc thậm chí là phần cứng của máy tính) với mục tiêu
che giấu bản thân nó và các loại phần mềm độc hại khác.
Với sự xuất hiện của rootkit, các phần mềm độc hại như trở nên “vô hình” trước
những công cụ thông thường thậm chí vô hình cả với các phần mềm diệt virus.
84

Việc phát hiện mã độc và tiêu diệt virus trở nên khó khăn hơn rất nhiều trước sự
bảo vệ của rootkit – vốn được trang bị nhiều kĩ thuật mới hiện đại.
Xuất hiện lần đầu trên hệ thống Unix từ khá lâu, nhưng kể từ lần xuất hiện
“chính thức” trên hệ điều hành Windows vào năm 2005, Rootkit đang dần trở
nên phổ biến và trở thành công cụ che giấu hữu hiệu cho các loại phần mềm độc
hại khác.
10.Botnet
Là những máy tính bị nhiễm virus và điều khiển bởi Hacker thông qua Trojan,
virus… Hacker lợi dụng sức mạnh của những máy tính bị nhiễm virus để thực
hiện các hành vi tấn công, phá hoại, ăn cắp thông tin. Thiệt hại do Botnet gây ra
thường rất lớn.
11.Biến thể
Một hình thức trong cơ chế hoạt động của virus là tạo ra các biến thể của chúng.
Biến thể của virus là sự thay đổi mã nguồn nhằm các mục đích tránh sự phát
hiện của phần mềm diệt virus hoặc làm thay đổi hành động của nó.
12.Virus Hoax
Đây là các cảnh báo giả về virus. Các cảnh bảo giả này thường núp dưới dạng
một yêu cầu khẩn cấp để bảo vệ hệ thống. Mục tiêu của cảnh báo virus giả là cố
gắng lôi kéo mọi người gửi cảnh báo càng nhiều càng tốt qua email. Bản thân
cảnh báo giả là không gây nguy hiểm trực tiếp nhưng những thư gửi để cảnh báo
có thể chữa mã độc hại hoặc trong cảnh báo giả có chứa các chỉ dẫn về thiết lập
lại hệ điều hành, xoá file làm nguy hại tới hệ thống. Kiểu cảnh báo giả này cũng
gây tốn thời gian và quấy rối bộ phận hỗ trợ kỹ thuật khi có quá nhiều người gọi
đến và yêu cầu dịch vụ.
Ngày nay, sự phát triển mạnh mẽ của Internet đang tạo ra một môi trường hoạt
động và lây lan lý tưởng cho các loại phần mềm độc hại. Bên cạnh đó, các
hướng dẫn chi tiết, các loại công cụ để tạo virus ngày càng nhiều, xuất hiện tràn
lan trên mạng toàn cầu. Đây là những yếu tố thuận lợi cho sự phát triển và lây
lan mạnh mẽ của virus, mã độc. Chính vì vậy những phân loại trên đây chỉ mang
tính tương đối, các loại virus đang theo xu hướng “kết hợp” lại với nhau, tạo
thành những thế hệ virus mới với nhiều đặc tính hơn, khả năng phá hoại cao
hơn, nguy hiểm hơn và khó bị phát hiện hơn. Vì vậy các phần mềm diệt virus có
vai trò rất quan trọng, đảm bảo môi trường làm việc an toàn cho người sử dụng
máy tính.
5. Phòng chống sự cố Mã độc và Xử lý sự cố cho PC, Lapto
5.1. Thiết lập các chính sách
Nếu một tổ chức không xác định được tầm quan trọng của việc phòng tránh mã
độc trong các chính sách của mình thì các hoạt động phòng tránh mã độc không
thể được thực hiện nhất quán và hiệu quả. Các chính sách liên quan đến phòng
tránh mã độc nên phổ quát nhất có thể để dễ dàng triển khai và không phải thay
85

đổi nhiều lần nhưng cũng cần được cụ thể hóa đủ để làm rõ mục đích và phạm vi
áp dụng. Các đối tượng của chính sách phòng tránh mã độc của một tổ chức cần
bao gồm cả các thiết bị kết nối từ xa hoặc có liên quan đến tổ chức đó – bao
gồm các máy tính trong và ngoài phạm vi quản lý của tổ chức (VD: máy tính
của đối tác, máy tính tại nhà của nhân viên, các thiết bị di động).
Một chính sách phòng tránh sự cố mã độc thông thường:
- Yêu cầu rà quét mã độc trên các thiết bị từ bên ngoài tổ chức trước khi chúng
được đưa vào sử dụng.
- Yêu cầu quét mã độc trên các file đính kèm email trước khi mở chúng.
- Nghiêm cấm/ngăn chặn gửi hoặc nhận các định dạng file cụ thể (chẳng hạn
.exe) qua email.
- Cấm hoặc hạn chế việc sử dụng các phần mềm không cần thiết vì nhiều phần
mềm có thể bị lợi dụng để truyền nhiễm mã độc (VD: các ứng dụng nhắn tin
hoặc dịch vụ truyền file).
- Hạn chế sử dụng các thiết bị ngoại vi di động (VD: USB), đặc biệt đối với các
máy tính nhiều người truy cập.
- Chỉ định các công cụ phòng tránh mã độc cụ thể (VD: phần mềm diệt virus,
công cụ lọc nội dung,…) đối với từng loại máy tính cụ thể (VD: mail server,
web server, laptop, smart phone,…) và đối với từng ứng dụng cụ thể (VD: email
client, trình duyệt web,…); đặt ra các yêu cầu mức cao (high-level requirements)
đối với việc cấu hình và bảo trì phần mềm (VD: tần suất cập nhật phần mềm, tần
suất và phạm vi rà quét máy tính,…).
- Cấm hoặc hạn chế việc sử dụng các thiết bị di động (bao gồm cả thiết bị do tổ
chức cấp phát hoặc sở hữu cá nhân) trong mạng của tổ chức hoặc sử dụng để
truy cập từ xa.
5.2. Nâng cao nhận thức
Tất cả người dùng trong tổ chức cần được trang bị nhận thức về cách mã độc
xâm nhập và lây nhiễm qua các máy tính, những hành vi nguy hại mà mã độc có
thể thực hiện, những hạn chế về khả năng kiểm soát sự cố mã độc và tầm quan
trọng của người dùng trong việc phòng tránh sự cố mã độc, nhấn mạnh vào việc
tránh những cuộc tấn công social engineering.
Chương trình nâng cao nhận thức cho nhân viên của một tổ chức cần bao gồm
một số hành động thực tế như:
- Không mở các email, file đính kèm email hoặc các đường dẫn khả nghi từ
người gửi không rõ ràng; không truy cập các trang web có thể chứa nội dung
độc hại.
- Không click vào các cửa sổ pop-up khả nghi trên trình duyệt.
- Không mở các file với phần mở rộng có thể liên quan đến mã độc như .bat,
.com, .exe, .pif, .vbs,…
86

- Không được tắt cơ chế kiểm soát an ninh mã độc như phần mềm antivirus,
phần mềm lọc nội dung, tường lửa,…
- Không sử dụng tài khoản người dùng mức quản trị hệ thống để thực hiện các
hoạt động thông thường trên máy tính.
- Không tải xuống và chạy các ứng dụng từ nguồn không uy tín.
Các tổ chức cũng cần bắt buộc nhân viên của mình có kiến thức về chính sách
và các thủ tục xử lý sự cố mã độc như cách xác định một máy tính bị lây nhiễm,
cách báo cáo khi nghi ngờ xảy ra sự cố mã độc và trách nhiệm hỗ trợ của nhân
viên trong việc xử lý sự cố (VD: cập nhật phần mềm antivirus, rà quét máy tính
để xác định mã độc… Nhân viên cần hiểu được thông báo của tổ chức khi một
sự cố mã độc xảy ra và nắm được những thay đổi tạm thời để xử lý sự cố, chẳng
hạn như ngắt kết nối một máy tính bị lây nhiễm khỏi hệ thống mạng.
Hoạt động phổ cập nhận thức cho nhân viên của một tổ chức cần bao gồm việc
đào tạo phòng tránh các cuộc tấn công sử dụng kỹ thuật xã hội. Một số ví dụ
khuyến nghị nhằm tránh cuộc tấn công kỹ thuật xã hội như:
- Không trả lời các email yêu cầu cung cấp thông tin tài chính và thông tin cá
nhân. Thay vào đó, liên hệ trực tiếp tới cá nhân hoặc tổ chức đối tác bằng điện
thoại hoặc website chính thức. Không sử dụng thông tin liên lạc được cung cấp
trong email và không click vào bất kỳ file đính kèm hay đường dẫn nào trong
email.
-Không cung cấp mật khẩu, mã PIN hoặc các mã truy cập khác khi trả lời email
hoặc điền vào các cửa sổ pop-up không mong muốn. Chỉ cung cấp các thông tin
truy cập trên đối với website và ứng dụng hợp lệ.
- Không mở file đính kèm email ngay cả từ người gửi quen biết. Nếu nhận được
một file đính kèm email, cần liên hệ với người gửi (có thể bằng điện thoại hoặc
phương tiện liên lạc khác) để xác nhận file đính kèm là an toàn.
- Không phàn hồi bất kỳ email khả nghi nào.
Việc nâng cao nhận thức của nhân viên có vai trò quan trọng trong việc giảm
khả năng xảy ra và thiệt hại từ sự cố mã độc nhưng chỉ nên coi đây là hoạt động
bổ sung cho các biện pháp ngăn chặn mã độc bằng kiểm soát kỹ thuật. Một tổ
chức không nên coi việc nâng cao nhận thức cho nhân viên là yếu tố chính trong
việc phòng tránh sự cố mã độc.
Chương trình nâng cao nhận thức cho nhân viên nên được coi là hoạt động
5. 3. Giảm thiểu các lỗ hổng phần mềm
Mã độc thường tấn công một host bằng cách khai thác lỗ hổng của hệ điều hành,
các dịch vụ và các ứng dụng. Giảm thiểu lỗ hổng phần mềm là bước rất quan
trọng trong việc phòng tránh mã độc, nhất là đối với các mã độc được phát tán
ngay sau khi một lỗ hổng phần mềm mới được công bố hoặc thậm chí trước khi
lỗ hổng đó được biết đến rộng rãi. Cần cập nhật các bản vá lỗi hoặc cấu hình lại
87

phần mềm (VD: vô hiệu hóa dịch vụ chứa lỗ hổng). Việc giảm thiểu lỗ hổng
phần mềm cần phải có các chính sách, tiến trình và thủ tục rõ ràng.
Một tổ chức nên cân nhắc sử dụng các công nghệ bảo mật tự động hóa (security
automation technologies) với các checklist cấu hình hệ điều hành cũng như cấu
hình ứng dụng. Công nghệ bảo mật tự động hóa có thể sử dụng checklist để thực
hiện cấu hình và giám sát liên tục các cài đặt cấu hình này để đảm bảo chúng
luôn được tuân thủ đúng checklist. Cũng cần xem xét việc sử dụng một hệ thống
tự động quản lý bản vá cho hệ điều hành và ứng dụng.
Tổ chức cần sử dụng các nguyên tắc gia cố hệ thống. Chẳng hạn như nguyên tắc
quyền tối thiểu, ta cần cấu hình các host cung cấp quyền tối thiểu cho nhân viên
hoặc các tiến trình phần mềm đủ để thực hiện các hoạt động trong phạm vi và
vai trò của mình. Quy tắc này có thể hữu ích đối với các mã độc yêu cầu quyền
quản trị để khai thác lỗ hổng phần mềm thành công. Ngay cả khi sự cố mã độc
xảy ra, các ứng dụng với quyền tối thiểu cũng giúp giảm thiểu thiệt hại gây ra
bởi mã độc. Một số nguyên tắc gia cố hệ thống khác mà tổ chức có thể áp dụng:
- Vô hiệu hóa hoặc gỡ bỏ các dịch vụ không cần thiết (đặc biệt là các dịch vụ
mạng) vì những dịch vụ này có thể vô tình là các hướng tân công phụ mà mã
độc có thể lợi dụng để lây lan.
- Loại bỏ các ứng dụng chia sẻ file không an toàn.
- Gỡ bỏ những ứng dụng không cần thiết khi máy tính bị nhiễm mã độc, virus
- Gỡ bỏ hoặc thay đổi tài khoản người dùng mặc định của hệ điều hành và các
ứng dụng vì các tài khoản này có thể được mã độc sử dụng để truy cập trái phép
tới các host.
- Vô hiệu hóa tính năng tự động thực thi đối với file nhị phân hoặc các script,
bao gồm cả tính năng AutoRun trên các máy tính chạy Windows.
- Thay đổi file associations mặc định (ứng dụng mặc định để mở một file theo
định dạng cụ thể) đối với các định dạng file người dùng ít sử dụng nhưng
thường được sử dụng bởi mã độc (VD: .pif, .vbs), thay đổi này giúp file không
được thực thi tự động khi một người dùng cố mở chúng.
Gia cố hệ thống cần được áp dụng đối với cả các ứng dụng như email client,
trình duyệt web và các trình xử lý văn bản, các ứng dụng này thường xuyên là
mục tiêu khai thác của mã độc (VD: ngôn ngữ macro trên trình xử lý văn bản,
các plug-in trên trình duyệt web). Ta nên vô hiệu hóa những tính năng không
cần thiết trên các ứng dụng này để hạn chế hướng tấn công của mã độc.
5.4. Giảm thiểu mối đe dọa
Giả sử mọi lỗ hổng phần mềm đều đã được vá, giảm thiểu mối đe dọa vẫn là
bước đặc biệt quan trọng, ví dụ, để ngăn chặn các mã độc không khai thác lỗ
hổng phần mềm mà dựa vào các kỹ thuật xã hội đánh lừa người dùng thực thi
các tập tin độc hại. Các công cụ thường được sử dụng để giảm thiểu mối đe dọa
88

là: phần mềm antivirus, IPS, tường lửa, công cụ lọc nội dung và một danh sách
các ứng dụng an toàn (application whitelisting).
5.5. Phần mềm Antivirus
Cần đảm bảo các chức năng tối thiểu:
- Rà quét các thành phần quan trọng trong hệ thống như các tập tin startup hoặc
boot records.
- Theo dõi hành vi thời gian thực.
- Giám sát hành vi của các ứng dụng phổ biến như email client, trình duyệt web
và phần ứng dụng nhắn tin,…, là những ứng dụng thường bị khai thác để lây
nhiễm mã độc.
- Rà quét tập tin trong hệ thống để phát hiện các mẫu mã độc đã biết.
- Disinfect (gỡ bỏ mã độc hại khỏi tập tin và phục hồi tập tin gốc), quarantine
(cô lập, cách ly tập tin nghi ngờ bị lây nhiễm mã độc).
Cần cài đặt phần mềm antivirus trên mọi host, ngay sau khi cài đặt hệ điều hành
và tải về bản cập nhật dữ liệu mới nhất cho antivirus.
Một tổ chức nên sử dụng phần mềm antivirus quản lý tập trung, được quản lý
bởi một quản trị viên có khả năng xử lý mẫu nghi ngờ. Cần cấu hình không cho
phép người dùng bình thường vô hiệu hóa, thay đổi cấu hình hoặc gỡ bỏ phần
mềm antivirus.
Các phần mềm antivirus rất hiệu quả trong việc phát hiện và gỡ bỏ các mẫu mã
độc đã biết nhưng chúng có thể không phát hiện ra một mẫu mã độc mới hoặc
một khuôn dạng hành vi độc hại mới.
5.6. Hệ thống ngăn chặn xâm nhập (IPS)
Các hệ thống Network-based IPS được dùng để phát hiện nhiều dạng hành vi
độc hại bao gồm mã độc nhưng mặc định, chúng thường chỉ phát hiện được số ít
mẫu mã độc, chẳng hạn như các mẫu worm nổi tiếng hiện thời. Tuy nhiên, một
số hệ thống IPS cho phép quản trị viên tùy chỉnh sâu để tự tạo và triển khai các
attack signature cho các mối đe dọa mã độc một cách nhanh chóng. Mặc dù có
nhiều rủi ro, chẳng hạn signature không chính xác có thể gây ra việc vô tình
chặn những hành vi hợp lệ, một signature tùy chỉnh vẫn có thể rất hữu ích khi
ngăn chặn những mã độc mới trước khi các phần mềm antivirus cập nhật
signature của chúng.
Một dạng IPS khác là NBA (network behavior analysis system) được dùng để
ngăn chặn tấn công dựa trên cơ chế xác định lưu lượng mạng bất thường. Mặc
dù NBA được dùng chủ yếu để ngăn chặn tấn công DDoS, chúng cũng có thể
được dùng để nhận dạng hành vi của worm hoặc các dạng mã độc khác. NBA
hoặc động bằng cách theo dõi khuôn mẫu lưu lượng mạng thông thường, bao
gồm thông tin host nào giao tiếp với các host các sử dụng giao thức nào, lưu
lượng thông thường và lưu lượng đỉnh trên mỗi hành vi,… và lập các đường cơ
89

sở (baseline) dựa trên các thông tin theo dõi được. Hệ thống sẽ giám sát hoạt
động mạng để phát hiện các dấu hiệu sai lệch so với các đường cơ sở. Nếu một
mã độc gây ra một lưu lượng mạng cao bất thường hoặc sử dụng một giao thức
chưa từng được ghi nhận và nếu NBA được triển khai nội tuyến (inline) thì
NBA đó sẽ ngăn chặn hành vi bất thường vừa phát hiện.
Một cách khác để hạn chế các sự cố mã độc là cấu hình các thiết bị mạng với
định mức tối đa dung lượng mà một host hoặc một service được phép sử dụng.
Các hệ thống Host-based IPS sử dụng để giám sát các sự kiện trên một host cụ
thể, chặng hạn như ghi log, các tiến trình đang được thực thi, truy cập và sửa đổi
tập tin, thay đổi cấu hình một ứng dụng nào đó trên host, giám sát lưu lượng
mạng trên host,… Host-based IPS thường sử dụng kết hợp cả signature và
khuôn dạng các hành vi cho phép để phát hiện các tấn công đã biết và chưa biết
xảy ra trên host.
5.7. Sử dụng Firewall
Network firewall được triển khai giữa các mạng để hạn chế số dạng lưu lượng
hợp lệ giữa một mạng và các mạng khác.
Host-based firewall là phần mềm chạy trên host cụ thể hạn chế lưu lượng mạng
vào và ra trên chính host đó. Cả hai loại firewall trên đều nên được sử dụng
nhằm hạn chế nguy cơ lây nhiễm mã độc trên thiết bị.
Các tổ chức cần cấu hình firewall với tập luật deny by default – chặn mọi lưu
lượng mạng ngoại trừ những lưu lượng cụ thể được định nghĩa bởi quản trị viên.
Với tập luật firewall như vậy, mã độc không thể phát tán bằng cách lợi dụng các
service không thực sự cần thiết đối với tổ chức.
Khi một mã độc mới xuất hiện sử dụng các dịch vụ mạng để phát tán, quản trị
viên cần sẵn sàng thêm hoặc thay đổi luật firewall sớm nhất có thể để ngăn chặn
nguy cơ xảy ra sự cố mã độc. Các luật firewall rất hữu ích trong việc ngăn chặn
các mã độc hoạt động dựa theo một địa chỉ IP cụ thể, chẳng hạn khi một worm
thực hiện tải Trojan horse từ một trong 5 host bên ngoài mạng, quản trị viên chỉ
cần thêm luật firewall ngăn chặn mọi giao tiếp tới các địa chỉ IP này để phòng
tránh lây nhiễm Trojan.
5.8. Sử dụng công nghệ kiểm tra và lọc nội dung
Các tổ chức nên sử dụng các công nghệ kiểm tra và lọc nội dung để ngăn chặn
mã độc phát tán qua email. Bên cạnh đó, cũng nên sử dụng công nghệ lọc thư
rác để giảm thiểu số thư rác tiếp cận được đến người dùng vì thư rác thường
được sử dụng để phát tán mã độc, đặc biệt là trong các cuộc tấn công phishing.
Các tổ chức cũng nên cân nhắc việc cấu hình mail server và mail client để chặn
các tập tin đính kèm ở định dạng có thể chứa mã độc hại (VD: .pif, .vbs) và các
tập tin có tên chứa các phần mở rộng giả (VD: .txt.vbs, .html.exe). Tuy nhiên,
điều này có thể khiến các hoạt động hợp lệ cũng bị chặn. Một số tổ chức chủ
90

đích sử dụng phần mở rộng giả người dùng sau khi tải tập tin về phải đổi tên tập
tin trước khi thực thi.
Các công nghệ kiểm tra và lọc nội dung cũng nên được sử dụng để ngăn chặn
các nguy cơ lây nhiễm mã độc từ ứng dụng web. Ngoài ngăn chặn truy cập các
nội dung không phù hợp ở nơi làm việc, những trang web có thể nhúng mã độc,
hay chặn một số dạng tập tin nhạy cảm (VD: ActiveX Scripting), tổ chức cũng
nên chặn các cửa sổ popup không mong muốn trên trình duyệt web. Cửa sổ
popup có thể nhìn giống như một message box bình thường và đánh lừa người
dùng click vào các trang web giả mạo để đánh cắp thông tin hoặc thực thi mã
độc hại.
Cả công cụ lọc nội dung email và lọc nội dung website đều nên sử dụng các
danh sách đen thời gian thực và kết hợp nhiều cơ chế lọc nhất có thể. Các cơ chế
lọc này dựa trên các kỹ thuật đa dạng để phát hiện địa chỉ IP, domain name hoặc
URI khả nghi.
5.9. Bảo vệ BIOS
Các sửa đổi trái phép lên BIOS thực hiện bởi các phần mềm độc hại có thể dẫn
đến các hành vi độc hại khác vì BIOS firmware có vị trí đặc quyền trong kiến
trúc máy tính. Sửa đổi trái phép lên BIOS có thể là một phần của một cuộc tấn
công phức tạp, có chủ đích đối với tổ chức – một vụ DoS vĩnh viễn (BIOS bị hư
hại) hoặc một mã độc tồn tại bền vững trên hệ thống (mã độc được nhúng vào
BIOS). Việc thay đổi từ triển khai BIOS sang UEFI cũng có thể khiến mã độc
lây lan rộng rãi vì UEFI được triển khai theo một chuẩn chung.
5.10. Sử dụng nhiều trình duyệt web cho các hoạt động khác nhau
Truy cập vào các website chứa mã độc hại là một trong các con đường phổ biến
nhất để một máy tính bị nhiễm mã độc, chẳng hạn bị cài đặt các plugin. Người
dùng nên sử dụng một trình duyệt web cho các hoạt động công việc và một trình
duyệt web khác cho các hoạt đồng truy cập web còn lại. Biện pháp này tách dữ
liệu nhạy cảm của tổ chức khỏi các loại dữ liệu khác.

7. HOẠT ĐỘNG CÁC ỨNG DỤNG MẠNG


1. Dịch vụ tên (DNS)
Cho đến bây giờ, chúng ta vẫn dùng địa chỉ để định danh các host. Trong khi rất
thuận tiện cho việc xử lý của các router, các địa chỉ số không thân thiện với
người dùng lắm. Vì lý do này, các host thường được gán cho một cái tên thân
thiện và dịch vụ tên được sử dụng để ánh xạ từ cái tên thân thiện với người dùng
này sang địa chỉ số vốn rất thân thiện với các router. Dịch vụ như vậy thường là
ứng dụng đầu tiên được cài đặt trong một mạng máy tính do nó cho phép các
ứng dụng khác tự do định danh các host bằng tên thay vì bằng địa chỉ. Dịch vụ
tên thường được gọi là phần trung gian (middleware) vì nó lấp đầy khoảng cách
giữa các ứng dụng khác và lớp mạng phía dưới. Tên host và địa chỉ host khác
91

nhau ở hai điểm quan trọng. Thứ nhất, tên host thường có độ dài thay đổi và dễ
gợi nhớ, vì thế nó giúp người dùng dễ nhớ hơn. Thứ hai, tên thường không chứa
thông tin gì để giúp mạng định vị (chuyển các gói tin đến) host. Địa chỉ, ngược
lại, lại hàm chứa thông tin vạch đường trong đó.
Trước khi đi vào chi tiết cách thức đặt tên cho các host trong mạng như thế nào,
chúng ta đi định nghĩa một số thuật ngữ trước:
Không gian tên (name space) định nghĩa tập các tên có thể có. Một không gian
tên có thể là phẳng (flat) – một tên không thể được chia thành các thành phần
nhỏ hơn, hoặc phân cấp.
ƒ Hệ thống tên duy trì một tập các ánh xạ (collection of bindings) từ tên sang
giá trị. Giá trị có thể là bất cứ thứ gì chúng ta muốn hệ thống tên trả về khi ta
cấp cho nó một tên để ánh xạ; trong nhiều trường hợp giá trị chính là địa chỉ
host.
ƒ Một cơ chế phân giải (resolution mechanism) là một thủ tục mà khi được gọi
với tham số là một tên, sẽ trả về một giá trị tương ứng.
ƒ Một server tên (name server) là một kết quả cài đặt cụ thể của một cơ chế
phân giải luôn sẵn dùng trên mạng và có thể được truy vấn bằng cách gởi đến nó
một thông điệp.
Mạng Internet đã có sẵn một hệ thống đặt tên được phát triển tốt, gọi là hệ
thống tên miền (domain name system – DNS). Vì thế chúng ta sẽ dùng DNS
làm cơ sở để thảo luận về vấn đề đặt tên cho các host.
Khi nguời dùng đưa một tên host đến một ứng dụng (có thể tên host đó là
một phần của một tên hỗn hợp như địa chỉ email chẳng hạn), ứng dụng này sẽ
liên hệ với hệ thống tên để dịch tên host sang địa chỉ host. Sau đó ứng dụng liền
tạo một nối kết đến host đó thông qua giao thức TCP chẳng hạn. Hiện trạng
được mô tả trong hình H.1.

H. 1 Tên máy được dịch sang địa chỉ,


92

các số từ 1-5 thể hiện trình tự các bước xử lý


1.1 Miền phân cấp

DNS cài đặt không gian tên phân cấp dùng cho các đối tượng trên Internet. Các
tên DNS được xử lý từ phải sang trái, sử dụng các dấu chấm (.) làm ký tự ngăn
cách. (Mặc dù các tên DNS được xử lý từ phải qua trái, người dùng thường đọc
chúng từ trái sang phải). Ví dụ tên miền của một host là mail.cit.ctu.edu.vn. Chú
ý rằng các tên miền được sử dụng để đặt tên các đối tượng trên Internet, không
phải chỉ được dùng để đặt tên máy. Ta có thể mường tượng cấu trúc phân cấp
của DNS giống như hình dáng cây. Hình H.2 là một ví dụ.

H.2 Cây phân cấp tên miền


Có thể thấy rằng, cây phân cấp không quá rộng ở mức đầu tiên. Mỗi quốc gia có
một tên miền, ngoài ra còn có 6 miền lớn khác gồm: edu, com, gov, mil, org và
net. Sáu miền lớn này nằm ở Mỹ. Những tên miền không chỉ ra tên nước một
cách tường minh thì mặc nhiên là nằm ở Mỹ.
1.2 Các server phục vụ tên
Một cấu trúc tên miền phân cấp hoàn chỉnh chỉ tồn tại trong ý niệm. Vậy thì
trong thực tế cấu trúc phân cấp này được cài đặt như thế nào? Bước đầu tiên là
chia cấu trúc này thành các cây con gọi là các vùng (zone). Ví dụ, hình H8.3 chỉ
ra cách thức cấu trúc phân cấp trong hình H.2 được chia thành các vùng như thế
nào.

H.3 Cấu trúc miền phân cấp được chia thành các vùng
93

Mỗi một vùng có thể được xem là đơn vị quản lý một bộ phận của toàn hệ thống
phân cấp. Ví dụ, vùng cao nhất của hệ thống phân cấp được quản lý bởi NIC
(Network Information Center), vùng ctu được quản lý bởi Trường Đại Học Cần
Thơ.
Một vùng luôn có mối liên hệ đến các đơn vị cài đặt cơ bản trong DNS - các
server tên. Thông tin chứa trong một vùng được thiết lập tại hai hoặc nhiều
server tên. Mỗi server tên có thể truy xuất được qua mạng Internet. Client gởi
yêu cầu đến server tên, server tên sẽ trả lời cho yêu cầu đó.
Câu trả lời đôi khi chứa thông tin cuối cùng mà client cần, đôi khi lại chứa chỉ
điểm đến một server tên khác mà client nên gởi câu hỏi đến đó. Vì thế, theo cách
nhìn thiên về cài đặt, người ta có thể nghĩ về DNS được cài đặt bằng cấu trúc
phân cấp các server tên hơn là bằng cấu trúc phân cấp các miền.

H.4 Cấu trúc phân cấp của các server tên


Để ý rằng mỗi vùng được cài đặt trong hai hoặc nhiều server tên với lý do dự
phòng; nghĩa là nếu một server bị chết sẽ còn các server khác thay thế. Mặt
khác, một server tên cũng có thể được dùng để cài đặt nhiều hơn một vùng.
Mỗi server tên quản lý thông tin về một vùng dưới dạng một tập các mẫu tin tài
nguyên (resource record). Mỗi mẫu tin tài nguyên là một ánh xạ từ tên sang giá
trị (name to value binding), cụ thể hơn là một mẫu tin gồm 5 trường: (Tên, Giá
trị, Kiểu, Lớp, TTL)
Các trường Tên và Giá trị là những gì chúng ta muốn có, ngoài tra trường Kiểu
chỉ ra cách thức mà Giá trị được thông dịch. Chẳng hạn, trường Kiểu = A chỉ ra
rằng Giá trị là một địa chỉ IP. Vì thế các mẫu tin kiểu A sẽ cài đặt kiểu ánh xạ
từ tên miền sang địa chỉ IP. Ví dụ như mẫu tin:
94

(ns.ctu.edu.vn, 203.162.41.166, A, IN) chỉ ra rằng địa chỉ IP của host có tên
ns.ctu.edu.vn là 203.162.41.166.
Ngoài ra còn có những kiểu khác: NS: Trường Giá trị chỉ ra tên miền của máy
tính đang chạy dịch vụ tên, và dịch vụ đó có khả năng thông dịch các tên trong
một miền cụ thể. Ví dụ mẫu tin: (ctu.edu.vn, ns.ctu.edu.vn, NS, IN) chỉ ra rằng
server tên của miền ctu.edu.vn có tên là ns.ctu.edu.vn.
CNAME: Trường Giá trị chỉ ra một cái tên giả của một host nào đó. Kiểu này
được dùng để đặt thêm bí danh cho các host trong miền.
ƒ MX: Trường Giá trị chỉ ra tên miền của host đang chạy chương trình mail
server mà server đó có khả năng tiếp nhận những thông điệp thuộc một miền cụ
thể.
Ví dụ mẫu tin (ctu.edu.vn, mail.ctu.edu.vn, MX, IN) chỉ ra rằng host có tên
mail.ctu.edu.vn là mail server của miền ctu.edu.vn.
Trường Lớp được sử dụng nhằm cho phép thêm vào những thực thể mạng
không do NIC quản lý.
Ngày nay, lớp được sử dụng rộng rãi nhất là loại được Internet sử dụng; nó được
ký hiệu là IN.
Cuối cùng trường TTL chỉ ra mẫu tin tài nguyên này sẽ hợp lệ trong bao lâu.
Trường này được sử dụng bởi những server đang trữ tạm các mẫu tin của server
khác; khi trường TTL hết hạn, các mẫu tin chứa trường TTL hết hạn đó sẽ bị
các server xóa khỏi cache của mình.
Để hiểu rõ hơn cách thức các mẫu tin tài nguyên được thể hiện trong cấu trúc
phân cấp, hãy xem ví dụ được vẽ trong hình H8.3. Để đơn giản hóa vấn đề,
chúng ta bỏ qua trường TTL và cung cấp thông tin tương ứng cho một server
tên làm nhiệm vụ quản lý cho một vùng.
Đầu tiên, server tên gốc (root name server) sẽ chứa một mẫu tin NS cho mỗi
server cấp hai. Nó cũng chứa một mẫu tin A để thông dịch từ một tên server cấp
hai sang địa chỉ IP của nó. Khi được ghép với nhau, hai mẫu tin này cài đặt một
cách hiệu quả một con trỏ từ server gốc đến mỗi server cấp hai của nó.
(edu.vn, dns1.vnnic.net.vn, NS, IN);thông tin về miền con edu.vn lưu ở máy
dns1.vnnic.net.vn
(dns1.vnnic.net.vn, 203.162.57.105, A, IN);máy dns1.vnnic.net.vn có địa chỉ
203.162.57.105
(cisco.com, ns1.cisco.com, NS, IN)
Kế tiếp, miền edu.vn có một server tên hiện hữu tại máy dns1.vnnic.net.vn và
server này lại chứa các mẫu tin sau:
(ctu.edu.vn, ns.ctu.edu.vn, NS, IN)
(ns.ctu.edu.vn, 203.162.41.166, A, IN)
95

Cuối cùng server ns.ctu.edu.vn lại chứa thông tin về các máy tính của trường
Đại Học Cần Thơ cũng như các miền con của Trường Đại Học Cần Thơ
(cit.ctu.edu.vn, ns.cit.ctu.edu.vn, NS, IN)
(ns.cit.ctu.edu.vn, 203.162.36.144, A, IN)
(ctu.edu.vn, mail.ctu.edu.vn, MX, IN)
(mail.ctu.edu.vn, 203.162.139.21, A, IN)
(www.ctu.edu.vn, mail.ctu.edu.vn, CNAME, IN)
Chú ý rằng trên lý thuyết các mẫu tin có thể được dùng để định nghĩa bất kỳ
kiểu đối tượng nào, DNS lại thường được sử dụng để định danh các host và site.
DNS không được dùng để định danh cá nhân con người hoặc các đối tượng khác
như tập tin hay thư mục, việc định danh này được thực hiện trong các hệ thống
phục vụ tên khác. Ví dụ X.500 là hệ thống định danh của ISO được dùng để
định danh con người bằng cách cung cấp thông tin về tên, chức vụ, số điện
thoại, địa chỉ, và vân vân. X.500 đã chứng tỏ là quá phức tạp nên không được hỗ
trợ bởi các search engine nổi tiếng hiện nay. Tuy nhiên nó lại là nguồn gốc phát
sinh ra chuẩn LDAP (Lightweight Directory Access Protocol). LDAP vốn là
thành phần con của X.500 được thiết kế để làm phần front-end cho X.500.
Ngày nay LDAP đang trở nên phổ biến nhất là ở cấp độ công ty, tổ chức lớn,
đóng vai trò là hệ thống học và quản lý thông tin về người dùng của nó.
1.3 Phương pháp phân tích tên
Với một hệ thống phân cấp các server tên đã trình bày, bây giờ chúng ta đi tìm
hiểu cách thức một khách hàng giao tiếp với các server này để phân tích cho
được một tên miền thành địa chỉ. Giả sử một khách hàng muốn phân tích tên
miền www.ctu.edu.vn, đầu tiên khách hàng này sẽ gởi yêu cầu chứa tên này đến
server tên gốc. Server gốc không thể so khớp tên theo yêu cầu với các tên mà nó
chứa, liền trả lời cho khách hàng một mẫu tin kiểu NS chứa edu.vn. Server gốc
cũng trả về tất cả các mẫu tin có liên quan đến mẫu tin NS vừa nói, trong đó có
mẫu tin kiểu A chứa địa chỉ của dns1.vnnic.vnn.vn. Khách hàng chưa có thông
tin cuối cùng mà nó muốn, tiếp tục gởi yêu cầu đến server tên tại địa chỉ
203.162.57.105. Server tên thứ hai này lại không thể so khớp tên theo yêu cầu
với các tên mà nó chứa, tiếp tục trả lời cho khách hàng một mẫu tin loại NS
chứa tên ctu.edu.vn cùng với mẫu tin kiểu A tương ứng với tên server là
ns.ctu.edu.vn. Khách hàng lại tiếp tục gởi yêu cầu đến server tên tại địa chỉ
203.162.41.166 và lần này nhận được câu trả lời cuối cùng có kiểu A cho tên
www.ctu.edu.vn.
Ví dụ trên chắc chắn sẽ để lại nhiều câu hỏi về quá trình phân giải tên. Câu hỏi
thường được đặt ra là: Lúc khởi đầu, làm sao khách hàng có thể định vị được
server gốc? Đây là bài toán cơ bản đặt ra cho mọi hệ thống phục vụ tên và câu
trả lời là: hệ thống phải tự thân vận động để có được thông tin về các server gốc!
Trong tình huống của hệ thống DNS, ánh xạ từ tên sang địa chỉ của một hay
nhiều server gốc được phổ biến cho mọi người, nghĩa là ánh xạ đó được loan
báo thông qua các phương tiện truyền thông khác nằm ngoài hệ thống tên.
Tuy nhiên, trong thực tế không phải tất cả khách hàng đều biết về các server
96

gốc. Thay vào đó, chương trình khách hàng chạy trên mỗi host trong Internet
được khởi động với các địa chỉ lấy từ server tên cục bộ. Ví dụ, tất cả các host
trong Khoa Công Nghệ Thông Tin của Trường Đại Học Cần Thơ đều biết server
tên nội bộ đang chạy trên máy ns.cit.ctu.edu.vn. Đến lượt server tên cục bộ này
lại chứa các mẫu tin tài nguyên cho một hoặc nhiều server gốc của nó, ví dụ:
( . , a.root-servers.net, NS, IN)
(a.root-server.net, 198.41.0.4, A, IN)
Trong ví dụ trên, server tên cục bộ có thông tin về một server tên gốc của nó
(chú ý miền gốc được ký hiệu bằng dấu chấm) là a.root-servers.net, địa chỉ IP
tương ứng của server gốc này là 198.41.0.4.
Từ đó, việc phân giải một tên miền bắt đầu từ câu truy vấn của khách hàng đến
server cục bộ. Nếu server cục bộ không có sẵn câu trả lời, nó sẽ gởi câu hỏi đến
server từ xa dùm cho khách hàng.
Chuỗi hành động trên có thể được mô tả trong hình H.5

H.5 Quá trình phân giải tên trong thực tế, các số 1 đến 8 chỉ ra trình tự
thực hiện
2 Electronic Mail (SMTP, MIME, POP3, IMAP)
Email là một trong những ứng dụng mạng lâu đời nhất nhưng lại phổ dụng nhất.
Thử nghĩ khi bạn muốn gởi thông điệp đến một người bạn ở đầu kia của thế
giới, bạn muốn mang thư chạy bộ qua đó hay chỉ đơn giản lên máy tính gõ ít
hàng và nhấn nút Send? Thật ra, những bậc tiền bối của mạng ARPANET đã
không tiên đoán được email sẽ là ứng dụng then chốt chạy trên mạng này, mục
tiêu chính của họ là thiết kế hệ thống cho phép truy cập tài nguyên từ xa. Hệ
thống email ra đời không mấy nổi bật, để bây giờ lại được sử dụng hằng ngày
bởi hàng triệu người trên thế giới.
Mục tiêu của phần này là chỉ ra những nhân vật hoạt động trong hệ thống email,
97

vai trò của họ, giao thức mà họ sử dụng và khuôn dạng thông điệp mà họ trao
đổi với nhau.
2.1 Các thành phần của hệ thống email
Một hệ thống email thường có 3 thành phần chính: Bộ phận trợ giúp người dùng
(User Agent), Mail Server và các giao thức mà các thành phần này dùng để giao
tiếp với nhau.
Người ta phân loại các giao thức như sau:
Giao thức giữa các mail servers bao gồm:
o SMTP (Simple Mail Transfer Protocol): được các server dùng để chuyển thư
qua lại với nhau. Ví dụ nôm na, nó giống như cách thức mà các trạm bưu điện
dùng để chuyển các thùng thư của khách hàng cho nhau. Thông tin chi tiết về
giao thức này được mô tả trong tài liệu RFC 822.
Giao thức giữa mail server và user agent bao gồm:
o POP3 (Post Offic Protocol version 3 [RFC 1939]): được user agent sử dụng để
lấy thư về từ hộp thư của nó trên server.
o SMTP: được user agent sử dụng để gởi thư ra server.
o IMAP: (Internet Mail Access Protocol [RFC 1730]): Có nhiều tính năng vượt
trội hơn POP3. Ngoài ra IMAP còn cho phép gởi mail.

H.6 Các thành phần của hệ thống email


2.2 Khuôn dạng của một email
RFC 822 định nghĩa một email gồm có hai phần: phần tiêu đề (header) và phần
thân (body).
98

H.7 Khuôn dạng của email


Cả hai phần đều được thể hiện dưới dạng ký tự ASCII. Lúc đầu, phần thân được
qui định có khuôn dạng văn bản đơn giản. Sau này người ta đề nghị một chuẩn
mới gọi là MIME, có thể cho phép phần thân của email chứa bất kỳ loại dữ liệu
nào.
Phần tiêu đề bao gồm nhiều dòng thông tin, mỗi dòng kết thúc bằng hai ký tự
<CRLF>. Phần tiêu đề được chia khỏi phần thân bởi một hàng rỗng. Mỗi một
hàng tiêu đề chứa một cặp “tên” và “giá trị”, cách nhau bởi dấu hai chấm (:).
Người dùng có thể rất quen với nhiều hàng tiêu đề vì họ thường phải điền thông
tin vào đấy. Ví dụ:

Tên Giá trị

From: Địa chỉ người gởi

To: Địa chỉ của người nhận

Subject: Chủ đề thư

Date: Ngày gởi

RFC 822 được mở rộng năm 1993 (và được cập nhật lại năm 1996) để cho phép
email mang được nhiều loại dữ liệu: audio, video, hình ảnh, tài liệu Word, …
MIME (Multipurpose Internet Mail Extensions) về cơ bản có ba phần. Phần đầu
tiên là tập các dòng header dùng để bổ túc cho phần header cũ của RFC 822.
Theo nhiều cách, những dòng header này mô tả dữ liệu chứa trong phần thân.
Cụ thể như sau:

Tên Giá trị

MIME-Version: Phiên bản MIME đang sử dụng

Content-Description: Mô tả trong thư đang có dữ liệu gì

Content-Type: Mô tả kiểu dữ liệu đang nằm trong thư

Content-Transfer- Mô tả cách thức mã hóa dữ liệu trong thư


99

Encoding:

Phần thứ hai là các định nghĩa cho một tập các kiểu nội dung (và kiểu con nếu
có). Ví dụ một số kiểu mà MIME định nghĩa:

Kiểu Ý nghĩa

image/gif Ảnh dạng gif

image/jpeg Ảnh dạng jpeg

text/plain Văn bản đơn giản

Văn bản mở rộng (có đặt font chữ, được định dạng đậm,
text/richtext
nghiêng hoặc gạch dưới …)

Dữ liệu trong thư được xuất ra từ một ứng dụng nào đó.
Chẳng hạn:
application
application/postscript: tài liệu Postscript ( .ps)
application/msword: tài liệu Microsoft Word (.doc)

MIME cũng định nghĩa kiểu multipart để chỉ ra cách mà phần thân của thư
mang nhiều loại dữ liệu khác nhau như thế nào. Chỉ có một kiểu con của
multipart là mixed với ý nói rằng trong phần thân của thư có nhiều mảnh dữ
liệu khác nhau, độc lập với nhau và được sắp xếp theo một trình tự cụ thể. Mỗi
mảnh dữ liệu sẽ có phần tiêu đề riêng để mô tả kiểu dữ liệu của mảnh đó.
Phần thứ ba mô tả cách thức mã hóa các kiểu dữ liệu nói trên để có thể truyền
chúng dưới dạng ASCII. Lý do để mọi bức thư phải chứa các ký tự ASCII là vì
để đi được đến đích, bức thư đó có thể phải trung chuyển qua nhiều gateway, mà
các gateway này đều coi mọi bức thư dưới dạng ASCII. Nếu trong thư chứa bất
kỳ ký tự nào khác ASCII thì thư sẽ bị đứt gãy nội dung. MIME sử dụng phương
pháp mã hóa trực tiếp dữ liệu nhị phân thành các ký tự nhị phân, gọi là base64.
Ý tưởng của base64 là ánh xạ 3 bytes dữ liệu nhị phân nguyên thủy thành 4 ký
tự ASCII. Giải thuật đơn giản như sau: tập hợp 3 bytes dữ liệu nhị phân lại
thành 24 bits, sau đó chia 24 bits này thành 4 cụm, một cụm 6 bits. Một cụm 6
bits được ánh xạ vào một trong 64 ký tự ASCII hợp lệ; ví dụ 0 ánh xạ thành A, 1
ánh xạ thành B… Nếu nhìn vào bức thư đã được mã hóa dạng base64, người
dùng sẽ thấy chỉ có 52 chữ cái cả hoa lẫn thường, 10 chữ số từ 0 đến 9 và các ký
tự đặc biệt + và /.
Đối với những người dùng chỉ sử dụng trình đọc thư hỗ trợ duy nhất kiểu ký tự
thì việc đọc những bức thư có kiểu base64 sẽ rất là đau khổ. Vì lý do nhân đạo,
MIME còn hỗ trợ kiểu mã hóa ký tự thường được gọi là 7-bit. 7-bit sẽ giữ
nguyên dạng ký tự mà người ta nhập vào.
100

Tổng hợp lại, ví dụ một bức thư có 2 loại dữ liệu: văn bản thường, một ảnh
JPEG, sẽ có hình dáng như sau:
From: ptphi@cit.ctu.edu.vn
To: TH27@cit.ctu.edu.vn
Subject: Picture of students.
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=”—98766789”
--98766789
Content-Transfer-Encoding: 7bit
Content-Type: text/plain
Hi,
Please find a picture of you.
--98766789
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
--98766789--
2.3 Chuyển thư
Kế đến, chúng ta sẽ xem xét giao thức SMTP – giao thức được dùng để chuyển
thư từ máy này đến máy kia. Để đặt SMTP vào đúng ngữ cảnh, chúng ta nên
nhắc lại các nhân vật then chốt trong hệ thống email. Đầu tiên, người dùng
tương tác với trình đọc thư (hay còn gọi là user agent) để soạn, lưu, tìm kiếm và
đọc thư của họ. Hiện trên thị trường có nhiều phần mềm đọc thư, cũng giống
như hiện cũng đang có nhiều loại trình duyệt Web vậy. Thứ hai, có trình xử lý
thư (hay còn gọi là mail server) chạy trên một máy nào đó trong mạng nội bộ
của người dùng. Có thể xem mail server như một bưu điện: Người dùng trao cho
mail server các bức thư mà họ muốn gởi cho người dùng khác, mail server sử
dụng giao thức SMTP trên TCP để chuyển bức các thư này đến mail server bên
đích. Mail server bên đích nhận các thư đến và đặt chúng vào hộp thư của người
dùng bên đích. Do SMTP là giao thức mà rất nhiều người có thể tự cài đặt, vì
thế sẽ có rất nhiều sản phầm mail server hiện có trên thị trường. Sản phẩm mail
server thường được sử dụng nhất là sendmail, ban đầu được cài đặt trong hệ
điều hành Berkeley Unix.
Tất nhiên mail server bên máy gởi có thể kết nối SMTP/TCP trực tiếp tới mail
server bên máy nhận, nhưng trong thực tế, một bức thư có thể đi ngang qua vài
mail gateways trước khi đến đích.
Cũng giống như máy đích, mỗi mail gateway cũng chạy một mail server. Không
phải ngẫu nhiên mà các nút chuyển thư trung gian được gọi là mail gateway.
Công việc của chúng cũng giống như các IP gateway là lưu tạm và chuyển phát
tiếp các bức thư của người dùng. Điểm khác nhau duy nhất giữa chúng là, mail
101

gateway trữ tạm các bức thư trong đĩa, trong khi các IP gateway trữ tạm các gói
tin IP trong bộ nhớ.
Bạn có thể đặt câu hỏi: tại sao lại cần đến các mail gateways? Tại sao không
dùng phương pháp nối kết SMTP/TCP trực tiếp từ bên gởi sang bên nhận? Lý
do thứ nhất, người gởi không muốn kèm trong thư địa chỉ của máy đích. Ví dụ,
riêng việc nhập vào trong thư địa chỉ đích ptphi@cit.ctu.edu.vn đã mất công
rồi, không ai thấy thoải mái khi phải nhập thêm địa chỉ máy đích là machine-of-
phi.cit.ctu.edu.vn. Thứ hai, không chắc lúc bên gởi thiết lập nối kết đến bên
nhận, người dùng bên nhận đã bật sẵn máy! Thành thử chỉ cần địa chỉ thư bên
nhận là đủ. Khi bức thư đến được mail gateway của Khoa Công Nghệ Thông
Tin – Đại học Cần Thơ, nếu người dùng ptphi đang mở máy, mail gateway sẽ
chuyển thư cho anh ta ngay, nếu không mail gateway sẽ trữ tạm thư trên đĩa của
nó đến khi ptphi bật máy lên và kiểm tra thư.
Dù có bao nhiêu mail gateways trung gian trên đường đến đích vẫn không đáng
lo lắng, bởi vì mỗi mail gateway trung gian sẽ nỗ lực sử dụng một kết nối SMTP
độc lập đến gateway kế tiếp trên đường đi nhằm chuyển thư càng ngày càng đến
gần người nhận.
SMTP là một giao thức đơn giản dùng các ký tự ASCII. Sau khi thiết lập nối kết
TCP đến cổng 25 của máy đích (được coi là server), máy nguồn (được coi là
client) chờ nhận kết quả trả về từ server. Server khởi đầu cuộc đối thoại bằng
cách gởi một dòng văn bản đến client thông báo danh tính của nó và khả năng
tiếp nhận thư. Nếu server không có khả năng nhận thư tại thời điểm hiện tại,
client sẽ hủy bỏ nối kết và thử thiết lập lại nối kết sau.
Nếu server sẵn sàng nhận thư, client sẽ thông báo lá thư đó từ đâu đến và ai sẽ là
người nhận. Nếu người nhận đó tồn tại, server sẽ thông báo cho client tiếp tục
gởi thư. Sau đó client gởi thư và server báo nhận cho thư đó. Sau khi cả hai bên
hoàn tất phiên truyền nhận, kết nối sẽ được đóng lại.
Ví dụ một phiên truyền nhận được cho ngay dưới đây. Những dòng bắt đầu bằng
C: là của phía client gởi đi; bằng S: là các câu trả lời của server.
Như đã thấy trong ví dụ, client gởi đi một lệnh (HELO, MAIL FROM, RCPT
TO, DATA, QUIT) và server trả lời bằng một mã số (250, 354, 221) có kèm
theo lời chú thích có thể đọc được. Client kết thúc thư bằng <CRLF>.<CRLF>.
Sau đây là bảng giải thích một số lệnh của client và mã số trả lời của server.
S: 220 ctu.edu.vn
C: HELO cit.ctu.edu.vn
S: 250 ctu.edu.vn says hello to cit.ctu.edu.vn
C: MAIL FROM: <ptphi@cit.ctu.edu.vn>
S: 250 Sender ok
C: RCPT TO: <lhly@yale.edu>
S: 250 Recipient ok
C: DATA
102

S: 354 Enter mail, end with "." on a line by itself


C: Subject: It’s Xmast!
C: So I hope you a merry Xmas and a happy new year!
C: .
S: 250 Message accepted for delivery
C: QUIT
S: 221 Bye-Bye

LỆNH CỦA CLIENT

Lệnh Ý nghĩa

HELO Câu chào và xưng danh của client

MAIL FROM Địa chỉ email của người gởi

RCPT TO Địa chỉ email của người nhận

DATA Bắt đầu truyền nội dung của thư

QUIT Hủy nối kết

TRẢ LỜI CỦA SERVER

Trả lời Ý nghĩa

250 Yêu cầu hợp lệ

550 Yêu cầu không hợp lệ, không tồn tại hộp thư như client đã chỉ ra.

Cho phép bắt đầu nhập thư vào. Kết thúc thư bằng
354
<CRLF>.<CRLF>

221 Server đang đóng kết nối TCP

Vẫn còn nhiều lệnh và mã trả lời chưa được trình bày, xin tham khảo tài liệu
RFC 822 để có được đầy đủ thông tin.
2.4 Phân phát thư
Như đã trình bày, khi đứng về góc độ người dùng thư, họ sẽ dùng user agent để
gởi và nhận thư cho họ. User agent dùng giao thức SMTP để gởi thư đi, dùng
giao thức POP3 hoặc IMAP để nhận thư về.
2.4.1 POP3
Một phiên làm việc theo giao thức POP3 bắt đầu tại user agent. User agent khởi
động một nối kết TCP đến cổng 110 của mail server. Khi kết nối thực hiện xong,
phiên làm việc POP3 sẽ trải qua theo thứ tự ba kỳ:
1. Chứng thực.
103

2. Giao dịch dữ liệu.


3. Cập nhật.
Kỳ chứng thực buộc người dùng thực hiện thủ tục đăng nhập bằng cách nhập
vào hai lệnh sau:

Lệnh Ý nghĩa

USER <tên người dùng> Khai báo tên người dùng.

PASS <mật khẩu> Khai báo mật khẩu.

Báo trả của mail server sẽ là một trong hai câu sau:

Trả lời Ý nghĩa

+OK <chú thích> Khai báo của người dùng là đúng.

+ERR <chú thích> Khai báo của người dùng là sai và lời giải thích.

Trong kỳ giao dịch, người dùng có thể xem danh sách thư chưa nhận về, nhận
thư về và xóa thư trong hộp thư của mình khi cần thiết. Các lệnh mà người dùng
thường sử dụng để giao dịch với server là:

Lệnh Ý nghĩa

Nếu dùng LIST không tham số, server sẽ trả về


toàn bộ danh sách các thư chưa nhận. Nếu có tham
LIST [<số thứ tự thư>]
số là số thứ tự thư cụ thể, server sẽ trả về thông tin
của chỉ bức thư đó thôi.

RETR <số thứ tự thư> Tải lá thư có số thứ tự <số thứ tự thư> về.

DELE <số thứ tự thư> Xóa lá thứ số <số thứ tự thư> khỏi hộp thư.

QUIT Hoàn tất giai đoạn giao dịch và hủy nối kết TCP

Các trả lời của server có thể là các số liệu mà client yêu cầu hoặc các thông báo
+OK, -ERR như trong phần đăng nhập.
Sau đây là dàn cảnh một phiên làm việc ví dụ giữa người dùng ptphi khi anh ta
đăng nhập và làm việc trên hộp thư của mình tại server có địa chỉ
mail.cit.ctu.edu.vn.
2.4.2 IMAP
Với những người dùng có một tài khoản email trên một ISP và người dùng này
thường truy cập email trên một PC thì giao thức POP3 hoạt động tốt. Tuy nhiên,
một sự thật trong ngành công nghệ máy tính, khi một thứ gì đó đã hoạt động tốt,
người ta lập tức đòi hỏi thêm nhiều tính năng mới (và tự chuốc lấy nhiều phiền
104

nhiễu). Điều đó cũng xảy ra đối với hệ thống email. Ví dụ, người ta chỉ có một
tài khoản email, nhưng họ lại muốn ngồi đâu cũng truy cập được nó. POP3 cũng
làm được chuyện này bằng cách đơn giản tải hết các email xuống máy PC mà
người dùng này đang ngồi làm việc. Và dĩ nhiên là thư từ của người dùng này
nằm rải rác khắp nơi.
Sự bất tiện này khơi mào cho sự ra đời của giao thức phân phối thư mới, IMAP
(Internet Message Access Protocol), được định nghĩa trong RFC 2060. Không
giống như POP2, IMAP coi các thông điệp mặc nhiên nằm trên server vô hạn và
trên nhiều hộp thư. IMAP còn đưa ra cơ chế cho phép
đọc các thông điệp hoặc một phần của thông điệp, một tính năng hữu ích khi
người dùng kết nối đến server bằng đường truyền tốc độ chậm như điện thoại
nhưng lại đọc các email có âm thanh, hình ảnh… Với quan niệm cho rằng người
dùng không cần tải thư về lưu trên PC, IMAP cung cấp các cơ chế cho phép tạo,
xóa và sửa đổi nhiều hộp thư trên server.
Cung cách làm việc của IMAP cũng giống như POP3, ngoài trừ trong IMAP có
rất nhiều lệnh.
IMAP server sẽ lắng nghe trên cổng 143. Cũng nên chú ý rằng, không phải mọi
ISP đều hỗ trợ cả hai giao thức POP3 và IMAP.
Bảng sau so sánh các tính năng của POP3 và IMAP

Tính năng POP3 IMAP

Giao thức được định nghĩa ở đâu? RFC 1939 RFC 2060

Cổng TCP được dùng 110 143

Email được lưu ở đâu PC của người dùng Server

Email được đọc ở đâu Off-line On-line

Thời gian nối kết Ít Nhiều

Sử dụng tài nguyên của server Tối thiểu Nhiều hơn

Nhiều hộp thư Không Đúng

Ai lưu phòng hờ các hộp thư Người dùng ISP

Tốt cho người dùng di động Không Có

Kiểm soát của người dùng đối với


Ít Tốt
việc tải thư về

Tải một phần thư Không Có

Quota đĩa có là vấn đề không? Không Thỉnh thoảng


105

Dễ cài đặt Có Không

Được hỗ trợ rộng rãi Có Đang phát triển

3. World Wide Web (HTTP)


Ứng dụng Web đã rất thành công, giúp cho nhiều người có thể truy cập Internet
đến nỗi Web được hiểu đồng nghĩa với Internet! Có thể hiểu Web như là một tập
các client và server hợp tác với nhau và cùng nói chung một ngôn ngữ: HTTP
(Hyper Text Transfer Protocol). Đa phần người dùng tiếp xúc với Web thông
qua chương trình client có giao diện đồ họa, hay còn gọi là trình duyệt Web
(Web browser). Các trình duyệt Web thường được sử dụng nhất là Netscape
Navigator (của Netscape) và Internet Explorer (của Microsoft). Hình ảnh thể
hiện trình duyệt Explorer đang trình bày trang chủ.
Bất kỳ trình duyệt Web nào cũng có chức năng cho phép người dùng “mở một
URL”. Các URL (Uniform Resource Locators) cung cấp thông tin về vị trí của
các đối tượng trên Internet; chúng thường trông giống như sau:
http://www.cit.ctu.edu.vn/index.html
Nếu người dùng mở URL trên, trình duyệt Web sẽ thiết lập một kết nối TCP đến
Web Server tại địa chỉ www.cit.ctu.edu.vn và ngay lập tức tải tập tin
index.html về và thể hiện nó. Hầu hết các tập tin trên Web chứa văn bản và hình
ảnh, một số còn chứa audio và video clips. Chúng còn có thể chứa các liên kết
đến các tập tin khác – được gọi là các liên kết siêu văn bản (hypertext links).
Khi người dùng yêu cầu trình duyệt Web mở ra một liên kết siêu văn bản (bằng
cách trỏ chuột và click lên liên kết đó), trình duyệt sẽ mở một nối kết mới, tải
về và hiển thị một tập tin mới. Vì thế, rất dễ để duyệt từ server này đến server
khác trên khắp thế giới để có được hết những thông tin mà người dùng cần.
Khi người dùng chọn xem một trang Web, trình duyệt Web sẽ nạp trang Web đó
từ Web server về sử dụng giao thức HTTP chạy trên TCP. Giống như SMTP,
HTTP là giao thức hướng ký tự. Về cốt lõi, một thông điệp HTTP có khuôn
dạng tổng quát sau:
START_LINE <CRLF>
MESSAGE_HEADER <CRLF>
<CRLF>
MESSAGE_BODY <CRLF>
Hàng đầu tiên chỉ ra đấy là thông điệp yêu cầu hay trả lời. Nó sẽ chỉ ra “thủ tục
cần được thực hiện từ xa” (trong tình huống là thông điệp yêu cầu) hoặc là
“trạng thái trả về” (trong tình huống là thông điệp trả lời). Tập hợp các hàng kế
tiếp chỉ ra các tùy chọn hoặc tham số nhằm xác định cụ thể tính chất của yêu cầu
hoặc trả lời. Phần MESSAGE_HEADER có thể không có hoặc có một vài hàng
tham số và được kết thúc bằng một hàng trống. HTTP định nghĩa nhiều kiểu
header, một số liên quan đến các thông điệp yêu cầu, một số liên quan đến các
thông điệp trả lời và một số lại liên quan đến phần dữ liệu trong thông điệp. Ở
đây chỉ giới thiệu một số kiểu thường dùng. Cuối cùng, sau hàng trống là phần
nội dung của thông điệp trả lời (MESSAGE_BODY), phần này thường là rỗng
106

trong thông điệp yêu cầu.


3.1 Các thông điệp yêu cầu
Hàng đầu tiên của một thông điệp yêu cầu HTTP sẽ chỉ ra 3 thứ: thao tác cần
được thực thi, trang Web mà thao tác đó sẽ áp lên và phiên bản HTTP được sử
dụng. Bảng sau sẽ giới thiệu một số thao tác phổ biến.

Hành động Mô tả

OPTIONS Yêu cầu thông tin về các tùy chọn hiện có.

GET Lấy về tài liệu được xác định trong URL

Lấy về thông tin thô về tài liệu được xác định


HEAD
trong URL

POST Cung cấp thông tin cho server

Tải tài liệu lên server và đặt ở vị trí được xác


PUT
định trong URL

DELETE Xóa tài liệu nằm ở vị trí URL trên server

TRACE Phản hồi lại thông điệp yêu cầu

CONNECT Được sử dụng bởi các proxy

Hai thao tác thường được sử dụng nhiều nhất là GET (lấy một trang Web về) và
HEAD (lấy về thông tin của một trang Web). GET thường được sử dụng khi
trình duyệt muốn tải một trang Web về và hiển thị nó cho người dùng. HEAD
thường được sử dụng để kiểm tra tính hợp lệ của một liên kết siêu văn bản hoặc
để xem một trang nào đó có bị thay đổi gì không kể từ lần tải về trước đó.
Ví dụ, dòng START_LINE
GET http://www.cit.ctu.edu.vn/index.html HTTP/1.1
nói rằng: người dùng muốn tải về trên server www.cit.ctu.edu.vn trang Web có
tên index.html và hiển thị nó. Ví dụ trên dùng URL tuyệt đối. Ta cũng có thể sử
dụng URL tương đối như sau:
GET /index.html HTTP/1.1
Host: www.cit.ctu.edu.vn
Ở đây, Host là một trong các trường trong MESSAGE_HEADER.
3.2 Các thông điệp trả lời
Giống như các thông điệp yêu cầu, các thông điệp trả lời bắt đầu bằng một hàng
START_LINE.
Trong trường hợp này, dòng START_LINE sẽ chỉ ra phiên bản HTTP đang
được sử dụng, một mã 3 ký số xác định yêu cầu là thành công hay thất bại và
một chuỗi ký tự chỉ ra lý do của câu trả lời này.
Ví dụ, dòng START_LINE
107

HTTP/1.1 202 Accepted


chỉ ra server đã có thể thõa mãn yêu cầu của người dùng.
Còn dòng
HTTP/1.1 404 Not Found
chỉ ra rằng server đã không thể tìm thấy tài liệu như được yêu cầu.
Có năm loại mã trả lời tổng quát với ký số đầu tiên xác định loại mã.

Mã Loại Lý do

1xx Thông tin Đã nhận được yêu cầu, đang tiếp tục xử lý

Thao tác đã được tiếp nhận, hiểu được và chấp nhận


2xx Thành công
được

Cần thực hiện thêm thao tác để hoàn tất yêu cầu
3xx Chuyển hướng
được đặt ra

4xx Lỗi client Yêu cầu có cú pháp sai hoặc không thể được đáp ứng

Server thất bại trong việc đáp ứng một yêu cầu hợp
5xx Lỗi server
lệ

Cũng giống như các thông điệp yêu cầu, các thông điệp trả lời có thể chứa một
hoặc nhiều dòng trong phần MESSAGE_HEADER. Những dòng này cung cấp
thêm thông tin cho client. Ví dụ, dòng header Location chỉ ra rằng URL được
yêu cầu đang có ở vị trí khác. Vì thế, nếu trang Web
của Khoa Công Nghệ Thông Tin được di chuyển từ địa chỉ
http://www.cit.ctu.edu.vn/index.html
sang địa chỉ http://www.ctu.edu.vn/cit/index.html mà người dùng lại truy cập
vào URL cũ, thì Web server sẽ trả lời như sau
HTTP/1.1 301 Moved Permanently
Location: http://www.ctu.edu.vn/cit/index.html
Trong tình huống chung nhất, thông điệp trả lời cũng sẽ mang theo nội dung
trang Web được yêu cầu. Trang này là một tài liệu HTML, nhưng vì nó có thể
chứa dữ liệu không phải dạng văn bản (ví dụ như ảnh GIF), dữ liệu này có thể
được mã hóa theo dạng MIME. Một số hàng trong phần
MESSAGE_HEADER cung cấp thêm thông tin về nội dung của trang Web, bao
gồm ContentLength (số bytes trong phần nội dung), Expires (thời điểm mà nội
dung trang Web được xem như lỗi thời), và Last-Modified (thời điểm được sửa
đổi lần cuối cùng).
3.3 Các kết nối TCP
Nguyên tắc chung của giao thức HTTP là client nối kết đến cổng TCP số 80 tại
server, server luôn lắng nghe trên cổng này để sẵn sàng phục vụ client. Phiên
bản đầu tiên (HTTP/1.0) sẽ thiết lập một nối kết riêng cho mỗi hạng mục dữ liệu
cần tải về từ server. Không khó để thấy rằng đây là cơ
chế không mấy hiệu quả: Các thông điệp dùng để thiết lập và giải phóng nối kết
108

sẽ phải được trao đổi qua lại giữa client và server và khi mà tất cả client muốn
lấy thông tin mới nhất của một trang Web, server sẽ bị quá tải.
Cải tiến quan trọng nhất trong phiên bản HTTP/1.1 là nó cho phép các kết nối
lâu dài – client và server sẽ trao đổi nhiều thông điệp yêu cầu/trả lời trên cùng
một kết nối TCP. Kết nối lâu dài có hai cái lợi. Thứ nhất, nó làm giảm thiểu chi
phí cho việc thiết lập/giải phóng nối kết. Thứ hai, do client gởi nhiều thông điệp
yêu cầu qua một kết nối TCP, cơ chế điều khiển tắc nghẽn của TCP sẽ hoạt động
hiệu quả hơn.
Tuy nhiên, kết nối lâu dài cũng có cái giá phải trả. Vấn đề phát sinh ở chỗ:
không ai trong client và server biết được kết nối đó sẽ kéo dài bao lâu. Điều này
thực sự gây khó khăn cho phía server bởi vì tại mỗi thời điểm, nó phải đảm bảo
duy trì kết nối đến cả ngàn client. Giải pháp cho vấn đề này là: server sẽ mãn kỳ
và cắt nối kết nếu nó không nhận được một yêu cầu cụ thể nào từ phía client
trong một khoảng thời gian định trước. Ngoài ra, cả client và server phải theo
dõi xem phía bên kia có chủ động cắt nối kết hay không và lấy đó làm cơ sở để
tự cắt nối kết của mình. (Nhắc lại rằng, cả hai bên phải cắt nối kết thì nối kết
TCP mới thực sự kết thúc).
3.4 Trữ đệm
Một trong những lĩnh vực nghiên cứu tích cực nhất hiện nay về Internet là làm
sao để trữ tạm các trang Web một cách hiệu quả. Việc trữ tạm mang lại nhiều lợi
ích. Từ phía client, việc nạp và hiển thị một trang Web từ bộ đệm gần đấy là
nhanh hơn rất nhiều so với từ một server nào đó ở nửa vòng trái đất. Đối với
server, có thêm một bộ đệm để can thiệp vào và phục vụ giúp yêu cầu của người
dùng sẽ giảm bớt tải trên server.
Việc trữ đệm có thể được cài đặt tại nhiều nơi khác khau. Ví dụ, trình duyệt
Web có thể trữ tạm những trang Web mới được nạp về gần đây, để khi người
dùng duyệt lại những trang Web đó, trình duyệt sẽ không phải nối kết ra Internet
để lấy chúng về mà dùng bản trữ sẵn. Ví dụ khác, một
khu vực làm việc (site) có thể đề cử một máy làm nhiệm vụ trữ tạm các trang
Web, để những người dùng sau có thể sử dụng các bản trữ sẵn của những người
dùng trước. Yêu cầu của hệ thống này là mọi người dùng trong site phải biết địa
chỉ của máy tính làm nhiệm vụ bộ trữ tạm, và họ chỉ
đơn giản là liên hệ với máy tính này để tải các trang Web về theo yêu cầu.
Người ta thường gọi máy tính làm nhiệm vụ trữ tạm các trang Web cho một site
là proxy. Vị trí trữ đệm có thể di chuyển gần hơn đến phần lõi của Internet là các
ISP. Trong tình huống này, các site nối kết tới ISP thường không hay biết gì về
việc trữ tạm ở đây. Khi các yêu cầu HTTP từ các site được chuyển phát đến
router của ISP, router liền kiểm tra xem URL được yêu cầu có giống với các
URL được trữ sẵn hay không. Nếu có, router sẽ trả lời ngay. Nếu không, router
sẽ chuyển yêu cầu đến server thật sự và cũng không quên lưu vào bộ đệm của
mình thông điệp trả lời từ phía server đó.
Việc trữ tạm là đơn giản. Tuy nhiên bộ đệm phải đảm bảo những thông tin trữ
đệm trong đó không quá cũ. Để làm được việc này, các Web server phải gán
“ngày hết hạn” (tức là trường Expires trong header) cho mọi trang Web mà nó
109

phục vụ cho client. Nhân đó, các bộ đệm cũng lưu lại thông tin này. Và từ đó,
các bộ đệm sẽ không cần phải kiểm tra tính cập nhật của trang Web đó cho đến
khi ngày hết hạn đến. Tại thời điểm một trang Web hết hạn, bộ đệm sẽ dùng
lệnh HEAD hoặc lệnh GET có điều kiện (GET với trường If-Modified-Since
trong phần header được đặt) để kiểm tra rằng nó có một phiên bản mới nhất của
trang Web kia. Tổng quát hơn, cần phải có
“các chỉ thị hướng dẫn” cho việc trữ đệm và các chỉ thị này phải được tuân thủ
tại mọi bộ đệm.
Các chỉ thị sẽ chỉ ra có nên trữ đệm một tài liệu hay không, trữ nó bao lâu, một
tài liệu phải tươi như thế nào và vân vân.
4 Truyền tập tin (FTP)
Thông qua dịch vụ FTP, người dùng tại một máy tính có thể đăng nhập và thao
tác lên hệ thống tập tin được chia sẻ của một máy tính từ xa.
Mục tiêu của dịch vụ FTP là:
1) Đảm bảo việc chia sẻ tập tin (chương trình máy tính hoặc dữ liệu) trên mạng.
2) Khuyến khích việc sử dụng không trực tiếp (thông qua chương trình) tài
nguyên trên các máy tính khác.
3) Người dùng không cần phải quan tâm đến sự khác nhau của các hệ thống tập
tin trên mạng.
4) Truyền dữ liệu một cách tin cậy và hiệu quả.
4.1 Mô hình dịch vụ FTP

Hình H.9 mô tả mô hình của dịch vụ FTP


Trong hệ thống này, người dùng sẽ ra lệnh cho FTP user agent. User agent sẽ
nối kết tới FTP server để dàn xếp thủ tục làm việc, thực thi các tác vụ theo yêu
cầu và trả kết quả về cho người dùng.
4.2 Giao thức FTP
Đầu tiên, user agent thiết lập một kết nối điều khiển trên cổng 21 tới FTP server.
Sau khi đã thỏa thuận các tham số truyền nhận, hai bên sẽ thiết lập một kênh dữ
liệu chạy trên cổng 20. Dữ liệu của các tập tin được trao đổi qua lại giữa user
agent và server sẽ chạy trên kênh dữ liệu này. Kênh dữ liệu là kênh hoạt động
theo phương thức hai chiều và không nhất thiết phải luôn tồn tại.
110

Hình .10 Giao tiếp giữa Client và Server trong giao thức FTP
4.3 Các lệnh cơ bản
Sau đây là các lệnh cơ bản mà người dùng có thể sử dụng để thao tác lên hệ
thống FTP

Lệnh Tham số Ý nghĩa

FTP host-name Nối kết đến FTP server có địa chỉ host-name

Cung cấp tên người dùng cho FTP server để


USER user-name
thực hiện quá trình chứng thực

ASCII Chỉ định kiểu dữ liệu truyền nhận là ký tự

BINARY Chỉ định kiểu dữ liệu truyền nhận là nhị phân

LS Xem nội dung thư mục từ xa

Chuyển đến thư mục khác trong hệ thống tập


CD remote-dir
tin từ xa

Tải tập tin remote-file trên FTP server về hệ


remote-file local-
GET thống tập
file
tin cục bộ và đặt tên là local-file

local-file remote- Nạp tập tin cục bộ local-file lên server và đặt
PUT
file tên là remote-file

Tạo một thư mục có tên dir-name trên hệ thống


MKDIR dir-name
tập tin từ xa.

Xóa thư mục có tên dir-name trên hệ thống tập


RMDIR dir-name
tin từ xa

Đóng nối kết FTP và thoát khỏi chương trình


QUIT
FTP

You might also like