다음을 통해 공유


비대칭 키

공개/프라이빗 키 쌍이라고도 하는 비대칭 키는 비대칭 암호화에 사용됩니다. 비대칭 암호화는 주로 세션 키디지털 서명을 암호화하고 암호 해독하는 데 사용됩니다. 비대칭 암호화는 공개 키 암호화 알고리즘을 사용합니다.

공개 키 알고리즘은 공개 키와 프라이빗 키의 두 가지 키를 사용합니다. 쌍의 프라이빗 키 멤버는 비공개로 안전하게 유지되어야 합니다. 그러나 공개 키는 요청하는 모든 사람에게 배포할 수 있습니다. 키 쌍의 공개 키는 종종 디지털 인증서를 통해 배포됩니다. 키 쌍의 한 키를 사용하여 메시지를 암호화하면 해당 쌍의 다른 키가 메시지의 암호를 해독해야 합니다. 따라서 사용자 A의 공개 키를 사용하여 데이터를 암호화하는 경우 사용자 A(또는 사용자 A의 프라이빗 키에 대한 액세스 권한이 있는 사람)만 데이터의 암호를 해독할 수 있습니다. 사용자 A의 프라이빗 키를 사용하여 데이터 조각을 암호화하는 경우 사용자 A의 공개 키만 데이터의 암호를 해독하므로 사용자 A(또는 사용자 A의 프라이빗 키에 액세스할 수 있는 사람)가 암호화를 수행했음을 나타냅니다.

프라이빗 키를 사용하여 메시지에 서명하는 경우 해당 쌍의 공개 키를 사용하여 서명의 유효성을 검사해야 합니다. 예를 들어 Alice가 디지털 서명된 메시지를 보내려는 경우 프라이빗 키로 메시지에 서명하고 다른 사람은 공개 키를 사용하여 서명을 확인할 수 있습니다. Alice만 프라이빗 키에 액세스할 수 있기 때문에 Alice의 공개 키를 사용하여 서명을 확인할 수 있다는 사실은 Alice가 서명을 만들었다는 것을 나타냅니다.

공교롭게도 공개 키 알고리즘은 대칭 알고리즘보다 약 1,000배 느립니다. 대량의 데이터를 암호화하는 데 사용하는 것은 비현실적입니다. 실제로 공개 키 알고리즘은 세션 키를 암호화하는 데 사용됩니다. 대칭 알고리즘은 대부분의 데이터의 암호화/암호 해독에 사용됩니다.

마찬가지로 메시지 서명은 사실상 메시지를 암호화하기 때문에 공개 키 서명 알고리즘을 사용하여 큰 메시지에 서명하는 것은 실용적이지 않습니다. 대신 고정 길이 해시는 메시지로 만들어지고 해시 값은 서명됩니다. 자세한 내용은 해시 및 디지털 서명을 참조하세요.

각 사용자에게는 일반적으로 두 개의 퍼블릭/프라이빗 키 쌍이 있습니다. 한 키 쌍은 세션 키를 암호화하는 데 사용되고 다른 하나는 디지털 서명을 만드는 데 사용됩니다. 이를 각각 키 교환 키 쌍서명 키 쌍이라고 합니다.

대부분의 CSP(암호화 서비스 공급자 )에서 만든 키 컨테이너에는 두 개의 키 쌍이 포함되어 있지만 필수는 아닙니다. 일부 CSP는 키 쌍을 저장하지 않지만 다른 CSP는 두 개 이상의 쌍을 저장합니다.

CryptoAPI의 모든 키는 CSP 내에 저장됩니다. 또한 CSP는 키를 만들고, 삭제하고, 사용하여 다양한 암호화 작업을 수행할 책임이 있습니다. 다른 사용자에게 보낼 수 있도록 CSP에서 키를 내보내는 방법은 암호화 키 스토리지 및 Exchange에서 설명합니다.