달력

122024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'프로그래밍'에 해당되는 글 43건

  1. 2016.07.08 스택(Stack)
  2. 2016.07.08 DRM
  3. 2016.07.08 잡다한1
  4. 2016.07.08 잡다한
  5. 2016.07.08 DNS & IP 주소체계
프로그래밍/It 용어 2016. 7. 8. 11:30

 스택의 정의

"스택"이란 여러 개의 데이타 항목들이 일정한 순서로 나열된 자료 구조로, 한쪽 끝에서만 새로운 항목을 삽입하거나 기존 항목을 삭제할 수 있도록 고안된 것이다


 스택의 원리

스택은 동전을 넣고 뺄 수 있도록 되어 있는 동전 케이스와 같은 작동 원리를 가지고 있다. 삽입된 동전들은 케이스 내부에 일정한 순서로 저장된다. 먼저 삽입된 동전은 케이스의 가장 아래쪽에 위치하고 가장 최근에 삽입된 동전은 입구에 놓인다


 스택의 성질

스택에 저장된 데이타 항목들 중에 먼저 삽입된 것은 나중에 삭제되고, 나중에 삽입된 것이 먼저 삭제된다. 그래서 스택을 후입 선출 리스트(Last- In-First-Out List)라고 부른다. 선입 선출법을 사용하는 와는 상반된 성질을 가진다


 스택의 구조


  • 스택은 기저(base)로부터 데이타 항목들을 차례로 쌓아올린 모양을 가진다.
  • 삽입과 삭제는 현재 저장된 최상위 항목이 위치한 top 에서만 일어난다.
  • top 위치는 "스택 포인터"라는 지시자가 가리킨다.
  • 스택 포인터는 스택 기저에서 시작하여 항목이 삽입되면 하나 증가하고, 삭제되면 하나 감소한다.
  • 스택에는 한계가 있어서 그 한계를 초과하도록 삽입할 수 없다.

 스택에 데이타 항목 삽입 (push)

데이타 항목을 삽입하려면 스택 포인터를 하나만큼 증가시켜 주고 스택의 top 에 데이타 항목을 저장한다. 데이타 항목을 삽입하기 전에 새로운 항목을 저장할 빈 공간이 있는지 검사해야 한다.
 



full 검사

다음의 그림처럼 스택이 가득차 있으면 새로운 데이타 항목을 삽입할 수 없다. 데이타 항목을 삽입하기 전에 먼저, 스택 포인터가 스택의 한계에 도달해 있는지 검사해야 한다.
 


 

 

 스택에서 데이타 항목 삭제 (pop)

데이타 항목을 삭제하려면 스택의 top 에 있는 데이타 항목을 제거하고 스택 포인터를 하나만큼 감소시켜 준다. 데이타 항목을 삭제하기 전에 스택이 비어있는지를 검사해야 한다.
 



 empty 검사

다음의 그림처럼 스택이 비어 있으면, 데이타 항목을 삭제할 수 없다. 데이타 항목을 삭제하기 전에 스택 포인터가 기저에 도달해 있는지를 검사해야 한다.
 



 

'프로그래밍 > It 용어' 카테고리의 다른 글

트랜잭션  (0) 2016.07.11
Spring (스프링)  (0) 2016.07.11
DRM  (0) 2016.07.08
잡다한1  (0) 2016.07.08
잡다한  (0) 2016.07.08
Posted by 당구치는 개발자
|
프로그래밍/It 용어 2016. 7. 8. 11:21

DRM(Digital Rights Management: 저작권 관리 시스템)은 네트워크에서의 다양한 컨텐츠를 제공자 (Content Provider: CP)로부터 고객(Client)로 안전하게 전달하고 이 고객이 불법적으로 컨텐츠를 유통하지 못하도록 하는 시스템 기술이다. DRM시스템에서 있어 가장 중요한 기술은 암호화 기술로서 고객의 비밀 번호 혹은 고객 컴퓨터의 고유번호를 암호 키로 사용하여 컨텐츠를 암호화하여 전달하기 때문에 이를 복사하여 제3자에게 전달하여도 풀리지 않도록 하는 점이 가장 중요하다. 물론 DRM은 이외에도 컨텐츠 사용규칙 제어기술, 과금 결제를 위한 기술 등의 부대적인 기술들이 필요하다. 


이중에서 암복호화 기술은 멀티미디어 컨텐츠의 유통에 있어서 불법유통이나 불법복제를 방지하기 위한 핵심 기술로서, 컨텐츠를 특정한 암호 키를 이용하여 암호화시킴으로써 적법한 사용자만이 복호화하여 컨텐츠를 사용할 수 있도록 하는 기술이다. 기존의 컨텐츠 전잘 시스템은 사용자 ID와 비밀번호만을 사용하고 있는데 이런 경우 ID와 비밀번호를 공유함으로써 쉽게 컨텐츠를 불법으로 사용할 수 있다는 문제가 있다. 이것을 해결하기 위하여 (1) 고객 컴퓨터의 고유 ID를 변형하여 사용하는 방법 (2) 고객의 PKI키나 은닉된 개인 키를 사용하는 방법이 있다

고객 컴퓨터의 고유번호, 예를 들면 HardDisk 번호 라든가 혹은 CPU번호를 이용하여 컨텐츠를 암호화 시키는 경우가 있지만 컴퓨터의 고유번호는 누구나 쉽게 접근할 수 있기 때문에 보안성이 떨어진다는 단점이 있다. 따라서 가장 일반적인 DRM암호화 방법은 PKI 개인키처럼 개인 비밀키를 컴퓨터에 내장하고 이를 사용하는 방식이다. 2001 10 Beal Screamer라고 지칭하는 사람이 MS-DRM '깨었다'고 선언하여 상당한 화제가 되고 있는데 이는 MS-DRM의 개인키 숨기는 모듈로부터 개인키를 뽑아내는 방법을 찾아내었기 때문이다. 이처럼 고객의 고유키로 암호화할 경우 장점은 다운로드 받은 컨텐츠를 제3자에게 전달하여도 제3자의 컴퓨터에서는 작동이 불가능하다는 점이다. 이 점을 이용하여 DRM시스템은 컨텐츠의 불법 복제와 유통을 방지할 수 있는 것이다

다음으로 중요한 DRM의 부품기술은 컨텐츠 사용 규칙 제어기술이다. 이는 고객의 지불(Payment)형태에 따라 컨텐츠의 사용 횟수와 형태, 사용기간, 3자 양도 등을 제어하는 기술이다. 그 외에도 지불 시스템과 고객 관리 시스템과의 연동, 고객 과금 처리 등의 요소 기술이 DRM을 구성하는 중요한 요소이다.



[그림 1] DRM (Digital Rights Management)


위의 [그림 1] DRM을 이용한 저작물 유통 서비스의 한 예로, 저작물을 가진 공급자(CP)와 지불 시스템을 연결하여 저작물을 제공하며 사용자에게는 암호화하여 저작물을 전달한다. 순서상으로 본다면 사용자가 네트워크에서 이미지나 오디오, 비디오 등의 저작물을 신청하고 지불을 하게 되면 지불시스템에서는 지불 승인을 통보하게 되고, 정당한 사용자인 경우에 한해 저작물을 암호화하여 네트워크상에서 사용자에게 전송하게 된다

이미지, 오디오, 비디오 등의 저작물은 다운로드 되는 경우와 스트리밍으로 전송 받는 경우가 있으며 사용자측에서 이미지를 보거나 오디오를 듣거나 비디오를 감상하는 경우 저작자(CP)측이 제공하는 브라우저(Browser) PC, PDA등에 설치되어야 한다. 사용자의 불법복제나 Play횟수를 제한하는 사용규칙 제어 기능은 대체로 이 브라우저를 통해서 이루어진다. 그런데 이 브라우저에는 사용자의 비밀번호 관리프로그램이 들어있기 때문에 이 브라우저으 보안성이 대단히 높아야 한다는 점이 DRM시스템의 성공의 관건이다. 최근에는 실행 파일을 역으로 작동시켜 소스 코드를 복원하는 tempering기술이 많이 발달되어 이를 방지하기 위한 temper-proofing기술이 필요하다. 사실상 DRM시스템의 안전성은 이 브라우저의 안전성에 달려 있다고 해도 과언이 아니다

DRM
이 사용자에게는 단순히 브라우저만을 가진 시스템으로 보이지만 실제로는 대단히 복잡하고 많은 시스템이 연동되어 돌아가고 있다. DRM이 사용자들의 요청을 받아들여 저작물을 보내려면 키관리 시스템(KMS: Key Management System)과 지불 연계시스템(Payment Gateway), 저작물 관리 DB, 공연규칙 DB, 저작물 사용권 이전을 위한 Super Distribution 서버가 있어야 한다

키 관리 시스템(KMS)에서는 등록된 사용자만 접근을 허용하고 불법적인 사용자에게는 시스템에 접근하지 못하도록 사용자 ID와 패스워드를 확인하는 기능을 가지고 있다. 지불 연계 시스템 (Payment Gateway)에서는 신용카드, 지로, 전자 지갑, 사이버 머니, 은행 자동 이체 등의 다양한 지불 수단을 연결할 수 있어야 하며 저작물을 제공하기 이전에 지불 승인을 먼저 받는 것이 일반적이다. 사용자의 실적에 따라 쿠폰을 발행하거나 마일리지 프로그램을 시행하는 것도 필요하며 홍보성 이벤트 관리도 이 부분에서 이루어지게 된다. 저작물 관리 DB에는 저작물이 저장되며 사용자의 요청이 있을 경우 이를 사용자 ID에 상응하는 암호를 이용하여 암호화하거나 네트워크 통신량을 줄이기 위해 압축하여 보내는 경우도 있다. 예를 들어 음악의 경우 일반적으로 원음을 MP3, AAC, 혹은 WMA 등의 형식을 사용하여 압축하고 사용자측에 있는 브라우저에서 압축을 풀면서 음악이 연주되거나 비디오가 플레이된다

대부분의 경우 사용자의 비밀 번호 혹은 ID를 가지고 컨텐츠를 서버에서 암호화하고 이를 사용자에게 보낸 다음, 사용자측의 컴퓨터에 설치된 브라우저를 통해서 플레이(Play)시 복호화가 진행된다. 얼마전까지만 하여도 암호화 알고리즘의 보안성에 대한 논란이 있었으나 최근 암호화 알고리즘 중에는 수학적으로 보안성이 증명된 공개 알고리즘이 많이 나와 있기 때문에 DRM 시스템에서의 알고리즘의 보안성에 대한 논란은 많지 않다.

 

 

DRM의 정의


DRM
Digital Rights Management의 약자로 직역하면 디지탈 권리관리정도로 해석할 수 있다. 음악 파일이나 동영상 파일, 문서 파일에 대한 권리를 제공하는 기술로 허가된 사용자 이외에는 접근할 수 없도록 제어하는 기술이 DRM이다. 기본적으로 복사방지 기술은 포함되어 있고 사용자의 레벨에 따라서 여러 정책들을 적용시킬 수 있는데 기간제한이나 횟수제한, 혹은  읽기권한 제한 및 수정제한 등이 그것이다.


DRM의 종류


DRM
은 어떤 종류의 컨텐츠에 적용하느냐에 따라서 여러 분류로 나눌 수 있지만 크게 2가지로 나눌 수 있다.


문서 DRM


회사 내부에서 사용하는 문서들을 제어하는 DRM 기술이다. 보통 회사의 문서관리 시스템에 연동해서 구축하며 문서를 열람할 수 있는 사용자들을 구별해서 읽기, 수정 등의 기능을 제한하도록 한다. 또한 회사 이외에서의 접근을 막거나 제한하도록 하여 외부로의 유출을 방지하고 외부인력이 접근할 때 제한을 두어 정보의 유출을 막는데 이용되는 기술이 문서DRM 기술이다. 국내에서는 파수닷컴이나 마크애니 등의 회사에서 이 서비스를 제공한다.


멀티미디어 DRM


동영상이나 음악 컨텐츠들을 제어하는 DRM 기술이다. 최근 음제협 등이 저작권을 무기로 마구 사용자들을 유린하고 있는데 그것을 어느정도 강화시켜줄 수 있는 기술이기도 하고 이통사들이 자신들의 수익으로 많이 먹어주고 있는 기술도 바로 멀티미디어 DRM이다. 멜론, 도시락, 뮤직온 등의 각 이통사에서 제공하는 DRM이 멀티미디어 DRM이라고 보면 된다.

멀티미디어 DRM은 문서 DRM과 달리 파일 개별로 동작하는 경우가 많고 복제방지를 비롯한 녹음 등의 캡쳐방지에 기간제한, 횟수제한 등의 다양한 정책을 지원한다. 문서 DRM보다 어찌보면 더 엄격하게 지원하는 경우도 많다.


DRM 구성


문서 DRM과 멀티미디어 DRM의 구성요소는 많이 다르니 멀티미디어 DRM을 기준으로 설명하겠다. DRM은 기본적으로 DRM을 적용하는 Agent와 인증을 담당하는 Server로 구성된다.


Agent


DRM Agent
는 보통 개인용 PC에 설치되며 대부분이 윈도 기반으로 만들어져있다. Agent MS 오피스 프로그램이나 WinAmp, KMP, 곰플레이어 등의 멀티미디어 재생 프로그램에 직접적으로 접근하여 통제하는 기능을 갖고 있다. , DRM이 걸려있는 파일을 오피스나 플레이어를 통해서 접근할려고 할 때 먼저 Agent를 통해서 인증을 받은 다음에 인증에 통과한 사용자에 한하여 프로그램을 통해서 해당 파일에 접근할 수 있도록 한다.

Agent
가 윈앰프나 곰플레이어 등에서 DRM 파일을 인증받기 위해서는 해당 파일이 접근할 때 플레이어보다 먼저 그 파일의 제어권을 갖고 인증작업을 해야 한다. 그렇게 하기 위해서 보통 Agent에는 API 후킹 등의 다양한 해킹 기법이 많이 사용된다. 물론 DRM이 걸려있는 파일의 제어만을 위해서 사용하는 조건에 한해서 사용된다.

Agent
는 접근된 파일을 인증하기 위해 DRM Server와 통신을 하여 인증과정을 거치게 되며 DRM의 종류에 따라서 틀리지만 보통은 DRM Server에서 해당 파일의 정책정보를 가져와서 Agent가 정책정보를 적용시키는 과정을 거치게 된다. 정책정보에 따라서 이 파일의 접근을 허용할지 안할지 판단하며 정책까지 통과하면 그 이후에 플레이어에 제어권을 넘겨주는 방식을 취한다.


Server


DRM Server
Agent에서 온 인증정보를 확인하는 작업을 한다. ID와 암호로 인증하는 경우도 있고 아니면 해당 PC의 내부적인 정보(PC의 맥정보 등)를 이용하여 인증하는 경우도 있다. 이렇게 다양한 인증방법으로 인증정보가 들어오면 DRM Server는 내부에 있는 인증 DB 서버에서 해당 값을 가져와서 확인한 다음에 인증이 통과되면 정책정보를 또 가져와서 Agent에 전달하는 역할을 한다.


DRM 파일의 구성


DRM
이 적용되어있는 파일은 일반 파일과는 달리 암호화되어있는 경우가 많다. , 파일 자체가 조작되어있기 때문에 그 자체만으로는 어떤 프로그램을 사용하던 사용할 수 없는 구조다. 그래서 Agent를 통해 인증된 사용자에 한해서 암호화된 내용을 복호화하여 원본으로 만들어 플레이어에 넘기는 방식을 사용한다.

DRM
파일의 인증정보는 보통 DRM 파일의 헤더부분에 있지만 특별한 DRM 솔루션(테르텐의 미디어셀, Device-Wall )은 풋터라 하여 파일의 끝부분에 인증정보를 넣는 경우도 있다. Agent는 해당 DRM 파일의 인증정보를 ID/PW와 함께 Server에 보내 인증확인을 받은 다음에 정책정보를 통해 정책을 적용한다.

일반적으로 DRM에서 사용하는 암호화 알고리즘은 AES 128bit. 현존하는 암호화 알고리즘 중에서 가장 안전하면서 강력한 알고리즘으로 알려져 있기에 다수의 DRM 솔루션이 사용하는 암호화 알고리즘이다. , DRM에서 가장 중요한 것은 알고리즘이 깨질리가 없으니 암호화 키 관리가 되겠다. 키만 잘 관리하면 DRM이 깨질 가능성은 거의 없다고 본다(물론 멀티미디어 DRM에서는 플레이어의 플러그인을 통해서 복호화된 데이터를 따로 저장하는 방법을 이용해서 해킹하곤 한다).


DRM이 왜 필요한가?


DRM
은 사용자가 아닌 회사를 위한 기술이다. 어떤 컨텐츠에 대해서 그 사용자를 믿을 수 없으니 중앙에서 통제하겠다고 만들어낸 것이 DRM이다. 그렇기에 멀티미디어 DRM이 적용된 파일은 해당 사용자만 사용하거나 해당되는 MP3P, PMP 등에서만 사용할 수 있도록 제한을 둔다. 사용자는 내가 구매한 컨텐츠를 맘대로 활용도 못하니 무척이나 답답하게 만드는 기술이 바로 DRM이다.

DRM
이 각광을 받고 있는 이유는 사회 내부적으로 사회의 양심을 믿지 못해서이기 때문이다. 예를 들어 어떤 음악을 만든 작곡가가 자신의 음악을 정당한 가격에 팔려고 내놓았는데 어떤 사용자가 그것을 사서 무료로 뿌려버리면 그 작곡가는 사간 한명의 사용자에게만 가치를 얻은 것이고 나머지로 공짜로 뿌려진 다른 사용자들에게 대해서는 가치를 못얻은 꼴이 되어버린다. 그래서 다른 사용자들이 무상으로 이용하지 못하도록 사용자 제한을 걸어버리는게 DRM 기술이다. 작곡가 등의 CP(컨텐츠 생산자)들이 사회의 양심을 믿지 못하기 때문에 보안장치를 해놓는 것이다.

또한 CP들은 DRM의 다양한 정책적용을 통해서 금액산출을 달리하여 수익성을 확보할 수 있다. , 어떤 곡을 다운받아서 듣게 만드는데 10, 한달, 1, 평생이라는 레벨을 정해서 그 기간에 따라서 다운로드 가격을 달리하면 사람들은 가격에 맞게 그 음악을 듣게 만들고 그 이후에 또 듣고 싶으면 또 사게 만든다는 것이다. 예를 들어 10일짜리는 500원이고 1달은 1500원이고 1년은 만원이고 평생은 15000원이라고 한다면 사용자는 자신의 금전상황 및 그 음악의 수준에 따라서 구입하며 제한기간 이후에 또 듣고 싶으면 그만큼의 금액을 지불해야 한다는 것이다. 이는 CP들의 권리를 충족시켜주는 것과 동시에 사용자들의 짜증도 같이 유발하는 상황도 연출되나 일단 사회에서 요구되는 수익모델이니 어쩔 수 없는 듯 싶다.

DRM
은 컨텐츠를 생상하는 생산자 입장에서는 자신들의 권리를 보호할 수 있는 보호장치로, 이통사와 같은 유통업체에서는 수익을 잡아내는 주요 수익원으로 이용되고 있다. 다만 앞서 얘기했다시피 철저히 회사를, CP를 위한 기술로 사용자들에게 불편을 감수하라는 기술이기 때문에 친사용자적인 기술은 아니다. 그래서 최근 음원에 대해서는 DRM Free 정책이 힘을 받고 있는 중이며 음제협등이 이와 싸우고 있는 상황이기도 하다.

[출처] DRM 이란|작성자 TryAgain

 

출처 : http://knol.google.com/k/drm-digital-rights-management#

[출처] DRM 이란|작성자 TryAgain


'프로그래밍 > It 용어' 카테고리의 다른 글

Spring (스프링)  (0) 2016.07.11
스택(Stack)  (0) 2016.07.08
잡다한1  (0) 2016.07.08
잡다한  (0) 2016.07.08
DNS & IP 주소체계  (0) 2016.07.08
Posted by 당구치는 개발자
|
프로그래밍/It 용어 2016. 7. 8. 10:56



01234567



'프로그래밍 > It 용어' 카테고리의 다른 글

스택(Stack)  (0) 2016.07.08
DRM  (0) 2016.07.08
잡다한  (0) 2016.07.08
DNS & IP 주소체계  (0) 2016.07.08
Index (DB)  (0) 2016.07.08
Posted by 당구치는 개발자
|
프로그래밍/It 용어 2016. 7. 8. 10:54

01234567891011121314151617181920212223242526


'프로그래밍 > It 용어' 카테고리의 다른 글

DRM  (0) 2016.07.08
잡다한1  (0) 2016.07.08
DNS & IP 주소체계  (0) 2016.07.08
Index (DB)  (0) 2016.07.08
Application  (0) 2016.07.08
Posted by 당구치는 개발자
|
프로그래밍/It 용어 2016. 7. 8. 10:51

01234567891011121314151617181920212223242526272829303132


'프로그래밍 > It 용어' 카테고리의 다른 글

잡다한1  (0) 2016.07.08
잡다한  (0) 2016.07.08
Index (DB)  (0) 2016.07.08
Application  (0) 2016.07.08
Version  (0) 2016.07.08
Posted by 당구치는 개발자
|