주요 콘텐츠로 건너뛰기

파일 해시를 사용하여 보안 강화

파일 해싱은 주로 데이터 무결성, 보안 및 효율성을 보장하기 위해 다양한 이유로 애플리케이션에서 사용되는 기술입니다.

파일 해싱을 사용하려는 이유는 다음과 같이 여러 가지가 있습니다:

  • 데이터 무결성 검증

파일을 전송하거나 저장할 때는 항상 데이터 손상이나 변조의 위험이 있습니다. 해싱 알고리즘(예: MD5, SHA-1, SHA-256)을 사용해 파일 내용에 기반한 해시 값을 생성하면, 애플리케이션은 나중에 해시를 다시 계산하여 원래 해시와 비교함으로써 전송 또는 저장 중 파일이 변경되었거나 손상되었는지 확인할 수 있습니다.

  • 중복 제거

클라우드 스토리지나 백업 시스템과 같은 특정 애플리케이션에서는 저장 공간을 절약하기 위해 파일 중복 제거를 사용합니다. 해싱을 사용하면 중복 파일을 효율적으로 식별할 수 있습니다. 동일한 파일의 여러 복사본을 저장하는 대신, 애플리케이션은 단일 해시를 사용해 중복된 콘텐츠를 나타낼 수 있습니다.

  • 캐시 관리

캐싱 시스템에서는 파일 해싱을 사용하여 특정 파일이 이전에 액세스된 적이 있고 캐시에 있는지 빠르게 확인할 수 있습니다. 해시는 파일의 고유 식별자 역할을 하므로 더 빠른 검색이 가능하고 불필요한 데이터 전송을 줄일 수 있습니다.

  • 데이터 인덱싱 및 검색

파일을 빠르게 인덱싱하고 검색해야 하는 대규모 애플리케이션에서는 파일 해싱을 사용해 해시 테이블과 같은 효율적인 데이터 구조를 구축할 수 있으며, 이를 통해 파일 콘텐츠를 기반으로 빠른 조회와 검색이 가능해집니다.

  • 멀웨어 탐지

안티바이러스 및 보안 애플리케이션은 파일 해싱을 사용하여 알려진 멀웨어와 바이러스를 식별합니다. 이러한 애플리케이션은 파일의 해시를 알려진 악성 해시 데이터베이스와 비교함으로써 해당 파일이 잠재적으로 유해한지 신속하게 판단할 수 있습니다.

Glasswall Halo 이벤트

  1. Glasswall Halo API를 사용하면 파일 유형에 따라 특정 엔드포인트로 요청을 시작하여 프로그래밍 방식으로 상호작용할 수 있습니다:
  • 바이너리 파일의 경우 api/v3/cdr-file 엔드포인트를 사용합니다.
  • Base64로 인코딩된 파일의 경우 api/v3/cdr 엔드포인트를 사용합니다.
  1. 각 요청에서 SHA-256, SHA-1, MD5의 세 가지 서로 다른 형식 중 원하는 조합으로 파일 해시 생성을 요청할 수 있습니다.

  2. 요청이 수신되면 입력 해시가 생성되고, 이후 Glasswall Halo가 Glasswall Embedded Engine을 사용하여 입력 파일을 재구성하고 분석합니다.

  3. 파일이 성공적으로 재구성되면 플랫폼이 출력 파일 해시를 생성하며, 입력 및 출력 해시가 모두 응답 헤더에 반환됩니다.

  4. 요청이 실패하더라도 플랫폼은 이미 입력 해시를 생성했으며, 이 값은 응답 헤더에 반환됩니다.

  5. 이렇게 생성된 입력 및 출력 파일 해시는 애플리케이션 또는 시스템 내에서 보안 검사 수행, 추가 처리 또는 기타 필요한 작업 등 다양한 방식으로 활용할 수 있습니다.

API 인증

Glasswall Halo는 두 가지 인증 유형을 지원합니다: **Basic **및 Bearer 인증. 요청을 보내기 전에 구성에 따라 적절한 방식으로 인증해야 합니다.

Basic

시스템이 Basic 인증으로 구성된 경우 시스템 관리자에게서 조직 ID와 토큰을 받아야 합니다. 이 값을 <OrganisationId>:<Token> 형식으로 결합한 다음 Base64로 인코딩합니다.

결과로 생성된 인코딩 값은 요청 헤더에 포함되어야 합니다:

Authorization: Basic ZGVtbzpwQDU1dzByZA==

Bearer

Bearer 인증의 경우 ID 공급자로부터 발급받은 bearer token이 필요합니다.

토큰을 획득한 후 이를 요청 헤더에 포함합니다:

Authorization: Bearer ZGVtbzpwQDU1dzByZA==

참고: 시스템 구성에 따라 적절한 인증 방법을 사용해야 합니다. 올바른 인증을 사용하면 Glasswall Halo API에 성공적으로 액세스할 수 있으며 권한 부여 문제를 방지할 수 있습니다.

Glasswall Halo 인증에 대해 자세히 알아보기

요청 구성

Glasswall Halo를 사용해 바이너리 파일 또는 Base64로 인코딩된 파일을 처리할 때 SHA-256, SHA-1, MD5를 포함한 여러 해시 유형의 생성을 유연하게 요청할 수 있습니다. API 요청 시 이러한 해시 유형을 원하는 조합으로 지정할 수 있으며, 응답으로 입력 파일과 출력 파일 모두에 대해 생성된 해시 값을 응답 헤더에서 받게 됩니다. 이를 통해 데이터 무결성과 진위성을 보장하고, 애플리케이션 또는 시스템 내에서 파일을 효율적으로 처리할 수 있습니다.

바이너리 파일 처리

POST {baseUrl}/api/v3/cdr-file?generate-hash-types=SHA256,SHA1,MD5

Base64 인코딩 파일 처리

요청 본문에 Base64 인코딩 문자열을 담아 다음 엔드포인트로 제출합니다:

POST {baseUrl}/api/v3/cdr?generate-hash-types=SHA256,SHA1,MD5

요청 본문 형식

요청 본문은 JSON 형식이어야 하며, 파일의 Base64 인코딩 문자열을 포함하는 base64 필드와 원본 파일 이름(적절한 파일 확장자 포함)을 지정하는 filename 필드를 포함해야 합니다.

{
"Base64": "string",
"fileName": "filename.pdf",
}

참고

  • {baseurl}을 Glasswall Halo API의 실제 기본 URL로 바꾸십시오.
  • 각 요청에는 올바른 auth header가 제공되어야 합니다.
  • URL에서 generate-hash-types를 쉼표로 구분된 해시 값 목록으로 설정하면 올바른 해시가 생성되어 응답에 반환됩니다.
  • 바이너리 파일 처리에는 multipart form post를 사용하고, Base64 인코딩 파일 처리에는 적절한 파일 이름과 함께 JSON 요청 본문에 파일 내용을 제공하십시오.

응답 처리

Glasswall Halo API에 대한 요청이 성공하면 201 상태 코드가 반환됩니다. 생성 및 반환할 해시를 요청한 경우 입력 및 출력 해시가 모두 응답 헤더에서 제공됩니다. 응답이 성공하지 않은 경우에는 입력 해시 값만 반환됩니다.

다음 헤더 키로 해시 값을 식별할 수 있습니다:

SHA-256의 경우:

  • 입력 파일 해시: x-hash-sha256-input
  • 출력 파일 해시: x-hash-sha256-output

SHA-1의 경우:

  • 입력 파일 해시: x-hash-sha1-input
  • 출력 파일 해시: x-hash-sha1-output

MD5의 경우:

  • 입력 파일 해시: x-hash-md5-input
  • 출력 파일 해시: x-hash-md5-output

예시

access-control-allow-origin: * 
access-control-expose-headers: *
content-disposition: attachment; filename=18402777-7826-457f-bc02-6446611495e6.zip; filename*=UTF-8''18402777-7826-457f-bc02-6446611495e6.zip
content-length: 288843
content-type: application/octet-stream
date: Fri,21 Jul 2023 12:42:15 GMT
strict-transport-security: max-age=31536000; includeSubDomains
x-applied-policy: service-dynamic
x-file-size: 301189
x-filetype: pdf
x-hash-md5-input: AF5EB421F8AFC69AC4178ACF747E618C
x-hash-md5-output: 8018FC4F37AB858442F354430203CEB4
x-hash-sha1-input: 9C714CAC1F82A450728F3C046CEFEFAF0BBD2C07
x-hash-sha1-output: 058991F3A252F0A4FD0E7F8B3178D3F15494099B
x-hash-sha256-input: 5F83AB533252C00AD1C60A0EFC016BF273497F3179FD6CE642AD8A4857148B8D
x-hash-sha256-output: 9D5D88F073D74160828F92E9E8DADAC5712706C65D49448D9ABA91D8FDC6FC28
x-processing-id: 18402777-7826-457f-bc02-6446611495e6
x-processing-status: rebuilt

요약

Glasswall Halo를 통해 파일 처리 워크플로에서 생성된 해시를 사용하면 운영을 간소화하고, 보안을 강화하며, 애플리케이션의 신뢰성을 향상시킬 수 있습니다. 이러한 요소들이 함께 파일의 무결성과 안전성을 보장하는 더욱 견고하고 복원력 있는 시스템 구축에 기여합니다.

빠른 시작

Glasswall Halo를 직접 사용해 보려면 Quick Start Guide를 참조하세요.