전자책/PDF 데모
처음앱 설치구성도진위 확인

구성과 처리 흐름

Web-X DRM For PDF 는 디알엠인사이드가 드리는 프로그램과 고객사 콘텐츠 서버로 이루어집니다. 디알엠인사이드 쪽은 패키저, 액티베이션 서버, 라이선스 발급기, 설치뷰어이고, 고객사 콘텐츠 서버는 회원과 열람 권한을 맡습니다. 아래 그림은 모두 같은 색을 씁니다. 먼저 전체 구성을 보이고, 그 아래에 준비·기기 등록·열람·인쇄 때 요청과 응답이 어떻게 오가는지를 둡니다.

디알엠인사이드 제공 프로그램 고객사 서버 고객사 환경 (이 안은 고객사 서버에 설치) 담당자·사용자 기기

먼저 알아 둘 말

아래 그림과 설명에 나오는 이 솔루션만의 말입니다. 칸의 색은 그림과 같습니다.

패키저 · 패키징
담당자 PC 에서 원본 PDF 를 암호화해 배포용 .opens 파일로 만드는 프로그램이 패키저, 그 작업이 패키징입니다.
.opens 파일
패키저가 만든 배포용 파일입니다. 암호화된 PDF 와 자료 정보를 한 묶음으로 담았고, 열람 라이선스 없이는 열리지 않습니다. 그래서 누가 파일만 받아 가도 볼 수 없습니다.
콘텐츠 서버
고객사의 회원·자료 서버입니다. 로그인, 자료 목록, 볼 자격과 인쇄 허용 판단을 맡습니다. 고객사가 만들고 운영합니다.
액티베이션
설치뷰어가 그 사용자·기기를 OPENS 에 등록하는 절차입니다. 같은 사용자·기기는 한 번 등록하면 다시 하지 않습니다. OPENS 는 디알엠인사이드 DRM 제품군 이름이고, 이 솔루션은 OPENS 의 기기 등록 방식을 그대로 씁니다.
액티베이션 서버
기기 등록 요청을 받아 기기 인증서를 내주는 서버입니다. 고객사 서버에 설치합니다.
기기 인증서
액티베이션 때 받아 기기에 보관하는 인증서입니다. 이름에 사용자가 들어 있어, 열람 라이선스를 그 사용자·기기에만 묶는 데 쓰입니다.
라이선스 발급기
고객사가 정한 권한(만료 시각, 인쇄 허용)을 받아 열람 라이선스를 만들어 주는 서버입니다. 스스로 판단하지 않고 받은 대로 만듭니다. 고객사 서버에 설치합니다.
열람 라이선스
한 기기에서 한 자료를 열 수 있게 해 주는 권리입니다. 자료를 풀 열쇠(CEK)가 그 기기 인증서로 암호화되어 들어 있어 다른 기기로 옮기면 열리지 않고, 만료 시각과 인쇄 허용 여부도 여기에 실립니다.
설치뷰어
사용자 기기에 설치해 .opens 파일을 여는 뷰어입니다. 열람 라이선스에 적힌 권한대로만 보여 주고 인쇄합니다.
CEK
Contents Encrypt Key. 본문을 암호화한 열쇠입니다. 패키징 때 만들어지고, 사용자에게는 열람 라이선스 안에 암호화된 채로만 전달됩니다.
프로바이더
OPENS 에서 고객사를 부르는 이름입니다. 프로바이더 아래에 사용자가, 사용자 아래에 기기가 묶입니다.

1. 주요 구성

주요 구성. 담당자 PC 의 패키저가 고객사 콘텐츠 서버에 올리고, 사용자 기기의 설치뷰어가 액티베이션 서버에서 기기 인증서를, 콘텐츠 서버에서 .opens 파일을, 라이선스 발급기에서 열람 라이선스를 받는다. 담당자 PC 패키저 고객사 환경 콘텐츠 서버 회원 · 열람 권한 액티베이션 서버 라이선스 발급기 사용자 기기 설치뷰어 1 업로드 4 .opens 파일 2 기기 등록 (1회) 3 기기 인증서 5 라이선스 요청 6 열람 라이선스
발급기와 액티베이션 서버는 고객사 서버에 설치됩니다. 당사가 운영하는 외부 서비스가 아닙니다.

누가 무엇을 판단하는지가 갈립니다. 회원이 누구인지, 이 사람이 이 자료를 볼 자격이 있는지, 인쇄를 허용할지는 고객사가 정합니다. 라이선스 발급기는 고객사가 정해서 넘긴 대로 라이선스를 만들 뿐 스스로 판단하지 않습니다. 그래서 고객사는 회원·권한만 다루면 되고, 암호와 열쇠는 건드리지 않습니다.

2. 사용 흐름

2-1. 문서 준비: 패키징과 업로드

담당자 PC1
원본 문서를 고름
→
패키저2
암호화해 .opens 로 만듦
→
콘텐츠 서버3
올려서 자료실에 진열

2-2. 기기 등록: 설치뷰어를 처음 쓸 때

설치뷰어1
설치하고 처음 실행
→
설치뷰어2
기기 정보로 등록 요청
→
액티베이션 서버3
기기 인증서 발급
→
사용자 기기4
인증서 보관, 다시 받지 않음

2-3. 열람

콘텐츠 서버1
자료 목록에서 고름
→
콘텐츠 서버2
.opens 파일을 내려받음
→
라이선스 발급기3
이 기기용 열람 라이선스 발급
→
설치뷰어4
라이선스로 풀어 열람
라이선스는 기기마다 따로 받습니다. 만료와 인쇄 권한은 그 라이선스에 실린 대로 적용됩니다.

3. 패키징

sequenceDiagram
  autonumber
  actor M as 담당자
  box rgba(47,143,208,0.16) 디알엠인사이드
  participant K as 패키저
  end
  box rgba(60,154,77,0.2) 고객사
  participant T as 콘텐츠 서버
  end
  M->>K: 원본 PDF 입력
  K->>K: PDF 표준 암호(AES-256)로 암호화, CEK 생성
  K->>K: CEK 를 암호화해 라이선스에 담음
  K-->>M: .opens 파일
  M->>T: 업로드
  T->>T: 자료실에 진열 (받아도 암호화돼 안 열림)
CEK 는 패키징 때 이미 암호화되어 파일 안에 들어가고, 그것을 풀 수 있는 것은 라이선스 발급기뿐입니다. 패키징은 패키저가 혼자 끝내고 발급기는 여기에 끼지 않습니다.

여러 개를 한꺼번에 넣을 수 있습니다. 자료 번호는 파일 이름에서 자동으로 붙으므로 사람이 하나씩 적지 않습니다. 고객사에 자체 번호 규칙이 있으면 접두어만 한 번 정해 두면 되고, 그러면 「접두어-파일이름」 으로 붙습니다. 이건 선택이고 비워 두면 파일 이름을 그대로 씁니다.

4. 기기 등록 (OPENS 액티베이션)

sequenceDiagram
  autonumber
  actor U as 사용자
  box rgba(47,143,208,0.16) 디알엠인사이드
  participant V as 설치뷰어
  participant A as 액티베이션 서버
  end
  U->>V: 콘텐츠 서버에서 [설치뷰어로 보기] (로그인 id 가 함께 넘어옴)
  V->>V: 이 기기를 가리키는 정보 모음
  V->>A: 등록 요청 (프로바이더 · 로그인 id · 기기 정보)
  A->>A: 프로바이더 아래 그 사용자 확인 (처음이면 만듦)
  A->>A: 그 사용자의 기기로 인증서 생성
  A-->>V: 기기 인증서
  V->>V: 기기에 보관 (같은 사용자·기기면 다시 받지 않음)
프로바이더(고객사) 안에 사용자가 있고, 사용자 안에 기기가 있습니다. 설치뷰어는 따로 로그인 화면을 두지 않고, 콘텐츠 서버가 설치뷰어를 부를 때 넘기는 로그인 id 로 등록합니다. 한 기기를 여러 사용자가 쓰면 사용자마다 한 번씩 등록되고, 한 사용자가 기기를 여러 대 쓰면 그 사용자 아래에 기기가 여럿 묶입니다.

이후 발급되는 열람 라이선스는 CEK 를 그 사용자·기기의 인증서로 암호화해서 오므로, 같은 파일과 라이선스를 다른 사용자나 다른 기기로 옮기면 열리지 않습니다.

지금 데모에 올라간 설치뷰어는 사용자 하나로 고정된 판입니다. 로그인 id 로 등록하는 판을 준비하고 있습니다(2026-09-28 결정).

5. 열람

%%{init: {"sequence": {"wrap": true, "width": 130, "actorMargin": 40}}}%%
sequenceDiagram
  autonumber
  actor U as 사용자
  box rgba(60,154,77,0.2) 고객사
  participant T as 콘텐츠 서버
  end
  box rgba(47,143,208,0.16) 디알엠인사이드
  participant V as 설치뷰어
  participant P as 라이선스 발급기
  end
  U->>T: 로그인
  T->>T: 회원 확인
  T-->>U: 볼 수 있는 자료 목록
  U->>T: 자료를 골라 [설치뷰어로 보기]
  T->>T: 볼 자격 확인 (구매·대여·기간)
  T->>T: 만료 시각과 인쇄 허용을 정함
  T-->>V: 설치뷰어 실행 (자료 · 회원)
  V->>T: .opens 파일 받기
  V->>P: 라이선스 요청 (자료 · 회원 · 기기 인증서 · 권한)
  P->>P: 받은 권한대로 라이선스 생성
  P-->>V: 열람 라이선스 (CEK 를 기기 인증서로 암호화)
  V->>V: CEK 를 풀어 본문 복호
  V-->>U: 문서를 보여 줌
초록 칸(콘텐츠 서버)이 하는 2·5·6번이 고객사 몫입니다. 회원이 누구인지, 이 자료를 볼 자격이 있는지, 언제까지 볼 수 있고 인쇄를 허용할지를 여기서 정합니다. 발급기는 그 결정을 받아 라이선스에 실을 뿐 스스로 판단하지 않습니다. 만료가 지났거나 다른 기기에서 받은 라이선스면 뷰어가 이 자리에서 막습니다.

6. 인쇄 (준비 중)

sequenceDiagram
  autonumber
  actor U as 사용자
  box rgba(47,143,208,0.16) 디알엠인사이드
  participant V as 설치뷰어
  end
  U->>V: 문서를 엶
  V->>V: 라이선스에 인쇄 권한이 있는지 확인
  alt 권한이 있음
    V-->>U: 인쇄 아이콘을 보여 줌
    U->>V: 인쇄를 누름
    V->>V: 인쇄물에 보이지 않는 표시를 넣음
    V-->>U: 인쇄
  else 권한이 없음
    V-->>U: 인쇄 아이콘을 아예 보여 주지 않음
  end
설치뷰어의 인쇄는 지금 붙이는 중입니다. 위 그림은 붙인 뒤의 모습입니다. 지금 설치뷰어에는 라이선스의 인쇄 권한을 확인하는 기능까지 들어가 있고, 인쇄 단추와 인쇄물에 넣는 보이지 않는 표시는 아직 없습니다.

인쇄 권한은 라이선스에 실려 옵니다. 뷰어는 그 값만 보고 판단하므로, 허용 여부는 라이선스를 발급할 때 정해집니다.
TOP