Компанія Google оголосила про відкриття специфікацій та еталонної реалізації протоколу PSP (PSP Security Protocol). Цей протокол використовується для шифрування трафіку між датацентрами. Протокол використовує схожу на IPsec ESP (Encapsulating Security Payloads) архітектуру інкапсуляції трафіку поверх IP. Тим самим забезпечує шифрування, криптографічний контроль цілісності та аутентифікацію джерела. Код реалізації PSP написаний мовою Сі та поширюється під ліцензією Apache 2.0.
Особливістю PSP є оптимізація протоколу для прискорення обчислень та зниження навантаження на центральний процесор. Це проводиться через винесення операцій шифрування та розшифровки на бік мережевих карток (offload). Для використання апаратного прискорення потрібна наявність спеціальних мережевих карток, сумісних з PSP. Для систем з мережевими картами, які не підтримують PSP, запропоновано програмну реалізацію SoftPSP.
Як транспорт для передачі даних використовується протокол UDP. Пакет PSP починається з заголовка IP, після якого слідує заголовок UDP і потім власний заголовок PSP з інформацією про шифрування та аутентифікацію. Далі прикріплюється вміст оригінального пакету TCP/UDP, який завершується фінальним блоком PSP із контрольною сумою для підтвердження цілісності. Заголовок PSP, а також заголовок і дані пакета, що інкапсулюється, завжди автентифіковані для підтвердження справжності пакета. Дані пакета, що інкапсулюється, можуть бути зашифровані. При цьому допускається можливість вибіркового застосування шифрування з залишенням частини TCP-заголовка у відкритому вигляді (при збереженні контролю справжності). Наприклад, для надання можливості інспектування пакетів на транзитному мережевому обладнанні.
Чи прив’язується до певного протоколу обміну ключами Google PSP (PSP Security Protocol) ?
Google PSP (PSP Security Protocol) не прив’язується до певного протоколу обміну ключами. А пропонує кілька варіантів формату пакетів і підтримує використання різних криптоалгоритмів. Наприклад, надається підтримка алгоритму AES-GCM для шифрування та автентифікації та AES-GMAC для автентифікації без шифрування безпосередніх даних. Або коли дані не представляють цінності, але потрібно гарантувати, що вони не були підмінені під час передачі і саме ті , що були відправлені спочатку.
На відміну від типових VPN-протоколів в PSP застосовується шифрування лише на рівні окремих мережевих з’єднань, а не всього каналу зв’язку. Тобто PSP використовує окремі ключі шифрування для різних тунельованих UDP- та TCP-з’єднань. Подібний підхід дає можливість домогтися суворішої ізоляції трафіку від різних додатків та обробників. А це є актуальним при виконанні на одному сервері додатків та сервісів різних користувачів.
У Google протокол PSP застосовується як захисту своїх внутрішніх комунікацій, так захисту трафіку клієнтів Google Cloud. Протокол спочатку розрахований на ефективну роботу в інфраструктурах рівня Google та повинен забезпечувати апаратне прискорення шифрування. І це все в умовах наявності мільйонів активних мережевих з’єднань та встановлення сотень тисяч нових з’єднань за секунду.
Наш канал – YouTube
Наші сторінки в соціальних мережах – Facebook