VIVID Runtime and Secured Content Delivery System on...

Post on 19-Jun-2020

3 views 0 download

transcript

Confiden'al   1

VIVID Runtime and Secured Content Delivery System

on Tizen

Ariro Nagayama Acrodea Inc.

TDC2013

Confiden'al   2

Company Profile

Corporate Name: Acrodea Inc. (acro+idea=Acrodea) Established: July 2004 Consolidated Sales: 2,961 M Yen ($30M) FY2012 Employees: 167 Group Companies: AMS,Inc. Acrodea Korea Inc. Main business: Ø Smartphone Solutions Device DRM Ø Contents Services Social game development Ø Middleware Solutions VIVID Runtime/VIVID UI

Confiden'al   3

ü Native application executables can be treated as data by utilizing VIVID Runtime. ü By encrypting data with our ARG, even if the data is extracted, it will not execute on an unauthorized terminal. ü For this reason, native applications can be distributed in an encrypted format with our DRM processing. ü Acrodea intends to monetize this business at the electronic delivery platform for DRM-protected native applications.

Presentation summary

Confiden'al   4

1. VIVID Runtime

Confiden'al   5

To enable the same application binary to be executed on any mobile terminal.

What is “VIVID Runtime”?

•  VIVID Runtime = Program Execution Environment

•  The same binary program operates without any underlying OS dependence.

•  Offers full C++ functionality across multiple environments.

•  No Game Engine Dependence

•  Dynamically linked shared libraries are also supported.

Confiden'al   6

Features

Improves software portability, lowers cost and fosters consistency on multiple platforms

Brings application development advantages

Provides an attractive platform to both mobile operators and handset makers

Development process non-reliant upon handset environment

Confiden'al   7

VIVID Runtime Architecture on Tizen

Linux Kernel

Kern

el

Multimedia

Cor

e

Graphics & UI System Base

Tize

n

OpenSLES

Low

API

EGL Extension

Application (portable binary) (*.rpk)

Run

time

OpenGLES

OpenAL lib

Hig

h AP

I

More..

2D & 3D lib

Network lib

Object relocator

Laun

cher

Dynamic extension resolver

Object loader

Object parser

Apps

OpenKODE

Library (portable binary) (*.so)

Confiden'al   8

Tizen APIs Cover VIVID Runtime Requirement

The following native APIs are used to link functions when porting with VIVID Runtime.

- OpenKODE => Base-Libc & POSIX API

- OpenKODE Extension => System–Sensor–Accelerometer

- OpenSLES => Multimedia–Audio IO–Audio Output

- Launcher /Loader => UI-OpenGL

Confiden'al   9

VIVID Runtime Application on Tizen

Launcher

VIVID Runtime thread

Executable File + Resources

API

VIVID Runtime application

OpenGLES

OpenSLES

OpenKODE

More.. Touch / Sensor events (System APIs)

Window rendering (UI APIs)

Audio output (Multimedia APIs)

Touchscreen and sensor events generated from Tizen are transferred to Runtime apps via Runtime’s OpenKODE interface. Expressions related to visual graphics and audio are sent to UI and multimedia APIs, respectively.

Confiden'al   10

Architecture: Additional Native Bindings

Providing a plug-in system for defining additional native functions that should be available for the portable application.

Application Loader Module

To be efficiently exposed to the ported side, e.g, GPS and accelerometer

Enables additional hardware capabilities

•  Function discovery at runtime using dlopen() / dlsym() style calls

•  Direct .so linking (optional)

Dynamic linking

Confiden'al   11

ü  Dev environment with debugger can be built without IP fees. ü  Open platform provides public releases of all notices. ü  No charges are assessed for information.

Dev Environment with Ready Access

Selection of Development Environment

Any dev platform may be used, if the compiler (gcc) supports elf objects. Developers can work in their accustomed environment.

Confiden'al   12

Dev Environment’s 4 Main Features

Objective C/C++, ECMAScript are supported. Built-in support for shared libraries (SysVr4-style shared objects)

Desktop ARM Simulator

Easy Porting

Integration Kit *For Device Manufacturers.

Software Development Kit

Confiden'al   13

Porting: Typical Application Development Process

Application development

• Develop using Eclipse IDE • Test and debug using ARM Simulator environment

Packaging

• Create application package • Executable • External dependencies • Data files • Privileges

• Signing and certification

Testing

• Install and test on a developer provisioning profile installed on the handset

• Use the stress-testing tools in the ARM simulator

Provisioning

• Submit to the provisioning authority for approval process Approval

Confiden'al   14

Typical Integration Process Overview

OpenKODE •  Implement OpenKODE, EGL and other media abstraction APIs on the target handset •  Use the provided conformance tests to verify API functionality

Application loader module porting •  Integration test with provided test suite of binary portable applications

Additional native function bindings •  Expose any non-standard functionality via custom native binding plug-ins

Final testing

Confiden'al   15

2. Secured Content Delivery System

Confiden'al   16

•  Content distribution server features content management and content encryption facilities. •  Distribution server encrypts automatically. •  Content data generates “rights object” with encryption key generated on basis of User ID. •  App authenticates at content usage, based on User ID.    ⇒ User with Unauthorized ID cannot use downloaded content. •  ID is unique to user.    ⇒ User ID unique to service or unique to terminal (IMSI, IMEI, etc) is used.

Acrodea Content Delivery System Overview

Distribution Server

Device

Content

Content encryption based on Key

Content

CP App

ID

Send encryption key Unusable, even if copied to another device.

Download

For example: IMSI / IMEI Selectable by service

Content

Encryption module

Encr

yptio

n m

odul

e (D

RM

feat

ure)

Content (e.g.

Vivid Runtime RPK) Env

Mgmt User Mgmt

Content Management

Register Admin/Developer Site Provisioning

Confiden'al   17

ü  Protection from illicit copying of video/audio ü  Designed to protect downloaded content ü  Data and apps are all subject to encryption as data ü  Device ID detected to confirm device

Billing Server

Content Distribution Server

Device

ID

Billing Key generated on device ID basis

.exe .so

Send device ID for DL request

Send device ID for billing

Billing Key

App (.rpk)

Game Content

Download

Acrodea DRM for Game Apps

Encryption Module

Executables

Resources

Encryption (CP)

Encryption module

Encryption module

Game Content

CP Register

Confiden'al   18

DRM Feature Comparison

w/Acrodea DRM w/o Acrodea DRM

Scope of DRM Premium (pay) and free apps, content files

Premium (pay) apps only

Encryption Apps and content encrypted App data is not encrypted

DRM settings per handset

DRM keys are uniquely identified by IMSI (or IMEI, MAC address, etc.)

Google ID used; not handset discrete

Network connection at app launch

Not required Required

Copy protection Encryption prevents copying Root permission access enables copying

Confiden'al   19

Dalvik Dalvik/NDK iPhone

C/C++ development

Objective-C development

DRM (Encryption)

3rd party SDK support

IDE environment Eclipse Visual Studio

Eclipse Eclipse X-Code

OS abstraction

VM/Native Native VM VM/Native Native

Performance High Mid/Low High/Mid High

Features Comparison Table

Confiden'al   20

Tizen game demo

Confiden'al   21

Thank you! Contact to: nagayama@acrodea.co.jp