초기화 벡터
Initialization vector암호학에서 초기화 벡터(IV) 또는 시작 변수(SV)[1]는 초기 상태를 제공하기 위해 사용되는 암호 프리미티브에 대한 입력이다.IV는 보통 랜덤 또는 의사 난수여야 하지만 IV는 예측 불가능 또는 고유하기만 하면 되는 경우가 있습니다.랜덤화는 일부 암호화 스킴이 시멘틱보안을 달성하기 위해 중요합니다.이 속성에서는 동일한 키에서 스킴을 반복적으로 사용하면 공격자가 암호화된 메시지의 (잠재적으로 유사한) 세그먼트 간의 관계를 추론할 수 없습니다.블록 암호의 경우 IV의 사용은 동작 모드에 따라 설명됩니다.
일부 암호화 프리미티브에서는 IV가 반복되지 않아야 하며 필요한 랜덤성은 내부적으로 도출됩니다.이 경우 IV는 일반적으로 난스(Nonce)(한 번 사용되는 수)라고 불리며, 원시(예를 들어 CBC)는 랜덤화가 아닌 스테이트 풀로 간주됩니다.이것은, IV 를 수신자에게 명시적으로 전송할 필요는 없지만, 송신측과 수신측 양쪽에서 갱신된 공통의 스테이트로부터 파생될 가능성이 있기 때문입니다.(실제에서는 메시지 손실을 고려하기 위해 짧은 난스가 메시지와 함께 계속 전송됩니다).스테이트풀 암호화 스킴의 예로는 카운터 모드 조작이 있습니다.카운터 모드에는 난스의 시퀀스 번호가 있습니다.
IV 사이즈는 사용되는 암호화 프리미티브에 따라 달라집니다.블록 암호의 경우 일반적으로 암호의 블록 크기입니다.암호화 방식에서 IV의 예측 불가능한 부분은 시간/[2][3][4][5]메모리/데이터 트레이드오프 공격을 보상하기 위한 키와 같은 크기입니다.IV를 무작위로 선택한 경우 생일 문제로 인한 충돌 가능성을 고려해야 합니다.RC4와 같은 기존의 스트림 암호는 명시적 IV를 입력으로 지원하지 않으며 IV를 암호의 키 또는 내부 상태에 포함시키기 위한 커스텀 솔루션이 필요하다.실제로 실현된 일부 설계는 안전하지 않은 것으로 알려져 있습니다.WEP 프로토콜은 주목할 만한 예로 관련 IV 공격을 받기 쉽습니다.
동기
블록 암호는 암호학에서 가장 기본적인 기본 요소 중 하나이며 데이터 암호화에 자주 사용됩니다.그러나 그 자체로는 블록 크기라고 불리는 미리 정의된 크기의 데이터 블록을 인코딩하는 데만 사용할 수 있습니다.예를 들어, AES 알고리즘을 1회 호출하면 128비트 평문 블록이 128비트 크기의 암호문 블록으로 변환됩니다.암호에 대한 하나의 입력으로 제공되는 키는 일반 텍스트와 암호 텍스트 간의 매핑을 정의합니다.임의의 길이의 데이터를 암호화하는 경우에는 데이터를 암호의 블록 크기에 맞는 블록으로 분할하여 동일한 키를 사용하여 각 블록을 개별적으로 암호화하는 것이 간단한 전략입니다.이 방법은 동등한 평문 블록이 동등한 암호 텍스트로 변환되기 때문에 안전하지 않으며 암호화 데이터를 관찰하는 제3자가 암호화 키를 모르는 경우에도 그 내용을 쉽게 판단할 수 있습니다.
각 블록 암호 호출 후에 새로운 키가 재발행되지 않도록 하면서 암호화된 데이터 내의 패턴을 숨기려면 입력 데이터를 랜덤화하는 방법이 필요합니다.1980년 NIST는 연방정보처리표준(FIPS) PUB 81로 지정된 국가표준문서를 발행했다.이 문서는 4개의 이른바 블록 암호 운용 모드를 규정하며, 각각 입력 블록 세트를 암호화하기 위한 서로 다른 솔루션을 기술하고 있다.첫 번째 모드는 위에서 설명한 간단한 전략을 구현하며 전자 코드북(ECB) 모드로 지정되었습니다.반면 다른 각 모드는 한 블록 암호화 스텝의 암호문이 다음 암호화 스텝의 데이터와 혼합되는 프로세스를 나타냅니다.이 프로세스를 시작하려면 첫 번째 블록과 혼합된 추가 입력 값이 필요하며, 이를 초기화 벡터라고 합니다.예를 들어 Cipher-Block Chaining(CBC; 암호 블록 체인) 모드에서는 암호 블록사이즈와 같은 크기의 예측 불가능한 값이 추가 입력으로 필요합니다.이 예측 불가능한 값은 후속 암호화 전에 첫 번째 평문 블록에 추가됩니다.그 후, 제1의 암호화 스텝에서 생성된 암호문을 제2의 평문 블록에 부가하는 등의 처리를 실시한다.암호화 스킴의 궁극적인 목표는 의미 보안을 제공하는 것입니다.이 속성을 통해 공격자가 관찰된 암호문으로부터 정보를 얻는 것은 사실상 불가능합니다.NIST에 의해 지정된 세 가지 추가 모드는 각각 소위 선택 플레인텍스트 공격에서 의미론적으로 안전하다는 것을 보여줄 수 있다.
특성.
IV의 속성은 사용되는 암호화 방식에 따라 달라집니다.기본 요건은 고유성입니다. 즉, IV는 같은 키에서 재사용할 수 없습니다.블록 암호의 경우 IV 값을 반복하면 암호화 방식이 전자 코드북 모드로 전환됩니다.즉, IV가 같고 평문이 같으면 암호 텍스트가 같습니다.스트림 암호 암호의 고유성은 매우 중요합니다. 그렇지 않으면 일반 텍스트가 3차적으로 복구될 수 있기 때문입니다.
- 예:스트림 암호는 소정의 키 및 IV에서 키 스트림 K를 도출하여 C=P xor K로 연산함으로써 평문 P를 암호문 C로 암호화한다.공격자가 같은 키와 IV로 암호화되어 있다2개의 메시지1 C와2 C를 발견했다고 가정합니다.그리고 P 또는2 P에1 대한 지식은 다음 이후의 다른 평문을 드러낸다.
- C1 xor2 C = (P1 xor K) xor (P2 xor K) = P1 xor2 P.
많은 스킴에서 IV는 적에 의해 예측 불가능해야 합니다.이것은 IV를 랜덤 또는 의사 랜덤으로 선택하면 영향을 받습니다.이러한 방식에서는 IV가 중복될 가능성은 무시할 수 있지만 생일 문제의 영향을 고려해야 합니다.일의성 요건에 대해서는 예측 가능한 IV에 의해 (부분적인) 평문을 회복할 수 있다.
- 예:Alice라는 이름의 합법적인 당사자가 암호 블록 체인 모드를 사용하여 메시지를 암호화하는 시나리오를 생각해 보십시오.또한 이러한 암호화를 감시하고 암호화를 위해 Alice에 평문 메시지를 전송할 수 있는 Eve라는 이름의 적이 있음을 고려하십시오(즉, Eve는 선택된 평문 공격을 할 수 있습니다).이제 Alice가 초기화 벡터1 IV로 구성되어 암호문 블록Alice C로 시작하는 메시지를 보냈다고 가정합니다.추가Alice P는 Alice 메시지의 첫 번째 평문 블록을 나타내고, E는 암호화를 나타내며, P는 첫 번째 평문 블록에 대한 이브의 추측을 나타냅니다Eve.이제 Eve가 다음 메시지의2 초기화 벡터 IV를 결정할 수 있다면 (IV2 xor1 IV xorEve P)로 시작하는 플레인텍스트 메시지를 Alice에게 전송하여 추측을 테스트할 수 있습니다.그 추측이 맞다면 이 플레인텍스트 블록은 Alice에 의해Alice C로 암호화됩니다.이는 다음과 같은 단순한 관찰 때문입니다.
- CAlice = E(IV1 xorAlice P) = E(IV2 xor (IV2 xor1 IV xorAlice P)).[6]
암호화 스킴의 IV가 랜덤인지 일의인지에 따라 랜덤화 또는 스테이트 풀이라고 불립니다.랜덤화된 스킴에서는 항상 송신자가 선택한IV를 리시버로 전송해야 하지만 스테이트풀 스킴에서는 송신자와 수신자가 공통 IV 상태를 공유할 수 있습니다.이것은 양쪽에서 사전 정의된 방법으로 갱신됩니다.
블록 암호
데이터의 블록 암호 처리는 통상 동작 모드로 기술됩니다.모드는 주로 암호화 및 인증용으로 정의되지만, 두 보안 솔루션을 모두 소위 인증된 암호화 모드로 결합하는 새로운 설계가 존재합니다.암호화 모드와 인증된 암호화 모드는 보통 암호의 블록크기와 일치하는 IV를 사용하지만 인증 모드는 일반적으로 결정론적 알고리즘으로 실현되며 IV는 0 또는 기타 고정값으로 설정됩니다.
스트림 암호
스트림 암호에서는 IV가 키의 내부 비밀 상태로 로드되고, 그 후 첫 번째 비트의 출력을 해방하기 전에 다수의 암호 라운드가 실행된다.성능상의 이유로 스트림 암호 설계자는 가능한 한 라운드 수를 줄이려고 하지만 스트림 암호의 최소 보안 라운드 수를 결정하는 것은 간단한 작업이 아니며 각 암호 구조에 고유한 엔트로피 손실, 관련 IV 및 기타 IV 관련 공격 등의 기타 문제를 고려할 때 알 수 있습니다.n 스트림 암호에 대한 보안 문제, 스트림 암호에 IV 로딩이 심각한 우려 사항이며 지속적인 연구 주제이다.
WEP IV
802.11 암호화 알고리즘인 WEP(Wired Equivalent Privacy의 줄임말)는 24비트 IV를 사용했기 때문에 같은 키를 가진 IV를 재사용할 수 있었고 이로 인해 쉽게 [7]균열이 발생하였습니다.패킷 주입에 의해 WEP는 몇 초 만에 크래킹할 수 있습니다.이것은 결국 WEP의 폐지로 이어졌다.
SSL 2.0 IV
암호 블록 체인모드(CBC 모드)에서는 IV는 비밀일 필요는 없지만 예측 불가능한 것이어야 합니다(특히 임의의 플레인텍스트에 대해 IV 생성 전에 플레인텍스트에 관련지어지는 IV를 예측할 수 없어야 합니다).또한 출력 피드백 모드(OFB 모드)의 경우 IV는 [8]고유해야 합니다.특히 메시지의 마지막 암호 텍스트블록을 다음 메시지의 IV로 재사용하는 (이전에는) 일반적인 방법은 안전하지 않습니다(예를 들어 이 방식은 SSL 2.0에서 사용되었습니다).공격자가 다음 평문을 지정하기 전에 IV(또는 이전 암호문 블록)를 알고 있으면 이전에 같은 키로 암호화되었던 일부 블록의 평문에 대한 추측을 확인할 수 있습니다.이것은 TLS CBC IV 공격이라고도 하며, BEAST [9]공격이라고도 합니다.
「 」를 참조해 주세요.
- 암호화 난스
- 패딩(암호촬영)
- 랜덤 시드
- 소금(암호촬영)
- 블록 암호 모드 동작
- CipherSaber(RC4 및 IV)
레퍼런스
- ^ ISO/IEC 10116:2006 정보기술 - 보안 기술 - n비트 블록 암호 동작 모드
- ^ Alex Biryukov (2005). "Some Thoughts on Time-Memory-Data Tradeoffs". IACR ePrint Archive.
- ^ Jin Hong; Palash Sarkar (2005). "Rediscovery of Time Memory Tradeoffs". IACR ePrint Archive.
- ^ Biryukov, Alex; Mukhopadhyay, Sourav; Sarkar, Palash (2005). "Improved Time-Memory Trade-Offs with Multiple Data". In Preneel, Bart; Tavares, Stafford E. (eds.). Selected Areas in Cryptography, 12th International Workshop, SAC 2005, Kingston, ON, Canada, August 11-12, 2005, Revised Selected Papers. Lecture Notes in Computer Science. Vol. 3897. Springer. pp. 110–127. doi:10.1007/11693383_8.
- ^ Christophe De Cannière; Joseph Lano; Bart Preneel (2005). Comments on the Rediscovery of Time/Memory/Data Trade-off Algorithm (PDF) (Technical report). ECRYPT Stream Cipher Project. 40.
- ^ CWE-329: CBC 모드에서 랜덤 IV를 사용하지 않음
- ^ Nikita Borisov, Ian Goldberg, David Wagner. "Intercepting Mobile Communications: The Insecurity of 802.11" (PDF). Retrieved 2006-09-12.
{{cite journal}}
:Cite 저널 요구 사항journal=
(도움말)CS1 유지: 여러 이름: 작성자 목록(링크) - ^ Morris Dworkin (2001), NIST Recommendation for Block Cipher Modes of Operation; Chapters 6.2 and 6.4 (PDF)
- ^ B. Moeller (May 20, 2004), Security of CBC Ciphersuites in SSL/TLS: Problems and Countermeasures
추가 정보
- Schneier, B. (1996). Applied Cryptography (2nd ed.). New York: Wiley. ISBN 978-0-471-12845-8.
- Ferguson, N.; Schneier, B. (2003). Practical Cryptography. New York: Wiley. ISBN 978-0-471-22894-3.