COMP128
COMP128COMP128 알고리즘은 GSM 표준에 정의된 A3 및 A8 기능의 구현이다. A3은 이동국을 네트워크에 인증하는 데 사용된다. A8은 A5가 모바일 방송국과 BTS 간에 전송되는 데이터를 암호화하는 데 사용하는 세션 키를 생성하는 데 사용된다.
COMP128에는 세 가지 버전이 있다. 그들은 원래 비밀이었다. 첫 번째 버전에 대한 부분적인 설명은 1997년에 유출되었고 역 엔지니어링을 통해 완성되었다. 이것은 1998년에 완전한 출판으로 이어졌다.[1] 두 번째와 세 번째 버전은 SIM 카드 컴플라이언스를 검증하는 소프트웨어의 역 엔지니어링을 통해 획득되었다.[2]
소개
A3 및 A8 사용 방법에 대한 자세한 내용은 인증 센터를 참조하십시오.
A3와 A8은 모두 입력으로 128비트 키i(K)와 128비트 챌린지(RAND)를 취한다. A3은 32비트 응답(SRES)을, A8은 64비트 세션 키(Kc)를 생성한다. A3/A8은 K와i LAND를 입력으로, SRES와 K를c 출력으로 결합한 기능이다.
A3와 A8은 더 이상 특정되지 않기 때문에 운영자는 A3와 A8에 사용되는 콘크리트 알고리즘을 자유롭게 선택할 수 있다.
COMP128 알고리즘
COMP128 알고리즘은 A3/A8 기능을 구현한다. 다음 세 가지가 있다.
- COMP128-1 – 약점이 알려진 원래 알고리즘
- COMP128-2 – K의c 가장 오른쪽 비트 10개를 여전히 지우는 강력한 알고리즘
- COMP128-3 – 모든 64비트 K가c 생성된 COMP128-2와 동일한 알고리즘
모두 128비트 입력 2개와 128비트 출력 1개로 압축함수를 중심으로 제작돼 이름이 붙었다. K와i LAND는 압축함수의 입력으로 사용된다. 그 결과 출력된 비트는 SRES와 K를c 채우는 데 사용된다.
COMP128-1 설명
COMP128-1은 8라운드의 압축 함수를 사용하며, 5단계의 나비 구조를 기반으로 한다. SRES는 출력의 처음 32비트로 채워진다. K는c 출력의 마지막 54비트에 이어 10개의 0으로 채워진다.
알고리즘에 대한 전체 설명을 위해, 독자는 오스모콤을 볼 수 있다.BB 구현.
COMP128-2/3 설명
COMP128-2와 COMP128-3의 이행은 COMP128-1보다 눈에 띄게 복잡하다. 알고리즘에 대한 전체 설명을 위해, 독자는 오스모콤을 볼 수 있다.BB 구현 또는 FreeRADIUS 구현, 둘 다 Sim의[2] 비밀 기사의 Python 코드를 기반으로 한다. COMP128-2는 마지막에 K의c 가장 오른쪽 비트 10개를 지운다는 점을 제외하면 COMP128-3과 동일하다.
보안
COMP128-1 해시함수는 입력의 작은 변화가 충분히 확산되지 않기 때문에 약한 것으로 간주된다. SIM에서 가입자 키를 복구할 수 있는 실질적인 공격이 입증되었다.[3]
COMP128-1과 COMP128-2가 생산한 세션 키는 의도적으로 엔트로피 54비트에 불과하다. 이것은 A5 또는 A6 암호화를 상당히 약화시킨다.
참조
- ^ Briceno, Marc; Goldberg, Ian; Wagner, David (1998), Implementation of COMP128, archived from the original on 2009-03-18
- ^ a b Tamas, Jos (2013), Secrets of the SIM, archived from the original on 2014-12-24, retrieved 2014-12-24
- ^ Brumley, Billy (2004), A3/A8 & COMP128 (PDF)
외부 링크
- Briceno, Marc; Goldberg, Ian (1998), GSM Cloning
- Handschuh, Helena; Paillier, Pascal (2000), Reducing the Collision Probability of Alleged Comp128, CiteSeerX 10.1.1.141.1033