KOLAS 공인시험기관이 수행하는 소프트웨어 시험, 특히 ISO/IEC 25024 기반의 데이터 품질 시험에서 성적서의 신뢰성을 담보하는 핵심 요소는 시험 시료의 명확한 식별입니다.
ISO/IEC 17025가 요구하는 시험 결과의 유효성, 재현성, 소급성을 보장하기 위해 해시코드(Hash Code)를 기록하는 올바른 기준과 절차를 정리합니다.
해시코드 기록의 필수성

데이터 품질 숙련도 시험과 내부 시험자 간 비교 시험 모두 해시코드 기록이 원칙적으로 필수입니다.
숙련도 시험에서는 운영 기관으로부터 받은 표준 시료가 전송 과정에서 변조되지 않았음을 입증해야 하며, 내부 비교 시험에서는 두 테스터가 완벽히 동일한 버전의 데이터셋을 대상으로 시험했음을 문서로 증명해야 하기 때문입니다.
이는 추후 외부 평가나 감사 시 시험 절차의 적합성을 방어하는 강력한 수단이 됩니다.
시험 대상의 정의와 해시코드 적용 대상

ISO/IEC 25024는 데이터 품질을 측정하는 표준이므로, 시험의 주체는 웹 서버나 애플리케이션 소스 코드가 아닌 데이터베이스(DB) 그 자체입니다.
따라서 성적서에 기록해야 할 핵심 해시코드는 웹 서버 소스의 해시값이 아닌, 측정 대상이 되는 데이터 파일(DB 덤프, CSV, XML 등)의 해시값이어야 합니다.
웹 서버나 측정 도구의 정보는 시험 환경 정보로 별도 기재하는 것이 바람직합니다.
상황별 해시코드 확보 및 처리 절차
시험 대상이 파일 형태로 제공되는 경우, 시험기관은 파일을 수령하는 즉시 직접 해시값을 추출하여 성적서에 기재합니다.
만약 원격 접속 계정만 부여받는 경우라면, 시험기관이 직접 파일을 소유하지 않더라도 운영 기관에 해당 DB 구축에 사용된 원본 파일의 해시값이나 스냅샷의 체크섬 정보를 요청하여 이를 근거로 남겨야 합니다.
이는 라이브 환경의 변동성으로 인한 결과 불일치 문제를 예방하기 위함입니다.
시험기관의 역할과 성적서 기재
시험기관이 자체적으로 해시코드를 생성하여 성적서에 기록하는 것은 가능할 뿐만 아니라 권장되는 절차입니다.
의뢰자가 해시값을 별도로 제공하지 않았더라도, 시험기관은 제3자적 관점에서 현재 시험하는 대상 파일의 고유값을 직접 측정(추출)하여 성적서에 명시해야 합니다.
이는 시험기관이 특정 시점의 특정 데이터에 대해 검증을 완료했다는 기술적 보증수표 역할을 수행합니다.
결론적으로 성적서의 시험 시료 식별 란에 해시코드를 기재하는 것은 데이터의 무결성과 시험 결과의 객관성을 확보하는 가장 기본적이고 중요한 절차입니다.
운영체제별 MySQL 덤프 파일의 SHA-256 코드 생성 방법

Linux (리눅스)
터미널에서 다음 명령어를 입력합니다.
sha256sum 파일명.sql
macOS (맥)
터미널에서 다음 명령어를 입력합니다.
shasum -a 256 파일명.sql
Windows (명령 프롬프트/CMD)
cmd 창에서 다음 명령어를 입력합니다.
certutil -hashfile 파일명.sql SHA256
Windows (PowerShell)
PowerShell 창에서 다음 명령어를 입력합니다.
Get-FileHash 파일명.sql -Algorithm SHA256
운영체제별 CSV 파일의 SHA-256 코드 생성 방법
Linux (리눅스)
터미널에서 다음 명령어를 입력합니다.
sha256sum 파일명.csv
macOS (맥)
터미널에서 다음 명령어를 입력합니다.
shasum -a 256 파일명.csv
Windows (명령 프롬프트/CMD)
cmd 창에서 다음 명령어를 입력합니다.
certutil -hashfile 파일명.csv SHA256
Windows (PowerShell)
PowerShell 창에서 다음 명령어를 입력합니다.
Get-FileHash 파일명.csv -Algorithm SHA256
OpenSSL (공통)
OpenSSL이 설치된 환경이라면 운영체제와 관계없이 사용 가능합니다.
openssl dgst -sha256 파일명.csv
운영체제별 XML 파일의 SHA-256 코드 생성 방법
Linux (리눅스)
터미널에서 다음 명령어를 입력합니다.
sha256sum 파일명.xml
macOS (맥)
터미널에서 다음 명령어를 입력합니다.
shasum -a 256 파일명.xml
Windows (명령 프롬프트/CMD)
cmd 창에서 다음 명령어를 입력합니다.
certutil -hashfile 파일명.xml SHA256
Windows (PowerShell)
PowerShell 창에서 다음 명령어를 입력합니다.
Get-FileHash 파일명.xml -Algorithm SHA256
OpenSSL (공통)
OpenSSL이 설치된 환경이라면 운영체제와 관계없이 사용 가능합니다.
openssl dgst -sha256 파일명.xml
현장시험이 아닌 DB 파일만 수령시 필수사항
ISO/IEC 25024(데이터 품질 측정)와 같은 기준을 적용할 때, 개발사가 점수를 잘 받기 위해 데이터를 인위적으로 수정(Cleaning)하거나, 오류가 없는 완벽한 더미 데이터만 추려서 제출할 가능성은 분명히 존재합니다.
단순히 파일만 넘겨받아서 검증하면 다음과 같은 문제가 발생할 수 있습니다.
1. 조작 시 발생 가능한 문제 (False Pass)
ISO 25024는 데이터의 '정확성', '완전성', '일관성' 등을 측정합니다. 개발사가 다음과 같이 조작하면 당연히 품질 점수는 만점이 나옵니다.
완전성 조작: NULL 값이 있는 레코드를 모두 삭제하고 제출.
유효성 조작: 이메일 형식이 틀린 데이터를 수정하거나 삭제하고 제출.
일관성 조작: 참조 무결성이 깨진 데이터를 맞추거나 삭제.
이렇게 되면 성적서는 '적합'으로 나오지만, 실제 운영 중인 시스템의 데이터 품질은 엉망인 상태가 유지되므로 테스트의 의미가 없습니다.
2. 이를 방지하기 위한 검증 기관의 대응 절차
제대로 된 시험 인증 기관이라면 단순히 "파일 주세요"라고 하지 않고, 이러한 '데이터 세탁'을 막기 위해 다음과 같은 절차를 밟습니다.
데이터 추출 과정 입회 (Witnessing):
개발자가 데이터를 추출하는 과정을 시험관이 현장에서(또는 원격으로) 직접 지켜봅니다. 운영 서버(또는 운영 데이터를 복제한 스테이징 서버)에서 쿼리를 실행하여 덤프를 뜨는 순간을 확인하고, 그 자리에서 해시값을 생성하여 파일을 가져갑니다. 이 경우 개발사가 몰래 데이터를 수정할 시간이 없습니다.
무작위 표본 추출 (Random Sampling):
개발사가 준비한 데이터 전체를 받는 것이 아니라, 시험관이 지정한 날짜나 특정 조건의 데이터만 추출하도록 요구합니다. 미리 준비된 조작 데이터가 아니라면 즉석에서 대응하기 어렵습니다.
원본 대조 (Verification):
데이터 파일만 보는 것이 아니라, 실제 운영 시스템 화면(UI)에 접속해서 특정 데이터가 DB 파일과 일치하는지 무작위로 열어보며 대조합니다.
3. 현실적인 한계와 결론
만약 시험 기관이 추출 과정에 입회하지 않고 "메일로 덤프 파일 보내주세요"라고만 했다면, 개발사가 데이터를 조작해서 100점짜리 성적표를 받아낼 구멍은 뚫려 있습니다.
따라서 이 테스트가 의미를 가지려면 다음과 같은 조건이 필요합니다.
추출 과정의 투명성: 데이터가 실제 운영 DB에서 추출되었음을 증명할 수 있어야 함 (로그 확인, 입회 등).
비식별화 원칙 준수하되 데이터 값 유지: 개인정보는 가리더라도, NULL 값이나 데이터의 형식(Format) 오류 등 품질 측정에 필요한 '결함'은 그대로 남겨둬야 함.
결론적으로, 단순히 파일을 받아 검사하는 방식이라면 개발사의 조작을 막을 수 없으므로, "현장 입회 하에 데이터 추출"이나 "불시 추출" 방식이 동반되지 않는다면 그 품질 인증은 신뢰하기 어렵습니다.
KOLAS,ISO,25024,데이터품질,소프트웨어시험성적서,해시코드,숙련도시험,시험자간비교,ISO 17025,무결성검증,시험시료식별