Các tiến trình chính của hệ thống

Một phần của tài liệu Ứng dụng blockchain vaf merkle tree để tăng cường bảo mật dữ liệu trong mô hình xác thực dựa trên thuộc tính người dùng (Trang 94 - 99)

5.3 Các tiến trình chính của hệ thống

Dựa trên kiến trúc tổng quan của hệ thống, có thể nhận ra các tiến trình chính của hệ thống bao gồm: tiến trình đăng ký và tiến trình xác thực. Các tiến trình này giữ vai trò quan trọng và là xương sống của toàn bộ mô hình xác thực đề xuất.

Những điểm nổi bật trong các tiến trình này được tóm tắt như sau:

• Người dùng luôn là chủ sở hữu và có quyền kiểm soát tuyệt đối dữ liệu cá nhân của mình.

• Quá trình xác thực câu trả lời của người dùng được tiến hành On-chain, điều này giúp cho quá trình này được minh bạch và đạt được độ chính xác cao.

• Với khả năng chống thay đổi dữ liệu của mình, Blockchain thể hiện vai trò lưu trữ giá trị đại diện Merkle Root và Hash ID của Merkle Proof được lưu trữ trên IPFS thông qua các Hợp đồng thông minh tương ứng với người dùng.

5.3.1 Tiến trình đăng ký tài khoản

Tiến trình đăng ký tài khoản là một trong những tiến trình quan trọng nhất của mô hình xác thực đề xuất. Tại đây, hồ sơ cá nhân của người dùng sẽ được tạo mới và lần đầu tiên bằng chứng của hồ sơ này được cập nhật vào mạng lưới Blockchain thông qua lời gọi chức năng addP roof, và thông tin này sẽ nhằm phục vụ cho tiến trình xác thực trong những lần người dùng truy cập vào hệ thống vào những lần sau.

Các thành phần chính tham gia vào tiến trình đăng ký bao gồm:

• Người dùngU ser, với tài khoản Ethereum do người dùng sở hữuEOAU ser

• Nhà cung cấp dịch vụP rovider

• Mạng lưới Blockchain Ethereum

• Hợp đồng thông minh của nhà cung cấp dịch vụ CAP rovider với các chức năng chính addT rustedU ser,verif yAnswer, verif ySignature

5.3. Các tiến trình chính của hệ thống

• Hợp đồng thông minh của người dùng CAU ser với các chức năng chính updateP roof, getP roof

• Hệ thống tập tin liên hành tinhIP F S

Hình 5.9: Tiến trình đăng ký tài khoản

Sơ đồ được thể hiện trong Hình 5.9 đã trực quan hoá tiến trình đăng ký một cách rõ ràng, gồm các bước sau:

• Bước 1: Người dùng yêu cầu đăng ký sử dụng hệ thống. Người dùng tạo một hợp đồng thông minh mới CAU ser để lưu trữ hồ sơ cá nhân của mình với chủ sở hữu là tài khoản Ethereum của họ EOAU ser.

• Bước 2: Nhà cung cấp dịch vụ gửi bộ câu hỏi hồ sơ prof ileQuestions cho người dùng và yêu cầu người dùng trả lời.

5.3. Các tiến trình chính của hệ thống

• Bước 3: Người dùng trả lời câu hỏi.

• Bước 4: Người dùng xây dựng Merkle Tree và ký vào giá trị Merkle Root.

Sau đó, lưu trữ chữ ký của Merkle Root, Merkle Root & Merkle Proof trong tài khoản hợp đồng của người dùng thông qua lời gọi chức năng addP roof của hợp đồng thông minh CAU ser.

• Bước 5: Người dùng gửi địa chỉ Tài khoản Hợp đồngaddressCAU ser và Tài khoản Ethereum do người dùng sở hữu addressEOAU ser cho nhà cung cấp dịch vụ.

• Bước 6: Nhà cung cấp dịch vụ lưu các địa chỉ của người dùng mới trong Tài khoản hợp đồng của họ thông qua lời gọi chức năng addT rustedU ser của hợp đồng thông minh CAP rovider.

5.3.2 Tiến trình xác thực người dùng

Một trong những đóng góp lớn nhất của đề tài chính là cải tiến những điểm yếu của tiến trình xác thực người dùng trong phương pháp tiếp cận PBA truyền thống. Với hướng tiếp cận sử dụng hợp đồng thông minh để thực thi quá trình xác thực, quá trình này sẽ đảm bảo được tính chính xác và an toàn tuyệt đối, không thể bị tấn công để thay đổi kết quả xác thực. Khi đó các thành phần chính tham gia vào tiến trình này bao gồm:

• Người dùngU ser, với tài khoản Ethereum do người dùng sở hữuEOAU ser

• Nhà cung cấp dịch vụP rovider

• Mạng lưới Blockchain Ethereum

• Hợp đồng thông minh của nhà cung cấp dịch vụ CAP rovider với các chức năng chính addT rustedU ser,verif yAnswer, verif ySignature

• Hợp đồng thông minh của người dùng CAU ser với các chức năng chính updateP roof, getP roof

• Hệ thống tập tin liên hành tinhIP F S

5.3. Các tiến trình chính của hệ thống

Hình 5.10: Tiến trình xác thực người dùng

Trong kịch bản hệ thống trực tuyến, trước khi truy cập vào tài nguyên hệ thống, người dùng sẽ được yêu cầu đăng nhập bằng tên người dùng và mật khẩu.

Nếu có bất kỳ dấu hiệu bất thường trong quá trình sử dụng hệ thống, người dùng sẽ được yêu cầu trả lời các câu hỏi thử thách để xác thực quyền sở hữu tài khoản hợp pháp của người dùng. Quá trình xác thực người dùng được hiển thị trong Hình 5.10 với các bước chính sau:

• Bước 1: Người dùng được yêu cầu đăng nhập bằng username/password hoặc thông địa chỉ Ethereum của mình userEtherAddress

• Bước 2: Nhà cung cấp dịch vụ gửi một số câu hỏi thử tháchchallengeQuestion cho người dùng

• Bước 3: Người dùng trả lời câu hỏi, tính toán giá trị băm cho mỗi câu trả lời tương ứng và ký vào giá trị băm đó bằng khóa riêng của người dùng

• Bước 4: Người dùng gửi tập hợp các câu trả lời cùng với chữ ký {hash(userAnswers),userSignature} cho nhà cung cấp dịch vụ

5.3. Các tiến trình chính của hệ thống

• Bước 5: Nhà cung cấp dịch vụ lấy thông tin hồ sơ của người dùng từCAU ser thông qua lời gọi chức nănggetP roofIP F S. Sau đó, xác minh câu trả lời của người dùng thông qua lời gọi chức năngverif yAnswer,verif ySignature của hợp đồng thông minh CAP rovider

• Bước 6: Nhà cung cấp dịch nhận kết quả xác minh từ hợp đồng thông minh CAP rovider và chấp nhận/từ chối quyền truy cập của người dùng

6 Hiện thực và thực nghiệm

Một phần của tài liệu Ứng dụng blockchain vaf merkle tree để tăng cường bảo mật dữ liệu trong mô hình xác thực dựa trên thuộc tính người dùng (Trang 94 - 99)

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

(122 trang)