2021/10/24

[Korean] AMD EPYC 7302 / Supermicro H12SSL 시스템에 Windows 11 설치를 위한 TPM2 모듈 자작

 이 글을 작성한 이유는 집에서 쓰는 PC도 Windows 11로 업그레이드를 하기 위하여 업그레이드 사양을 확인했을 때, TPM2.0 요건을 충족하지 못하여 직접 자작한 경험담을 공유하기 위함입니다. 일반 사용자용 최신 CPU에는 TPM이 내장되어 있어서 특별히 신경쓸 필요 없이, UEFI에서 옵션만 변경해주는 것만으로 Windows 11을 정상적으로 설치가 가능합니다.

 각종 우회방법으로 TPM없이 설치도 가능하지만, 마이크로소프트는 추후 업데이트가 막힐 수도 있다고 언급하고 있습니다. 물론 그것도 언젠가는 우회할 수 있다고 보긴 합니다만, 어찌되었든 설치 후 전혀 업데이트를 하지 않겠다면 우회하여 사용하는것도 괜찮은 방법입니다.


1. 발단

 2021년 6월, 마이크로소프트가 Windows 11의 설치요건으로 더이상 32비트 OS는 출시하지 않으면서 일반인들이 느끼기에는 생소한 조건 하나가 추가되었습니다. CPU요건에 ARM계열도 있지만 여기서는 x86계열만 언급합니다.

  • CPU : Intel 8th gen. AMD Ryzen 2nd gen. or later with VBS, HVCI, Virtualization technology, SSE4.1
  • GPU : WDDM 3.0, Shader 6.5, Direct 12.2 or later
  • RAM : 4GB+
  • MB : UEFI class 3+
  • Storage : 64GB+
  • TPM 2.0 <--- ???

 CPU도 상당히 최신모델로 한정하고 있어서 많은 사람들이 불만을 표현했지만 TPM 2.0? 들어보신 분도 있을것이며, 실제로 몇년전부터 사용하시는 분도 있습니다. 이 모듈의 배경은 2003년 메이져 IT기업들이 TCG라는 단체를 설립하여 암호화 기능 구현을 위한 칩 표준을 제정하였고, 이에 몇몇 반도체칩 제조회사에서 이 TPM용 칩을 제조하고 시작했습니다. 시간이 흘러 2014년에 규격 2.0이 발표되었고, 1.2는 취약점이 발견되어 2.0으로 반드시 업데이트를 해야 하게끔 공표를 하였습니다. 

 PC에 적용되는 것은 TPM칩이 박힌 작은 모듈을 메인보드의 특정 슬롯에 연결하거나, 또는 보드에 이미 장착되어있을 수도 있으며, 이것을 이용한 일반적인 사용용도로는 기업용PC에서 스토리지 등을 Bitlocker로 암호화하여 디바이스가 외부로 유출되어도 암호를 모르면 열람조차 할 수 없게 만드는 강력한 보안보조장치 입니다. 비슷한 용도로 스마트폰에 어느 시점에서인가 몇 년전부터 기본 적용되어있으며, 적용한 이유는 개인 사용자 입장에서는 유출시 PC보다 스마트폰이 개인정보 도난사고가 날 확률이 크기 때문입니다. 인터넷 기능을 쓰지 않던 피쳐폰 시절에는 기껏 도난당해봐야 전화번호부 정도와 메시지 정도로 그치지만, 스마트폰은 은행 인증서, 각종 저장된 ID/패스워드, 기타등등 해커들 입장에서는 이렇게 좋은 먹잇감이 따로 없습니다. 따라서 여러분들은 이미 TPM2를 쓰고있다고 봐도 과언이 아닙니다.

 다시 PC얘기로 돌아와서, Windows 11에서도 이걸 기본사양으로 강제하겠다는 겁니다. 검색해보시면 아시겠지만, 상당히 예전부터 마이크로소프트가 각 보드 제조사에 TPM을 기본사양으로 장착하도록 권유를 했던 모양이지만, 이번에 OS레벨에서 강제 적용하여 PC도 각종 멀웨어나 알려지지 않은 취약점으로 많은 기업 및 개인사용자의 정보를 탈취하는 행위의 60~70% 이상을 막을 목적으로 상당부분 보안성을 강화화기 위함입니다. 몇년된 사양의 보드도 잘 보면 TPM모듈 슬롯 자체는 존재하고 있을겁니다. 대기업 PC본체/노트북 또는 일체형 PC 등에는 이미 설치되어 있을 가능성이 높습니다. 저같은 경우에도 회사에서 지급된 노트북에는 TPM2.0 모듈이 설치되어 드라이브가 Bitlocker를 사용하여 통채로 암호화 되어있으며 이 기능에 TPM이 관여하고 있습니다. 회사 PC는 Windows 10 Enterprise라서 중앙 IT팀에서 통제하에 각종 업데이트를 실시하고 있기 때문에 마음대로 업그레이드를 할 수는 없습니다. 

 이제 가정용PC로 화제를 돌리자면, 집에서 사용중인 제 개인PC는 2대가 있습니다. 하나는 가볍게 사용할 목적으로 사용할 Ryzen 3 / MSI B450 시스템과, 다른 하나는 고부하성 작업을 하기위함으로 EPYC 73x2 / Supermicro H12SSL 시스템이 있습니다. 전자는 CPU 안에 fTPM이라 불리는 TPM이 내장되어 있어서 UEFI옵션을 바꿔주는 것만으로 설치요건이 만족하여 금방 업그레이드가 되었습니다. 문제는 후자인데, EPYC ROME과 RYZEN 3xxx는 같은 세대임에도 불구하고 EPYC에는 CPU내부에 TPM이 내장되어 있지 않았습니다. 따라서 보드에 따로 달아야 하는데, 전 세계적으로 사재기를 했던 모양인지 마이크로소프트에서 6월에 발표직후 가격이 5배넘게 폭등하였습니다. 하필 코로나로 인한 반도체부족문제도 있을 때 이런 상황까지 겹쳐서 칩 자체의 출고가능 기간도 엄청나게 늘어난 상황으로 업친데 덥친 격으로 난감한 상황이었습니다. 그런데 조사해보니 TPM 칩 자체는 아직 싸게 살 수 있었으며, 간단히 납땜으로 선만 연결하는 것으로 자작할 수 있다는 것을 알게되어 직접 만들어 달기로 마음먹었습니다. 정품모듈은 2만원선이었던 것이 10만원이 넘게 가격이 껑충 뛴 상황에 칩은 배송비포함 8000원, 핀 폭을 바꾸는 변환기판포함 합계 1만원선에 제작하는 게 낫다고 봤습니다.

2. 제작에 앞서 자료조사 및 재료준비


 PCB제작을 하면 간단하지만, 한 개 만들자고 하기에는 최소수량이 5~10개가 되니 배보다 배꼽이 더 커지는 상황이 납니다. 따라서 저는 변환기판으로 직접 납땜을 하기로 했고, 제작에 사용한 부품은 다음과 같습니다. SMD부품이다보니 일반적인 DIP형보다 납땜실력을 요구합니다. 정 자신이 없으면 알리익스프레스 등에서 자체제작한 모듈을 구입하는 것도 괜찮지만, 안에 무슨 짓을 했는지 알 수가 없어서 불안하다는 사람은 잘하는 사람에게 의뢰하시는 편이 좋습니다.

TPM : Infineon SLB9665TT2.0 SSOP28/0.65mm width. Digi-key, mouser 등 해외에서 직구 가능합니다.
변환기판 : SSOP28 0.65mm to DIP28 2.54mm width
만능기판 : 15x10 through hole / 2.54mm width
소켓 : 2x10 2.54mm width 

칩의 핀배열입니다.



 다음은 메인보드의 TPM포트 핀배열입니다. 주의할 점은 메인보드마다 12핀, 14핀, 20핀 등 배열이 다를 수 있으니 각자 메인보드의 핀아웃은 확인하셔야 합니다.



다음은 실제 칩과 메인보드에 연결해 줄 배선도 입니다. 이 배선도를 토대로 납땜을 시작합니다.


3. 제작


열심히 납땜합니다. 변환기판에 실장한 칩의 사진입니다. 데이터시트에서 PP(6번)와 GPIO(7번)을 저항을 통해 GND로 연결하라고 설명이 달아줬습니다.


옆면 사진입니다. 굵은 에나멜선으로 휘지않게 고정되는 타입으로 만들었습니다. 왼쪽에 보이는 20핀에 먼저 배선배치를 확실히 해놓고 그 뒤에 오른쪽의 변환기판을 붙이게끔 하면 보다 작고 깔끔하게 될 수 있었지만 중간에 망해서 이런 거미줄이 탄생하였습니다. 만들면서 몇번이고 선연결 납땜을 잘못하여 그냥 포기하고 정품 주문할까 충동을 참느라 힘들었습니다. 에나멜선은 폴리우레탄이 코팅되어있어서 맞닿아도 쇼트는 일어나지 않지만, 왠지모르게 불안하니 선간 접촉은 안되게끔 떨어뜨려놨습니다. 저래 보여도 일단은 3차원적으로 접촉이 없으며, 테스터로 측정결과 문제없었습니다.


4. 확인


완성 후 UEFI BIOS상에서 확인 및 windows에서 tpm.msc로 확인결과 문제없습니다.
펌웨어가 최신버전 상태로 출고되어 업데이트할 필요는 없었습니다.
제조업체 이름이 IFX인데 칩제조사 Infineon의 약칭입니다.

이것으로 문제없이 Windows 11로 업그레이드 할 수 있었습니다. 11로 업그레이드 후, 기왕 TPM을 달았으니 각종 보안설정이 제대로 되어있는지 확인합니다. 잘 작동하나 봅니다.