1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ thống đăng nhập một lần

81 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ Thống Đăng Nhập Một Lần
Tác giả Vũ Mạnh Cường
Người hướng dẫn PGS. TS. Nguyễn Linh Giang
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2019
Thành phố Hà Nội
Định dạng
Số trang 81
Dung lượng 5,26 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - VŨ MẠNH CƯỜNG HỆ THỐNG ĐĂNG NHẬP MỘT LẦN Chuyên ngành : CÔNG NGH THÔNG TIN LUẬN VĂN THẠC SĨ K THUẬT CÔNG NGH THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC PGS TS Nguyễn Linh Giang Hà Nội – Năm 2019 Tai ngay!!! Ban co the xoa dong chu nay!!! 17061131748161000000 LỜI CAM ĐOAN Tôi – Vũ Mạnh Cường – xin cam đoan • Luận văn tốt nghiệp (LVTN) Thạc sĩ cơng trình nghiên cứu thân hướng dẫn PGS.TS Nguyễn Linh Giang • Các kết nêu Luận văn tốt nghiệp trung thực, chép tồn văn cơng trình khác Hà Nội, ngày … tháng … năm 2019 Tác giả LVThS Vũ Mạnh Cường i LỜI CẢM ƠN Đầu tiên, xin gửi lời cảm ơn sâu sắc tới Thầy giáo – PGS.TS Nguyễn Linh Giang – trưởng mơn Truyền thơng Mạng máy tính, Viện Công nghệ thông tin Truyền thông, Trường Đại học Bách Khoa Hà Nội hướng dẫn cho lời khuyên trình thực luận văn Tiếp theo, xin chân thành cảm ơn thầy cô Viện Công nghệ thông tin truyền thông, Viện đào tạo sau đại học, Trường Đại học Bách Khoa Hà Nội tạo điều kiện cho suốt trình học tập nghiên cứu trường Cuối cùng, tơi xin bày tỏ lịng cảm ơn tới người thân gia đình, bạn bè động viên giúp đỡ để tơi hồn thành luận văn Hà Nội, ngày … tháng … năm 2019 Tác giả LVThS Vũ Mạnh Cường ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC KÝ HIU, CÁC CHỮ VIẾT TẮT vi DANH MỤC HÌNH ẢNH vii MỞ ĐẦU .1 Đặt vấn đề Phương pháp đề xuất Bố cục luận văn CHƯƠNG 1: GIỚI THIU CƠ CHẾ ĐĂNG NHẬP MỘT LẦN 1.1 Tổng quan Single sign-on 1.2 Tổng quan xác thực .4 1.2.1 Các phương thức xác thực 1.2.2 Các giao thức xác thực .6 1.2.2.1 OpenID .6 1.2.2.2 OAuth2 .7 1.2.2.3 SAML 1.3 Nguyên lý hoạt động Single sign-on 11 1.4 Một số giải pháp Single sign-on 12 1.4.1 Facebook Connect 13 1.4.2 Central Authentication Service 14 1.5 Ưu điểm nhược điểm 15 1.6 Một số vấn đề thường gặp triển khai 16 CHƯƠNG 2: TỔNG QUAN VỀ OAUTH2 .17 2.1 Giới thiệu OAuth2 .17 2.2 Lịch sử phát triển 17 2.3 Nguyên lý hoạt động 17 2.3.1 Các đối tượng OAuth2 17 2.3.2 Sơ đồ luồng hoạt động .18 iii 2.3.3 Đăng ký thông tin ứng dụng 19 2.3.4 ClientID Client Secret 19 2.3.5 Cấp ủy quyền ( Authorization Grant) .19 2.3.5.1 Cấp ủy quyền sử dụng mã ủy quyền (Authorization Code) .19 2.3.5.2 Cấp ủy quyền ngầm định (Implicit) 21 2.3.5.3 Cấp ủy quyền password (Password) 23 2.3.5.4 Cấp ủy quyền thông tin ứng dụng (Client Credentials) 23 2.3.6 Các hoạt động khác OAuth2 23 2.3.6.1 Sử dụng Access Token để lấy liệu 23 2.3.6.2 Yêu cầu gửi access token 23 2.3.7 Ưu nhược điểm OAuth2 24 CHƯƠNG 3: GIẢI PHÁP OAUTH2 VÀ ĐĂNG NHẬP MỘT LẦN 25 3.1 Giới thiệu mô hình 25 3.1.1 Các giải pháp Single sign-on sử dụng OAuth2 25 3.1.1.1 Xây dựng Single sign-on với nhà cung cấp Provider 25 3.1.1.2 Xây dựng Single sign-on với vai trò nhà cung cấp Provider .26 3.1.2 Hệ thống đăng nhập lần sử dụng OAuth2 .27 3.1.3 Thực trạng mơ hình truyền thống 27 3.1.4 Nhu cầu lợi ích giải pháp 27 3.1.5 Lý lựa chọn công nghệ 28 3.1.6 Giới thiệu PHP, framework Laravel, laravel-passport 29 3.1.6.1 Giới thiệu PHP 29 3.1.6.2 Giới thiệu framework Laravel .31 3.1.6.3 Giới thiệu Laravel-passport 33 3.2 Quy mô giải pháp 33 3.3 Phạm vi giải pháp 37 3.4 Mục tiêu 39 3.5 Phân tích thiết kế hệ thống 39 3.5.1 Mơ tả tốn 39 3.5.2 Mơ hình hệ thống .40 3.5.2.1 Sơ đồ khối chức .40 iv 3.5.2.2 Sơ đồ hoạt động 41 3.6 Ưu điểm, nhược điểm .42 3.7 Môi trường thử nghiệm .43 3.7.1 Môi trường .43 3.7.2 Thử nghiệm 43 3.7.2.1 Cài đặt Laravel 43 3.7.2.2 Cài đặt Laravel-passport 44 3.7.2.3 Cài đặt laravel-client 50 3.7.2.4 Cài đặt Redis 53 3.7.2.5 Cấu hình share storageSession sub domain .53 3.7.2.6 Cấu hình Virtual Domain 55 3.8 Đánh giá hiệu hệ thống 56 3.8.1 Tạo Client ID, Client Secret .56 3.8.2 Thử nghiệm tính login với Single sign-on 57 3.8.3 Thử nghiệm tính logout với Single sign-on 61 3.8.4 Thử nghiệm tính access_token hết hạn 62 3.8.5 Thử nghi ệm tính người dùng không cấp quyền truy cập 63 3.8.6 Thử nghi ệm tính người dùng xác thực khơng thành cơng .65 3.8.7 Thử nghiệm tính truy cập thơng tin người dùng .65 3.8.8 Thử nghiệm tính bình luận trang tin tức 67 3.8.9 Kết luận 70 3.9 Đề xuất cải thiện .70 KẾT LUẬN .71 Tổng kết 71 Hướng phát triển 71 TÀI LIU THAM KHẢO .72 v DANH MỤC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Từ viết tắt Nghĩa tiếng Anh Nghĩa tiếng Việt SSO Single sign-on Hệ thống đăng nhập lần HA High Availability Tính sẵn sàng cao ORM Object Relational Mapping PDO PHP Data Object API Application Programming Interface vi Giao diện lập trình ứng dụng DANH MỤC HÌNH ẢNH Hình 1: Tổng quan Single sign-on Hình 2: Một số dịch vụ Google Hình 3: Phân loại phương thức xác thực Hình 4: Cách thức hoạt động OAuth2 Hình 5: Cách thức hoạt động SAML 10 Hình 6: Cách thức hoạt động Single sign-on 11 Hình 7: Sơ đồ luồng hoạt động OAuth2 18 Hình 8: Sơ đồ hoạt động Authorization Code 20 Hình 9: Ủy quyền Authorization Code 20 Hình 10: Sơ đồ hoạt động Implicit 22 Hình 11: PHP ưu chuộng làm tảng để thiết kế web [9] 29 Hình 12: OOP giúp lập trình viên tiếp cận, mở rộng ứng dụng [9] 30 Hình 13: Sự tăng tưởng Laravel Github [11] 31 Hình 14: Mơ hình MVC laravel [11] 32 Hình 15: Mơ hình triển khai hệ thống lý tưởng 34 Hình 16: Mơ hình HA Application 35 Hình 17: Mơ hình HA database 36 Hình 18: Mơ hình redis custer 36 Hình 19: Mơ hình triển khai hệ thống phạm vi demo 38 Hình 20: Sơ đồ khối chức hệ thống Single sign-on sử dụng OAuth2 40 Hình 21: Sơ đồ hoạt động hệ thống Single sign-on sử dụng OAuth2 41 Hình 22: Cài đặt Laravel 44 Hình 23: Cài đặt laravel-passport 44 Hình 24: Đăng ký Provider 45 Hình 25: Thêm trait cho User Model 46 Hình 26: Đăng ký Passport routes 47 Hình 27: Thay đổi kiểu xác thực api 47 Hình 28: Đăng ký vue component 48 Hình 29: Trang chủ Auth Server 49 Hình 30: Thêm router cho Client 50 Hình 31: Thêm action cho Client 51 Hình 32: Thêm xử lí cho trang chủ 52 Hình 33: Trang chủ Hust Client B 52 Hình 34: Cài đặt redis 53 Hình 35: Cấu hình redis session 54 Hình 36: Cấu hình mơi trường share Session 54 Hình 37: Cấu hình virtual Domain 55 Hình 38: Tạo ClientID , Client Secret 56 Hình 39: Thơng tin ClientID , Client Secret 57 Hình 40: Trang chủ Hust Client B 57 Hình 41: Đăng nhập hệ thống 58 Hình 42: Cấp quyền truy cập tài nguyên 58 Hình 43: Xác thực tài khoản Hust Client B thành công 59 Hình 44: Xác thực tài khoản Hust Client C thành công với SSO 60 Hình 45: Đăng xuất thành cơng website 61 Hình 46: Truy cập với access_token hết hạn 62 vii Hình 47: Trang chủ website b.devlocal.com 64 Hình 48: Xác thực với thơng tin không 65 Hình 49: Thơng tin người dùng trước thay đổi 66 Hình 50: Thơng tin người dùng sau thay đổi 66 Hình 51: Trang tin tức 67 Hình 52: Tính bình luận người dùng đăng nhập 68 Hình 53: Trang chi tiết tin tức người dùng chưa đăng nhập 69 viii MỞ ĐẦU Đặt vấn đề Trong thời gian gần với phát triển nghành Công nghệ thông tin, xu hướng dịch vụ chia sẻ liệu người dùng hướng phát triển chung Thực tế người dùng quản lí nhiều tài khoản, mật cho dịch vụ, ứng dụng mà họ tham gia Việc người dùng quản lí thơng tin tài khoản sử dụng nảy sinh vấn đề khơng đảm bảo tính an ninh, an toàn phát sinh thêm nghiệp vụ khác Do nhu cầu đăng nhập lần – Single sign-on cho ứng dụng dịch vụ cần thiết Cơ chế Single sign-on (SSO) cho ứng dụng dịch vụ cấp thiết Cơ chế SSO đảm bảo cho người dùng hợp pháp truy cập hệ thống hay nhiều hệ thống kết nối với nhau, phải sử dụng tài khoản SSO cho phép người dùng đăng nhập vào hệ thống, họ đăng nhập vào tất hệ thống liên quan Phương pháp đề xuất Với phát triển bùng nổ nghành Công nghệ thông tin, dịch vụ phát triển mạnh Nhu cầu đăng nhập lần – Single sign-on cấp thiết vấn đề bảo mật, liệu cá nhân ngày quan tâm Người dùng cấp quyền truy cập hệ thống, bị thu hồi quyền truy cập trái phép tương lai họ không cần cung cấp mật họ Người dùng định việc cho phép cấp quyền truy cập vào liệu cá nhân ứng dụng thứ có nhu cầu Có nhiều giao thức, giải pháp, kỹ thuật cho phép xây dựng hệ thống Single sign-on Các giải pháp có ưu điểm, nhược điểm, phù hợp với nhu cầu, nghiệp vụ riêng Tuy giải pháp giải toán xây dựng hệ thống đăng nhập lần Trong luận văn này, tập trung nghiên cứu giao thức OAuth2, từ xây dựng hệ thống Single sign-on cho subdomain Giải pháp sở giúp cho doanh nghiệp

Ngày đăng: 26/01/2024, 15:37

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w