Mặc dù tính bí mật của các dữ liệu nhạy cảm có thể được đảm bảo thông qua mã hóa dit liệu, chúng vẫn cần phải được giải mã khi thực hiện các thao tác xử lý như đối sánh mẫu; khi không cò
Trang 1ĐẠI HỌC QUÓC GIA TP HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG
LE NGOC HUY
KHOA LUAN TOT NGHIEP
BAO MAT DU LIEU CHO PHUONG PHAP DOI SANH
MAU NHANH TREN THIET BỊ IOT
Secure lightweight pattern matching between the Internet of Thing
devices and Cloud Service
KY SU NGANH AN TOAN THONG TIN
TP HO CHÍ MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG
LÊ NGỌC HUY- 17520074
KHÓA LUẬN TÓT NGHIỆP
BAO MAT DU LIEU CHO PHƯƠNG PHAP DOI SANH
MAU NHANH TREN THIET BỊ IOT
Secure lightweight pattern matching between the Internet of Thing
devices and Cloud Service
KY SU NGANH AN TOAN THONG TIN
GIANG VIEN HUONG DAN
TS NGUYEN TAN TRAN MINH KHANG
TP HO CHÍ MINH, 2021
Trang 3THÔNG TIN HỘI ĐÒNG CHÁM KHÓA LUẬN TÓT NGHIỆP
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định só
.-n8ầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
Trang 4LỜI CÁM ƠN
Lời đầu tiên, xin chân thành cảm ơn thầy Nguyễn Tan Tran Minh Khang Cảm ơn thầy đã nhận làm giảng viên hướng dẫn đề tài của em và làm cầu nối
để cô Trần Việt Xuân Phương trực tiếp chỉ dẫn em đề tài này Cảm ơn thầy và
cô đã luôn hỗ trợ em trong quá trình làm khoá luận Cảm ơn những nhận xét,
lời khuyên và kiến thức hữu ích của thầy cô.
Xin chân thành cảm ơn các thầy, cô thuộc khoa Mạng máy tính và truyền thông trường Đại học Công nghệ Thông tin — Đại học Quốc gia Thành phố
Hồ Chí Minh đã tận tình giảng dạy em trong suốt thời gian học tập.
Do giới hạn kiến thức và khả năng lý luận của bản thân còn nhiều thiếu sót và hạn chế, kính mong nhận được sự chỉ dẫn và đóng góp của các thay, cô dé
khoá luận của em được hoàn thiện hơn Xin chân thành cảm ơn!
Trang 5Mục lục
TÓM TAT KHOA LUẬN
1_ TỔNG QUAN
[1.1 Các thành phan của bài
toán| -1.1.1 Sự phát triển và điểm yêu của thiết bị løl]
[12 Dữlệunhạycảm|
1.1.3 Sự phát triển và tính tin cậy của dịch vụ đám mây|
1.1.4 Đối sánh mau và đói sánh mau an toàn
1.2 Giới thiệu bài toán|
1.6 Cấu trúc khóa luận tốt ng! hiép| ¬ ee
2_ NGHIÊN CỨU LIEN QUAN)
2.2 Các nghiên cứu về đảm bảo tính toàn vẹn của dữ liệu đám mây| Lae
2.3 Cacthuattoanmatma] 2.2 0.0.00 00 eee eee
BÀI TOÁN, CƠ SỞ LÝ THUYET, PHƯƠNG PHAP ĐỀ XUẤT]
3.1 Phát biểu bài toán| ẶcSSẶSS.
3.1.1 Cac đối tượng trong bài toán|
3.1.2
Yêucàubảomật_ -ON TNNN
10
12 12
13
13 13
Trang 6313 Muctêu|
3.2 Cơsởlýthuyết ScS So 321 MãhóaAESl
8.22_ Hàm băm SHA]
3.2.3 _ Xác thực tính toàn vẹn của dư liệu|
3.2.4 Kỹ thuật kiểm tra tính toàn vẹn an toa: 3.2.5 Kiểm tra tính toàn ven mang tính xác suất|
3.2.6 Đối sánh mẫu với phép toán XOR|
3.3 Phuong pháp đề xuất|
3.3.1 7 Kýhiệu| Q eee 3.3.2 Giao thức tải lên dữ
liệu| -3.3.3 Giao thức kiểm tra tính toàn vẹn dữ liệu|
3 i ức đôi sa â Al Qưnh
4 _ CHUNG MINH 4.1 Tính chính xác của đối sánh mẫuÌ
4.2 Tính bao mật của dw liệu] ¬v Ì /
4.3 Tính tin cậy và an toàn của kiểm tra toàn ven dữ liệu|
5.1 Đặc tả môi trường
thínghiệm| -5.2 Kết quả thínghiệm|
5.2.1 Chỉ phí mã hóa và giải
mã| -5.2.2 Chi phi sinh dữ liệu xác
thực| -5.2.3 Chỉ phí của thuật toán đối sánh|
5.2.4 Kết quả của phép đối sánh mẫu dựa trên toán tử XOR| 6 THẢO LUẬN, HƯỚNG PHAT TRIEN, VA KET LUAN 6.1 Thảo luận 2.2 0 ee 6.2 Hướng phattrién) 2 ee 6.2.1 Phát triển giao tht 2 ee 6.2.2 Các hướng phát triển
khác| -6.3 Kếtluận| ST ee
36
36 37 3
39
39 41
41
42
44
Trang 7Tham khảo)
53
57
Trang 8Danh sách hình vẽ
1.1 So sánh hiệu suất của các thiết bị loT (Raspberry Pi 3 va 4) với Laptop
_ TTHỊ 3
1.2 Sự phát triển về số lượng người sử dụng điện thoại thông minh từ năm 2012 đến 2021 (theo Statista [23])| - 4
1.3 Sự gia tăng của dữ liệu trên internet từ năm 2010 đến 2024 (theo [ Statista 5D | 7⁄7 eee 5 1.4 Sự gia tăng của số lượng người dùng internet từ năm 2005 đến 2019 [ (theo Statista [22])| ẶẶSV 6 1.5 Sự phát triển của thị trường dịch vụ đám mây từ năm 2016 đến 2019 LRA a we T2 ‹s«- | .⁄ 7
3.1 Chế độ mã hóa CTR, 3.2_ Hàm compress trong thuật toán SHA-256 Trong đó W; là từ thứ t, Ky laméthangs6.) 2.2 eee 26 3.3 Phương pháp dam bao tính toàn ven do sự có dựa trên checksum của Le eee 27 8.4 Phương pháp dam bao tính toàn ven của gói tin sử dung HMAC] 28
3.5 Giao thức tải lên dư liệu| 32
3.6 Giao thức kiểm tra tính toàn vẹn dữ liệu| - 33
3/7_ Giao thức đôi sánh mẫu an toàn| 34
5.1 Các phép biến đối ở phiên bản Aifered-Eas| 39
5.2 Các phép biến đối ở phiên bản Altered-Medium| 40
5.3 Các phép biến đối ở phiên bản Alfered-Hard| 40
54 Chiphímãhóa| Ặ.ẶẶ eee 41 55 Chiphígiimi| c eee 42 5.6 Chỉ phí sinh dữ liệu xác thực| - 42
Trang 95.7 So sánh mô hình kiểm tra tính toàn vẹn của dữ liệu giữa thuật toán
m"———————
5.8 Chỉ phí tính toán của thuật toán đôi sánh mẫu với toán tử XOR| .
5.9 Kết quả độ tương đồng giữa một số mẫu trên tập dữ liệu SOCOEing
dựa trên thuật toán đối sánh mẫu XOR
5.10 Phép đánh giá độ tin cậy của thuật toán đôi sánh mẫu XOR trên tập
dữ liệu phiên bản
Alfered-Easy| -5.11 Phép đánh giá độ tin cậy của thuật toán đối sánh mẫu XOR trên tập
dữ liệu phiên bản Altered-Medium|
6.1 Cách thức tính toán giá trị hàm băm bằng thuật toán SHA-256.|
47 50
Trang 10Danh sách bang
Trang 11Danh mục từ viết tắt
CSP Cloud Service Provider
loT Internet of Things
PDP Provable of Data Possession
Trang 12Danh mục tu tạm dịch
Dịch vụ đám mây Cloud Service
Nhà cung cấp dịch vụ đám may Cloud Service ProviderTan công phi kỹ thuật Social Attack
Mã hóa đồng hình Homomorphic Encryption
Văn bản đã mã hóa Ciphertext
Văn bản gốc Plaintext
Mã hóa khóa công khai Public Key Cryptography
Mã hóa khóa bí mật Secret Key Cryptography
Chữ ký số Digital Signature
Ham bam Hash Function Ham bam mat ma Cryptographic Hash Function
Gia tri ham bam Message digest
Siêu dữ liệu Metadata Bên thứ ba Third Party Agent
Độ tương đồng Similarity
Trang 13TÓM TẮT KHOÁ LUẬN
Hiện nay các thiết bị IoT đang phát triển rất nhanh chóng Những thiết bị này thường
được sử dụng để lưu trữ nhiều dữ liệu của người dùng, đặc biệt là các loại di liệu
nhạy cảm như dấu vấn tay, hình ảnh riêng tư, hay tài liệu bí mật Do những giới hạn
về mặt lưu trữ vật lý của các thiết bị Jol, người dùng mong muốn sao lưu đữ liệucủa họ thông qua việc thuê một dịch vụ đám mây, nơi mà có thể chia sẻ không gianlưu trữ với các thiết bị cục bộ Tuy nhiên, nếu chúng ta không áp dụng bắt kỳ cơ chếbảo mật nào trên các dữ liệu này, chúng có thể bị lợi dụng cho các mục đích xấu bởicác nhà cung cấp dịch vụ không tin cậy Mặc dù tính bí mật của các dữ liệu nhạy
cảm có thể được đảm bảo thông qua mã hóa dit liệu, chúng vẫn cần phải được giải
mã khi thực hiện các thao tác xử lý như đối sánh mẫu; khi không còn được bảo vệbởi các thuật toán mã hóa, dữ liệu của người dùng có thể dé dang bị truy cập tráiphép bởi nhà cung cấp dịch vụ đám mây hoặc các kẻ tan công
Trong nghiên cứu này, chúng tôi dé xuất một mô hình đối sánh mẫu an toàn trêndịch vụ đám mây mà nó dựa trên toán tử XOR và counter mode của mã hóa khối
Thuật toán này có độ phức tạp tính toán thấp và không yêu cầu giải ma dir liệu Lay
động lực từ nghiên cứu vào năm 2008 của Ateniese và cộng sự [6], chúng tôi cũng
trình bày một giải pháp kiểm tra tính toàn vẹn của dữ liệu trước khi thực hiện phépđối sánh mẫu Các thí nghiệm của chúng tôi được chạy trên một máy tính cá nhânđại diện cho máy chủ đám mây và một thiết bi Raspberry Pi 3 đại điện cho các máy
khách Như mục đích của nghiên cứu, chúng tôi sẽ chỉ ra các thuật toán mà chúng
tôi dé xuất có chi phí tính toán phù hợp với các thiết bị IoT
Trang 14Chương 1
TỔNG QUAN
Tóm tắt
Trong chương này, chúng tôi giới thiệu tổng quan bài toán, các ứng dụng trong thực
tế và các thách thức mà bài toán gặp phải Đồng thời chúng tôi cũng nêu mục tiêuhướng đến và phạm vi nghiên cứu của đề tài Cấu trúc của khóa luận tốt nghiệpcũng sẽ được đề cập ở cuối chương
1.1 Các thành phan của bài toán
Trước khi giới thiệu tổng quan bài toán, chúng tôi trình bày định nghĩa, sự cần thiết
và các van dé cần quan tâm của các thành phần thuộc phạm vi của bài toán, chúngbao gồm: thiết bị IoT, dữ liệu nhạy cảm, dịch vụ đám mây và đối sánh mẫu
1.1.1 Sự phát triển và điểm yếu của thiết bị IoT
Thiết bị Internet of Things hay IoT là những loại phần cứng như cảm biến, thiết bitruyền động hay máy móc được lập trình cho các ứng dụng nhất định và có thểtruyền dữ liệu thông qua internet hoặc các loại mạng khác Chúng có thể được
nhúng vào thiết bị di động, thiết bị công nghiệp, cảm biến môi trường, thiết bị y tế,
v.v (tạm dịch theo ARM BÌ) Một số ví dụ về thiết bị IoI là điện thoại di động, đồng
hồ thông minh hay khóa điện tử
Do hạn chế về kích thước và mục đích sử dụng, các thiết bị IoT thường bị giới hạn
về tài nguyên và phần cứng so với các máy tính thông thường, chẳng hạn như lượng
Trang 15Chương 1 TỔNG QUAN
Sysbench CPU test
events/sec (higher is better)
Intel ¡3-8100T 4210
ARM Cortex A72 (Rpi 4B) 394
ARM Cortex A53 (Rpi 3B+) bá
|
ũ 1000 2000 3000 4000 5000
HINH 1.1: So sánh hiệu suất của các thiết bị IoT (Raspberry Pi 3 và 4) với Laptop
i.
pin ít, bộ nhớ lưu trữ nhỏ, khả năng tinh toán yếu Hình[1.1Ìcho thay khả năng xử ly
của một máy tính chạy trên CPU Intel i3-8100T đã vượt trội hơn hẳn các thiết bị IoT
phổ biến trên thị trường là Raspberry Pi 3 và 4 Do đó những tính năng, ứng dụng
hay giao thức trên các thiết bị này thường được làm đơn giản để hiệu suất thiết bịđược ổn định Tuy nhiên, đây là lý do khiến các thiết bị IoT dé bị tan công Nguyên
nhân là chúng ta thường sử dụng các phương pháp bảo mật yếu hoặc lược bỏ nhiều
tinh năng trong bảo mật thông tin trên các thiết bị này Cụ thé theo Jai Vijayan ở
trang web www.darkreading.com (12), các nhà sản xuất thiết bi IoT đã không tuân
theo những phương pháp tốt nhất về an toàn thông tin, khiến cho các thiết bị này
gặp phải một vấn dé liên quan đến bộ sinh số ngẫu nhiên Jai chi ra rằng đã có gần250,000 khóa RSA trong các thiết bị IoT bị phá vỡ do cùng sử dung một số nguyên
tố ngẫu nhiên trong quá trình sinh khóa, nhiều trong số các khóa trên thuộc về cácthiết bị quan trọng là router, modem, tường lửa và các thiết bị mạng khác
Ngày nay, các thiết bị IoT ngày càng trở nên phổ biến và dễ tiếp cận với mọi người.Một nghiên cứu ở trang web www.statista.com cho biết số lượng người sở hữu điệnthoại thông minh tăng nhanh chóng trong những năm trở lại đây; con số này vàonăm 2019 là khoảng 3.2 tỷ người và gấp khoảng 3 lần số liệu trong năm 2012
3
Trang 16Source Additional Information:
Newzoo Worldwide; Newzoo; 2016 to 2019
© Statista 2020
HÌNH 1.2: Sự phát triển về số lượng người sử dụng điện thoại thông minh từ
năm 2012 đến 2021 (theo Statista [23 (23}).
(hinh{1.2) Một nghiên cứu khác cũng chi ra rằng số lượng thiết bi lol dang được sử dụng đã đạt đến con số 22 tỷ thiết bị trong năm 2018 [21].
Một khi các kẻ tan công phát hiện lỗ hỏng bảo mật trên một loại thiết bi IoT, hàng
nghìn, thậm chí đến hàng triệu người sử dụng sẽ bị ảnh hưởng, gây ra những vấn
dé cực kỳ nghiêm trọng như mat/ro rỉ dữ liệu, hỏng thiết bị hay bị chiếm quyền
điều khiển Do đó dam bảo an toàn thông tin cho các thiết bị IoT cần được chú trọng nhiềuhon để giảm thiểu rủi ro cho người sử dung, đặc biệt khi ching dang ngay càng trở nên phổ
biến
Trang 17Data volume in zetabytes
Sources Additional Information:
2; Statista estimates Worldwide; 2010 to 2020
HINH 1.3: Sự gia tang của dữ liệu trên internet từ năm 2010 đến 2024 (theo
Statista E5).
1.1.2 Dữ liệu nhạy cam
Khi máy tính và mạng internet trở nên phổ biến với mọi người, số lượng dữ liệu màmáy tính phát sinh, thu thập, lưu trữ và trao đổi cũng ngày càng tăng lên Theo trang
web www.statista.com, tổng dữ liệu toàn cầu đã tăng gấp 20 lần trong 10 năm kể từ
năm 2010, đạt khoảng 41 zettabytes vào năm 2019 (xấp xỉ 41 nghìn tỉ gigabytes)
(hinh{1.3) Thêm vào đó, số lượng người dùng internet cũng da tang gần 2 ty người
trong cùng khoảng thời gian [22] (hình[1.4) Như một điều tat yếu, số lượng, chủng
loại, và phương pháp lưu trữ dữ liệu của người dùng cũng gia tăng nhanh chóng,
đặc biệt là các loại dữ liệu nhạy cảm.
Dữ liệu nhạy cảm là những thông tin cần được bảo vệ trước việc bị truy cập trái
phép (tạm dịch theo Upguard z7) Các dữ liệu nhạy cảm của người dùng có thể là
Trang 180
2016 2018
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2017 2019
Number of users in millions
Source Additional Information:
ITU Worldwide; ITU: 2005 to 2019
© Statista 2021
HÌNH 1.4: Sự gia tăng của số lượng người dùng internet từ năm 2005 đến 2019
(theo Statista E2).
dấu vân tay, bản ghi y khoa, hình ảnh riêng tư, tài khoản thư điện tử, số điện thoại,
tài liệu mật hay các đoạn trò chuyện Các dữ liệu này đã và đang xuất hiện ở mọi
nơi quanh ta, bao gồm trong các thành phần vật lý (như điện thoại, máy tính, giấy
tờ) hay các thành phần logic (như các loại phần mềm, dịch vụ đám mây, mạng máy
tính) Để đảm bảo an toàn trên mạng, người dùng cần có ý thức bảo vệ dit liệu củamình khỏi những kẻ đáng ngờ hay không tin cậy, nhất là đối với các dữ liệu nhạycảm Nếu dữ liệu nhạy cảm của một người bị tiết lộ, nó không những gây ra những
ảnh hưởng tiêu cực đến sinh hoạt trên mạng, mà còn có thé làm mat an toàn trongcuộc sống thực của người đó
Ví dụ 1: Một người bị lộ thông tin về email hay số điện thoại có thể thường xuyên
nhận được các thông tin quảng cáo, tiếp thị phiền phức
Trang 19Chương 1 TỔNG QUAN
Ví dụ 2: Lộ thông tin về số chứng minh nhân dân, dấu vân tay, hay các thông tingửi/ rút tiền ngân hàng có thể giúp cho kẻ xấu làm giả tài khoản ngân hàng điện tử
của nạn nhân thông qua các cuộc tan công phi kỹ thuật (social attack)
Ví dụ 3: Một số hình ảnh và video có thể tiết lộ quá trình sinh hoạt và địa chỉ cư trú
của chính người đó, tạo điều kiện cho kẻ trộm phân tích tình hình và đột nhập vàonhà của nạn nhân, gây mat an toàn cho tài sản và tính mạng của ho
Vi vay, bảo vé dữ liệu nhạy cảm là một nhu cầu cần thiết va ngàu càng cấp bách đối uớingười dùng, khi mà họ tiếp cận internet nhiều hơn trong tương lai
1.1.3 Sự phát triển và tính tin cậy của dịch vụ đám mây
The Cloud Market Keeps Moving Upwards
Cloud infrastructure services market revenue worldwide from Q1 2016-Q2 2019
@ O) @ * Statista estimates based on growth rate
@StatistaCharts Sources: Canalys, Statista estimates statista L
HÌNH 1.5: Sự phát triển của thị trường dịch vụ đám mây từ năm 2016 đến 2019
Trang 20Chương 1 TONG QUAN
Theo Mell va Grance (NIST) [16], điện toán đám mây là một mô hình được truy
cập thông qua mạng máy tính vào một nhóm tài nguyên dùng chung (như các tài
nguyên mạng, tài nguyên lưu trữ, máy chủ, các ứng dụng và dịch vụ), mô hình này
có thể được cung cấp và triển khai cho người dùng một cách nhanh chóng cùng với
việc tối thiểu hóa sự quản lý và tương tác với nhà cung cấp dịch vụ
Theo Samir Tout và cộng sự [26], các đám mây thường có 3 dịch vụ điển hình là:
¢ Đám mây lưu trữ (Storage Clouds): cung cap hệ thống lưu trữ thay thé cho lưu
trữ cục bộ.
¢ Dam mây xử lý (Processing Clouds): cung cấp các tài nguyên xử lý có khả năng
điều chỉnh quy mô với giả cả hợp lý để chạy các chương trình của khách hàng
s® Đám mây ứng dung (Application Clouds): cho phép một khách hàng có thé
tương tác với các dịch vụ có sẵn đã được cài đặt hoàn thiện trên một cơ sở hạ
tầng bên ngoài
Các ví dụ về những dịch vụ đám mây mà chúng ta được cung cấp là:
® Storage Clouds: dịch vụ sao lưu dự phòng, lưu trữ trực tuyến
® Processing Clouds: các loại may ảo phục vụ chạy máy chủ web, chạy các mô
hình huấn luyện trí tuệ nhân tạo
® Application Clouds: dịch vu thư điện tử, cơ sở hạ tầng mạng, các mạng xã hội,
ngân hàng điện tử.
Những năm gần đây, chúng ta đã được chứng kiến sự bùng nổ của các loại hình
dịch vụ đám mây, ở cả mức người dùng thông thường, người dùng công nghệ, hay
doanh nghiệp Ví dụ, cơ sở hạ tầng mạng của các doanh nghiệp trước đây đều đượcdat ở trung tâm dw liệu cục bộ của doanh nghiệp đó, nhưng hiện nay, nhiều doanhnghiệp thường xây dựng một phần hệ thống mạng của họ dựa trên các dịch vụ cósẵn của những nhà cung cấp dịch vụ đám mây Một ví dụ khác là các nghiên cứu
sinh về trí tuệ nhân tạo không cần thiết phải mua một máy tính đất đỏ để có thể
huấn luyện các mô hình trí tuệ nhân tạo của họ, thay vào đó, họ có thể thuê một
máy ảo với giá cả hợp lý và thông số phù hợp để thực hiện các nghiên cứu của mình
trên máy ảo đó Ngoài ra, rất nhiều người dùng điện thoại thông minh hiện nay đã
8
Trang 21Chương 1 TONG QUAN
và dang sử dung dịch vu sao lưu đám mây để có thể dam bảo sự an toàn cho dit liệucủa mình khi thiết bị gặp sự cố Theo trang web www.statista.com, tính đến giữa
năm 2019, thị trường dịch vụ đám mây đã tăng trưởng gap hơn 3 lần so với quý một
năm 2016 (hình[1.5)
Một vấn đề xảy ra với các dịch vụ đám mây là tính tin cậy của các nhà cung cấp dịch
vụ Dữ liệu bí mật và nhạy cảm của người dùng khi được tải lên cơ sở hạ tang của
dịch vụ đám mây có thể bị rò rỉ hay đánh cắp nếu tính bảo mật của hệ thống đámmây không đủ tốt, hay thậm chí là nhà cung cấp dịch vụ cô tình đánh cắp dữ liệungười dùng Một số nhà cung cấp dịch vụ đám mây chỉnh sửa dữ liệu của người
dùng với những mục dich ác ý, đặc biệt néu người dùng là doanh nghiệp với những
loại dữ liệu quan trọng và mang tính bí mật cao Hơn nữa, vì lý do tài chính, các
nhà cung cấp dịch vụ đám mây lưu trữ có thể xóa đi những dữ liệu không thường
xuyên sử dụng của người dùng để tiết kiệm không gian lưu trữ của họ
Vì những lý do trên, người dùng thường e ngại khi sử dụng dịch vụ đám mây của
các nhà cung cấp dịch vụ chưa có danh tiếng Độ tin cậy của nhà cung cấp có thểtăng lên theo thời gian hoạt động, tuy nhiên một số nhà cung cấp mới nổi sẽ không
thể có được điều này
Chúng ta cần một hệ thông lưu trữ giúp người dùng có thể an tâm sử dụng dịch vu đámmâu mà không cần quan tâm nhiều đến độ tin cậu của nhà cung cap dịch vu đó
1.1.4 Doi sánh mau và đôi sánh mau an toàn
Theo Tony Hak va Jan Dul [14], đôi sánh mẫu là nhiệm vu so sánh hai mẫu để xác định
chúng khớp hay không Đối sánh mẫu là quy trình cốt lõi của lý thuyết kiểm thử Việc kiểmthử bao gồm so khớp một “mẫu quan sát được” uới một “mẫu kỳ vong” va dua ra quyét địnhnhững mẫu nay có khớp nhau hay không khớp nhau.
Trong thực tế, đối sánh mẫu có vai trò cực kỳ quan trọng trong ngành công nghệthông tin, nó cần thiết cho nhiều nhiệm vụ không thể thiếu như kiểm thử, xác thực
người dùng, tìm kiếm, so sánh dit liệu Ví du, một ngân hàng có cung cấp ứng dụngngân hàng điện tử cho người dùng, họ có thể yêu cầu người dùng xác thực bằng
mật khẩu (đối sánh chuỗi) hoặc dấu vân tay (đối sánh hình ảnh) Trong một ví dụ
khác, người sử dụng đồng hồ thông minh thường có nhiều dữ liệu về sức khỏe của
mình trong đồng hồ được thu thập từ các cảm biến; các dữ liệu này có thể được đối
Trang 22Chương 1 TONG QUAN
sánh với các dữ liệu y khoa để chẩn đoán tinh trang sức khỏe của người dùng.
Hiện nay, với sự phát triển của dịch vụ đám mây (1.1.3), quá trình đối sánh mẫu
thường được thực hiện ở máy chủ từ xa Cùng với đó, nhiều mẫu của người dùng
thuộc về loại dữ liệu nhạy cảm Do đó, đối sánh mẫu an toàn thực sự can thiết để
bảo vệ thông tin người dùng trước các dịch vụ đám mây không tin cậy.
Chúng tôi định nghĩa đối sánh mẫu an toàn là việc thực hiện đối sánh mẫu trên cácmẫu thay thế của mẫu gốc, sao cho bên thực hiện đối sánh mẫu không thể học đượcthông tin gì từ mẫu gốc, nhưng vẫn không ảnh hưởng hoặc ảnh hưởng có thể chấp
nhận đến kết quả của phép đối sánh mẫu
Để tạo ra các mẫu thay thế, người ta thường mã hóa mẫu gốc bằng các thuật toán
mã hóa đồng hình Theo Xun Yi và cộng sự [29], mã hóa đồng hình là một thuật toán
mã hóa cho phép thực hiện một số loại phép toán nhất định trên các văn bản đã mã
hóa; kết quả của phép toán sau khi được giải mã sẽ trùng với kết quả của phép toán
được thực hiện trên văn bản gốc Nếu gọi x và là hai đữ liệu gốc, HE(.) là thuậttoán mã hóa đồng hình; ta có công thức g(HE(x), HE(y)) = HE(f(x,y)), trong đós(.) và ƒ(.) có thể là những hàm số bat kỳ Một nhược điểm của mã hóa đồng hình
là có độ phức tạp tính toán lớn vì nó là một phiên bản mở rộng của các thuật toán
mã hóa khóa công khai.
1.2 Giới thiệu bài toán
Đối sánh mẫu là một bài toán cơ bản và thiết yếu trong ngành khoa học máy tính
Nó có nhiều ứng dụng trong xác thực người dùng, tìm kiếm ảnh giống nhau, hayphát hiện đạo văn Như chúng ta có thể thấy từ các ví dụ trên, đối sánh mẫu thường
được thực hiện trên các dữ liệu nhạy cảm, chẳng hạn như mật khẩu, dấu vân tay,
hình ảnh riêng tư hoặc tài liệu cá nhân Những loại dữ liệu kể trên cần được bảo vệtrước các mục đích xấu của những kẻ tấn công, có thể là bị sử dụng cho các chiếndịch quảng cáo, tiếp thị, giả mạo danh tinh hay tống tién
Trong nhiều trường hợp, đối sánh mẫu cần được thực hiện bởi các bên thứ ba, ví
dụ là nhà cung cấp dịch vụ đám mây Khi nhà cung cấp dịch vụ không đáng tin,
chúng ta cần dam bảo rằng ho không học được bat kỳ thông tin gì từ những mẫu
10
Trang 23Chương 1 TONG QUAN
ma chúng ta cung cấp Hơn thé nữa, vì nhiều người cần lưu trữ di liệu của ho lâudài ở dịch vụ đám mây, ta cũng phải kiểm tra tính toàn vẹn của dữ liệu trước khi
thực hiện bài toán đối sánh mẫu; việc này có mục đích đảm bảo kết quả đối sánh
không bị sai lệch.
Ví dụ, có nhiều dịch vụ ứng dụng sử dụng dấu vân tay phục vụ cho xác minh người
dùng Ban đầu, bản gốc dấu vân tay của người dùng được ứng dụng thu lại và đặt
ở cơ sở đữ liệu của ứng dụng Khi một người dùng muốn xác thực, anh ta tải dauvân tay hiện tại của mình lên máy chủ và đợi kết quả đối sánh Người dùng không
muốn bắt cứ ai, kể cả chủ sở hữu ứng dụng, có thể thấy được các dấu vân tay này vì
tính nhạy cảm của nó Anh ta có thể gặp nhiều van dé phiền phức néu dau vân taycủa anh ta bị rò rỉ, việc này có thể bị gây ra bởi những kẻ tấn công hoặc thậm chí là
chủ sở hữu ứng dụng Mã hóa đữ liệu và đối sánh mẫu an toàn là những phươngpháp cần thiết để ngăn chặn vấn đề trên Ngoài ra, dâu vân tay gốc có thể bị hỏng
do nhiều tác nhân không thể lường trước và dẫn đến kết quả xác minh không cònđược chính xác Đó là lý do người dùng cần phải xác thực sự toàn ven của dấu vantay để đảm bảo sự an toàn cho tài khoản của họ
Trong nghiên cứu nay, chúng tôi dé xuất một giao thức đối sánh mẫu mà nó có thể
bảo vệ được tính bí mật và tính toàn vẹn của dữ liệu Thêm vào đó, các thuật toán
của chúng tôi sử dụng cũng được xem xét để đạt được tốc độ thực thi nhanh chóng
trên các thiết bị IoT Tuy nhiên, các thuật toán mã hóa với độ phức tap tính toán thấp
thường đi kèm với khả năng bảo mật kém Theo OWASP IcI 2018 [17], van dé vẻ
"lưu trữ và truyền dữ liệu không an toàn" nằm trong top 7 của bảng xếp hạng này,
chỉ ra tầm quan trọng của mã hóa dữ liệu trên các thiết bị IoT Hơn thế nữa, sự ra
đời của các máy tính lượng tử đã khiến nhiều loại mật mã và hàm băm có nguy cơ
bị phá vỡ Tuy nhiên, theo Mavroeidis và cộng sự [15], AES-256 va SHA-256 là một
trong số ít các thuật toán nhanh mà vẫn có thé đứng vững trước các cuộc tấn công
lượng tử Vì thế, chúng tôi quyết định sử dụng các thuật toán này để xây dựng giao
thức đối sánh mẫu an toàn trên thiết bị IoT mà chúng tôi sẽ dé xuất Thêm vào đó,
lây động lực từ công trình của Ateniese và cộng sự (61, chung tôi cũng xem xét tinh
toàn vẹn của đữ liệu trước khi thực hiện đối sánh mẫu an toàn nhằm tăng thêm độ
tin cậy của dịch vụ đám mây.
11
Trang 24Chương 1 TONG QUAN
1.3 Tinh ứng dung
Nghiên cứu của chúng tôi có thé được sử dung cho các ứng dung can đối sánh mẫu
an toàn để bảo vệ dữ liệu người dùng, chẳng hạn như xác thực người dùng bằng
dấu vân tay, kiểm tra hình ảnh chứng minh nhân dân/căn cước công dân, phát hiện
đạo văn hoặc phát hiện vi phạm bản quyền hình ảnh, âm thanh
Ngoài ra, dịch vụ đám mây lưu trữ an toàn cũng là một phần trong đề tài của chúng
tôi Các nhà cung cấp dịch vụ đám mây có thể sử dụng giải pháp này để tăng tính
tin cậy cho dịch vụ của họ.
Hơn thế nữa, các thuật toán trong nghiên cứu có độ phức tạp tính toán thấp và đã
được chứng minh là phù hợp với các thiết bị IơT Điều này giúp cho nó linh hoạt
trong quá trình triển khai ứng dụng trên nhiều loại thiết bị khác nhau
1.4 Nhung thách thức
Thời điểm hiện tại, đã có rất nhiều nghiên cứu về dịch vụ lưu trữ đám mây an toànhay đối sánh mẫu an toàn được công bố Tuy nhiên nghiên cứu của chúng tôi vẫngap rất nhiều van dé khó khăn như: tài nguyên của các thiết bị IoOT không đủ mạnh,
bắt buộc sử dụng các thuật toán mã hóa đơn giản, hay quá trình đối sánh mẫu phải
được thực hiện trên dữ liệu đã mã hóa Trong các thách thức trên, thách thức lớn
nhất đến từ tài nguyên của các thiết bị IoT
Phần lớn các thiết bị lol được thiết kế nhỏ gon, do đó lượng tài nguyên tính toán haylưu trữ của các thiết bị này thường không mạnh mẽ như máy tính thông thường Vìnguyên nhân này, chúng tôi không thể sử dụng mã hóa khóa công khai hay mã hóađồng hình để mã hóa dữ liệu Đây là các thuật toán mã hóa tiêu tốn rất nhiều tàinguyên tính toán và không thích hợp để cài đặt trên các thiết bị IoT
Một vấn dé khác là các thuật toán mã hóa khóa bí mật rất khó trong việc thiết lậpcác giao thức Đó là lý do khiến giao thức của chúng tôi vẫn chưa đạt được mức độ
an toàn cao.
12
Trang 25Chương 1 TONG QUAN
1.5 Mục tiêu, phạm vi và đóng góp cua nghiên cứu
1.5.1 Mục tiêu
Nghiên cứu của chúng tôi tập trung vào tìm kiếm một giao thức đối sánh mẫu antoàn trên dịch vụ đám mây Giao thức này cần đảm bảo được tính bí mật và tínhtoàn vẹn của các mẫu được lưu trữ ở dịch vụ đám mây Các phép toán cần có khảnăng thực hiện với chi phí thấp va chấp nhận được trên các thiết bị IoT
1.5.2 Phạm vi thực hiện
Chúng tôi nghiên cứu một giao thức đối sánh mẫu an toàn giữa hai thiết bị IoT với
một dịch vụ đám mây Giao thức này sử dụng mã hóa AES-256 với counter mode để bảo vệ tinh bí mật và hàm băm SHA-256 dé đảm bảo tính toàn ven của dữ liệu Thuậttoán đối sánh mẫu mà chúng tôi sử dụng được dựa trên toán tử XOR Trong nghiên
cứu này, thiết bị loT được sử dung trong thí nghiệm là Raspberry Pi 3, trong khi đó
dịch vụ đám mây được cài đặt trên máy tính cá nhân với hệ điều hành Microsoft
Windows 10 64-bit, CPU Intel core i5 Các thuật toán va mô hình trong chương trìnhgiả lập đều được viết bằng ngôn ngữ Python 3 Nghiên cứu này cũng phân tích,
chứng minh tính an toàn và thử nghiệm hiệu suất của mô hình trên thiết bị thật
Dữ liệu được sử dụng dé minh họa thuật toán đối sánh là tập dữ liệu hình ảnh dấu
vân tay SOCOFing [19] Chúng tôi cũng tu sinh ra một sO tệp tin ngẫu nhiên có kích
thước lớn để thử nghiệm hiệu suất của các mô hình và thuật toán được đề xuất
1.5.3 Dong gop
Chúng tôi tổng hop lai những đóng góp của nghiên cứu như sau:
s Xây dựng và triển khai một mô hình lưu trữ dữ liệu an toàn mà nó áp dụng
thuật toán kiểm tra tính toàn vẹn dữ liệu của Ateniese và cộng sự (61.
¢ Dé xuất và triển khai một giao thức đối sánh mẫu an toàn có độ phức tap tính
toán thấp, phù hợp với các thiết bị IoT Thuật toán này dựa trên toán tử XOR
và counter mode của mã hóa khối
13
Trang 26Chương 1 TONG QUAN
1.6
Xây dung một chương trình giả lập để thử nghiệm hiệu suất của các thuật toánđược đề xuất
Cấu trúc khóa luận tốt nghiệp
Qua những gì đã giới thiệu về tổng quan của đề tài thực hiện trong khoá luận tốtnghiệp, chúng tôi xin đưa ra nội dung của khoá luận tốt nghiệp sẽ được tổ chức như
sau:
Chương} Giới thiệu tổng quan vẻ khóa luận.
Chương|2‡ Trinh bay các công trình liên quan
Chương} Phát biểu bài toán, cơ sở lý thuyết, trình bày chỉ tiết hướng tiếp cận
của bài toán.
Chương|4} Chứng minh tính chính xác và an toàn của các mô hình dé xuất.
Chương]] Thực nghiệm và đánh giá kết quả của mô hình.
Chương|6} Kết luận dé tai.
14
Trang 272.1 Các nghiên cứu về đôi sánh mâu an toàn
Tony Hak và Jan Dul định nghĩa rằng "đối sánh mẫu là kỹ thuật được sử dung
để kiểm tra hai mẫu có "khớp" nhau hay không" Có hai loại đối sánh mẫu chính,
đó là đối sánh mẫu chính xác (exact pattern matching) và đối sánh mẫu tương tự(approximate pattern matching) Năm 2012, Baron và cộng sự đã công bố một bài
báo về đối sánh mẫu an toàn [7] mà chủ yếu giới thiệu về đối sánh chuỗi Đối sánh
chuỗi là một thuật toán đối sánh chính xác và có mục đích kiểm tra một chuỗi con
có xuất hiện trong văn bản hay không Thuật toán này được các tác giả gọi là 5PM
và được thực hiện giữa hai bên: một máy chủ không tin cậy và một máy khách Tại
thời điểm công bó, 5PM là thuật toán đầu tiên được thiết ké để tối ưu số bước traođổi trong giao thức đối sánh mẫu Nó chỉ yêu cầu hai bước cho môi trường bán tin
cậy và tám bước cho môi trường hoàn toàn không tin cậy Các tác giả đã trình bày
thuật toán đối sánh chuỗi của họ gồm các bước sau (chưa bao gồm mã hóa mẫu):
1 Đầu vào: Một bảng chữ cái alphabet >„ một đoạn văn bản T € X" có ø ký tự,
và một mẫu p € X" có 1 ký tự.
15
Trang 28Chương 2 NGHIÊN CUU LIEN QUAN
2 Khởi tao: Với mỗi ký tu trong ©, thuật toán tao ra một vector, gọi là Character
Delay Vector (CDV) Các vector này có kích thước bằng với kích thước của mẫu
p, tức là mm Ban đầu tất cả các phần tử của những vector này được khởi tạo bởi
0 Ví dụ, nếu mẫu là p = “TACT”, bang chữ cái gồm © = {A,C,G,T} CácCDV cần có là CDV(A), CDV(C), CDV(G), và CDV(T) Tất cả chúng đều được
khởi tạo là [0, 0,0,0].
3 Tiền xử lý mẫu: Với mỗi lần xuất hiện thứ r của ký tự p; (1 < i < m) trong
mẫu 7, ta gọi giá tri delay dj, là số lượng ký tự tính từ p; đến cuối mẫu, tức
độ, = mi Sau đó, phan tử thứ đ;, trong CDV(p;) được đặt là 1 Tiếp tục với
vi dụ trên (mau là "TACT"), ta có:
* CDV(A) = [0,0,1,0| bởi vì d1 = 4— 2= 2
s CDV(C) = [0,1,0,0] bởi vì đè = 4— 3 = 1
* CDV(G) = [0,0,0,0] bởi vì G không xuất hiện trong mẫu
* CDV(T) = [1,0,0,1] bởi vì đ} = 4— 1 = 3 và đ‡ = 4— 4= 0
4 Quá trình đối sánh: Thuật toán tạo một vector có phần tử gọi là Activation
Vector (AV) và các phần tử trong vector này được khởi tạo là 0 Với mỗi ký tựthứ ƒ (1 < j < n) trong T, gọi là T;, CDV(T;) sẽ được cộng (theo từng phần tử)
với các phan tử trong AV bat đầu từ j đến min(n, j + im — 1)
5 So sánh với kích thước mẫu: Để xác định mẫu có tổn tại trong văn bản hay
không, thuật toán sẽ kiểm tra điều kiện AV(j) = m (với j > m) Nếu điều kiện
trên đúng, thì mẫu p sẽ xuất hiện trong T ở vị trí j — ím + 1
Tiếp theo, họ chuyển thuật toán từ dạng "dé minh hoa" sang dạng chi sử dung các
phép toán đại số tuyến tính, nơi mà các phép toán trên ma trận được sử dụng thay
vì cách biểu diễn trực quan như đã trình bày Từ đó, các tác giả có thể sử dụng các
phép toán trong thuật toán mã hóa đồng hình lên dữ liệu một cách dé dàng, mà cụ
thể là thuật toán mã hóa ElGamma Tuy nhiên, điểm yếu của bài toán này là nó sửdụng mã hóa đồng hình không phù hợp với các thiết bị IơT Hơn thé nữa, các bướctrong thuật toán cũng quá phức tạp để biếu diễn khi không thể sử dụng các phéptoán đại số tuyến tính
16
Trang 29Chương 2 NGHIÊN CUU LIEN QUAN
Bên cạnh đối sánh chuỗi, đối sánh hình ảnh cũng là một trong những bai toán thú
vị của đối sánh mẫu mà nó thu hút rất nhiều sự quan tâm của các nhà khoa học
Năm 2016, Abduljabbar và cộng sự đã dé xuất bài báo nghiên cứu về đối sánh hình
ảnh an toàn "Towards Secure Private Image Matching" [2] Trong bai bao nay, ho giai
quyết bài toán được mô tả như sau:
* Alice và Bob là hai đối tượng không tin cậy lẫn nhau
¢ Bob sở hữu một tập các hình ảnh.
® Alice sở hữu một hình ảnh.
¢ Alice muốn kiểm tra trong tập hình ảnh của Bob có hình ảnh nào giống với
hình ảnh của Alice không?
© Điều kiện là cả Alice và Bob đều không được để lộ hình ảnh của mình cho đối
phương.
Trong khi nghiên cứu của Baron và cộng sự thuộc về loại đối sánh chính xác,nghiên cứu về đối sánh hình ảnh thuộc loại đối sánh tương tự Đối sánh tương tựmong muốn tính toán được một độ đo thể hiện mức độ giống nhau giữa hai mẫu,được gọi là mức độ tương đồng (similarity) Phép toán để đánh giá mức độ tươngđồng được các tác giả sử dụng trong bài báo là độ đo cosin Nó có tính chất: độ đocosin giữa 2 vector càng nhỏ, 2 vector càng "giống" nhau Ban dau, họ biến các hình
ảnh thành các vector đặc trưng thông qua các thuật toán trích xuất đặc trưng hình
ảnh (chang han SIFT, SURF) và áp dụng phép đo lên các vector đặc trưng đó Giống
với nghiên cứu của Baron và cộng sự (71, ho cũng chuyển các phép toán về dang
đại số tuyến tính Việc này có thể giúp ho dé dàng sử dung các phép toán trong mã
hóa đồng hình lên các vector đặc trưng Trong cùng năm đó, bài báo "SEPIM: Secureand Efficient Private Image Matching" [1] cũng đã được công bé bởi cùng các tác giả(Abduljabbar và cộng sự) Lần này Bob được giả định là sở hữu một lượng rất lớnhình ảnh trong cơ sở dữ liệu của anh ta Sẽ mat thời gian nếu áp dụng thuật toán
so khớp hình ảnh lên tat cả các dữ liệu của Bob Thay vào đó, họ dé xuất một mô
hình mà nó sử dụng thuật toán phân cụm K-means (K-means clustering) cùng với
cây chỉ mục (index tree) trên các vector đặc trưng đã được mã hóa để phân nhómcác hình ảnh trong tập dữ liệu của Bob Việc này có thể giảm đi đáng kể số lần thực
17
Trang 30Chương 2 NGHIÊN CUU LIEN QUAN
hiện thuật toán đối sánh Điều đặc biệt trong hai bai báo của các tác giả trên là họ
sử dụng các vector đặc trưng thay cho hình ảnh gốc, từ đó có thể giảm rất nhiều chi
phí tính toán do các vector đặc trưng có kích thước khá nhỏ Tuy nhiên, giải pháp
này khó có thể áp dụng lên các bài toán mà mẫu không phải là hình ảnh.
Mặc dù các thuật toán nêu trên cố gắng làm giảm thời gian đối sánh mẫu, nhưngchúng vẫn phải sử dụng các thuật toán mã hóa đồng hình có chỉ phí tính toán rất
lớn Những thuật toán này không thích hợp khi áp dụng lên các thiết bị IơT Tuynhiên họ vẫn cung cấp cho chúng tôi ý tưởng và động lực để thực hiện nghiên cứu
của mình.
2.2 Các nghiên cứu về đảm bao tính toàn ven của dữ
liệu đám mây
Vào năm 2007, Ateniese và cộng sự [5] đã đưa ra định nghĩa chính thức của mô hình
xác thực tính toàn vẹn của dữ liệu từ xa, được gọi là Provable of Data Possession hay
PDP Mô hình này yêu cầu máy chủ (bên lưu trữ dữ liệu) cung cấp các bằng chứng
về sự tồn tại của dữ liệu cho máy khách (chủ sở hữu dữ liệu) Máy khách cần sở hữu
một số thông tin nhằm xác thực lại các bằng chứng của máy chủ
Một điều đặc biệt là thuật toán của Ateniese và cộng sự là một thuật toán xác suất,tức là nó không đảm bảo chắc chắn về kết quả đầu ra Cụ thể, các tác giả không yêucầu bằng chứng của toàn bộ dữ liệu, thay vào đó họ chia dữ liệu thành nhiều khối
và máy chủ chỉ chứng minh sự toàn vẹn của các khối mà máy khách chọn Nếu các
khối đã chọn được chứng minh là toàn vẹn, thì khả năng cao là toàn bộ tệp tin cũng
toàn vẹn Ngược lại, nếu chỉ có một khối không còn toàn vẹn, điều này khẳng định
rằng tệp tin đã bị sửa đổi hoặc không còn tổn tại ở máy chủ Ưu điểm của các thuật
toán xác suất thường là có tốc độ vượt trội hơn so với thuật toán chính xác
Các tác giả xây dựng bài toán PDP tổng quát bao gồm một tập hợp 4 thuật toán sau
đây:
tTrong bài báo, các tác giả gọi cặp khóa của mã hóa khóa công khai là "public key/secret key" và
được chúng tôi dịch là "khóa công khai/khóa bí mật".
18
Trang 31Chương 2 NGHIÊN CUU LIEN QUAN
1 KeyGen(1*) —> (pk,sk) là một thuật toán sinh khóa được chạy bởi máy khách.
Nó nhận một tham số an toàn k làm đầu vào và tạo ra một cặp khóa công
khai/bí mật (pk, sk).
2 TagBlock(pk,sk,m) — Tm là một thuật toán được chạy bởi máy khách nhằm
sinh ra các thông tin xác thực Đầu vào của nó là khóa công khai pk, khóa bí
mật sk và một khối dữ liệu m Nó trả về kết quả là dữ liệu xác thực Ty, của khối
dữ liệu đó.
3 GenProof(pk, F, chal,>) + V được chạy bởi máy chủ để sinh ra bằng chứng của
việc sở hữu tệp tin Nó nhận đầu vào là khóa công khai pk, một tập hợp gồmnhiều khối dữ liệu F, một tham số thử thách chal và một tập hợp các dữ liệuxác thực 4 tương ứng với các khối dữ liệu trong F Thuật toán này trả về một
bằng chứng sở hữu V
4 CheckProof(pk,sk,chal, V) —> {success, failure} được chạy bởi máy khách để xác
thực bằng chứng sở hữu Nó nhận đầu vào là khóa công khai pk, khóa bí mật
sk, tham số thử thách chal và bang chứng sở hữu V Kết quả của thuật toán này
sẽ xác định V có phải là một bằng chứng đúng hay không
Mô hình mà các tác giả đề xuất được dựa trên mã hóa khóa công khai RSA và giả
định KEA-1 (Knowledge of Exponent Assumption) Tuy nhiên, vì sử dụng các thuật
toán mã hóa khóa công khai, nó rất khó để có thể áp dụng trên các thiết bị IoT
Sau một năm, Ateniese và cộng sự tiếp tục công bó thêm bài báo "Scalable and
Ef-ficient PDP" vào năm 2008 [6] Đây là một nghiên cứu về thuật toán PDP được kế
thừa và mở rộng từ nghiên cứu trước đó của họ [5] Mô hình này chỉ sử dụng mãhóa đối xứng và hàm băm mật mã thay cho mã hóa bất đối xứng, do đó có tốc độ
vượt trội hơn so với mô hình trước Chúng tôi nhận ra rằng giải pháp này rất phù
hợp với các mục tiêu và yêu cầu bài toán mà chúng tôi đặt ra, đó là sử dụng AES-256
và SHA-256 để bảo vệ dữ liệu Do đó, chúng tôi áp dụng phương pháp này để đảo
bam tính toàn vẹn dw liệu trong mô hình lưu trữ an toàn của chúng tôi.
Vào năm 2011, Jian Yang và cộng sự dé xuất một phương pháp mà có thể giảiquyết bài toán PDP trên các thiết bị di động Thành quả nghiên cứu của họ được
cải tiến từ các mô hình trước đó với cầu trúc Merkel Hash Tree, chữ ký số và ánh
xạ song tuyến (bilinear map) Một ưu điểm của mô hình này so với mô hình trước
19
Trang 32Chương 2 NGHIÊN CUU LIEN QUAN
đó là nó có thể truy vấn sự toàn vẹn của đữ liệu với số lần không giới hạn, điều
mà mô hình của Ateniese và cộng sự (6) không lam được Tuy nhiên trong mô
hình này, các thiết bị di động không thực sự thực hiện các nhiệm vụ tiêu tốn nhiềutài nguyên, chẳng hạn như mã hóa dữ liệu, xác thực dữ liệu và sinh siêu dữ liệu
Thay vào đó, những nhiệm vụ này được hỗ trợ thực hiện bởi một bên thứ ba (ThirdParty Agent - TPA) Hơn thế nữa, mô hình trong nghiên cứu của các tác giả yêu cầuthiết bị di động có hỗ trợ TPM (Trusted Platform Module) và bên thứ ba TPA cũngđược cho là tin cậy Đây là nguyên nhân khiến cho mô hình của họ khó để triển khai
2.3 Các thuật toán mat mã
Năm 2016, Chen và cộng sự đã chỉ ra rằng khi các máy tính lượng tử được phát
triển, chúng có thể phá vỡ nhiều hệ thống mã hóa khóa công khai Theo Mavroeidis
và cộng sự [15], các thuật toán mã hóa khóa công khai hiện tại đều dựa trên hai bài
toán chính, đó là phân tích thừa số nguyên tố và tính toán logarit rời rạc P.W Shor
đã dé xuất một thuật toán mà nó có thể giải quyết bài toán phân tích thừa số
nguyên tố với máy tính lượng tử Thuật toán của Shor còn có thể khiến nhiều loại
mã hóa dựa trên tính toán với số lớn không còn an toàn nữa Tuy nhiên, không chỉ
có mã hóa bắt đối xứng, mã hóa đối xứng và hàm băm mật mã vẫn chịu ảnh hưởng
bởi máy tính lượng tử Lov Grover đã tạo ra một thuật toán lượng tử có thể phá
mã thuật toán DES với khóa có độ dài 56 bit Trong bài báo của Mavroeidis và cộng
sự [15], cac tac gia cho biết các thuật toán AES vẫn được xem xét là một trong những
thuật toán mật mã có khả năng an toàn trước các cuộc tấn công lượng tử, tuy nhiênđiều này chỉ đúng nếu nó được sử dụng với khóa có độ dài 192 bit hoặc 256 bit.Brassard và cộng sự đã sử dụng thuật toán của Grover để tạo ra một cuộc tân
công birthday lượng tử chống lại các hàm băm mật mã có kích thước đầu ra ngắn
Tuy nhiên, SHA-2 (trong đó có SHA-256) và SHA-3 có kích thước đầu ra lớn hơn vẫncòn an toàn trước các cuộc tân công này
20
Trang 33Chương 3
BÀI TOÁN, CƠ SỞ LÝ THUYET,
PHƯƠNG PHAP DE XUẤT
Tóm tắt
Trong chương này, chúng tôi sẽ chính thức phát biểu bài toán đồng thời trình bàycác phương pháp đề xuất và cơ sở lý thuyết của chúng
3.1 Phát biểu bài toán
3.1.1 Cac đối tượng trong bài toán
Bài toán được cấu thành từ ba đối tượng, bao gồm hai máy khách (Alice, Bob) vàmột máy chủ (nhà cung cấp dịch vụ đám mây):
1 Máu khách-Alice va Bob: là những người sử dụng dịch vụ đám mây lưu trữ và
hoạt động trên các thiết bị IoI Họ thực hiện hai hành động chính đó là xác
thực tính toàn ven của di liệu và yêu cầu thực hiện đối sánh mẫu
2 Máu chủ-nhà cung cap dịch vu đám mâu: là một bên không tin cậy được chạy trên
một máy tính thông dụng và cung cấp dịch vụ đám mây lưu trữ an toàn choAlice và Bob Máy chủ còn cung cấp một dịch vụ khác là đối sánh mẫu theo
yêu cầu
21
Trang 34Chương 3 BÀI TOÁN, CO SO LY THUYET, PHƯƠNG PHAP ĐỀ XUẤT
3.12 Yêu cầu bảo mật
Chúng tôi dé ra các yêu cầu về bảo mật mà các đối tượng nêu trên cần phải tuân
theo:
© Máu khách-Alice va Bob: là người giữ khóa bí mật của riêng họ Nếu Alice tin
tưởng Bob, cô ay có thể chia sẻ khóa bí mật cho Bob Nhung Bob không đượcphép tải về dữ liệu của Alice cho dù có sở hữu khóa bí mật của cô ay
© Máu chỉ-nhà cung cấp dich vu đám mây: được giả định là HBC
(honest-but-curious) Điều này có nghĩa là nó tuân thủ đúng các bước đặt ra trong giaothức nhưng vẫn có thể cố gắng học tất các những gì có thể dựa trên các dữ liệu
mà nó nhận được Thêm vào đó, máy chủ được giả định là không được cấu kết
với một trong các máy khách (Alice hoặc Bob).
3.1.3 Mục tiêu
Các mục tiêu của bài toán bao gồm:
1. Chủ sở hữu dữ liệu có thể lưu trữ dữ liệu của họ trên dịch vụ đám mây mà
không tiết lộ thông tin về dữ liệu gốc cho nhà cung cấp dịch vụ
Dữ liệu trên dịch vụ đám mây cần toàn vẹn trước khi thực hiện đối sánh mẫu
Nhà cung cấp dich vụ thực hiện đối sánh mẫu trên các dữ liệu được lưu trữcủa chủ sở hữu dữ liệu mà không cần giải mã chúng
Các thuật toán và giao thức được thiết kế cần phù hợp với khả năng tính toán
trên các thiết bi IơT
3.2 Cơ sở lý thuyết
3.2.1 Ma hóa AES
AES là một thuật toán mã hóa khối, nghĩa là văn bản gốc được chia thành nhiều khối
và thuật toán mã hóa sẽ được thực hiện trên từng khối đó Mỗi khối trong thuật toán
22
Trang 35Chương 3 BÀI TOÁN, CO SO LY THUYET, PHƯƠNG PHAP ĐỀ XUẤT
AES có độ dài cố định là 128 bit hay 16 byte bat kể kích thước khóa AES-256 là thuật
toán mã hóa AES mà nó sử dụng khóa có độ dai 256 bit Với kích thước khóa đủ lớn,
AES-256 là một trong số các mật mã có thể chống lại được các cuộc tấn công lượng
tử [15]
AES là một thuật toán được xây dựng dựa trên phương pháp thay thế-hoán vị Trong
thuật toán, các khối dt liệu được biểu diễn như một ma trận có kích thước 4x4 Qua
trình mã hóa một khối được thực hiện trong nhiều chu trình và mỗi chu trình có mộtkhóa chu trình riêng Các khóa chu trình có kích thước cô định là 16 byte và được
tạo ra từ một khóa chính thông qua quá trình mở rộng khóa (KeyExpansion) Có bốn
bước chính trong mỗi chu trình mã hóa, bao gồm:
1 AddRoundKey: mỗi byte dữ liệu được kết hợp với một byte tương ứng của khóa
chu trình bằng toán tử XOR
2 SubBytes: thay thé mỗi byte trong dữ liệu bang một byte khác dựa trên bang
Cụ thể, một thuật toán AES có n chu trình được thực hiện như sau:
1 Khởi tạo: Thực hiện bước AddRoundKey với khóa chu trình khởi tạo Lưu ý rằng
một thuật toán AES n chu trình sé sinh ra # + 1 khóa chu trình, khóa chu trình
đầu tiên là khóa chu trình khởi tạo
2 Chu trình 1 đến n — 1:
(a) SubBytes (b) ShiftRows (c) MixColumns
(đ) AddRoundKey
23