네트워크/네트워크

네트워크 보안 - 암호화 개요

본클라쓰 2009. 2. 10. 12:59

 

암호 기법(Cryptography)

 

정보의 보안을 위해 평문을 제3자가 이해하기 어려운 형식으로 변환하거나 암호문을 판독할 수 있는 형식으로 변환하는 원리나 수단, 방법 등을 다루는 기술 또는 학문 분야입니다.

 

암호화는 다음 목적을 위해 사용됩니다.

  • 기밀성 : 사용자의 ID 또는 데이터를 읽지 못하도록 보호합니다.
  • 데이터 무결성 : 데이터를 변경하지 못하도록 보호합니다.
  • 인증 : 데이터가 특정인으로부터 온 것임을 보장합니다.

이러한 목적을 위해 알고리즘과 암호화 기본 형식이라고 알려진 알고리즘과 방법을 결합하여 암호화 체계를 만듭니다. 암호화 기본 형식은 다음과 같습니다.

 

 

 

1. 비밀 키 암호화(Secret key cryptography)

 

비밀 키 암호화는 공유되는 하나의 비밀 키를 사용하여 데이터를 암호화하고 해독합니다. 이 경우 해당 키를 가지고 있는 사람은 누구나 이 키를 사용하여 데이터를 해독할 수 있으므로 권한이 없는 다른 사용자가 액세스할 수 없도록 키를 보호해야 합니다. 비밀 키 암호화는 암호화와 해독에 동일한 키가 사용되므로 대칭 암호화라고도 합니다. 비밀 키 암호화 알고리즘은 공개 키 알고리즘에 비해 매우 빠르므로 크기가 큰 데이터 스트림의 암호화 변환을 수행하는데 적합합니다.

 

대표적인 방식은 다음과 같습니다.

 

1) DES(Data Encryption Standard)

 

치환과 전치 혼합방법으로 블럭 암호와 비밀키 암호방식을 사용합니다. 평문의 문자 8개씩 나눈 것의 confusion과 diffusion을 각각 16번 반복하고 64비트 블럭 암호 알고리즘을 사용합니다.

 

단점은 과학 기술의 발전으로 모든 키값을 시도하여 해독할 수 있습니다. (1977년에 1000년, 1999년에 22시간 15분 소요) 이에 최근에는 DES 암호화를 3개의 키로 3번 반복하는 Triple-DES 가 사용되고 있습니다.

 

2) Triple-DES(3중 DES)

 

새로운 암호화 표준이 논의되기 전가지 잠정적인 해결책입니다. 키는 DES의 56비트에서 112비트로 두배 증가했고, 각각 다른 2개 혹은 3개의 비밀키를 사용합니다.

 

3) Steganography

 

스태가노그래피 또는 스테고(Stego: 덮여 있거나 비밀이라는 그리스어 "steganous"에서 유래)

잘보이지 않게 데이터를 은닉하는 기술로, 9.11 테러에서 테러리스트들이 대화를 은폐하기 이해 사용했다 해서 더욱 이슈가 되었습니다.

 

 

 

2. 공개 키 암호화

 

공개 키 암호화는 권한이 없는 사용자에게 기밀로 유지되어야 하는 개인 키와 모든 사람에게 공개될 수 있는 공개키를 사용합니다. 공개 키와 개인 키는 서로 수학적으로 연결되어 있습니다. 공개 키를 사용하여 암호화된 데이터는 해당 개인 키를 사용해야만 해독할 수 있으며 개인 키로 서명된 데이터는 공개 키가 있어야만 확인할 수 있습니다. 

 

공개 키는 모든 사람이 사용할 수 있습니다. 즉, 공개 키는 개인 키의 보유자에게 보낼 데이터를 암호화하는 데 사용됩니다. 공개 키 암호화 알고리즘은 데이터를 암호화하는 데 하나의 키가 필요하고 데이터를 해독하는 데 또 다른 키가 필요하기 때문에 비대칭 알고리즘이라고도 합니다.

 

1) DSA

2) RSA