Fixity Pro (1) Fixity 개념, 툴 개요, 체크섬 생성 실습

A. 필요한 장비 및 자료

데스크톱(Windows 또는 Mac)
Fixity Pro (소프트웨어)
Fixity 사용자 가이드 버전 1.1 (2018-05-17)
Fixity Pro 문서

B. 학습 안내

1. 학습 목표

1) 목적
참가자들에게 체크섬의 개념과 디지털 보존에서의 역할을 소개하고, Fixity Pro 소프트웨어를 사용하여 체크섬을 생성하고 분석하는 실습 기회를 제공한다.
2) 실습 목표
이 세션이 끝날 때까지 참가자들은 다음을 수행할 수 있다.
체크섬 개념과 디지털 보존에서의 중요성을 이해한다.
Fixity Pro 인터페이스를 탐색하고 새 프로젝트를 생성한다.
체크섬을 생성할 파일 및 폴더를 선택한다.
적절한 체크섬 알고리즘을 선택하고 적용한다.
선택한 파일의 체크섬을 생성한다.
체크섬 보고서를 해석하고 그 의미를 이해한다.
체크섬이 파일 무결성을 유지하는 데 어떻게 활용되는지 인식한다.

2. 실습 절차

1. 고정성(Fixity) 및 체크섬 개념 이해 (10분)
2. Fixity Pro 소개 및 설정 (30분)
3. 기본 체크섬 생성 실습 (30분)
4. 결과 분석 및 토론 (30분)

3. 고정성과 체크섬

1) 고정성(Fixity)
정의: “디지털 보존의 관점에서 고정성이란 디지털 파일이 변경되지 않고 유지되었음을 보장하는 것”이다. (Bailey, 2014)
적용 대상: 고정성은 단순한 파일뿐만 아니라 디지털 객체 내부의 모든 비트스트림에 적용될 수 있다. 예를 들어, 오디오-비디오 객체의 이미지나 영상, ZIP 파일 내부의 개별 파일, XML 구조 내의 메타데이터, 데이터베이스 내의 레코드, 오브젝트 저장소의 객체 등에 적용될 수 있다.
고정성 검증 방법: 체크섬을 활용하여 파일의 고정성을 확인하고 모니터링할 수 있다.
2) 체크섬(Checksum)
정의: 체크섬은 파일의 ‘디지털 지문’과 같다. 파일의 아주 작은 변화도 체크섬 값을 완전히 바꾼다.
생성 도구: 일반적으로 암호화 기술을 활용하여 생성되며, 다양한 오픈소스 도구를 통해 만들 수 있다.
한계: 체크섬은 파일 내용이 변경되었는지를 감지할 수 있지만, 어디에서 변경이 발생했는지는 알려주지 않는다.
3) 디지털 보존에서의 활용
여러 사본에 대한 체크섬 활용: 정기적으로 각 파일 사본의 고정성을 모니터링하고, 손상된 사본을 변경되지 않은 사본으로 교체 (데이터 정리).
변경 사항 감지 및 관리: 체크섬을 활용해 원치 않는 변경 사항을 감지할 수 있으며, 의도적인 변경 후에는 새로운 체크섬이 필요하다.
정기적인 체크섬 검증: 저장 방식, 유지보수 수준, 사용 빈도에 따라 체크섬 검증 주기를 결정.
체크섬 저장 방식: PREMIS 레코드, 데이터베이스 또는 파일과 함께 매니페스트(manifest) 파일로 저장.
체크섬을 지원하는 도구: md5sum, md5deep 등과 같은 디지털 보존 도구에서 널리 지원됨.
체크섬 알고리즘: MD5와 SHA-256 같은 알고리즘은 강도가 다르며, MD5는 빠르게 손상 감지를 할 수 있고, SHA-256은 보안성이 높음.
NDSA 보존 수준: NDSA 권장사항에 따라 여러 사본을 유지하여 한 사본이 손상될 경우 복구할 수 있도록 함.

4. Fixity Pro 소개 및 설정 (30분)

1) Fixity Pro란?
AVP가 디지털 보존 커뮤니티를 위해 개발한 소프트웨어.
Windows 및 Mac에서 사용 가능하며, 소액의 월 구독료가 필요함.
Fixity Pro의 이전 버전인 Fixity는 무료로 다운로드할 수 있지만, 기술 지원이 제공되지 않음.
2) Fixity Pro를 사용하는 이유
디지털 보존을 고려하여 설계되었으며, 추가적인 보존 기능 제공.
일정에 따라 자동으로 무결성 검사를 수행하며, 오류가 발생했을 때만 직원이 개입하도록 설계됨.
결과를 쉽게 해석할 수 있는 보고서로 저장하고, 이메일 전송 기능 제공.
3) Fixity Pro의 작동 방식
프로젝트 기반 무결성 검사: 프로젝트 단위로 폴더를 모니터링하며, 일일/주간/월간 주기로 검사를 수행하도록 설정 가능.
자동 무결성 검사 및 보고: 자동으로 검사 후 결과를 지정된 폴더에 저장하고, 이메일로 결과 전송.
결과 유형: Fixity Pro는 파일 상태를 “확인됨”, “변경됨”, “새로운 파일”, “삭제됨”, “이동됨 및/또는 이름 변경됨”으로 표시함.
4) Fixity Pro 무결성 검사 결과
Fixity Pro는 각 파일을 검사한 후 다음 상태를 보고합니다: "확인됨"(변경 없음), "변경됨"(파일 내용 변경됨), "신규 파일", "삭제됨", "이동됨 또는 이름 변경됨".
Fixity Pro 사용자 매뉴얼에 따르면, Fixity Pro는 네 가지 주요 기준을 기반으로 파일의 상태를 결정합니다.
5) Fixity Pro 다운로드 및 설치 (무료 체험판)
Fixity Pro의 30일 무료 체험판은 AVP 웹사이트에서 다운로드할 수 있습니다: Fixity Pro 다운로드
설치 및 활성화 튜토리얼은 여기에서 확인할 수 있습니다: Fixity Pro 설치 가이드
‘Register & Download’ 버튼을 클릭하면 이름, 기관, 이메일 주소를 입력하라는 요청이 표시됩니다. 입력 후 확인 이메일이 발송되며, 해당 이메일의 링크를 클릭하면 Fixity Pro 다운로드 페이지로 이동합니다.
다운로드한 파일을 실행하여 설치를 진행하며, 활성화 코드를 입력해야 설치가 완료됩니다. 활성화 코드는 별도로 이메일로 발송됩니다.
무료 체험 기간이 만료되면 월별 또는 연간 구독을 통해 계속 사용해야 합니다.
6) 발신 이메일 설정 (생략해도 됨)
SMTP(Simple Mail Transfer Protocol) 설정
Fixity Pro가 무결성 검사 결과를 이메일로 전송할 수 있도록 이메일 계정을 연결해야 합니다. 이 작업은 SMTP 연결 또는 Gmail API를 통해 수행할 수 있습니다.
SMTP 연결 설정 방법:
1.
SMTP 서버 주소 입력 (예: smtp.office365.com)
2.
이메일 주소 입력 (예: sharon.mcmeekin@dpconline.org)
3.
이메일 계정 비밀번호 입력
4.
연결할 포트 번호 입력
5.
암호화 방식 선택 (SSL, TLS 또는 없음)
위 정보 중 1), 4), 5)번 항목을 모를 경우 IT 담당자에게 문의하거나 이메일 제공업체의 설정 정보를 검색해야 합니다.
Gmail 설정
Gmail 계정 연결은 간단합니다. 다음 단계를 따르세요:
1.
"Google API를 사용하여 이메일 보내기" 옵션 선택
2.
"연결" 버튼 클릭
3.
Gmail 계정 로그인
4.
Fixity Pro가 이메일을 전송할 수 있도록 "허용" 버튼 클릭
이메일 연결을 테스트하려면 "테스트" 버튼을 클릭하세요. 만약 이메일이 도착하지 않는다면 스팸함을 확인하세요.
설정을 저장하려면 "저장" 버튼을 클릭하세요. 현재 이메일 설정을 초기화하려면 "재설정" 버튼을 사용할 수 있습니다.
7) 기타 설정
프로젝트 가져오기(Import Project)
Fixity에서 생성된 프로젝트 파일을 가져와 사용할 수 있습니다.
지원 파일 형식:
이전 Fixity 버전에서 생성된 .fxy 파일
최신 Fixity 버전에서 생성된 .tsv 파일
프로젝트 가져오기 시 포함되는 정보:
디렉토리 목록
수신자 이메일 주소
파일 경로
체크섬 값
파일 시스템 인덱스 위치
스케줄링 정보
체크섬 알고리즘(.tsv 파일만 해당, .fxy 파일은 수동 설정 필요)
필터 파일 정보(.tsv 파일만 해당, .fxy 파일은 개별 프로젝트에서 수동 설정 필요)
프로젝트 가져오기 시 포함되지 않는 정보:
발신 이메일 설정(이 설정은 전역 수준에서 관리됨)
프로젝트 가져오기를 통해 이전 검사 기록(.tsv 파일)을 불러와 특정 시점으로 복원할 수도 있습니다.
디버깅 설정 (Debugging On/Off)
디버깅을 활성화하면 Fixity는 문제 해결을 위한 로그 파일을 생성합니다.
Windows에서는 실행 파일이 있는 폴더에서 로그 파일을 찾을 수 있으며, Mac에서는 실행 파일을 우클릭하여 "패키지 내용 보기 > Java"에서 찾을 수 있습니다.
디버깅을 비활성화하면 로그 기록이 중단됩니다.
보고서 저장 위치 (Reports Location)
체크 결과 보고서를 저장할 폴더를 선택할 수 있습니다. 기본 저장 위치는 "문서(Documents)" 폴더입니다.

5. 기본 체크섬 생성 실습 (30분)

1) Fixity Pro에서 새 프로젝트 생성
Fixity Pro 실행
“New Project” 버튼 클릭
프로젝트 이름 입력 (예: “Checksum 실습”)
“Create” 클릭하여 프로젝트 생성
2) 체크섬 생성할 파일/폴더 선택
“Add Directories to Scan” 섹션에서 “Add Directory” 클릭
팝업 창에서 ‘internal’ 선택 후 “Save” 클릭
‘test-files’ 폴더 선택 후 “Choose” 클릭
3) 체크섬 알고리즘 선택 (MD5 또는 SHA-256)
“Preferences” > “Checksum Algorithm” 이동
MD5 또는 SHA-256 선택 (이 실습에서는 SHA-256 사용)
“Save” 클릭하여 설정 저장
4) 초기 체크섬 생성
Fixity Pro 메인 인터페이스에서 “지금 검사(Scan Now)” 버튼을 클릭하여 체크섬 생성 프로세스를 시작
팝업 메시지가 나타나면 ‘허용(Allow)’ 버튼을 클릭하여 Fixity Pro가 내 PC의 디렉터리에 접근
진행 상태 표시줄이 나타나며, 체크섬 생성 진행 상태를 보여줍니다.
프로세스가 완료될 때까지 기다립니다. 파일의 수와 크기에 따라 몇 분 정도 걸릴 수 있습니다.
3. 완료 후 “View Reports” 클릭하여 결과 확인
5) 생성된 체크섬 확인
프로세스가 완료되면, Fixity Pro 메인 인터페이스의 오른쪽에 ‘마지막 검사(완료)’ 결과가 표시됩니다.
자세한 결과를 보려면 ‘마지막 검사’ 아래의 파란색 "보고서 보기(View Reports)"를 클릭합니다.
로컬 디렉터리에 저장된 .tsv 파일을 열면, 모든 파일과 해당 SHA-256 체크섬 목록을 확인할 수 있습니다.

6. 결과 분석 및 토론 (30분)

1) 일반 개요
위치(Location): Fixity Pro는 두 가지 유형의 보고서를 생성합니다: Fixity 보고서 및 기록(History) 보고서. 기본적으로 이 보고서는 "문서(Documents)" 폴더에 저장됩니다. 보고서 위치는 "설정 > 보고서 위치 변경"을 통해 변경할 수 있습니다.
이메일 전송(Emailing): Fixity 보고서는 검사 실행 시 지정된 이메일 주소로 전송할 수 있습니다. 메인 Fixity Pro 창에서 "보고서 이메일 전송 대상" 항목을 통해 이메일 주소를 설정할 수 있습니다. "경고 또는 실패 시에만 이메일 전송" 옵션을 선택하면, 검사 결과가 부분적이거나 불완전하거나, 파일 상태가 "확인됨"이 아닐 때만 보고서가 전송됩니다.
Fixity Pro가 이메일을 보내려면 "설정 > 발신 이메일 설정"을 통해 이메일을 구성해야 합니다. 자세한 설정 방법은 사용자 가이드의 "일반 설정 및 구성" 섹션을 참고하세요.
2) Fixity 보고서 열기 및 분석
Fixity 보고서는 검사 실행 시 보고서 폴더에 저장되며, 프로젝트에서 지정된 이메일 주소로 전송됩니다. (단, "경고 또는 실패 시에만 이메일 전송" 옵션이 선택된 경우 제외)
Fixity 보고서는 다음과 같은 정보를 포함합니다:
Fixity 보고서: 해당 보고서가 Fixity 보고서임을 나타냅니다.
프로젝트 이름: 보고서가 생성된 프로젝트의 이름을 제공합니다.
프로젝트 상태: 프로젝트 검사가 완료(Complete), 부분 완료(Partial), 또는 불완전(Incomplete)한지 여부를 표시합니다.
완료(Complete): 프로젝트에 지정된 모든 디렉터리를 스캔하고 보고서를 생성함.
부분 완료(Partial): 일부 디렉터리는 스캔했지만, 외부 드라이브 또는 네트워크 드라이브에 있는 디렉터리는 액세스할 수 없었음.
불완전(Incomplete): 응용 프로그램이 충돌하거나, 프로젝트 내 모든 디렉터리가 외부 드라이브/네트워크 드라이브에 위치하여 Fixity Pro가 검사할 수 없었음.
사용된 알고리즘(Algorithm Used): 스캔된 파일의 체크섬을 계산하는 데 사용된 해시 알고리즘을 나타냅니다.
생성 날짜(Date): yyyy-mm-dd 형식으로 보고서가 생성된 날짜를 표시합니다.
총 파일 수(Total Files): 삭제된 파일을 제외하고 스캔된 총 파일 수입니다.
확인된 파일(Confirmed Files): 이전 검사 이후 변경되지 않은 파일 수입니다.
이동 또는 이름 변경된 파일(Moved or Renamed Files): 프로젝트 내에서 다른 위치로 이동되었거나 이름이 변경된 파일을 나타냅니다.
신규 파일(New Files): 이번 검사에서 새롭게 감지된 파일의 수입니다.
변경된 파일(Changed Files): 이전 검사 이후 변경된 파일의 수입니다.
삭제된 파일(Removed Files): 이전 검사에서 존재했지만 이번 검사에서 존재하지 않는 파일의 수입니다.
스캔되지 않은 파일(Not Scanned): 이전 검사에서는 존재했지만, 이번 검사에서는 외부 드라이브/네트워크 드라이브 문제로 인해 스캔할 수 없었던 파일 목록입니다.
"스캔되지 않은 파일(Not Scanned)" 아래에는 각 파일의 경로와 해당 파일의 상태가 포함됩니다. "파일 필터링" 설정을 통해 제외된 파일은 목록에 나타나지 않습니다.
3) 체크섬 보고서 열기 및 분석
기록(History) 보고서는 검사 실행 시마다 기록 폴더에 저장됩니다. 보고서 파일명은 "projectname_yyyy-mm-dd-hhmmss.tsv" 형식으로 저장됩니다.
이 보고서는 시간이 지남에 따라 파일 상태의 변화를 추적하며, Fixity 보고서에서 특정 파일 상태가 어떻게 보고되었는지 이해하는 데 도움을 줍니다.
또한, Fixity 프로젝트를 다른 컴퓨터로 이전하거나 특정 시점의 검사 기록으로 되돌리는 데 사용할 수도 있습니다.
기록 보고서는 다음 정보를 포함합니다:
프로젝트 이름
Fixity Pro 버전
프로젝트에 포함된 디렉터리 경로
보고서를 생성한 프로젝트의 상태
보고서 수신 이메일 주소 목록
프로젝트의 스캔 일정 정보
보고서가 생성된 날짜 및 시간(군사 시간 형식 hh:mm:ss)
프로젝트에서 설정된 기본 설정
스캔 시 사용된 체크섬 알고리즘
각 파일의 체크섬 값, 파일 경로, 파일 인덱스 값, 마지막으로 스캔된 날짜 및 시간 등이 포함됩니다.
4) 체크섬 값 이해하기
서로 다른 파일의 체크섬 값을 확인합니다.
SHA-256의 경우 각 체크섬 값은 고유한 64자 문자열입니다.
파일이 조금이라도 변경되면 체크섬 값이 완전히 달라집니다.
5) 유사한 파일의 체크섬 비교
동일한 파일의 다른 버전(예: 문서의 다른 버전)의 체크섬을 비교합니다.
파일의 미세한 변경도 완전히 다른 체크섬 값을 생성한다는 것을 확인합니다.
6) 파일 유형별 체크섬 패턴 식별
다양한 파일 유형(.txt, .jpg, .pdf 등)의 체크섬을 비교합니다.
동일한 유형의 파일에서 유사한 패턴이 나타나는지 확인합니다.
7) 토론 주제
체크섬을 사용하여 파일 무결성을 장기적으로 유지하는 방법은?
SHA-256이 MD5보다 갖는 이점은 무엇인가?
디지털 보존 워크플로우에서 체크섬을 어떻게 활용할 수 있을까?
파일 무결성 검사의 한계는 무엇인가?

C. 추가 참고사항

Fixity Pro의 가격, 오픈소스로 제공되지 않는 이유, 다른 컴퓨터에서 사용하는 방법 등에 대한 자세한 내용은 ‘Fixity Pro 문서’를 참조하세요.

D. 참고문헌

Anonymous. (2018, July 31). Digital Archiving at the University of York: Checksum or Fixity? Which tool is for me? Digital Archiving at the University of York. https://digital-archiving.blogspot.com/2018/07/checksum-or-fixity-which-tool-is-for-me_70.html
Archives, T. N. (n.d.). The National Archives—2. Ingest [Text]. Archives Sector; The National Archives. Retrieved November 1, 2024, from https://www.nationalarchives.gov.uk/advice-and-guidance/managing-your-collection/preserving-digital-collections/digital-preservation-workflows/2-ingest/
Fixity and checksums—Digital Preservation Handbook. (n.d.). Retrieved October 29, 2024, from https://www.dpconline.org/handbook/technical-solutions-and-tools/fixity-and-checksums
Fixity Pro. (n.d.). AVP. Retrieved October 29, 2024, from https://home.fixitypro.com/fixity-pro/
Fixity Pro | AVP | Aviary. (n.d.). Retrieved November 1, 2024, from https://weareavp.aviaryplatform.com/collections/1229
Kussmann, C. (n.d.). Research Guides: Digital Preservation Tool Guides: Checksum tools. Retrieved October 29, 2024, from https://libguides.umn.edu/dp-tool-guides/checksum
Which checksum algorithm should I use? (2020). Digital Preservation Coalition. https://doi.org/10.7207/twgn20-12
Wyk, C. S.-V. (n.d.). LibGuides: Digital preservation: Fixity. Retrieved October 29, 2024, from https://ufs.libguides.com/c.php?g=1113411&p=8118678