드라이버는 OS의 Kernel 에서 동작한다는 특성 때문에 매우 신중하게 설치하고 사용해야 한다.

만약 오류가 있는 드라이버가 사용자 PC에 설치된다거나 불순한 의도를 가지고 개발된 드라이버가

사용자 PC에 몰래 설치되는 것을 막기 위해 MS OS 에서는 드라이버에 인증서 시스템을 사용하고 있다.

 

인증 받은 드라이버는

기본 이상의 안정성을 보장하며, 드라이버가 배포된 버전에서 불순한 의도로 수정되지 않았다는 것이 보장 된다.

 

드라이버를 인증 하는 방법은 크게 두 가지 경우로 나눠 볼 수 있다.

1. MS WHQL 인증 테스트를 거쳐서 인증서를 받은 경우

- MS 에서 제공하는 HLK 라는 툴을 사용해서 드라이버를 테스트 한 뒤에 MS Dashboard 에서 받을 수 있다.

- 장점 : 드라이버, 디바이스의 기본적인 안정성을 확보할 수 있다.

- 단점 : 드라이버가 수정되면 HLK 에서 다시 테스트를 해야 하고 인증서를 다시 받아야 된다.

2. Third Party 의 인증서를 사용해서 Embedded Sign 작업을 한 경우

- Third Party 가 안정성을 인정하고 직접 드라이버를 Sign 한다.

- 장점 : 인증 절차가 간단하다. 비용이 저렴하다.

- 단점 : 드라이버, 디바이스의 안정성을 Third Party가 보장하는 것이기 때문에 신뢰성 문제가 있다.

드라이버를 설치할 때 아래와 같은 사용자의 승인을 얻어야 한다.

cshmax_20151007_1
- Third Party 인증서로 인증한 드라이버를 설치할 때 나오는 메시지 박스 -

 

64bit Windows 환경에서는 기본적으로 인증 받은 드라이버만을 설치해서 사용할 수 있다.

만약 인증 받지 않은 드라이버를 설치하게 되면 아래와 같은 오류 메시지를 만나게 된다.

(32bit Windows 환경에서는 사용자가 인증 받지 않은 드라이버를 사용하겠다고 표시하면 그대로 사용할 수 있다.)

cshmax_20151007_2
- 드라이버 인증 경고 창 -

cshmax_20151007_3

cshmax_20151007_4
- 장치관리자에서 보여지는 인증 받지 않은 드라이버를 올렸을 때의 모습 -

 

그러나 드라이버를 개발하고 있는 도중에는 어떻게 해야 할까?

드라이버 개발이 완료 되지 않은 상태에서 MS의 HLK 테스트를 진행하고 MS Dashboard를 통해서

인증서를 발급받는 것은 사실상 무의미한 일이다. 드라이버를 수정하면 이 작업을 다시 반복해야 하기 때문이다.

 

한 가지 방법이 있다.

64bit 에서 동작하는 드라이버를 개발하고 있는 중 이라면 이 드라이버를 테스트할 수 있도록 OS를 테스트 모드로 부팅하면 된다.

테스트 모드로 부팅된 64bit Windows 환경에서는 인증 받지 않은 드라이버도 설치해서 사용할 수 있다.

 

자신의 PC 에서 인증 받지 않은 드라이버를 설치해서 테스트 하고 싶은 사용자 라면

아래의 내용을 참고하면 된다. (물론 안정성 없는 드라이버를 설치해서 발생하는 모든 문제는 사용자가 감당해야 한다.)

 

0. PC를 재부팅 한다.

1. CMOS 에서 Secure Boot 옵션이 있다면 이것을 OFF 한다.

2. command 창을 관리자 권한으로 실행한다.

3. 아래의 명령을 순서대로 입력한다.

bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ONcshmax_20151007_5
4. 다시 재부팅 한다.

 

위의 내용이 정상적으로 반영 되었다면 윈도우 바탕화면의 오른쪽 하단에 아래와 같은 표시가 나타날 것이다.
cshmax_20151007_6

그리고 인증 받지 않은 드라이버를 설치해도 인증 경고 창은 나오지만 정상적으로 테스트 할 수 있게 된다.

 

드라이버 테스트가 완료 되고 난 뒤에 정상적인 모드로 OS를 부팅하고 싶다면 아래의 내용을 참고하면 된다.

0. command 창을 관리자 권한으로 실행한다.

1. 아래의 명령을 순서대로 입력한다.

bcdedit -set loadoptions ENABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING OFF

2. 재부팅 한다.

 

위의 내용이 정상적으로 반영 되었다면 윈도우 바탕화면의 오른쪽 하단에 있던 표시가 사라질 것이다.

물론 그 뒤로는 인증 받지 않은 드라이버를 설치할 수 없게 된다.

만약 이전에 인증 받지 않은 드라이버가 설치되어 있었다면 해당 드라이버는 로드 되지 못하게 된다.

 

다음에는 드라이버를 깔끔하게 제거하는 방법에 대해서 알아볼 것이다.