The latest security information on Intel® products.
Potential for signature integrity compromise in Intel® Integrated Performance Primitives (Intel® IPP) Cryptography Domain
Intel ID: | INTEL-SA-00033 |
---|---|
Product family: | The cryptography (CP) domain in Intel® Integrated Performance Primitives (Intel® IPP) |
Impact of vulnerability: | Information Disclosure |
Severity rating: | Moderate |
Original release: | Sep 11, 2012 |
Last revised: | Sep 11, 2012 |
Summary:
The cryptography (CP) domain in Intel’s newest version of Intel® Integrated Performance Primitives (Intel® IPP) v7.1 has been enhanced to improve its security and customers are strongly urged to update to this release.
Description:
Intel IPP v7.1 introduces Intel® AVX & Intel® AVX2 performance optimizations for faster floating-point and integer operations in the signal processing and image processing domains. Additional Improvements have been made to the CP domain including AES key expansion, RSA-based signature generation and ECC prime field point multiplication. Customers can get these security improvements by linking with v7.1 of Intel® IPP. For additional information on performance impact to RSA and ECC functions, please see the Recommendations below.
Affected products:
The cryptography (CP) domain in Intel® Integrated Performance Primitives (Intel® IPP) versions prior to 7.1.
Recommendations:
Customers are strongly urged to update to version 7.1 which can be obtained from this URL: http://software.intel.com/en-us/articles/download-ipp-cryptography-libraries/
To mitigate the potential reduction in performance, some source code changes are recommended for RSA functions. The following RSA functions can be can be initialized two different ways:
- private key pair:
- ippsRSASetKey(pD, ippRSAkeyD, pRSA)
- ippsRSASetKey(pN, ippRSAkeyN, pRSA)
- private key quintuple:
- ippsRSASetKey(pP, ippRSAkeyP, pRSA)
- ippsRSASetKey(pQ, ippRSAkeyQ, pRSA)
- ippsRSASetKey(pdP, ippRSAkeyDpP, pRSA)
- ippsRSASetKey(pdQ, ippRSAkeyDq, pRSA)
- ippsRSASetKey(pQinv, ippRSAkeyQinv, pRSA)
If a private key quintuple is used, code changes should be made to additionally provide the private exponent by the calling ippsRSASetKey(pE, ippRSAkeyE, pRSA) function to avoid a 3-4x performance penalty to RSA Sign operations.
Finally for ECC functions some performance degradation, perhaps up to 10%, may be expected for the functions:
- ippsECCPMulPointScalar()
- ippsECCPGenKeyPair()
- ippsECCPPublicKey()
- ippsECCPValidateKeyPair()
- ippsECCPSharedSecretDH()
- ippsECCPSharedSecretDHC()
At this time there is no known mitigation for this performance impact in ECC.
Related Information:
Optimization Notice Notice revision #20110804
Intel’s compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Legal Notices and Disclaimers
Intel provides these materials as-is, with no express or implied warranties.
All products, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice.
Intel products and services described may contain design defects or errors known as errata, which may cause the product to deviate from published specifications. Current characterized errata are available on request.
Intel products that have met their End of Servicing Updates may no longer receive functional and security updates. For additional details on support and servicing, please see this help article.
Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. No product or component can be absolutely secure. Check with your system manufacturer or retailer or learn more at http://intel.com.
Some results have been estimated or simulated using internal Intel analysis or architecture simulation or modeling, and provided to you for informational purposes. Any differences in your system hardware, software or configuration may affect your actual performance.
© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries United States and other countries. Other names and brands may be claimed as the property of others.
Report a Vulnerability
If you have information about a security issue or vulnerability with an Intel branded product or technology, please send an e-mail to secure@intel.com. Encrypt sensitive information using our PGP public key.
Please provide as much information as possible, including:
- The products and versions affected
- Detailed description of the vulnerability
- Information on known exploits
A member of the Intel Product Security Team will review your e-mail and contact you to collaborate on resolving the issue. For more information on how Intel works to resolve security issues, see:
For issues related to Intel's external web presence (Intel.com and related subdomains), please contact Intel's External Security Research team.
Need product support?
If you...
- Have questions about the security features of an Intel product
- Require technical support
- Want product updates or patches
Please visit Support & Downloads.