본문 바로가기
정보처리기사/필기

[정보처리기사] Part02-03-1. 제품 소프트웨어 패키징

by 채연2 2022. 7. 15.

* 애플리케이션 패키징

- 개발 완료된 SW를 고객에게 전달하기 위해 패키징, 설치 및 사용 매뉴얼 작성하는 활동

 

   ● 특징

      - 개발자가 아닌 사용자 중심 진행

      - 신규 및 변경 개발 소스 식별하고 이를 모듈화하여 상용 제품으로 패키징

      - 고객 편의 위해 신규/변경 이력 확인하고 이를 버전 관리 및 릴리즈 노트 통해 지속적 관리

      - 사용자 실행 환경 이해하고 범용 환경에서 사용 가능토록 일반적인 배포 형태로 분류하여 패키징 진행

 

   ● 사용자 중심 애플리케이션 패키징

      * 사용자 실행 환경 이해

         - OS, 실행 환경, 시스템 사용, 개발 언어, 고객 사용 방법까지 상세 분석하여 실행 환경 사전 정의

         - 다양한 실행 환경 나오면 별도 애플리케이션 패키징 작업 필요

 

      * 고려사항

         - 사용자 OS,  시스템 사양(CPU, Memory, Disk) 등 최소 환경 고려

         - 직관적인 화면 고려하고 매뉴얼과 일치시켜 패키징 작업 진행

         - 애플리케이션은 HW와 함께 통합 적용 가능토록 패키징은 Managed Service 형태로 제공

         - 다양한 사용자 요구사항 반영 위해 패키징 변경 및 개선 관리 고려

 

   ● 애플리케이션 패키징 순서

      1. 기능 식별

         - 신규 개발 소스 목적 및 기능 식별

         - 입출력 데이터, 전체적인 기능 정의 및 데이터 흐름 식별

 

      2. 모듈화

         - 모듈 단위 분류 및 모듈화 순서 맞게 진행

         - 수행 위한 기능 단위 및 서비스 분류와 패키징 개념에서의 기능 공유와 재활용 단위 분류

 

      3. 빌드 진행

         - 애플리케이션 빌드 도구 활용한 빌드 단위별로 진행

         - 신규 개발 소스 및 컴파일 결과물 준비

         - 빌드 도구 확인 및 정상 수행 여부 확인

 

      4. 사용자 환경 분석

         - 고객 편의성 위한 사용자 요구 사항 및 사용 환경 사전 분석

         - 사용자 PC OS, 서버 사양, 네트워크 환경 등 분석

 

      5. 패키징 적용 시험

         - 최종 패키징에 대해서 사용자 입장에서 불편한 점 체크

         - 사용자 환경과 동일 환경에서 패키징 적용 수행

         - 화면 사용 및 시스템 상 편의성 체크

 

      6. 패키징 변경 개선

         - 사용자 입장 반영하여 패키징 변경 및 개선 진행

         - 사용자 최소 PC 사양에서 서비스 가능한 수준의 개선 포인트 도출

 

   ● 애플리케이션 릴리즈 노트

      - 애플리케이션 최종 사용자에게 전달되는 제품에 대한 공유 정보

      - 애플리케이션 패키징 버전 별 릴리즈 노트는 제품의 주요 변경 사항 담고 있음

 

      * 작성 항목

         - 헤더 : 문서명, 제품명, 버전 번호, 릴리즈 일지, 노트 버전 등

         - 개요 : 제품 및 변경에 대한 간략한 개요

         - 목적 : 릴리즈 버전 새로운 기능 목록과 목적, 버그 수정 및 신규 기능 등

         - 이슈 요약 : 버그 간단 설명 또는 릴리즈 추가 항목 요약

         - 재현 항목 : 버그 발견에 따른 재현 단계 기술

         - 수정/개선 내용 : 수정/개선 간단 설명 기술

         - 사용자 영향도 : 버전 변경에 따른 최종 사용자 기준 기능 및 응용 P/G 상의 영향도 기술

         - SW 지원 영향도 : 버전 변경에 따른 SW 지원 프로세스 및 영향도 기술

         - 노트 : SW 및 HW Install 항목, 제품, 문서 포함한 업그레이드 항목 메모

         - 면책 조항 : 회사 및 표준 제품과 관련된 메세지, 프리웨어 ,불법 복제 방지, 중복 등 참조에 대한 고지 사항

         - 연락처 : 사용자 지원 및 문의 연락처


* 애플리케이션 배포 도구

- 애플리케이션 배포 위한 패키징 시 디지털 콘텐츠 지적 재산권을 보호하고 관리하는 기능 제공 및 안전 유통/배포 보장하는 도구이자 솔루션

 

   ● 구성요소

      - 암호화 (Encryption)

         ▶콘텐츠 및 라이선스 암호화하고, 전자 서명 하는 기술

         ▶PKI, Symmetric/Asymmetric Encryption, Digital Signature

 

      - 키 관리 (Key Management)

         ▶콘텐츠 암호화한 키에 대한 저장 및 배포 기술

         ▶Centralized, Enveloping

 

      - 암호화 파일 생성 (Packager)

         ▶콘텐츠를 암호화된 콘텐츠로 생성하기 위한 기술

         ▶Pre-packaging, On-thefly Packaging

 

      - 식별 기술 (Identification)

         ▶콘텐츠에 대한 식별 체계 표현 기술

         ▶DOI, URI

 

      - 저작권 표현 (Right Expression)

         ▶라이선스 내용 표현 기술

         ▶XrML/MPEG-21 REL, ODRL

 

      - 정책 관리 (Policy management)

         ▶라이선스 발급 및 사용에 대한 정책표현 및 관리 기술

         ▶XML, Contents Management System

 

      - 크랙 방지 (Tamper Resistance)

         ▶크랙에 의한 콘텐츠 사용 방지 기술

         ▶Code Obfuscation, Kernel Debugger Detection, Module Certification

         ▶Secure DB, Secure Time Management, Encryption

 

      - 인증 (Authentication)

         ▶라이선스 발급 및 사용 기준 되는 사용자 인증 기술

 

   ● 고려사항

      - 반드시 암호화/보안 고려 > 패키징 시 반드시 내부 콘텐츠에 대한 암호화/보안 고려

      - 추가로 다양한 이기종 연동 고려 > 이기종 콘텐츠 및 단말기 간 DRM 연동 고려

      - 사용자 편의성 위한 복잡성 및 비효율성 문제 고려

      - 애플리케이션 종류에 적합한 암호화 알고리즘 적용

      - 지속적 배포 (CD, Continuous Deployment) 고려 > CI와 연계한 지속적 배포 고려, 빠른 제품 출시 효과 기대


* 애플리케이션 모니터링 도구 (ARM, Application Performance Monitoring)

- 애플리케이션 성능과 서비스 이용성 감시/관리하는 데 초점을 둔 도구이자 소루션

- 사용자 환경 제품 소프트웨어 설치 시 애플리케이션 성능 모니터링하여 제품 장애 미리 예방 가능

 

   ● 기능

      - 애플리케이션 변경 관리

         ▶ 애플리케이션 간 종속 관계 모니터링

         ▶ 애플리케이션 변경 있을 경우 변경 영향도 파악에 활용

         ▷ 도구 : ChangeMiner

 

      - 애플리케이션 성능 관리

         ▶ 애플리케이션 서버로 유입되는 트랜잭션 수량, 처리시간, 응답시간 등 모니터링

         ▷ 도구 : Jeniffer

 

         ▶리눅스 서버 자원에 대한 모니터링 도구

         ▶ nmonanalyser 이용하여 자원 사용량 그래프로 표현 가능

         ▷ 도구 : Nmon (GPL v3)

 

      - 애플리케이션 정적 분석

         ▶ Java 소스 코드 잠재적인 문제 발견 가능

         ▶ Java 코딩 규칙 오류 발견 가능

         ▷ 도구 : PMD (BSD, LGPL)

 

         ▶ C/C++ 소스 코드 잠재적인 문제 발견 가능

         ▷ 도구 : Cppcheck (GPL v3)

 

      - 애플리케이션 동적 분석

         ▶ valgrind 프레임워크와 STP(Simple Theorem Prover) 기반으로 구현

         ▶ 심각한 SW 에러 및 취약점 발견 가능

         ▷ 도구 : Avalanche (GPL v2)

 

         ▶ C/C++ 기반 프로그램 메모리 및 쓰레드 문제 발견 가능

         ▷ 도구 : Valgrind (GPL v2)


* DRM (Digital Rights Management)

- 디지털 콘텐츠 생성에서 이용까지 유통 전 과정에 걸쳐 디지털 콘텐츠를 안전하게 관리/보호하고, 부여된 권한 정보에 따라 디지털 콘텐츠 이용 제어/통제 하는 기술

- 각종 미디어 접근 및 사용 권한을 서버 인증 통해 중앙 집중식으로 통제

 

   ● 특징

      - 저작권자와 콘텐츠 유통업자 사이 거래구조 투명성 제공

      - 사용 가능 횟수, 유효기간, 사용 환경 등 사용 규칙 제공

      - 이메일, 디지털미디어, 네트워크 등 통한 자유로운 상거래 제공

 

   ● 구성

      - 콘텐츠 분배자는 콘텐츠를 받아 소비자에게 유통시킴

         ▶ 콘텐츠 제공자 (DRM Server)

              - 콘텐츠 : 서비스 대상으로 암호화된 콘텐츠, 메타 데이터

              - 패키저 : 클리어링 하우스에서 부여받은 콘텐츠 사용 정보를 암호화한 콘텐츠로 변환하는 도구

 

         ▶ 클리어링 하우스

              - 사용 권한 정책 : 라이선스 발급 여부 결정하는 정책, 적절 사용 권한 부여하는 역할 수행

              - 라이선스 : 사용자에게 전달되는 콘텐츠 권리 인증 정도

 

         ▶ 콘텐츠 소비자 (DRM Client)

              - DRM 컨트롤러 : 배포된 디지털 콘텐츠 이용 권한 통제

              - 보안 컨트롤러 : 원본 콘텐츠를 안전하게 유통하기 위한 전자적 보안장치

 

   ● 기술요소

      - 콘텐츠 패키징 기술

         ▶ 콘텐츠 패키징 구조 : 패키징된 콘텐츠 내부 구조 표현하는 기술

         ▶ 콘텐츠 파일 포맷 설계 : 패키징된 콘텐츠 포맷에 대한 기술 규격 설계

         ▶ 복합 콘텐츠 패키징 : 여러 개 콘텐츠 묶어 패키징하는 기술

         ▶ 콘텐츠 암호화 : 콘텐츠 기밀성, 무결성 보장 위한 기술

 

      - 권리 표현 기술

         ▶ 권리 데이터 사전 : 권리 요소에 대한 정의

         ▶ XML 기반 권리 표현 언어 : 구문과 스키마 설계

         ▶ 다이나믹 사용 규칙 표현 : 다양한 비즈니스 모델 지원하는 라이센스 생성 기술

         ▶ 저작권 관계 표현 : 가치사슬 관계 저작권 정보 표현 기술

 

      - 워터마킹/핑거 프린팅 기술

         ▶ 워터마킹 : 다양한 공격에도 충분한 강인성 유지하는 기술

         ▶ 핑거프린팅 : 불법 추적 위한 핑거프린팅 정보 삽입 침 추철

         ▶ 공격 및 평가 : 기술 강인성 검증 위한 공격 및 평가 기술

 

      - 복제 방지 기술

         ▶ 디바이스 인증 : 콘텐츠 전송단과 수신단 간 상호 인증 처리

         ▶ 비밀키 교환 : 콘텐츠 전송단과 수신단 간 안전한 비밀키 교환 기술

         ▶ 디바이스 폐기/회복 : 훼손된 디바이스 폐기 및 회복 기술

         ▶ 암호화 : 콘텐츠 전송단과 수신단 간 안전한 콘텐츠 전송 위해 암호화 하는 기술

 

      - 콘텐츠 식별 체계

         ▶ 식별자 구문 구조 : 식별자 구문 구조에 대한 기술 규격 정의

         ▶ 식별자 변환 : 식별자 실시간 변환 기술

         ▶ 식별 메타데이터 관리 : 공통 사용되는 기본 메타 데이터 구조 설계

 

      - DRM 도메인 간 상호연동

         ▶ DRM 간 상호 인증 처리 : DRM 시스템 간 상호 인증 처리 기술

         ▶ DRM adaptation : 상이한 DRM 기술 간 콘텐츠 및 권리 정보 변환 기술

         ▶ 훼손된 DRM 모듈 폐기 처리 : 훼손된 DRM 시스템 인증 폐기 처리 기술

 

   ● 모바일 DRM

      - 무선 디지털 콘텐츠 유통 시장에서 콘텐츠 및 지적 재산권 보호 기술

      - 스마트폰 OS(iOS, 안드로이드)에 의존적

      - 스마트폰에 DRM Agent가 설치되어 사용자 권한에 따라 암호화/복호화 수행

320x100

댓글