시스템 예약 파티션 : 비트락커와 이를 위한 분할 로드(split-Load) 구성의 등장 [이동 완료]
이동 완료 2011. 9. 17. 20:14 |이곳은 백업 블로그 입니다. 현재 캐플이 활동 중인 블로그는 CAppleBlog.co.kr 입니다. 최신 정보들은 새로운 블로그에서 확인해 보세요. ^^
- 이곳은 기존 블로그들의 글을 한군데로 모아 놓은 백업 블로그입니다.
- 현재 링크는 대부분 올바르지 않으며 이러한 링크들은 모두 cappleblog.co.kr 로 이동합니다. (※ 링크 주의)
- 블로그와 커뮤니티는 서로 다른 공간입니다.(로그인을 따로 해야합니다.)
- 저는 윈티티(WinTT)이자 신비(ShinB)이며 캐플(CApple)입니다. 편한대로 불러주세요.
이 포스팅은 다음의 문서에 포함되어 있습니다. 연관된 포스팅들을 보시려면 해당 문서의 전체 목록를 확인하세요.
시작하는 말
윈도우 7 부터 새롭게 등장한 시스템 예약 파티션. 과연 시스템 예약 파티션이란 무엇이고 정확하게 하는 일은 무엇일까요? 이번 포스팅에서는 이러한 시스템 예약 파티션에 대해 알아보는 시간을 가져보도록 하겠습니다.
드라이브를 암호화 한다. 비트락커(BitLocker) 기능의 등장
윈도우 비스타부터는 기존의 윈도우 XP 까지는 존재하지 않던 비트락커(BitLocker)라는 기능이 새롭게 추가되었습니다. 그렇다면 비트락커란 무엇이냐?
TPM 1.2 보안칩
비트락커란 메인보드에 장착된 TPM 1.2 보안 칩과 연계하여 드라이브를 암호화하여 해당 컴퓨터가 아닌 다른 컴퓨터에서는 드라이브의 데이터에 접근할 수 없게 하는 보안 기능입니다. 윈도우 비스타부터 새롭게 제공되고 있습니다.
TPM 1.2 보안 칩에는 EK(Endorsement key) 와 SRK(Storage Root Key) 라는 고유의 키가 저장되어 있습니다. 이러한 키의 값은 다른 TPM 보안 칩들과 중복되지 않은 유일한 키이며 고도의 암호화 기술로 보호되고 있습니다. 그리하여 이러한 키들은 다른 TPM 보안 칩들과 중복되지 않는 '유일성' 그리고 암호화 기술로 보호되어 칩의 외부에서 강제적으로 키를 알아낼 수 없는 '신뢰성' 을 가지게 됩니다.
비트락커는 이러한 TPM 1.2 보안 칩에 내장된 SRK 키의 '유일성' 과 '신뢰성' 을 바탕으로 이와 연계하여 드라이브의 데이터를 암호화하고 또 반대로 해독하게 됩니다. 그리하여 드라이브를 암호화 했던 TPM 1.2 보안 칩이 없는 컴퓨터에서는 드라이브의 데이터를 해독할 수 없게 되고 이로써 침입자로부터 하드 디스크를 강탈당하는 공격을 당하더라도 데이터를 안전하게 지킬 수 있습니다.
즉, 비트락커는 드라이브(파티션/볼륨) 단위로 데이터를 암호화하는 보안 관련 기능입니다. 이러한 비트락커는 데이터 드라이브와 이동식 드라이브 뿐만 아니라 윈도우가 설치되어 있는 운영체제 드라이브(부팅 파티션)까지 암호화 할 수 있습니다. 허나 운영체제 드라이브를 암호화하기 위해선 하드 디스크가 다음의 구성을 충족해야 합니다.[파티션과 드라이브는 동일한 의미로 해석]
- 최소 두 개의 파티션 : 컴퓨터를 시작하고 부팅이 진행되는 시스템 파티션과 윈도우가 들어 있는 운영체제 파티션(부팅 파티션). 운영체제 파티션은 암호화되지만 컴퓨터를 시작하고 윈도우로 부팅할 수 있도록 해주는 시스템 파티션은 암호화되지 않고 유지되어야 합니다.
즉, 반드시 시스템 파티션과 부팅 파티션이 분리되어야 한다는 것 입니다. 왜냐하면
바이오스에는 부팅의 진행을 운영체제로 넘기기 위해 마지막에 Starting Point 즉, 시작 지점으로(CHS 0:0:1) 이동하는 명령이 포함되어 있습니다. 이 시작 지점에는 MBR 이 위치하고 있는데 MBR 의 Master Boot Code 라는 곳에는 부팅을 진행하는 프로그램이 설치되어 있죠. 해당 프로그램은 Master Partition Table 에서 Active 된 파티션을(활성 파티션/시스템 파티션) 찾은 후 해당 파티션의 첫 번째 섹터인 부트 섹터로 이동하게끔 합니다. 윈도우 7 을 설치한 경우 자신의 부트 매니저인 Bootmgr 을 찾게 되어 있습니다. 부트 매니저를 찾으면 부팅의 제어권은 바이오스에서 해당 부트 매니저로 넘어갑니다. 즉, 바이오스에서 운영체제로 부팅의 제어권이 넘어가는 것 입니다.
그런데 이 시스템 파티션(활성 파티션)이 암호화 되어 있으면 부트 섹터를 읽어들일 수 없고 그로 인해 부트 매니저를 읽어들일 수 없기 때문에 바이오스에서 운영체제로 부팅의 제어권이 넘어가지 못하고 부팅은 실패하게 됩니다. 또한 윈도우로 부팅의 제어권이 넘어온 상태에서 비트락커가 TPM 의 SRK 키 또는 USB 키와 같은 시작 키를 통해 드라이브의 암호화를 해독할 수 있도록 준비해야 하는데 부팅의 제어권 자체가 넘어오지 않았기 때문에 당연하게도 해당 과정은 진행할 수 없습니다. 그래서 시스템 파티션은 암호화되지 않은 상태로 유지되어야 하는 겁니다.
시스템 파티션은 암호화되지 않은 상태로 유지되어야 부팅을 진행할 수 있기 때문입니다.
분할 로드(split-Load) 구성 - 시스템 예약 파티션의 등장
윈도우 비스타까지 윈도우의 기본적인 파티션 구성은 시스템 파티션과 부팅 파티션이 분리되지 않은 단일 로드 구성이었습니다.
자신이 직접 어떠한 목적을 가지고 파티션 구성의 계획을 세우지 않은 이상 사용자는 언제나 윈도우를 시스템의 첫 번째 파티션에[보통 해당 파티션이 활성 파티션] 설치를 했고 그에 따라 부트 매니저와 윈도우는 하나의 파티션에 설치가 되었습니다. 즉, 시스템 파티션과 부팅 파티션이 동일한 게 아주 일반적인 모습이었습니다.
근데 윈도우 비스타부터 비트락커라는 기능이 새롭게 추가 되었습니다. 비트락커를 통해 운영체제 드라이브를 암호화하기 위해선 위에서 설명한 것과 같이 시스템 파티션과 부팅 파티션이 반드시 분리되어 있어야 합니다. 즉, 시스템 파티션과 부팅 파티션이 분리되어 있는 분할 로드(split-Load) 구성이 갖추어져 있어야 하는 것 입니다. 그러나 사용자들은 이런 파티션 구성을 굳이 사용하지 않고 있었습니다.
그래서 윈도우 비스타에서는 사용자가 직접 알아서 윈도우 설치 때 부터 파티션을 분리하여 구성하거나 비트락커 드라이브 준비 도구라는 것을 업데이트 받아서 비트락커를 사용하기 전 적용하여 파티션을 분리하라고 했습니다. 물론 비트락커 드라이브 준비 도구는 윈도우 7 에서도 동일하게 제공됩니다. 그런데 이러한 일련의 과정이 마이크로소프트사가 보시기에는 심히 불편하셨나 봅니다.
그리하여 윈도우 7 에 이르러서 마이크로소프트사는 다른 선택을 하게 됩니다. 애초에 윈도우 7 설치 프로그램을 통해 파티션을 나누면 시스템 파티션과 부팅 파티션을 분리해 버리도록 만든 것이지요. 이 때 생성되는 시스템 파티션이 바로 시스템 예약 파티션 입니다.
시스템 예약 파티션은 나에게 반드시 필요한가?
보셨다시피 윈도우 7 설치 PE 상에서 제공하는 디스크 유틸리티를 통해 파티션을 나누면 무조건 부티용 디스크에 시스템 예약 파티션을 생성합니다. 그렇다면 과연 이러한 시스템 예약 파티션이 나에게도 정말로 필요할까요? 아래의 표를 보시죠..
Features | Starter | Home Basic | Home Premium | Professional | Enterprise | Ultimate |
---|---|---|---|---|---|---|
BitLocker Drive Encryption | No | No | No | No | Yes | Yes |
윈도우 7 의 시스템 예약 파티션은 윈도우의 부트 매니저가 설치 된 부팅 관련 업무를 담당하는 시스템 파티션으로 굳이 따로 존재할 필요는 없지만 비트락커를 통해 운영체제 드라이브를 암호화 할 때를 대비하여 부팅 파티션과 분리 해 놓은 것 입니다. 그리하여 추후 새로운 윈도우가 출시된다면 어떠한 다른 목적이 부여될 지 모르겠지만 솔직히 아직까지는 비트락커를 제외하면 사실상 따로 존재할 필요가 없는 파티션입니다.
위의 기능 표를 보시면 아시겠지만 부팅에 사용되는 디스크를 비트락커로 암호화할 수 있는 에디션은 윈도우 7 에서 얼티밋과 엔터프라이즈 에디션 뿐입니다. 이하 에디션들은 지원을 하지도 않습니다. 고로 프로페셔널 에디션과 홈 프리미엄 에디션과 같이 비트락커를 지원하지 않는 에디션에서는 시스템 예약 파티션의 존재에 의미가 없습니다. 또한 얼티밋과 엔터프라이즈 에디션일 지라도 비트락커를 사용하지 않을 생각이라면 시스템 예약 파티션의 존재는 마찬가지로 의미가 없습니다.
시스템 예약 파티션을 생성하면서 표시해주는 메시지인 "모든 기능이 올바르게 작동하도록" 은 "비트락커 기능을 위해서" 라고 바꿔서 표현해야 할 것입니다. 시스템 예약 파티션의 존재 의미를 보았을 때 차라리 그렇게 표현해 주는 게 나은 결정이 아니었을까 생각합니다.
개인적으로 드는 마지막으로 의문이 있습니다.
"왜 마이크로소프트사는 설치 과정에서 시스템 예약 파티션을 강제하였을까?"
도대체 무슨 약을 빨고 설계를 해야 이딴 결정이 나오는지 개인적으로 그것이 알고 싶을 뿐입니다.
그렇다고 시스템 예약 파티션을 바로 지워버리면 안 됩니다.
시스템 예약 파티션이 포함된 상태로 윈도우 7 이 설치되어 있다면 현재 시스템 예약 파티션에 부팅을 담당하는 부트 매니저가 설치된 상태입니다. 이 상태에서 바로 시스템 예약 파티션을 삭제해버리면 부팅을 진행할 수 없습니다. 이 포스팅을 읽으시고 이미 구축이 된 상태인데 어? 필요없는거네? 하고 지워버리지 마세요. 심란해집니다.