Kiểm tra tính tin cậy của các cookie

Một phần của tài liệu Đảm bảo công bằng trong các ứng dụng cộng tác ngang hàng (Trang 45)

Để có thể đảm bảo được tính tin cậy của cookie trong mỗi giao dịch thì cần đảm bảo các điều kiện sau đây:

a) Những người sử dụng hệ thống dựa vào cookie đều có định danh rõ ràng và không đổi. Điều này có thể thực hiện được bằng cách:

+ Qua sự xác minh cặp khóa riêng/khóa công cộng. Hiện nay có thể sử dụng phần mềm trong việc tạo ra cặp khóa theo chuẩn RSA, một trong những phần mềm nổi tiếng đó là PGP. Ở Việt Nam cho đến thời điểm này Bộ Công thương là chủ quản qui định về vấn đề đăng kí, sử dụng, giải quyết các vấn đề về sử dụng chữ kí số theo chuẩn RSA.

+ Qua chứng thực được phát ra từ một ủy quyền b) Có một máy danh tiếng trong hệ thống P2P:

+ Phát hiện được các hành vi gian lận mà các máy kĩ thuật không thể phát hiện được.

+ Gán một giá trị danh tiếng cho mỗi máy để đại diện tính tin cậy của máy đó như sau: Mỗi máy phát ra các nhãn cá nhân dùng để giao dịch với các

-46- máy khác. Nếu máy A yêu cầu một dịch vụ từ máy B, máy A sẽ trả lại cho máy B một số các nhãn của máy B. Trong kiểu giao dịch này không có sự giới hạn việc một máy được phép phát ra bao nhiêu nhãn. Tuy nhiên nếu phát ra quá nhiều nhãn thì trong sự so sánh các dịch vụ được trả giá của nó, các nhãn sẽ không có giá trị, đồng thời các máy sẽ khó khăn trong việc kiếm được các nhãn khác, theo lí các nút sẽ không mong muốn tậu các nhãn của nó (càng nhiều nhãn thì càng phải cung cấp nhiều dịch vụ). + Theo cách này, giao thức các nhãn kết hợp 1 đồng tiền ảo và 1 máy danh tiếng.

Có 3 giao thức cơ bản của hệ thống kiểm soát dựa trên cookie: Thu nạp

cookie, kiểm tra tiêu thụ kép và thanh toán.

3.4.1. Thu nạp cookie

Xử lí thu nạp cookie là thay đổi các cookie ngoài mà một máy tập hợp được thành những cookie mới được phát hành bởi máy đó. Việc này tựa như các ngân hàng ủy quyền thanh toán cho khách hàng của mình thông qua các giao dịch không cùng ngân hàng, khi một khách hàng chuyển/rút tiền tài khoản của mình (tài khoản thuộc ngân hàng A) qua tài khoản khác (thuộc ngân hàng B), chẳng hạn tại các cây ATM. Có 8 bước của thủ tục thu nạp cookie:

-47- (1): Máy thay đổi EP xác định một máy tin cậy TP.

Các máy tin cậy có đủ tư cách để thay đổi các cookie và xử lí thành phần của khóa riêng của hệ thống.

(2): Máy EP gửi tập N các cookie ngoài (Fn1, Fn2, …, FnN) được nó tập hợp tới máy TP.

Máy TP kiểm tra các cookie ngoài theo sự hợp lệ của nó. Chỉ những cookie được kí bởi người chủ và tiêu thụ chỉ một lần là có hiệu lực thay đổi.

(3): Máy TP sử dụng hàm thu nạp M=A (Fn1, Fn2, …, FnN) tính toán M cookie mới máy EP phải nhận lại đối với các cookie ngoài. Đó là M cookie chưa được kí (Un1, Un2, …, UnM).

Hàm thu nạp M là tổng quát và có thể thi hành đối với form bất kì.

(4): Máy TP xác định các máy tin cậy ở xa. Lúc này máy EP không được phép chọn các máy đại diện tin cậy nữa, nhằm giảm sự gian lận cộng tác tiềm tàng. Số các máy tin cậy được yêu cầu để kí một cookie được xác định bằng việc sử dụng sơ đồ chia sẻ bí mật. Độ tin cậy của hệ thống tăng tỉ lệ với kích cỡ số các máy tin cậy.

(5): Máy TP gửi các cookie mới tới các máy tin cậy này.

(6): Mỗi máy tin cậy mới này kí các cookie bằng khóa riêng của hệ thống của nó.

(7): Các cookie (Pn1, Pn2, …, PnM) được vận chuyển ngược trở lại máy EP.

(8): Kết thúc, máy EP tổ chức các cookie riêng thành các cookie mới (Tn1, Tn2, …, TnM)

Tính chất quan trọng của hàm thu nạp làm tăng thêm độ tự do trong hệ thống. Với một hàm thu nạp thích hợp, các hệ thống kinh tế đặc trưng có thể được vận hành.

3.4.2. Kiểm tra tiêu thụ kép

- Điều kiện kiểm tra: Cookie phải có định danh rõ ràng

-48- + Mỗi máy có một tập các máy nắm giữ tài khoản được tổ chức theo bảng băm phân tán (DHT), ví dụ như bảng băm Pastry.

+ Các máy nắm giữ tài khoản nắm giữ một danh sách các cookie hiện tại được phát hành tới người sở hữu tài khoản. Danh sách được điền thêm thông tin yêu cầu trong khi thu nạp cookie.

+ Sau khi một cookie mới được tạo (bước 3-thu nạp cookie), máy TP gửi danh sách các cookie mới này tới các máy nắm giữ tài khoản (EP) (bước 3-kiểm tra cookie).

+ Trong khi cookie được kiểm tra tính hiệu lực (theo thủ tục thu nạp cookie), máy TP sẽ yêu cầu các máy nắm giữ tài khoản chịu trách nhiệm đối với cookie, nếu cookie có hiệu lực (bước 2-kiểm tra cookie).

+ Các máy nắm giữ tài khoản sẽ di rời cookie từ danh sách. Nếu cookie không ở trong danh sách, nó là một cookie không có hiệu lực. Máy TP sẽ hủy bỏ cookie và cơ cấu danh tiếng sẽ được thông báo về tình trạng này.

- Tránh thông báo lừa lọc (adsbygoogle = window.adsbygoogle || []).push({});

+ Thông báo gửi đến máy nắm giữ tài khoản phải được kí với khóa riêng của người gửi.

-49- + Tất cả những máy nắm giữ tài khoản đối với một tài khoản xác định thực hiện trao đổi danh sách bất cứ khi nào tập các máy nắm giữ tài khoản thay đổi.

+ Thay đổi tập nắm giữ này chỉ khi các máy của tập này kết nối hoặc rời khỏi hệ thống.

Kiểm tra nhất quán chỉ cần thiết nếu người gửi không nhận được tất cả các thông báo xác nhận.

3.4.3. Đánh giá về an toàn và tin cậy

Mục đích

- Làm cho việc sử dụng cơ cấu kiểm soát để cung cấp thông tin được chính xác.

- Hệ thống dựa trên cookie được thiết kế để cung cấp độ tin cậy ở mức cao đối với các hệ thống phân tán.

Sự ăn cướp

- Các cookie được thiết kế để thích nghi với sự ăn cướp.

+ Các cookie chứa định danh của chủ sở hữu và không thể thay đổi được khi bị phát hiện bên ngoài nhờ chữ kí hệ thống.

+ Các cookie tiêu thụ chứa người nhận cookie, được bảo mật nhờ chữ kí của người sở hữu.

Sự giả mạo

- Cookie phải chắc chắn chỉ được người chủ hoặc ủy quyền phát hành tạo ra và phải được kí bởi khóa riêng của nó.

- Chữ kí hệ thống trong mỗi một cookie là cơ sở đảm bảo dữ liệu của cookie không bị thay đổi và các máy khác không thể tạo được các cookie như vậy.

+ Chữ kí hệ thống ngăn cản giả mạo và quyết định độ tin cậy của hệ thống.

+ Cũng cần tránh sự cố ý lừa gạt.

Tiêu thụ kép

- Việc xác định tiêu thụ kép dựa vào việc nắm giữ dữ liệu ở những máy nắm giữ tài khoản.

-50- - Người sử dụng có thể làm sai lệch danh sách cookie của họ ở máy nắm giữ tài khoản hoặc di chuyển các cookie từ danh sách cookie của những máy khác. Điều này tránh được vì:

- Ngăn không cho phép các máy gửi bất kì truy vấn hoặc đòi hỏi nào tới danh sách tài khoản.

- Các vi phạm luật được báo cáo tới máy danh tiếng của hệ thống. - Bằng thủ tục thu nạp cookie.

- Trường date and time được tạo theo mili giây và là số tuần tự ngẫu nhiên, rất khó đoán được chính xác.

- Các hệ thống dựa trên cookie lưu trữ các cookie cục bộ (tự backup, luôn nghĩ tiêu thụ kép bị phát hiện).

- Cookie phải được nhận biết rõ ràng: có định danh duy nhất, có thông tin kiểm soát như trong cookie có quy định về tên, loại ứng dụng, dung lượng ứng dụng chia sẻ,…

- Có cơ cấu xây dựng trong hệ thống kiểm soát để kiểm tra.

Một phần của tài liệu Đảm bảo công bằng trong các ứng dụng cộng tác ngang hàng (Trang 45)