IMSI를 이용한 IMSI_M 구하기
2011. 9. 28. 15:20ㆍIT관련
반응형
USIM의 IMSI와 유사한 개념으로 CSIM에는 EF IMSI_M이 존재한다.
당연히 IMSI 값을 가지고 IMSI_M의 값을 계산할 수 있다.
IMSI의 값이 450011012341234일 경우
주의) D15 ~ D1의 값이 '0'인 경우에는 '10'으로 대체하여 계산한다.
즉, 위 표에서 D13, D12, D9는 '10'으로 대체한다.
결과 값은 위의 1 ~6의 모든 값을 순서대로 나열을 하면 다음과 같다.
즉, IMSI 450011012341234가 IMSI_M으로 변경이 되면 0x00 5A 00 7B C4 1E 5A 80 5D 01이 된다.
당연히 IMSI 값을 가지고 IMSI_M의 값을 계산할 수 있다.
IMSI의 값이 450011012341234일 경우
Value | 4 | 5 | 0 | 0 | 1 | 1 | 0 | 1 | 2 | 3 | 4 | 1 | 2 | 3 | 4 |
Name | D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 |
주의) D15 ~ D1의 값이 '0'인 경우에는 '10'으로 대체하여 계산한다.
즉, 위 표에서 D13, D12, D9는 '10'으로 대체한다.
- IMSI_M_CLASS (1 byte)
- 고정 값 '00'
- IMSI_M_S2 (2 bytes)
- (100*D10) + (10*D9) + (D8) - 111
- A에서 계산된 값을 2 bytes의 HEX값으로 변환
- B의 HEX 값을 Byte 단위로 스위칭 한다.
- (100*1) + (10*10) + (1) - 111 = 90
- 90을 2 bytes의 HEX값으로 변환 --> 005A
- 005A를 Byte 단위로 스위칭 한다. --> 5A00
- IMSI_M_S1 (3 bytes)
- (100*D7) + (10*D6) + (D5) - 111
- D4 --> 1: 0001b, 2: 0010b, 3: 0011b, 4: 0100b, 5: 0101b, 6: 0110b, 7: 0111b, 8: 1000b, 9: 1001b, 0: 1010b
- (100*D3) + (10*D2) + (D1) - 111
- A, B에서 계산된 값을 binary 값으로 바꾼 후 binary를 모두 붙인다.
- A, C의 결과 binary값은 항상 10자리 binary값이며 B의 binary값은 4자리 binary값이어야 한다.
- 그래서 총 binary의 길이는 24자리이며 6 bytes값이 된다. - D에서 계산된 값을 HEX값으로 변환한다.
- E의 HEX 값을 Byte 단위로 자리를 변경한다.
- (100*2) + (10*3) + (4) - 111 = 123
- D4 = 1
- (100*2) + (10*3) + (4) - 111 = 123
-
123 1 123 0001 1110 11 00 01 00 0111 1011 0001 1110 1100 0100 0111 1011
0001 1110 1100 0100 0111 1011 0001 1110 1100 0100 0111 1011 1 E C 4 7 B
1E C4 7B 7B C4 1E - IMSI_M_11_12 (1 byte)
- (10*D12) + (D11) - 11
- A의 값을 HEX값으로 변환한다.
- (10*10) + (1) - 11 = 90
- 90을 HEX값으로 변환 --> "5A"
- IMSI_M_PROGRAMMED (1 byte)
- 고정 값: "80"
- MCC_M
- (100*D15) + (10*D14) + (D13) - 111
- A의 계산된 값을 2 bytes HEX값으로 변환한다.
- B의 HEX값을 byte 단위로 스위칭한다.
- (100*4) + (10*5) + (10) - 111 = 349
- 349를 2 bytes의 HEX값으로 변환한다. --> 015D
- 015D를 byte 단위로 스위칭한다. --> 5D01
Ex>
Ex>
Ex>
Ex>
결과 값은 위의 1 ~6의 모든 값을 순서대로 나열을 하면 다음과 같다.
- IMSI_M_CLASS : 00
- IMSI_M_S2 : 5A00
- IMSI_M_S1 : 7BC41E
- IMSI_M_11_12 : 5A
- IMSI_M_PROGRAMMED : 80
- MCC_M : 5D01
즉, IMSI 450011012341234가 IMSI_M으로 변경이 되면 0x00 5A 00 7B C4 1E 5A 80 5D 01이 된다.
반응형
'IT관련' 카테고리의 다른 글
Response APDU structure (0) | 2011.09.28 |
---|---|
Command APDU structure (4) | 2011.09.28 |
PLMN(Public Land Mobile Network) (0) | 2011.09.23 |
IMSI(International Mobile Subscriber Identity) (0) | 2011.09.23 |
ICCID(Integrated Circuit Card Identifier) (0) | 2011.09.22 |