Xem mẫu

  1. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 1(74).2014.QUYỂN II NGHIÊN CỨU KIẾN TRÚC VÀ XÂY DỰNG HỆ THỐNG CHỨNG THỰC TẬP TRUNG CHO ĐẠI HỌC ĐÀ NẴNG RESEARCH ON ARCHITECTURE AND CONSTRUCTION OF CENTRAL AUTHENTICATION SYSTEM FOR THE UNIVERSITY OF DANANG Mai Trần Trung Hiếu, Trịnh Công Duy, Hồ Phan Hiếu Đại học Đà Nẵng; Email: mtthieu@sdc.ud.edu.vn, congduy@gmail.com, hophanhieu@gmail.com Tóm tắt – Xác thực người dùng là hoạt động tiên quyết trong các Abstract – User authentication is the precondition in the security phần mềm yêu cầu sự bảo mật. Với những hệ thống lớn gồm nhiều software. For the applications which are different in many details ứng dụng chạy trên nhiều nền tảng khác nhau nhưng sử dụng chung but use the same user data, Central Authentication System kho dữ liệu người dùng, thì chứng thực tập trung được xem là một is an optimal technique which supports account management kỹ thuật tối ưu, hỗ trợ xác thực tài khoản mà không tạo nên sự dư without data redundancy. In this paper, we present concept, thừa về dữ liệu. Bài báo này trình bày các khái niệm, kiến trúc về structure of central authentication and analyze disadvantages of chứng thực tập trung và phân tích một số khiếm khuyết đặc trưng software product which uses separate data. Then, we research của phần mềm sử dụng dữ liệu riêng lẻ. Từ đó, chúng tôi nghiên on architecture and propose the model for The University of cứu mô hình và đề xuất áp dụng cho Đại học Đà Nẵng. Mô hình đề Danang. The proposed model has been applied to some software xuất đã được thực nghiệm trong một số sản phẩm phần mềm (hệ products (operations management system, scientific research time thống điều hành tác nghiệp, hệ thống quản lý giờ nghiên cứu khoa management system for The University of Danang) and the results học. . . ) và cho thấy hiệu quả trong việc phát triển và quản lý dữ liệu. show the effectiveness for developing and managing data. Từ khóa – chứng thực tập trung; xác thực người dùng; quản lý dữ Key words – central authentication; user authentication; data liệu; Đại học Đà Nẵng; phát triển phần mềm; LDAP. management; the university of Danang; software development; LDAP. 1. Đặt vấn đề không thể thiếu trong kiến trúc Windows, nó đóng vai trò Chứng thực là hoạt động đầu tiên và cơ bản nhất của các như một hệ thống chuẩn và tập trung, dùng để tự động hóa phần mềm bảo mật. Đặc biệt trong những phần mềm cần sự việc quản lý mạng dữ liệu người dùng, bảo mật và các nguồn tương tác của người sử dụng thì chứng thực, ngoài mục đích tài nguyên được phân phối, cho phép tương tác với các thư để đảm bảo vấn đề an ninh phần mềm, còn là cơ sở, căn cứ mục khác. để truy xuất thông tin người dùng. Thông tin cần thiết để Active Directory quản lý tất cả các dữ liệu về tất cả chứng thực cơ bản gồm: người dùng và máy tính trong cùng một dịch vụ mạng. Active Directory còn kiểm tra, chứng thực tài khoản theo • Tên đăng nhập; các chính sách bảo mật. Ví dụ, khi người dùng đăng nhập • Mật khẩu. vào một máy tính trong hệ thống, Active Directory kiểm Chính vì thế, để chứng thực mỗi phần mềm cần xây tra mật khẩu đã nhập và xác định người dùng là một quản dựng nên kho dữ liệu người dùng để phục vụ đối chiều và trị viên hay người sử dụng bình thường. Nếu được chứng truy xuất. thực, Active Directory cung cấp một khung nhìn mang tính Vấn đề đặt ra nằm ở những hệ thống có quy mô lớn, cấu trúc để từ đó dễ dàng truy cập và quản lý tất cả các tài gồm nhiều phần mềm, nhiều ứng dụng với mục đích sử dụng nguyên trong mạng [2]. khác nhau, hoạt động trên nhiều nền tảng tách biệt... nhưng Active Directory sử dụng các giao thức truy cập thư mục lại cần dùng chung nguồn dữ liệu người sử dụng. Thông LDAP, chúng ta sẽ đề cập đến khái niệm này trong mục 2.2. thường, do những sự khác biệt đó, xen lẫn với tính cục bộ, nên mỗi ứng dụng thường xây dựng riêng cho mình chức 2.1.2. Những đơn vị cơ bản năng chứng thực và quản lý người dùng. Điều này tạo nên sự dư thừa về dữ liệu, bất động bộ về mặt thông tin lưu trữ và quan trọng hơn hết là gây rắc rối, khó khăn cho người sử dụng. Hiện nay, nhiều hệ thống phần mềm lớn trên thế giới và Việt Nam đang sử dụng chứng thực tập trung như giải pháp cho vấn đề đó, như: Google, Microsoft, FPT, Viettel. . . và đã được người dùng đánh giá cao về hiệu quả sử dụng. 2. Nội dung nghiên cứu 2.1. Active Directory Hình 1: Cấu trúc đơn vị của Active Directory 2.1.1. Khái niệm Active Directory được tổ chức bằng cách sử dụng 3 kiểu Active Directory là một dịch vụ thư mục được tạo ra bởi đơn vị hay cấu trúc thư mục. Bốn đơn vị này được chia thành Microsoft, được tích hợp trong hầu hết các hệ điều hành forest, domain, organizational unit và site [2]. Windows Server hiện nay. Active Directory là một phần • Forests: Nhóm các đối tượng, các thuộc tính và cú 14
  2. Mai Trần Trung Hiếu, Trịnh Công Duy, Hồ Phan Hiếu pháp thuộc tính trong Active Directory. tính của thực thể. “givenName” là tên, “sn” là họ, “mail” là • Domain: Nhóm các máy tính chia sẻ, tên và cơ sở dữ email ... liệu của các thành viên của chúng. Ngoài ra, quản trị hệ thống có thể tạo ra những tham • Organizational Unit (OU): Nhóm các mục trong miền số mới cho một thực thể LDAP, tùy thuộc vào mục đích nào đó. Chúng tạo nên một kiến trúc thứ bậc của sử dụng. Active Directory. 2.3. SSO và CAS 2.2. Lightweight Directory Access Protocol - LDAP SSO (Single Sign On) là cơ chế quản lý truy cập xác 2.2.1. Tổng quan về giao thức thực một lần và cho phép truy cập tài nguyên từ nhiều hê LDAP là một phần của Active Directory, LDAP là một thống phần mềm khác nhau. Nó giúp tránh phải xác thực giao thức ứng dụng truy cập các cấu trúc thư mục. Nó được nhiều lần. Khi một ứng dụng đăng xuất thì các ứng dụng thiết kế dựa trên giao thức Internet TCP/IP [4]. khác cũng sẽ đăng xuất theo (Single Sign Out). Một cấu trúc thư mục là một tập hợp các đối tượng có Dịch vụ chứng thực tập trung (Central Authentication các thuộc tính hay đặc điểm tương tự và được sắp xếp theo Service - CAS) là một giao thức dựa trên SSO, hoạt động lôgic thành nhiều cấp bậc. Ví dụ thường thấy nhất là danh trên nền web. Mục đích của CAS là cho phép một người bạ điện thoại. Trong đó, mỗi cá nhân hay tổ chức được sắp dùng có thể truy cập nhiều ứng dụng khác nhau trong khi chỉ cần đăng nhập một lần [3]. xếp theo thứ tự tên và có các thuộc tính là địa chỉ và số điện thoại. Vì mẫu cấu trúc một thư mục LDAP tương đối đơn Giao thức CAS bao gồm ít nhất 3 thành phần: một trình giản nên nó cũng thường được dùng để xác nhận người sử duyệt website ở Client, ứng dụng website cần chứng thực dụng các hệ thống thông tin. và máy chủ CAS. Một thành phần nữa là dịch vụ bổ sung, Client bắt đầu phiên bằng việc kết nối đến máy chủ giống như là máy chủ chứa dữ liệu để truy xuất trong quá LDAP qua cồng mặc định 389. Sau đó Client gửi các yêu trình hệ thống hoạt động. cầu đến máy chủ và máy chủ sẽ phản hồi câu trả lời. Tất cả thông tin chuyển giao đều sử dụng Basic Encoding Rules (BER). Client có thể gửi những yêu cầu sau [4]: • Bắt đầu kết nối. • Tìm kiếm: Tìm kiếm và trả về các thực thể hoặc thư mục. • So sánh: Kiểm tra và trả về nếu tên của thực thể trùng với đối số gửi lên. • Thêm một thực thể. • Xóa một thực thể. • Sửa một thực thể. Hình 3: Quy trình hoạt động của CAS • Di chuyển hoặc xóa một thực thể Khi một Client truy cập một ứng dụng cần chứng thực, • Đóng kết nối. ứng dụng sẽ được chuyển đến CAS. CAS sẽ chứng thực, thường là kiểm tra tên đăng nhập và mật khẩu so với cơ sở 2.2.2. Cấu trúc của thực thể dữ liệu. Nếu chứng thực thành công, CAS sẽ được chuyển Cấu trúc của một thực thể LDAP như sau: về ứng dụng kèm theo một Ticket bảo mật. Các ứng dụng dn: cn=John Doe, dc=example, dc=com khác muốn chứng thực sẽ liên lạc với CAS qua một kết nối cn: John Doe bảo mật và cung cấp mã Ticket của nó. CAS sẽ gửi những givenName: John ứng dụng đó thông tin về người sử dụng đã chứng thực thành sn: Doe công trước đó. telephoneNumber: +1 888 555 6789 telephoneNumber: +1 888 555 1232 3. Đề xuất mô hình cho Đại học Đà Nẵng mail: john@example.com Đại học Đà Nẵng gồm có nhiều trường, phân hiệu thành manager: cn=Barbara Doe,dc=example,dc=com viên, nhiều ban và các trung tâm trực thuộc. Hiện có khoảng objectClass: inetOrgPerson objectClass: organizationalPerson 2.300 giảng viên, nhân viên cùng với 90.000 sinh viên đang objectClass: person công tác và học tập tại các đơn vị. Mặc dù hoạt động theo objectClass: top chức năng và nhiệm vụ riêng, nhưng các đơn vị, cơ sở xuyên suốt với nhau về nguồn lực (nhân sự và thiết bị) và cơ cấu Hình 2: Cấu trúc của một thực thể LDAP[4] tổ chức. Theo định hướng áp dụng khoa học, công nghệ hiện “dn” là tên phân biệt của các thực thể, nó không nay, ngày càng nhiều sản phẩm phần mềm được sử dụng để phải là đối số mà cũng không phải là thuộc tính của phục vụ quản lý và hoạt động ở các đơn vị. Tuy nhiên, thực thực thể. “cn=John Doe” là RDN của thực thể (Relative tế vẫn chưa có sự liên kết, kế thừa lẫn nhau giữa các sản Distinguished Name), và “dc=example, dc=com” là đường phẩm. Hầu hết mỗi ứng dụng đều mang tính cục bộ và hoạt dẫn của thư mục chứa thực thể đó. “dc” là viết tắc của động riêng lẻ, tách biệt theo mục đích sử dụng. “Domain Component”. Những dòng khác là những thuộc Qua quá trình phân tích và nghiên cứu, chúng tôi xin đề 15
  3. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 1(74).2014.QUYỂN II xuất mô hình chứng thực tập trung và sử dụng chung dữ liệu 4. Một số kết quả thực nghiệm người dùng để áp dụng cho Đại học Đại Nẵng như Hình 4. Hệ thống chứng thực tập trung cho Đại học Đà Nẵng đã được xây dựng thành công bằng Framework CakePHP [1] và bước đầu đưa vào khai thác sử dụng. Hiện hệ thống đang hoạt động tại tên miền: http://id.udn.vn. Một số hệ thống quản lý khác của Đại học Đà Nẵng đã được tích hợp chức năng chức thực tập trung vào chức năng đăng nhập và quản lý người dùng, như: • Hệ thống điều hành tác nghiệp: http://dieuhanh.udn.vn • Hệ thống quản lý công sản: http://congsan.udn.vn • Hệ thống quản lý giờ nghiên cứu khoa học: http://nckh.udn.vn 5. Kết luận Việc sử dụng chung nguồn dữ liệu người dùng và xây dựng dịch vụ chứng thực tập trung sẽ góp phần tạo nên sự Hình 4: Mô hình đề xuất áp dụng cho Đại học Đà Nẵng đồng bộ về thông tin lưu trữ giữa các phần mềm. Đồng thời Bảng 1: Chú thích mô hình đề xuất sẽ giảm thiểu được sự dư thừa dữ liệu và hướng đến lợi ích Thành của người sử dụng. Mô hình được xây dựng và áp dụng ở Chú thích một số sản phẩm phần mềm cụ thể và cho thấy hiệu quả cao phần Active Directory: Là nơi chứa toàn bộ dữ liệu trong việc quản lý dữ liệu cũng như khả năng phát triển mở người dùng của hệ thống. rộng sau này. Central Authentication Service: Dịch vụ chứng Giải pháp được trình bày trong bài báo này có thể triển thực tập trung phục vụ cho hệ thống. khai cho các đơn vị hay các dự án phần mềm cần dùng chung nguồn dữ liệu người dùng. Về phía Đại học Đà Nẵng, Web Servers: Những máy chủ web của các đơn cần tích hợp vào các hệ thống ứng dụng đang hoạt động và vị sử dụng CAS để chứng thực. sẽ được xây dựng sau này chức năng chứng thực tập trung Applications: Những ứng dụng trên các nền tảng để tiết kiệm chi phí và tăng hiệu quả trong công tác quản lý, khác web, cần sử dụng dữ liệu người dùng. sử dụng và phát triển mở rộng. Sử dụng LDAP để truy xuất dữ liệu người dùng từ Active Directory. Tài liệu tham khảo Kết nối đến máy chủ để sử dụng dịch vụ chứng [1] David Golding, Beginning CakePHP, Published by Apress, 2008. thực tập trung (CAS). [2] http://en.wikipedia.org/wiki/Active_Directory. [3] http://en.wikipedia.org/wiki/Central_Authentication_Service. Người sử dụng. [4] http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol. (BBT nhận bài: 11/12/2013, phản biện xong: 02/01/2014) 16
nguon tai.lieu . vn