CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI dụng blockchain. • Chương 3 - Mô tả chi tiết về thiết kế ĐTKC cho IoT áp dụng công nghệ blockchain được đề xuất trong luận văn này. • Chương 4 - Hiện thực thiết kế, đánh giá hiệu suất, đánh giá tính linh hoạt, tính tin cậy và tính bảo mật.
• Phần Kết luận - tổng kết về những điều đã thực hiện và trình bày; đề ra một số hướng phát triển. 8 Chương 2 Tổng quan Như là phần tiên quyết trong các công trình khoa học, các khảo sát liên quan đến đề tài ĐKTC cho IoT áp dụng công nghệ blockchain được trình bày trong chương này.1 trình bày tổng quát sự phát triển của blockchain.2 trình bày các lược đồ ĐKTC phổ biến, chúng được áp dụng cả trong các hệ thống tập trung và phi tập trung. Các giải pháp để áp dụng công nghệ blockchain vào việc ĐKTC được khảo sát trong mục 2. Cuối cùng, mục 2.4 khảo sát các thiết kế ĐKTC dựa trên công nghệ blockchain trong lĩnh vực đặc thù là IoT.1 Sự phát triển của blockchain Blockchain thế hệ đầu tiên được phát triển trong lĩnh vực tiền số, lĩnh vực tài chính và sau đó được phát triển rộng khắp nhờ các tính chất ưu việt của nó.
Tính bảo mật (security) nhờ cơ chế đồng thuận (concensus) trên kiến trúc phi tập trung (decentralized) giúp nó loại bỏ được điểm yếu thất bại đơn điểm (single- point-of-failure) và có khả năng kháng lại các bên thứ ba tham gia hệ thống nhằm mục đích tiêu cực (malicious third parties). Tính bất biến (immutability) bởi dữ liệu khi lưu vào hệ thống sẽ không thể thay đổi được. Tính minh bạch (transparency) bởi người dùng có thể truy cập vào tất cả bản ghi dữ liệu của hệ thống, do vậy các tất cả các giao dịch là minh bạch. Nhờ tính bất biến và tính 9 LUẬN VĂN THẠC SĨ CHƯƠNG 2.
TỔNG QUAN minh bạch trong tất cả các giao dịch, blockchain được tin cậy (trust) sử dụng trong các lĩnh vực có yêu cầu khắt khe về bảo mật như tài chính. Hơn thế nữa, các thế hệ blockchain tiếp theo có thêm các tính chất mới [3]. Tính khả lập trình với sự ra đời của công nghệ Smart Contract cho phép phát triển các logic ứng dụng phức tạp hơn trên hệ thống blockchain. Tính riêng tư có được nhờ sự ra đời của các nền tảng blockchain mới dạng blockchain riêng tư (private), blockchain liên hiệp (consortium).
Thời gian đào ra block mới cũng được rút ngắn nhờ sự ra đời của các cơ chế đồng thuận mới (proof-of-stake, proof-of-authority,. Nó ngày càng được mở rộng ứng dụng sang nhiều lĩnh vực mới như chính phủ điện tử, chăm sóc sức khỏe, giải trí, công nghiệp IoT,. Trong các giải pháp áp dụng blockchain cho các lĩnh vực mới, cộng đồng nghiên cứu đang có nhiều sự quan tâm cho việc phát triển các hệ thống điều khiển truy cập sao cho bảo mật và hiệu quả nhờ các đặc điểm ưu việc của giao dịch (transaction) và gần đây là công nghệ Smart Contract. Cơ chế động thuận quyết định các tính chất cốt lõi của hệ thống blockchain, sự phát triển của blockchain cũng đi kèm với sự ra đời của các giải thuật đồng thuận mới phù hợp hơn.
• PoW (Proof-of-work) - mỗi một giao dịch tương ứng với một câu đố, tất cả các validator (nút thẩm định) tiến hành cùng giải câu đố đó. • PoS (Proof-of-stake) - các nút cọc (stake) các tài sản số trên blockchain để được ưu tiên tham gia vào quá trình thẩm định giao dịch. • PoA (Proof-of-authority) - các nút là validator được liên kết với một danh tính (authority) có danh tiếng (reputation) tương ứng. Danh tiếng này được xác định bởi các lịch sử thẩm định giao dịch và quyết định sự tin cậy của kết quả thẩm định giao dịch của một validator.
Tính tin cậy, tính bảo mật và hiệu suất là 3 khía cạnh (trilemma) một cơ chế động thuận và đó là một sự thương lượng. Thuở ban đầu, blockchain chỉ được áp dụng trong lĩnh vực tiền mã hóa và số lượng người dùng chưa đông đảo. Giải 10 LUẬN VĂN THẠC SĨ CHƯƠNG 2. TỔNG QUAN thuật PoW được áp dụng phổ biến nhờ tính bảo mật tối đa nhưng vô cùng hạn chế về hiệu suất.
Khi blockchain được áp dụng rộng rãi kéo theo số lượng truy cập tăng lên nhanh chóng, các giải thuật tối ưu về hiệu năng và vẫn có tính bảo mật tốt như PoS, PoA ngày càng trở nên phổ biến.2 Hệ thống điều khiển truy cập Điều khiển truy cập (ĐKTC) là một kỹ thuật bảo mật, nó quy định ai hoặc cái gì có thể xem hoặc sử dụng các tài nguyên trong môi trường tính toán (computing environment). Mục tiêu của hệ thống ĐKTC là tối thiểu hóa các rủi ro của các truy cập không qua xác thực (unauthorized access) vào hệ thống, cũng như bảo vệ các thông tin cẩn mật (confidential information). Do vậy, hầu hết các ứng dụng trong môi trường tính toán đều cần có các cơ chế ĐKTC để kiểm soát, giới hạn sự truy cập không mong muốn vào mạng lưới, hệ thống máy tính, tập tin, các dữ liệu nhạy cảm,. Có nhiều mô hình ĐKTC khác nhau đã được phát triển và ứng dụng rộng rãi.
• Discretionary Access Control (DAC) là một mô hình ĐKTC dựa trên định danh (identity-based), nó cung cấp cho người dùng (user) những quyền hạn nhất định để kiểm soát tài nguyên, dữ liệu của họ. Người sở hữu dữ liệu có thể đặt ra các giấy phép truy cập (access permissions) cho một người dùng hoặc nhóm người dùng khác. Các giấy phép truy cập này thường được lưu trữ trong một danh sách ĐKTC (access control list). Ưu điểm của DAC là thân thiện người dùng bởi thiết kế đơn giản, tính chi tiết cao (ganular) bởi người dùng có thể cấu hình các thông số truy cập trên từng mẫu dữ liệu của họ.
Nhược điểm của DAC là người dùng có thể tùy ý cấu hình quyền truy cập trên dữ liệu, tài nguyên của họ, khi hệ thống lớn hơn gồm có nhiều người dùng, nhiều dữ liệu, nhiều nhu cầu thay đổi quyền truy cập thì việc duy trì (maintain) DAC trở nên rất khó khăn. 11 LUẬN VĂN THẠC SĨ CHƯƠNG 2. TỔNG QUAN Hình 2.1: Mô hình Discretionary Access Control. • Mandatory Access Control (MAC) là một hình ĐKTC dạng thứ bậc (hi- erarchical model).
Thứ bậc được quy định theo mức độ bảo mật (security level). Tất cả các người dùng (user) đều được cấp một mức độ bảo mật. Tất cả các đối tượng (object) cũng được cấp một nhãn bảo mật (security label). Người dùng chỉ có thể truy cập vào tài nguyên tương ứng có nhãn bảo mật bằng hoặc thấp hơn cái mà họ đang có.
Ngoài ra, mô hình ĐKTC này cũng cung cấp cho người quản trị (administrator) quyền điều khiển toàn bộ các sự truy cập, người dùng không thể tự cấu hình các giấy phép của họ. Thế nên, MAC được xem là mô hình có độ bảo mật rất cao. Tuy nhiên, đặc điểm đó cũng có thể là một hạn chế đối với các hệ thống MAC. Chúng có thể trở nên khá "cồng kềnh" để quản lý.
Điều này là bởi vì người quản trị phải cấp phép tất cả các giấy phép cho người dùng và đối tượng trong hệ thống. Họ có thể bị quá tải nếu hệ thống phát triển quá nhanh. • Role-based Access Control (RBAC) là một mô hình ĐKTC dựa trên vai trò (role) và trách nhiệm (responsibility) của người dùng. Thay vì cấp quyền truy cập cho người dùng, RBAC cấp quyền truy cập cho các role, các role được dùng để cấp cho người dùng.
Người dùng được cấp role nào sẽ có các quyền truy cập tài nguyên hệ thống của role đó. RBAC có một số biến thể tiêu biểu gồm: RBAC dạng phẳng (flat RBAC), RBAC dạng thứ bậc (Hierarchical RBAC), RBAC ràng buộc (Constrained RBAC). RBAC có 12 LUẬN VĂN THẠC SĨ CHƯƠNG 2. TỔNG QUAN Hình 2.2: Mô hình Mandatory Access Control.
nguyên lý đơn giản thân thiện người dùng, phù hợp các hệ thống vừa và nhỏ. Bởi tính chất cố định (static) nó không phù hợp với các hệ thống cấp quyền truy cập theo các thông số động (dynamic).3: Mô hình Role-based Access Control. • Attribute-based Access Control (ABAC) là một mô hình ĐKTC dựa trên các thuộc tính. Các thuộc tính này có thể là của người dùng, của tài nguyên hệ thống hoặc môi trường.
ABAC có thể cung cấp khả năng ĐKTC tinh vi (fine-grained) và theo ngữ cảnh. Nó cho phép nhiều thông số đầu vào và tạo ra một số lượng tổ hợp cực lớn của các biến đó. Điều này cho thấy nó 13 LUẬN VĂN THẠC SĨ CHƯƠNG 2. TỔNG QUAN có khả năng định nghĩa các quy tắc, chính sách ĐKTC một cách chi tiết và linh hoạt.
ABAC cho phép người quản trị có thể định nghĩa các chính sách ĐKTC (access control policy) mà không cần biết trước các đối tượng truy cập (subject)cụ thể. ABAC cũng có thể cung cấp khả năng ĐKTC một cách linh động (dynamic) bởi nó cho phép sử dụng các thuộc tính từ môi trường như thời gian, không gian, địa chỉ IP,. Quyết định truy cập có thể bị thay đổi giữa các yêu cầu truy cập khi các giá trị thuộc tính này thay đổi. Do hoạt động dựa trên các thuộc tính từ nhiều nguồn khác nhau, ABAC có tính trực quan thấp (low visibility) - khó khăn để xác định được vùng đặc quyền (privileges) của một người dùng cụ thể.
Điều này cũng dẫn đến khó khăn cho việc xác định các rủi ro bảo mật trên toàn hệ thống.4: Mô hình Attribute-based Access Control. • Capability-based Access Control (CapBAC) là mô hình ĐKTC dựa trên "khả năng" (capability). Capability là một token, nó nắm giữ các đặc quyền (privilege) đã được cấp cho người dùng. Khi người dùng muốn thực hiện các hành động liên quan, họ cần gửi yêu cầu (request) kèm với token tới bên cung cấp dịch vụ (provider/gatekeeper).
Các thực thể này chỉ cần kiểm tra tính hợp lệ của token để cho phép hoặc từ chối yêu cầu. Trong trường hợp token là hợp lệ và toàn vẹn, yêu cầu có thể được chấp nhận mà không cần xác 14 LUẬN VĂN THẠC SĨ CHƯƠNG 2. TỔNG QUAN thực hoặc kiểm tra các đặc quyền (privilege) của bên yêu cầu (requester), vì những việc này đã được thực hiện và token được phát hành bởi máy chủ tin cậy (authorization server). Thủ tục này làm cho hệ thống có tính tinh giản, không cần duy trì danh sách người dùng, danh sách quy tắc truy cập (access rule) tại các điểm truy cập (point of access control).
Cơ chế hoạt động bằng cách phát hành token bởi máy chủ tin cậy (authentication server) và kiểm tra token hợp lệ tại các bên cung cấp dịch vụ (provider/gatekeeper) làm cho việc thu hồi token theo thời gian thực là một giới hạn của CapBAC.5: Mô hình Capability-based Access Control. Tùy thuộc vào các ứng dụng, điều kiện cụ thể mà các mô hình điều khiển có thể được lựa chọn triển khai cho phù hợp.