IT/영어 공부노트
[가명처리 솔루션] 개발 프로젝트 결과보고서 본문
반응형
I. 프로젝트 개요
1. 프로젝트 소개
1) 다양한 분야에서의 가명처리 플랫폼
- 개인정보보호법에 기반한 교육 분야의 개인정보를 안전하게 가명처리하는 시스템
- 개인정보처리자가 보다 더 쉽고 간편하게 해당 플랫폼을 활용해 직접 가명처리를 할 수 있도록 하는 시스템 제공
2) 가명처리 플랫폼 신뢰성과 안정성 확보
- 가명정보 사용 목적에 맞는 비식별화 필터 제공을 통한 가명처리 안정성과 효율성 증진
- 데이터 접근 권한 관리를 통한 신뢰성 확보
2. 개발 배경 및 필요성
1) 추진 배경 및 필요성
- 2020년 개정된 데이터 3법에 따라 개인정보 정의에 가명정보, 익명정보 등이 추가되어 개인정보 활용 확대
- 가명정보는 추가 정보에 의해 식별 가능정보가 될 수 있으므로, 안정성 확보에 필요한 기술 및 관리 필요
- 한국데이터산업진흥원 2022 데이터산업 백서, 국내 데이터 산업 시장 21년 기준 약 24조 규모로 성장 예상
- 공공기관 및 민간기업이 활용 가능한 개인정보 범위가 확대되며 식별 가능 방지를 위한 차별화된 가명처리 솔루션 중요성 대두
2) 개발 배경
- 개인정보 보호 중요성 증가해 데이터 활용과 개인정보보호의 균형 유지 필요
- 개인정보 보호법 개정으로 가명정보 제도 도입, 통계 작성, 과학적 연구, 공익적 기록 보존 등의 목적으로 제3자가 정보주체의 동의 없이도 활용 가능
3) 제작 동기
개인정보 보호 강화: 개인정보 보호법 개정으로 인해 가명정보의 활용이 가능, 그러나 가명정보의 처리에 대한 안전성 미약
4) 목적
- 가명처리 과정에서의 재식별 위험 가능성 모니터링 시스템을 통한 안전성 및 신뢰성 향상
- 자동 데이터 전처리 지원을 통한 편리한 데이터 처리 기능 제공
- 비전문가도 사용할 수 있는 가이드라인 지원
3. 프로젝트 특 · 장점
1) 가명처리 시스템 안전성 및 신뢰성 향상
개인정보 유출 방지를 위한 최소한의 접근 권한 부여 및 로그 기록 관리
2) 가명정보 처리 가이드라인에 근거한 각 프로세스 지원
3) 개인정보 가명처리 및 필터링
- 가명처리 대상 종류에 따른 가명처리 기법 적용
- 적용 기법: 데이터 마스킹, 데이터 삭제, 부분 삭제, 로컬 삭제 기법 적용
II. 프로젝트 내용
1. 프로젝트 구성도
1) 시스템 구성도
해당 그림은 본 프로젝트의 전체적인 구성을 나타냄 본 프로젝트의 가명처리 솔루션은 GUI 상에서 작동하는 프로그램으로, 동작하는 과정을 담고 있음 1. 가명처리 진행 – 사용자가 가명처리 솔루션을 통해 선택한 기능 정보를 서버에 요청 2. 데이터 검색 – 가명처리를 진행하기 위한 데이터가 존재하는지, DB에 검색 요청 3. 결과 반환 – 데이터의 존재 유무와 함께 결과 값을 반환, 데이터가 존재할 시 서버에 인가 4. 가명처리 요청 – 해당 데이터를 가명처리 시스템에 전달 후, 식별자에 따라 가명처리 기법 선정 및 가명처리 진행 ex) 해당 데이터가 문자열일 경우, 마스킹 기법 적용 / 데이터가 범주형일 경우, 라운딩 처리 또는 삭제 기법 적용 5. 데이터 반환 및 요청 – 가명처리된 데이터를 저장함과 동시에 재식별 판별을 위한 데이터 요청 6. 데이터 반환 – 재식별 판별을 위한 가명처리된 데이터와 원본 데이터 전달 7. 탐지 요청 – 가명처리 데이터에 대한 재식별률 판별 요청 8. 결과 반환 – 레벤슈타인 알고리즘을 적용해, 가명처리 데이터와 임의로 생성한 재현데이터 사이의 유사도를 측정 -> 재식별률과 함께 재식별 가능성이 있는 정보를 반환 ex) 가명처리 된 데이터의 구성 : 나이, 주민번호, 계좌번호, 은행 이름, 전화번호 생성한 재현데이터의 구성 : 이름, 거래내역, 거래날짜 주민번호와 계좌번호 정보를 가명처리했더라도, 거래내역과 계좌번호 / 은행이름을 매칭했을 때 해당 정보가 누구인지 식별 가능함 -> 재식별 가능성이 있는 정보라고 할 수 있음 9. 추가 가명처리 – 재식별 가능성이 있는 정보를 가명처리 기법을 선정해 추가 가명처리 진행 10. 데이터 반환 – 추가 가명처리를 진행한 데이터를 반환 11. 최종 데이터 저장 – 해당 데이터를 DB에 저장 요청 12. 최종 데이터 반환 – 해당 데이터를 사용자에게 전달 및 표시 13. 기능 반복 – 사용자가 프로그램을 종료할 때까지 원하는 기능을 반복 |
2) 기능 흐름도
기능 흐름도 : 일반 사원 해당 프로젝트는 단순 가명처리부와 가명정보 관리부로 나누어 다룰 수 있는 기능을 다르게 제작 -> 데이터의 기밀성 유지 1. Main menu : 사용자가 가명처리 솔루션을 사용할 때의 초기화면을 의미 / 데이터 전처리, 가명처리, 데이터 조회, 저장의 기능 존재 2. Data Processing : 데이터의 행렬 구조 및 파일 확장자 파악 후 가명처리를 위한 통일된 양식으로 가공 3. Pseudonymization : 데이터의 특성에 따라 가명처리 기법 선정 및 가명처리 진행 ex) 나이 : 43 -> 가명처리 진행 -> 나이 : 30대에서 40대 사이 4. Server : 데이터의 전달 및 저장을 위한 기능 요청의 역할 5. DataBase: 가명처리 솔루션에 필요한 데이터를 저장하는 공간 --------------------- 1. 로그인/회원가입 성공 후, 기능 이용 선택시, 할당된 데이터 전달 요청 2. Server가 요청을 승인해, DB에 데이터 검색 2.1 데이터 존재하지 않을 시 예외 처리 2.2 데이터 존재 시 개인 저장소에 저장 3. 데이터 저장 후, 사용자에게 데이터 인가 4. 데이터 전처리 5. 가명처리 진행 |
기능 흐름도 : 관리자 authorization : 가명처리 솔루션을 사용할 수 있는 접근 권한의 부여, 제한, 접속 기록 관리 2nd Pseudonymization : 재식별 가능성이 있는 데이터 추가 가명처리 --------------------- 1. 로그인 2. 접근 관리의 기능을 선택했을 경우, 가명처리 솔루션을 사용할 수 있는 사용자의 접근을 제한하거나 부여 2.1 사용자 접속 로그 관리 – 불법으로 접속한 사용자의 유무와 함께 접속 추적할 수 있는 로그 제공 2.2 사용자 접근 권한 관리 – 퇴사, 이직 등의 이유로 사용자가 가명처리 솔루션을 사용하지 않을 때, 해당 권한을 회수 및 사용자 정보 삭제 3. 가명정보 요청 -> 데이터 유무에 따른 결과값 반환 재식별 위험 분석을 선택했을 경우, 해당 사용자에게 재식별률과 재식별 가능성이 있는 데이터를 반환해 2차 가명처리를 할 기법 선정 후 추가 가명처리 4. 추가 가명처리한 데이터를 DB에 저장 |
2. 프로젝트 기능
1) 전체 기능 목록
구분 | 기능 | 설명 | 현재진척도(%) |
S/W | 로그인 기능 | 가명처리 솔루션을 사용하기 위한 기능 | 100% |
회원가입 기능 | 가명처리 솔루션을 사용하기 위한 계정을 등록하는 기능 | 100% | |
아이디 찾기 기능 | 사번과 이름을 입력하면 해당 아이디를 보여주는 기능 | 100% | |
비밀번호 재설정 기능 | 아이디와 사번, 이름을 입력하면 메일로 비밀번호를 수정할 수 있도록 하는 기능 | 100% | |
사내메일 인증 기능 | 본인인증을 하기 위한 기능, | 100% | |
회원정보 수정 기능 | 사번, 이름 변경 불가 그 외 정보를 수정하는 기능 |
100% | |
회원 탈퇴 기능 | 이직 또는 퇴사 시 확인 절차를 통한 탈퇴 기능 | 100% | |
로그아웃 기능 | 로그아웃 기능 | 100% | |
데이터 확장자 파악 기능 | 데이터 파일 확장자를 파악해 변환할 수 있도록 사전 준비하는 기능 | 100% | |
파일 확장자 변환 기능 | 원본 데이터 파일을 .csv 파일로 변환하는 기능, | 100% | |
부분 삭제 기능 | 개인정보 일부를 삭제하는 기능 | 100% | |
삭제 기능 | 원본 정보에서 개인정보를 단순 삭제하는 기능 | 100% | |
로컬 삭제 기능 | 특이정보를 해당 행 항목에서 삭제하는 기능 | 100% | |
마스킹 기능 | 특정 항목의 일부 또는 전부를 공백 또는 문자로 대체하는 기능 | 100% | |
재식별 가능성 정보 표시 기능 | 재식별 위험 가능성이 있는 정보를 표시하는 기능, | 100% | |
재식별 가능성 정보 처리 기능 | 재식별 위험 가능성이 있는 정보를 처리하는 기능, | 100% | |
불법 로그 제어 기능 | 접근 권한이 없거나 만료된 계정에서 해당 시스템에 접근하는지 탐지하는 기능, | 100% | |
접속 추적 기능 | 불법 로그 탐지, 또는 보안 상의 이유로 인한 사용자의 로그를 추적할 수 있는 기능, | 100% | |
접근 제어 기능 | 인증된 사용자에게만 해당 시스템에 접근할 수 있도록 하는 기능, |
||
권한 제한 기능 | 부서에 따라 시스템에서 사용할 수 있는 기능을 제한하는 기능 가명처리 가이드라인에 의해, 보안을 유지하기 위해 사용되는 기능, |
100% |
2) S/W 주요 기능
기능 | 설명 |
가명처리_삭제 | 1. 부분 삭제 - 민감한 정보를 포함하거나 개인을 식별할 수 있는 일부 데이터를 제거하거나 가명화하는 것 2. 로컬 삭제 - 민감한 정보를 포함한 데이터나 파일을 해당 기기나 시스템에서 영구적으로 제거 3. 전체 삭제 - 민감한 정보를 포함한 데이터나 파일을 완전히 제거하는 절차 |
가명처리_마스킹 | 1. 임의 잡음 추가 - 데이터의 가명화 과정에서 무작위로 생성된 잡음(랜덤한 데이터)을 원래 데이터에 추가하는 것 2. 기호와 대체 - 민감한 정보를 특정한 기호나 대체 문자열로 변환하여 개인을 식별하기 어렵게 만드는 것 3. 공백과 대체 - 민감한 정보를 데이터 내에서 특정한 값으로 대체하거나 공백 처리하는 방법 |
데이터 전처리 | 1. 다양한 확장자 - 폴더 형태 및 csv 단독 파일을 불러올 수 있도록 지원 2. Null 값 확인 - csv 데이터 안 널 값 유무 파악 3. 독립변수의 이름 확인 / 가명처리 기법 추천 - csv 파일 독립변수 이름 리스트로 저장 후 가명처리 기법 추천하는 기능 추가 |
3. 주요 적용 기술
- 로그 데이터 기록 및 관리
- 가명처리 기법 적용
- 접근권한 설정
- 재식별 가능성 정보 출력
4. 프로젝트 개발 환경
구분 | 상세내용 | ||
S/W 개발환경 |
OS | Window, MacOS | |
개발환경(IDE) | Visual Studio, Anaconda | ||
개발도구 | UML, ERDcloud, MariaDB, AWS elastiCache, AWS apache, AWS EC2 server | ||
개발언어 | Python, SQL | ||
기타사항 | x | ||
프로젝트 관리환경 |
형상관리 | GIT, Github | |
의사소통관리 | Notion 및 Github 활용 | ||
기타사항 | 메신저 어플 ‘카카오톡’ 사용 |
5. 프로젝트 작동 동영상
6. 결과물 상세 이미지
필터링 기능을 이용한 재식별 가능 정보 및 특이정보 출력
접속 기록 관리 및 로그 데이터 출력
7. 달성 성과
█ | 프로그램 등록 |
등록자명 | 프로그램명 | 등록처 | 등록일자 |
김정민 | 가명처리 솔루션 | 한국저작권위원회 | 2023. 11. 14. | ||
█ | 특허/실용신안 출원 |
출원자명 | 특허/실용신안명 | 출원번호 | 출원일자 |
김정민 | 가명처리 솔루션 | 4-1-2023-5298918-15(출원신청 번호) | 2023. 11. 14. |
III. 프로젝트 수행 내용
1. 업무분장
번호 | 성명 | 역할 | 담당업무 |
1 | 멘 토 | 프로젝트 총괄, 팀 프로젝트 진행 멘토링 및 정보 전달 | |
2 | 지도교수 | ||
3 | 팀 장 | - GUI 틀 제작, 가명처리 기법 구현, 적정성 검토 일부 구현 | |
4 | 팀 원2 | - GUI 수정, 가명처리 기법 구현, 처리 환경에 대한 위험성 검토 일부 구현 | |
5 | 팀 원3 | - 로그 추출 기법 구현, GUI 제작 및 수정, 마스킹 기법 일부 구현 | |
6 | 박소정 | 팀 원4 | - 안전한 관리 중 권한에 따른 기능 설정, GUI 제작 및 수정, 마스킹 기법 일부 구현 |
7 | 팀 원5 | -GUI 제작 및 수정, 가명처리 기법 중 삭제 기법 구현 |
반응형