khóa bí mật mức tạo ra bởi RP. T1 Mã được sử dụng để đảm bảo các yêu cầu nhập có nguồn gốc từ RP chính nó.
2. Khi nhận được yêu cầu đăng nhập, RP tính t10 ¼ HMAC (sid, KRP) và kiểm tra xem t10 ¼ t1 từ yêu cầu. Nếu có, sau đó RP khởi tạo một yêu cầu với tham số t2 Auth ¼ HMAC (sid.idp.ihr, KRP) nối vào URL return_to của yêu cầu Auth.
3. Khi nhận được một phản ứng Auth, RP chiết xuất t2 từ URL return_to, tính T20 ¼ HMAC (sid.idp.ihr, KRP), và kiểm tra xem T20 ¼ t2 ngoài việc xác nhận chữ ký Auth Response.
Cơ chế tấn công phòng thủ Web của chúng tôi là quốc tịch , và được thiết kế để được thực hiện hoàn toàn trên RP phía máy chủ. Ngoài ra, tất cả các chức năng cần thiết mật mã (tức là, HMAC) và dữ liệu (ví dụ, Auth Yêu cầu và cookie phiên) là dễ dàng truy cập đến các RP. Phương pháp giảm thiểu sử dụng một chức năng HMAC để ràng buộc các định danh phiên với những thông điệp giao thức để cung cấp ngữ cảnh ràng buộc và đảm bảo tính toàn vẹn và tính xác thực của các yêu cầu xác thực. Sử dụng một mã HMAC là một mã thông báo xác tránh các hội chợ, chắc chắn của các định danh phiên, và ngăn chặn một kẻ tấn công biết được dấu hiệu suy luận với định danh phiên làm việc của người dùng. Ngoài ra, đối với RP có hỗ trợ một OpenID exten-sion, các thông số yêu cầu mở rộng có thể được bao gồm trong URL return_to được bảo vệ bởi cơ chế bảo vệ.
Hầu hết các khuôn khổ phát triển ứng dụng web hỗ trợ quản lý phiên tự động, mà làm cho các định danh phiên dễ dàng truy cập đến việc thực hiện RP. Các trang web mà không phát hành một phiên trước khi xác thực cần để bắt đầu một "xác thực" phiên (bao gồm thiết lập các cookie phiên) trước khi vẽ các hình thức đăng nhập, và sau đó chuyển sang một phiên chứng thực với một phiên iDEN-tifier mới sau khi một sự khẳng định giá trị là nhận được. Cũng lưu ý rằng giao thức OpenID 2.0 cho phép người dùng cuối để nhập OpenID định danh của một IdP (ví dụ, "https://yahoo.com"; cho Yahoo) thay vì OpenID cô. Khi một IdP Nhận dạng được nhập vào, i trong Yêu cầu Auth là một string15 hằng số được xác định bởi các OpenID, và tôi trong những đáp ứng Auth là URL OpenID của người dùng. Trong trường hợp này, RP phải sử dụng tên hằng số được xác định bởi các OpenID khi bắt đầu một yêu cầu Auth trong Bước 2, và tính toán T20 trong Bước 3.
cơ chế bảo vệ của chúng tôi ngăn SSO CSRF qua các cuộc tấn công Login Request (tấn công A1 và A2) như kẻ tấn công là không thể tính toán xác nhận t1 thẻ mà không biết nhận dạng phiên và khóa bí mật của RP. SSO CSRF qua Auth Request (A3) và tấn công phiên trao đổi (A4) được giảm nhẹ là tốt, bởi vì các định danh phiên trong phiên trình duyệt của kẻ tấn công là khác nhau từ một trong trình duyệt của nạn nhân. Ngoài ra, sự toàn vẹn của Auth Yêu cầu được đảm bảo (A5) là yêu cầu Auth được đi kèm bởi một HMAC, và bất kỳ sự sửa đổi để yêu cầu xác thực sẽ được phát hiện trong Bước 3. tấn công mạo danh qua một Auth ứng chặn (A6) có thể được cài -vented khi giao tiếp giữa các trình duyệt và các trang web của RP là bảo vệ bằng SSL. Tuy nhiên, SSL áp đặt không mong muốn các tác dụng phụ như trên không tính toán, độ trễ không cache, và cảnh báo nội dung hỗn hợp. Ngoài ra, ngay cả khi quá trình đăng nhập được bảo vệ bởi SSL, nếu kẻ tấn công
15 http://specs.openid.net/auth/2.0/identifier_select.
Quản lý để tìm các cookie phiên trong một commu-thông tin dữ liệu tiếp theo mà không được bảo đảm bằng HTTPS (ví dụ, các trang, đồ họa, JavaScripts, style sheets), kẻ tấn công có thể sử dụng các cookie phiên mái hiên-giảm mạo danh các nạn nhân cho chiều dài của phiên. Chúng tôi thấy rằng chỉ có 19% các trang web RP trong đánh giá của chúng tôi sử dụng SSL, và 84% trong số họ đã bị tổn thương đến việc cướp quyền thông qua một cookie phiên nghe trộm sau khi đăng nhập. Điều này nói lên sự cần thiết cho một cơ chế bảo vệ thay thế để ngăn chặn các cuộc tấn công mạo danh mà không đòi hỏi SSL làm việc RP.
7.2. Các biện pháp đối phó MITM
Bản chất phi trạng thái của giao thức HTTP làm cho nó khó để đảm bảo nếu hai yêu cầu HTTP có nguồn gốc từ cùng một khách hàng. Các ứng dụng Web thường sử dụng cookie của trình duyệt để xác định từng trường hợp của khách hàng trình duyệt của họ. Tuy nhiên, nếu không có sự bảo vệ bí mật và toàn vẹn được cung cấp bởi SSL, cookie của trình duyệt có thể nghe trộm hoặc bị thay đổi bởi những kẻ tấn công mạng. Trong trường hợp của các giao thức OpenID, một kẻ tấn công mạng MITM có thể đánh chặn một đáp ứng với các cookie phiên tương ứng Auth, và sau đó phát lại chúng từ một đại lý của trình duyệt điều khiển bởi những kẻ tấn công để IMPER-Sonate nạn nhân. Hơn nữa, ngay cả khi quá trình đăng nhập là hoàn toàn được bảo đảm bằng SSL, nếu các định danh phiên được tiết lộ trong bất kỳ các yêu cầu HTTP tiếp theo, một kẻ tấn công mạng thụ động có thể chỉ đơn giản là nghe lén các định danh phiên để chiếm quyền điều khiển phiên họp sau khi người dùng đã đăng nhập thành công vào RP website. Một giải pháp trực quan để các vấn đề phiên định danh nghe trộm là để liên kết phiên web với địa chỉ IP của người dùng tại thời điểm phiên ini
đang được dịch, vui lòng đợi..
