'보안은 그 어느 시스템의 정보보다 가장 중요하며 가장 안전해야 하는 것이다'
필자가 "프로그래머로써 가장 중요하게 생각해야 할 것 하나만 뽑는다면?" 이라는 질문이 들어온다면 위와 같이 답할 것이다.
현재 인터넷 보급률이 전 세계적으로 50%를 넘어섰다. 그 중 한국만 하더라도 인터넷 보급률은 거의 98%에 달한다고 한다. 이 말은 사실상 몇명을 뺀다면 인터넷을 이용하지 않는 사람이 없다고 봐도 무방하지 않을까.
이러한 인터넷 사용에 있어 우리는 기본적으로 개인정보를 안전하게 보관될 것이란 신뢰를 바탕을 두고 있어야 하고, 이 신뢰는 개발자가 짊어지는 가장 큰 무게일 것이다.
여러분들이 A은행을 이용하고자 하는데 A은행이 여러차례 개인정보가 유출 된 적이 있다고 하면 A은행을 이용하려 하지 않을 것이다. 대부분은 A은행의 정보 암호화에 대한 신뢰가 떨어져 있기 때문에 약간의 손해를 감수하더라도 다른 대안 은행을 찾아 이용하려 할 것이다.
이렇듯 기본적으로 어떤 서비스를 가입하여 이용할 때 우리는 기본적으로 '개인'만 접속, 이용할 수 있도록 권한을 제한하고, 만약에 개인정보를 저장하고 있는 DB가 해커들에 의해 털렸다고 하더라도 해독하지 못하도록 만든다.
예로들어 어떤 게임을 이용하기 위해 가입을 해본다고 하자.
먼저 본인인증을 할 것이다. 이 인증과정에서 여러분은 이름, 휴대전화번호, 주민등록번호 등 다양한 과정들을 통해 인증할 것이다. 그래야 만일 나이제한이 있는 게임에 해당 나이를 만족하지 못하는 사람이나, 타인을 사칭하여 가입하여 악의적 목적으로 이용되는 것을 1차적으로 방지 할 수 있다.
이렇게 본인인증이 완료되면 아이디를 검색하여 '중복검사'를 하고, 패스워드를 입력하라고 할 것이다.
이 과정에서 패스워드는 대부분의 사이트의 경우 "몇 자리 이상, 영어, 특수문자 포함" 등 최대한 알기 어렵게 만들라고 요구한다.
마지막으로 이메일을 입력하고, 여러가지 동의서 전문을 읽은 뒤(사실상 스크롤만 하지만..) 모두 동의를 누르면 그제서야 게임 아이디를 만들게 된 것이다.
이 과정이 다소 불편하다고 느낄 것이지만, 겉으로 보이는 것이 그정도일 뿐 내부에서는 여러분이 입력한 개인정보들을 훨씬 더 복잡하게 암호화하여 안전하게 보관하도록 하고 있다. 이렇게 당신의 개인정보는 안전하다는 신뢰를 얻기 위해 개발자들은 수많은 노력을 기울인다.
(물론 안전하지 않은 곳들도 꽤 많고, 지금도 많은 해커들은 열심히 당신의 개인정보를 탈취하려 노력할 것이다.)
이렇게 인터넷 서비스에서 빠질 수 없는 것이 바로 개인정보와 암호화고, 이러한 시스템이 만약에 없었다면 지금만큼의 인터넷 보급률이 나올 수도 없었을 것이다.
또한 법적으로도 개인정보에 대해 법률로 정하고 있고, 최소 기준도 제시하고있다.

개인정보의 안전성 확보조치 기준 ( http://www.law.go.kr/행정규칙/개인정보의안전성확보조치기준 )
어쩌면 빼놓을 수 없는 숙명이랄까.. 여러분들이 언젠가 개발자가 된다면 "비밀번호 시스템"을 구현해볼 일이 생길 것이다.