* 애플리케이션 패키징
- 개발 완료된 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가 설치되어 사용자 권한에 따라 암호화/복호화 수행
'정보처리기사 > 필기' 카테고리의 다른 글
[정보처리기사] Part02-01-1. 논리 데이터 저장소 확인 (7) | 2023.01.05 |
---|---|
[정보처리기사] Part02-03-2. 제품 소프트웨어 메뉴얼 작성 (0) | 2022.07.15 |
[정보처리기사] Part02-05-3. 인터페이스 구현 검증 (0) | 2022.02.25 |
[정보처리기사] Part02-02-2. 통합구현 관리 (0) | 2022.02.25 |
[정보처리기사] Part02-02-1. 모듈 구현 (0) | 2022.02.25 |
댓글