A Privacy-Preserving Approach to Conformance Checking
본 논문은 프로세스 모델과 이벤트 로그 중 어느 한쪽도 상대방에게 노출되지 않도록 안전하게 불일치를 식별하기 위해 동형 암호화와 문자열 처리 알고리즘을 활용한 프라이버시 보호 준수 확인 접근법을 제안하며, 이는 높은 계산 및 메모리 요구 사항이라는 대가를 치른다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
이 논문은 쉬운 언어와 일상적인 비유를 사용하여 설명한 것입니다.
큰 그림: 재료를 보지 않고 레시피 확인하기
자신만의 주문으로 만든 케이크를 주문한 고객이라고 상상해 보세요. 당신은 제빵사가 당신의 특정 레시피 (프로세스 모델) 를 따르고 있는지, 그리고 주방에서 실제로 취하는 단계가 당신이 요청한 내용과 일치하는지 확인하고 싶습니다.
보통 이를 확인하려면 제빵사가 비밀 레시피책을 보여주고, 당신은 비밀 주문서를 보여줘야 합니다. 하지만 제빵사가 당신의 비밀 레시피를 도둑질할까 봐 걱정하거나, 당신이 제빵사의 비밀 주문 내역을 볼까 봐 걱정한다면 어떨까요?
이 논문은 어느 쪽도 상대방의 비밀 정보를 결코 보지 않은 채 케이크가 올바르게 만들어지고 있는지 확인하는 방법을 제안합니다.
문제: 프라이버시 대 확인
비즈니스 소프트웨어 세계에서 '준수 확인 (Conformance Checking)'은 계획된 워크플로우 (레시피와 같은) 와 실제 발생한 기록 (주방 로그와 같은) 을 비교하는 과정입니다.
- 모델: '기대되는' 경로 (레시피).
- 로그: '실제' 경로 (셰프가 실제로 한 일).
전통적으로는 제 3 자 (또는 데이터 소유자) 가 두 가지를 모두 살펴서 실수를 찾습니다. 하지만 고기술 제조와 같은 민감한 산업에서는 기업들이 비밀 설계도를 공유하고 싶지 않고, 고객들은 비밀 주문 내역을 공유하고 싶지 않습니다.
해결책: '마법 상자'와 '검색 엔진'
저자들은 이 프라이버시 퍼즐을 해결하기 위해 두 가지 주요 도구를 사용하는 시스템을 개발했습니다.
1. 마법 상자 (동형 암호화)
동형 암호화를 특별한 '마법 상자'라고 생각하세요.
- 비밀 숫자를 상자에 넣을 수 있습니다.
- 누군가에게 상자를 열거나 숫자를 보지 않고 그 숫자에 5 를 더하라고 요청할 수 있습니다.
- 그들은 상자 안의 '암호화된' 숫자에 대해 수학 계산을 수행한 후 결과를 돌려줍니다.
- 상자를 열면 결과는 올바른 답 (원래 숫자 + 5) 이 됩니다.
이 논문에서 '클라이언트 (추적을 가진 사람)'는 자신의 데이터를 이 마법 상자에 넣습니다. '서버 (모델 소유자)'는 실제 데이터를 결코 보지 않은 채 상자 안에서 확인 계산을 수행합니다.
2. 검색 엔진 (FM-Index 및 문자열 처리)
단계가 일치하는지 확인하기 위해 시스템은 전체 프로세스 모델을 하나의 거대한 텍스트 문자열로 변환합니다 (레시피를 긴 문장으로 바꾸는 것과 같습니다). 그런 다음 해당 텍스트 위에 초고속 **검색 엔진 (FM-Index)**을 구축합니다.
일반적으로 검색 엔진은 단어를 입력하면 텍스트에서 해당 단어가 나타나는 위치를 즉시 찾아줍니다. 여기서는 시스템이 이 검색 엔진을 사용하여 클라이언트 로그의 '단계'가 모델 텍스트의 '단계' 내에 존재하는지 확인합니다.
작동 방식: '역방향 검색' 게임
논문은 일치 여부를 확인하기 위해 클라이언트와 서버 사이에서 진행되는 특정 게임을 설명합니다.
- 준비: 서버는 비밀 모델을 가져와 긴 텍스트 문자열로 변환하고, 그 위에 검색 엔진 (FM-Index) 을 구축합니다. 이를 비밀로 유지합니다.
- 쿼리: 클라이언트는 비밀 단계 목록 (추적) 을 가지고 있습니다. 이 단계들이 모델에 맞는지 알고 싶어 합니다.
- 비밀 검색:
- 클라이언트는 자신의 단계 목록을 역방향으로 (마지막 단계에서 첫 번째 단계로) 봅니다.
- 단계를 직접 보내는 대신, 클라이언트는 서버에게 '잠긴' 요청을 보냅니다.
- 서버는 검색 엔진을 사용하여 모델에서 해당 단계를 찾습니다.
- 중요하게도: 서버는 이 계산을 '마법 상자' 안에서 수행합니다. 서버는 실제 단계 이름을 보지 못하고 암호화된 숫자만 봅니다.
- 서버는 결과를 클라이언트에게 돌려줍니다.
- 클라이언트는 결과를 해제하여 단어가 발견되었는지 확인합니다.
- 실수 처리 (로그 이동): 클라이언트 목록의 단계가 모델과 일치하지 않으면 시스템은 '건너뛰기 (Log Move)'를 허용합니다. 마치 "좋아, 이 단계는 레시피에 없었지만 다음 단계가 맞는지 보자"라고 말하는 것과 같습니다. 시스템은 서버에게 실수를 드러내지 않고 다시 시도할 수 있도록 실수 전 위치를 기억합니다.
함정: 느리고 무겁다
이 논문은 이것이 훌륭한 프라이버시 해결책이지만, 대가가 따른다고 인정합니다: 속도와 메모리.
- 비유: 종이에 간단한 수학 문제를 푸는 데 1 초가 걸린다고 상상해 보세요. 이제 그 종이를 납으로 된 금고에 넣고 친구에게 보내고, 친구가 두꺼운 유리창을 통해 계산을 수행하게 한 후 다시 돌려받는다고 가정해 보세요. 훨씬 더 오래 걸립니다.
- 결과: 저자들은 실제 데이터와 가짜 데이터로 이를 테스트했습니다. 그들은 프로세스 확인에 추적당약 1.12 분이 걸린다는 것을 발견했습니다. 정확하지만 암호화 없이 확인하는 것보다 훨씬 느립니다. '마법 상자 (암호화)'는 많은 컴퓨터 성능과 메모리를 필요로 합니다.
주장 요약
- 그들이 한 일: 한쪽도 다른 쪽의 데이터를 보지 않고 프로세스 로그가 프로세스 모델과 일치하는지 확인하는 시스템을 구축했습니다.
- 그들이 한 방법: 빠른 텍스트 검색 알고리즘 (FM-Index) 과 '마법 상자' 암호화 방법 (동형 암호화) 을 결합했습니다.
- 그들이 발견한 것: 작동합니다! 불일치를 안전하게 확인할 수 있습니다.
- 한계: 암호화 수학이 무거워 현재 매우 느리고 많은 메모리를 사용합니다. 또한 아직 '모델 이동 (모델 내 단계 건너뛰기)'이 아닌 '로그 이동 (로그 내 단계 건너뛰기)'만 처리합니다.
요약하자면, 이 논문은 비밀 레시피와 비밀 주문을 서로 노출하지 않고도 일치 여부를 확인할 수 있음을 증명하지만, 현재 계산을 수행하는 데 시간이 많이 걸린다는 것을 보여줍니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.