안 드 로 이 드 응용 프로그램 이 휴대 전화의 IMSI 코드 와 SIM 카드 복 제 를 가 져 옵 니 다.

국제 모 바 일 사용자 식별 코드 (IMSI) 국제 모 바 일 가입자 ID 
국제 적 으로 유일 하 게 모 바 일 사용 자 를 식별 하기 위해 분 배 된 번호.
기술적 으로 IMSI 는 국제 로 밍 문 제 를 철저히 해결 할 수 있다.그러나 북 미 는 아직 많은 AMPS 시스템 이 MIN 번 호 를 사용 하고 있 고 북 미의 MDN 과 MIN 이 같은 번 호 를 사용 해 시스템 을 변경 할 수 없 기 때문에 현재 국제 로 밍 은 당분간 MIN 위주 로 진행 되 고 있다.이 가운데 O 와 1 로 앞 선 MIN 자원 을 IRM (International Roaming MIN) 이 라 고 부 르 며 IFAST (International Forum on ANSI - 41 Standards Technology) 가 일괄 관리한다.현재 연통 으로 신청 한 IRM 자원 은 09 로 시작 되 었 다.이 를 통 해 알 수 있 듯 이 사용자 가 증가 함 에 따라 국제 로 밍 에 사용 되 는 MIN 자원 이 곧 소 진 될 것 이 고 전 세계 에서 IMSI 표지 사용 자 를 통일 적 으로 사용 하 는 것 이 필수 적 이다. 
IMSI 는 모두 15 자리 이 고 그 구 조 는 다음 과 같다. 
MCC+MNC+MIN 
MCC: Mobile Country Code, 모 바 일 국가 코드, 총 3 위, 중국 460; 
MNC: Mobile Network Code, 모 바 일 네트워크 코드, 총 2 비트, CDMA 시스템 과 연결 하여 03 을 사용 합 니 다. 전형 적 인 IMSI 번 호 는 460030912121001 입 니 다. 
MIN 은 모두 10 자리 이 고 그 구 조 는 다음 과 같다. 
09+M0M1M2M3+ABCD 
이중 M0M1M2M 3 과 MDN 번호 중 H0H1H2H 3 는 대응 관계 가 있 고, ABCD 4 자 리 는 자 유 롭 게 배분 된다. 
IMSI 가 MIN 번호 앞 에 MCC 를 추가 한 것 을 알 수 있 으 며, 각 이용자 의 출신 국 가 를 구별 할 수 있어 국제 로 밍 이 가능 하 다.같은 나라 에서 CDMA 운영 자가 여러 개 있 으 면 MNC 를 통 해 구별 할 수 있다.
android api 가 져 오기
public void fetch_status(){  
     TelephonyManager tm = (TelephonyManager) 
     this.getSystemService(Context.TELEPHONY_SERVICE);//      
     String str = "";  
     str += "DeviceId(IMEI) = " + tm.getDeviceId() + "
"; str += "DeviceSoftwareVersion = " + tm.getDeviceSoftwareVersion() + "
"; str += "Line1Number = " + tm.getLine1Number() + "
"; str += "NetworkCountryIso = " + tm.getNetworkCountryIso() + "
"; str += "NetworkOperator = " + tm.getNetworkOperator() + "
"; str += "NetworkOperatorName = " + tm.getNetworkOperatorName() + "
"; str += "NetworkType = " + tm.getNetworkType() + "
"; str += "PhoneType = " + tm.getPhoneType() + "
"; str += "SimCountryIso = " + tm.getSimCountryIso() + "
"; str += "SimOperator = " + tm.getSimOperator() + "
"; str += "SimOperatorName = " + tm.getSimOperatorName() + "
"; str += "SimSerialNumber = " + tm.getSimSerialNumber() + "
"; str += "SimState = " + tm.getSimState() + "
"; str += "SubscriberId(IMSI) = " + tm.getSubscriberId() + "
"; str += "VoiceMailNumber = " + tm.getVoiceMailNumber() + "
"; TextView sys = (TextView) findViewById(R.id.sys); sys.setText(str); }  

모 바 일 SIM 카드 의 IMSI, ICCID 와 Ki 코드
우리 가 일반적으로 사용 하 는 휴대 전화 sim 카드 안에 세 개의 수치 가 있 는 것 이 관건 이다. IMSI, ICCID 와 ki, 이 세 개의 수치 가 있 으 면 당신 의 sim 카드 는 복 제 될 수 있다.시장 에서 파 는 카드 다 호 는 sim 카드 라 는 세 개의 수 치 를 읽 고 그들 을 특수 한 카드 에 써 서 복사 하 는 목적 을 달성 하 는 것 이다.IMSI 와 ICCID 는 직접 읽 을 수 있 지만 ki 는 암호 화 되 어 있 습 니 다.
말 나 온 김 에 SIM 카드 를 간단하게 소개 하지 않 을 수 없다. SIM 카드 는 스마트 카드 로 그 안에 매우 간단 한 CPU 와 약간의 NVRAM 이 있어 데 이 터 를 저장 하고 읽 을 수 있 으 며 연산 도 할 수 있다.카드 안 에는 많은 내용 이 있 지만 암호 화 와 관련 된 것 만 소개 합 니 다.모든 SIM 카드 안에 전 세계 에서 유일한 표지 번호 가 저장 되 어 있 습 니 다. IMSI 라 고 합 니 다. 이것 은 당신 의 SIM 카드 를 유일 하 게 표시 하 는 것 입 니 다. 핸드폰 이 켜 질 때 카드 에서 이 번 호 를 읽 어서 모 바 일 네트워크 에 보 냅 니 다. 모 바 일 에 큰 데이터 베 이 스 를 가지 고 IMSI 와 핸드폰 번호 의 대응 관 계 를 묘 사 했 기 때문에 인터넷 은 당신 의 핸드폰 번호 가 얼마 인지 알 수 있 습 니 다.(만약 에 핸드폰 카드 를 잃 어 버 리 면 새로 보충 한 카드 IMSI 는 원래 의 것 과 다 릅 니 다. 모 바 일 데이터 베 이 스 는 원래 의 핸드폰 번 호 를 새로운 IMSI 로 가리 키 면 오래된 카드 는 더 이상 사용 할 수 없습니다) IMSI 를 제외 하고 16 개의 바이트 의 키 데이터 도 있 습 니 다. 이 데 이 터 는 SIM 카드 의 인 터 페 이 스 를 통 해 읽 을 수 없습니다. 보통 Ki 라 고 부 르 는데 키 는 모 바 일 네트워크 에 도 한 부 를 저장 합 니 다.
 
휴대 전화 가 모 바 일 네트워크 에 로그 인 할 때 모 바 일 네트워크 는 16 바이트 의 무 작위 데이터 (일반적으로 RAND 라 고 함) 를 만들어 휴대 전화 에 보낸다. 휴대 전 화 는 이 데 이 터 를 SIM 카드 에 보 내 고 SIM 카드 는 자신의 키 키 키 키 와 RAND 로 연산 한 후에 4 바이트 의 응답 (SRES) 을 생 성 한다.휴대 전화 에 전송 하고 모 바 일 네트워크 에 전송 하 는 동시에 모 바 일 네트워크 도 같은 알고리즘 을 연산 했다. 모 바 일 네트워크 는 이 두 가지 결과 가 같은 지 비교 해 볼 것 이다. 똑 같이 이 카드 는 내 가 보 낸 것 이 고 로그 인 을 허용 한 다 는 것 을 나타 낸다. 이 검증 알고리즘 은 GSM 규정 에서 A3, m = 128 bit, k = 128 bit, c = 32 bit 라 고 하 는데 이 알고리즘 은 m 를 알 아야 한 다 는 것 이 분명 하 다.k 와 는 간단하게 c 를 계산 할 수 있 지만 m 와 c 는 k 를 계산 하기 어렵다. A3 알고리즘 은 SIM 카드 에 들 어 있 기 때문에 운영 자가 암호 화 알고리즘 을 바 꾸 려 면 자신의 SIM 카드 를 발행 하여 자신의 기지 국 과 SIM 카드 가 똑 같은 알고리즘 을 사용 하도록 하면 된다. 휴대 전 화 는 전혀 바 꾸 지 않 아 도 된다.
 
모 바 일 네트워크 에서 RAND 를 보 낼 때 휴대 전 화 는 SIM 카드 로 RAND 와 Ki 에 대해 다른 키 를 계산 하여 전체 통신 암호 화 에 사용 하도록 합 니 다. 이 키 의 길 이 는 64 bits 이 고 보통 Kc 라 고 합 니 다. Kc 를 생 성 하 는 알고리즘 은 A8 입 니 다. A3 와 A8 이 받 은 입력 이 똑 같 기 때문에 실현 자 는 게 으 름 을 훔 쳐 하나의 알고리즘 으로 SRES 와 Kc 를 동시에 생 성 합 니 다.
 
통신 과정 에서 의 암호 화 는 바로 Kc 를 사용 하 는 것 입 니 다. 이 알고리즘 은 A5 라 고 합 니 다. A5 의 암호 화 량 이 매우 많 고 SIM 카드 의 속도 가 느 리 기 때문에 모든 통신 과정 에서 의 암호 화 는 핸드폰 에서 이 루어 집 니 다. 그러면 천하 의 모든 GSM 핸드폰 이 똑 같은 A5 알고리즘 을 지원 하지 않 으 면 로 밍 을 할 수 없습니다. 이때 운영 자 와 설비 업 체 의 게 으 름 입 니 다.또한 전 세계 에서 현재 통용 되 는 A5 알고리즘 만 있 고 다른 것 이 없다 는 것 을 나타 낸다. 이 알고리즘 은 바로 Kc 의 8 바이트 서열 과 간단 한 순환 XOR 를 한 다음 에 메시지 번호 와 감법 을 하 는 것 이다.
 
핸드폰 카드 가 왜 복 사 될 수 있 는 지 지금 말 해 보 세 요. 앞의 소개 에서 우 리 는 로그 인 과정 을 한 번 완성 하려 면 IMSI 와 Ki 가 없어 서 는 안 된다 는 것 을 알 고 있 습 니 다. A3 알고리즘 도 알 아야 합 니 다. 그 중에서 IMSI 는 직접 읽 을 수 있 습 니 다. 그러나 A3 알고리즘 과 당신 의 카드 에 존재 하 는 데 이 터 는 모두 모 릅 니 다. 핸드폰 은 간단하게 RAND 를 SIM 카드 에 주 고 SIM 카드 는 계산 한 데 이 터 를 되 돌려 줍 니 다.실제 장비 에서 사용 되 는 A3 알고리즘 은 고급 비 즈 니스 기밀 로 보호 되 고 있 습 니 다. 하지만 세상 에 바람 이 새 지 않 는 q1an 9 는 없습니다. 1998 년 이 었 는 지 1999 년 이 었 는 지 종이 관련 문 서 를 어디서 훔 쳐 컴퓨터 에 입력 한 사람 이 있 었 습 니 다. 나중에 이 문 서 는 캘 리 포 니 아 버클 리 교수 몇 명 에 게 떨 어 졌 습 니 다. 이 문서 에는 뭔 가 부족 하고 물건 도 없 었 습 니 다.잘못 쓴 부분 이 있 습 니 다. 이 교수 들 은 SIM 카드 를 가지 고 한참 동안 비교 하여 부족 한 것 을 보충 하고 틀린 것 도 수정 하 였 습 니 다. 그래서 이 알고리즘 은 세상 사람들 이 모두 아 는 비밀 이 되 었 습 니 다. 이 알고리즘 은 Comp 128 이 라 고도 부 르 는데 그 는 동시에 SRES 와 Kc 를 생 성 했 습 니 다.
 
알고리즘 만 있 으 면 SIM 카드 에 저 장 된 Ki 를 얻 을 수 없습니다. 이론 적 으로 SIM 카드 를 뜯 은 다음 칩 을 특수 장치 에 받 아 Ki 를 읽 을 수 있 습 니 다. 그러나 이것 은 작은 칼 로 하 드 디스크 에 운영 체 제 를 새 기 는 것 처럼 들 리 지 않 습 니 다. 그래서 많은 뜻 있 는 사람들 이 Comp 128 알고리즘 에 대한 공격 을 시 작 했 습 니 다. 처음에 생각 했 던 것 은 궁 거 였 을 것 입 니 다.하지만 이 GSM 의 설계 자 는 SIM 카드 에는 총 2 ^ 16 번 정도 만 조회 할 수 있다 는 논리 가 있 었 다. 이후 카드 가 자살 해 해독 자 는 아무것도 얻 지 못 하 게 한 다 는 것 을 생각 했다. 그래서 연구자 들 은 받 아들 일 수 있 는 횟수 내 에 특정 명문 을 구성 하고 수출 비밀문 을 분석 해 키 의 값 을 분석 하려 했 으 나 결 과 는 일부 발견 됐다. IBM 의 한 팀 은 심지어6 번 의 조회 로 키 를 완전히 풀 수 있 습 니 다. 물론 지금 밖에서 파 는 그런 기 계 는 이렇게 크 지 않 을 것 입 니 다.
 
시간 이 지 날수 록 Comp 128 에 대한 해독 알고리즘 이 점점 성숙 해 지고 SIM 복사 장치 도 많아 지면 서 운영 자 들 이 앉 아 있 지 못 하 게 되 었 습 니 다. 많은 운영 자 들 이 Comp 128 v2 암호 화 알고리즘 카드 를 발행 하기 시 작 했 습 니 다. Comp 128 v2 알고리즘 은 GSM 협회 가 v1 이 무 너 진 후에 신속하게 v1 에서 수정 한 결과 v1 알고리즘 중의 약점 을 잘 해결 했다 고 합 니 다. 물론 입 니 다.이 알고리즘 은 v1 처럼 대중 에 게 공개 되 지 않 았 고 지금까지 아무 도 발표 하지 않 았 습 니 다. 이렇게 되면 거의 풀 수 없습니다.
 
중국의 운영 업 체 들 도 SIM 카드 복제 문제 에 부 딪 혔 다. 여기 서 나 는 주로 중국 이동 에 대해 이야기 했다. 2005 년 하반기 에 발 행 된 카드 부터 simscan 등 소프트웨어 로 ki 를 직접 읽 을 수 는 없 었 지만 이 는 실제 v2 카드 가 아니 었 다. v2 카드 는 복 제 될 수 있 는 구멍 을 해 결 했 지만 호환성 과 안정성 면 에서 만 족 스 럽 지 못 하 다 는 소식 이 있다. 똑똑 한 가운데국가 이동 은 당연히 이 문 제 를 상관 하지 않 을 것 이다. 성숙 한 v1 카드 를 바탕 으로 작은 수정 을 했 고 simscan 등 소프트웨어 의 스 캔 을 교묘 하 게 피해 복사 되 지 않 는 목적 을 달성 했다. 이런 카드 를 우 리 는 잠시 v0 카드 라 고 부른다. v0 카드 는 중국 이동 자체 가 설계 한 것 으로 원래 의 ki 의 조합 규칙 을 바 꾸 어 일반적인 스 캔 으로 ki 를 읽 을 수 없 게 했다 고 한다. 본 논문 의 핵 은마음 내용 은 v0 카드 를 어떻게 읽 는 지 설명 하 는 ki 입 니 다.
 
 
다음은 관건 적 인 규칙 표를 제공한다. 0 대 KI 를 가 졌 을 때 나머지 KI 를 푸 는 순 서 는 4, 2, 6, 1, 5, 3, 7 이 1 대 KI 를 가 졌 을 때 나머지 KI 를 푸 는 순 서 는 5, 3, 7, 0, 4, 2, 6 이 2 대 KI 를 가 졌 을 때 나머지 KI 를 푸 는 순 서 는 6, 0, 4, 1, 5, 3, 7 이 3 대 KI 를 가 졌 을 때 나머지 KI 를 푸 는 순 서 는 7, 1, 5, 0, 4, 2, 6 이 4 대 KI 를 가 졌 다.나머지 KI 는 0, 2, 6, 1, 5, 3, 7 이 5 대 KI 를 가 졌 을 때 1, 3, 7, 0, 4, 2, 6 이 6 대 KI 를 가 졌 을 때 나머지 KI 는 2, 0, 4, 1, 5, 3, 7 대 KI 를 가 졌 을 때 나머지 KI 는 3, 1, 5, 4, 2, 6 순 으로 나 타 났 다.

좋은 웹페이지 즐겨찾기