Когда webcrypto exportable = false защищает секретный ключ от адаптивных выбранных атак открытым текстом? - PullRequest
0 голосов
/ 05 ноября 2018

Когда злоумышленник внедряет javascript на страницу, на которой есть объект CryptoKey с exportable = true, он может экспортировать ключ и отправить байты на свой собственный сервер.

При exportable = false злоумышленник не может напрямую отправлять байты, но он может использовать объект CryptoKey в качестве оракула для адаптивных известных атак с открытым текстом.

При каких условиях злоумышленник может восстановить основные секретные байты и отправить их на свой собственный сервер? То есть, в каком случае полезно использовать неэкспортируемые ключи? Отличается ли он между алгоритмами webcrypto (AES-CBC, RSA-OAEP и т. Д.)?

Примечание: так как злоумышленник может внедрить произвольный javascript, он контролирует все использование API: открытый текст, а для режимов, использующих IV (например, AES-CBC), он также контролирует IV.

...