Công cụ xác thực và chống chối bỏ trong mạng riêng ảo

Một phần của tài liệu Nghiên cứu mạng riêng ảo và ứng dụng trong thương mại điện tử (Trang 46 - 89)

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ủa mộ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 ta nhậ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ực tính toàn vẹn dữ liệu.

a) Xác thực nguồn gốc dữ liệu 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ủa ngƣời dùng, mật khẩu không đủ mạnh cho việc bảo mật truy cập mạng. Mật khẩ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ăn khô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 cho phiê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ôn luô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 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ày là khó có thể quản trị những danh sách mật khẩu cho một số lƣợng lớn ngƣời dùng.

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ính khá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ận dạ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àm việ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ễn ra trong kết nối đó. Điểm ngang hàng gửi một nhận dnạg ngƣời dùng và mật khẩ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ởi nhữ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ận dạng ngƣời dùng.

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 Handshake Authentication Protocol) đƣợc thiết kế cho việc sử dụng tƣơng tự nhƣ PAP nhƣ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ực Yêu cầu truy cập

Thách đố Đáp ứng Cho phép 1 3 2 Hình 2.5: Hệ thống đáp ứng thách đố người dùng

CHAP là một giao thức bắt tay ba chiều bởi vì nó bao gồm ba bƣớc để thực hiệ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 hay tiến trình chấp nhận giống nhƣ trong PAP, CHAP sử dụng một hàm băm một chiề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áy tí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ều và 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 ứng vớ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ình kế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 trong mộ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ính của ngƣời dùng ở xa và máy tính nội bộ. Nếu bất kỳ một máy tính nào chịu sự điều khiển của một kẻ tấn công mạng và bị thay đổi mật khẩ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ác nhau đến những ngƣời dùng ở xa khác nhau sử dụng cùng một máy chủ.

CHAP là một phƣơng pháp mạnh hơn PAP cho việc xác thực ngƣời dùng quay số nhƣng CHAP không thể đáp ứng những yêu cầu mang tính mở rộng mạng. Cho dù khi không có bí mật nào truyền qua mạng thì phƣơng pháp này vẫ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êu cầu băng thông lớn nhƣng hiệu suất mạng lại thấp.

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ức nă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 mật mạng. Trung tâm hoạt động của TACACS là một máy chủ xác thực TACACS.

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ột cơ

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ác thực, cấp quyền và dữ liệu tính cƣớc đƣợc hƣớng đến máy chủ trung tâm khi mộ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ới nhữ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ột VPN là nguồn xuất.

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ểu client/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ừ xa củ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ển truy 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ác nhau bao gồm PAP, CHAP. (adsbygoogle = window.adsbygoogle || []).push({});

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ết nố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áy chủ RADIUS thực hiện xác thực để chấp nhận hay từ chối cũng nhƣ khi có bất kỳ dữ liệu cấu hình nào đƣợc yêu cầu để NAS cung cấp các dịch vụ đến đầu cuối ngƣời dùng. Các client RADIUS và máy chủ RADIUS truyền thông với nhau 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ùng chung 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ƣời dù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.

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ác thực ngƣời dùng nhƣ: vân tay, giọng nói, võng mạc… Tuy nhiên hệ thống chƣa đƣợc sử

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ày thƣờ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ác hệ thống khác. Hệ thống sinh trắc học chỉ phù hợp cho những nơi cần độ bảo mật cao nhất và trong một phạm vi nhỏ.

b) Xác thực 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 đồng thờ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ấu vâ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ật mã khoá đối xứng và mật mã khoá công cộng. Giải pháp khoá đối xứng tạo ra một mã xác thực bản tin MAC (Message Authentication Code) dựa trên một hàm giản lƣợc thông điệp có khoá tác động (Keyed message digest function). 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ƣời gửi.

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ện bằ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ính MD. 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ích thƣớ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ủa nó. Đâ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ảng 50% 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ới hai bản tin gần giống hệt nhau thì mã hash của chúng lại hoàn toàn khác nhau.

- 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ị hash có 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ăm thự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

MD5 SHA-1

160 bit 128 bit

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

Hàm hash

Message Digest

Hình 2.6 : 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ản tin 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 đƣợ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ị hash 160 bit (20 Byte) từ một bản tin nhị phân có độ dài tuỳ ý. Thuật toán này tƣơng tự 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ới kích thƣớc hash là 256, 384, và 512 bit đã đƣợc NIST công bố vào tháng 10 năm 2000 để 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ậy bả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 tin Padding Length

Block N 512 bit Block 2 512 bit Block 1 512 bit (adsbygoogle = window.adsbygoogle || []).push({});

Hash Hàm hash Hash

MD5/SHA Hàm hash MD5/SHA I V Hàm hash MD5/SHA Hash 512bit XN MD của bản tin

Hình 2.7: 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ớn theo 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ởi tạo IV có kích thƣớc bằng kích thƣớc của hash (128 bit đối với MD5, 160 bit đối vớ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 đƣợc xử lý thì giá trị hash tính đƣợc là MD của toàn bộ bản tin.

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 cung cấ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 ta có 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ản tin. 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 Function Key Hash Function Key MAC MAC MAC Tài liệu hoặc

bản tin

Phía phát Phía thu

Key

So Sánh

Kênh truyền dẫn

Hình 2.8 : Xác thực tính toàn vẹn dữ liệu dựa trên xác thực bản tin MAC

Để giải quyết vấn đề này, MAC sử dụng một khoá bí mật trong quá trình tính MD của bản tin thì mới đảm bảo chống lại những những thay đổi bất hợp pháp. Phía phát, nơi có khoá bí mật tạo ra một giản lƣợc thông điệp hợp lệ (valid MD) và đƣợc gọi là mã xác thực bản tin MAC. Phía thu sử dụng khoá bí mật để sử dụng khóa bí mật để xác định tính hợp lệ của bản tin bằng cách tính lại giá trị MAC và so sánh với giá trị MAC mà phía phát truyền tới.

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ặc dù 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ấn cô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 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ừ đầu ra 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ực hiệ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 cho cá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 đƣợc khoá 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ải phâ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ợp pháp nội dung bản tin. Chữ ký số đƣợc thực hiện bằng cách mật mã giá trị hash thu đƣợc

Một phần của tài liệu Nghiên cứu mạng riêng ảo và ứng dụng trong thương mại điện tử (Trang 46 - 89)