본문 바로가기

실전 프로그래밍

사용자 정보를 암호화 해보자!

왜 사용자 정보의 암호화 필요한가?

사용자 정보가 암호화 없이 노출된다면 관리자라면 누구나 그 계정에 로그인이 가능하여 개인 사생활등이 노출이 될 수 있다.

그리고 사용자 정보가 탈취되었을 때 악용될 위험이 있음으로 사용자 정보의 암호화는 필요하다. 

 

개인정보보호법에서의 암호화의 필요성은?

  • 성명, 주민번호등 개인을 알아볼 수 있는 정보는 암호화해야 한다.
  • 해당 정보만으로는 특정 개인을 알아볼 수 없더라도 다른 정보와 쉽게 결합하여 알아볼 수 있는 정보

개인정보의 기술적/관리적 보호조치 기준, 제6조(개인정보의 암호화)

  • 비밀번호는 복호화되지 않도록 일방향 암호화해서 저장
  • 다음 각 호의 정보를 안전한 암호 알고리즘으로 암호화해서 저장
    • 주민등록번호
    • 여권번호
    • 운전면허번호
    • 외국인등록번호
    • 신용카드번호
    • 계좌번호
    • 바이오정보
  • 개인정보 및 인증정보를 송/수신할 때에는 안전한 보안서버 구축 등의 조치. 보안서버는 다음 각 중 하나의 기능을 갖추어야 함
    • 웹서버에 SSL 인증서를 설치하여 전송 정보 암호화 송/수신 기능
    • 웹서버에 암호화 응용프로그램을 설치하여 전송 정보 암호화 송/수신 기능
  • 개인정보를 컴퓨터, 모바일 기기 및 보조 저장매체 등에 저장할 때에는 암호화

우리 서비스에서는 개인정보를 어떻게 처리하는가?

  • 사용자의 암호는 Bcrypt 알고리즘을 사용하고 고유 식별자로 salt 을 사용하여 저장
  • 사용자의 탈퇴 정보는 임시 보관기간 동안 보관한 후 삭제처리
    • 사용자의 개인 정보는 분리 보관되어야 한다.
  • 사용자 전체 정보는 json String으로 만든 후 AES 암호화를 통해 저장해놓았고
    • 물론 이 부분은 탈퇴 철회 기능이 있다면 복구하도록 사용할 수 있다. (하지만 우린 기능 없음)
  • 사용자 이메일 정보는 SHA256을 이용해서 암호화해서 저장하고 있다. 
    • 이 부분은 혹시나 자신이 언제 탈퇴했는지에 대한 고객의 문의가 올걸 대비하여 이메일에 대한 검색을 지원하기 위함이다.
  • 사용 중이던 사용자 정보는 전부 삭제한다.
  • 그 후 보관된 사용자 탈퇴 정보는 30일 이후에 전부 삭제가 되도록 되어있다.

요즘 보통 애플리케이션들은 삭제 후 재가입을 받아 주고 있다.

만약 가입 축하 쿠폰 등에 리워드를 지급해 주는 로직이 있다면 혹시나 탈퇴 가입하여 어뷰징이 일어나지 않는지 확인이 필요할 듯하다.

 

끄읏 :)

 

 



https://m.mkexdev.net/441

 

개인정보의 암호화 대상 및 방법

요즘 개인정보가 핫(hot)? 하다. 산업 전 분야에 걸쳐 개인정보가 주요한 비즈니스 데이터로 활용되고 4차 산업혁명의 인공지능, 빅데이터, 사물인터넷 등의 융/복합 기술 기반에는 방대하고 광범

m.mkexdev.net

https://www.kisa.or.kr/704

 

KISA 한국인터넷진흥원

본 개인정보 처리방침은 2022년 4월 20일부터 시행됩니다. 진흥원은 법령의 규정에 따라 수집․보유 및 처리하는 개인정보를 공공업무의 적절한 수행과 정보주체의 자유와 권리 보호를 위해 「개

www.kisa.or.kr

 

'실전 프로그래밍' 카테고리의 다른 글

[MAC] Developer Tool (개발자 툴)  (0) 2022.06.12