Tải bản đầy đủ (.pdf) (93 trang)

Điều khiển truy cập trong hệ thống internet vạn vật sử dụng công nghệ blockchain

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.15 MB, 93 trang )

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------

ĐỖ NGỌC NHUẬN

ĐIỀU KHIỂN TRUY CẬP TRONG
HỆ THỐNG INTERNET VẠN VẬT SỬ DỤNG
CƠNG NGHỆ BLOCKCHAIN
Chun ngành: Khoa học máy tính
Mã số: 8480101

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 02 năm 2023


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG-HCM
Cán bộ hướng dẫn khoa học 1: TS. Phạm Hoàng Anh ..............................
Cán bộ hướng dẫn khoa học 2: PGS.TS. Huỳnh Tường Nguyên ..............
Cán bộ chấm nhận xét 1 : TS. Trang Hồng Sơn ........................................
Cán bộ chấm nhận xét 2 : TS. Lê Trọng Nhân ..........................................
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG
Tp. HCM ngày 08 tháng 02 năm 2023.
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1. Chủ tịch: PGS.TS. Trần Văn Hoài .......
2. Thư ký: TS. Nguyễn Tiến Thịnh ..........
3. Phản biện 1: TS. Trang Hồng Sơn .......
4. Phản biện 2: TS. Lê Trọng Nhân .........
5. Ủy viên: PGS.TS. Huỳnh Tường Nguyên



Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý
chuyên ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG

TRƯỞNG KHOA KHOA HỌC
VÀ KỸ THUẬT MÁY TÍNH

i


ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Đỗ Ngọc Nhuận ..............................................MSHV: 2070422 ............
Ngày, tháng, năm sinh: 07/02/1996 ...........................................Nơi sinh: Vĩnh Long .......
Chuyên ngành: Khoa học máy tính ............................................ Mã số : 8480101...........
I. TÊN ĐỀ TÀI:
Điều khiển truy cập trong hệ thống internet vạn vật sử dụng công nghệ blockchain.
(Tên đề tài tiếng Anh: Blockchain-based access control for Internet of Things.)
II. NHIỆM VỤ VÀ NỘI DUNG:
Khảo sát các cơng trình về điều khiển truy cập cho internet vạn vật sử dụng công nghệ
blockchain. Đề xuất một thiết kế mới có các đặc tính ưu việt về sự bảo mật, sự linh hoạt.
Hiện thực và đánh giá thiết kế đã đề xuất này.
III. NGÀY GIAO NHIỆM VỤ : 05/09/2022 ..................................................................
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 18/12/2022 ..................................................

V. CÁN BỘ HƯỚNG DẪN: TS.Phạm Hoàng Anh, PGS.TS Huỳnh Tường Nguyên .....

Tp. HCM, ngày . . . . tháng .. . . năm 2023
CÁN BỘ HƯỚNG DẪN

HỘI ĐỒNG NGÀNH

TS. Phạm Hoàng Anh
TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH

ii


Lời cảm ơn
Đầu tiên, em xin chân thành cảm ơn thầy TS. Phạm Hồng Anh đã ln
quan tâm và tận tình hướng dẫn giúp em vượt qua các giai đoạn khó khăn trong
q trình thực hiện đề tài.

Em cũng xin chân thành cảm ơn thầy PGS.TS Huỳnh Tường Nguyên đã ln
quan tâm và cho em những góp ý q báu giúp em hoàn thiện luận văn thạc sĩ
này.

Trong suốt quá trình học tập cao học tại khoa Khoa học và kỹ thuật máy
tính trường ĐH Bách Khoa Tp.HCM, em đã được truyền đạt những kiến thức
và kinh nghiệm cần thiết cho việc thực hiện một luận văn thạc sĩ này. Em xin
cảm ơn các thầy (cô) đã đồng hành cùng em trên suốt chặn đường này.

Cuối cùng, em xin gửi lời cảm ơn đến gia đình và bạn bè vì đã ln hỗ trợ em
và khuyến khích liên tục trong suốt những năm học tập và qua quá trình nghiên
cứu và viết luận văn này. Thành tựu này sẽ không thể có được nếu khơng có họ.


Xin chân thành cảm ơn!

iii


Tóm tắt
Nhờ các tính chất ưu việt vốn có, blockchain được nghiên cứu để ứng dụng
sang nhiều lĩnh vực mới, điển hình là lĩnh vực Internet-of-Things (IoT). Các
thiết bị IoT trở nên phổ biến trong cuộc sống và tiềm ẩn khả năng cao chứa
các dữ liệu nhạy cảm. Do vậy, vấn đề bảo mật trong IoT cần được quan tâm
và điều khiển truy cập (ĐKTC) là một trong các điều tiên quyết. Tuy nhiên,
các giải pháp ĐKTC cho IoT truyền thống dựa trên kiến trúc tập trung vốn có
nhiều vấn đề như thất bại đơn điểm, bị lạm dụng bởi người quản trị. Để giải
quyết các hạn chế này, luận văn này đưa ra một giải pháp ĐKTC cho IoT dựa
trên cơng nghệ blockchain. Trong đó, lược đồ ĐKTC dựa trên thuộc tính kết
hợp với cơ chế chứng thực thuộc tính của chủ thể và khả năng định nghĩa chính
sách ĐKTC bằng Smart Contract. Phần on-chain của nó được phát triển dựa
trên Substrate Framework. Một Proof-of-Concept được hoàn thành và các thử
nghiệm hiệu suất cho thấy giải pháp là khả thi cho IoT. Thêm nữa, thông qua
việc đánh giá với các trường hợp sử dụng thực tế cho thấy giải pháp này có tính
linh hoạt trong việc ĐKTC, trong khi vẫn duy trì tính bảo mật.

iv


Abstract
Thanks to its inherent amazing properties, blockchain is being studied for application in numerous fields, typically the Internet of Things (IoT). Nowadays,
IoT devices become ubiquitous in our lives and potentially contain sensitive data.
Therefore, security matters in IoT need to be strictly considered, and access control (AC) is one of primary methods. However, traditional AC solutions for IoT

established on centralized architecture have many problems such as single-pointof-failure, and abuse by administrators. To solve these limitations, this thesis
offers an AC solution for IoT based on blockchain technology. Attribute-based
access control (ABAC) scheme combines with subject’s attribute endorsement
mechanism and ability to code ABAC policy as Smart Contract. On-chain part
of this design is developed with Substrate Framework. A proof-of-concept is
completed and a benchmarking is conducted, its result shows that the solution
is feasible for IoT. Moreover, an evaluation based on real use cases shows that
this solution has flexibility in AC management while guaranteeing high security.

v


Lời cam đoan
Tôi xin cam đoan luận văn về đề tài “Điều khiển truy cập trong hệ thống
internet vạn vật sử dụng cơng nghệ blockchain” là cơng trình nghiên cứu cá
nhân của tôi trong thời gian qua. Mọi số liệu sử dụng phân tích trong luận văn
và kết quả nghiên cứu là do tơi tự tìm hiểu, phân tích một cách khách quan,
trung thực, có nguồn gốc rõ ràng và chưa được cơng bố dưới bất kỳ hình thức
nào. Tơi xin chịu hồn tồn trách nhiệm nếu có sự khơng trung thực trong thơng
tin sử dụng trong cơng trình nghiên cứu này.

Đỗ Ngọc Nhuận

vi


Mục lục
Lời cảm ơn

iii


Tóm tắt

iv

Abstract

v

Lời cam đoan

vi

Mục lục

viii

Danh sách hình vẽ

ix

Danh sách bảng

x

Từ viết tắt & ký hiệu

xii

Lời mở đầu


1

1 Giới thiệu đề tài

2

1.1

Lý do và động lực thực hiện đề tài . . . . . . . . . . . . . . . . . .

2

1.2

Mục tiêu, giới hạn và đối tượng nghiên cứu . . . . . . . . . . . . .

5

1.3

Kết quả đạt được . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

1.4

Ý nghĩa của đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7


1.5

Cấu trúc báo cáo luận văn . . . . . . . . . . . . . . . . . . . . . . .

7

vii


LUẬN VĂN THẠC SĨ

MỤC LỤC

2 Tổng quan

9

2.1

Sự phát triển của blockchain . . . . . . . . . . . . . . . . . . . . . .

9

2.2

Hệ thống điều khiển truy cập . . . . . . . . . . . . . . . . . . . . . 11

2.3


Hệ thống điều khiển truy cập dựa trên công nghệ blockchain . . . 16

2.4

Điều khiển truy cập dựa trên công nghệ
blockchain cho các hệ thống IoT . . . . . . . . . . . . . . . . . . . 20

3 Thiết kế hệ thống

36

3.1

Kiến trúc hệ thống tổng quát . . . . . . . . . . . . . . . . . . . . . 36

3.2

Thiết kế hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.3

Luồng hoạt động . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4 Hiện thực và đánh giá

60

4.1

Hiện thực thiết kế . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61


4.2

Đánh giá hiệu suất . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.3

Đánh giá tính linh hoạt . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.4

Đánh giá độ tin cậy và khả năng bảo mật . . . . . . . . . . . . . . 70

Kết luận

74

Tài liệu tham khảo

79

viii


Danh sách hình vẽ
2.1

Mơ hình Discretionary Access Control. . . . . . . . . . . . . . . . . 12

2.2


Mơ hình Mandatory Access Control. . . . . . . . . . . . . . . . . . 13

2.3

Mơ hình Role-based Access Control. . . . . . . . . . . . . . . . . . 13

2.4

Mơ hình Attribute-based Access Control. . . . . . . . . . . . . . . 14

2.5

Mơ hình Capability-based Access Control. . . . . . . . . . . . . . . 15

2.6

Minh họa hệ thống IoT được xem xét [21]. . . . . . . . . . . . . . 22

2.7

Minh họa mơ hình Smart Contract đã thiết kế [21]. . . . . . . . . 24

2.8

Kiến trúc hệ thống Fabric-IoT [21]. . . . . . . . . . . . . . . . . . . 27

2.9

Kiến trúc hệ thống ĐKTC CapBAC sử dụng blockchain [23]. . . . 30


2.10 Kiến trúc hệ thống ĐKTC ABAC sử dụng blockchain [25]. . . . . 33
3.1

Kiến trúc tổng quát theo dạng lớp (layers). . . . . . . . . . . . . . 37

3.2

Mô hình thực thi chính sách ĐKTC. . . . . . . . . . . . . . . . . . 41

3.3

Chain Extension trong Substrate Framework. . . . . . . . . . . . . 49

3.4

Vịng đời của một chính sách điều khiển truy cập. . . . . . . . . . 52

3.5

Sơ đồ tuần tự của các luồng hoạt động đăng ký/khởi tạo. . . . . . 54

3.6

Sơ đồ tuần tự của các quá trình xác thực. . . . . . . . . . . . . . . 58

4.1

Mơ hình mạng blockchain đã được triển khai. . . . . . . . . . . . . 61


4.2

Biểu đồ thời gian đáp ứng . . . . . . . . . . . . . . . . . . . . . . . 67

ix


Danh sách bảng
2.1

Một số nghiên cứu liên quan dựa trên ngữ cảnh tính riêng tư [7].

2.2

Ví dụ về mơ hình đại diện tài nguyên IoT bởi URL [7]. . . . . . . 26

2.3

Các bài báo về ĐKTC cho IoT sử dụng blockchain. . . . . . . . . 34

3.1

DID của các thực thể. . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.1

Các phần cứng và phần mềm. . . . . . . . . . . . . . . . . . . . . . 62

x


20


Từ viết tắt & ký hiệu
ABAC

Attribute-based Access Control

AC

Access Control

AN

Attribute name

API

Application Programming Interface

AS

Attribute Storage

AURA

Authority Round

BP


Blockchain provider

CapBAC

Capability-based Access Control

DAC

Discretionary Access Control

DDO

DID Document

DDOS

Distributed Denial-of-Service

DID

Decentralized Identifier

DOS

Denial-of-Service

DV

Device


EA

Environment Attributes

EAD

Environment Attribute Detection

ED

End-Device

ES

Endorsement Storage

EV

Endorsement validity

GRANPA

GHOST-based Recursive ANcestor Deriving Prefix Agreement

GW

Gateway

IoT


Internet of Things
xi


LUẬN VĂN THẠC SĨ

TỪ VIẾT TẮT & KÝ HIỆU

IPFS

Inter-planetary Filesystem

MAC

Mandatory Access Control

OFFCCH

Off-chain Context Handle

ONCCH

On-chain Context Handle

P2P

Peer-to-peer

PA


Policy address

PDP

Policy Decision Point

PEP

Policy Execution Point

PER

Policy Execution Request

PoA

Proof-of-Authority

PoC

Proof-of-Concept

PS

Policy Storage

RBAC

Role-based Access Control


RN

Reminiscent name

RPC

Remote procedure call

TE

Trusted endorsers

ĐKTC

Điều khiển truy cập

xii


Lời mở đầu
Xu hướng phát triển của các thế hệ mới blockchain là ứng dụng trong nhiều
lĩnh vực khác nhau thay vì chỉ giới hạn về lĩnh vực tiền số và tài chính. Nhờ
các tính chất ưu việt riêng và sự phổ biến của nó, việc áp dụng blockchain để
tăng cường các ứng dụng truyền thống thu hút được sự quan tâm của cộng đồng
nghiên cứu và phát triển trong nhiều lĩnh vực khác nhau. Trong đó, việc áp
dụng blockchain vào lĩnh vực IoT có thể giúp các hệ thống IoT tăng cường tính
bảo mật, tính tin cậy của các ứng dụng. Tuy nhiên, hạ tầng của hệ thống IoT
có nhiều ràng buộc và rất đa dạng các chủng loại là một trong các thách thức
lớn cho việc áp dụng blockchain.
Hệ thống IoT ngày càng được ứng dụng rộng rãi, nó có thể được dùng trong

các mơi trường có dữ liệu nhạy cảm hoặc tính riêng tư cao. Cần phải có các cơ
chế điều khiển truy cập để bảo vệ tính bảo mật và riêng tư của các dữ liệu trong
hệ thống IoT, trong khi vẫn đảm bảo khả năng chia sẻ dữ liệu giữa các thiết bị
hoặc với các hệ thống khác. Các thiết kế hệ thống điều khiển truy cập cũng cần
phải đảm bảo được tính bảo mật và tính tin cậy của nó. Đó cũng là lý do cho
xu hướng áp dụng công nghệ blockchain vào các thiết kế điều khiển truy cập
cho IoT.
Luận văn này đưa ra một thiết kế mới điều khiển truy cập cho IoT dựa trên
cơng nghệ blockchain. Trong đó, mơ hình điều khiển truy cập dựa trên thuộc
tính được áp dụng nhầm đảm bảo tính linh hoạt cho việc quản lý truy cập các
hệ thống IoT. Các on-chain logic của thiết kế hệ thống điều khiển truy cập này
được phát triển trên nền tảng blockchain dựa trên Substrate Framework.
1


Chương 1

Giới thiệu đề tài
1.1

Lý do và động lực thực hiện đề tài

Cùng với sự trưởng thành của internet và công nghệ phần mềm, nhu cầu về
các ứng dụng IoT vốn có khả năng tương tác với thế giới vật lý cũng gia tăng
nhanh chóng. Các cơng nghệ kết nối không dây cho các thiết bị IoT ngày càng
được tối ưu và đa dạng như Bluetooth, WiFi, Thread, LoRa, 5G,... Theo báo
cáo [1], có khoảng 14 tỉ thiết bị IoT đang kết nối trên toàn thế giới trong năm
2022, con số này sẽ tăng lên khoảng 27 tỉ vào năm 2025. Các giải pháp cơ cở
như Contiki NG1 , OpenWeave2 hay Matter3 tạo điều kiện để phát triển các ứng
dụng IoT dựa trên chúng một cách hiệu quả. Thêm nữa, sự phát triển của dữ

liệu lớn (big data) và trí tuệ nhân tạo (artificial intelligence) càng thúc đẩy nhu
cầu thu thập và tiêu thụ dữ liệu từ thế giới vật lý trên phạm vi rộng lớn, nhiệm
vụ này phải nhờ đến khả năng độc nhất của hạ tầng IoT. Những hệ thống IoT
thường có quy mơ lớn và có nhiều khả năng chứa các dữ liệu nhạy cảm như video
streaming từ thiết bị ghi hình (camera). Trong bài báo [2], một lỗ hỏng của một
đơn vị sản xuất (vendor) dẫn đến hàng triệu thiết bị ghi hình của khách hàng
của họ có thể bị truy cập một cách tùy ý trên internet. Đó là các "honeyspot"
1

/> />3
/>2

2


LUẬN VĂN THẠC SĨ

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI

cho các kẻ xâm nhập nhầm sử dụng các tài nguyên IoT một cách trái phép. Do
vậy, bảo mật trong IoT là vơ cùng quan trọng. Trong đó, điều khiển truy cập
(ĐKTC) có thể được coi như là một trong giải pháp bảo mật căn bản cần có
trong hầu hết các hệ thống IoT thành phẩm. Tuy nhiên, các giải pháp ĐKTC
cho IoT thông thường dựa trên kiến trúc tập trung vốn có nhiều hạn chế như
vấn đề thất bại đơn điểm (single-point-of-failure), ít khả năng mở rộng. Thêm
nữa, kẻ tấn cơng chỉ cần tập trung vào một thực thể tập trung, một khi nó bị
xâm nhập dẫn đến kẻ xâm nhập có thể chiếm dụng tồn bộ hệ thống IoT. Ngồi
ra, việc tồn tại bên thứ ba có thể là bên cung cấp, bên vận hành hoặc bên quản
trị vốn có quyền hạn tối cao đối với hệ thống, điều này địi hỏi người dùng phải
tin cậy vào họ.


Có nhiều vấn đề cần phải xem xét khi áp dụng blockchain vào việc ĐKTC
cho IoT. Bởi sự hỗn tạp (heterogeneity) của các thiết bị và sự đa dạng các tình
huống sử dụng, các lược đồ ĐKTC dạng thô (coarse-grained) như DAC, MAC,
RBAC,... trở nên khá cồng kềnh trong việc quản trị. Trong khi, các lược đồ
ĐKTC dạng tinh (fine-grained) cung cấp sự linh động và sự linh hoạt trong việc
quản trị mà vẫn đảm bảo tính bảo mật, lược đồ điển hình là ABAC. Trong đó,
các thực thể trong hệ thống ĐKTC bao gồm chủ thể và đối tượng đều có các
thuộc tính của chúng, một yêu cầu truy cập được thẩm định (validate) dựa trên
các thuộc tính này và các thuộc tính mơi trường theo các chính sách ĐKTC có
thể viết mã được (codifiable). Việc xây dựng ĐKTC dựa trên blockchain theo
mơ hình ABAC cho IoT sao cho vẫn đảm bảo các tính ưu việt của blockchain và
ABAC là các thách thức lớn, có thể chia thành 2 phần chính là: quản lý thuộc
tính và thực thi chính sách. Bên cạnh đó, việc định danh cho các thực thể trong
hệ thống ĐKTC cũng là một phần quan trọng. Nhờ vào chuẩn định danh phi
tập trung của W3C4 , các bên tham gia có thể sở hữu các định danh phi tập
trung (Decentralized Identifier, DID) liên kết với các thông tin con người đọc
4

/>
3


LUẬN VĂN THẠC SĨ

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI

được (human-readable) trên hệ thống blockchain có thể được phân giải thành
tài liệu DID (DID Document, DDO). Chuẩn này cũng tạo điều kiện cho việc
xác thực danh tính (authentication) vốn cần có trước khi mọi sự thẩm định

quyền truy cập (authorization). Mặt khác, một số các thiết kế ABAC cho IoT
dựa trên blockchain thường khơng đảm bảo cả tính bảo mật của việc quản lý
thuộc tính và tính linh hoạt nhờ khả năng có thể viết mã được (codifiable) của
chính sách ĐKTC. Ngoài ra, một số giải pháp ĐKTC cho IoT dựa trên các nền
tảng blockchain truyền thống như Bitcoin hoặc Ethereum thiếu tính mở rộng
để đáp ứng cho các hệ thống IoT lớn. Trong khi, Substrate Framework5 là một
blockchain framework mã nguồn mở, nó tạo điều kiện cho việc phát triển các
blockchain tùy chỉnh và hướng tới tương lai đa blockchain (multi-chain) với khả
năng tương tác cao và khả năng mở rộng cao.

Do đó, luận văn này đề xuất một thiết kế cải tiến ĐKTC cho IoT dựa trên
công nghệ blockchain, nó là sự kết giữa mơ hình ABAC, tiêu chuẩn định danh
phi tập trung và dựa trên Substrate Framework. Các bên tham gia hệ thống,
ví dụ như người dùng, thiết bị, người sở hữu thiết bị,... có ít nhất một định
danh phi tập trung có liên kết với các thuộc tính được theo dõi (track) trên
blockchain. Các chính sách ĐKTC có thể được tùy chỉnh bằng cách viết mã
nguồn với ngơn ngữ lập trình Smart Contract (cụ thể là ngơn ngữ Rust), chúng
cũng được liên kết với DID của đối tượng bởi người người sở hữu thiết bị hoặc
người quản trị thiết bị. Việc thực thi chính sách được diễn ra một cách phân
tán trên blockchain và dựa trên các thuộc tính chủ thể, thuộc tính đối tượng và
các thuộc tính mơi trường. Đặc biệt, thiết kế này nhắm đến việc đảm bảo tính
tin cậy, tính bảo mật và duy trì tính linh hoạt.

5

/>4


LUẬN VĂN THẠC SĨ


1.2
1.2.1

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI

Mục tiêu, giới hạn và đối tượng nghiên cứu
Mục tiêu nghiên cứu

Phát triển một giải pháp điều khiển truy cập cho IoT áp dụng cơng nghệ
blockchain, sao cho nó khắc phục được các hạn chế của giải pháp điều khiển
truy cập tập trung và phù hợp với các hệ thống IoT. Dựa trên mục tiêu tổng
quát này, một số nhiệm vụ cụ thể có thể được đề ra như sau:
(I) Xác định những hạn chế trong các giải pháp ĐKTC truyền thống và cả các
giải pháp ĐKTC dựa trên công nghệ blockchain đã có.
(II) Xác định các đặc trưng của các hệ thống IoT có thể ảnh hưởng đến hoạt
động ĐKTC, từ đó đề ra các tiêu chí của một hệ thống ĐKTC cho IoT.
(III) Lựa chọn nền tảng blockchain phù hợp, tiến hành thiết kế và trình bày kết
quả một cách chi tiết bao gồm các sơ đồ và giải thuật.
(IV) Hiện thực và đánh giá các tiêu chí quan trọng của thiết kế như tính khả
thi, hiệu suất, tính linh hoạt, tính tin cậy và đặc biệt là tính bảo mật.

1.2.2

Đối tượng nghiên cứu

Luận văn này tập trung tìm hiểu và nghiên cứu vào các vấn đề liên quan đến
việc điều khiển truy cập, lĩnh vực IoT và công nghệ blockchain sao cho hoàn
thành mục tiêu nghiên cứu được đặt ra ở mục 1.2.1.

1.2.3


Giới hạn nghiên cứu

Các hệ thống IoT thường phức tạp và đa dạng về mặt loại thiết bị, kiến trúc,
phần mềm và ứng dụng. Tuy nhiên, hầu hết chúng đều có nhiệm vụ chính là
nhằm thu thập dữ liệu cảm biến và điều khiển các tác vụ của thiết bị. Do mức
độ rộng của đề tài này, giới hạn về mặt thời gian và chi phí, thiết bị IoT được

5


LUẬN VĂN THẠC SĨ

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI

xem xét trong phần hiện thực và đánh của luận văn này là giả lập và có chức
năng truyền tải các dữ liệu cảm biến đơn giản. Ngoài ra, hệ thống blockchain
cũng chỉ được hiện thực với các thiết bị sẵn có bao gồm hai máy tính.

1.2.4

Phương pháp nghiên cứu

Luận văn này cũng áp dụng nhiều phương pháp nghiên cứu khác nhau để
hoàn thành mục tiêu nghiên cứu. Đầu tiên, phương pháp phân tích và tổng hợp
lý thuyết được áp dụng cho mục tiêu (I) và (II) trên các bài báo khoa học đã
được công bố trong những năm gần đây. Kết quả của nó là cơ sở để đề xuất một
thiết kế ĐKTC mới hoặc cải tiến cho IoT có áp dụng blockchain và mục tiêu (III)
được hoàn thành với các sơ đồ mô-đun, sơ đồ tuần tự và các giải thuật dưới dạng
mã giả. Để hoàn thành mục tiêu (IV), phương pháp thực nghiệm khoa học được

áp dụng nhằm đánh giá hiệu suất của thiết kế trên hệ thống Proof-of-Concept.
Tính linh hoạt được phân tích trong các trường hợp sử dụng khác nhau, tính
bảo mật được đánh giá qua ba khía cạnh là tính cẩn mật (confidentiality), tính
tồn vẹn (integrity) và tính sẵn có (availability).

1.3

Kết quả đạt được

Sau q trình thực hiện, luận văn này đạt được một số kết quả quan trọng
có thể tóm tắt như sau:
• Thiết kế được một hệ thống ĐKTC cho IoT dựa trên công nghệ blockchain,

cụ thể là Substrate Framework. Hệ thống này đảm bảo được tính linh hoạt
trong việc ĐKTC và tính bảo mật cho hệ thống IoT, nó cũng sở hữu được
tính tin cậy là đặc trưng vốn có của blockchain.
• Hồn thành được một Proof-of-Concept (PoC) cho thấy tính khả thi của

thiết kế, các kết quả thực nghiệm về hiệu suất trên PoC này cũng cho thấy
nó có khả năng đáp ứng cho IoT, thậm chí là yêu cầu thời gian thực.
6


LUẬN VĂN THẠC SĨ

1.4
1.4.1

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI


Ý nghĩa của đề tài
Ý nghĩa khoa học

• Luận văn này được tiến hành thông qua việc khảo sát kỹ lưỡng các cơng

trình nghiên cứu gần đây về đề tài ĐKTC cho IoT áp dụng blockchain. Do
vậy, kết quả đạt được trong luận văn này có thể được xem là một sự đóng
góp vào trong dịng phát triển của đề tài này.
• Thiết kế đề xuất được mô tả một cách chi tiết bằng các sơ đồ, giải thuật

mã giả tạo điều kiện để có thể được lưu trữ, chia sẻ, bàn luận và đánh giá.

1.4.2

Ý nghĩa thực tiễn

• Thiết kế này dựa trên nền tảng Substrate Framework, hầu hết các phần

on-chain của nó được thiết kế nằm trong Pallet ABAC (như mơ tả ở mục
3.2) giúp nó dễ dàng tích hợp vào các dự án blockchain dựa trên Substrate
Framework.
• Như là sự đóng góp cho cộng đồng, tồn bộ mã nguồn của cơng trình này

được chia sẻ cơng khai6 .

1.5

Cấu trúc báo cáo luận văn

Báo cáo luận văn này được tổ chức theo cấu trúc như sau:

• Chương 1 - Giới thiệu tổng quát về đề tài; mục tiêu, giới hạn, đối tượng

và phương pháp nghiên cứu; kết quả đạt được, ý nghĩa của đề tài, cấu trúc
của báo cáo luận văn.
• Chương 2 - Trình bày các khảo sát về hệ thống ĐKTC, các giải pháp

ĐKTC sử dụng công nghệ blockchain và các giải pháp ĐKTC cho IoT sử
6

/>7


LUẬN VĂN THẠC SĨ

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. Mục 2.1 trình bày tổng quát sự phát triển của blockchain. Mục 2.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.3. 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.

2.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 (singlepoint-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.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 ngun trong mơi trường tính tố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 tố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ó. Ngồ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


×