본문 바로가기

13. IPhone/05. My IPhone

아이폰 베이스밴드/언락

 

정보 캐치…

원본:http://saline.tistory.com/23

베이스밴드와 언락

아이폰은 아이팟과 전화의 두 가지 기능을 가지고 있다. 이를 각각 다른 칩셋을 통해 수행하는데, 후자 즉 전화의 기능을 담당하는 부분이 베이스밴드이다. 베이스밴드는 아이폰 펌웨어와 다른 독자적인 펌웨어를 통해 구동된다. 이를 베이스밴드 펌웨어라 한다. 
베이스밴드가 수행하는 중요한 역할 중 하나가 락(lock)이다. 락이란 지정된 심 카드(통신사)를 통해서만 서비스를 제공받을 수 있게 하는 것이다. 언락이란 이런 락을 푸는 것으로, 아무 심 카드로도 아이폰의 통신사 서비스를 전부 사용할 수 있게 만드는 것이다. 주로 한 통신사를 통해 아이폰을 사용하다 다른 통신사를 통해 사용하고자 할 때 등에 사용된다.
공식적인 언락과 비공식적인 언락이 있는데, 공식적인 언락은 말 그대로 아이튠즈를 통해 언락하는 것이다. 한국의 경우 KT나 SKT에 아이폰을 언락시켜달라고 요청하면 아이튠즈를 통해 언락할 수 있게 해준다. 비공식적인 언락의 종류는 소프트웨어 언락/하드웨어 언락으로 나눌 수 있다. 소프트웨어 언락은 시디아 어플인 ultrasn0w를 이용하는 것이다. 현재 iOS 4.0.2 이하의 버전을 언락할 수 있다. 하드웨어 언락은 게비 심 등을 이용하는 것이다. 게비 심을 이용하면 iOS 4.3.5 이하의 버전을 언락할 수 있다.
물론 처음부터 언락되어 나오는 팩토리 언락 폰도 있다. 아이폰은 캐리어 락, 컨트리 락, 팩토리 언락으로 통신사(혹은 나라)마다 다르게 출시된다. 캐리어 락은 말 그대로 하나의 통신사를 이용할 수 있는 것, 컨트리 락은 정해진 나라 내의 어느 통신사도 이용할 수 있는 것, 그리고 팩토리 언락은 어느 통신사라도 이용할 수 있는 것이다. 홍콩 같은 경우 팩토리 언락 폰이며, 한국은 컨트리 락이 걸려서 출시된다.

베이스밴드 펌웨어의 업데이트와 다운그레이드

아이튠즈를 통해 아이폰 펌웨어를 업데이트 할 때 베이스밴드 펌웨어도 같이 업데이트된다. 베 이스밴드 업데이트는 주로 통신 기능 향상이나 언락 방지를 내용으로 한다. 언락은 아이폰 펌웨어의 탈옥에 비교할 수 있는 항상 뚫고 막히는 것이다. 언락 유저들은 베이스밴드에 대해 깊게 생각하지 않고 아이폰 펌웨어를 업데이트했다가 낭패를 보는 일이 잦다. 아이폰 펌웨어를 업데이트했더니 베이스밴드까지 같이 업데이트되어 언락이 먹히지 않게 되는 것이다.
베이스밴드 펌웨어는 한 번 업데이트되면 다운그레이드될 수 없다. 다만, 예외가 있는데 아이폰 4와 아이패드2이다. 아이폰 4부터는 아이폰 펌웨어 뿐만 아니라, 베이스밴드 펌웨어를 설치할 때에도 SHSH를 받아온다. 이 SHSH만 있으면 현재 베이스밴드 버전에 상관없이 무조건 원하는 버전을 설치할 수 있다. 애플은 새 펌웨어를 발표한 뒤에도 기존 펌웨어를 몇일동안 인증해주는데, 이 기간동안에 기존 펌웨어로 복원하면 베이스밴드 SHSH를 받아 베이스밴드를 다운그레이드할 수 있다.(아이폰 3GS는 SHSH를 받아오는 절차 자체가 없기 때문에 다운그레이드가 불가능하다.)
베이스밴드 SHSH는 아이폰 펌웨어의 SHSH처럼 저장할 수 없다. 베이스밴드 펌웨어는 NONCE라는 커맨드를 통해 인증된다. 이 커맨드는 매 부팅 시마다 임의의 문자열을 생성해 애플에게 인증받게 한다. 즉, 복원할 때마다 임의의 문자열을 생성하여 아이튠즈를 통해 인증받게 한다는 것이다. 매번 임의의 문자열이 생성되기 때문에 리플레이 어택으로 인증서를 저장하는 것이 의미가 없는 것이다. 그렇다면 매번 베이스밴드가 똑같은 문자열을 생성하게 만들면 어떨까? 아쉽게도 아직까지 이런 방법은 발견되지 않았다.

아이폰 3G, 3GS의 소프트웨어 언락(아이패드 베이스밴드 이용)

아이폰 3G, 3GS의 경우에는 iOS 4.1 이상의 버전도 다음의 방법을 사용하여 소프트웨어 언락할 수 있다. 이는 아이폰 3G, 3GS가 아이패드1과 같은 베이스밴드 칩셋을 사용한다는 것에 기반한다. 즉, 아이폰에 아이패드 베이스밴드 펌웨어를 업데이트할 수 있다는 것이다. 애플은 베이스밴드 버전 숫자로 업데이트와 다운그레이드를 판별한다. 아이폰의 최신 펌웨어 iOS 5의 베이스밴드 버전이 05.16.05인데 비해, 아이패드는 가장 초기의 베이스밴드 버전이 06.15.00이다. 아이패드 베이스밴드는 얼마나 예전의 것인지에 관계없이 아이폰에 설치될 수 있는 것이다. 그 중 아이패드 베이스밴드 06.15.00 버전이 소프트웨어 언락에 취약하기에 아이폰에 아이패드 베이스밴드를 설치하여 언락하는 것이다.
다만 이 방법에는 단점이 존재한다. 첫째는, 애플이 아이패드 베이스밴드를 설치한 것을 인지하기 때문에 아이패드 베이스밴드를 설치하는 것으로 애플의 보증서가 무효화된다는 것이다. 애플의 수리 서비스를 받을 수 없게 된다. 둘째는, GPS 기능을 상실한다는 것이다. 여기서 GPS 기능은 위성을 통해 전송받는 GPS 모듈에 의한 것을 의미한다. 3G 모듈과 와이파이 모듈을 이용한 대강의 위치 정보는 얻을 수 있다. 셋째는, GPS가 가능한 베이스밴드 펌웨어로 돌아갈 수 있는 방법이 없다는 것이다. 한마디로 한 번 업데이트하면 다운그레이드가 불가능한 것이다. 마지막으로, 아이폰 펌웨어를 업데이트하고자 할 때 순정 펌웨어를 사용할 수 없다는 것이다. 4.2.1 버전 이후로는 순정 펌웨어로 업데이트하고자 하면 실패하게 된다. 커스텀 펌웨어로 베이스밴드 보존을 해야만 업데이트할 수 있다. 
레드스노우로 탈옥할 때 Install iPad Baseband에 체크하면 아이패드 베이스밴드로 업데이트할 수 있다.

베이스밴드 펌웨어 보존

iOS 5도 쓰고 싶고, 언락도 하고 싶다면 어떻게 해야 할까? 베이스밴드 펌웨어를 보존하면서 아이폰 펌웨어를 업데이트하면 된다. 맥용 레드스노우나 윈도우즈용 스노우브리즈는 베이스밴드를 보존하는 커스텀 펌웨어를 만들 수 있다.
스노우브리즈를 실행하면 나오는 Baseband Preservation Mode는 탈옥 없이 베이스밴드를 보존하기만 하는 펌웨어를 만든다. 탈옥까지 한번에 하고자 하면 다른 모드를 선택하면 된다.(나머지 모드도 베이스밴드를 보존한다.)

아이폰 펌웨어 버전과 베이스밴드 펌웨어 버전 표

아이폰 3GS

아이폰 펌웨어 버전
베이스밴드 펌웨어 버전

3.0, 3.0.1
04.26.08

3.1, 3.1.2
05.11.07

3.1.3
05.12.01

4.0, 4.0.1, 4.0.2
05.13.04

4.1
05.14.02

4.2.1
05.15.04

4.3, 4.3.1
05.16.00

4.3.2, 4.3.3, 4.3.4, 4.3.5
05.16.02

5.0
05.16.05

아이폰 4(GSM: 한국 등)

아이폰 펌웨어 버전
베이스밴드 펌웨어 버전

4.0, 4.0.1, 4.0.2
01.59.00

4.1
02.10.04

4.2.1
03.10.01

4.3, 4.3.1, 4.3.2, 4.3.3, 4.3.4, 4.3.5
04.10.01

5.0
04.11.08

언락하고 싶은 사람들을 위한 요약

언락을 하려면 다음에 언급된 펌웨어보다 높은 버전을 한 번이라도 업데이트 했으면 안 된다.
*ultrasn0w를 이용한 소프트웨어 언락은 아이폰 펌웨어 4.0.2까지 가능(아이폰 3GS, 4 둘 다)
*게비 심을 이용한 하드웨어 언락은 아이폰 펌웨어 4.3.5까지 가능(아이폰 3GS, 4 둘 다)
*아이폰 3GS는 4.1 이상의 펌웨어라도 아이패드 베이스밴드를 설치하여 언락 가능
다만, 1. 애플 보증서 무효화 2. GPS 상실(3G, 와이파이 모듈로 대강 위치는 파악 가능) 3. 3GS 베이스밴드로의 복원 불가 4. 순정 펌웨어 사용 불가(커스텀 펌웨어를 만들어야 함)
*아이폰 펌웨어를 업데이트하면서 언락도 살리려면 스노우브리즈로 커스텀 펌웨어를 만들면 된다. 스노우브리즈의 모든 모드는 베이스밴드를 보존한다.