Message Authentication Code - хочется странного
От: Pzz Россия https://github.com/alexpevzner
Дата: 08.02.18 19:34
Оценка:
Приветствую,

Предположим, я продаю Алисе и Бобу сервис типа VPN, позволяющий им через мой сервер обмениваться пакетами данных (пакеты небольшие, ~1.5K, но трафик может быть большой).

Внутри себя эти пакеты либо зашифрованные, либо не нуждаются в шифровании. В общем, это личное дело Алисы и Боба. Мое же дело, чтобы халявщица Ева не могла использовать мой сервер, не договорившись со мной.

Очевидное решение — я договариваюсь с Алисой и Бобом (с каждым по отдельности) о секретный ключах, и дальше пакеты от них ко мне приходят зашифрованными и подписанными каким-нибудь AES-GCM'ом.

Но шифрование-то на самом деле не нужно, и мне как-то обидно тратить мегагерцы своего сервера на расшифровывание, если мне, на самом деле, надо только проверить аутентичность отправителя.

В связи с этим ищется Message Authentication Code (MAC), обладающий следующими свойствами:
1. Проверка пакета должна быть существенно дешевле, чем AES-GCM. При этом предполагается, что сервер работает на современном интеловском железе с аппаратным ускорением AES'а
2. Нет ничего страшного, если Ева сможет на халяву пробросить несколько пакетов, или даже несколько десятков пакетов. Лишь бы она не смогла организовать поток. Т.е., в отличии от обычного MAC'а, требования к секурности довольно слабые
3. Как следствие из 2-го пункта, изучение подписанных пакетов не должно помогать восстановить секретный ключ

Никто не подкинет идею, куда смотреть?

В частности, можно ли, например, использовать GCM без AES'а, или это небезопасно?
Отредактировано 08.02.2018 20:24 Pzz . Предыдущая версия .
Re: Message Authentication Code - хочется странного
От: Carc Россия https://vk.com/gosha_mazov
Дата: 09.02.18 11:12
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>....


Pzz>В связи с этим ищется Message Authentication Code (MAC), обладающий следующими свойствами:

Pzz>1. Проверка пакета должна быть существенно дешевле, чем AES-GCM. При этом предполагается, что сервер работает на современном интеловском железе с аппаратным ускорением AES'а
Pzz>2. Нет ничего страшного, если Ева сможет на халяву пробросить несколько пакетов, или даже несколько десятков пакетов. Лишь бы она не смогла организовать поток. Т.е., в отличии от обычного MAC'а, требования к секурности довольно слабые
Pzz>3. Как следствие из 2-го пункта, изучение подписанных пакетов не должно помогать восстановить секретный ключ

Pzz>Никто не подкинет идею, куда смотреть?


Pzz>В частности, можно ли, например, использовать GCM без AES'а, или это небезопасно?

RSA?
Aml Pages Home
Отредактировано 09.02.2018 11:13 Carc . Предыдущая версия .
Re[2]: Message Authentication Code - хочется странного
От: Pzz Россия https://github.com/alexpevzner
Дата: 09.02.18 12:25
Оценка:
Здравствуйте, Carc, Вы писали:

Pzz>>В частности, можно ли, например, использовать GCM без AES'а, или это небезопасно?

C>RSA?

Издеваешься, да?
Re: Message Authentication Code - хочется странного
От: reversecode google
Дата: 09.02.18 12:41
Оценка:
а вы здесь каким боком ?
в любом сценарии алиса и боб могут обменяться идентами через вас, и дальше общаться напрямую без вас
получается вы нужны только один раз, а значит подойдет любой аутентификатор
Re[2]: Message Authentication Code - хочется странного
От: Pzz Россия https://github.com/alexpevzner
Дата: 09.02.18 12:48
Оценка:
Здравствуйте, reversecode, Вы писали:

R>а вы здесь каким боком ?

R>в любом сценарии алиса и боб могут обменяться идентами через вас, и дальше общаться напрямую без вас
R>получается вы нужны только один раз, а значит подойдет любой аутентификатор

Я здесь сервер, который пересылает пакеты. И я не хочу пересылать пакеты от Евы.

Как договориться отдельно с Алисой и Бобом о секретных ключах, я понимаю. Вопрос был, как потом эти секретные ключи экономичным образом к каждому отдельному пакету применить. Поэтому, что как сделать это не экономичным образом, я сам знаю.

Вопрос же о том, как Алиса и Боб установят доверие между собой, в данном топике не рассматривается.
Re[3]: Message Authentication Code - хочется странного
От: reversecode google
Дата: 09.02.18 12:57
Оценка:
как сертификаты работают разберетесь ?
вы корневой сертификат
ева и боб ваши под сертификаты которые вы им выдали
ева и боб смогут проверить на своей стороне о том что полученные данные подписаны не васей пупкиным

после того ева и боб обмениваются публичными ключами
и дальше через сервер(вас) идет уже зашифрованный контент который вы не видите

или опять не то ?
Re[4]: Message Authentication Code - хочется странного
От: Pzz Россия https://github.com/alexpevzner
Дата: 09.02.18 13:02
Оценка:
Здравствуйте, reversecode, Вы писали:

R>или опять не то ?


Вы в курсе, что такое MAC? Мне нужен совет, какой конкретно выбрать. Про то, что можно тупо взять AES-GCM, я и сам знаю.
Re: Message Authentication Code - хочется странного
От: vmpire Россия  
Дата: 12.02.18 13:10
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Никто не подкинет идею, куда смотреть?

Посмотрите реализацию kerberos. Там MAC получается путём шифрования случайной величины симметричным ключом и результат её шифрования добавляется к пакету вместе с зашифрованной величиной.
У вас и отправителя есть секретный ключ для проверки результата шифрования. У Евы его не будет.
Re[2]: Message Authentication Code - хочется странного
От: Pzz Россия https://github.com/alexpevzner
Дата: 12.02.18 16:10
Оценка:
Здравствуйте, vmpire, Вы писали:

Pzz>>Никто не подкинет идею, куда смотреть?

V>Посмотрите реализацию kerberos. Там MAC получается путём шифрования случайной величины симметричным ключом и результат её шифрования добавляется к пакету вместе с зашифрованной величиной.

Эээ. А содержимое пакета в генерации МАКа участвует?
Re[3]: Message Authentication Code - хочется странного
От: vmpire Россия  
Дата: 12.02.18 16:33
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, vmpire, Вы писали:


Pzz>>>Никто не подкинет идею, куда смотреть?

V>>Посмотрите реализацию kerberos. Там MAC получается путём шифрования случайной величины симметричным ключом и результат её шифрования добавляется к пакету вместе с зашифрованной величиной.

Pzz>Эээ. А содержимое пакета в генерации МАКа участвует?

Не помню как в kerberos. Вроде бы там не участвует, но участвует текущее время, чтобы защититься от replay.
Но вы можете сделать, как вам удобно.
Re[4]: Message Authentication Code - хочется странного
От: Pzz Россия https://github.com/alexpevzner
Дата: 12.02.18 16:48
Оценка:
Здравствуйте, vmpire, Вы писали:

Pzz>>Эээ. А содержимое пакета в генерации МАКа участвует?

V>Не помню как в kerberos. Вроде бы там не участвует, но участвует текущее время, чтобы защититься от replay.
V>Но вы можете сделать, как вам удобно.

Я понимаю, что можно взять блочный шифр в любом разумном режиме, и в качестве бесплатного приложения получить еще и МАК.

Но поскольку именно шифрование мне не нужно, я хочу обойтись без него, потому что оно чего-то стоит, даже если это AES с аппаратным ускорением. Мне нужен только МАК, причем не обязательно очень "сильный".

Мне казалось, что я в первоначальном письме достаточно ясно изложил, что мне нужно, и почему...
Re[5]: Message Authentication Code - хочется странного
От: vmpire Россия  
Дата: 12.02.18 17:30
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>>>Эээ. А содержимое пакета в генерации МАКа участвует?

V>>Не помню как в kerberos. Вроде бы там не участвует, но участвует текущее время, чтобы защититься от replay.
V>>Но вы можете сделать, как вам удобно.
Pzz>Я понимаю, что можно взять блочный шифр в любом разумном режиме, и в качестве бесплатного приложения получить еще и МАК.
Pzz>Но поскольку именно шифрование мне не нужно, я хочу обойтись без него, потому что оно чего-то стоит, даже если это AES с аппаратным ускорением. Мне нужен только МАК, причем не обязательно очень "сильный".
Дело в том, что шифрование только фиксированной маленькой части сообщения — очень дёшево.

Pzz>Мне казалось, что я в первоначальном письме достаточно ясно изложил, что мне нужно, и почему...

То, что Вы изложили я прекрасно понял. Но поняли ли Вы, преимущества того, что я предлагаю?
Re: Message Authentication Code - хочется странного
От: Conr Россия  
Дата: 12.02.18 17:36
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>В связи с этим ищется Message Authentication Code (MAC), обладающий следующими свойствами:

Pzz>1. Проверка пакета должна быть существенно дешевле, чем AES-GCM. При этом предполагается, что сервер работает на современном интеловском железе с аппаратным ускорением AES'а
Pzz>2. Нет ничего страшного, если Ева сможет на халяву пробросить несколько пакетов, или даже несколько десятков пакетов. Лишь бы она не смогла организовать поток. Т.е., в отличии от обычного MAC'а, требования к секурности довольно слабые
Pzz>3. Как следствие из 2-го пункта, изучение подписанных пакетов не должно помогать восстановить секретный ключ

Pzz>Никто не подкинет идею, куда смотреть?

Попробуйте глянуть на UMAC (и его аналог VMAC для x64), Poly1305 и Badger.
Re[6]: Message Authentication Code - хочется странного
От: Pzz Россия https://github.com/alexpevzner
Дата: 12.02.18 19:59
Оценка:
Здравствуйте, vmpire, Вы писали:

Pzz>>Мне казалось, что я в первоначальном письме достаточно ясно изложил, что мне нужно, и почему...

V>То, что Вы изложили я прекрасно понял. Но поняли ли Вы, преимущества того, что я предлагаю?

Да, в этой идее есть смысл. Спасибо. Я подумаю.
Re: Message Authentication Code - хочется странного
От: Pzz Россия https://github.com/alexpevzner
Дата: 22.02.18 16:59
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Никто не подкинет идею, куда смотреть?


Кажется, я нашел ответ на свой вопрос. Оставлю это здесь, вдруг еще кому пригодится...

https://en.wikipedia.org/wiki/HighwayHash

И имплементация на Go (естественно существуют оптимизированные имплементации и для других языков):

https://github.com/minio/highwayhash
Re[2]: Message Authentication Code - хочется странного
От: reversecode google
Дата: 22.02.18 17:53
Оценка:
так бы и сказали что нужен просто хеш
blacke2b сейчас самый распространенный
Re[3]: Message Authentication Code - хочется странного
От: Pzz Россия https://github.com/alexpevzner
Дата: 22.02.18 17:59
Оценка:
Здравствуйте, reversecode, Вы писали:

R>так бы и сказали что нужен просто хеш


Не просто хеш, а хеш, мало-мальски пригодный для аутентификации. CRC32, например, совсем не пригодный.

R>blacke2b сейчас самый распространенный


Говорят, что HighwayHash раз в 10 примерно быстрее, чем blake2b.
Re[4]: Message Authentication Code - хочется странного
От: reversecode google
Дата: 22.02.18 20:13
Оценка:
именно просто хеш
потому что в вашей формулировке это выглядело как некий алгоритм с применением MAC
если просто просили — какой хеш для мак применить, даже гугл сразу ответил бы

вообщем правильная постановка вопроса(да еще и понятная) как всегда уже является ответом
Re[4]: Message Authentication Code - хочется странного
От: reversecode google
Дата: 22.02.18 20:22
Оценка:
blacke2b 512, а HighwayHash 256
я бы остановился на первом, что бы потом версионность софта по сто раз не менять
Re[5]: Message Authentication Code - хочется странного
От: Pzz Россия https://github.com/alexpevzner
Дата: 22.02.18 21:40
Оценка:
Здравствуйте, reversecode, Вы писали:

R>именно просто хеш

R>потому что в вашей формулировке это выглядело как некий алгоритм с применением MAC
R>если просто просили — какой хеш для мак применить, даже гугл сразу ответил бы

Мне нужен MAC. Хэш тоже подходит, если он 1) достаточно секурный 2) достаточно быстрый. Как сделать из хэша MAC, я знаю. Но я согласен и на другие методы.

R>вообщем правильная постановка вопроса(да еще и понятная) как всегда уже является ответом


Что было не понятно в изначальной постановке вопроса?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.