Skip to content Skip to sidebar Skip to footer

UniMe là một ứng dụng trò chuyện bảo mật toàn cầu và trung tâm AI Chatbot / Blockchain. Đây là một trong những ứng dụng của Uniworld cung cấp một cách dễ dàng cho người dùng cuối tương tác với hệ sinh thái của Uniworld. UniMe có thể được sử dụng như một ứng dụng nhắn tin thông thường ngoại trừ việc tất cả các cuộc trò chuyện, dữ liệu, âm thanh / video đều được mã hóa từ đầu đến cuối, để chỉ những người tham gia mới có thể giải mã và hiểu nội dung của các cuộc trò chuyện, cuộc gọi âm thanh / video. Hơn nữa, người dùng có thể sử dụng UniMe để tạo Chatbot hoặc tạo bảo tồn chatbot, tương tác với các hệ thống Bot và AI cũng như quản lý ví blockchain / tiền điện tử, hợp đồng thông minh và các ứng dụng phi tập trung của họ. Trong bài đăng, hãy cùng khám phá cách UniMe triển khai ứng dụng trò chuyện end-to-end được bảo mật.

Ứng dụng trò chuyện end-to-end bảo mật UniMe được thực hiện theo giao thức TextSecure (được gọi là giao thức Signal). Giao thức có thể được chia thành ba loại giai đoạn:

  • Trao đổi khóa ban đầu, hoặc giao thức X3DH (bộ ba mở rộng Diffie-Hellman) [3], kết hợp các khóa Diffie-Hellman dài hạn, trung hạn và tạm thời để tạo ra giá trị “gốc” bí mật được chia sẻ.
  • Một giai đoạn bánh cóc không đối xứng, nơi người dùng luân phiên gửi các khóa Diffie-Hellman tạm thời mới theo kiểu bóng bàn với các khóa gốc đã tạo trước đó để tạo các khóa chuỗi bí mật chuyển tiế
  • Giai đoạn bánh cóc đối xứng, nơi người dùng không mất thêm entropy mà thay vào đó sử dụng các chức năng dẫn xuất khóa để bánh cóc chuyển tiếp các khóa chuỗi để tạo khóa mã hóa đối xứ

Mỗi tin nhắn do người dùng gửi đều được mã hóa bằng khóa tin nhắn mới, khóa này cố gắng cung cấp mức độ bí mật cao về phía trước. Mô hình bóng bàn của các phím Diffie-Hellman phù du mới đưa thêm entropy vào quá trình này, nhằm mục đích liên tục đạt được bí mật hoàn hảo về phía trước cũng như bảo mật sau thỏa hiệp

Như đã nêu ở trên, Chúng ta có thể phân chia giao thức như một giao thức trao đổi khóa được xác thực nhiều giai đoạn.

Hình 1. Một cây các giai đoạn từ một lần thực thi ví dụ. Nội dung của mỗi nút là tên sân khấu và khóa phiên được tạo ra trong giai đoạn này.

Giao thức trao đổi khóa được xác thực nhiều giai đoạn có các bước chính sau:

  • Đăng ký: Khi cài đặt (và định kỳ sau đó), cả Alice và Bob đều đăng ký danh tính của họ một cách độc lập với máy chủ phân phối khóa và tải lên một số khóa công khai dài hạn, trung hạn và tạm thờ
  • Thiết lp phiên: Alice yêu cầu và nhận một bộ khóa công khai của Bob từ máy chủ phân phối khóa và sử dụng chúng để thiết lập phiên nhắn tin tồn tại lâu dài và thiết lập khóa mã hóa đối xứng ban đầ Đây được gọi là bắt tay TripleDH hoặc X3DH.
  • Nhn tin đng b:(hay còn gọi là cập nhật bánh cóc không đối xứng) Khi Alice muốn gửi tin nhắn cho Bob (hoặc ngược lại) và vừa nhận được tin nhắn từ Bob, cô ấy sẽ trao đổi các giá trị Diffie – Hellman với Bob, tạo ra các bí mật được chia sẻ mới và sử dụng chúng để bắt đầu chuỗi khóa tin nhắn mớ Mỗi hoạt động DH là một giai đoạn của “bánh cóc không đối xứng” (và diễn ra đúng theo kiểu bóng bàn).
  • Nhn tin không đng b:(hay còn gọi là bánh cóc đối xứng). Khi Alice muốn gửi tin nhắn cho Bob (hoặc ngược lại) nhưng không nhận được tin nhắn từ Bob kể từ lần gửi tin nhắn cuối cùng cho Bob, cô ấy lấy một khóa mã hóa đối xứng mới từ trạng thái trước đó bằng PRF. Mỗi ứng dụng PRF là một giai đoạn của “bánh cóc đối xứng”

Hình 2. Luồng thông báo của một ví dụ thực thi giữa hai máy khách A và B thông qua máy chủ S. Ký hiệu và một số thao tác đã được đơn giản hóa để rõ ràng hơn so với việc sử dụng sau này.

UniMe tuân theo kiến ​​trúc microservice để có quy mô và quản lý tốt hơn. Hình ảnh sau đây minh họa kiến ​​trúc UniMe ở cấp độ cao.

Hình 3. Kiến trúc cấp cao của ứng dụng UniMe

UniMe đã kết thúc giai đoạn phát triển đầu tiên, Ứng dụng có sẵn trong cửa hàng Goolge play , Bạn có thể tải về tại đây . IOS sẽ sớm ra mắt.

Nguồn dịch: https://medium.com/uniworld-io/how-unime-implement-the-secured-end-to-end-chat-app-703305916ad7
– Tom code –

Viết bình luận