Dịch vụ riêng tư

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 60)

49

GET /rulesample

Vùng Trường Giải thích

Lệnh GET

URL /rulesample

Trả về json Bộ mẫu luật

Bảng 6 Cổng lấy mẫu phân quyền

Cổng kiểm tra phân quyền POST /rulecontent -h “content-type:json” -h “token: …” -d { pos: “”, rule: {

// các luật được định nghĩa }

}

Vùng Trường Giải thích

Lệnh POST

URL /rulecontent

Đầu content-type Loại dữ liệu

Đầu token Mã thông báo người dùng

Thân rule Các luật được định nghĩa

Thân pos Vị trí trên mạng chuỗi khối

50

Cổng lấy khóa phân quyền GET /rulecontent?from=…&to=… -h “token: …”

Vùng Trường Giải thích

Lệnh GET

URL /rulecontent

Đầu token Mã thông báo người dùng

Tham số from Thời gian bắt đầu

Tham số to Thời gian kết thúc

Trả về bộ khóa phân quyền

51 3.6.3. Dịch vụ lưu trữ Cổng cập nhật dữ liệu POST /mydata -h “content-type:json” -h “token: …” -d { time: “”, data: “” } Vùng Trường Giải thích Lệnh POST URL /mydata

Đầu content-type Loại dữ liệu

Đầu token Mã thông báo người dùng

Thân data Dữ liệu đã mã hóa

Thân time Mốc thời gian dữ liệu

52

Cổng truy xuất dữ liệu POST /theirdata -h “content-type:json” -h “token: …” -d { from: “”, to: “” } Vùng Trường Giải thích Lệnh POST URL /theirdata

Đầu content-type Loại dữ liệu

Đầu token Mã thông báo người

dùng

Thân from Thời gian bắt đầu

Thân to Thời gian kết thúc

53

3.7. Thiết kế dữ liệu

Phần này mô tả thiết kế của các khối dữ liệu sẽ được lưu trữ chia sẻ trên mạng chuỗi khối.

3.7.1. Dữ liệu cấu hình định danh

STT Trường Loại Giải thích

1 unique_name string Chuỗi mã định danh duy nhất của người dùng

2 display_name string Tên hiển thị, giao thiệp 3 legal string Thông tin lịch sự phạm pháp 4 previous string Mã giao dịch lần trước

5 start_time string Mốc thời gian bắt đầu hoạt động 6 end_time string Mốc thời gian kết thúc hoạt động

Bảng 11 dữ liệu cấu hình định danh

3.7.2. Dữ liệu cấu hình quyền hạn

STT Trường Loại Giải thích

1 data_rule object Mức đỉnh quyền dữ liệu

1.1 CelebralDataRule object Quyền với dữ liệu suy nghĩ cảm xúc

1.2 RelationshipDataRule object Quyền với dữ liệu quan hệ 1.3 PrivateDataRule object Quyền với dữ liệu cá nhân 1.4 BehaviorDataRule object Quyền với dữ liệu thói quen 1.5 GeographicalDataRule object Quyền với dữ liệu vị trí 1.6 VisualDataRule object Quyền với dữ liệu hình ảnh 1.7 FinancialDataRule object Quyền với dữ liệu tài chính

54

2 law_rule object

2.1 GDPRLaw object Kiểm soát dữ liệu theo luật GDPR

3 risk_rule object

3.1 PenaltyRisk object Nguy cơ án phạt 3.2 ReputationRisk object Nguy cơ uy tín 3.3 CompromisedRisk object Nguy cơ lộ dữ liệu

3.4 HijackRisk object Nguy cơ chiếm đoạt mạo danh 3.5 MisuseRisk object Nguy cơ sử dụng sai mục đích

Bảng 12 Dữ liệu cấu hình quyền hạn

3.7.3. Dữ liệu ghi vết truy cập

STT Trường Loại Giải thích

1 unique_name string Chủ thể hành động 2 action string Hành động ghi vết 3 data_specifier string Dữ liệu ghi vết 4 time string Thời điểm tạo vết

55

CHƯƠNG 4: CÀI ĐẶT VÀ TRIỂN KHAI 4.1. Hoạt động cài đặt

4.1.1. Cài đặt trên STB

Thiết bị STB được sử dụng cho hoạt động thử nghiệm là thiết bị Saku [21], một STB chạy trên nền tảng Android TV của công ty Humax, là sản phẩm đã thương mại hóa với đầy đủ các tính năng ghi nhật ký, chạy ứng dụng và xem kênh truyền hình. Đây là những tính năng cơ bản cần thiết cho việc triển khai thử nghiệm và đánh giá hiệu năng giải pháp.

Thông tin cấu hình của thiết bị Saku bao gồm: • Hệ điều hành: Android TV 9

• RAM: 3 GB • Ổ cứng: 1 TB

Các chương trình dịch vụ sẵn có trên thiết bị có tham gia vào hoạt động thử nghiệm. Đây là dịch vụ được phát triển trước của nhà sản xuất, hoạt động thử nghiệm chỉ sử dụng tích hợp hoặc chỉnh sửa không đáng kể vào mã nguồn, không làm thay đổi chức năng chính của dịch vụ:

• LogService: dịch vụ ghi nhận nhật ký hoạt động của STB. Nhật ký được lưu dưới dạng cơ sở dữ liệu và xuất thành các bản báo cáo định dạng xml hay json. Dịch vụ này được sử dụng không chỉnh sửa.

• TR069Service: dịch vụ điều khiển trực tiếp LogService để xuất báo cáo nhật ký. Dịch vụ này được chỉnh sửa để thực hiện vai trò “dịch vụ riêng tư nền tảng” theo thiết kế hệ thống.

• HtvProperty: thư viện quản lý thiết lập STB, là cơ sở dữ liệu chung của STB. Dịch vụ này được sử dụng không chỉnh sửa nhằm lưu trữ các thiết lập cần chia sẻ giữa các dịch vụ trong STB. • Các thư viện dịch vụ: theo thiết kế sẵn có của STB, mỗi dịch vụ có một phần thư viện dịch vụ tương ứng, là cổng giao tiếp cho phép các dịch vụ khách sử dụng để truyền tải thông điệp giữa các dịch vụ khác nhau. Thư viện dịch vụ này được sử đổi để phục vụ thêm các tin nhắn riêng biệt của ứng dụng riêng tư.

56 • Ứng dụng riêng tư: là ứng dụng hoạt động ở không gian người dùng, cung cấp giao diện người dùng để thiết lập các cấu hình riêng tư cần thiết và các tác vụ người dùng khác.

Phần triển khai trên STB được viết bằng ngôn ngữ Java, theo chuẩn quản lý cấu hình của các ứng dụng Android.

Hình 21 Cấu hình mã nguồn trên STB

4.1.2. Cài đặt trên dịch vụ đám mây

Các dịch vụ đám mây được triển khai dưới dạng các dịch vụ web trên nền tảng spring boot với ngôn ngữ Java. Tuy trong thiết kế hệ thống các dịch vụ đám mây bao gồm tối thiểu 03 dịch vụ riêng biệt (dịch vụ riêng tư, dịch vụ lưu trữ và dịch vụ định danh), hoạt động thử nghiệm xây dựng chung một dịch vụ cung cấp đầy đủ cả ba tính năng dịch vụ trên. Điều kiện đảm bảo là

57 ba dịch vụ này sử dụng riêng tài nguyên (hệ thống lưu trữ, bộ nhớ), không giao tiếp nội bộ với nhau. Tất cả các giao tiếp giữa các cổng dịch vụ đều sử dụng phương thức truyền tải như đã được thiết kế. Điều này đảm bảo dù sử dụng một dịch vụ, hoạt động thử nghiệm vẫn tuân thủ các đặc điểm thiết kế của hệ thống.

Hình 22 Cấu hình mã nguồn dịch vụ

Một vấn đề xảy ra trong quá trình cài đặt mã nguồn ứng dụng STB cũng như di động là phiên bản Android thông dụng (SDK < 30) không hỗ trợ xử lý số lớn. Trong khi khả năng xử lý số lớn là yêu cầu bắt buộc của thư viện w3j nhằm mục đích đọc phần dữ liệu lưu ở trường data của các giao dịch chuỗi khối. Tính năng này được hứa hẹn sẽ được đưa vào ở phiên bản Android SDK 32, là bản không sẵn có khi thực hiện luận văn này. Vì vậy trong quá trình triển khai, tác giả đã sử dụng phương án thay thế, là tạo dịch vụ web Tx, cho phép gọi truy vấn thông tin giao dịch. Dịch vụ này có tính năng đệm dữ liệu, tương đương với etherscan.io [22] hiện nay nhưng đơn giản hơn và chuyên biệt cho giao dịch của hệ thống quản lý phân quyền riêng tư. Tính năng đệm dữ liệu được thể hiện ở hai chức năng chính. Thứ nhất đó

58 là khả năng truy vấn vào mạng chuỗi khối tìm kiếm các thông tin theo mục đích và lưu trữ đệm lại kết quả tìm được theo từng chỉ mục sắp xếp riêng. Đây là tính năng rất quan trọng khi làm việc với mạng chuỗi khối vì dữ liệu trên mạng được lưu trữ tuần tự thời gian, việc truy vấn cũng như sắp xếp theo mục đích sử dụng có hiệu suất rất thấp. Đồng thời, vì dữ liệu trên mạng chuỗi khối là minh bạch và bất biến, các đệm dữ liệu thu thập được có độ chính xác cao, không sai khác so với dữ liệu gốc. Tính năng thứ hai là cung cấp các giao diện lập trình để các chương trình hay dịch vụ khác có thể gọi tới và lấy dữ liệu một cách dễ dàng. Một ứng dụng phụ của tính năng này là giao diện người dùng trực quan mà etherscan.io [22] đang cung cấp.

4.1.3. Cài đặt trên điện thoại di động

Phần ứng dụng trên điện thoại di động phục vụ hai tính năng chính: • Cung cấp giao diện người dùng thiết lập cấu hình cho người nhận • Cung cấp giao diện người dùng hiển thị dữ liệu được chia sẻ và

các thông báo cảnh báo

Phần này là một ứng dụng người dùng trên nền tảng Android này được thực hiện bằng ngôn ngữ Java, mã nguồn tuân thủ các tiêu chuẩn của một ứng dụng Android cơ bản.

59

Hình 23 Cấu hình mã nguồn ứng dụng di động

4.2. Hoạt động triển khai

4.2.1. Triển khai trên STB

Có hai module chính được triển khai trên STB là dịch vụ TR069Service và Application trong đó:

TR069Service là một dịch vụ chạy trong không gian hệ thống của hệ điều hành, không thể nhìn thấy hay chỉnh sửa bởi người dùng bình thường.

60

Hình 24 Giao diện ứng dụng STB

4.2.2. Triển khai trên dịch vụ đám mây

Do nhu cầu thử nghiệm không đòi hỏi, ứng dụng đám mây không cần thiết phải đưa lên các dịch vụ đám mây hiện hành. Thay vào đó dịch vụ được triển khai trực tiếp ở một máy chủ trong mạng LAN.

Hoạt động của các dịch vụ được kiểm tra thông qua nhật ký hệ thống

Hình 25 Nhật ký hệ thống dịch vụ

4.2.3. Triển khai trên điện thoại di động

Ứng dụng di động được xây dựng thành tập tin APK và cài lên một một số thiết bị di động.

61 Giao diện được cung cấp đơn giản như hình dưới đây:

62

CHƯƠNG 5: THỬ NGHIỆM VÀ ĐÁNH GIÁ 5.1. Kịch bản thử nghiệm

5.1.1. Kịch bản chia sẻ

Đây là kịch bản cơ bản nhất đánh giá khả năng ứng dụng của giải pháp. Người dùng sử dụng STB thiết lập cấu hình chia sẻ khác nhau với hai người dùng khác. Từ ba máy điện thoại khác nhau, đăng nhập sử dụng 3 định danh (một của người chia sẻ, hai của hai người được chia sẻ) nhận được các đoạn nhật ký hoạt động của hệ thống khác nhau. Người dùng chia sẻ dữ liệu sẽ nhận được toàn bộ nhật ký trong khi hai người dùng được thiết lập chỉ nhận được một phần tương ứng với đúng phần mình được chia sẻ. Quá trình chia sẻ diễn ra liên tục trong thời gian thực song hành cùng quá trình sử dụng STB. Thiết bị của hai người dùng ban đầu khi chưa được chia sẻ dữ liệu không nhận được nhật ký. Chỉ sau khi được thiết lập chia sẻ mới nhận được dữ liệu nhật ký. Tiếp đó người dùng chia sẻ tuần tự thay đổi cấu hình chia sẻ của mình, bao gồm việc tắt chia sẻ thông tin. Thiết bị của hai người dùng nhận chia sẽ không nhận được thông tin nhật ký nữa.

5.1.2. Kịch bản cảnh báo

Kịch bản cảnh báo được xây dựng khi người dùng muốn chia sẻ một loại dữ liệu của mình ra công khai trong một thời gian ngắn nhất định, phục vụ nhu cầu tìm kiếm. Chỉ những người dùng đặc biệt mới nhận được thông báo về sự cập nhật này. Khi hết thời gian chia sẻ, người dùng đặc biệt sẽ tiếp tục nhận được thông báo cần xóa dữ liệu tương ứng. Đồng thời dịch vụ lưu trữ cũng tiến hành xóa lưu trữ với khối dữ liệu tương ứng. Tất cả hoạt động đều được ghi nhận trên mạng chuỗi khối.

5.2. Kết quả thử nghiệm

Ngoài việc đánh giá khả năng hiện thực của các kịch bản, việc thử nghiệm còn thu thập các thông số hiệu năng tương ứng bao gồm:

• Chi phí: bao gồm chi phí dung lượng đường truyền tăng thêm trên lưu lượng dữ liệu và chi phí cho các tác vụ thay đổi cấu hình.

• Độ trễ cập nhật là khoảng thời gian tính từ lúc thay đổi cấu hình tới khi cấu hình mới được cập nhật tới các bên liên quan.

Hoạt động được lựa chọn tập trung đánh giá là hai hoạt động cốt lõi của hệ thống là hoạt động cập nhật phân quyền và hoạt động cập nhật mã

63 khóa mục. Đây là hai hoạt động mà hiệu năng của nó ảnh hưởng tới toàn bộ các giao tiếp trong hệ thống.

5.2.1. Cập nhật phân quyền

Trong chuỗi các hoạt động của quy trình phân quyền và chia sẻ dữ liệu thì đây là hoạt động mới, cũng là cốt lõi quyết định hiệu năng làm việc. Các phần hoạt động còn lại đều dựa theo các giao thức tiêu chuẩn hiện hành với hiệu năng đã biết. Vì vậy chúng ta cần phải đánh giá hiệu quả của hoạt động phân quyền dựa trên hai yếu tố cơ bản là chi phí và độ trễ. Nếu chi phí là quá lớn, thì dù giao thức có là an toàn và bảo mật, khả năng ứng dụng vào thực tế là không cao. Đồng thời ta cần xét tới mối tương quan giữa chi phí và kích thước dữ liệu trao đổi, để tìm ra điểm hiệu quả nhất cho việc thiết kế dữ liệu. Với thông số độ trễ, ta đánh giá được mức độ ổn định của giải pháp cũng như xác định được những giới hạn phi tính năng của mô hình ứng dụng.

Kết quả được đo trên 1184 lần thay đổi cấu hình chia sẻ của người dùng với lượng thay đổi từ một phần đơn vị tới toàn bộ cấu hình. Biểu đồ phân tích ở hình 25 dưới đây được sắp xếp theo thứ tự tăng dần của kích thước dữ liệu.

Hình 27 Biểu đồ phân bổ chi phí theo dung lượng

Thứ nhất, ở mối quan hệ giữ kích thước dữ liệu và chi phí. Khi kích thước dữ liệu tăng 42% từ 1070 tới 1525 (Byte) thì chi phí tăng 16% từ 37000 tới 42936 (Gas). Khi tốc độ tăng của chi phí ở mức dữ liệu này nhỏ hơn mức

64 độ tăng dữ liệu, mô hình có khả năng mở rộng cao, việc tăng cường các hạng mục quản lý và độ phức tạp dữ liệu tăng hiệu quả sử dụng tài nguyên.

Thứ hai, không hề có một mối liên hệ nào giữa kích thước dữ liệu và thời gian hoàn thành giao dịch. Có sự khác biệt rất lớn giữa thời gian tối thiểu (23.5 giây) với thời gian tối đa (206.7 giây). Điều này ảnh hưởng bởi hiệu năng của mạng chuỗi khối.

Dựa trên các thông số đo đạc, ta có được bảng trung bình hiệu năng và chi phí của hoạt động như sau:

Mục Thời gian cập nhật Chi phí trên 1MB dữ liệu

Trung bình 43.6 giây 0.047 eth Tối thiểu 23.5 giây 0.042 eth

Tối đa 206.7 giây 0.052 eth

Bảng 14 Hiệu năng cập nhật phân quyền

5.2.2. Cập nhật mã khóa mục

Để đảm bảo tính minh bạch của hệ thống, bất kỳ hoạt động nào đều cần lưu vết trên mạng chuỗi khối, đây cũng là phần mới hệ thống đề xuất so với các giải pháp so sánh hiện hành. Vì vậy cần đánh giá hiệu năng cũng như chi phí của hoạt động này, xem mức độ ảnh hưởng của nó lên toàn bộ các hoạt động của hệ thống.

Hiệu năng được đo trên 70 lần cập nhật toàn bộ khóa mục của người dùng. Khóa loại được lưu bảo mật trên dịch vụ riêng tư nhưng mọi giao dịch thay đổi đều phải lưu vết minh bạch trên mạng chuỗi khối.

65

Hình 28 Biểu đồ thời gian trễ theo dung lượng

Do mẫu dữ liệu lưu vết không có sự thay đổi lớn về kích thước nên chi phí gas của tất cả các giao dịch là tương đương mức 0.045 eth cho 1MB dữ liệu vết. Tuy nhiên thời gian hoàn thành giao dịch cũng rất bất ổn, thấp nhất là 23.7 giây trong khi cao nhất là 160.8 giây.

5.3. Đánh giá

Với các kết quả thu được, có thể thấy được tiềm năng rất lần của việc áp dụng và mở rộng kiến trúc hệ thống đề xuất vào triển khai thực tế với chi phí nhỏ và độ trễ chấp nhận được. Tuy nhiên hiệu năng ghi dữ liệu không ổn định dẫn tới việc thiết kế các tính năng mở rộng cần đảm bảo khả năng chịu

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 60)

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

(88 trang)