những kẻ tấn công mạng
Những kẻ tấn công mạng (hacker) hiện nay là những phần tử "thâm
canh cốđế" của môi trường mạng diện rộng [STE1]. Các mạng của
chính phủ, của các cơ quan tài chính, của những công ty viễn thông và
các tập đoàn tư nhân đã trở thành những nạn nhân của các vụđột nhập
của hacker và trong tương lai vẫn là những mục tiêu săn đuổi của
chúng.
Các vụđột nhập mạng thường có phạm vi tác động rất rộng như một
số biểu hiện của các trường hợp đã được ghi lại dưới đây:
••Một loạt các đợt tấn công của hacker vào hàng trăm cơ sở nghiên cứu
của chính phủ và quân đội Mỹđược mô tả chi tiết bởi cơ quan Cliff
Stoll [STOL1]. Đó là trường hợp của các đợt tấn công thành công (hầu
như không bị phát hiện) trong thời gian nhiều tháng trời. Thủ phạm là
một cơ quan tình báo nước ngoài. Động cơ cá nhân của hacker là cơ hội
thu lợi về tài chính. Từ câu truyện của Cliff Stoll thì thông điệp làm cho
những thao tác viên mạng và những người dùng lo lắng nhất chính là sự
dễ dàng mà các hacker đã đột nhập và thiết bị rất sơđẳng mà chúng đã
sử dụng với trình độ kỹ thuật tầm thường.
••Con sâu mạng (Internet Worm) được thả lên mạng Internet vào tháng
11 năm 1988 bởi sinh viên Robert Morris Jr. của trường đại học Cornell
[SPA1]. Con sâu mạng này là một chương trình đột nhập tự nhân bản.
Nó tiến hành quét toàn mạng internet để lan nhiễm và khống chế hữu
hiệu tối thiểu là 1200 (có thể lên đến 6000) máy tính mạng internet
chạy trên hệđiều hành UNIX.
Khó có thể thu thập được đầy đủ các số liệu tin cậy về các vụđột nhập
của hacker và các sự cố an ninh khác, vì chính các nạn nhân từ chối không
tự nhận họ bị (hoặc đã bị) thiệt hại. Có thể thấy xu hướng gia tăng của các
vụđột nhập nhập mạng internet qua các số liệu thống kê về các sự cố an
ninh đựơc lưu trữ tại ủy Ban Chịu Trách Nhiệm Về Các Vấn Đề Khẩn Cấp
Các Máy Tính Mạng Internet - được hình thành từ sau sự cố con sâu mạng
Internet (Internet Computer Emergency Response Team, viết tắt là CERT).
Số các sự cốđược ghi lại trong thời kỳ từ 1989 đến 1992 được trình bày
trong bảng 1-1. Lưu ý rằng, một sự cố có thể chỉ tác động tới một địa chỉ
hoặc cũng có thể tác động đến hàng ngàn địa chỉ và các sự cố có thể có tác
động trong một thời gian dài.
Năm Số sự cố
1989
1990
1991
1992
132
252
406
773
Bảng 1-1: Các sự cố an ninh mạng Internet được ghi lại trong giai đoạn
1989-1992
Có rất nhiều động cơ sâu xa để tấn công vào các mạng thương mại hoặc
không mật của chính phủ. Đó là các vụđột nhập mạo hiểm và phiêu lưu để
gian lận tài chính, ăn cắp tài nguyên viễn thông, làm gián điệp công nghiệp,
nghe lén để lấy trộm thông tin phục vụ cho lợi ích chính trị hoặc tài chính
của những nhân viên bất bình hoặc những kẻ cố tình phá hoại. Ngoài những
kiểu tấn công cố tình thì an ninh truyền thông cũng cần phải ngăn ngừa sự
khai thác vô tình của người dùng. Việc kết nối vô tình của phiên truyền
thông nhạy cảm đến một địa chỉ sai hoặc một lỗi vô tình đối với thông tin
nhạy cảm cần được bảo vệ có thể gây ra một sự phá hoại thành công như
một sự tấn công có chủ ý .
1.1 Các yêu cầu đặc trưng về an ninh mạng
Sựđe doạ của các hacker luôn là một mối quan tâm trong tất cả mọi
mạng có truy cập công cộng hay có sử dụng các phương tiện công cộng. Tuy
nhiên, đó không chỉđơn thuần chỉ là sự lo lắng. Đểđưa ra được các yêu cầu
về an ninh mạng chúng ta hãy xét những vấn đề an ninh trong một số môi
trường ứng dụng mạng quan trọng dưới đây.
Trong lĩnh vực ngân hàng
Từ những năm 1970, dịch vụ chuyển tiền điện tử CTĐT (Electronic
Funds Transfer, viết tắt là EFT) đã là tiêu điểm của ứng dụng an ninh truyền
thông trong công nghiệp tài chính [PARR1]. Mối quan tâm chính là đảm bảo
sao cho không cho bất kỳ ai can thiệp vào quá trình CTĐT, vì chỉ cần đơn
giản sửa lượng tiền chuyển khoản hay sửa số tài khoản là có thể gian lận
được một khoản tài chính khổng lồ.
Đây là vấn đề chính của các cơ quan tài chính, nơi phát sinh và xử lý các
giao dịch, vì họ phải đương đầu với viễn cảnh chịu đựng những chi phí tổn
thất của sự gian lận. Cho dù có phát hiện được sự gian lận thì trong thực tế
cũng khó có thể khởi tốđược vì nhiều l?ý do, và đó đang trở thành một thiệt
hại công cộng hiển nhiên đối với các cơ quan này. Do hệ thống tài chính có
chứa đựng yếu tố nguy hại như vậy từ phía xã hội, nên việc bảo vệ hệ thống
này cũng liên quan đến các cơ quan chính phủ. Một vụ tấn công nghiêm
trọng quy mô lớn vào một mạng của hệ thống tài chính quan trọng cũng có
thể tác động làm mất ổn định nền kinh tế của một quốc gia.
Tính chất nghiêm trọng của các vấn đề an ninh trong nền công nghiệp tài
chính và sự hỗ trợ từ phía chính phủđã làm cho các ứng dụng công nghệ an
ninh trong ngành công nghiệp này trở thành vị trí đứng đầu trong thế giới
thương mại.
Trong những năm 1980, việc ra mắt những mạng máy nói tựđộng
(Automatic Teller Machine, viết tắt là ATM) và các dịch vụ CTĐT tại nơi
bán (EFTPOS) đã làm tăng các vấn đề mới về an ninh truyền thông trong thị
trường kinh doanh ngân hàng bán lẻ [DAV1, MEY1]. Việc đưa vào sử dụng
các tiện ích như vậy yêu cầu sử dụng các thẻ nhựa và các số nhận dạng cá
nhân SNDCN (Personal Identification Number, viết tắt là PIN). Nhưng, vì
các thẻ này thường xuyên bị mất cắp và dễ bị làm giả, nên an ninh của các
hệ thống phụ thuộc vào sự bí mật của các SNDCN. Việc giữ bí mật của các
SNDCN bị phức tạp hoá bởi một thực tế là trong quá trình xử lý một giao
dịch thì phải liên quan đến các mạng được quản lý đa phân chia.
Hơn nữa, các ngân hàng đã nhìn thấy trước được sự tiết kịêm chi phí
trong việc thay thế các dịch vụ giao dịch trên giấy bằng các dịch vụ giao
dịch điện tử. Nên khi các dịch vụ giao dịch điện tử mới ra đời ngày càng
nhiều thì an ninh mạng cũng yêu cầu phải phát triển theo.
Càng ngày, các ngân hàng cần phải bảo đảm rằng người tham gia mở
giao dịch phải là chính chủ (xác thực). Do vậy, cần có một chữ k?ý điện tử
tương đương với chữ k?ý trên giấy của khách hàng. Các ngân hàng cũng
chịu trách nhiệm về sự bí mật của các giao dịch.
Trong thương mại điện tử
Việc trao đổi dữ liệu điện tử TĐDLĐT đã bắt đầu làm xuất hiện một
vùng ứng dụng viễn thông cơ bản từ những năm 1980 [SOK1]. Mục tiêu của
TĐDLĐT là thay thế toàn bộ các hình thức giao dịch thương mại trên giấy
(ví dụ nhưđơn đặt hàng, hoá đơn thanh toán, các chứng từ, v.v..) bằng các
giao dịch điện tử tương đương. TĐDLĐT có thểđem lại một sự giảm giá
thành đáng kể trong hoạt động kinh doanh.
Để làm cho TĐDLĐT được chấp nhận rộng rãi trong hoạt động kinh
doanh thương mại thì an ninh là một yếu tố không thể thiếu được. Người
dùng cần phải được đảm bảo chắc chắn rằng, hệ thống điện tử cung cấp cho
họ sự bảo vệ tương đương (không nói là tốt hơn) để tránh sai sót, hiểu lầm
và chống lại những hành vi gian lận so với sự bảo vệ mà họđã quen thuộc
trước đó ở hệ thống quản lý giấy tờ và chữ ký trên giấy.
Trong TĐDLĐT có một nhu cầu thiết yếu để bảo vệ chống lại việc sửa
đổi dữ liệu vô tình hay cố ?ý ?và đểđảm bảo rằng, xuất sứ của mọi giao dịch
đều hợp lệ. Tính chất bí mật và riêng tư của các giao dịch cũng cần phải
được đảm bảo vì trong đó có chứa các thông tin bí mật của công ty. Về khía
cạnh này thì TĐDLĐT hoàn toàn giống như dịch vụ CTĐT. Tuy nhiên, dịch
vụ CTĐT đưa ra các thách thức mới về an ninh, vì cộng đồng các người
dùng lớn hơn và các tổ chức kinh doanh ngày càng phát triển nhiều hơn.
Dịch vụ CTĐT cũng đưa ra một yêu cầu mới cơ bản. Các giao dịch
CTĐT cấu thành các hợp đồng kinh doanh, có nghĩa là chúng phải có các
chữ k?ý điện tử có tính hợp pháp giống như các chữ k?ý trên giấy. Ví dụ,
chúng có thểđược chấp nhận như bằng chứng trong việc giải quyết các tranh
chấp trước toà án luật pháp. Để chữ k?ý điện tử có được vị trí hợp pháp bây
giờ, người ta đã phải tranh luận trong nhiều năm trời. Ví dụ, như năm 1992,
Hiệp hội các Đạo luật của Hợp chủng quốc Hoa kỳ có đưa ra một Nghị
quyết có nội dung như sau:
Ghi nhận, các thông tin ở dạng điện tử, trong điều kiện thích hợp, có thể
được coi là thoả mãn các yêu cầu hợp pháp so với chữ viết hoặc chữ ký trên
giấy hoặc ở dạng truyền thống khác trong cùng một phạm vi, khi đã chấp
nhận các thủ tục, các kỹ thuật và thực tiễn an ninh tương ứng.
Vì tiết kiệm chi phí cho người dùng và các cơ hội thị trường mở rộng
cho các nhà cung cấp thiết bị, dịch vụ CTĐT được xem như một cơ hội lớn
đối với người dùng cũng như các nhà bán hàng. Các giải pháp kỹ thuật và
các tiêu chuẩn hỗ trợ cho an ninh CTĐT đang trở thành điều quan trọng cơ
bản đối với hầu hết tất cả các ngành công nghiệp.
Trong các cơ quan chính phủ
Các cơ quan chính phủ ngày càng sử dụng nhiều mạng truyền thông máy
tính để truyền tải thông tin. Nhiều trong số các thông tin đó hoàn toàn không
liên quan đến an ninh quốc gia, nên chúng không phải là các thông tin mật.
Tuy nhiên, chúng lại yêu cầu cần được bảo vệ an ninh vì những l?ý do khác,
chẳng hạn như bảo vệ tính riêng tư hợp pháp. Những thông tin không mật
nhưng nhạy? cảm này có thểđược truyền tải đi thông qua thiết bị nối mạng
thương mại có sẵn sử dụng các cấp giám sát an ninh thoảđáng.
Ví dụ, ở Mỹ, Đạo luật An ninh Máy tính năm 1987 có đưa ra khái niệm
về cái gọi là "thông tin nhạy cảm" được định nghĩa như là "mọi thông tin bất
kỳ, mà sự làm thất thoát nó, sử dụng sai nó hoặc truy nhập trái phép hay sửa
đổi nó có thể tác động chống lại lợi ích của quốc gia hoặc chống lại sự chỉ
đạo của các chương trình Liên bang, hoặc các quyền riêng tư của các cá
nhân được nêu trong Điều 552a, Khoản 5, Luật Hoa kỳ ( Đạo luật về quyền
cá nhân), nhưng chưa được đăng ký bản quyền đặc biệt theo tiêu chuẩn mà
Quốc hội phê chuẩn đều phải được giữ bí mật để bảo vệ lợi ích quốc gia và
ngoại giao". Uỷ ban các tiêu chuẩn của Hoa kỳ (NIST) đã được giao "trách
nhiệm phát triển và đề ra các tiêu chuẩn và hướng dẫn thi hành ... để có thể
đảm bảo được an ninh và tính bí mật riêng tư của các thông tin nhạy cảm".
Quy dịnh này còn phân biệt sự khác nhau giữa các thông tin nhạy cảm và
thông tin mật thuộc sự quản lý của Cơ quan An ninh Quốc gia. Nhiều quốc
gia khác cũng có các chính sách thích ứng để công nhận và quản lý các dữ
liệu không mật nhưng nhạy cảm.
Vấn đề an ninh nổi bật nhất là sựđảm bảo giữđược tính bí mật và riêng
tư, có nghĩa là, thông tin không bị lộ do vô tình hay cố ý đối với tất cả những
ai không có quyền sở hữu những thông tin đó. Một nội dung an ninh khác là
đảm bảo rằng, thông tin không bị truy nhập hoặc sửa đổi bởi bất kỳ ai không
có quyền chính đáng.
Những tiết kịêm chi phí của giao dịch điện tử so với giao dịch trên giấy,
ví dụ như tạo hồ sơđiện tử về hoàn trả thuế, cũng đang được các cơ quan
chính phủ triển khai nhanh chóng. Ngoài những đảm bảo về tính bí mật và
riêng tư, những hệ thống như vậy đều đưa ra yêu cầu đối với các chữ ký điện
tử khả thi về mặt luật pháp. Năm 1991, với việc dỡ bỏ rào chắn của các điều
luật chính Chính phủ Hoa kỳđã mởđường cho viêc sử dụng chữ ký điện tử.
Một Quyết nghị của của Uỷ ban Kiểm soát có nêu rằng, các hợp đồng có sử
dụng chữ ký điện tửđều có giá trị pháp l?ý đối với các cơ quan chính phủ có
trang bị các hệ thống an ninh hoàn hảo (Thông báo của chính phủ liên bang
về luật bản quyền hoặc các tiêu chuẩn chữ ký số hoá phải được tuân thủ).
Trong các tổ chức viễn thông công cộng
Việc quản lý các mạng viễn thông công cộng gồm nhiều chức năng
chung như: Vận hành, Quản trị, Bảo trì và Giám sát VQB&G (tiếng Anh
viết tắt là OAM&P). Những chức năng quản lý này lại có những tiện ích nối
mạng dữ liệu cấp thấp hơn để liên kết các thiết bị thuộc các chủng loại khác
nhau và có một cộng đồng người dùng đông đúc (những nhân viên vận hành
và bảo trì). Trong khi việc truy cập vào những mạng như vậy chỉ bị khống
chế khắt khe một lần, còn các đường truy cập mới thì lại để ngỏ. Các khả
năng như quản lý mạng khách hàng cung cấp cho nhân viên làm dịch vụ
khách hàng truy cập mạng quản lý để thực hiện các chức năng quản lý mạng
trên tài nguyên mạng do tổ chức người dùng đó sử dụng.
Các mạng và hệ thống quản lý truyền thông dễ bị các hacker đột nhập?
[STE1]. Động cơ chung của những vụđột nhập như vậy là ăn cắp các dịch
vụ truyền thông. Khi đã đột nhập được vào quản lý mạng thì việc ăn cắp như
vậy có thểđược nghĩ ra dưới nhiều hình thức khác nhau, chẳng hạn như gọi
các hàm chẩn đoán, điều khiển các bản ghi tính tiền, và sửa đổi các cơ sở dữ
liệu giám sát. Các vụđột nhập quản lý mạng cũng có thểđược thực hiện trực
tiếp từ các cuộc nghe trộm trên các cuộc gọi của các thuê bao.
Vấn đề chính của các cơ quan viễn thông là tìm kiếm các tổn hại an ninh
làm chậm thời gian truy cập mạng mà có thể phải trả giá cực kỳđắt cho các
quan hệ khách hàng, thất thu ngân sách và giá thành phục hồi. Các vụ tấn
công cố ý vào khả năng sẵn sàng của hạ tầng viễn thông quốc gia thậm chí
còn được coi như là một vấn đề an ninh quốc gia.
Ngoài các vụđột nhập từ bên ngoài, các cơ quan viễn thông cũng còn
phải quan tâm đến các tổn hại từ các nguồn bên trong như những thay đổi
không hợp lệ của các cơ sở dữ liệu quản lý mạng từ phía nhân viên không có
trách nhiệm thực hiện những công việc này. Những biểu hiện như vậy có
thể là vô ý và cũng có thể là cố ?tình, chẳng hạn hành vi của một nhân viên
bất mãn. Để bảo vệ chống lại những hiện tượng như vậy thì việc truy cập
vào mỗi chức năng quản lý cần phải được giới hạn nghiêm ngặt và chỉ dành
cho những ai có nhu cầu hợp pháp. Điều quan trọng là cần phải biết chính
xác nhận dạng của cá nhân đang có ý định truy cập một chức năng quản lý
của mạng.
Trong các mạng công ty/tư nhân
Hầu hết tất cả các công ty đều có các yêu cầu bảo vệ các thông tin về sở
hữu tài sản nhạy cảm. Việc tiết lộ những thông tin như vậy cho các đối thủ
cạnh tranh hoặc những cá nhân và tổ chức bên ngoài có thể làm thiệt hại
nghiêm trọng cho công việc kinh doanh, trong chừng mực nào đó có thểđem
lại sự thắng thầu hoặc mất các hợp đồng kinh tế và cũng có thểảnh hưởng
đến sự tồn vong của công ty. Các mạng đang ngày càng được sử dụng để
chuyển các thông tin về sở hữu tài sản, ví dụ giữa các cá nhân, giữa các địa
điểm văn phòng, giữa các công ty con và/hoặc giữa các đối tác kinh doanh.
Mạng công ty khép kín đã trở thành một khái niệm lạc hậu, vì xu hướng
đang phát triển hiện nay là làm việc tại nhà.
Việc bảo vệ các thông tin về sở hữu tài sản không chỉ là một mối quan
tâm. Có nhiều tổ chức được tin tưởng giữ gìn các thông tin riêng tư về các tổ
chức và các cá nhân khác mà họ có trách nhiêm phải bảo đảm việc bảo vệ bí
mật. Ví dụ như các tổ chức chăm sóc sức khoẻ và các cơ quan pháp luật.
Các yêu cầu về bảo đảm tính xác thực của các tin nhắn cũng tăng lên
trong các mạng công ty. Một tin nhắn điện tử quan trọng luôn cần phải xác
thực, cũng tương tự như một tài liệu trên giấy quan trọng cần phải có một
chữ ký.
Cho đến hiện nay, các công ty đã hoạt động với giả thiết rằng, các cơ cấu
bảo vệ tương đối đơn giản sẽ thoả mãn các yêu cầu về an ninh của họ. Họ
hoàn toàn không bận tâm về các vụđột nhập với công nghệ phức tạp nhưđối
với các lĩnh vực mật của chính phủ. Tuy nhiên, ngày càng có nhiều bằng
chứng cho thấy, các tài nguyên trí tuệ của một số chính phủ ngoại quốc đang
được sử dụng vào các mục đích tình báo công nghiệp. Công nghiệp thương
mại có thể sẽ không còn được tiếp tục tự mãn về sức mạnh của các biện
pháp an ninh đã được dùng để bảo vệ các thông tin về tài sản nhạy cảm.
1.2 An ninh và các hệ thống mở
Những thuật ngữ an ninh mạng và các hệ thống mở có thể xuất hiện
trái ngược nhau về khái niệm, nhưng thực ra thì không phải như vậy. Khái
niệm hệ thống mở biểu diễn phản ứng của người mua trong nhiều năm cấm
đoán của những người bán máy tính cá nhân cũng như các phần cứng và
phần mềm truyền thông. Nó được coi như là con đường dẫn đến sự lựa chọn
mở của các nhà cung cấp các cấu thành riêng rẽ của hệ thống với sựđảm bảo
rằng, các cấu thành từ các nhà cung cấp khác nhau sẽ hoàn toàn làm việc
được với nhau để thoả mãn các nhu cầu của người mua. Chương trình điều
khiển các hệ thống mở bị ràng buộc chặt chẽ với việc thiết lập và thực thi
rộng rãi các tiêu chuẩn.
Nối mạng máy tính và các hệ thống mở luôn gắn liền với nhau. Sự ra
đời của các hệ thống mởđầu tiên - Nối kết các hệ thống mở (Open Systems
Interconnection, viết tắt là OSI) - được tiến hành từ những năm 1970 bằng
việc phát triển các tiêu chuẩn cho thủ tục truyền thông máy tính được thoả
thuận giữa các quốc gia trên thế giới. Ngoài hệ thống các tiêu chuẩn chính
thức OSI thì các thủ tục nối mạng hệ thống mởđã được thiết lập bởi các tập
đoàn khác - đặc biệt là Hiệp hội Internet với thủ tục TCP/IP. Thông qua các
hoạt động nối mạng các hệ thống mở này, thủ tục này đã có khả năng kết nối
thiết bị từ nhiều nhà cung cấp khác nhau, cho phép sử dụng tất cả mọi công
nghiệp truyền thông và thoả mãn mọi yêu cầu của hầu hết mọi ứng dụng.
Việc đưa bảo vệ an ninh vào trong các mạng hệ thống mở hiện nay là
một nỗ lực đáng kể. Nó cho thấy, đó là một nhiệm vụ phức tạp ở quy mô
rộng lớn, vì nó thể hiện sự giao kết của hai công nghệ - công nghệ an ninh
và thiết kế thủ tục truyền thông. Để cung cấp an ninh mạng hệ thống mở thì
cần phải sử dụng các kỹ thuật an ninh kết hợp với các thủ tục an ninh , sau
này được tích hợp vào trong các thủ tục mạng truyền thông.
Cần phải đưa ra các tiêu chuẩn tương thích và đầy đủ bao trùm lên ba
lĩnh vực rộng lớn sau:
- Các kỹ thuật an ninh
- Các thủ tục an ninh mục đích chung
- Các thủ tục ứng dụng đặc biệt như ngân hàng, thưđiện tử v.v..
Các thủ tục liên quan cho các lĩnh vực này đều được lấy từ bốn nguồn
chính là:
- Các tiêu chuẩn quốc tế về công nghệ thông tin được xây dựng bởi Tổ
chức tiêu chuẩn quốc tế ISO, Uỷ ban điện kỹ thuật Quốc tế (IEC),
Liên hiệp Viễn thông Quốc tế (ITU), và Viện các Kỹ sưĐiện Điện tử
(IEEE).
- Các tiêu chuẩn công nghiệp ngân hàng, được phát triển bởi tổ chức
ISO hoặc bởi Viện các Tiêu chuẩn Quốc gia Hoa kỳ,
- Các tiêu chuẩn của các quốc gia, đặc biệt là của chính phủ liên bang
Hoa kỳ
- Các thủ tục về mạng internet được xây dựng bởi Hiệp hội Internet.
Những tiêu chuẩn liên quan đến an ninh từ tất cả các nguồn trên sẽđược
trình bày ở trong cuốn sách này.
Kết luận chương
An ninh mạng đã trở thành một yêu cầu chuyên môn hoá của các môi
trường an ninh quốc gia và quốc phòng. Các yêu cầu về an mạng đã xuất
hiện trong hầu hết mọi môi trường ứng dụng mạng, bao gồm mạng ngân
hàng, mạng thương mại điện tử, mạng chính phủ (không mật), mạng truyền
thông của các tổ chức truyền thông và các mạng công ty/ tư nhân. Tập hợp
các yêu cầu đặc trưng của những môi trường này được tổng hợp trong bảng
1-2.
An ninh mạng cần phải được thực thi hài hoà với sự phát triển của mạng
hệ thống mở (có nghĩa là mạng không phụ thuộc vào các nhà cung cấp thiết
bị). Điều này có nghĩa là các cấu thành cơ bản của an ninh mạng - các kỹ
thuật an ninh và các thủ tục an ninh cần phải được phản ánh trong các tiêu
chuẩn hệ thống mở tương ứng.
Trong chương 2 chúng ta sẽ sử dụng những yêu cầu an ninh ở trong bảng
1-2 như một minh hoạ về sự chuyển dịch thân tình từ những yêu cầu này
thành những mối đe doạ như thế nào và làm thế nào có thể sử dụng các dịch
vụ an ninh để rà xét các oạmois đe doạ này. Các chương sau đó sẽ trình bày
các phương pháp thực thi các dịch vụ an ninh này.
Bảng 1-2:
Môi trường ứng dụng Các yêu cầu
Tất cả các mạng Bảo vệ chống đột nhập từ bên ngoài (hacker)
Mạng ngân hàng Bảo vệ chống gian lận hoặc sửa đổi vô tình các
giao dịch
Nhận dạng các khách hàng giao dịch lẻ
Bảo vệ chống tiết lộ SNDCN
Bảo đảm tính bí mật và riêng tư của khách hàng
Mạng thương mại điện tửĐảm bảo nguồn và tính nguyên vẹn của các giao
dịch
Bảo vệ bí mật của các công ty
Bảo đảm sự ràng buộc của các chữ ký điện tử
với các giao dịch
Mạng chính phủ Bảo vệ chống lại sự tiết lộ hoặc vận hành không
hợp pháp các thông tin không mật nhưng nhạy
cảm
Cung cấp chữ ký điện tử cho các giấy tờ hành
chính của chính phủ
Mạng của các tổ chức
truyền thông
Hạn chế truy cập vào các chức năng quản lý cho
những cá nhân có thẩm quyền
Bảo vệ chống lại việc làm gián đoạn các dịch vụ
Bảo vệ bí mật cho các thuê bao
Mạng công ty/riêng lẻ Bảo vệ riêng tư và bí mật của công ty/ cá nhân
Đảm bảo tính trung thực của tin nhắn
Các tài liệu tham khảo
[DAV1] - D.W. Davies W.L. Price, "An ninh cho các mạng máy tính",
Tái bản lần thứ hai, NXB John Wiley and Sons, New York, 1989
[MAR1] - P. Marion, "", NXB Calmann - Lévy, Pháp, 1991.
[MEY1] - C.H. Meyer, S.M. Matyas và R.E. Lennon, "Các tiêu chuẩn
trung thực mã hoá cần thiết đối với các hệ thống chuyển tiền điện tử", Báo
cáo tại Hội nghị về an ninh và bí mật ở Oakland Canada, Tạp chí IEEE
Computer Society, 1981.
[NUT1] - G.J Nutt, "Các hệ thống mở ", NXB Prentice Hall,
EngleWood Cliffs, New Jessy, 1992.
[PAR1] - D.B. Parker, "Những tổn thất quốc tế từ nguy cơ dễ bị tổn
thương của chuyển tiền điện tử ", Tạp chí Communications of the ACM, kỳ
thứ 22, số 12, (tháng 12 năm 1979), trang 654-660.
[SOK1] - P.K. Sokol, "EDI: Lưỡi dao cạnh tranh", NXB Intext
Publications, Công ty sách McGraw-Hill phát hành, New York, 1988.
[SPA1] - E.H. Spafford, "Con sâu Internet: cơn khủng hoảng và hậu
quả", Tạp chí Communications of the ACM, kỳ thứ 32, số 6, (tháng 6 năm
1989), trang 678-687.
[STE1] - B. Sterling, "Trừng trị hacker: Luật pháp và sự hỗn độn trên
mặt trận điện tử ", Hãng Bantam phát hành, New York, 1992.
[STO1] - C. Stoll, "Quả trứng con chim cu", NXB Doubleday, New
York, 1989.
Có thể bạn sẽ thắc mắc điều gì sẽ xảy ra nếu như ICMP bị khóa bởi một vị trí
mục tiêu. Một câu hỏi rất hay. Thông thường chúng ta không mấy khi gặp
những site được bảo mật kỹ càng lại khóa ICMP tại cầu dẫn hoặc firewall.
Khi ICMP có thể bị khóa, ta có thể sử dụng một số công cụ và thủ thuật hỗ trợ
nhằm xác định xem hệ thống có thực sự hoạt động không. Tuy vậy những thủ
thuật và công cụ này cũng không thể chính xác và hữu ích như một ping
sweep thông thường.
Khi luồng thông tin ICMP bị khóa, port scanning (quét cổng) là kỹ
thuật đầu tiên nhằm xác định những mày chủđang kết nối trực tiếp. (Quét
cổng sẽđược nghiên cứu kỹ trong phần cuối Chương này). Qua thao tác quét
đối với các cổng thông thường trên các địa chỉ IP tiềm năng, ta có thể xác định
những máy chủ nào đang hoạt động nếu như ta có thể xác định được những
cổng mở và nghe trên hệ thống mục tiêu. Thủ thuật này rất tốn thời gian và
thường không thu được kết quả như mong muốn. Một công cụ sử dụng nhằm
hỗ trợ thủ thuật quét cổng đó là nmap. Nhưđã đề cập trước đó, nmap có tính
năng thực thiện thao thác quét ICMP. Tuy nhiên nó cũng đưa ra sự lựa chọn
cao cấp hơn có tên TCP ping scan. Một TCP ping scan được khởi chạy bằng
lựa chọn đối số -PT và số của cổng ví dụ như 80. Chúng ta sử dụng 80 là vì đó
là cổng thông dụng mà các site sẽ cho phép qua cầu dẫn biên vào những hệ
thống trên vùng phi quân sự (DMZ), thậm chí có thể qua cả firewall. Lựa chọn
này gửi những gói tin TCP ACK sang một mạng đích và đợi cho tới khi RST
xác định là máy chủđang hoạt động. Các gói tin ACK được gửi đi bởi nó có
nhiều khả năng có thể vượt qua được firewall không kiên cố.
[tsunami] nmap -sP -PT80 192.168.1.0/24
TCP probe port is 80
Starting nmap V.2.53
Host (192.168.1.0) appears to be up.
Host (192.168.1.1) appears to be up.
Host shadow (192.168.1.10) appears to be up.
Host (192.168.1.11) appears to be up.
Host (192.168.1.15) appears to be up.
Host (192.168.1.20) appears to be up.
Host (192.168.1.50) appears to be up.
Host (192.168.1.101) appears to be up.
Host (192.168.1.102) appears to be up.
Host (192.168.1.255) appears to be up.
Nmap run completed (10 hosts up) scanned in 5 seconds
Ta có thể thấy rằng phương pháp này rất hiệu quả giúp xác định hệ
thống nào đang hoạt động nếu như site khóa ICMP. Do vậy chúng ta nên thử
tiến hành quét lặp lại với một số cổng thông thường như SCTP (25), POP
(110), AUTH (113), IMAP (143) hoặc một số loại cổng khác đặc trưng duy
nhất cho site này.
Hping trên địa chỉhttp://www.kyuzz.org/antirez/ là một tiện ích ping
TCP khác với tính năng TCP bổ xung so với nmap. Hping cho phép người sử
dụng kiểm soát các lựa chọn gói tin TCP cụ thể cho phép gói tin này có thể
luồn lách qua cac thiết bị kiểm soát truy nhập. Bằng cách thiết lập cổng đích
bằng lựa chọn đối số -p, bạn có thểđánh lừa một số công cụ kiểm soát truy
nhập tương tự như traceroute nhưđã tìm hiểu trong Chương I. Ta có thể sử
dụng Hping để thực hiện quét TCP và công cụ này còn có tính năng chia dời
các gói tin, có nhiều khả năng vượt qua một số thiết bị kiểm soát truy nhập.
[tsunami] hping 192.168.1.2 -s -p 80 -f
HPING 192.168.1.2 (eth0 192.168.1.2): S net, 40 data bytes
60 bytes from 192.168.1.2: flags=SA seq=0 ttl=124 id=17501 win=0 time=46.5
60 bytes from 192.168.1.2: flags=SA seq=1 ttl=124 id= 18013 win=0 time=169.1
Trong một số trường hợp, các thiết bị kiểm soát truy nhập đơn giản không thể
giải quyết được các gói tin bị chia một cách chính xác do đó cho phép các gói
tin của ta có thể vượt qua và sẽ tiến hành xác định xem cổng có hoạt động hay
không. Chú ý rằng cờ hiệu TCP SYN và TCP ACK sẽđược gửi trở lại khi
cổng mở. Hping có thể dễ dàng bị hợp nhất thành các shell script bằng cách sử
dụng lựa chọn đếm gói tin -cN với N là số lượng gói gin gửi đi. Mặc dầu
phương pháp này không nhanh bằng các thủ thuật quét ICMP ping nhưđã giới
thiệu trong phần trước nhưng nó cũng cần thiết, xét về cấu hình của hệ thống
mạng mục tiêu. Chúng ta sẽ tìm hiểu chi tiết hơn về hping trong Chương 11.
Công cụ cuối cùng mà chúng ta sẽ tìm hiểu là icmpenum, của Simple
Normad (trên http://www.nmrc.org/files/sunix/icmpenum-1.1.1.tgz). Tiện ích
này là một công cụđếm ICMP đơn giản cho phép bạn nhanh chóng xác định
các hệ thống đang họat động bằng cách gửi đi các gói tin ICMP ECHO truyền
thống, và những yêu cầu ICMP TIMESTAMP REQUEST và ICMP INFO. Do
vậy, nếu nhưđường vào các gói tin ICMP ECHO bị một router hoặc firewall
để ngỏ, ta vẫn có thể xác định được các hệ thống có sử dụng loại ICMP thay
thế.
[shadow] icmpenum -i2 -c 192.168.1.0
192.168.1.1 is up
192.168.1.10 is up
192.168.1.11 is up
192.168.1.15 is up
192.168.1.20 is up
192.168.1.103 is up
Trong ví dụ trên, chúng ta đã tiến hành đếm toàn bộ mạng Class C
192.168..1.0 sử dụng một ICMP TIME STAMP REQUEST. Tuy nhiên tính
năng thực sự của icmpenum là xác định các hệ thống có sử dụng các gói tin
được bảo vệ tránh phát hiện. Thủ thuật này là có hiểu quả bởi icmpenum hỗ
trợ tính năng bảo vệ gói tin bằng lựa chọn đối số -s và đợi nghe hiệu lệnh phản
hồi bằng khóa chuyển đổi -p.
Tổng kết lại, bước thực hiện này giúp chúng ta xác định chính xác hệ
thống nào đang hoạt động thông qua ICMP hoặc thông qua những lần quét
cổng chọn lọc. Trong số 255 địa chỉ tiềm năng trong Class C, chúng ta đã xác
định là một số máy chủđang hoạt động và sẽ tiếp tục trở thành mục tiêu thăm
dò. Do vậy, chúng ta đã giảm đi đáng kể thiết lập mục tiêu, tiết kiệm thời gian
thử nghiệm và thu hẹp phạm vi các hoạt động chính.
◙Các biện pháp đối phó Ping Sweep
Mặc dầu Ping sweep có thể là một điều gây khó chịu nhưng ta cũng cần phải
thăm dò hoạt động này. Dựa trên mô hình bảo mật của chúng ta, bạn có thể
muốn khóa ping sweep. Chúng ta sẽ tìm hiểu cả hai lựa chọn trong phần tiếp
theo.
Thăm dò Nhưđã đề cập, ánh xạ mạng thông qua ping sweep là một
phương pháp hiệu quả nhằm thăm dò mạng trước khi một cuộc tấn công xảy
ra. Do đó, thăm dò hoạt động ping sweep là công việc cần thiết giúp tìm hiểu
thời điểm và đối tượng tấn công. Phương pháp thăm dò phát hiện tấn công
ping sweep cơ bản là những chương trình dựa trên mạng ví dụ như snort
(http://www.snort/org).
Từ góc độ máy chủ, một vài tiện ích UNIX sẽ phát hiện và ghi lại
những cuộc tấn công. Nếu bạn bắt đầu hiểu rõ mô hình của những gói tin
ICMP ECHO từ một mạng hoặc một hệ thống nhất định, điều đó có nghĩa là
một ai đó đang thăm dò mạng trên site của bạn. Bạn cần đặc biệt chú ý đến
hoạt động này vì có thể sẽ có một cuộc tấn công tổng thể.
Các công cụ phát hiện ping dựa trên máy chủ Windows cũng khó có
được. Tuy nhiên một phần mềm dùng chung/ phần mềm miễn phí mà ta cần
tìm hiểu đó là Genius. Genius hiện đã có phiên bản 3.1 tại đại chỉ
http://www.indiesoft..com/. Mặc dầu Genius không phát hiện các thao tác quét
ICMP ECHO đối với một hệ thống, nó lại có thể phát hiện quét ping TCP đối
với một cổng cụ thể. Một giải pháp mang tính thương mại cho quét TCP đó là
BlackICE của Network ICE (www.networkice.com). Sản phẩm này không chỉ
đơn giản là một công cụ phát hiện quét cổng, ping TCP mà nó còn được sử
dụng đặc trưng duy nhất cho mục đích này. Bảng 2-1 là danh sách những công
cụ phát hiện ping bổ xung giúp bạn tăng cường tính năng thằm dò.
Ngăn chặn Mặc dầu hoạt động thăm dò ping sweep là tối quan trọng, việc
ngăn chặn cũng sẽ là một liều thuốc hữu hiệu. Chúng tối khuyên bạn nên cẩn
thận đánh giá loại luồng thông tin ICMP là bạn cho phép vào mạng của mình
hoặc các hệ thống đặc trưng. Có rất nhiều loại thông tin ICMP mà ECHO và
ECHO_REPLY chỉ là 2 loại trong sốđó. Hầu hết các site không đòi hỏi tất cả
các loại thông tin ICMP tới tất cả các hệ thống kết nối Internet trực tiếp. Mặc
dầu hầu hết các firewall có thể lọc các gói tin ICMP, các nhu cầu tổ chức có
thể chỉ ra răng firewall đã để lọt một số thông tin ICMP. Nếu xuất hiện một
nhu cầu thực sự, thì khi đó ta cần phải xem xét kỹ lưỡng sẽđể lọt qua những
loại thông tin ICMP nào. Một phương pháp theo thiểu sốđó là chỉ duy nhất
cho phép các gói tin ICMP ECHO_REPLY, HOST_UNREACHABLE, và
TIME_EXCEEDED nhập vào trong mạng DMZ. Ngoài ra, nếu như thông tin
ICMP có thể bị hạn chế bằng ACL tới các địa chỉ IP đặc trưng, bạn có thể
thuận lợi hơn nhiều. Điều này sẽ giúp ISP của bạn kiểm tra tính năng kết nối
đồng thời cũng gây cản trở thực hiện thao tác quét ICMP chống lại các hệ
thống kết nối trực tiếp Internet.
Chương trình Tài nguyên
Scanlogd http://www.openwall.com/scanlogd
Courtney 1.3
http://packetstorm.security.com/UNIX/audit/courtney-1.3.tar.z
Ippl 1.4.10 http://plplp.net/ippl
Protolog 1.0.8
http://packetstorm.security.com/UNIX/loggers/protolog-
1.0.8.tar.gz
Bảng 2-1: Một số công cụ Phát hiện Ping dựa trên máy chủ UNIX
ICMP là một giao thức đặc biệt hữu dụng giúp phát hiện những sự cố mạng,
do đó nó cũng dễ dàng bị lạm dụng. Việc cho phép không hạn chế những
thông tin ICMP vào cổng biên của bạn có thể giúp kẻ tấn công tiến hành một
cuộc tấn công khước từ dịch vụ. (ví dụ như Smurf). Nghiêm trọng hơn, nếu
như kẻ tấn công thực sự phá hoại được một trong những hệ thống của bạn,
chúng có thể thoát ra khỏi hệđiều hành và lén lút khai thác dữ liệu trong một
gói tin ICMP ECHO có sử dụng chương trình như là loki. Để có thêm thông
tin chi tiết về loki, kiểm tra Phrack Magazine, Tập 7, Số 51 ra ngày 1/9/1997,
bài số 06 (http://www.phrack.org/show.php?p=51&a=6)
Một khái niệm đáng chú ý nữa, được Tom Ptacek phát triển và được
Mike Schiffman áp dụng cho Linux, là pingd. Pingd là một userland daemon
quản lí mọi thông tin ICMP ECHO và ICMP ECHO_REPLY ở cấp độ máy
chủ. Sản phẩm tuyệt diệu này được hoàn thiện bằng việc loại bỏ sự hỗ trợ sử lí
ICMP ECHO từ nhân và chạy một userland daemon bằng một ổ cắm ICMP
thô nhằm quản lí những gói tin này. Ngoài ra tiện ích này còn cung cấp một cơ
chế kiểm soát truy nhập cho ping ở cấp độ hệ thống. Pingd được thiết kế cho
Linux có tại địa chỉhttp://packetstorm.security.com/UNIX/misc/pingd-
0.5.1.tgz).
☻ICMP Query
Tính phổ thông 2
Tính đơn giản
9
Tính hiệu quả
5
Mức độ rủi ro
5
Ping sweep (hay là những gói tin ICMP ECHO) chỉ là phần nổi của tảng băng
chìm khi bạn tìm hiểu thông tin về một hệ thống. Bạn có thể thu thập thông
tin có giá trị về một hệ thống bất kỳ bằng cách đơn giản gửi đi một gói tin
ICMP tới hệ thống đó. Ví dụ, với một công cụ UNIX icmpquery
(http://packetstorm.security.com/UNIX/scanners/icmpquery.c) hoặc icmpush
(http://packetstorm.security.cm/UNIX/scanners/icmpush32.tgz.) bạn có thể
yêu cầu thời gian trên hệ thống (xem múi thời gian tại vị trí của hệ thống)
bằng cách gửi đi một thông điệp ICMP loại 13. (TIMESTAMP). Và bạn cũng
có thể yêu cầu netmask của một thiết bị cụ thể bằng thông điệp ICMP loại 17
(ADDRESS MASK REQUEST). Netmask của một thẻ mạng là rất quan trọng
bởi bạn có thể xác định rõ được tất cả các mạng cấp dưới đang được sử dụng.
Với kiến thức về các mạng cấp dưới, bạn có thểđịnh hướng tấn công vào một
mạng cấp dưới duy nhất và tránh làm ảnh hưởng đến các địa chỉ thông báo.
Icmpquery có cả timestamp và lựa chọn yêu cầu ẩn địa chỉ:
Icmpquery <-query> [-B] [-f fromhost] [ -d delay] [-T time] targets where <query> is one of :
-t : icmp timestamp request (default)
-m : icmp address mask request
The delay is in microseconds to sleep between packets.
Targets is a list of hostnames or addresses
-T specifies the number of seconds to wait for a host to respond. The default is 5.
-B specifies 'broadcast' mode. Icmpquery will wait for timeout seconds and print all responses.
If you're on a modem, you may wish to use a larger -d and -T
Để sử dụng icmpquery tìm hiểu thời gian của một cầu dẫn, bạn có thể thực
hiện dòng lệnh sau:
[tsunami] icmpquery -t 192.168.1.1
192.168.1.1 : 11:36:19
Để sử dụng icmpquery tìm hiểu netmask của một cầu dẫn, bạn có thể thực
hiện dòng lệnh sau:
[tsunami] icmpquery -m 192.168.1.1
192.168.1.1 : 0xFFFFFFE0
Chú ý: Không phải tất cả các cầu dẫn/ hệ thống đều cho phép đáp ứng
ICMP TIMESTAMP hoặc NETMASK, vì vậy quãng đường mà bạn đi
được bằng icmpquery và icmpush có thể thay đổi lớn tùy theo máy chủ.
◙ Các biện pháp đối phó ICMP Query
Một trong những phương pháp ngăn chặn hiệu quả nhất đó là khóa ICMP nào
cho phép lọt ra thông tin ở các cầu dẫn ngoài. Tối thiểu bạn cũng phải hạn chế
các yêu cầu gói tin TIMESTAMP (ICMP loại 13) và ADDRESS MASK
(ICMP loại 17) không vào hệ thống của bạn. Nếu như bạn triển khai các cầu
dẫn Cisco tại các đường viền, bạn có thể hạn chế chúng đáp ứng lại những gói
tin yêu cầu ICMP bằng các ACL sau:
Access-list 101 deny icmp any any 13 ! timestamp request
Access-list 101 deny icmp any any 17 ! address mask request
Ta có thể thăm dò hoạt động này bằng một hệ thống thăm dò đột nhập mạng
(NIDS) như là snort (www.snort.org). Sau đây là một phần của hoạt động này
mà snort đang thực hiện:
[**] PING -ICMP Timestamp [**]
05/29-12:04:40.535502 192.168.1.10 -> 192.168.1.1
ICMP TTL: 255 TOS: 0x0 ID: 4321
TIMESTAMP REQUEST
XÁC ĐỊNH CÁC DỊCH VỤĐANG CHẠY HOẶC ĐANG NGHE
Như chúng ta vừa xác định được các hệ thống đang hoạt động bằng cách sử
dụng ICMP hoặc TCP ping sweep, và cũng đã thu được thông tin ICMP chọn
lọc. Bây giờ ta có thể bắt đầu tiến hành quét cổng trên mỗi hệ thống.
☻Port Scanning (Quét cổng)
Tính phổ thông 10
Tính đơn giản
9
Tính hiệu quả
9
Mức độ rủi ro
9
Port scanning là một quá trình kết nối các cổng TCP và UDP trên một hệ
thống mục tiêu nhằm xác định xem dịch vụ nào đang chạy hoặc đang trong
trạng thái NGHE. Xác định các cổng nghe là một công việc hết sức quan trọng
nhằm xác định được loại hình hệ thống và những ứng dụng đang được sử
dụng. Các dịch vụ hoạt động đang nghe có thể cho phép một đối tượng sử
dụng tự ý truy nhập vào hệ thống định cấu hình sai hoặc chạy trên một phiên
bản phần mềm có những điểm yếu bảo mật. Các công cụ và kỹ thuật quét cổng
đã phát triển nhanh chóng trong những năm vừa qua. Chúng ta sẽ tập trung
tìm hiểu một số công cụ phổ thông qua đó ta sẽ có được đầy đủ thông tin nhất.
Các kỹ thuật quét cổng sau đây khác biệt so với những kỹ thuật trước đó vì
chúng ta chỉ cần xác định những hệ thống nào đang hoạt động mà thôi. Theo
những bước sau đây chúng ta giả sử rằng các hệ thống đang hoạt động và
chúng ta đang cố gắng xác định các cổng nghe và những điểm truy nhập có
thể trên mục tiêu.
Chúng ta muốn đạt được một số mục tiêu khi thực tiến hành quét hệ
thống mục tiêu. Bao gồm những bước sau đây nhưng không chỉ hạn chế theo
đúng khuôn mẫu này:
▼ Xác định các dịch vụ TCP và UNP đang chạy trên hệ thống mục tiêu
■ Xác định loại hệđiều hành của hệ thống mục tiêu
▲ Xác định những ứng dụng cụ thể hoặc các phiên bản của một dịch vụ nhất
định
CÁC HÌNH THỨC QUÉT
Trước khi chúng ta đi sâu tìm hiểu những công cụ quét cổng cần thiết, chúng
ta phải tìm hiểu các thủ thuật quét cổng hiện có. Một trong những nhân vật đi
đầu trong việc quét cổng là Fyodor. Ông đã đúc kết rất nhiều thủ thuật quét
cổng trong công cụ nmap. Rất nhiều trong các hình thức quét cổng mà chúng
ta sẽ thảo luận là công sức của Fyodor.
▼TCP connect scan: Hình thức quét này kết nối với cổng mục tiêu và hoàn
thành một quan hệ ba chiều (SYN, SYN/ACK, và ACK). Hệ thống mục tiêu
có thể dễ dàng phát hiện mối quan hệ này. Hình 2-2 giới thiệu một mô hình
mối quan hệ 3 chiều TCP.
Hình 2-2. (1) Gửi đi một gói tin SYN, 92) nhận một gói tin
SYN/ACK, và (3) gửi đi một gói tin ACK.
■TCP SYN scan Thủ thuật này có tên Quét nửa mở (half-open scanning) bới
nó không thiết lập một kết nối TCP kín. Thay vào đó, một gói tin SYN được
gửi tới một cổng mục tiêu. Nếu nhận được một SYN/ACK từ một cổng mục
tiêu thì chúng ta có thể suy ra rằng nó đang ở trạng thái NGHE. Nếu nhận
được một RST/ACK, điều đó chứng tỏ rằng một cổng đang không ở trang thái
nghe. Một RST/ACK sẽđược gửi đi bởi một hệ thống thực hiện quét cổng vì
vậy không thể thiết lập được một kết nối kín. Thủ thuật này có lợi thế là kín
đáo hơn so với một kết nối TCP đầy đủ và hệ thống mục tiêu không thể ghi
chép được.
■TCP FIN scan Thủ thuật này gửi đi một gói tin FIN tới cổng mục tiêu.
Dựa trên RFC 793 (http://www.ietf.org/rfc/rfc0793.txt), hệ thống mục tiêu sẽ
gửi chở lại một RST tới tất cả các cổng đã đóng. Thủ thuật này chỉ có tác dụng
trên các ngăn xếp TCP/IP dựa trên UNIX.
■TCP Xmas Tree scan Thủ thuật này gửi một gói tin FIN, URG và PUSH
tới cổng mục tiêu. Dựa trên RFC 793, hệ thống mục tiêu sẽ gửi chở lại một
RST tới tất cả các cổng đã đóng.
■TCP Null scan Thủ thuật này sẽ tắt tất cả các cờ hiệu. Dựa trên RFC 793,
hệ thống mục tiêu sẽ gửi chở lại một RST tới tất cả các cổng đã đóng.
■TCP ACK scan Thủ thuật này được sử dụng để ghi ta các bộ quy tắc
firewall. Nó có thể hỗ trợ xác định nếu như firewall là một thiết bị lọc gói tin
đơn giản chỉ cho phép những kết nối được thiết lập (các kết nối bằng bộ ACK
bit) hoặc một firewall kiên cố có tính năng ưu việt lọc các gói tin.
■TCP Windows scan Thủ thuật này có thể phát hiện những cổng mở,
được lọc/chưa được lọc trên một số hệ thống (ví dụ AIX và FreeBSD) do sự
khác thường trong cách xác định kích cỡ TCP Windows
■TCP RPC scan Thủ thuật này đặc trưng cho các hệ thống UNIX và được
sử dụng để phát hiện và xác định các cổng Remote Procedure Call (RPC) và
số phiên bản và chương trình liên quan.
▲ UDP scan Thủ thuật này gửi đi một gói tin UDP tới cổng mục tiêu.
Nếu như cổng mục tiêu đáp ứng bằng một thông tin "ICMP port unreachable",
thì có nghĩa là cổng đã đóng. Ngược lại, nếu ta không nhận được thông tin
"ICMP port unreachable", ta có thể suy ra là cổng đang ở trạng thái mở. Vì
UDP được hiểu là một giao thức không kết nối, tính chính xác của thủ thuật
này phụ thuộc rất nhiều vào nhiều nhân tố liên quan đến sự sử dụng mạng và
các tài nguyên hệ thống. Ngoài ra, quét UDP là một quá trình diễn ra chậm
nếu như bạn muốn quét một thiết bị có sử dụng tính năng lọc gói tin quá nặng.
Nếu bạn muốn quét UDP trên Internet, chuẩn bịđối phó với những kết quả có
thể không đáng tin cậy.
Một số lần thực hiện nhất định có những đặc điểm hạn chếđó là việc gửi chở
lại những RST tới tất cả các cổng được quét cho dù những cổng đó có đang ở
trạng thái nghe hay không. Do vậy, kết quả thu được có thể thay đổi khi thực
hiện quét; tuy nhiên SYN và connect scan sẽ không có tác dụng đối với tất cả
các máy chủ.
Xác định các dịch vụ TCP và UDP đang chạy
Tiện ích của một công cụ quét cổng tốt là một thành tố quan trọng của quá
trình thăm dò. Mặc dầu có rất nhiều công cụ quét cổng cho môi trường UNIX
và NT, chúng ta chỉ có thể giới hạn tìm hiểu một số thiết bị quét cổng phổ
thông và có hiệu quả nhất.
Strobe
Strobe là một tiện ích quét cổng TCP yếu do Julian Assange viết
(ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/disfiles/strobe-1.06.tgz). Đây là
một công cụ sử dụng trong một khoảng thời gian và là một trong những công
cụ quét cổng TCP nhanh và hiệu quả nhất. Một sốđặc điểm chính của strobe
gồm có tính năng tối ưu hệ thống và các tài nguyên mạng và quét hệ thống
mục tiêu theo một cung cách hiệu quả. Ngoài tính năng hữu hiệu, phiên bản
strobe 1.04 và các phiên bản sau này sẽ thực sự nắm giữđược các biểu tượng
liên quan của mỗi cổng mà chúng kết nối tới. Tính năng này giúp xác định cả
hệđiều hành và các dịch vụđang chạy. Banner grabbing sẽđược tìm hiểu kỹ
hơn trong Chương 3.
Kết quả strobe liệt kê mỗi cổng nghe TCP:
[tsunami] strobe 192.168.1.10
strobe 1.03 1995 Julian Assange ([email protected]).
192.168.1.10 echo 7/tcp Echo [95, JBP]
192.168.1.10 discard 9/tcp Discard [94, JBP]
192.168.1.10 sunrpc 111/tcp rpcbind SUN RPC
192.168.1.10 daytime 13/tcp Daytime [93, JBP]
192.168.1.10 chargen 19/tcp ttytst source
192.168.1.10 ftp 21/tcp File Transfer [Control] {96,JBP}
192.168.1.10 exec 512/tcp remote login a telnet
192.168.1.10 login 513/tcp shell like exec, but automatic
192.168.1.10 cmd 514/tcp Secure Shell
192.168.1.10 ssh 22/tcp Telnet{ 112.JBP}
192.168.1.10 telnet 23/tcp Simple Mail Transfer {102, JBP}
192.168.1.10 smtp 25/tcp networked file system
192.168.1.10 nfs 2049/tcp top
192.168.1.10 lockd 4049/tcp unassigned
192.168.1.10 unknown 32772/tcp unassigned
192.168.1.10 unknown 32773/tcp unassigned
192.168.1.10 unknown 32778/tcp unassigned
192.168.1.10 unknown 32799/tcp unassigned
192.168.1.10 unknown 32804/tcp unassigned
Mặc dầu strobe rất đáng tin cậy nhưng bạn cũng cần phải chú ý đến một số
điểm hạn chế của sản phẩm này. Stobe chỉ là một thiết bị quét TCP thuần túy
do vậy không có tính năng quét UDP. Do vậy, chỉ với quét TCP thôi thì chúng
ta chỉ coi như mới xem được một nửa của bức tranh. Ngoài ra, strobe chỉ sử
dụng công nghệ quét kết nối TCP khi thực hiện kết nối tới mỗi cổng. Mặc dầu
tính năng vận hành này làm tăng tính tin cậy của sản phẩm nhưng nó cũng làm
cho thao tác quét cổng dễ dàng bị phát hiện hơn bởi hệ thống mục tiêu. Đối
với những thủ thuật quét bổ xung nằm ngoài tính năng của strobe thì chúng ta
phải tìm hiểu kỹ lưỡng hơn bộ công cụ.
udp_scan
Do strobe chỉ có tính năng quét TCP, chúng ta có thể sử dụng udp_scan của
SATAN (Công cụ của Quản trị viên bảo mật để phân tích mạng) do Dan
Farmer và Wietse Venema viết vào năm 1995. Mặc dầu SATAN có hơi lỗi
thời nhưng những công cụ vẫn hoạt động rất tốt. Ngoài ra, những phiên bản
mới nhất của SATAN, hiện có tên SAINT, vừa mới được tung ta tại địa chỉ
http://wwdsilx.wwdsi.com. Rất nhiều tiện ích khác có tính năng quét UDP.
Tuy nhiên, chúng ta nhận thấy rằng udp_scan là một trong những công cụ quét
UDP có uy tín nhất. Chúng ta cũng cần thừa nhận rằng mặc dầu udp_scan là
một công cụđáng tin cậy nhưng nó cũng có những tác dụng phụ có hại đó là
khởi động một thông điệp quét SATAN từ một sản phẩm IDS quan trọng. Do
vậy nó vẫn chưa phải là một sản phẩm hoàn hảo cho bạn. Thông thường chúng
ta sẽ tìm kiếm những loai cổng nổi tiếng dưới 1024 và những cổng rủi ro cao
trên 1024.
[stsunami] udp_scan 192.168.1.1.1-1024
42: UNKNOWN
53: UNKNOWN
123: UNKNOWN
135: UNKNOWN
netcat
Một tiện ích tuyệt vời khác đó là netcat hoặc nc do Hobbit viết
([email protected]). Sản phẩm này có nhiều tính năng đến nỗi chúng ta goi nó
là con dao Thụy sỹ trong bộ công cụ bảo mật. Trong khi chúng ta sẽ tìm hiểu
kỹ một số tính năng ưu việt của sản phẩm này trong toàn bộ nội dung cuốn
sách thì nc lại cung cấp những tính năng quét cổng TCP và UDP. Lựa chọn
đối sối -v và -vv sẽ thu được những kết quả dài dòng. Lựa chọn -z tạo ra ché
độ zero I/O và được sử dụng cho việc quét cổng, và lựa chọn -w2 tạo ra một
giá trị thời gian chết cho mỗi lần kết nối. Theo mặc định nc sẽ sử dụng cổng
TCP, do vậy ta phải xác định lựa chọn -u để quét cổng UDP (như trong ví dụ
thứ hai sau đây).
[tsunami] nc -v -z -w2 192.168.1.1 1 -140
[192.168.1.1] 139 (?) open
[192.168.1.1] 135 (?) open
[192.168.1.1] 110 (pop -3) open
[192.168.1.1] 106 (?) open
[192.168.1.1] 81 (?) open
[192.168.1.1] 80 (http) open
[192.168.1.1] 79 (finger) open
[192.168.1.1] 53 (domain) open
[192.168.1.1] 42(?) open
[192.168.1.1] 25 (smtp) open
[192.168.1.1] 21 (ftp) open
[tsunami] nc -u -v -z -w2 192.168.1.1 1 -140
[192.168.1.1] 135 (ntportmap) open
[192.168.1.1] 123 (ntp) open
[192.168.1.1] 53 (domain) open
[192.168.1.1] 42 (name) open
Network mapper (nmap)
Chúng ta vừa mới tìm hiểu một số công cụ quét cổng chính bây giờ chúng ta
sẽ chuyển sang tìm hiểu tiếp các công cụ quét cổng cao cấp hiện có đó là
nmap. Nmap (http://www.insecure.org/nmap) của Fyodor cung cấp tính năng
quét TCP và UDP nhưđã đề cấp đến trong phần giới thiệu các thủ thuật quét
cổng trước đó. Hiếm có sản phẩm nào mà hội tụ trong nó nhiều tiện ích đến
vậy. Bây giờ chúng ta cùng xem xét một sốđặc điểm chính của sản phẩm này.
[tsunami] # nmap -h
nmap V. 2. 53 Usage: nmap [Scan Type(s)] [Options] <host or net list>
Some Common Scan Types ('*' options require root privileges)
-sT TCP connect ( ) port scan by default
* -sS TCP SYN stealth port scan (best all-around TCP scan)
* -sU UDP port scan
-sP ping scan (Find any reachable machines)
* -sF, -sX, -sN Stealth FIN, Xmas, or Null scan (experts only)
-sR/-1 RPC/Identd scan (use with other scan types)
Some Common Option (none are required, most can be combined):
* -O Use TCP/IP fingerprinting to guess remote operating system
* -p <range> ports to scan. Example range: '1-1024, 1080, 6666, 31337'
-F Only scans ports listed in nmap -services
-V Verbose. Its use is recommended. Use twice for greater effect.
-p0 Don't ping hosts (needed to scan www.microsoft .com and other)
* -Ddecoy_host1,decoy2[,....] Hide scan using many decoys
-T <Paranoid |Sneaky|Police|Normal|Aggressive|Insane> General timing policy
-n/-R Never do DNS resolution/Always resolve [default: sometimes resolve]
-oN/ -oM <logfile> Output normal/machine parsable scan logs to <logfile>
-iL <inputfile> Get targets from file; Use '_' for stdin
* -S <your_IP>/-e <devicename> Specify source address or network interface
-- interactive Go into interactive mode (then press h for help)
[tsunami] nmap -sS 192.168.1.1
Starting nmap V. 2. 53 by [email protected]
Interesting ports on (192.168.1.11):
( The 1504 ports scanned but not shown below are is state: closed)
Port State Protocol Service
21 open tcp ftp
25 open tcp smtp
42 open tcp nameserver
53 open tcp domain
79 open tcp finger
80 open tcp http
81 open tcp hosts2 -ns
106 open tcp pop3pw
110 open tcp pop -3
135 open tcp loc -srv
139 open tcp netbios -scan
443 open tcp https
Nmap có một số tính năng mà chúng ta cần tìm hiểu kỹ. Chúng ta vừa thấy cú
pháp được sử dụng để quét một hệ thống. Tuy nhiên nmap giúp chúng ta dễ
dàng quét toàn bộ mạng. Qua tìm hiểu ta có thể thấy là nmap cho phép chúng
ta nhập vào những miền trong ký hiệu khóa CIDR (Class Inter-Domain
Routing) (xem RFC 1519 - http://www.iftf.org/rfc/rfc1519.txt), một dạng thức
tiện lợi cho phép chúng ta xác định 192.168.1.254 là miền. Cũng cần chú ý
rằng sử dụng lựa chọn -o để lưu kết quả sang một file độc lập. Lựa chọn -oN
sẽ lưu kết quảở dạng thức mà con người có thểđọc được.
[tsunami] # nmap -sP 192.168.1.0/24 -oN outfile
Nếu bạn muốn lưu kết quả vào trong một file định giới bằng tab để sau đó bạn
có thể phân tách kết quả theo một chương trình, bạn hãy sử dụng lựa chọn -
oM. Vì chúng ta có thể thu được nhiều thông tin sau lần quét này do vậy ta
nên lưu những thông tin thu được vào một trong 2 dạng thức trên. Trong một
số trường hợp bạn có thể kết hợp cả lựa chọn -oN và -oM để lưu thông tin
vào cả 2 dạng thức.
Giả sử sau khi thăm dò một hệ thống bạn phát hiện ra rằng hệ thống đó đang
sử dụng một thiết bị lọc gói tin đơn giản như là một firewall. Khi đó ta có thể
sử dụng lựa chọn -f để chia tách gói tin. Lựa chọn này sẽ phân tách những
phần đầu TCP đối với một số gói tin mà các thiết bị kiểm soát truy nhập hoặc
các hệ thống IDS rất khó phát hiện thao tác quét. Trong hầu hết mọi trường
hợp, các thiết bị lọc gói tin hiện đại và các firewall dựa trên ứng dụng sẽ sắp
xếp các phần phân tách trước khi đánh giá chúng. Rất có thể là những thiết bị
kiểm soát truy nhập hoặc những thiết bị yêu cầu phải hoạt động hết tính năng
sẽ không thể chắp liền những gói tin trước khi tiến hành thao tác tiếp theo.
Phụ thuộc vào mức độ phức tạp của máy chủ và mạng mục tiêu, những
lần quét do đó có thể dễ dàng bị phát hiện. Nmap có tính năng nhử mồi phụ
được nhằm chôn vùi site mục tiêu bằng thông tin tràn ngập thông qua việc sử
dụng lựa chọn -D. Tiền đề chính của sự lựa chọn này đó là thực hiện quét nhử
mồi cùng thời điểm tiến hành quét thực. Ta có thể thực hiện thao tác này bằng
cách kiểm trứng địa chỉ nguồn của một máy chủ hợp thức và sáo chộn giữa
quét giả và quét thực. Tiếp đó hệ thống mục tiêu sẽđáp ứng lại những địa chỉ
đã được kiểm trứng cũng như lần quét thực. Ngoài ra site mục tiêu có nhiệm
vụ nặng nềđó là truy ra mọi lần quét xem đâu là quét hợp thức và đâu là quét
giả. Ta cũng cần phải chú ý rằng các địa chỉ giả phải ở trạng thái hoạt động,
hoặc những thao tác quét của bạn có chôn vùi hệ thống mục tiêu và gây ra tình
trạng từ chối dịch vụ.
[tsunami] nmap -sS 192.168.1.1 -D 10.1.1.1
www.target_web.com, ME -p25, 139,443
Starting nmap V.2.53 by [email protected]
Interesting ports on (192.168.1.1):
Port State Protocol Service
25 open tcp smtp
443 open tcp https
Nmap run completed -- 1 IP address (1 host up ) scanned in 1 second
Trong ví dụ trước đây, nmap cung cấp những tính năng quét giả nhằm đánh
lừa giữa những thao tác quét cổng hợp thức và quét cổng giả.
Một đặc tính quét rất hữu hiệu nữa đó là thực hiện ident scanning. Ident
(xem RFC 1413 -http://www.ietf.org/rfc/rfc1413.txt) được sử dụng xác định
đối tượng sử dụng của một kết nối TCP cụ thể bằng cách liên lạc với cổng
113. Rất nhiều phiên bản ident sẽ thực sựđáp ứng được người chủ của một
quá trình vốn chỉđặc trưng cho một cổng nhất định. Tuy nhiên, điều này quả
là hiệu quả chống lại mục tiêu UNIX.
[tsunami] nmap -I 192.168.1.10
Starting nmap V.2.53 by [email protected]
Port State Protocol Service Owner
22 open tcp ssh root
25 open tcp smtp root
80 open tcp http root
110 open tcp pop-3 root
113 open tcp auth root
6000 open tcp X11 root
Chú ý rằng trong ví dụ trên ta thực sự có thể xác định được người chủ
của mỗi quá trình. Nếu đọc giả tinh ý có thể nhận thấy rằng máy chủ web đang
chạy với tư cách là "root" chú không phải là một đối tượng sử dụng không có
đặc quyền "nobody". Đây là một thao tác bảo mật vô cùng lỏng lẻo. Do vậy
bằng cách thực hiện quét ident scan ta có thể biết được rằng nếu như dịch vụ
HTTP bị phá bằng cách cho phép một đối tượng sử dụng không hợp thức chạy
lệnh thì kẻ tấn công sẽ ngay lập tức có thể truy nhập gốc.
Thủ thuật quét cuối cùng mà chúng ta sẽ tìm hiểu đó là FTP bounce
scanning (quét nảy). Hobbit đã biến hình thức tấn công FTP bounce thành một
hiện tượng đáng chú ý. Trong tài liệu gửi tới Bugtraq vào năm 1995
(http://www.securityfocus.com/templates/archive.pike?list=1&199507120620.
[email protected]), Hobbit đã nêu ra một số lỗ hổng cố hữu trong
giao thức FTP (RFC 959 -http://www.ietf.org/rfc/rfc0959.txt). Về bản chất thì
hình thức FTP bounce attack là một phương pháp chuyển các kết nối thông
qua một máy chủ FTP bằng cách lạm dụng sự hỗ chợ cho những kết nối FTP
ủy quyền. Như Hobbit đã nêu ra trong bản thông báo của mình FTP bounce
attack "có thể sử dụng để gửi những thư và tin thức ảo không thể bị phát hiện,
tấn công vào nhiều vùng của máy chủ, làm đầy đĩa, vượt qua firewall, nói
chung là nó gây khó chịu và rất khó bị phát hiện." Ngoài ra bạn có thểđẩy
những thao tác quét ra khỏi máy chủ FTP đểẩn đi thông tin về bạn, hoặc thậm
trí có thể bỏ qua các cơ chế kiểm soát truy nhập.
Thông thường nmap sẽ hỗ trợ hình thức quét này bằng lựa chọn -b; tuy
nhiên cần có một sốđiều kiện cụ thể. Trước hết máy chủ FTP phải có một thư
mục có thểđọc và ghi ví dụ như /incoming. Thứ hai là máy chủ FTP phải cho
phép nmap nhập thông tin cổng giả bằng lệnh PORT. Mặc dầu thủ thuật này
rất hữu hiệu trong việc bỏ qua được các thiết bị kiểm soát truy nhập cũng như
ẩn đi thông tin của bạn nhưng nó lại là một quá trình diễn ra chậm chạp. Hơn
nữa một số phiên bản máy chủ FTP mới không cho phép thực hiện hình thức
này.
Chúng ta vừa mới giới thiệu những công cụ cần thiết để thực hiện quét
cổng, nhưng chúng ta cũng cần phải biết cách phân tích dữ liệu thu được từ
mỗi công cụ này. Cho dù dùng công cụ nào đi chăng nữa chúng ta cũng đều
phải xác định được các cổng mởđể biết thông tin về hệđiều hành. Ví dụ khi
cổng 139 và 135 ở trạng thái mở thì rất nhiều khả năng hệđiều hành đó là
Windows NT. Windows NT thường nghe trên cổng 135 và 139. Điều này
khác biệt so với Windows 95/98 vốn chỉ nghe trên cổng 139.
Xem lại kết quả thu được của strobe (xem phần trước) ta có thể thấy
được rất nhiều dịch vụđang chạy trên hệ thống này. Nếu chúng ta có thể tiến
hành đoán có cơ sở thì dường như hệđiều hành có nhiều điểm tương đồng với
UNIX. Chúng ta có thể kết luận như vậy bởi thiết bị ghi cổng (portmapper
111), các cổng dịch vụ Berkeley R (512-514) và cổng 3277X trở lên đều đang
nghe. Sự hiện hữu của những cổng như thế chỉ ra rằng hệ thống này đang chạy
UNIX. Ngoải ra nếu như ta phải đoán mùi hương của UNIX thì ta phải đoán
Solaris. Chúng ta đã biết rằng Solaris thường chạy các dịch vụ trong phạm vi
3277X. Cần ghi nhớ rằng chúng ta đang giảđịnh và rằng rất có thể sẽ là loại
hệđiều hành nào khác.
Bằng thao tác quét cổng TCP và UDP đơn giản, chúng ta có thể xác
định nhanh chóng vềđặc điểm lộ rõ của hệ thống mục tiêu. Ví dụ, nếu cổng
139 đang ở trạng thái mở trên máy chủ Windows NT thì cổng này có thể phải
gặp nhiều rủi ro hơn. Chương 5 sẽ nghiên cứu kỹ về những điểm yếu cố hữu
của Windows NT và cách sử dụng đường truy nhập cổng 139 để phá vỡ an
ninh hệ thống vốn không có biện pháp bảo mật hợp lí chống lại sự truy nhập
vào các cổng này. Trong ví dụ, hệ thống UNIX cũng trong tình trạng nguy
hiểm do những dịch vụđang nghe cung cấp nhiều tính năng và đã lộ rõ những
điểm yếu bảo mật. Ví dụ các dịch vụ Remote Procedure Call (RPC) và dịch vụ
Network File System (NFS) là hai cách kẻ tấn công phá an ninh máy chủ
UNIX (xem Chương 8). Ngược lại, kẻ tấn công không thể phá an ninh của một
dịch vụ từ xa nếu dịch vụđó đang không ở trạng thái nghe. Do vậy chúng ta
cần chú ý rằng càng nhiều dịch vụ chạy thì hệ thống càng có nguy cơ bị tấn
công.
Các công cụ quét cổng dựa trên Windows
Chúng ta đã tìm hiểu khá kỹ về những thiết bị quét cổng trên phương diện của
một đối tượng sử dụng nhưng điều đó có nghĩa là những đối tượng sử dụng
Windows không thể tham gia vào cuộc chơi không? Lẽđương nhiên là không
rồi - các công cụ quét cổng sau đây đã trở thành những công cụ hàng đầu của
chúng tôi do sựưu việt về tốc độ, tính chính xác và các tính năng khác.
NetScanTools Pro 2000 (công cụ quét NetScan cho Pro 2000)
Là một trong những công cụ khám phá mạng đa năng nhất hiện nay,
NetScanTools Pro 2000 (NSTP2K) cung cấp mọi tiện ích tuyệt vời trong một
giao diện: DNS query bao gồm có nslookup và dig với axfr, whois, ping
sweeps, NetBIOS name table scans, SNMP walk...Ngoài ra nó còn có thể
thực hiện đồng thời nhiều tính năng. Bạn có thể quét cổng trên một mạng
đồng thời quét ping trên một mạng khác. (Mặc dầu vậy tính năng này cũng
không hoàn toàn đáng tin cậy khi làm việc với những mạng lớn, trừ phi bạn
phải thực sự kiên nhẫn).
NetScanTools Pro 2000 cũng bao gồm nột trong những thiết bị quét
cổng dựa trên Windows tốt nhất hiện nay, trên phím tab Port Probe. Các tính
năng của Port Strobe bao gồm có mục tiêu động và xác định cổng (cả danh
sách cổng và IP mục tiêu đều có thểđược nhập từ những file văn bản này), hỗ
trợ quét TCP và UDP (mặc dầu không lựa chọn từng cổng một) và tốc độđa
luồng. Xét về mặt trái thì kết quả thu được của Port Strobe có vẻ hơi rắc rối
khiến rất khó phân tách bằng script hoặc các công cụ phân tách dữ liệu. Đặc
tính của Port Strobe không cho phép cài đặt script. Chúng ta mong muốn là
kết quả của một chức năng có thểđược nhập trực tiếp vào một chức năng
khác.
Nói chung, NSTP2K (http://www.nwpsw.com) là một sản phẩm được
viết rất chuyên nghiệp thường xuyên được cập nhật bằng nhưng service pack,
tuy vậy vẫn còn khá khiêm tốt khi xét đến phương diện cạnh tranh. Một phiên
bản ít tính năng hơn có tên NetScanTool (hiện đã có phiên bản 4) hiện đang
tiến hành thử nghiệm trong vòng 30 ngày nhưng nó vẫn không có những tính
năng tương tự như của Pro 2000. (Ví dụ nó không thể quét UDP).
Khi sư dụng NSTP2K, chú ý vô hiệu hóa máy chủ ident trên phím tab
Máy chủ IDENT qua đó giúp bạn không nghe trên cổng TCP 113 khi bạn tiến
hành phá. Hình 2-3 minh họa NSTP2K đang quét một vùng mạng cấp trung
bình.
Hình 2-3. Các công cụ NetScan Pro 2000 là
một trong những công cụ thăm dò mạng
/thiết bị quét cổng dựa trên Windows có tốc
độ cao nhất.
SuperScan
SuperScan, của Founstone, được giới thiệu trên địa chỉ
http://www.foundstone.com/rdlabs/termsofuse.php?filename=superscan.exe.
Đây là một thiết bị quét cổng TCP đốc độ cao với giá phải cả phải chăng hoặc
miễn phí. Cũng giống như NSTP2K, thiết bị này cũng có tính năng xác định
danh sách cổng và IP mục tiêu động. Lựa chọn Extract From File đặc biệt tiện
lợi (xem hình 2-4). Thông tin chi tiết được miêu tả trong phần hệ thống trợ
giúp, chúng tôi giới thiệu sơ qua để các bạn có thể thấy rõ rằng đây là một
công cụ tiết kiệm thời gian:
"[Tính năng Extract From File] tiến hành quét qua bất một file văn bản
nào và trích các địa chỉ IP và hostname hợp lệ. Chương trình này đặc biệt
thông minh khi tìm kiếm những hostname hợp lệ từ văn bản tuy nhiên đôi khi
nó đòi hỏi trước đó phải loại bỏ văn bản rắc rối bằng một trình soạn thảo ngoài
hệ thống. Bạn có thể click vào Browse và Extract bao nhiêu lần tùy thích sử
dụng những file khác nhau và chương trình này sẽ nhập hostname mới vào
danh sách. Bất kỳ một hostname nào trùng lặp sẽ bị loại bỏ. Khi đã tìm thấy
tất cả các hostname bạn có thể click vao nút Resolve để chuyển tất cả các
hostname thành địa chỉ IP dạng số chuẩn bị cho thao tác quét cổng."
Hình 2-4: Tính năng SuperScan
Extract From File đặc biệt tiện lợi. Chỉ
vào bất kỳ một file văn bản nào, và
nhập hostname và địa chỉ IP để chuẩn
bị tiến hành quét cổng
Thao tác quả là rất dễ dàng như chúng tôi đã minh họa trong Hình 2-4.
SuperScan cũng đưa ra một vài danh sách cổng khá đầy đủ như ta vừa thấy.
(chúng ta bị lôi cuốn bởi danh sách có tên henss.lst, tuy nhiên nếu bạn ghi
từng chữ cái đầu tiên của mỗi từ trong tiêu đề của cuốn sách này thì ta thấy
rằng mình đã có phần thiên vị -cảm ơn Robin.) Các cổng có thểđược lựa
chọn thủ công bỏ chọn để tìm ra cốt lõi thực sự. SuperScan cũng có tốc độ rất
cao.
WinScan
WinScan, của Sean Mathias thuộc Prosolve (http://www.prosolve.com) là một
công cụ quét miễn phí có cả phiên bản hình họa (winscan.exe) và dòng lệnh
(scan.exe). Thông thường chúng ta sử dụng phiên bản dòng lệnh trong bản ghi
do tính năng quét các mạng cỡ Class C và kết quả dễ phân tách. Sử dụng phiên
bản Win32 của các tiện ích strings, tee và tr của Công ty Mortice Kern
Systems (http://www.mks.com), lệnh NT sau sẽ tiến hành quét toàn mạng tìm
kiếm các cổng Well Known từ 0 cho đến 1023 và nhập kết quả thu được vào
một các cột được giới hạn bởi dấu hai chấm của địa chỉ IP:
service_nameport_#pairs.
Scan.exe -n 192.168.7.0 -s 0 -e 1023 -f | strings | findstr / c:"/tcp" | tr\
011\040 : | tr -s : : | tee -ia results.txt
Ta không nên sử dụng khóa chuyển đổi -f của scan.exe vì kết quả thu được có
thể không hoàn toàn chính xác.
Kết quả bản ghi tương tự như sau:
192.168.22.5: nbsession: 139/tcp
192.168.22.16: nbsession: 139/tcp
192.168.22.32: nbsession: 139/tcp
Cảm ơn Patrick Heim và Jason Glassberg vì đã tạo ra những dòng lệnh tuyệt
vời này.
ipEye
Bạn có cần Linux và nmap để tiến hành quét các gói tin lạ không? Hãy suy
nghĩ kỹ - ipEye của Arne Vidstrom tại địa chỉhttp://ntsecurity.nu sẽ tiến
hành quét cổng nguồn, cũng như SYN, FIN và Xmas thông qua dòng lệnh
Windows. Nhược điểm duy nhất của công cụ này là nó chỉ chạy trên Win2000
và chỉ có thể quét được một máy chủ tại một thời điểm. Sau đây là một ví dụ
ipEye đang quét SYN có nguồn là cổng TCP 20 nhằm xâm nhập các quy tắc
bộ lọc trên một cầu dẫn, cũng tương tự như lựa chọn đối số -p trong nmap:
C:\Toolbox>ipeye.exe 192.168.234.110 -syn -p 1 1023 -sp 20
IpEye 1.1 - (C) 2000, Arne Vidstrom ( [email protected])
- http://ntsecurity.nu/toolbox/ipeye/
1 - 52 [ closed or reject]
53 [open]
54 - 87 [closed or reject]
88 [open]
89 - 134 [closed or reject]
135 [open]
136 - 138 [closed or reject]
139 [open]
...
636 [open]
637 - 1023 [closed or reject]
1024 - 65535 [not scanned]
Do có nhiều cầu dẫn và firewall ACL được cấu hình nhằm cho phép các giao
thức như DNS (UDP 53), kênh dữ liệu FTP (TCP 20), SMTP (TCP 25) và
HTTP (TCP 80) để lọt qua các bộ lọc, thao tác quét cổng nguồn có thể xâm
chiếm các thiết bịđiều khiển bằng cách đánh lừa với tư cách là luồng thông tin
đi vào. Bạn phải biết dấu cách địa chỉđằng sau firewall hoặc cầu dẫn. Tuy
nhiên có được thông tin này cũng khó một khi công cụ NAT được sử dụng
(NetBIOS Auditing Tool).
WUPS
Thiết bị quét cổng UDP (WUPS) cũng là sản phẩm của cùng một tác giả
(Arne Vidstrom) tại địa chỉ http://ntsecurity.nu. Đây là một công cụ quét cổng
UDP có độ tin cậy cao (phụ thuộc vào delay setting) mặc dầu nó chỉ có thể
tiến hành quét từng máy chủ một để lần lượt phát hiện các cổng. WUPS còn là
một công cụ có tính năng quét cổng UDP nhanh và đơn lẻ, như minh họa
trong Hình 2-5.
Port Scanning Breakdown (Sự cố quét cổng)
Bảng 2-2 liệt kê các công cụ quét cổng phổ thông cùng với những hình thức
quét của các công cụ này.
◙ Biện pháp đối phó Quét cổng
Thăm dò Kẻ tấn công thường tiến hành quét cổng nhằm xác định các cổng
TCP và UDP đang nghe trên một hệ thống từ xa. Thăm dò và phát hiện hoạt
động quét cổng là công việc rất quan trọng để biết được thời điểm và đối
tượng tấn công. Các phương pháp cơ bản dùng để phát hiện quét cổng là
những chương trình IDS dựa trên mạng ví dụ như chương trình RealSecure và
snort của Security System.
Snort (http://www.snort.org) là một IDS tuyệt vời do đây là một chương
trình miễn phí và chữ ký thường xuyên có các chữ ký của các tác giả khác.
Bây giơ bạn đã có thểđoán ra, đây là một trong những chương trình được yêu
thích. (chú ý là phiên bản snort 1.x không có tính năng phân chia gói tin.) Sau
đây là một bảng mẫu một lần quét cổng.
[**] spp_portscan: PORTSCAN DETECTED from 192.168.1.10 [**]
05/22 - 18: 48: 53.681227
[**] spp_portscan: portscan status from 192.1681.10: 4 connections across 1 hosts: TCP (0) UDP
(4) [**]
05/22 - 18: 49:14. 180505
[**] spp_portscan: End of portscan from 192.168.1.10 [**]
05/22 - 18: 49: 34/180236
Xét trên phương diện UNIX dựa trên máy chủ, có một vài tiện ích như
scanlogd (http://www.openwall.com/scanlogd/) của Solar Designer có thể phát
hiện và ghi lại những cuộc tấn công như vậy. Ngoài ra, Psionic PortSentry của
dự án Abacus (http://www.psionic.com/abacus/) có thểđược xây dựng cấu
hình để phát hiện và thông báo phản hồi đối với những cuộc tấn công đang
diễn ra. Có một cách đáp ứng lại thao tác quét cổng đó là tựđộng thiết lập các
quy tắc lọc nhân cho phép nhập một quy tắc ngăn chặn truy nhập từ một hệ
thống tấn công. Ta có thể thiết lập một quy tắc như vậy sử dung file cấu hình
PortSentry, tuy nhiên có thể thay đổi theo từng hệ thống. Đối với hệ thống
Linux 2.2 với hỗ trợ kernel firewall, đường vào file portsentry.conf có dạng:
# New ipchain support for Linux kernel version 2.102+
KILL_ROUTE="/sbin/ipchains -I input -s STARGETS -j DENY -L"
PortSentry tuân thủ và chạy trong hầu hết các môi trường UNIX bao gồm có
Solaris. Cũng cần lưu ý rằng nếu bạn thấy xuất hiện mô hình quét cổng từ một
hệ thống hoặc một mạng nào đó thì điều đó chỉ ra rằng có đối tượng đang tiến
hành phá hoại mạng trên site của bạn. Chú ý theo dõi sát xao hành động như
vậy, có thể sắp có một cuộc tấn công tổng thể. Cuối cùng bạn cần ghi nhớ rằng
cũng có những điểm bất lợi khi trảđũa hoặc ngăn chặn những nỗ lực quét
cổng. Vấn đề là ở chỗ kẻ tấn công có thể kiểm chứng địa chỉ IP của một hệ
thống không liên quan, do vậy hệ thống của bạn có thể trảđũa. Bạn có thể tìm
hiểu một tài liệu tuyệt vời của Solar Designer tại địa chỉ
http://www.openwall.com/scanlogd/P53-13.gz và một số thông tin hữu ích
khác về thiết kế và tấn công các hệ thống thăm dò quét cổng.
Hầu hết các có thể và cần được định cấu hình nhằm phát hiện các nỗ lực
quét cổng. Đối với tính năng phát hiện quét lén thì một số công cụ tỏ ra vượt
chội hơn. Ví dụ, nhiều firewall có những lựa chọn cụ thể nhằm phát hiện quét
cổng SYN trong khi đó lại hoàn toàn bỏ không có tính năng quét FIN. Công
việc khó khăn nhất để phát hiện quét cổng là sàng lọc các file bản ghi: vì vậy
chúng tôi khuyên bạn nên sử dụng Psionic Logcheck
(http://www.psionic.com/abacus/logcheck/), ngoài ra bạn cũng nên cấu hình
thiết bị báo động đúng lúc qua mail. Sử dụng threshold logging nếu có thể nhờ
đó đối tượng sẽ không tiến hành tấn công khước từ dịch vụ bằng cách lấp đầy
email của bạn. Threshold logging sẽ nhóm lại các báo động chứ không gửi
một báo động để kiểm tra. Ít nhất bạn cũng phải có tính năng báo cáo dựa trên
trường hợp ngoai lệ có thể chỉ ra site của bạn được quét cổng. Lance Spitzner
(http://www.enteract.com/~lspitz/intrusion.html) sáng tạo ra một tiện ích dành
cho Firewall -1 có tên alert.sh, có tính năng phát hiện và kiểm tra quét cổng
bằng Firewall -1 và chạy như một User Defined Alert.
Xét trên phương diện Windows NT, có một số tiện ích đơn giản có thể
sử dụng để phát hiện quét cổng. Thiết bị thăm dò quét cổng đầu tiên đó là
Genius 2.0 của Independent Software (http://www.indiesoft.com - Genius 3.0
được giới thiệu tại địa chỉhttp://www.indiesoft.com/) dùng cho Windows
95/98 và Windows 4.0. Sản phẩm này không chỉ có tính năng phát hiện quét
thuần tuý TCP tuy nhiên cài đặt nó vào hệ thống của bạn có lẽ chỉđể thực hiện
chức năng này mà thôi. Genius sẽ lắng nghe các yêu cầu cổng trong một
khoảng thời gian cho trước và cảnh báo bạn bằng một hộp thoại khi phát hiện
ra một thao tác quét, thông tin cho bạn vềđịa chỉ IP và tên của kẻ tấn công.
Tính năng phát hiện quét cổng của Genius phát hiện cả những thao tác quét
SYN và kết nối TCP.
Một thiết bị phát hiện quét cổng nữa cho Windows là BlackICE (xem
Bảng 2-6) của Network ICE (http://www.networkice.com). Đây là sản phẩm
phát hiện đột nhập dựa trên tác nhân thực sự cho Windows 9x và NT. Mặc dầu
hiện nay sản phẩm mang tính thương mại nhưng Network ICE có kế hoạch
cung cấp những phiên bản miễn phí tải xuống từ mạng. Cuối cùng,
ZoneAlarm (http://www.zonelabs.com/) là một chương trình rất hữu hiệu cung
cấp firewall và tính năng IDS cho nền Windows. Mọi sử dụng cá nhân sản
phẩm này đều được miễn phí.
Ngăn chặn Mặc dầu công việc ngăn chặn một đối tượng tiến hành thăm dò
quét cổng chống lại hệ thống của bạn là rất khó, nhưng bạn cũng có thể giảm
thiểu rủi ro bằng cách vô hiệu hóa tất cả các dịch vụ không cần thiết. Trong
môi trường UNIX, bạn có thể thực hiện được điều này bằng cách loại bỏ
những dịch vụ không cần thiết như /etc/inetd.conf và vô hiệu hóa các dịch vụ
bắt đầu bằng từ script khởi động của bạn. Thao tác này sẽđược đề cập cụ thể
hơn trong Chương 8.
Đối với Windows NT, bạn cũng cần phải vô hiệu hóa tất cả các dịch vụ
không cần thiết. Điều này khó hơn do phương thức hoạt động của Windows
NT, vì cổng 139 cung cấp hầu như toàn bộ các tính năng. Tuy nhiên bạn cũng
có thể vô hiệu hóa một số dịch vụ ngay trong trình đơn Control Panel |
Services. Chi tiết về những rủi ro Windows NT và những biện pháp đối phó sẽ
được thảo luận trong Chương 5. Ngoài ra, Tiny Software
(www.tinysoftware.com) có bán ra một mođun nhân lọc các gói tinn tuyệt vời
cho Windows NT có tính năng bảo vệ các cổng nhạy cảm của bạn.
Hình 2-6. BlackICE cung cấp một số
chữ ký thăm dò đột nhập ưu việt ngoài
tính năng phát hiện quét cổng TCP đơn
giản, bao gồm UDP scan, NT null
session, pcAnywhere ping, các cuộc tấn
công WinNuke, ECHO storms, ..
Đối với các thiết bị và các hệđiều hành khác, bạn cần tham khảo cuốn hướng
dẫn sử dụng để giảm số lượng cổng nghe xuống mức cần thiết.
THĂM DÒ HỆĐIỀU HÀNH
Như chúng ta đã tìm hiểu, có rất nhiều công cụ cũng như thủ thuật quét cổng.
Nếu nhớ lại thì ta thấy rằng mục tiêu số một của quét cổng đó là xác định các
cổng TCP và UDP nghe trên hệ thống mục tiêu. Nhiệm vụ của chúng ta trong
phần này là xác định loại hệđiều hành mà chúng ta đang quét.
☻Phát hiện hệđiều hành đang hoạt động
Tính phổ thông 10
Tính đơn giản
8
Tính hiệu quả
4
Mức độ rủi ro
7
Những thông tin về hệđiều hành cụ thể có thể hữu ích cho quá trình ánh xạ
điểm yếu, sẽđược đề cập kỹ trong các chương tiếp theo. Chúng ta cần phải
nhớ rằng chúng ta đang có gắng xác định với mức độ chính xác cao nhất
những điểm yếu hệ thống mục tiêu. Do vậy, ta vào khả năng có thể xác định
được hệđiều hành mục tiêu. Chúng ta có thể sử dụng thủ thuật banner
grabbing nhưđã đề cập trong Chương 3, vốn cho phép ta tìm kiếm được thông
tin từ những dịch vụ như FTP, telnet, SMTP, HTTP, POP ... Đây là cách đơn
giản nhất có thể phát hiện một hệđiều hành và số phiên bản liên quan của
dịch vụđang chạy. Đương nhiên là sẽ có những công cụ chuyên dụng giúp
chúng ta thực hiện công việc này. 2 công cụ chính xác nhất mà chúng ta có thể
sử dụng tùy ý đó là nmap và queso, cả hai công cụ này đều có tính năng thăm
dò ngăn xếp (stack fingerprinting).
Active Stack Fingerprinting (Thăm dò ngăn xếp đang hoạt động)
Trước khi ta sử dụng nmap và queso, ta cũng cần phải giải thích stack
fingerprinting là gì. Stack Fingerprinting là một công nghệ cực mạnh cho phép
bạn nhanh chóng xác định được hệđiều hành với mức độ xác xuất cao. Về bản
chất có những sắc thái thay đổi tùy theo tính năng thực thi ngăn xếp của mỗi
nhà cung cấp. Các nhà cung cấp sản phẩm thường hiểu sự chỉ dẫn RFC theo
những ý khác nhau khi tiến hành viết các ngăn xếp TCP/IP. Do vậy bằng cách
tìm hiểu kỹ những sự khác biệt đó chúng ta có thểđưa ra được dựđoán có cớ
sở về việc hệđiều hành nào đang họat động. Đểđạt được độ tin cậy ở mức đối
ta, stack fingerprinting thông thường đòi hỏi ít nhất một cổng nghe. Nmap có
thểđưa ra được dựđoán có cơ sở về hệđiều hành đang họat động nếu không
có cổng nào ở trạng thái mở. Tuy vậy độ chính các của những dựđoán đó là
tương đối thấp. Một tài liệu chuyên đề do Fyodor viết được xuất bản lần đầu
tiên trong Phrack Magazine, và được giới thiệu tại địa chỉ
http://www.insecure.org/nmap/nmap-fingerprinting-article.html.
Ta cùng tìm hiểu các hình thức thăm dò giúp phân biệt các hệđiều hành
khác nhau:
▼FIN probe Một gói tin được gửi tới một cổng mở. Như đã đề cập trong phần
trước, RFC 793 cho thấy sự vận hành chính xác sẽ không đáp ứng. Tuy nhiên
các bổ xung ngăn xếp (ví dụ như Windows NT) có thểđáp ứng lại bằng một
FIN/ACK.
■ Thăm dò cờ hiệu giả Một cờ hiệu TCP không xác định được thiết lập
trong phần TCP header của một gói tin SYN. Một số hệđiều hành, ví dụ như
Linux, sẽ phản hồi lại cờ hiệu trong gói tin phản hồi.
■ Lấy mẫu thứ tự sốđầu tiên (ISN) Tiền đề cơ bản đó là tìm kiếm một mô
hình trong chuỗi đầu tiên được chọn khi TCP đáp ứng lại một yêu cầu kết nối.
■ Kiểm tra "Không phân tách bit" Một số hệđiều hành sẽ thiết lập tính
năng "không phân tách bit" để tăng cường khả năng hoạt động. Bit này có thể
được kiểm soát nhằm xác định hệđiều hành nào có hình thức hoạt động như
vậy.
■ Kích cỡ cửa sổđầu tiên TCP Kích cỡ cửa sổđầu tiên trên gói tin gửi lại
được theo dõi. Đối với một số stack implementation thì kích cỡ này là đặc
trưng duy nhất và có thể làm tăng độ chính xác của cơ chế theo dõi.
■ Giá trị ACK Các ngăn IP khác biệt về giá trị chuỗi mà chúng sử
dụng cho trường ACK, vì thế một số lần chạy sẽ gửi trở lại số thứ tự mà bạn
đã gửi trước đó, và một số lần chạy khác sẽ gửi trở lại số thứ tự +1.
■ Chặn đứng thông điệp lỗi ICMP Các hệđiều hành có thể theo gót RFC
1812 (www.ietf.org/rfc/rfc1812.txt) và hạn chế tỉ lệ các thông điệp lỗi bị gửi
đi. Bằng cách gửi những gói tin UDP tới một cổng đánh số thứ tự cao ngẫu
nhiên, bạn có thểđếm số lượng các thông điệp không thể gửi đi trong một
khoảng thời gian nhất định.
■ Trích dẫn thông điệp ICMP Các hệđiều hành khác nhau ở số lượng
thông tin được trích dẫn khi gặp phải lỗi ICMP. Bằng cách kiểm tra thông
điệp được trích dẫn bạn có thể phần nào khẳng định được thông tin về hệđiều
hành mục tiêu.
■ Tính thống nhất gửi lại thông điệp lỗi ICMP Một số stack
implementation có thể thay đổi IP header khi gửi trở lại các thông điệp lỗi
ICMP. Xem xét kỹ những thay đổi đối với các header bạn có thể khẳng định
một số thông tin về hệđiều hành mục tiêu.
■ Loại hình dịch vụ (TOS) Đối với những thông điệp "Không thể tới
cổng ICMP", TOS được kiểm tra. Hầu hết các stack implementation sử dung
0, nhưng có thể thay đổi.
■ Quản lí phân chia (Fragmentation handling) Như Thomas Ptacek và
Tim Newsham đã chỉ rõ trong ấn phẩm "Insertion, Evasion, and Denial of
Service: Eluding Network Intrusion Detection"
(http://www.clark.net/~roesch/idspaper.html), các gói tin khác nhau quản lí
các phần phân tách chồng chéo khác nhau. Một số ngăn xếp sẽ ghi chèn dữ
liệu mới lên dữ liệu cũ và ngược lại khi các phần phân tách được nối trở lại.
Bằng cách chú ý đến cách các gói tin thăm dò được nối lại, bạn có thể biết
được một số thông tin về hệđiều hành.
▲ Các lựa chọn TCP Các lựa chọn TCP được quy định bởi RFC 793 và
gần đây là RFC 1323 (www.ietf.org/rfc/rfc1323.txt). Những lựa chọn tiên tiến
hơn của RFC 1323 có thểđược sử dụng trong hầu hết các stack
implementation hiện nay. Bằng cách gửi đi một gói tin bằng một loạt các lựa
chọn, ví dụ như no operation, maximum segment size, window scale factor, và
timestamp, ta có thể phần nào khẳng định được thông tin về hệđiều hành mục
tiêu.
Nmap có sử dụng những kỹ thuật mà ta đề cập trước đó (ngoại trừ quản lí
phân tách và xắp xếp thông điệp lỗi ICMP) bằng lựa chọn -0. Hãy cùng xem
xét đến mạng mục tiêu:
[tsunami] nmap -0 192.168.1.10
Starting nmap V. 2.53 by [email protected]
Interesting ports on shadow (192.168.1.10):
Port State Protocol Service
7 open tcp echo
9 open tcp discard
13 open tcp daytime
19 open tcp chargen
21 open tcp ftp
22 open tcp ssh
23 open tcp telnet
25 open tcp smtp
37 open tcp time
111 open tcp sumrpc
512 open tcp exec
513 open tcp login
514 open tcp shell
2049 open tcp nfs
4045 open tcp lockd
TCP Sequence Prediction: Class=random positive increments
Difficulty = 26590 (Worthy challenge)
Remote operating system guess: Solaris 2.5, 2.51
Bằng việc sử dụng lựa chọn stack fingerprint trong nmap, ta có thể chắc chắn
khẳng định hệđiều hành. Ngay cả trường hợp không có có cổng nào ở trạng
thái mở trên hệ thống mục tiêu thì nmap vẫn có thểđoán có cơ sở về hệđiều
hành này.
[tsunami] # nmap -p80 -0 10.10.10.10
Starting nmap V. 2.53 by [email protected]
Warning: No ports found open on this machine, OS detection will be MUCH less reliable
No ports open for host (10.10.10.10)
Remote OS guesses: Linux 2.0.27 - 2.0.32 -34, Linux 2.0. 35 -36.
Linux 2.1.24 PowerPC, Linux 2.1.76. Linux 2.1.91 - 2.1.103.
Linux 2.1.122 - 2.1.132; 2.2.0 -prel - 2.2.2, Linux 2.2 0 -pre6 - 2.2.2-ac5
Nmap run completed - - 1 IP address (1 host up )scanned in 1 second
Vì vậy ngay cả khi không có cổng mở thì nmap vẫn có thểđoán chính xác hệ
điều hành đó là Linux.
Một trong những tính năng ưu việt nhất của nmap là danh sách chữ ký
được lưu trong một file có tên namp -os -fingerprints. Mỗi lần một phiên bản
nmap mới được tung ra thị trường thì file này lại được cập nhật bổ xung
những chữ ký mới. Tại thời điểm cuốn sách này được viết ra, đã có hàng trăm
chữ ký được lưu danh. Nếu bạn muốn nhập thêm một chữ kỹ mới và sử dụng
tiện ích nmap, bạn có thể thực hiện tại địa chỉ http://www.insecure.org:80/cgi-
bin/nmpa-submit.cgi.
Tại thời điểm cuốn sách này thì dường như nmap là công cụ có tính chính xác
cao nhất, nó không phải là công cụđầu tiên thực hiện những thủ thuật như
vậy. Queso, bạn có thể tải xuống từ
http://packetstrom.securify.com/UNIX/scanners/queso-980922.tar.gz, là một
công cụ phát hiện hệđiều hành được thiết kế trước khi Fyodor nhập tính năng
phát hiện hệđiều hành vào trong nmap. Cần chú ý rằng queso không phải là
một thiết bị quét cổng và nóchỉ thực hiện tính năng phát hiện hệđiều hành
thông qua một cổng đơn ở trạng thái mở (cổng mặc định 80). Nếu cổng 80
không mở trên máy chủ mục tiêu thì ta cần xác định một cổng đang ở trạng
thái mở, sẽđược đề cập trong phần tiếp. Queso được sử dụng nhằm xác định
hệđiều hành mục tiêu thông qua cổng 25.
[tsunami] queso 10.10.10.20:25
10.10.10.20:25 * Windoze 95/98/NT
◙ Các biện pháp chống phát hiện Hệđiều hành
Phát hiện Rất nhiều trong số các công cụ phát hiện quét cổng đã nói trước
đó có thểđược sử dụng nhằm phát hiện hệđiều hành. Mặc dầu các công cụ
này không chỉ ra cụ thểđang tiến hành quét phát hiện hệđiều hành nmap hay
queso nhưng nó có thể phát hiện một thao tác quét bằng một loạt các lựa chọn,
ví dụ như cờ hiệu SYN.
Ngăn chặn Chúng ta mong muốn có được một thiết kếđơn giản để phát hiện
hệđiều hành, tuy nhiên đây quả là một vấn đề nan giải. Ta hoàn toàn có thể
phá mã nguồn điều hành hoặc thay đổi một tham số hệđiều hành nhằm thay
đổi tính năng đặc trưng stack fingerprint. Tuy nhiên nó cũng có thểảnh hưởng
có hại đến tính năng của hệđiều hành. Ví dụ, FreeBSD 4x hỗ trợ lựa chọn
nhân TCP_DROP_SYNFIN vốn được sử dụng để bỏ qua gói tin SYN+FIN
mà nmap sử dụng khi tiến hành thăm dò các ngăn xếp. Kích hoạt lựa chọn này
có thể chống phát hiện hệđiều hành, tuy nhiên nó lại phá vỡ sự hỗ trợ
RFC1644.
Ta tin rằng chỉ có những ủy quyền an toàn hoặc những firewall mới
phải quét mạng. Theo như một câu châm ngôn "an toàn trong sự khó hiểu"
chính là một vòng bảo vệđầu tiên của bạn. Ngay cả trong trường hợp kẻ tấn
công có thể phát hiện ra hệđiều hành thì chúng cũng gặp nhiều khó khăn khi
truy nhập vào hệ thống mục tiêu.
☻Công cụ xác định hệđiều hành thụđộng
Tính phổ thông 5
Tính đơn giản
6
Tính hiệu quả
4
Mức độ rủi ro
5
Chúng ta vừa tìm hiểu mức độ hữu hiệu tính năng thăm dò ngăn xếp động
trong đó có sử dụng nmap và queso. Ta cần lưu ý rằng các thủ thuật phát hiện
ngăn xếp đã đề cập trước đó hoạt động theo đúng tính năng. Chúng ta gửi các
gói tin tới mỗi hệ thống để xác định tính chất đặc trưng của ngăn xếp mạng
qua đó giúp ta đoán ra hệđiều hành đang hoạt động. Vì ta phải gửi các gói tin
tới hệ thống mục tiêu nên một hệ thống IDS dựa trên mạng cũng dễ dàng xác
định rằng cuộc thăm dò xác định hệđiều hành đã được phát động. Do đó đây
không phải là một thủ thuật mà kẻ tấn công thường chọn sử dụng.
Passive Stack Fingerprinting (thăm dò ngăn xếp thụđộng)
Passive Stack Fingerprinting về mặt khái niệm tương tự như active stack
fingerprinting (thăm dò ngăn xếp chủđộng). Thay vì gửi các gói tin tới hệ
thống mục tiêu, kẻ tấn công kiểm tra thụđộng thông tin mạng nhằm xác định
hệđiều hành đang hoạt động. Do đó, bằng thao tác kiểm tra thông tin mạng
giữa các hệ thống khác nhau, chúng ta có thể xác định được hệđiều hành trên
một mạng. Lance Spitzner đã dày công nghiên cứu trong lĩnh vực này và sản
phẩm là một cuốn sách mô tả chi tiết kết quả của công trình nghiên cứu đó tại
địa chỉ http://project.honeynet.org. Bên cạnh đó Marshall Beddoe và Chris
Abad đã phát triển siphon, một công cụ cấu trúc mạng, xác định hệđiều hành
và ánh xạ cổng được giới thiệu tại http://www.gravitino.net/projects/siphon.
Bây giờ chúng ta cùng tìm hiểu phương thức hoạt động của tính năng thăm dò
ngăn xếp thụđộng.
Các chữ ký thụđộng
Ta có thể sử dụng nhiều chữ kỹ khác nhau để xác định một hệđiều hành.
Chúng ta chỉ giới hạn tìm hiểu một số thuộc tính liên quan bằng một vùng
TCP/IP.
▼ TTL Hệđiều hành thiết lập cái gì như là thời gian hoạt động trên gói
tin đi?
■ Kích cỡ cửa sổHệđiều hành thiết lập cái gì là Window Size?
▲ DF Hệđiều hành có thiết lập tính năng Không phân tách bit?
Bằng cách phân tích một cách thụđộng mỗi thuộc tính và so sánh các kết quả
với cơ sở dữ liệu thuộc tính đã biết, bạn có thể xác định được hệđiều hành từ
xa. Mặc dầu phương pháp này không thểđảm bảo mang lại một kết quả chính
xác sau mỗi lần nhưng các thuộc tính có thểđược kết hợp để tạo ra một kết
quảđáng tin cậy. Thủ thuật này chính là phương thức họat động của siphon.
Ta cùng tìm hiểu một ví dụ về phương thức hoạt động của công cụ này.
Nếu như chúng ta telnet khỏi bóng hệ thống (192.168.1.10) để tác động
(192.168.1.11) thì chúng ta có thể xác định một cách thụđộng hệđiều hành
đang sử dụng siphon.
[shadow]# telnet 192.168.1.11
Sử dụng thiết bịđánh hơi thông dụng snort, chúng ta có thể xem lại một
phần dấu vết gói tin của kết nối telnet.
06/04 -11:23:48.297976 192.168.1.11:23 -> 192.168.1.10:2295
TCP TTL:255 TOS:0x0 ID:58934 DF
**S***A* Seq: 0xD3B709A4 Ack: 0xBE09B2B7 Win: 0x2798
TCP Options => NOP NOP TS: 9688775 9682347 NOP WS: 0 MSS:1460
Xem 3 thuộc tính TCP/IP, chúng ta nhận thấy rằng
▼ TTL = 255
■ Window Size = 2798
▲ Không phân tách bit (DF) =Yes
Bây giờ chúng ta cùng xem lại file cơ sở dữ liệu siphon osprints.conf:
[shadow]# grep -i solaris osprints.conf
# Window: TTL:DF: Operating System DF = 1 for ON, 0 for OFF
2328:255:1: Solaris 2.6 - 2.7
2238:255:1: Solaris 2.6 - 2.7
2400:255:1: Solaris 2.6 - 2.7
2798:255:1: Solaris 2.6 - 2.7
FE88:255:1: Solaris 2.6 - 2.7
87C0:255:1: Solaris 2.6 - 2.7
FAF0:255:0 Solaris 2.6 - 2.7
FFFF:255:1: Solaris 2.6 - 2.7
Ta thấy rằng mục số 4 có các thuộc tính chính xác của dấu vết snort: kích cỡ
cửa sổ 2798, TTL 255, DF bit set (tương đương 1). Do vậy ta có thể chắc chắn
kết luận là Hệđiều hành mục tiêu đang sử dụng siphon.
[crush] siphon -v -i x10 -o fingerprint.out
Running on: 'crush' running FreeBSD 4.0 RELEASE on a(n) i386
Using Device: x10
Host Port TTL DF Operating System
192.168.1.11 23 255 ON Solaris 2.6 - 2.7
Như vậy chúng ta có thểđoán OS mục tiêu là Solaris 2.6 một cách khá dễ
dàng. Chú ý là ta có thể tiến hành đoán có cơ sở mà không cần phải gửi một
gói tin nào tới 192.168.1.11
Một kẻ tấn công có thể sử dụng Thăm dò thụđộng để liệt ra những nạn
nhân tiềm năng chỉ bằng thao tác truy nhập vào web site và phân tích một dấu
vết mạng hoặc sử dụng một công cụ như siphon. Mặc dầu đây là một thủ thuật
khá hữu hiệu nhưng nó cũng có những điểm hạn chế nhất định. Trước hết, các
ứng dụng tự xây dựng các gói tin không sử dụng cùng một chữ ký như hệđiều
hành. Do vậy kết quả có thể sẽ không chính xác. Thứ hai, một máy chủ từ xa
có thể dễ dàng thay đổi các thuộc tính kết nối.
Solaris: ndd -set /dev/ip ip_def_ttl 'number'
Linux: echo 'number' > /proc/sys/net/ipv4/ip_default_ttl
NT: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Paramenters
◙ Biện pháp đối phó phát hiện hệđiều hành thụđộng
Xem biện phát ngăn chặn trong "Các biện pháp đối phó phát hiện hệđiều
hành" ở phần đầu chương này.
TOÀN BỘ ENCHILADA: CÁC CÔNG CỤ PHÁT HIỆN TỰĐỘNG
Tính phổ thông 10
Tính đơn giản
9
Tính hiệu quả
9
Mức độ rủi ro
9
Hiện nay ngày càng có nhiều các công cụ mới được viết ra nhằm hỗ trợ việc
phát hiện mạng. Mặc dầu chúng ta không thể liệt kê ra toàn bộ các công cụ
nhưng chúng ta cũng cần chú trọng đến 2 tiện ích phụ sẽ bổ xung vào kho
công cụ mà chúng ta đã tìm hiểu.
Cheops (http://www.marko.net/cheops/), được mô tả trong Hình 2-7 là một
tiện ích tuyệt vời, một công cụ ánh xạ mạng đa năng. Cheops hợp nhất ping,
traceroute, các tính năng quét cổng, phát hiện hệđiều hành (thông qua queso)
trong một công cụ. Cheops có giao diện đơn giản mô tả các hệ thống và mạng
liên quan bằng hình ảnh giúp chúng ta hiểu rõ được mô hình.
Tkined là một phần trong bộ Scotty có tại địa chỉ
http://wwwhome.cs.utwente.nl/~schoenw/scotty/. Tkined là một trình soạn
thảo được viết trong Tcl có tính năng hợp nhất các công cụ quản lí mạng khác
nhau qua đó giúp bạn phát hiện các mạng IP. Tkined có khả năng mở rộng lớn
và giúp bạn thực hiện các hoạt động thăm dò mạng, hiển thị kết quả bằng hình
ảnh. Mặc dầu công cụ này không thực hiện tính năng phát hiện hệđiều hành
nhưng nó có thể thực hiện nhiều nhiệm vụ nhưđã đề cập đến ở phần đầu
chương này và trong Chương 1. Ngoài công cụ Tkined, ta cũng nên tìm hiểu
một số công cụ khá trong bộ Scotty.
◙ Các biện pháp đối phó các công cụ phát hiện tựđộng
Những công cụ như Scotty, tkined và cheops sử dụng kết hợp tất cả các thủ
thuật mà chúng ta đã tìm hiểu trước đó. Cũng các thủ thuật phát hiện tấn công
sẽđược áp dụng cho việc phát hiện những công cụ phát hiện tựđộng này.
Hình 2-7. Cheops cung cấp các tiện ích network-
mapping trong một gói hình ảnh.
KẾT LUẬN
Vừa rồi chúng ta đã tìm hiểu, nghiên cứu những công cụ và thủ thuật cần thiết
thực hiện tính năng ping sweep, quét cổng TCP và ICMP, và phát hiện hệ
điều hành. Sử dụng các công cụ ping sweep, bạn có thể xác định được các hệ
thống đang hoạt động và chỉ ra được những mục tiêu tiềm năng. Sử dụng các
công cụ và thủ thuật quét cổng TCP và UDP bạn có thể phát hiện được những
dịch vụ tiềm năng đang ở trạng thái nghe và phần nào biết được mức độ gặp
rủi ro của mỗi hệ thống. Cuối cùng ta đã trình bày cách kẻ tấn công sử dụng
phần mềm phát hiện chính xác hệđiều hành để xác định hệđiều hành cụ thể
mà hệ thống mục tiêu sử dụng. Khi nghiên cứu trong phần tiếp chúng ta sẽ
thấy rằng những thông tin có được cho đến bây giờ là rất quan trọng để thực
hiện một cuộc tấn công tập trung.
những quyết định bố trí như vậy. Mô hình kiến trúc an ninh bốn mức sẽ
được giới thiệu như một mô hình OSI nhỏ, thực tế và đơn giản hơn khi trình
bày về các vấn đề bố trí an ninh. Mô hình bốn mức này được dùng trong
suốt cả quyển sách này mỗi khi nói về bố trí các dịch vụ an ninh lớp.
Nội dung của chương được chia ra thành các mục sau:
(1) Những nguyên lý chung trong phân lớp các giao thức và các thuật ngữ
kèm theo được giới thiệu trong Mô hình tham chiếu cơ sở của OSI
(2) Những cấu trúc, dịch vụ và giao thức của các lớp OSI đặc thù
(3) Bộ giao thức TCP/IP của mạng Internet và quan hệ của nó với kiến
trúc OSI
(4) Bố trí cấu trúc của dịch vụ an ninh có trong mô hình bốn mức; và
(5) Phương thức quản trị các dịch vụ an ninh liên quan đến các lớp kiến
trúc
3.1 Các nguyên lý và công nghệ phân lớp giao thức
Trong thực tế, có sự truyền thông giữa các hệ thống thực. Để phục vụ cho
mục đích định nghĩa các giao thức truyền thông giữa chúng, các tiêu chuẩn
OSI đưa ra khái niệm về một mô hình của một hệ thống thực dưới tên gọi là
một hệ thống mở. Hệ thống của mô hình được coi là phải có cấu trúc theo
các lớp. Điều này không cần đòi hỏi các hệ thống thực cần phải được thực
thi theo các cấu trúc giống nhau, mà người dùng có thể lựa chọn cấu trúc
thực thi bất kỳđểđưa ra cách vận hành cuối cùng phù hợp với cách vận
hành được định nghĩa bởi mô hình sử dụng. Ví dụ, một thực thi có thể gộp
các chức năng của nhiều tầng kề nhau vào trong một phần mềm mà không
cần phải có ranh giới giữa các tầng.
Lịch sử phát triển
Tiêu chuẩn OSI đầu tiên được Ủy ban Kỹ thuật TC97 của ISO công bố vào
năm 1977 (Các hệ thống xử lý thông tin). Và sau đó Tiểu ban TC97/SC16
(Liên thông giữa các hệ thống mở) đã được thành lập với mục tiêu phát triển
một mô hình và định nghĩa các tiêu chuẩn giao thức để hỗ trợ các nhu cầu
của một phạm vi không hạn chế các ứng dụng trên nhiều công nghệ của các
phương tiện truyền thông cơ bản. Dự án đã thu hút sự chú ý của Hiệp hội
Truyền thông Quốc tế (ITU), cơ quan đưa ra các khuyến cáo được các hãng
truyền thông trên toàn thế giới áp dụng (Trước năm1993 chúng được gọi là
Những khuyến cáo của CCITT). Và ra đời sự hợp tác giữa ISO và ITU để
xây dựng Các tiêu chuẩn Quốc tế ISO thống nhất và các khuyến cáo của ITU
trên OSI.
Sản phẩm có ý nghĩa đáng kểđầu tiên của sự hợp tác này là Mô hình
Tham chiếu Cơ bản của OSI.. Nó được phát hành vào năm 1994 như là Tiêu
chuẩn quốc tế ISO 7498 và như là Các khuyến cáo ITU X.200. Tài liệu này
mô tả một kiến trúc bảy tầng cần được dùng làm cơ sởđểđịnh nghĩa đọc lập
các giao thức lớp riêng rẽ. Các tiêu chuẩn đối với các giao thức đầu tiên
được phát hành không lâu sau khi Mô hình Tham chiếu cơ sở ra đời và ngay
sau đó là các tiêu chuẩn khác cũng được phát hành đồng loạt.
Các nguyên lý phân lớp
Mô hình OSI đưa ra những nguyên lý nhất định để xây dựng các giao thức
truyền thông giữa các lớp. Trên hình 3-1 trình bày một số khái niệm quan
trọng.
Hệ thống mở A
Dịch vụ lớp N
Hệ thống mở B
Lớp N
Lớp N+1
Thực thể (N+1)
Thực thể N
Thực thể (N+1)
Thực thể N
Giao thức lớp N
H ình 3-1: Các khái niệm phân lớp của OSI
Xét một lớp giữa nào đó, giả sử là lớp N. Trên lớp N là lớp N+1 và
lớp dưới nó là lớp N-1. Trong cả hai hệ thống mở có một chức năng hỗ trợ
lớp N. Điều này được đánh dấu bằng thực thể (N) trong mỗi hệ thống mở.
Cặp các thực thể truyền thông (N) cung cấp một dịch vụ cho các thực thể
(N+1) trong hệ thống tương ứng. Dịch vụ này bao gồm cả việc chuyển dữ
liệu cho các thực thể (N+1).
Các thực thể (N) lại truyền thông với nhau thông qua giao thức truyền
thông (N). Giao thức này bao gồm cú pháp (định dạng) và nghĩa (ý nghĩa)
của dữ liệu được trao đổi giữa chúng cộng với các quy tắc mà các giao thức
cần phải tuân theo. Giao thức (N) được truyền bằng cách sử dụng một dịch
vụ do các thực thể (N-1) cung cấp. Mỗi thông điệp được gửi trong giao thức
(N) được biết như một đơn vị dữ liệu của giao thức (N) (viết tắt tiếng Anh là
PDU - Protocol Data Unit).
Một nguyên lý quan trọng tuân theo khái niệm phân lớp này là tính
độc lập của lớp. Đó là một dịch vụ lớp (N) có thểđược định nghĩa và sau đó
có thểđược dùng đểđịnh nghĩa các giao thức cho lớp (N+1) mà không cần
biết rằng nó đã được giao thức (N) sử dụng để cung cấp dịch vụđó.
Bảy lớp của OSI
Mô hình tham chiếu OSI định nghĩa bảy lớp như trình bày trên hình 3-2.
Các giao thức từ mỗi lớp được nhóm lại với nhau thành một cái gọi là ngăn
stack của lớp OSI. Một ngăn stack của lớp OSI thoả mãn các yêu cầu của
một quá trình ứng dụng là một phần của hệ thống thực thực hiện xử lý thông
tin cho mục đích ứng dụng đã cho.
Hệ thống mở A
Hệ thống mở B
Lớp ứng dụng
Lớp trình diễn
Lớp phiên làm việc
Lớp vận chuyển
Lớp mạng
Lớp liên kết dữ liệu
Giao thức ứng dụng
Giao thức trình diễn
Giao thức phiên làm việc
Giao thức vận chuyển
Giao thức mạng
Giao thức liên kết dữ
liệ
Lớp vật lý
Giao thức vật lý
Môi trường vật lý
Hình 3-2: Mô hình bảy lớp của OSI
Các lớp và các chức năng chính của chúng bao gồm:
••Lớp ứng dụng (lớp 7): cung cấp phương tiện để quá trình ứng dụng
truy nhập vào môi trường OSI. Các tiêu chuẩn của giao thức lớp ứng
dụng giải quyết các chức năng truyền thông được áp dụng cho một ứng
dụng chuyên biệt hoặc một họ các ứng dụng.
••Lớp trình diễn (lớp 6): chịu trách nhiệm trình diễn thông tin mà thực
thể lớp ứng dụng dùng hoặc tham chiếu đến trong quá trình truyền thông
giữa chúng.
••Lớp phiên làm việc (lớp 5): cung cấp phương tiện để các thực thể lớp
trên tổ chức và đồng bộđối thoại giữa chúng và quản lý quá trình trao đổi
dữ liệu của chúng.
••Lớp truyền tải (lớp 4): chịu trách nhiệm truyền tải dữ liệu thông suốt
giữa các thực thể lớp trên và giải phóng chúng khỏi các vấn đề chi tiết
liên quan đến cách cụ thểđể truyền dữ liệu được tin cậy và hiệu quả về
giá thành (chi phí thấp).
••Lớp mạng (lớp 3): đảm trách việc truyền nhận thông tin giữa các thực
thể lớp trên một cách độc lập mà không xét đến thời gian giữ chậm và
chạy vòng chờ. Ởđây bao gồm cả trường hợp khi có nhiều mạng con
được dùng song song hoặc kế tiếp nhau. Nó làm cho các lớp trên không
thể nhìn thấy được các tài nguyên truyền thông phía sau được sử dụng
(liên kết các dữ liệu) như thế nào.
••Lớp liên kết dữ liệu (lớp 2): đảm nhận việc truyền dữ liệu trên cơ sở
điểm tới điểm và thiết lập, duy trì và giải phóng các nối ghép điểm tới
điểm. Nó phát hiện và có khả năng sửa các lỗi có thể xuất hiện ở dưới lớp
vật lý.
••Lớp vật lý (lớp 1): cung cấp phương tiện cơ khí, phương tiện điện,
phương tiện vận hành và phương tiện giao thức để kích hoạt, duy trì và
ngắt bỏ các nối ghép vật lý dùng để truyền dữ liệu theo bit giữa các thực
thể liên kết dữ liệu..
Hình 3-3 trình bày kiến trúc OSI có xét đến ý nghĩa các mạng con ở
lớp mạng. Nó biểu diễn cách các mạng con có thểđược sử dụng kế tiếp
nhau để hỗ trợ một phiên truyền thông ứng dụng như thế nào (có thể sử dụng
cả những công nghệ về nối liên thông hoặc các công nghệ về phương tiện
truyền thông khác nhau).
Hệ thống giữ chậm
Lớp ứng dụng
Lớp trình diễn
Lớp phiên làm việc
Lớp vận chuyển
Lớp mạng
Lớp liên kết dữ liệu
Lớp vật lý
Môi trường vật lý Môi trường vật lý
Hình 3-3: Mô hình phân lớp của OSI có nhiều
Các lớp trên và các lớp dưới
Từ một triển vọng thực tế, các lớp của OSI có thểđược coi như là:
(a) các giao thức phụ thuộc vào ứng dụng
(b) các giao thức kèm theo môi trường đặc thù
(c) hoặc một chức năng cầu nối giữa (a) và (b).
Các giao thức phụ thuộc ứng dụng gồm có Lớp ứng dụng , Lớp trình
diễn và Lớp phiên làm việc. Đây là những lớp trên. Việc triển khai những
lớp này được gắn chặt với ứng dụng đang được hỗ trợ và chúng hoàn toàn
độc lập với công nghệ hoặc những công nghệ truyền thông đang sử dụng.
Các lớp còn lại nằm trong các mục (b) và (c) trên đây là những lớp
dưới. Các giao thức phụ thuộc công nghệ của phương tiện truyền thông đều
nằm trong Lớp vật lý và Lớp liên kết dữ liệu và các lớp con của Lớp mạng
(các lớp phụ thuộc mạng con).
Chức năng cầu nối do Lớp truyền tải và các lớp con trên của Lớp
mạng đảm nhiệm. Các lớp con trên của Lớp mạng cho phép một giao diện
dịch vụ mạng thích hợp luôn sẵn sàng cho lớp trên với chất lượng dịch vụ sẽ
thay đổi tuỳ theo các mạng con được dùng. Lớp truyền tải có nhiệm vụ làm
cho các lớp trên nó nhìn thấy được các lớp dưới nó. Nó hoặc nhận được các
kết nối mạng với đầy đủ chất lượng của dịch vụ hoặc nâng cấp chất lượng
của dịch vụ nếu cần, ví dụ, bằng cách cung cấp phát hiện lỗi và phục hồi
trong giao thức truyền tải nếu hiêu năng sửa lỗi của Lớp mạng không đầy
đủ.
Các dịch vụ và tiện ích lớp
Dịch vụ do một lớp bất kỳ cung cấp được mô tả bởi thuật ngữcác gốc dịch
vụ. Chúng đóng vai trò là các sự kiện hạt nhân tại giao diện dịch vụ (trừu
tượng). Một dịch vụ lớp được chia ra thành một số các tiện ích và mỗi tiện
ích lại bao gồm một nhóm các gốc dịch vụ liên quan. Nhìn chung, một tiện
ích liên quan đến tạo và xử lý một hoặc nhiều đơn vị dữ liệu của giao thức
(PDU).
Ví dụ, trong dịch vụ truyền tải có một tiện ích nối ghép T (T-
CONNECT) dùng để thiết lập một nối ghép truyền tải. Nó bao gồm bốn gốc
dịch vụ (hai gốc dịch vụở một đầu dùng để khởi tạo thiết lập nối ghép và hai
gốc khác ởđầu kia) và hai đơn vị PDU (một đơn vị dùng để gửi dữ liệu theo
mỗi hướng). Mối liên hệ giữa các gốc dịch vụ và các đơn vị PDU được mô
tả trên hình 3-4 như một lược đồ thời gian.
Kiểu phối hợp trên đây gồm hai đơn vị PDU và bốn gốc dịch vụ là rất
phổ biến và nó được biết như là dịch vụđược xác nhận. Một trường hợp phổ
biến khác được biết như là dịch vụ không được xác nhận chỉ có một đơn vị
PDU và hai gốc dịch vụ. Về cơ bản nó đều giống nhau vì nửa đầu của kiểu
phối hợp được trìng bày trên hình 3-4.
Các dịch vụ có kết nối và các dịch vụ không có kết nối
Có hai chếđộ dịch vụ hoàn toàn khác nhau tại mỗi lớp. Đó là:
••Chếđộdịch vụ có kết nối dựa trên các kết nối (N) do lớp (N) cung
cấp. Một kết nối là một sự kết hợp giữa hai thực thể (N) có một pha thiết
lập, pha truyền và pha ngắt. Trong pha truyền một dòng các đơn vị dữ
liệu được chuyển qua thay mặt cho các người dùng lớp trên của dịch vụ.
••Chếđộdịch vụ không có kết nối gồm sự vận chuyển từng đơn vị dữ
liệu đơn lẻ mà không yêu cầu có sự liên hệ qua lại giữa chúng. Dịch vụ
có thể chuyển vòng quanh các đơn vị dữ liệu một cách độc lập, không cấp
thông báo nhận và không đảm bảo cấp phát theo trình tự
gửi.
Các gốc dịch
vụ truyền tải
(đầu khởi tạo)
Yêu cầu
KẾT NỐI T
Truyền tải đơn vị dữ liệu
của giao thức (PDU)
Yêu cầu
T N I PDU
Các gốc dịch
vụ truyền tải
(đầu nhận)
Hiển thị
KẾT NỐI T
Thời
Xác nhận
KẾT NỐI T
Đáp ứng
KẾT NỐI
Đáp ứng
KẾT NỐI T
Lý do chính tồn tại hai kiểu dịch vụ này là có một số công nghệ truyền
thông cơ sở có kế thừa tính kết nối (ví dụ như các mạng chuyển mạch gói)
và một số khác lại kế thừa tính không kết nối (ví dụ như các mạng cục bộ).
Chức năng cầu nối ở Lớp mạng và Lớp truyền tải là sự hỗ trợ hoạt động cho
các lớp trên có kết nối trên các công nghệ truyền thông không kết nối.
Với các lớp trên hướng kết nối thì kết nối tại các lớp riêng rẽ ánh xạ
trực tiếp với nhau. Một kết hợp ứng dụng (tương đương với một kết nối của
Lớp ứng dụng) thì ánh xạ trực tiếp tới một kết nối trình diễn và kết nối này
lại ánh xạ trực tiếp đến kết nối phiên làm việc. Tuy nhiên, các lớp dưới đó
thì không còn cần đến ánh xạ một -một như thế. Ví dụ, một kết nối truyền tải
có thểđược dùng lại nhiều lần cho các kết nối phiên làm việc, và một kết nối
mạng cũng có thể vận chuyển một số hỗn hợp các kết nối cùng một lúc.
3.2 Các kiến trúc, dịch vụ và giao thức của lớp OSI
Lớp ứng dụng
Lớp ứng dụng có thể bao gồm nhiều chức năng khác nhau và chúng có thể
cần phải được định nghĩa theo các nhóm chuẩn hoá khác nhau. Do vậy, cần
phải có cách tiếp cận mô đun đểđịnh nghĩa các giao thức cho Lớp ứng dụng.
Cấu trúc của Lớp ứng dụng được định nghĩa trong chuẩn ISO/IEC 9545.
Chuẩn này định nghĩa các khái niệm được dùng để mô tả cấu trúc bên trong
của một thực thểứng dụng cùng với những khái niệm được dùng để mô tả
các quan hệ tích cực giữa những lần gọi của các thực thểứng dụng.
Khối cấu trúc cơ sở nhất của một thực thểứng dụng được gọi là một
phần tử dịch vụứng dụng (viết tắt tiếng Anh là ASE - Application-Service-
Element). (Một ASE có thểđược coi như là một tài liệu). Cấu thành cấu trúc
chung hơn của thực thểứng dụng là một đối tượng dịch vụứng dụng (viết
tắt tiến Anh là ASO - Application-Service-Object) được xây dựng từ các
ASE và/hoặc các ASO khác. Các nguyên lý cấu trúc liên quan đến các thực
thểứng dụng, ASE và ASO sẽđược trình bày tiếp trong chương 12.
Có hai khái niệm quan trọng mô tả các quan hệ giữa các thực thểứng
dụng đang truyền thông là:
••Phối hợp ứng dụng:Đó là một quan hệ phối hợp giữa hai lần gọi của
ASO có nhiệm vụ quản lý việc sử dụng hai chiều của dịch vụ trình diễn
cho các mục đích truyền thông. Đây là một sự tương đương của một kết
nối đối với Lớp ứng dụng. Nó cũng có thểđược coi như là một biểu diễn
của kết nối trình diễn đối với Lớp ứng dụng.
••Hoàn cảnh ứng dụng: Đó là một bộ các quy tắc được chia xẻ bởi hai
lần gọi của ASO nhằm hỗ trợ một phối hợp ứng dụng. Đây là giao thức
của Lớp ứng dụng hoàn toàn hiệu quả khi sử dụng trên một phối hợp ứng
dụng
Một ASE được chú ý đặc biệt là phần tử dịch vụ kiểm soát phối hợp
(viết tắt tiếng Anh là ASCE - Association Control Service Element). ASE
này hỗ trợ việc thiết lập và kết thúc các phối hợp ứng dụng và nó cần phải có
trong tất cả mọi hoàn cảnh ứng dụng. Một biểu diễn thực tế của ASCE là nó
định nghĩa các thông tin của Lớp ứng dụng được vận chuyển các trao đổi
giao thức đẻ thiết lập và kết thúc các kết nối trình diễn và các kết nối phiên
làm việc. Dịch vụ ASCE được định nghĩa trong tiêu chuẩn ISO/IEC 8650.
Một sốứng dụng dựa trên tiêu chuẩn ISO đã được định nghĩa. Các
tiêu chuẩn gồm các định nghĩa về các giao thức của Lớp ứng dụng cùng với
vật chất hỗ trợ như các định nghĩa về các mô hình thông tin và các thủ tục
cần tuân theo trong hệ thống. Các ứng dụng chính được nói đến trong cuốn
sách này là:
••Các hệ thống quản lý tin nhắn (viết tắt tiếng Anh là MHS - Message
Handling Systems): Ứng dụng này hỗ trợ cho việc nhắn tin điện tử gồm
gửi thưđiện tử giữa các cá nhân, chuyển EDI và nhắn tin thoại. MHS đã
là một ứng dụng OSI hàng đầu trong các đặc tính an ninh hợp nhất. Ứng
dụng này và các đặc tính an ninh của nó được trình bày trong chương 13.
••Thư mục: Ứng dụng này cung cấp cơ sởđể kết nối liên thông các hệ
thống xử lý thông tin sao cho cung cấp hệ thống thư mục tích hợp, nhưng
phân tán về vật lý với các công dụng tiềm ẩn khác nhau. Ứng dụng thư
mục và các đặc tính an ninh của nó sẽđược trình bày trong chương 14.
••Truyền tệp, truy nhập và quản trị (viết tắt tiếng Anh là FTAM - File
Transfer, Access, and Management): Ứng dụng FTAM có nhiệm vụ hỗ
trợđọc hoặc ghi các tệp tin trong một hệ máy tính ở xa, truy nhập vào các
cấu thành của những tệp tin đó, và/ hoặc quản trị (ví dụ như, tạo hoặc
xoá) những tệp tin đó. FTAM được định nghĩa trong tiêu chuẩn ISO/IEC
8571.
Các tiện ích quản trị mạng OSI cúng đóng góp mọt ứng dụng OSI. Chúng sẽ
được bàn đến trong chương 15.
Các tiêu chuẩn của Lớp ứng dụng OSI gồm một giao thức xây dựng mô
hình quan trọng và công cụ xây dựng được gọi là phần tử dịch vụ hoạt động
từ xa (viết tắt tiếng Anh là ROSE - Remote Operation Service Element).
ROSE dựa trên một mô hình máy chủ - tớ (client-server) chung, trong đó
một hệ thống (máy tớ) gọi các hoạt động nhất định nào đó trong hệ thống
khác (máy chủ). Giao thức có thểđược biểu diễn bằng ngôn ngữ kèm theo
lệnh gọi và các kết quả hoặc một báo lỗi có thểđược trả về từ hoạt động của
hệ thống. Đối với một ứng dụng thích hợp với mô hình này công dụng của
ROSE có thể tạo thuận lợi cho định nghĩa giao thức. ROSE được dùng trong
các giao thức quản trị MHS, thư mục, và mạng OSI. Mô hình, dịch vụ và
giao thức ROSE được định nghĩa trong tiêu chuẩn ISO/IEC 9072 đa thành
phần.
Lớp trình diễn
Lớp trình diễn giải quyết các vấn đề liên quan đến cách trình diễn các thông
tin ứng dụng (như một chuỗi bit) cho các mục đích truyền tải. Tổng quan về
hoạt động của lớp này được trình bày trong chương 12.
Các tiêu chuẩn về dịch vụ và giao thức trình diễn được quy định trong
tiêu chuẩn ISO/IEC 8822 và 8823.
Một cặp tiêu chuẩn của Lớp trình diễn đặc biệt quan trọng là tiêu
chuẩn ISO/IEC 8824 và tiêu chuẩn ISO/IEC 8825 liên quan đến Ghi chú cú
pháp trừu tượng 1 (ASN.1). ASN.1 được các ứng dụng OSI cũng như các
ứng dụng phi OSI dùng nhiều đểđịnh nghĩa các hạng mục thông tin của Lớp
ứng dụng và để mã hoá các chuỗi bit tương ứng cho chúng.Giới thiệu vắn tắt
về ASN.1 được cho trong Phụ lục B. Các bạn đọc chưa quen với ASN.1 có
thểđọc phụ lục trước bắt đầu vào phần II của cuốn sách này. Các thông tin
chi tiết về ASN.1 các bạn cũng có thể tìm đọc trong tài liệu [STE1].
Lớp phiên làm việc
Lớp phiên làm việc thực hiện các chức năng như quản trịđối thoại và đồng
bộ lại dưới sự kiểm soát trực tiếp của Lớp ứng dụng. Quản trịđối thoại hỗ
trợ các chếđộ hoạt động song công và bán song công cho các ứng dụng.
Đồng bộ lại hỗ trợ chèn các dấu đồng bộ vào một cùm dữ liệu và tiến hành
đồng bộ với đồng bộ trước đó trong điều kiện có lỗi. Các tiêu chuẩn đối với
dịch vụ và giao thức của phiên làm việc được quy định trong tiêu chuẩn
ISO/IEC 8326 và 8327.
Các bàn luận về nội dung kiến trúc an ninh sau này sẽ kết luận rằng,
Lớp phiên làm việc không đóng vai trò trong việc cung cấp an ninh, nên các
bạn đọc chưa làm quen với lớp này có thể yên tâm bỏ qua.
Lớp truyền tải
Dịch vụ Lớp truyền tải được định nghĩa trong tiêu chuẩn ISO/IEC 8072. Nó
hỗ trợ truyền tải dữ liệu thông suốt từ hệ thống này đến hệ thống khác. Nó
làm cho cho các người dùng (lớp trên) của nó không phụ vào các công nghệ
truyền thông cơ sở và cho phép họ có khả năng xác định một chất lượng của
dịch vụ (chẳng hạn như các thông số về thông lượng, tần suất tái hiện lỗi và
xác suất hỏng hóc). Nếu chất lượng của dịch vụ của các dvụ mạng cơ sở
không thích đáng thì Lớp truyền tải sẽ nâng cấp chất lượng của dịch vụ lên
mức cần thiết bằng cách bổ xung giá trị (ví dụ phát hiện/ khôi phục lỗi)
trong giao thức riêng của nó. Dịch vụ truyền tải có cả biến thể dựa vào kết
nối và biến thể không có kết nối.
Các giao thức của Lớp truyền tải phải hỗ trợ dịch vụ dựa trên kết nối
được định nghĩa trong tiêu chuẩn ISO/IEC 8073. Có năm cấp giao thức khác
nhau sau đây:
••Cấp 0 không bổ xung giá trị nào cho thiết bị mạng
••Cấp 1 hỗ trợ khắc phục lỗi khi Lớp mạng phát hiện có lỗi
••Cấp 2 hỗ trợ dồn các kết nối truyền tải trên một kết nối mạng
••Cấp 3 thực hiện khắc phục và dồn kênh
••Cấp 4 thực hiện phát hiện lỗi (kiểm tổng), khặc phục lỗi và dồn kênh.
Bằng cách sử dụng các đặc tính khắc phục lỗi của mình giao thức cấp 4 có
thể hoạt động trên một dịch vụ mạng không kết nối để cung cấp một dịch vụ
truyền tải có kết nối.
Giao thức hỗ trợ dịch vụ truyền tải không kết nối được định nghĩa
trong tiêu chuẩn ISO/IEC 8602.
Lớp mạng
Lớp mạng là một trong những lớp OSI phức tạp hơn, vì nó cần phải thích
hợp với nhiều công nghệ mạng con và các chiến lược kết nối liên thông khác
nhau. Nó cần phải giải quyết các vấn đề liên quan về trễ giữa các mạng con
của các công nghệ khác nhau và nó cũng phải giải quyết các vấn đề liên
quan đến trình diễn một giao diện dịch vụ chung cho Lớp truyền tải trên đây.
Sự tồn tại cả hai hình thức hoạt động có kết nối và không có kết nối đóng
góp làm cho các tiêu chuẩn của Lớp mạng phức tạp một cách đáng kể.
Các tiêu chuẩn làm giải thích tốt nhất cho hoạt động của Lớp mạng là
tiêu chuẩn ISO/IEC 8880, tiêu chuẩn ISO/IEC 8648 và tiêu chuẩn ISO/IEC
8348. Hình 3-5 minh hoạ các quan hệ giữa các tiêu chuẩn này.
Tiêu chuẩn ISO/IEC 8648 về tổ
chức bên trong của Lớp mạng
Tiêu chuẩn ISO/IEC
8880-1 về các nguyên lý
Tiêu chuẩn
ISO/IEC 8880-2
về giám sát và hỗ
trợ dịch vụ mạng
chế độ có kết nối
Tiêu chuẩn
ISO/IEC 8880-3
về giám sát và hỗ
trợ dịch vụ mạng
chế độ không có
Tiêu chuẩn ISO/IEC 8348 về
định nghĩa dịch vụ mạng
(chếđộ có kết nối, bổ xung chế
độ không kết nối và phần đánh
Hình 3-5: Các tiêu chuẩn chung đối với Lớp mạng
Tiêu chuẩn ISO/IEC 8648 giới thiệu một số thuật ngữ và khái niệm
quan trọng và mô tả cách các khái niệm xây dựng mô hình OSI trong lớp
này ánh xạđến các cấu thành mạng thực tế như thế nào. Khái niệm một một
hệ thống cuối (được đưa ra trong mô hình tham chiếu OSI) tạo ra mô hình
một thiết bị hoặc một nhóm các thiết bị thực thi một ngăn xếp đầy đủ bảy
lớp. Còn khái niệm hệ thống trung gianđược đưa ra trong Lớp mạng. Một
hệ thống trung gian chỉ thực hiện các chức năng có ở trong ba lớp OSI thấp
nhất. Một hệ thống cuối có thể truyền thông với một hệ thống cuối khác một
cách trực tiếp hoặc thông qua một hoặc nhiều hệ thống trung gian khác.
Một mạng con thực là một tập hợp thiết bị và các đường nối vật lý
dùng để kết nối liên thông các hệ thống thực khác, ví dụ như, một mạng
chuyển mạch gói công cộng, một mạng cục bộ LAN hay một tập hợp các
mạng con thực khác được kết nối liên thông với nhau. Một bộ làm việc liên
kết là một thiết bị (hoặc mọt phần thiết bị) thực hiện một chức năng giữ
chậm mạng. Thuật ngữ hệ thống trung gian có thể quy về sự trừu tượng của
một trong các khái niệm sau:
a) một mạng con thực
b) một bộ làm việc liên kết, nối hai hay nhiều mạng con (ví dụ như, một
router) hay
c) một sự kết hợp của mạng con thực với bộ làm việc liên kết
Nhiều giao thức của Lớp mạng khác nhau có thểđược định nghĩa. Cấu
trúc bên trong của lớp quan tâm đến các giao thức mạng con có thể hay
không có thểđược thiết kếđặc biệt để hỗ trợ cho OSI. Do vây, giao thức cơ
sở của một mạng con không cần phải hỗ trợ tất cả các chức năng cần thiết
cho dịch vụ Lớp mạng. Nếu cần thì các lớp con sau của giao thức có thể
được cấp trên giao thức mạng con để cung cấp các chức năng cần thiết.
Trong một kịch bản kết nối liên thông bất kỳ thì một giao thức của
Lớp mạng thực hiện một hoặc một số chức năng sau:
••Giao thức hội tụđộc lập mạng con (viết tắt tiếng Anh là SNICP -
SubNetwork-Independent Convergence Protocol): cung cấp các chức
năng để hỗ trợ dịch vụ mạng OSI trên một tập các khả năng cơ sởđược
định nghĩa đầy đủ mà chúng không dựa vào một mạng con cơ sở nhất
định nào. Vai trò này, nhìn chung, áp dụng cho một giao thức kết nối liên
thông được sử dụng, ví dụ như, để vận chuyển các thông tin điạc chỉ hoá
và thông tin chạy vòng qua nhiều mạng được kết nối liên thông.
••Giao thức hội tu phụ thuộc mạng con (viết tắt tiếng Anh là SNDCP -
SubNetwork-Dependence Convegence Protocol): làm việc trên một giao
thức đóng vai trò SNaCP nhằm bổ xung các khả năng cần thiết cho một
giao thức SNICP hoặc cần để cung cấp dịch vụ mạng OSI đầy đủ.
••Giao thức truy nhập mạng con (viết tắt tiếng Anh là SNAcP -
SubNetwork access Protocol): Giao thức này là một phần thừa kế của
một kiểu mạng con đặc biệt. Nó cung cấp một dịch vụ mạng con tại các
điểm cuối của nó và dịch vụ này có thể hoặc không phải tương đương với
dịch vụ mạng OSI.
Một trong những giao thức quan trọng hơn là giao thức mạng không kết nối
(viết tắt tiếng Anh là CLNP - Connectionless Network Protocol) được định
nghĩa trong tiêu chuẩn ISO/IEC 8473. Giao thức này, nhìn chung, được
dùng trong vai trò của một SNICP để cung cấp dịch vụ mạng ở chếđộ không
có kết nối. Tiêu chuẩn ISO/IEC 8473 cũng định nghĩa cách giao thức này có
thể hoạt động trên các mạng con chuyển mạch gói X.25 và mạng LAN như
thế nào.
Các chức năng công nghệ mạng con
OSI được thiết kếđể hoạt động ảo trên một phạm vi không có giới hạn các
công nghệ mạng con cơ sở. Các công nghệ này có các giao thức của Lớp
mạng phụ thuộc mạng con (vai trò của SNaCP và SNDCP) và các giao thức
của Lớp liên kết dữ liệu và Lớp vật lý. Nhiều tiêu chuẩn đã được phát triển
đối với các công nghệ mạng con chuyên dụng, bao gồm:
••Các mạng LAN cục bộ - loạt tiêu chuẩn ISO/IEC 8802;
••Các mạng dữ liệu chuyển mạch theo gói (viết tắt tiếng Anh là PSDNs
- Packet Switched Data Network) - khuyến cáo của ITU-T X.25 và các
tiêu chuẩn quốc tế ISO/IEC 8208, 8878 và 8881;
••Các mạng dữ liệu chuyển mạch theo mạch điện (viết tắt tiếng Anh là
CSDNs - Circuit Switched data Network);
••Các mạng số dịch vụ tích hợp (viết tắt tiếng Anh là ISDNs -
Integrated Service Digital Network); và
••Các mạng thoại chuyển mạch công cộng (viết tắt tiếng Anh là PSTNs
- Public Switched Telephone Network).
Các giao thức bao gồm cả các chức năng cầu nối tất cảđều được coi
phải được đặt ở Lớp liên kết dữ liệu. X.25 báo trùm hai lớp. Giao thức mức
gói X.25 là một giao thức Lớp mạng phụ thuộc mạng con, trong khi đó thì
giao thức truy nhập liên kết X.25 lại ở trong Lớp liên kết dữ liệu.
Vì các mạng hệ thống mở thường bao trùm nhiều công nghệ mạng
con, nên các đặc tính an ninh được liên kết vào trong một công nghệđặc thù
là giá trị hữu hạn. Do vây, phần này của kiến trúc OSI ít liên quan đến quyển
sách này so với các lớp trên. An ninh đối với các mạng LAN và cũng cho cả
các mạng PSDNS X.25 sẽđược bàn đến trong chương 11.
3.3 Bộ giao thức mạng Internet TCP/IP
Các giao thức mạng Internet đã được phát triển từ giữa những năm 1970 khi
Cơ quan nghiên cứu các dự án cấp tiến quốc phòng của Mỹ (viết tắt tiếng
Anh là DAPRA - Defense Advanced Projects Research Agency) bvắt đầu
đầu tư phát triển các tiện ích mạng PSDNS để kết nối liên thông các trường
đại học và các cơ quan của chính phủ trên toàn nước Mỹ. Một bộ các giao
thức đầy đủ vì vậy đã được xác định bao trùm tất cả các chức năng giống
như mô hình tham chiếu của OSI. Bộ giao thức thường được biết như bộ
giao thức TCP/IP được đặt tên theo hai giao thức cấu thành quan trọng nhất.
Các giao thức này đang được phát triển nhanh chóng trong nhiều mạng diện
rộng quốc tế, đặc biệt bộ sưu tập các mạng được kết nối liên thông được biết
như là mạng Internet của DAPRA.
Bộ giao thức nhiều khi còn được biết như là đối thủ cạnh tranh hàng
đầu (head to head) với bộ giao thức OSI. Tuy nhiên, càng ngày cáng sáng tỏ
rằng, mỗi bộ giao thức có những điểm mạnh và yếu riêng của mình và lợi
ích lớn chỉ có thểđạt được bằng cách kết hợp các giao thức thành viên của
cả hai bộ giao thức này để cho ra các giải pháp nối mạng hoàn thiện. Chính
việc phân lớp giao thức làm cho vấn đề này trở nên hiện thực được.
Bộ giao thức mạng Internet có thểđược mô hình hoá bằng cách sử
dụng cùng phương pháp tiếp cận phân lớp như kiến trúc OSI và mặc dù
không có đầy đủ bảy lớp trong bộ giao thức mạng Internet, nhưng các giao
thức này hoàn toàn ánh xạ tới mô hình OSI. Có bốn lớp hiệu quả của mạng
Internet. Đối với các mục đích của của cuốn sách này, chúng ta sẽ chúng
như sau:
••Lớp ứng dụng: lớp này gồm các chức năng của Lớp ứng dụng, Lớp
trình diễn và Lớp phiên làm việccủa mô hình OSI, có nghĩa là các lớp
trên OSI được trình bày trong mục 3.2
••Lớp truyền tải: lớp này hoạt động tương tự như Lớp truyền tải của
OSI
••Lớp mạng Internet: lớp này hoạt động tương tự như phần độc lập
mạng con của Lớp mạng OSI. (trừ khi có định nghĩa khác, còn thuật ngữ
lớp mạng được dùng trong phần còn lại của cuốn sách sẽđược hiểu cho
cả Lớp mạng Internet)
••Lớp giao diện: lớp này hoạt động tương tự như các chức năng công
nghệ mạng con của OSI đã được trình bày trong mục 3.2.
Khi chấp nhận ánh xạ này, ta có thể coi kiến trúc an ninh trong có thể
được áp dụng như nhau trong các bộ OSI và mạng Internet. Những sự khác
nhau về kiến trúc của các lớp trên chứng minh tính không hợp lý, bởi vì, từ
triển vọng an ninh thì không cần phải phân tách các lớp trên OSI thành các
Lớp ứng dụng, Lớp trình diễn và Lớp phiên làm việc. Tương tự như vậy,
trong các lớp dưới, cũng không cần phải chia tách các chức năng công nghệ
mạng con thành các lớp cấu thành.
Các giao thức của Lớp ứng dụng
Có rất nhiều giao thức của Lớp ứng dụng mạng Internet và dưới đây chúng
ta sẽ liệt kê một số trong sốđó:
••Giao thức truyền tệp (viết tắt tiếng Anh là FTP - File Transfer
Protocol): đây là một giao thức cho phép người dùng đăng nhập vào trong
một hệ thống ở xa, nhận dạng chính họ, liệt kê các thư mục ở xa và sao
chép tệp đi và đến máy tính ở xa.
••Giao thức truyền thưđơn giản (viết tắt tiếng Anh là SMTP - Simple
Mail Transfer Protocol): đây là một giao thức gửi thưđiện tử dựa trên
[POSS1, CRO1]. Thưđiện tử qua mạng Internet và các đặc tính an ninh
liên quan sẽđược bàn luẩntong chương 13.
••Giao thức quản trị mạng đơn giản (viết tắt tiếng Anh là SNMP -
Simple Network Management Protocol): đây là giao thức hỗ trợ cho công
tác quản trị mạng. SNMP và các đặc tính an ninh liên quan sẽđược trình
bày trong chương 15.
••Giao thức TELNET : đây là giao thức đầu cuối ở xa đơn giản cho
phép người dùng ở một nơi thiết lập một kết nối đểđăng nhập vào máy
chủở một khác bằng cách gõ các phím và đáp ứng qua lại giữa chúng.
Các giao thức Lớp mạng và Lớp truyền tải
Có hai giao thức Lớp truyền tải của mạng Internet chính là:
••Giao thức kiểm soát truyền (viết tắt tiếng Anh là TCP - Transmission
Control Protocol): đây là một giao thức truyền có kết nối được thiết kếđể
làm việc trên một dịch vụ mạng không kết nối [POS2]. Giao thức này có
thể so sánh như giao thức truyền tải OSI cấp 4.
••Giao thức gam dữ liệu người dùng GGDN (viết tắt tiếng Anh là UDP
- User Datagram Protocol): đây là giao thức truyền tải không kết nối
[POS3]. Giao thức này có thể so sánh với giao thức truyền tải không kết
nối.
Giao thức Lớp mạng Internet chính yếu là giao thức mạng Internet (viết tắt
tiếng Anh là IP - Internet Protocol). Giao thức này là giao thức mạng không
kết nối [POS4] và nó có thể so sánh với giao thức mạng không kết nối của
OSI (CLNP).
3.4 Bố trí kiến trúc của các dịch vụ an ninh
Giám sát các dịch vụ an ninh trong kiến trúc truyền thông có phân lớp làm
xuất hiện một số vấn đề quan trọng. Việc phân lớp giao thức có thể tạo ra
các vòng quẩn làm cho các dữ liệu bị nhúng vào trong các dữ liệu và các kết
nối bị chuyển vào trong các kết nối. Do vậy, cần phải đưa ra các quyết định
đúng cho (các) lớp tại đó cần phải tiến hành bảo vệ các mục dữ liệu hay bảo
vệ theo kết nối.
Tiêu chuẩn hình thức đầu tiên nói về phân lớp các dịch vụ an ninh là
Kiến trúc An ninh OSI (tiêu chuẩn ISO/IEC 7498-2) được xuất bản vào năm
1988. Tiêu chuẩn này (sẽđược trình bày trong chương 9) cung cấp các
hướng dẫn để phân lớp cung cấp các dịch vụ an ninh khác nhau. Tuy nhiên,
nó không đưa ra tất cả mọi câu trả lời, mà để ngỏ rất nhiều phương án. Một
số dịch vụ có thể cần phải được cung cấp trong những lớp khác nhau theo
những kịch bản ứng dụng khác nhau; một số khác thậm chí có thể cần phải
được cung cấp trong nhiều trong cùng một kịch bản. Một lý do về tính bao
trùm rõ ràng của tiêu chuẩn ISO/IEC 7498-2 là cách tiếp cận cố gắng gán
mười bốn dịch vụ an ninh cho bả lớp kiến trúc. Điều này có thểđược kết
tinh vào trong mô hình bốn mức thực dụng hơn và đơn giản hơn dựa trên
quan hệ an ninh mật thiết thực trong các mạng thực.
Hình 3-6 minh hoạ cách một cặp hai hệ thống cuối truyền thông với nhau
như thế nào thông qua một chuõi các mạng con nối tiếp nha. Một hệ thống
cuối thường là một thiết bị nằm bất kỳ chỗ nào trong phạm vi từ máy tính cá
nhân đến máy trạm đến máy tính mini đến máy tính chủ. Một đặc tính mà có
thể làm cho hệ thống cuối được coi là hợp lý đó là nó chỉ có một cơ sở chính
sách đối với các mục đích an ninh.
Ứng
dụng
a
Ứng
dụng
(a)
Ứng
dụng
Ứng
dụng
c
Hệ thống
truyền thông cuối
Hệ thống
ố
Mạng con 1
Hệ thống
truyền thông cuối
Hệ thống
ố
Mạng con 3
(c)
Mạng con 2
(d)
Hình 3-6: Kiến trúc truyền thông cơ sở
Một mạng con là một sưu tập các tiện ích truyền thông sử dụng cùng công
nghệ truyền thông như nhau, ví dụ như, một mạng LAN cục bộ hoặc mạng
diện rộng WAN. Cũng hoàn toàn có lý khi cho rằng, mỗi mạng con đều có
một căn cứ chính sách an ninh của mình. Tuy nhiên, các mạng con khác
nhau thường sẽ có các môi trường an ninh khác nhau và /hoặc các cơ sở căn
cứ chính sách khác nhau. Một hệ thống cuối và mạng con mà nó kết nối đến
có thể phải có hoặc không được phép có cùng một căn cứ chính sách an
ninh. Một kịch bản chung đặc trưng là một hệ thống cuối đang kết nối với
một mạng LAN giữa các nhà xưởng của công ty và với mạng LAN đang có
một cổng vào mạng WAN công cộng. Sau khi truyền thông đã đi qua nhiều
mạng WAN được quản lý riêng rẽ, chúng có thểđi qua một mạng LAN khác
đểđến một hệ thống cuối khác.
Một khía cạnh khác được giới thiệu trên hình 3-6 là một hệ thống cuối
hỗ trợđồng thời nhiều ứng dụng, chẳng hạn như, thưđiện tử, truy nhập thư
mục và truyền tệp cùng một lúc cho một hoặc nhiều người dùng. Một ứng
dụng cùng lúc có thể là các dịch vụ quản trị mạng dành cho người điều hành
hệ thống. Các yêu cầu về an ninh của những ứng dụng này thường khác biệt
nhau một cách đáng kể.
Chúng ta cũng cần phải cộng nhận rằng, các yêu cầu an ninh có thể
khác nhau ngay trong một mạng con. Các mạng con nhìn chung bao gồm
nhiều liên kết kết nối nhiều cấu thành mạng con và các liên kết khác nhau có
thểđi qua nhiều môi trường an ninh khác nhau. Do vậy, các liên kết riêng rẽ
cần phải được bảo vệ một cách thích hợp.
Hình 3-6 cho ta thấy bốn mức với sự xuất hiện các yêu cầu đối với các
phần tử giao thức an ninh khác nhau:
(a) Mức ứng dụng: Các phần tử giao thức an ninh phụ thuộc ứng dụng.
(b) Mức hệ thống cuối: Các phần tử giao thức an ninh cung cấp sự bảo vệ
trên cơ sở hệ thống cuối đến hệ thống cuối
(c) Mức mạng con: Các phần tử giao thức an ninh cung cấp sự bảo vệ trên
một mạng con được coi là ít tin cậy hơn so với các phần khác của môi
trường mạng.
(d) Mức liên kết trực tiếp: Các phần tử giao thức an ninh cung cấp sự bảo
vệ bên trong một mạng con trên một liên kết được coi là ít tin cậy hơn
so với các phần khác của môi trường mạng con.
Từ triển vọng giao thức truyền thông thì bốn mức này cần phải khác
biệt nhau. Một sự ánh xạ tiệm cận của các mức này vào các lớp kiến trúc
OSI được trình bày trên hình 3-7.
Mức ứng dụng
Mức hệ thống
Lớp ứng
Lớp phiên làm
ố
Mức liên
kết
Lớp mạng
Lớp liên kết dữ
Lớp vật lý
Hình 3-7: Bốn mức kiến trúc cơ sởđối với an
ự khác nhau của các phân nhánh trong bố trí các dịch vụ an ninh ở
các m c trên so với ở các mức dưới là gì? Trước khi đi vào bàn luận về các
mức riêng rẽ chúng ta có thể xác định một số thuộc tính chung khác biệt
giữa các mức trên và mức dưới.
••ận chuyển hỗn hợp: Như là một hệ quả của sự dồn kênh, tại các mức
thấ càng ngày càng gia tăng xu hướng nhận các dữ liệu từ nhiều người
dùng nguồn/ đích khác nhau và/hoặc các ứng dụng được trộn lẫn với
nhau trong một chùm dữ liệu so với các mức cao. Ý nghĩa của yếu tố này
thay đổi tuỳ theo kiểu loại của chính sách an ninh. Nếu chính sách an
ninh định để cho các người dùng và/hoặc các ứng dụng riêng rẽ xác định
nhu cầu cần bảo vệ các dữ liệu của họ, thì việc bố trí các dịch vụ an ninh
tại
một mức cao cần phải hướng tốt lên. Với an ninh tại các mức thấp, các
ứng dụng /người dùng riêng rẽ không có sự kiểm soát thích hợp và như
vậy, dường như phải chi phí không cần thiết cho sự bảo vệ một số dữ liệu
do các yêu cầu an ninh chia
xẻ chùm dữ liệu với các dữ liệu khác. Mặt
khác, nếu chính sách an ninh như thể một tổ chức muốn đảm bảo rằng,
mọi sự vận chuyển của tổ chức đều được bảo vệ tới một mức nhất định
không quan tâm đến người dùng hay ứng dụng thì điều này dễ dàng đạt
được hơn khi các dịch vụ an ninh đặt ở các mức thấp.
••Nhận biết tuyến: Tại các mức thấp, có xu hướng biết nhiều hơn về các
đặc tính an ninh của các tuyến và liên kết khác nhau. Trong một môi
trường có các đặc tính khác nhau một cách đáng kể như vậy, thì việc xắp
đặt các dịch vụ an ninh tại các mức thấp có thể có hiệu quả và các lợi ích
thực tế. Các dịch vụ an ninh thích hợp có thểđược chọn lựa trên một cơ
sở mạng con hoặc liên kết trực tiếp trong khi hạn chế hoàn toàn chi phí an
ninh trên các mạng con hoặc các liên kết không cần đến sự bảo vệ.
••Số các điểm bảo vệ: Việc đặt an ninh tại một mức cao (mức ứng
dụng) yêu cầu an ninh cần được thực thi trong mỗi ứng dụng nhạy cảm
trong mỗi hệ thống cuối. Còn khi đặt an ninh tại mỗi mức thấp (mức liên
kết trực tiếp) thì yêu cầu an ninh cần phải được thực thi tại các đầu cuối
của các đường liên kết mạng. Việc đưa an ninh vào gần trung tâm kiến
trúc (nghĩa là hệ thống cuối hay mức mạng con) sẽ có xu hướng yêu cầu
các đặc tính an ninh cần được cài đặt tại các điểm ít quan trọng hơn để
giảm giá thành xuống một cách đáng kể.
••Bảo vệđầu đề của giao thức: Bảo vệ an ninh tại các mức cao không
thể bảo vệđược các đầu đề của giao thức của các mức thấp, mà tối thiểu
trong một số môi trường có thể là nhạy cảm. Điều này có xu hướng nên
đặt các dịch vụ an ninh tại một mức thấp.
••Gắn kết nguồn/bể dữ liệu: Một số dịch vụ an ninh, chẳng hạn như,
việc xác nhận hay thừa nhận gốc dữ liệu, phụ thuộc vào sự liên kết dữ
liệu với gốc hay bể chứa của nó. Điều này đạt được một cách hiệu quả
nhất tại các mức cao, đặc biệt ở mức lớp ứng dụng. Tuy nhiên, đôi khi nó
có thểđạt đựơc tại các mức thấp phải chịu những căng thẳng đặc biệt, ví
dụ như, buộc một khởi tạo tin nhắn vào một một hệ thống cuối nào đó
thông qua sử dụng phần cứng và/hoặc phần mềm đáng tin.
Xét tất cả mọi điều nêu trên đây, thấy
ngày càng sáng tỏ tại sao không
thể
các
các
có một câu trả lời đơn giản cho câu hỏi làm cách nào để bố trí kiến trúc
dịch vụ an ninh "tối nhất". Trong phần dưới đây chúng ta sẽ bàn tiếp về
đặc tính của mỗi mức trong phương pháp độc lạp dịch vụ. Các chương
đó sẽ bàn luận về bố trí kiến trúc của các
i m hình bốn mức này.
ninh mức ứng dụng
eo kiến trúc OSI thì an ninh mức ứng dụng liên hệ với các lớp trên của
n trúc bày lớp mạng. (Theo giao thức OSI thì đó có nghĩa là Lớp ứng
ng, có thểđược hỗ trợ bởi các tiện ích của Lớp trình diễn; Lớp phiên làm
c không tham gia vào việc giám sát an ninh). Việc phân chia các chức
ng giữa Lớp ứng dụng và Lớp trình diễn sẽđược bàn luận
chươn
g 12.
Đối với phần lớn các dịch vụ an ninh ta có thểđặt dịch vụ tại mức ứng
dụng. Trong nhiều trường hợp thì các phương án mức thấp cũng có thểđược
thay thế và thông thường đem lại những ưu điểm (chẳng hạn như, chi phí về
thiết bị hay vận hành thấp). Tuy nhiên, có hai trường hợp trong đó chỉ có
mức ứng dụng là mức duy n
hất có thểđểđặt dịch vụ an ninh, đó là:
(a) Ở những nơi các
dịch vụ an ninh là các dịch vụ chuyên dụng hoặc là
về mặt ngữ nghĩa hoặc là được cài ảo vào trong một giao thức ứng
dụng đặc thù.
(b) Ở những nơi dịch vụ an ninh đi qua các giữ chậm của ứng dụng.
Điểm người
dùng cuối
Điểm giứ
chậm ứng
Các quan hệ
an ninh
Điểm người
dùng cuối
Ứng
dụng
Ứng
dụng
Ứng
dụng
Hệ thống
ố
Hệ thống
ố
Hệ thống
ố
Các lớp dưới Các lớp dưới
Hình 3-8: Bức tranh về giữ c dụng
Mộ u cầu về an ninh được liên kết không thể gỡ ra được ng
dụng về mặt ngữ nghĩa. Ví dụ, một ứn truyền tệp có thể cần phải xử
lý kiểm soát truy nhập, ví dụ như, đọc p nhật các danh sách kiểm soát
truy kèm theo tệp tin. Trong một số trường hợp khá ịn
bảo v lại được phản ánh trong các trường giao thức củ g.
Điều này rất phổ biến với các dịch bảo mật của trường a chọn,
tính bảo toàn vẹn của trường lựa ch ừa nhận. Các ví dụ là sự
cung cấp bảo mật cho một trường PIN trong một giao dịch tài chính hoặc
các yêu cầu lấy ữ ký số trong một giao . Trong
tất cả mọi trường hợp này thì các dịch vụ an ninh phải được đặt trong mức
mức ứng dụng, vì tín iết đúng về
các ngữ nghĩa hay các biên giới của giao thức.
Một tình huống khác đòi hỏi giải pháp ở mức ứng dụng là hiện tượng
iữ chậm ứng dụng. Một sốứng dụng vốn gắn liền với hơn hai hệ thống
uối, như mô tả trên hình 3-8. Các hệ thống thưđiện tử là một ví dụ. Một tin
hắn khởi tạo tại một hệ thống cuối có thể phải đi qua nhiều hệ thống giữ
hậm trước khi đến được người nhận ở một hệ thống cuối khác. Trong
ường hợp này có thể cần phải bảo vệ phần nội dung của tin nhắn trên cơ
ở người dùng cuối đến người dùng cuối, có nghĩa là, quan hệ gõ phím chỉ
ược biết tại các hệ thống người dùng cuối, còn các hệ thống giữ chậm trung
c
c
đ
K
ụng hay
ế
ểu yêu cầu an ninh dưới đây thuộc về giải pháp này:
••Các yêu cầu dựa trên quan niệm cho rằng, các hệ thống cuối là đáng
tin, nhưng thực tế là tất cả mọi mạng truyền thông cơ sởđều không đáng
••Các yêu cầu được cai quản bởi thẩm quyền của hệ thống cuối cần phải
áp đặt cho tất cả mọi truyền thông mà không quan tâm đến ứng dụng; và
••Các yêu cầu liên quan đến các kết nối mạng (hay tất cả mọi đường
liên kết) mà không liên kết với một ứng dụng đặc thù nào, ví dụ như, bảo
vệ tính bí mật hay/và tính toàn vẹn của tất cả mọi đường truyền trên một
liên kết.
Một số dịch vụ, chẳng hạn như, bảo vệ tính toàn vẹn hay/ và tính bí
mật của thông tin người dùng trên cơ sở hệ thố
ng cuối đến hệ thống cuối có
ợc cung cấp một cách tiềm ẩn tại mức ứng dụng hay mức hệ thống
cuối. Khi quyết định mức nào đểđặt dịch vụ an ninh thì cần tính đến một số
yếu tố. Và để lựa chọn giải pháp ở mức hệ thống cuối thay vì giải pháp ở
mức ứng dụng thì cần xét các yếu tố sau:
••Khả năng thực hiện các dịch vụ bảo vệ không ảnh hưởng đến ứng
dụng;
••Hiệu năng cao khi thực hiện các dịch vụ bảo vệ nhiều dữ liệu, có khả
năng hoạt động trên các khối dữ liệu lớn và có khả năng xử lý dữ liệu của
nhiều ứng dụng theo cùng một phương pháp;
••Bố trí quản trị các tiện ích an ninh tại một người điều hành hệ thống
cuối thay vì phân bố nó trong các ứng dụng riêng rẽ (hỗ trợ chính sách an
ninh phù hợp); và
••Đảm bảo rằng, các đầu giao thức của các giao thức lớp giữa (đó là các
giao thức của Lớp truyền tải, Lớp phiên làm việc và Lớp trình diễn) đều
nhận được sự bảo vệ.
Theo khái niệm của OSI thì an ninh mức hệ thống cuối liên quan đến các
giao thức hợc của Lớp truyền
tải hoặc giao thức của Lớp mạng độc lập với
thể
tr ng các diễn đàn về tiêu chuẩn hoá trong nhiều năm. Thực tếđã không
có câu trả lời đích thực cho các tranh cãi này và cuối cùng các tiêu chuẩn
đã được xây dựng dựa trên cả hai phương án trên (đó là tiêu chuẩn
ISO E
phải
/I C 10736 và tiêu chuẩn ISO/IEC 11577 tương ứng).
Để lựa chọn phương án đặt các dịch vụ an ninh tại Lớp truyền tải cần
ph
cục bộ ho
ặc truyền thông đầu cuối; và
••
Khả năng cung cấp các cấp bảo vệ khác nhau cho các kết nối truyền
tải khác nhau có trong một kết nối mạng.
Các yếu tố cân nhắc khi quyết định đặt dịch vụ an ninh trong Lớp
mạng là:
••Khả sử dụng cùng một giải pháp tại mức hệ thống cuối và mức mạng
con;
••Dễ dàng chèn các thiết bị an ninh tại các điểm giao diện vật lý chuẩn
hoá, ví
dụ như, các giao diện X.25 hay LAN
••Khả năng hỗ trợ kiến trúc lớp trên bất kỳ, bao gồm kiến trúc OSI, kiến
trúc mạng Internet và kiến trúc lớp chủ.
Sự không dung hoà được của các yếu tố tr
ên lý giải tại sao không thể
có
được một lời giải đơn giản cho vấn đề này. Các cộng đồng người dùng và
các
nhóm hoạch định chính sách cần phải tự quyết định riêng cho mình trên
Sự
sở các yêu cầu cụ c
ni h mức mạng con
khác nhau giữa an ninh mức hệ thống cuối và mức mạng con là an ninh
mứ ấp khả năng bảo vệ qua một hoặc nhiều mạng con
c m ng con chỉ cung c
riêng biệt. có hai lý do rất quan trọng để phân biệt mức này so với mức hệ
thống cuối là:
••Điều rất phổ biến là mạng con gần với các hệ thống cuối đều đáng tin
như những chính những hệ thống cuối, vì chúng đều cùng trên phạm vi
nhà máy và cùng được quản lý dưới cùng một quyền hạn.
••Trong một mạng bất kỳ số các hệ thống cuối thường vượt quá số cổng
mạng con. Nên chi phí thiết bị và chi phí vận hành đối
với các giải pháp
an
ninh mức mạng con có thể thấp hơn rất nhiều so với các giải pháp ở
án
mức hệ thống cuối.
n h mức mạng con do vậy phải luôn luôn được coi như là một phương
có thể thay thế của an ninh mức hệ thống cuối.
Trong OSI thì an mức mạng con ánh xạ vào Lớp mạng, còn trong
ờng hợp các mạng LAN thì nó ánh xạ vào
các giao thức LAN).
ni h ở mức liên kết trực tiếp
ững trường hợp có tương đối ít đường liên kết không tin cậy trong một
i trường đáng tin khác. Trên đường liên kết đ
t mức bảo vệ cao với chi phí thấp. Giám sát an ninh tại mức này có thể
ng minh đối với tất cả mọi lớp truyền thông cao hơn bao gồm cả các giao
c mạng, do vậy, nó không bị cột chặt vào một kiến trúc mạng riêng nào
(ví dụ như, OSI, TCP/IP hay mạng chủ). Các thiết bị an ninh có thể dễ dàng
được chèn thêm vào tại các điểm giao diện vật lý được chuẩn hoá chung.
Tuy nhiên, chi phí hoạt động có t
Các tình huống thích hợp để sử dụng an ninh ở mức liên kết trực tiếp là
nh
mô ã cho có thểđược cung cấp
mộ
tườ
thứ
hể cao do có nhu cầu quản lý độc lập các
thiết bị trên cơ sở theo
từng đường liên kết. Điều quan trọng là cần nhận
thức thấy được rằng, an ninh ở mức liên kết trực tiếp không thể bảo vệ
chống lại được những tổn thương bên các nút mạng con bên trong, ví dụ
như, các hub, các cầu nối và các chuyển mạch gói.
Theo khái niệm các l
ớp OSI thì an ninh ở mức liên kết trực tiếp thương lh
tới Lớp vật lý. Sự bảo vệđược cung cấp ở mức các chùm bit tường minh đối
i các giao thức lớp trên. Ví dụ, các quá trình mã hóa có thểđược áp dụng
o từng chùm bit đi qua mỗi điểm giao diện. Các công nghệ truyền có bảo
, chẳng hạn như, các kỹ thuật triển vọng về trải phổ tần số cũng có thể
ợc áp dụng. An ninh ở mức liên kết trực tiếp có thể liên quan một cách
tiề
m ẩn đến Lớp liên kết dữ liệu, ví dụ như, nếu sự bảo vệđược cấp ở mức
ung.
Các tương tác người dùng
Một số dịch vụ an ninh mạng yêu cầu tương tác trực tiếp với người dùng.
N tương tác như vậy, hoàn toàn không thích hợp với bất kỳ kiểu kiến
trúc an ninh nào đã trình bày trên đây. Trường hợp quan trọng nhất là cấp
phép cá nhân. Người dùng là đối tượng bên ngoài đối với các tiện ích truyền
th
ông, có nghĩa là, ngoài các h
ệ thống cuối. Các truyền thông có hỗ trợ cấp
phép cá nhân hoặc là ở tại chỗ (có ngh
ĩa là, giữa người dùng và hệ thống
cuối tại chỗ anh (chị) ta) hoặc chúng là những phần tử giao thức ở mức ứng
dụng hoặc là chúng kết hợp cả hai. Ví dụ có thể nêu ra ởđây là ba trường
hợp sau:
••Người dùng dùng cấp phép cho hệ thống cuối tại chỗ của anh (hay
chị) ta. Hệ thống cuối này sau đó cấp phép cho chính nó tới hệ thống cuối
ở xa và cấp nhận dạng của người dùng để hệ thống cuối ở xa coi là xác
thực
••Người dùng chuyển thông tin cấp phép (ví dụ như, một mật khẩu) cho
hệ thống cuối tại chỗ của anh (hay chị) ta để nó chuyển đến hệ thống cuối
ở xa thực hiện cấp phép cho người dùng.
••Người dùng nhập một mật khẩu và hệ thống cuối tại chỗ của anh (hay
chị) ta để hệ thống này dùng nó nhận xác nhận cấp phép một máy trạm
cấp phép trực tuyến hay máy chủ. Xác nhận cấp phép được chuyển đến
hệ thống cuối ở xa để dùng nó làm cơ sở cấp phé
Cấp phép cá nhân sẽđược bàn chi tiết trong chương 5.
Hình 3-9 minh hoạ mối quan hệ giữa các giao thức tương tác người
dùng và phương án kiến trúc an ninh ở mức ứng dụng.
Tương tác người dùng Lớp ứng
Mức ứng dụng
Lớp trình
ễ
Lớp phiên làm
Hình 3-9: Các tương tác người dùng
3.5 Quản
trị các dịch vụ an ninh
ch vụ an ninh cần sự hỗ trợ của các chức năng quản lý sau đây:
••Quản trị phím dành cho các hệ thống mã hoá trong việc cung cấp một
dịch vụ an ninh (sec được bàn đến trong chương 4 và 7);
••Ph
ân phát thông tin cần thiết đến các điểm ra quyết định, ví dụ như,
dùng cho việc ra quyết định cấp phép hay quyết định kiểm soát truy nhập
- trong đó bao gồm cả các thông tin cho phép một quyết định tích cực và
thông báo về việc gỡ bỏ thông tin đã phân
phát trước đó;
••Tích luỹ thông tin trung tâm dành cho các mục đích chẳng hạn như,
tạo lưu trữ (cho các mục đích thừa nhận kế tiếp) hoặc tạo vệt kiểm tra an
ninh hay tạo báo động;
••Các chức năng vận hành, chẳng hạn như, kích hoạt hay gỡ bỏ dịch v
••Các chức năng quản trị an ninh đặc thù, chẳng hạn như, gọi chương
trình quét vi-rút từ xa trên các trạm làm việc mạng hoặc hiển thị các hệ
thống đối với phần mềm không h
ợp pháp.
Các chức năng quản trị u các khả ền
thông của cùng một mạng mà c . Trong trường hợp này thì
điều cần thiết là phải bảo vệ tố hông quản trị này theo khả
năng có thể. Nhìn chung, bất kỳ tổn hại nào trong truyền thông quản trị an
ninh đều gây ra một tổn hại tương đương hoặc lớn hơn trong
được bảo vệ.
truyền thông
Theo quan niệm k n ninh được cung
cấp thông qua các ứng dụng mạng. Chúng có thể bao gồm các ứng dụng
ành cho quản trị mạng (một số ví dụđược trình bày trong chương 15) hay
ác ứng dụng với các mục đích chính khác. Những ngoại lệ của mức bố trí
này có thể xuất hiện, ví dụ như, khi các thay đổi quản trị phím được liên kết
chặt c ẽ với xử lý mã hoá ở các lớp thấp. Chủđề này sẽđược bàn đến trong
chương 4 và 7.
Kết lu n
Các k n trúc giao thức có phân lớp cho phép các thiết kế mạng thích ứng
với các ứng dụng không hạn chế, thích ứng với các công nghệ phương tiện
truyền thông cơ sở không hạn chế và các kỹ thuật kết nối liên thông không
có giớ hạn. Kiến trúc OSI cung cấp một mô hình chung có thể làm cơ sở
ho việc phân lớp. Trong kiến trúc này có bảy lớp và được chia ra thành
nhóm lớp trên (gồm có Lớp ứng d
ụng, Lớp trình diễn và Lớp phiên làm
việc) và nhóm lớp dưới (gồm có Lớp truyền tải, Lớp mạng, Lớp liên
kết dữ
u v Lớp vật lý). Các tiêu chuẩn OSI khác định nghĩa các dịch vụ lớp và
giao thức đặc trưng cho bảy lớp. Bộ giao thức mạng
h ghĩa các giao thức thay thế có thể ánh xạ thẳng tới mô hình OSI.
Khi cung cấp các dịch vụ an ninh cần chú ý xác định lớp (các lớp) đặt
các
dịch vụ bảo vệ an ninh. Để hỗ trợ cho việc ra quyết định người ta đã xác
địn hống cuối, mức
mạ
gia
gia yêu cầu an ninh nhất định đòi hỏi một giải pháp
tại mứ
c đó. Mức hệ thống cuối liên quan đến các phần tử giao thức an ninh
cung cấp sự bảo vệ trên cơ sở hệ thống cuối đến hệ thống cuối. Điều này có
sử dụng các giao thức an ninh ở Lớp truyền tải hoặc Lớp mạng; cả hai
cần cung cấp sự bảo vệ trên các
ương án đều có sẵn và có các yếu tố khác nhau cho mỗi phương án mà ta
cân nhắc và quyết định. Mức mạng con
mạng con nhất định bên trong Lớp mạng hoặc (trong trường hợp các mạng
LAN)
là trong Lớp liên kết dữ liệu. Mức lj trực tiếp cung cấp sự bảo vệ trên
cơ sở theo từng đương liên kết trên các bộ phận của môi trường mạng; mức
này liên quan đến Lớp vật lý hoặc Lớp liên kết dữ liệu. Các tương tác với
người dùng (đặc biệt đối với các mục đích cấp phép) không hoàn toàn phù
hợp với bốn mức trên đây và chúng yêu cầu có sự cân nhắc đặc biệt.
Quản trị các
dịch vụ an ninh cần có các chức năng khác nhau và hầu hết
úng được cung cấp thông qua các ứng dụng quản trị mạng.
Bài tập
1. Khi có một dữ liệu không được bảo vệ bên trong thiết bị chuyển mạch
mạng (chẳng hạn như, các cầu nối, các bộ chuyển tuyến hoặc các
chuyển mạch gói), thì thiết bị này có thể cần phải được đảm bảo về
mặt vật lý
để duy trì sự bảo vệ thích đáng. An vật lý như vậy có thể rất
đắt. Để giảm chi phí này, nên đặt dịch vụ an ninh ở mức (các mức)
2. Trong một tin nhắn giao dịch tài chính, cần phải chuyển một số nhận
dạng cá nhân PIN mã hoá trong khi các chi tiết gia dịch khác thì
không cần phải bảo vệ. Cần sử dụng mức (các mức) kiến trúc nào
trong bốn mức đã biết để bố trí dịch vụ an ninh và vì sao?
3. Nếu thông tin nhạy cảm có thểđược gom nhặt bằng cách hỉen thị các
thông tin địa chỉ trong một thay đổi thiết lập kết nối hoặc trong một
đơn vị dữ liệu không kết nối ta có thể sử dụng mức (các mức) kiến
trúc nào đểđảm bảo sự bảo vệ thích đáng.
4. Một công ty lớn có một mạng trải rộng qua một số phân xưởng. Theo
yêu cầu của các người dùng trên mạng có cho truyền tải một l
ượng
thông tin tài sản thực tế của công ty. Công ty muốn áp dụng bảo vệ
bao trùm lên các bộ phận mạng có khả năng bị tổn hại chống lại sự
tiết lộ các thông tin tài sản này của công ty ra ngoài. Trong mỗi cấu
hình dưới đây thì mức kiến trúc nào là thích hợp nhất để áp dụng các
dịch vụ bảo mật và tại sao?
(a) Mạng gồm các mạng LAN cục bộ trong khu vực của công ty có
một kết nối liên thông mạng diện rộng các vị trí này.
(b) Mạng gồm các mạng LAN cục bộ trong khu vực của công ty
với một số ít các đường thuê bao kết nối liên thông các cổng LAN
tại các vị trí này.
(c) Mạng gồm một số các đường truyền thông khác nhau đáng tin
có thể mở rộng mà người dùng không có quyền kiểm soát an ninh
của bộ chuyển hướng được dùng cho mỗi lần truyền.
Tài liệu tham khảo
[BLA1] U. Black, "OSI: A model for computer Communications", Prentice
Hall, Englewood Clifts, NI, 1991.
[COM1] D. E. Comer, " Internetworking with TCP/IP
: Principles,
P
[CRO1]
D. H. Croker, "Standard for the Format of ARPA Internet Text
Me
ssages", Request for comments (RFC) 822, Internet Activities Board,
] G. Dickson and A. Lloyd, "Open Systems Interconnection", Prentice
nglewood Clifts, NI, 1991.
[PO
1] J. Henshall and S. Shaw, "OSI Explain: End-to-End Computer
S1] J. B. Postel, "Simple Mail Transfer Protocol", Request for
ents (RFC) 821, Internet Activities Board, 1982.
] J. B. Postel, "Transmission Control Protocol", Request for
[PO
ents (RFC) 793, Internet Activities Board, 1981.
S3] J. B. Postel, "User Datagram Protocol", Request for comments
768, Internet Activities Board, 1981.
] J. B. Postel, "Internet Protocol", Request for comments (RFC) 791,
[RO
et Activities Board, 1981.
S1] M. T. ROSE, "The Open Book: A Practical Perspective on OSI",
Prenti
ce Hall, Englewood Clifts, NI, 1990.
] D. Steedman, "Abstract Syntax Notation One (ASN.1): The Tutorial
and R
eference", Technical Appraisals Ltd.., Isleworth, Enghland, 1990.
[TOR1
] D. J. Torrieri, "Principles of Secure Communication Systems",
Secon
d edition, Artech House, Inc., Norwood, MA, 1992.
chuẩn
n ISO/IEC 7498-1: Công nghệ thông tin - Kết nối l
hệ thống
X.200).
mở - Mô hình tham chiếu cơ sở(cũng còn gọi là Khuyến cáo ITU
hệ thống
n ISO/IEC 7498-1
mở - Mô hình tham chiếu cơ sở- phần 2 (cũng còn gọi là Khuyến
cáo ITU X
Tiêu chuẩ thông các hệ
.800).
n ISO/IEC 8072: Công nghệ thông tin - Kết nối liên
thống mở - Định nghĩa dịch vụ truyền tải có kết nối (cũng còn gọi là
Khuyến cáo ITU X.214).
Tiêu chuẩn ISO/IEC
8073: Công nghệ thông tin - Kết nối liên thông các hệ
thống mở - Định nghĩa giao thức truyền tải có kết nối ( cũng còn gọi là
Khuyến cáo ITU X.224)
Tiêu chuẩn ISO/IEC 8208: Công nghệ thông tin - Truyền thông dữ liệu -
Giao thức mức gói X.25 đối với các thiết bịđầu cưối dữ liệu.
Tiêu chuẩn ISO/IEC 8326: Công nghệ thông tin - Kết nối liên thông các hệ
thống mở - Định nghĩa dịch vụ phiên làm việc có kết nối cơ sở(cũng còn
gọi là Khuyến cáo ITU X215).
Tiêu chuẩn ISO/IEC 8327: Công nghệ thông tin - Kết nối liên thông các hệ
th ng m - Định nghĩa giao thức p
hiên làm việc có kết nối cơ sở(cũng còn
được gọi là Khuyến cáo ITU X.225).
Tiêu chuẩn ISO/IEC 8348: Công nghệ thông tin - Truyền thông dữ l
iệu -
Định nghĩa dịch vụ mạng (cũng còn được gọi là Khuyến cáo ITU X.213).
Tiêu chuẩn ISO/IEC 8473: Công nghệ thông tin - Tru
Giao thức cung cấp dịch vụ mạng chếđộ không kết nối.
Tiêu chuẩn ISO/IEC 8571: Công nghệ thông tin - Kết
thống mở - Truyền tệp, truy nhập và quản trị (FTAM).
Tiêu chuẩn ISO/IEC 8602: Công nghệ thông
tin - Kết nối liên thông các hệ
thống mở - Giao thức cung cấp dịch vụ truyền tải chếđộ không kết nối.
ISO/IEC 8648: Công nghệ thông tin
mạng.
ISO/IEC 8649: Công nghệ thông tin - Sự kế
nghĩa các dịch vụđể kiểm soát liên kết ( cả ITU-T Sự giới thiệu X.217).
ISO/IEC 8650: Công nghệ thông tin - Sự kết nối các hệ thống mở - Đặc t
giao thức cho sự liên kết để kiểm soát dịch vụ phần tử( cả ITU-T Sự giới
thiệu X.227).
IS
phương.
ISO/IEC 8822: Công nghệ thông tin - Sự kết nối các hệ thống mở - Sựđịnh
nghĩa dịch vụ trình bày định hướng kết nối( cả ITU-T Sự giới thiệu X.216).
ISO/IEC Đ
giao thức trình bày định hướng kết nối( cả ITU-T Sự giới thiệu X.226).
ISO/IEC 8824: Công nghệ thông tin - Sự kết nối các hệ thống mở - Đặc tả ký
hiệu cú pháp trừu tượng (ASN.1) ( cả ITU-T X.680 các giới thiệu).
ISO/IEC 8825: Công nghệ thông tin - Sự kết nối các hệ thống mở - Đặc tả
các quy tắc mã hoá ASN1( cả ITU-T X 690 các giới thiệu ).
ISO/IEC 8878: Công nghệ thông tin - Truyền thông dữ liệu - Cách sử dụng
X.25 để cung cấp dịch vụ mạng kiểu ít kết nối .
ISO/IEC 8880: Công nghệ thông tin - Truyền thông dữ liệu - Sự kết hợp
giao thức để cung cấp và hỗ trợ dịch vụ mạng OSI.
ISO/IEC 8881: Công nghệ thông tin - Truyền thông dữ liệu - Sử dụng giao
thức lớp trọn gói X.25 trong mạng nội bộ.
8823: Công nghệ thông tin - Sự kết nối các hệ thống mở - ặc tả
lớp các ứng dụng ( cả ITU-T Sự giới thiệu X.207).
ISO/IEC 10736: Công nghệ thông tin - Truyền thông và chuyển đổi thông
tin giữa các hệ thống - giao thức an toà
thiệu X.824).
ISO/IEC 11577: Công nghệ thông tin - Truyền thông và chuyển đổi thông
tin giữa các hệ thống - Giao thức an toàn lớp mạng ( cả ITU-T Sự giới thiệu
X.823).( bán sỉ)
ITU-T Sự giới thiệu X.25: Giao diện giữa thiết bị trạm dữ liệu (DTE) và
thiết bị mạch cuối dữ liệu(DCE) cho các thao tác trong đ đ
nối tới các mạng bởi mạch chuyên môn (ISO/IEC 8208).
chếộ gói và ã kết
Đây là vì " sự mã hoá" và " sự giải mã" bị lẫn lộn với tất cả sự biên
dịch truyền thống của " sự che đi" và " sựđào lên" của một vài ngôn ngữ.
(4) Các chữ ký điện tử;
(5) Các nguyên tắc chung để quản lý các phím mật mã;
(6) Các phương pháp xây dựng các phím bí mật; và
(7) Các phương pháp xây dựng các phím cho hệ thống bí mật phím
chung.
Mức độ bí mật ởđây được giới hạn đối với những ảnh hưởng liên quan đến thực
hành trực tiếp và không mở rộng đối với mô tả toán học trên cơ sở sự ghi mã hoá. Đối
với những mức độ bí mật chi tiết của hệ thống mã hoá, xem [BRA1, DEN1, MEY1,
SEB1], và đối với mức độ bí mật chuyên biệt của sự ghi mã hoá phím chung, xem
[NEC1]. Chương 10 cung cấp những ấn phẩm tiêu chuẩn chi tiết nhất đối với các
công nghệđã miêu tả.
4.1 Hệ thống mã đối xứng
Đặc điểm của hệ thống mã đối xứng qua thực tế là cùng một phím được sử dụng
trong sự biến đổi mã hoá và giải mã § (xem hình 4x-1). Để cung cấp sự cẩn mật, một
hệ thống mã đối xứng làm việc như sau. Hai hệ thống, A và B, quyết định chúng
muốn liên lạc một cách an toàn. Cả hai hệ thống đều nắm giữ thông tin về giá trị dữ
liệu được sử dụng là một phím bằng một vài xử lý(sẽđược thảo luận saus). Phím này
sẽđược giữ bí mật đối với những hệ thống khác ngoài hệ thống A và B. Điều đó cho
phép hoặc A hoặc B bảo vệ thông tin được gửi tới các nhóm khác bằng sự mã hoá nó
mà sử dụng phím đó. Nhóm đó có thể giải mã thông tin, nhưng ngoài nhóm đó thi
không thể giải được.
Hệ thống mã đối xứng đã được sử dụng trong các mạng thương mại từđầu những
năm 1970. Tiêu chuẩn mã hoá dữ liệu của Chính phủ Mỹ là hệ thống mã kiểu này mà
đã được xuất bản với đầy đủ sự xác nhận như là tiêu chuẩn chung.
Khoá
Văn bản rõ Văn bản mã Văn bản rõ
Hình 4-1: Hệ thống mã đối xứng.
Tiêu chuẩn mã hoá dữ liệu ( DES)
Vào năm 1973 và1974, Cục tiêu chuẩn quốc gia Mỹ (NBS) - từ khi đổi tên
là Viện nghiên cứu tiêu chuẩn và công nghệ quốc gia (NIST) - đã đưa ra
mối liên quan các thuật toán mã hoá cho các chi nhánh liên bang để sử dụng
bảo vệ thông tin nhạy. Từ những đơn đã đệ trình, thuật toán được chọn là
một đơn đệ trình bởi IBM. Nó chịu theo thời kỳ xem lại chung bắt đầu vào
năm 1975, sau đó được chấp nhận như là Tiêu chuẩn Xử lý Thông tin Liên
bang FIPS PUB 46 năm 1977, với tên là Tiêu chuẩn Mã hoá Dữ liệu (DES).
Vào năm 1981, một sự xác nhận như vậy cũng được chấp thuận bởi tổ chức
tiêu chuẩn thương mại Mỹ, ANSI, như là Tiêu chuẩn Quốc gia Mỹ ANSI
X3. Thuật toán Mã hoá Dữ liệu Tiêu chuẩn Quốc gia Mỹ 92 (đưa ra sự viết
tắt khác là DEA). Thuật toán này đã nhanh chóng được triển khai cho mục
đích tin cậy trong chính phủ, và cho các mục đích vẹn toàn trong nền công
nghiệp tài chính, và đã từng được chấp thuận rộng rãi trong các lĩnh vực
ứng dụng khác.
DES cũng đã trở thành một tiêu chuẩn quốc tế. Năm 1986, nó được
chứng minh là đạt tiêu chuẩn ISO 8227 (Quá trình xử lý thông tin - Sự mã
hoá dữ liệu - Sự xác nhận các thuật toàn DEA1Q). Tuy nhiên, sự can thiệp
giây phút cuối bởi những người đại diện nội bộ tại Hội đồng ISO đã đưa ra
giải pháp rằng ISO không nên đặt tiêu chuẩn mã hoá. Tiêu chuẩn quốc tế
DES sẽ không bao giờđược phát hành. Để biết mô tảđầy đủ về lịch sử của
DES, xem [SMI1].
Thuật toán DES dùng phím 56-bit và hoạt động trên khối 64-bit của
dữ liệu. Quá trình xử lý sự mã hoá áp dụng vào sự sắp xếp ban đầu của các
bit văn bản gốc, đưa ra kết quả thông qua pham vi 16 của sự tính toán phím
phụ thuộc, sau đó áp dụng sự sắp xếp cuối cùng đểđưa ra văn bản mã hoá.
Sự tính toán phím phụ thuộc liên quan đến quá trình chia dữ liệu 64 bit
thành hai nửa 32 bit. Một nửa được sử dụng để nhập một hàm phức tạp, và
kết quả là Ored riêng cho nửa còn lại. Hàm phức tạp đó bao gồm những thứ
hạng đã xếp loại thông qua tám bảng không tuyến tính đã ghi rõ sự thay thế
được biết là hộp S (hộp thay thếh). Sau một chu kỳ hoặc một vòng, hai nửa
dữ liệu đó được hoán đổi và hoạt động đó sẽ thực hiện lại . Ngõ xuất của
quá trình xử lý đó sẽ không hiển thị sự tương quan với ngõ nhập. Tất cả các
bit của ngõ xuất phụ thuộc vào tất cả các bit của ngõ nhập và các bit của
phím. Sự an toàn của DES phụ thuộc chính vào hộp S- cái mà chỉ có duy
nhất các bộ phận không tuyến tính.
Quá trình giải mã cũng giống như quá trình mã hoá, ngoại trừ những
phần phím đã chọn để xử dụng trong phạm vi 16 đểđảo ngược thứ tự.
Kích cỡ khoá của DES có thể bị tăng lên bởi quá trình sử dụng một sự tiếp
cận đa mã hoá [TUC1]. Ba DES liên quan đến một sự mã hoá đầu tiên của
một khối 64 bit sử dụng phím a, theo sau bởi sự giải mã kết quả sử dụng
phím b, theo sau bởi một sự mã hoá kết quả sử dụng phím c. Giá trị giống
nhau có thểđược sử dụng cho phím a và c, với việc giảm độ dài của mã
[MER1, VAN1].Vì vậy, sự tiếp cận ba DES có cả biến hai khoá và ba khoá.
Bộ xử lý hình ảnh tài chính PUB 46 gốc đã yêu cầu DES được thực
thi trong phần cứng, mặc dù hạn chế này dễ dàng được xác nhận một lần
nữa các thuật toán bởi NIST năm 1993. ANSI X3.92 đã giảm hạn chế tối
thiểu, luôn nhận ra rằng sự thực thi phần mềm có thểđược chấp nhận trong
một vài môi trường. Một số hướng dẫn cho các nhà thực thi DES được cung
cấp trong bộ xử lý hình ảnh tài chính PUB 74. Hai ấn phẩm đặc biệt của
NIST cũng đáng được ghi nhận - [ NIST1] mô tả những thủ tục phê chuẩn
các thiết bị DES và [ NIST2] mô tả sự một kiểm chứng sự bảo trì DES có
khẳ năng phù hợp để sử dụng, ví dụ một thiết bị tự kiểm chứng chạy tại lúc
khởi động hệ thống .
Các kiểu thao tác
Khi những quá trình mã hoá cần thiết để áp dụng cả cho thông báo hoặc
luồng dữ liệu kích cỡ tuỳ ý, những khái niệm của mã hoá khối và mã hoá
dòng rất quan trọng. Một khối mã ngắt dữ liệu để bảo vệ thành các khối có
cùng cỡ như là cỡ khối hệ thống mã (64 bit trong trường hợp DES6). Một
dòng mã ngắt dữ liệu thành các ký tự tuần tự.
Kèm theo tiêu chuẩn của DES là bốn kiểu thao tác của các thuật toán cơ bản. Bốn kiểu
hoạt động đó là:
. Chếđộ sách mã điện tử (ECB): Kiểu sách mã xử lý sự mã hoá khối
64 bit đơn. Khi một mẫu dữ liệu lớn hơn 64 bit sẽđược bảo vệ, nó sẽ
được trộn thành một khối, và mỗi khối được mã hoá và giải mã độc
lập với các khối khác. Kiểu ECB có giơí hạn cho phím đã chọn là
những văn bản rõ giống nhau thì sẽđưa ra văn bản mã giống nhau.
Nó rất dễ bị tấn công từ những kiểu khác và không phù hợp để sử
dụng trong những ứng dụng mà thừa nhận sự lặp lại hoặc sử dụng
chung sự tuần tự là một đe doạ. Ba kiểu còn lại không có giới hạn
này.
. Chếđộ chuỗi khối mã (CBC): Một mã khối xử lý mỗi một khối
văn bản rõ trong chuỗi dữ liệu loại trừ toán tử OR với khối văn bản
mã có trước trước khi mã hoá. Với khối đầu tiên, văn bản mã của
khối là Ored riêng với một số lượng nhập độc lập 64 bit như là vector
khởi đầu ( IV). Trong trường hợp bit lỗi trong chuỗi văn bản mã, kiểu
CBC sẽ tựđồng bộ sau hai khối(ví dụ.. khối bị lỗi và khối sau đó sẽ
không được giải mã chính xác, nhưng khối tiếp theo sẽđược giải mã).
Một tin nhắn đang được mã hoá cần được nhét vào thành những khối
64 bit.
. Chếđộ hồi tiếp mã hoá (CFB) : Một chuỗi mật mã xử lý trong đó
chuỗi văn bản rõ được chia thành các ký tự bit k, 1≤ k ≤ 64. Mỗi ký
tự trong văn bản mã được chứa đựng bơỉ ký tự văn bản rõ XORvới
một ký tự khoá xuất phát từ quá trình mã hoá 64 bit của văn bản mã
hoá trước(ví dụ, với 8 ký tự văn bản mã trước, khi sử dụng 8 bit ký
tự). ởgiai đoạn đâù của quá trình, 64 bit vector khởi đầu (IV) thay
thế văn bản mã. Chếđộ CFB cũng tựđồng bộ trong trường hợp bit
lỗi. Ví dụ, Với 8 bit ký tự, ký tự văn bản mã bị mất hoặc bị ngắt trong
quá trình truyền dịch sẽ báo kết quả lỗi truyền theo 8 ký tựđó, nhưng
sự giải mã sẽ tự tái đồng bộ lại sau 8 ký tự văn bản mã chính xác.
. Chếđộ phản hồi xuất (OFB) : Một dòng văn bản mã xử lý thuật
toán DES được sử dụng để sinh ra một dòng khoá ngẫu nhiên mà loại
trừ toán tử OR với dòng văn bản rõ. Giống như CFB, nó thao tác dựa
trên k-bit ký tự. Nó cũng yêu cầu một IV để bắt đầu. Tuy nhiên,
khác với CFB và CBC, nó không tạo thành chuỗi văn bản mã.
Nguyên nhân duy nhất một bit lỗi trong văn bản mã là một bit của
văn bản rõ đã giải mã bị lỗi. Chếđộ này, khác với CBC và CFB, là
không phù hợp cho việc cung cấp một dịch vụ vẹn toàn dữ liệu. Nó
không tựđộng bộ, nếu sựđồng bộ mật mã bị mất, sau đó một IV mới
sẽ phải được thiết lập giữa các cái cuối.
IV dùng ởđiểm đầu của chuỗi và chếđộ phản hồi sẽ có số ngẫu
nhiên. Trong khi nó không thiết yếu để IV được giữ bí mật, kiến thức chung
của một IV có thể thuận lợi cho việc tấn công giải mã vào đầu các tin nhắn .
Vì vậy, IV thường được liên lạc trong dạng đã mã hoá. Trong trường hợp,
một hệ thống nên đảm bảo rằng IV khác biệt giữa mỗi chếđộđưa ra với
mỗi khoá đưa ra.
Độ dài của DES
Độ dài của DES đã là một vấn đềđang được tranh luận, từ khi cuộc triệu tập đầu tiên để
bình luận tiêu chuẩn đã đề nghị vào năm 1975. Cuộc tranh luận cơ bản có hai vấn đề
chính:
. Kích cỡ khoá được đặt tại một giá trị nhỏ không cần thiết ( 56 bit);
và
. Sự phân loại bởi sở an toàn quốc gia (NSA) về thiết kế của những hộp S (theo
sự an toàn của các thuật toán phụ thuộc chínht).
Điều này dẫn đến tiếp tục tranh luận tính thuyết phục của DES ở hầu
hết mọi phương diện tấn công, ví dụ, một sự tấn công dựa trên cơ bản thử
đơn thuần tất cả các khoá (từ 7x 1016 của chúng) cho đến khi tìm ra cái
thích hợp. Đó cũng từng là sự nghiên cứu mà DES có thể gắn liền vào " cửa
bẫy" được biết duy nhất bởi NSA, và đó cũng là cự lo lắng vềđộ dài tương
đối của những khoá khác nhau. Một vài khoá được định dạng theo tiêu
chuẩnkhi đang yếu hoặc bán yếu3; tuy nhiên, độ dài của số khoá còn lại
khác nhau không được giải thích rõ ràng.
Toàn bộ cuộc tranh luận gắt gao về vấn đề này từ trước năm 1975
đến năm 1990 được tổng kết bởi Dorothy Denning [DEN2]. Kết luận của bà
là:
DES đã ở trong trường hoạt động sử dụng hơn thập kỷ qua. Không một trường hợp tấn
công nào thành công cả, hay ngoài ra bắt ép thô bạo đã từng được công bố. Đây chính là
sự công nhận thực tếđáng nể. Mặc dù DES có nhiều điểm yếu để tấn công bởi cuộc
nghiên cứu trên mọi phương diện, tài liệu chung đề nghị rằng những cuộc tấn công như
vậy có thể tránh được một cách thành công bởi ba lần mã hoá, đặc biệt nếu ba khoá độc
lập được sử dụng. Vì vậy, DES với ba làn mã hoá có thể cung cấp sự bảo vệ chính xác
cho những ứng dụng đã đề cấp trong nhiều năm tới.
Sẽ không còn nghi ngờ gì nữa về sự tồn tại hữu ích của DES đơn
đang kết thúc. DES có thể bị ngắt bởi cuộc tấn công toàn diện bởi bất kỳ ai
đã chuẩn bị dành đủ tiền cho thiết bịđã yêu cầu. Ví dụ, Eberle [EBE1] đánh
giá rằng DES có thể bị ngắt với trung bình 8 ngày sử dụng thiết bị giá
khoảng 1 triệu đôlaMỹ, đã xây dựng từ 1992 - công nghệ machj điện tử
siêu nhỏ DES. (Điều này so sánh với sựđánh giá của [GARR1] rằng DES có
thể bị ngắt trong một tuần với 500,000$ sử dụng thiết bị có sẵn năm 2000.)
Trên thực tế, nếu ai là khách hàng- thiết kếđặc biệt mạch điện tử siêu nhỏ
để ngắt DES, những đánh giá ở trên rất có thể bị giảm 1- đến 2 mức quan
trọng, ví dụ., với thiết bị giá 1 triệu đôlaMỹ, DES có thể bị ngắt trong vài
giờ. Nếu một cuộc điều tra như vậy tạo khẳ năng cho ai đó làm tổn thương
các sự truyền dịch tài chính giá trị cao phức tạp, điều đó rõ rằng là những
cuộc tấn công như vậy sẽ không được nạp nhiều nữa.
Đối diện tứng cái riêng, ấn phẩm chi tiết của sự tiếp cận các giải mã
gần đây được gọi là sự giải mã các mật mã khác nhau [BIH1, BIH2] đã phát
triển các câu hỏi mới vềđộ dài của DES và các thuật toán đối xứng khác.
Sự giải mã các mật mã khác nhau có thểđưa ra một cuộc tấn công vào DES
mà sự tính toán chuyên sâu không đáng kể so với một cuộc nghiên cứu khoá
toàn diện. Tuy nhiên, cuộc tấn công này yêu cầu các cặp văn bản rõ- văn
bản mã đã chọn 2 47 có khẳ năng cho người giải các mật mã, do vậy không
biểu diễn một đe doạ thiết thực tới cách sử dụng của DES đối với mục đích
thương mại 4 .Tuy nhiên, sự phát triển này làm nổi bật sự cần thiết để tiếp
tục theo dõi quá trình tấn công các thuật toán mật mã.
Sự thực thi mạch điện tử siêu nhỏ bằng các mảnh silic nhỏ không đắt
của DES có sẵn dễ dàng. Tỉ lệ dữ liệu tăng tới 1 GB/ 1giây [EBE1].
_____________________
3Xem [MEY1] cho một cuộc thảo luận chi tiết.
4DES đã chứng minh hoàn toàn chịu đựng được giải mã các mật mã
khác nhau, bởi vì nhà thiết kế của nó đã biết các khẳ năng bị tấn công. Các
thuật toán khác đã chứng minh yếu hơn nhiều bề ngoài của sự giải mã các
mật mã.
DES được xem lại đối với sự phù hợp cho chính phủ liên bang Mỹ sử dụng
5 năm một lần. Hệ thống đã được xác nhận lại lần nữa vào năm 1983,1988,
và 1993. Sự xác nhận lại năm 1993 đã được kèm theo bởi một chỉ dẫn rằng
các thuật toán thay đổi cho chính phủ sử dụng đang bị cân nhắc một cách
chủđộng.
Sự thay thế DES Chính phủ Mỹ
Vào tháng 4 năm 1993, chính phủ Mỹđã thông báo rằng một đề nghị mới
yêu cầu cung cấp thông tin tin cẩn thông qua sự mã hoá truyền thông, trong
khi khẳ năng duy trì đồng bộ của các chi nhánh tuân thủ theo luật pháp để
nghe trộm trên những liên lạc như vậy khi
được xác nhận hợp pháp để làm như vậy. Thông báo này bao gốm việc giảm
những thông tin đã giới hạn về một hệ thống mã đối xứng gọi là
SKIPJACK.
Thuật toán mới này là mã khối 64 bit giống như DES. Một sự khác
biệt đáng kể của DES là nó dùng một khoá 80 bit (so sánh với 56 bits),
cộng thêm nhiều thứ bậc quan trọng đối với độ dài mật mã. Nó liên quan
đến 32 vòng tính toán(so sánh với 16 vòng của DESs). Nó có thểđược sử
dụng trong sự liên kết với các chếđộ thao tác giống nhau như là DES. Khác
với DES, sự xác nhận đay đủ về thuật toán mới được phân loại, do vậy
không công khai có sẵn . Theo đúng tiến trình này, thuật toán được dành
riêng để thay thế sự bảo vệ thông tin nhạy không phân loại của chính phủ
của DES.
Tháng 4 năm 1993 thông báo cũng miêu tả một sự thực thi của thuật
toán SKIPJACK trên mạch điện tửđược thiết kếđể trợ giúp công nghệ giao
kèo khoá. Mạch điện tử này được thiết kế bởi NSA, cung cấp luật pháp cho
sự cần thiết tuân thủ theo luật pháp bởi quá trình mã hoá phát sinh, theo cả
văn bản mã hoá, một trường tuân thủ theo luật pháp. Trường này được gửi
với văn bản mã để giải mã mạch điện tử. Chủđề này giảm hai biểu tượng
thông tin khoá 80-bit độc lập từ hai tác nhân giao kèo độc lập, thao tác theo
sự kiểm soát nghiêm ngặt, Trường tuân thủ theo Luật pháp có khẳ năng phát
hiện khoá mã hoá cho một cơ quan có quyền ngăn chặn những liên l¹c ®ã.
4.2 Hệ thống mã khoá -chung
Công nghệ mật mã khoá- chung được giới thiệu vào năm 1976 bởi
Whitfield Diffie và Martin Hellman của trường đại học Stanford [DIF1]. Từ
đó, công nghệ này đã được kế theo một đường dẫn phát triển rất đáng chú ý
[DIF2] và bây giờ có thểđược cân nhắc kỹ càng.
Ngược lại các hệ thống mã đối xứng, hệ thống mã khoá- chung sử dụng các
cặp khoá bổ sung để phân chia các chức năng của sự mã hoá và sự giải mã.
Một khoá, khoá riêng, được giữ bí mật giống như là một khoá trong hệ
thống mã đối xứng. Khoá khác, khoá chung, không cần thiết giữ bí mật.
B's public key B's private key
Plain text Ciphertext Plain text
Decrypt
(a) Encryption Mode
A's private key
A's public key
Plain text a
Encrypt
Ciphertext
Decrypt
Plain text
(b) Authentication Mode
Figure 4-2: A Public-key Cryptosystem
Hình 4-2 Hệ thống mã khoá chung
Chú ý: B's public key: khoá chung của B (a): Encryption mode: chếđộ
mã hoá.
B's private key: khoá riêng của B (b): Authentication Mode: Chế
độ xác nhận
Phaintext: Văn bản rõ A's private key: khóa riêng
của A
Ciphertext: Văn bản mã A's public key: khoá chung
của A
Hệ thống phải có đặc tính là những kiến thức của khoá chung đã đưa ra, nó
sẽ không thể thực hiện được để xác định khoá riêng. Sự tiếp cận hai khoá có
thểđơn giản hoá sự quản lý khoá bằng số lượng khoá tối thiểu cần thiết để
quản lý và lưu trữ trong mạng, và tạo khẳ năng các khoá được xây dựng
thông qua các hệ thống không được bảo vệ như là các dịch vụ thư mục
chung.
Có hai chếđộ sử dụng hệ thống mã khoá - chung, phụ thuộc vào khoá
chung nào được sử dụng như là một khoá mã hoá hoặc khoá giải mã ( xem
hình 4-2). Mục đích để tồn tại những thư mục chung là chứa đựng những
khoá chung cho sự thiết lập các n óm liên lạc. Sử dung những khoá này như
là những khoá mã hoá, bất kỳ nhóm nào đều có thể gửi tin nhắn tin cậy tới
bất kỳ nhóm nào khác. Chỉ duy nhất người nắm giữ các khoá riêng tương
quan có thểđọc tin nhắn đó. Đây là chếđộ mã hoá.
Bằng cách sử dụng khoá đã phát hành như là khoá giải mã, mật mã
khoá chung có thểđược sử dụng cho sự xác nhận nguồn gốc dữ liệu và cho
quá trình đảm bảo tính vẹn toàn của một tin nhắn. Trong trường hợp ai đó
có thể nắm giữđược khoá giải mã thư mục và có thể từđó đọc thông tin.
Người đọc cũng biết rằng chỉ duy nhất người nắm giữ khoá riêng tương
quan có thể tạo tin nhắn đó. Đây là chếđộ sự xác nhận.
Hệ thống mã khoá chung có thể thao tác ở cả các chếđộ này được gọi
là hệ thống mã khoá chung đảo ngược. Một vài hệ thống mã khoá chung có
thể thao tác ở chếđộ xác nhận nhưng không ở chếđộ mã hoá. Chúng được
biết như là các hệ thống mã khoá - chung không đảo ngược.
Các hệ thống mã khoá - chung đưa ra một sự thách thức lớn hơn
nhiều đối với người thiết kế thuật toán hơn là các hệ thống mã đối xứng, bởi
vì khoá chung đại diện thông tin truyền thống mà có thểđược sử dụng để
tấn công các thuật toán. Các hệ thống khoá -chung hiện tại sử dụng dựa vào
độ dài của chúng trên những xác nhận cơ bản cụ thể, là vấn đề toán học rất
khó giải quyết.
Thuật toán RSA
RSA là một hệ thống mã khoá - chung đảo ngược, được đặt tên sau khi
người phát hiện ra nó là Rivest, Shamir, và Adleman, từ MIT. Mô hình của
hệ thống được xuất bản lần đầu tiên vào năm1978 [RIV1]. Thực tế nó đưa
ra cách sử dụng là trong khi tìm kiếm các số lớn đầu tiên tương đối dễ, thì
sản xuất ra sản phẩm của hai trong số các sốđó được mà đã từng không thể
làm được.
Một cặp khoá RSA được tạo như sau. Một số nguyên e được chọn, là
một số mũ chung. Hai số lớn chính, p và q, sau đó được lựa chọn một cách
ngẫu nhiên, phù hợp với điều kiện là ( p-1) và e không có các số chia chung,
và (q-1) và e không có các số chia chung5. Các môđun chung có giá trịn n=
pq. Giá trị của n và e cùng nhóm khoá chung. Một số m ũ riêng, d, sau đó
được xác định như là (de-1) có khẳ năng chia cho cả (p-1) và (q-1). Giá trị
của n à d ( hoặc p,q, và d) cùng nhau tạo thành khoá riêng.
Các số mũđều có đặc tính quan trọng là hàm d là số nghịch đảo của
e, nghĩa là với bất kỳ một tin nhắn M nào, (Me) d mod n= M mod n. Để biết
chi tiết về việc đưa ra các thuật toán cho kết luận này, xem [RVI1].
Quá trình mã hoá tin nhắn M liên quan đến quá trình tính toán Me
mod n. Điều này có thểđược đưa ra bởi bất lỳ mà biết được khoá chung, ví
dụ., n và e. Quá trình giải mã tin nhắn M' liên quan đến quá trình tính toán
M'd mod n. Điều này yêu cầu sự hiểu biết về khoá riêng.
Độ dài của RSA thỉnh thoảng cũng được đặt câu hỏi. Đó là một cách
hiển nhiên đểđược ngắt - mà là thừa số của môđun n, sử dụng bất kỳ kiến
thức nào về các phương pháp phân tích thành thừa số. Độ dài phụ thuộc vào
thời gian đã yêu cầu và giá trị của thiết bị mà có thể thực hiện sự phân tích
thành thừa số.Quá trình tiếp tục giảm giá trị của thiết bịđã được đưa ra
tính toán trong sự cân nhắc độ dài của RSA trong tương lai.
_________________
5Các ràng buộc khác cũng có thểđược đảm bảo để tránh các khoá "yếu";
xem ví dụ [GORR1]. Tuy nhiên, những ràng buộc như vậy có khẳ năng
thay đổi như là trạng thái khéo léo của sự giải mã các mật mã trước. Trạng
thái khéoléo trong sản xuất năm 1990 được minh hoạ bởi kinh nghiệm
quảng cáo tốt bởi M.Manasse và A.Lenstra mà sử dụng một mạng gắn kết
lỏng lẻo của 200 tạm kỹ thuật, thành công trong quá trình sản xuất môđun
116- ký số trong một tháng.
Cái có thểđưa cho chúng tôi sự tin cậy tốt đó là RSA sẽ bảo trì độ dài
của chúng trong tương lai trên thực tế là sự gia tăng rất nhỏ trong kích cỡ
của các môđun đưa ra dẫn đến sự gia tăng mạnh trong yêu cầu phân tích
thừa số của nó ( khi quy tắc ngón tay cái, với các thuật toán phân t ích thừa
số hiện tại , tăng kích cỡ của các môđun bằng ba ký số gấp đôi sự phức tạp
phân tích thừa số của nó).
Giả sử, ví dụ chúng ta đề xuất một chút về công nghệ Manasse và
Lenstra và giảđịnh rằng một môđun 150- ký số có thểđược phân tích thừa
số trong một tháng . Nếu chúng ta tạo một sự mở rộng các cỡ môđun tương
đối vừa phải cho 200 hoặc 250 ký số, thời gian yêu cầu để thực hiện sự phân
tích thành thừa số giống với công nghệđược trình bày trong bảng 4-1. Nó
có thểđược xem như là sự phát triển gấp mười, gấp trăm, hoặc thậm chí gấp
nghìn lần trong công nghệ mà có thể dễ dàng đếm được bởi một sự giătăng
đơn thuần trong cỡ của môđun.Vì vậy, để RSA được an toàn, bây giờ hoặc
tương lại, một cách đơn giản là tạo một lựa chọn nhạy cho kích cỡ môđun.
Số các ký số Thời gian phân
tích
thành thừa số
150
200
250
1 tháng
100 năm
500,000 năm
Bảng 4-1: Thời gian phân tích thành thừa số một Môđun RSA
Tất nhiên đó là một khẳ năng của sự chọc thủng phòng tuyến trong
các phương pháp phân tích thành thừa số. Tuy nhiên, nhà toán học đã từng
tìm kiếm các thuật toán phân tích thừa số nhanh trong nhiều năm qua mà
vẫn chưa thành công. Sự chứng thực chính cho độ dài của RSA là nó đã giữ
vững rất nhiều năm để các chuyên gia tiếp tục thử phá vỡ nó.
Một thiếu sót chính của RSA, quá trình xử lý sự mã hoá và sự giải mã
cao hơn nhiều với hệ thống mã đối xứng giống như DES .Vì vậy, RSA hiếm
khi được sử dụng cho sự mã hoá dữ liệu lớn. Tuy nhiên, RSA có một vài
ứng dụng quan trọng - được thảo luận theo chữ ký kỹ thuật số, sự quản lý
khoá, và các chủđề về sự xác nhận sau. Ngày nay, RSA đang được sử dụng
rộng rãi trong các sản phẩm ở các dạng khác nhau bao gồm các mạch điện
tử làm bằng các mảnh silic nhỏ, các chương trình xử lý tín hiệu kỹ thuật số
(DSP), và phần mềm thường.
Khẳ năng thực thi của RSA phụ thuộc lớn vào mã thuật toán môđun
phù hợp với bộ xử lý đã dùng. Một vài điểm bắt đầu hữu ích là [BRI,
SHA1] nếu cân nhắc một sự thực thi phần cứng, hoặc [DUS1] cho một sự
thực thi phần mềm..
Thuật toán ELGamal
Năm 1985, ElGamal [ELG1]đề xuất một hệ thống mã khoá- chung thay
đổi, dựa trên một vấn đề toán học khác biệt cơ bản tới RSA. Thuật toán này
phụ thuộc vào sự phức tạp của quá trình tính toán các loga rời rạc qua các
trường có hạn. Đơn đề nghị của ElGamal bao gồm các cơ cấu của cả chếđộ
mã hoá và chếđộ xác nhận. Trong khi cơ cấu chếđộ mã hoá không được
khai thác, cơ cấu chếđộ xác nhận có nhiều hấp dẫn thú vị và đã thực hiện
cơ bản Tiêu chuẩn Chữ ký Kỹ thuật số của Mỹđã đề nghị (DSS). Thuật
toán DSS được thảo luận trong phần 4.4.
Để biết chi tiết về sự so sánh của các hệ thống mã RSA và ElGamal,
xem [VAN2].
4.3 Các giá trị kiểm tra tính vẹn toàn ( Niêm phong)
Tiện ích của các công nghệ mật mã mở rộng hơn nhiều so với các điều
khoản của các dịch vụ tin cậy. Chúng ta cân nhắc tiếp những công nghệđó
có thể cung cấp cơ bản tính vẹn toàn dữ liệu và các dịch vụ xác nhận nguồn
gốc dữ liệu như thế nào.
Tính ven toàn dữ liệu và/hoặc sự xác nhận nguồn gốc dữ liệu các thông tin
có thểđược cung cấp như sau. Người sáng tạo tin nhắn phát sinh, sử dụng
tất cả các bit dữ liệu trong nội dung tin nhắn, một phụ lụcđược truyền theo
tin nhắn đó. Người nhận tin nhắn kiểm tra nội dung tin nhắn đã nhận và
phụ lục đã tồn tại trước khi nhân nội dung tin nhắn khi đang xác thực.
Điều này tương tự như các thủ tục dò tìm lỗi chung, như là quá trình
tấn công một kiểm độ dư vòng (CRC) vào tin nhắn. Tuy nhiên, có một sự
khác biệt lớn. Toàn cảnh cuộc tấn công chủđộng đã được đưa ra tính toán.
Nếu một kẻ tấn công chủđộng thay đổi tin nhắn, sẽ không có gì ngăn cẳn
anh ta tính toán lại và thay thế CRC ở tin nhắn đó, vì vậy người nhận tin
nhắn sẽ không phát hiện ra là đã có sự thay đổi dữ liệu. Để bảo vệ chống lại
những cuộc tấn công đó một lần nữa, sẽ phát sinh phụ lục dùng một khoá bí
mật. Người nhận tin nhắn đó có thể tin rằng, nếu nội dung tin nhắn và phụ
lục vẫn tồn tại để nhận , phụ lục đã phát sinh bởi ai đó mà biết được khoá
đó. Vì vậy, sự thay đổi tin nhắn bởi một kẻ xâm phậm sẽ gần như bị phát
hiện.
Thủ tục kiểm tra tính vẹn toànđược biết bởi rất nhiều tên. Trong lĩnh
vực nhà băng nó được gọi là sự xác nhận thông tin. Trong tiêu chuẩn an
toàn OSI, nó thường được gọi là Sự niêm phong. Phụ lục này được biết theo
một cách khác là niêm phong, kiểm độ vẹn toàn (ICV), mã xác nhận thông
tin (MAC), hoặc mã vẹn toàn thông tin (MIC).
Cơ cấu chung được minh hoạ trong hình 4-3. Tại hệ thống gốc, một
quá trình phát sinh phụ lục mật mã được ứng dụng thông qua tin nhắn, để
thu lại một chuỗi phụ lục ( thường rất ngắn) mà kèm theo một tin nhắn quá
cảnh. Tại hệ thống người nhận, một quá trình phát sinh phụ lục giống như
vậy được ứng dụng vào tin nhắn đã nhận, sử dụng cùng một khoá, và kết
quảđược so sánh với giá trị phụ lục đã nhận với tin nhắn đó.
Các tiêu chuẩn công nghiệp ngân hàng ( ví dụ., ANSI X9.9 và ISO
8730) chỉ rõ một quá trình phát sinh phụlục cụ thểđểứng dụng tới các mã
xác nhận tin nhắn cho sự truyền dịch tài chính. Quá trình này, sử dụng hệ
thống mã đối xứng như là DES, đượcminh hoạở hình 4-4. Nó liên quan đến
nhóm tin nhắn khi cần thiết để thành nhiều cỡ khối hệ thống mã ( 64 bit cho
DES), sau đó ứng dụng quá trình mã hoá trong chếđộ CBC để phát sinh
một phụ lục. Để biết sự khác nhau của các công nghệ, xem [JUE1].
CÁc qú trình phát sinh phụ lục khác tồn tại, như là đã được thảo luận
trong [TSU1] và được sử dụng với giao thức Mạng SNMP (được miêu tả
trong chương 15).
oringinator recipient
Message
Key
Transmitted Message
Message
Key
Generate
Appendix
Appendix
Message
Appendix
Actual
Appendix
Expected
Appendix
Appendix
If there are the same then
message integrity is verified
Figure 4-3: General Sealing Scheme
H ình 4-3: Cơ cấu niêm phong chung
Chú thích:
Orginator: người gửi Message: Tin nhắn
Actual appendix:phụ lục chính Expected Appendix: phụ lục
được mong đợi
Generate appendix:phụ lục phát sinh Key: khoá.
If there are the same then message integrity is verified: Nếu chúng giống
nhau thì sau đó tính vẹn toàn của tin nhắn được nhận dạng.
Encrypt
Encrypt Encrypt Encrypt
xor xor xor
Message Appendix
Figure 4-4: Appendix Generation Using a Symmetric Block Cipher
H ình 4-4: S ự phát sinh phụ lục sử dụng một mã khối đối x ứng
Chú thích:
Ecrypt: Mã hoá Message: Tin nhắn Appendix: phụ lục
Tiếp cận này, đã minh hoạở hình 4-5, không yêu cầu sử dụng hệ thống mã
đối xứng, nhưng thay vào đó dùng hàm phân cách. Một hàm phân cách là
một hàm mà sắp đặt các giá trị từ một miền lớn( có thể là rất lớn) thành một
sự sắp xếp tương đối nhỏ 6.( Các hàm phân cắt được thảo luận nhiều hơn
trong phần 4.4.) Quá trình phát sinh phu lục liên quan đến hoặc tiền tố hoắc
hậu tố một khoá bí mật cuả chuỗi dữ liệu tin nhắn, sau đó áp dụng hàm phân
cắt cho xích chuỗi này. Sản phẩm của hàm phân cắt cung cáp phụ lục này.
Message
Hash
Function
Message Appendix
Figure 4-5: Appendix Generation Using a Hash Function
H ình 4-5: Sự phát sinh phụ lục sử dụng hàm phân cắt
Chú thích: Message: Tin nhắn Appendix: phụ lục
Hash function: hàm phân cắt.
___________
6Thỉnh thoảng được xem xét thành hai kiểu hàm phân cắt - các hàm phân
cắt không khoá, mà luôn phát sinh cùng một dữ liệu ra từ cùng một dữ liệu
nhập, và các hàm phan cắt khoá, mà dùng một khoá mật mã như là ngõ nhập
phụ. Trong sách này, cách sử dụng hàm phân cắt hạng không chất lượng nên
đưa ra đểđịnh hướng một hàm phân cắt không khoá.
4.4 Chữ ký điện tử
Một chữ ký điện tử có thểđược lưu ý đến trong trường niêm phong đặc
biệt. Nó được sử dụng ở những nơi mà cần đủ sự tin tưởng từ nguồn của
tin nhắn ( khi định dạng thông qua niêm phong) mà nó có thểđược xem
xét ít nhất là tốt như sự phân loại nguồn viết tin nhắn trên cơ bản của chữ
ký. Chữ ký điện tử có thểđược dùng như là khái niệm cơ bản của việc
tái giải quyết lại vấn đề giữa người gửi và người nhận tin nhắn ( ví dụ
một kiểm tra hoặc văn bản thương mại). Nhóm mà hầu hết đạt được
bằng việc làm giả mạo tin nhắn sẽ có khẳ năng đưa tới người nhận. Vì
vậy người nhận sẽ không có khẳ năng tạo ra ch ữ ký điện tử mà không
thể phân biệt được so với chữ ký của người gửi.
Vì lý do này, một quá trình niêm phong giống như các quá trình dựa
trên cơ bản DES hoặc sự phân cắt đã được miêu tảở trên luôn không
tương xứng với mục đích này. Người nhận biết cái khoá đã sử dụng tạo
ra niêm phong. Cách duy nhất để sử dụng một quá trình như vậy cho mục
đích chữ ký điện tử là sự kết hợp một thiết bị phần cứng an toàn mà chịu
sự kiểm soát của nhóm thứ ba tin cậy. Người nhận được cung cấp một
thiết bị chống trộm mà có khẳ năng phân loại dấu niêm phong nào là
đúng nhưng không có khẳ năng tạo ra một dấu niêm phong giống như
khoá đó. Cái khoá được lưu trữ bên trong một thiết bị nơi mà người nhận
không thể truy cập vào đó được, nhóm thứ ba tin cậy sẽ quản lý nơi đó.
Các hệ thống mã khoá- chung cung cấp nhiều năng lực chữ ký điện tử
mạnh hơn, và không yêu cầu sự phân loại khoá phải giữ bí mật đối với
người nhận.
oringinator
recipient
Message
Message
Transmitted Message
Key
Encrypt
Message
Appendix
Public
Key
Decrypt
Appendix
Expected
Message
If there are the same then
message integrity is verified
Figure 4-6: Simplistic Digital Signature Scheme
H ình 4-6: Cơ cấu chữ ký điện tửđơn giản
Chú thích: Originator: người gửi Recipient:người nhận
Message: tin nhắn Public key: khoá chung
Encrypt : mã hoá Decrypt: giải mã
Appendix:phụ lục Private Key:khoá riêng
Expected Message: tin nhắn được trông mong
Transmitted Message: tin nhắn đã truyền
If these are the same then the signature is verified: Nếu chúng giống nhau thì
sau đó chữ ký được nhận dạng.
Một công nghệ chữ ký điện tửđơn giản đang ứng dụng vào một hệ
thống mã khoá - chung đảo ngược như là RSA được minh hoạ trong hình 4-
6. Người gửi tin nhắn tạo ra một phiên bản tin nhắn đã mã hoá, sử dụng hệ
thống khoá- chung trong chếđộ sự xác nhận( ví dụ., khoá mã hoá là một
khoá riêng của người gửi). Phiên bản mã hoá của tin nhắn này được gửi như
là một phụ lục, theo cùng với tin nhắn văn bản rõ. Người nhận cần biết
được khoá giải mã tương ứng( khoá chung của người gửi), mà có thể giải
mã phụ lục và so sánh nó với nội dung văn bản rõ. Nếu hai cái đều giống
nhau, người nhận có thểđảm bảo rằng người gửi đã biết khóa mã hoá, và
nội dung của tin nhắn sẽ không bị thay đổi trên đường đi.
Một cơ cấu chữ ký điện tử trên cơ sở khoá chung giống nhưở trên
cũng có thuộc tính có giá trị là bất kỳ một người nhận tin nhắn nào sẽ có khẳ
năng kiểm tra chữ ký , bởi vì khoá giải mã ( khoá chung của người gửi) có
thểđược làm chung chung mà biết không cần giao kèo an toàn.
Một sự phản đối cơ cấu ở trên là giá của nó trong giai đoạn xử lý và
liên lạc ở trước. Sự mã hoá và sự giải mã đã được ứng dụng cho toàn bộ nội
dung tin nhắn, và số lượng dữ liệu đã được gửi là ít nhất gấp đôi kích cỡ tin
nhắn cơ bản. Cơ cấu này cũng yếu về mặt mật mã mà có thể khắc phục được
với sự sửa đổi mà chúng ta miêu tả [DEN3].
oringinator
recipient
Message
Message
Transmitted Message
Hash Function Hash Function
Digest
Private
Key
Message
Appendix
Decrypt
Public
Key
Encrypt
Expected
Digest
Actual
Digest
Appendix
If there are the same then
message integrity is verified
Figure 4-7: Digital Signature Scheme Using Encrypted-Hash Appendix
h ình 4-7: Cơ cấu chữ ký điện tử sử dụng phụ lục phân cắt đã mã hoá
Chú thích:
Orginator: người gửi Message: Tin nhắn
Actual digest: điện báo chính Expected Appendix: phụ lục
được mong đợi
Digest: điện báo Private Key: khoá.riêng
Recipient: người nhận. Hash function: hàm phân cắt
Public key: khoá chung Expected digest: điện báo được
trông mong
Encrypt : mã hoá Decrypt: giải mã
Transmitted mesage: tin nhắn đã truyền
If there are the same then message integrity is verified: Nếu chúng giống
nhau thì sau đó tính vẹn toàn của tin nhắn được nhận dạng.
Để chứng minh cơ cẩu này,một hàm phân cắt được đưa vào quá trình
xử lý như hình 4-7. Hàm phân cắt được sử dụng để tạo ra một biểu tượng dữ
liệu nhỏ hơn nhièu từ nội dung tin nhắn yêu cầu sự bảo vệ gọi là điện báo.
Điện báo này có thuộc tính là thông thường bất kỳ một sự thay đổi nào của
tin nhắn sẽđưa ra một điện báo khác.
Với cơ cấu này, người gửi áp dụng hàm phân cắt đểđạt được điện
báo, sau đó mã hoá điện báo đểđưa ra phụ lục mà được truyền dịch cùng
với tin nhắn. Khi nhận tin nhắn, người nhận tính lại điện báo và giải mã phụ
lục. Sau đó nó so sánh hai giá trịđó. Nếu chúng xứng nhau, sau đó người
nhận được đảm bảo rằng người gửi đã biết khoá mã hoá, và nội dung của tin
nhắn đó không bị thay đổi trên đường đi.
Khi sử dụng RSA theo cách này, hiệp định kèm theo giá trịđang bị
mã hoá rất quan trọng. Ví dụ, nếu điện báo phân cắt ngắn hơn nhiều so với
môđun RSA, và được gán vào thêm bit 0 vào cuối hàng bên trái, điều này
dẫn đến kết quả là ứng dụng vào RSA đưa ra một giá trị số nguyên rất nhỏ.
Điều này chắc chắn tình trạng yếu kém của mật mã. Nếu gán thêm bit 1, tình
trạng yếu kém đó không còn nữa. Những cơ cấu gán thêm vào phức tạp hơn
được đề cập bởi một vài nhà nghiên cứu.
Các công nghệ khác cung cấp chữ ký điện tửđã được phát minh, xem
[MIT1] đầy đủ các thông tin. Hai công nghệ chuyên biệt được ấn định dưới
đây - tiêu chuẩn ISO/IEC cho các chữ ký điện tửđể khôi phục tin nhắn, và
Tiêu chuẩn Chữ ký Điện tử Mỹ (DSS). Cả hai công nghệ này đều rất quan
trọng, bởi vì đang được biểu hiện trong các tiêu chuẩn nhận dạng.
Chữ ký điện tử với sự phục hồi tin nhắn
Tiêu chuẩn Quốc tế ISO/IEC 9796 định nghĩa một công nghệ chữ ký điện tử
mà có thể hoặc không có thể sử dụng phụ lục dựa trên sự tiếp cận chữ ký
điện tử. Công nghệ này được thiết kếđểđánh dấu tin nhắn có độ dài giới
hạn, với một yêu cầu nguồn tối thiểu cho sự phân loại. Nó sử dụng một hệ
thống mã khoá- chung đảo ngược, thường là RSA.
Có hai cách sử dụng tiêu chuẩn ÍSO/IEC 9796:
·Một phương pháp đánh dấu các tin nhắn rất nhỏ. Hàm phân cắt
không liên quan, và nội dung văn bản rõ của giá trịđã ký hiệu được
sáng chế như là phần của quá trình phân loại ( giá trịđã ký hiệu được
chuyển đổi một cách hiệu quả trong một dạng đã mã hoá thông qua
quá trình xử lý chữ ký). Những đặc điểm này rất phù hợp để các yêu
cầu chữ ký được bắt gặp trong sự xác nhận và các giao thức quản lý
khoá
·Một thuật toán chữ ký được áp dụng cho một điện báo đã phân cắt
của một tin nhắn lớn. Số lượng này áp dụng một quy ước gán vào
phức tạp cho điện báo. ( công nghệ ISO/ IEC 9796 được sử dụng theo
cách này trong tiêu chuẩn chữ ký ANSI RSA, phần 1 của X9.31.)
Để giải thích quá trình xử lý ISO/IEC 9796, giảđịnh rằng thuật toán
đảo ngược đã dùng là RSA. Độ dài của tin nhắn đã đánh dấu không được
lớn hơn một nửa cỡ của môđun RSA. Quá trình đánh dấu liên quan đến các
bước:
·Các bit của tin nhắn được gán với các bit 0, nếu cần thiết , đưa một
số nguyên của bộ bát phân.
·Chuỗi kết quảđược mở rộng, nếu cần thiết, bằng cách tự lặp lại
chuỗi xích đểđưa ra một chuỗi với độ dài ít nhất bằng một nửa cỡ
của môđun RSA.
·Sự dư thừa nhân tạo được thêm vào bằng sự xen kẽ bộ bát phân tin
nhắn đã mở rộng với bộ bát phân dư thừa, các giá trị mà được phân
phát từ bộ bát phân tin nhắn đã mở rộng tương ứng.
·Chữ ký được bao gồm bởi một sự mã hoá RSA trên kết quả.
Tiêu chuẩn Chữ ký Điện tử Mỹ.
Vào tháng 8 năm 1991, Viện nghiên cứu Quốc gia về Tiêu chuẩn và Công
nghệ ( NIST), đã công bố một thông báo về Tiêu chuẩn Chữ ký Điện tửđã
đề nghị ( DSS), với một yêu cầu nhận xét ngay tiếp sau đó [NIS3]. Cùng với
thông báo này, một sự xác nhận kỹ thuật cho tiêu chuẩn đã đề nghịđã có
sẵn, mô tả Thuật toán chữ ký Điện tử (DSA). Sự xem lại chung về DSS đã
đề nghị có kết quả là phủ nhận lời nhận xét đó ( xem [RIV2] cho một mẫu
tốt). Ý chính của lời nhận xét phản đối là kỹ thuật và sự thực thi liên quan,
phản đối đưa DSA vào cạnh tranh với tiêu chuẩn chữ ký RSA không chính
thức, và các vấn đề hiển nhiên. NIST hồi đáp là trong [SMI2]. Lời nhận xét
phản đối đã đưa kết quả về một vài kỹ thuật nhỏđể thay đổi đề nghị, mà
sau đó đang được xúc tiến bởi NIST theo ấn phẩm như là tiêu chuẩn FÍPS
PUB. Nó cũng được xúc tiến như phần 1 của tiêu chuẩn X9.30 của ANSI .
DSA dùng một hệ thống khoá chung không đảo ngược, trên cơ sở sự
tiếp cận của ElGamal, được sửa đổi bởi Schnorr [SCH1]. Sự an toàn của nó
phụ thuộc vào mức độ phức tạp của việc tính toán các loga rời rạc. Xem:
y=gx mod p
Trong đó p là một số nguyên tố và g là một phần tử cuả môđun p bậc lớn
hơn7. Nó đơn giản tính là y, đã cho g, x, và p, nhưng rất khó để tính x, đã
cho y, g, và p. Điều này đưa ra một nền tảng cho hệ thống khoá - chung
trong đó x là một khoá riêng và y là một khoá chung.
Hệ thống sử dụng ba số nguyên, p, q, và g mà có thểđược tạo chung
và phổ biến cho các nhóm người sử dụng. p là một môđun nguyên, mà nằm
trong khoảng 512 đến 1024 bit 8. q là một số chia nguyên 160 bit. g chính
bằng:
g= j
[(p-1)/q]
mod p, trong đó j là bất kỳ một số nguyên dương ngẫu nhiên
với 1 < j < p
để:
[(p-1)/q]
j
mod p>1.
Để người gửi đưa ra, khoá riêng x được chọn một cách ngẫu nhiên, với 1<
x< q.
Khoá chung y đượctính nhưở trên.
Quá trình đánh dấu và phân loại một tin nhắn được minh hoạ trong
hình 4-8. Để ký hiệu một tin nhắn mà có điện báo h, người sử dụng chọn
một số nguyên ngẫu nhiên k ( với 0< k < q) và tính, sử dụng khoá riêng x,
hai số:
r = (gk mod p) mod q
s = ( k-1(h+xr)) mod q
trong đó k-1 là nghịch đảo của k mod q; ví dụ ., (k-1k) mod q = 1 và 0< k-1
< q. Một cặp giá trị ( r,s) tạo thành phụ lục chữ ký cho tin nhắn.
Để phân loại một chữ ký đã nhận rồi ( báo r', s') kèm theo một tin
nhắn với điện báo h', người nhận đầu tiên kiểm tra rằng 0< r'< q và 0< s'<
q. Nếu một trong hai điều kiện này bị sai, chữ ký đó sẽ bị loại. Ngoài ra,
người nhận sau đó tính từ s' và h' a giá trị v. Để chữ ký được phân loại
chính xác, giá trị này cần phải giống như là giá trị r' đã được gửi trong chữ
ký. Công thức tính v như sau:
w= ( s')-1 mod q
u1 = (h'w) mod q
_______________________
7Điều này có nghĩa là số nguyên dương nhỏ nhất i, chính là gi mod p
= 1, là đủ lớn.
8 Cỡ của môđun là một thông số thuật toán, mà có thểđưa giá trị từ
512 đến 1024 bit với số gia 64 bit.
oringinator
recipient
Message
Message
Transmitted Message
Hash Function
Hash Function
Message
Private
Key x
Public
Generate
Random
k
Key y
Verify
v
If there are the same then
message integrity is verified
Figure 4-8: DSA Digital Signature Scheme
h ình 4-8: Cơ cấu chữ ký điện tử DSA
Chú thích:
Orginator: người gửi Message: Tin nhắn
Digest: điện báo Private Key: khoá.riêng
Recipient: người nhận. Hash function: hàm phân cắt
Public key: khoá chung Random: ngẫu nhiên
Generate: phát sinh Verify: nhận dạng
Transmitted mesage: tin nhắn đã truyền
If there are the same then message integrity is verified: Nếu chúng giống
nhau thì sau đó tính vẹn toàn của tin nhắn được nhận dạng.
u2 = ((r') w) mod q
v = ((gu1 yu2) mod p) mod q
Để chứng minh tính hợp pháp của những công thức toán này, và tính
không thể làm được để tạo ra một cặp r, s hợp lệ mà không cần biết khoá
riêng x, xem các phụ lục để xác nhận DSA.
Chú ý rằng một sự thực thi của DSA không cung cấp bất kỳ một khẳ
năng mã hoá dữ liệu nào cho các mục đích đáng tin cậy. Trong khi điều này
có thể xuất hiện một số khuyết, nó có thể có lợi bởi vì nó có thể khó hơn để
đạt được một chứng minh cho thiết bị có khẳ năng mã hoá. Các đặc điểm
khác của DSA là quá trình phân loại của nó sẽ nhiều quá trình xử lý nguồn
chuyên sâu hơn quá trình tạo của nó.
Các cơ cấu chữ ký điện tử DSA và RSA có khẳ năng được xem như
là các đối thủ cho một vài lần tới. Trong nhóm các hàm đã cung cấp ( cho
mục đích chữ ký điện tử) và độ dài mật mã, các cơ cấu gần như tương
đương nhau về cơ bản. Vì vậy, sự lựa chọn giữa chúng sẽ dựa trên các nhân
tố như là sự thực thi, vấn đề bản quyền, và tính chất có thể chấp nhận về
chính trị
Các hàm phân cắt
Các hàm phân cắt được sử dụng trong niêm phong hoặc các quá trình chữ ký
điện tử cần thiết để có các thuộc tính sau:
· Hàm phải được tính toán sao cho không có khẳ năng tạo được một
tin nhắn mà các phân cắt đã đưa cho điện báo.
· Nó phải được tính toán sao cho không có khẳ năng tạo được hai
tin nhắn mà phân cắt cùng một điện báo. .
Bất kỳ một thuộc tính nào yếu kém có thểđưa ra kết quả cũng yếu kém
trong niêm phong hoặc quá trình chữ ký điện sử dụng hàm phân cắt. Ví dụ,
nếu một kẻ tấn công chủđộng có thể kiểm tra một tin nhắn và điện báo đó
và suy ra nội dung của tin nhắn khác với cùng một điện báo, anh ta có thể
thay thế nội dung tin nhắn đó. Sự thay thế sẽ không bị phát hiện bất chấp độ
dài của hệ thống mã đã sử dụng trong phụ lục phát sinh.
Thiết kế một hàm phân cắt tốt đã từng chứng minh một tác vụ phức
tạp. Nhiều hàm phân cắt khác nhau đã được đệ trình, sau đó chuyên đềđó
đã từng có sự yếu kém về sắp xếp ( xem [MIT1] để biết chi tiết hơn). Tại
thời điểm phát hành, toàn bộ các hàm phân cắt đáng tin đã sử dụng trong
các mạng hệ thống mở là:
· Các hàm phân cắt dựa trên các thuật toán mã khối như là DES
[MERR2]. Hai hàm dựa theo DES cụ thể là, MDC2 và MDC4, đã được đề
bạt bởi IBM [MAT1].
·Các lọai của hàm phân cắt là MD2, MD4, và MD5 [KAL1, RIV3,
RIV4]. Tất cảđều đưa ra sản phẩm 128 bit. MD2 là cũ nhất, đã từng được
bao hàm trong đơn đề nghị thưđiện tửđề cao tính an toàn mạng chính vào
năm 1989. MD4 thì nhanh hơn, đặc biệt trong bộ xử lý 32 bit, và có thể
được mã hóa một cách chặt chẽ. MD5 thì chậm hơn MD4 một chút và có
thể không được mã hoá mạnh ( trên thực tế, nó được xem là yếu hơn).
·Thuật toán phân cắt an toàn của chính phủ Mỹ ( SHA), đặc biệt
trong FIPS PUB 180 và phần 2 của ANSI X9.30. SHA là một sự tra lắp của
MD4, mà tạo ra sản phẩm 160 bit ( cho tính tương thích với thuật toán
DSA). Kích cỡ của sản phẩm càng dài thì khẳ năng cuả SHA càng mạnh
hơn MD2, MD4, hoặc MD5 và có thểđược trông mong để thu lại sự công
nhận rộng rãi.
4.5 Giới thiệu về sự quản lý khoá
Công nghệ mật mã đã mô tảở trên tất cả phụ thuộc vào các khoá mật mã..
Quản lý các khoá này là một đề tài phức tạp và một ảnh hưởng chủ yếu đến
việc cung cấp an toàn. Quản lý khoá bao gồm sựđảm bảo giá trị các khoá
đã tạo là phải có các thuộc tính cần thiết, tạo ra các khoá được biết trước
cho các nhóm sẽ sử dụng nó, và đảm bảo rằng các khoá được bảo vệ khi
cần thiết chống lại sự vạch trần và/hoặc sự thay thế. Các phương pháp quản
lý khoá khác phụ thuộc căn bản vào những khoá đó đang được quản lý như
thế nào trong các hệ thống mã đối xứng hoặc các hệ thống mã khoá- chung.
Tất cả các khoá đã có hạn chế trong suốt quá trình. Điều này cần thiết cho
hai lý do:
·Sự giải mã các mật mã đã được làm dễ dàng bởi một số lượng lớn
các văn bản mã; càng nhiều khoá được sử dụng thì càng nhiều cơ hội
cho kẻ xâm nhập thu thập văn bản mã.
·Đưa ra một khoá có thể tin được đã thoả hiệp, hoặc một quá trình
mã hoá/giải mã với một khoá cụ thểđã mã hoá, hạn chế sự tồn tại của
các khoá , hạn chế sự phá huỷ mà có thể xảy ra.
Thời kỳ sử dụng một khoá cụ thểđược xác nhận được gọi là thời kỳ mã hoá
cho khoá đó.
Thông thường, vòng tròn đời sống của một khoá bao hàm các pha sau:
·Sự tạo khoá và, có thểđăng ký;
·Sự phân bố khoá;
·Sự hoạt động và ngưng hoạt động của khoá;
·Sự thay thế hoặc cập nhật khoá ( thỉnh thoảng gọi là tái sử dụng
khoá);
·Sự huỷ bỏ khoá; và
·Sự kết thúc khoá, liên quan đến sự huỷ bỏ và , có thể sự niêm cất.
Quá trình tạo khoá cần đưa vào địa chỉđể nhận dạng các ràng buộc
cho hệ thống mã chuyên biệt ( ví dụ., tránh các khoá yếu cho RSA). Quá
trình tạo này cũng đảm bảo rằng một xử lý ngẫu nhiên sẽ bịảnh hưởng một
cách chính xác. Nếu có bất kỳ một thành kiến nào trong quá trình chọn lựa
khoá, kẻ xâm nhập sẽ sử dụng một sự tiếp cận mọi mặt có thểđem lại lợi ích
lớn từ việc thử các ứng cử trước. Tác vụ cung cấp một sự phát sinh con số
ngẫu nhiên phù hợp cho mục đích này sẽ không được đánh giá đúng mức.
Một quá trình ngẫu nhiên, như là một nguồn tạp nhiễu ngẫu nhiên ( phần
cứng), có khănăng được đưa ra. Một quá trình xử lý phần mềm giải mã
ngẫu nhiên thao tác theo một chữ viết tắt đầu tiên ngẫu nhiên bí mật có thể
tương xứng, nhưng các ký tựđầy đủ của hệ thống đó cần được phân tích
một cách cẩn thận trước khi giảđịnh nó phù hợp với sự phát sinh khoá.
Sựđăng ký khoá liên quan đến việc nối kết một khoá đã được tạo
với cách sử dụng cụ thể của nó. Ví dụ, một khoá được sử dụng trong quá
trình xác nhận một chữ ký điện tử cần để hạn chế sự nhận dạng chữ ký sẽ
quy cho. Quá trình nối kết này sẽđược đăng ký một cách an toàn cho một
vài sự xác nhận.
Quá trình xây dựng khoá được ấn định trong phần 4.6 và 4.7. Quá
trình hoạt động/ ngưng hoạt động của khoá và Sự thay thế/ cập nhật khoá
cũng bị liên quan đến quá trình cây dựng khoá.
Sự huỷ khoá có thể cần thiết trong một số trường hợp được chấp nhận
. Các lý do để huỷ khoá bao gồm sự gỡ bỏ một hệ thống với cái khoá mà đã
liên kết, sự nghi ngờ một khoá cụ thể có thểđã được thoả hiệp, hoặc sự thay
đổi với mục đích là khoá đó đang được dùng ( ví dụ., sự phân loại an toàn
gia tăng).
Sự huỷ bỏ khoá liên quan đến quá trình huỷ bỏ hoàn toàn tất cả các
dấu vết khoá. Giá trị của một khoá có thể vẫn còn tồn tại lâu sau khi nó đã
ngừng sử dụng. Ví dụ, một chuỗi dữ liệu đã mã hoá được ghi lại bây giờ có
thể vẫn chứa đựng một số thông tin mà vẫn sẽ còn độ tin cậy trong vài năm
tới; sự an toàn của bất kỳ một khoá nào đã dùng cho mục đích tin cậy sẽ cần
được bảo trì cho đến khi thông tin đã được bảo vệ không còn cần thiết bảo
vệ nữa. Khẳ năng chứng minh tính hợp pháp của chữ ký điện tử trong phép
thử hợp lệ ( có thể trong vài năm sau nữa) phụ thuộc vào sựđảm bảo rằng
cái khoá hoặc những cái khoá còn lại đã được bảo vệ thông qua toàn bộ thời
gian đó. Điều này rất quan trọng để hủy bỏ một cách an toàn tất cả các bản
sao chép các khoá nhạy sau khi hoạt động của chúng kết thúc. Ví dụ, nó sẽ
không có khẳ năng cho kẻ xâm nhập xác định các giá trị khoá cũ bởi phép
kiểm tra các file dữ liệu cũ , nội dung bộ nhớ, hoặc thiết bị loại bỏ.
Sự niêm cất của một khoá và sự liên kết của nó được yêu cầu nếu một
bản sao đã được bảo đảm của một khoá có thểđược đòi hỏi trong tương lai,
ví dụ, khi giá trị pháp lý hiển nhiên của một chữ ký kỹ thuật số cũ cho mục
đích thừa nhận. Một quá trình liên kết như vậy phải được bảo vệ tốt, cả khi
tính vẹn toàn và sự tin cậy của khoá sẽ luôn cần được bảo trì.
Thông thường, sự bảo vệ một khoá cần có hiệu lực thông qua toàn bộ
thời gian tồn tại của nó, từ khi bắt đầu cho tới khi kết thúc. Tất cả các khoá
cần được bảo vệ cho mục đích vẹn toàn, khi khẳ năng của một kẻ xâm
phạm sửa đổi hoặc thay thế cái khoá có thể làm tổn hại đến dịch vụ bảo vệ
cho cái khoá mà đang được sử dụng. Thêm vào đó, tất cả các khoá ngoại trừ
khoá chung trong hệ thống mã khoá - chung, cần được bảo vệ cho mục đích
tin vậy. Thực tế, cách an toàn nhất để lưu trữ một khoá là trong vị trí an toàn
vật lý. Khi an toàn vật lý của khoá không thực tế ( ví dụ., khi nó cần phải
liên lạc từ nơi này đến nơi khác), khoá đó phải được bảo vệ bởi các phương
tiện khác, như là:
·sự phân công cho một nhóm đáng tin cậy, ví dụ,. một người đưa tin
chính thức sẽđảm bảo sự an toàn cho những thứđã nắm giữ hoặc đã
mang đi;
·sử dụng một hệ thống kiểm soát đối ngẫu, nơi mà một khoá được
trộn thành hai phần với mỗi phần đều đang được giao phó để phân
chia người và/hoặc môi trường cho các mục đích truyền thông hoặc
lưu trữ trung gian; hoặc
·sự bảo vệ trong suốt quá trình truyền thông, bởi sự tin cậy ( ví dụ.,
bằng sự mã hoá theo khoá khác) và/ hoặc các dịch vụ vẹn toàn.
Danh sách tiếp theo giới thiệu khái niệm của cá lớp của sự bảo vệ mật mã ( và các
lớp của các khoá) trong an toàn mạng. Khái niệm này sẽ phát sinh tuần tự trong sự quản
lý khoá.
4.6 Sự phân bố các khoá bí mật.
Sự phân bố khoá sử dụng các công nghệđối xứng
Các sử dụng thương mại hoá chính thức của các hệ thống mã đối xứng bắt
đầu vào đàu những năm 1980, đặc biệt là trong ngân hàng, sau đó là sự
chuẩn hoá của DES và đương lượng nền công nghiệp ngan hàng- thuật toán
Mã hoá Dữ liệu ANSI (DEA). Ứng dụng rộng rãi trong tương lai của DES
đã phát triển vấn đề là quản lý các khoá DES như thế nào [GRE1]. Nó dẫn
đến sự phát triển của tiêu chuẩn ANSI X9.17 về quản lý khoá thể chế tài
chính (Wholesale), mà đã được thành lập vào năm 1985 [BAL1].
Một kết luận sớm về công việc quản lý khoá thể chế tài chính là nhiều
các lớp của các khoá được cần. Các khoá đã sử dụng cho thao tác mã hoá dữ
liệu lớn sẽ cần được thay đổi một cách tuần tự hoàn toàn ( ví dụ., trong một
phiên hoặc nền tẳng hàng ngày). Một cách rõ ràng, Nó không thể phù hợp
được thông qua các hệ thống phân bố khoá thông thường, bởi vì giá trị cao
của những hệ thống như vậy. Điều này đã làm nhận ra hai kiểu khác biệt của
khoá - các khoá riêng, được sử dụng để bảo vệ dữ liệu lớn, và khoá mã hoá
các khoá đã sử dụng để bảo vệ các khoá chính khi chúng cần phải liên lạc từ
hệ thống này đến hệ thống khác. Một khoá chính khi đã sử dụng để bảo vệ
dữ liệu trong suốt một phiên truyền thông, thỉnh thoảng gọi là khoá phiên.
Một khoá mã hoá khoáthì gọi là khoá chính.
ANSI X9.17 đã tiến xa hơn theo ba mức phân cấp của khoá:
· (đã phân bố một cách thông thường) các khoá chính (KKs);
·(đã phân bố trực tuyến) khoá mã hoá các khoá (KKs); và
·các khoá chính, hoặc các khoá dữ liệu ( KDs).
Về cơ bản, KKMs bảo vệ KKs hoặc KDs dọc đường. KKs bảo vệ KDs dọc
đường.
Các khoá chính dạng cơ bản cuả mối liên hệ khoá trong tương lai giữa
hai nhóm liên lạc. Có hai kiểu cấu hình cơ bản . Đầu tiên, cấu hình từđiểm
này tới điểm này, được minh hoạ trong hình 4-9. Hai nhóm liên lạc chia sẻ
một khoá chính, và không có nhóm nào khác đượcliên quan. Trong cầu hình
này, nhóm tạo ra hoặc KKs hoặc KDs mới khi cần thiết , và liên lạc với
chúng tới nhóm khác dưới sự bảo vệ của khoá chính hoặc một KK.
Sự thiết lập KKM( thao tác)
Nhóm
A
Sự thiết lập KK( trực tuyến)
Sự thiết lập KD( trực tuyến)
Nhóm
B
H ình 4-9: Cấu hình điểm này tới điểm này
Vấn đề chính với kiểu cấu hình này là, nếu có n nhóm tất cảđều
muốn liên lạc lẫn nhau, số lượng của các khoá chính đã phân bố thông
thường đã cần là bậc n2. Với một mạng lớn, vấn đề phân bố khoá trở nên rất
khó. Vấn đề này được giảm mạnh với sự giới thiệu của một trung tâm khoá
trong cấu hình, được minh hoạ trong hinh 4-10. Trong cấu hình này, quá
trình liên lạc các nhóm cần chia sẻ mỗi khoá chính một trung tâm khoá,
nhưng không chia cho nhóm khác. Vì vậy, đối với n nhóm , số lượng các
khoá chính đã phân bố cần là n.
Có hai sự khác nhau của các cấu hình trung tâm khoá - các trung tâm
phân bố khoá và các trung tâm truyền dịch khoá. Với trung tâm phân bố
khoá, khi một nhóm A muốn thiết lập một khoá với nhóm B, nó đòi hỏi một
khoá từ trung tâm khoá. Trung tâm khoá tạo ra một khoá đã thiết kế và đưa
nó trở về nhóm A. Nó được quay trở về trong hai dạng - dạng thứ nhất được
bảo vệ theo khoá chính đã chia sẻ giữa nhóm A và trung tâm, dạng hai được
bảo vệ theo khoá chính đã chia sẻ giữa nhóm B và trung tâm. A giữ lại cái
đầu tiên để cho nó sử dụng, và chuyển cái thứ hai để nhóm B sử dụng.
Một trung tâm truyền dịch khoá là như nhau, ngoại trừ nơi mà các
nhóm thích tạo khoá theo yêu cầu hơn là trung tâm tạo khoá. Khi nhóm A
muốn sử dụng một khoá tự tạo để liên lạc với nhóm B, nó sẽ tạo ra cái khoá
và gửi nó tới trung tâm, đã bảo vệ theo khoá chính đã chia sẻ giữa nhó A và
trung tâm. Trung tâm giải mã khoá chính, mã hoá lại nó theo khoá chính để
chia sẻ giữa nhóm B và trung tâm, và đưa nó quay trở lại nhóm A, và đưa
sang cho nhóm B sử dụng.
Giao thức quản lý khoá hỗ trợ cho những chuyển đổi như vậy cung
phải cung cấp sự bảo vệ chống lại việc lặp lại quá trình chuyển đổi khoá cũ.
Lỗi sẽ có thể tạo cho kể xâm phạm có khẳ năng thay thế các khoá, ví dụ.,
thao tác sử dụng lặp lại một khoá cũđã làm tổn hại vài lần trong quá khứ.
Các phương thức để tấn công bộđếm lặp lại bao gồm:
Sự thiết lập KKM( thao tác) Sự thiết lập
KKM( thao tác)
Nhóm
A
Sự thiết lập KK( trực tuyến)
Sự thiết lập KD( trực tuyến)
Nhóm
B
H ình 4-10: Cấu hình trung tâm khoá
·Bộđếm khoá: Tất cả các thông báo truyền dịch có số niêm phong
nó. Sốđó sẽ bị tăng theo mỗi thông báo giữa một cặp các nhóm sử
dụng cùng một khoá mã hoá khoá.
·Khoảng trống khoá: Tổng số tuần tự liên quan đến khoá mã hoá
khoá là Ored độc đáo với cái khoá đó trước khi nó được sử dụng cho
sự phân bốđể mã hoá các khoá khác. Người nhận cũng bù lại khoá
mã hoá khoá với cùng tổng số trước khi giải mã.
·Nhãn thời gian: Tất cả mọi khoá truyền dịch thông tin có nhãn thời
gian đã niêm phong với nó. Các thông báo có nhãn thời gian mà đã
quá cũ sẽ bị loại bởi người nhận.
Tiêu chuẩn ANSI X9.17 định nghĩa một giao thức quản lý khoá , về
mặt định dạng thông tin như là Thông tin Dịch vụ Mật mã ( CSMs). Những
thông tin này đã chuyển đổi giữa một cặp các nhóm đang liên lạc để thiết
lập các khoá mới và thay thế các khoá cũ. Chúng có thểđưa các khoá đã mã
hoá và các vector ban đầu cho thao tác móc xích và các chếđộ phản hồi của
các thao tác trong hệ thống mã đối xứng. Thông tin có thao tác kiểm thử tính
vẹn toàn dựa trên ANSI X9.9.
Trong ANSI X9.17, khoá để mã hoá các khoá có thể là một cặp khoá
hỗ trợ ba lần sự mã hoá ( mã hoá với khoá đầu tiên, sau đó giải mã với khoá
thứ hai, tiếp theo là mã hoá với khoá thứ nhất). Thực chất là tăng độ dài của
các thuật toán.
Sự tiếp cận trên của qúa trình sử dụng các công nghệđối xứng để
phân bố các khoá đối xứng vẫn được sử dụng trong nhiều môi trường.Tuy
nhiên, nó vẫn đang được thay thế bởi những sự tiếp cận mới cho tháo tác
phân bố các khoá đối xứng, mà sử dụng các công nghệ khoá - chung và/
hoặc phương pháp nguồn gốc khoá của Diffie- Hellman( thảo luận sau ở
chương này).
4.7 Kiểm soát cách sử dụng khoá
Trong các sự thực thi an toàn mạng hiện đại, có rất nhiều khóa khác
nhau mà đã được sử dụng cho nhiều mục đích khác nhau. Ví dụ, các khoá
chính được sử dụng để mã hoá và giải mã dữ liệu, trong khi khoá để mã hoá
các khoá được dùng để bảo vệ các khoá khác trong suốt quá trình phân bố.
Thêm vào đó để bảo quản tính bí mật của các khoá, nó rất quan trọng cho
các xử lý sự phân bố khoá đểđảm bảo rằng một khoá đã chỉđịnh cho một
mục đích thì sẽ không thay đổi với khoá được chỉđịnh cho khác mục đích.
Điều này đưa cho các yêu cầu để niêm phong, một chỉ số cho cách dùng hợp
pháp khoá, cùng với giá trị khoá. Ví dụ một yêu cầu, đưa ra sự phân bố cho
các khoá chính và khoá mã hoá các khoá đối xứng. Cho rằng nó có khẳ
năng cho một kẻ xâm nhập linh hoạt thay thế một khoá chính với một khoá
đã chỉđịnh cho mục đích của khoá mã hoá các khoá. Một thiết bị mật mã có
thể chờđể có một chếđộ mà nó sẽ sử dụng một khoá chính để giải mã một
đoạn nhỏ văn bản mã và trả lại kết quả ra ngoài thiết bị. Tuy nhiên, giống
như một biện pháp bảo vệ , cùng một thiết bị sẽ không có chếđộ trả lại kết
quả giả mã với một khoá mã hoá dữ liệu ra ngoài ( kết quả sẽ không được
bảo trì trong bộ lưu trữ an toàn vật lý bên trong tới thiết bị). Nếu một kẻ xâm
phạm có thể làm chủ thiết bịđó nghĩa là một khoá mã hoá khoá thực sự là
một khoá chính ( ví dụ., bằng thao tác can thiệp với giao thức phân bổ khoá),
bây giờ anh ta có thể sử dụng thiết bịđể giải mã ( và phân phát ra ngoài) các
giá trị của các khoá đã được baỏ vệ bởi cái khoá mã hoá khoá.
Thảo luận chi tiết hơn về chủđề này, xem [MAT1].
Sự phân bổ khoá thông quasự truy cập dưới quyền máy chủ
Kiểu ANSI X9.17 của hệ thống phân bổđược thiết kếđể thiết lập các khoá
có khẳ năng cho các hệ thống quản lý các hoạt động truyền thông đã được
bảo vệ. Trong toàn bộ mạng máy tính điển hình, kiểu khác của sựđòi hỏi
phân bố khoá có thể tăng. Đòi hỏi này cũng có thể thoả mãn khi sử dụng các
công nghệ mật mã đối xứng, cúng với sự xác nhận và các cơ cấu kiểm soát
truy cập.
Nó rất cần thiết để bảo vệ một file đến nỗi một nhóm đã hạn chế
người sử dụng có thểđọc nó, trong khi tất cả những người còn ại trong
nhóm đều không được. Các file như vậy có thể cần được phân bố thông qua
các phương tiện không được bảo vệ khác nhau, như là gửi thông báo đến
các máy chủ của file chung. Điều này có thểđạt được bởi người sử dụng gố
mã hoá file sau đó phân bố file đó bằng các phương tiện không được bảo
vệ. Sự giải mã khoá được gửi với một khoá tin cậy tới máy chủ, cúng với
một câu lệnh để ai có tác quyền sẽ nhận khoá đó cà giải mã file đó. ( Câu
lệnhnày là một câu lệnh kiểm soát truy cập, như là một danh sách kiểm soát
truy cập; Chương 6 thảo luận về kiểm soát truy cập chi tiết ).
Bất kỳ một người sử dụng nào được quyền yêu cầu khoá từ máy chủ,
nhưng máy chủ sẽ không chỉ hỗ trợ khoá sau khi xác nhận người yêu cầu và
kiểm tra câu lệnh kiểm soát truy cập cho phép người sử dụng đó sử hữu các
khoá đó.
Sự truyền thông giữa những người sử dụng và máy chủ của khoá cần
được bảo vệ tin cậy sử dụng các phiên truyền thông đã được bảo vệ một
cách độc lập.
Gói thông tin chứa đựng một khoá và câu lệnh kiểm soát truy cập (
thêm các thông tin khác như là bộ nhận dạng thuật toán, thông số, và thông
tin thời gian tồn tại) gọi là một gói khoá.
Sự phân bố khoá sử dụng các công nghệ khoá - chung đảo ngược
Các hệ thống mã khoá- chung có thể thuận tiện cho vụêc quản lý khoá, đặc
biệt cho các mạng lớn vô hạn định. Với các hệ thống đối xứng hoàn toàn, nó
rất cần thiết để bảo trì nhiều mối liên hệ khoá và để phá huỷ các trung tâm
khóa trực tuyến đáng tin cậy hoặc các máy chủ. Với hệ thống khoá- chung,
một vài mối liên hệ khoá xa hơn cần được bảo trì, và các khoá chung có thể
được phân bố không cần sự bảo vệ tin cậy ( chủđề này được thảo luận
trong phần 4.7). Tổng số những thuận lợi của các hệ thống khoá chung, các
hệ thống đối xứng có một thuận lợi chính, ấy là tổng phí của qúa trình thấp
hơn nhiều so với các hệ thống khoá- chung. Điều này tạo nên sự hấp dẫn của
chúng cho sự mã hoá lớn của một số lượng lớn dữ liệu.
Lợi nhuận từ tất cả các thuận lợi trên, một tiếp cận lai có thểđược
dùng. Để mã hoá dữ liệu lớn, cấc hệ thống mã hoá đã được sử dụng ví dụ.,
các khoá chính là các khoá đối xứng. Tuy nhiên, hệ thống của khoá đối
xứng mã hoá khoá được thay thế bởi một hệ thống mã khoá- chung đảo
ngược. Ví dụ, nếu nhóm A muốn thiết lập một khoá chính đối xứng với
nhóm B, sử dụng RSA, có có thể làm như sau. Đầu tiên nhóm A lấy một bản
sao chép kháo chung của nhóm B ( sử dụng các phương pháp đã miêu tả
trong phần 4.7). Sau đó nhóm A tạo ra một khoá đối xứng ngẫu nhiên và gửi
nó tới nhóm B, đã mã hoá theo khoá chung của nhóm B. Chỉ duy nhất nhóm
B có thểđọc giá trị khoá đối xứng, vì chỉ nhóm B biết khoá riêng dùng để
giải mã tin nhắn. Vì vậy hai nhóm thiết lập để chia sẻ kiến thức về khoá đối
xứng và có thể tiếp tục sử dụng nó để bảo vệ dữ liêụđã liên lạc với nhau.
Cơ cấu này yêu cầu không có các máy chủ trực tuyến và không có sự
thương lượng của hia nhóm, phù hợp với những ứng dụng như vậy khi mã
hoá thưđiện tử.
Nguồn gốc khoá Diffie- Hellman
Một sự tiếp cận thay đổi để thiết lập một khoá chính đối xứng có một vài
thuận lợi vượt qua cả sự tiếp cận mã hoá khoá -chung ở trên, đã được phát
minh bởi Whitfield Diffie và Martin Hllman [DIF1]. Được gọi là nguồn gốc
khoá Diffie- Hellman, hoặc nguồn gốc khoá mũ. hoạt động của nó được
minh hoạ trong hình 4-11.
Sựđồng ý trước
Số nguyên tố p( không bí mật)
và giá trị a
A B
Tạo số ngẫu
nhiên bí mật
Tạo số ngẫu
nhiên bí mật
Tính
ax mod p
Tính khoá
ax mod p
ay mod p
y)x
(a
mod p
(a
x)y
mod p
Khoá chung axy mod p
được biết bởi A và B
nhưng không suy diễn được
bởi người nghe trộm
Hình 4-11: Nguồn gốc khoá Diffie- Hellman
Các nhóm A và B đồng ý trước, theo một số nguyên tố p và một phần tử
nguyên tố a trong GF(p)9 Số nguyên tố p có thể là (p-1) có một thừa số
nguyên tố lớn. Sựđồng ý trên cơ bản của các hằng số mở rộng hệ thống đã
phát hành hoặc có thể là kết quả từ các cuộc truyền thông trước ( chú ý, cả
hai nhóm phải chắc chắn được biết các giá trị ). Vì bước đầu ti ên trong quá
trình xuất phát một khoá, nhóm A tạo ra một số ngẫu nhiên x,
2 ≤ x≤ p-2. Sau đó nó tính ax mod p và gửi giá trị này tới nhóm B. Nhóm B
sẽ tạo ra một số ngẫu nhiên y, 2 ≤ y≤ p-1, tính ay mod p, và gửi giá trị này
cho nhóm A. Sau đó nhóm A tính (ay)x mod p và nhóm B tính (ax)y mod p.
Cả hai nhóm bây giờđều biết một khoá chung, K= axy mod p.
Trong khi việc chuyển đổi này đang xảy ra, một người nghe trộm có
thể dễ dàng lấy được cả ax mod p và ay mod p. Tuy nhiên vì độ phức tạp
của việc tính các loga rời rạc, nó không dễ bị lộ ra để anh ta có thể tinh
được x, hoạc y, vì vậy cũng không thể tinh được K.
______________________
9trong toán môđun, khi một môđun là một số nguyên tố p, bộ các số nguyên
dương mod p, cùng với thao tác toán học , là một trường có hạn, ví dụ., một
miền tích phân có hạn là tất cả cá yếu tố bên cạnh 0 có một nghịch đảo gấp
nhiều lần. Bộ các số nguyên dương này được xem là một trường Galois
GF(p). Phần tử số nguyên tố của GF(p)là một số nguyên a, 1 ≤ a≤ p, đó là a,
a2, ... ap-1, bằng 1,2,.. p-1. ví dụ, với p=7, một phần tử số nguyên tố là a=3,
khi a=3, a2 =a, a3= 6, a4= 4, a5= 5 và a6= 1. Các phần tử số nguyên tố luôn
tồn tại.
Sự tiếp cận khoá kiểu này rất hữu ích, nó phải đượclàm với một xử lý
sự xác nhận các thực thể. ( có một sốđiểm trong quá trình thiết lập mộtkhoá
với nhóm khác nếu bạn không thực sự chắc chắn ai ở nhóm kia) Ảnh hưởng
này sẽ tiếp tục sau ở trong sách, trong quá trình thảo luận về sự xác nhận, sự
tin cậy, và các dịch vụ vẹn toàn dữ liệu và các liên quan của chúng.
Lý do chính mà tại sao nguồn gốc khoá Diffie - Hellman tốt hơn so
với sự mã hoá khoá chung của các khoá chính là ảnh hưởng những hạn chế
của nó đối với sự tổn thương hệ thống mã. Với sự mã hoá khoá -chung, nếu
hệ thống mã bị ngắt hoặc nếu khoá riêng đã bị hỏng, tất cả các khoá chính
đã bảo vệ theo hệ thống đó, và tất cả các phương tiện đã được bảo vệ theo
những khoá chính đều bị hỏng. Nếu một nguồn Diffie- Hellman bị hỏng, chỉ
duy nhất phương tiện đã được bảo vệ theo một khoá chính bị hỏng. Sự xác
nhận lỗi mà phá huỷ một công nghệ mật mã khác đã không bị thay đổi bởi
Diffie- Hellman, và ngược lại.
4.8 Sự phân bố của các khoá hệ thống mã khoá- chung
Các yêu cầu phân bố khoá cho các hệ thống mã khoá- chung đã kế thừa từ
các hệ thống mã đối xứng khác. Với một hệ thống mã đối xứng, nó cần thiết
để thay thế các bản sao chép của một khoá dưới quyền kiểm soát của hia
nhóm sẽ sử dụng nó để bảo vệ truyền thông giữa họ, trong khi nắm giữ các
kiến thức về bí mật khoá từ những nhóm khác. Với một hệ thống khoá-
chung, nó cần thiết để thay thế một khoá ( khoá riêng) dưới quyền kiểm soát
của một nhóm, nắm giữ kiến thức về bí mật của nó từ những nhóm khác. Tại
cùng thời điểm đó, một khoá có liên quan ( khoá chung) được tạo ra cho bất
kỳ ai mà muốn liên lạc một cách an toàn với người nắm giữ khoá riêng.
Sự phân bố khoá chung
Quá trình phân bố một khoá chung không đòi hỏi độ tin cậy. Tuy nhiên, bản
chất của nó là tính vẹn toàn của khoá chung phải được bảo trì. Sẽ không có
bất kỳ cơ hội nào cho kẻ xâm nhập thay thế một vài giá trị khác cho những
cái mà nhóm B tin là khoá chung của nhóm A. Ngoài ra, các kiểu tấn công
sau có thể thành công. Một kẻ xâm nhập giả mạo một tin nhắn xuất phát từ
nhóm A, và tạo ra một chữ ký điện tử sử dụng khoá riêng của anh ta. Kẻ tấn
công sau đó sẽ thay thế khoá chung của anh ta cho cài mà nhóm B tin là của
nhóm A. Phép thử chữ ký điện tử của nhóm B ( sử dụng một khoá chung
sai) sẽđịnh ra rằng tất cảđều đúng, ví dụ., kẻ tấn công đã thành công trong
sự giả mạo là nhóm A
Vì vậy, sự phân bố của các khoá chung sẽ không đơn giản bằng quá trình
xuất bản chúng trong thư mục điên thoại ( trừ phi những người sử dụng
có một mứctin cậy cao trong thư mục đó, mà có thể rất khó đểđạt
được).
Điều này dẫn đến là các khác chung đang được phân bố trong các
dạng chứng nhận . Một chứng chỉ, nói thông thường là một cấu trúc dữ
liệu mà được thiết kế bởi một vài nhóm mà những người sử dụng chứng
chỉđấy tin tưởng. Một chứng chỉ khoá -chung là một cấu trúc dữ liệu mà
ràng buộc người định dạng của một vài nhóm ( chủđề) với một giá trị
khoá- chung. Cấu trúc dữ liệu chứng chỉđược ký bởi một vài nhóm khác
như là một xác nhận chứng chỉ.
CHỨNG CHỈ
Chủđề: "G. Smith"
Khoá chung=
"01101011000101001..."
Phụ lục
chữ ký
điện tử
Ngày kết thúc= " 31 tháng 9 1999"
Chữ ký điên tửđã tính
trong nội dung, sử dụng
khoá riêngcủaAcme
Hình 4-12 minh hoạ một cấu trúc cho một chứng chỉ.
Các chứng chỉ khoá- chung có thểđược lưu trữ và được phân bố theo
phương thức không bảo vệ, bao gồm sự phát hành trong một thư mục mà các
dịch vụ không đáng tin cậy. Cung cấp một người sử dụng mà biết trước
khoá chung xác thực của quyền chứng chỉ, mà người sử dụng có thể kiểm tra
tính hợp lệ của chữ ký điện tử trong chứng chỉ. Nếu kết quảđúng, người sử
dụng có thể tin tưởng rằng chứng chỉđưa ra một khoá hợp lệ cho việc định
dạng nhóm.
Trong các mạng độc lập ( ví dụ., một mạng tự trị) tạo thành một hệ thống
dễ nhận biết. Về cơ bản, tất cả các hệ thống người sử dụng trong tương lai
đã đưa ra, thông qua một vài phương tiên dễ nhận ra ( ví dụ sự phân bố thao
tác), một bản sao chép khoá chung của giấy chứng thực của mạng. Sau đó
họ có thể sử dụng khoá này để phân loại các chứng chỉ khoá - chung cho tất
cả những người sử dụng mạng khác, vì vậy dễ dàng đạt được khoá chung
của bất kỳ người sử dụng nào như vậy.
Sự tiếp cân chứng chỉ cũng mở rộng cho môi trường nào mà liên quan
đến nhiều giấy chứng thực, ví dụ., nơi nào mà nó không khẳ thi cho một
giấy chứng thực đơn để biết và chứng nhận tất cả các khoá chung của tất cả
các nhóm truyền thông. Cho rằng nhóm B là trong miền của giấy chứng thực
CA2, muốn được một bản sao chép tin cậy của khoá chung của nhóm A, là
nhóm mà nằm trong miền của giấy chứng thực CA1. Các quy ền được phân
cấp cho CA2và CA2 tin cậy lẫn nhau, CA2 sẽ chuẩn bịđể phát hành một
chứng chỉ mà chứng thực khoá chung của CA1 và CA1 sẽ làm như vậy đối
với khoá chung CA2. Chứng chỉđược đưa ra, thêm chứng chỉ khoá- chung
của nhóm A đã phát hành bởi CA1, nhóm B có thểđạt được một bản sao
chép khoá chung của nhóm A. Nhóm B làm như vậy bởi quá trình thu lần
đầu tiên ( từ chứng chỉ CA2 về khoá chung CA1) một bản sao chép tin cậy
của khoá chung. Sau đó nhóm B sử dụng khoá này để phân loại chứng chỉ
về CA1 khoá chung của nhóm A.
Sự sắp xếp ở trên đã tạo ra một kịch bản mà bất kỳ một chuỗi tincậy
nào thông qua các giấy chứng thực kết nối nhóm A và B. Cung cấp một
chuỗi chứng nhận hoàn thành có sẵn, và cung cấp nhóm B đủ nguyên nhân
tin tưởng những người phát hành chứng chỉ trong chuỗi đó, nhóm B có khả
năng đạt được một bản sao chép khoá chung của bất kỳ nhóm A nào có thể
tới được thông qua một chuỗi tin cậy như vậy.
Đơn giản hoá cấu trúc của những chuỗi như vậy và hạn chếđộ dài của
chung, các giấy chứng thực có thểđược tổ chức trong một phân cấp, ví dụ.,
đượcminh hoá trong hình 4-13. Điều này có thểđược mở rộng cho phạm vi
toàn cầu, ví dụ., có một giấy chứng nhận quốc tế mà chứng thực các vấn đề
về giấy chứng thực quốc gia (các cơ quan của chính phủ, các tập đoàn, hoặc
các tổ chức khác), và v..v...
CAint
Cert Int-UK Cert Int-US
Cert UK-Int Cert US-Int
CAUK
Cert UK-A Cert UK-A
CA
Cert US-C
US
Cert US-D
a b
c
d
Example: Certificates used by A to obtain public key of C:
Cert UK-int Cert int-US Cert US-C
Figure 4-13: Example of a Hierarchical Certification Authority Structure
Chú thích: Ví dụ: Chứng nhận bởi nhóm A để thu được khoá chung
của nhóm C
Giả sử rằng, trong Hình 4-13, CAInt là một giấy chứng nhận xác thực
quốc tế và CAUK và CAUS là các chứng nhận xác thực đối với từng quốc gia
Anh và Mỹ. Giả sử nhóm A trong này chính phủ Anh muốn một khoá chung
đã được chứng nhận của nhóm C trong nước Mỹ. Điều này có thểđạt được
bằng cách sử dụng một chứng nhận bao gồm 3 chứng thực:
·Cert-UK-Int (Chứng nhận của chính phủ Anh cho khoá chung của tổ
chức quốc tế): Khi nhóm A biết một khoá chung trước của chính phủ
Anh, nhóm này có thể xác nhận là nó như là một bản sao chép tin cậy
khoá chung của chính phủ quốc tế.
· Cert-Int-US (Giấy chứng thực theo tiêu chuẩn quốc tế cho khoá
chung của chính phủ Mỹ): Sử dụng khoá chung này từ các chứng
nhận trước, nhóm A có thể xác nhận là nó có một bản sao chép tin cậy
khoá chung của chính phủ Mỹ.
· Cert-US-C (Chứng nhận của chính phủ Mỹ cho các nhóm C): Sử dụng
khoá chung từ chứng nhận trước, nhóm A xác thực nó có một bản sao
chép tin cậy của khoá chung nhóm C.
Với một cơ cấu như vậy, phải chú ý rằng việc kiểm tra một chuỗi
chứng nhận không chỉ là vấn đề kiểm tra các chữ ký một cách máy móc mà
còn là việc kiểm tra nhận dạng của giấy chứng thực đảm bảo rằng chúng
được tin cậy cho mục đích hiện hành. Ví dụ, có thể không có gì ngăn cản
việc hình thành một chuỗi xác thực trong đó giấy chứng thực quốc tế sẽ
chứng nhận khoá chung của giấy chứng thực quốc gia của nước thế giới thứ
ba và giấy chứng thực sau chứng nhận khoá chung của Tổng thống Mỹ.
Trong khi tất cả các chữ ký có thể kiểm tra chính xác, sẽ rất ngớ ngẩn cho
một ai đó ở nước Anh tin vào chuỗi này một cách mù quáng.
Một điểm rất quan trọng khác cần phải chú ý về cơ cấu này là sự phê phán về tính
an toàn xung quanh các giấy chứng thực ở mức độ cao. Ví dụ, giả sử một kẻ xâm nhập
phá huỷ an ninh của giấy chứng thực Mỹ, xét về khía cạnh nào đó thì kẻ xâm nhập này có
thể giả mạo giấy chứng thực từ cấp có thẩm quyền đó (ví dụ, kẻ xâm nhập biết được khoá
riêng của cấp có thẩm quyền đó). Điều này sẽ làm cho kẻ xâm nhập có thể:
•Giả mạo các chữ ký kỹ thuật số từ bất kỳ người nào ở nước Mỹ và tạo ra chuỗi
chứng thực mà sẽ thuyết phục được bất kỳ người nào trên thế giới rằng các chữ ký
đó là hợp pháp; và
•Giả mạo các chữ ký kỹ thuật số từ bất kỳ một người nào ở bên ngoài nước Mỹ
và tạo ra chuỗi chứng thực mà sẽ thuyết phục được bất kỳ người nào ở nước Mỹ
rằng các chữ ký đó là hợp pháp.
Đối với giấy chứng thực quốc tế rủi ro thậm chí có thể cao hơn. Nếu chúng
ta phá hỏng toàn hệ thống. Một kẻ xâm nhập ở mức độ này có thể giả mạo
các chữ ký kỹ thuật số từ bất kỳ một người nào trên thế giới và thuyết phục
những người khác rằng những chữ ký này là hợp pháp.
Rủi ro này sẽđược giảm bớt đôi chút bởi việc cấm những chuỗi xác thực
không cần thiết. Ví dụ, chúng ta có thể yêu cầu rằng những chuỗi xác thực
liên quan tới các cặp của các hệ thống cuối trong miền của Chính quyền Mỹ
không được mở rộng ra ngoài thẩm quyền, nghĩa là khi D xác thực khoá
chung của C, chuỗi chứng thực đơn Cert-US-Cđược chấp thuận nhưng
chuỗi xác thực ba (không cần thiết) của Cert-US-Int, Cert-Int-US, Cert-US-
C không được chấp thuận. Ít nhất điều này có nghĩa là truyền thông trong
nước Mỹ không thể bị phá hỏng bởi một cuộc xâm nhập vào giấy chứng
thực quốc tế.
Đối với những môi trường có độ rủi ro cao, dạng chứng thực cần phải
được mở rộng bao gồm hai chữ ký được hình thành một cách độc lập bởi các
cơ quan của các cấp chứng thực có thẩm quyền riêng biệt, sử dụng các thiết
bị mã hoá riêng biệt có thểở những nơi riêng biệt. Điều này sẽ làm giảm
đáng kể những điểm yếu đối với một cuộc xâm nhập vào hệ thống của các
cấp chứng thực có thẩm quyền, có thể chứng minh sự nghiêm trọng do sự
bảo vệ của tất cả những người sử dụng giấy chứng thực đó bị phá hoại.
Sự hình thành khoá đôi
Chúng ta hãy xem xét việc hình thành một cặp khoá cá nhân/chung và các
phương tiện đảm bảo việc gửi an toàn của:
(a) khoá riêng tới hệ thống sở hữu của nó; và
(b) khóa chung tới cấp chứng thực có thẩm quyền
Để giảm bớt những điểm yếu, quá trình hình thành khoá tốt nhất được tiến hành
trong hệ thống sở hữu và trong hệ thống chứng thực có thẩm quyền, do đó chỉđòi hỏi
truyền một khoá bảo vệ. Việc hình thành khoá đôi trong hệ thống sở hữu là đơn giản
nhất, bởi vì một dãy truyền khoá chung tới hệ thống xác thực có thẩm quyền chỉđòi hỏi
sự bảo vệ toàn bộ (không cần bảo vệ tin cậy). Sự sắp xếp này cũng là cách tốt nhất cho
sự an toàn bởi vì nó có thể xây dựng một thiết bị chống trộm mà có thể tạo ra cặp khoá
riêng và sau đó sử dụng một cặp khoá cá nhân.
Nếu các cặp khoá được tạo ra trong hệ thống xác thực có thẩm quyền, việc truyền
khoá cá nhân tới hệ thống sở hữu sẽđòi hỏi cả bảo vệ toàn bộ và bảo vệ tin cậy. Trong cả
hai trường hợp, nếu yêu cầu khoá lưu trữ thì các bản sao tin cậy của hai khoá này sẽ cần
được gửu tới một hệ thống lưu trữ (có thể cũng cùng vị trí với hệ thống xác thực có thẩm
quyền), và các phương pháp bảo vệ cho những trao đổi này sẽ dòi hỏi việc xem xét cẩn
thận.
Sự thu hồi giấy chứng nhận
Có nhiều lý do khác nhau cho sự cần thiết phải thu hồi trước những giấy
chứng nhận đã phát hành. Một lý do là khoá cần phải được thu hồi (vì các lý
do nhưđã nhận dạng ở Phần 4.5). Tuy nhiên có vài lý do khác cho việc thu
hồi các giấy chứng nhận. Ví dụ, nếu có một sự thay đổi trong mối quan hệ
giữa một người sở hữu khoá chung và một cấp xác thực có thẩm quyền (ví
dụ, người sở hữu không làm việc cho một tổ chức phát hành giấy chứng
nhận nữa), thì cần phải thu hồi lại giấy chứng nhận mặc dù bản thân khoá
chưa bị thu hồi (người sở hữu có thể mang theo khoá tới nơi làm việc mới và
có giấy chứng nhận mới ởđó). Do đó, vấn đề chung đối với các hệ thống
khoá chung là sự thu hồi giấy phép hơn là sự thu hồi khoá.
Sự thu hồi giấy chứng nhận là rất quan trọng và nó có ảnh hưởng tới
việc thực hiện tất cả các khoá chung. Ví dụ, giả sử một cấp xác thực có thẩm
quyền phát hành một giấy chứng nhận cho người sử dụng U, xác nhận một
giá trị khoá chung và đưa ra một khoảng thời gian có giá trị là 6 tháng. Giấy
chứng nhận này được cấp miến phí thông qua một cộng đồng những người
sử dụng miễn phí và được lưu ở những hệ thống khác nhau.
Sau đó, người sử dụng U nghi ngờ khoá riêng của mình bị phá hỏng và yêu
cầu khoá chung tương ứng cũng phải được thu hồi. Vấn đề là không ai có
thể chắc chắn rằng ai cần được thông báo về sự thu hồi. Có thể sẽ có một số
người sử dụng không nghi ngờ là người nhận dạng các tin nhắn được ký là
đến từ người U trong khi các tin nhắn này lại thật sự dến từ một kẻ xâm nhập
trong việc sở hữu một khoá bị phá hỏng lâu dài. Do đó, nhiệm vụ kiểm tra
những giấy chứng nhận có thể bị thu hồi cần phải ngừng lại với những người
sử dụng giấy chứng nhận.
Sự thu hồi giấy chứng nhận thường được hoàn thành bằng việc đăng
trên danh bạ một danh sách các giấy chứng nhận bị thu hồi (CRL, còn gọi là
một danh sách nóng hay một danh sách đen). Một danh sách thu hồi bản
thân nó cũng là một giấy chứng nhận được ký bởi cùng cấp có thẩm quyền
đã ký các giấy chứng nhận gốc. Phụ thuộc vào các nhân tố như thời hạn
chứng nhận, giá trị của các giao dịch được xử lý, v..v.., một người sử dụng
chứng nhận khoá chung cần quyết định nên hay không nhận và kiểm tra
danh sách thu hồi giấy chứng nhận trước khi chấp nhận giấy chứng nhận
gốc.
Bởi vì các khoá xác thực có thẩm quyền cũng cần được thu hồi theo
thời gian , một người sử dụng chuỗi xác thực cần phải kiểm tra danh sách
thu hồi liên quan tới tất cả các giấy chứng nhận trong chuỗi xác thực (mặc
dù các tiêu chuẩn khác nhau có thểđược sử dụng cho các giấy chứng nhận
khác nhau trong việc quyết định nên hay không kiểm tra danh sách thu hồi).
Các danh sách thu hồi thích hợp luôn cần phải có sẵn cho người sử dụng các
giấy chứng nhận.
Phải cẩn thận để tránh sự can thiệp của một kẻ xâm nhập với việc
phân phát các danh sách thu hồi. Cần thiết phải có một thủ tục cốđịnh mà
nhờđó các danh sách thu hồi luôn được cập nhật trên một cơ sở mang tính
nguyên tắc, mặc dù không có sự thay đổi đối với thông tin thu hồi. Cũng như
vậy, mỗi danh sách thu hồi nên bao gồm một tem thời gian. Một thực thể
yêu cầu một danh sách thu hồi sau đó có thể chắc chắn là sẽ có cả một danh
sách có giá trị (bằng việc kiểm tra chữ ký giấy chứng nhận) và một danh
sách cập nhật ( bằng việc kiểm tra nhãn thời gian).
Trường hợp nghiên cứu: Cấu trúc chứng nhận PEM
Phát triển thư tín cá nhân trên mạng (PEM) là một sự lựa chọn an toàn cho
thưđiện tử mà sử dụng hệ thống khoá chung cho mục đích xác thực và phân
phát khoá đối xứng. PEM bao gồm một bản kê khai chi tiết của cơ sở chứng
nhận khoá chung [KEN1]. Toàn bộ hệ thống PEM được miêu tả trong
chương 13 của cuốn sách này. Ởđây, chúng ta chỉ xem xét dạng chung của
cơ sở chứng nhận cung cấp sự minh hoạ thực tiến có giá trị của nhiều qui tắc
đã được thảo luận ở trên.
Cấu trúc theo trật tự nhưđã được minh hoạở Hình 4-14. PEM định
nghĩa các dạng ở mức độ cao và các qui tắc nhất định liên quan đến các mức
độ thấp. Có 3 dạng của cấp xác thực có thẩm quyền:
•Cơ quan đăng ký chính sách mạng (IPRA): Cơ quan này hoạt động
dưới sự bảo trợ của tổ chức mạng như một cơ sở của thứ tự xác thực
cấp độ 1. Nó phát hành các giấy chứng nhận chỉ cho các cấp thẩm
quyền tiếp theo, PCAs.
•Chính sách xác thực có thẩm quyền (PCAs): PCAs ở mức độ hai của
thứ tự xác nhận, mỗi PCA được xác nhận bởi ICRA. Một PCA phải
thiết lập và xuất bản các câu lệnh của các chính sách của nó nhằm xác
nhận những người sử dụng và các cấp xác thực có thẩm quyền thấp
hơn. Phân biệt các PCA nhằm đáp ứng những nhu cầu khác nhau của
người sử dụng. Ví dụ, một PCA (một PCA "tổ chức thường") có thể
hỗ trợ những thưđiện tử chung của các tổ chức thương mại, và một
PCA khác (một PCA "đảm bảo cao") có thể có một chính sách chặt
chẽ hơn được thiết kếđểđáp ứng các yêu cầu ràng buộc chữ ký hợp
pháp.
•Cấp xác thực có thẩm quyền (CAs): CAs ở mức độ 3 của thứ tự xác
nhận và có thểở các mức độ thấp hơn. Những CAs ở cấp độ 3 thì
được xác nhận bởi PCAs. CAs đại diện, ví dụ, cho các tổ chức đặc
biệt, những đơn vịđược tổ chức đặc biệt (ví dụ các phân khu, các
phòng ban), hoặc các khu vực địa lý đặc biệt.
Cấu trúc là một hình cây với chỉ vài khác biệt nhỏ. Một sự khác biệt là
một CA ở mức độ 3 có thểđược xác nhận bởi nhiều hơn một PCA (ví dụ,
CA4 ở Hình 4-14). Điều này cho phép các ngữ nghĩa tin cậy khác nhau được
ứng dụng vào các chuỗi xác thực khác nhau mà có chứa CA.
Ba dạng chính của chính sách được nhận dạng cho các cấp xác thực
thẩm quyền tại mức PCA hay CA:
Level
1
Level
ipra
pca 1 pca 2 pca 3
2
Level
3
ca 1 ca 2 ca 3 ca 4 ca 5
user user cab
user user user user user
user user
Figure 4-14: PEM Certification Authority Structure
Hình 4-14: Cấu trúc xác thực thẩm quyền PEM
Chú thích: User: người sử dụng CA: Cấp xác thực có thẩm quyền.
Level 1: mức 1. PCA: Chính sách xác thực có thẩm quyền.
Level 2: mức 2. IPRA: Cơ quan đăng ký chính sách mạng
Level 3: mức 3.
· Một tổ chức của cấp xác thực có thẩm quyền đưa ra chứng nhận để các
cá nhận gia nhập vào một tổ chức, như là đoàn thể, hội đồng chính phủ,
hoặc viện nghiên cứu giáo dục. Sự gia nhập có thể có nghĩa là sự làm thuê
cho một đoàn thể hoặc hội đồng chính phủ, hoặc đang là sinh viên của viện
nghiên cứu giáo dục.
· Một cấp xác thực có thẩm quyền địa phương đưa ra chứng nhận cho các
cá nhân trên cơ bản là các địa chỉđịa lý. Nó được hình dung như là các thực
thể của chính phủ nhân dân sẽ gách vác các trách nhiệm cho sự chứng nhận
theo các khoá học như vậy.
· Một cấp xác thực có thẩm quyền cá nhân là một trường hợp đặc biệt,
trong đó sự chứng nhận không đòi hỏi kết nối tên của chứng chỉ với thực thể
hoặc từng cá nhân vật lý cụ thể. Nó được thiết lập để cung cấp những người
sử dụng nào mà muốn dấu chỉ danh của họ trong khi đưa ra cách sử dụng
các đặc điểm an toàn của REM.
Quá trình phân loại chứng chỉ cho rằng tất cả mọi người sử dụng đều có
một bản sao chép khoá chung của IPRA. Tất cả chuỗi chứng nhận đều bắt
đầu tại IPRA, sau đó xử lý thông qua PCA, sau Cas nếu cần thiết.
IPRA và PCA đều bị yêu cầu tạo ra danh sách huỷ bỏ chứng nhận và làm
chúng luôn có sẵn. PCA cũng bị yêu cầu phải tuyên bố danh sách phát hành
các chính sách của cấp dưới quyền CAs .
Cấu trúc chứng chỉ của PEM tạo thành một trường hợp đặc biệt cho cấu
trúc phân cấp chung đã được minh hoạ trong hình 4-13, mà nó đã bỏ qua
chứng chỉđược dùng lên và xuống cây phân cấp. Trong chếđộ PEM, sẽ
không có các chứng chỉ trực tiếp ở trên. IPRA được cân nhắc để trở thành
sự tin cậy toàn cầu bởi tất cả những người sử dụng của tất cả các cuộc truyền
thông. Trong khi đây là sự thoả mãn trong môi trường PEM, nó sẽ tạo thành
một hạn chế mối liên hệ tin cậy mà có thể không được chấp nhận trong các
môi trường khác.( trong các ví dụ quốc tếđã thảo luận trước, nó được thông
báo rằng các thành viên của chính phủ Mỹ có thể hy vọng đặt niềm tin vào
giấy chứng nhận Mỹ hơn nhiều so với sự tin tưởng của họ vào giấy chứng
nhận quốc tế; vì vậy, thư mục gốc luôn luôn không phải là điểm tin cậy).
Thuận lợi của cấu trúc PEM là đòi hỏi các chứng chỉ ít hơn cấu trúc thường
và đưa ra các thủ tục không phức tạp cho quá trình phân loại các chuỗi
chứng chỉ.
Một đóng góp chính của thiết kế PEM là sự thiết lập các quy ước thủ tục
và kỹ thuật chung bởi những giấy chứng nhận mà được trông mong để tồn
tại. Khái niệm PCA rất đáng chú ý vì nó cung cấp các công cụ có hệ thống
đối đầu với các kịch bản tin cậy khác nhau. Rất nhiều kinh nghiệm giá trị
trong các cấu trúc chứng thực cụ thể chắc chắn sẽ bị thu lại từ dự án PEM
trong suốt những năm 1990.
Tóm tắt
Các công nghệ mật mã là những khối xây dựng quan trọng trong sự thực
thi của bất kỳ một dịch vụ an toàn nào. Một hệ thống mã định nghĩa sự
truyền dịch sự mã hoá và sự giải mã , mà phụ thuộc vào các giá trị của các
khoá. Một hệ thống mã đối xứng sử dụng một khoá cho cả hai sự truyền
dịch đó. Một hệ thống mã khoá chung sử dụng sự phân chia các khoá cho
mỗi sự truyền dịch.
Chỉ duy nhất hệ thống mã đối xứng chuẩn hoá chung là tiêu chuẩn Mã
hoá Dữ liệu của Mỹ (DES), mà đã từng được sử dụng rộng rãi vào những
năm 1970. theo những thuận lợi của công nghệ, sự tồn tại hữu ích của một
DES mã hoá đơn đang dừng lại. Tuy nhiên, sử dụng nhiều hệ thống mã hoá
DES có thể cung cấp sự bảo vệ cho nhiều ứng dụng trong vài năm tới.
Các hệ thống mã khoá- chung có thể có một chếđộ mã hoá và một chế
độ xác thực. Thuật toán RSA là một thuật toán nghịch đảo, ví dụ., nó có thể
thao tác trong cả hai chếđọ. Độ dài của RSA phụ thuộc vào độ phức tạp của
quá trình phân tích thành thừa số các sản phẩm thành hai số nguyên tố lớn.
Sự lựa chọn một cỡ môđun chính xác có thể tạo cho RSA mạnh tuỳ tiện.
Thuật toán ElGamal là một thuật toán khoá- chung thay đổi, độ dài của nó
phụ thuộc vào mức độ tính các loga rời rạc.
Các giá trị kiểm thử tính vẹn toàn hoặc các dấu niêm phong là những
công cụ tạo ra một phụ lục cho tin nhắn đã được truyền, sử dụng một khoá
bí mật. Nghĩa là nó tạo khẳ năng cho người nhận biết cái khoá để kiểm tra
rằng nguồn và nội dung của tin nhắn đó chính xác. Trong giao thức ngân
hàng, phụ lục được biết như là mã xác nhận tin nhắn, và quá trình tạo phụ
lục chung nhất dùng thuật toán DES. Một quá trình tạo phụ lục thay đổi có
thể dùng một hàm phân cắt.
Một chữ ký điện tử là một đương lượng điện tửđể phân loại nguồn của
một tin nhắn đã được viết dưa trên cơ bản cảu chữ ký đã đưa.
Một chữ ký kỹ thuật số mạnh hơn một dấu niêm phong trong đó người
nhận không có khẳ năng tạo ra một chữ ký kỹ thuật số mà không khác biệt
so với chữ ký mà người gửi đã tạo. Các chữ ký kỹ thuật số thường sử dụng
các hệ thống mã khoá - chung, kết hợp với hàm phân cắt. Tiêu chuẩn quốc
tế ISO/IEC 9796 định nghĩa một thủ tục chữ ký kỹ thuật sốđể sử dụng với
thuật toán của RSA. Chính phủ Mỹđã đề nghị Tiêu chuẩn Chữ ký Kỹ thuật
số sử dụng một tiếp cận luân phiên dựa trên thuật toán ElGamal. Sự thiết kế
phù hợp với các hàm phân cắt kèm theo là một tác vụ khó, và một tập hợp
đã hạn chế các lựa chọn dáng tin tồn tại.
Ứng dụng của tất cả các công nghệ mật mã phụ thuộc vào sự quản lý của
các khoá mật mã. Tất cả các khoá đều có giới hạn thời gian sử dụng. Vòng
tròn đời sống của một khoá liên quan đến một vài pha như là sự phát sinh,
sự phân bố, sự hoạt động/ngưng hoạt động,sự huủy bỏ và sự kết thúc.
Sự phân bố các khoá bí mật có thểđược hoàn thành sử dụng các hệ thống
mã đối xứng. Các khoá chính được phân bố mã hoá theo khoá mã hoá các
khoá. Tiêu chuẩn ANSI X9.17 cho phép ba cấp bậc mã hoá. Để giữ các số
của các khoá quản lý được, các trung tâm phân bố khoá trực tuyến hoặc các
trung tâm biên dịch khoá được yêu cầu. Các khoá bí mật cảu hệ thống mã
đối xứng có thể cũng được phân bố mã hoá theo một hệ thốngkhoá- chung
đảo nghịch như là RSA.Công nghệ Diffie- Hellman tạo khẳ năng cho hai
nhóm nhận một khoá bí mật trực tuyến .
Trong quá trình quản lý khoá của các hệ thống mã khoá- chung, nó rất
quan trọng để phân bố các khoá chung như là một người sử dụng được đảm
bảo là anh ta sẽ có khoá chung chính xác. Vì vậy các khoá chung được phân
bố theo các dạng chứng chỉ, đã ký bởi một giấy chứng thực đáng tin cậy.
Thông thường, yêu cầu nhiều giấy chứng thực.Các giấy chứng thực có thể
chứng nhận các khoá chung lẫn nhau để chứng nhận các chuỗi đang kết nối
các nhóm đang ký và đang phân loại. Tiếp cận này có thểđược mở rộng
cho phạm vi toàn cầu, với một cây phân cấp các giấy chứng thực. dự an Thư
điên tử trợ giúp sự bí mật mạng (PEM) cung cấp một trường hợp giá trị
nghiên cứu sự xây dựng của những cây phân cấp giấy chứng nhận như vậy.
Bài tập
1. Miêu tả những khác nhau cơ bản giữa hệ thống mật mã đối xứng và hệ
thống mật mã khoá chung. Các hệ thống mật mã đối xứng được sử dụng
phù hợp nhất cho những mục đích nào? Các hệ thống mật mã khoá chung
được sử dụng phù hợp nhất cho những mụđích nào?
2. Để cung cấp một dịch vụ dữ liệu toàn bộ, các phương thức trói buộc và
phản hồi của DES có thể góp phần bảo vệ chống lại việc xem lại hay việc
đặt mua lại các mục dữ liệu như thế nào?
3 Một hàm phân cắt đóng vai trò gì trong công nghệđóng dấu và chữ ký
số? Những đặc điểm thiết yếu của hàm này.
4. Miêu tả ngắn gọn các vai trò mà kỹ thuật mật mã của mã hoá/giải mã,
đóng dấu, chữ ký sốđóng trong việc cung cấp các dịch vụ an toàn sau
đây
(a) Tính tin cậy;
(b) Tính vẹn toàn dữ liệu:;
(c) Xác thực nguồn gốc dữ liệu;
(d) Kiểm soát truy cập; và
(e) Sự công nhận các bằng chứng về nguồn gốc.
5. Các sự kiện chính có thể xảy ra trong suốt vòng đời của khoá và đặc thù
của chúng trong trường hợp:
(a) một khoá được sử dụng cho viết lại mật mã; và
(b) một khoá được sử dụng cho chữ ký số.
6. Sự khác nhau cơ bản giữa quản lý các khoá của các hệ thống mật mã đối xứng và
quản lý các khoá của hệ thống mật mã khoá chung?
7. Người B muốn sử dụng một khoá chung của người A để kiểm tra chữ ký
tin nhắn từ người A. Xác thực có thẩm quyền duy nhất mà người B tin là
Z. Khóa chung của người A do cấp có thẩm quyền X công nhận. Xác
thực có thẩm quyền Y chuẩn bị chứng nhận khoá chung của X, và Z có
thể chứng nhận khoá chung của Y. Người B sẽ cần chứng nhận gì?
Người B nên thực hiện sự kiểm tra nào đối với những giấy chứng nhận
này?
8. Với trường hợp tương tự nhưở câu 7 nếu một kẻ xâm nhập E biết được
khoá cá nhân của chứng nhận có thẩm quyền Y và muốn làm giả chữ ký
của người A trên tin nhắn gửi cho người B, thì E sẽ phải tạo chuỗi chứng
nhận gì đểđi kèm với chữ ký giả mạo?
9. Giả sử người A muốn gửi một tệp tin tin cậy lớn tới nhiều người- người
B,C và D- tất cả những người này đều có khoá đôi RSA. Tệp tin sẽđược
gửi đi được mã hoá để không người nào ngoài A,B,C hay D có thể biết
được nội dung của nó bằng cách kiểm soát việc truyền tin. Thay vì gửi
những tin nhắn riêng biệt cho từng người B,C hay D, A muốn tạo ra chỉ
một tin nhắn bao gồm một phiên bản được mã hoá của nội dung tệp tin.
Điều này được thực hiện như thế nào?
Các sách tham khảo
[BAL1] D.M. Balenson, " Sự phân bố tựđộng các khoá mật mã sử dụng Tiêu chuẩn
Quản lý Khoá thể chế Tài chính", Tạp chí truyền thông IEEE, tập 23, số 9(
9/1985), pp.41-46.a
[BIH1] E. Biham và A. Shamir, " Sự phân tích m ã khác nhau của DES như là các hệ
thống mã," Tạp chí của Ngành mật mã tập 4, số 1( 1991), pp3-72..
[BIH2] E. Biham và A. Shamir, " Sự phân tích khác nhau về bản đày đủ của DES chu
kỳ 16," trong E. Brickell (Ed), Thuận lợi trong ngành mật mã- mật mã '92 (
chú thích của bài giảng trong Khoa học máy tính 740), Springer- Verlag,
Berlin,1993, pp.487-496.
[BRA1] G.Brassard, Ngành mật mã hiện đại: một hướng dẫn học( chú thích bài giảng
trong Khoa học máy tính 325), Springer- Verlag, Berlin,1988.
[BR1] E.F. Brickel, " Một cuộc điều tra sụ thực thi phần cứng của RSA," trong G.
Brassard(Ed.),Thuận lợi trong ngành mật mã- mật mã '89 ( Chú thích bài
giảng trong Khoa học máy tính 435),Springer Verlag, Berlin, 1990, pp. 368-
370.
[DEN1] D.E.Denning, Sưk ghi mật mã và An toàn dữ liệu, Addison- Wesley, Đọc,
MA, 1982.
[DEN2] D.E. Denning, " Tiêu chuẩn mã hoá dữ liệu 15 năm của sự nghiên cứu
chung", Quá trình xử lý của hội nghị các ứng dụng an toàn máy tính thông
thường lần thứ 6, Tucson, AZ, 12/1990, Tạp chí xã hội máy tính IEEE, Los
Alamitos, CA, 1990,pp.x-xv.
[DEN3] D.E Denning, " Các chữ ký kỹ thuật số với RSA và các hệ thống mã khoá-
chung khác," các truyền thông của ACM, tập 27, số4 (4/1984), pp.388-392.
[D IF1] W . Diffie và M. Hellman, " Các thư mục mới trong quá trình ghi
mã hoá," Sự chuyển đổi IEEE theo học thuyết thông tin, tập ,IT-
22, số.6(1976), pp.644-654.
[D IF2] W. Diffie, " Mười năm đầu của ngành mật mã khoá chung," trong
Gustavus J. Simmons (Ed.), Ngành mật mã đương thời : Khoa học
về tính vẹn toàn thông tin, Tạp chí IEEE, New York, 1992,pp.136-
175.
[D US1] S.R. Dusse và B.S, Kaliski, Jr., " Một thư viện mật mã cho hãng Motrrola
DSP56000, " trong I.B.Damard (Ed.), Thuận lợi trong ngành mật mã- mã hoá
số 0 '90 ( Chú thích bài giảng trong Khoa học máy tính 473), Springer Verlag,
Berlin, 1991, pp. 230-244.
[EBE1] H.Eberle, " Sự thực thi DES tốc độ cao cho các sự thực thi mạng", trong E.
Brickell (Ed.), thuận lợi trong ngành mật mã- mật mã '92 ( Chú thích bài
giảng trong Khoa học máy tính 740), Springer Verlag, Berlin, 1993, pp. 521-
539.
[ELG1] T.ElGamal, " Một hệ thống khoá chung và một cơ cấu chữ ký dựa
trên các thuật toán loga rời rạc, "Sự chuyển đổi IEEE theo học
thuyết thông tin, tập .IT-31, số.4(1985), pp.469-72.
[G AR1] G.Garon và R. Outerbridge, " Xem DES: Một sự kiểm tra tính hiệu
quả của tiêu chuẩn Mã hoá Dữ liệu về an toàn Thông tin thể chế
Tài chính trong những năm 1990, Ngành mật mã , tập. XV, số .3
(6/1991),pp.177-193.
[G OR1] J.Gordon, " Các khoá RSA mạnh," thưđiện tử, tập.20, số.5, pp.514-6.
[GRE1] M.B. Greenlee, " Các yêu cầu về các giao thức quản lý khoá trong công nghiệp
các dịch vụ tài chính bán sỉ," Tạp chí truyền thông IEEE, Tập. 23, số. 9
(9/1985),pp.22-28.
[JUE1] R.R. Jueneman, S.M. Matyas, và C.H.Meyer, " Sự xác nhận thông tin," Tạp chí
truyền thông IEEE, Tập. 23, số. 9 (9/1985),pp.29-40.
[KAL1] B. Kaliski, thuật toán điện báo MD2: Đòi hỏi thông báo (RFC) 1319, Bảng hoạt
động mạng, 1992.
[KEN1] S. Ken, Hỗ trợ bảo mật Thưđiện tử : Phần II: Chứng chỉ quản lý khoá, yêu cầu
thông báo (RFC) 1422, Bảng hoạt động mạng 1993.
[MAT1] S.M. Matyas, " Nắm giữ khoá với các vector điều kiển," Tạp chí định kỳ các hệ
thống IBM, tập 30, số.2(1991), pp 151-174.
[MER1] R.C. Merkle và M.E. Hellman, " Trong sự an toàn của mã hoá đa nhiệm,"
Truyền thông của ACM, tập,.27, số. 7(6/1991), pp.465-67..
[MER2] R.C. merkle, " Các hàm phân cắt một chiều và DES, trong G. Brassard (Ed.),
Thuận lợi trong ngành mật mã- mật mã '89 ( chú thích trong khoa học máy tính
435),Springer- Verlag, Berlin, 1990,pp.428-446.
[MEY1] C.H.Meyer và S.M> Matyas, Sự ghi mật mã : Một điều kiện mới trong An toàn
dữ liệu máy tính, John Wiley và Sons, New York, 1982
[MIT1] C.J. Mitchell, F. Piper, và P. Wild, " Các chữ ký kỹ thuật số" trong
G.J.Simmons (Ed.), Ngành mật mã đương thời: Kiến thức về tính vẹn toàn của
thông tin, Tạp chí IEEE, New York, 1992, pp.325-378.
[NEC1] J.Nechvatal, " Sự ghi mật mã khoá chung," trong G.J.Simmons (Ed.), Ngành
mật mã đương thời: Kiến thức về tính vẹn toàn của thông tin, Tạp chí IEEE,
New York, 1992, pp.178-288.
[NIS1] Bộ thương mại Mỹ, Viện nghiên cứu quốc gia về Tiêu chuẩn và Công nghệ, "
Quá trình phê chuẩn tính chính xác của sự thực thi phần cứng của tiêu chuẩn mã
hoá dữ liệu NBS," Ấn phẩm đặc biệt của NIST 500-20
[NIS2] Bộ thương mại Mỹ, Viện nghiên cứu quốc gia về Tiêu chuẩn và Công nghệ, "
Phép kiểm thử sự bảo trì cuả Tiêu chuẩn mã hoá dữ liệu ," Ấn phẩm đặc biệt
của NIST 500-61.
[NIS3] Bộ thương mại Mỹ, Viện nghiên cứu quốc gia về Tiêu chuẩn và Công nghệ, "
Tiêu chuẩn xử lý thông tin liên bang cho tiêu chuẩn chữ ký kỹ thuật số (DSS),"
đăng ký liên bang, 30/8/1991
[RIV1] R.L.Rivest, A. Sharmin, và L.Adleman, " Một phương pháp để thu lại các chữ
ký kỹ thuật số và các hệ thống mã khoá- chung," Truyền thông của ACM, tập
21, số 2 (2/1978), pp.120-126.
[RIV2] R.L.Rivest, M.E.Hellman, và J.C.Anderson, " Hồi đáp các đơn đề nghị của
NIST" Truyền thông của ACM, tập 35, số 7(6/1992),pp.41-52
[RIV3] R.L.Rivest, Thuật toán Điện báo MD4. Đòi hỏi thông báo (RFC) 1320, Bảng
hoạt động mạng, 1992.
[RIV4] R.L.Rivest, Thuật toán Điện báo MD5. Đòi hỏi thông báo (RFC) 1321, Bảng
hoạt động mạng, 1992.
[SCH1] C.P. Schnorr, " Hiệu quả của sự phát sinh chữ ký của thẻ thông minh," Tạp chí
Ngành mật mã, tập 4, số.3(1991),pp. 161-174.
[SHA1] M. Shand, P.Bertin, và J. Vuillemin, " Tăng tốc độ phần cứng trong cấp số nhân
số nguyên dương," Quá trình xử lý tập chuyên đề ACM lần thứ hai trên thuật
toán thông số và các kiến trúc, Crete, 2/6/1990.
[SEB1] J. Seberry và J. Pieprzyk, Ngành mật mã: giới thiệu về sự an toàn máy tính,
Prentice Hall, EngleWood Cliffs, NJ, 1989.
[SMI1] M.E. Smid và D.K. Branstad, "Tiêu chuẩn mã hoá dữ liệu: quá khứ và tương
lai." Quá trình xử lý của IEEE, tập. 76, số.5( 5/1988), pp. 550-559
[SMI2] M.E. Smid và D.K. Branstad, " Hồi đáp thông báo trên NIST đã đề nghị Tiêu
chuẩn chữ ký kỹ thuật số," trong E.Brickell (Ed.), Thuận lợi trong Ngành mật
mã -mật mã '92 ( Chú thích bài giảng trong khoa học máy tính 740), Springer-
Verleg, Berlin,1993, pp. 76-88.
[TUC1] W . Tuchman, " Hellman trình bày giải pháp không đi tắt đến DES," Tạp chí
IEEE, tập 16, số.7(6/1979),pp.40-41.
[TSU1] G. Tsudik, " Sự xác nhận thông tin với hàm phân cắt một chiều," Xem lại
truyền thông máy tính, tập.22, số.5, (10/1992), Tạp chí ACM, New York, pp.29-
38.
[VAN1] P.C van Oốcht và M.J. Wiener, " Một cuộc tấn côngvăn bản rõ vào sự mã hoá
gấp ba lần hai khoá," trong I.B. Damgard (Ed.), thuận lợi trong Ngành mật mã-
mật mã hoá '90 ( Chú thích bìa giảng trong khoa học máy tính 473), springer-
Verlag, Berlin, 1991,pp.318-325.
[VAN2] P.C, van Oorschot, " Só sánh các hệ thống mã khoá chung dựa trên sự tìm thừa
số các số nguyên và các thuật toán loga rời rạc," trong G.J.Simmons (Ed.),
Ngành mật mã đương thời: Kiến thức về tính vẹn toàn của thông tin, Tạp chí
IEEE, New York, 1992, pp. 289-322.
Các tiêu chuẩn
ANSI X3.92:Tiêu chuẩn quốc gia Mỹ, thuật toán mã hoá dữ liệu, 1981.
ANSI X9.9 :Tiêu chuẩn quốc gia Mỹ về sự xác nhận thông tin thẻ chế tài chính.(bán sỉ),
1986
ANSI X9..17:Tiêu chuẩn quốc gia Mỹ cho sự quản lý khoá thể chế tài chính( bán sỉ),
1985.
ANSI X9.30:Tiêu chuẩn quốc gia Mỹ, Ngành mã hoá khoá chung sử dụng các thuật toán
đảo ngược cho công nghiệp các dịch vụ tài chính?( hối phiếu).
ASIN X9.31: Ngành mật mã khoá chung Tiêu chuẩn quốc gia Mỹ sử dụng các thuật toán
đảo ngược cho nền công nghiệp các dịch vụ tài chính ( hối phiếu).
FIBS PUB 46: Bộ thương mại Mỹ, tiêu chuẩn mã hoá dữ liệu, Ấn phẩm các tiêu chuẩn
xử lý thông tin liên bang 46, 1977 ( tái xuất bản là FIPS PUB 46-1, 1988).
FIPS PUB 74: Hướng dẫn thực thi và sử dụng Tiêu chuẩn mã hoá dữ liệu NBS, Ấn phẩm
các tiêu chuẩn xử lý thông tin liên bang 74, 1981.
FIPS PUB 81: Bộ thương mại Mỹ, Các chếđộ hoạt động của DES, Ấn phẩm các tiêu
chuẩn xử lú thông tin liên bang 81,1980.
FIPS PUB 180: Bộ thương mại Mỹ, Thuật toán phân cắt an toàn, Ấn phẩm các tiêu chuẩn
xử lý thông tin liên bang 180,1993.
ISO 8730: Ngân hàng- Các yêu cầu về sự xác nhận thông tin ( bán sỉ).
ISO/IEC 9796: Công nghệ thông tin- Các công nghệ bảo mật- Cơ cấu chữ ký kỹ thuật số
đưa ra sự phục hồi thông tin.
Bạn đang đọc truyện trên: AzTruyen.Top