IT/security10 #10 웹 서비스와 공인인증서 프롤로그이 페이지는 지금까지 배운 암호기술들이 실제로 웹에서 어떻게 쓰이는지, 그리고 우리가 자주 마주하는 공인인증서와 브라우저의 자물쇠 아이콘이 의미하는 바를 완전히 외울 수 있도록 마무리해드립니다. 이 사이트, 진짜 믿어도 될까?우리가 매일 보는 https와 자물쇠 인터넷을 쓸 때 이런 걸 자주 봅니다주소창에 자물쇠 표시주소가 `https://`로 시작인증서 정보 보기 버튼이건 단순한 장식이 아닙니다. > 이 사이트가 진짜 주인 것이 맞고 > 안전하게 통신 중이라는 걸 브라우저가 보장하고 있는 것 웹에서의 전체 흐름 정리사용자가 브라우저로 `https://example.com` 접속서버는 인증서(공개키 포함)를 보냄브라우저가 CA 서명을 검증검증되면 → 공개키로 대칭키 전달이후는 대칭키로 안전하게 통.. 2025. 5. 10. #9 공개키를 믿을 수 있을까? 프롤로그이번 장은 이 공개키를 믿을 수 있을까? 라는 의심에 대한 답을 주는 시스템인 PKI(Public Key Infrastructure)와 인증서 체계를 외우기 쉽게 구성했습니다. 비대칭키의 가장 큰 문제신원 확인 앞에서 봤듯이, 비대칭키 자체는 암호화는 잘하지만 "이 공개키가 진짜 누구 건지"는 알려주지 못합니다.💥 그래서 등장한 것이 바로 → 공개키를 보증해주는 시스템 = 인증서 체계 인증서란? 인증서(Certificate)는 이런 정보를 담은 문서입니다.이 공개키는 누구의 것인지 (신원 정보)언제부터 언제까지 유효한지누가 이걸 보증했는지 (디지털 서명 포함)즉, 이 공개키는 진짜 아무개씨 것이며, 내가 보증합니다 라고 제3자(CA)가 도장 찍은 문서 인증서는 누가 만들까?CA (Certi.. 2025. 5. 10. #8 비대칭키의 문제점 프롤로그“완벽할 줄 알았는데… 이게 무슨일이지? 비대칭키는 정말 완벽할까?비대칭키는 공개키/개인키를 나눠 쓰면서 보안성을 높인 구조입니다. 하지만 현실에서 쓰기에는 다음과 같은 문제점들이 존재합니다. 문제점 ① 공개키가 진짜 그 사람 것인지 알 수 없다A가 B에게 메시지를 보내려는데, 인터넷 어딘가에서 B의 공개키를 받음그런데 이 공개키가 진짜 B의 것인지 보장할 수 없음📌 이것이 가장 근본적인 문제입니다 → “공개키를 믿을 수 있는가?” 예: 중간자 공격 (MITM, Man-In-The-Middle)A는 B에게 공개키 요청공격자가 B인 척 가짜 공개키를 줌A는 그걸 믿고 민감한 정보를 암호화공격자는 그걸 복호화해서 몰래 엿봄💥 결과적으로, 비대칭키만으로는 공개키 위조를 막을 수 없음 문제점 ② 계산.. 2025. 5. 10. #7 효율 극대화를 위한 대칭키 + 비대칭키 활용 빠르고 안전하게 둘 다 쓰면 되지! 대칭키 + 비대칭키 활용 혼합 활용 왜?방식장점단점대칭키빠름, 단순 키 전달이 어렵다비대칭키키 공유는 안전함느림, 계산 복잡 💡 그래서 실전에서는 보통 비대칭키로 대칭키를 전달하고 대칭키로 실제 데이터를 암호화 혼합 방식 = 하이브리드 암호 시스템 구조 요약1단계: 대칭키 생성A(보내는 쪽)는 메시지를 안전하게 보낼 준비를 합니다.먼저, 임의의 대칭키(예: AES 키)를 생성합니다.예: s3cr3tK3y! 이 키는 실제로 메시지를 암호화할 때 쓸 키입니다.2단계: 수신자의 공개키로 대칭키 암호화A는 이 대칭키(s3cr3tK3y!)를 B의 공개키로 암호화합니다.이 암호화된 키는 B의 개인키 없이는 절대 풀 수 없습니다.결과: Encrypted(s3cr3tK3y!, B.. 2025. 5. 10. #6 인터넷에서는 비대칭키를 어떻게 활용할까? 주소창에 https만 떠도 안심할 수 있는 이유인터넷은 원래 위험하다 기본적인 HTTP 통신은 누구나 중간에서 몰래 엿볼 수 있습니다.비밀번호도 평문으로 전달됨쿠키 탈취 가능중간자 공격(MITM, Man-In-The-Middle)에 취약 그래서 등장한 것이 SSL/TLS, 지금은 HTTPS라는 이름으로 사용됩니다. HTTPS 통신, 아주 간단한 흐름🔒 https\:// 로 시작하면 이런 일들이 벌어집니다브라우저가 서버에 접속 → "공개키 주세요"서버는 공개키 + 인증서를 전달브라우저는 이걸 검증한 뒤, 대칭키를 생성생성한 대칭키를 서버의 공개키로 암호화해서 전달서버는 자기 개인키로 복호화해서 대칭키 획득이후 통신은 빠른 대칭키 방식으로 진행→ 이 과정을 핸드셰이크(handshake)라고 부릅니다. 정.. 2025. 5. 10. #5 디지털 서명 프롤로그어떻게 컴퓨터가 사람처럼 사인할 수 있지? 라는 질문에서 출발하여, 비대칭키 + 해시 + 인증의 조합을 한눈에 이해할 수 있도록 구성 개념"이건 내가 보냈고, 안 바뀌었어"를 증명하는 전자 도장2가지를 증명1. 진짜 내가 보냈다 (위조 불가)2. 내용이 안 바뀌었다 (변조 불가) 비유실물 계약서의 서명실물: 계약서에 싸인 → "내가 동의했음" + "이 내용으로 계약했음"디지털: 전자문서에 서명 → "내가 보냈음" + "이 내용 그대로임" > 단순히 이름만 적는 게 아니라, 수학적으로 위조/변조를 막는 방식! 어떻게 작동할까? (3단계 요약)📌 디지털 서명 과정은 딱 3단계입니다. 서명 시 - 보내는 쪽1. 원본 문서 → 해시함수로 요약2. 이 해시값을 → 개인키로 암호화3. 원본 문서 + 서명을.. 2025. 5. 10. 이전 1 2 다음