Chươ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âu dà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 dau vâ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 tay củ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ương phá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 van tay để đả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.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.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àn hay đố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ẫn gap 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 hay lư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ài nguyê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ập cá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.5 Mục tiêu, phạm vi và đóng góp cua nghiên cứu 1.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 an toà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ính toà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.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ật toá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ình giả 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.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. TONG QUAN 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.6 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ốt nghiệ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 Chương 2 NGHIÊN CỨU LIÊN QUAN Tóm tắt Trong chương này chúng tôi trình bày về các nghiên cứu có liên quan đến đề tài của chúng tôi.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ự.
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ác CDV 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]. 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.