SHA(Secure Hash Algorithm)는 아마도 21세기 초 해커와의 싸움에서 가장 중요한 도구였을 것입니다. 엄청난 노력 없이 데이터를 암호화하는 동시에 데이터를 깨기 위해 엄청난 양의 하드웨어를 요구하는 기능 덕분에 수십 년 동안 계정과 데이터를 안전하게 보호해 왔습니다. 그렇기 때문에 모든 주요 브라우저 개발자가 SHA-1을 완전히 포기하고 더 큰 형제인 SHA-2를 사용해야 한다는 생각에 만장일치로 나타나는 것은 놀라운 일이 될 수 있습니다. 갑자기 모든 사람들이 2017년까지 단계적으로 폐지하기로 결정한 이유는 무엇이며 둘 다 공존할 수 없는 이유는 무엇입니까?
해싱 설명
SHA를 이해하기 위해서는 해싱을 실행하는 과정과 목적을 살펴보아야 합니다. 해시는 나타나는 문자열입니다. 특정 자산을 대체하지 않습니다. 간단히 말해서 대부분의 암호화 알고리즘과 달리 문장을 해시할 수는 있지만 "해시 해제"할 수는 없습니다. 이것이 유용한 유일한 방법은 대상 서버가 반드시 데이터의 내용을 알 필요가 없는 경우입니다. 대신, 입력의 해시를 데이터베이스 내부의 해시와 비교하고 둘 다 일치할 때만 인증하면 됩니다. 이것이 해시가 계정 암호를 저장할 때 매우 유용한 이유입니다. 서버는 사이트에 사용자를 인증하기 위해 실제 비밀번호를 알 필요가 없습니다.
그럼 왜 SHA-1이 폐기되나요?
해시를 실제 데이터로 재구성하는 것이 그렇게 어렵다면 왜 모든 사람들이 해시를 단계적으로 제거하는 데 그렇게 서두르는 것일까요? 모두 하드웨어와 관련이 있습니다.
서버가 스토리지에 가지고 있는 값과 일치하는 해시를 생성하는 입력을 누군가가 우연히 발견할 수 있다면 해시가 "해킹"될 수 있습니다. 계정 비밀번호에 해시 b27263b7466a56b1467822108f5487422d054bbb가 있는 경우 , 해커는 해시될 때 정확한 조합을 생성할 수 있는 다른 텍스트(비밀번호일 필요는 없음)만 찾으면 됩니다. 합리적인 시간 내에 이 작업을 수행할 수 있는 종류의 하드웨어를 구입하는 데 비용이 매우 많이 들었습니다. 그러나 2015년에는 GPU 클러스터의 도움으로 이 모든 작업을 수행할 수 있었습니다. 하드웨어가 더욱 강력해지고 저렴해짐에 따라 SHA-1을 해결하는 비용이 너무 저렴하여 소규모 해커와 열성팬도 실행할 수 있을 것입니다.
SHA-2 만나기
SHA-1을 괴롭히는 문제를 없애기 위해 SHA-2는 부유한 해커의 삶을 극도로 어렵게 만들기 위한 목적으로 암호화 알고리즘 제품군으로 만들어졌습니다. 브라우저와 호스트는 SHA-1 인증서 사용을 중단하기 때문에 위에서 언급한 방법으로 계정을 해킹하는 데 드는 비용은 천문학적입니다. SHA-2는 출력에서 최대 512비트를 사용하므로 문자열을 해독하고 재생산하려는 시도에 무리한 시간이 소요되도록 하는 데 필요한 공간을 제공합니다. 물론 이 알고리즘도 미래의 어느 시점에서 깨질 것이고 결국에는 싸움을 계속할 수 있는 다른 알고리즘으로 대체될 것입니다.
그러나 가까운 장래에 SHA-2는 인터넷의 챔피언으로 남을 것입니다.
SHA-2가 링에 몇 년 더 남아있을 것이라고 생각하십니까? 브라우저 개발자가 이전 버전을 단계적으로 중단하기로 한 결정이 옳습니까? 의견을 댓글로 알려주세요!