스킬캠퍼스
11강 · 보안·프라이버시
강의

오늘 끝나면

보안·프라이버시

  • 보안·프라이버시의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 보안이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

PII·데이터 유출 방지 — 새지 않게 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

Enterprise LLM · 11

보안
프라이버시

LLM은 받은 글을 외부 서버로 보내고 · 로그에 남기고 · 때로 학습에까지 씀.
PII·기밀이 그 경로로 새면 한 번 나간 건 되돌릴 수 없음.
그래서 보안은 모델 고르기가 아니라 데이터가 어디로 흐르나의 문제임.

P.01Enterprise LLM · 11

무엇이, 어디로 새나

사내 LLM 사고는 모델이 멍청해서가 아니라 안 나가야 할 글이 나가서 터짐.

새는 경로는 셋임.
프롬프트는 직원이 민감정보를 그대로 붙여 넣어 외부 API로 감.
로그는 요청·응답이 벤더 서버나 사내 모니터링에 그대로 쌓임.
학습은 외부 API가 우리 입력을 모델 개선에 다시 쓰는 경우임.

PII는 식별정보 — 이름·전화·이메일·주민번호·카드번호임.
기밀은 단가표·소스코드·미공개 계약·환자정보 같은 사업 비밀임.
한 번 외부로 나가면 회수 불가 · 학습에 박히면 다른 사용자 답에 새어 나올 수도 있음.

프롬프트 · 로그 · 학습 — 세 누출 경로
PII·기밀이 새는 세 경로
프롬프트

직원이 그대로 붙여넣음

고객 카드번호 → 외부 API

로그

요청·응답이 그대로 쌓임

벤더 서버 · 사내 모니터링

학습

입력이 모델 개선에 재사용

다른 사용자 답에 새어 나옴

한 번 나가면 회수 불가
P.02Enterprise LLM · 11

네 겹으로 막음

한 가지로는 못 막음. 데이터가 흐르는 각 지점마다 통제를 한 겹씩 깖.

마스킹은 외부로 나가기 직전 PII를 토큰으로 치환함 — 010-…[전화번호].
접근통제는 누가 어떤 데이터·기능을 쓰는지 역할로 끊음 — RBAC.

전송 암호화는 오가는 길을 TLS로 잠금 — 중간에서 못 까봄.
보존정책은 로그·대화를 며칠 두고 지울지 정함 — 안 지우면 영원히 위험.

순서가 중요함. 마스킹으로 새는 걸 줄이고 · 접근통제로 볼 사람만 보게 하고 · 암호화로 길을 잠그고 · 보존정책으로 흔적을 비움.
네 겹이 다 있어야 한 곳이 뚫려도 전체가 안 무너짐.

마스킹 · 접근통제 · 암호화 · 보존정책
네 겹의 통제
1
마스킹나가기 직전

PII를 토큰으로 치환

2
접근통제권한 단계

역할로 데이터·기능 끊음 (RBAC)

3
전송 암호화오가는 길

TLS로 중간 도청 차단

4
보존정책남은 흔적

기간 지나면 자동 삭제

한 곳 뚫려도 나머지가 버팀
P.03Enterprise LLM · 11

외부 API엔 민감정보를 빼고 보냄

OpenAI·Claude 같은 외부 API는 우리 인프라 밖임. 보낸 순간 통제권을 넘김.

그래서 게이트웨이에서 한 단계를 끼움.
나가기 직전 PII를 잡아 토큰으로 바꾸고 · 토큰↔원문 매핑은 우리 서버 안에만 둠.
외부 모델은 [고객명]님 카드 [카드번호]만 보고 일을 함 — 누군지는 모름.

답이 돌아오면 우리 쪽에서 토큰을 원문으로 되돌려 사용자에게 보여줌.
모델 성능은 그대로 쓰면서 식별정보는 한 발짝도 밖으로 안 내보내는 게 핵심임.
오른쪽에서 마스킹을 켜고 꺼 보면 외부로 나가는 본문이 어떻게 달라지는지 보임.

원문 → 마스킹 → 외부 전송 → 복원
매핑은 사내에만 · 외부엔 토큰만
원문사내

고객 김민수 카드 5310-…

마스킹게이트웨이

고객 [이름] 카드 [카드번호]

외부 모델외부 API

토큰만 보고 일함 · 누군지 모름

복원사내

토큰 → 원문, 사용자에게만

식별정보는 한 발짝도 밖으로 안 감

P.04Enterprise LLM · 11

직접 새보기

오른쪽에 사내 프롬프트를 넣고 마스킹을 토글해 보셈.

전화·이메일·주민번호·카드·계좌·이름을 자동으로 탐지해 몇 건 새는지 셈.
ON이면 토큰으로 치환된 안전한 본문이 외부로 감.
OFF면 날것 그대로가 외부 서버·로그에 남음.

“안전한 질문” 프리셋은 0건이 뜸 — 애초에 PII가 없으면 마스킹도 필요 없음.
반대로 상담 요약·청구 검토 프리셋은 켜기 전엔 빨갛게 새고, 켜면 식별정보가 사라짐.
실무에선 이 치환을 사람이 아니라 게이트웨이가 자동으로 함.

마스킹 ON/OFF — 외부로 나가는 본문이 바뀜
PII 누출 점검 · 외부로 나가기 직전
사내 프롬프트 — 직접 적어 보셈
마스킹
외부 전송 전 민감정보 제거
탐지된 민감정보4
카드번호 계좌번호 이메일 이름
외부 LLM API로 나가는 본문마스킹됨
고객 [이름]([계좌번호])님이 [이메일] 로 환불 요청. 카드 [카드번호] 결제 건임. 정중한 사과 메일 초안 써줘.

4건이 토큰으로 치환돼 외부로는 식별정보가 안 나감.

P.05Enterprise LLM · 11

보존·학습 옵트아웃까지 챙김

나가는 본문만 막아선 안 됨. 남는 흔적과 학습 재사용도 정책으로 끊어야 함.

로그 보존은 짧을수록 안전함. 디버깅에 필요한 기간만 두고 자동 삭제로 비움.
무기한 보존은 그 자체로 유출 표면임 — 쌓인 만큼 털릴 게 많아짐.

학습 옵트아웃은 외부 API가 우리 입력을 모델 학습에 안 쓰게 막는 설정임.
기업용 플랜·Bedrock·Azure OpenAI는 기본적으로 학습에 안 쓰지만 · 계약·설정으로 명시 확인해야 함.
여기에 마스킹·접근통제·암호화까지 더해져야 거버넌스 — 다음 강 주제로 이어짐.

Q. 외부 LLM API에 보내기 전 반드시 해야 하는 것은? (모델 교체 · 민감정보 마스킹/제거 · 토큰 수 줄이기 · 응답 캐싱)정답은 민감정보 마스킹/제거임.
외부 API는 우리 인프라 밖이라, 보낸 순간 PII·기밀의 통제권을 넘기게 됨.
그래서 나가기 직전 식별정보를 토큰으로 치환하고 매핑은 우리 서버 안에만 둠.
모델 교체·토큰 절감·캐싱은 성능·비용 문제일 뿐, 데이터 누출은 못 막음.
로그 보존 기간 · 학습 사용 여부
보존 기간 ↓ · 학습 옵트아웃 → 위험 ↓
로그 보존 30일+위험

유출 표면 큼 · 쌓일수록 위험

로그 보존 7일위험

디버깅엔 충분 · 흔적 최소

보존 0 + 옵트아웃위험

안 남기고 · 학습에도 안 씀

Bedrock·Azure OpenAI는 기본 학습 미사용 — 계약으로 확인

3줄 요약

  1. 1PII·데이터 유출 방지 — 새지 않게
  2. 2보안·프라이버시은 도입 방식 → RAG·연동 → SAP → 보안·거버넌스 → 운영 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

보안

PII·데이터 유출 방지 — 새지 않게

RAG

사내 문서를 검색해 답을 보강하는 방식

임베딩

의미를 숫자 벡터로 바꾼 표현