Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

정보 보안에서 해싱이란 무엇입니까?

<시간/>

해싱은 주어진 키를 코드로 변환하는 절차입니다. 해시 함수를 사용하여 데이터를 새로 생성된 해시 코드로 대체할 수 있습니다. 해시 알고리즘은 일반적으로 침입자나 바이러스에 의해 파일이 변경되지 않았음을 제공하는 데 자주 사용되는 파일 내용의 디지털 지문을 제공하는 데 사용됩니다. 해시 함수는 암호를 암호화하기 위해 일부 운영 체제에서도 사용됩니다. 해시 함수는 파일 무결성 측정을 지원합니다.

해싱은 파일의 정보 블록을 훨씬 짧은 값으로 변환하거나 해당 문자열을 정의하는 일정한 길이의 키로 변환하는 알고리즘을 사용합니다. 결과 해시 값은 주어진 파일 내의 각 문자열에 대한 일종의 집중 요약이며 해당 파일의 개별 데이터 바이트가 변환되는 경우에도 변경될 수 있어야 합니다(사태 효과).

이는 데이터 압축 측면에서 해싱의 엄청난 이점을 지원합니다. 해싱은 압축이 아니지만 더 높은 데이터 세트를 사용하고 더 실현 가능한 형식으로 축소한다는 점에서 파일 압축과 매우 유사하게 작동할 수 있습니다.

보안 목표를 위한 좋은 해시 함수는 단방향 해시 알고리즘이 필요한 단방향 프로세스여야 합니다. 따라서 해커는 해시를 리버스 엔지니어링하여 원래 데이터로 다시 변환하여 애초에 암호화의 목표를 무력화할 수 있습니다.

암호화된 출력의 고유성을 높일 수 있으며 해시 함수의 입력에 임의의 정보를 추가할 수 있습니다. 이 기법을 "salting"이라고 하며 동일한 입력 방식에서도 고유한 출력을 보장합니다.

암호화 해시 함수는 여전히 결정론적이고 효율적으로 계산할 수 있으면서 무작위 함수처럼 적용 가능한 만큼 동작해야 합니다. 암호화 해시 함수는 다음 중 하나가 계산적으로 실현 가능한 경우 안전하지 않은 것으로 처리됩니다. -

  • 주어진 다이제스트와 일치하는 (이전에는 보지 못한) 메시지를 찾을 수 있습니다.

  • 두 개의 다른 메시지가 동일한 메시지 요약을 갖는 "충돌"을 찾을 수 있습니다.

예를 들어 이러한 작업 중 하나를 수행할 수 있는 공격자는 승인된 메시지를 승인되지 않은 메시지로 대체하는 데 사용할 수 있습니다. 개념적으로, 다이제스트가 실질적으로 동일한 두 개의 메시지를 발견하는 것은 실현 가능해야 합니다. 또한 공격자가 다이제스트만 주어진 메시지에 대해 유익한 것을 이해할 수 있기를 원하지 않습니다. 공격자는 최소한 하나의 정보, 즉 다이제스트 자체를 학습하며, 예를 들어 공격자가 동일한 메시지가 다시 나타날 경우 동일한 메시지를 식별할 수 있는 기능을 제공합니다.

해싱은 파일 변조를 방지하거나 분석하는 데에도 유용합니다. 초기 파일은 파일 데이터와 함께 유지되는 해시를 생성합니다. 파일과 해시가 전송되고 수신 당사자는 해당 해시를 확인하여 파일이 협상되었는지 확인합니다. 문서에 변경 사항이 있는 경우 해시에 이를 표시합니다.