TLS 악수 프로세스
2776 단어 기술
TLS 악수 프로세스
클라이언트와 서버가 통신 키를 상의하는 과정을 TLS 악수라고 하는데 악수 단계에서 통신 내용은 모두 명문이지만 최종적으로 상의하는 키는 클라이언트와 서버만 알고 다른 중간 노드는 알 수 없다.
RSA 악수 프로세스
RSA 악수 절차 설명:
// master secret、 master secret session key
masterSecret = generateMasterSecret(R1, R2, premasterSecret);
sessionKey = sessionKeyFrom(masterSecret);
3단계,premaster secret은 클라이언트가 공개 키를 사용하여 암호화한 후에 발송되며, 개인 키를 가진 서버만 복호화할 수 있기 때문에 최종적으로 클라이언트와 서버만 일치하는master secret를 생성할 수 있다.그림의 마지막 세션 키는master serect에서 대칭 암호화 알고리즘으로 파생된 키입니다. 악수 단계가 끝난 후에 통신 내용은 키를 사용하여 암호화하고 서명하기 시작하여 키를 똑같이 아는 사람이 내용을 복호화하여 도청과 왜곡의 위험을 피할 수 있도록 합니다.
보안 문제
상술한 악수 과정은 개인 키가 누설되지 않고 인증서가 신뢰할 수 있는 전제에서 통신 내용이 도청되거나 왜곡되는 것을 피할 수 있다.그러나 다음과 같은 경우가 있을 수 있습니다.
통신 과정에서 클라이언트와 서버 사이의 네트워크 노드는 서버와 관련된 모든 통신 내용(TCP 메시지)을 로컬에 복사본을 저장합니다.당시에는 서버의 개인 키를 몰라서 암호화된premastersecret을 풀 수 없어서 통신 내용을 복호화할 수 없었다.오래된 어느 날, 서버의 개인 키가 유출되어 암호화된premastersecret이 해독되고 통신 내용이 복호화되어 정보가 유출되었다.
상기 RSA 악수 프로세스는 서버에서 장기간 사용하는 개인 키가 누출되면 세션 키가 누출되어 세션 키를 사용하여 암호화된 내용이 누출됩니다. 즉, 전방향 보안이 없습니다. 전방향 보안이 있는 악수 프로세스를 소개합니다. - THE_RSA.
DHE_RSA 악수 프로세스
DHE_RSA 악수 과정은 키 교환 알고리즘인 디피 헤르만 키 교환(Diffie – Hellman key exchange, 줄임말 D-H)에 의존한다. 이것은 쌍방이 상대방의 사전 정보가 전혀 없는 조건에서 안전하지 않은 채널을 통해 키를 만들 수 있는 보안 프로토콜이다.
DH 알고리즘의 간략한 원리 발췌문:
DHE_RSA 악수 절차 설명:
4단계 후, 쌍방은 모두premastersecret(gab)을 계산하여mastersecret과session 키를 얻을 수 있다.이런 방식으로 서버 개인 키는 3단계에서만 서명하여 사용되며 누설되더라도 통신 쌍방의 비밀(a, b)은 누설되지 않는다.
TLS 악수에 대해 말하자면 대부분의 인터넷 글은 RSA 방식을 말하지만, 현실에서 단순히 RSA 악수 과정을 사용하는 TLS는 거의 없다. 더 많은 것은 DHE_RSA 또는 ECDHE_RSA,ECDHE_RSA 원리와 DHE_RSA는 타원 커브(Elliptic Curve)를 사용하여 계산량을 줄이고 성능을 향상시키는 데 큰 차이가 없습니다.
tips: 크롬 디버그 창 Security 탭을 통해 악수 과정의 구체적인 알고리즘을 볼 수 있습니다. 예를 들어 "a strong key exchange(ECDHE_RSA with P-256)"입니다.
참고 자료: - Keyless SSL: The Nitty Gritty Technical Details
블로그
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Android 핸드폰 호출 시스템 카메라 사진, 재단 및 Url 업로드 이미지 얻기최근에 한 사람이 회사에서 독자적인 개발을 하는데 문제가 생기면 스스로 해결할 수밖에 없다. 비록 과정이 비교적 험난하지만 수확은 꽤 많다. 한 사람도 강인해야 한다. 최근에 사용자의 프로필 사진을 만드는 데 작은 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.