본문 바로가기
project

SIMAS - SIM APDU Scripter

by 찬이 2014. 1. 4.

SIMAS 란

SIMAS 는 SIM card APDU Scripter 의 약자입니다.
가장 기본으로는 APDU Scripter를 목표로 했던 것인데,
SIM 카드관련 담당자만이 할 수 있으면서도 반복적이고 복잡한 부분들을
관련지식이 없는 사람 조차도 간편하게 사용하고자 함입니다.

일반적으로 SIM 카드는 핸드폰을 통해서 접근이 가능한데,
핸드폰 개발 혹은 핸드폰의 통신관련 테스트를 하기 위해 데이터 조작을 하거나
혹은 특정 데이터를 확인하고자 할때는 상당한 제약이 있습니다.
그래서 카드리더기를 통해서 편리하게 액세스할 수 있는 프로그램들이 시중에 존재하는데,
편리한 프로그램일수록 엄청난 가격을 부르더군요. (2년간 3000 유로, 현재환율로 약 430만원)
그렇다고 싼건 스크립트 기능만 존재해서 무지 불편하고. (460 유로, 현재환율로 약 66만원)

 

왜 만들었을까

이 프로그램은 평소에 SIM 카드 관련 업무를 하고 규격도 많이 보다보니,
제가 알고 있는 지식을 바탕으로 취미삼아 만들어본 것입니다.
구현자체는 어려울게 없어요. 디자인도 구리고...
다만, SIM 카드관련 국제규격 및 이동통신사들만의 특이한 규격들을 알아야 하기 때문에
아무래도 일반 프로그래머가 제작하기는 간단치 않을 것 같네요.

 

간단한 소개

프로그램 소개자료를 급히 만들었던 게 있어서,
그 내용 중 몇 가지를 캡쳐하여 포스팅 해봅니다.

 

아래와 같은 카드리더기를 통해서 PC 상에서 데이터를 액세스 하도록 되어 있습니다.

 

Windows 환경에서 구동하며, WINSCARDAPI를 사용하였습니다.
WINSCARDAPI는 스마트카드관련 API를 Microsoft 사에서 제공하는 것인데요,
이게 Windows 자체에 포함되었는지, Visual Studio나 DDK를 설치하면서 들어갔는지는 잘 기억이 안납니다. 

아무튼 별도의 구입없이 사용가능하며, 카드리더기를 인식할 수 있는 윈도우PC라면 다 동작할 겁니다.
Windows 7 32bit/64bit, Windows XP 16bit 등에서 동작 확인이 되었습니다.

 

카드를 넣은 리더기를 PC에 연결한 후,
프로그램의 Connect 버튼을 누르면 카드리더기의 카드를 인식하게 됩니다.
인식여부는 하단의 Log View에 알려줍니다.

그런 후 ADF 선택하는 동작이 필요하다면, "Select ADF" 메뉴 클릭으로 진행가능합니다.

 

PIN, PUK 입력도 메뉴로 가능하게 하였습니다.
별건 아닌데 PIN 걸린 상태라면 핸드폰에 다시 끼워서 켠 다음에 메뉴에서 설정해제를 해주는건 귀찮고, 그렇다고 스크립트를 만들긴 더 귀찮고...

 

APDU 스크립트를 편집할 수 있는 창입니다.
위에서 소개한 Select ADF, PIN verify 등도 모두 스크립트로 가능하지만,
매번 하기에는 너무나 번거로운 작업이기에 메뉴로 간단히 되게 해놓았던 것입니다.
그냥 스크립트로 작성하신 후에, Step 혹은 Run 버튼으로 실행해도 됩니다.

 

SIM 카드의 주요정보를 한번에 조회해볼 수 있는 기능입니다.
필요에 따라서 정보들을 추가해나가고는 있습니다만,
쓰는 사람이 저 밖에 없다보니 그냥 제가 필요할 때만 그때 그때 추가합니다.

 

메뉴를 통한 간편한 사용이 가능하게 구현한 부분들입니다.
일례로 PLMN 편집을 할 수 있는 부분입니다.
아래의 그림은 ADMIN 권한이 필요한 OPLMN 이라 편집이 불가능한데,
ADMIN Verify 를 하면 편집이 가능하며, FPLMN 같은 경우에는 PIN 권한으로도 편집이 가능합니다.

 

Admin Verify를 한 경우에는 IMSI, MSISDN 의 수정도 가능합니다.
당연히 스크립트를 작성해도 가능합니다만,
만들고 동작시키기가 상당히 귀찮습니다.

 

Admin Verify 했을 때 수정가능하게 되는 것들이 좀 더 있습니다.
OPLMN, UST, ECC 등이 그것입니다.

 

글을 마치며

적고 보니, 아무래도 직접 스크립트를 다루시는 분들이 아니라면
그다지 공감받지도 못할 것 같네요.
그냥 뭐,... 제가 편리하게 쓰려고 만든 거니까, '지가 좋으면 됐지 뭐'라고 생각해주세요. 

그럼, 이 정도로 소개를 마칠까 합니다.
새해 복 많이 받으세요.

댓글