Skip to content

Latest commit

 

History

History
41 lines (37 loc) · 1.68 KB

ssl.md

File metadata and controls

41 lines (37 loc) · 1.68 KB

SSL

  • 인증서 암호화 방식

    • 공개 방식 (e.g. rsa)
    • 대칭키 방식 (e.g. aes)
  • 인증 절차

    • 클라이언트->서버
      • 랜덤데이터를 만들어 서버에 보낸다
      • 사용가능한 암호화 방식을 서버에 보낸다
    • 서버->클라이언트
      • 랜덤데이터를 만들어 클라이언트에 보낸다
      • 클라이언트가 사용가능한 암호화방식을 선택해 클라이언트에 보낸다
      • 인증서를 보낸다 (공개키, CA, 도메인 등 포함)
    • 클라이언트->CA
      • 인증서를 보내 검증받는다
    • 클라이언트
      • 위에서 생성한 랜덤데이터를 조합해 임시키를 생성한다
      • 임시키를 인증서의 공개키로 암호화한다
    • 클라이언트->서버
      • 암호화한 임시키를 서버에 전송한다
    • 서버
      • 인증서의 공개키로 암호화됐기때문에 임시키를 서버에 저장된 비밀키로 복호화한다
  • CA (Certificate Authority)

    • 공인된 CA에서 받은 인증서는 공인 CA의 비밀키로 암호화됐기때문에 인증서의 공개키로 복호화가 가능하다
    • 사설 CA에서 받은 인증서는 브라우저에 저장된 CA 리스트에 없기때문에 브라우저에 경고 표시가 나타난다
  • 인증서 종류

    • 공인CA 인증서
      • 유료
      • 많은 사람에게 오픈되는 사이트인 경우 사용
      • 브라우저에 안전함 표시됨
    • 사설CA 인증서
      • 무료
      • 인증서에 금지된 정보 포함 가능
      • 브라우저에 안전하지 않음 표시됨
    • 자체서명 인증서
      • CA 없이 발급된 인증서
      • 인증서 자체가 CA 역할
      • 보안에 취약하지만 사용 용이