원본 정보' 와 그에 상응하는' MD5 서명 문자열' 을 통해 기본적인 정보 검증을 할 수 있습니다. MD5 서명 문자열의 일관성을 통해 우리가 받은 정보가 변경되지 않았음을 보장할 수 있습니다.
P.S.: 후속 문장 중 사인은 다른 것을 의미하기 때문에 MD5 서명 문자열을 구별하기 위해 MD5 서명 문자열의 이름을 MD5 지문 문자열로 변경했습니다. 서명과 마찬가지로 A 의 증거와 특징을 서명이나 지문으로 표현할 수 있다는 뜻입니다. 여기서는 MD5 문자열 MD5 지문에 해당하는 이 기능을 호출하기 시작했습니다.
하지만 쉽게 발견할 수 있는 취약점 중 하나는' 원본 정보' 와' MD5 지문 문자열' 을 모두 수정하면 어떻게 될까요? 원본 정보는 가짜 정보로 대체되고 MD5 지문 문자열은 가짜 정보로 생성된 MD5 코드로 대체됩니다. 이때 원래의 검증 절차가 갈 수 있게 되어 정보가 수정되었거나 대체된 것을 발견할 수 없다.
이 문제를 해결하기 위해 산업 실무에서 인증과 암호화를 결합할 것이다. 간단한 조합 외에도 몇 가지 기본적인 팁을 소개합니다.
예를 들어, MD5 의 인증 알고리즘이 공개되기 때문에 MD5 지문 문자열에 대한 정보를 쉽게 생성하여 원본 정보를 위조할 수 있습니다. 그렇다면 이 정보를 위조하는 MD5 지문 문자열을 불가능하거나 어렵게 만들 수 있습니까?
한 가지 방법은 원본 정보의 MD5 검증 코드를 제공하지 않고' 원본 정보+키' 를 제공하는 MD5 지문 문자열입니다.
이 키는' 2d2316235b41924ac7b4194661d2984' 와 같은 무작위 문자열입니다
이 시점에서 lionbridge 의 검증 프로세스는 다음과 같습니다.
발신자는 "원본 정보" 와 "키" 를 패키지화하여 MD5 지문 문자열을 생성합니다. 그런 다음 원본 메시지와 MD5 지문 문자열을 보냅니다.
수신자가 메시지를 수신하면 "수락된 메시지" 와 "키" 를 패키지화하여 MD5 문자열을 생성한 다음 수신된 MD5 문자열과 비교하여 일관성을 확인합니다.
이 경우 원본 정보와 MD5 문자열이 동시에 수정되더라도 위조자는 원본 정보에 어떤 키 문자열이 추가되었는지 모르기 때문에' 원본 정보+키' MD5 문자열을 제공하는 것이 거의 불가능합니다. 그는 그 열쇠의 모습을 거꾸로 추론할 수 없었기 때문이다. Md5 암호화 알고리즘은 이러한 "거의 불가능한" 상황을 보장합니다.
원본 정보 및 MD5 지문 문자열을 보호하는 또 다른 방법은 MD5 인증 코드 암호화를 직접 고려하는 것입니다. 리장 컴퓨터 훈련/이 방법이 위의 작은 기교와 충돌하지 않는다고 생각한다. 사실 위의 작은 기교와 결합하여 더 안전한 방식을 만들 수 있다. 하지만 이해의 어려움을 줄이기 위해, 위의 힌트를 버리고, 원본 정보, MD5 지문 문자열, MD5 문자열 암호화 등 세 가지를 간단히 고려해 보겠습니다.