암호화 엔지니어링에 대한 몇 가지 생각

몇 주 전에 나는 현대 암호화 표준을 파괴하기 위해국가 안보국의’불룬’프로젝트에 대한 긴 게시물을 썼다. 나는 문제점을 상세히 토론하는 시간이 없었기 때문에,나는 이것에 어떤 점에서 돌아오는 것을 예정했었다. 그러나 그 때 것은 방법으로 얻었다. 실제로 많은 것들. 그 중 일부는 가까운 미래에 대해 쓸 수 있도록 노력하겠습니다.

그러나 내가 거기에 도착하기 전에,그리고 여러분 모두를 눈물로 지루하게 할 위험이 있기 전에,나는 적어도 한 번 더이 주제로 돌아 오기를 원했습니다.

당신은 국가 안보국 불룬 브리핑 시트는 국가 안보국이 꽤 많은 암호화 기술을 파괴 한 것을 언급,참조,그 중 일부는 다른 사람보다 더 재미있다. 그 기술 중 하나는 특히 놀라운 일입니다.국가 안보국이 어떻게 그 일을 할 수 있는지 알 수 없기 때문입니다. 이 매우 긴 게시물에서 나는 오늘날 인터넷이 직면 한 가장 중요한 질문에 대해 조금 더 깊이 파고 들려고 노력할 것입니다.

구체적으로:국가 안보국이 어떻게 깨지고 있습니까?

불런 브리핑 시트의 섹션. 출처:뉴욕 타임즈.

목표를 유지하기 위해 몇 가지 기본 기본 규칙을 만들 것입니다.

첫째,국가 안보국이 컴퓨터에 악성 코드를 설치하고 사용자가 선택한 모든 암호화를 발견 할 수 있다는 것을 잘 알고 있습니다. 그것은 잘 확장되지 않는 단순한 이유 때문에 전혀 관심이 없습니다. 국가 안보국은 당신에게 이것을 할 수 있지만 전체 인구를 위해 그것을 할 수는 없습니다. 국가 안보국이 대량 감시의 목적을 위해 암호화를 깨는 가능성:그리고 그 최근의 누출에 대해 저를 우려 정말.

같은 이유로 우리는 중간자 공격에 대해 걱정하지 않을 것입니다. 우리는 국가 안보국이 실행 않는 것을 알고 있지만,그들은 또한 매우 표적 공격입니다. 또한,국가안보국이 대규모의 차단을 하는 방법에 대해 우리가 알고 있는 것,즉 주로 빔 스플리터나 탭을 통해 감지할 수 있습니다. 다른 말로: 우리는 수동적 감시에 대해 정말로 우려하고 있습니다.

위의 규칙은 절대적이지 않습니다. 우리는 서버에 대한 제한된 표적 공격을 고려할 것입니다,그들은 나중에 많은 양의 트래픽의 수동 암호 해독을 허용 제공;예를 들어,주요 웹 사이트에 트래픽의 암호 해독. 우리는 또한 소프트웨어 및 하드웨어에 대한 임의의 수정을 고려할 것입니다—국가 안보국이 이미하고있는 것을 알고 있습니다.

마지막 요점:일이 레일에서 벗어나지 않도록하기 위해이 게시물을 두 섹션으로 나누었습니다. 첫 번째는 알려진 기술 만 사용하는 공격을 다룰 것입니다. 이 섹션의 모든 것은 소프트웨어에 대한 충분한 소비와 액세스 권한을 가진 타오 직원에 의해 구현 될 수 있습니다. 나는’은박지 모자 스펙트럼’이라는 제목의 한 두 번째 섹션은 재미와 투기 물건을 커버-새로운 사이드 채널 공격에 이르기까지 모든 방법을 국가 안보국이 옆에 계속 거대한 양자 컴퓨터에.

우리는’실용적’으로 시작할 것입니다.

알려진 기술을 사용하는 공격

‘크랙’하는 가장 확실한 방법은 실제로 아무것도 크랙하는 것을 포함하지 않습니다. 당신은 단지 키를 훔칠 수있을 때 왜 암호 해독에 시간과 돈을 낭비? 여기서 단일 128 바이트 서버 키는 장치에서 만든 모든 과거 및 미래 연결을 해독하는 데 필요한 모든 것입니다.

사실,이 기술은 너무나 명백해서 국가안보국이 정교한 암호 해독 공격에 많은 자원을 소비하는 것을 상상하기 어렵다. 우리는 국제무역기구와 국가안보국이 해외의 미국 공급자들 조차도 완벽하게 편안하다는 것을 알고 있습니다. 그리고 우리 국경 안에서,그들은 소환장 능력과 개그 명령을 사용하여 토템/토템 키를 얻으려는 의지를 보여주었습니다. 주요 웹 사이트에 대한 연결을 사용하는 경우 키가 이미 알려져 있다고 가정하는 것이 합리적일 수 있습니다.

물론,국가 안보국이 직접 조치에 의존하지 않는 경우에도,항상 원격 소프트웨어 악용을 통해 키를 얻을 수있는 가능성이있다. 아름다움은 이러한 공격은 심지어 원격 코드 실행을 필요로하지 않는다는 것입니다. 이 취약점을 악용할 경우,오픈 채널 힙의 전체 내용을 매핑하기 위해 몇 가지 잘못된 형식의 요청이 필요할 수 있습니다.

출처:뉴욕 타임즈

서브닝 하드웨어 암호화 칩. 네트워크 트래픽의 상당 부분은 다음과 같은 하드웨어 장치에 의해 생성됩니다. 다행히도 우리는 이러한 장치의 보안에 대해 추측 할 필요가 없습니다.

국가안보국 문서는 이 기능이 어떻게 작동하는지 또는 이 기능이 포함된 경우에 대해 명확하지 않습니다. 만약 그렇다면,분명한 추측은 각 칩이 세션 키의 비트들을 암호화하고 패스워드 및 핸드셰이크 넌스와 같은’랜덤’필드를 통해 확장시킨다는 것이다. 실제로 이것은 불투명 한 하드웨어 장치에서 비교적 쉽게 구현할 수 있습니다. 흥미로운 질문은 하나가 이러한 백도어는 국가 안보국에 의해 악용 될 수 있도록하는 방법이다—그리고 경쟁 정보 기관에 의해. (여기에 대한 몇 가지 생각.)

사이드 채널 공격. 전통적으로 암호화 알고리즘을 분석 할 때 우리는 시스템의 예상 입력 및 출력에 관심을 갖습니다. 그러나 실제 시스템은 모든 종류의 추가 정보를 유출합니다. 작업 시간,자원 소비,캐시 타이밍 및 무선 주파수 방출을 포함하는 이러한’사이드 채널’은 종종 비밀 키 자료를 추출하는 데 사용될 수 있습니다.

좋은 소식은 이러한 채널의 대부분은 공격자가 서버에 물리적으로 근접한 경우에만 악용될 수 있다는 것입니다. 나쁜 소식은 공격자가 가까이 갈 수있는 조건이 있다는 것입니다. 여기서 영리한 공격자는 대상 장치와 물리적 리소스를 공유할 수 있습니다.

두 번째 공격 클래스는 원격 타이밍 정보를 사용하여 키를 천천히 복구합니다. 재미 있지만,일부’보안’하드웨어 코 프로세서는 실제로 기본적으로 이러한 대책을 해제 할 수 있습니다! 적어도,이 로컬 사용자에 의해 공격에 취약 하드웨어를 만들고,심지어 원격 키 복구를 용이하게 할 수있다.

약한 난수 생성기. 강력한 완벽한 순방향 비밀 암호 스위트를 사용한다고해도,보안은 근본적으로 예측할 수없는 난수의 가용성에 달려 있습니다. 우연히도 난수 생성기 표준을 조작하는 것은 국가 안보국의 노력의 특정 초점이었던 것으로 보입니다.

난수는 여러 요소에서 중요하지만 세 곳에서 특히 중요합니다:

  1. 클라이언트 쪽에서 핸드셰이크를 수행합니다. 이 경우 암호 패딩을 생성 할 수 있습니다. 공격자가 이 생성기의 출력을 예측할 수 있으면 이후 전체 세션을 해독할 수 있습니다. 아이러니하게도,서버 액화천연가스의 실패는 핸드셰이크에 훨씬 덜 파괴적이다.*
  2. 클라이언트 또는 서버 측에서,디피-헬만 핸드셰이크 동안. 디피-헬만은 연결의 각 측면에서 기여를 필요로하기 때문에,양쪽에 예측 가능한 액화는 세션을 완전히 투명하게 렌더링.
  3. 장기 키 생성 중 이 경우,당신은 망했다.
그리고 난수 생성기를 약화시키기 위해 그렇게 정교 할 필요는 없습니다. 이 발전기는 이미 놀라 울 정도로 깨지기 쉬운,그리고 하나가 고장 때 감지 몹시 어렵다. 데비안의 메인테이너들은 2008 년에 잘못된 코드 정리를 통해 효과적인 오픈 엔트로피를 단 16 비트로 줄였습니다. 키보드를 가진 어떤 바보라도 그렇게 할 수 있습니다.

좋은 소식은 암호화 하 고 현재 액화천연가스 시드를 추출 하기 위해 구현 변조 상대적으로 쉽습니다. 이 여전히 물리적으로 라이브러리를 변경하거나 지속적인 악용을 설치하는 사람을 필요로하지만,심지어 기존의 오픈 코드에 많은 새로운 코드를 추가하지 않고 영리하게 수행 할 수 있습니다. (함수 포인터에 대한 오픈 슬의 사랑은 특히 이러한 것들을 쉽게 조작 할 수있게합니다.)

변조가 당신의 작풍이 아닌 경우에,보통 광경에 있는 백도어를 두지 않기 위하여 왜? 이것이 국가안보국이 채택한 접근법입니다. 국가 안보국이 의도적으로 백도어로이 발전기를 설계하는 강력한 증거가있다. 따라서 이 소프트웨어를 사용하여 만든 모든 연결이 잠재적으로 손상될 수 있습니다.

그리고 나는 심지어 리눅스 커널을 자체 하드웨어로 대체 할 인텔의 계획을 언급하지 않았다.

비의 약점. 구글과 페이스 북을 포함한 많은 웹 서버는 이제 임시 디피-헬만 같은 완벽한 앞으로 비밀 암호 스위트를 사용합니다….[-][-][-][-][-][-][-][-][-][-][-][-][-][-][-][-][and 이론적으로 이러한 암호 스위트는 가능한 모든 세계 중 최고를 제공합니다:키는 한 세션 동안 지속되고 연결이 끝나면 사라집니다. 이 액화천연가스 문제에서 당신을 저장 하지 않습니다,하는 동안 키 도난 훨씬 더 어려운.

하지만 미묘한 문제의 다양 한 그들의 스타일을 경련 수 있습니다. 한 가지는 세션 재개 메커니즘이 까다로울 수 있습니다: 세션 키는 로컬에 저장되거나 암호화되어 세션 티켓 형태로 사용자에게 제공되어야 합니다. 불행히도,세션 티켓의 사용은 이제 티켓을 암호화하는 데 사용되는 키가 시스템의 주요 약점을 나타 내기 때문에 시스템의’완벽 함’을 다소 감소시킵니다. 그들은 사이트의 프런트 엔드 서버의 모든 사이에 공유 할 필요가 있기 때문에 또한,당신은 심지어 하나의 서버에 내부를 유지할 수 없습니다! 즉,그들은 악몽의 종류처럼 보인다.

최종 관심 영역은 디피-헬만 파라미터의 검증이다. 현재 서버 그룹은 서버에 의해 항상 정직하게 생성된다고 가정합니다. 그러나 악의적 인 구현은 이러한 가정을 위반하고 잘못된 매개 변수를 사용하여 타사 도청을 할 수 있습니다. 이 감시를 가능하게하기위한 꽤 가능성이 길처럼 보이지만,이러한 시스템이 얼마나 섬세한 보여 간다.

은박지 모자 스펙트럼

나는’은박지 모자’취약점으로 공격의 다음 배치를 참조하는거야. 이전 문제가 모두 잘 알려진 기술을 활용하는 경우 다음 각 제안에는 완전히 새로운 암호 해독 기술이 필요합니다. 이 모든 것은 다음 섹션이 순수한 추측이라고 말하는 방법입니다. 물론 추측하는 것은 재미 있습니다. 그러나 그것은 증거가 아닌 사실을 가정 할 것을 요구합니다. 또한,우리는 우리가 멈추는 곳에 대해 조금 조심해야합니다.

여기에서 우리는 본질적으로 사고 실험을 수행하고 있습니다. 또한 이전 섹션의 트릭에 의존하지 않습니다. 무엇이 남았습니까?

다음 목록은 가장’가능성있는’이론으로 시작하여 진정으로 미친 사람을 향해 작동합니다.

우리 분야에는 국가 안보국이 1024 비트 키를 크래킹하고 있다는 지속적인 소문이 있습니다. 이 소문이 국가 안보국 운영에 대한 실제 지식에서 비롯된 것은 의심 스럽다. 더 많은 가능성이 1024 비트 키를 크래킹 국가 안보국의 자원을 가진 조직에 대한 매우 실현 가능하다는 사실에 의해 구동 것.

얼마나 가능합니까? 몇몇 믿을 수 있는 연구원은 이 질문에 응답하는 것을 시도하고,비용이 당신이 생각하는 보다는 더 낮다는 것을 끈다. 돌아 오는 길에 2003 년,샤미르와 트로머는 연간 하나의 1024 비트 키를 인수 분해 할 수있는 목적으로 제작 된 기계에$1000 만 추정했다. 2013 년,트로머는 하드웨어 발전에 인수 분해,약$1 백만에 그 숫자를 감소시켰다. 그리고 그것은 상당히 낮을 수 있습니다. 이것은 국가 안보국에 대 한 포켓 변경입니다.

유사한 라인을 따라,번스타인,헤닝거와 랭 표준 컴퓨터의 분산 네트워크를 사용하여 러시아 통신 사업자의 균열의 가능성을 조사했다. 그들의 결과는 꽤 불안하다:주,실제 컨 피커 봇넷의 크기에 대한 클러스터는 1024 비트 키에 심각한 폭력을 할 수 있습니다.

이 모든 것을 감안할 때 왜이 가능성이’은박지 모자’범주에 있는지 물을 수 있습니다. 간단한 대답은:아무도 실제로 그것을 해내지 않았기 때문입니다. 즉,위의 추정치가 극적으로 너무 높거나 너무 낮다는 것을 적어도 생각할 수 있음을 의미합니다. 또한,1024 키는 빠르게 단계적으로 제거되고 있습니다. 2048 비트 키를 크래킹하는 것은 은박지 모자에 훨씬 더 깊이 우리를 복용,중요한 수학적 발전을 필요로한다.**

크래킹 다양한 강력한 암호화 알고리즘을 지원합니다. 실제로 모든 트래픽의 약 절반이 삐걱 거리는 오래된 암호로 보호됩니다. 그리고 이것은 당신을 걱정해야합니다. 사실,그것은 이미(경계선)실제 공격에 취약합니다. 따라서 국가 안보국의 부분에 진정한 암호 해독 사전을위한 좋은 후보처럼 보인다.

불행하게도 이 이론의 문제점은 국가안보국이 핵폭탄을 유용하게 사용할 수 있는 어떤 공격도 모른다는 것이다! 알려진 기술은 공격자가 관련 키로 암호화된 수천 또는 수백만 개의 암호를 수집해야 합니다. 그것은 세션 수십억을 설정하는 피해자를 필요로하고,심지어 그것은 단지 쿠키 나 암호와 같은 고정 일반 텍스트 요소를 복구—가장 잘 알려진 공격은 후자의 형태를 취한다.

반론은 공공 연구 커뮤니티가 지난 10 년 동안 아르 자형 4 에 대해 열심히 생각하지 않았다는 것입니다—부분적으로 우리는 그것이 너무 망가진 사람들이 사용을 중단했다고 생각했기 때문에(죄송합니다!)만약 우리가 그것에 우리의 모든 관심을 집중 했다(또는 더 나은,국가 안보국의 관심),누가 우리가 오늘 있을 것 이라고 알고.

만약 당신이 국가안보국이 정말로 새로운 암호 해독 능력을 가지고 있다고 말한다면,나는 제이크에게 동의하고 손가락을 가리킬 것이다. 대부분 대안이 훨씬 더 무섭기 때문입니다.

새로운 사이드 채널 공격. 이는 암호 해독 전에 각 암호문에 임의의 맹검 요인을 곱하여 타이밍을 혼란스럽게합니다. 이론적으로 이것은 타이밍 정보를 본질적으로 쓸모 없게 만들어야합니다. 이러한 공격을 부활시킬 수 있습니다. 그것은 여기에 공격이 매우 가능성,하지만 누가 알 겠어.

바보 같은 물건. 어쩌면 국가 안보국은 소매까지 정말 놀라운 무언가를 가지고있다. 이 판도라의 상자를 여는 문제는 다시 닫기가 정말 어렵다는 것입니다. (국가 안보국은 1990 년대 후반에 돌아 오는 길에 대해 알고 있지만,우리는 아직 발견하지 않았습니다)? 국가 안보국은 암호 시스템을 무차별 대입 할 수있는 거대한 슈퍼 컴퓨터를 가지고 있습니까? 우정의 별관에 거대한 양자 컴퓨터가 있습니까? 이 질문에 응답을 위해 너는 마찬가지로 다만 마술 8 공을 동요할지도 모른다,원인 나는 실마리가 있지 않는다.

결론

우리는 이러한 것들에 대한 답을 모르고 알 수 없으며,솔직히 당신이 그것에 대해 생각하기 시작하면 당신을 미치게 만들 것입니다. 우리가 정말로 할 수 있는 것은 국가안보국/국제사법재판소가 이러한 능력이’매우 취약하다’고 말할 때 그들의 말을 듣는 것이다. 그것은 적어도 우리에게 희망을 줄 것입니다.

이제 문제는 우리가 그 취약성을 경고에서 약속으로 바꿀 수있을만큼 충분히 추측 할 수 있는지입니다.
참고:

*서버 오류로 인해 서버 랜덤과 세션 아이디 같은 예측 가능한 값이 발생할 수 있습니다. 이러한 값을 예측할 수 있는 공격자는 프로토콜에 대한 적극적인 공격을 실행할 수 있지만,적어도 수동적 타협은 인정하지 않습니다.1024 비트가 제거되었지만,많은 서버는 여전히 디피-헬만(주로 효율성상의 이유로)을 위해 1024 비트를 사용한다. 그러나 가장 큰 차이점은 새로운 디피-헬만’임시’키가 각각의 새로운 연결에 대해 생성된다는 것입니다. 트래픽의 많은 양을 깨는 것은 매우 비용이 많이 드는 것 같다.

답글 남기기

이메일 주소는 공개되지 않습니다.