3.1.4. Tạo và trao đổi khĩa
Trong một hệ thống E2EE, các khĩa mã hĩa chỉ được biết đến với các bên giao tiếp. Để đạt được mục tiêu này, các hệ thống E2EE cĩ thể mã hĩa dữ liệu bằng cách sử dụng chuỗi ký hiệu được sắp xếp từ trước gọi là bí mật chia sẻ trước (Pre-shared secret - PGP) hoặc khĩa dùng một lần xuất phát từ bí mật chia sẻ trước đĩ (DUKPT). Hoặc
một cách khác là thương lượng một khĩa bí mật tại chỗ bằng cách sử dụng trao đổi khĩa Diffie-Hellman (OTR – Off-The-Record Message).
Trao đổi khĩa Diffie–Hellman (D-H) là một phương pháp trao đổi khĩa mật mã
an tồn trên một kênh cơng cộng và là một trong những giao thức khố cơng khai đầu tiên được Ralph Merkle đề xuất và đặt tên theo Whitfield Diffie và Martin Hellman. Phương pháp trao đổi khĩa này cho phép bên gửi và bên nhận cùng thiết lập một khĩa bí mật trên một kênh khơng an tồn. Khĩa này cĩ thể được sử dụng cho một hệ mật mã khĩa đối xứng tiếp theo.
Mơ tả giao thức
• Thiết lập khĩa
o Alice và Bob sử dụng chung một module p và một phần tử sinh g của nhĩm cyclic hữu hạn G (p và g là nguyên tố cùng nhau).
o Alice chọn một số bí mật a và gửi A = ga mod p cho Bob. o Bob chọn một số bí mật b và gửi B = gb mod p cho Alice. o Alice tính s = (B)a mod p.
o Bob tính s = (A)b mod p
Cả Alice và Bob đều cĩ cùng giá trị s bởi theo module p: Ab mod p = gab mod p = gba mod p = Ba mod p.
Áp dụng cho thiết bị Raspberry, để hệ thống đạt được sự an tồn tối đa, cần sinh 2 khĩa cho 2 q trình chính mã hĩa Ke và xác thực thơng điệp Km ngay từ khi client kết nối đến server. Các khĩa này cần được giữa bí mật trong suốt quá trình truyền tin và chỉ được sử dụng trong một phiên kết nối của client và server. Sau khi mất kết nối giữa client và server, khĩa chung này sẽ mất hiệu lực. Ứng dụng sử dụng Trao đổi khĩa Diffie–Hellman để thực hiện tạo và trao đổi khĩa chung trong quá trình mã hĩa đầu cuối.
3.1.5. Mơ hình mã hĩa và xác thực
Ứng dụng sử dụng Grain-128 để thực hiện mã hĩa tín hiệu/ thơng điệp đồng thời sử dụng hàm băm Keccak để xác thực. Bên phía nhận, người nhận sẽ sử dụng khĩa chung đã được thống nhất từ trước để giải mã đồng thời so sánh với kết quả trả về từ hàm băm Keccak cho bản rõ sau khi giải mã để kiểm tra tính tồn vẹn dữ liệu. Hình 3-7 mơ tả mơ hình mã hĩa và xác thực được sử dụng trong luận văn.