Tôi đang cố gắng phát triển một giao thức đơn giản để hai người dùng xác minh (đối với cơ quan trung ương đáng tin cậy) rằng họ đã (cố ý) gặp/liên lạc với nhau.
Ý tưởng của tôi là: Người dùng sở hữu một cặp khóa (công khai, bí mật) của bất kỳ hệ thống bất đối xứng phổ biến nào, chẳng hạn như RSA. Khóa công khai của họ cũng đóng vai trò là mã định danh của họ. Để hai người xác nhận rằng họ đã liên lạc, cả hai sẽ tạo một số 256 bit ngẫu nhiên, chia sẻ số đó với nhau (trong ứng dụng/trường hợp sử dụng được thụt lề, điều này chỉ xảy ra trực tiếp, không phải qua khoảng cách) và sau đó cả hai đều truyền một cách riêng lẻ, an toàn (ví dụ: HTTP) số được nối đến một cơ quan trung ương được mã hóa bằng các khóa riêng tư tương ứng của chúng. Họ cũng sẽ truyền khóa/id công khai tương ứng của mình để xác định danh tính của họ cho cơ quan trung ương, từ đó có thể xác minh rằng cả hai đã gửi cùng một thông báo sau khi giải mã bằng khóa công khai tương ứng của họ, điều này chứng minh danh tính và thông tin liên lạc trước đó của họ.
Tôi nhận ra rằng nó phù hợp với một cuộc tấn công trung gian, trong đó một người trung gian có thể chuyển các số ngẫu nhiên của hai người cho nhau, giả mạo một cách hiệu quả cuộc gặp giữa hai người này và không bao gồm anh ta.Hệ thống thực mà tôi dự định sử dụng điều này sẽ khiến điều này thực tế là không thể, vì cả hai người dùng phải nhắn tin cho CA trong một khung thời gian rất ngắn và người dùng thường chỉ chia sẻ mã ngẫu nhiên trực tiếp, nơi mà một cuộc tấn công MITM như vậy sẽ hiển nhiên.
Chỉnh sửa: Mục đích chính là để hai người dùng chứng minh họ cố ý giao tiếp/hội họp. Không có động cơ và không có hại gì khi âm mưu xác nhận theo cách này một cuộc họp chỉ diễn ra từ xa, miễn là cả hai bên đều biết về hành động này.
Như đã nói, đây có phải là một ý tưởng tồi không, nếu có, tại sao?