중국시가넷 - 개인 서명 - 대칭 암호화, 비대칭 암호화, 다이제스트, 디지털 서명, 디지털 인증서

대칭 암호화, 비대칭 암호화, 다이제스트, 디지털 서명, 디지털 인증서

개발자라면 대칭 암호화, 비대칭 암호화, 다이제스트, 디지털 서명 및 디지털 인증서의 개념에 대해 어느 정도 들어보셨을 것입니다. 이러한 개념은 인터넷 통신 중에 데이터가 저장되는지 확인하는 데 사용됩니다. 전송은 안전합니다. 어떤 사람들은 전송되는 데이터를 암호화하면 안전할 것이라고 궁금해할 수도 있습니다. 왜 이렇게 많은 트릭을 수행해야 합니까? 이 기사에서는 주로 사례를 사용하여 이러한 개념의 실제 효과를 설명합니다.

그 전에 이러한 개념에 대해 간략하게 소개하겠습니다.

대칭 암호화는 암호화와 복호화에 동일한 비밀 키가 사용된다는 의미입니다. 암호화 속도는 빠르지만, 비밀키는 해커가 쉽게 가로채기 때문에 보안성이 높지 않은 것이 특징이다. 일반적인 것에는 AES 및 DES 알고리즘이 포함됩니다.

비대칭 암호화는 암호화와 암호 해독에 서로 다른 키가 사용된다는 의미입니다. 이 키는 공개 키와 개인 키 중 하나를 알면 다른 키를 추론할 수 없습니다. 공개 키로 암호화된 콘텐츠를 해독하려면 개인 키가 필요하고, 개인 키로 암호화된 콘텐츠를 해독하려면 공개 키가 필요합니다. 비대칭 암호화는 보안성이 높은 것이 특징이지만, 암호화 속도가 느린 것이 단점입니다. 일반적인 것은 RSA 알고리즘입니다.

소위 다이제스트는 특정 해시 알고리즘(다이제스트 알고리즘이라고도 함)을 통해 정보나 파일을 전달하여 얻은 문자열입니다. 요약 알고리즘의 특징은 서로 다른 파일에 대해 계산된 요약이 다르다는 것입니다(동일할 수도 있지만 가능성은 매우 매우 낮습니다). 예를 들어 1G 비디오 파일의 경우 1바이트만 변경되어도 최종 계산된 요약은 완전히 다르므로 일반적으로 다이제스트 알고리즘을 사용하여 파일이 변조되었는지 여부를 확인합니다. 또 다른 특징은 요약을 통해 소스 파일의 정보를 유추할 수 없다는 점이다. 일반적으로 사용되는 다이제스트 알고리즘에는 MD5, SHA 등이 있습니다.

디지털 서명은 파일의 암호화된 다이제스트입니다. 디지털 서명은 원본 파일과 함께 수신자에게 전송되며 수신자는 다이제스트 알고리즘을 사용하여 다이제스트를 계산한 다음 디지털 서명의 다이제스트와 비교합니다. 파일이 변조되었다는 것입니다.

디지털 인증서는 인증 기관에서 생성한 파일로 일반적으로 공개 키, 공개 키 소유자 이름, CA의 디지털 서명, 유효 기간, 이름이 포함됩니다. 공인 센터, 인증서 일련 번호 및 기타 정보. CA의 디지털 서명은 인증서가 변조되었는지 여부를 확인하는 키입니다. 실제로 CA의 디지털 서명을 제외한 인증서 내용에 대해 다이제스트 알고리즘을 수행하여 CA 조직에서 자체 다이제스트를 사용합니다. CA의 디지털 서명이 생성된 후 CA 조직은 인증서를 확인할 때 이 공개 키를 사용하여 CA의 디지털 서명을 해독한 다음 이를 사용하여 인증서가 있는지 확인합니다. 조작되었습니다.

장면:

장산은 집을 장식할 사람을 찾고 싶어합니다. 원칙적으로 가장 좋은 가격을 제시한 사람이 집을 장식하므로 견적 문서는 기밀 문서입니다. 견적 파일을 전송하는 다양한 방법과 관련된 위험을 살펴보겠습니다.

이제 Li Si는 장식 작업을 맡고 싶어 견적 문서(파일명: lisi.txt, 파일 내용: 견적 500,000)를 작성했습니다. 그런 다음 John Doe는 대칭 키 123을 사용하여 파일을 암호화합니다. 마지막으로 Li Si는 비밀 키와 암호화된 파일을 Zhang San에게 보냈습니다. 이를 받은 후 Zhang San은 비밀 키를 사용하여 이를 해독하고 Li Si의 견적이 500,000이라는 것을 알게 되었습니다.

동시에 왕우도 장식 일을 하고 싶어했다. 원래는 55만 원을 견적하고 싶었지만 견적이 너무 높아 직장을 잃을까 봐 걱정됐다. 우연히 왕우(Wang Wu)는 해커의 대가였기 때문에 리시(Li Si)가 장산(Zhang San)에게 보낸 비밀키와 암호화된 파일을 가로채서 리시의 견적이 500,000이라는 것을 알게 되었다. 결국 Wang Wu는 견적을 490,000으로 변경하여 Zhang San에게 보냈고 그 결과 Wang Wu가 장식 작업을 맡았습니다.

결론:

대칭 암호화를 사용하면 해커가 비밀 키를 가로채면 암호화가 쓸모가 없으므로 보안이 상대적으로 낮습니다.

먼저 Zhang San은 한 쌍의 비밀 키를 생성합니다. 개인 키는 zhangsan1이고 공개 키는 zhangsan2입니다. Zhang San은 개인 키를 저장하고 공개 키를 공개합니다.

Li Si는 Zhang San이 게시한 공개 키 zhangsan2로 견적 파일 list.txt를 암호화하여 Zhang San으로 보냅니다. 그런 다음 Zhang San은 개인 키 zhangsan1을 사용하여 Li Si의 견적 500,000을 해독하고 얻습니다.

이때 왕우가 리시가 장산에게 보낸 견적문을 가로채더라도, 왕우는 장산의 개인키를 갖고 있지 않기 때문에 파일을 복호화할 수 없어 리시의 견적을 알 수 없다. 결국 왕우는 55만원이라는 가격을 제시했기 때문에 리모델링 기회를 잃었다.

따라서 비대칭 암호화는 데이터 전송의 보안을 보장할 수 있습니다. 하지만 여기서 여담을 좀 풀어보겠습니다. 비대칭 암호화는 매우 안전하므로 대칭 암호화를 제거하는 것은 어떨까요? 사실 핵심은 암호화 속도에 있는데, 비대칭 암호화는 계산이 많이 필요하기 때문에 암호화 속도가 매우 느리다. 따라서 실제 개발과정에서는 대칭암호와 비대칭암호를 조합하여 사용하는 경우가 많다. 즉, 대칭 암호화 키를 비대칭 암호화 후 전송하는 방식으로, 해커가 대칭 암호화 키를 가로채지 못하게 하여 비즈니스 데이터 전송 시 대칭 암호화를 사용하게 됩니다. 이는 보안과 암호화 속도를 모두 보장합니다.

결론:

비대칭 암호화는 해커가 암호화된 콘텐츠를 가로채는 것을 방지하고 보안이 높습니다.

앞서 언급한 것처럼 비대칭 암호화도 안전한데 디지털 서명이 왜 필요한가요?

Wang Wu가 Li Si의 인용 문서를 가로채었다고 상상해 보십시오. Wang Wu는 Li Si의 실제 인용문을 알 수 없었지만 Li Si에서 인용문을 완전히 위조할 수 있었습니다(파일명: lisi.txt, 파일 내용: 견적 600,000), 그런 다음 이 위조 문서를 Zhang San이 게시한 공개 키 zhangsan2로 암호화하고 원본 견적 문서를 교체합니다. 장산은 그것을 받은 뒤 암호를 해독해 제시된 가격이 60만이라는 것을 알아냈고, 장산은 리시가 제시한 가격이 60만이라고 생각했고, 마침내 장식 작업을 왕우에게 맡기기로 결정했고, 왕우는 제시한 가격이 55만 원이었다.

이 문제의 핵심은 장삼이 견적문이 변조됐는지 알 방법이 없다는 점이다. 이 문제를 해결하려면 디지털 서명이 필요합니다.

먼저 Li Si는 비대칭 암호화 키 쌍을 직접 생성해야 합니다. 개인 키 lisi1은 스스로 보관하고 공개 키 lisi2는 Zhang San으로 전송됩니다. 그런 다음 Li Si는 요약 알고리즘을 통해 자신의 인용 파일 요약을 얻은 다음(요약이 aaa라고 가정) 개인 키 lisi1을 사용하여 요약을 암호화하여 인용 파일의 디지털 서명을 얻습니다. 이를 수신한 후 Zhang San은 먼저 Li Si가 보낸 공개 키 lisi2를 사용하여 디지털 서명을 해독하고 추상 aaa를 얻은 다음 자신의 개인 키 zhangsan1을 사용하여 암호화된 내용을 해독합니다. 파일을 다운로드하여 견적 소스 파일을 얻은 다음 견적 소스 파일에 대해 다이제스트 알고리즘을 수행합니다. 계산된 결과가 aaa인지 확인합니다. aaa가 아닌 경우 견적 문서가 변조되었음을 의미합니다.

이 경우 왕우가 리시가 장산에게 보낸 문서를 가로채면. Wang Wu는 인용 파일을 해독할 수 없습니다. Wang Wu가 견적 문서를 위조한 경우 Zhang San은 견적 문서를 받은 후 해당 견적 문서와 디지털 서명이 일치하지 않음을 발견하게 됩니다. 그렇다면 Wang Wu는 견적서와 서명을 모두 위조할 수 있습니까? Wang Wu는 Li Si의 개인 키를 갖고 있지 않기 때문에 위조된 견적 문서의 다이제스트를 암호화할 수 없으므로 서명도 위조할 수 없습니다.

결론:

비대칭 암호화는 암호화된 파일의 내용이 도난당하지 않도록 보장할 수 있지만 파일이 변조되지 않는다는 것을 보장할 수는 없습니다. 디지털 서명은 파일이 변조되었는지 여부를 확인하는 데 사용됩니다.

비대칭 암호화는 파일 내용의 보안을 보장할 수 있고, 디지털 서명은 파일이 변조되지 않도록 보장할 수 있으므로 디지털 인증서의 용도는 무엇입니까?

왕우가 직접 비대칭 암호화를 위한 비밀키 쌍을 생성했다고 가정해 보겠습니다. 개인 키는 wangwu1이고 공개 키는 wangwu2입니다. Li Si가 자신의 공개 키 lisi2를 Zhang San에게 보냈을 때 Wang Wu가 이를 가로채었습니다. Wang Wu는 Li Si의 공개 키 lisi2를 자신의 공개 키 wangwu2로 대체했기 때문에 Zhang San이 최종적으로 받은 공개 키는 실제로 Wang Wu의 것이었습니다. 하지만 장산은 그 사실을 몰랐다. 나중에 Li Sifa의 디지털 서명과 암호화된 견적 문서가 Wang Wu에 의해 가로채어졌고, Wang Wu는 견적 문서를 위조하는 동시에 자신의 개인 키를 사용하여 견적 문서의 요약을 암호화하여 위조된 서명을 생성하여 보냈습니다. Zhang San이 이를 받았습니다. 확인 결과, 디지털 서명과 견적 문서가 일치하는 것으로 확인되었으며, 견적 문서는 진짜인 것으로 간주되었습니다.

이 문제의 핵심은 Zhang San이 수신한 공개 키가 Li Sifa로부터 온 것인지 확인할 수 없다는 것입니다. 이때 디지털 인증서가 작동됩니다. Li Si는 권위 있는 디지털 인증 기관에 가서 디지털 인증서를 신청합니다. 인증서에는 공개 키(lisi2) 및 공개 키 소유자(Li Si)와 같은 관련 정보가 포함되어 있습니다. 그런 다음 Li Si는 인증서를 Zhang San에게 보냅니다. , Zhang San은 해당 정보를 통해 공개 키가 John Doe의 것인지 여부를 알 수 있습니다.

인증서를 보내는 과정에서 왕우가 인증서를 가로채서 변조했을 가능성이 있나요? 인증서에는 CA의 디지털 서명도 포함되어 있다는 점을 알아야 합니다. 이 서명은 인증서 다이제스트를 암호화하기 위해 자체 개인 키를 사용하여 인증 기관에 의해 암호화되며 공개 키는 공개됩니다. 따라서 Wang Wu가 인증서 내용을 가로채서 변조하더라도 인증 기관의 서명을 위조할 수는 없습니다. 또한 Zhang San은 인증서를 받은 후 서명을 확인하여 인증서가 변조되었음을 알게 됩니다. 따라서 이 단계에서만 데이터 전송의 진정한 보안이 보장될 수 있습니다.