Homebrew의 openssl에 aes-256-gcm 암호화 지원이 포함되지 않는 이유는 무엇입니까?

Homebrew의 openssl에 aes-256-gcm 암호화 지원이 포함되지 않는 이유는 무엇입니까?

openssl내 Mac(macOS Big Sur 11.5.2)에 Homebrew를 통해 최신 버전을 설치했습니다 . 하지만 갑자기 암호를 지원하지 않습니다 aes-256-gcm.

$ /usr/local/opt/[email protected]/bin/openssl enc -ciphers | grep aes-
-aes-128-cbc               -aes-128-cfb               -aes-128-cfb1
-aes-128-cfb8              -aes-128-ctr               -aes-128-ecb
-aes-128-ofb               -aes-192-cbc               -aes-192-cfb
-aes-192-cfb1              -aes-192-cfb8              -aes-192-ctr
-aes-192-ecb               -aes-192-ofb               -aes-256-cbc
-aes-256-cfb               -aes-256-cfb1              -aes-256-cfb8
-aes-256-ctr               -aes-256-ecb               -aes-256-ofb
$ /usr/local/opt/[email protected]/bin/openssl version
OpenSSL 1.1.1l  24 Aug 2021

암호를 활성화하려면 어떻게 해야 합니까? 그리고 왜 패키지에 포함되지 않습니까?

답변1

내 문제의 원인을 찾았습니다. 에 설명되어 있습니다.openssl 문서.

이 명령은 CCM 및 GCM과 같은 인증된 암호화 모드를 지원하지 않으며 앞으로도 이러한 모드를 지원하지 않을 것입니다. 이는 스트리밍 출력을 시작해야 하기 때문입니다(예: 표준 출력으로-밖으로사용되지 않음) 인증 태그의 유효성을 검사하기 전에. 파이프라인에서 이 명령을 사용하면 수신측에서는 인증 실패 시 롤백할 수 없습니다. 현재 일반적으로 사용되는 AEAD 모드는 키/iv/nonce 재사용 시 기밀성 및/또는 무결성의 치명적인 실패로 인해 어려움을 겪습니다.openssl enc키/iv/nonce 관리의 모든 부담을 사용자에게 맡기면 AEAD 모드 노출 위험이 너무 커서 허용할 수 없습니다. 이러한 키/iv/nonce 관리 문제는 현재 이 명령에 노출된 다른 모드에도 영향을 미치지만 이러한 경우 실패 모드는 덜 극단적이며 안정적인 릴리스 분기를 사용하여 기능을 제거할 수 없습니다.

관련 정보