[SK shieldus Rookies 16기][데이터3법] 가명처리

Jina·2023년 11월 27일
0

SK shieldus Rookies 16기

목록 보기
25/59
post-custom-banner

실습 전...
엑셀, 개발에 지식이 있다면 좀 더 수월할 수 있다.

가명처리 기술의 이해

가명처리란?

개인정보 속성 분류 목적

  • Manual(수동)
    ① 가명정보 활용 목적 검토
    ② 대상 데이터 선정
  • Semi-automated(반자동)
    ③ 데이터 분석(개인정보 속성 포함)
    ④ 컨텍스트/평가 위험 측정
  • Automated(자동)
    ⑤ 직접 식별자 처리
    ⑥ 준식별자 및 특이정보 비식별화
    ⑦ 보고 및 인증

개인정보 속성 분류

개인정보 속성분류식별에 대한 영향프라이버시 침해 가능성
고유식별자매우 높음일부 있음
준식별자높음일부 있음
민갑정보거의 없음(단, 특이치 경우 높음)매우높음
일반정보거의없음(단, 특이치의 경우 높음)거의없음

개인정보 자료 일반적 자료 형태

통계자료의 3가지 속성

구분내용활용도 및 특징
자료(범주속성)자료의 범위 지정하는 자료
(요약속성)통계수치 자료
메타데이터자료를 설명하는 자료(data for data)
마이크로 데이터의 재집계에 필수적으로 필요한 자료
관리 소홀이 우려되는 자료

자료형태로 데이터 분석

  • (범주형) 이산형/범주형
    • 명목형/척도 : 각 범주 간 순위x, 할당된 값은 범주 이름 의미만 존재, 최빈값 등의 특징 분석 (ex. 성별, 인종, 혈액형 등)
    • 순위변수/척도 : 각 범주 간 순위o, 할당된 값은
  • (수치형) 연속형
    • 구간변수/척도
    • 비율변수 척도

특이정보 관찰법

관찰방법기법상세내용
k-익명성동질그룹분석준식별자로 묶어 최소의 수로 구성되는 동질 그룹 관찰
Outlier3시그마 규칙3시그마 규칙 벗어난 데이터 관찰
사분위수 분석
도수분포표빈도분석

수치형 관찰방법

  • 3시그마 규칙:
    정규 분포형태의 데이터 분포에서 3시그마를 벗어나는 데이터는 특이치로 판단
  • 1.5*IQR 방법:
    Q1에서 하단으로 1.5*IQR을 벗어난 값과 Q3에서 상단으로 1.5*IQR을 벗어난 값을 특이치로 판단.

범주형 관찰방법

  • 빈도수 관찰
    (ex. 지역에 대한 도수분포 검토, 특정 나이에 도수분포 측정)

가명처리 기술의 이슈

privacy-utility trade off

기존 비식별화 기술이 프라이버시를 더 잘 보호할 수록 데이터 유용성은 떨어진다.

Accuracy-privacy trade off

기존 비식별화 기술로 데이터 정확도 높이면 프라이버시 보호 수준 떨어진다.

⇒ 데이터 정확도와 프라이버시 보호 수준은 반비례하다.

가명처리 기법

ISO/IEC 20889 기준 분류

  • 통계 도구
    데이터 전체 구조를 변경하는 통계쩍 성질을 가진 기법
    비식별화 기술의 효용성을 높이기 위해 사용
    표본 추출, 총계 처리 등의 기법이 포함됨
  • 암호화 도구
    비식별화 기술의 효율을 향상시키는 보안 대책을 시행 및 비식별화 도구의 일부로서 사용
    결정성 암호화, 순서보존 암호화, 형태보존 암호화, 동형 암호화, 동형 비밀분산 등의 기법이 포함됨
  • 삭제 기술
    레코드, 속성값 또는 데이터셋에서 선택된 데이터 값을 제거하는 기술
    마스킹, 레코드 삭제, 컬럼 삭제 등의 기법이 포함됨
  • 가명화 기술
    데이터 주체의 식별자를 각 데이터 주체에 대해 특별 생성된 간접식별자로 대체하는 비식별 기술의 범주
    해시함수,매핑테이블,임의 생성 등의 기법 등이 포함
  • 해부화
    기존 테이블을 식별자가 포함된 데이블과 유용한 속성을 포함하는 테이블로 분할 -> 데이터로부터 식별자의 관계를 분리시키는 비식별화 기술
    각 테이블은 서로 다른 접근 권한을 부여해야 한다.
    해부화는 데이터를 변경시키지 않고 구조만을 변경시키는 기법임.
  • 일반화 기술
    aka 범주화. 특정한 값을 상속의 속성으로 대체하는 비식별 기술
    라운딩, 랜덤라운딩, 제어라운딩,상하단 코딩,로컬일반화 등의 기법이 포함됨
  • 무작위화 기술
    속성의 값을 수정하여 원래의 값과 다르게 변형되도록 하는 비식별 기술 추론 시도의 효율성을 감소시키는 기술 Perturbation라고도 한다.
    부분총계 등

가명처리 기법

상하단 코딩

=PERCENTILE.INC("데이터범위", "백분위수")
  • 수치형 데이터 처리
  • Outlier 처리 기술

라운딩

=ROUND("입력값", 정수 또는 소수점 구분과 자리수 입력)

범주화

  • 수치형→범주형으로 변환
  • 기호 종류
    • [] : 이상, 이하
    • () : 초과, 미만
  1. 범위 시작값(몫)
=QUOTIENT(입력값,나눌값)

$ 의미? 절대 참조
셀 참조를 고정하여 수식을 복사하거나 이동할 때 참조가 변경되지 않도록 한다.

  1. 범위 끝 값(몫+1)
=QUOTIENT(입력값,나눌값)+1

  1. 범주 데이터 생성하기
    CONCATENATE 로 함수 결합하기
=CONCATENATE(
	"[", // 형식지정
	QUOTIENT(P3,$Q$3)*$Q$3, 
    // P3를 Q3으로 나눈 몫에 Q3 값을 곱해 범위의 시작값 찾기
    ",", // 형식지정
    (QUOTIENT(P3,$Q$3)+1)*$Q$3,
    // P3를 Q3으로 나눈 몫+1에 Q3 값을 곱해 범위의 마지막 값 찾기
    ")" // 형식지정
    )

코드화

=INDEX(데이터범위, 선택열)
=RANDBETWEEN(난수최소값, 난수최대값)
  • 범주형 데이터 처리
  • 다중 코드 처리 시 사용
  1. 범위 설정 남자
    코드값 00~04, 여자 코드값 05~09

  2. 범위 내에서 중복되지 않게 값 부여

=IF(조건문,
	// if문이 참인 경우
    INDEX(기준데이터범위,RANDBETWEEN(난수최솟값,난수최댓값)),
    // if문이 거짓인 경우
    INDEX(기준데이터범위,RANDBETWEEN(난수최솟값,난수최댓값))
    )

마스킹

  1. 마스킹 하지 않을 문자 선정
=REPT(반복문자, 반복회수)

  1. 마스킹 처리할 문자 범위 지정
=LEN(입력문자열)

  1. 1번과 2번 결합
    concatenate: 사슬 같이 잇다; "연결하거나 연쇄적으로 결합하다"
=CONCATENATE(연결문자1,, 연결문자n)

=LEFT(셀 위치,남겨둘 범위),REPT("반복문자", LEN(범위)-남겨둘 범위)

여러 개 함수를 결합해야하는 경우 & , 로 결합 가능

=sgMAXLEN(데이터범위)

문자열 분리

=sgSplit(입력문자열, 분리문자, [반환수준])
=sgMid(입력문자열, 분리시작위치, [반환글자수])
  • 범주형 데이터 처리
  • 문자 위치나 구분자 분리 시 사용

로컬삭제

=COUNTIF(데이터범위, 검색값)
  • 중복을 제외한 값의 총합 출력
  • 범주형 데이터 대표 기술
  • 문자 위치나 구분자 분리 시 사용

해시값으로 변환

=sgSHA512(변환할 값)

복사/붙여넣기

함수로 값을 얻었으면 column 선택 → 복사 → 같은 자리에 '값'으로붙여넣기

실습

1. 데이터 추출
- 회원정보
- 응시정보
=> CSV 파일로 추출

2. 목적 정리

3.개인정보 속성 구분 정리
- 식별자 : 이메일(회원ID, 이메일주소)
- 준식별자 : 이름, 생년월일, 응시번호
=> 나머지 정리

4. 자료형태 ===> 정리

5. 가명처리 수준정의
- 주소 : 범주화 ( 문자열분리, 시군표시 )
- 핸드폰번호 : 범주형 (마스킹, 중간 4자리 * 처리)
- 성별 : 코드화 ( 랜덤 5가지 )
- 나이 : 범주화 ( 구간단위 )
- 응시횟수 : 범주화 ( 구간단위 )
- 점수 : 라운딩 (첫째자리 )
- 자격증 : 빈도 (1 삭제)

6. 가명처리
===> 가명처리 진행

  • 결합키 대상 항목 정의 : 이름 + 생년월일 + 성별 ⇒ 반드시 이렇게 하라는 의미 X
  • Salt 정의 : ABCDE
  • 인코딩 정의 : sha256
ABCD
1이름생년월일성별주소
2이녹월1965-04-03M경기도 수원시 권선구 덕영대로 960

문자열 합치기

=CONCATENATE(A2,B2,C3,$g$2)

해시처리

=sgSHA256()
profile
공부 기록
post-custom-banner

0개의 댓글