분류 전체보기(433)
-
IMSI(International Mobile Subscriber Identity)
IMSI는 가입자 식별번호 즉, 전화번호를 의미한다. IMSI는 WCDMA, LTE 망에서 사용을 하며, 총 15자의 digit으로 구성되어 있다. 구조는 "MCC + MNC + 전화번호"이다. MCC(Mobile Country Code, http://en.wikipedia.org/wiki/Mobile_country_code) MNC(Mobile Network Code, http://en.wikipedia.org/wiki/Mobile_Network_Code) 대한민국의 MCC는 '450'이며 SKT의 MNC는 '05', KT의 MNC는 '04', '08'이고 LGU+는 '06'이다. 즉, 전화번호가 010-1234-1234인 경우에 각 이통사의 IMSI는 다음과 같다. SKT IMSI 4500510123..
2011.09.23 -
ICCID(Integrated Circuit Card Identifier)
ICCID는 Smart Card의 고유 ID라고 보면 된다. 각 이통사 마다 만드는 방식이 다른데 하나의 이통사에 중복되는 ICCID가 존재해서는 안된다. ICCID는 총 10 bytes이며 마지막 1byte는 Check digit(1 nibble) + 'F'로 padding을 한다. 예) 12 34 56 78 90 12 34 56 78 XY X: Check digit Y: 'F' padding Check digit은 Luhn Algorithm(http://en.wikipedia.org/wiki/Luhn_algorithm)을 이용하여 계산한다. 즉, 위 예제에서 Check digit은 '5'가 되기 때문에 ICCID는 1234567890123456785F가 된다. * ICCID를 구하는 방식을 액셀파일 ..
2011.09.22 -
OTA SMS의 Security
APDU command를 통해 UICC(USIM)의 파일(EF)을 업데이트를 하기 위해서는 해당 EF의 Access Condition에 따라 PIN 혹은 ADM키로 인증(Verify)가 되어야 가능하다. 그렇다면 OTA SMS를 통한 EF 업데이트의 경우에도 Access Condition을 만족해야 하는가? 실제로 OTA SMS를 spy해보면 OTA Header와 바로 이어서 APDU Command가 붙어서 내려오는 것을 확인할 수 있다. 만약 이 경우에 PIN, ADM 키 값이 들어가 있다면 Spy만 한다면 해당 UICC(USIM)의 키 값을 알 수 있기 때문에 보안에 심각한 문제가 발생된다. 즉, OTA SMS를 이용한 EF 업데이트는 Access Condition에 무관하게 동작하며 PIN, ADM..
2011.09.17 -
TAR(Toolkit Application Reference)
TAR는 3 bytes로써 UICC에 탑재되어 있는 Toolkit Applet을 외부??에서 실행시키고자 할때 사용된다. 만약 'A' Applet TAR값이 0xABCDEF인 경우 OTA SMS로 실행시키고자 할때 TAR값을 0xABCDEF로 주면 OTA SMS로 'A' Applet을 구동 시킬 수가 있다. 물론 OTA SMS의 경우 MAC 인증값이 맞아야만 정상동작이 된다.
2011.09.16 -
USAT, CAT
UICC에는 USAT, CAT, ... 이라는 Card Application Toolkit Layer가 있다. 이는 UICC의 Applet이 단말기(리더기)와 interactive한 동작을 할 수 있기 위해서 필요하다. 관련 표준 spec은 ETSI 102.223, 3GPP 31.111, 3GPP 31.124를 참고한다. 간단히 정리하면 UICC에서 단말(리더기)로 명령어를 보내기 위해서는 Proactive Command라는 것을 사용하고 단말(리더기)에서 UICC로 명령어를 보내기 위해서는 Envelop Command라는 것을 사용한다. 특히 Envelop Command는 OTA SMS 처리시 단말이 해당 OTA SMS를 수신하여 UICC에 전달할 때 Envelop Command를 붙혀서 보내줄때 사용..
2011.09.16 -
Logical Channel
UICC(USIM)가 단말기와 통신을 하기 위해서 사용되는 Logical Channel이라는 것이 있다. 기본적으로 Logical Channel은 4개(0~3번)가 제공이 된다. Logical Channel이 4개라는 것은 동시에 4개의 단말기 어플들이 USIM과 통신을 할 수 있다는 의미를 가진다. 이중 0번은 Basic Channel이라고 명칭하며, USIM(UICC) Applet과 통신을 한다. 또한 Logical Channel을 모두 사용을 하고 있다면 5번째 어플은 USIM과 통신을 할 수 없다. 즉, 단말기 어플들은 반드시 USIM과 통신을 할 때 Channel을 Open하고 사용이 끝나면 반드시 Close하도록 프로그래밍이 되어야 한다. 추가적으로 USIM에는 EF_DIR(MF 하위에 존재)..
2011.09.16