HTTPS 질문입니다.
468
작성한 질문수 49
안녕하세요! 좋은 강의와 답변 감사드립니다 추석잘보내시구요!
HTTPS부분에 관하여 약간 헷갈리는 부분이 있어 질문드립니다
클라이언트에서 사이퍼슈트를 전달한 다는 게, 서버가 사이퍼슈트셋에 맞게 암호화가 가능한지를 먼저따지는 건가요??
예를 들어 강의에서 설명한 'TLS_AES_128_GCM_SHA256'를 전달하는 건, 서버가 TLS프로토콜 & AES_128_GCM & SHA256방식으로 암호화를, 즉 HTTPS를 지원할 수 있는지를 먼저따져보는 건가요??
해싱알고리즘은 최초에 발생하는 1-rtt이후, 실질적 통신단계에서 데이터를 전송할때 암호화하는 방식을 말하는 건가요??
강의에서 해주신 말씀에 따르면, 실질적 통신이 발생하기전에 HTTPS를 위한 한 번의 통신(1-rtt)가 발생하는데요
이때 사이퍼 슈트도 전달하고 > 서버에서 해당 알고리즘을 서빙할 수 있을 경우에 인증서를 보내고(??), 키교환 알고리즘, 해싱알고리즘, 보안세션 생성까지가 완료되는 것인가요???
약간 이해가 안가는 부분이 인증서를 보낸다는 건데.. 한 번의 RTT에서 인증서를 보내고 추가적인 작업(키교환 알고리즘.. )을 어떻게 한다는 건지 잘 모르겠습니다...
비슷한 맥락으로, 키교환 알고리즘 같은 경우도 최소한 한번의 교환이 있어야 PSK가 만들어지는 것 같은데 한번의 교환안에서 이모든 게 어떻게 가능한지 모르겠습니다ㅠㅠ
아니면 혹시 1-RTT에서 서버가 클라이언트에게 통신을 보낼때, 인증서와 PSK생성을 위한 혼합키도 보내고 해서 문제가 없다면 한번의 통신만으로 인증메커니즘, 키교환, 보안세션생성까지 단번에 완성시켜버리는 건가요?? 그렇다면 이 경우에도 데이터가 암호화되어야 하니, 여기에 해싱알고리즘이 적용되는건가요??
디피헬만 알고리즘에 대해서 궁금합니다..
g,x,p를 알면 y값을 구하기 쉬운 반면, g,y,p를 알아도 x를 구하기 어렵다는 방식이라고 말씀해주셨는데요, 여기서 비밀키가 x에 해당하는 것 같은데 맞을까요?
결국 디피헬만 알고리즘이 적용된 결과, 제가 생각할때의 장점은 '서버와 클라이언트가 서로의 비밀키를 공유하지 않고' + '서로만 아는 특정 키(PSK)를 안전하게 생성'인 것 같은데 맞을까요??
감사합니다!!!
답변 1
0
안녕하세요 영빈님 ㅎㅎ
Q1.
HTTPS부분에 관하여 약간 헷갈리는 부분이 있어 질문드립니다
클라이언트에서 사이퍼슈트를 전달한 다는 게, 서버가 사이퍼슈트셋에 맞게 암호화가 가능한지를 먼저따지는 건가요??
A1.
넵 근데 그냥 HTTPS를 지원하는걸 따지는게 아니라 사이퍼슈트를 제공하는지를 확인하는 겁니다.
Q2.
약간 이해가 안가는 부분이 인증서를 보낸다는 건데.. 한 번의 RTT에서 인증서를 보내고 추가적인 작업(키교환 알고리즘.. )을 어떻게 한다는 건지 잘 모르겠습니다...
비슷한 맥락으로, 키교환 알고리즘 같은 경우도 최소한 한번의 교환이 있어야 PSK가 만들어지는 것 같은데 한번의 교환안에서 이모든 게 어떻게 가능한지 모르겠습니다ㅠㅠ
아니면 혹시 1-RTT에서 서버가 클라이언트에게 통신을 보낼때, 인증서와 PSK생성을 위한 혼합키도 보내고 해서 문제가 없다면 한번의 통신만으로 인증메커니즘, 키교환, 보안세션생성까지 단번에 완성시켜버리는 건가요??
그렇다면 이 경우에도 데이터가 암호화되어야 하니, 여기에 해싱알고리즘이 적용되는건가요??
A2.
1-RTT만에 보안세션이 완성됩니다. 보안세션은 다음과 같은 과정에 의해 생성됩니다.
- 키교환, 사이퍼슈트 확인, 서버에서 클라이언트로 인증서 전달.
- 이러한 과정중에 해싱알고리즘이 쓰입니다. 키들을 교환할 때 암호화, 복호화 할 때 해싱알고리즘이 쓰입니다.
이후에도 해싱알고리즘으로 암호화된 데이터의 송수신이 시작됩니다.
Q3.
디피헬만 알고리즘에 대해서 궁금합니다..
g,x,p를 알면 y값을 구하기 쉬운 반면, g,y,p를 알아도 x를 구하기 어렵다는 방식이라고 말씀해주셨는데요, 여기서 비밀키가 x에 해당하는 것 같은데 맞을까요?
결국 디피헬만 알고리즘이 적용된 결과, 제가 생각할때의 장점은 '서버와 클라이언트가 서로의 비밀키를 공유하지 않고' + '서로만 아는 특정 키(PSK)를 안전하게 생성'인 것 같은데 맞을까요??
A3.
장점은 개인키를 공격자에게 탈취당해서 각각의 탈취한 개인키로는 PSK를 만들 수 없기 때문에 보안에 강하다. 라고 보시면 됩니다.
또한,
서버와 클라이언트는 a와 b라는 비밀키를 생성한 후.
서버는 g^a mod p
클라이언트는 g^b mod p라는
것을 만듭니다. 그걸 기반으로 PSK를 만듭니다.
감사합니다.
안녕하세요 선생님, API 실습 2 강의를 듣다 궁금한 점이 생겨 질문 드립니다.
0
555
2
JSON으로 사이트맵
0
504
1
브라우저 렌더링 부분 교재 관련 질문입니다!
0
478
2
교제를 따로 사야하나요?
0
1976
1
클라우드 아키텍쳐에서 토폴로지 설계
1
720
1
로컬스토리지, 세션 스토리지 용량 초과하면 어떻게 되나요?
0
1561
1
학습 순서가 정해져있는건지 궁금합니다.
0
524
1
TCP/IP 4계층, OSI 7계층에 대해 질문드립니다.
0
976
1
서브넷마스크 할당 퀴즈가 헷갈립니다
1
478
1
Linked List의 시간 복잡도에 대한 질문입니다
0
487
1
HTTP 메서드 #1. 질문있습니다.
0
520
1
jwt 토큰
0
758
1
해당 질문에 대한 답변 예시 중에 제가 본 것 중 제일 고품질이네요
0
445
2
UDP의 고정길이에 대하여 질문이 있습니다.
0
322
1
팩토리 패턴의 의존성 주입과 관련해서 질문이 있습니다!
0
696
1
질문 잇워오
0
389
1
안녕하세요 axios DIP 사례의 화살표가 잘 이해가 되지 않아 질문드립니다
0
318
1
동적배열 질문있어요
0
246
1
책과 강의 교안.. 어떤 것에 비중을 두어야 하나요?
0
500
1
HTTP3 UDP통신
0
979
1
[오탈자 문의]
0
269
1
attribute, field, property의 명확한 차이점이 궁금합니다.
1
1467
1
싱글톤 패턴에서 정적 멤버 방식과 정적 블록 방에서 정적 블록 방식은 final이 없는 이유
0
340
1
Json이 프로그래밍 언어와 플랫폼에 독립적인 이유가 뭔가요?
0
440
1





