이 필기들은 대규모 네트워크 환경에서 KDC(중앙 서버) 없이도 안전하게 키를 교환하기 위해 고안된 공개키 기반 키 확립(Asymmetric Key Establishment) 방식과, 그중 '디피-헬만(Diffie-Hellman)' 알고리즘이 가진 치명적 약점인 중간자 공격(MITM)을 설명하고 있습니다.

KDC처럼 언제 해킹당할지 모르는 중앙 서버에 의존하지 않고, Alice와 Bob이 직접 공개키 암호학(PK)을 이용해 대칭키를 설정하는 방법입니다.
접근 방식 (2 PK Approaches)
Key Transport 예시 흐름:
1. Bob이 자신의 공개키()를 Alice에게 보냅니다.
2. Alice는 통신에 쓸 대칭키 (예: AES 키)를 생성하고, 이를 Bob의 공개키로 암호화하여 를 만들어 Bob에게 보냅니다.
3. Bob은 자신의 개인키()로 를 복호화하여 대칭키 를 안전하게 얻습니다.
4. 이제 양측은 확보한 대칭키 를 이용해 실제 데이터 를 AES 암호화()하여 통신합니다.
수동적 vs 능동적 공격: 이 방식은 단순히 통신선을 엿듣기만 하는 수동적 공격자(Passive Attacker)에게는 매우 안전하지만, 통신 내용을 적극적으로 조작하는 능동적 공격자(Active Attacker)에게는 취약할 수 있습니다.

대표적인 '키 합의' 알고리즘인 디피-헬만(D-H) 키 교환이 능동적 공격자(Trudy)에게 어떻게 무력화되는지 수식으로 보여줍니다.
정상적인 D-H 교환 (공격자가 없을 때)
Trudy는 통신선 중간에 서서 Alice와 Bob이 서로 주고받는 공개키를 가로채고 가짜 공개키로 바꿔치기합니다.
가로채기와 위조: * Alice가 Bob에게 를 보낼 때, Trudy가 이를 가로채고 자신이 만든 가짜 공개키 을 Bob에게 보냅니다.
Alice의 착각: Alice는 진짜 대신 가짜 를 받았지만 이를 모른 채 자신의 개인키 를 곱합니다.
Bob의 착각: Bob 역시 가짜 에 자신의 개인키 를 곱합니다.
공격 완성 (Trudy의 상태): Trudy는 자신이 만든 난수 와 가로챈 를 이용해 Alice용 키()와 Bob용 키()를 모두 완벽하게 계산해 냅니다.
Trudy는 Alice와 Bob 각각과 통신할 수 있는 별개의 세션 키를 갖게 되었습니다. 하지만 Alice와 Bob은 서로 직접 연결되어 있다고 굳게 믿고 있습니다.
Trudy는 Alice가 보낸 암호문을 열어보고 조작한 뒤, 다시 Bob용 암호문으로 재포장해서 보낼 수 있는 '완전한 통제권(Full control)'을 가지게 됩니다.

필기 중간에 적힌 질문과 답변이 암호학의 핵심을 찌릅니다.
해커(Trudy)가 통신 중간에 끼어들어 자신의 가짜 공개키를 들이밀어도, Alice와 Bob은 이 공개키가 '진짜 상대방의 것인지, 해커의 것인지' 확인할 방법이 없습니다. 필기의 빨간 네모 상자처럼, 이 약점은 특정 알고리즘의 문제가 아니라 모든(ALL) 공개키 암호화 방식이 공통으로 가지는 취약점입니다.
이를 해결하기 위해 대칭키 시대의 MAC 대신, 공개키 시대의 도구인 디지털 서명(Digital Signature)과 인증서(Certificate)를 도입하게 됩니다.

인증되지 않은 공개키 문제를 해결하기 위해 CA(Certifying Authority, 인증 기관)라는 중앙의 절대적으로 신뢰할 수 있는 기관을 도입합니다.
인증서()의 구조
인증서는 쉽게 말해 "CA가 보증하는 신분증"입니다.
해커의 위조 불가: Trudy는 겉면의 내용(공개키나 이름)을 지우고 자신의 가짜 키()를 적어 넣을 수는 있습니다. 하지만 CA의 개인키를 훔치지 않는 이상, CA의 위조 방지 도장(디지털 서명)을 똑같이 찍어낼 수는 없습니다.
이제 인증서를 들고 다시 디피-헬만 통신을 시도해 봅니다.
Alice Bob: Alice는 자신의 공개키 만 덜렁 보내는 것이 아니라, CA의 도장이 찍힌 신분증()을 함께 보냅니다.
Trudy의 공격 시도: Trudy가 중간에서 가로채어 가짜 공개키 가 담긴 위조 신분증을 Bob에게 보냅니다.
Bob의 철저한 검증 (Verify): Bob은 이미 알고 있는 CA의 공개키()를 이용해 신분증에 찍힌 도장이 진짜인지 검사합니다. Trudy가 임의로 만든 서명은 CA의 공개키로 풀리지 않으므로, 수학적 검증에서 실패()합니다.
결과: Bob은 즉시 "이건 Alice의 공개키가 아니야!"라고 깨닫고 통신을 차단하여 중간자 공격을 완벽히 방어해 냅니다.

여기서 가장 현실적이고 중요한 질문이 생깁니다.
"CA가 서명했다는 건 알겠는데, 애초에 **CA의 진짜 공개키()는 해커에게 속지 않고 어떻게 안전하게 받을 수 있나요?"
이 딜레마를 해결하는 것이 필기 마지막의 Root key와 Transfer of Trust(신뢰의 전이) 개념입니다.
신뢰의 전이: