Upload
nguyen-trung
View
1.301
Download
5
Embed Size (px)
DESCRIPTION
Using Smart Certificate for RBAC
Citation preview
RBAC on the web by RBAC on the web by Smart CertificateSmart Certificate
Nguyễn Trường GiangNguyễn Trường Giang
Nguyễn Thành TrungNguyễn Thành Trung
22
Các phầnCác phần
I.I. Giới thiệuGiới thiệu
II.II. Các công nghệ liên quanCác công nghệ liên quan
III.III. Tổng quan Smart certificateTổng quan Smart certificate
IV.IV. Triển khai RBAC dùng Smart certificateTriển khai RBAC dùng Smart certificate
V.V. Các ứng dụng liên quanCác ứng dụng liên quan
VI.VI. Kết luậnKết luận
33
I. Giới thiệuI. Giới thiệu
Nhu cầu bảo mật cho các hệt thống Nhu cầu bảo mật cho các hệt thống thương mại quy mô lớnthương mại quy mô lớn
RBAC : Kết hợp permission – role, công RBAC : Kết hợp permission – role, công nghệ hứa hẹn cho việc quản lý hệ thống nghệ hứa hẹn cho việc quản lý hệ thống an ninh quy môan ninh quy mô
X.509 : đơn giản hóa việc gắn kết người X.509 : đơn giản hóa việc gắn kết người dùng và khóa, trên cơ sở hạ tầng PKdùng và khóa, trên cơ sở hạ tầng PK
~ Diễn giải cách thực hiện RBAC với phân ~ Diễn giải cách thực hiện RBAC với phân cấp quyền sử dụng smart certificatecấp quyền sử dụng smart certificate
44
II. Các công nghệ liên quanII. Các công nghệ liên quan
Role-based Access ControlRole-based Access Control Chứng nhận khóa công khai X.509Chứng nhận khóa công khai X.509 Secure Socket LayerSecure Socket Layer
55
Chứng nhận khóa công khai Chứng nhận khóa công khai X.509X.509
Public-key Certificate: được ký vào bởi một ủy Public-key Certificate: được ký vào bởi một ủy quyền nhằm xác nhận thực thể, thông tin trong quyền nhằm xác nhận thực thể, thông tin trong đó có thuộc về người nắm giữ khóa riêng tương đó có thuộc về người nắm giữ khóa riêng tương ứng.ứng.
Công bố năm 1988, là định dạng dữ liệu đc sử Công bố năm 1988, là định dạng dữ liệu đc sử dụng rộng rãi nhất cho chứng nhận khóa công dụng rộng rãi nhất cho chứng nhận khóa công khai, dựa trên việc sử dụng uỷ quyền chứng khai, dựa trên việc sử dụng uỷ quyền chứng nhậnnhận
Dùng để gắn kết khóa công khai với một cá Dùng để gắn kết khóa công khai với một cá nhân hay thực thể cụ thể, được ký bởi người nhân hay thực thể cụ thể, được ký bởi người phát hành chứng nhậnphát hành chứng nhận
66
Các chứng nhận X.509Các chứng nhận X.509 Được phát hành bởi chủ quyền chứng nhận (Certification Authority – CA) bao Được phát hành bởi chủ quyền chứng nhận (Certification Authority – CA) bao
gồm:gồm: Các phiên bản 1,2 hoặc 3Các phiên bản 1,2 hoặc 3 Số sổ (duy nhất với CA) xác định chứng nhận Số sổ (duy nhất với CA) xác định chứng nhận Thuật toán xác định chữ kýThuật toán xác định chữ ký Xuất bản tên X.500 (CA)Xuất bản tên X.500 (CA) Chu kỳ hiệu lực (từ-đến ngày)Chu kỳ hiệu lực (từ-đến ngày) Đối tượng của tên X.500 (tên của người sở hữu)Đối tượng của tên X.500 (tên của người sở hữu) Thông tin khoá công khai của đối tuợng (thuật toán, các tham số,khoá)Thông tin khoá công khai của đối tuợng (thuật toán, các tham số,khoá) Định danh duy nhất của nhà xuất bản (phiên bản 2+)Định danh duy nhất của nhà xuất bản (phiên bản 2+) Định danh duy nhất của đối tượng (phiên bản 2+)Định danh duy nhất của đối tượng (phiên bản 2+) Các trường mở rộng (phiên bản 3)Các trường mở rộng (phiên bản 3) Chữ ký (hoặc hash của các trường trong chứng nhận)Chữ ký (hoặc hash của các trường trong chứng nhận)
Ký hiệu CA<<A>> là chứng nhận cho A được ký bởi CA Ký hiệu CA<<A>> là chứng nhận cho A được ký bởi CA
77
X.509 CertificatesX.509 Certificates
88
Secure Socket LayerSecure Socket Layer
Là giao thức đa mục đích thiết kế để giao Là giao thức đa mục đích thiết kế để giao tiếp các chương trình ứng dụng cho trước tiếp các chương trình ứng dụng cho trước trên một cổng định trước nhằm mã hóa trên một cổng định trước nhằm mã hóa toàn bộ thông tin đi, đến.toàn bộ thông tin đi, đến.
Gồm tổ hợp nhiều giải thuật mã hóa. Việc Gồm tổ hợp nhiều giải thuật mã hóa. Việc mã họa trong suốt, hỗ trợ nhiều giao thức mã họa trong suốt, hỗ trợ nhiều giao thức khác chạy trên nền TCPkhác chạy trên nền TCP
Ngày nay sử dụng phổ biến trong hoạt Ngày nay sử dụng phổ biến trong hoạt động thương mại điện tửđộng thương mại điện tử
99
Giao thức SSLGiao thức SSL
Là giao thức tầng:Là giao thức tầng: Giao thức SSL handshakeGiao thức SSL handshake Giao thức SSL change cipher specGiao thức SSL change cipher spec Giao thức SSL AlertGiao thức SSL Alert SSL Record LayerSSL Record Layer
SSL không làm gì hơn là “bắt tay” và thiết SSL không làm gì hơn là “bắt tay” và thiết lập các “đường hầm mã hoá” lập các “đường hầm mã hoá”
1010
1111
III. Tổng quan Smart certificateIII. Tổng quan Smart certificate
Mở rộng chuẩn X.509 bằng cách thêm vào Mở rộng chuẩn X.509 bằng cách thêm vào các tính năngcác tính năng
1212
Smart CertificateSmart Certificate
Hỗ trợ chứng nhận ngắn hạnHỗ trợ chứng nhận ngắn hạn Bao hàm các thuộc tínhBao hàm các thuộc tính Hỗ trợ các chứng nhận có khả năng làm Hỗ trợ các chứng nhận có khả năng làm
mới và đặt trước thời gian hiệu lựcmới và đặt trước thời gian hiệu lực Mã hóa các thông tin nhạy cảm trong Mã hóa các thông tin nhạy cảm trong
chứng nhậnchứng nhận
1313
1414
IV. Triển khai RBAC dùng Smart IV. Triển khai RBAC dùng Smart certificatecertificate
Mô hình giản lược:Mô hình giản lược:
1515
RBAC trên Web Sử dụng Smart RBAC trên Web Sử dụng Smart CertificateCertificate
1616
Obtaining and Presenting Obtaining and Presenting Assigned RolesAssigned Roles
Alice muốn thực hiện giao dịch:Alice muốn thực hiện giao dịch: Kết nối tới role serverKết nối tới role server Role server tìm role chỉ định cho Alice trong Role server tìm role chỉ định cho Alice trong
csdl URA (User-role Assignment)csdl URA (User-role Assignment) Tạo smart certificate gửi tới và lưu trữ trên Tạo smart certificate gửi tới và lưu trữ trên
máy Alicemáy Alice Trong ví dụ này sử dụng trường OU trong Trong ví dụ này sử dụng trường OU trong
X.509 để lưu thông tin đối tượngX.509 để lưu thông tin đối tượng Cả identity và role cùng kí bởi 1 CACả identity và role cùng kí bởi 1 CA
1717
Nhận và trình diễn vai trò được gánNhận và trình diễn vai trò được gán
Nếu smart certificate có nhiều thuộc tính khác Nếu smart certificate có nhiều thuộc tính khác (kí bởi nhiều CA) ~> sử dụng trường mở rộng (kí bởi nhiều CA) ~> sử dụng trường mở rộng thêm X.509thêm X.509
Người dùng (Alice) có thể có nhiều smart Người dùng (Alice) có thể có nhiều smart certificatecertificate Khi yêu cầu truy nhập đến 1 webserver, trình duyệt và Khi yêu cầu truy nhập đến 1 webserver, trình duyệt và
webserver sẽ xác nhận lẫn nhau.webserver sẽ xác nhận lẫn nhau. Alice chọn một smart certificate phù hợp, gửi nó đến Alice chọn một smart certificate phù hợp, gửi nó đến
webserverwebserver Nếu smart certificate có hiệu lực, webserver sẽ tin Nếu smart certificate có hiệu lực, webserver sẽ tin
vào thông tin Vai trò trên chứng nhận và sử dụng nó vào thông tin Vai trò trên chứng nhận và sử dụng nó cho RBAC với phân cấp quyền-vai trò trên webservercho RBAC với phân cấp quyền-vai trò trên webserver
1818
RBAC trên Web serverRBAC trên Web server
IIS phụ thuộc vào NTFS trong việc giữ an toàn IIS phụ thuộc vào NTFS trong việc giữ an toàn cho các file, thư mục khỏi các truy cập trái phépcho các file, thư mục khỏi các truy cập trái phép
Quyền của NTFS quy định chính xác user có thể Quyền của NTFS quy định chính xác user có thể truy cập nội dung nào và quyền nào cho user truy cập nội dung nào và quyền nào cho user nào trong khi quyền ở Web server áp dụng nào trong khi quyền ở Web server áp dụng chung cho các userchung cho các user
~> có thể điều khiển truy cập người dùng tới ~> có thể điều khiển truy cập người dùng tới ndung thích hợp bằng cách cấu hình hệ thống ndung thích hợp bằng cách cấu hình hệ thống file của Window NT và các tính năng an toàn file của Window NT và các tính năng an toàn của Web servercủa Web server
1919
Với phân cấp vai trò bên dưới, ta config IIS 4.0 Với phân cấp vai trò bên dưới, ta config IIS 4.0 với 2 ý tưởng chính: role account và PAA với 2 ý tưởng chính: role account và PAA (Permission-Account Assignment)(Permission-Account Assignment)
2020
Ánh xạ Role sang Role AccountÁnh xạ Role sang Role Account
Trên Web server dùng role ~> tài khoản truy cập Trên Web server dùng role ~> tài khoản truy cập không cần thiết ~> tạo tài khoản role (Director, không cần thiết ~> tạo tài khoản role (Director, Quality_Engineer…) trong Window NT, nơi cài Quality_Engineer…) trong Window NT, nơi cài đặt Webserverđặt Webserver
Ánh xạ mỗi role ở hình trên sang tài khoản role Ánh xạ mỗi role ở hình trên sang tài khoản role tương ứng trên Window NT servertương ứng trên Window NT server
Sau khi Alice được xác nhận bởi Web server với Sau khi Alice được xác nhận bởi Web server với vai trò “DIR” cô được ánh xạ sang tài khoản vai trò “DIR” cô được ánh xạ sang tài khoản DirectorDirector
Do đó, Alice ko có tài khoản trên server, cô vẫn Do đó, Alice ko có tài khoản trên server, cô vẫn có quyền của Directorcó quyền của Director
2121
2222
Cung cấp phân cấp vai tròCung cấp phân cấp vai trò
Sử dụng cơ chế điều khiển truy cập có sẵn trên Sử dụng cơ chế điều khiển truy cập có sẵn trên Window NT serverWindow NT server
Tạo các tài khoản role: Director. Project_Lead1, Tạo các tài khoản role: Director. Project_Lead1, ……
Tạo các thư mục trên hệ thống file Window NT, Tạo các thư mục trên hệ thống file Window NT, mỗi thư mục có các file được truy cập bởi role mỗi thư mục có các file được truy cập bởi role cụ thể theo phân cấp rolecụ thể theo phân cấp role
Cấu hình hệ thống file Window NT, gán mỗi tài Cấu hình hệ thống file Window NT, gán mỗi tài khoản role một quyền truy cập tới các thư mục khoản role một quyền truy cập tới các thư mục dựa theo phân cấp roledựa theo phân cấp role
2323
2424
V. Các công việc liên quanV. Các công việc liên quan
Secure CookiesSecure Cookies Mở rộng cơ chế cookie giữa Web server và trình Mở rộng cơ chế cookie giữa Web server và trình
duyệt, sử dụng mật mã và thực thi RBAC với phân duyệt, sử dụng mật mã và thực thi RBAC với phân quyền role trên Webquyền role trên Web
Các Web server phát hành secure cookies bao gồm Các Web server phát hành secure cookies bao gồm thông tin Vai trò của người dùng, được sử dụng lại thông tin Vai trò của người dùng, được sử dụng lại bởi các Web server khácbởi các Web server khác
getAccessgetAccess enCommerce tung ra để thực thi mô hình phân cấp enCommerce tung ra để thực thi mô hình phân cấp
vai trò cho các tổ chức trên mạngvai trò cho các tổ chức trên mạng ……
2525
V. Các ứng dụng liên quanV. Các ứng dụng liên quan
TrustedWeb:TrustedWeb: Phát hành bởi Siemen nixdorf, hỗ trợ điều Phát hành bởi Siemen nixdorf, hỗ trợ điều
khiển truy cập dựa trên vai trò cho Web và khiển truy cập dựa trên vai trò cho Web và ứng dụngứng dụng
Cung cấp một danh sách đơn các người dùng Cung cấp một danh sách đơn các người dùng và khởi gán các Vai trò cho các người dùngvà khởi gán các Vai trò cho các người dùng
Hệ thống bao gồm cả SEASAME của Siemen Hệ thống bao gồm cả SEASAME của Siemen và Kerberosvà Kerberos
… … cần phần mềm chuyên dụngcần phần mềm chuyên dụng
2626
VI. Tổng kếtVI. Tổng kết
Chúng ta đã mô tả thực thi RBAC với phân cấp Chúng ta đã mô tả thực thi RBAC với phân cấp Vai trò bằng cách sử dụng Smart certificateVai trò bằng cách sử dụng Smart certificate CA phát hành một smart certificate bao gồm một CA phát hành một smart certificate bao gồm một
identity và thông tin role. Web server sử dụng thông identity và thông tin role. Web server sử dụng thông tin role cho RBAC với phân cấp role sau khi kiểm tra tin role cho RBAC với phân cấp role sau khi kiểm tra định danh và thuộc tínhđịnh danh và thuộc tính
Cơ chế điều khiển truy cập này đã giải quyết được Cơ chế điều khiển truy cập này đã giải quyết được mong muốn của các Web server hiện tại.mong muốn của các Web server hiện tại.
Việc thực thi hoàn toàn trong suốt với người Việc thực thi hoàn toàn trong suốt với người dungdung
2727
Cám ơn các bạn đã theo dõi!Cám ơn các bạn đã theo dõi!
2828
an example of a decoded X.509 certificate for www.freesoft.org an example of a decoded X.509 certificate for www.freesoft.org
2929
CA certificate to validateCA certificate to validate
Đầu tiên xác nhận Đầu tiên xác nhận chứng nhận này có phải chứng nhận này có phải của CA bằng cách khảo của CA bằng cách khảo sát giá trị của sát giá trị của CACA attribute trong attribute trong X509x3 X509x3 extensionextension. .
Sau đó dùng RSA public Sau đó dùng RSA public key trong CA certificate key trong CA certificate để giải mã chữ kí trên để giải mã chữ kí trên chứng nhận bên trên để chứng nhận bên trên để nhận đc MD5 hash, cái nhận đc MD5 hash, cái này phải khớp với MD5 này phải khớp với MD5 hash được tính toán dựa hash được tính toán dựa vào phần còn lại của vào phần còn lại của chứng nhậnchứng nhận
3030
SSL hoạt động SSL hoạt động như thế nào >>như thế nào >>