본문 바로가기
SK shieldus Rookies 16기

[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(26일차)

by Challenge programmers 2023. 11. 27.

오늘 학습 주제

1. 개인정보 데이터(자료형태)이해

1. 가명처리 기술의 이해

2. 가명처리 기법 실습

 

 

 

 

개인정보 데이터(자료형태)이해


- 개인정보 속성 분류 목적 -

Semi-automated는 사람의 개입이 필요함

 

 

- 개인정보 속성 분류 -

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

 

고유 식별자: 주민등록번호, 여권번호 등

준 식별자: 이름, 전화번호 등

민감정보: 의료 기록, 종교, 인종 등

일반정보: 이름, 주소, 직업 등

 

 

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

구분 내용 활용도 및 특징
자료 범주속성 자료의 범위를 지정하는 자료 • 요약속성과 결합하여 활용
요약 속셩 통계수치 자료 • 단독으로 의미파악 곤란

• 범주속성과 결합하여 활용
메타 데이터 자료의 생산규칙 등과 같은 자료를 설명하는 자료
(data for data)
• 관리 소홀이 우려되는 자료

• 전문 관리자 지정을 통하여 관리가 필요한 자료

• 부재시에 마이크로 데이터의 활용성은
거의 없음
마이크로 데이터의 재집계에 필수적으로 필요한 자료

 

 

 

- 자료 형태로 데이터 분석 -

 

 

- 특이정보 관찰 방법 -

관찰 방법 분류 기법 상세내용
K-익명성 동질 그룹 분석 준식별자 그룹으로 묶어서 동질 그룹을 형성하는데 최소의 수로 구성되는
동질 그룹을 관찰
Outlier 3시그마 규칙 정규분포 그래프 등을 이용하여 수치형 데이터 중에서 3시그마규칙을 벗어난
데이터 관찰
사분위수 분석 박스플룻 그래프 등을 이용하여 수치형 데이터 중에서 사분위수 기준 상하한값
규칙을 벗어난 데이터 관찰
도수분포표 빈도 분석 막대 그래프 등을 이용하여 범주형 데이터 중에서 빈도가 적은 데이터 관찰

 

데이터를 제거하지 않으면 식별이 가능

 

 

- 수치형 관찰 방법 -

특정 규칙을 벗어나는 특이치 데이터는 개인식별가능성이 있기에 삭제

 

< 3시그마 규칙(68-95-99.7 규칙)

정규분포 형태의 데이터 분포에서 3시그마를 벗어나는 데이터는 특이치로 판단

68% 규칙: 평균에서 표준편차의 1배 범위 내에는 데이터가 약 68% 정도가 포함

95% 규칙: 평균에서 표준편차의 2배 범위 내에는 데이터가 약 95% 정도가 포함

99.7% 규칙: 평균에서 표준편차의 3배 범위 내에는 데이터가 약 99.7% 정도가 포함

 

 

- IQR(사분범위) -

통계학에서 데이터의 중간 50%에 해당하는 범위를 나타내며, 데이터의 분포를 측정하는 중요한 통계적 지표 중 하나

Q1에서 하단으로 1.5*IQR을 벗어난 값과 Q3에서 상단으로 1.5*IQR을 벗어난 값을 특이치로 판단

 

 

- 범주형 관찰 방법 -

빈도가 1인 경우 특정이 가능하기에 삭제해야 한다

 

 

 

 

가명처리 기술 이해


- 가명처리 기술 이슈 -

 

개인정보보호의 수준을 낮추면 데이터의 유용성이 떨어진다

데이터의 유용성을 높이면 개인정보 보호의 수준이 떨어진다

적절한 수준을 찾아야 한다

 

 

- 가명처리 기법1 -

ISO/IEC 20889
기준 분류
기법 설명
통계 도구 • 데이터의 전체 구조를 변경하는 통계적 성질을 가진 기법, 비식별화 기 술의 효율성을 높이기 위해 사용

• 표본 추출, 총계 처리 등의 기법이 포함
암호화 도구 • 비식별화 기술의 효율을 향상시키는 보안 대책을 시행 및 비식별화 도구 의 일부로서 사용

• 결정성 암호화, 순서보존 암호화, 형태보존 암호화, 동형 암호화, 동형 비밀분산 등의 기법이 포함됨

• 암호화 방법은 여러가지가 있지만 해쉬를 주로 사용
삭제 기술 • 레코드, 속성값, 또는 데이터셋에서 선택된 데이터 값을 제거하는 기술

• 마스킹(형태유지하며 *로 대체), 레코드 삭제, 컬럼 삭제 등의 기법이 포함됨
가명화 기술 • 데이터 주체의 식별자를 각 데이터 주체에 대해 특별 생성된 간접식별자 로 대체하는 비식별 기술의 범주

• 해시함수, 매핑테이블, 임의 생성 등의 기법이 포함

 

 

- 가명처리 기법2 -

ISO/IEC 20889
기준 분류
기법 설명
해부화 • 기존 테이블을 식별자가 포함된 테이블과 유용한 속성을 포함하는 테이블로 분할하여 데이터로부터
  식별자의 관계를 분리시키는 비식별화 기 술로 각 테이블은 서로 다른 접근 권한을 부여해야 함
 
• 해부화는 데이터 를 변경시키지 않고 구조만을 변경시키는 기법
일반화 기술 • 범주화로도 불리며 특정한 값을 상위의 속성으로 대체하는 비식별 기술

• 라운딩 , 랜덤라운딩 , 제어라운딩 , 상하단 코딩 , 로컬일반화 등의 기법 이 포함
무작위화 기술 • 속성의 값을 수정하여 원래의 값과 다르게 변형되도록 하는 비식별 기술 추론 시도의 효율성을
  감소시키는 기술이며 Perturbation 이라고도 함

• 잡음추가 , 순열 , 부분총계 등의 기법이 포함

 

 

- 엑셀을 이용한 가명처리 기법(통계 처리) -

구분 설명 함수
최대값 지정한 범위 중 가장 큰 값 MAX(범위1, [범위2]...)

ex) MAX(D5:D15)
최빈값 빈도수가 높은 값 MODE.SNGL(범위1, [범위2]...)

ex) MODE.SNGL(D5:D15)
중앙값 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값 MEDIAN (범위1, [범위2]...)

ex) MEDIAN(D5:D15)
평균값 여러 수의 합을 수의 개수로 나눈 값 AVERAGE (범위1, [범위2]...)

ex) AVERAGE(D5:D15)
최소값 범위 중 가장 작은 값 MIN (범위1, [범위2]...)

ex) MIN(D5:D15)
백분위수값 데이터 배열 또는 범위에서 k값에 해당하는 백분위수를 나타내는 숫자 PERCENTILE(범위 또는 배열,
0과1 사이의 백분위값)

ex) PERCENTILE(D5:D15, 0.5)
라운드 지정 실수 자릿수로 올림 또는 내림 ROUND(반올림할 숫자,
반올림할 자릿수)

ex) ROUND(D5, 2)
샘플링 지정된 범위에서 임의 값 생성 RANDBETWEEN(최소값, 최대값)
INDEX(범위, 행번호, 열번호)

ex) RANDBETWEEN(1, 10)
INDEX(D5:D15, 6, 3)
몫구하기 지정된 숫자를 나누어 몫 구하기 QUOTIENT(분자, 분모)

=QUOTIENT(D5, D15)

 

 

- 엑셀을 이용한 가명처리 기법(문자 처리) -

구분 설명 함수
문자열합치기 여러 문자열을 하나로 합치기 CONCATENATE(text, text...)

ex) CONCATENATE(D5, D6...)
왼쪽문자반환 텍스트 값에서 맨 왼쪽부터 지정된 범위까지 문자열 반환 LEFT(문자열, 문자 수)

ex) LEFT(D5, 2)
오른쪽문자반환 텍스트 값에서 맨 오른쪽부터 지정된 범위까지 문자열 반환 RIGHT (문자열, 문자 수)

ex) RIGHT(D5, 2)
문자추출 텍스트 문자열의 지정한 위치로부터 지정한 개수의 문자를 표시 MID(text, start, num)

ex) MID(D5, 2, 4)
문자수확인 텍스트 문자열의 문자 개수를 반환 LEN(text)

ex) LEN(D5)
문자반복 지정한 횟수만큼 문자 반복 REPT(text, 반복 횟수)

ex) REPT(D5, 3)
형식변환 숫자 표시 형식을 지정하고 텍스트로 변환 TEXT(값, 형식)

ex) TEXT(D5, "yyyy-mm-dd")
문자찾기 텍스트 값에서 다른 텍스트 값을 검색 FIND(찾을 문자, 범위, 시작 위치)

ex) FIND("apple", D5:D15, 2)
문자열치환 문자열을 지정된 문자로 변환처리 REPLACE(대상 텍스트, 시작위치, 길이,
변경할 텍스트)
 SUBSTITUTE(대상 텍스트, 기존 텍스트,
변경된 텍스트, 순번)

ex) REPLACE(D5, 3, 2, "good")
 SUBSTITUTE("과거의 잔재는 과거",
"과거", "미래", 1)

 

 

- 엑셀을 이용한 가명처리 기법(사용자 정의) -

VBA를 통해 직접 정의한 함수

구분 설명 함수
단방향 암호화 동일한 입력값은 동일한 결과를 반환하고 결과값으로 입력값 확인 불가 octoSHA256(변환할 텍스트)
octoSHA512(변환할 텍스트)
구분자 분리 구분자에 의해 분리하고 수준별로 조합한 결과 가져오기 octoSplit(대상 텍스트, 구분자,
반환 수준 정의)
자리수 분리 텍스트 문자열의 지정한 위치로부터 지정한 개수의 문자를 표시 octoMid(대상 텍스트,
반환 시작 자리번호,
반환 문자수)
빈도 처리 지정된 빈도수 조건 대상 데이터 처리 octoFreq(빈도범위, 측정값,
대체값, 빈도기준수)
텍스트 변경 변환 대상 텍스트의 일부라도 일치하면 전체 텍스트 변경 처리 octoFindAndReplaceAll
(대상값, 검색값, 변환값)
샘플링추출 지정된 영역에서 정해진 수만큼 샘플링 추출 octoSample(대상범위, 추출수)

 

 

- 엑셀을 이용한 가명처리 기법(기타) -

구분 설명 함수
비교 조건이 참일 때, 거짓일 때 분기 처리 IF(조건, True, False)

ex) IF(a > 5, true, false)
수식이 오류로 평가하는 경우 지정한 값을 반환 IFERROR(검사할 수식,
오류 대신 반환할 값)

ex) IFERROR(D5, 0)
찾기 데이터를 찾아서 원하는 데이터를 가져오기 VLOOKUP(찾을 값, 범위,
열번호, 일치옵션)

ex) VLOOKUP("apple",
D5:D15, 1, True)
영역에서 지정된 행 정보 값을 반환 INDEX(범위, 행번호, 열번호)

ex) INDEX(D5:D15, 6, 3)
칼럼 순서 반환 COLUMN([셀])

ex) COLUMN(D5)
지정된 영역에서 지정된 값을 가지는 셀의 개수 COUNTIF(범위, 조건)

ex) COUNTIF(D5:D15, 
"Apple")

 

 

 

 

 

EDA


- EDA -

EDA
정의 파이썬에서 제작된 것으로
데이터 과학 및 통계 분야에서 자주 사용되는 약어로
"탐색적 데이터 분석(Exploratory Data Analysis)"을 의미
특징
  1. 데이터 이해: 데이터의 구조, 패턴, 변수 간의 관계 등을 탐색하여 데이터에 대한 전반적인 이해를 도모

  2. 패턴 발견: 데이터에서 숨겨진 패턴이나 경향을 찾아내어 데이터의 본질을 이해하고 예측 모델에
    적용하기 위한 기초를 제공

  3. 이상치 탐지: 이상치나 오류를 식별하여 데이터의 정확성을 향상

  4. 변수 간의 관계 파악: 다양한 변수 간의 상관 관계나 영향을 파악하여 모델링에 활용할 수 있는 변수를
    선택하거나 새로운 특성을 도출

  5. 시각화: 다양한 시각화 도구를 사용하여 데이터의 패턴을 직관적으로 파악하고 이를 통해
    의사 결정을 내리기 용이하게 함

  6. 가설 생성: 데이터를 통해 특정 가설을 생성하고 이를 검증하기 위한 방향을 제시
종류
  1. Pandas Profiling: Python 판다스(Pandas) 라이브러리를 기반으로 하는 자동화된 EDA 도구
    데이터 프레임에 대한 통계 및 시각화 요약을 생성하여 제공

  2. Seaborn: Matplotlib을 기반으로 하는 Python 시각화 라이브러리로, 통계적 그래픽을 생성하는데
    특화되어 있으며. 히트맵, 페어 플롯, 카운트 플롯 등을 통해 데이터를 시각화

  3. Matplotlib: Python에서 데이터 시각화를 위한 강력한 라이브러리로,
    선 그래프, 산점도, 히스토그램 등 다양한 차트를 생성