Minerva : ECDSA / EdDSA 구현의 일련의 취약성

미네르바

Masaryk 대학 연구원들이 정보를 공개했습니다 중대한 취약점에 대해 다양한 나ECDSA / EdDSA 디지털 서명 생성 알고리즘의 구현, 타사 채널을 통해 분석 방법을 적용 할 때 나타나는 개별 비트에 대한 정보 유출 분석을 기반으로 개인 키의 가치를 복구 할 수 있습니다. 취약점의 코드 명은 Minerva입니다.

가장 유명한 프로젝트 영향을 미치는 제안 된 공격 방법은 다음과 같습니다. 오픈JDK, 오라클JDK (CVE-2019-2894) 및 라이브러리 libgcrypt (CVE-2019-13627) GnuPG에서 사용되었습니다. 문제는 도서관에도 취약 MatrixSSL, Crypto ++, wolfCrypt, elliptical, jsrsasign, Python-ECDSA, ruby_ecdsa, fastecdsa 또한 일부 스마트 카드 Athena IDProtect, TecSec Armored Card, SafeNet eToken 4300, 유효한 S / A IDflex V.

현재 언급 된 취약점 외에도 영향을받지 않습니다. OpenSSL, Botan, mbedTLS 및 BoringSSL. Mozilla NSS, LibreSSL, Nettle, BearSSL, cryptlib, FIPS 모드의 OpenSSL. Microsoft .NET 암호화, Linux 커널 libkcapi, Sodium 및 GnuTLS는 아직 테스트되지 않았습니다.

ECC에서 스칼라 곱셈 중에 스칼라의 비트 길이를 잃는 구현을 발견했습니다. 이 누출은 비트 길이가 스칼라에 존재하는 정보의 양이 매우 적기 때문에 사소하게 보일 수 있습니다. 그러나 ECDSA / EdDSA 서명 생성의 경우, 임의의 임시 값의 비트 길이를 필터링하면 알려진 메시지에서 수백에서 수천 개의 서명을 관찰 한 후 사용 된 개인 키의 전체 복구에 충분합니다. 몇 가지 기술.

기존의 모든 카드는 Inside Secure AT214SC A2 (펌웨어)에서 Athena OS755 ECDSA90 구성 요소로 설명되는 공통 ECDSA 구성 요소 (FIPS 1.0 모듈)를 공유하기 때문에 영향을받는다고 생각합니다. CPLC 및 ATR 데이터가있는 Athena IDProtect 카드에서만 취약점을 테스트했습니다.

문제는 개별 비트 값을 결정하는 기능으로 인해 발생합니다. ECC 거래 중 스칼라로 곱하는 동안. 계산 수행의 지연을 추정하는 것과 같은 간접 방법은 비트에서 정보를 추출하는 데 사용됩니다.

공격에는 호스트에 대한 권한없는 액세스가 필요합니다. 디지털 서명이 생성되는 경우 (원격 공격은 제외되지 않지만 매우 복잡하고 분석을 위해 많은 양의 데이터가 필요하므로 가능성이 없다고 간주 될 수 있습니다).

작은 크기의 누출에도 불구하고 ECDSA의 경우 초기화 벡터 (nonce)에 대한 정보가 포함 된 몇 비트의 정의만으로도 완전한 개인 키를 순차적으로 복원하기위한 공격을 수행하기에 충분합니다.

이 방법의 저자에 따르면 성공적인 키 복구를 위해 생성 된 수백에서 수천 개의 디지털 서명을 분석하는 것으로 충분합니다. 공격자에게 알려진 메시지 예를 들어, secp90r256 타원 곡선을 사용하여 Inside Secure AT1SC 칩을 기반으로 Athena IDProtect 스마트 카드에 사용 된 개인 키를 확인하기 위해 11 개의 디지털 서명이 분석되었습니다. 총 공격 시간은 30 분이었습니다.

우리의 공격 코드와 개념 증명은 Brumley & Tuveri 방법에서 영감을 받았습니다.

문제는 libgcrypt 1.8.5 및 wolfCrypt 4.1.0에서 이미 수정되었습니다., 다른 프로젝트는 아직 업데이트를 생성하지 않았습니다. 다음 페이지의 배포판에서 libgcrypt 패키지의 취약성 수정을 추적 할 수도 있습니다. 데비안, Ubuntu, RHEL, 페도라, 오픈 수세 / 수세, FreeBSD의, 아치.

연구원들은 또한 다른 카드와 라이브러리를 테스트했는데, 그중 다음은 취약하지 않습니다.

  • 오픈SSL 1.1.1d
  • 바운시캐슬 1.58
  • BoringSSL 974f4dddf
  • libtomcrypt 1.18.2
  • 보탄 2.11.0
  • 마이크로소프트 CNG
  • 엠베드TLS 2.16.0
  • 인텔 IPP-Crypto

카드

  • DHW ACOSJ 40K
  • 페이티안 A22CR
  • G & D SmartCafe 6.0
  • G & D SmartCafe 7.0
  • 인피니언 CJTOP 80K INF SLJ 52GLA080AL M8.4
  • Infineon SLE78 범용 JCard
  • NXP JCOP31 v2.4.1
  • NXP JCOP CJ2A081
  • NXP JCOP v2.4.2 R2
  • NXP JCOP v2.4.2 R3
  • SIMOME TaiSYS Vault

사용 된 공격과 탐지 된 취약성에 대해 자세히 알고 싶다면 다음 링크. 공격을 복제하는 데 사용되는 도구는 다운로드 할 수 있습니다.


코멘트를 남겨주세요

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

*

*

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