2017년 5월 25일 목요일

초기화 벡터

초기화 벡터

초기화 벡터(: initialization vector, IV)는 비트열이며, 스트림 암호 또는 블록 암호를 임의의 암호 이용 모드로 실행할 때, 같은 암호열쇠로 스트림을 생성해도 매회 다른 스트림을 생성하는데 필요하게 된다.이것에 의해, 매회 암호열쇠를 바꾼다고 하는 시간이 걸리는 작업을 생략할 수 있다.

IV의 크기는 사용하는 암호화 알고리즘과 암호 프로토콜에 의존해, 통상은 암호의 블록 사이즈와 같은가 암호열쇠와 같은 사이즈이다.IV는 수신자가 그 암호를 해독할 때에 필수이다.IV를 건네주는 방법으로서는, 열쇠 교환이나 핸드쉐이크 시에 합의한 다음 패킷과 함께 IV를 보내는지, IV의 계산방법을 공유해 두는지, 현재 시간과 같은 인크리멘탈인 측정치(RSA SecurID, VASCO Digipass등의 하드웨어 인증 토큰)나, 송신자 또는 수신자의 ID, 파일 ID, 패킷, 섹터 번호나 클러스터 번호등을 파라미터로서 사용한다.프로토콜에 따라, 복수의 변수를 조합하거나 해쉬 함수를 사용한다.IV를 랜덤에 선택했을 경우, 충돌의 가능성을 고려할 필요가 있어, 인크리멘탈인 IV를 nonce로서 사용하는 경우, 관련 IV공격에의 내성을 고려해 둘 필요가 있다.

목차

블록 암호

블록 암호스트림 암호에서는 IV의 실장은 다르다.직접적인 블록 암호 혹은 ECB 모드로는, 같은 평문을 같은 열쇠로 암호화하는과 같은 암호문이 되어, 시큐러티에의 큰 위협이 된다.그 때문에, IV를 평문의 최초의 블록에 선형에 가산(또는 XOR)하는지, 운용 모드에 따라서는 평문의 전에 IV를 포함해 두어 암호화한다.

스트림 암호

스트림 암호에서는, IV가 열쇠 스트림의 초기치로서 암호기로 설정되어 최초의 비트를 출력하기 전에 몇 번이나 암호기를 돌린다.성능을 향상시키기 위해, 이 사전에 돌리는 회수는 가능한 한 적게 되도록(듯이) 설계한다.그러나, 그 최소 회수를 요구하는 것은 간단하지 않고, 엔트로피 손실, 암호 생성마다의 유니크성, 스트림 암호의 시큐러티 문제인 관련 IV공격과 IV관련 공격등을 고려해야 한다.이 때문에 스트림 암호의 IV는 중요한 문제이며, 현재도 연구가 활발히 행해지고 있다.

WEP

IEEE 802.11암호 알고리즘으로서 WEP(Wired Equivalent Privacy)이 있지만, WEP의 사용하는 IV는 「약하고」, 용이하게 해독 가능한[1].위장 패킷 주입에 의해, WEP은 5분 이내에 해독할 수 있다.이 때문에, WEP은 급속히 쓸모없게 되었다.

관련 항목

각주

  1. ^ Nikita Borisov, Ian Goldberg, David Wagner. Intercepting Mobile Communications: The Insecurity of 802.11. http://www.isaac.cs.berkeley.edu/isaac/mobicom.pdf 2006년 9월 12일 열람.. 

참고 문헌

  • B. Schneier, 'Applied Cryptography', Wiley 1996
  • N. Ferguson and B. Schneier, 'Practical Cryptography', Wiley 2003

This article is taken from the Japanese Wikipedia 초기화 벡터

This article is distributed by cc-by-sa or GFDL license in accordance with the provisions of Wikipedia.

Wikipedia and Tranpedia does not guarantee the accuracy of this document. See our disclaimer for more information.

In addition, Tranpedia is simply not responsible for any show is only by translating the writings of foreign licenses that are compatible with CC-BY-SA license information.

0 개의 댓글:

댓글 쓰기