This article is an automated machine-translation of an article in English. We know the translation isn't perfect, but we hope it's useful for people who don't read English.

SHA-1 짐승 - 강제 공격은 21 %로 트리밍 - 종이 오슬로 비밀번호 해킹 컨퍼런스에서

Filed Under: Featured

두 달 전, 우리는 쓴 결론NIST의 암호화 해시 알고리즘 대회 .

우승자는이었다 Keccak - 지금 공식적으로 SHA-3 명명.

이 새로운 표준의 정식 비준에도 불구하고, NIST의 초기 해시는 일반적으로 사용되는 남아 있습니다. 사실, 우리는 볼 기대할 수 있습니다 SHA-1과 SHA-2를 가능도 수십 년 동안 - 년 동안 야생 인치

SHA-1 내부 루프 반복 도식 SHA-1, 특히, 아직 널리 암호 해시에 발생합니다.

당신은 단방향 함수를 만들려면 비밀번호를 아카이브 시스템의 일부에서 암호화 해시 함수를 사용하는 곳 암호 해시입니다.

computionally infeasible 더 나은 아직, 또는, - - 역에서 운동을하는 단방향 기능에 한 방향으로 만 복잡한 계산 쉽게 프로세스입니다.

대신 실제 암호의 단방향 암호 해시를 저장하는 경우, 데이터베이스를 도용 공격자가 직접 그 암호를 복구 할 수 없습니다. 그들은 운이 올 때까지 그들은 비밀번호를 스스로 후 비밀번호를 시도해야합니다.

→ 암호를 저장하는 단방향 기능을 사용하면 암호 데이터베이스를 안전하게 보호하기위한 대체하지 않습니다. 당신의 서버가 나누어 질 않습니다 만, 방어에 대한 심층적 인의 손길을 제공합니다 추가 보안입니다.

편도 함수가 암호화 - 해시 암호를 해독, 역으로 계산 할 수 없기 때문에 것은 필연적으로 짐승 - 강제로 관계입니다. 다시 계속해서 편도 함수를 계산하는 것을 의미합니다.

결과적으로, 암호 해독 전문가들은 특히 SHA-1을 포함하여 널리 사용되는 암호 해시 알고리즘의 성능 개선을 많은 노력을 넣어.

2012년 6월에서 예를 들어, 연구자 매그넘과 JimF (짐 Fougeron)는 암호 크래커에 코드를 기부 존 리퍼 80 % 원료 SHA-1 암호 해시 속도를 향상.

그리고, 동일한 릴리스, Tavis Ormandy는 15 자 미만의 암호로 제한이라도 115 %의 성능 향상을 제공하는 최적화 된 구현을 세웠 어.

→ 암호 크래커는 쉽게 학대 수 있습니다. 당신은 아마 싶은 자신의 사용을 제어 하여 조직 내부. 나쁜 놈들이 뭘하기 전에 자신의 네트워크에 가난한 비밀번호 위생를 확인하는 방법은 다음과 같습니다 그러나 그들은 합법적 인 방어 목적이 있습니다.

이제 젠스 Steube,의 도구 균열 pasword의 저자 hashcat의 암호를 해독 할 때 가족은, SHA-1에 대한 optimisations에 추가되었습니다.

Steube은 최근에 신문에 자신의 작품을 설명 ^ 12 암호 오슬로, 노르웨이에있는 컨퍼런스.

비밀번호 ^ 12 회의 보도 자료

Steube의 비밀번호 크래킹 개선 21%하여 SHA-1 해시를 계산하기 위해 필요한 컴퓨터 지침의 수를 줄일 수 있습니다. 이 이전 optimisations을 허용 할 수 있습니다 - 추가 속도가 아직 더 변화 할 - 등 위에서 설명한 것과 같은.

Steube는 반복적으로 첫 번째 입력 단어 (32 비트, 또는 4 바이트)가 될 때마다 변경되는 입력 데이터의 해시를 계산하는 경우 SHA-1의 "내부 루프"가 유용하게 몸매는 여전 하구나 될 수있는 것으로 나타났습니다.

암호 공격의 경우이 쉽게 예약하실 수 있습니다.

크게 oversimplified, SHA-1 알고리즘 다섯 32 비트 단어 (160 비트, 또는 20 바이트)의 누적 해시에 각 블록을 혼합, 16 32 비트 단어의 블록 (512 비트, 또는 64 바이트)에서 해당 입력을 소모합니다.

블록의 블록은 () 할에 대한
   난 = 17-80 일에
      - 각 단계는 여기에 원래 16 단어 입력을 확장
      - 혼합하여 만든 하나의 단어를 추가하여 80 자까지 차단 
      - 함께 이전 십육 단어 넷.     
      블록 [I] = minimixtogether (블록, 전)
   끝
   
   난 = 1-80 일에 대한
      - 각 단계는 여기에 80 단어에서 단어 중 하나를 혼합
      - 다섯 바이트 해시 축적에 "확장 블록"
      해시 = giantmixtogether (블록, 전)
   끝
끝

안간힘을 해시로 확장 입력이 NOT 등의 다양한 작업의 범위, AND, OR, XOR, ADDROL을 (왼쪽으로 회전)를 사용하는 giantmixtogther () 함수.

그러나 minimixtogether ()는 입력 데이터는 XORROL를 사용하는 상태로 사용 기능을 수행합니다. 때문에 그 상대 단순함 때문에, Steube는 루프 minimixtogether ()를 생략 할 수 있으며, "확장"입력 값 블록주세요 [17] 직접 giantmixtogether () 안에 [80] 차단하는 루프를 계산하는 방법을 발견했습니다.

Steube의 방법은 아직 precalculation을 필요로하지만, 입력의 첫 번째 블록 (처음 4자를 IE)가 변경된 경우 여러 별도의 해시 평가는 precalculated 데이터를 공유 할 수 있습니다.

이 파일을 무작위로 선택된 시리즈를 해싱 된 경우, 예를 들어,이 당신에게 무용지물 것입니다.

그러나 암호에 대한 폭력 공격을 수행 할 때, 처음 네 문자가 암호의 나머지 다음, 가장 빠르게 변경할 수 있도록 적절한 순서로 입력을 넣어하는 간단한 문제입니다. (거꾸로 한 단 자동차 주행 거리계를 상상.)

이 작업을 수행 할 수 있다면, Steube의 고치면 되겠를 implemeting하면 코드가 25 % 빠른 실행 할 것입니다. 그 맘에 들어.

아직 보안 군비 경쟁이 또 다른 알림 : 그리고 당신은 수 있습니다.

You might like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

About the author

Paul Ducklin is a passionate security proselytiser. (That's like an evangelist, but more so!) He lives and breathes computer security, and would be happy for you to do so, too. Paul won the inaugural AusCERT Director's Award for Individual Excellence in Computer Security in 2009. Follow him on Twitter: @duckblog