CÁC GIAO THỨC PHÂN PHỐI KHÓA TRONG BẢO MẬT VÀ AN TOÀN THÔNG TIN TRÊN ĐƯỜNG TRUYỀN Tìm hiểu các kỹ thuật quản trị và kiểm tra việc sử dụng khóa. Tìm hiểu giao thức socket an toàn – công nghệ ứng dụng sử dụng các giao thức tạo lập khóa đã nghiên cứu, cơ sở hạ tầng khóa công khai PKI trong môi trường mạng toàn cầu.
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
Lê Anh Trung
ĐỀ TÀI : CÁC GIAO THỨC PHÂN PHỐI KHÓA TRONG BẢO MẬT
VÀ AN TOÀN THÔNG TIN TRÊN ĐƯỜNG TRUYỀN
Chuyên ngành: Hệ thống thông tin
Mã số: 60.48.01.04 TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2013
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: TS LÊ VĂN PHÙNG
Phản biện 1: ……… Phản biện 2: ………
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: giờ ngày tháng năm
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3- Tìm hiểu các kỹ thuật quản trị và kiểm tra việc sử
dụng khóa
- Tìm hiểu giao thức socket an toàn – công nghệ ứng
dụng sử dụng các giao thức tạo lập khóa đã nghiên cứu, cơ sở
hạ tầng khóa công khai PKI trong môi trường mạng toàn cầu
2 Hướng phát triển của luận văn
- Nghiên cứu thay đổi các giao thức trao đổi khi đưa
vào thực tế nhằm làm tăng thêm độ an toàn và tin cậy cho các
bên tham gia truyền thông
- Nghiên cứu các khả năng tránh được các tấn công
dùng lại, an toàn tiếp theo, tránh tấn công từ chối dịch vụ và bảo
vệ danh tính của khóa phiên trong các giao thức trao đổi khóa
- Nghiên cứu và đề xuất một vài giải pháp cho các hệ
thống ứng dụng mã hóa đòi hỏi sự tin cậy nhiều nhất hiện nay
MỤC LỤC
CHƯƠNG 1: TỔNG QUAN VỀ BẢO MẬT, AN TOÀN THÔNG TIN VÀ QUẢN LÝ KHÓA BÍ MẬT 7 1.1 Nội dung về bảo mật và an toàn thông tin 7 1.2 Vai trò của chìa khóa trong các giải pháp bảo mật và an toàn
1.3 Quản lý khóa bí mật 9 CHƯƠNG 2: CÁC PHƯƠNG PHÁP PHÂN PHỐI KHÓA 11 2.1 Sơ đồ phân phối khóa 11 2.2 Trung tâm phân phối khóa 11 2.3 Phân phối khóa theo phương pháp thông thường 12 2.4 Phân phối khóa theo phương pháp hiệu quả 12 CHƯƠNG 3: CÁC GIAO THỨC PHÂN PHỐI KHÓA 13 3.1 Nhu cầu thỏa thuận, chuyển vận và phân phối khóa 13 3.2 Sơ đồ phân phối khóa Blom 13 3.3 Hệ phân phối khóa Kerberos 14 3.4 Hệ phân phối khóa Diffie – Hellman 14 3.5 Sơ đồ chia sẻ bí mật ngưỡng Shamir 15 3.6 Các giao thức chuyển vận khóa 15 CHƯƠNG 4: ỨNG DỤNG GIAO THỨC KEBEROS CHO BÀI TOÁN GIAO THỨC BẢO MẬT MẠNG CỤC BỘ 16 4.1 Môi trường thử nghiệm 16 4.2 Dữ liệu đầu vào, đầu ra và yêu cầu bài toán 17
Trang 44.3 Các giao diện chính của chương trình 20
4.4 Kết quả thử nghiệm và đánh giá 22
NHẬN XÉT VÀ KẾT LUẬN 23
- Thay vì gửi các thông tin gốc, Kerberos sử dụng ticket
đã được mã hóa để chứng thực người dùng
Nhược điểm :
- Nếu máy chủ Services Security, Domain Controler ngừng hoạt động thì mọi hoạt động sẽ ngừng lại, do đó cần sử dụng nhiều máy chủ chạy song song
- Đòi hỏi đồng hồ của tất cả máy tính phải được đồng bộ trong hệ thống, nếu không đảm bảo được thì hệ thống nhận thực dựa trên thời hạn sử dụng sẽ khoonghoatj động Thiết lập đòi hỏi các đồng hồ không được sai lệch quá 5 phút
- Cơ chế thay đổi mật khẩu không được tiêu chuẩn hóa Nguy cơ mất an toàn cao khi hệ thống bị tấn công
NHẬN XÉT VÀ KẾT LUẬN
Ý nghĩa của việc nghiên cứu vấn đề
Vấn đề đặt ra trong luận văn rất cần thiết trong nghiên cứu về mật mã, và sử dụng chúng trong các ứng dụng, đặc biệt
là ngày nay khi mà hầu hết các hoạt động trao đổi thông tin của con người đều được thực hiện thông qua mạng truyền thông công cộng như Internet Trong bối cảnh đó kể cả khi hệ thống
sử dụng phương pháp mã hóa công khai thì việc quản lý và điều phối việc sử dụng khóa vẫn cực kỳ cần thiết Còn nếu hệ thống
sử dụng thuật toán mã hóa đối xứng thì việc trao đổi, phân phối, chuyển vận giá trị bí mật một cách an toàn cho hai bên là yêu cầu tất yếu Trên cơ sở đó luận văn đã cố gắng tìm hiểu các giao thức tạo lập khóa bí mật và các kỹ thuật quản trị khóa và đạt được một vài kết quả nhất định
1 Các kết quả đạt được
- Nghiên cứu tìm hiểu và phân tích các giao thức tạo lập khóa: Trao đổi, phân phối, chuyển vận khóa
Trang 54.5 Kết quả thử nghiệm và đánh giá
Chương trình thử nghiệm chỉ đưa ra tính năng lấy khóa
phiên giao dịch từ Web Service Security Giao diện của client
sẽ hiện thị các giá trị Key ID, Token Type, Signature Value,
Time Created và Time Life
Sau khi gửi Request Token, Services Security sẽ kiểm
tra client có nằm trong hệ thống Active Directory không, nếu
thỏa mãn chứng thực người dùng sẽ cấp cho client khóa phiên
với thời gian hiệu lực và thời gian tồn tại (Timestamp, Lifetime)
Sau khi nhận được khóa, client và Web Service dùng khóa đấy
để mã hóa và trao đổi thông tin đảm bảo rằng sẽ không có bên
thứ 3 có thể giải mã lấy thông tin
Ưu điểm :
- Mật khẩu không được truyền trực tiếp trên đường
chuyền mạng, hạn chế tối đa các cuộc tấn công
- Giao thức được mã hóa theo tiêu chuẩn mã hóa cao cấp
- Khóa phiên được cấp rất khó tái sử dụng do có thời gian
hiệu lực và thời gian tồn tại
MỞ ĐẦU
1 Tính thời sự và lý do chọn đề tài
Ngày nay, chúng ta đang sống trong một thời đại mới, thời đại phát triển rực rỡ của công nghệ thông tin, công nghệ thông tin hầu như có mặt ở mọi phương diện trong cuộc sống hàng ngày của chúng ta từ thương mại đến giải trí và thậm chí
cả văn hóa Mạng máy tính và Internet đang ngày càng đóng vai trò thiết yếu trong mọi lĩnh vực hoạt động của đời sống xã hội, tạo nên một xã hội toàn cầu, nơi mà mọi người có thể tương tác và liên lạc với nhau một cách nhanh chóng và hiệu quả Ở một khía cạnh nào đó, học giả, nhà báo Mỹ Thomas Friedman đã ám chỉ điều này trong cuốn sách “Nóng, Phẳng, Chật” (Hot, Flat and Crowded) đại ý là ngày nay nhờ công nghệ thông tin phát triển mạnh và hiện đại nên mọi người có thể " ở " gần nhau hơn Và một khi mạng máy tính và Internet trở thành phương tiện làm việc trong các hệ thống thì nhu cầu bảo mật thông tin được đặt lên hàng đầu vì nó còn là một phương tiện thông tin mạnh và hữu hiệu giữa các cá nhân trong
tổ chức, mà quan hệ giữa người với người trở nên nhanh chóng,
dễ dàng và gần gũi hơn sẽ mang lại nhiều vấn đề xã hội cần giải quyết, nhất là vấn đề kiểm soát, bảo mật thông tin Nhu cầu này không chỉ có ở các bộ máy An ninh, Quốc phòng, Quản lý Nhà nước, mà đã trở thàncấp thiết trong nhiều hoạt động kinh tế
xã hội: Tài chính, ngân hàng, thương mại…thậm chí trong cả một
số hoạt động thường ngày của người dân (thư điện tử, thanh toán tín dụng,…) Do ý nghĩa quan trọng này mà những năm gần đây công nghệ mật mã và an toàn thông tin đã có những bước tiến vượt bậc và thu hút sự quan tâm của các chuyên gia trong nhiều lĩnh vực khoa học, công nghệ
Trang 6Một điểm đặc biệt của công nghệ bảo mật hiện đại là
không dựa vào khả năng giữ bí mật của phương pháp (công
nghệ), vì nó thường không chỉ một người nắm giữ, nói chung
thường là nhóm đông người biết, mà khả năng giữ bí mật tuyệt
đối của cả một nhóm người là không thể, vì thế bí mật chỉ có
thể giữ bởi một người mà lợi ích của người này gắn liền với bí
mật đó Chính vì vậy, trong mã hóa hiện đại, người ta luôn giả
thiết rằng phương pháp mã hóa thông tin là cái không thể giữ
được bí mật, chúng sẽ được công khai, còn việc thực hiện thì
cho phép thay đổi theo một tham số do từng người sử dụng tự
ấn định (mỗi giá trị của tham số sẽ xác định một cách mã hóa
riêng), việc lập mã và giải mã chỉ có thể được thực hiện khi biết
được tham số đó Tham số như vậy được gọi là “chìa khóa” và
đó là thông tin duy nhất cần phải giữ bí mật Tóm lại, một hệ
mã hiện đại cần phải dựa trên nguyên tắc: Chốt tính bảo mật
vào chìa khóa, chứ không phải vào phương pháp (thuật toán)
Theo đó, đề tài : “Các giao thức phân phối khóa trong
bảo mật và an toàn thông tin trên đường truyền”hướng nghiên
cứu vào việc tham gia giải quyết vấn đề nêu trên
2 Mục đích và nhiệm vụ nghiên cứu
Nghiên cứu, xác định rõ vai trò của chìa khóa trong các
giải pháp bảo mật và an toàn thông tin Trên cơ sở đó, nghiên
cứu và phân tích các giải pháp an toàn khóa trong việc phân
phối, trao đổi, chuyển vận khóa, cũng như các phương thức
quản lý để mang lại hiệu quả cao nhất trong quá trình thực hiện
các giao thức đó
3 Đối thượng và phạm vi nghiên cứu
- Cơ sở lý thuyết vai trò của chìa khóa trong các giải
pháp bảo mật và an toàn thông tin, các kỹ thuật quản lý
khóa
Sau khi gọi hàm Request Token
Việc kiểm tra khóa nếu thông tin về khóa không đúng sẽ hiện bảng thông báo invalid
Trang 7- Khai báo các hàm sử dụng :
- Phương thức để gọi hàm:
- Khai thác và xác minh mã thông báo từ SOAP
Đối với client :
- Khai báo các hàm sử dụng
- Thêm web proxy cho dịch vụ vừa tạo
- Gọi hàm lấy khóa Kerberos Token
- Kiểm tra xem các mã có nhận được hay không
Nếu có thì tạo ra một lớp proxy đã được tạo ra và
thêm các mã vào RequestSoapContext của hàm
gọi
- Hàm gọi dịch vụ
4.4 Các giao diện chính của chương trình
Màn hình khi khởi động client
- Phương pháp phân khối khóa
- Giao thức phân phối khóa
4 Phương pháp nghiên cứu
quan đến các giao thức, các mô hình trong phân phối, vận chuyển khóa Tổng hợp một cách có hệ thống các tài liệu thu được
giao thức, các mô hình trong phân phối, trao đổi và vận chuyển khóa Từ đó làm rõ vấn đề an toàn khóa trong các giao thức để phân tích, lựa chọn giải pháp và tiến hành cài đặt, thử nghiệm giao thức
5 Ý nghĩa khoa học và thực tiễn của đề tài
Ý nghĩa khoa học :
Phần nghiên cứu lý thuyết sẽ cung cấp một cách nhìn tổng quan về vấn đề an toàn khóa và bảo mật thông tin
Kết quả nghiên cứu có thể làm tài liệu tham khảo cho những người phát triển các ứng dụng liên quan đến vấn đề phân phối khóa mật, cung cấp tài liệu tiếng Việt về các vấn đề liên quan
Ý nghĩa thực tiễn:
Tìm hiểu các giao thức phân phối khóa, giúp thấy được cách thức quản lý, sử dụng khóa hiệu quả và an toàn
Nắm bắt được kỹ thuật phân phối khóa cũng như nắm rõ được các giao thức phân phối khóa Trên cơ sở đó để phát triển các Web Service Security tốt có hiệu quả bảo đảm an toàn cho các Web Service
6 Kết cấu luận văn
Ngoài phần Mở đầu, Kết luận, Tài liệu tham khảo và Phụ lục, Luận văn bao gồm 4 chương
Trang 8Chương 1: Tổng quan về bảo mật và an toàn thông tin và
quản lý khóa bí mật
Chương 2: Các phương pháp phân phối khóa
Chương 3: Các giao thức phân phối khóa
Chương 4: Chương trình thử nghiệm ứng dụng giao
thức phân phối khóa
Nội dung luận văn sẽ được trình bày theo thứ tự chương,
mục trên
Từ đó có thể chống lại các cuộc tấn công nghe lén Từ việc quản lý giá trị Time Created và Time Life giúp hạn chế được việc tấn công tái sử dụng khóa bí mật
4.3 Mô tả hoạt động của chương trình
Sơ đồ hoạt động của chương trình như hình dưới
Trong phần này sẽ trình bày cách thức cài đặt Web Service Security vào dịch vụ web và cách thức đưa các dịch vụ cũng như hàm lấy khóa keberos cũng như các hàm xác nhận vào client
Đối với Web Service Security :
Trang 9cách tối ưu hóa những thao tác an toàn, mà yêu cầu ít thời gian
sử dụng CPU hơn
Tuy nhiên việc chọn cơ chế an toàn cho Web Service
phải đòi hỏi sao cho người dùng không cảm thấy quá phức tạp
tạo một sự gò bó, do đó việc chọn cơ chế an toàn nào trong
Web Service Security thì phụ thuộc nhiều vào loại service và
những tính năng mà servive này cung cấp
Từ yêu cầu đặt ra của bài toán, nhận thấy rằng việc sử
dụng giao thức phân phối khóa bí mật Kerberos là hợp lý
Trong hệ thống dựa vào chứng thực người dùng qua hệ thống
Active Directory có thể chống được những giao dịch không hợp
pháp (Unauthorized transactions) Thông tin trao đổi giữa
client/server sẽ được mã hóa mà chỉ có duy nhất người dùng đã
được chứng thực và Web Service của phiên trao đổi có thể giải
mã được thông tin đó, khóa này được quy định hay được cấp từ
Web Service Security, và các thông tin trao đổi này sẽ được gửi
đi bằng các SOAP message đã được đính kèm chữ ký xác thực
CHƯƠNG 1: TỔNG QUAN VỀ BẢO MẬT, AN TOÀN THÔNG TIN VÀ QUẢN LÝ KHÓA BÍ MẬT 1.1 Nội dung về bảo mật và an toàn thông tin
Về nội dung về phần bảo mật an toàn thông tin, sẽ trình bầy về các định nghĩa, quan điểm về bảo mật và an toàn thông tin Chủ đạo về các thuộc tính :
- Confidentiality: Thông tin không thể bị truy nhập trái phép bởi những đối tượng ngoại lai (người không có thẩm quyền) Mỗi dữ liệu được phân quyền hoặc mã hóa bằng nhiều phương pháp để đảm bảo chỉ được truy xuất bởi chính chủ sở hữu, hoặc các user nắm giữ chìa khóa giải mã dữ liệu
- Integrity: Thông tin không thể bị sửa đổi, bị làm giả bởi các đối tượng không có thẩm quyền Dữ liệu được lưu trữ trong hệ thống luôn “toàn vẹn”, không bị thay đổi bởi tác động ngoại ý và thông thường trong các hệ thống thông tin, tính năng này thể hiện qua phương thức so sánh các giá trị của hàm băm (Hash function)
- Availability: Thông tin luôn sẵn sàng đáp ứng yêu cầu sử dụng của người có thẩm quyền Dữ liệu được lưu trữ dưới nhiều hình thức tùy chọn nhưng đảm bảo tính đáp ứng cao nhất có thể và trong suốt đối với người dùng Các phương thức thường được sử dụng trong nâng cao độ sẵn sàng là nâng cấp năng lực hệ thống, triển khai cluster, điện toán đám mây, …
- Authenticity: Thông tin luôn được gắn với các chính sách về quyền truy cập, xác thực một cách chặt chẽ Tính xác thực và nhận dạng trong các hệ thống thông tin thường được thể hiện qua các cơ chế, giải pháp xác thực, phân quyền
Trang 10- Non-repudiation: Thông tin được cam kết về mặt
pháp luật của người cung cấp Thuộc tính “không thể chối
cãi” đảm bảo các hành động đã được thực thi trong quá
khứ để làm bằng chứng và dấu vết cho các hoạt động
kiểm tra, kiểm soát, truy tìm dấu vết
1.2 Vai trò của chìa khóa trong các giải pháp bảo
mật và an toàn thông tin
Trình bày về vai trò của chìa khóa trong 4 vấn đề :
- Trong hệ mã khóa đối xứng : trong hệ mã này khóa
dùng mã hóa và khóa dùng giải mã là cùng một khóa
Tính an toàn của hệ mã phụ thuộc và các yếu tố : Thuật
toán phải đủ mạng để không thể giải mã được văn bản;
thứ hai là tính an toàn của khóa bí mật Việc bảo mật khóa
bí mật là mấu chốt của hệ mã hóa đối xứng
- Hệ mã khóa công khai : trong hệ mã này khóa để
mã hóa và giải mã sẽ khác nhau Khóa để mã hóa sẽ công
khai và khóa để giải mã sẽ là bí mật Bên gửi sẽ dùng
khóa mã hóa của bên nhận để mã hóa, sau đó gửi cho bên
nhận Bên nhận sẽ dùng khóa bí mật của mình để giải mã
và thu được văn bản rõ Vì vậy đối tính an toàn của hệ mã
hóa công khai phụ thuộc vào khả năng không bị lộ của
khóa bí mật từ những thông tin của khóa công khai, vấn
đề này nằm ở độ khó của thuật toán sử dụng Đến nay vẫn
chưa có chứng minh bằng toán học nào chỉ ra rằng có bài
toán đủ khóa hoặc khó có thể giải được trong một thời
gian xác định
- Trong sơ đồ xưng danh và xác nhận danh tính : việc
xưng danh thường phải thông qua một giao thức Hỏi –
Đáp nhất định, mỗi bên sẽ phải hỏi đối phương về một bí
mật riêng nào đó mà bên hỏi nắm giữ xem đối phương có
Nền cơ bản xây dựng code:
- Microsoft.Net Framework 2.0
- Microsoft Web Services Enhancements (WSE) 2.0
- ASP.NET Web Service (C#)
4.2 Dữ liệu đầu vào, đầu ra và yêu cầu bài toán
Xem xét những nhân tố rủi ro ảnh hưởng đến mức an toàn của những ứng dụng dựa trên web service :
Những giao dịch không hợp pháp (Unauthorized
transactions)
Những thông báo không mã hóa (Readable messages in
clear text-no encryption)
Những thông điệp bị thay đổi hoặc mất mát (SOAP
message susceptible to modification-no integrity)
Yêu cầu của bài toán an toàn cho các dịch vụ là :sự chứng thực, tính bí mật, và sự toàn vẹn thông tin Trước khi có Web Service Security, phương pháp thường sử dụng là an toàn trên kênh chuyển thông điệp Sự an toàn kênh chuyển thông điệp ở chỗ là nó mã hóa toàn bộ thông điệp, dẫn đến sử dụng CPU cao hơn Tuy nhiên với WS-Security, nó cung cấp những