1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL

103 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Tác giả Pham Tran Tien Dat
Người hướng dẫn TS. Nguyen Ngoc Tu
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành An Toan Thong Tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Ho Chi Minh
Định dạng
Số trang 103
Dung lượng 28,99 MB

Cấu trúc

  • 1.5.1 Tínhmới của đềtài ..................cccccSV. 3 (16)
  • 1.52 Ý nghĩa thực tiễn của đềtài (17)
  • 2.1 Điều khiển truy cập dựa trên thuộc tính (0)
  • 2.2 Mã hóa dựa trên thuộctính (21)
    • 2.2.1 Ngữ cảnh và động lực nghiên cứu (21)
    • 2.2.2 Giới thiệu về mã hóa dựa trên thuộc tính (22)
    • 2.2.3 Phânloại........... 2Q eee 9 (22)
    • 2.2.4 Mộtsố tính năng hỗ trợ (24)
    • 2.2.5 Cơ sở toán học liên quan (25)
    • 2.2.6 Cấu trúc kiểm soát truy cập (27)
    • 2.2.7 Lược đồ chia sẻ bí mật tuyến tính (LSSS) (27)
  • 2.3 Một số lược đồ mã hóa và kiểm soát truy cập dựa trên thuộc tính (30)
    • 2.3.1 Lược đồ mã hóa ABE của Brent Waters (Watersll) (30)
    • 2.3.2. Lược đồ mã hóa ABE cải thiện hiệu suất tính toán (FAME) ... . 19 2.3.3. Lược đồ ma hoa ABE đa ủy quyền hỗ trợ thu hồi thuộc tính (MAABE) 24 2.4 Thực nghiệm các lược đồ và đánh gia. eee 34 (0)
    • 2.4.1 Môi trường thực nghiệm (47)
    • 2.4.2 Thựcnghiệm..................ẶẶ ẶẶ QẶ eee eee 35 (48)
  • 24.3 Đánh giákếtquả..................ốố SỐ. 38 (51)
  • 3.1 Mã hóa có thểtìm kiếm (0)
    • 3.1.1 Ngữ cảnh và động lực nghiên cứu (55)
    • 3.1.2 Giới thiệu về mã hóa có thể tìm kiếm (55)
    • 3.1.3. Mô hình và những yêu cầu bảo mật (56)
    • 3.1.4. Mã hóa có thể tìm kiếm với khóa đối xứng (SSE) (57)
  • 3.2 Một vai lược đồ tìm kiếm trên dữ liệu mã hóa (0)
    • 3.2.1 Lược đồ mã hóa SE của Curmola (58)
    • 3.2.2 Lược đồ mã hóa SE tối ưu kích thước truy vấn (64)
  • 3.3. Thực nghiệm các lược đồ và đánh gá _ đu (68)
    • 3.3.1 Môi trường thựcnghiệm (68)
    • 3.3.2 Thucnghiém ........ 2.0... 00.0200. 0 eee eee 55 (0)
    • 3.3.3 Đánh giákếtquả................ ee 58 (71)
  • 4.1 Phân tích và thiết kế hệthống (72)
  • 4.11 Ngữ cảnhhệthống (72)
    • 4.1.2 Môi trường triển khai (73)
  • 4.13 Môhìnhhệthống (73)
    • 4.1.5 Mô tả các kịch bản triển khai (76)
    • 4.1.6 Các thư viện hỗ trợ (78)
  • 4.2. Triển khai hệ thống trên hệ quản trị cơ sở dữ liệu SQL (80)
    • 4.2.1 Kịch ban 1. Mã hóa và giải mã dựa trên thuộc tinh (0)
    • 4.2.2 Kịch bản 2. Thu hồi thuộc tính người dùng (88)
    • 4.2.3 Kịch bản 3. Tìm kiếm dữ liệu trên bảnmã (0)

Nội dung

Dé giải quyết van dé quan trọng này trong lĩnh vực điện toán đám mây, tác giả nghiêncứu về hai kỹ thuật mã hóa đó là mã hóa dựa trên thuộc tính và mã hóa có thể tìm kiếm nhằm xây dựng mộ

Tínhmới của đềtài cccccSV 3

Xu hướng điện toán đám mây đang tăng tốc cùng với các công nghệ mới nổi như điện toán tiện ích, điện toán lưới và điện toán phân tán Điện toán đám mây đang cho thấy tiềm năng đáng ké trong việc cung cấp các tài nguyên linh hoạt, tiết kiệm chi phí và mạnh mẽ trên internet, đồng thời là động lực trong các công nghệ điện toán nồi bật nhất hiện nay Hơn nữa, điện toán đám mây đóng vai trò hang đầu trong cuộc cách mạng công nghệ lần thứ tư Mọi người đều sử dụng đám mây cuộc sống hàng ngày khi truy cap Dropbox, các dich vụ khác nhau của Google và Microsoft Office 365 [11]. Đám mây là một công nghệ trực tuyến quan trọng được sử dung trên toàn thé giới Ké từ cuộc khủng hoảng COVID-19, thị trường điện toán đám mây đã đi lên nhanh chong khi nói đến việc áp dụng, cơ sở hạ tầng, chỉ tiêu và phát triển đám mây Vào năm 2020, thị trường điện toán đảm mây toàn cầu được định giá 371,4 tỷ đô la và ước tính đến năm

2025, nó sẽ tăng lên mức 832,1 tỷ đô la [12] Với 94% tổng số doanh nghiệp sử dụng dich vụ đám mây dưới hình thức nay hay hình thức khác, có thé nói rằng điện toán đám mây vẫn tồn tại ở đây và sẽ còn lớn hơn nữa trong tương lai Đến năm 2025, sẽ có hơn

100 zettabyte dữ liệu được lưu trữ trên đám mây Trong cùng năm đó, tổng dung lượng lưu trữ đữ liệu toàn cầu sẽ vượt quá 200 zettabyte dữ liệu Nghĩa là khoảng một nửa trong số đó sẽ được lưu trữ trên đám mây [12].

Mặc dù vậy, những các vấn đề bảo mật như quyền riêng tư dữ liệu, bảo mật dữ liệu, kiểm soát truy cập, tắn công mạng và dữ liệu tính khả dụng, cùng với các vấn đề về hiệu suất và độ tin cậy vẫn còn tồn tại và trở thành một vấn đề đáng được quan tâm Các biện pháp bao mật và quyền riêng tư hiệu quả nên được các nhà cung cấp dịch vụ đám mây áp dụng Mã hóa là một phương pháp tiềm năng dé giải quyết van dé này.

Ý nghĩa thực tiễn của đềtài

Chúng ta đang sống trong thời đại số, sự phát triển của kỹ thuật số đã mở ra một kỷ nguyên mới cho khoa học công nghệ, là yếu tố đóng vai trò cốt lõi thúc đây Cách mạng công nghiệp 4.0, với những tác động vô cùng sâu rộng tới xã hội, làm thay đổi lối sống của con người Việc đảm bảo an toàn về dữ liệu trong các hệ thống lưu trữ nói chung và lưu trữ đám mây nói riêng sẽ mở ra con đường vô cùng rộng mở, ứng dụng được nhiều vào trong đời sống xã hội như: Y tế, giáo dục, kinh doanh, Đối với một doanh nghiệp hay một tô chức y tế, dữ liệu riêng tư của người dùng rất quan trọng Việc dam bảo an toàn cho những dữ liệu nhạy cảm của người dùng sẽ giúp cho khách hàng an tâm trong việc cung cấp những dữ liệu của họ Mã hóa và kiểm soát truy cập trên dữ liệu cũng như tìm kiếm trên bản mã có ứng dụng rất tiềm năng trong thực tế Ví dụ, trong hệ thống hồ sơ sức khỏe hệ thống cá nhân, bệnh nhân không phải mang theo các phiên bản giấy khác nhau của các mẫu xét nghiệm dé chân đoán theo cách truyền thống, mà họ có thể lưu trữ, truy xuất và chia sẻ hồ sơ sức khỏe chỉ bằng cách tải hồ sơ sức khỏe cá nhân của mình lên hệ thống PHR Bệnh nhân có toàn quyền kiểm soát tài liệu PHR của riêng mình và ủy quyền cho ai có thể truy cập những dữ liệu sức khỏe này, chẳng hạn như bạn bè, gia đình hoặc nhà cung cấp dịch vụ chăm sóc sức khỏe [13].

1.6 Cấu trúc Khóa luận tốt nghiệp

Ngoài phần mục lục, danh mục các từ viết tắt, danh mục hình ảnh và tài liệu tham khảo, khóa luận được bố cục thành 5 chương như sau:

Chương này sẽ đặt van dé, trình bày sơ lược về mục đích, đối tượng, phạm vi nghiên cứu và những đóng góp của đề tài.

Chương 2 Mã hóa và kiểm soát truy cập dựa trên thuộc tính

Trình bày và giải thích các cơ sở lý thuyết, định nghĩa về mã hóa dự trên thuộc tính và một số kiến thức toán học liên quan Tác giả tìm hiểu và trình bày một sé lược đồ mã hóa dựa trên thuộc tính bảo mật, hiệu quả.

Chương 3 Tìm kiếm dữ liệu trên bản mã

Chương này tập trung trình bày về định nghĩa, phân loại, các công trình mã hóa có thé tìm kiếm cũng như một số kiểu tan công phô biến đối với loại mã hóa này Một số lược đồ tìm kiếm trên dữ liệu mã hóa.

Chương 4 Thực nghiệm và đánh giá kết quả Ở chương này, tác giả tiến hành phân tích về môi trường thực nghiệm, ngữ cảnh hệ thống, mô hình hệ thống, mô tả các kịch bản, các thư viện hỗ trợ cho việc triển khai Qua đó, tác giả xây dựng một hệ thống nhỏ mô phỏng một bệnh viện với nhu cầu thuê ngoài máy chủ lưu trữ, triển khai các kịch bản nhằm bảo mật các dữ liệu nhạy cảm của bệnh nhân.

Chương 5 Kết luận và hướng phát triển

Tổng kết các nội dung đã nghiên cứu trong đề tài, phân tích những ưu điểm mà đề tài đã đạt được, nhận định những hạn chế còn tồn tại Từ đó dé xuất các hướng phát triển của dé tài có thé tiếp tục thực hiện trong tương lai.

CHƯƠNG2_ MÃ HÓA VÀ KIEM SOÁT TRUY CẬP DỰA TREN

2.1 Điều khiến truy cập dựa trên thuộc tính

Kiểm soát truy cập là vấn đề quan trọng và không thể thiếu trong bất cứ hệ thống nào Trong lĩnh vực công nghệ thông tin hiện đại, kiểm soát truy cập là khả năng của hệ thống để xác định xem người dùng có thể truy cập vào dữ liệu cụ thể được lưu giữ trong hệ thống máy tính và môi trường hoạt động của nó hay không Một hệ thống kiểm soát truy cập nhất thiết phải tương tác với môi trường mà hệ thống máy tính đang hoạt động

[2I- Điều khiển truy cập dựa trên thuộc tính (Attribute-Based Access Control - ABAC) là một mô hình logic điều khién truy cập vào các đối tượng bằng cách đánh giá các quy tắc dựa trên các thuộc tính của các đối tượng và chủ thể, các hoạt động và môi trường liên quan đến một ngữ cảnh yêu cầu cụ thể Nó cho phép kiểm soát truy cập chính xác hơn bằng cách cho phép số lượng lớn đầu vào rời rạc tham gia vào quá trình quyết định quyên truy cập, và do đó cung cấp một lượng lớn hơn các kết hợp có thê có của các thuộc tính dé phản anh một chính sách lớn hon rat nhiều so với các phương pháp khác Nó chỉ bị giới hạn ngôn bởi ngôn ngữ tính toán và sự phong phú của các thuộc tính có sẵn [14].

Moi yêu cầu truy cập sẽ có bốn yếu tố (chủ dé, tài nguyên, hành động và môi trường), trong đó:

* Chủ thể: là thực thé (chủ yếu là người ding) yêu cầu quyển truy cập.

* Tài nguyên: là thực thé được truy cập như tệp, bản ghi cơ sở dữ liệu,

* Hanh động: là thao tác được thực hiện trên tai nguyên như đọc, ghi, xóa

+ Bối cảnh: là bat kỳ thông tin nao liên quan đến bối cảnh truy cập có thể được sử dụng dé đưa ra quyết định truy cập như thời gian, mạng,

!https://www.axiomatics.com/intro-to-attribute-based-access-control-abac/

User Environment Information Asset vy Subject vy Environmental vy Resource and

Y attributes Attributes Action Attributes eee eee eee

Permit managers to ++ @ PERMIT provided that + > ẽf se or exe unless *** ®) DENY

Các quy tắc truy cập ABAC dựa trên mối quan hệ của các thuộc tính của phần tử hoặc thuộc tính của phần tử có các giá trị cụ thể ABAC cho phép xác định quy tắc truy cập với mức độ chỉ tiết và tốt hơn nhiều so với các mô hình khác như kiểm soát truy cập dựa trên vai trò (Role-Based Access Control - RBAC) hoặc danh sách điều khiển truy cập (Access-Control List - ACL).

Hau hết các doanh nghiệp ngày nay dang áp dụng các giải pháp quản ly định danh nhân viên, các thông tin về bộ phận làm việc, cấp bậc, chuyên môn đều được lưu trữ và quản lý tập trung trên các phần mềm nhân sự (hoặc các phần mềm tùy biến do doanh nghiệp thiết kế) [14] Điều quan trọng là làm sao tận dụng được các giải pháp này đề quản lý các nhóm nhằm hiện thực ABAC.

2.2 Mã hóa dựa trên thuộc tính

2.2.1 Ngữ cảnh và động lực nghiên cứu

Mã hóa khóa bí mật (mã hóa khóa đối xứng) cho phép người dùng chia sẻ 1 khóa bí mật trước khi mã hóa và giải mã dữ liệu Một vi dụ nồi bật về mã xóa đối xứng là AES, khuyết điểm của nó là người đùng phải biết khóa trước khi giao tiếp với nhau Điều này trở nên không thực tế với các hệ thống ngày nay Thách thức này được giải quyết bởi mã hóa khóa công khai.

Trong hệ thống mã hóa khóa công khai (mã hóa bat đối xứng), dir liệu được mã hóa sẽ là mục tiêu giải mã của các người dùng đã biết trước Họ có một cặp khóa gọi là khóa công khai (public key) và khóa riêng tư (private key) RSA là một vi dụ kinh điển của mã hóa khóa công khai Loại mã hóa này có ý nghĩa rất lớn trong ứng dụng vào việc gửi nhận mail, khởi tạo kết nối an toàn tới một web server Giả sử có một người muốn chia sẻ dữ liệu dựa trên credentials hoặc vai trò của họ trong hệ thống Họ muốn mã hóa dữ liệu với chính sách ("ENGINEER"AND "LEVEL 5"SCCESS") OR "AUDITING

DIVISION" Sử dụng kĩ thuật mã hóa truyền thống thì người dùng cần phải tra cứu, liệt kê và mã hóa cho tất cả các người dùng thỏa mãn chính sách này (ngày nay, chúng ta sử dụng RSA đề mã hóa khóa của AES, gửi tới người dùng và họ giải mã bằng chính khóa AES đó) Một người dùng có thể thay đổi vai trò và trách nhiệm thường xuyên nên cách làm này gặp một số trở ngại:

* Việc tạo một cơ sở dit liệu liệt kê tất cả các người dùng khớp với một chính sách nhất định là một công việc rất khó khăn Cơ sở đữ liệu này phải liên tục cập nhật để có thé mã hóa và người dùng phải duy trì được kết nối.

+ Nếu một vài người dùng khớp với một chính sách, chúng ta phải mã hóa đữ liệu đến từng cá nhân họ Thời gian mã hóa và kích thước bản mã chiếm không gian lưu trữ và chi phí băng thông, sẽ tăng nhanh.

Mã hóa dựa trên thuộctính

Ngữ cảnh và động lực nghiên cứu

Mã hóa khóa bí mật (mã hóa khóa đối xứng) cho phép người dùng chia sẻ 1 khóa bí mật trước khi mã hóa và giải mã dữ liệu Một vi dụ nồi bật về mã xóa đối xứng là AES, khuyết điểm của nó là người đùng phải biết khóa trước khi giao tiếp với nhau Điều này trở nên không thực tế với các hệ thống ngày nay Thách thức này được giải quyết bởi mã hóa khóa công khai.

Trong hệ thống mã hóa khóa công khai (mã hóa bat đối xứng), dir liệu được mã hóa sẽ là mục tiêu giải mã của các người dùng đã biết trước Họ có một cặp khóa gọi là khóa công khai (public key) và khóa riêng tư (private key) RSA là một vi dụ kinh điển của mã hóa khóa công khai Loại mã hóa này có ý nghĩa rất lớn trong ứng dụng vào việc gửi nhận mail, khởi tạo kết nối an toàn tới một web server Giả sử có một người muốn chia sẻ dữ liệu dựa trên credentials hoặc vai trò của họ trong hệ thống Họ muốn mã hóa dữ liệu với chính sách ("ENGINEER"AND "LEVEL 5"SCCESS") OR "AUDITING

DIVISION" Sử dụng kĩ thuật mã hóa truyền thống thì người dùng cần phải tra cứu, liệt kê và mã hóa cho tất cả các người dùng thỏa mãn chính sách này (ngày nay, chúng ta sử dụng RSA đề mã hóa khóa của AES, gửi tới người dùng và họ giải mã bằng chính khóa AES đó) Một người dùng có thể thay đổi vai trò và trách nhiệm thường xuyên nên cách làm này gặp một số trở ngại:

* Việc tạo một cơ sở dit liệu liệt kê tất cả các người dùng khớp với một chính sách nhất định là một công việc rất khó khăn Cơ sở đữ liệu này phải liên tục cập nhật để có thé mã hóa và người dùng phải duy trì được kết nối.

+ Nếu một vài người dùng khớp với một chính sách, chúng ta phải mã hóa đữ liệu đến từng cá nhân họ Thời gian mã hóa và kích thước bản mã chiếm không gian lưu trữ và chi phí băng thông, sẽ tăng nhanh.

+ Phương pháp nay không hoạt động tốt trong trường hợp thêm người dùng mới vào chính sách, khi đó thì người này có thể truy cập được các dữ liệu có sẵn trước đó.

Mã hóa dựa trên thuộc tính (ABE) là một loại mã hóa khóa công khai có thể giải quyết các trở ngại này, trong đó khóa bí mật của người dùng và bản mã phụ thuộc vào các thuộc tính [15].

Giới thiệu về mã hóa dựa trên thuộc tính

Khái niệm mã hóa dựa trên thuộc tính lần đầu tiên được đề xuất bởi Amit Sahai và

Brent Waters Trong ABE, một tập hợp các thuộc tính mô tả được sử dụng làm danh tính dé tạo khóa bí mật, cũng như cấu trúc truy cập thực hiện kiểm soát truy cập Nó kết hợp thành công Mã hóa và Kiểm soát truy cập thành một so dé và lý tưởng dé chia sẻ bí mật giữa các nhóm.

Năm 1984, Shamir giới thiệu một lược đồ mật mã được gọi là Mã hóa dựa trên danh tính (Identity-Based Encryption - IBE) [16], cho phép bat kỳ cặp người ding nào giao tiếp an toàn mà không cần trao đổi khóa công khai hoặc khóa cá nhân Trong lược đồ IBE, chủ sở hữu di liệu có thể mã hóa tin nhắn dựa trên danh tính duy nhất của người nhận chang hạn như dia chi IP, sau đó chỉ người dùng có danh tính tương ứng mới có thể giải mã tin nhắn bằng cách sử dụng danh tính làm khóa [1 5] Nếu không có trao đổi khóa, rủi ro lộ khóa sẽ giảm thiéu.

Sahai và Waters đã trình bày lược đồ Mã hóa dựa trên thuộc tính (ABE) đầu tiên [17] sử dụng IBE và ý tưởng chia sẻ bí mật để xây dựng kiểm soát truy cập ngưỡng ABE kết hợp thành công mã hóa và kiểm soát truy cập với nhau Bằng cách tận dụng các thuộc tính làm thành phần mã hóa, ABE cũng giúp giảm bớt vấn đề quản lý khóa Sau đó, một lược đồ ABE kiểm soát truy cập chỉ tiết được đề xuất bởi Goyal et al [18] và Bethencourt et al [5] nâng cao hơn nữa tinh thực tiễn của ABE ABE hiện hỗ trợ nhiều tính năng quan trọng đối với hệ thống mật mã được sử dụng trong môi trường đám mây, chẳng hạn như quyền phân cấp, trách nhiệm giải trình và thu hồi hiệu quả.

Phânloại 2Q eee 9

Chủ yếu có hai loại lược đồ mã hóa dựa trên thuộc tính: mã hóa dựa trên thuộc tính chính sách khóa (KP-ABE) va mã hóa dựa trên thuộc tính chính sách bản mã (CP-ABE).

Key-Policy ABE Trong hệ thống KP-ABE, các chính sách truy cập được liên kết với người dùng (nghĩa là khóa riêng của họ) và các thuộc tính được liên kết với bản mã. Người dùng có thé giải mã ban mã khi và chỉ khi các thuộc tính của bản mã đáp ứng chính sách (khóa riêng tư) của họ.

Ciphertext-Policy ABE Trong hệ thống CP-ABE, các thuộc tính được liên kết với khóa riêng của người đùng và các chính sách truy cập được liên kết với bản mã Người dùng có thể giải mã bản mã nếu và chỉ khi các thuộc tính của họ đáp ứng chính sách.

Nhược điểm của nó là người mã hóa không kiểm soát được ai có quyền truy cập vào dir liệu mã hóa, mà chức năng này trao cho một bên thứ ba và bên mã hóa phải tin tưởng rằng họ sẽ cấp khóa cho người dùng phù hợp.

Ngoài ra còn một loại lược đồ khác mở rộng từ CP-ABE đó là mã hóa đa ủy quyền (Multiauthority ABE - MAABE) Hệ thống MAABE là một hệ thống CP-ABE có thé hỗ trợ nhiều cơ quan độc lập Có nghĩa là, nhiều cơ quan có thâm quyền khác nhau có thể cấp cho người dùng khóa riêng dựa trên bộ thuộc tinh của riêng họ và bat kỳ ai cũng có thể mã hóa dữ liệu bằng cách sử dụng các chính sách trên thuộc tính từ nhiều cơ quan khác nhau Khả năng hỗ trợ nhiều cơ quan chức năng cho phép kiểm soát cục bộ trong

?Lee, J., Oh, S., Jang, J W (2015) A Work in Progress: Context based encryption scheme for Internet of Things Procedia Computer Science, 56, 271-275.

Hinh 2.3: Ciphertext-Policy ABE một tổ chức lớn (vi dụ: mỗi bộ phận của tổ chức có thé chứng nhận các thuộc tính riêng của mình) và giúp chia sẻ thông tin qua các ranh giới tin cậy dễ dàng hơn.

Mộtsố tính năng hỗ trợ

Là một hệ thống mã hóa, ABE phải đáp ứng yêu cầu bảo mật dữ liệu Vì ABE cũng được tích hợp tính năng kiểm soát truy cập, nên việc xác thực và thu hồi của người dùng phải được đáp ứng [15] Đặc biệt, tat cả hệ thống ABE phải chống lại cuộc tấn công thông đồng dé ngăn người dùng cộng tác đề truy cập thông tin trái phép Dựa trên những điều kiện tiên quyết đó, mỗi loại hệ thống ABE cung cấp các tính năng khác nhau, và các tính năng đó tạo nên đặc điểm của mỗi hệ thống Một số tính năng đã được nghiên cứu và triển khai trên các lược đồ mã hóa dựa trên thuộc tính như:

+ Kiểm soát truy cập chỉ tiết: Sử dụng biéu thức logic kết hợp với các toán tử AND, 0R đề xây dựng cấu trúc truy cập nhằm đạt được kiểm soát truy cập chỉ tiết.

+ Kha năng mở rộng: Người dùng hoặc nhóm có thể tham gia hoặc rời khỏi hệ thong một cách tự do mà không cần đặt lại hoặc khởi động lại toàn bộ hệ thống.

+ Ủy quyền khóa: Người dùng có thé ủy quyền quyền truy cập hoặc khóa cho người khác.

* Thu hồi hiệu quả: Khi việc thu hồi xảy ra, không cần phải mã hóa lại toàn bộ gây tốn kém chỉ phí cho hệ thống.

+ Bảo vệ quyền riêng tư: Trong các lược đồ đa ủy quyên, nhiều cơ quan ủy quyền hợp tác và thu thập thuộc tính người dùng để mạo danh người đó Điều này nhông áp dụng được trong lược đồ ủy quyền tập trung vi ủy quyền tập trung phải biết toàn bộ thuộc tính mà người dùng sở hữu.

* Trach nhiệm giải trình: Người dùng không cần phải hoàn toàn tin tưởng vào các

Cơ sở toán học liên quan

Ánh xạ song tuyến tính trong mật mã Sau khi Shamir phát minh ra hệ thống IBE vào năm 1985 [16], việc tạo ra khóa của hệ thống IBE vẫn là một vấn đề khó khăn Bài báo chỉ ra rằng không có hệ thống mật mã hiện có nào, bao gồm cả giao thức RSA và Diffie-Hellman có thé dé dàng chuyển đôi thành hệ thông IBE Mặc dù một số phương pháp tiếp cận mới đã được đề xuất, các vấn đề thực tế đặc biệt là các yêu cầu về tính toán vẫn là một điểm hạn chế đáng kể Một bước đột pha đã xảy ra vào năm 2001 khi ánh xạ song tuyến được phát hiện So với các phương pháp tiếp cận trước đó, ánh xạ song tuyến hiệu quả trong việc tạo khóa (theo thời gian đa thức), chính xác và an toàn [15].

Cho Gì, G, và Gr là các nhóm nhân tuần hoàn bậc nguyên tố p Cho g; và g là các phan tử sinh của G, và Gp, hàm ánh xạ e : Gị x G; + Gr được gọi là ánh xa song tuyến tính và có những đặc điểm:

1 Song tuyến tớnh: Với a,b € Zp, ta cú e(g?,ứ3) = e(ứi,g›)“° Gi và Gy được gọi là nhóm nguồn, Gr là nhóm đích.

2 Khụng thoỏi húa: Nếu g; và g là cỏc phan tử sinh của GĂ và G; thỡ e(ứĂ, g›) là phần tử sinh của Gr.

3 Tớnh hiệu quả: Khi cho ứ € GĂ và g; € G; cú thộ dộ dang tinh toỏn một cỏch hiệu quả e(gi, g2). Ánh xạ song tuyến dap ứng ba đặc tinh nay được sử dung trong các hệ thống IBE va

ABE Thông thường, G, và G; là các đường cong elliptic được xác định trên trường hữu hạn F,, và Gr nằm trên trường hữu hạn.

Dựa vào mối quan hệ giữa G, và G2, người ta chia ánh xạ song tuyến tính làm ba loại

+ Loại 2: Gỡ 4 G; (nhưng cú một phộp đồng cõu cú thộ tớnh toỏn hiệu quả ứ : G; >

* Loại 3: G, 4 Gp (không tồn tại phép đồng cấu có thé tính toán hiệu quả nào giữa

Theo [19], loại 3 phù hợp hơn nhiều trong ứng dụng thực tế vi nó có thể cung cấp hiệu suất tốt hơn và tính linh hoạt hơn so với các loại khác ở cùng mức độ bảo mật Ánh xạ tuyến tính Loại 2 là khi có sự đồng cấu có thé tính toán hiệu qua từ G; đến G, và không có sự đồng cấu có thé tính toán hiệu quả từ G¡ đến G; Sự phân biệt thành các loại này có liên quan đến việc thiết kế các lược đồ mật mã. Đường cong Elliptic Mật mã đường cong Elliptic (ECC) là một trong những loại mật mã mạnh nhất hiện nay Nó được giới thiệu lần đầu vào năm 1991 bởi các công trình nghiên cứu độc lập của Neals Koblitz va Victor Miller Độ an toàn của ECC dựa vào bai toán logarit rời rac trên nhóm các điểm của đường cong elliptic (ECDLP) Đối với bai toán logarit rời rac trên trường hữu hạn hoặc bài toán phân tích SỐ, tồn tại các thuật toán dưới dạng dạng hàm mũ để giải các bài toán này Tuy nhiên, đối với bài toán ECDLP cho đến nay vẫn chưa tìm được thuật toán dưới hàm mũ dé giải [20].

ECC thuộc loại mã hóa khóa công khai, tức là sẽ có 2 khóa khác nhau cho 2 quá trình giải mã - mã hóa Bởi ai cũng có khả năng tiếp cận được khoá công khai, nên hệ mật phải có độ khó tính toán cao dé ngăn cản việc tìm ra khóa bí mật từ khóa công khai Tính bảo mật của ECC dựa trên độ phức tạp của bài toán Logarit rời rạc trên đường cong Elliptic.

Hiện chưa thuật toán nào có khả năng tính toán với thời gian nhỏ hơn cấp lũy thừa.

Như đã trình bày ở phần trên, G¡ va Gp là các đường cong elliptic được xác định trên trường hữu hạn Fạ, và Gr nằm trên trường hữu hạn Trong Khóa luận này, tác giả lựa chọn hai đường cong dé thực nghiệm là MNT224 và SS512 Trong đó MNT224 là đường cong bat đối xứng với 224 bit G, và SS512 là đường cong đối xứng với 512 bit Gị.

Cấu trúc kiểm soát truy cập

Cho {Pi,P;, ,P„} là một tập của các bên Một tập hợp A C_2P››-››} là đơn điệu nếu VB,C sao cho nếu B € A và B C C thì C € A Một cấu trúc truy cập (đơn điệu) là một tập A của tập hợp con không phải là tập rỗng của {P\,P;, , P„} Tức là

A C2tP°P›: ?} \ {2} Những tập có trong A được gọi là những tập ủy quyền, những tập không nằm trong A được gọi là những tập không được ủy quyên.

Trong bối cảnh trong các lược đồ mã hóa dựa trên thuộc tính mà tác giả giới thiệu ở những phần sau, vai trò của các bên được thể hiện bởi các thuộc tính Do đó, cấu trúc truy cập A sẽ chứa các tập thuộc tính được ủy quyên.

Lược đồ chia sẻ bí mật tuyến tính (LSSS)

Một lược đồ chia sẻ bí mật IT trên một tập các bên P được gọi là tuyến tính (trên Zp) nếu:

1 Phần chia sẻ của mỗi bên tạo thành một vector.

2 Tén tại một ma trận M với ¡ dòng và n cột được gọi là ma trận sinh chia sẻ cho I.

Với tất cả các giá trị ¡ =1, ,1, dòng thứ i của ma trận M ta có hàm p định nghĩa bên tương ứng với dòng thứ i là p(i) Xét vector cột v = (s,r;, , r„) VỚI s € Zp) = là bí mật chia sẻ, r›, ,r„ được chọn ngẫu nhiên Khi đó tích AM - v là vector của ¡ chia sẻ của bi mật s dựa vào IT Chia sẻ (M - v); thuộc về bên p(i).

Mọi lược đồ chia sẻ bí mật tuyến tính theo như định nghĩa trên cũng đều có đặc tính tái tạo tuyến tinh [21] Giả sử IT là một LSSS của cấu trúc truy cập A Cho S € A là một tập ủy quyền bất kì, cho C {1,2, ,!} được định nghĩa I = {i : p(i) € S$} Khi đó, cho {w; € Zp}icr là tập hằng số sao cho nếu {A;} là những chia sẻ hợp lệ của bí mật s dựa vào

Người ta quy ước rang vectơ (1,0,0, , 0) là vectơ “dich” cho LSSS Đối với bat ky tập hợp thỏa mãn nao của các dong I trong M, chúng ta sẽ có vecto đích nằm trong khoảng của I Đối với bat kỳ tập không ủy quyền nào, vecto đích không nằm trong khoảng của cỏc hàng thuộc tập I Hơn nữa, sẽ tồn tại một vectơ w sao cho ứ - (1,0,0, ,0) = 1.

Chuyển biểu thức logic về LSSS

Lewko va Waters [22] giới thiệu một thuật toán nhằm chuyên biéu thức logic về lược dé chia sé bí mật tuyến tính.

Giả sử biểu thức logic là một cây truy cập trong đó các nút bên trong là các công

AND và OR, các nút lá tương ứng với các thuộc tính Vector (1,0,0, , 0) là vector chia sẻ của ma trận LSSS Tại nút gốc của cây, gán cho nó vector (1) (là một vector có kích thước bằng 1) Sau đó lần lượt đi xuống các bậc khác, gán cho mỗi nút một vector có giá trị bằng vector của nút cha của nó Khởi tạo một biến đếm c = 1 tại nút gốc.

* Nếu nút cha là cổng OR và được gan giá tri là vector v thì những nút con của nó cũng được gán bằng +, biến đếm c được giữ nguyên.

+ Nếu nút cha là cổng AND và được gan giá trị là vector v thì thêm vào những giá trị 0 vào cuối vector v sao cho kích thước của v bằng với c Tiếp theo đó, gan cho một trong những nút con của nó vector (v|1) và những nút còn lại là (0, ,0)| — 1 với (0, ,0) là vector 0 có kích thước là c Chú ý rằng tổng hai vector phải bằng (v|0) Tăng biến đếm c thêm một đơn vị.

Khi gán hết toàn bộ cây truy cập, những vector của những nút lá tạo nên những dòng của ma trận LSSS Nếu những vector có kích thước khác nhau thì cần chèn thêm giá trị

0 dé kích thước của chúng bằng nhau.

Vi dụ xét biểu thức (A AND (B AND (C OR D))) Ta có cây truy cập như hình 2.5.

Hình 2.5: Ví dụ về chuyển biểu thức logic về ma trận LSSS Đầu tiên tại nút gốc là cong AND, gan c = 1 và vector v = (1) Đi xuống bậc tiếp theo có một nút lá A và một công AND Vì nút cha là nút AND (nút gốc) nên tăng c lên 1. Xét một nút bat kì (6 đây chọn công AND) và gan cho nó (v, 1) = (1,1) Nút con còn lại (là nút lá A) gan (0, —1) dé cho tổng hai nút nay bằng (1,0) Tiếp tục xuống bậc kế tiếp, vì nút cha là nút AND nên tăng c lên bang 3 Tiếp tục xét một nút con bat kì (cổng OR) và gan (v,1) = (1,1,1), nút con còn lại là (0,0, —1) Tiếp tục, vì đây là nút OR nên giữ nguyên c, gan giá trị cho hai nut con bang giá trị của nút cha là (1, 1, 1).

Khi đã hết cây truy cập, những vector của những nút lá tạo nên những dòng của ma trận LSSS Tức là:

Một số lược đồ mã hóa và kiểm soát truy cập dựa trên thuộc tính

Lược đồ mã hóa ABE của Brent Waters (Watersll)

Từ khi ra đời, những lược đồ đầu tiên đã gặp phải những vấn đề khác nhau như bị giới han trong việc xử lý các phép toán [18], số lượng các thuộc tinh trong hệ thống bi giới hạn, độ phức tạp khi mã hóa và giải mã, tính bảo mật chưa cao [5], Từ đó, Waters đã giới thiệu một lược đồ mã hóa dựa trên chính sách bản mã đơn giản, hiệu quả và bảo mật để khắc phục những nhược điểm ấy [23].

Tính hiệu quả Lược dé này giúp tăng khả năng kiểm soát truy cập bằng ma trận LSSS trên các thuộc tinh trong hệ thống Các cấu trúc được sử dụng trước đây như biểu thức logic hay cấu trúc cây có thé được dién đạt ngắn gọn dưới dạng LSSS LSSS không làm mat đi tính hiệu quả mà trở nên tổng quát hon, trái ngược với các mô tả cấu trúc truy cập cây được sử dụng trước đây.

Tinh bảo mật Trong hệ thống này, bản mã phân phối số mũ bí mật s cho các thuộc tính khác nhau theo ma trận LSSS của cấu trúc truy cập Khóa riêng tư của người dùng được liên kết với một tập hợp các thuộc tính § và người dùng sẽ có thé giải mã một bản mã nếu đáp ứng ma trận truy cập được liên kết với bản mã Như trong các hệ thống ABE trước đây, thách thức chính là ngăn người dùng thực hiện các cuộc tan công thông đồng Lược đồ đã ngăn chặn điều này bằng cách tạo ngẫu nhiên mỗi khóa bằng một sé mũ t mới được chọn Trong quá trình giải mã, mỗi chia sẻ sẽ được nhân với hệ số t trong số mũ Về mặt trực quan, yếu tố này sẽ liên kết các thành phần trong khóa của một người dùng với nhau dé chúng không thé được kết hợp với các thành phần khóa của người dùng khác.

Thuật toán Gồm 4 thuật toán chính: Khởi tạo (Setup), Sinh khóa (Key Generation),

Mã hóa (Encrypt), Giải mã (Decrypt).

Setup(U) —> PK, MSK: Thuật toán nhận giá trị đầu vào là số lượng các thuộc tính trong hệ thống U Giá trị đầu ra là tham số công khai PK và khóa chủ MSK.

Thuật toán chọn một nhóm G bậc nguyên tố Pp, một phần tử sinh g và U phần tử ngẫu nhiên My, hạ, , hụ € G liên kết với U thuộc tính trong hệ thống Chọn thêm số mũ a,a € Zp Sau đó tính khóa chủ là MSK = g* Tham số công khai PK được tính:

Algorithm 1 Thuật toán khởi tao

Input: U a,a € Zp l e là hàm ánh xạ song tuyên tính g.hị,hạ, ,hụ EG

Encrypt(PK, (M, p),.M) — CT: Thuật toán nhận gia trị đầu vào là tham số công khai

PK và thông điệp M để mã hóa Thêm vào đó, nó còn nhận thêm một cấu trúc truy cập LSSS (M, p) Hàm p liên kết các dòng của M với các thuộc tính.

Cho M là một ma trận / x ứ Thuật toỏn đầu tiờn sẽ chọn một vector ngẫu nhiờn v=(sy›, ,yu) € Z7 Những giá trị này được dùng đề chia sẻ số mũ s Với i chạy từ

1 đến I, tính A; = v- M; với M; là vector tương ứng với dòng thứ i của M Thêm vào đó, thuật toán sẽ chọn thêm các SỐ ngẫu nhiên ?ị,rạ, ,r„ € Zp.

Algorithm 2 Thuật toán mã hóa

2: Tị,Fy, , Tn, Š,ÿ2; J3, -›ÿn © Zp

6: forl SK: Thuật toán nhận giá tri đầu vào là khóa chủ bí mật MSK và tập thuộc tính của người dùng S Chọn một giá trị £ € Z„ Khóa bí mật được tính:

Algorithm 3 Thuật toán sinh khóa

Ky = hỆ > hy, © PK end for

Decrypt(CT, SK) —› M: Thuật toán giải mã nhận giá trị đầu vào là bản ma CT chứa cấu trúc truy cập (M, p) và khóa riêng của người dùng SK chứa tập thuộc tính S Giả sử S thỏa mãn cấu trúc truy cập và cho I C {1,2, ,1} được định nghĩa I = {¡ : p(i) € S} Khi đú, cho {ứ;Ă € Zp}icr là tập hằng số sao cho nếu {A;} là những chia sẻ hợp là của bớ mật s dựa vào M thì Vie @Ai =s.

Thuật toán giải mã sẽ tính: e(C’,K) _ —_ elg.g)e(g,g)*"

Thierle(CGi, Le(Di, Ky) [Tier elgg) = e(g,g)" (2.4)

Sau khi có được e(g, g)*, lấy C chia cho giá tri nay sẽ có được thông điệp M ban đầu:

2.3.2 Luge đồ mã hóa ABE cải thiện hiệu suất tính toán (FAME)

Tại thời điểm ra đời của bài báo, thiếu các lược đồ CP-ABE vừa bảo mật cao vừa có tốc độ tính toán nhanh Lược đồ [5] ra đời và phổ biến nhờ tính hiệu quả và cấu trúc đơn giản, tuy nhiên tính bảo mật của nó không cao Trong bài báo [24], Agrawal và cộng sự giới thiệu một lược đồ mới không chỉ bảo mật hoàn toàn dưới giả định tiêu chuẩn mà việc mã hóa, giải mã và sinh khóa nhanh hơn công trình ở bài báo [5] Những cải tiến mới có trong lược đồ [24] này:

Chính sách và thuộc tính: Chính sách truy cập sử dụng LSSS, không giới hạn số lượng thuộc tính, không ràng buộc kích thước của cấu trúc truy cập Bat kì chuỗi nào cũng có thé là thuộc tính. Ánh xạ song tuyến tính: Ngày nay, ánh xạ song tuyến tính trên đường cong Elliptic được áp dụng nhiều cho các lược đồ ABE Bộ ba nhóm G, H, Gr với một hàm ánh xạ e liên kết những phan tử trong G, H với những phan tử trong Gr Bài báo này sử dụng ánh xạ song tuyến tính loại 3 (mục 2.2.5) được đề xuất bởi các chuyên gia.

Quá trình giải mã: Trong các lược đồ trước, chỉ phí giải mã rất lớn phụ thuộc vào cấu trúc truy cập Nếu cau trúc truy cập càng phức tạp thì số lượng phép ánh xạ càng lớn vì cần phải ánh xạ cho mỗi thuộc tính Tuy nhiên trong lược đồ FAME [24] chỉ cần sử dụng đúng 6 phép ánh xạ cho việc giải mã, không phụ thuộc vào số lượng thuộc tính Từ đó tăng tính hiệu quả và tiết kiệm thời gian.

Tinh bảo mật: FAME thỏa mãn các yêu cầu bảo mật của mã hóa dựa trên thuộc tính.

Thời gian sinh khóa và mã hóa: Sử dụng hàm băm H để ánh xạ các thuộc tính là các chuỗi tùy ý vào các phần tử của nhóm G Hai loại input được đưa vào hàm # là (x, |, t) và (j,1, t) với x là chuỗi tùy ý, j là số nguyên dương, | € {1,2,3} và £ {1,2} Mỗi bản mã và khóa đều có những phan tử đến từ G và H Đặc biệt, CTy có 3 phần tử đến từ H; CT), CTằ, -, CT, mỗi cỏi cú 3 phần từ từ G; CT’ cú 1 phan tử từ Gy Khúa riờng cú phan tử SKy có 3 phan tử từ H; SK,, SK’ mỗi cái có 3 phần tử từ G Từ đó ta có thé thấy lược dé này chủ yếu bao gồm các phan tử từ G và thời gian cần thiết dé tao ra bản mã và khóa phụ thuộc vào chi phí tính toán trong G [24].

Các thuật toán Lược dé này cũng là dang CP-ABE đơn ủy quyền, giống với 2.3.1, gồm

4 thuật toán chính: Khởi tao (Setup), Sinh khóa (Key Generation), Mã hóa (Encrypt), Giải mã (Decrypt).

Setup(1ˆ) — PK, MSK: Thuật toán khởi tạo nhận giá tri đầu vào là tham số bảo mật

A Giá trị đầu ra là khóa công khai PK và khóa chủ bí mật MSK.

Cho các nhóm nhân G, H, Gr cùng bậc nguyên tố p và một ánh xạ song tuyến tính e:Gx H > Gy Chọn g và h là lần lượt là các phần tử sinh thuộc nhóm G và H Chon đị,đạ € ⁄2 và đd,d;,d; € Z„ Khóa chủ công khai và khóa chủ bí mật được tính như Algorithm 4.

Algorithm 4 Thuật toán khởi tạo của FAME

1: Input: À e là hàm ánh xạ song tuyến tính geGheHl a, đạ € Z; dy, dạ, d3 € Zp

10: Output: ll: PK = (h, Hy, Ho, Ti, T2)

KeyGen(MSK, S) — SK: Thuật toán này nhận giá tri đầu vào là khóa chủ bí mật MSK va tập thuộc tính § của người dùng Chọn n, r; € Zp, và tính:

Với từng thuộc tinh y € S và t = 1,2, chọn o € Z, tinh: nt oy

Khi đó, gan SK, = (SKy,1, SK„,, g5) Tiếp tục với £ = 1,2 và o! € Zp, tinh: nin of

Sau đú gan SK’ = (SK, SK5, ứđ - g~”) Khúa riờng của người dựng là:

SK = (SKo, {SKy}yes, SK’)

Algorithm 5 Thuat toan sinh khoa cua FAME

Input: MSK, S e là ham ánh xa song tuyến tính nt € Zp

SKy = (hen, plore, pn+r2) for y € Sdo oy € Zy for ? = 1,2 do

SK, = (SKy,1, SKy,,g°”) by bạn; n+y ay

3 M090 # M030) ge ơ EZ, for £ = 1,2 do fa

Output: SK = (SKo, {SKy}yes, SK’)

Encrypt(PK, (M, p),m) — CT: Giá trị đầu vào là khóa công khai của người dùng PK, chính sách truy cập (M, p) với M là ma trận truy cập còn p là hàm ánh xạ mỗi thuộc tính trong chính sách với mỗi dong của ma trận M Giá trị m là bí mật cần mã hóa Giá trị đầu ra là bản mã CT.

Gia sử ma trận M cú m dũng và n cột Cho i = 1,2, ,m và ẽ = 1,2,3 Tinh: ny

Với M,; biểu thị phần tử thứ (i,j) của ma trận M Gan CT; = (CT;¡, CT;¿, CT;a) Tinh:

Giá trị bản mã là (CTạ, CT;, , CT, CT’).

Algorithm 6 Thuật toán mã hóa của FAME

3: CT) = (Hị", Hạ®, ht) > Hy, Hp,h — PK 4: for i=1,2, ,m do

15: Output: CT = (CT, CĩI, , CT„, CT’)

Môi trường thực nghiệm

Tac giả thực nghiệm trên môi trường được mô tả ở mục 4.1.2 sử dụng thư viện Charm

(mục 4.1.6) Hai đường cong elliptic mà tôi sử dụng là MNT224 và SS512 được hỗ trợ bởi Charm.

Thựcnghiệm ẶẶ ẶẶ QẶ eee eee 35

Phan thực nghiệm này nhằm triển khai, so sánh và đánh giá ưu nhược điểm và khả năng áp dụng vào thực tế của từng lược đồ mã hóa và kiểm soát truy cập dựa trên thuộc tính trình bày ở phan trước Đề việc đánh giá trở nên khách quan, tôi sử dung tập người dùng, số lượng thuộc tính mà người dùng sở hữu cũng như độ phức tạp của chính sách truy cập chung cho cả 3 lược đồ Từ đó đánh giá thời gian thực thi của mỗi thuật toán, kích thước khóa và kích thước bản mã với điều kiện tăng dần số lượng thuộc tính mà người dùng sở hữu cũng như tăng dần độ phức tạp của chính sách truy cập.

Lược đồ MAABE ở mục 2.3.3 được thiết kế chỉ chạy được dưới đường cong đối xứng, nhưng điều này lại làm mất đi tính hiệu quả của lược đồ mục 2.3.2 Để so sánh được khách quan, tác giả sẽ chạy thực nghiệm trên cả hai đường cong khác nhau là

MNT224 [24] (đường cong bat đối xứng) và SS512 (đường cong đối xứng) dé đánh giá kêt quả.

SS512 Đầu tiên, tăng dan số lượng thuộc tinh trong hệ thống từ 0 đến 500 với chính sách truy cập không đổi để quan sát sự thay đổi của kích thước khóa riêng, khóa công khai cũng như thời gian khởi tạo hệ thống và thời gian sinh khóa riêng cho người dùng. Thuộc tính tôi sử dụng ở đây là các số nguyên từ 1 đến 500 Tập thuộc tinh của người dùng là toàn bộ thuộc tính có trong hệ thống Chính sách truy cập: policy = "1 and 2 and 3 and 4" Ở hình 2.8, thời gian khởi tạo của lược đồ FAME thấp nhất, sau đó tới lược đồ Waters, lược đồ MAABE tăng tuyến tính theo số lượng thuộc tính vì thời gian khởi tạo bao gồm cả khởi tạo CA, khởi tạo AA và đăng ký AA vào hệ thống Ngoài ra, thuật toán SKeyGen còn tính thêm khóa công khai và khóa phiên bản của từng thuộc tính, dẫn tới sự tăng lên nhanh chóng của thời gian khởi tạo.

Vé thời gian sinh khóa riêng, cả ba lược đồ đều có thời gian sinh khóa tăng tuyến tính tuy nhiên thời gian của FAME lớn hơn han do có sự tính toán phức tạp khi sinh khóa.

So lưỡng thuc nh So luong thuốc tinh

(a) Thời gian khởi tạo (b) Thời gian sinh khóa riêng

Hình 2.8: SS512 - Thời gian khởi tạo và sinh khóa riêng

Kích thước khóa riêng của người dùng như hình 2.9 Do phức tạp về tính toán nên kích thước khóa riêng trong lược đồ FAME cũng tăng lên rất nhiều Hai lược đồ còn lại có kích thước khóa riêng tương tự nhau và đều tăng tuyến tính (hình 2.9).

Hình 2.9: SS512 - Kích thước khóa bí mật của người dùng

Về kích thước khóa bí mật (MSK) và khóa công khai (PK), đối với lược đồ MAABE, tôi chỉ xét kích thước của khóa công khai toàn cầu GPP và khóa chủ toàn cầu GMK Lược đồ Waters có khóa công khai rất lớn (lên tới gần 70 KB) và không thay đổi do lúc khởi tạo cần khai báo giá trị universe size là kích thước tập thuộc tính có trong hệ thống.

Kích thuoc (byte) 400 Kích thuoc (byte)

So luong thuoc tinh So luong thược tinh

(a) Khóa bí mật (MSK) (b) Khóa công khai (PK)

Hình 2.10: SS512 - Kích thước khóa bí mật và khóa công khai của hệ thống cập nên trong trường hợp tiếp theo tôi sẽ giữ nguyên số lượng thuộc tính là 50 và tăng dần kích thước chính sách truy cập: policy size = [1, 10, 20, 30, 40]

Quy ước chính sách truy cập kích thước N sẽ có dạng "Attr1 AND Attr2 AND

AND AttrN" [24] Dé thay lược đồ FAME có thời gian mã hóa lớn nhất nhưng ngược lại thời gian giải mã lại ít nhất Lược đồ MAABE có thời gian giải mã tăng tuyến tính.

Về kích thước bản mã, như hình 2.12, cả ba lược đồ đều tăng tuyến tính, Waters thấp nhất và MAABE cao nhất.

MNT224 Lược đồ MAABE được thiết kế chỉ chạy được dưới đường cong đối xứng nên trong mục này tôi chỉ so sánh giữa hai lược đồ còn lại.

Thời gian khởi tạo và kích thước khóa công khai của lược đồ Waters vẫn lớn hơn FAME do giá trị universe size ban đầu Ngược lại, thời gian sinh khóa riêng và kích thước khóa bí mật của FAME lớn hơn Waters do độ phức tạp khi tính toán.

Kích thuoc chính sach truy cap Kích thuoc chỉnh sach truy cap

(a) Thời gian mã hóa (b) Thời gian giải mã

Hình 2.11: SS512 - Thời gian mã hóa và giải mã

5000 ° ọ 10 20 30 + 50 ich thuoc chính sach truy cap

Hình 2.12: SS512 - Kích thước bản mã

Theo hình 2.16, cả thời gian mã hóa, thời gian giải mã lẫn kích thước khóa của FAME đều nhỏ hơn Waters Đây là sự khác biệt rõ rệt khi thực nghiệm trên hai đường cong

Đánh giákếtquả ốố SỐ 38

Sau khi triển khai các lược đồ mã hóa dựa trên thuộc tính nêu trên, tác giả rút ra được một số nhận xét sau:

So lưỡng thuc nh So luong thuốc tinh

(a) Thời gian khởi tạo (b) Thời gian sinh khóa riêng Hình 2.13: MNT224 - Thời gian khởi tạo và sinh khóa riêng

So lường thuoc nh So lường thuoc tinh

(a) Khóa bí mật (MSK) (b) Khóa công khai (PK)

Hình 2.14: MNT224 - Kích thước khóa bí mật và khóa công khai của hệ thống

+ Nhìn chung, trong ba lược đồ, lược đồ Waters là đơn giản và hiệu quả nhất, lược đồ FAME bảo mật nhất, còn lược đồ MAABE hi sinh tính hiệu qua dé triển khai tính năng đa ủy quyền cũng như thu hồi khóa.

* Cả ba lược dé trên đều chưa thực sự tối ưu về mặt thời gian cũng như kích thước các tham số và khóa của người dùng Việc triển khai ra ngoài thực tế trên một hệ thống lớn sẽ gặp khó khăn về mặt hiệu suất cũng như dung lượng lưu trữ.

+ Hiệu suất của lược đồ phụ thuộc ít nhiều vào cách chọn nhóm đầu vào cho ánh xạ song tuyến tính Cần chọn đúng đề lược đồ phát huy tốt nhất tính bảo mật và hiệu

Hình 2.15: MNT224 - Kích thước khóa bí mật của người dùng

Kích thuoc chính sach truy cấp Kích thuốc chính sach truy cap

(a) Thời gian mã hóa (b) Thời gian giải mã

Hình 2.16: MNT224 - Thời gian mã hóa và giải mã quả.

Kích thuoc chính sach truy cap

Hình 2.17: MNT224 - Kích thước bản mã

Mã hóa có thểtìm kiếm

Ngữ cảnh và động lực nghiên cứu

Khi người dùng thuê ngoài dữ liệu của họ đến một máy chủ từ xa, quyền truy cập vat lý vào dé liệu bị mat và việc quản lý dữ liệu cũng được ủy quyền cho máy chủ Vì vậy, cần phải có cơ chế đảm bảo quyển riêng tư cho đữ liệu lưu trữ Cách phổ biến nhất dé đạt được quyền riêng tư là mã hóa dữ liệu trước khi thuê ngoài.

Xét chức năng tìm kiếm trên bản rõ, một người dùng gửi yêu cầu chứa các từ khóa truy van đến máy chủ lưu trữ dé lấy những tài liệu tương ứng Sau khi tìm kiếm, máy chủ lưu trữ sẽ trả về kết quả cho người dùng Tuy nhiên, trong quá trình tìm kiếm, cả nội dung lưu trữ lẫn nội dung từ khóa truy van đều bị lộ Phương pháp mã hóa thông thường có thé giải quyết van đề quyền riêng tư của người dùng nhưng nó lại vô tình làm gián đoạn chức năng tìm kiếm [8].

Vi những lí do này, tác giả quyết định nghiên cứu kĩ thuật mã hóa có thé tim kiếm nhằm giải quyết vấn đề này.

Giới thiệu về mã hóa có thể tìm kiếm

Mã hóa có thể tìm kiếm (Searchable Encrytin - SE) là cách tiếp cận hiệu quả cho phép lưu dữ liệu được mã hóa trên máy chủ đám mây từ nhà cung cấp dịch vụ bên thứ ba không đáng tin cậy, trong khi đồng thời cho phép người tìm kiếm trực tiếp trên dữ liệu mã hóa một cách an toàn và bảo mật [27].

Lược dé SE được phân loại thành hai nhóm như sau:

+ Symmetric Searchable Encryption (SSE): chỉ sử dụng một khóa cho quá trình mã hóa và giải mã. trình mã hóa và giải mã Khóa công khai để mã hóa dữ liệu, khóa riêng (hoặc khóa bí mật) được dùng dé giải mã nội dung mã hóa.

Mô hình và những yêu cầu bảo mật

Mô hình Một lược đồ mã hóa có thé tìm kiếm bao gồm 3 bên: một chủ sở hữu dữ liệu

O, một máy chủ lưu trữ không tin cậy S và một tập các người dùng ủy quyền dé thực hiện chức năng tìm kiếm [28].

* Data Owner: Chủ sở hữu dit liệu muốn lưu trữ lên đám mây một tập các tai liệu

D ={Dj,Dp, , Pn} với một số từ khóa Chủ sở hữu cần phải mã hóa tài liệu và từ khóa bằng một cách cụ thé để có thé dé dàng tìm kiếm sau này Sau khi mã hóa, chủ sở hữu tiền hành gửi bản mã lên máy chủ lưu trữ.

+ Data User: Nếu một người dùng ủy quyền muốn tìm kiếm tài liệu chứa một từ khóa nhất định, họ phải gửi bản mã của từ khóa tìm kiếm (SearchToken) lên máy chủ Sau khi tìm kiếm, máy chủ trả về tài liệu chứa từ khóa mà người dùng muốn tìm.

* Server: Máy chủ thực hiện chức năng tim kiếm Khi máy chủ nhận một SearchTo- ken của từ khóa truy van, nó tìm kiếm trên bản mã và trả về tài liệu tương ứng cho người dùng.

Yêu cầu về bảo mật Những yêu cau sau đây cần phải thỏa mãn khi xây dựng một lược đồ mã hóa có thể tìm kiếm [28].

+ Search pattern: Search pattern được định nghĩa rằng bat kì thông tin nào có thể thu được từ về việc liệu hai kết quả tìm kiếm có phải từ cùng một từ khóa hay không.

+ Access pattern: Tập các kết quả tìm kiếm (D(m), D(w;),, D(w,)) với D(w,) là kết qua tìm kiếm của w; Hay nói cách khác, D(w;) là tập các tài liệu trong mà chứa từ khóa w.

Gần đây một số yêu cầu bảo mật là forward va backward privacy của lược dé tìm kiếm động cho phép cập nhật, thêm, xóa được áp dụng trực tiếp trên các tài liệu hoặc từ khóa trực tiếp trên máy chủ mà không cần giải mã đã được đưa ra Cụ thể:

* Backward Privacy: ngăn cách hoạt động tìm kiếm làm rò ri các phan tử phù hợp sau khi chúng đã bị xóa.

+ Forward Privacy: các hoạt động cập nhật (thêm và xóa) không được liên kết với các truy vấn tìm kiếm trước đó.

Mã hóa có thể tìm kiếm với khóa đối xứng (SSE)

Xét ngữ cảnh, người dùng Alice muốn lưu một tập tài liệu lên một máy chủ Vì máy chủ này không tin cậy, Alice phải mã hóa tài liệu trước khi gửi lên máy chủ đó Nếu Alice cần một vài tài liệu ứng với từ khóa cụ thẻ, cô ta phải gửi từ khóa truy vẫn lên máy chủ, máy chủ sẽ tìm kiếm trong bản mã đề xác định xem tài liệu tương ứng chứa từ khóa đó. Hình 3.1 thể hiện mô hình của lược đồ mã hóa có thé tìm kiếm với khóa đối xứng.

4c trapdoor index E Tesult document ¢3—— & ciphertext Ss m key sò oA

Hình 3.1: Mô hình lược đồ SSE

Mô tả thuật toán Một lược đồ mã hóa đối xứng có thé tìm kiếm bao gồm bốn thuật

Một vai lược đồ tìm kiếm trên dữ liệu mã hóa

Lược đồ mã hóa SE của Curmola

Lược đồ mã hóa đối xứng có thé tìm kiếm đầu tiên được giới thiệu bởi Song và cộng sự [29] Nó được hiện thực dựa trên giải pháp không sử dụng từ khóa Ý tưởng của lược đồ này chính là bản mã thu được bằng cách XOR từng từ khóa trong bản rõ với một chuỗi các bit giả ngẫu nhiên Do đó, cho phép tìm kiếm trực tiếp bên bản mã [28] Tuy nhiên, lược đồ này có thời gian tìm kiếm tăng tuyến tính phụ thuộc vào kích thước của tài liệu bởi vì cần phải quét tuần tự toàn bộ tài liệu mới có thể hoàn thành việc tìm kiếm. Điều này dẫn tới không hiệu quả khi tìm kiếm trên một số lượng lớn các tài liệu có kích thước lớn [30].

Lược đồ của Gol [31] đã chỉ ra một số nhược điểm của lược đồ [29] và giới thiệu khái niệm về chỉ mục an toàn (secure index) Lược đồ này tạo ra những chỉ mục mà có thể được sử dụng để định vị vi trí lưu trữ của dir liệu được mã hóa Chỉ mục là một cấu trúc dữ liệu có nhiệm vụ lưu trữ các tập dữ liệu mà vẫn hỗ trợ tìm kiếm hiệu quả Khi đưa ra một từ khóa, chỉ mục có thể trả về con trỏ trỏ tới tài liệu mang từ khóa đó Một chỉ mục được gọi là an toàn khi thao tác tìm kiếm với từ khóa w có thé thực hiện bởi người dùng có thể tạo ra SearchToken và SearchToken đó chỉ có thể được sinh ra bằng khóa bí mật.

Vi không biết nội dung của SearchToken nên chỉ mục không thé dé lộ thông tin về tài liệu [32].

Sau đó, một lược đồ đơn giản, an toàn hơn và dựa trên giải pháp chỉ mục an toàn đã được giới thiệu boi Curtmola và cộng sự [32] Trong mục 3.2.1 này, tác giả sẽ giới thiệu về cách tiếp cận đảm bảo quyền riêng tư cho từ khóa tìm kiếm trong mã hóa đối xứng có thể tìm kiếm dựa trên lược đồ của Curtmola, cụ thể là lược đồ SSE-2 [30, 32].

Mô hình hệ thống Một người dùng U mã hóa một tập dữ liệu D = {D,, D;, , D„} va tạo một tập tin chỉ mục được mã hóa kí hiệu là I I chứa một tập m từ khóa được mã hóa.

Người dựng U gửi chỉ mục ù và tập dữ liệu D lờn mỏy chủ đỏm mõy Trong quỏ trỡnh tỡm kiếm, U tạo ra các truy vấn được mã hóa và gửi cho máy chủ Khi máy chủ đám mây nhận được các truy vấn này thì sẽ sử dụng các chỉ mục mã hóa để tìm vị trí trỏ đến tài liệu chứa từ khóa đó Lúc này, tài liệu mã hóa được gửi về cho người dùng Mô hình được minh họa ở hình 3.2.

Các thuật toán Lược đồ bao gồm 5 thuật toán [30, 32]:

Key Generation(k) —› Kj, Kạ: Tạo ra khóa đối xứng cho quá trình mã hóa và giải mã.

Khóa K, dùng cho mã hóa chỉ mục và khóa K, dùng cho mã hóa tài liệu Cả 2 khóa nay đều được lưu ở thiết bị người dùng.

Algorithm 14 Thuật toán sinh khóa trong lược đồ SE của Curtmola

1: Input: k > k là tham số bảo mật

Encrypt(K, D) — (I, CT): Thuật toán mã hóa được chạy bởi người dùng dé mã hóa tập tài liệu Nó nhận giá trị đầu vào là khóa K gồm hai giá trị là Kị và Kạ cùng với tập tài liệu D Giá trị đầu ra là chỉ mục J và bản mã CT = (CT, CT›, , CT;).

Trước khi mã hóa, người dùng phải thực hiện một công đoạn gọi là điển xử lý tài liệu (Document Preprocessing) dé lay ra từ khóa và xây dựng chỉ mục [30] Người dùng phải liệt kê tất cả các từ khóa từ mỗi tài liệu trong D và xây dựng một bảng chỉ mục liệt kê các tài liệu và các từ khóa tương ứng Lược đồ cũng sẽ chỉ định một giá tri content ID cho mỗi tài liệu trong tập hợp.

Tại bước tiền xử lý, người dùng sẽ xử lý trước tập tài liệu này để xây dựng bảng chỉ mục Ví dụ như ở bảng 3.1, ta xét tập tài liệu D gồm 5 phan tử D = {D\, Dạ, Dạ, Dạ, Ds}, tập từ khóa {w; | 1 < i < 10} và m là tổng số từ khóa (ở ví dụ này m = 10) Cac content

ID được gan tuần tự bat đầu từ 1.

Content / Document | Content ID | Keyword

Bang 3.1: Bang chi muc tai ligu (document index)

Trong bước tiếp theo, nó sẽ tạo một bang chỉ mục đảo ngược (inverted index) liệt kê các content ID tương ứng cho mỗi từ khóa w; Đối với ví dụ trên, chỉ mục đảo ngược được biểu diễn như bảng 3.2.

Bang 3.2: Bang chỉ mục đảo ngược (inverted index)

Mã hóa được thực hiện bằng cách sử dụng các khóa mã hóa được tạo ở thuật toán tạo khóa Về cơ bản, nó bao gôm mã hóa chỉ mục và mã hóa tài liệu.

* Ma hóa chỉ mục: Tạo ra một bảng tra cứu Mã hóa từ khóa được tính là ENC, (w;||n;), trong đó ENCx, đại diện cho mã hóa với khóa Kj, w; là từ khóa thứ i và n; là ID tài liệu tương ứng chứa từ khóa w; Đối với mỗi từ khóa được mã hóa, bảng chỉ mục được mã hóa liệt kê ID tài liệu tương ứng Cụ thé như ở bảng 3.3.

+ Mã hóa tài liệu: Mã hóa từng tài liệu từ tập tài liệu D bằng khóa K; và lưu trữ trong cơ sở đữ liệu Mã hóa tài liệu được tính bằng hàm ENCx,(D;) đại diện cho mã hóa tài liệu D; bằng khóa Kạ Danh sách tài liệu đã được mã hóa được minh họa ở bang

Cho tập tài liệu D và tập các từ khóa ð(D), với mỗi từ khóa w € 6(D), tạo ra D(w) là danh sách các tài liệu chứa từ khóa w Quy ước id(D;;) là định danh thứ j trong D(W,).

Algorithm 15 Thuật toán mã hóa trong lược đồ SE của Curtmola

: max = max(|D(w;)|) với w; € ð(D) s=n-max si= 3 2cð(p) |D(wi)| if s < s then for D; c D do c là số mục trong I đã chứa id(D;) for 1 < ẽ< max — c do

I[ENCx(0'||n + )] = i4(D;) end for end for end if

>n là số lượng tài liệu trong tập D

2) Mã hóa tài liệu: for 1 < ¡< ¡do

=& KG Chỉ 4| WB) Dd) [| | Gò | Gì: G9| | | —

Bảng 3.3: Bảng chỉ mục mã hóa (encrypted index)

1 ENCx, (Di) wp} ol m6 fa] &

Bang 3.4: Bang tài liệu mã hóa (encrypted document)

Trapdoor(K, w) > T„: Thuật toán này được chạy bởi người dùng nhằm tạo ra Search- Token ứng với từ khóa cho trước w Giá trị đầu vào là khóa K và từ khóa w, giá tri dau ra là SearchToken T„ ứng với từ khúa w SearchToken được tớnh Ty = (ủ,ớs, f„) =

ENCx,(w||1), ENGk,(w||2), , ENCk,(w||n), với ứ là số lượng tài liệu trong tập D [30] Mó giả như Algorithm 16.

Search(1, 7„) — X: Đây là thuật toán được chạy bởi server nhằm tìm kiếm những tài liệu trong D chứa từ khóa w Giá trị đầu vào là tập chỉ mục mã hóa J, SearchToken T,, do người dùng gửi lên và đầu ra là tập X chứa ID của các tài liệu được tìm thấy Với mỗi giá tri ủ, f;, , tr, nú sẽ so sỏnh với chỉ mục được mó húa Nếu bat ky giỏ tri nào trong t khớp với từ khóa được mã hóa, nó sẽ xuất ra các ID tài liệu đã được mã hóa tương ứng chứa

Algorithm 16 Thuật toán sinh SearchToken trong lược đồ SE của Curtmola

2: forl

Ngày đăng: 23/10/2024, 01:16

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Mô hình ABAC ! - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 2.1 Mô hình ABAC ! (Trang 20)
Hình 2.2: Key-Policy ABE ? - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 2.2 Key-Policy ABE ? (Trang 23)
Hình 2.6: Mô hình kiểm soát truy cập trên hệ thống lưu trữ đám mây da ủy quyền - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 2.6 Mô hình kiểm soát truy cập trên hệ thống lưu trữ đám mây da ủy quyền (Trang 39)
Hình 2.9: SS512 - Kích thước khóa bí mật của người dùng - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 2.9 SS512 - Kích thước khóa bí mật của người dùng (Trang 49)
Hình 2.10: SS512 - Kích thước khóa bí mật và khóa công khai của hệ thống - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 2.10 SS512 - Kích thước khóa bí mật và khóa công khai của hệ thống (Trang 50)
Hình 2.15: MNT224 - Kích thước khóa bí mật của người dùng - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 2.15 MNT224 - Kích thước khóa bí mật của người dùng (Trang 53)
Hình 2.16: MNT224 - Thời gian mã hóa và giải mã - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 2.16 MNT224 - Thời gian mã hóa và giải mã (Trang 53)
Hình 2.17: MNT224 - Kích thước bản mã - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 2.17 MNT224 - Kích thước bản mã (Trang 54)
Hình 4.3: Một số loại lược đồ mật mã đã được triển khai trên Charm - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 4.3 Một số loại lược đồ mật mã đã được triển khai trên Charm (Trang 79)
Hình 4.12: Kiểm tra khả năng giải mã của người dùng Alice - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 4.12 Kiểm tra khả năng giải mã của người dùng Alice (Trang 88)
Hình 4.13: Kiểm tra khả năng giải mã của người dùng Bob - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 4.13 Kiểm tra khả năng giải mã của người dùng Bob (Trang 89)
Hình 4.14: Kiểm tra khả năng giải mã của người dùng Trudy - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 4.14 Kiểm tra khả năng giải mã của người dùng Trudy (Trang 91)
Hình 4.20: Hình ảnh xét nghiệm không thể mở vì đã bị mã hóa - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 4.20 Hình ảnh xét nghiệm không thể mở vì đã bị mã hóa (Trang 95)
Hình 4.21: Kết quả tìm kiếm với từ khóa “blood” - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 4.21 Kết quả tìm kiếm với từ khóa “blood” (Trang 95)
Hình 4.22: Hình ảnh xét nghiệm ứng với từ khóa ”blood” - Khóa luận tốt nghiệp An toàn thông tin: Mã hóa, kiểm soát truy cập và tìm kiếm trên hệ quản trị cơ sở dữ liệu SQL
Hình 4.22 Hình ảnh xét nghiệm ứng với từ khóa ”blood” (Trang 96)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w