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

Nghiên cứu về hệ thống an ninh nhà thông minh sử dụng xác thực đa yếu tố

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 (1.36 MB, 6 trang )

Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021)

1

Nghiên cứu về hệ thống an ninh nhà thông minh sử
dụng xác thực đa yếu tố
Nguyễn Đức Dân1 , Nguyễn Ngọc Tân2 , và Hồng Trọng Minh3
Khoa Tốn và Tin học, Trường Đại học Thăng Long
1
Email: , 2 , 3
một giải pháp nhà thông minh thử nghiệm dựa trên xác thực
đa yếu tố bao gồm nhận dạng thiết bị và nhận dạng khuôn
mặt. Giải pháp của chúng tôi nhằm tăng cường sự tiện lợi cho
người sử dụng nhưng đồng thời vẫn đảm bảo được sự an ninh
cho các kết nối trong môi trường mở.

Tóm tắt nội dung—Nhà thơng minh ngày càng được quan tâm
hơn so với các ứng dụng hiện tại của Internet vạn vật (IoT) do
sự tiện lợi và tiện ích mà nó mang lại cho cuộc sống hàng ngày
của chúng ta. Tuy nhiên, một hệ thống nhà thông minh cũng
phải đối mặt với những thách thức nghiêm trọng về quyền riêng
tư và tính bảo mật khi người dùng được phép truy cập từ xa
vào hệ thống đó. Xác thực người dùng là bước quan trọng nhất
trong việc thiết lập phiên giao tiếp đáng tin cậy. Với yếu tố xác
thực duy nhất như khóa bí mật hoặc thiết bị mã hóa (hardware
token), các giải pháp xác thực truyền thống luôn phải đối mặt
với các hình thức tấn cơng giả mạo hoặc phá hoại ngày càng
phức tạp. Trong bài báo này, chúng tôi đề xuất một phương pháp
xác thực đa yếu tố khai thác khả năng nhận diện khuôn mặt và
đặc điểm vật lý của thiết bị của người dùng để tăng cường bảo
mật cho các hệ thống nhà thông minh. Hơn nữa, kết hợp với kỹ


thuật thùy vân ảnh (watermarking), phương pháp được đề xuất
có tính khả thi và phù hợp với mơi trường thiết bị có cấu hình
phần cứng thấp, mơitrường có các kết nối mở. Cuối cùng, chúng
tơi tiến hành các thử nghiệm để đánh giá thời gian chạy của các
thuật tốn.

II. CÁC NGHIÊN

Từ khóa —Bảo mật IoT, nhà thông minh, xác thực, nhận dạng
khuôn mặt.

I. GIỚI THIỆU
Các ứng dụng IoT đã và đang phát triển mạnh mẽ trong
nhiều lĩnh vực như quản lý thành phố, giao thông và nhà
thông minh [1] [2] [3]. Chúng mang lại một loạt các lợi ích
và hiệu quả cho người dùng bởi tính năng tự động hóa, độ
tin cậy và sự thân thiện trong cuộc sống hiện đại [4] [5]. Đặc
biệt, lĩnh vực nhà thông minh đang phát triển rất mạnh do nhu
cầu đa dạng và sự phổ biến của các ứng dụng IoT. Đó là động
lực to lớn để các nhà cung cấp giải pháp và triển khai các hệ
thống tiện ích cho người dùng. Bên cạnh lợi ích của hệ thống
IoT, người dùng luôn phải đối mặt với các vấn đề về bảo mật
và quyền riêng tư. Đặc biệt, các hệ thống IoT thường dựa trên
các thiết bị hạn chế về tài nguyên, tính đa dạng của thiết bị
và hoạt động trong môi trường mở [6] [7]. Những thách thức
này đang đặt ra rất nhiều vấn đề mới và thu hút các nghiên
cứu và ứng dụng hệ thống bảo mật để đưa ra các giải pháp
phù hợp với điều kiện thực tế mà hệ thống được triển khai.
Xác thực là một trong những khía cạnh quan trọng của lĩnh
vực an ninh, nó đóng một vai trị quan trọng và cân bằng giữa

mức độ bảo mật và sự thuận tiện trong quá trình thiết lập các
liên kết bảo mật [8]. Xác thực đa yếu tố là một phương pháp
phổ biến trong thời gian gần đây để cải thiện tính bảo mật
và độ tin cậy của các hệ thống bảo mật [9] [10]. Các đề xuất
gần đây cho thấy rằng sự kết hợp của hai hoặc nhiều yếu tố
xác thực người dùng sẽ làm tăng độ tin cậy của quá trình xác
thực. Tuy nhiên, luôn cần các giải pháp mới để áp dụng vào
bài tốn cụ thể. Do đó, trong bài báo này, chúng tôi đưa ra
ISBN 978-604-80-5958-3

CỨU LIÊN QUAN

Trong phần này, chúng tôi thực hiện khảo sát trọng tâm về
các hệ thống nhà thông minh hiện đại, đặc biệt là việc xác
thực người dùng. Cùng với sự phát triển nhanh chóng của nền
kinh tế, mức sống và nhu cầu của con người đối với điều kiện
sống thoải mái và thông minh càng trở nên quan trọng. Trong
bài báo [11], các tác giả trình bày một hệ thống thử nghiệm
IoT@HoMe (một hệ thống nhà thông minh dựa trên nền tảng
IoT), hệ thống đề xuất cho phép giám sát các điều kiện của
ngôi nhà và tự động hóa việc điều khiển các thiết bị gia dụng
qua internet bất cứ lúc nào và bất cứ nơi đâu. Thiết kế của
một ngôi nhà thông minh không chỉ mang lại sự tiện lợi cho
người sử dụng mà cịn phải đảm bảo tính bảo mật và sự riêng
tư. Các tác giả trong bài báo [12] đề xuất một thiết kế bao
gồm cả phần cứng và phần mềm cho một ngơi nhà thơng minh
đảm bảo tính bảo mật và thông minh cho ngôi nhà của người
dùng. Hơn nữa, hệ thống thơng tin được phân tích và giám sát
thơng qua thuật tốn nhận dạng giọng nói.
Tuy nhiên, những nghiên cứu này không thể giải quyết tất

cả các lỗ hổng bảo mật trong thiết kế của chúng. Cơng trình
trong bài báo [13] tiến hành các nghiên cứu về lỗ hổng đã
biết của các thiết bị IoT trong các loại tấn công khác nhau,
tức là tấn công vật lý, mạng, phần mềm và mã hóa. Một trong
những biện pháp đối phó hiệu quả là thực hiện một giải pháp
xác thực. Các yếu tố điển hình được sử dụng để xác thực bao
gồm mật khẩu (hoặc khóa bí mật), thiết bị mã hóa (ví dụ: thẻ
thơng minh hoặc điện thoại thơng minh, v.v.) và sinh trắc học
(ví dụ: dấu vân tay, khn mặt, v.v.).
So với các phương pháp xác thực truyền thống sử dụng khóa
bí mật hoặc thiết bị token với những hạn chế tiềm ẩn, thì tính
năng nhận diện khn mặt mang lại rất nhiều ưu điểm như tiện
lợi cho người dùng, tính bảo mật cao. Trong bài báo [14], các
tác giả đề xuất một hệ thống nhà thông minh dựa trên IoT sử
dụng tính năng phát hiện chuyển động (ví dụ: cảm biến chuyển
động PIR) và nhận dạng bề mặt. Để cải thiện độ chính xác
của nhận dạng khn mặt, cảm biến siêu âm được sử dụng để
đo khoảng cách giữa vật thể và máy ảnh. Bằng cách sử dụng
thuật toán mẫu nhị phân cục bộ (LBP), hệ thống nhận dạng
khuôn mặt được đề xuất đảm bảo độ chính xác 80% khi kiểm
tra trong thời gian thực. Một hệ thống tương tự được đề xuất
trong bài báo [15] có thể phát hiện bất kỳ mối đe dọa bảo
mật nào với độ chính xác 95,5%. Những giải pháp này yêu
72


Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thơng và Cơng nghệ Thơng tin (REV-ECIT2021)

Tạo


MQTT

kết nối

Khóa NN

Ma trận D

Thiết lập kết nối

Thỏa thuận tạo khóa phiên, Ks(i)

Chấp nhận
kết nối

Khóa NN

MQTT

Ma trận D

Dữ liệu đã mã hóa
Ảnh được nhúng (Ic, Hi, Ks)

ID thiết bị
Ảnh khuôn mặt

Kết quả xác thực

ID thiết bị

Giải mã và nhận dạng ảnh

Ra lệnh điều khiển khóa
Điều khiển khóa

Báo tình trạng khóa

Khóa điện tử

Khóa thơng minh

Điện thoại

Hình 1: Mơ hình hệ thống.
bị và khn mặt người dùng). Phương pháp của chúng tôi đề
xuất là nhận diện khuôn mặt sử dụng camera của điện thoại
thông minh để chụp hình ảnh của người dùng và có thể chạy
trên phần cứng IoT phổ biến, raspberry PI. Hơn nữa, hệ thống
được đề xuất của chúng tôi áp dụng kỹ thuật thùy vân ảnh
(watermark) để nhúng đặc điểm vật lý của thiết bị trong hình
ảnh khn mặt để tăng tính bảo mật của việc trao đổi thông
tin. Cuối cùng, chúng tơi thực hiện các thử nghiệm về tính bảo
mật của hệ thống được đề xuất. Đóng góp chính của chúng
tơi bao gồm ba phần:
• Đề xuất một phương pháp xác thực đa yếu tố đơn giản,
gọn nhẹ, tận dụng khả năng năng nhận dạng khuôn mặt
và đặc điểm đặc trưng của thiết bị của người dùng.
• Nâng cao tính bảo mật của các yếu tố xác thực bằng cách
nhúng các đặc điểm vật lý thiết bị của người dùng trên
hình ảnh của người dùng thơng qua kỹ thuật thùy vân

ảnh.
• Xây dựng thử nghiệm một hệ thống nhà thông minh để
đánh giá phương pháp xác định đa yêu tố được đề xuất.

cầu một camera mở rộng để nhận dạng khuôn mặt, điều này
làm phát sinh chi phí cao hơn trên các hệ thống được đề xuất.
Ngược lại, nhận dạng khuôn mặt khi khai thác camera của
điện thoại thông minh của người dùng được trình bày trong
bài báo [16].
Tuy nhiên, các hệ thống nhà thông minh dựa trên nhận
dạng khuôn mặt này phải đối mặt với nhiều cuộc tấn công
khác nhau như phát lại, xen giữa (man-in-the-middle attacks),
v.v., khi hình ảnh khuôn mặt hoặc thông tin điều khiển được
truyền trên một liên kết khơng an tồn giữa điện thoại của
người dùng và các thiết bị IoT. Để cải thiện sức mạnh của
các phương pháp xác thực, trong bài báo [17], các tác giả đề
xuất xác thực hai yếu tố khai thác các đặc trưng của thiết bị
vật lý khơng có tính sao chép (PUF) và vị trí của thiết bị IoT
(định vị bởi các đặc tính của kênh khơng dây). Phương pháp
được đề xuất có thể được sử dụng như một công cụ hiệu quả
để bảo mật các hệ thống IoT khỏi bị giả mạo cũng như các
cuộc tấn công khác bằng cách sử dụng các PUF ở vị trí được
chỉ định của chúng. Hệ mật mã Rabin và các hàm băm được
sử dụng để tạo thành thuật toán xác thực hai yếu tố trong bài
báo [18]. Ngoài ra bảo mật của hệ thống cũng được cải thiện
bằng cách sử dụng khóa phiên chung.
Thiết kế một phương pháp xác thực đa yếu tố trở nên khó
khăn hơn, đặc biệt là trên các thiết bị hạn chế tài nguyên. Các
tác giả trong bài báo [19] đề xuất một giải pháp xác thực hai
yếu tố với tính năng giữ khóa bí mật trong truyền tin của các

mạng cảm biến không dây (WSN) yêu cầu truy cập dữ liệu
theo thời gian thực, khai thác sự mất cân bằng tính tốn của
hệ thống mật mã RSA.
Thơng qua việc khảo sát các cơng trình nói trên, chúng tôi
nhận thấy rằng phương pháp xác thực đa yếu tố sử dụng kỹ
thuật thùy vân ảnh dựa trên nhận dạng khn mặt chưa được
đề cập tới. Do đó, trong bài báo này, chúng tôi đề xuất hệ
thống bảo mật cho các ứng dụng dụng IoT (ví dụ, nhà thơng
minh), kết hợp xác thực hai yếu tố (đặc điểm vật lý của thiết
ISBN 978-604-80-5958-3

III. MƠ HÌNH

ĐỀ XUẤT

Như trong Hình 1, hệ thống thực hiện trao đổi thông tin
giữa ứng dụng di động (gọi là ứng dụng MFA - Multil Factor
App), của người dùng và khóa thơng minh. Giao thức bảo
mật được đề xuất cho hệ thống nhà thông minh bao gồm bốn
giai đoạn: thiết lập kết nối, thỏa thuận khóa phiên, xác thực
và cuối cùng là điều khiển khóa. Khi người dùng muốn điều
khiển khóa thơng minh, trước tiên MFA sẽ thực hiện giai đoạn
thiết lập kết nối, cho phép nó trao đổi thơng tin kết nối với
dịch vụ MQTT Broker, xuất bản/đăng ký kênh, v.v., với khóa
thơng minh. Trong giai đoạn thứ hai, MFA và khóa thơng
minh thực hiện một thỏa thuận khóa phiên nhằm tạo ra một
khóa bí mật chung để mã hóa thơng tin được trao đổi giữa
chúng. Để trao đổi thơng tin giữa MFA và khóa, chúng tôi sử
dụng giao thức xác thực hai yếu tố (đó là danh tính thiết bị và
73



Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thơng và Cơng nghệ Thơng tin (REV-ECIT2021)

Thuật tốn 1: Tạo khóa Ks trên Khóa thơng minh SLauth.

Thuật tốn 2: Tạo khóa Ks trên ứng dụng người dùng (tại Ud).

Function: LockKsGen
Input: K ∈ B1×N , Dk ∈ BN ×N , biến toàn cục i khởi tạo
giá trị i = 1, app_msg biến trong vòng lặp thứ i gửi tới từ
MFA.
Output: Ks
1: If:
app_msg = (“RETRANSMIT")
2: Then: Truyền cờ với nội dung, lock_msg = (“RETRANSMIT", K), tới MFA a
3: Else if:
app_msg = (“FINISH")
4: Then: Ks = K
5: Otherwise:
6:
Dịch trái khóa K 1 bít
7:
K(i) = Random(0, 1)
8:
K =K⊕D(i)
9:
i=i+1
10:
Truyền cờ với nội dung, lock_msg = (“CONTINUE",

K) tới MFA

Function: AppKsGen
Input: K ∈ B1×N , Dk ∈ BN ×N , DP ∈ BN ×N , biến tồn
cục i có khởi tạo i = 1, lock_msg gửi tới từ PI.
Output: Ks
1: Dịch trái khóa K 1 bít
2: K(1) = 0
3: KP I = getK(lock_msg)
4: If: K⊕D(i) = KP I
5: Then: K=K⊕D(i)
6: Otherwise:
7:
K(1) = 1
8:
If: K⊕D(i) = KP I
9:
Then: K=K⊕D(i)
10:
Otherwise:
11:
Truyền cờ với nội dung, app_msg = (“RETRANSMIT"), tới PI
12: If: i < N
13: Then: i = i + 1
14:
Truyền cờ với nội dung, app_msg = (“CONTINUE"),
tới PI
khuôn mặt người dùng). Giao thức này được thực hiện trong
giai đoạn thứ ba. Cuối cùng, nếu người dùng được xác thực, 15: Otherwise:
người dùng có thể điều khiển khóa thơng minh trên ứng dụng 16: Truyền cờ với nội dung, app_msg = (“FINISH"), tới PI

đó. Trong phần này, chúng tơi trình bày các thuật tốn được đề
xuất để tạo khóa phiên, mã hóa/giải mã và truyền hình ảnh Thuật tốn 3 : Mã hóa ảnh và truyền dữ liệu từ người dùng U .
d
khn mặt. Ngồi ra, các tính năng chính của phần mềm và
chức năng nhận diện khuôn mặt cũng được đề cập ở đây.
Function: TransSecuImage
A. Các thuật toán
Trong tiểu mục này, chúng tơi trình bày các thuật tốn chính
của chúng tôi để xác thực người dùng bằng nhiều yếu tố. Để
thực hiện điều này, trước tiên, ứng dụng trên thiết bị di động
(MFA) và chương trình xác thực phía SL (khóa thơng minh)
trao đổi khóa bí mật chung Ks được tạo bởi Thuật toán 1 và
Thuật toán 2. Thuật tốn trao đổi khóa khởi chạy trước trên
Raspberry PI và sau đó được thực thi trên ứng dụng MFA.
Tiếp theo, ứng dụng MFA chạy Thuật toán 3 để thực hiện
mã hóa và truyền hình ảnh khn mặt. Ngược lại, thuật tốn
giải mã hình ảnh khn mặt, tức là Thuật tốn 4, được triển
khai trên Raspberry PI.
Thứ nhất, Thuật toán 1 mơ tả việc tạo khóa phiên trong
vịng lặp thứ i trên SL. Đầu vào của nó bao gồm: i) mảng
nhị phân K với kích thước N và ma trận nhị phân Dk với
kích thước N × N được tạo ngẫu nhiên và lưu trên cả ứng
dụng MFA và SL. Độ lớn của N được chọn sao cho thuật
toán chạy đủ nhanh nhưng vẫn đảm bảo tính bảo mật. Ví dụ
ở đây chúng tôi chọn N = 48. Lưu ý rằng, K và Dk có thể bị
rị rỉ, nhưng khóa phiên Ks được tạo ngẫu nhiên nên chúng
bảo mật. ii) một biến tồn cục xác định vịng lặp hiện tại của cả
Thuật toán 1 và Thuật toán 2, và cờ chứa nội dung thông điệp
(MESSAGE) dùng để lưu thông báo từ ứng dụng MFA tới SL
và ngược lại. Trong vòng lặp thứ i của q trình tạo khóa phiên,

tùy theo cờ thơng điệp nhận được từ chương trình phía MFA,
nếu cờ có nội dung là “RETRANSMIT”, Raspberry PI sẽ gửi
lại trạng thái khóa tại vịng lặp thứ i. Nếu nó chứa cờ “FINISH”,
thì Raspberry PI sẽ dừng quá trình tạo
ISBN 978-604-80-5958-3

74

Input: Ks ∈ B1×N , Dk ∈ BN ×N , N = 48
Output: bytesImage
1: bytes = ConvertToBytes(urlImage)
2: strKey = ConvertToString(Ks )
3: For: i = 1, i <= length(bytes)
4:
bytesImage(i) = bytes(i) ⊕ strKey((i − 1)%(N/8) +
1)
5: Send bytesImage to SLauth

khóa phiên và sử dụng khóa hiện tại K làm khóa phiên chung
Ks. Nếu không (hoặc thông báo từ ứng dụng MFA chứa cờ
“CONTINUE”), các bước liên tục được thực hiện gồm: i) khóa
K hiện tại được dịch chuyển sang trái một bit, ii) bít đầu tiên
của khóa hiện tại K được đặt ngẫu nhiên với hai giá trị (0 và
1), iii) khóa K hiện tại được thực hiện phép toán “XOR” với
hàng thứ i của ma trận D, iv) giá trị toàn cục i tăng lên 1, và
v) bản tin chứa cờ “TIẾP TỤC” và khóa K hiện tại được gửi
đến ứng dụng MFA.
Tiếp theo, việc tạo khóa phiên trong vịng lặp thứ i trên ứng
dụng MFA được trình bày trong Thuật toán 2. Đầu vào của
Thuật toán 2 giống như Thuật tốn 1, nội dung của cờ chứa

thơng điệp từ Raspberry PI được gửi tới khóa và đặt trong
(lock_msg). Đầu tiên, khóa K hiện tại trong vịng lặp thứ i
được dịch chuyển sang trái một bit. Tiếp theo, thử với bít đầu
tiên của khóa K chuyển thành thành 0. Sau đó, lấy khóa từ
PI gửi đến (ký hiệu là KP I), khóa này được so sánh với kết
quả của phép tốn “XOR” giữa khóa hiện tại K và dịng i
trong ma trận D (D[i]). Nếu chúng được khớp, khóa K hiện


Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thơng và Cơng nghệ Thơng tin (REV-ECIT2021)

Thuật tốn 4 : Giải mã hình ảnh tại phía PI
Function: DecryptImage
Input: Ks ∈ B1×N , Dk ∈ BN ×N , bytesImage nhận được
từ MFA
Output: urlImage
1: strKey = ConvertToString(Ks )
2: For: i = 1, i <= length(bytes), i + +
3:
bytes(i) = bytesImage(i) ⊕ strKey((i − 1)%(N/8) +
1)
4: urlImage = WriteToFile( bytes)

khóa phiên được thực hiện qua lại giữa ứng dụng MFA
và Raspberry PI thơng qua giao thức MQTT.
• Xử lý hình ảnh của người dùng: Cùng với việc tạo
khóa phiên, chúng tơi sử dụng thông tin khuôn mặt của
người dùng làm yếu tố nhận thực thứ hai. Sau q trình
tạo khóa phiên, người dùng được u cầu cung cấp hình
ảnh khn mặt của họ bằng cách chụp ảnh. Lưu ý rằng

người dùng không thể sử dụng hình ảnh khn mặt có
sẵn trong thư viện ảnh, chức năng chụp và cắt ảnh khuôn
mặt phải được triển khai trên MFA để tránh các cuộc tấn
công độc hại. Hình ảnh khn mặt sau đó được cắt thành
độ phân giải 512 × 512 trước khi chuyển đổi sang định
dạng byte. Các byte này được mã hóa bằng khóa phiên
được tạo ở tiến trình trước, sau đó chúng được gửi sang
Raspberry PI thơng qua giao thức MQTT.
• Truyền thông tin điều khiển: Sau khi nhận được thông
báo xác nhận xác thực từ Raspberry PI, người dùng có
thể điều khiển các thiết bị đã được kết nối và điều khiển
bởi PI, tức là mở/đóng cửa thơng minh thơng qua giao
diện MFA. Thơng tin điều khiển này đó được gửi từ MFA
đến Raspberry PI để thực hiện điều khiển các thiết bị IoT
kết nối với mình.
2) Phần mềm trên PI:
• Khởi chạy dịch vụ MQTT: PI đã được cài gói thư viện
của MQTT, luôn chạy dịch vụ MQTT với các thơng số
đã được thiết lập.
• Tạo khóa phiên: Chức năng này được thực hiện theo
cách tương tự trên ứng dụng MFA.
• Xử lý hình ảnh của người dùng: Khi Rapberry PI nhận
được hình ảnh khn mặt được mã hóa từ ứng dụng MFA,
nó sẽ chạy chương trình để giải mã hình ảnh được mã
hóa để thu được hình ảnh khn mặt gốc và khóa phiên
do ứng dụng MFA tạo ra.
• Xác thực người dùng: Khóa phiên đã nhận được từ MFA
được so sánh với khóa phiên được tạo bởi Raspberry PI.
Nếu các khóa phiên này khớp với nhau, thì q trình nhận
dạng khn mặt sẽ được khởi chạy. Hình ảnh đã xử lý

được đưa vào thuật tốn nhận dạng khn mặt. Nếu hình
ảnh khn mặt được nhận dạng, thì người dùng được xác
thực.
• Điều khiển khóa thơng minh: Dựa trên thông tin điều
khiển nhận được từ ứng dụng MFA, Raspberry PI thực
hiện điều khiển các lệnh khóa/mở khóa cửa.

tại được gọi là khóa phiên tạm thời ở bước i. Nếu khơng: i)
đặt phần tử đầu tiên của khóa hiện tại K được đặt thành 1,
ii) so sánh giữa khóa KPI và kết quả của phép toán “XOR”
giữa K và D[i], iii) nếu chúng bằng nhau, khóa K hiện tại
được gọi là khóa phiên tạm thời ở bước thứ i, iv) nếu chúng
không bằng nhau, một cờ với nội dung “RETRANSMIT” sẽ
được gửi để yêu cầu Raspberry PI gửi lại KPI khóa hiện tại
của nó. Sau đó, nếu giá trị của biến i khơng bằng N thì giá trị
của biến tăng lên một và cờ có nội dung “CONTINUE” được
gửi đến Raspberry PI, nếu i bằng N thì một cờ có nội dung
“FINISH” sẽ được gửi đến Raspberry PI để báo kết thúc q
trình trao đổi khóa.
Sau khi khóa phiên Ks được tạo, nó được sử dụng để mã
hóa hình ảnh khn mặt. Trước tiên, cả hình ảnh khn mặt
và khóa phiên Ks đều được chuyển đổi thành định dạng byte.
Sau đó, thực hiện thao tác “XOR” chúng với từng byte tương
ứng của khóa phiên Ks, lặp đi lặp lại với các byte ảnh. Lưu
ý rằng, độ dài (số byte) của khóa phiên nhỏ hơn nhiều so với
hình ảnh khn mặt. Do đó, khi nó đạt đến byte cuối cùng
của khóa phiên, nó bắt đầu lại với byte đầu tiên của khóa
phiên. Cuối cùng, hình ảnh khn mặt được nhúng (ở định
dạng byte) được gửi đến SL (khóa thơng minh).
Song song với nó, một quy trình ngược lại được thực hiện

trên Raspberry PI để giải mã hình ảnh nó nhận được từ ứng
dụng MFA. Đầu tiên, khóa phiên Ks được tạo trên Raspberry
PI được chuyển đổi thành định dạng byte. Sau đó, hình ảnh
khn mặt nhúng được thực hiện thao tác “XOR” với khóa
phiên để khơi phục hình ảnh khn mặt ban đầu. Cuối cùng,
hình ảnh khn mặt ban đầu được chuyển đổi từ định dạng
byte sang định dạng hình ảnh (ví dụ: .jpeg).
B. Mơ tả phần mềm

C. Nhận dạng khn mặt phía PI

1) Ứng dụng trên điện thoại: Xây dựng một ứng dụng trên
điện thoại là MFA, được thiết kế gồm các chức năng sau:




Như đã trình bày ở phần trên, nhận diện khuôn mặt được
thực hiện ở pha thứ hai của của quá trình xác thực trên Raspery
PI. Đầu vào của chương trình nhận diện khn mặt là khn
mặt của gười dùng thu được từ chức năng xử lý ảnh của APP
truyền sang. Đầu tiên, quá trình nhận thực thực hiện nhận diện
xem có khn mặt trong bức ảnh khơng. Nếu khơng có khn
mặt trong bức ảnh, nó trả lại một cờ chứa thông tin “NO
FACE” để thông báo cho MFA biết khuôn mặt được chụp bởi
MFA gửi lên khơng lợp lệ, thuật tốn nhận diện khn mặt sẽ
khơng được kích hoạt, q trình nhận diện khn mặt sẽ dừng.
Ngược lại, nếu xác định được có khn mặt trong bức ảnh, nó
tiến hành phân tích để trích rút ra các đặc trưng của


Cấu hình dịch vụ MQTT: Thứ nhất, MFA cho phép
thiết lập các thông số MQTT như địa chỉ iP, địa chỉ
cổng, tên người dùng, mật khẩu, tên của các kênh để
xuất bản (public) và đăng ký (subscribe) trên MFA và PI
(gồm kênh để trao đổi hình ảnh và kênh để trao đổi khóa
phiên, kênh để rao đổi thơng tin điều khiển).
Tạo khóa phiên: Sau khi giao thức trao đổi tin nhắn
MQTT được thiết lập giữa ứng dụng di động và Raspberry PI, chương trình tạo khóa phiên được thực thi trên
cả ứng dụng MFA và Raspberry PI. Việc trao đổi để tạo
ISBN 978-604-80-5958-3

75


Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thơng và Cơng nghệ Thơng tin (REV-ECIT2021)

Ứng dụng
MFA

Cấu hình
MQTT

Chụp, mã hóa, gửi
ảnh người dùng

Sinh
khóa phiên

Gửi tín hiệu điều
khiển khóa


Rasspberry
PI

Khởi tạo dịch vụ
MQTT

Sinh
khóa phiên

Nhận dạng ảnh
người dùng

Điều khiển khóa
thơng minh

Nhận thực

Hình 2: Các chức năng chính phía ứng dụng MFA và PI
6. Chương trình trên RASPERTY PI được cài Raspbian OS
phiên bản 4.19 phát hành ngày 11-01-2021. Trên đó, ta sử dụng
thư viện Mosquitto để cài đặt dịch vụ MQTT Broker. Cuối
cùng, thư viện nhận diện khuôn mặt được cài tên Raspbian
là ageitgey/f ace_recognition [20]. Để kiểm thử khả năng
xử lý tốn ít tài nguyên và thời gian chạy là chấp nhận được,
chúng tôi tiến hành kiểm thử 100 lần các chương trình của
chúng tơi trên mỗi thiết bị.

BẮT ĐẦU


Khn mặt
người dùng

Có vùng mặt

Sai

Trả lại thơng điệp
"No face" tới Phone

1.6

Đúng

1.4

Phân tích đặc trưng

Sai

Thời gian chạy sinh khóa phiên

Đối chiếu
thư viện đặc trưng

1.2

Trả về thông điệp
"Unknown Person" tới
Phone


Đúng

Trả về ID người dùng và
xác thực thành công

1
0.8
0.6
0.4
0.2
0

1

5

9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97

Lần thử nghiệm
Note 10

DỪNG

A50s

Reno

6


Hình 4: Thời gian chạy sinh khóa phiên phía Android.
Hình 3: Lược đồ nhận thực khuốn mặt phía PI
Hình 4 và Hình 5 minh họa thời gian chạy của quá trình
tạo khóa phiên và mã hóa hình ảnh. Rõ ràng là Galaxy Note
10 là máy chiến thắng trong cả hai trường hợp. Reno6 chỉ mất
trung bình 0,96 giây và 0,85 giây cho các q trình tạo khóa
phiên và mã hóa hình ảnh tương ứng. Trên Raspberry PI, quá
trình giải mã hình ảnh và nhận dạng khuôn mặt chỉ mất 1 giây
và 1,04 giây như trong Hình 6 và Hình 7.
Bảng 1 cho thấy thời gian chạy trung bình của tất cả các
tiến trình trên cả ứng dụng MFA (sử dụng Galaxy Note 10)
và Raspberry PI có thời gian ít hơn 4 giây. Nó đủ nhanh cho
các ứng dụng điều khiển thiết bị an tồn, ví dụ như khóa/mở
khóa cửa.

bức ảnh. Những đặc trưng này được so sánh với cơ sở dữ liệu
các đặc trưng đã được học trước đó. Nếu các đặc trưng không
khớp với cơ sở dữ liệu đã lưu trữ trước đây, quá trình nhận
thực trả lại cờ với nội dung “UNKNOW PERSON”, thông tin
này được gửi tới ứng dụng MFA để báo rằng q trình nhận
diện khơng thành cơng. Ngược lại, q trình nhận diện trả lại
iD của người dùng và gửi cờ với nôi dung "SUCCES" tới MFA
(q trình nhận diện thành cơng). Điều đó cũng có nghĩa là
ứng dụng MFA có thể điều khiển khóa qua RASPERY PI.
D. Triển khai thực nghiệm
Trong phần này, chúng tôi xây dựng các chương trình chạy
trên cả điện thoại thơng minh của người dùng và khóa cửa
thơng mình thơng qua RASPERY PI. Việc kiểm thử ứng dụng
MFA được thực hiện trên Android version 9.0 hoặc cao hơn.
Ứng dụng được viết và cài đặt trên các dòng điện thoại khác

nhau như Samsung A50s, Samsung Note 10, và Oppo Reno
ISBN 978-604-80-5958-3

IV. KẾT LUẬN
Trong bài báo này, chúng tôi đã nghiên cứu, đề xuất một
ứng dụng của cơ chế xác thực đa yếu tố, đó là hệ thống an
ninh cho nhà thơng minh. Hệ thống thử nghiệm được chạy trên
điện thoại Android và Raspberry PI (được trang bị trong một
76


Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021)

o Nhận dạng ảnh:

Bảng I: Thời gian xử lý trung bình.
Thời gian chạy (s)

Sinh khóa phiên
0.39

Mã hóa và truyền ảnh
0.85

Giả mã ảnh
0.84

Nhận dạng ảnh
0.98


Tổng thời gian
3.06

Nhận thực ảnh
Runtime of facial recognition (s)

1.2

1

0.6

1
0.8
0.6
0.4
0.2
0

Number of Tests
0.2

Hình 7: Thời gian chạy nhận diện khn mặt phía PI.

0

[5] S. Radosveta, M. A. Akkas¸, and E. Demir, “IoT supported smart home
for the elderly," Internet of Things, vol. 11, 2020.
[6] A. M. Razan, M. A. Asqah, and S. E. Khediri, “IoT: Security challenges and issues of smart homes/cities," International Conference on
Computing and information Technology (ICCIT-1441), 2020, pp. 1-6.

[7] R. Rohit, R. Jain, and P. Jain, “IoT Applications in Smart Home Security: Addressing Safety and Security Threats," Artificial intelligence
Paradigms for Smart Cyber-Physical Systems, iGI Global, 2021, pp.
251-277.
[8] P. Kumar and C. Lokesh, “A secure authentication scheme for IoT
application in smart home," Peer-To-Peer Networking And Applications,
vol.14, pp. 420-438, 2021.
[9] B. H. Taher et al., "A Secure and Lightweight Three-Factor Remote
User Authentication Protocol for Future IoT Applications." J. of Sensors, 2021.
[10] O. JiHyeon, et al. “A secure and lightweight authentication protocol
for IoT-based smart homes," Sensors vol.21, 2021.
[11] W. A. Jabbar et al., “Design and Fabrication of Smart Home With
internet of Things Enabled Automation System," in iEEE Access, vol.
7, pp. 144059-144074, 2019.
[12] A. Yang, C. Zhang, Y. Chen, Y. Zhuansun and H. Liu, “Security and
Privacy of Smart Home Systems Based on the internet of Things and
Stereo Matching Algorithms," in IEEE internet Things J., vol. 7, no.
4, pp. 2521-2530, Apr. 2020.
[13] B. D. Davis, J. C. Mason and M. Anwar, "Vulnerability Studies and
Security Postures of IoT Devices: A Smart Home Case Study," in IEEE
internet Things J., vol. 7, no. 10, pp. 10102-10110, Oct. 2020, doi:
10.1109/JIoT.2020.2983983.
[14] S. Pawar, V. Kithani, S. Ahuja and S. Sahu, “Smart Home Security
Using IoT and Face Recognition,” in Fourth international Conference
on Computing Communication Control and Automation (ICCUBEA),
2018, pp. 1-6.
[15] A. J. Majumder and J. A. Izaguirre, “A Smart IoT Security System
for Smart-Home Using Motion Detection and Facial Recognition,” in
iEEE 44th Annual Computers, Software, and Applications Conference
(COMPSAC), 2020, pp. 1065-1071.
[16] S. Khunchai and C. Thongchaisuratkrul, “Development of Application

and Face Recognition for Smart Home," in International Conference
on Power, Energy and innovations (ICPEI), 2020, pp. 105-108.
[17] M. N. Aman, M. H. Basheer, and B. Sikdar, “Two-Factor Authentication for IoT With Location information," IEEE internet Things J., vol.
6, no. 2, pp. 3335-3351, Apr. 2019.
[18] A. Attkan and P. Ahlawat, “Lightweight Two-factor Authentication
Protocol and Session Key Generation Scheme for WSN in IoT Deployment", Lecture Notes in Electrical Engineering, vol 643. Springer,
Singapore.
[19] D. Wang, P. Wang, and C. Wang, “Efficient Multi-Factor User Authentication Protocol with Forward Secrecy for Real-Time Data Access in
WSNs", in ACM Trans. Cyber-Phys. Syst., vol.4, no.3, Article 30, May
2020.
[20] Face recognition library. Available at: />recognition.

Lần thử nghiệm
Note 10

A50s

Reno 6

Hình 5: Thời gian chạy Giải
mã hóa
và truyền ảnh trên Android.
mã ảnh
1.25
1.2
1.15
1.1
1.05
1
0.95

0.9
1
5
9
13
17
21
25
29
33
37
41
45
49
53
57
61
65
69
73
77
81
85
89
93
97

Thời gian chạy giải mã ảnh

1.2


1
5
9
13
17
21
25
29
33
37
41
45
49
53
57
61
65
69
73
77
81
85
89
93
97

0.4

1

5
9
13
17
21
25
29
33
37
41
45
49
53
57
61
65
69
73
77
81
85
89
93
97

Thời gian chạy mã hóa và truyền ảnh

0.8

1.4


Lần thử nghiệm

Hình 6: Thời gian chạy giải mã ảnh phía PI.
ổ khóa thơng minh để kiểm sốt việc khóa/mở cửa). Chúng
tơi đã trình bày các thuật tốn tạo khóa phiên và các thuật
tốn mã hóa/giải mã hình ảnh khn mặt bằng cách sử dụng
kỹ thuật thùy vân ảnh. Ngoài ra, chúng tơi cũng đã mơ tả các
tính năng chính cũng như các khối chức năng của phần mềm
của chúng tôi. Bằng cách kết hợp khóa phiên và nhận dạng
khn mặt, cơ chế xác thực đa yếu tố của chúng tôi đã được
chứng minh là được bảo mật và nhẹ cho các hệ thống IoT. Kết
quả thử nghiệm đã chỉ ra rằng thời gian mở khóa/mở khóa
trung bình chỉ dưới 4 giây.
TÀI LIỆU
[1] H. Rosilah et al., “Internet of Things and its applications: A comprehensive survey," Symmetry, 2020, pp. 1674.
[2] H. Rondik et al., “State of art survey for IoT effects on smart city
technology: challenges, opportunities, and solutions," Asian J. Res.
Comput. Sci., 2021, pp.32-48.
[3] A. A. Zaidan„ and B. B. Zaidan. “A review on intelligent process for
smart home applications based on IoT: coherent taxonomy, motivation,
open challenges, and recommendations," Artif. intell. Rev., no. 53, pp.
141-165, 2020.
[4] L. Ghazanfar et al., “Impact of IoT-Based Smart Cities on Human Daily
Life," in Integration of WSN and IoT for Smart Cities, pp. 103-114,
2020.

ISBN 978-604-80-5958-3

77




×