SPARC T4 마이크로 프로세서부터는 암호화 기능을 수행하기 위한 새로운 지침을 하드웨어에서 직접 사용할 수 있게 되었습니다. 지침은 권한이 없으므로 어느 프로그램에서나 커널 환경, 루트 권한 또는 그 밖의 특별한 설정 없이 지침을 사용할 수 있습니다. 여러 하위 레벨 지침을 사용하지 않고 하드웨어에서 직접 암호화가 수행되므로 이전의 SPARC 프로세서에 별도의 암호화용 처리 장치가 있는 시스템의 작업에 비해 암호화 작업 속도가 빨라졌습니다.
다음 비교에서는 SPARC T-3 시스템 및 암호화 최적화가 포함된 SPARC T-4 시스템의 데이터 흐름 차이를 보여줍니다.
그림 2-1 SPARC T 시스템 사이의 데이터 흐름 비교
다음 표에서는 측정 Oracle Solaris 릴리스와 결합된 SPARC T 마이크로 프로세서 장치의 암호화 기능을 자세히 비교합니다.
|
T4 암호화 지침에는 다음 항목이 포함됩니다.
aes_kexpand0, aes_kexpand1, aes_kexpand2
이 지침이 키 확장을 수행하며 128비트, 192비트 또는 256비트 사용자 제공 키를 암호화 및 해독 중에 내부적으로 사용되는 키 일정으로 확장합니다. aes_kexpand2 지침은 AES-256에만 사용됩니다. 나머지 두 aes_kexpand 지침은 AES-128, AES-192, AES-256 등의 모든 키 길이에 사용됩니다.
aes_eround01, aes_eround23, aes_eround01_l, aes_eround_23_l
이 지침은 AES 암호화 라운드 또는 변환에 사용됩니다. FIPS 197의 AES 표준에 의거하여 더 많은 계산 비용으로 강력한 암호화를 원할수록 큰 키를 사용하므로 사용되는 라운드 수(예: 10, 12 또는 14)는 AES 키 길이에 따라 달라집니다.
aes_dround01, aes_dround23, aes_dround01_l, aes_dround_23_l
이 지침은 암호화와 비슷한 방식으로 AES 해독 라운드에 사용됩니다.
DES/DES-3, Kasumi, Camellia, Montgomery 곱셈/제곱근(RSA Bignum용) 및 CRC32c 체크섬을 위한 지침
MD5, SHA1 및 SHA2 다이제스트 지침
SPARC T4 하드웨어 암호화 지침이 제공되며, Oracle Solaris 11을 실행하는 SPARC T4 시스템에서 시스템의 T4 마이크로 프로세서의 내장 t4 엔진으로 자동 사용됩니다. Oracle Solaris 11.2부터는 OpenSSL 업스트림 코드에 이 지침이 내장되므로 이번 릴리스에서는 해당 지침을 사용할 수 있도록 패치와 함께 OpenSSL 1.0.1e가 제공됩니다.
T4 지침에 대한 자세한 내용은 다음 문서를 참조하십시오.
"Exciting Crypto Advances with the T4 processor and Oracle Solaris 11"
T4 최적화가 사용 중인지 확인하려면 isainfo 명령을 사용하십시오. 출력에 sparcv9 및 aes가 포함되어 있으면 시스템에서 최적화를 사용하고 있는 것입니다.
$ isainfo -v 64-bit sparcv9 applications crc32c cbcond pause mont mpmul sha512 sha256 sha1 md5 camellia kasumi des aes ima hpc vis3 fmaf asi_blk_init vis2 vis popc
시스템에서 실행 중인 OpenSSL의 버전을 확인하려면 openssl version을 입력하십시오. 결과는 다음과 유사합니다.
OpenSSL 1.0.0j 10 May 2012
시스템에서 SPARC T4 최적화가 포함된 OpenSSL을 지원하는지 여부를 확인하려면 다음과 같이 libcrypto.so 라이브러리를 확인하십시오.
# nm /lib/libcrypto.so.1.0.0 | grep des_t4 [5239] | 504192| 300|FUNC |GLOB |3 |12 |des_t4_cbc_decrypt [5653] | 503872| 300|FUNC |GLOB |3 |12 |des_t4_cbc_encrypt [4384] | 505024| 508|FUNC |GLOB |3 |12 |des_t4_ede3_cbc_decrypt [2963] | 504512| 508|FUNC |GLOB |3 |12 |des_t4_ede3_cbc_encrypt [4111] | 503712| 156|FUNC |GLOB |3 |12 |des_t4_key_expand
명령이 출력을 생성하지 않을 경우 시스템에서 OpenSSL에 대해 SPARC T4 최적화를 지원하지 않는 것입니다.