Контекст, используемый при расшифровке или проверке подписи, не ослеплен от атак синхронизации
Этот дефект возникает, если не включить ослепление для объекта контекста RSA перед использованием объекта для расшифровки или проверки подписи.
Например, вы не включаете ослепление в объекте контекста rsa перед этим этапом дешифрования:
ret = RSA_public_decrypt(in_len, in, out, rsa, RSA_PKCS1_PADDING)
Без ослепления время, необходимое для завершения криптографической операции, имеет корреляцию со значением ключа. Злоумышленник может собрать информацию о ключе RSA, измерив время завершения. Ослепление удаляет эту корреляцию и защищает операцию расшифровки или проверки от атак синхронизации.
Перед расшифровкой RSA или проверкой подписи включите ослепление.
ret = RSA_blinding_on(rsa, NULL);
| Группа: Криптография |
| Язык: C | C++ |
| По умолчанию: Откл. |
Синтаксис командной строки:
CRYPTO_RSA_NO_BLINDING |
| Воздействие: среднее |
| CWE ID: 310, 326, 573 |
Find defects (-checkers) | Incompatible padding for RSA algorithm operation | Missing padding for RSA algorithm | Nonsecure RSA public exponent | Weak padding for RSA algorithm