Professional Documents
Culture Documents
GV hướng dẫn:
Nhóm SV thực hiện: 1. Lê Vũ Phong
2. Lê Hồ Chí Quốc
Lớp: HTTT K30
MỤC LỤC
I. NHỮNG KHÁI NIỆM LIÊN QUAN
1. An toàn thông tin
1.1 Khái niệm
An toàn nghĩa là thông tin được bảo vệ, các hệ thống và những dịch vụ có
khả năng chống lại những tai hoạ, lỗi và sự tác động không mong đợi, các
thay đổi tác động đến độ an toàn của hệ thống là nhỏ nhất. Hệ thống có một
trong các đặc điểm sau là không an toàn: Các thông tin dữ liệu trong hệ
thống bị người không được quyền truy nhập tìm cách lấy và sử dụng (thông
tin bị rò rỉ). Các thông tin trong hệ thống bị thay thế hoặc sửa đổi làm sai
lệch nội dung (thông tin bị xáo trộn)...
Thông tin chỉ có giá trị cao khi đảm bảo tính chính xác và kịp thời, hệ thống
chỉ có thể cung cấp các thông tin có giá trị thực sự khi các chức năng của hệ
thống đảm bảo hoạt động đúng đắn. Mục tiêu của an toàn bảo mật trong
công nghệ thông tin là đưa ra một số tiêu chuẩn an toàn. Ứng dụng các tiêu
chuẩn an toàn này vào đâu để loại trừ hoặc giảm bớt các nguy hiểm. Do kỹ
thuật truyền nhận và xử lý thông tin ngày càng phát triển đáp ứng cácyêu
cầu ngày càng cao nên hệ thống chỉ có thể đạt tới độ an toàn nào đó. Quản lý
an toàn và sự rủi ro được gắn chặt với quản lý chất lượng. Khi đánh giá độ
an toàn thông tin cần phải dựa trên phân tích các rủi ro, tăng sự an toàn bằng
cách giảm tối thiểu rủi ro. Các đánh giá cần hài hoà với đặc tính, cấu trúc hệ
thống và quá trình kiểm tra chất lượng.
Hiện nay các biện pháp tấn công càng ngày càng tinh vi, sự đe doạ tới độ an
toàn thông tin có thể đến từ nhiều nơi theo nhiều cách chúng ta nên đưa ra
các chính sách và phương pháp đề phòng cần thiết.
1.2 Taị sao phải quan tâm đến an toàn thông tin?
Khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, các tiến bộ
về điện tử - viễn thông và công nghệ thông tin không ngừng được phát triển
ứng dụng để nâng cao chất lượng và lưu lượng truyền tin thì các quan niệm
ý tưởng và biện pháp bảo vệ thông tin dữ liệu cũng được đổi mới. Bảo vệ an
toàn thông tin dữ liệu là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và
trong thực tế có thể có rất nhiều phương pháp được thực hiện để bảo vệ an
toàn thông tin dữ liệu. Các phương pháp bảo vệ an toàn thông tin dữ liệu có
thể được quy tụ vào ba nhóm sau:
Bảo vệ an toàn thông tin bằng các biện pháp hành chính.
Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng).
Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm).
Ba nhóm trên có thể được ứng dụng riêng rẽ hoặc phối kết hợp. Môi trường
khó bảo vệ an toàn thông tin nhất và cũng là môi trường đối phương dễ xân
nhập nhất đó là môi trường mạng và truyền tin. Biện pháp hiệu quả nhất và
kinh tế nhất hiện nay trên mạng truyền tin và mạng máy tính là biện pháp
thuật toán. An toàn thông tin bao gồm các nội dung sau:
Đảm bảo tính tin cậy (Confidentiality): Thông tin không thể bị truy nhập trái
phép bởi những người không có thẩm quyền.
Đảm bảo tính nguyên vẹn (Integrity): Thông tin không thể bị sửa đổi, bị làm
giả bởi những người không có thẩm quyền.
Đảm bảo tính sẵn sàng (Availability): Thông tin luôn sẵn sàng để đáp ứng sử
dụng cho người có thẩm quyền.
Đảm bảo tính không thể từ chối (Non-repudiation): Thông tin được cam kết
về mặt pháp luật của người cung cấp.
Xác định càng chính xác các nguy cơ nói trên thì càng quyết định được tốt
các giải pháp để giảm thiểu các thiệt hại. Có hai loại hành vi xâm phạm
thông tin dữ liệu đó là: vi phạm chủ động và vi phạm thụ động. Vi phạm thụ
động chỉ nhằm mục đích cuối cùng là nắm bắt được thông tin (đánh cắp
thông tin). Việc làm đó có khi không biết được nội dung cụ thể nhưng có
thể dò ra được người gửi, người nhận nhờ thông tin điều khiển giao thức
chứa trong phần đầu các gói tin. Kẻ xâm nhập có thể kiểm tra được số
lượng, độ dài và tần số trao đổi.
Vì vậy vi pham thụ động không làm sai lệch hoặc hủy hoại nội dung thông
tin dữ liệu được trao đổi. Vi phạm thụ động thường khó phát hiện nhưng có
thể có những biện pháp ngăn chặn hiệu quả. Vi phạm chủ động là dạng vi
phạm có thể làm thay đổi nội dung, xóa bỏ, làm trễ, xắp xếp lại thứ tự hoặc
làm lặp lại gói tin tại thời điểm đó hoặc sau đó một thời gian. Vi phạm chủ
động có thể thêm vào một số thông tin ngoại lai để làm sai lệch nội dung
thông tin trao đổi. Vi phạm chủ động dễ phát hiện nhưng để ngăn chặn hiệu
quả thì khó khăn hơn nhiều.
Một thực tế là không có một biện pháp bảo vệ an toàn thông tin dữ liệu nào
là an toàn tuyệt đối. Một hệ thống dù được bảo vệ chắc chắn đến đâu cũng
không thể đảm bảo là an toàn tuyệt đối.
2. Giao thức xác thực
2.1 Khái niệm
Xác thực-Authentication là một hành động nhằm thiết lập hoặc chứng thực
một cái gì đó (hoặc một người nào đó) đáng tin cậy, có nghĩa là, những lời
khai báo do người đó đưa ra hoặc về vật đó là sự thật. Xác thực một đối
tượng còn có nghĩa là công nhận nguồn gốc (provenance) của đối tượng
trong khi, xác thực một người thường bao gồm việc thẩm tra nhận dạng của
họ. Việc xác thực thường phụ thuộc vào một hoặc nhiều nhân tố xác
thực (authentication factors) để minh chứng cụ thể.
Trong an ninh máy tính xác thực là một quy trình nhằm cố gắng xác
minh nhận dạng số (digital identity) của phần truyền gửi thông tin (sender)
trong giao thông liên lạc chẳng hạn như một yêu cầu đăng nhập. Phần gửi
cần phải xác thực có thể là một người dùng sử dụng một máy tính, bản thân
một máy tính hoặc một chương trình ứng dụng máy tính (computer
program). Ngược lại Sự tin cậy mù quáng (blind credential) hoàn toàn không
thiết lập sự đòi hỏi nhận dạng, song chỉ thiết lập quyền hoặc địa vị hẹp hòi
của người dùng hoặc của chương trình ứng dụng mà thôi.
Đinh nghĩa toán học Một mã xác thực là một bộ 4 (S,R,K,C) thoả mãn các
điều kiện sau :
S là tập hữu hạn các trạng thái nguồn có thể
A là tập hợp các nhãn xác thực có thể
K là một tập hữu hạn các khoá có thể (không gian khoá)
Với mỗi kK có một quy tắc xác thực ek : S→R
Tập bản tin được xác định bằng C=S→R
Chú ý một trạng thái nguồn tương đương với một bản rõ.Một bản tin
gồm một bản rõ với một nhãn xác thực kèm theo,một cách chính xác hơn có
thể coi đó là là một bản tin đã được xác nhận.Một quy tắc xác thực không
nhất thiết phải là hàm đơn ánh.
Để phát một thông báo (đã được kí).Alice và Bob phải tuân theo giao
thức sau.Trước tiên họ phải chọn một khoá ngẫu nhiên K∈K.Điều này được
thực hiện một cách bí mật như trong hệ mật khoá bi mật. Sau đó giả sử rằng
Alice muốn gửi một trạng thái nguồn sS cho Bob trong một kênh không an
toàn.Alice sẽ tính a=ek(s) và gửi bản tin (s, a) cho Bob.Khi nhận được (s, a)
Bob tính a’=eK(s).Nếu a=a’ thì Bob chấp nhận bản tin là xác thực,ngược lại
Bob sẽ loại bỏ nó.
Ta sẽ nghiên cứu hai kiểu tấn công khác nhau mà Oscar có thể tiến
hành.Trong cả hai loại này, Oscar sẽ là’’kẻ xâm nhập vào giưa cuộc’’.Các
phép tấn công này được mô tả như sau:
Giả mạo
Oscar đưa ra một bản tin (s, a) vào kênh và hi vọng nó sẽ được Bob
chấp nhận.
Thay thế
Oscar quan sát một bản tin trong (s, a) kênh, sau đó anh ta biến đổi nó
thành (s’,a’), trong đó s’=s và hi vọng được Bob chấp nhận như một bản tin
xác thực .Bởi vậy anh ta tin sẽ lái được Bob đi tới trạng thái nguồn mới này
Ứng với mỗi phương pháp này là một xác xuất lừa bịp, là xác suất để
Oscar thành công trong việc lừa Bob nếu anh ta (Oscar) tuân thủ một chiến
lược tối ưu. Các xác suất này được kí hiệu là Pd 0 (trường hợp giảmạo) và
Pd1 (trường hợp thay thế). Để tình Pd 0 và Pd1 ta cần phải xác định các phân
bố xác suất trên S vàK. Các xác suất này được kí hiệu tương ứng là Ps và Pk.
Giả sử rằng Oscar đã biết mã xác thực và hai phân bố xác suất này. Chỉ
có một thông tin mà Alice và Bob có nhưng mà Oscar không được biết là giá
trị của khoá.
2.1 Các phương pháp xác thực
2.1.1 Xác thực dựa trên user name và password
Sự kết hợp của một user name và password là cách xác thực cơ bản nhất.
Với kiểu xác thực này, chứng từ ủy nhiệm User được đối chiếu với chứng từ
được lưu trữ trên database hệ thống , nếu trùng khớp username và password,
thì user được xác thực và nếu không User bị cấm truy cập. Phương thức này
không bảo mật lắm vì chứng từ xác nhận User được gửi đi xác thực trong
tình trạng plain text, tức không được mã hóa và có thể bị tóm trên đường
truyền.
3.4.3 Vé (Ticket)
Một vé là một cái gì đó mà Client gởi đến một ứng dụng máy chủ
để chứng minh sự xác thực của nó để nhận dạng. Vé được phát hành bởi các
máy chủ xác thực và được mã hóa bằng cách sử dụng khoá bí mật của các
dịch vụ mà họ được dành cho. Khoá này là một bí mật chỉ được chia sẻ giữa
các máy chủ xác thực và máy chủ cung cấp các dịch vụ, ngay cả những
Client chỉ có thể yêu cầu cấp vé nhưng không có quyền xem thay đổi nội
dung của nó. Chính thông tin chứa trong một vé bao gồm:
Những yêu cầu của người sử dụng thiết yếu (thông thường
Username).
Các thiết yếu của các dịch vụ đó là dành cho.
Địa chỉ IP của máy khách mà từ đó các vé có thể được sử dụng.
Ngày và thời gian (trong thời gian định dạng) khi những vé có tính
hợp lệ .
Vòng đời tối đa của vé
Các khóa phiên (điều này có một vai trò cơ bản được mô tả dưới
đây).
Mỗi một vé có hạn sử dụng ( thường 10 giờ ). Đây là điều cần
thiết giúp các máy chủ xác thực có thể kiểm soát tốt hơn đối với một vé đã
được ban hành. Realm quản trị có thể ngăn ngừa việc phát hành mới hoặc
thu hồi vé cho một người sử dụng vào bất kỳ thời diểm nào, nó có thể không
ngăn cản người sử dụng bất hợp pháp khi họ có vé. Đây là lý do cho việc
giới hạn vòng đời của vé để hạn chế thay thế và mạo danh người sử dụng
hợp pháp.
3.4.4 Khóa phiên
Như chúng ta đã thấy, người dùng và các dịch vụ chia sẻ một bí mật
với các KDC. Đối với người sử dụng khóa nay chinh là phép băm các thông
tin đầu vào và mật khẩu cho.Đối với server dịch vụ, đó là chìa khóa bí mật
của họ (được đặt bởi quản trị viên). Các khóa này được gọi là khóa dài hạn,
vì nó không thay đổi khi phiên làm việc thay đổi.
Tuy nhiên, người sử dụng vẫn phải xác thực đối với server dịch vụ ít
nhất là cho thời gian trong đó có một khách hàng đã có một phiên làm việc
mở trên dịch vụ đó điều này quan trọng, tạo ra bởi các KDC khi một vé đã
được ban hành, được gọi là các khóa phiên. Các bản sao dành cho dịch vụ
này là bao bọc KDC trong vé (trong bất kỳ trường hợp nào ứng dụng máy
chủ của họ hiểu biết khóa dài hạn và có thể giải mã nó và trích các khóa
phiên), trong khi các bản sao dành cho người sử dụng đã đóng gói trong một
gói được mã hóa với người sử dụng khoá lâu dài. Các khóa phiên đóng một
vai trò cơ bản trong chứng minh xác thực của người sử dụng.
3.4.5 Mã hóa
Như chúng ta thấy thấy Kerberos thường được nhu cầu để mã hóa và
giải mã thông điệp (vé và khóa) đi qua giữa những người khác nhau trong
việc xác thực. Điều quan trọng cần lưu ý là chỉ sử dụng Kerberos mã hóa
khóa đối xứng (nói cách khác khóa cùng được sử dụng để mã hóa và giải mã
).
Kerberos 4 thực hiện một loại mã hóa mà là ở DES 56 bit. Sự yếu kém
này đã dẫn đến dễ bị tấn công làm cho Kerberos 4 bị lỗi thời. Phiên bản 5
của Kerberos, hỗ trợ rất nhiều kiểu mã hóa phức tạp khác nhau tùy vào việc
triển khai trên một mô hinh cụ thể nào đó. vì vậy tính linh hoạt và mở rộng
của giao thức đã được nâng caolàm cho Kerberos 5 có khã năng tương thích
cao với nhiều hệ thống khác nhau. Để khách hàng có thể sử dụng ứng dụng
xác thực bằng cách sử dụng các máy chủ khác nhau, họ phải có ít nhất một
loại mã hóa chung.
Những khó khăn liên quan đến việc triển khai vận hành giữa UNIX của
Kerberos 5 và tồn tại trong Active Directory của Windows là giới hạn hỗ trợ
mã hóa chỉ dưng lại ở DES 56 bit. Điều này sẽ làm giảm tính an toàn của hệ
thống. Vấn đề này sau đó đã được giải quyết với phiên bản 1,3 của MIT
Kerberos 5. Phiên bản này được giới thiệu RC4-HMAC và bộ ba DES
(3DES) và mới hơn AES 128 và AES 256 đáng đề cập đến.
3.5 Hoạt động
Kerberos không xây dựng các giao thức chứng thực phức tạp cho mỗi
máy chủ mà hoạt động dựa trên một máy chủ chứng thực tập trung KDC
(Key Distribution Centre). KDC cung cấp vé cho việc chứng thực người
dùng và bảo mật truyền thông bởi khoá phiên trong vé gồm3 giai đoạn và 6
bước trao đổi
Client chứng thực AS (Authentication Server - biết khoá mật của tất cả
người dùng được lưu giữ trên một cơ sở dữ liệu tập trung )
AS_REQ là yêu cầu người dùng xác thực ban đầu(khởi tạo dich vụ)
yêu cầu này được chuyển trực tiếp tới các thành phần được gọi là KDC
Authentication Server (AS).
AS_REP là trả lời của máy chủ xác thực để yêu cầu trước đó. Về cơ
bản nó chứa TGT (mã hóa bằng cách sử dụng khóa TGS bí mật) và khóa
phiên (được mã hóa bằng khóa bí mật của người dùng yêu cầu)
Client xác thực TGS (Ticket Granting Server - cung cấp vé dịch vụ cho
phép người dùng truy nhập vào các máy chủ trên mạng)
TGS_REQ là yêu cầu từ khách hàng đến Cấp vé máy chủ (TGS) cho
một vé thông hành. Về cơ bản nó chứa TGT (mã hóa bằng cách sử dụng
khóa TGS bí mật) và khóa phiên (được mã hóa bằng khóa bí mật của người
dùng yêu cầu)
TGS_REP là trả lời của Cấp vé máy chủ để yêu cầu trước đó.Nằm bên
trong là vé dịch vụ theo yêu cầu (được mã hóa với khóa bí mật của dịch vụ)
và phiên dịch vụ một khóa tạo ra bởi TGS và được mã hóa bằng khóa phiên
trước đó được tạo ra bởi AS.
khách hàng truy cập và được cấp phép sử dung dịch vụ
AP_REQ là yêu cầu khách hàng gửi tới một máy chủ ứng dụng để truy
cập vào một dịch vụ. Các thành phần là các dịch vụ bán vé thu được từ TGS
với thư trả lời trước và nhận thực một lần nữa được tạo ra bởi khách hàng,
nhưng lần này được mã hóa bằng khóa phiên dịch (tạo ra bởi TGS);
AP_REP là trả lời rằng các máy chủ ứng dụng cung cấp cho khách
hàng để chứng minh nó thực sự là máy chủ của khách hàng là mong muốn.
Gói này không phải lúc nào cũng được yêu cầu. Các khách hàng yêu cầu
máy chủ cho nó chỉ khi xác thực lẫn nhau là cần thiết.
Lưu ý tất cả các trao đổi giữa các máy đều dược đóng dấu thời gian
Timestamp
Pha 1 Truyền thông
với AS
Key Distribution Center
(KDC)
Authentication Server
(AS)
` DATABASE
Applycation Server