Microsoft UEFI 서명의 모험

그가 쓴이 기사를 번역합니다 제임스 보 틀리, 기술 고문 리눅스 재단모으기 시작한, Linux를 부팅 할 수 있도록 사전 부트 로더.

이전 게시물에서 설명했듯이 Linux Foundation pre-bootloader에 대한 코드가 있습니다. 그러나 지연 Microsoft 서명 시스템에 액세스 할 수있었습니다.

할 첫 번째 문제는 Verisign에 $ 99 지불 (현재 시만텍) Verisign에서 키를 확인했습니다. 우리는 Linux Foundation을 위해 해냈고 그들이 원하는 것은 본사에 전화하여 확인하는 것입니다. 키는 브라우저에 설치된 URL로 반환되지만 표준 Linux SSL 도구를 사용하여 추출하고 일반적인 PEM 인증서 및 키를 만들 수 있습니다. UEFI 서명과는 아무런 관련이 없지만 시스템 유효성 검사에 사용됩니다. 시스템 개발 당신이 당신이라고 말하는 Microsoft. sysdev 계정을 만들기 전에 먼저 테스트해야합니다. 그들이 제공하는 실행 파일에 서명하고 업로드. 그들은 특정 Windows 플랫폼에서 서명하는 엄격한 요구 사항을 만들지 만 sbsign은 적어도 작동하고 bingo 계정이 생성되었습니다.

계정이 생성되면 먼저 서명을 위해 UEFI 바이너리를 업로드 할 수 없습니다. 서면 계약에 서명하다. 많은 제외 라이센스 (드라이버 용 모든 GPL 포함, 부트 로더 용 제외)를 포함하여 거래는 매우 번거 롭습니다. 가장 부담스러운 부분은 합의가 도래하는 것 같다는 것입니다. 서명 한 UEFI 개체를 넘어. Linux Foundation의 변호사들은 우리가 제품을 판매하지 않기 때문에 대부분 LF에 무해하지만 다른 회사에게는 역 겨울 수 있다고 결론지었습니다. Matthew Garrett에 따르면 Microsoft는 이러한 문제 중 일부를 완화하기 위해 배포판과 특별 거래를 협상 할 의향이 있습니다.

계약서에 서명하면 진짜 기술적 재미. UEFI 바이너리를 업로드하고 서명 할 수는 없습니다. 먼저해야합니다 .cab 파일로 포장. 다행히 lcab이라는 캐비닛 파일을 만들 수있는 오픈 소스 프로젝트가 있습니다. 그럼 당신은 Verisign 키로 .cab 파일에 서명. 다시 말하지만, 그렇게 할 수있는 또 다른 오픈 소스 프로젝트가 있습니다 : osslsigncode. 이러한 도구가 필요한 사람은 누구나 내 openSuse Build Service UEFI 저장소에서 사용할 수 있습니다. 마지막 문제는 파일 업로드 은빛이 필요합니다. 안타깝게도 달빛이 작동하지 않는 것 같고 버전 4 미리보기에서도 업로드 상자가 비어 있습니다. Windows 7을 사용할 시간입니다 kvm (커널 기반 가상 머신)에서. 그 부분에 도달하면 바이너리가 "서명되어야하고, GPLv3 또는 유사한 오픈 소스 라이선스에 따라 라이선스를 취득해서는 안됩니다.”. 핵심 공개에 대한 두려움 때문이라고 생각하지만 전혀 명확하지 않습니다 ( "유사한 오픈 소스 라이선스"와 동일).

업로드가 완료되면 XNUMX 단계에 걸쳐 캐비닛 파일이 중지됩니다. 불행히도 첫 번째 테스트 등반은 6 단계에 고정 (파일의 서명). 6 일 후 Microsoft에 무슨 일이 일어나고 있는지 묻는 지원 이메일을 보냈습니다. 대답 :“서명 과정에서 발생하는 오류 코드는 파일이 유효한 Win32 응용 프로그램이 아닙니다.. 유효한 Win32 응용 프로그램입니까?”. 답변 : 당연히 그렇지 않습니다. 유효한 64 비트 UEFI 바이너리입니다. 더 이상 답변이 없습니다...

나는 다시 시도했다. 이번에는 서명 된 파일에 대한 다운로드 이메일을 받았는데 게시판에 서명 실패. 나는 그것을 다운로드하고 확인했다. 바이너리는 보안 부팅 플랫폼에서 작동하며 키로 서명됩니다.

제목 = / C = US / ST = Washington / L = Redmond / O = Microsoft Corporation / OU = MOPR / CN = Microsoft Windows UEFI 드라이버 게시자
발급자 = / C = US / ST = Washington / L = Redmond / O = Microsoft Corporation / CN = Microsoft Corporation UEFI CA 2011

지원팀에 프로세스가 실패한 이유를 물었지만 유효한 다운로드를 받았으며 많은 이메일을 보낸 후 "파일은 사용하지 마십시오. 잘못 서명. 다시 올게요. " 여전히 문제가 뭔지 잘 모르겠지만 서명 키의 제목을 보면 Linux Foundation에 표시 할 키가 없습니다.따라서 문제는 바이너리가 Linux Foundation에 연결된 특정 (및 취소 가능한) 키 대신 일반 Microsoft 키로 서명된다는 것입니다.

그러나 이것은 상태입니다. Microsoft가 Linux Foundation에 서명되고 검증 된 사전 부트 로더를 제공 할 때까지 계속 기다릴 것입니다. 이 경우 모든 사람이 사용할 수 있도록 Linux Foundation 사이트에 업로드됩니다.

출처 : http://blog.hansenpartnership.com/adventures-in-microsoft-uefi-signing/

결론을 내리십시오. 그러나 이것은 시간이 걸릴 것입니다.


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

25 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   ROLO

    UEFI 시스템과 함께 제공되는 win8 OEM이있는 PC의 문제가 BIOS에서 UEFI를 비활성화하여 해결되면 Linux 기반과 Fedora, Ubuntu 및 내가 어떤 다른 배포판에 비용을 지불하는지 모르겠다는 오류가 발생하는 것 같습니다. 인증서를 확인하고 Microsoft에서 부과 한 제한 사항을 수락합니다.

    우리는 양고기가되는 것을 그만둬야한다 !!!!!

    1.    시그84

      하지만 Windows 8이 부팅되지 않은 상태로 남아 있음을 알고 있습니다.

      1.    블레어 파스칼

        헤 헤헤, 별거 아니 었어요. 글쎄, 적어도 나에게는. 그것은 개인적인 의견이며 누구에게도 화를 내고 싶지 않습니다.

    2.    시바 87

      UEFI는 오래 지속되는 BIOS를 대체하는 펌웨어이기 때문에 BIOS에서 UEFI를 비활성화 할 수 없습니다.

      우리가 말하는 것은 디지털 서명을 사용하여 컴퓨터를 시작할 때 사용하는 소프트웨어의 신뢰성을 확인하는 UEFI 기능인 보안 부팅입니다. 비활성화해야하는 보안 부팅입니다.

      보안 부팅을 비활성화하는 것만 큼 간단하지 않습니다. 제조업체에서 사용자가 보안 부팅을 비활성화 할 수있는 메뉴를 포함하는 것을 고려할 필요가 있습니다. 제조업체가 비활성화하는 것을 원하지 않는 경우 매우 복잡합니다. 사용자가 그렇게 할 수 있도록, 마더 보드 펌웨어를 비공식적 인 펌웨어로 교체해야하는 극단적 인 상황이 될 수 있습니다.

      Linux Foundation의 솔루션은이 질병의 영향을받는 모든 하드웨어에 대한 "보편적 인"솔루션이 될 것이며, 단일 디지털 서명을 한 번만 지불하여 모든 시스템을 설치할 수있게 해줄 것입니다. 이는 분명히 그들을 두렵게하고 많은 일을하는 이유입니다. 빌다

      1.    MSX

        «보안 부팅을 비활성화하는 것만 큼 간단하지 않습니다. 제조업체에서 사용자가 보안 부팅을 비활성화 할 수있는 메뉴를 포함하는 것을 고려할 필요가 있습니다. 제조업체가 보안 부팅을 비활성화하는 것을 원하지 않으면 사용자에게 매우 복잡합니다. 할 수 있기 위해»

        그래서 당신이해야 할 일은 디지털 문맹 퇴치 캠페인입니다. 사용자들에게 그 특성을 가진 컴퓨터를 요구하고 대신 다른 것을 구입한다고 설명하는 것입니다.

      2.    타레 곤

        이 모든 것은 보안 부팅으로 부팅 할 수있는 것과 부팅 할 수없는 것을 확인하여 돈을 버는 것입니다.

  2.   안티

    완전한 무능은 나쁜 의도와 구별 할 수 없습니다.

  3.   휴고

    Robert J. Hanlon의 유명한 구절이 있지만 "어리 석음으로 적절하게 설명되는 악의에 기인하지 마십시오"라는 문구가 있지만, Microsoft의 경우에는 더 나은 방법을 위해 잘 고 안되고 고안된 프로세스에 대한 많은 어리석은 어려움이 있습니다. 보안, 그것은 그들이 Linux Foundation을 방해하고 있다는 인상을 계속하여 UEFI가있는 새 PC에 Linux를 설치할 수 없으므로 Microsoft는 경쟁이 없습니다.

    1.    블레어 파스칼

      정확한. 나는 아이디어가 마음에 들지 않는다. 안전한 출발이라고 생각한다. 마이크로 소프트는 마피아의 목적을 가지고있는 것 같습니다.

      1.    밤러

        나는 마이크로 소프트와 그 조작에 지 쳤고, 마이크로 소프트의 의도도 두렵고, 시장에 존재하는 각 PC 나 장치를 지배하는 척하는 데 지쳤다.

        나는 리눅스가 한꺼번에 도약을 끝내고 최종 사용자들 사이에서 우세하고 Windows가 마침내 OS의 쓰레기로 인해 소외되기를 바랍니다.

        1.    휴고

          이것은 시스템이 기본적으로 제한되는 방식으로 Microsoft에 부여 된 특허를 상기시켜 주며, 잠재력을 최대한 발휘하거나 타사 프로그램을 설치하려면 물론 사용자 또는 사용자가 비용을 지불해야하는 라이선스가 필요합니다. 운영 체제에 응용 프로그램을 설치하려는 타사 아직 구현하지 않았다고해서 의도하지 않았 음을 의미하는 것은 아니며 UEFI가이를위한 기반을 준비하고 있다는 인상을받습니다.

  4.   에루나모JAZZ

    나를 놀라게하는 것은 64bist 바이너리가 실패하고 32 비트 바이너리를 강제한다는 것입니다…. 그들은 역행되며 시장에 새로운 86 비트 x32 아키텍처 프로세서는 거의 없습니다. 64 비트에서 작동합니다.

    uu

  5.   Jorgemanjarrezlerma

    디지털 서명 또는 보안 부팅이 시스템 이외의 "무언가"가 부팅되는 것을 방지하려고합니다. 또한 소위 불법 복제 또는 독점 소프트웨어의 불법 복제를 방지하기위한 것입니다.

    많은 자랑스러운 보안 부팅으로 소위 Win8 금고에 대한 분석을 수행하고 몇 가지 연구를 수행하는 것은 최근 보안 구멍을 발견함에 따라 무능함을 보여주었습니다.

    위와 같은 이유로 업계의 천재가 아니어도 박사와 다른 사람들과 함께, 그것은 폐쇄 된 애플 스타일 시스템이 되겠다는 마이크로 소프트의 전제를 수반하는 마케팅 개념 일 뿐이라고 추론 할 수 있습니다.

    개인적으로 검토, 컨설팅 및 연구하는 것은 UEFI / Secure Boot가 Microsoft의 프로젝트가 생태계를 완전히 폐쇄하도록 강요하고 지원하는 것을 목표로하는 사기이자 사기라고 개인적 관점에서 말할 수 있습니다. 개인 컴퓨팅 부문의 압력.

  6.   파블로코

    이번 휴가에는 Microsoft를 고소 할 방법을 찾을 것입니다. 난 그들을 증오.

    1.    블레어 파스칼

      헤 헤헤, 나에게 욕망과 시간이 있다면 그들도 요구할 것입니다. 그것은 자유를 침해하는 것입니다. 그들이 계약을 수락함으로써 다른 소프트웨어를 설치하지 않기로 결정하는 악명 높은 EULA의 다른 버전을 만들지 않는 한, 놀랍지 않습니다.

    2.    밤러

      +1

  7.   Nosferatux

    우리는 마이크로 소프트가 win8과 UEFI / secureboot를 어떻게 사용하는지 보게 될 것입니다. 아마도 맥북이나 크롬 북을 선호하는 시장을 잃을 수도 있습니다.

    그리고 누가 알겠습니까? 언젠가는 일부 PC 제조업체가 Linux 및 기타 무료 시스템을 선호하게 될 것입니다.

  8.   Nosferatux

    mmm, 그리고 만약 리눅스 커뮤니티가 인터넷과 프로그래머의 날에 "현상"된다면, 예를 들어, 어떤 hp 매장 앞에서 (최소한의 말이지 만) 브랜드에 대한 감사를 보여 주지만 윈도우 사용에 동의하지 않는다면?

    그리고 그 당시 "설치 페스티벌"이 거리 나 광장으로 나가면?

    1.    휴고

      슬픈 현실은 모든 Linux 사용자가 합쳐진 Windows 사용자의 일부를 구성하므로 하드웨어 제조업체는 당연히 시장 점유율이 가장 높은 운영 체제를 우선시합니다. 그래서 나는 시연이 상황을 바꿀 것 같지 않다고 생각합니다.

      예를 들어, Linux를 응용 프로그램과 게임에 더 매력적인 플랫폼으로 만드는 것은 MS에 대한 많은 데모보다 더 많은 영향을 미칠 수 있다고 생각합니다. 그러나 이것은 시간과 자원이 필요합니다.

  9.   찰리 브라운

    Micro $ oft 및 보안 부팅을 공격하는 것은 좋지만, 마치 하나의 OS 만있는 것처럼 기본적으로 UEFI에 포함 된 마더 보드 제조업체라는 점을 기억하십시오. 마이크로 소프트는 ... 그들은 잘못된 길을 택했습니다. 이 경우를 감안할 때, 미래에는 특정 제품의 ROM을 사용하여 오늘처럼 "출시 된"버전으로 보드의 UEFI를 플래시해야 할 것 같습니다. 다행히 자유를 갈망하는 사람들의 독창성은 그것을 근절하려는 사람들의 독창성보다 더 강하다는 것이 입증되었습니다.

    1.    시바 87

      Man .... 제조업체가 하드웨어에 보안 부팅을 포함할지 여부를 선택하는 것만 큼 간단하지 않습니다. Microsoft가 독점이라는 사실을 잊지 말아야합니다. 사실은 독점이며 제조업체로서 Microsoft에 아니오라고 말하는 것은 변호사를 만나거나 장비를 훨씬 더 비싸게 만드는 라이센스 비용을 높이거나 국내 시장의 80 %를 잃을 수도 있습니다.

      그것이 그들을 방어하는 것은 아니지만, 마이크로 소프트가 어떻게해야할지 정확히 알고 있다면, 강탈과 독점을 기반으로 부과하는 유일한 옵션은 모든 제조업체 또는 적어도 대다수가 동의하고 한 번에 발을 멈추는 것입니다. 그것이 일어나기에는 엄청나게 어려운 일이며, 규모에 관계없이 단일 회사는 마이크로 소프트가 요구하는 바가 아무리 불공평하고, 오싹하고, 터무니 없더라도 사업을 위험에 빠뜨리기 전에 두 번 생각할 것입니다.

  10.   ALF

    다양한 블로그와 포럼에서이 주제에 대해 많은 이야기를 나눴습니다.하지만 며칠간 생각하는 것은 제 어리 석음 일 수도 있지만 Linux 컴퓨터를 판매하는 DELL 및 HP (다른 회사는 모릅니다)의 경우 보안 부팅을 수행합니다. 떨어질까요?

    1.    휴고

      이 경우 제조업체가 듀얼 UEFI / BIOS 시스템을 배치하여 UEFI를 비활성화하면 BIOS로 대체된다는 것을 읽은 것 같습니다. 이것은 당연히 비용을 증가시킬 것입니다.

      결국 BIOS 기술은 오래되어 한계가 있기 때문에 UEFI 또는 다른 더 나은 표준에 찬성하여 BIOS가 사라져야합니다.

  11.   시바 87

    여러분,이 문제에 대한 FSF 청원의 서명 :

    서명자 인 우리는 UEFI의 소위 "보안 부팅"을 구현하는 모든 컴퓨터 제조업체가 무료 운영 체제를 설치할 수있는 방식으로 수행 할 것을 촉구합니다. 사용자의 자유를 존중하고 진정으로 보안을 보호하기 위해 제조업체는 컴퓨터 소유자가 부팅 제한을 비활성화하거나 원하는 무료 운영 체제를 설치하고 실행할 수있는 안정적인 시스템을 제공하도록 허용해야합니다. 우리는 사용자로부터이 중요한 자유를 빼앗는 컴퓨터를 구입하거나 권장하지 않을 것이며, 우리 커뮤니티의 사람들이 그러한 갇힌 시스템을 피하도록 적극 권장 할 것입니다.

    http://www.fsf.org/campaigns/secure-boot-vs-restricted-boot/statement

    1.    MSX

      완벽하고 LUG 및 웹의 나머지 부분과 서명하고 공유 한 요청입니다. 댓글에 감사드립니다.