정보처리/소프트웨어개발

제품 소프트웨어 패키징 패키징하기 3/3

피갓자 2025. 4. 23. 09:00

제품 소프트웨어 패키징 패키징하기
제품 소프트웨어 패키징 패키징하기

패키징 도구를 활용한 설치, 배포 수행

제품 소프트웨어의 패키징 도구

  • 디지털 콘텐츠의 불법 사용, 복제 방지, 과금 서비스를 통한 정상 사용자를 검증할 수 있는 저작권 도구를 통해 패키징하는 것이 중요

제품 소프트웨어 패키징 도구의 개념

  • 배포를 위한 패키징 시에 디지털 콘텐츠의 지적 재산권을 보호하고 관리하는 기능을 제공하며, 안전한 유통과 배포를 보장하는 도구
  • 불법 복제로부터 디지털 콘텐츠의 지적 재산권을 보호해 주는 사용 권한 제어 기술, 패키징 기술, 라이선스 관리, 권한 통제 기술 등을 포함

패키징 도구 활용 시 고려 사항

  • 암호화/보안 고려 : 패키징 시 사용자에게 배포되는 소프트웨어임을 고려하여 반드시 내부 콘텐츠에 대한 암호화 및 보안을 고려
  • 이기종 연동을 고려 : 패키징 도구를 활용하여 여러 가지 이기종 콘텐츠 및 단말기 간 DRM 연동을 고려
  • 사용자 편의성 고려 : 패키징 도구를 고려하면 사용자의 관점에서 불편해질 수 있는 문제를 고려하여, 최대한 효율적으로 적용
  • 적합한 암호화 알고리즘을 적용 : 암호화 알고리즘이 여러 가지 종류가 있는데, 제품 소프트웨어의 종류에 맞는 알고리즘을 선택하여 배포 시 범용성에 지장이 없도록 고려

제품 소프트웨어 저작권 보호의 이해와 필요성

저작권(Copyright)의 이해

  • 창작물인 저작물에 대한 배타적 독점적 권리로 타인의 침해를 받지 않을 고유한 권리

저작권 보호 기술의 개념

  • 콘텐츠 및 컴퓨터 프로그램과 같이 복제가 쉬운 저작물에 대해 불법 복제 및 배포 등을 막기 위한 기술적인 방법

저작권 보호 기술의 특성

콘텐츠 복제 제한적 허용

  • 복제는 허용하나 사용자 확인을 거쳐 과금, 제품 소프트웨어 패키징 시에 사용자 확인에 대해 상용화 과금 정책 수립이 연계

종량제

  • 종량제 제품 소프트웨어의 경우 요금 부과는 클리어링 하우스를 통한 이용 시간에 비례한 과금

암호화/보안 기능

  • 패키징 도구는 암호화/보안 등의 기능을 고려
  • 패키징 제작자가 지정한 Business Rule과 암호가 함께 패키징되어 배포

저작권 보호 기술의 필요성

  • 배포된 제품 소프트웨어의 무한 복제가 가능하고 원본과 복사본이 동일하게 배포될 특성이 있는 소프트웨어에 대한 저작권 보호 기술이 필요
  • 제품 소프트웨어가 사용으로 배포되면 다양한 부가가치를 가질 수 있는 상품으로 바뀜에 따라 패키징 시에 원작자에 대한 권리 보호가 우선으로 필요

저작권 보호 측면의 패키징 도구

디지털 저작권 관리(DRM)

디지털 저작권 관리(DRM, Digital Right Management) 기능 활용

  • 중앙의 클리어링 하우스에서 콘텐츠 제공자, 분배자, 소비자 간의 패키징 배포 및 키 관리, 라이선스 발급 관리를 수행

DRM 구성요소

콘텐츠 제공자(Contents Provider)

  • 콘텐츠를 제공하는 저작권자

콘텐츠 소비자(Contents Customer)

  • 콘텐츠를 구매해서 사용하는 주체

콘텐츠 분배자(Contents Distributor)

  • 암호화된 콘텐츠를 유통하는 곳이나 사람

클리어링 하우스(Clearing House)

  • 저작권에 대한 사용 권한, 라이센스 발급, 사용량에 따른 관리 등을 수행하는 곳
  • 키 관리 및 라이센스 발급 관리
  • 콘텐츠 권한 정책 : 라이센스 발급 여부를 결정하는 정책에 대한 부합 여부 확인, 적절한 사용 권한을 부여하는 역할 수행
  • 콘텐츠 라이센스 : 클리어링 하우스에 의해서 사용자에게 전달되는 콘텐츠의 권리 인증, 콘텐츠에 대한 사용 조건 및 허가 정보를 포함

DRM 콘텐츠(DRM Contents)

  • 서비스 대상인 암호화된 콘텐츠, 콘텐츠와 관련된 메타데이터, 콘텐츠 사용 정보를 패키징하여 구성된 콘텐츠

패키저(Packager)

  • 콘텐츠를 메타데이터와 함께 배포할 수 있는 단위로 묶는 도구

DRM 컨트롤러(DRM Controller)

  • 배포된 디지털 콘텐츠의 이용 권한을 통제

보안 컨테이너(Security Container)

  • 원본 콘텐츠를 안전하게 유통하기 위한 전자적 보안장치

암호화/보안 기능 중심의 패키징 도구 기술 활용

  • 올바른 패키징 도구의 활용을 위해서는 암호화/보안 기능 중심의 요소 기술을 정확히 이해하고 있어야 함
  • 이 기술을 바탕으로 패키징 작업 시에 도구를 이용하여 나오는 결과물에 대해서도 신뢰할 수 있도록 작업이 되어야 함

패키징 도구 구성

  • 호화(Encryption) : 일반 텍스트, 콘텐츠, 라이선스 등의 암호화 및 전자서명에 사용하는 기술. 예를 들어, 공개키 기반구조(PKI), 대칭 및 비대칭 암호화, 전자서명
  • 관리(Key Management) : 콘텐츠를 암호화한 키에 대한 저장 및 배포 기술(중앙 집중형, 분산형). 예를 들어, HSM, KMS
  • 별 기술(Identification) : 콘텐츠에 대한 식별 체계 표현 기술. 예를 들어, DOI, URI
  • 작권 표현(Right Expression) : 라이선스의 내용 표현 기술. 예를 들어, XrML, MPEG-21
  • 암호화 일 생성(Packager) : 콘텐츠의 암호화를 통해 콘텐츠를 보호하는 기술. 예를 들어, Pre-packaging, On-the-fly Packaging
  • 책 관리(Policy Management) : 라이선스 발급 및 사용에 대한 정책 표현 및 관리 기술. 예를 들어, XML, 콘텐츠 관리 시스템(CMS)
  • 랙 방지(Tamper Resistance) : 크랙에 의한 콘텐츠 사용 방지 기술. 예를 들어, 난독화, Secure DB
  • 증(Authentication) : 라이선스 발급 및 사용의 기준이 되는 사용자 인증 기술. 예를 들어, 사용자/장비 인증, SSO

패키징 도구 구성 세부 기술

  • 공개키 기반구조(PKI) : 인증기관에서 공개키 암호 방식 기반의 전자 서명된 인증서를 발급받아 네트워크상에서 안전하게 비밀통신을 가능하게 하는 기술
  • 대칭 및 비대칭 암호화 : 대칭 암호화는 암호화와 복호화를 위해 동일한 키를 사용하는 암호화 방식. 비대칭 암호화는 데이터를 암호화할 때와 이를 복호화할 때 서로 다른 키를 사용하는 방식
  • 전자서명 : 서명자를 확인하고 서명자가 해당 전자문서에 서명했다는 사실을 나타내기 위해 특정 전자문서에 첨부되거나 논리적으로 결합한 전자적 형태의 정보
  • HSM(Hardware Security Module) : 암호 키를 물리적으로 보호하고 안전하게 관리하기 위한 전용 하드웨어 장치. 키 생성, 저장, 암호 연산을 하드웨어 내부에서 수행하여 높은 보안성을 제공
  • KMS(Key Management Service) : 클라우드 환경에서 암호 키를 생성, 저장, 관리, 로테이션할 수 있는 서비스. HSM 기반으로 동작
  • DOI(Digital Object Identifier) : 디지털 저작물의 저작권 보호 및 정확한 위치 추적을 위해 특정한 번호를 부여하는 일종의 바코드 시스템
  • URI(Uniform Resource Identifier) : 인터넷에 있는 자원을 고유하게 식별할 수 있도록 나타내는 주소. URI=URL(Uniform Resource Location) + URN(Uniform Resource Name)으로 구성
  • XrML(eXtensible Right Markup Language) : 디지털 콘텐츠 / 웹 서비스 권리 조건을 표현한, XML 기반의 마크업 언어
  • MPEG-21 : 멀티미디어 관련 요소 기술들이 통일된 형태로 상호 운용성을 보장하는 멀티미디어 표준 규격
  • Pre-packaging : 콘텐츠를 등록하자마자 암호화하는 방법
  • On-the-fly Packaging : 사용자가 콘텐츠를 요청한 시점에 콘텐츠를 암호화하는 방법
  • MXL(eXtensible Markup Language) : 다른 특수한 목적을 갖는 마크업 언어를 만드는 데 사용하는 다목적 언어
  • MXL(eXtensible Markup Language) : 다른 특수한 목적을 갖는 마크업 언어를 만드는 데 사용하는 다목적 언어
  • CMS(Contents Management System) : 다양한 미디어 포맷에 따라 각종 콘텐츠를 작성, 수집, 관리, 배급하는 콘텐츠 생산에서 활용, 폐기까지 전 공급 과정을 관리하는 기술
  • 코드 난독화(Code Obfuscation) : 역공학을 통한 공격을 막기 위해 프로그램의 소스 코드를 알아보기 힘든 형태로 바꾸는 기술
  • Secure DB : 커널 암호화 방식으로 데이터베이스 파일을 직접 암호화하고, 접근 제어와 감사 기록 기능이 추가된 데이터베이스 보안 강화 기술
  • SSO(Single Sign On) : 한 번의 시스템 인증을 통하여 여러 정보시스템에 재인증 절차 없이 접근할 수 있는 통합 로그인 기술

애플리케이션 배포 도구를 활용한 배포 프로세스

1. 빌드 내용 식별

  • 릴리즈 노트 작성을 위한 모듈 및 빌드 정리
  • 입출력 데이터, 전체적인 기능 정의, 데이터 흐름 정리
  • 기능 단위 및 출력에 대한 상세 정의

2. 패키징 도구 식별

  • 패키징 도구 사전 선택
  • 암호/보안 기능 확인

3. DRM 흐름을 확인하여 패키징 수행

  • 콘텐츠 분배자, 배포자, 소비자 간 DRM 흐름 확인
  • 패키징 수행 시 키 관리, 보안 개념 확인하며 수행

4. 패키징 도구 설치

  • 환경에 맞게 패키징 도구 설치 작업 진행
  • 패키징 도구 설치 완료 후 정상 동작 확인

5. 배포 작업

  • 패키징 도구 설치 이후 제품 소프트웨어의 배포 작업을 진행
  • 배로 후 최종 패키징 완료 확인

6. 정상 배포 확인

  • 암호화/보안 기능 적용 확인
  • 제품 소프트웨어 배포본 기준으로 암호화/보안 기능 체크리스트 확인