티스토리 뷰

개인정보 비식별화 관련 국내외 오픈/상용 도구 현황 중 내가 분석할 것으로 고른 것은 다음과 같다.


공개 소프트웨어 : Open Anonymizer, sdcMicro

상용 소프트웨어 : PARAT, IDENTITY SHIELD


1. 공개 소프트웨어


- Open Anonymizer


Open Anonymizer는 말 그대로 오픈된 익명화하는 것, 즉 오픈 소스와 유사한 개념으로 볼 수 있다. 공개된 장소에서 무료로 사용할 수 있도록 제공된 tool이라고 볼 수 있다. 그 종류로는 JonDo, Tor, VPN, Proxy, DICOM 외에도 tool들이 존재한다. 여기에서 JonDo, Tor, VPN, Proxy에 대해서 분류하면 다음과 같은 특성으로 할 수 있다.


- JonDo, Tor, VPN, Proxy 분류.

 

분류된 표를 참고하면 JonDo라는 tool이 우수한 것으로 판단되었고, tool에 대해서 설명해보겠다. JAP or Java 익명성 프록시로 알려져 있는 JonDo는 사용자의 IP 주소를 위장하기 위해 상호 연결된 프록시 서버를 사용한다. 그러나 Tor와는 달리, 오로지 노드로써 증명된 파트너를 이용한다. 접근할 방법을 선택하기 위해 몇몇 프록시 결합이 있다. 거기서 나라의 위치를 볼 수 있고 그래서 향상된 보안과 빠른 접근을 선택할 수 있다. 아래의 그림과 같은 원리로 JonDo는 처리된다.


JonDo의 동작 원리.


JonDo를 설치하고 실행하는 것을 설명하자면 다음과 같다. 아래의 그림과 같이 우선 실행을 하면 자신이 원하는 proxy-mixed를 선택하여 사용할 수 있다.



옆의 'Anonymity'에 있는 On, Off Radio box를 선택하여 실행할 수 있는데 Off를 선택하면 다음과 같이 Anonymous가 실행이 되지 않는다.



반대로, On을 선택하면 JonDoAnonymous를 실행하여 IP 주소 같은 값을 자신의 값이 노출되지 않도록 할 수 있다.



- sdcMicro


sdcMicroMicrodataRisk Estimation의 익명화를 위한 Statistical Disclosure Control Method이다. 여기서 Disclosure란 공개된 데이터를 사용하여 이전에 알려지지 않은 정보를 밝힐 때 발생하는 것을 뜻한다. Method들은 real complex data의 혼란요소와 Disclosure Risk를 측정하는 것, 그리고 2.10 이후에 R 언어를 사용한 Method에서는 원래의 데이터와 변형된 데이터를 비교하는 것을 대처하는 등 기능을 한다. 코드는 github에 공개되어있다각 소프트웨어(μ-Argus 4.2, sdcMicro 1.0.0, 4.3.0 이상, sdcMicroGUI 1.1.0 이상, IHSN)가 제공하고 있는 Method아래의 표와 같다. ()안에 체크된 표시는 제한적으로 지원되는 것을 의미한다. 상당히 많은 진화 과정이 있었음을 알 수 있는 부분이다.


- 각 소프트웨어에 지원되는 Method 목록.


여기서 sdcMicro GUI는 단순히 클릭을 하면 실행되는 GUI를 제공하기 때문에 R에 대한 지식이 따로 필요 없다. 그래서 그에 대해서 설명을 하도록 하겠다. 우선적으로 sdcMicro GUI를 켰을 때, 아래와 같이 실행 되는 것을 알 수 있다. 여기서 Data Import를 통해 test.csv 파일을 importing한다.


- 실행 초기 화면.



- .csv 파일 importing 미리보기 화면.


실행 초기 화면에서 csv 파일을 선택하면 위의 미리보기 화면으로 넘어가게 된다. Import를 하고 나면 아래의 그림과 같이 바뀐다. 초기화면에 not selected라고 나오면서 아무것도 들어가 있지 않은 것과는 다르게 Identifiers, Categorical, Continuous에 값이 기록된 것을 볼 수 있다.


- Identifiers Tab.


Identifiers Tab에는 선택된 key 변수와 보조 변수들에 대한 여러 정보가 담겨있다. key 변수를 선택할 수도 있고, 초기화할 수도 있으며, direct identifiers를 제거할 수 있다.


- Categorical Tab.


위의 그림은 K라는 상수에 따라(여기서는 3) 단계적으로 익명화가 이루어진 결과를 볼 수 있다.(k-익명성) 그에 따른 FrequencyRisk 정보가 나와 있다.


- Categorical Tab에서 Protection 부분의 Recode를 눌렀을 때 나오는 화면.


여기서는 Numeric인지 Factor인지 type을 선택할 수 있다. 여기서 Factor를 선택했을 때 parameter에 따라 Frequency가 정해지고 그에 따라 level이 결졍된다. 그리고 그 factor를 가지고 plot이 구성되고 roof가 결정되는 것을 볼 수 있다.


- Continuous Tab.


연속적인 변수를 보호하기 위해 가장 유사한 관찰사항을 모아놓아(Microaggregation) 결정론적으로 보호하거나, 상관관계가 있는 noise를 추가하고(Add noise), 난수화(Shuffling)를 통해 교란적인 보호를 행한다.


- 기존 Tab에서 View script를 실행한 화면.


위에서는 각각 줄에 대한 번호와 그에 따른 R로 구현된 script를 볼 수 있다. 어떤 절차로 실행이 되었는지 알 수 있다. 이를 통해 부분적인 작업을 보았는데, 간단하게 작업의 흐름을 나타내면 아래와 같다. 위에서는 이해하는 것이 편하도록 GUI를 이용하였지만 CLI를 사용하여도 똑같은 흐름을 가졌고, 재현 가능한 결과를 낼 수 있다는 점이 동일하다.



- 작업 흐름도


2. 상용 소프트웨어


- PARAT


PARATPrivacy Analytics에서 출시한 차세대 비식별 소프트웨어로 검증된 위험 기반 방법을 사용하여 구조화된 데이터를 탈식별한다. Apache Spark를 사용하여 구축하였고, 최근 의료용 Big Data까지 관리할 수 있는 수준에 이르렀으며, Risk 기반의 평가와 비식별 데이터들의 흐름이 동료 심사를 거친 알고리즘 기술이 사용되었다. 다음과 같은 과정으로 데이터가 변환된다고 볼 수 있다.


- PARAT을 활용한 데이터 변환 과정.


정확한 간격과 연속 정보가 있으면 조금 수정을 하면서 유지하고(Preserve), 타당한 결과를 보증하기 위해서 구체화하기 위해 계속 유지할 부분은 유지하고(Retain), 이름과 같은 부분은 바꾸어서(Change) 보존한다. 이런 보존된 결과를 가지고 장기적이거나 양이 많은 데이터를 다룰 때 유용하게 쓰인다. 이 외에 좀 더 세세하게 알고 싶은 부분이나 궁금증이 생기는 부분이 있다면 다음 URL을 통해서 확인 가능하다.


http://knowledgebase.privacy-analytics.com/index.php?/category/9/0/10/PARAT/

 

상용 소프트웨어이기 때문에 직접 다운로드받아 사용해보지는 못했지만, 인터넷에 올라와 있는 자료를 가지고 어떤 기능이 있는지 분석을 해보도록 하겠다. 첫 화면은 아래와 같다.


- PARAT의 기본 화면.


기본적으로 데이터 모델을 정의할 수 있고(Data Definition), 데이터를 import/export할 수 있고(Import/Export), 익명화(Anonymization)할 수 있다.


- Data Model 화면.


위의 그림은 Data Definition에서 Data Model을 눌러서 관계가 있는 데이터들이 묶여있는 Dataset의 모델을 확인할 수 있는 부분이다. 트리구조를 이용해 관련성을 나타낸다. 관련된 데이터들이 묶여있는 DatasetModeling을 토대로 분류하는 작업을 실시하면 다음과 같은 화면이 나오는 것을 알 수 있다.


- 선택된 테이블에서 비식별화할 속성값을 분류.


테이블을 하나 선택해서 해당 테이블을 기준으로 관련이 있는 테이블들에 따라 분류하고 있는 것을 볼 수 있다. 여기서는 Demographic_v8이라는 테이블을 선택하였고 관련된 테이블로서 Diagnosis_v8, Hospitalvisit_v8이 나오고 있다.


- 분류된 속성값을 적용한 화면.


Anonymization에서 Anonymization Definition을 누르면 각 분류한 식별자에 따른 비식별화 기법을 적용시키는 것을 알 수 있다. 다른 것들에 영향을 주지 않기 위해서 디폴트 값으로 부른다. 또한, 분류를 통해 마스킹을 할 것인지, Generalization을 할 것인지 등을 결정한다. 추가적으로 식별자의 이름을 직접 선택하면 분류나 비식별화 기법 외에 우선순위나 단계, 설명 등 좀 더 자세한 정보를 볼 수 있고, 이름을 변경할 수도 있다.


- IDENTITY SHIELD


IDENTITY SHIELD는 국내 중소기업인 이지서티에서 개발한 비식별화 솔루션이다. 빅데이터 내 개인정보 비식별 가이드라인을 준수하고, 개인정보가 포함된 빅데이터 분석, 활용에 관리적기술적 보호조치를 제공한다. 이 또한 상용 소프트웨어이기 때문에 솔루션을 직접 사용해보지는 못했고, 물론 예시 화면도 보여줄 수가 없다. 그러나 설명이 세세하게 나와 있으므로 설명하는 것으로 대체한다. 솔루션에는 다음과 같은 기능들이 존재한다.


- IDENTITY SHEILD에서 제공하는 기능.


IT, 의료, 금융, 유통 등 국내외의 빅데이터 활용성이 증가함에 따라 필요한 기능들이 추가적으로 생겼고, 수많은 데이터의 개인정보 보호성이 대두되었다. 그래서 기본적으로 개인정보 빅데이터 비식별화 도구로서 만족해야하는 기능을 충족하고 있고, 그 이외에 추가적인 편의 기능을 추가해 놓은 것으로 보인다. 특장점으로 비식별 조치 핵심 원천기술 확보, 최적의 비식별 조치 업무 프로세스, In-Memory 기술을 통한 고속 비식별 처리 기술을 내세우고 있다. 특히 여기서 개인정보 필터링 원천기술에 대해서 지적 재산권을 보유하고 있는 것으로 보아 이 회사만의 장점이라고 볼 수 있다.


- 기대효과.


기대효과로는 위의 그림과 같다. 개인정보 비식별 조치 가이드라인 준수, 개인정보 보호 강화, 업무 효율성 증대, 빅데이터 활용의 혁신적인 아이디어 발굴이 있다.


- IDENTITY SHIELD의 비식별화 조치 절차.


위와 같은 절차를 단계적으로 밟아서 비식별조치를 취한다. 대부분의 절차가 개인정보 비식별화 조치 가이드라인’ 에서 제시하는 비식별 조치 방법과 유사한데, 다른 점은 2장에서도 설명했던 K-익명성 모델 이외에도 L, T 알고리즘을 개별 또는 자동적용 기능을 제공하여 사용자의 작업을 단순화한다는 것이다.


앞에서 정리된 내용이 직접 실행해보지 못한 도구도 있기 때문에 정확하지는 않지만, 최대한 사실에 기반하여 작성한다고 작성하였다. 문제점이 있는 부분이 존재한다면 연락해 주시면 감사하겠다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함