Sign In

Các giao thức OAuth, OpenID Connect, SAML: các giao thức xác thực, ủy quyền, đăng nhập một lần đối với ứng dụng nền web.

09:43 06/07/2023

Chọn cỡ chữ A a

Theo kết quả nghiên cứu các giao thức xác thực, ủy quyền, đăng nhập một lần đối với các ứng dụng nền web như OAuth, OpenID Connect và SAML. Bài viết làm rõ hơn yêu cầu nghiên cứu các giải pháp quản lý định danh, đề xuất yêu cầu quản lý định danh cho hệ thống thông tin của Bộ Tài nguyên và Môi trường.

Các ứng dụng trên nền web đang phát triển không ngừng trong 10 năm trở lại đây, dần thay thế hoàn toàn các ứng dụng desktop với mô hình cổ điển client – server. Để đảm bảo an toàn thông tin cho các ứng dụng, các giao thức xác thực, ủy quyền, đăng nhập một lần cũng ngày càng được cải tiến, hoàn thiện hơn.

Ngày nay việc xác thực tài khoản gần như là bắt buộc và phổ biến với hầu hết các trang web. Tuy nhiên, điều này dẫn đến một tình trạng là người dùng phải lập rất nhiều tài khoản khác nhau, đồng nghĩa với việc phải nhớ vô số tên tài khoản và mật khẩu. Ngoài ra, việc đăng nhập liên tục tốn không ít thời gian và công sức.

Giao thức xác thực ủy quyền ,đăng nhập một lần có tên tiếng Anh là SSO,tên đầy đủ là Single Sign On. SSO được tạo ra như một công cụ cực kì hữu ích giúp người dùng có thể truy cập vào những trang web trên mà chỉ cần đăng nhập một lần duy nhất. Nói một cách dễ hiểu, nếu bạn đã được xác thực danh tính ở trang web thứ nhất thì khi sang trang web thứ hai bạn không cần đăng nhập nữa. SSO là một trong những giải pháp phổ biến nhất được sử dụng rộng rãi ngày nay.

Việc sử dụng SSO rất tiện lợi cho người dùng khi đăng nhập một lần và sử dụng nhiều lần khi sử dụng các hệ thống ứng dụng. Người dùng không còn cần nhập tên người dùng và mật khẩu người dùng mỗi lần, cũng như không cần phải nhớ nhiều bộ tên người dùng và mật khẩu người dùng. Nền tảng đăng nhập một lần có thể cải thiện trải nghiệm người dùng khi sử dụng hệ thống ứng dụng.

Thuận tiện cho người quản trị hệ thống chỉ cần duy trì một tập hợp các tài khoản người dùng thống nhất, rất tiện lợi và đơn giản. Ngược lại, quản trị viên hệ thống trước đây cần quản lý nhiều nhóm tài khoản người dùng. Mọi hệ thống ứng dụng đều có một tập hợp các tài khoản người dùng, điều này không chỉ mang lại sự bất tiện cho việc quản lý mà còn dễ xảy ra những sơ hở trong quản lý.

Phát triển hệ thống ứng dụng được đơn giản hóa. Khi phát triển một hệ thống ứng dụng mới, bạn có thể sử dụng trực tiếp dịch vụ xác thực người dùng của nền tảng đăng nhập một lần để đơn giản hóa quá trình phát triển. Nền tảng đăng nhập một lần thực hiện đăng nhập một lần bằng cách cung cấp nền tảng xác thực thống nhất. Do đó, hệ thống ứng dụng không cần phát triển các thủ tục xác thực người dùng.

Hệ thống nhận dạng liên kết là nơi tập trung và liên kết các thông tin người dùng. Có 4 tiêu chí để cấu tạo nên hệ thống nhận dạng liên kết:

- Xác thực (Authentication): đây là bước xác minh danh tính người dùng thông qua việc kiểm tra thông tin đăng nhập.

- Phân quyền (Authorization): sau khi lấy danh tính xong, SSO sẽ dựa vào đó để kiểm tra quyền truy cập của người dùng.

- Trao đổi thông tin người dùng (User attributes exchange): Các thông tin người dùng như tên, họ,... sẽ dễ bị trùng lặp. Các hệ thống con cần các thông tin này và phải lưu trữ chúng. Sẽ có một nơi tổng hợp lại các thông tin này và trao đổi với hệ thống con

- Quản lí người dùng (User management): quản trị viên của trang web có thể quản lí người dùng thông qua các hoạt động chỉnh sửa, thêm, xóa ở hệ thống con.

Cơ chế hoạt động: khi bạn đăng nhập vào trang web A thì domain của A sẽ tự động lưu ngay thông tin đăng nhập của bạn vào cookie. Sau đó, để bạn được tiếp tục đăng nhập khi truy cập vào trang web B thì domain B sẽ phải đọc được cookie do trang web A tạo ra. Xét trên lý thuyết, điều này gần như là không thể vì domain của các trình duyệt hiện nay chỉ truy cập cookie do chính nó tạo ra. SSO có nhiệm vụ chia sẻ thông tin cookie cho các domain của các trang web với nhau. SSO gồm nhiều giai thức với cơ chế chia sẻ khác nhau, nhưng cuối cùng đều tạo ra một domain trung tâm. Thông qua domain này, thông tin về cookie của các trang web sẽ được chia sẻ với domain con.

Điểm khác biệt giữa ba giao thức SAML, OAuth và OpenID Connect: OAuth 2.0 là một khuôn khổ kiểm soát việc ủy quyền đối với tài nguyên được bảo vệ như ứng dụng hoặc một tập hợp tệp, trong khi OpenID Connect và SAML đều là tiêu chuẩn ngành để xác thực liên kết. Điều đó có nghĩa là OAuth 2.0 được sử dụng trong các tình huống về cơ bản khác với hai tiêu chuẩn còn lại và có thể được sử dụng đồng thời với OpenID Connect hoặc SAML.

Sử dụng OpenID Connect hoặc SAML một cách độc lập, doanh nghiệp có thể đạt được mục tiêu xác thực người dùng và triển khai đăng nhập một lần. Mặc dù cả hai đều xử lý thông tin đăng nhập, nhưng chúng có những điểm mạnh và điểm yếu khác nhau.

- OpenID Connect được xây dựng dựa trên giao thức OAuth 2.0 và sử dụng thêm mã thông báo web JSON (JWT), được gọi là mã thông báo ID, để chuẩn hóa các khu vực mà OAuth 2.0 để lại cho sự lựa chọn, chẳng hạn như phạm vi và khám phá điểm cuối. Nó đặc biệt tập trung vào xác thực người dùng và được sử dụng rộng rãi để cho phép người dùng đăng nhập trên các trang web dành cho người tiêu dùng và ứng dụng dành cho thiết bị di động.

- SAML độc lập với OAuth, dựa vào trao đổi thông điệp để xác thực ở định dạng XML SAML, trái ngược với JWT. Nó được sử dụng phổ biến hơn để giúp người dùng doanh nghiệp đăng nhập vào nhiều ứng dụng bằng một lần đăng nhập.

Các trường hợp sử dụng của chúng như sau:

- OAuth 2.0: Nếu bạn đã từng đăng ký một ứng dụng mới và đồng ý để ứng dụng đó tự động tạo nguồn liên hệ mới qua Facebook hoặc danh bạ điện thoại của bạn, thì có thể bạn đã sử dụng OAuth 2.0. Tiêu chuẩn này cung cấp quyền truy cập được ủy quyền an toàn. Điều đó có nghĩa là một ứng dụng có thể thực hiện các hành động hoặc truy cập tài nguyên từ máy chủ thay mặt cho người dùng mà họ không cần phải chia sẻ thông tin đăng nhập của mình. Nó thực hiện điều này bằng cách cho phép nhà cung cấp danh tính (IdP) phát hành mã thông báo cho các ứng dụng của bên thứ ba với sự chấp thuận của người dùng.

- OpenID Connect: Nếu bạn đã sử dụng Google của mình để đăng nhập vào các ứng dụng như YouTube hoặc Facebook để đăng nhập vào giỏ hàng trực tuyến, thì bạn đã quen với tùy chọn xác thực này. OpenID Connect là một tiêu chuẩn mở mà các tổ chức sử dụng để xác thực người dùng. IdP sử dụng điều này để người dùng có thể đăng nhập vào IdP, sau đó truy cập các trang web và ứng dụng khác mà không cần phải đăng nhập hoặc chia sẻ thông tin đăng nhập của họ.

- SAML: Nhiều khả năng bạn đã trải nghiệm xác thực SAML trong môi trường làm việc. Ví dụ: nó cho phép bạn đăng nhập vào mạng nội bộ của công ty hoặc IdP và sau đó truy cập vào nhiều dịch vụ bổ sung, chẳng hạn như Salesforce, Box hoặc Workday mà không cần phải nhập lại thông tin đăng nhập của bạn. SAML là một tiêu chuẩn dựa trên XML để trao đổi dữ liệu xác thực và ủy quyền giữa các IdP và nhà cung cấp dịch vụ để xác minh danh tính và quyền của người dùng, sau đó cấp hoặc từ chối quyền truy cập của họ vào các dịch vụ.

Kết luận SSO cung cấp trải nghiệm liền mạch cho người dùng khi sử dụng các ứng dụng và dịch vụ cho người dùng. Thay vì phải nhớ thông tin đăng nhập riêng cho từng ứng dụng hoặc dịch vụ, người dùng chỉ cần đăng nhập một lần và truy cập các ứng dụng khác. Đề xuất các trang web của Cục Chuyển đổi số, các cơ sở hạ tầng trực thuộc Bộ nói riêng và trang web các đơn vị của Bộ Tài nguyên và Môi trường nói chung nên sử SSO nhằm tối ưu hóa hệ thống thông tin và tiết kiệm thời gian khi làm việc, qua đó nâng cao hiệu suất lao động của Bộ Tài nguyên và môi trường.

Ý kiến

Thời đại 5.0: Những yếu tố lớn tác động đến cuộc sống

Thời đại 5.0: Những yếu tố lớn tác động đến cuộc sống

Thời đại 5.0 không chỉ là sự tiếp nối của thời đại công nghiệp 4.0, mà còn là bước nhảy vọt trong việc ứng dụng công nghệ vào cuộc sống, đưa con người vào tâm điểm của sự phát triển công nghệ.
Kiến trúc tham chiếu chuyên ngành đa dạng sinh học trong hệ thống thông tin lĩnh vực môi trường

Kiến trúc tham chiếu chuyên ngành đa dạng sinh học trong hệ thống thông tin lĩnh vực môi trường

Hệ thống thông tin (HTTT), Cơ sở dữ liệu (CSDL) môi trường được xây dựng và vận hành theo phân cấp quản lý từ quốc gia, bộ ngành và cấp tỉnh, bảo đảm tính thống nhất và có khả năng kết nối, chia sẻ, liên thông giữa các hệ thống, tuân thủ Khung kiến trúc Chính phủ điện tử Việt Nam, phiên bản 3.0, hướng tới Chính phủ số.
Ứng dụng phần mềm Storm water management model (SWMM) để đề xuất các giải pháp thoát nước bền vững trung tâm Hải Phòng

Ứng dụng phần mềm Storm water management model (SWMM) để đề xuất các giải pháp thoát nước bền vững trung tâm Hải Phòng

Tình trạng ngập lụt đang xảy ra thường xuyên và đặt ra thách thức nghiêm trọng ở các đô thị Việt Nam. Để giải quyết bài toán này, nghiên cứu được thực hiện nhằm tìm ra giải pháp kỹ thuật thoát nước bền vững (SUDS), góp phần tăng cường hiệu quả công tác chống ngập, thí điểm cho khu vực trung tâm TP. Hải Phòng.