개인정보보호의 준수사항
여러가지 시스템을 구축하다보면 사용자나 회원등록시 개인정보를 수집해서 데이터화 시켜야 되는 경우가 있습니다. 이런 경우에 개발자와 사업 담당은 개인정보보호에 관련된 법령과 고시를 준수해야할 필요성이 있습니다.이를 위반할 경우 작게는 천만원 단위의 과태료와 함께 크게 실형까지 행정처분을 받을 수 있으니 주의해야 합니다. 법적인 내용이 있기 때문에 본 포스팅이 좀 딱딱할 수 있겠지만 무슨 일에 있어서든 법을 준수하는 것이 가장 기본적인 사항이라고 판단되므로 이런 시스템을 구축하고자 하는 분을 해당 내용을 잘 파악하시는 것이 도움이 많이 되리라 생각됩니다.
개인정보 수집 항목들
개인정보보호법 제16조와 정보통신망법 제23조2항에 근거해서 개인정보의 수집 또한 최소한의 정보만을 수집해야하는데 이런 최소한의 정보 외의 개인정보를 이용자가 제공하지 않는다고 서비스를 거부할 수 있는 권한이 사업자에게는 없습니다.
밑에 예는 최소한의 정보인 필수항목과 그외의 정보인 선택정보에 대한 구분 예시입니다.
인터넷 회원제 서비스 | ||
구분 | 필수 동의 | 선택 동의 |
목적 | 회원의 신원 확인 및 관리 | 상품 등의 대한 홍보 및 마케팅 |
수집항목 | 아이디, 비밀번호, 이름, 이메일 | 휴대전화번호, 생년월일, 성별, 결혼여부. 사용자 선호도 등 |
온라인 결제 서비스 | ||
목적 | 안전한 온라인 결제 | 결제 알림 서비스 |
수집항목 | 카트번호, 계좌번호, IP, MAC 주소, 휴대폰기기 정보등 | 휴대폰번호, 이메일 주소 등 |
이동통신 서비스 | ||
목적 | 휴대전화 이용 | 멤버쉽 할인 |
수집항목 | 신청인 성명,주소,전화번호 | 멤버쉽 카드 정보, 멤버쉽 아이디, 등급, 생일 등 |
이런 개인정보를 수집할때는 1)개인정보 수집.이용 목적, 2) 수집하는 개인정보의 항목, 3) 개인정보의 보유와 이용기간, 4) 동의 거부시 불이익 등을 이용자에게 이해할 수 있도록 게시하여 동의를 받아야 하고 개인정보처리를 위탁시에는 위탁 관련 내용을 사용자에게 공개하고 위탁내용과 수탁자를 홈페이지에 30일 이상 게시를 하여야 합니다.
더불어 14세 미만 아동에 대한 개인정보 수집이 필요한 경우에는 일반회원과 다르게 법정 대리인 확인을 요구하여야 합니다.
개인정보 보호법 제24조의2항과 정보통신망법 제23조의2항 주민등록번호의 사용제한에 따라 주민등록번호 수집근거가 구체적으로 있는 경우를 제외하고는 주민등록번호를 수집할 수 없으며 본인확인 여부는 휴대폰인증, 공인인증서 인증,아이핀이나 마이핀을 통해서 대체 하여야 합니다.
개인정보 파기 방안
개인정보를 수집하여 이용기간이 끝나거나 회원 탈퇴, 시스템 서비스가 종료되는 경우 저장 되어있는 개인정보를 파기하여야 합니다. 파기는 복구 및 재생 불가능한 방법으로 파기 되어야 하며 이는 개인정보 보호법 제21조 및 정보통신망법 제29조의 개인정보의 파기 법령에 근거하고 있습니다.
하드디스크, CD, DVD, USB메모리등 전자 매체에 저장되어 있는 개인정보를 파기할 경우에 로우레벨로 포맷하거나, 데이터를 덮어쓰는 방식, CD나 DVD라면 CD전용 파쇄기등으로 재생 불가능적으로 파기하여야 하며, 인쇄물 등 파쇄가 가능하다면 천공, 소각등 으로 물리적으로 완전 파기할 수 있습니다.
DB서버에 저장된 개인정보의 일부 데이터를 파기하는 경우에는 해당 데이터 컬럼에 NULL 값으로 덮어 쓰는 방법이 있습니다.
그리고 전자상거래법에 따른 거래기록 보관이 필요하여 추가로 보관이 필요한 경우 별도의 DB를 구축하여 그쪽으로 데이터를 옮기도록 해야 합니다.
개인정보 보안대책 수립
개인정보 보호법 제29조와 정보통신망법 제28조에 따라 수집된 정보를 안전하게 보호하고 분실, 도난등을 막기 위하여 기술적, 관리적 보안 대책을 수립해야합니다.
안전한 비밀번호 사용
수립된 비밀번호 정책이 있다면 개발자는 시스템 개발시에 이를 적용시켜야 하는데 아래 같은 사항은 기본적으로 반영되어야 합니다.
비밀번호 최소 길이:
비밀번호 길이는 최소 10자리(대문자,소문자,특수문자,숫자 중 2종류 이상으로 구성시)또는 8자리(대문자,소문자,특수문자,숫자 중 3종류 이상으로 구성시) 이상의 길이로 구성하도록 개발합니다.
추측하기 어려운 비밀번호:
비밀번호 생성시 아이디와 유사하거나, 연속된 숫자, 회원의 전화번호등 연관되어 있는 패턴을 쓰지 못하도록 하고 키보드상에 나란히 있는 문자도 포함 되지 못하도록 개발해야 합니다.
주기적인 비밀번호 변경:
비밀번호는 최소 6개월의 유효기간을 설정하여 경과하면 비밀번호 변경을 요구하는 메세지를 사용자에게 알려주도록 설정합니다.
같은 비밀번호 변경 제한:
비밀번호를 변경할 경우 이전 비밀번호를 그대로 사용할 수 없거나 유사하게 설정할 수 없도록 개발하여야 합니다.
개인정보 노출 방지
개인정보 다운로드 방지:
웹사이트 개발시 검색엔진에 개인정보가 누출될 수 있으니 수시로 점검할 필요 성이 있습니다.
공유 폴더 설정 체크:
개발 테스트를 하면서 설정되어 있던 공유 폴더가 서버 호스팅시에도 그대로 노출되는 경우가 존재할 수 있습니다. 그리고 그 공유폴더에 개인정보 파일이 존재하고 있다면 문제는 더 심각해 질 수 있습니다.
시스템 접근통제:
시스템 구축담당은 개인정보에 대한 해킹같은 불법적인 접근을 방지하기 위해 방화벽(Firewall),IDS,IPS,ACL(Acees Control List), Snort, 공개용 S/W 등 접근통제 시스템을 도입해야 합니다.
– 방화벽 : 개인정보처리시스템으로의 접근을 IP 주소 등으로 제한하여 인가되지 않는 접속를 차 단하는 기능(침입차단기능)을 갖는 시스템으로 상태보전방식(Stateful), 상태비보존방식(Stateless) 종류가 있습니다.
-침입탐지시스템(IDS : Intrusion Detection System) : 개인정보처리시스템에 접속한 IP 등을 재분석하여 불법적인 개인정보 유출 시도를 탐지하는 기능(침입탐지기능)을 갖는 시스템입니다.
-침입차단시스템(IPS : Intrusion Prevention System) : 침입차단기능과 침입탐지기능을 결합한 침입 방지시스템입니다.
-ACL(Access Control List) : 라우터등 네트워크 장비에 포함되어 있는 ACL(Access Control List) 기능을 사용하여 필터링하여 접속을 허용하는 기능입니다.
그리고 관리자 페이지가 노출되지 않도록 외부 IP를 차단하고 로그인페이지 별도 구분해서 개발하여야 합니다. 테스트 중에 관리자 페이지가 인터넷 상에 노출되지 않도록 조치가 필요합니다.
개인정보 저장 및 전송시 암호화:
개인정보를 시스템에 저장하거나 네트워크로 전송시에 자료가 누출 또는 위조가 되지 않기 위해서 암호화를 하여야 하는데 특히 비밀번호는 복호화가 되지 않도록 하여 시스템에 저장된 값과 비교하여 체크합니다. 복호화가 되지 않기 때문에 비밀번호를 재발급 받을 시에는 임의의 비밀번호나 재설정 할 수 있는 기능을 포함해서 개발해야 합니다. 이 밖에 주민등록번호, 여권번호, 운전면허번호등 고유식별정보도 암호화하여 저장하여야 합니다. 네트워크로 전송시에는 전송 구간에 SSL/TLS 등의 암호화 방식을 적용하여 개인정보를 보호하여야 합니다.
암호화 알고리즘을 적용할 때는 아래의 보안강도를 참조하시기 바랍니다.
접속기록등의 로그 관리
마지막으로 시스템 개발자는 개인정보시스템의 접속로그(접속아이디, 접속일시, 접속아이피, 수행업무) 정보를 최소 6개월이상 보관하는 기능을 구축하여야 합니다. 또한, 데이터 손실에 대비, 저장자료를 백업 장치에 주기적으로 백업하도록 합니다.