HomeBlogGiao thức ủy quyền OAuth 2.0: Giải pháp bảo mật cho ứng dụng web hiện đại

Giao thức ủy quyền OAuth 2.0: Giải pháp bảo mật cho ứng dụng web hiện đại

Locker blog reading time4 phút để đọc
Locker Avatar

anhtp

06/07/2024
Copy

Winston is a highly experienced digital marketing professional, specializing in Cybersecurity, IT services, and Software as a Service (SaaS).

Reading Time: 4 minutes

OAuth 2.0 (Open Authorization Protocol) là một giao thức ủy quyền mở cho phép người dùng cấp quyền truy cập cho các ứng dụng của bên thứ ba vào các tài nguyên của họ mà không cần tiết lộ mật khẩu. Nó được sử dụng rộng rãi trong các ứng dụng web hiện đại để bảo mật dữ liệu của người dùng và đơn giản hóa quy trình đăng nhập.

Nội dung được đọc nhiều: Báo cáo tình hình lộ lọt dữ liệu và thông tin nhạy cảm 6 tháng đầu năm 2024

OAuth 2.0 hoạt động thếnào?

OAuth 2.0 hoạt động dựa trên 4 vai trò chính:

  • Resource Owner (Chủ sở hữu tài nguyên): Người dùng sở hữu tài nguyên (như tài khoản mạng xã hội, email, dữ liệu lưu trữ).
  • Resource Server (Máy chủ tài nguyên): Lưu trữ tài nguyên của người dùng và cung cấp API để truy cập tài nguyên.
  • Client (Ứng dụng): Muốn truy cập tài nguyên của người dùng.
  • Authorization Server (Máy chủ ủy quyền): Cấp và quản lý token truy cập cho phép ứng dụng truy cập tài nguyên của người dùng.

OAuth2 hoạt động thế nào

Quy trình ủy quyền

Quy trình cấp quyền mã ủy quyền (oauth2 application authentication) là một phần quan trọng trong giao thức OAuth 2.0, cho phép ứng dụng của bên thứ ba truy cập dữ liệu của người dùng một cách an toàn. Dưới đây là cách thức hoạt động của quy trình này, sử dụng ví dụ về ứng dụng tạo lịch trình cần truy cập vào ảnh của người dùng lưu trữ trên Google Drive:

1. Yêu cầu quyền truy cập

Ứng dụng tạo lịch trình (ứng dụng khách) yêu cầu người dùng cấp quyền truy cập vào ảnh (tài nguyên được bảo vệ) của họ được lưu trữ trên Google Drive. Ứng dụng thực hiện điều này bằng cách chuyển hướng người dùng đến trang ủy quyền cụ thể.

2. Máy chủ ủy quyền tham gia

Ứng dụng khách gửi yêu cầu đến máy chủ ủy quyền của Google (đóng vai trò là máy chủ ủy quyền) để truy cập vào ảnh của người dùng. Ứng dụng cung cấp ID của chính nó và điểm cuối chuyển hướng, nơi người dùng sẽ được gửi sau khi đưa ra quyết định.

3. Phê duyệt của người dùng

Google, với tư cách là máy chủ ủy quyền, xác minh danh tính của người dùng và sau đó yêu cầu họ cho phép. Người dùng sẽ thấy một thông báo giải thích quyền truy cập mà ứng dụng tạo lịch trình đang yêu cầu (ví dụ: “đọc dữ liệu Google Drive của bạn”). Nếu người dùng chấp thuận, quy trình sẽ tiếp tục.

4. Nhận mã truy cập

Với sự chấp thuận của người dùng, ứng dụng tạo lịch trình yêu cầu mã truy cập từ điểm cuối mã thông báo của Google. Mã truy cập này hoạt động như một chìa khóa để mở khóa ảnh của người dùng.

5. Truy cập ảnh

Bây giờ, ứng dụng tạo lịch trình có thể sử dụng mã truy cập để yêu cầu ảnh của người dùng từ Google Drive (máy chủ tài nguyên).

6. Cấp quyền truy cập (nếu hợp lệ)

Nếu mã truy cập hợp lệ, Google Drive cấp quyền truy cập và gửi ảnh trở lại ứng dụng tạo lịch trình.

Có thể bạn quan tâm: 9 tip bảo mật server đơn giản mà hiệu quả cho system admin

Ưu điểm & Nhược điểm của giao thức OAuth 2.0

Ưu điểm

Nhược điểm

✅Bảo mật: Người dùng không cần chia sẻ mật khẩu với ứng dụng, giảm nguy cơ bị đánh cắp thông tin đăng nhập. ⭕Phức tạp hơn so với các phương pháp ủy quyền truyền thống: Việc triển khai và quản lý OAuth 2.0 có thể phức tạp hơn so với các phương pháp ủy quyền truyền thống như sử dụng cookie hoặc session.
✅Dễ sử dụng: Quy trình ủy quyền đơn giản, thuận tiện cho người dùng. ⭕Rủi ro lộ lọt token: Nếu token truy cập bị lộ lọt, kẻ gian có thể sử dụng nó để truy cập tài nguyên của người dùng trái phép.
✅Linh hoạt: Hỗ trợ nhiều loại tài nguyên và ứng dụng khác nhau. ⭕Rủi ro lạm dụng dữ liệu: Ứng dụng có thể lạm dụng dữ liệu người dùng nếu không được giám sát chặt chẽ.
✅Tính mở rộng cao: Dễ dàng mở rộng để hỗ trợ nhiều người dùng và ứng dụng hơn.

Kết luận

OAuth 2.0 là một giao thức ủy quyền mạnh mẽ và linh hoạt, mang lại nhiều lợi ích cho các ứng dụng web hiện đại. Tuy nhiên, việc triển khai và sử dụng OAuth 2.0 cần được thực hiện cẩn thận để đảm bảo bảo mật và bảo vệ dữ liệu người dùng.

Locker Secrets Manager có thể tích hợp Đăng nhập SSO bằng các phương thức như openID hay OAuth2. Đảm bảo các thành viên trong team có thể truy cập và sử dụng thông tin secrets hiệu quả.

Xem thêm: Tiềm ẩn nguy cơ an ninh mạng do API lưu hardcode

Tin mới nhất

Locker blog

Mẹo, tin tức, hướng dẫn và các best practice độc quyền của Locker

Đăng ký nhận bản tin của chúng tôi

Hãy trở thành người nhận được các nội dung hữu ích của Locker sớm nhất

Xem chính sách của chúng tôi Chính sách bảo mật.