보안

    [CS][알기 쉬운 정보보호개론 3판] Chapter15. SSL/TLS

    웹 보안의 필요성 인터넷은 처음 개발 당시, 서비스/네트워크가 더 시급했기 때문에 보안을 고려하지 않았다. 추후에 보안 서비스를 추가하게 되었다 그것이 TLS/SSL이다. WWW는 인터넷과 TCP/TP 상에서 돌아가는 클라이언트 및 서버 응용프로그램이다. 다음과 같은 이유로 WWW에는 보안 기술이 요구된다. 웹 서버를 구성하고 웹 컨텐츠를 개발하는 것은 점점 쉬워지고 있지만, 그 내부에서 돌아가는 것들은 매우 복잡하다. 따라서 우리가 알지 못하는 보안적 결함이 숨어 있을 수 있따. 웹 서버(외부에서의 관문)를 침입 기반으로 하여 (다른) 전체 시스템에 침입할 수 있다. 웹 기반 서비스 이용자는 상대적으로 보안에 대하여 잘 알지 못하는 사람이 대부분이다. (이용자에게 신뢰를 주어야 해서) 웹 보안 위협 S..

    [CS][알기 쉬운 정보보호개론 3판] Chapter14. 이메일 보안

    이메일과 프로토콜 SMTP 와 IMAP/POP이 주로 사용된다. SMTP simple mail transfer protocol (정말 simpl해서 mail만 보낼 수 있다.) 발신지에서 목적지까지 인터넷을 통해 메세지를 이동하는 데에 사용하는 프로토콜 이메일 메세지를 봉투(envelope)에 캡슐화하고 캡슐화된 메세지를 발신지에서 목적지까지 다수의 MTA(mail transfer agent : 중간중간의 router)를 통해 전송 클라이언트-서버 사이에서의 SMTP (송수신자 서버 사이에서 작동) 클라이언트(이메일 송신자)가 서버(다음-홉 수신자)에 접촉하고 해당 메세지가 전송되어야 할 곳에 대한 정보를 말해주는 명령어 집합을 제시하며 메세지를 전송하는 역할 MTA 간의 SMTP 한 MTA가 메세지를 ..

    [CS][알기 쉬운 정보보호개론 3판] Chapter13. 난수

    난수의 용도 키 생성 난수를 안쓰면 인간의 의지가 들어가서 예측이 쉬워진다. 대칭 암호나 메세지 인증 코드 (공개X) 키 쌍 생성 공개키 암호나 디지털 서명 초기화 벡터(IV) 생성 블록 암호 모드인 CBC, CFB, OFB 비표(nonce) 생성 재전송 공격 방지나 블록 암호의 CTR 모드 솔트 생성 패스워드를 기초로 한 암호화 (PBE) 일회용 패드 패딩에 사용되는 열을 생성 아무리 강한 암호 알고리즘이라도 키가 공격자에게 알려져 버리면 아무 의미가 없다. 난수를 사용해서 키를 만들어, 공격자에게 키를 간파당하지 않도록 한다. (사람의 의지↓) 현재 사용되고 있는 대부분의 보안 프로토콜에서 난수가 사용되고 있다. 암호 알고리즘에서 각종 키 생성 in protocol 프로토콜에서 재전송 공격(Repla..

    [CS][알기 쉬운 정보보호개론 3판] Chapter12. Key

    Key의 안정성 암호(Cryptography) 기술을 사용하려면 대부분 키(key) 가 사용된다. 가역적으로 만들기 위해서 평문 ↔ 암호문 키 값의 크기보다 키 공간(key space)의 크기가 더 보안성과 밀접한 관련이 있다. 키는 길이가 아니라 “가능한 키들의 집합”이 더 중요한 요소 키 공간의 크기를 키우기 위해서는 키의 bit 수를 키우는 것이 중요하다. AES, DES 등의 대칭키 암호화 알고리즘 : 키의 자리수가 곧 키 공간의 크기와 연결된다. 예를 들어 AES-256은 키의 길이가 256비트이므로 키 공간의 크기가 2^(256), trivial한 것 빼고는 다 가능하다. RSA나 Diffie-gellman과 같은 공개키 암호화 알고리즘 : 소수의 크기와 수학적 특징이 키 공간의 크기와 연결된..

    [CS][알기 쉬운 정보보호개론 3판] Chapter11. 인증서

    공개키 암호를 위한 키 분배의 한계 공개키 암호의 가장 큰 역할은 키 분배 문제를 해결할 수 있다는 것이다. 공개키 암호 기반의 키 분배는 다음 두 과정으로 이루어져 있다. 공개키의 분배 공개키 암호를 이용한 대칭키 분배 공개키 인증서 공개 키 암호를 이용하면 키 분배 문제를 해결할 수 있지만, 누구라도 공개 선언을 위장할 수 있다는 한계점이 있다. 이를 방지하기 위해 제 3자 기관인 Certificate Authority(CA)를 두어 운영하고 CA로부터 공개키의 인증서(Certificate)를 발급받는다. 인증서는 대체로 키 소유자의 ID, 공개키, 그리고 CA가 서명한 값으로 구성되어 있다. (필수) 인증서는 누구나 검증할 수 있도록 설계되어 있다. 공개키 인증서 사용자의 공개키를 인증하기 위한 인..

    [CS][알기 쉬운 정보보호개론 3판] Chapter10. 디지털 서명

    디지털 서명의 필요성 MAC을 이용한 메세지 인증의 한계 제 3자에게 증명하기 부인 방지 (Von-repudiation)이 불가능 위의 문제가 발생하는 이유는 MAC이 대칭키 방식이기 때문이다. MAC을 위해 사용되는 대칭키는 Alice와 Bob만이 공유하고 있고, 그 키를 갖고 있어야 증명과 검증이 가능하다. 거꾸로 생각하면 그 키를 갖고 있지 않으면 검증이 불가능한 상황 따라서 메세지 작성만이 서명하고, 누구나 검증할 수 있는 새로운 메세지 인증 시스템이 필요하다. 공개키 암호화 방식은 누구나 암호화할 수 있고, 수신자만이 복호화 할 수 있는데 이것을 역이용하여 디지털 서명을 설계 개인키로 나만 무결성을 증명 → 공개키로 다들 검증 가능 = 공개키 암호화 방식 사용 서명키 디지털 서명 Handwrit..

    [CS][알기 쉬운 정보보호개론 3판] Chapter09. 메세지 인증 코드 (MAC)

    Prove(증명)과 Verify(검증) 증명 : 송신자가 수신자에게 메세지를 인증 받는 행위 검증 : 수신자가 송신자의 메세지를 검사하는 행위 Alice가 Bob에게 메시지를 보내고, Bob이 Alice의 메시지를 검사한다고 하자. Alice는 Bob에게 메시지가 변하지 않았다는 것을 "증명"하게 되며, Alice를 증명자 (Prover) 라고 부른다. Bob은 Alice가 보낸 메시지가 변하지 않았다는 것을 "검증"하게 되며, Bob을 검증자 (Verifier) 라고 부른다 메세지 인증 코드 (MAC) 해시 함수 사용 입력 : 메세지, 공유하는 키 출력 : 고정 비트 길이의 코드 프로세스 Alice와 Bob 공유하고 있는 키 K와 해시 함수 H()가 있다고 하자 Alice가 Bob에게 메시지 M을 보낼..

    [CS][알기 쉬운 정보보호개론 3판] Chapter08. 일방향 해시함수

    데이터의 무결성 데이터가 함부로 위/변조 되지 않았다는 것을 증명 무결성 검사를 위한 방법으로 다른 안전한 장소에 복사본을 저장하는 방법이 있다 → 공간 낭비의 문제점 파일로부터 나올 수 있는 작은 값을 보관하기 → 해시값,지문,Message Digest 이러한 값을 만들어내는 함수를 해시 함수라 한다. 해시 함수 함수 H(x)가 x가 임의의 길이라도 함숫값의 길이는 항상 일정할 때 해시값의 길이는 메세지의 길이와는 관계 X 입력값은 모든 디지털 데이터가 가능 (임의+값X 것까지) 해시 함수와 안전한 해시 함수 만족해야 하는 성질 임의 크기의 데이터 블록에 적용 일정한 길이의 출력 계산 용이성과 구현 가능성 해시 함수가 ‘안전하다’ 라고 말할 수 있는 성질 비가역성 : 한 방향으로만 계산, 역함수X, H..

    [CS][네트워크보안] Chapter2. 암호의 세계

    통신에서의 참여자 및 주요 공격 유형 송신자 : 메세지를 보내는 사람 수신자 : 메세지를 받는 사람 주요 공격 유형 도청 (Eavesdrop) : 데이터를 방지하려면 암호화를 해야함 그러나 복화화를 위한 키 공유도 노출될 수 있음 (취약점) 위/변조 : 가로채기 암호화와 복호화 for 공격 방지 평문 (plaintext) : 암호화 하기 전의 메세지, 암호문을 푼 것 암호문 (ciphertext) : 암호화 한 후의 메세지 암호 기술 : 중간의 도청자가 암호문을 가로챈다 해도 비밀값을 모른다면 암호문을 평문으로 복호화 할 수 없도록 하는 기술, 도청 방지를 위해, 기밀성을 위한 기술 보안 프로토콜 : 어떻게 암호화할지 송수신자가 미리 약속해야 함 암호 해독 (Crptanalysis) 정당한 수신자가 아닌..