FON서비스. 내심 걱정이다.에서 언급했던 보안문제를 정치적 혹은 사회적으로 해결하는 방안 이외에도 기술적으로 해결할 수 있는 방안이 방금 화장실에서 떠올랐다.
역시 아이디어는 화장실이나 지하철에서 생각나기 마련.. 음음.
일단 일반적인 FON 연결 상태를 생각해보자.
Fonero의 Mobile Device -> FON AP -> 목표 서버
위와 연결 상태를 갖게 될텐데.. (물론 그 사이에 수많은 ISP들의 스위치와 라우터가 존재하겠지만, 일단은 패스.) 문제가 되는 것은 목표 서버로 가는 길목에 FON AP가 있고, 이 Fonero가 믿을 만한 사람인지 아닌지를 모른다는 것이다. 이런 문제를 해결하기 위해서는 Fonero의 Mobile Device와 목표 서버간의 통신내역을 FON AP에서 읽을 수 없게 하면 된다. 이런 식으로.
Fonero의 Mobile Device -(암호화 전송)-> FON AP -(암호화 전송)-> Proxy 서버 -(비암호화 전송)-> 목표 서버
Proxy 서버는 개념적으로 Proxy라는 이야기이다. Fonero의 Mobile Device는 실제로 목표서버에 접속하는 것이 아니라 Proxy서버에 일단 접근해서 PKI방식의 암호화 (공개키-개인키로 이루어진 풀기 엄청나게 힘든 암호화 방식)를 이용해 Proxy서버로 데이터를 전송하고, Proxy서버가 받은 데이터의 암호를 풀어서 목표서버로 전송해주는 방식이다. (요게 SSH Port Forwarding의 작동 방식)
이런 방식의 문제점은 Proxy서버가 항상 켜져있어야 한다는 것인데, 일반 사용자가 이를 만족시키기는 어렵다. 보안을 위해서는 각 개인당 하나 이상의 Proxy를 갖고 있는 것이 제일 좋다.
여기서 잠깐. Fonero라면 인터넷에 항상 접속되어 있는 디바이스를 하나이상 씩 갖고 있을 것이다. 그렇다. FON AP!!!
브라보-!
자신의 FON AP에 Proxy 서버 기능이 들어있으면 되는 것이다.
Fonero의 Mobile Device -(암호화 전송)-> FON AP -(암호화 전송)-> 자신의 FON AP -(비암호화 전송)-> 목표 서버
보통의 PKI방식은 접속할때 Negotiation할때 키를 주고 받는 다소 껄끄러움이 있지만, 미리 FON AP에서 키를 발급받고 이를 자신의 Mobile Device에 적재해놓는다면, 이 문제도 사라진다.
항상 이 접속방식을 이용하기는 무리가 있겠지만, 이런 모드를 지원하는 것도 상당한 센스가 되리라고 생각한다.
+1. 그런데 개발은 누가하지? -_-
+2. SSH Portforwarding을 테스트 해봤는데 아주 잘된다. 고로, FON AP에 SSH서버를 탑재하고 쓰기 편한 UI만 하나 만들어주면 게임 끝!
안녕하세요^^
반갑습니다. 우연스래 이런 글을 보고 답글 안남길 수가 없군요.
글 적으신것 보니까 제가 했던 고민을 하신 것 같네요.
실제로 이것으로 해당 fon 쪽 개발자에게 메일을 보냈더니
생까더군요 ㅡ.ㅡ; 그전엔 질문/답을 받았는데..
이 문제 대해선 fon 측의 쉬운 해결책은 없어보이고 님이 말씀하신 개별 해결책만이 존재하는데..
과연 이렇게 불안하다는 사실이 드러나면 사람들이 아무리 무료든/아니든 사용하려 들까 싶네요.ㅎㅎ
같은 고민하는 사람들이 fon 게시판에 가보시면 많이 있습니다.^^
같은 고민하시길래 남겨봅니다~ㅎㅎ