30
RBAC on the web by RBAC on the web by Smart Certificate Smart Certificate Nguyễn Trường Giang Nguyễn Trường Giang Nguyễn Thành Trung Nguyễn Thành Trung

Rbac On The Web By Smart Certificate

Embed Size (px)

DESCRIPTION

Using Smart Certificate for RBAC

Citation preview

Page 1: Rbac On The Web By Smart Certificate

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

Page 2: Rbac On The Web By Smart Certificate

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

Page 3: Rbac On The Web By Smart Certificate

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

Page 4: Rbac On The Web By 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

Page 5: Rbac On The Web By Smart Certificate

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

Page 6: Rbac On The Web By Smart Certificate

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

Page 7: Rbac On The Web By Smart Certificate

77

X.509 CertificatesX.509 Certificates

Page 8: Rbac On The Web By Smart Certificate

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ử

Page 9: Rbac On The Web By Smart Certificate

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á”

Page 10: Rbac On The Web By Smart Certificate

1010

Page 11: Rbac On The Web By Smart Certificate

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

Page 12: Rbac On The Web By Smart Certificate

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

Page 13: Rbac On The Web By Smart Certificate

1313

Page 14: Rbac On The Web By Smart Certificate

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:

Page 15: Rbac On The Web By Smart Certificate

1515

RBAC trên Web Sử dụng Smart RBAC trên Web Sử dụng Smart CertificateCertificate

Page 16: Rbac On The Web By Smart Certificate

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

Page 17: Rbac On The Web By Smart Certificate

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

Page 18: Rbac On The Web By Smart Certificate

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

Page 19: Rbac On The Web By Smart Certificate

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)

Page 20: Rbac On The Web By Smart Certificate

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

Page 21: Rbac On The Web By Smart Certificate

2121

Page 22: Rbac On The Web By Smart Certificate

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

Page 23: Rbac On The Web By Smart Certificate

2323

Page 24: Rbac On The Web By Smart Certificate

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 ……

Page 25: Rbac On The Web By Smart Certificate

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

Page 26: Rbac On The Web By Smart Certificate

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

Page 27: Rbac On The Web By Smart Certificate

2727

Cám ơn các bạn đã theo dõi!Cám ơn các bạn đã theo dõi!

Page 28: Rbac On The Web By Smart Certificate

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

Page 29: Rbac On The Web By Smart Certificate

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

Page 30: Rbac On The Web By Smart Certificate

3030

SSL hoạt động SSL hoạt động như thế nào >>như thế nào >>