OpenSSL 3.0.0에는 많은 주요 변경 사항 및 개선 사항이 포함되어 있습니다.

19년의 개발 및 XNUMX개의 체험판 후 OpenSSL 3.0.0의 새 버전이 최근에 발표되었습니다. 어느 7500개 이상의 변경 사항이 있습니다. 350명의 개발자가 기여했으며 버전 번호가 크게 변경되었으며 이는 기존 번호 지정으로의 전환으로 인한 것입니다.

이제부터 버전 번호의 첫 번째 숫자(Major)는 API/ABI 수준에서 호환성 위반 시에만 변경되고, 두 번째 숫자(Minor)는 API/ABI 변경 없이 기능 향상 시 변경됩니다. 수정 업데이트는 세 번째 숫자(패치) 변경과 함께 제공됩니다. 번호 3.0.0은 번호가 1.1.1.x인 OpenSSL용으로 개발 중인 FIPS 모듈과의 충돌을 피하기 위해 2 직후에 선택되었습니다.

프로젝트의 두 번째 주요 변경 사항은 이중 라이센스에서 전환 (OpenSSL 및 SSLeay) Apache 2.0 라이센스에. 이전에 사용된 기본 OpenSSL 라이선스는 레거시 Apache 1.0 라이선스를 기반으로 했으며 OpenSSL 라이브러리를 사용할 때 홍보 자료에 OpenSSL에 대한 명시적인 언급이 필요했으며 OpenSSL이 제품과 함께 제공된 경우 특별 참고 사항이 필요했습니다.

이러한 요구 사항으로 인해 이전 라이선스가 GPL과 호환되지 않아 GPL 라이선스 프로젝트에서 OpenSSL을 사용하기가 어려웠습니다. 이러한 비호환성을 피하기 위해 GPL 프로젝트는 특정 라이선스 계약을 시행해야 했습니다. 여기서 GPL의 본문에는 애플리케이션이 OpenSSL 라이브러리에 링크할 수 있도록 명시적으로 허용하고 GPL이 OpenSSL에 바인딩하는 데 적용되지 않는다고 언급하는 조항이 추가되었습니다. .

OpenSSL 3.0.0의 새로운 기능

OpenSSL 3.0.0에서 제공되는 새로운 기능의 일부에 대해 다음을 찾을 수 있습니다. 새로운 FIPS 모듈이 제안되었습니다. 해적 암호화 알고리즘 구현 포함 FIPS 140-2 보안 표준을 충족하는 것 새 모듈은 사용하기 훨씬 쉽고 많은 응용 프로그램에 연결하는 것이 구성 파일을 변경하는 것보다 어렵지 않습니다. 기본적으로 FIPS는 비활성화되어 있으며 enable-fips 옵션을 활성화해야 합니다.

libcrypto에서 연결된 서비스 공급자의 개념이 구현되었습니다. 이것은 엔진의 개념을 대체했습니다(ENGINE API는 더 이상 사용되지 않음). 공급업체의 도움을 받아 암호화, 암호 해독, 키 생성, MAC 계산, 디지털 서명 생성 및 확인과 같은 작업을 위한 고유한 알고리즘 구현을 추가할 수 있습니다.

라는 점도 강조된다. CMP에 대한 추가 지원CA 서버에서 인증서를 요청하고 인증서를 갱신하고 인증서를 취소하는 데 사용할 수 있습니다. CMP 작업은 CRMF 형식에 대한 지원과 HTTP / HTTPS를 통한 요청 전송을 구현하는 새로운 유틸리티 openssl-cmp에 의해 수행됩니다.

또한 키 생성을 위한 새로운 프로그래밍 인터페이스가 제안되었습니다. EVP_KDF(Key Derivation Function API)는 새로운 KDF 및 PRF 구현의 통합을 단순화합니다. scrypt, TLS1 PRF 및 HKDF 알고리즘을 사용할 수 있었던 기존 EVP_PKEY API는 EVP_KDF 및 EVP_MAC API 위에 구현된 중간 계층으로 재설계되었습니다.

그리고 프로토콜의 구현에서 TLS는 Linux 커널에 내장된 TLS 클라이언트 및 서버를 사용할 수 있는 기능을 제공합니다. 작업 속도를 높이기 위해. Linux 커널에서 제공하는 TLS 구현을 활성화하려면 "SSL_OP_ENABLE_KTLS" 옵션 또는 "enable-ktls" 설정을 활성화해야 합니다.

다른 한편으로는 API의 상당 부분이 더 이상 사용되지 않는 카테고리로 이동되었습니다.- 프로젝트 코드에서 더 이상 사용되지 않는 호출을 사용하면 컴파일 중에 경고가 생성됩니다. NS 저수준 API 특정 알고리즘에 연결 공식적으로 사용되지 않는 것으로 선언되었습니다.

이제 OpenSSL 3.0.0의 공식 지원은 특정 유형의 알고리즘에서 가져온 고급 EVP API에 대해서만 제공됩니다(예: 이 API에는 EVP_EncryptInit_ex, EVP_EncryptUpdate 및 EVP_EncryptFinal 함수가 포함됨). 사용되지 않는 API는 다음 주요 릴리스 중 하나에서 제거됩니다. EVP API를 통해 사용할 수 있는 MD2 및 DES와 같은 레거시 알고리즘 구현은 기본적으로 비활성화되어 있는 별도의 "레거시" 모듈로 이동되었습니다.

최종적으로 그것에 대해 더 많이 알고 싶다면 세부 사항을 확인할 수 있습니다 다음 링크에서.


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

코멘트를 첫번째로 올려

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.