안녕하세요 시더입니다.


요즘 프리렌서 활동하면서 한가지 고민이 생겼습니다.


바로 무단복제죠. 의뢰 당시는 개인용도로 사용한다고 해서 싸게 계약을 했는데 나중보니 사이좋게 나눠쓰더군요.


처음에는 서버 인증이라도 할까 생각해 봤는데 좀 더 임펙트가 필요한것 같아 이방법을 써봅니다.


예전 국가과제할때 의료기 소프트웨어를 사용해본적이 있는데요. 거기서 USB를 꼽아야만 인증이 되서 실행이 되는 구조로


만들어 놨더라구요. 그래서 저도 한번 해봤습니다. 



일단 아두이노 아무 버전이나 하나 준비합니다. 소프트웨어와 같이 제공할거니 걍 작고 싼게 좋겠죠.



원리는 아주 아주 단순합니다. (1)PC에서 소프트웨어로 인증 체크 버튼을 눌르면 아두이노로 raw키값이 날라가게 되고 


(2)아두이노 내부에서 알고리즘을 통하여 암호화 한 인증 키를 다시 PC로 보내줍니다. 다시 받은게 된 값이 정상적인


인증키인지 알고리즘을 통해서 판단하고 정상이라면 인증 성공! 아니면 강종! 이렇게 구성되 있습니다.


이때 저는 시리얼포트를 사용했구요. pc에서 현재시간을 기준으로 키값을 보내기 떄문에 주고 받는 값을 알아도 손쓰기가


어려울겁니다. 




예전에 만들어뒀던 프로그램 살짝 고쳐서 테스트를 해봤습니다. 생각대로 잘되네요.


일단 알고리즘을 간단하게 +11 해서 리턴시키게 구성했는데 실전에서는 좀 더 복잡하게 해야겠죠.


1)당연히 해당 기기가 없으면 값을 주고받을 수 없으니 인증이 안됩니다.

2)중간에 선연결해서 오고가는 값을 떠낸다고 해도 1초단위로 바뀌는 상황에서 동시에 여러 컴퓨터의 sw를

  동작시키기엔 어렵겠죠.


당장 고쳐야할 부분은 포트번호 자동인식 시켜야하는 부분만 손보면 바로 사용해도 될것 같습니다. 그래도 크래킹 앞엔..


Posted by 시더
,