1.2 Hoạt động của giao thức SSL:
1.2.4 Tính an toàn của SSL:
“Nếu bạn có khoảng 200 máy tính, bạn tốt nghiệp trường đại học Harvard và có khoảng 500 giờ thì bạn có thể crack SSL”, đó là lời của một bài báo được đưa ra
gần đây. SSL sử dụng cơ chế mã hóa khóa công khai được phát triển bởi RSA để trao đổi khóa mã hóa và như ta đã biết đó là một thuật toán an toàn.
Gần đây có bài báo đã đưa ra thông tin rằng có thể dùng phương pháp brute force để phá khóa của giao thức SSL. Phương pháp brute force đơn giản chỉ thử tất cả các khả năng có thể cho tới khi tìm được kết quả đúng. Trong phiên bản xuất khẩu của SSL sử dụng khóa mã hóa 40 bit. Vì vậy, để phá khóa của giao thức SSL theo phương pháp brute force, số lượng tổ hợp này là 240 = 1,099,511,627,776 khóa khác nhau. Rõ ràng là với kỹ thuật máy tính hiện nay thì sử dụng brute force là điều khó thực hiện. Một ví dụ là để phá được khóa 40 bit thì cần phải dùng tới 120 máy tính hoạt động song song với nhau để tìm kiếm trong vòng 8 ngày thì mới quét được một nửa không gian khóa đó. Gần đây, RSA đã đưa ra một thách thức với người dùng phá thuật toán mã hóa của họ với phần thưởng là $1000. Một sinh viên vừa tốt nghiệp đã thực hiện thành công trong 3 tiếng rưỡi. Nhưng anh ta đã phải sử dụng tới 250 máy tính. Đối với phiên bản dùng trong nội địa nước Mỹ là dùng 128 bit thì phá khóa là một điều gần như không thể đối với công nghệ máy tính hiện nay. Thời gian để phá khóa gần như là vô hạn.
Vào năm 1996, SSL 3.0 đã được phân tích về góc độ an toàn thông tin một cách toàn diện bởi Bruce Scheneier và David Wagner. Ngoại trừ một số khiếm khuyết nhỏ và những tính năng gây lo lắng vốn có thể được sữa chữa dễ dàng mà không cần tu sửa cấu trúc cơ bản của giao thức SSL, họ không tìm thấy vấn đề điểm yếu hoặc lỗi bảo mật nghiêm trọng trong việc phân tích của họ. Kết quả, họ kết luận rằng giao thức SSL cung cấp sự bảo mật hoàn hảo ngăn việc nghe lén và những cuộc tấn công thụ động khác, và người thực thi giao thức này sẽ chỉ phải chú ý đến một số cuộc tấn công chủ động, tinh vi. Tuy nhiên, một vài tháng sau, Daniel Bleichenbacher từ Bell Laboratoires đã tìm thấy một cuộc tấn công text mật mã được chọn thích ứng cho các giao thức dựa vào tiêu chuẩn mà khóa chung PKCS#1. Nhưng cũng đã có một số giải pháp để ngăn ngừa sự tấn công Bleichenbacher này.
Cho đến trước tháng 7/2009, giao thức SSL vẫn đến là công nghệ tiên tiến nhất trong việc đảm bảo an toàn khi truyền dữ liệu qua mạng Internet. Tuy nhiên,
cuối tháng 7 và đầu tháng 8 năm 2009, các nhà nghiên cứu đã phát hiện ra một số lỗi cực kì nghiêm trọng có trên phần mềm sử dụng giao thức mã hoá theo công nghệ này. Ngày 30/7/2009, tại hội nghị Black Hat ở Las Vegas (Mỹ), các nhà nghiên cứu đã tiết lộ một số kiểu tấn công có thể được dùng để làm thương tổn việc trao đổi thông tin an toàn giữa website và trình duyệt (tấn công có thể cho phép tin tặc đánh cắp mật khẩu, chiếm đoạt 1 phiên giao dịch ngân hàng trực tuyến hay thậm chí là đưa ra một bản cập nhật trình duyệt Firefox có chứa mã độc). Vấn đề này nằm trong cách nhiều trình duyệt thực thi SSL và trong hệ thống hạ tầng khóa công khai X.509 (dùng để quản lý các chứng thức số được SSL sử dụng để quyết định xem website có đáng tin cậy hay không). Nhà nghiên cứu bảo mật có nickname là Moxie Marlinspike đã giới thiệu kiểu tấn công “null-termination certificate” làm gián đoạn phiên duyệt SSL giữa client và server (trong kiểu tấn công này, nếu viết “www.paypal.com\0.thoughtcrime.org” sẽ được hiểu thành “www.paypal.com”). Loại tấn công kiểu “man-in-the-middle” này không thể phát hiện được, nếu lan rộng sẽ ảnh hưởng tới Internet Explorer, Firefox 3.0, phần mềm mạng riêng ảo VPN (virtual private network), các trình e-mail client và IM (instant messaging). Để bịt lỗ hổng này thì cần cập nhật, sửa chữa cho hệ thống X.509.
Sự việc còn trở nên tồi tệ hơn khi 2 nhà nghiên cứu bảo mật Dan Kaminsky và Len Sassaman báo cáo phát hiện ra một số lớn chương trình web phụ thuộc vấn đề chứng thực có sử dụng công nghệ mã hóa không an toàn MD2. Để khắc phục vấn đề này, các nhà sản xuất phần mềm phải xử lý code để loại bỏ MD2 ra khỏi sản phẩm.
Các điểm yếu an toàn trên mặc dù có liên quan đến giao thức SSL, nhưng thực chất là nằm trên các phần mềm ứng dụng SSL. Vì vậy, để giải quyết các điểm yếu này, cần giải quyết các lỗi trên phần mềm ứng dụng giao thức SSL, còn bản thân giao thức SSL vẫn được xem là giao thức an toàn và tin cậy.