Yêu cầu phi tính năng

Một phần của tài liệu Áp dụng công nghệ chuỗi khối cho việc kiểm soát truy cập dữ liệu trong các thiết bị đầu thu kỹ thuật số (Trang 44)

Là các yêu cầu hệ thống cần đạt được để có thể phục vụ ứng dụng nhu cầu thực tế của người dùng.

Tốc độ chia sẻ: chắc chắn với việc thêm vào nhiều bước quản lý chia sẻ như phân tách dữ liệu, kiểm duyệt, mã hóa, giải mã, ghép nối, độ trễ chia sẻ thông tin theo mô hình sẽ chậm hơn nhiều việc chia sẻ trực tiếp bằng phương pháp truyền thống. Điều kiện về tốc độ chia sẻ phải đảm bảo độ trễ trong ngưỡng chấp nhận được của người dùng, không làm ảnh hưởng đến các hoạt động thường nhật tương tự. Trong khuôn khổ bài luận, yêu cầu độ trễ chia sẻ được xác định là dưới 100% với dữ liệu nhỏ dạng văn bản và dưới 30% với các dữ liệu lớn dạng đa phương tiện.

Chi phí quản trị: để hệ thống có thể thực sự áp dụng vào thực tiễn thì chi phí quản trị tổng thể của hệ thống cho tác vụ chia sẻ thông thường phải không quá vượt trội so với chi phí của tác vụ tương ứng mà không có kiểm soát tính riêng tư. Trong khuôn khổ bài luận này, yêu cầu về chi phí quản lý

33 phụ trội tổng thể của tác vụ chia sẻ thông thường không vượt quá 20% chi phí chia sẻ không kiểm soát.

34

CHƯƠNG 3: THIẾT KẾ GIẢI PHÁP 3.1. Thiết kế kiến trúc hệ thống

Kiến trúc hệ thống mô tả mô hình theo ngôn ngữ tin học ứng dụng, nơi mỗi thành phần là một dịch vụ, một tiến trình hay một chương trình thực thi. Nhìn theo hướng ứng dụng, kiến trúc hệ thống gồm hai thành phần chính như hình dưới đây:

Hình 11 Kiến trúc ứng dụng của hệ thống

Thành phần thiết bị thông minh: là các ứng dụng, dịch vụ, tiến trình chạy độc lập trên các thiết bị điện tử thông minh mà cụ thể giải pháp lựa chọn là các thiết bị hoạt động với hệ điều hành Android. Ở mô hình lý thuyết, các thành phần này sử dụng hai luồng dữ liệu là với mạng chuỗi khối và với mạng kết nối toàn cầu truyền thống. Tuy nhiên về mặt ứng dụng, hai luồng dữ liệu này sử dụng chung một giao thức cơ bản là HTTP có bảo mật (HTTPS) chỉ khác nhau ở cấu hình dữ liệu truyền tải. Thành phần thiết bị thông minh được chia làm ba tầng chính:

• Các ứng dụng tương tác người dùng: điểm chung của các ứng dụng này là có giao diện tương tác trực tiếp với người dùng, hoạt động ở không gian người dùng của thiết bị / hệ điều hành. Vì vậy, khả năng tương tác tới các phần thông tin nhạy cảm trong thiết bị kém, bị quản lý chặt bởi hệ điều hành. Các tính năng truyền tin, giao tiếp bị hạn chế bởi khung kiến trúc. Tuy nhiên vì là cổng giao tiếp trực tiếp với người dùng, các ứng dụng này đều tiếp xúc với một phần thông tin nhạy cảm của người dùng. Vì vậy các ứng dụng này cần được quản lý chặt về quyền hạn, chỉ được phép giao

35 tiếp với các dịch vụ tầng dưới, không được phép trực tiếp kết nối và gửi dữ liệu tới bên ngoài. Một số ứng dụng tương tác người dùng tiêu biểu: ứng dụng quản lý cấu hình chia sẻ riêng tư, ứng dụng quản lý dữ liệu lưu trữ, ứng dụng quản lý ví định danh, thư viện quy luật cấu hình riêng tư.

• Các dịch vụ hệ thống: các dịch vụ làm việc ở tầng nền tảng của hệ điều hành cho tới các mô đun lõi, cung cấp các phương thức kiểm soát tính riêng tư dữ liệu, giao dịch truyền tin với bên ngoài (sử dụng các cổng giao thức mạng).

• Các mô đun phần cứng: đây là phần mở rộng đặc biệt của nhà sản xuất trong tương lai, để đảm bảo khả năng không thể xâm phạm của thiết bị mình, các tính năng đơn nhất, đặc thù về kiểm soát tính riêng tư dữ liệu (như kiểm soát tính đúng đắn của ví định danh thiết bị, kiểm soát tổng kiểm tra hay kiểm soát tiêu đề tin nhắn dữ liệu) được thực hiện ở các module phần cứng này nhằm mục đích tối ưu hóa hiệu suất và bảo mật.

Thành phần dịch vụ đám mây: cung cấp các dịch vụ nền tảng, dịch vụ phối hợp và các dịch vụ gia tăng. Các dịch vụ này có chung đặc điểm cung cấp các URI/API theo chuẩn khung kiến trúc trên nền giao thức cơ bản HTTP có bảo mật. Về mặt cấu hình, các dịch vụ này gồm 2 phần là lưu trữ dữ liệu và thực hiện công việc. Mục tiêu thiết kế các dịch vụ này đều là các vi dịch vụ, hoạt động độc lập, tính năng độc lập, có liên kết nhưng không phụ thuộc tới các dịch vụ khác. Các dịch vụ đám mây tiêu biểu:

• Dịch vụ định danh • Dịch vụ riêng tư • Dịch vụ lưu trữ

3.2. Thiết kế lưu trữ trên mạng chuỗi khối

Thành phần mạng chuỗi khối là thành phần trung tâm của mô hình giải pháp. Các mạng chuỗi khối công cộng hiện tại được sử dụng với mục đích chính là lưu trữ các giao dịch chuyển nhận tiền giữ các tài khoản. Vì vậy, để sử dụng lưu trữ trữ các thông tin quyền riêng tư, cần có một số đắc để thiết kế đặc biệt.

Về phương thức lưu trữ, giải pháp của hệ thống là sử dụng trường dữ liệu data của từng giao dịch chuyển tiền. Mỗi giao dịch đều là chuyển số tiền

36 tối thiểu (1 wei) giữa hai ví đã được xác minh và công bố công khai của từng dịch vụ. Phương thức lưu trữ trong một giao dịch trên mạng chuỗi khối được mô tả như hình dưới đây:

Hình 12 Cấu trúc một giao dịch được lưu trữ trên mạng chuỗi khối

Do mạng chuỗi khối được sử dụng là mạng công cộng, chia sẻ cùng nhiều loại dữ liệu giao dịch của ứng dụng khác nên dữ liệu được lưu trữ trên mạng chuỗi khối một cách phân mảng, không liền mạch. Dữ liệu được thiết kế để lưu trữ trên mạng cần đảm bảo hai nguyên tắc:

• Dữ liệu phải có mốc thời gian tương ứng việc ghi nhận dữ liệu • Dữ liệu phải có dạng giao dịch, mô tả sự thay đổi trạng thái hay

trường dữ liệu.

• Dữ liệu cần chứa thông tin của giao dịch ngay trước nó.

Các đặc điểm yêu cầu trên nhằm đảm bảo tính thống nhất cũng như hỗ trợ khả năng truy vấn và kiểm tra tính đúng đắn của dữ liệu. Hình vẽ dưới đây mô tả mối liên hệ logic giữa các giao dịch khác nhau được lưu trữ trên mạng chuỗi khối.

37

Hình 13 Phân bố các giao dịch trên mạng chuỗi khối

3.3. Thiết kế an ninh, an toàn dữ liệu

Do hệ thống được hoạt động chủ yếu trong môi trường mạng liên kết toàn cầu mở công khai, các giải pháp phân quyền, tạo và lưu trữ khóa, chia sẻ khóa là chìa khóa quan trọng nhất đảm bảo tính an toàn dữ liệu. An ninh an toàn dữ liệu là điều kiện cần tiên quyết để kiểm soát tính riêng tư. Phần này của luận văn mô tả chi tiết về cách sinh khóa, các nguyên tắc sở hữu, lưu giữ khóa. Các hoạt động chia sẻ và tương tác của từng loại khóa với các loại dữ liệu khác nhau.

Trong phần này sử dụng một số từ viết tắt, ký hiệu được mô liệt kê trong bảng sau:

STT Viết tắt Ý nghĩa

1 PS Dịch vụ riêng tư

2 CK Khóa đối xứng sử dụng cho từng loại đặc tính riêng tư

3 SK Khóa bí mật

4 PK Khóa công khai

38

6 BC Mạng chuỗi khối

7 A Người dùng chia sẻ dữ liệu 8 B Người dùng truy cập dữ liệu 9 SS Dịch vụ lưu trữ

Bảng 3 Ký hiệu trong mô tả an toàn dữ liệu

3.3.1. Nguyên tắc sở hữu

Nguyên tắc sở hữu 1: mỗi người dùng trong hệ thống có một cặp khóa bao gồm khóa bí mật (SK) và khóa công khai (PK). Dịch vụ định danh (IS) có trách nhiệm cập nhật PK mới nhất của người dùng lên mạng chuỗi khối (BC). Còn người dùng có trách nhiệm tự bảo quản SK của mình ở các thiết bị cá nhân. Khóa công khai này chính là định danh duy nhất của người dùng trên hệ thống. Chỉ IS mới nắm thông tin người dùng thực sự là khách hàng nào của mình. Khi người dùng có nhiều thiết bị, người dùng cần tự chia sẻ SK giữa các thiết bị để đảm bảo đồng nhất. Vì một lí do nào đó, người dùng muốn thay đổi cặp khóa, người dùng có trách nhiệm tự tạo cặp khóa mới SK.2 và CK.2. SK.2 cần được đảm bảo chia sẻ thay thế trên tất cả các thiết bị của người dùng. CK.2 cần được IS lưu trữ lại lên BC cho thấy khả năng tìm kiếm ngược tất cả CK.2 và CK đều là định danh cho một người dùng ở các thời điểm khác nhau.

Nguyên tắc sở hữu 2: người dùng và dịch vụ riêng tư (PS) chia sẻ với nhau một bộ các khóa đối xứng được gọi là "khóa loại" (CK) mang các đặc điểm:

• Khóa này dùng để mã hóa dữ liệu người dùng.

• Bảo mật giữa người dùng và dịch vụ riêng tư, mỗi người dùng khác nhau sẽ có những bộ khóa khác nhau.

• Mỗi một phân loại dữ liệu riêng tư có một khóa riêng, dành riêng cho phân loại dữ liệu riêng tư đó, có thể thay đổi độc lập, không ảnh hưởng lẫn nhau.

• Mỗi mã có thời hạn tồn tại nhất định, sẽ được làm mới quanh thời điểm khóa trước tới hạn.

Vì được sử dụng để mã hóa dữ liệu nên khóa đối xứng được lựa chọn nhằm tối đa tốc độ xử lý dữ liệu. Tuy nhiên khóa này không thể tồn tại bất

39 biến. Trong trường hợp người dùng không có thay đổi về cấu hình chia sẻ riêng tư, khóa này cần được làm mới theo thời gian, giá trị được quy định bởi dịch vụ riêng tư tương ứng. Trong trường hợp người dùng thay đổi trạng thái cấu hình chia sẻ, khóa của các cấu hình được thay đổi sẽ ngay lập tức được làm mới. Điều này để đảm bảo rằng, những người đã từng được chia sẻ dữ liệu ở khoảng thời gian trước, dù bằng một cách nào đó, có thể truy cập được phân vùng dữ liệu mới cũng không thể hiểu được nội dung bên trong khối dữ liệu mới này.

3.3.2. Nguyên tắc hoạt động

Nguyên tắc khi chia sẻ dữ liệu: người dùng chia sẻ dữ liệu (A) cần đảm bảo hai thao tác:

• Người dùng A cập nhật tất cả các A.CK lên dich vụ riêng tư (PS) theo giao thức bảo mật.

• Người dùng A, thông qua IS, cập nhật các cấu hình chia sẻ dữ liệu riêng tư của mình lên mạng BC. Các cấu hình này được lấy mẫu tiêu chuẩn từ PS, được người dùng A cập nhật theo mục đích cá nhân.

• Người dùng A mã hóa từng loại dữ liệu riêng tư của mình với A.CK tương ứng và gửi lên dịch vụ lưu trữ (SS)

Nguyên tắc khi truy cập dữ liệu: đây là các bước thao tác của người dùng truy cập dữ liệu (B) cần làm để có thể đọc được các phần dữ liệu được chia sẻ.

• Người dùng B gửi thời gian dữ liệu muốn truy cập cho PS, PS sau khi xác minh qua mạng BC rằng A có chia sẻ với B loại dữ liệu riêng tư, tiến hành mã hóa A.CK mà B được chia sẻ bằng B.PK gửi lại cho B, B giải mã thông tin nhận được bằng B.SK của mình lấy được các A.CK tương ứng. Hoạt động chia sẻ A.CK của PS cho B được ghi vết lại trên BC với thời gian tương ứng. • Người dùng B gửi thời gian dữ liệu muốn truy cập tới SS, SS sau

khi xác minh bằng mạng BC rằng A có chia sẻ với B loại dữ liệu riêng tư, tiến hành mã hóa phần dữ liệu bằng B.PK gửi lại B. Hoạt động chia sẻ dữ liệu của SS cho B cũng được ghi vết giao dịch trên BC với thời gian tương ứng.

40 • Người dùng B tiến hành hai bước giải mã dữ liệu. Đâu tiên B giải mã dữ liệu bằng B.SK rồi tiếp tục giải mã lần hai bằng A.CK đã được chia sẻ từ PS để đọc được dữ liệu gốc.

3.3.3. Ý nghĩa an toàn dữ liệu

Ở phần này, ta đánh giá ý nghĩa và hiệu quả an toàn dữ liệu của các nguyên tắc sở hữu cũng như nguyên tắc hoạt động.

• Thứ nhất, ngoài người dùng, có ba thực thể độc lập tham gia vào quá trình. Mỗi thực thể nắm giữ một phần thông tin quan trọng của là: định danh – quyền hạn – dữ liệu. Ba thành phần này hoàn toàn phân tách, một thành phần riêng lẻ mặc dù lưu trữ thông tin người dùng nhưng không thể khai phá ý nghĩa của dữ liệu. IS quản lý thông tin định danh nhưng không có phân quyền và không thể tiếp cận dữ liệu. PS tuy có mã của mỗi loại phân quyền nhưng không thể tiếp cận dữ liệu. SS là nơi lưu trữ dữ liệu nhưng đã ở dạng mã hóa nên không thể tự ý khai phá dữ liệu người dùng được.

• Thứ hai, tất cả các hoạt động thay đổi định danh, thay đổi quyền hạn, chia sẻ khóa, truy cập dữ liệu chia sẻ đều được lưu vết giao dịch công khai trên mạng BC. Dù bất kỳ dịch vụ nào, sử dụng lợi thế dữ liệu lưu trữ của mình, tiến hành khai phá dịch vụ khác để lấy dữ liệu người dùng thì đều để lại vết rất rõ ràng. Người dùng A hoàn toàn có thể kiểm soát, nhận được báo cáo, báo động từ các dịch vụ riêng tư (PS) khác nhau ngay khi dữ liệu bị truy cập ngoài ý muốn để tiến hành các biện pháp xử lý.

• Thứ ba, B nhận được các A.CK theo khoảng thời gian xác định, nên không thể dùng A.CK đó xem dữ liệu ở khoảng thời gian khác dù có tìm cách lấy được. A hoàn toàn có thể tin tưởng, khi mình dừng việc chia sẻ dữ liệu cho B, B chắc chắn không thể tiếp xúc được với các dữ liệu đó nữa.

3.4. Thiết kế thành phần

Ở phần thiết kế tổng quan, ta đã có được danh sách các ứng dụng và dịch vụ tiêu biểu cho từng thành phần. Ở phần này, luận văn đi sâu vào phân tích các ứng dụng tối thiểu cho mỗi thành phần để hoàn thành tác vụ cơ bản.

41

3.4.1. Ứng dụng trên thiết bị chia sẻ

Hình 14 Các thành phần của thiết bị chia sẻ

Thiết bị chia sẻ dữ liệu được cấu hình bởi ba lớp cơ bản. Thấp nhất là lớp phần cứng vật lý, thực hiện việc truyền tải dữ liệu, lớp này được xây dựng và quản lý của các nhà sản xuất thiết bị. Đặc điểm của lớp này chỉ đảm bảo dữ liệu được truyền nhận đúng, chính xác, không thực hiện các hoạt động thay đổi dữ liệu. Ở giữa là lớp không gian hệ thống – không gian lõi hệ điều hành. Các dịch vụ hoạt động ở mức này thường không có giao diện người dùng mà tập trung vào các tính năng đặc trưng của mình. Đồng thời, khi hoạt động ở mức này, các dịch vụ có quyền truy cập cao vào các tài nguyên của thiết bị, các phân vùng dữ liệu khác nhau, có thể quản lý trực tiếp các thiết bị vào ra dữ liệu. Ở trên cao nhất là không gian người dùng, nơi trực tiếp giao tiếp với thao tác người dùng. Ứng dụng hoạt động ở vùng này có quyền truy cập dữ liệu hệ thống hạn chế, bị kiểm soát chặt chẽ bởi hệ điều hành.

Ở không gian người dùng có các ứng dụng cần thiết cho hoạt động. Thứ nhất đó là ứng dụng sinh dữ liệu, là các ứng dụng tương tác với người dùng, từ đó ghi lại các hoạt động hành vi của người dùng, thói quen người dùng, đôi khi cả những dữ liệu cá nhân nhạy cảm. Các dữ liệu này sau khi sinh ra cần được lưu trữ ở không gian hệ thống để đảm bảo khó tiếp cận bởi các ứng dụng người dùng khác. Thứ hai là ứng dụng cấu hình riêng tư, cung cấp giao diện người dùng cho người muốn chia sẻ dữ liệu lựa chọn các dịch vụ định danh, dịch vụ lưu trữ, dịch vụ riêng tư phục vụ cho mình. Đồng thời dịch vụ

42 này cũng cung cấp giao diện để người dùng cấu hình các lựa chọn chia sẻ từng loại dữ liệu riêng tư của mình cho một hoặc nhiều người khác nhau.

Một phần của tài liệu Áp dụng công nghệ chuỗi khối cho việc kiểm soát truy cập dữ liệu trong các thiết bị đầu thu kỹ thuật số (Trang 44)

Tải bản đầy đủ (PDF)

(88 trang)