it-swarm-korea.com

정적 IV (AES)를 사용하도록 강제

256 비트 키와 함께 AES를 사용하여 사용자 자격 증명을 공급 업체 웹 사이트 (쿼리 문자열)와 통신하도록 웹 사이트를 확장해야했지만 정보를 해독 할 때 정적 IV를 사용하고 있습니다.

IV는 정적이어서는 안되며 표준에 따르지 말아야한다고 권고했지만, 그 변경이 끝날 경우 [큰] 비용이 발생하므로이를 보안 위험으로 받아들이고 이에 동의하기로했습니다. 같은 IV를 사용하십시오 (내 극심한 좌절감).

내가 알고 싶은 것은 이것이 얼마나 많은 보안 위협입니까? 경영진에게 효과적으로 의사 소통하여 그들이 무엇을 동의하는지 정확하게 알 수 있어야합니다.

우리는 또한 같은 키를 사용하고 있습니다.

감사

30
Mantorok

연결 모드에 따라 다릅니다. AES는 블록 암호이며 16 바이트 블록에 정확하게 적용됩니다. 연결 모드는 입력 데이터가 그러한 여러 블록이되는 방식과 출력 블록이 결합되는 방식을 정의합니다. 대부분의 체이닝 모드는 일종의 "시작 값"으로 작동해야하며, 이는 비밀이 아니지만 모든 메시지, 즉 IV입니다.

CTR 체인 모드를 사용하는 경우 동일한 IV를 다시 사용하는 것은 치명적입니다. CTR 모드에서 AES는 일련의 연속적인 카운터 값 (IV로 시작)에 사용되며, 암호화 된 블록의 결과 시퀀스는 암호화 된 (또는 해독 할) 데이터와 비트 단위 XOR로 결합됩니다. 동일한 IV를 사용하면 악명 높은 "2 회용 패드"인 동일한 시퀀스를 얻게됩니다. 기본적으로 두 개의 암호화 된 문자열을 XOR하면 두 개의 일반 텍스트 데이터의 XOR)를 얻을 수 있습니다. 이것은 많은 공격에 노출되며 기본적으로 모든 것이 손상됩니다.

CBC를 사용하면 상황이 덜 심합니다. CBC에서 데이터 자체는 16 바이트 블록으로 나뉩니다. 블록을 암호화 할 때는 먼저 이전 encrypted 블록으로 XOR됩니다. IV는 "-1"블록 (첫 번째 블록의 이전 암호화 블록)의 역할을합니다. IV 재사용의 주요 결과는 두 메시지가 동일한 바이트 시퀀스로 시작하면 암호화 된 메시지도 몇 블록에 대해 동일하다는 것입니다. 이로 인해 데이터가 유출되고 일부 공격 가능성이 열립니다.

요약하면 그렇게하지 마십시오. 동일한 키를 사용하여 동일한 IV를 사용하면 IV의 전체 목적을 무효화 할 수 있는데, 그 이유는 IV를 사용한 체인 모드가 처음에 사용 된 이유입니다.

39
Thomas Pornin

모든 데이터에 동일한 IV를 사용하는 것은 IV를 전혀 사용하지 않는 것과 같습니다. 암호문의 첫 번째 블록은 동일한 일반 텍스트에 대해 동일합니다. 공급 업체가 지속적인 IV를 사용하려는 이유를 알고 싶습니다. 요점은 시스템이 이러한 방식으로 취약하다는 것입니다. 공격자가 자신의 자격 증명을 설정하고 생성 된 암호문을 관찰 할 수 있다면이를 암호화 된 다른 자격 증명과 비교하여 키에 대한 정보를 찾을 수 있습니다.

8
user185

나는 암호 사람이 아니지만 내 이해는 IV가 변경되지 않고 동일한 값이 다시 암호화되면 출력이 동일하다는 것입니다. 따라서 각 요청과 함께 전달되는 신임 정보와 같은 반복되는 값을 찾아서 컨텐츠를 유추 할 수 있습니다.

다시 한 번, 나는 암호 사람이 아니기 때문에 틀릴 수 있습니다.

2
Steve