Sách trắng bảo mật · v1.0

Kiến trúc bảo mật của Remio, nói thẳng.

Cập nhật lần cuối 2026-05-01·~15 phút đọc·Phiên bản 1.0

§01 · Tóm tắt tổng quan

Remio là một ứng dụng remote desktop dựng trên kiến trúc zero-knowledge, ngang hàng (peer-to-peer). Nội dung màn hình, dữ liệu nhập và luồng âm thanh được mã hoá đầu-cuối giữa các thiết bị bằng DTLS-SRTP chuẩn ngành với AES-256. Khác với các giải pháp tập trung, server signaling của Remio chỉ hỗ trợ thiết lập kết nối ban đầu — nó không bao giờ nhìn thấy, xử lý hay lưu trữ dữ liệu phiên.

Không cần tài khoản, không có mật khẩu nào để bị xâm phạm, không có cơ sở dữ liệu thông tin đăng nhập tập trung. Ghép cặp thiết bị dùng PIN được xác minh bằng khoảng cách gần, và mọi khoá đều phù du (ephemeral) với Perfect Forward Secrecy: kể cả khi một khoá bị lộ, các phiên trước và sau vẫn an toàn về mặt mật mã. Kiến trúc này loại bỏ trọn những nhóm tấn công từng gây khốn đốn cho đối thủ — vì đơn giản là chẳng có gì để đánh cắp.

Điểm mấu chốt

Remio không thể truy cập dữ liệu của bạn — không phải vì chính sách, mà vì toán học. Kiến trúc khiến việc giải mã nội dung phiên về mặt cấu trúc là bất khả với bất kỳ ai ngoài hai thiết bị đã ghép cặp.

§02 · Mô hình mối đe doạ

Kiến trúc bảo mật của Remio được thiết kế để chống lại một tập hợp các kịch bản đe doạ liên quan tới việc dùng remote desktop trong cả bối cảnh doanh nghiệp lẫn cá nhân. Chúng tôi nói rõ mình bảo vệ chống lại điều gì và ranh giới tin cậy nằm ở đâu.

Những mối đe doạ chúng tôi bảo vệ chống lại

Ranh giới tin cậy

Mô hình mối đe doạ của chúng tôi định nghĩa rõ ba ranh giới tin cậy:

  1. Ranh giới thiết bị. Mỗi thiết bị chỉ được tin cậy sau khi xác minh PIN. Các lớp bảo vệ cấp hệ điều hành (sandboxing, Keychain, Secure Enclave) bảo vệ dữ liệu trên thiết bị.
  2. Ranh giới mạng. Mọi dữ liệu khi truyền đều được mã hoá. Chúng tôi giả định mạng là thù địch.
  3. Ranh giới server. Chính server của chúng tôi được coi là relay không đáng tin. Chúng hỗ trợ kết nối nhưng không thể xem nội dung.

§03 · Tổng quan kiến trúc

Remio tách tầng signaling (thiết lập kết nối) khỏi tầng dữ liệu (streaming). Sự tách biệt này là nền tảng cho thiết kế zero-knowledge của chúng tôi — server giúp bạn kết nối không bao giờ chạm tới dữ liệu bạn trao đổi.

Client
App iOS / macOS
Thiết bị xem
Signaling
Server WebSocket
Chỉ relay — không lưu trữ
Host
App host macOS
Thiết bị nguồn
Hình 3.1 — Thiết lập kết nối P2P. SDP offer/answer được chuyển tiếp qua WSS; một khi đã thiết lập, server signaling không còn tham gia nữa.
Signaling
TLS 1.3 + ECDHE
Truyền tải WSS
Media
SRTP / AES-256
Video + audio
Kênh dữ liệu
DTLS 1.2+
Nhập liệu, bàn phím, con trỏ, cấu hình
Hình 3.2 — Các lớp mã hoá tầng dữ liệu. Ba ống mật mã độc lập; một cái bị xâm phạm không làm ảnh hưởng cái còn lại.

Tầng signaling và tầng dữ liệu

Trách nhiệm duy nhất của server signaling là chuyển tiếp SDP offer/answerICE candidate giữa các thiết bị trong lúc thiết lập kết nối. Một khi kết nối P2P đã thiết lập, server signaling không còn tham gia nữa.

// Signaling message types (FlatBuffers schema) — signaling.fbs
table SignalingMessage {
    type: MessageType;     // SDP_OFFER, SDP_ANSWER, ICE_CANDIDATE
    payload: [ubyte];      // Opaque to server — encrypted content
    device_id: string;     // Source device identifier
    room_id: string;       // Session room
    timestamp: uint64;     // Unix timestamp
}

Server không thể phân tích nội dung payload — đó là một khối nhị phân (binary blob) mà chỉ thiết bị đích mới diễn giải được. Giao thức nhị phân FlatBuffers bổ sung một lớp cấu trúc khiến các tấn công tiêm (injection) khó hơn so với signaling dựa trên JSON.

§04 · Các lớp mã hoá

Remio áp dụng chiến lược mã hoá nhiều lớp, trong đó mỗi kênh truyền thông dùng giao thức mật mã phù hợp nhất với yêu cầu của nó.

LớpGiao thứcMã / đường congBao phủ
Truyền tảiDTLS 1.2+ECDHE + AES-256-GCMNhập liệu, bàn phím, con trỏ, cấu hình, dock
MediaSRTPAES-256 counter modeLuồng video và audio
SignalingTLS 1.3 (WSS)ECDHE-RSA + AES-256-GCMSDP, ICE candidate, tham gia room
Trao đổi khoáECDHE (PFS)P-256 / X25519Mọi khoá phiên, mỗi phiên

Perfect forward secrecy

Mỗi phiên Remio sinh ra một bộ khoá mã hoá phù du (ephemeral) độc nhất thông qua trao đổi khoá ECDHE.

Bộ mã (cipher suite)

# Supported TLS 1.3 cipher suites (in order of preference)
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256

# DTLS cipher suites
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

Xoay vòng khoá

Khoá được tự động xoay vòng tại các mốc sau:

§05 · Xác thực và ghép cặp

Remio cố ý tránh xác thực tên-người-dùng/mật-khẩu truyền thống. Thay vào đó, chúng tôi dùng mô hình ghép cặp thiết bị bằng PIN loại bỏ những vector tấn công phổ biến nhất trong phần mềm remote desktop.

Ghép cặp bằng PIN

Khi một client muốn kết nối tới host lần đầu, quy trình diễn ra như sau:

  1. Host hiển thị một mã PIN số ngắn trên màn hình (hoặc dưới dạng mã QR).
  2. Client nhập PIN, mã này được gửi tới host qua kênh signaling.
  3. Host xác thực PIN rồi xác nhận hoặc từ chối việc ghép cặp.
  4. Nếu thành công, một quan hệ tin cậy thiết bị được thiết lập.
  5. Các kết nối sau từ cùng thiết bị không cần ghép cặp lại.
// Pairing protocol (FlatBuffers) — pairing.fbs
table PairValidateMessage {
    pin: string;             // PIN entered by client
    client_info: ClientInfo; // Device name, platform, version
}

table PairConfirmMessage {
    confirmed: bool;         // Host's decision
    device_id: string;       // Assigned device identifier
    token: string;           // JWT for future sessions
}
Vì sao không dùng mật khẩu?

Mật khẩu tạo ra một cơ sở dữ liệu thông tin đăng nhập tập trung — một mục tiêu giá trị cao. Ghép cặp bằng PIN đòi hỏi ở gần vật lý (bạn phải nhìn thấy màn hình host), và mã PIN là phù du. Chẳng có gì để lưu, chẳng có gì để xâm phạm, chẳng có gì để lừa (phish).

Mô hình tin cậy thiết bị

Một khi đã ghép cặp, mỗi thiết bị được nhận dạng bằng một device ID độc nhất. Host duy trì một danh sách cục bộ các thiết bị tin cậy. Quan hệ tin cậy này:

Token phiên (JWT)

Sau khi ghép cặp, các token JWT tồn tại ngắn được dùng để xác thực với server signaling:

// JWT token structure — session_token.json
{
    "iss": "remio-signaling",
    "sub": "device_abc123",
    "exp": 1738886400,        // 24h expiry (configurable)
    "iat": 1738800000,
    "alg": "HS256"            // HMAC-SHA256
}

Các token này xác thực một thiết bị với server signaling để tạo room và chuyển tiếp tin nhắn. Chúng không cấp quyền truy cập nội dung phiên — thứ được bảo vệ bằng một lần bắt tay DTLS riêng.

§06 · Thiết kế zero-knowledge

Zero-knowledge không phải một thuật ngữ tiếp thị ở Remio — nó là một ràng buộc kiến trúc. Hệ thống của chúng tôi được thiết kế để nội dung phiên về mặt cấu trúc là không thể truy cập với Remio, nhân viên của Remio, hay bất kỳ bên thứ ba nào.

Server của chúng tôi có thể thấy gì

Server của chúng tôi không thể thấy gì

Bài kiểm tra zero-knowledge

Nếu Remio nhận được trát yêu cầu cung cấp nội dung phiên của một người dùng, chúng tôi sẽ chẳng có gì để giao nộp. Không phải vì chúng tôi đã xoá nó — mà vì chúng tôi chưa từng có nó. Dữ liệu không bao giờ chạm tới hạ tầng của chúng tôi ở dạng có thể giải mã.

Chính sách lưu giữ dữ liệu

Nhờ kiến trúc P2P, trên thực tế chẳng có gì để lưu giữ:

Luồng dữ liệu ưu tiên P2P

Trong đa số kết nối (khi NAT traversal thành công), dữ liệu chảy trực tiếp giữa các thiết bị mà không chạm tới bất kỳ server nào:

# Best case: direct P2P
Client <—— DTLS-SRTP (encrypted) ——> Host
              ↑ No server involvement

# Fallback: TURN relay
Client <— DTLS-SRTP —> TURN server <— DTLS-SRTP —> Host
                            ↑ Still E2E encrypted
                            ↑ Server sees only encrypted blobs

Ngay cả trong kịch bản dự phòng TURN relay, server relay cũng chỉ xử lý các gói đã mã hoá. Nó hoạt động như một đường ống câm — không thể giải mã, xem hay sửa đổi dữ liệu.

§07 · Bảo mật mạng

Thiết lập kết nối P2P

Remio dùng giao thức ICE (Interactive Connectivity Establishment) để tìm đường kết nối tốt nhất có thể giữa các thiết bị:

  1. Host candidate — kết nối LAN trực tiếp trên cùng mạng.
  2. Server-reflexive candidate (STUN) — NAT traversal qua server STUN để tìm ra IP công khai.
  3. Relay candidate (TURN) — relay đã mã hoá khi không thể thiết lập kết nối trực tiếp.

ICE agent thử đồng thời mọi cặp candidate và chọn đường có độ trễ thấp nhất, đáng tin cậy nhất. P2P trực tiếp luôn được ưu tiên.

Chính sách truyền tải có thể cấu hình

// ICE transport policy options — ice_policy.swift
All       // Default — prefer P2P, fall back to relay
Relay     // Force TURN relay (for strict network policies)
NoHost    // Skip host candidates (no LAN)
None      // Disable ICE (testing only)

Giới hạn tần suất (rate limiting)

Server signaling áp dụng giới hạn tần suất mạnh tay để ngăn lạm dụng:

EndpointGiới hạnBurstPhạm vi
Yêu cầu HTTP100/min20Mỗi IP
Kết nối WebSocket10/min3Mỗi IP
Tin nhắn100/sec150Mỗi kết nối
Tạo room5/min2Mỗi thiết bị

Các bộ giới hạn tần suất hết hạn được tự động dọn dẹp mỗi 5 phút với TTL 10 phút, ngăn cạn kiệt bộ nhớ do các tấn công phân tán.

Bảo vệ chống DDoS

Hạ tầng signaling của chúng tôi được Cloudflare bảo vệ, cung cấp:

§08 · Bảo mật client

Remio tận dụng toàn bộ tầng bảo mật của từng hệ điều hành để bảo vệ dữ liệu cục bộ và đảm bảo tính toàn vẹn của ứng dụng.

macOS

iOS

Ký mã & xác minh

# Verify Remio macOS binary — verify_signature.sh
$ codesign --verify --deep --strict "Remio Host.app"
# Remio Host.app: valid on disk

$ spctl --assess --verbose "Remio Host.app"
# Remio Host.app: accepted
# source=Notarized Developer ID
Vì sao điều này quan trọng

Tháng 2/2024, chứng chỉ ký mã của AnyDesk bị đánh cắp trong một vụ xâm nhập. Kẻ tấn công có thể ký mã độc bằng thông tin hợp lệ của AnyDesk. Mô hình tin cậy theo-từng-thiết-bị của Remio nghĩa là không có chứng chỉ trung tâm nào để đánh cắp — mỗi lần ghép cặp thiết bị là độc lập.

§09 · Ứng phó sự cố

Lịch sử bảo mật

Tính đến tháng 2/2026, Remio không có lịch sử vi phạm hay sự cố bảo mật nào. Kiến trúc zero-knowledge của chúng tôi giảm đáng kể bề mặt tấn công — không có cơ sở dữ liệu tập trung về thông tin đăng nhập hay dữ liệu phiên để nhắm tới.

Báo cáo lỗ hổng

Chúng tôi khuyến khích công bố có trách nhiệm từ các nhà nghiên cứu bảo mật. Nếu bạn phát hiện một lỗ hổng tiềm ẩn:

  1. Gửi email tới security@remio.net kèm mô tả chi tiết.
  2. Kèm các bước tái hiện, nếu có.
  3. Chúng tôi xác nhận đã nhận trong vòng 48 giờ.
  4. Chúng tôi đặt mục tiêu khắc phục các lỗ hổng đã xác nhận trong vòng 30 ngày.
  5. Người báo cáo được ghi nhận trong changelog bảo mật của chúng tôi, trừ khi họ muốn ẩn danh.

Chính sách công bố có trách nhiệm

Quy trình ứng phó sự cố

Trong trường hợp có một vấn đề bảo mật đã xác nhận:

  1. Khoanh vùng. Cô lập các hệ thống bị ảnh hưởng trong vòng 1 giờ.
  2. Đánh giá. Xác định phạm vi và tác động trong vòng 24 giờ.
  3. Truyền thông. Thông báo cho người dùng bị ảnh hưởng trong vòng 72 giờ (tuân thủ GDPR).
  4. Khắc phục. Triển khai bản vá qua hạ tầng tự-động-cập-nhật.
  5. Hậu kiểm (post-mortem). Công bố một báo cáo minh bạch.

§10 · Tuân thủ

Sẵn sàng cho GDPR

Kiến trúc zero-knowledge của Remio về bản chất thân thiện với GDPR vì chúng tôi giảm thu thập dữ liệu xuống mức tối thiểu tuyệt đối về mặt kỹ thuật:

Roadmap SOC 2

Đang tiến hành

Chứng nhận SOC 2 Type II nằm trong roadmap 2026-2027 của chúng tôi. Hiện chúng tôi đang thiết lập các kiểm soát tổ chức và tài liệu cần cho quy trình kiểm toán. Với khách hàng doanh nghiệp cần tài liệu tuân thủ ngay bây giờ, hãy liên hệ đội ngũ của chúng tôi để nhận phản hồi bảng câu hỏi bảo mật chi tiết.

Các cột mốc tuân thủ đã lên kế hoạch

Nơi lưu trú dữ liệu

Vì Remio ưu tiên P2P, dữ liệu phiên nằm ở bất cứ nơi nào thiết bị của bạn ở đó. Dữ liệu của bạn không bao giờ rời khỏi kết nối trực tiếp giữa các thiết bị của bạn. Server signaling (đặt tại Cloudflare và DigitalOcean) chỉ xử lý metadata kết nối — và metadata này không gắn với bất kỳ thông tin cá nhân nào.

§11 · So sánh với các lựa chọn khác

Ngành remote desktop từng khốn đốn vì những vụ vi phạm bảo mật đình đám. Đây là cách kiến trúc của Remio khác biệt căn bản so với các lựa chọn tập trung.

Khía cạnhAnyDeskTeamViewerParsecRemio
Kiến trúcTập trungTập trungTập trung (Unity)Ưu tiên P2P
Cần tài khoảnKhông
Định tuyến dữ liệuServer nhà cung cấpServer nhà cung cấpServer nhà cung cấpP2P trực tiếp
Mã hoá đầu-cuốiTLS (server giữ khoá)TLS (server giữ khoá)DTLS-SRTPDTLS-SRTP
Zero-knowledgeKhôngKhôngMột phầnĐầy đủ
Vi phạm đã biếtTháng 2/2024Tháng 6/2024Chưa công khaiKhông
Tác động vi phạmMọi người dùng (mất chứng chỉ)Mạng doanh nghiệp (APT29)Chỉ thiết bị cá nhân
Nhà cung cấp truy cập dữ liệuCó thểCó thểCó thể (Unity)Bất khả
Giao thức mởĐộc quyềnĐộc quyềnĐộc quyềnFlatBuffers

Vì sao kiến trúc tập trung thất bại

Vấn đề căn bản của các dịch vụ remote desktop tập trung là một vụ vi phạm duy nhất có thể ảnh hưởng tới toàn bộ người dùng. Khi server production của AnyDesk bị xâm nhập vào tháng 2/2024, kẻ tấn công đã đánh cắp chứng chỉ ký mã, có khả năng cho phép chúng phát tán mã độc nguỵ trang thành phần mềm AnyDesk hợp lệ. Toàn bộ mật khẩu người dùng phải được đặt lại.

Khi APT29 (một nhóm được nhà nước Nga bảo trợ) xâm nhập mạng doanh nghiệp của TeamViewer vào tháng 6/2024, nó đặt ra câu hỏi về tính toàn vẹn của chính sản phẩm — vì một kiến trúc tập trung nghĩa là nhà cung cấp có năng lực kỹ thuật để truy cập các phiên.

Remio loại bỏ hoàn toàn nhóm tấn công này. Một vụ xâm nhập server signaling của chúng tôi chỉ mang lại metadata kết nối. Không có thông tin đăng nhập để đánh cắp, không có phiên để truy cập, không có chứng chỉ nào có thể dùng để ký phần mềm độc hại nhắm vào thiết bị của người dùng chúng tôi.

§12 · Kết luận

Bảo mật của Remio không phải một bộ tính năng gắn thêm vào sản phẩm — nó là hệ quả của những quyết định kiến trúc đưa ra ngay từ ngày đầu. Bằng cách chọn P2P thay vì tập trung, ghép cặp PIN thay vì mật khẩu, zero-knowledge thay vì thu thập dữ liệu, và giao thức mở thay vì hộp đen độc quyền, chúng tôi đã dựng nên một remote desktop nơi bảo mật là trạng thái mặc định, chứ không phải một nâng cấp tuỳ chọn.

Chúng tôi tin rằng quyền riêng tư là không thể tuỳ chọn, và rằng sự tin cậy nên được giành lấy qua sự minh bạch, chứ không phải đòi hỏi qua điều khoản dịch vụ. Sách trắng này là một phần của cam kết đó.

Với các câu hỏi, đánh giá bảo mật doanh nghiệp, hoặc để báo cáo lỗ hổng:

Biểu tượng ứng dụng Remio

Riêng tư không nên là một tính năng cao cấp.

Cài host trên máy tính bạn muốn với tới, client trên thiết bị bạn dùng để truy cập. AES-256-GCM đầu-cuối, ngang hàng (peer-to-peer), không tài khoản đám mây. Kiến trúc ở trên là cách sản phẩm phát hành hôm nay, không phải hướng nó sẽ đi tới.