본문 바로가기

전체 글251

PKI(public key infrastructure) PKI 인증기관(CA, Certification Authority)에서 공개키와 개인키를 포함하는 인증서(Certificate)를 발급받아 네트워크상에서 안전하게 비밀통신을 가능하게 하는 기반구조. 특정 수신자만이 풀어볼 수 있는 내용을 전달하고 싶으면 공개 키 방식을 사용하면 되며, 특정 사람이 어떠한 문서를 보냈다는 것을 확인하고 싶으면 문서를 당사자의 공개 키로 암호화화 하는 전자서명 방식을 사용하면 된다. 위 두 가지 공개 키 암호 방식과 전자서명을 사용할 수 있도록 기반을 마련한 것이 PKI이다. PKI는 알고리즘이나 프로토콜이 아닌, 공개 키 암호에 기반을 둔 구조(infrastructure)다. 공개 키 시스템의 규약이나 시스템 외적으로 개인의 책임 절차 등 여러 가지 사향이 정의가 되어있기.. 2019. 8. 24.
전자서명 전자서명 인터넷 상의 전자적 형태의 자료로 서명자의 신원을 확인하고 서명자가 전자문서에 서명했다는 사실을 나타내는 데 사용되는 기술. 종이문서의 서명(인감)과 같이 전자문서에 서명한 사람이 누구이지 확인하고 서명된 전자문서의 위·변조 사실을 알 수 있도록 전자문서에 부착하는 특수한 형태의 디지털 정보를 말한다. 전자서명은 인감도장의 역할을 하는 '생성'과 인감증명의 역할을 하는 '검증' 등 한 쌍의 전자서명 키로 구성되는데 생성 키는 서명자만 보관해서 사용하고 전자서명 검증키는 정보통신망을 통해 누구나 알 수 있도록 공개된다. 전자서명에 대한 인증은 한국증권전산(증권분야), 금융결제원(금융분야), 한국정보인증(전자거래분야), 정부전산정보관리소(행정분야) 등 4개 공인인증기관에서 하게 된다. 인증받은 전자.. 2019. 8. 22.
메시지 인증 코드(MAC, Message Authentication Code) 메시지 인증 코드 메시지의 정당성을 검증하기 위해 메시지와 함께 전송되는 값을 말한다. 데이터가 변하지 않았다는 것을 증명하기 위해 원문을 사용해 MAC값을 생성한다. 원문에 해당하는 MAC값은 하나밖에 없으며, 원문이 변조되면 MAC값 또한 바뀌게 된다. 송신자는 데이터와 해당 데이터의 MAC값을 함께 보내며 수신자는 이를 확인해 변조 여부를 확인한다. MAC값 또한 변조될 수 있기 때문에 MAC값은 암호화하여 전송한다. MAC는 데이터와 송/수신자가 공유하는 키 2개의 입력으로 고정 bit 길이로 만들어진다. MAC는 블록 암호나 해시 함수에 기반을 두기 때문에 전자 서명보다 빠르다. MAC는 송/수신자 간 키를 공유할 필요가 있으며, 키 배송 문제가 발생한다. 변경 감지 코드(MDC, Modific.. 2019. 8. 22.
해시 함수(Hash Function) 해시 함수 해시 함수는 임의의 길이를 갖는 임의의 데이터에 대해 고정된 길이의 데이터로 매핑하는 함수를 말한다. 이러한 해시 함수를 적용하여 나온 고정된 길이의 값을 해시값이라고 한다. 보통 그리 복잡하지 않은 알고리즘으로 구현되기 때문에, 상대적으로 CPU, 메모리 같은 시스템 자원을 덜 소모하는 특성이 있다. 같은 입력값에 대해서는 같은 출력값이 보장되며, 이 출력값은 가능한 한 고른 범위에 균일하게 분포하는 특성가이 있다. 위 특성 때문에 다양한 목적에 맞게 설계된 해시 함수가 존재하며, 자료구조, 보안 등 다양한 분야에서 유용히 사용된다. 해시 함수의 질은 입력 영역에서의 해시 충돌 확률로 결정되는데, 해시 충돌의 확률이 높을수록 서로 다른 데이터를 구별하기 어려워지고 검색하는 비용이 증가하게 된.. 2019. 8. 20.
하이브리드 암호시스템 (Hybrid cryptosystem) 하이브리드 암호 시스템 대칭 키 암호를 사용하면 기밀성을 유지한 통신이 가능하지만 키 배송 문제를 해결할 필요가 있으며, 공개 키 암호를 사용하면 키 배송 문제가 해결되지만 대칭 키 암호에 비해 느린 처리 속도와 중간자 공격에 취약하다는 문제가 있다. 하이브리드 암호 시스템은 위 공개 키 방식의 처리 속도 문제를 해결하여 대칭 키 암호와 공개 키 암호의 장점을 살릴 수 있도록 조합한 방법이다. 항목 대칭 키 공개 키 키의 상호관계 암호화 키 = 복호화 키 암호화 키 ≠ 복호화 키 안전한 키 길이 128비트 이상 2048비트 이상 암호화 키 비밀 공개 복호화 키 비밀 비밀 키 전송 여부 필요 불필요 키 개수 N(N-1)/2 2N 암호화 속도 공개 키에 비해 빠름 대칭 키에 비해 느림 경제성 높음 낮다 강점.. 2019. 8. 18.
RSA 암호 RSA 암호 RSA는 공개 키 암호 중 하나로, 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘이다. RSA라는 이름은 개발자 세 사람의 이름의 첫 글자를 따서 붙여졌다. (Rivest-Shamir-Adleman) RSA 암호화 알고리즘은 1983년에 발명자들이 소속되어 있던 매사추세츠 공과대학교(MIT)에 의해 미국에 특허로 등록되었고, 2000년 9월 21일에 그 특허가 만료되었다. 현재 SSL/TLS에서 가장 많이 사용되는 방식이다. RSA 과정 RSA는 공개 키 암호로 공개 키, 개인 키 두 개의 키를 사용한다. 일반적으로 대부분의 공개 키 방식의 암호는 공개 키로 암호화하고 개인 키로 복호화한다. 하지만 RSA는 이러한 제약 조건이 없다. 즉, 개인 키로 암호화하고 공개 키로 복호화할 수도 .. 2019. 8. 17.
공개 키 암호(public-key cryptography) 2019/08/17 - [Information Security/Cryptography · Cryptology] - RSA 암호 공개 키 암호 암호화/복호화에 같은 키를 사용하는 대칭 키 암호화 방식과 달리, 암호화/복호화에 사용하는 키가 서로 다른 암호화 방식을 의미한다. 공개 키 암호 방식에서는 공개 키와 비밀 키가 존재하며, 공개 키는 누구나 알 수 있지만, 그에 대응하는 비밀 키는 키의 소유자만이 알 수 있어야 한다. 공개 키 암호는 비밀 키 없이는 매우 풀기 어려운 수학적 문제를 바탕으로 기밀성을 유지하기 때문에 키 소유자 이외는 대상에 접근할 수 없다. 공개 키와 비밀 키는 서로 밀접한 수학적 관계가 존재한다. 공개 키 방식은 수학적 문제를 사용하는 알고리즘의 특성 상 기존 대칭 키 암호에 비해.. 2019. 8. 14.
블록 암호 운용 방식 블록 암호 운용 방식 블록 암호를 반복적으로 안전하게 이용하게 하는 절차를 말한다. 가변 길이 데이터를 암호화하기 위해서는 먼저 이들을 단위 블록들로 나누어야 하며, 그 블록들을 어떻게 암호화할지를 정해야 하는데, 이때 블록들의 암호화 방식을 운용 방식으로 부른다. 현대의 일부 운용 방식은 암호화와 인증을 효율적인 방식으로 병합해 놓고 있는데, 이를 인증된 암호 방식(authenticated encryption) 방식으로 부른다. 운용 방식이 일반적으로 대칭형 암호화와 관련하는 것이 일반적이지만 RSA와 같은 공개 키 암호 방식 원칙에도 적용할 수 있다. 초기화 벡터(initialization vector, IV) 첫 블록을 암호화할 때 사용되는 값을 의미한다. 같은 IV가 반복 사용되어서는 안 된다. .. 2019. 8. 6.
키 배송 문제(key distribution problem) 키 배송 문제 대칭 키 암호 사용 시 키를 상대에게 보내지 않으면 수신자는 복호화할 수 없고, 키를 보내면 도청자가 이를 복호화할 수 있는 '키 배송 문제'가 발생할 수 있다. 키 배송 문제 해결방법 키의 사전 배포 사전에 안전한 방법으로 키를 건네주는 방식으로 기본적으로 모든 사용자 사이에 안전한 통로가 필요하다. 사용자가 많은 경우에는 그만큼 많은 키를 관리해야 하는 문제점이 있다. 이 때문에 매우 복잡하고 관리 비용이 많이 지불된다. 공격자가 도중에 가로챌 위험이 존재한다. 키 배포 센터(KDC, key distribution center) 암호 통신이 필요해질 때마다 통신용 키를 키 배포 센터라는 신뢰받는 3자에 의뢰해 개인과 키 배포 센터 사이에서만 키를 사전에 공유하는 방식이다. 사용자가 많아.. 2019. 8. 4.
DES(Data Encryption Standard) DES AES를 사용하기 전, NBS에서 국가 표준으로 지정한 56bit의 키와 8bit의 패리티로 구성된 64bit 블록 암호 알고리즘 70~80년대 당시엔 상당히 강력한 알고리즘이었고, AES가 표준화되기 전까지 세계적으로 널리 사용되었다. 1972년 NBS(National Bureau of Standards, 현 NIST)는 미국 정부 규모의 표준적인 암호 알고리즘을 개발하기로 하였고, 이에 IBM에서 1971년에 만든 Lucifer 암호 알고리즘을 제안하였다. 이후 NSA에서 Lucifer 암호 알고리즘을 수정하고 1975년 3월 17일에 DES를 발표하였다. 1979년에는 미국 NBS가 국가 표준 암호 알고리즘으로 지정되었다. DES의 구조 두 개의 P-Box와 16개의 Feistel 라운드 함.. 2019. 8. 1.