Hình 3.10 Sử dụng Ipsec trong SIP.

Một phần của tài liệu nghiên cứu thuật toán mã hóa md5 và ứng dụng của nó trong giao thức sip (Trang 63 - 66)

Cả ESP và AH có thể được dùng trong hai chế độ khác nhau là: chế độ truyền tải và chế độ tunnel (đường hầm). Chế độ truyền tải có thể thấy trong phần mở rộng trong gói tin IP, phần mà IPSec chèn vào có thể là header AH hoặc là ESP trong gói tin IP gốc và sau đó chỉ áp dụng kỹ thuật bảo mật được chọn cho từng phần trong gói tin IP gốc. Chế độ tunnel tạo ra nhiều sự thay đổi hơn so với gói tin IP ban đầu, ở phần mà IPSec đóng gói gói tin IP gốc trong tải tin của gói tin IP mới, một header mới được thêm vào, chèn header AH hoặc là ESP vào trong gói tin IP mới, và sau đó áp dụng kỹ thuật bảo mật đã được chọn cho toàn bộ gói tin IP gốc. Tùy vào từng trường hợp mà chọn chế độ, chế độ tunnel là chế độ thắch hợp nhất được dùng cho giữa các đầu cuối người dùng.

Nguyên tắc của IPSec đó là quản lý khóa. Việc quản lý khóa có thể điều khiển một cách thủ công hoặc là một cách tự động. Quản lý khóa thủ công được thực hiện trong trường hợp nhỏ và tĩnh khi mà số lượng các SA là nhỏ được dùng. Quản lư khóa tự động được dùng trong trường hợp lớn và nhiều SA được dùng.

3.3 Lỗ hổng trong MD5 và cách khắc phục

3.3.1 Lỗ hổng trong MD5

Bất cứ thuật toán mã hóa nào rồi cũng bị giải mã. Với MD5, ngay từ năm 1996, người ta đã tìm thấy lỗ hổng của nó. Mặc dù lúc đó cňn chưa rõ ràng lắm nhýng các chuyên gia mã hóa đã nghĩ đến việc phải đưa ra một thuật giải khác

Và rồi gần đây, giới mã hoá đã xôn xao với thông tin các thuật toán bên trong nhiều ứng dụng bảo mật thông dụng, như chữ ký điện tử, cũng... có lỗ hổng (trong đó có MD5). Người ta đã tìm ra được cùng một giá trị băm có hai giá trị đầu vào.

Thuật toán được phát minh vào năm 1991 và kể từ đó nó đã được giám sát rộng rãi và một số điểm yếu đã được tìm thấy với nó như vậy mà trong tháng 12 năm 2008 United States Computer Emergency Readiness Team (US-CERT) đã ban hành một thông báo lỗ hổng cho thuật toán MD5 . khuyến cáo không nên sử dụng md5

Các nhà phát triển phần mềm, Certification Authorities, chủ sở hữu trang web, và người sử dụng nên tránh sử dụng các thuật toán MD5 trong bất cứ trường hợp nào. Như nghiên cứu trước đã chứng minh, nó đã được chứng minh mã hóa bị hỏng và không phù hợp để sử dụng tiếp.

3.3.2Cách khắc phục

3.3.2.1 Tổng quan

SIP sử dụng một cơ chế phản ứng thách thức trong một số yêu cầu như REGISTER và INVITE. Các tiêu chuẩn SIP không ra lệnh các loại khác của yêu cầu như ACKs,BYEs,CANCELsẦ. Nhưng máy chủ SIP thường bỏ qua yêu cầu đó

Giả sử yêu cầu SIP được nhận thực sau đó khách hàng gửi một yêu cầu không có thông tin tới máy chủ máy chủ sẽ trả lời với một yêu cầu nhận thực. Yêu cầu nhận thực với một thông tin realm và nonce. Khách hàng kết hợp realm, nonce với username, password để tạo ra một bảng băng sau đó gửi lại cho máy chủ . Máy chủ sẽ thực hiện quá trěnh tương tự đi đến bảng băm MD5 của nó, nó giống như một trong những cung cấp tới từ khách hàng và làm cho máy chủ hiểu là khách hàng biết mật khẩu.

Thực tế, máy chủ không thể chắc chắn là khách hàng biết mật khẩu, vắ dụ như một bên độc hại của một quản lý giữ lại của một khách hàng chắnh hãng nào đó trước đây. Đó là nơi mà các nonce đến được máy chủ bảo vệ chống lại các cuộc tấn công trở lại. Điều này có nghĩa là một máy chủ phải có một cách thức làm hiệu quả về việc làm thế nào để tạo ra và chấp nhận những nonce trong authorization headers. Một cách tiếp cận điển hình là cho máy chủ để mã hóa một dấu thời gian trong cac nonce và chỉ chấp nhận các tiêu để nếu nonce chứa một dấu thời gian đó là một khoảng thời gian ngắn đến hiện tại. Với một mật khấu ngắn hay phổ biến có nghĩa là một kẻ tấn công có thể

nhanh chóng tìm ra bằng cách sử dụng brute force hay dictionary thử nghiệm giá trị cho tới khi đưa ra được một bảng băm có cùng giá trị như vậy mật khẩu có thể bị phát hiện.

Giả sử một mật khẩu mạnh đang được sử dụng khi đó thì giải thuật MD5 sẽ là mục tiêu của hacker. Thuật toán phát minh vào năm 1991 này đã được giám sát rộng rãi và sau đó đã có phát hiện những lỗ hổng do vậy vào tháng 12 năm 2008 trung tâm ứng cứu máy tắnh khẩn cấp Hoa Kỳ (US-CERT)đã ban hành một thông báo lỗ hổng:

Không sử dụng các thuật toán MD5

Các nhà phát triển phần mềm ,Certification Authorities, các nhà quản lý trang web và người sử dụng nên tránh các thuật toán MD5 trong bất cứ trường hợp nào như những nghiên cứu đã chứng minh trước đó đã chứng minh. MD5 được xem là mã hóa bị hỏng và không còn phù hợp để sự dụng.

Chúng ta cần nghĩ tới một giải pháp thay thế. 3.3.2.2 Brute forcing MD5 hashes

Làm thế nào để một kẻ tấn công có thể dễ dàng lấy được mật khẩu từ một digest trong một authentication header? Cần bao nhiêu thời gian và công sức cho brute force MD5?

Khi mà trong chúng ta không ai là một nhà giải mã học để khai thác các lỗ hổng trong thuật toán MD5, cùng với đó là sự hiểu biết hạn chế về những sai sót xung quanh của việc tạo ra một sự va chạm của hai văn bản để có thể tạo ra cùng một bảng băm. Đây là một vấn đề lớn cho một Certification Authorities người mà tin tưởng vào hash của họ trong một khoảng thời gian tắnh bằng năm, nhưng với SIP nơi mà các nonce có thể được quay trong thời gian vài phút hoặc vài giây, có nghĩa là ngay cả khi một yêu cầu SIP giả có thể tạo ra để có một băm MD5 như yêu cầu chắnh hãng của nó sẽ chỉ có tác dụng trong một khoảng thời gian ngắn và thậm chắ các tùy chỉnh sẽ có thể thực hiện được các yêu cầu SIP gây ra các vụ va chạm làm cho một yêu cầu không hợp lệ và ngăn chặn nó thậm chắ cả giai đoạn nhận thực

Điều đó khiến việc tấn công dictionary và burte force trở nên khó khăn. Tấn công dictionary không phải là một phương án tối ưu khi mà cần thử tất cả các trường hợp với một tập tin đã được chuẩn bị trước. Với cách này với một mật khẩu đơn giản thường bao gồm các chữ cái hay số kẻ tấn công có thể tìm ra trong vòng vài phút.

Những gì tôi quan tâm là với một mật khẩu dài với sự kết hợp ngẫu nhiên của 95 ký tự ASC II mà trong đó có nhiều ký tự đặc biệt như Ộaw23@y%...Ợ nó sẽ làm kẻ tấn công trở nên khó khăn hơn hay không?

Một phần của tài liệu nghiên cứu thuật toán mã hóa md5 và ứng dụng của nó trong giao thức sip (Trang 63 - 66)

w