SSH 암호화는 어떻게 작동하나요?

SSH 암호화는 어떻게 작동하나요?

클라이언트 호스트에서 2개의 키(개인 및 공개)를 생성하고 공개 키를 서버 호스트에 복사하는 방법에 대해 읽었습니다.

내가 이해하는 바에 따르면(틀렸다면 정정하십시오): 서버는 공개 키로 데이터를 암호화하여 클라이언트에 보내고, 클라이언트는 개인 키로 데이터를 해독합니다.

하지만 서버로 전송하기 위해 클라이언트의 데이터를 암호화해야 하는 경우 어떻게 되나요?

공개 키는 클라이언트의 데이터를 암호화합니까? 하지만 서버가 공개 키만 갖고 있다면 어떻게 이를 해독할 수 있을까요?

SSH 암호화는 어떻게 작동하나요?

답변1

TCP 연결을 설정한 후 가장 먼저 두 시스템은 다음 사항에 동의합니다.세션 키, 다음과 같은 프로토콜을 사용하여DH 키 교환,ECDH또는 GSSAPI. 이 키는 대칭적이고 임시적입니다. 양측은 다음과 같은 알고리즘을 사용하여 데이터를 암호화하고 해독하는 데 동일한 키를 사용합니다.AES또는RC4.

클라이언트 키 쌍은 데이터 암호화에 절대 사용되지 않습니다.입증– "공개 키"는 클라이언트가 개인 키 소유권 증명과 함께 자신의 공개 키를 제시하는 여러 가지 방법 중 하나입니다. 마찬가지로 서버 키 쌍은 DH 또는 ECDH 키 교환 중에 서버를 인증하는 데에만 사용됩니다. 이를 사용하여 데이터가 암호화되지 않습니다.

SSH2 프로토콜은 다음 문서에 설명되어 있습니다.여러 RFC, 포함:

  • RFC 4253 – SSH(Secure Shell) 전송 계층 프로토콜
  • RFC 4419– Diffie-Hellman 그룹 교환
  • RFC 4432– RSA 키 교환
  • RFC 4462– GSSAPI 인증 및 키 교환

답변2

가장 먼저 이해해야 할 점은 SSH 및 SSL과 같은 많은 암호화 프로토콜이 인증 목적으로 PKI를 사용하지만 이러한 시스템 중 실제로 페이로드 전송에 PKI를 사용하는 시스템은 거의 없다는 것입니다.

PKI는 실제 페이로드 데이터를 전송하는 데 사용하기에는 CPU를 너무 많이 사용합니다. PKI는 무작위로 생성된 키를 협상하고 대칭 암호화 프로토콜과 함께 사용하는 데 사용됩니다. 사용할 프로토콜도 협상되며 두 시스템이 동의할 수 있는 가장 강력한 프로토콜이어야 합니다. 따라서 초기 핸드셰이크와 협상이 완료되면 거의 모든 것이 표준 대칭 암호화입니다.

답변3

다음은 몇 가지 실용적인 예입니다. 키 A는 비밀로 유지되어 개인 키이고 키 B는 공개적으로 액세스할 수 있는 위치에 게시되어 공개 키라고 가정합니다.

따라서 모든 사람에게 메시지를 보내고 메시지가 귀하에게서 왔고 메시지가 전달되는 동안 변경되지 않았는지 확인하기를 원하는 경우 메시지를 보내고 키 A로 암호화된 메시지의 해시를 포함합니다. 키 B가 있는 사람은 해시를 해독하고 이를 수신한 메시지와 비교하여 메시지가 귀하로부터 온 것인지 확인할 수 있습니다(키 A를 가진 사람만이 해시를 성공적으로 해독한 암호화된 페이로드를 생성할 수 있기 때문입니다. A 키를 가진 유일한 사람은 귀하에게서만 나올 수 있습니다.)이것을 서명이라고 합니다..

이제 누군가가 당신에게 비밀 메시지를 보내고 싶어하지만 자신이 누구인지 밝히고 싶지 않다고 가정해 보겠습니다. 그들은 대칭 키로 메시지를 암호화한 다음(Zoredache가 대칭 키가 훨씬 저렴하다고 언급했듯이) 해당 키를 가져와서 키 B로 암호화하여 사용자에게 보낼 수 있습니다. 키 A만이 키 B로 암호화된 내용을 해독할 수 있기 때문에 다른 사람은 귀하에게 전송된 메시지의 내용을 볼 수 없습니다. 이것이 일반적인 암호화가 작동하는 방식이며 SSH가 데이터를 교환하는 방식입니다.

답변4

당신은 쓰기

"공개 키는 클라이언트의 데이터를 암호화합니다. 하지만 공개 키만 있는 경우 서버는 어떻게 이를 해독할 수 있습니까?"

나는 그것에 대해 많이 알지 못하지만 그것에 대해서는 아주 명확하게 대답할 수 있다고 생각합니다.

A가 B에게 메시지를 보내려는 경우 A는 B의 공개 키를 사용합니다. 이것이 B가 그것을 해독할 수 있는 방법입니다.

A가 자신의 공개 키를 사용하여 메시지를 암호화했다면 실제로 B는 메시지를 해독할 수 없습니다.

여기에 설명되어 있습니다

http://www.comodo.com/resources/small-business/digital-certificates2.php

관련 정보