1. Trang chủ
  2. » Luận Văn - Báo Cáo

Công nghệ mạng riêng ảo VPN: Các giao thức đường hầm và bảo mật - Chương 4

18 741 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 0,97 MB

Nội dung

Tài liệu tham khảo ngành viễn thông Công nghệ mạng riêng ảo VPN: Các giao thức đường hầm và bảo mật

Trang 1

CHƯƠNG 4

BẢO MẬT TRONG VPN

Một trong những mối quan tâm chính của bất kỳ công ty nào là việc bảomật dữ liệu của họ Bảo mật dữ liệu chống lại các truy nhập và thay đổi trái phépkhông chỉ là một vấn đề trên các mạng Việc truyền dữ liệu giữa các máy tínhhay giữa các mạng LAN với nhau có thể làm cho dữ liệu bị tấn công và dễ bịthâm nhập hơn là khi dữ liệu vẫn còn trên một máy tính đơn.

Bảo mật không phải là vấn đề riêng của VPN mà thực tế là mối quan tâmvà thách thức của tất cả các tổ chức có nhu cầu sử dụng môi trường mạngInternet để trao đổi thông tin Để thực hiện bảo mật cho dữ liệu trong mạng VPNngười ta thực hiện hai quá trình đó là xác thực (Authentication) và mật mã(Encryption).

4.1 Quá trình xác thực

Xác thực là một phần không thể thiếu được trong kiến trúc bảo mật củamột mạng VPN Xác thực được dựa trên ba thuộc tính: Cái gì ta có (một khoáhay một card token); cái gì chúng ta biết (một mật khẩu); hay cái gì chúng tanhận dạng (giọng nói, quét võng mạc, dấu vân tay, ) Xác thực là thuật ngữdùng chung, nó bao gồm hai khái niệm: Xác thực nguồn gốc dữ liệu và xác thựctính toàn vẹn dữ liệu

4.1.1 Xác thực nguồn gốc dữ liệu

a) Mật khẩu truyền thống

Thực tế cho thấy, các loại xác thực đơn giản, như số nhận dạng ID củangười dùng, mật khẩu không đủ mạnh cho việc bảo mật truy cập mạng Mậtkhẩu có thể bị đón bắt và giữ lấy trong suốt quá trình truyền dữ liệu của mạng.Hệ thống mật khẩu một lần là phương pháp tốt sử dụng mật khẩu truyền thống * Hệ thống mật khẩu một lần

Để ngăn chặn việc sử dụng trái phép, các mật khẩu bị giữ lại và ngănkhông cho chúng không được dùng trở lại, bằng cách cầu một mật khẩu mới chophiên làm việc mới

Những hệ thống này, thì mỗi khi người dùng đăng nhập vào mạng thì luônluôn phải chọn một mật khẩu mới cho mỗi phiên làm việc kế tiếp Do đó đểkhắc phục khó khăn này bằng cách tạo ra một cách tự động một danh sách mật

Trang 2

khẩu có thể chấp nhận được cho người dùng Nhược điểm của các hệ thống nàylà khó có thể quản trị những danh sách mật khẩu cho một số lượng lớn ngườidùng

b) Giao thức xác thực mật khẩu PAP

Giao thức xác thực mật khẩu PAP (Passwork Authentication Protocol)được thiết kế một các đơn giản cho một máy tính tự xác thực đến một máy tínhkhác khi giao thức điểm-điểm PPP được sử dụng làm giao thức truyền thông.PAP là một giao thức bắt tay hai chiều; đó là, máy tính chủ tạo kết nối gửi nhậndạng người dùng và mật khẩu kép (passwork pair) đến hệ thống đích mà nó cốgắng thiết lập một kết nối và sau đó hệ thống đích xác thực rằng máy tính đóđược xác thực đúng và được chấp nhận cho việc truyền thông Xác thực PAP cóthể được dùng khi bắt đầu của kết nối PPP, cũng như trong suốt một phiên làmviệc của PPP để xác thực kết nối.

Khi một kết nối PPP được thiết lập, xác thực PAP có thể có thể được diễnra trong kết nối đó Điểm ngang hàng gửi một nhận dnạg người dùng và mậtkhẩu đến bộ xác thực cho đến khi bộ xác thực chấp nhận kết nối hay kết nối bịhuỷ bỏ PAP không bảo mật bởi vì thông tin xác thực được truyền đi rõ ràng vàkhông có khả năng bảo mật chống lại tấn công trở lại hay lặp lại quá nhiều bởinhững người tấn công nhằm cố gắng dò ra mật khẩu đúng hay một cặp nhậndạng người dùng

c) Giao thức xác thực yêu cầu bắt tay CHAP

Giao thức xác thực mật khẩu yêu cầu bắt tay CHAP (Challenge HandshakeAuthentication Protocol) được thiết kế cho việc sử dụng tương tự như PAPnhưng là một phương pháp bảo mật tốt hơn đối với xác thực các kết nối PPP

Người dùng

Máy tính xác thựcYêu cầu truy cập

Thách đốĐáp ứngCho phép

Hình 4.1: Hệ thống đáp ứng thách đố người dùng

Trang 3

CHAP là một giao thức bắt tay ba chiều bởi vì nó bao gồm ba bước để thựchiện kiểm tra một kết nối, sau khi kết nối được khởi tạo đầu tiên hay tại bất kỳthời điểm nào sau khi kết nối được thiết lập Thay vì dùng một mật khẩu haytiến trình chấp nhận giống như trong PAP, CHAP sử dụng một hàm băm mộtchiều (one-way hashing function)

1 Máy tính xác thực gửi một bản tin thách đố (challenge massage) đến máytính ngang cấp (peer).

2 Máy tính ngang cấp tính toán một giá trị sử dụng một hàm băm một chiềuvà gửi lại cho máy tính xác thực.

3 Máy tính xác thực có thể đáp ứng chấp nhận nếu giá trị gửi lại tương ứngvới giá trị mong muốn.

Tiến trình này có thể lặp lại tại bất kỳ thời điểm nào trong suốt quá trìnhkết nối để đảm bảo rằng kết nối luôn được nắm quyền và không bị suy yếu trongmội trường hợp Máy chủ điều khiển quá trình xác thực tại CHAP

PAP và CHAP có nhược điểm giống nhau, đó là:

- Đều phụ thuộc vào một mật khẩu bí mật được lưu trữ trên máy tínhcủa người dùng ở xa và máy tính nội bộ Nếu bất kỳ một máy tínhnào chịu sự điều khiển của một kẻ tấn công mạng và bị thay đổi mậtkhẩu bí mật thì không thể xác thực được

- Không thể đăng ký chỉ định những đặc quyền truy cập mạng khácnhau đến những người dùng ở xa khác nhau sử dụng cùng một máychủ.

CHAP là một phương pháp mạnh hơn PAP cho việc xác thực người dùngquay số nhưng CHAP không thể đáp ứng những yêu cầu mang tính mở rộngmạng Cho dù khi không có bí mật nào truyền qua mạng thì phương pháp nàyvẫn yêu cầu một lượng lớn các bí mật dùng chung chạy qua hàm băm, nên yêucầu băng thông lớn nhưng hiệu suất mạng lại thấp.

d) Hệ thống điều khiển truy cập bộ điều khiển truy cập đầu cuối TACACS

TACACS (Terminal Access Controler Access Control System) là hệ thốngđược phát triển để không chỉ cung cấp cơ chế xác thực mà còn thực hiện chứcnăng: cho phép (authorization) và tính cước (accouting) TACACS được thiế kếnhư một hệ thống client/server mềm dẻo hơn và đặc biệt trong việc quản lý bảo

Trang 4

mật mạng Trung tâm hoạt động của TACACS là một máy chủ xác thựcTACACS.

Máy chủ xác thực TACACS giữ các yêu cầu xác thực từ phần mềm clientđược cài đặt tại một gateway hay một điểm truy cập mạng Máy chủ duy trì mộtcơ sở dữ liệu nhận dạng người dùng, mật khẩu, PIN và các khoá bí mật được sửdụng để được chấp nhận hay bị từ chối các yêu cầu truy cập mạng.Tất cả xácthực, cấp quyền và dữ liệu tính cước được hướng đến máy chủ trung tâm khimột người dùng truy nhập mạng.

Ưu điểm của TACACS là nó hoạt động như một máy chủ Proxy đối vớinhững hệ thống xác thực khác Các khả năng của Proxy làm cho việc chia sẻ dữliệu bảo mật của VPN với ISP được dễ dàng hơn, điều này cần thiết khi mộtVPN là nguồn xuất

e) Dịch vụ xác thực người dùng quay số từ xa- RADIUS

RADIUS (Remote Authentication Dial-In Use Service) cũng sử dụng kiểuclient/server để chứng nhận một cách bảo mật và quản trị các kết nối mạng từ xacủa các người dùng với các phiên làm việc RADIUS giúp cho việc điều khiểntruy cập dễ quản lý hơn và nó có thể hỗ trợ các kiểu xác thực người dùng khácnhau bao gồm PAP, CHAP.

Kiểu RADIUS client/server dùng một máy chủ truy cập mạng NAS đểquản lý các kết nối người dùng NAS có trách nhiệm chấp nhận các yêu cầu kếtnối của người dùng, thu thập các thông tin nhận dạng người dùng, mật khẩuđồng thời chuyển thông tin này một cách bảo mật tới máy chủ RADIUS Máychủ RADIUS thực hiện xác thực để chấp nhận hay từ chối cũng như khi có bấtkỳ dữ liệu cấu hình nào được yêu cầu để NAS cung cấp các dịch vụ đến đầucuối người dùng Các client RADIUS và máy chủ RADIUS truyền thông vớinhau thông với nhau một cách bảo mật bằng việc sử dụng các bí mật dùngchung cho việc xác thực và mã hoá trong truyền mật khẩu người dùng

RADIUS tạo cơ sở dữ liệu đơn và tập trung và được lưu giữ tại máy chủRADIUS nhằm quản lý việc xác thực người dùng và các dịch vụ Một ngườidùng ở xa sử dụng RADIUS client sẽ có quyền truy cập đến các dịch vụ nhưnhau từ bất kỳ một máy chủ nào đang truyền thông với máy chủ RADIUS.

Trang 5

f) Các hệ thống phần cứng cơ bản + Smart card

Card thông minh (Smart card) là thiết bị có kích thước giống như một thẻtín dụng, bao gồm: một bộ vi xử lý được gắn chặt vào card và một bộ nhớ Mộtthiết bị đọc tương đương cho Smart card được yêu cầu để giao tiếp với SmartCard Smart Card có thể lưu giữ một khoá riêng của người dùng cùng với một sốứng dụng nhằm đơn giản hoá tiến trình xác thực Một số Smart Card hiện naygồm một bộ đồng xử lý mã hoá và giải mã làm cho việc mã hoá dữ liệu dễ dànghơn và nhanh hơn.

Các hệ thống chứng nhận điện tử được sử dụng trong Smart Card, nó yêucầu người dùng nhập vào một số nhận dạng cá nhân PIN để tiến hành quá trìnhxác thực, thường thì số PIN được lưu trên Smart Card.

+ Các thiết bị thẻ bài (Token Devices)

Các hệ thống thẻ bài thường được dựa trên các phần cứng riêng biệt dùngđể hiển thị các mã nhận dạng (passcode) thay đổi mà người dùng sau đó phảinhập vào máy tính để thực hiện việc xác thực.

Cơ chế hoạt động của thẻ bài: một bộ xử lý bên trong thẻ bài lưu giữ mộttập các khoá mã hoá bí mật được dùng để phát cho các mã nhận dạng một lần.Các mã nhận dạng náy chuyển đến một máy chủ bảo mật trên mạng, máy chủnày kiển tra tính hợp lệ từ đó đưa ra các quyết định cấp quyền hay không? Saukhi các mã được lập trình, không có người dùng hay nhà quản trị nào có quyềntruy cập đến chúng.

Trước khi các người dùng được phép xác thực, các thết bị thẻ bài yêu cầumột PIN, sau đó sử dụng một trong ba cơ chế khác nhau để xác định người dùnglà ai.

- Cơ chế đáp ứng thách đố (Challenge response): là cơ chế thông dụng nhất,theo cơ chế này thì máy chủ sẽ phát ra một con số ngẫu nhiên khi ngườidùng đăng nhập vào mạng Một số thách đố xuất hiện trên màn hình củangười dùng và người dùng nhập vào các con số trong thẻ bài Thẻ bài mãhoá con số thách đố này với khoá bí mật của nó và hiển thị kết quả lên mànhình và sau đó người dùng nhập kết quả đó vào trong máy tính Trong khiđó, máy chủ mã hoá con số thách đố với cùng một khoá và nếu như hai kếtquả này phù hợp thì người dùng sẽ được phép truy cập vào mạng.

Trang 6

- Cơ chế sử dụng sự đồng bộ thời gian (Time Synchronization), cơ chế nàythẻ hiển thị một số được mã hoá với khoá bí mật mà khoá này sẽ thay đổisau 60 giây Người dùng được nhắc cho con số khi cố gắng đăng nhập vàomáy chủ Do các đồnghồ trên máy chủ và thẻ được đồng bộ nên máy chủ cóthẻ xác thực người dùng bằng cách giải mã con số thẻ và so sánh các kếtquả.

- Cơ chế đồng bộ sự kiên (event Synchronzation); theo cơ chế này, một bộđếm ghi lại số lần vào mạng được thực hiện bởi người dùng Sau đó mỗi lầnvào mạng, bộ đếm được cập nhật và một mã nhận dạng khác được tạo racho lần đăng nhập sau.

g) Hệ hống sinh trắc học

Hệ thống sinh trắc học dựa vào một số dấu vết cá nhân duy nhất để xácthực người dùng như: vân tay, giọng nói, võng mạc…Tuy nhiên hệ thống đượcsử dụng rộng rãi trong thực tế bởi vì giá thành đắt và các hệ thống bảo mật nàythường tích hợp trong một, làm cho chúng khó khăn trong việc giao tiếp với cáchệ thống khác Hệ thống sinh trắc học chỉ phù hợp cho những nơi cần độ bảomật cao nhất và trong một phạm vi nhỏ

4.1.2 Xác thực tính toàn vẹn dữ liệu

Xác thực tính toàn vẹn dữ liệu (Data integrity) bao gồm hai vấn đề:

- Phát hiện các bản tin bị lỗi (corrupted message): Phát hiện các lỗi bit đồngthời xác định nguyên nhân lỗi là do phương tiện truyền dẫn hoặc do thiết bịxử lý, lưu trữ Giải pháp cho vấn đề này là sử dụng một giản lược thôngđiệp MD (Message Digest) cho mỗi bản tin MD hoạt động như một dấuvân tay cho phép xác định duy nhất một bản tin

- Bảo vệ chống sửa đổi bất hợp pháp bản tin (unauthorized modification):Phát hiện ra những bản tin đã bị sửa đổi một cách bất hợp pháp trong quátrình truyền dẫn Có hai giải pháp cho vấn đề này trên cơ sở sử dụng mậtmã khoá đối xứng và mật mã khoá công cộng Giải pháp khoá đối xứng tạora một mã xác thực bản tin MAC (Message Authentication Code) dựa trênmột hàm giản lược thông điệp có khoá tác động (Keyed message digestfunction) Giải pháp khoá công cộng tạo ra một chữ ký số (digital signature)bằng cách mật mã giản lược thông điệp MD với khoá công khai của ngườigửi.

Trang 7

a) Giản lược thông điệp MD dựa trên hàm băm một chiều

MD là phương pháp sử dụng để phát hiện lỗi truyền dẫn, nó được thực hiệnbằng các hàm băm một chiều Các hàm băm một chiều được sử dụng để tínhMD Một hàm băm được coi là tốt nếu thoả mã các yêu cầu:

- Việc tính MD đơn giản, hiệu quả cho phép tính MD của các bản tin có kíchthước nhiều GB.

- Không có khả năng tính ngược lại bản tin ban đầu khi biết giá trị MD củanó Đây là lý do có tên gọi là hàm băm một chiều.

- Giá trị MD phải phụ thuộc vào tất cả các bit của bản tin tương ứng Dù chỉmột bit trong bản tin bị thay đổi, thêm vào hoặc xoá bớt thì sẽ có khoảng50% các bit trong MD sẽ thay đổi giá trị một cách ngẫu nhiên Hàm băm cókhả năng thực hiện ánh xạ message-to-digest giả ngẫu nhiên, nghĩa là vớihai bản tin gần giống hệt nhau thì mã hash của chúng lại hoàn toàn khácnhau.

- Do bản chất ngẫu nhiên của hàm băm và số lượng cực lớn các giá trị hashcó thể, nên hầu như không có khả năng hai bản tin phân biệt có cùng giá trịhash Với các ứng dụng thực tế hiện nay có thể coi đầu ra của hàm bămthực hiện trên một bản tin là dấu vân tay duy nhất cho bản tin đó

Tài liệu hoặc bản tin

160 bit128 bit

Tài liệu hoặc bản tin

Hàm hash

Message Digest

Hình 4.2: Hàm băm thông dụng MD5, SHA-1

MD có độ dài cố định hoạt động như một dấu vân tay duy nhất cho một bảntin có độ dài tuỳ ý Với độ dài thông thường của một MD từ 128 đến 256 bit thìcó thể đại diện cho 1038÷1070 giá trị vân tay khác nhau

Có hai hàm băm thông dụng là MD5 (Message Digest #5) và SHA(Security Hash Function) MD5 do Ron Rivest (RSA Security Inc) phát minh,tính giá trị hash 128 bit (16 Byte) từ một bản tin nhị phân có độ dài tuỳ ý SHA

Trang 8

được phát triển bởi NIST (US National Institute of Standards and Technology)với sự cộng tác của NSA (National Security Agency) SHA-1 tính giá trị hash160 bit (20 Byte) từ một bản tin nhị phân có độ dài tuỳ ý Thuật toán này tươngtự như MD5 nhưng an toàn hơn vì kích thước lớn hơn Thuật toán SHA-2 vớikích thước hash là 256, 384, và 512 bit đã được NIST công bố vào tháng 10 năm2000 để thích ứng với các khoá có độ dài lớn của thuật toán mã hoá AES.

* Cấu trúc cơ bản của hàm băm một chiều MD5/SHA

Cả MD5 và SHA đều làm việc với khối dữ liệu đầu vào 512 bit Như vậybản tin ban đầu được phân thành số nguyên lần các khối dữ liệu này Điều nàyđược thực hiện bằng cách thêm một trương Length 64 bit vào cuối bản tin, sauđó chèn 0÷512 bit đệm vào trước trường Length để khối dữ liệu cuối cùng có độdài đúng 512 bit

Tài liệu hoặc bản tinPadding Length

Block N 512 bitBlock 2

512 bitBlock 1

512 bit

Hash MD5/SHAHàm hash HashHàm hash

Hình 4.3: Cấu trúc cơ bản của MD5/SHA

Việc xử lý theo từng khối này cho phép tính giá trị hash của các bản tin lớntheo kiểu nối tiếp.

Vector khởi tạo IV (initialization Vector) và giá trị hash:

Ngoài 512 bit khối dữ liệu đầu vào, hàm băm còn yêu cầu một vector khởitạo IV có kích thước bằng kích thước của hash (128 bit đối với MD5, 160 bit đốivới SHA-1).

Trong vòng đầu tiên, IV lấy giá trị định nghĩa trước trong các chuẩn MD5,SHA Một giá trị hash sẽ được tính dựa trên khối 512 bit đầu vào đầu tiên Giátrị hash này đóng vai trò IV trong vòng thứ hai Quá trình tiếp tục với giá trịhash vòng trước là IV của vòng sau Sau khi khối dữ liệu 512 bit cuối cùng đượcxử lý thì giá trị hash tính được là MD của toàn bộ bản tin.

Trang 9

b) Mã xác thực bản tin MAC (Message Authentication Code)

Lý do xây dựng mã xác thực bản tin MAC là vì bản thân MD không cungcấp bất kỳ bảo vệ nào chống lại việc thay đổi bất hợp pháp nội dung của bản tin.Khi một người nào đó thay đổi nội dung của bản tin trên đường truyền thì anh tacó thể tính lại giá trị hash MD5 hoặc SHA dựa trên nội dung của bản tin đã thayđổi đó và như vậy tại phía thu, giá trị hash vẫn hoàn toàn hợp lệ

MAC là phương pháp bảo vệ chống sửa đổi bất hợp pháp nội dung của bảntin MAC được thực hiện dựa trên hàm băm một chiều kết hợp với khoá bí mật.

Tài liệu hoặc bản tin

Key Hash FunctionKey Hash

FunctionKey

MACMACTài liệu hoặc

Thông thường giá trị MAC cuối cùng được tạo ra bằng cách cắt ngắn giá trịhash thu được bởi MD5 (128 bit) hay SHA-1 (160 bit) xuống còn 96 bit Mặcdù việc cắt giảm này làm giảm đáng kể số các tổ hợp cần thử đối với một tấncông kiểu brute force, nhưng nó có tác dụng che dấu trạng thái bên trong của

Trang 10

thuật toán băm và sẽ khó khăn hơn rất nhiều cho kẻ tấn công để có thể đi từ đầura của vòng băm thứ hai tới kết quả trung gian của vòng băm thứ nhất.

Phương pháp mã xác thực tính toàn vẹn sử dụng MAC có ưu điểm là thựchiện nhanh và hiệu quả vì việc tạo MAC dựa trên hàm băm tương đối đơn giản,do đó thường được sử dụng để xác thực các cụm dữ liệu tốc độ cao (sử dụng chocác gói tin IPSec) Nhược điểm của phương pháp này là phía thu phải biết đượckhoá bí mật thì mới kiểm tra được tính toàn vẹn của bản tin, dẫn đến vấn đề phảiphân phối khoá một cách an toàn

c) Chữ ký số (Digital Signature)

Chữ ký số là một phương pháp khác để để bảo vệ chống sửa đổi bất hợppháp nội dung bản tin Chữ ký số được thực hiện bằng cách mật mã giá trị hashthu được từ một hàm băm một chiều.

Giá trị hash (MD5 hoặc SHA) của bản tin được mật mã với khoá bí mậtcủa phía phát để tạo thành chữ ký số và được truyền đi cùng với bản tin tươngứng.

Tài liệu hoặc bản tin

Chữ ký

Mã hoá với khoá công cộngMã hoá với

khoá riêngHàm hashGiá trị hash

Tài liệu hoặc bản tin

Chữ ký Giá trị hashGiá trị hash

Kênh truyền dẫn

So sánh

Hình 4.5: Chữ ký số

Phía thu tính lại mã hash từ bản tin thu được, đồng thời giải mã chữ ký sốđi kèm với bản tin Nếu giá trị giải mã trùng khớp với giá trị hash tính được thìkết luận được tính toàn vẹn của bản tin, vì chỉ có phía phát mới có đúng khoá bímật để mật mã chữ ký đó.

Ngày đăng: 20/11/2012, 15:37

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w