카테고리 없음

[Crypto] 암호화(대칭키, 공개키, 해시함수, MAC, 전자서명)

poiri3r 2025. 10. 23. 07:12

 정보보호론의 3요소로 ①기밀성 ②무결성 ③가용성이 있다.

정보의 기밀성은 정보에 대한 불법적 노출 방지를 의미하고, .기밀성을 위협하는 공격으로는 Snooping과 Tracffic analysis가 있습니다.

정보의 무결성은 정보에 대한 부인 방지와 진실성&부적절한 수정 및 파괴 방지를 의미하며 무결성을 위협하는 공격으로 Modification(변조), Replaying(재전송) 등이 있습니다.

정보의 가용성은 정보를 직시에, 그리고 안정된 접근 및 사용 보장을 의미하며 가용성을 위협하는 공격으로 Denial of Service인 DOS 공격이 있습니다.

 

이런 보안 위협에서 메세지를 보호하기 위해 암호화를 사용합니다.

보안 서비스는 데이터 전송의 안정성 보장을 위해 통신 프로토콜 계층에 의해 제공되고, 보안 서비스에 맞는 메커니즘 선택이 필요합니다.

 

그 중에서 대칭키 암호를 살펴보겠습니다.

대칭키 암호(비공개키)는 암호는 암호화 키와 복호화 키가 동일한 암호화 방식입니다.

대표적인 알고리즘으로 DES,AES,chacha20가 있으며 해당 구체적인 동작에 대해서는 나중에 시간날 때 적어보도록 하겠습니다.

 

대칭키 암호는 연산이 빠르고 효율적이고, 구현이 단순하고 비용이 적다는 장점이 있으나 모든 통신쌍마다 키를 안전하게 공개해야된고 관리가 어렵다는 단점이 있습니다(키 분배의 문제)

 

대칭키는 암호화를 통한 기밀성을 보장할 수 있으나, 무결성과 인증을 보장해주진 않습니다.

 

또 블럭암호의 운영모드가 있는데 쉽게 생각해서 모든 내용을 동일한 키로 암호화하는게 아닌 키를 조금씩 바꿔가며 암호화하는 방식입니다.

 

다음으로 공개키 암호를 살펴보겠습니다.

공개 키 암호는 모두에게 공개하는 공개키와, 본인만 가지고 있는 비공개 키 쌍으로 이루어집니다.

인터넷 쇼핑몰과 같이 불특정 다술를 대상으로 한 암호 통신에 적합합니다.

공개키는 복호화키를 가지고 있는 사람만 원본 메세지를 확인할 수 있으므로, 기밀성을 보장합니다.

또한 전자서명을 활용하면 인증 및 무결성 보장도 가능합니다.

대표적인 알고리즘으로 RSA,ECC가 있습니다.

 

다음으로 해시 함수입니다.

해시함수는 임의의 길이의 데이터를 입력받아 고정된 길이의 데이터로 변환하는 일방향 함수입니다.

동일한 입력에 대해서는 동일한 해시값이 출력됩니다.

해시함수는 무결성 검증에 사용되는데, 데이터가 전송되거나 저장되는 과정에서 변조되지 않음을 확인할 때 사용합니다.

대표적으로 SHA와 MD5(128비트 출력) 알고리즘이 있습니다.

 

다음은 메세지 인증 코드(MAC)입니다.

MAC은 Message Authentication Code의 약자로, 무결성인증을 보장하기 위해 사용되는 암호 기술입니다.

대칭키와 해시가 결합한 형태로 키를 MAC 생성 알고리즘에 입력하여 값을 생성 한뒤 원본 메세지와 같이 전송합니다.

수신자는 받은 메세지와 공유된 비밀 키를 활용하여 새로운 MAC값을 추출하고 송신자가 보낸 값과 일치하는 지 확인합니다.\

MAC은 기밀성을 제공하지 않기 때문에 다른 암호화 기술과 함께 메세지를 암호화해야하고, 대칭 키 기반이므로 키 관리 문제가 그대로 있으며 부인 방지가 불가능하다는 단점이 있습니다. 또 MAC 자체만으로는 재전송 공격에 취약해 타임스탬프나 일회용 값을 메세지에 포함하여 MAC을 생성하는 방식이 필요합니다.

 

다음은 전자서명(Digital Siguniture)입니다.

전자 서명은 무결성, 인증, 부인 방지를 보장하는 기술입니다.

사용자가 원본 메세지를 해시함수에 넣어 메세지 다이제스트를 만들고, 이것을 본인의 개인키로 암호화한 뒤 원본 메세지와 함께 전송하면 수신자는 메세지를 동일한 함수에 넣은 뒤, 받은 다이제스트를 사용자의 공개키로 복호화하여 얻은 두개의 해시값을 비교합니다. 이러한 비교값을 통해 부인 방지 효과를 얻을 수 있습니다.

이러한 서명은 서명자의 공개키만 있으면 누구나 유효성을 검증할 수 있어, 분쟁 시 공정한 증거로 사용할 수 있습니다.