Skip to content

SSL TLS

jaeseok.an edited this page May 6, 2020 · 16 revisions
  • 설명
    • 용어

      • authenticate - 본인이 맞는지 확인(otp)
      • certificate - 기관이 자격을 인증함(자격증 운전면허). 공인 인증서 - 사용자 public key를 은행이 인증
    • Reference

    • 개요

    • 인증 방법

    • ssl/tls image

    • 개요

      • 인증서 인증
        • CA의 public key로 인증서 검증 - client는 서버인증서(certificate)를 서버측 CA의 public key로 검증. 서버는 반대
  • 암호화 개념
    • RSA - 소인수 분해 어려움 기반(https://www.slideshare.net/ssuser800974/ss-76664853)
      • private key, public key 모두 암호화 가능하고 대응되는 public, private key로 복호화 할수 있다.
    • 공개키 암호화 - public key로 암호화하면 private key로 복호화 해서 사용
      • RSA는 가능. DSA는 불가
    • 개인키 암호화
    • 대칭키
      • 비밀키 혹은 세션내만 쓰이므로 session key라고 부름
      • 키 동의/키 전달 메커니즘 필요
        • 키 전달은 대칭키를 RSA public key로 암호화 해서 보내는 것임
    • CA
      • 공개키 repository에 대한 신뢰성 의문
      • certificate authority 생겨남
      • public key certificate(공개키 인증서)
      • 사용자 공개키를 CA의 private key로 인증
      • CA의 public key로 사용자 공개키를 검증(authenticate)

TLS 1.3

  • 서로 인증서 교환하면서 신원 확인 먼저 거침
    • 서버만 인증서를 보내는 경우가 많음
  • DH (디피/헬먼) 키교환
    • 각자 priv/pub key를 생성
    • priv A + pub B = priv B + pub A = shared secret 대칭키
    • 이 대칭키로 AES 대칭키를 주고 받는다.
    • 임시 priv/pub key를 사용하면 ephimeral이라고 부름
    • 이 대칭키는 ecdsa.. 암호화가 느려 실제 통신에는 못씀
  • DH로 AES 대칭키를 주고 받은후 이 값으로 암호화

test

Clone this wiki locally