간단히 말해서, 디지털 서명이란 데이터 단위에 첨부된 데이터 또는 데이터 단위의 암호 변환입니다. 이러한 데이터 또는 변환을 통해 데이터 단위의 수신자는 데이터 단위의 출처와 무결성을 확인하고 수신자 등의 위조로부터 데이터를 보호할 수 있습니다. 이는 전자 메시지에 서명하는 방법이며 서명된 메시지는 통신 네트워크에서 전송할 수 있습니다. 디지털 서명은 공개 키 암호 체계 또는 개인 키 암호 체계를 기반으로 할 수 있으며, 현재는 주로 공개 키 암호 체계를 기반으로 하는 디지털 서명입니다. 일반 디지털 서명과 특수 디지털 서명이 포함됩니다. 일반적인 디지털 서명 알고리즘으로는 RSA, ElGamal, Fiat-Shamir, Guillou-Quisqour, Schnorr, Ong-Schnorr-Shamir, Des/DSA 등이 있습니다 특수 디지털 서명에는 블라인드 서명, 프록시 서명, 그룹 서명, 부인할 수 없는 서명, 공정한 블라인드 서명, 문 제한 서명, 메시지 복구 기능이 있는 서명 등이 포함됩니다. 특정 애플리케이션 환경과 밀접한 관련이 있습니다. 분명히 디지털 서명의 적용에는 법적 문제가 관련되어 있으며, 미국 연방 정부는 제한된 도메인의 이산대수 문제를 기반으로 자체 DSS (디지털 서명 표준) 를 개발했습니다. 프랑스와 독일과 같은 일부 국가들은 이미 디지털 서명법을 반포했다.
디지털 서명을 구현하는 방법에는 여러 가지가 있습니다. 현재 공개 키 암호화 기술은 pkcs (public key cryptography standards), 디지털 서명 알고리즘, X.509, RSA 데이터 보안 기반 PGP(Pretty Good Privacy) 등 디지털 서명에 널리 사용되고 있습니다 1994 미국 표준 및 기술 협회는 공개 키 암호화 기술이 광범위하게 적용될 수 있도록 디지털 서명 표준을 발표했습니다. 공개 키 암호화 시스템은 비대칭 암호화 알고리즘을 사용합니다.
현재의 디지털 서명은 공개 키 시스템을 기반으로 하며 공개 키 암호화 기술의 또 다른 응용 프로그램입니다. 주된 방법은 메시지 발신자가 메시지 본문에서 128 비트의 해시 값 (또는 메시지 요약) 을 생성하는 것입니다. 발신자는 자신의 개인 키로 이 해시 값을 암호화하여 발신자의 디지털 서명을 형성합니다. 그런 다음 디지털 서명은 메시지의 첨부 파일로 메시지의 수신자에게 전송됩니다. 메시지 수신자는 먼저 수신된 원본 메시지에서 128 비트의 해시 값 (또는 메시지 요약) 을 계산한 다음 발신자의 공개 키로 메시지에 첨부된 디지털 서명을 해독합니다. 두 해시 값이 같으면 수신자는 디지털 서명이 발신자에 속하는지 확인할 수 있습니다. 원본 메시지는 디지털 서명으로 인증할 수 있습니다.
서면 문서에 서명하는 것은 서류를 확인하는 수단이며, 한 사람의 서명이 부인하기 어려워 문서가 이미 서명되었다는 사실을 확인하는 두 가지 역할을 한다. 두 번째는 서명이 위조하기 쉽지 않기 때문에 문서의 실제 사실을 확인했기 때문이다.
디지털 서명은 서면 문서 서명과 유사합니다. 디지털 서명을 사용하여 다음 두 가지 사항을 확인할 수도 있습니다. 첫째, 정보는 서명자가 보낸 것입니다. 둘째, 이 정보는 게시부터 수신까지 수정되지 않았습니다. 이를 통해 디지털 서명을 통해 쉽게 수정될 수 있기 때문에 전자 정보가 변조되거나 다른 사람의 이름으로 전송되는 것을 방지할 수 있습니다. 또는 편지를 보내고 부인하십시오.
널리 사용되는 디지털 서명 방법에는 RSA 서명, DSS 서명, 해시 서명의 세 가지가 있습니다. 이 세 가지 알고리즘은 단독으로 사용하거나 함께 사용할 수 있습니다. 디지털 서명은 DES 계산 및 RSA 알고리즘을 통해 구현할 수 있는 암호 알고리즘을 통해 데이터를 암호화하고 암호 해독합니다. 그러나 이 세 가지 기술 모두 어느 정도 결함이 있거나 성숙한 기준이 없다.
RSA 또는 기타 공개 키 암호 알고리즘을 사용하는 가장 큰 편리함은 키 배포 문제가 없다는 것입니다 (네트워크가 복잡할수록 네트워크 사용자가 많을수록 장점이 더욱 두드러집니다). 공개 키 암호화는 공개 키와 개인 키의 두 가지 다른 키를 사용하기 때문입니다. 공개 키는 시스템 디렉토리, 암호화되지 않은 이메일, 전화 (상용 전화) 의 노란색 페이지 또는 게시판에 저장할 수 있으며 인터넷상의 모든 사용자가 공개 키를 사용할 수 있습니다. 개인키는 사용자별로 사용자가 소유하며 공개 키로 암호화된 정보를 해독할 수 있습니다.
RSA 알고리즘의 디지털 서명 기술은 실제로 해시 함수를 통해 구현됩니다. 디지털 서명은 파일의 특징을 나타내는 것이 특징입니다. 파일이 변경되면 디지털 서명 값도 변경됩니다. 문서마다 디지털 서명이 다릅니다. 가장 간단한 해시 함수 중 하나는 파일을 누적하는 이진 코드로, 마지막 몇 개를 취한다. 해시 함수는 데이터를 전송하는 양 당사자에게 공개됩니다. 디지털 서명과 검증을 해야 실제로 인터넷에 안전하게 전송할 수 있다. 디지털 서명과 유효성 검사가 있는 파일 전송 프로세스는 다음과 같습니다.
발신자는 먼저 해시 함수를 사용하여 원본에서 디지털 서명을 받은 다음 공개 키 시스템을 사용하여 개발자의 개인 키로 디지털 서명을 암호화하고 암호화된 디지털 서명을 전송할 원본에 첨부합니다.
발신자는 키를 선택하여 파일을 암호화하고 네트워크를 통해 암호화된 파일을 수신자에게 전송합니다.
발신자는 수신자의 공개 키로 키를 암호화하고 암호화된 키를 네트워크를 통해 수신자에게 전송합니다.
수신자는 자신의 개인 키로 키 정보를 해독하여 키의 일반 텍스트를 얻습니다.
수신자는 암호화된 디지털 서명을 위해 비밀 키로 파일을 해독합니다.
수신자는 발신자의 공개 키로 디지털 서명을 해독하여 디지털 서명의 일반 텍스트를 얻습니다.
수신자는 얻은 일반 텍스트 및 해시 함수를 사용하여 디지털 서명을 다시 계산하고 해독된 디지털 서명과 비교합니다. 두 디지털 서명이 같으면 전송 중 파일이 손상되지 않은 것입니다.
제 3 자가 발신자로 가장하여 파일을 보내는 경우 수신자가 디지털 서명을 해독할 때 발신자의 공개 키를 사용하기 때문에 제 3 자가 발신자의 개인 키를 모르는 한 암호 해독된 디지털 서명과 계산된 디지털 서명은 달라야 합니다. 이것은 발신자의 신원을 확인하는 안전한 방법을 제공합니다.
안전한 디지털 서명을 통해 수신자는 파일이 실제로 주장하는 발신자로부터 온 것임을 확신할 수 있습니다. 서명된 개인키는 발신자 본인만 보관하고, 다른 누구도 같은 디지털 서명을 만들 수 없기 때문에 거래에 참여했다는 사실을 부인할 수 없다.
디지털 서명의 암호화 및 암호 해독 프로세스와 개인 키의 암호화 및 암호 해독 프로세스는 모두 공개 키 시스템을 사용하지만 구현 프로세스는 정반대이며 사용되는 키 쌍도 다릅니다. 디지털 서명은 발신자의 키 쌍을 사용하고, 발신자는 자신의 개인 키로 암호화하고, 수신자는 발신자의 공개 키로 암호를 해독합니다. 이것은 일대다 관계입니다. 발신자의 공개 키를 소유한 사람은 누구나 디지털 서명의 정확성을 확인할 수 있고, 개인 키의 암호화 및 암호 해독은 수신자의 키 쌍을 사용합니다. 이는 다대일 관계입니다. 수신자의 공개 키를 아는 사람은 누구나 수신자에게 암호화된 정보를 보낼 수 있습니다. 수신자 개인 키를 소유한 사람만 정보를 해독할 수 있습니다. 실제로 사용자는 일반적으로 두 쌍의 키를 가지고 있는데, 한 쌍은 디지털 서명을 암호화하고 해독하는 데 사용되고 다른 한 쌍은 개인 키를 암호화하고 해독하는 데 사용됩니다. 이 방법은 더 높은 보안을 제공합니다.