• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

서비스 배포

21.08.15 23:43 작성 조회수 122

2

안녕하세요 선생님.
강의 잘 보고 있습니다.
강의를 보다가 궁금한 점이 생겨서 질문을 남깁니다.
서비스를 배포하고 운영한다고 가정했을때, atlas에 유저의 개인정보(전화번호, 비밀번호, 성별)를 저장하였고 강의와 같이 비밀번호를 암호화하여 저장했을 때, 개발자로써 더 고려해야 할 사안이 있을까요?
보통 서비스를 운영할 때는 강의 이상의 것들을 더 고려하는지 궁금하고 더 고려한다면 무엇이 있을지 궁금합니다!
감사합니다!

답변 1

답변을 작성해보세요.

0

Dev님 안녕하세요 :)

좋은 질문입니다. 음 비밀번호처럼 의무까지는 아니지만 중요한 개인정보들은 암호화하는게 좋아요. 그럴 일은 없겠지만 주민번호, 카드번호 이런걸 혹시라도 저장을 해야 한다면 암호화를 해야되요. 제일 좋은건 이런 민감한 정보는 디비에 저장하지 않는거에요. 전에 쇼핑몰 개발하면서 정기배송 기능을 만들었었는데요.  정기배송을 하기 위해서는 카드 정보를 가지고 있어야 했어요. 근데 카드 정보를 저희가 운영하는 디비에 저장하지 않았어요. 카드정보는 PG사(외부 결제 서비스)에 저장을 했고 PG사에서 해당 카드와 대응하는 id를 발급해줬어요. 그러면 저는 해당 id만 저장하면 되는거죠. 이 id는 노출이 되어도 사용이 불가능해요. 이 id로 PG사에 결제를 요청할 때 id만 절달하는게 아니고 환경변수에 안전하게 저장되어 있는 secret key도 같이 전달해야되니깐요. 

그외 주소, 연락처와 같은 개인정보들은 암호화를 하는 경우도 있고 안하는 경우도 있는거 같아요. 어떤 데이터를 암호화할지는 다른분들과 충분히 검토 후 결정하시는걸 권장합니다. 만약 연락처가 공개되는 SNS서비스를 개발하신다면 연락처를 암호화 할 필요 없겠죠?

암호화를 해야하는 경우가 있다면 아래 모듈을 활용하시면 됩니다

https://www.npmjs.com/package/mongoose-field-encryption

Dev님의 프로필

Dev

질문자

2021.08.16

답변 감사합니다 :)