Когда злоумышленник внедряет javascript на страницу, на которой есть объект CryptoKey с exportable = true, он может экспортировать ключ и отправить байты на свой собственный сервер.
При exportable = false злоумышленник не может напрямую отправлять байты, но он может использовать объект CryptoKey в качестве оракула для адаптивных известных атак с открытым текстом.
При каких условиях злоумышленник может восстановить основные секретные байты и отправить их на свой собственный сервер? То есть, в каком случае полезно использовать неэкспортируемые ключи? Отличается ли он между алгоритмами webcrypto (AES-CBC, RSA-OAEP и т. Д.)?
Примечание: так как злоумышленник может внедрить произвольный javascript, он контролирует все использование API: открытый текст, а для режимов, использующих IV (например, AES-CBC), он также контролирует IV.