비대칭 암호화란 무엇입니까?

암호화에는 다양한 부분이 있습니다. 그러나 일부 데이터를 암호화하려는 경우 대칭 암호화 알고리즘과 비대칭 암호화 알고리즘의 두 가지 유형의 알고리즘을 사용할 수 있습니다. 개념은 동일합니다. 데이터를 암호화할 수 있지만 다른 원칙에 따라 작동하고 다른 사용 사례가 있습니다.

그러나 제목의 차이점은 암호화 키를 설명합니다. 대칭 암호화 알고리즘은 단일 공유 키를 사용하여 데이터를 암호화하고 해독합니다. 비대칭 암호화 알고리즘은 두 개의 연결된 키(하나는 해독용, 다른 하나는 해독용)를 사용합니다.

술어

비대칭 암호화 알고리즘은 두 개의 개별 키를 사용합니다. 하나의 키는 데이터를 암호화하고 다른 키는 해독하는 데 사용할 수 있습니다. 두 개의 암호화 키는 단순히 이전의 두 값이 아닙니다. 이들은 본질적으로 관련되어 있으며 키 생성 알고리즘에 의해 생성되어야 합니다.

비대칭 암호화의 다른 이름은 공개 키 암호화입니다. 이는 두 개의 키 중 하나가 공개되도록 의도되었기 때문입니다. 전통적인 개념은 암호화 키는 공개적으로 공유되고 암호 해독 키는 엄격하게 비공개로 유지된다는 것입니다. 따라서 암호화 키를 공개 키라고 하고 복호화 키를 개인 키라고 합니다.

이 구성을 사용하면 누구나 메시지를 암호화할 수 있으므로 개인 키 소유자만 메시지를 해독할 수 있습니다. 이는 누구나 게시된 단일 암호화 키를 사용하여 의도한 수신자와 안전하게 통신할 수 있기 때문에 유용합니다. 안전하게 다시 통신하려면 수신자는 원래 보낸 사람의 공개 키를 사용해야 합니다.

이론적으로 암호화 키를 비공개로 유지하면서 키를 교환하고 암호 해독 키를 공유하지 못할 이유가 없습니다. 의미 있는 보안을 제공하지 않는 경우 소스의 진위를 확인하는 데 사용할 수 있습니다. 그러나 동일한 결과를 달성하기 위해 다른 메커니즘이 존재하므로 실제로는 수행되지 않습니다.

대칭 암호화 알고리즘의 속성

비대칭 암호화 알고리즘은 동일한 수준의 보안을 제공할 때 대칭 암호화 알고리즘보다 훨씬 더 큰 키를 사용해야 합니다. 일반적으로 128비트 암호화 키를 사용하는 대칭 암호화 알고리즘은 안전한 것으로 간주되지만 256비트 키가 선호됩니다. 비대칭 암호화 알고리즘에서 2048비트 키는 안전한 것으로 간주됩니다.

2048비트 키 예제는 오랫동안 비대칭 암호화의 표준이었던 RSA에 적용됩니다. 그러나 타원 곡선 암호화는 비대칭이지만 훨씬 더 작은 키를 사용하는 새로운 개념입니다. 2048비트 RSA 키는 224비트 타원 곡선 키와 동등한 보안을 제공합니다.

팁: 위의 값은 상업용으로 안전한 것으로 간주되지만 NSA는 일급 비밀 암호화를 위해 더 강력한 키를 요구합니다. 최소 3072비트의 RSA 키가 필요하고 384비트 타원 곡선 키가 필요합니다. 3072비트 RSA 키가 384비트 타원 곡선 키보다 약하다는 점은 주목할 가치가 있습니다.

비대칭 암호화 알고리즘은 대칭 암호화 알고리즘에 비해 상대적으로 느린 경향이 있습니다. 양 당사자가 비대칭 키 쌍을 생성한 다음 공개 키를 교환하면 비보안 채널을 통해 보안 통신을 수행할 수 있습니다. 이러한 방식으로 양 당사자는 상대방만 해독할 수 있는 메시지를 보낼 수 있습니다.

실제로 당사자 중 적어도 하나는 공개 키의 무결성을 확인해야 합니다. 이는 PKI 또는 공개 키 인프라를 통해 수행됩니다. 이는 다른 사람의 신원이 확인되었음을 보여주기 위해 다른 사람의 키에 서명하는 인증 기관의 형태를 취합니다. 이 시스템에서는 모든 인증 기관을 신뢰할 수 있어야 합니다. 그것 없이는 시스템이 무너질 것입니다.

실제 사용

비대칭 암호화 알고리즘은 일반적으로 특히 시간이나 성능이 문제인 경우 대량 암호화에 사용되지 않습니다. 이메일 내용과 같은 일회성 메시지를 암호화하는 데 사용될 수 있습니다. 그러나 안전하지 않은 채널을 보호할 수 있는 기능으로 인해 보다 효율적인 대량 암호화에 사용할 수 있는 대칭 키를 전송하는 키 교환 프로토콜에 탁월한 선택이 됩니다.

이것은 HTTPS에서 보안을 제공하는 TLS의 사용 사례입니다. 사용자가 웹 서버에 연결합니다. 그런 다음 공개 키를 교환하여 작은 메시지를 서로 암호화합니다. 그런 다음 서버는 대칭 키를 생성하고 사용자의 공개 키로 암호화하여 전송합니다. 사용자는 키를 해독한 다음 대칭 키를 사용하여 향후 서버와의 통신을 효율적으로 암호화할 수 있습니다.

위의 과정에서 인증 기관은 서버의 공개 키를 확인합니다. 이를 통해 사용자는 대화하려는 대상과 대화하고 있음을 확신할 수 있습니다. 대부분의 경우 서버가 통신 중인 사용자를 확인할 필요가 없으므로 사용자는 일회용 키를 생성합니다.

결론

비대칭 암호화 알고리즘은 두 개의 개별 키를 사용합니다. 하나의 키는 암호화에 사용되고 다른 하나는 암호 해독에 사용됩니다. 키는 수학적으로 연결되어 있으며 키 생성 알고리즘에 의해 생성되어야 합니다. 임의의 값이 작동하지 않습니다. 일반적으로 암호화 키는 공개적으로 공유되므로 누구나 키 쌍 소유자를 위한 메시지를 암호화할 수 있습니다.

암호 해독 키가 비공개로 유지되는 한 키 소유자만 공개 키로 암호화된 메시지를 암호 해독할 수 있습니다. 이와 같이 비대칭 암호화는 종종 공개 키 암호화라고도 합니다.