본문 바로가기

암호화 알고리즘

(11)
S/MIME (공개키 알고리즘 Usecase) S/MIME(Secure Multipurpose Internet Mail Extensions)은 전자 메일의 보안을 강화하기 위해 디지털 서명 및 암호화 기능을 추가한 것입니다. 이를 이해하기 위해서는 MIME을 먼저 이해해야 합니다. MIME은 전자 메일이나 인터넷 상에서 다양한 데이터 유형을 전송하는 데 사용되는 표준 인코딩 방식입니다. MIME은 전자 메일과 관련된 다양한 기능을 제공하지만, 암호화 기능을 제공하지는 않습니다. 반면에, S/MIME은 MIME에서 사용되는 표준 인코딩 방식을 사용하면서도 데이터 보안을 강화하는 데 사용됩니다. S/MIME은 대칭키 암호화와 비대칭키 암호화를 결합하여 전자 메일을 안전하게 보호합니다. 보내는 사람은 대칭키 암호화를 사용하여 메일을 암호화하고, 받는 사람..
공인인증서 (공개키 알고리즘 Usecase) 한국의 공동인증서에서는 RSA 알고리즘(비대칭키)과 SEED 알고리즘(대칭키)이 사용됩니다. 공동인증서는 인터넷 뱅킹, 전자세금신고, 공공기관 등에서 사용되는 인증서이며, 이를 통해 가입자의 신원을 확인하고 안전한 통신을 보장합니다. RSA 알고리즘은 대표적인 비대칭키 암호화 알고리즘으로, 공개키와 개인키를 사용해 암호화 및 복호화를 수행합니다. 공동인증서는 개인키를 보유한 가입자가 암호화한 데이터를 공개키로 복호화하여 인증서를 확인하고, 서버로부터 받은 데이터를 개인키로 복호화하여 확인합니다. 이러한 방식을 통해 공동인증서는 안전하고 신뢰성 있는 인증서비스를 제공합니다. 전체적인 구조는 PKI(public key infrastructure)로 구성됩니다. (출처: https://www.law.go.kr..
TLS/SSL 통신 - 2 (공개키 알고리즘 Usecase) + HTTPS / HTTP 정의 인터넷에서 정보를 전송하는 프로토콜인 HTTP는 데이터를 암호화하지 않기 때문에, 데이터 전송 중에 제3자가 정보를 엿볼 수 있는 보안상 취약점이 존재합니다. 이에 반해 HTTPS는 HTTP에 암호화 기능을 추가한 보안 프로토콜입니다. HTTPS는 웹 브라우저와 웹 서버 사이에 데이터를 암호화하고, 이를 인증하기 위해 TLS 암호화 프로토콜을 사용합니다. 따라서 HTTPS를 사용하면 중간자 공격과 같은 해킹 공격을 방지하고, 사용자의 개인정보를 보호할 수 있습니다. HTTP 는 위와 같이 암호화 되지 않은 평문으로 데이터를 전송하기 때문에, 제3자가 패킷을 훔쳐보는 스니핑(Sniffing) 공격에 취약합니다. HTTP 통신에서 보안을 추가한 것이 HTTPS 이며, 이때 보..
TLS/SSL 통신 - 1 (공개키 알고리즘 Usecase) TLS/SSL 프로토콜은 월드 와이드 웹의 보안을 위해 개발된 것입니다. 초기 인터넷 통신은 평문으로 이루어졌기 때문에 암호화되지 않았고, 개인 정보나 기밀 정보 등이 노출될 가능성이 매우 높았습니다. 이러한 문제를 해결하기 위해 SSL(Secure Socket Layer)이라는 프로토콜이 등장했고, 이후 TLS(Transport Layer Security)로 대체되었습니다. TLS/SSL는 인터넷 상에서 데이터를 보호하기 위한 프로토콜로, 서버와 클라이언트 간의 통신을 암호화하고 인증하는 기능을 제공합니다. TLS/SSL는 웹 브라우저와 웹 서버 간의 통신에 가장 많이 사용되며, HTTPS(Hypertext Transfer Protocol Secure)라는 프로토콜을 통해 구현됩니다. HTTPS는 HT..
ECC 알고리즘 ECC(Elliptic Curve Cryptography) 알고리즘은 공개키 암호화 알고리즘 중 하나로, 타원 곡선을 이용하여 암호화 및 서명을 수행합니다. ECC 알고리즘은 RSA 알고리즘과 비교하여 더 작은 키 크기를 사용하면서도 같은 보안 수준을 유지할 수 있어, 네트워크 환경에서 전송할 데이터의 크기를 줄일 수 있습니다. 또한, ECC 알고리즘은 안정적인 속도와 안전한 보안성을 제공하여 다양한 응용 분야에서 사용됩니다. ECC 알고리즘은 모바일 기기, 스마트카드, 블록체인 등에서 보안성을 확보하기 위해 널리 사용되고 있습니다. (아래는 이해를 돕기 위한 간단한 예시로 작은 숫자를 활용해보았습니다) 공개키/개인키 생성과정 1. 타원 곡선 생성 ECC 알고리즘은 타원 곡선 상에서 연산을 수행합니다. ..
ElGamal 알고리즘 DSA(Digital Signature Algorithm) 알고리즘은 디지털 서명을 생성하는 공개키 암호화 알고리즘 중 하나입니다. 이 알고리즘은 해시 함수와 서명의 생성 및 검증에 사용되는 랜덤한 값인 "k"를 이용하여 작동합니다. DSA 알고리즘은 암호학적으로 안전하며, RSA 알고리즘보다 빠른 속도를 보여줍니다. 또한, 이 알고리즘은 FIPS(Federal Information Processing Standard)에 따라 표준화되어 있어 보안성과 상호 운용성이 보장됩니다. DSA 알고리즘은 주로 인터넷 보안 프로토콜인 SSL/TLS에서 서명 생성에 사용됩니다. (아래는 이해를 돕기 위한 간단한 예시로 작은 숫자를 활용해보았습니다) 공개키/개인키 생성 과정 1. 소수(p)와 원시근(g) 선택 먼저, ..
DSA 알고리즘 DSA(Digital Signature Algorithm) 알고리즘은 디지털 서명을 생성하는 공개키 암호화 알고리즘 중 하나입니다. 이 알고리즘은 해시 함수와 서명의 생성 및 검증에 사용되는 랜덤한 값인 "k"를 이용하여 작동합니다. DSA 알고리즘은 암호학적으로 안전하며, RSA 알고리즘보다 빠른 속도를 보여줍니다. 또한, 이 알고리즘은 FIPS(Federal Information Processing Standard)에 따라 표준화되어 있어 보안성과 상호 운용성이 보장됩니다. DSA 알고리즘은 주로 인터넷 보안 프로토콜인 SSL/TLS에서 서명 생성에 사용됩니다. (아래는 이해를 돕기 위해 비교적 작은 숫자를 활용해보았습니다) 공개키/개인키 생성 과정 1. 소수(p, q), g 생성 DSA 알고리즘에서..
Diffie-Hellman 알고리즘 Diffie-Hellman 알고리즘은 1976년 Whitfield Diffie와 Martin Hellman에 의해 발표된 공개키 암호화 기술 중 하나입니다. 이 알고리즘은 두 개체 간에 비밀 정보를 안전하게 교환하는 방법으로 작동합니다. 이 알고리즘은 상호 작용하는 두 개체가 공유 비밀 정보를 결합하여 대칭키를 생성하는 방식을 사용합니다. 이를 통해 대칭키 암호화를 사용하여 안전한 통신을 수행할 수 있습니다. Diffie-Hellman 알고리즘은 TLS/SSL 및 VPN과 같은 보안 프로토콜에서 널리 사용됩니다. 이 알고리즘은 공개키 기술의 개념을 도입하여 대칭키 교환 문제를 해결했으며, 이후 RSA 알고리즘 등의 다른 공개키 암호화 알고리즘의 기반이 되었습니다. (아래는 이해를 돕기 위한 간단한 예시로..