작성
·
425
0
안녕하세요! 좋은 강의와 답변 감사드립니다 추석잘보내시구요!
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를 만듭니다.
감사합니다.