LINUX.ORG.RU

Проблемы асимметричного шифрования в Android

 , , ,


0

1

Проблема в общем одна, RSA провайдер из AndroidKeyStore умеет только в один блок, а пейлоад всяко больше размера ключа.

Что делать? Бить сообщение на части, кратные размеру ключа? Как-то костыльно.

Или видел такой вариант - шифровать сообщение симметричным, симметричный шифровать на открытом и передавать вместе с сообщением. Но что-то этот вариант мне ещё меньше чем первый нравится.

Может есть какие мысли у специалистов по всему по этому поводу?

★★★★★

Последнее исправление: vvn_black (всего исправлений: 1)

Ну вообще то симметрика + асимметрика для ключа это «промышленный стандарт»

Nastishka ★★★★★
()

Может есть какие мысли у специалистов по всему по этому поводу?

Задачу озвучь сначала.

t184256 ★★★★★
()

Что делать? Бить сообщение на части, кратные размеру ключа? Как-то костыльно.

Это называется electronic codebook mode.

ratvier ★★
()
Ответ на: комментарий от vasily_pupkin

Отдать таску человеку, который хоть что-то в этом понимает

Зачем? Оба варианта и реализованы и опробованы.

Ожидал и ожидаю, от тех кто сталкивался, может что изменилось за посление 3-5 лет. Например, подвезли или нет или когда подвезут в AndroidKeyStore «автоматический» ECB для RSA.

Первый комментарий от @Nastishka, как водится на ЛОРе, самый адекватный. Нравится не нравится, если все пользуются, то нечего выделываться.

vvn_black ★★★★★
() автор топика
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от t184256

То у тебя передача, то хранение…

Спасибо за отклик.

Передавать на хранение, не вижу противоречий. Так лучше? )

Попробую ещё раз сформулировать ОП. Нет вопроса поиска замены AndroidKeyStore. Меня устроит и уже устраивает его RSA провайдер.

Почему не симметрия, потому что есть условие аутентификации пользователя стандартными методами (пароль/пин/биометрия) при использовании ключа. Т.е. и шифрование придётся подтверждать, а я этого не хочу. При асимметрии, данные криптуются без всякого подтверждения.

Но у RSA из AndroidKeyStore есть особенность, он не умеет в «автоматический» ECB.

Когда всё это начиналось решения было два:

  • бить исходный текст на части кратные ключу, но при расшифровке каждый блок придётся подтверждать (пароль/пин/биометрия), что совсем не красиво;
  • для каждого собщения генерить AES ключ не требующий аутентификации, им шифровать сообщение, а сам ключ шифровать на открытом и прикреплять к сообщению.

Оба варианта не очень мне нравятся, и так как сообщения все укладывались в размер ключа, то всё было отложено «на потом».

Сейчас условия поменялись, сообщения стали больше и используется второй вариант (симметрика + асимметрика).

А суть топика в этом:

Ожидал и ожидаю, от тех кто сталкивался, может что изменилось в AndroidKeyStore за посление 3-5 лет.

vvn_black ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.