
회원가입 기능이 있다면 반드시 지켜야 하는 것
요약
애플리케이션 개발 시 회원가입/로그인 기능 구현에 필요한 개인 정보 암호화 의무와 법적 기준을 다룹니다. AI가 코드를 생성해도 법적 준수 여부를 확신할 수 없으며, 작은 서비스라도 개인 정보를 다룬다면 반드시 관련 법규를 지켜야 합니다.
핵심 포인트
- 개인정보는 법적으로 정해진 암호화 의무가 있습니다.
- AI가 만든 코드도 법적 책임에서 면피되지 않습니다.
- 안전 조치 위반 시 과태료, 손해배상 등 무거운 책임을 질 수 있습니다.
- 서비스 규모와 관계없이 개인 정보 보호 기준을 준수해야 합니다.
Video: 회원가입 기능이 있다면 반드시 지켜야 하는 것
Channel: 코딩하는기술사
Duration: 17m 26s
Source: subtitle (auto, ko)
Transcript:
안녕하세요. 코딩하는 기우사입니다. 어 바이브 코딩으로 어플리케이션 만들 때 회원 가입이나 로그인 같은 기능들 많이 만드시죠? 자, 그때이 법적으로 정해진이 개인 정보에 대한 암호화 의무가 있습니다. 자,이 의무를 충실히 이행하지 않으면 나중에이 사이트가 해킹을 당하고 어, 정보가 유출되었을 때 무거운 책임을 물을 수도 있습니다. 어 그래서 오늘은이 바이브 코딩 할 때이 개인 정보의 법적 암호와 기준을 말씀을 드리고 어떤 식으로 대처를 하면 좋을지 실무적인 관점에서도 아이들을 드리겠습니다. 자, 이메일, 비밀번호, 이름, 전화번호 생년 월일까지 이렇게 받는 회원 가입을 만들어 줘라고 AI한테 요청을 합니다. 자, 그러면 AI는 잘 만들어 주죠. 그리고 로그인도 잘 됩니다. 자, 그런데이 중에서 법이 반드시 암호화를 해서 저장을 하고 전송을 해야 된다는 항목을 정확히 알고 계신가요? 자, 오늘 강의는이 개인 정부의 안전성 확보 조치 기준 안내서 2025년 11월 가장 최신의이 법적 기준 안내서를 기반으로 말씀을 드리는 겁니다.
참고로이 안네서는 가장 최신판이고요.이 안네서가 기준으로 하는 개인 정보 보호위원회 고시는 202595입니다. 근데 지금은 202695로 업데이트 되었죠. 그렇지만 오늘 말씀드릴이 암호와 관련 내용은 동일하기 때문에 오늘 말씀드리는이 기준이 가장 최신 기준이라고 할 수 있습니다. 어 다만 고시는 계속 개정이 되기 때문에 어 실제 적용 전에는이 국가 법령 정보 센터에서 현행 원문을 다시 한번 확인하는 것이 안전합니다. 자, AI는 시킨 대로 잘 만들어 주죠. 자, 해용 가입을 만들어 줘 하면 뚝딱 동작하는 코드가 나옵니다. 자, 그런데이 중에서이 법적으로 반드시 암호화해야 되는 이런 것들을까지 제대로 챙겨졌는지 확신할 순 없죠. 자, 우리는 그것을 확실히 하기 위해서 법에 정해져 있는 기준을 확인을 해야 됩니다. 작은 서비스도 예외가 아닙니다. 1인 개발자나이 작은 서비스라고 해서이 고객의 개인 정보를 마음대로 이용할 수 있는 것이 아닙니다. 또한 AI가 만들어 줬다는게 면피가 되는 것도 아니죠. 자, 서비스가 크고 작금을 떠나서 개인 정부를 다루는 서비스라면 반드시이 의무를 준수를 해야 되고 문제가 생겼을 때 책임을 질 수 있을 말씀을 자, 그렇다면이 법률을 지키지 않으면 우리가 돼야 되는 책임이 어떤 것들이 있을까요?
자, 안전 조치 의무를 위반하면 과태료 3천만 원 이하 처분받을 수 있고요. 개인 정부가 유출되면 과진금 대상이 될 수도 있습니다. 그리고 피해가 발생하면 손해 배상을 해 줘야 될 수도 있고요. 고의거나 중과실시 최대 다섯 배까지 올라갑니다. 그리고 일정 요건에 유출이 발생하면 통지 신고 의무를 반드시 지켜야 되고요. 그리고 사안이 중대할 경우 시정 명령 처분 사실을 공표해야 됩니다. 자, 이런 법적 책임이 일부 혹은 사안에 따라서 전부 다 책임을 져야 될 수도 있습니다. 어, 실제 처분 사례 두 가지만 보겠습니다. 자, 락앤락 2026년 7월입니다. 해가 매일 서버에 보완 취약점을 이용해서 내부 망으로 심입을 했습니다. 그렇게 해서 약 130만 명 분의 개인 정보 및 임직원 정부가 유출되었고요.이 이 과정에서 고유식별 정보 등이 암호화되지 않은 상태로 보관되어 있는 것이 확인되었습니다. 그렇게 해서 과진금 5억 300만 원 그리고 과태료 540만 원 처분을 받았습니다. 어 물론이 금액은 단순히 정보를 암호화하지 않은 하나 때문이 아니라이 취약점을 조치하지 않았고 관리자 개정에 동일한 비밀 번호를 사용하지 않았고 어 그리고이 보안 해킹 탐지나 대응이 미흡한 이런 종합적인 부분이 고려가 되어서 처분을 받은 금액입니다.
자 다음으로 법무법인 로고스 2025년 11월입니다. 외부 획킹으로 인해서 약 1.59바 59바 분량의 소송 관련 자료가 유출되었습니다.이 중에서 주민번호, 계좌번호, 비밀번호 등 주요 데이터가 암호화되지 않은 채로 저장되어 있는 것이 적발이 되었고요. 그래서 과진금 5억 2,300만 원 그리고 과태료 600만 원 처분을 받았습니다. 어, 그리고 얼마 전에 티빙도 유출이 됐었죠. 제가 영상으로 한번 다룬 적이 있는데 여기서도 유출 항목을 보면 이렇게 많은 정보들이 유출이 되었습니다. 자, 그런데 우리가 오늘 다룰이 암호화는이 외부 해킹 자체를 막는 그런 방어 수단은 아니죠. 아는 이렇게 침입을 당했을 때 개인 정보 노출 피해를 최소화시키는 장치입니다. 해커가 침입을 불에서 정보를 다 빼갔는데 빼갔다 보니 개인 정보를 봤더니 다 암호화가 돼 있어요. 자 그러면 피해가 확실히 줄겠죠. 그리고 이렇게 암호화를 잘했을 경우에는 문제가 생겼을 때도 법적으로 많이 감안을 해 줍니다. 자, 이제 본격적으로 암호화에 대해서 알아보겠습니다.
자, 우리 민감한 정부를 저장하는 데는 두 가지 방식이 있습니다. 첫 번째 암호화이고요. 두 번째 해싱입니다. 자, 암호화는 평문을 암호문으로 암호화를 하는 거고요. 다시이 암호문을 평문으로 보호화를 할 수 있죠. 그렇지만 해싱은 평문을 해시해서 나온이 해시 코드는 역으로 이렇게 복호화할 수가 없습니다. 그래서 우리는 이것을 단방향 즉 한쪽 방향으로만 가능한 단방향 해시라고 합니다. 자, 그래서 아안은 주민번호나 계좌번호와 같이 보호화가 가능해야 되는 이런 정보들을 안전하게 보관할 때 사용하는 기법이고요. 비밀번호는 관리자도 알면 안 되겠죠. 즉 복호화가 되면 안 되겠죠. 그래서 비밀번호는 단방향 해싱을 하는 것이 일반적입니다. 자, 그러면이 개인 정보 법에서 정한 반드시 암호화를 해야 되는 정보를 보겠습니다. 자, 총 일곱 가지인데요. 주민 등록번호, 여권 번호, 운전 면허 번호, 외국인 등록번호 이렇게네 가지 고유 식별 정보가 필수 암호화 대상이고요. 여기에 대해서 신용 카드 번호, 계좌 번호, 생체 인식 정보 이런 기타 중요한 정보 세 가지 합에서 총 일곱 가지에 대한 정보를 우리 서비스에 저장하거나 전송할 때 반드시 암호화를 해야 된다고 하고 있습니다.
자,이 법에 있는 내용을 보면 이렇게 되 있죠. 제 7조 개인 정보의 암호화 그리고 이렇게 일곱 가지 필수 의무 암호화 대상을 안내하고 있습니다. 자, 그런데이 일곱 가지 이외에도 이름이나 이메일, 전화번호와 같이 어, 개인 정보처럼 보이는 이런 정보들은 어떨까요? 자, 결론적으로 말하면이 정보들은 앞서 말한 일곱 가지에 포함되 있지 않죠. 자, 필수 의무화는 아닙니다. 즉 법에서 말한 의무 대상은 아니라는 거죠. 다만 어 이렇게 곤고하고 있습니다. 암호와 대상 이외의 개인 정보 뭐 성명이나 휴대 전화번호 주소 같은 것들도 개인 정보 처리자의 개인 정보 처리 환경 및 유출시 위험을 고려해서 암호하여 저장할 수 있다. 즉 저장해야 된다가 아니고하는 거죠. 자 법에 있는 내용을 보면 여기 있죠. 암호화 대상 이외에 이런 정보들도 암호화하여 저장할 수 있다. 어 다만 뭐 인터넷에 전송할 때나 뭐 업무용 PC 등에 저장할 때는 또 별도 기준이 적용될 수 있으니까 이럴 경우에는 조금 더 찾아보셔야 됩니다. 자 그리고 이런 개인 정보를 DB에 저장할 때뿐만 아니라 통신 네트워크로 전송할 때도이 의무 사항을 지켜야 됩니다.
자, 브라우저에서 우리 이용자들이 우리 서버를 통해서 이렇게 네트워크를 통해서이 개인 정보들이 전송이 되죠.이 전송 구간에도 필수적으로 암호화를 해야 되는데 이때 웹 통신의 경우에는 https를 필수로 적용을 해야 됩니다. 자, 우리가 바이브 코딩을 하고이 호스팅 업체에 배포를 하면 그리고 도메인 받아서 배포하면 대부분이 배포 플랫폼에서 이런 것들을 기본으로 제공을 하는 경우가 많죠. 다만 확실히 하기 위해서는 주소가 http가 아니라 https로 시작하는지 반드시 확인을 한번 해 보세요. 자, 그러면 어, 전체 그림을 한번 볼까요? 자, 안내서에서 어떻게 정의하고 있는지 한번 보겠습니다. 자, 암호와 적용 기준 요약이라고 해서 안내서에서 이렇게 표로 예쁘게 정리를 해 줬네요. 자, 먼저이 이용자를 두 가지 형태로 나누고 있죠. 이용자와자가 아닌 정보 주체. 자, 이용자는 우리가 흔히 생각하는 우리 서비스를 이용하는 온라인 고객이라고 보시면 되고요. 그 외에는 다자가 아닌 정보 주체입니다. 예를 들어서 내부 직원 정보 그리고 오프라인 고객이 여기에 해당됩니다.
그리고 왼쪽에 보시면이 정보를 네트워크를 통해서 통신할 때 그리고 데이터베이스의 서버에 저장할 때 그리고 어 개인 정보 취급자가 자기의 컴퓨터 또는 모바일 기기 뭐 디스크 USB 등의 이런 개인 정보를 저장할 때 어 이런 규칙을 따라야 된다라고 하고 있고요. 동상 우리 바이브 코딩 하시는 분들의 99%는 여기에 해당되겠죠. 이용자 온라인 고객들. 자,이 두 개의 차이는 간단합니다.이 이용자 부분이 더 엄격합니다. 이용자 부분은이 저장 위치를 따지지 않죠.이 이 왼쪽은 인터넷 구간이냐 뭐 내부망이냐에 따라서 따로 판단을 하지만 우리 이용자 쪽은 어디에 저장하든 모두 암호와 대상이고요. 그리고 또 이용자 쪽이 대상이 더 넓습니다.이 이용자가 아닌 정보 주체 쪽은이 고유식별 정보가 기준인데 이용자 쪽은 여기에 신용 카드 그리고 계좌 번호가 추가적으로 들어가 있죠. 자, 그래서 우리 바이브 코딩하시는 분들은이 이용자 부분을 필수로 보셔야 되고요. 이용자가 아닌 정보 주체 부분은 나중에 임직원 정보를 다루거나 어, 오프라인 사업을 같이 하게 될 때 체크해 보시면 되겠습니다.
자, 이렇게 해서 어, 고객의이 개인 정보를 저장 혹은 전송할 때 필수적으로 지켜야 되는 암호와 법적 기준에 대해서 알아봤습니다. 자, 지금부터는 실무 권장 사항입니다. 자, 아까 비밀 번호를 해싱한다 그랬죠? 단방향 해싱. 자, 이때 SHA 256으로 하는 경우도 많은데요. 요건 조금 위험합니다.이 SH256은 데이터 무결성을 검증하기 위해서 만든 어 본용적인이 해싱 함수입니다. 그래서 굉장히 빠르게 계산되도록 설계가 된 기법이고요. 그렇지만이 빠른 속도가 비밀번호이 저장할 때는 치명적인 약점이 될 수 있습니다. 속도가 굉장히 빠르기 때문에이 해커가이 정보를 가져갔을 때 레인보우 테이블이나이 무차별 대입 공격으로 굉장히 빠른 연산을 통해서 매칭 시도를 해 볼 수 있다는 거죠. 그래서 이AS와 같은이 보안 기준에서도 비밀번호를 해싱할 땐 SHA256 말고이 아르곤이나이 비크립 같은 것을 사용하는 것을 권장하고 있습니다. 자, 이것을 이렇게 빅크립으로 사용하는 예시입니다. 물론이 SH26으로 사용했다고 해서 법 기준을 어긴 것은 아닙니다.
자, 우리 안내문에 보면이 사용을 건장하는 안전한 암호 알고리즘 예시를 이렇게 제시하고 있는데요. 자, 여기 SH256 포함되 있죠? 그래서 어, 법적 의무 사항은 아니지만 우리가 실무적으로 권장하는 안전한 해싱 방법입니다. 자, 두 번째 실무 권장입니다. 아주 기본적이고 그렇지만 매우 중요한 겁니다. 자, 암호화에 사용된 암호화 키는 반드시 코드에서 분리를 해야 됩니다. 우리 코드에이 암호화 키가 이렇게 들어가 있다. 그러면 즉 이거를 우리는 하드코딩 되어 있다고 하죠. 이렇게 하드코딩 되어 있으면이 소스가 유출되거나 혹은 적절한 권한이 없는 내부 사용자가이 소스를 보게 된다면이 암호와 키가 유출되어서이 유출된 키로 개인 정보를 할 수 있는 거죠. 그리고 또 만일이 소스가기에 공개되어 있을 경우에는 말 그대로 바로이 암호키가 노출되는 거죠. 자, 그래서 실무 권장 방법은 자, 이것을 환경 파일로 분리하는 것입니다. 자, 예시와 같이이 OS의 정보로 두고 그 정보를 가져오거나 뭐 데이터베이스에서 가져오거나 아니면 깃 저장 재 저장소에서 가져오거나 이런 형태로 소스에 하드코딩 해 놓지 말고 외부 안전한 저장소에 저장을 하고 거기에서 가져오도록 소스를 구현을 하는 거죠.
마지막입니다. 자, 가장 보완적으로 안전한 방법이 뭘까요? 그것은 애초에 개인 정보를 최대한 저장하지 않는 것입니다. 개인 정보를 최소화하는 거죠. 그래서 우리가이 바이브 코딩으로 우리 서비스 만들 때 개인 정보를 어떻게 암호화해야 되지라는 생각을 하기 전에 어 내 서비스에 이것을 꼭 저장을 해야 되는지부터 체크를 해 보시기 바랍니다. 예를 들어서 카드 번호나 계좌 번호 같은 거 있죠. 이런 것들 우리 서비스를 위해서 꼭 우리 데이터베이스에 저장을 해야 될까요? 우리가 결제를 연동하려면 PG4를 사용해야 되죠. 연동해야 되죠. 이 PG 사에 결제를 하고 나면이 결제 수단 카드 번호나 계좌번호 같은 것들을 PG 사에 다 저장을 해 두고 우리는 그 정보를 조회할 수 있습니다. 그래서 우리 T에 굳이 넣어 둘 필요가 없는 거죠. 이렇게 하면 우리는이 계좌번호와 같은 개인 정보를 안전하게 보관하기 위한 고민을 안 해도 되고요.이 정부에 대한 법적 의무를 지켜야 되는 건 PG4죠. 그리고이 주민 등록번호는 요즘은 뭐 거의 수집을 안 하긴 합니다만 만일에 수집을 해야 될 경우에도 본인 확인 기관을 이용을 하면 우리가 별도로 저장할 필요 없겠죠.
또 법적으로이 주민 번호는 굉장히 까다롭게 규정이 돼 있습니다. 그래서 본인 확인 기간에 뭐 C, DI 같은 정보를 사용하면 되겠죠. 그러니까 가장 안전한 방법은 애초에 우리 서비스에 보관하지 않아도 되는 건 보관하지 말라는 겁니다. 자, 정리해 보겠습니다. 우리 고객들의 비밀번호 자, 안전한 해싱 알고리즘으로 단방향 해싱을 하셔야 됩니다. 자, 이메일, 이름, 전화번호. 자, 우리 서브에 저장을 할 때 의무 암호화 대상은 아닙니다. 그렇지만 곤고는 하고 있죠. 일부를 추가로 암호화한다든지 아니면 이런 정보들의 어떤 접근 통제나 다른 보안 장치를 해두면 만일 해킹 사고가 발생하면 이런 활동들이 책임을 조금 경감시키는 이유가 되기도 합니다. 자, 그리고 계좌번호, 카드 번호 자, 이런 거 결제를 이용한다고 해도 우리 DV에는 저장하지 마시기 바랍니다. 자, PG 사에 위임하세요. 자, 주민번호 뭐 필수 암호화 대상인데 주민 번호를 사실 우리가 일반적인 서비스 만들 때 우리 TV에 저장할 일은 거의 없고요.
그리고 저장해서도 안 되고요. 본인 확인 기관을 이용하시기 바랍니다. 자, 그래서 법에서 정한이 일곱 가지 필수 암호화 대상 반드시 확인을 하시고요. 우리 서비스에이 정보 중에 하나를 저장 또는 전송하고 있다면 반드시 안전한 암호와 알고리즘으로 저장 전송을 하셔야 됩니다. 자, 그래서 우리가 바이브 코딩할 때 AI한테 단순히 뭐 회원 가입 테이블 만들어 줘. 해원 가입 로그인 되게 해 줘. 이렇게 하면 안 되고요. 보안 요구 사항을 구체적으로 줄수록 좋죠.이 이 보호안 요구 사항을 줄 때는이 법적 기준을 반드시 명시를 해 주는 것이 좋습니다. 자, 예시인데요. 이렇게 프롬프트에 구체적으로 요건을 작성해 주시거나 아니면 이런 것들을 따로 스킬 파일이나 다른 규칙 파일에 적어서 개인 정보 다룰 때는 이런 것들을 참고해라고 AI에게 알려 주는 것이 필요합니다. 자, 그리고 법과 고시는 계속 개정이 됩니다. 우리가 오늘 본이 안내서는 2025년이 11월 달 기준이고요. 이후에 또 개정이 될 수 있습니다. 그래서이 AI의 기억에만 의존하지 말고요.
항상 최신이 법적 기준을 참고를 해 주시기 바랍니다. 자, 이렇게 AI한테 규칙을 지정해 주는 것도 괜찮겠죠? 다음은 현재 시행 중인 개인 정보 안정성 확보 조치 기준 7조 원문이야. 네가 알고 있는 지식보다이 원문을 우선해서 판단해 줘라고 하면서 최신 정보를 주는 거죠. 자, 바이브 코딩으로 서비스를 만들고 배포 준비 중이신가요? 배포 전에 다섯 가지 작가 진단 해 보시기 바랍니다. 자, 비밀 번호가 데이터베이스에 평문으로 저장되어 있지 않나요? 그리고 비밀번호 번호를 복호화할 수 있게 만들지는 않았나요? 그리고 어떤 개인 정보를 저장하고 있나요? 그중에서 법에서 정한 필수 암호화 대상을 식별하고 계신가요? 그리고 아화키나 API 키가 코드에 하드코딩 되어 있지 않나요? 그리고 개인 정보가 무한통신 환경에서 전송이 되고 있나요? 자,이 다섯 가지를 어 아시는 분들은 체크하시면 되고요. 잘 모르시는 분들은 AI한테 한번 또이 텍스트를 그대로 던져 주고 물어보세요. 내 프로젝트에서이 부분 점검해 줘라고요. 자, 마무리하겠습니다.
AI는 동작하는 코드를 잘 만들어 주죠. 그렇지만 적법하고 안전한 서비스인지는 우리 사람이 최종 확인하고 나중에 책임도 져야 됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 YouTube 코딩하는기술사 (개발/IT)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기