Privacy, Security And Content In Windows® Platforms Agenda Privacy, Security, Content MS DRM Peter N.
Download
Report
Transcript Privacy, Security And Content In Windows® Platforms Agenda Privacy, Security, Content MS DRM Peter N.
Privacy, Security
And Content
In Windows® Platforms
Agenda
Privacy, Security, Content
MS DRM
Peter N. Biddle, MS
Technical Evangelist
Marcus Peinado, MS DRM Architect
The Open Trusted PC
Paul England, MS Architect
A Definition Of Trust
Privacy
No matter where my data is, privacy is about
keeping you from benefiting from access to it
without my informed consent
My data can be anything I own and control
the rights to
I want to be able to protect it no matter where it is
Consent is not enough - users need to understand
Need to provide for the needs of the user first
while allowing the device to function
A Definition Of Trust
Computer Security
If my computer holds my data,
computer security is about keeping
you from benefiting from
unauthorized access to my data
Traditional model of security
Can include things like
physical barriers
A Definition Of Trust
Content Protection
If my computer holds your data,
content access is about keeping me
from benefiting from unauthorized
access to your data
Your data is anything you own
You can associate rules with it’s use
Use encryption, authentication to
enforce rules
Need to focus less on preventing access
and more on allowing access
There Is No Difference
Between Privacy Protection,
Computer Security, And
Content Protection
Did He Really Say That?
There is no difference between
protecting someone's privacy
and protecting someone’s content
Assurances of trust must be
universally true
For anything and everything that
anyone would want to apply rules to
A “privacy object” is a
“content object”
I Want To Eliminate Our
Ability To Invade Anybody
Else’s Privacy
Trusted Windows
Create a platform that will protect
users from “us”
This is trust
Make it extremely difficult to break
Windows trust
Technical means are a cornerstone
of trust
Technology can protect
against invasions
Laws can lock up violators
What Is Piracy?
Piracy is the un-licensed use of
someone’s digital property
Piracy does not automatically result
in lost revenue
EG, if I were to make a copy of MS Office
on a CD-R, and then destroy the CD-R,
there would be no lost revenue
Some piracy can even foster sales
of some kinds of digital property
Eliminating all piracy is
prohibitively expensive
It also pisses off your loyal customers
Does Microsoft Want To Make
Piracy On The Windows
Platform Impossible?
We are not police officers, nor do
we play them on TV
Designing an OS that eliminates
piracy would be like trying to design
a car that can’t be used as a
getaway vehicle
We don’t know how to do this
We don’t want to do this
Piracy Comes In Three
Flavors – Good, Bad,
And Tolerable
There Is Such A Thing
As Good Piracy
Piracy that actually fosters more purchases
of content can be “good”
Tolerable levels of piracy are any amount
that a content owner chooses to sustain
in order to meet a specific goal
EG, not pissing off customers
We want to keep piracy tolerable
at a minimum
There is no easy way to quantify this
at a level that allows for sustainable economics
for all digital content creators
It is no fun to be a starving artist
Content We Can Protect
From Piracy
Content that is encrypted or
scrambled, <and>
that has rules associated with
it, <and>
that requires use of special SW to
access
…must be protected.
Content We Cannot Protect
From Piracy
Unknown Content
Content that looks “free” to the OS
Content that is free to the OS
Redbook Audio
Un-encrypted software
ASCII text files
HTML
Content we cannot understand
Content that has been encrypted or
formatted using proprietary schemes
There Will Be Some
Badness In This World
Users will have their privacy invaded
Computers will be hacked
Content will be pirated
Our goal is to make these things the
exception, not the rule
Create a Trusted Windows Platform as
trustworthy as the Telephone is today
Protecting Privacy
HW-based encryption can be used
to protect documents
Smart Card that allows users
to authenticate a PC
As opposed to now, where a PC authenticates
a user
Authentication can allow an end-user to
verify that a third party is *exactly* what it
says it is
Anonymous authentication is even possible
You don’t know who I am but someone you trust
does and can vouch for me and my computer
Securing A Platform
Ensures that a system is what it
says it is
Code signing
Ensures that a legitimate user can’t
load illegitimate code
Ensures that an illegitimate user can’t
load illegitimate code
Allows a computer and user
to authenticate themselves
to a third party
Protecting Content
Content
Application
OS
Hardware
Content has
associated
ACL/license:
hardware, OS,
application, terms
Customers can
access the content
based on the terms
of the ACL
Summary
Think about these concepts as you
listen to this session
Apply them to what you are doing
in this space
Two areas of focus in this session:
What we are doing today to “secure” the
Windows platform in SW alone
What we will be doing in the future to
secure the platform using some
combination of ubiquitous HW and SW
Digital Rights
Management And Content
Protection Architectures
Marcus Peinado
Microsoft
Digital Media Division
[email protected]
Overview
Digital rights management (DRM):
fundamentals and vision
Commerce scenarios
Security challenges
Microsoft Rightsmanager
System features
Overview
Digital rights management (DRM):
fundamentals and vision
Commerce scenarios
Security challenges
Microsoft Rightsmanager
System features
E-Commerce / Physical Distribution
Commerce site
internet
(Store front)
customer
1. Customer selects product
IE
(book, CD, DVD, software, hiking boots)
2. Customer pays
Credit
Card
3. Merchant ships physical product
UPS
customer
E-Commerce / Electronic Distribution
Commerce site
internet
(Store front)
customer
1. Customer selects product
IE
(book, audio, video, software, no hiking boots)
credit
card
2. Customer pays
3. Customer downloads digital content
internet
customer
4.
friend
customer
friend
friend
friend
friend
E-commerce / electronic distribution /
Digital Rights Management
0. Content owner specifies how
content may be accessed (off line)
Commerce site
internet
(Store front)
customer
1. 2. 3. Customer selects content
(book, audio, video) and access
option, pays, downloads content
4. DRM system tries to enforce
access rules
DRM: General Model
Content owner specifies how the
content may be accessed
Access specification will be
enforced subject to the overall
security level of the system
Access specifications enable
business models (e.g. pay-per-view,
rental etc)
Compare with Pay-TV schemes
Overview
Digital rights management (DRM):
fundamentals and vision
Commerce scenarios
Security challenges
Microsoft Rightsmanager
System features
General DRM Goal
Traditional PC security: Protect a
good host from a hostile application
DRM security: Protect a trusted
application in a hostile
host environment
Adversary has full physical control
Plaintext content must be accessible
DRM Core
End-user PC
Other
components
Requirements:
1. Secret hiding
Rendering
application
2. Secure execution
DRM Client
3. Verification of
other components
Building Upon 1,2,3
Assuming that primitives 1,2,3 are
available, a secure content
protection system can be built
using standard cryptography
Implementing Primitives 1,2,3
Known approaches:
Secure hardware (e.g. Secure
Co-Processor)
Tamper resistant software
Security by obscurity
All known protection methods can
be corrupted by a sufficiently
powerful adversary
Adversary Models
Naïve: will copy files (mp3); may be
willing to install hacked programs;
will not actively hack
Skilled: in-depth knowledge, but no
commercial interest; will break most
software protection mechanisms
Professional: pirate corporation;
commercial interest and funds to
hire skilled pirates; may reverseengineer hardware protection
Renewability
Fundamental Law of Anti-Piracy
Any given content protection
component (software, hardware) will
be subverted by a sufficiently
powerful adversary
Parameters:
Value of the protected assets
Time until break
Resources of attacker
Renewability
Allow easy recovery from breaks
Disable / Revoke broken components
Revocation of DRM clients
Revocation of processing components
Field upgrade to re-enable the system
Individualization to
Reduce scope of individual breaks
Improve granularity of revocation
Renewability
Content
owner
PC
PC
Content
owner
DRM
administrator
PC
PC
PC
Renewability: 1. Deployment Of DRM
Content
owner
PC
PC
Content
owner
DRM
administrator
PC
PC
PC
Renewability: 2. Attack On DRM
Content
owner
PC
PC
Content
owner
DRM
administrator
PC
PC
PC
Renewability: 3. Distribution Of The Break
Content
owner
PC
PC
Content
owner
DRM
administrator
PC
PC
PC
Renewability: 4. Revocation And
Field Upgrade
Content
owner
PC
PC
Content
owner
DRM
administrator
PC
PC
PC
Other Challenges
Secure time (expiry)
Secure state information
(e.g. counted play)
Recovery from catastrophic failure
Standard deployment mechanisms
and global secrets
Working with external
system components
Conclusions
Cannot write unbreakable software
Aim to limit the effect of
individual breaks
Aim for cheap recovery
Configure security parameters
based on what is being protected
and against whom
Use cryptography to reduce the
number of weak spots
Overview
Digital rights management (DRM):
fundamentals and vision
Commerce scenarios
Security challenges
Microsoft Rightsmanager
System features
WM Rightsmanager: Goals
Bring premium audio/video content
to the Windows platform
Content owners (Hollywood) want
protection for their content.
Enable a whole range of new
software applications
Non goal: control of the end user’s PC
WMRM: General Features
Works with ASF/WMA
Audio,
Video,
Illustrated Audio
Any Codec
Core DRM is “Media Agnostic”
Streaming and Download
Portable devices, portable media
Deployment
Client
Free web download
http://windowsmedia.com
Part of Windows Media Technologies
100 million downloaded clients
Server
Free web download
Register with Windows Media
Used for audio and video distribution
by a variety of companies
Usage Scenario: Promotional
“Know your audience”
Distribute promotional
trailer (encrypted)
Give license to users in exchange
for email address etc.
Superdistribution; put trailer on
empty space of existing CD or DVD
DRM forces each user to obtain
a license from the server
Sale, Rental, Pay Per View
User obtains encrypted content
Download
Streaming
DVD
User contacts clearing server and
makes payment
Usage rules specify user access
Simple in DRM V1
Much more expressive in the future
Content (plaintext)
Hosting Server
1.
Encrypts content
2.
Allows download
One-time
shared secret
1
Clearing Server
1.
Authenticates client
2.
Generates license
Monitor
sound card
2
S
t
o
r
e
f
r
o
n
t
Content (encrypted)
End-user machine
3
WMPlayer
7
License request
4
License (key)
5
Authentication
DRM
6
Content
key
Hardware
binding
Hosting Server
1.
Encrypts content
2.
Allows download
One-time
shared secret
Clearing Server
1.
Authenticates client
2.
Generates license
S
t
o
r
e
f
r
o
n
t
Monitor
sound card
End-user machine
Content (encrypted)
Downstream
components
DRM Client
License acquisition
Crypto engine
License evaluation engine
Authentication engine
Hardware binding
License acquisition
Central DRM services
Code
download
Client certification / initialization
App authorization / control
Portable devices
Server authorization
Portable media
Backup / restore
DRM Client Architecture
Rendering Application
Encrypted
content
Request rights (play)
DRM Client
Content crypto
engine
License
acquisition
Authentication
engine
License eval
engine
License
(from lic. Server)
License store
Secure
state
Hardware
binding
Individualization
Goal: Protect the DRM client
against global attacks
Registration with DRM server
on installation or first use /
field upgrade
DRM server provides per-client
keys and code
Individualization /
Field Upgrade
User Machine
DRM Server
Certification
Individualized dll
Upgrade request
uniform
DRM
dll
certs
Indiv.
dll
certs
Install DRM
Local CD ripping
Remote license acquisition
Upgrade trigger
Upgrade request
Server generates indiv. dll
Install on client
“This license
requires an
individualized
client”
License
request
License Server
End-To-End Channel
Audio / Video content flows through
many processing components
(renderer, sysaudio, sound card
driver etc)
Content can be extracted from any
of these components
Task: Retrofit DRM onto the existing
audio / video infrastructure
First step: Windows ME
Secure Audio Path
Audio Components
DRM-K
DRM
Add noise
1.
Lic
Song.wma
SysAudio
4.
Remove
Noise
5.
2.
3. verify Kmixer, …
user kernel
AudioDriver 6.
Secure Audio Path
License triggers secure audio path
Verify components(WHQL
sig,DRM bits)
Below KMixer
Disable digital loopback in audio driver
Noise for tunneling through to Kmixer
Certification of external components
through existing WHQL process
Requires small piece of new code
(100 lines)
Content Encryption
Fast
Fault tolerant
10 Megabytes per second
Allows encryption of the entire
video signal
Packet based: tolerates loss of
arbitrary set of asf packets
Secure
Full-strength encryption algorithm
header
Data
packets
Content Encryption
Plaintext
asf file
All payload packets are fully encrypted
Each packet is encrypted individually
No increase in packet length
encrypted
asf file
Summary
DRM Goals:
Bring premium content to the platform
Enable new business and
distribution models
Enable new applications, which
process this content
Security:
Baseline DRM client
Renewability, individualization
End-to-end channel for audio, video
The Open Trusted PC
Paul England
Microsoft Corporation
Subtitle
Strategic Software and
Platform Technologies to make
the Open-PC as Trustworthy as
the Closed-Box, for
E-Commerce
User Privacy Protection
Rights-Managed Data
Outline
The Trusted PC Paradox
Platform Authentication
Authenticated Boot
Privacy Protection
Secure Persistent Storage
Summary
The Trusted-PC Paradox
The PC is open – anyone can add
Any software
Any hardware / option ROM
Any operating system
Any BIOS
…
So how can it possibly be as
trustworthy as a closed box?
Furthermore…
It’s very hard to store secrets on a PC
Many viruses have more rights than
the user
Even if an OS secures (using ACLs)
files or data for users
No other OS needs to honor these
access controls
All file systems are readable under all OSs
Contrast This With
A Closed Box
E.g. set-top box, game-console,
other CE-device
Can’t add third-party hardware
Can’t add unauthorized
third-party software
How can we achieve the best
of both worlds?
Targeted Audience
Not just professionally
administered machines
Home PCs
Small businesses
Laptops
Corporate client machines
(dial in + desktop)
Long-Term Goals
Growth of the Web Lifestyle
More e-commerce
Greater use of Web-services
More of your personal and
valuable information
On your home PC
On Web servers
Increase trustworthiness of your PC
and provide mechanisms to allow you
to determine trustworthiness of the
Web-services that you use
Platform Authentication
We propose adding platform HW/SW to
reliably report the platform configuration
User can boot into a system that can
reliably report its configuration
A Web-site can do this to “brand trust”
A home-user can do this to obtain
premium content
A corporate user (RAS, or intranet) can
do this to gain access to the network
The user must always be in control of what
information she reveals
Corporate RAS Access
Corpnet
requires Win2K
+ Certified
drivers to
access network
resources
Platform
authenticatio
n hardware
can prove
client bootconfiguration
Another Example
Doctor’s PC
Doctor’s office PC
is not
professionally
administered
Insurance
company
challenges PC
to authenticate
itself
Trusted
Platform
states
platform
configuration
Doctor’s PC responds by
describing its configuration
Insurance company
wants to check
trustworthiness of the
doctor’s PC before
revealing records
Medical Insurance
Company
Authenticated Boot
PC will boot any software and the
OS can run any policy, but…
The platform reports the booted
configuration
(we will require privacy support)
ISVs (OS-vendors) can choose what
kind of information they reveal
This is not secure boot
Platform can still boot any
OS/configuration
Design Considerations
We need additional
security hardware
There is no way (right now) that a
challenger can reliably distinguish
WinME from Win2000
The additional hardware should add
minimal cost, and minimally perturb
the PC boot /execution model
A Simple, Cheap, Solution
Platform crypto-processor
Small changes to BIOS
BIOS “reports” platform configuration
to crypto-processor
Small changes to OS-boot model
E.g. “smart-card core”
E.g. only load signed drivers
Some changes to OS execution model
Simplified Authenticated Boot
Driver1
Driver2
Driver3
OS-Kernel
Trusted
BIOS
Trusted BIOS “logs”
the digest of the OSloader that it passes
control to
OS-Loader
Boot log
OS-loader
cryptoprocessor
Simplified Authenticated Boot
BIOS Loads an OS-loader
OS writes the digest of the loader
into a write-once protected area
OS-Loader (typically) contains a
public key or certificate
OS-loader only loads drivers that
it trusts
They are certified by the loaders CA
Any ISV can write any OS-loader
using any load policy
Platform Authentication
Protected log contains the
OS-loader digest
Kernel Component
OS-Loader
Hash of all
of OSloader is
written to
the writeonce log
OS-Loader
Device
Driver
Load-Policy Code
Publisher Root
Certificate
Publisher
“Authenticode”
Certificate
Configuration Reporting
Write-once log contains a hash that
represents the running OS
How can we use this?
Not much use to just “tell”
a challenger
It’s a well-known number
We use cryptographic reporting
The crypto-processor can report the
configuration using a secret key
The QUOTE operation
The QUOTE Operation
QUOTE(challenge)
SIGN(challenge, boot-log)
Challenger sends a “nonce”
Platform responds with a signed
description of the boot
configuration + nonce
Challenger can decide whether
to allow access
other mechanisms provide for privacy –
see later
Adding Flexibility –
The Boot Policy File
OS-Loader
OS-Loader
Loader loads and logs
the boot-policy file
Loader obeys the
Policy description
Boot Policy File
Publisher Root Cert
Exceptions (revocation)
Other boot-policy
Date
IT or Publisher
Certificate
BIOS
records OSloader
Secure Log
OS-loader
Boot policy file
OS-loader records
Boot-policy in effect
A More Complicated Example
Practical boot models must include
OS-selectors, etc
Use the same basic model –
Measure component about to
execute next
Decide whether it is “trustworthy”
If it is, do nothing
If it is “unknown,” securely log its “digest”
Pass control
How Do We Implement The
Secure Log?
What we would like:
+
MBR
Similar logs for
firmware, microcode,
upper-level software,
etc…
OS-boot-sector
OS-loader
Boot Policy
Virus definition
…
…
How can we do this
cheaply (and
manageably)?
EXTEND Simulates
An Infinite Secure Log
EXTEND operation + one
secure register
EXTEND(d)
Takes current contents of register
Hashes it with d
Stores it back in the register
Hashing is one-way
Nobody can figure out how to
“remove” an entry
EXTEND Usage
Platform executes
MBR
OS-boot-sector
OS-loader
Boot Policy
Virus definition
…
1) EXTEND(MBR)
2) EXTEND(boot-sector)
3) EXTEND(Boot-policy)
4) EXTEND(virus defn)
5) EXTEND(…)
…
Challenger needs to do a little more work to interpret
the composite value– but it is not hard
Authentication Model
Suppose we have a certified keypair in the “crypto-processor”
You can tell anyone what platform
you are running, but…
This is like a “super-cookie” you
use everywhere
Unscrupulous sites could track what
you are doing
This is not an acceptable solution
Authenticated Anonymity
Users can acquire
anonymous identities
Trusted
Identity
Server
Platform key
Banking
Identity
ISP
Identity
Corp.
Identity
Bank Web Server
Trusted
Identity
Server
User picks
an Identity
Server
trusted by
bank and
user
Other Considerations
Identity acquisition is fully opt-in
Pick (during-boot) whether OS
should support authentication
Nothing wrong with being anonymous
Boot Complications
Boot is multi-step
MBR, OS boot-sector
BIOS is typically flashable
Many option-ROMS insert code
Favored model is
Provide logging for all components
that affect trust
(Not all challengers will care)
Other Implementations
Chipset model
Removable token
Processor changes
Secure Persistent Storage
Motivation (I)
You want your “Trusted OS”
to store your banking records
But another OS can always read
the files…
Simple encryption doesn’t help
(where do you store the keys?)
Password-protection doesn’t
really help
Secure Persistent Storage
Motivation (II)
When you RAS-in to your
corporation you can prove you are
running a Trusted-OS
But, on a dual-boot Machine
Where do you store files that are not
accessible to viruses on another OS?
Where do you store files that are not
accessible to users on a cable-LAN if
the other OS is badly configured?
Secure Persistent Storage
Motivation (III)
Premium content providers provide
rights-managed content to
Trusted Platforms
How can a trusted platform store this
data for users?
We want the Trusted-PC to be the
favored platform for rightsmanaged goods
Sealed Storage
Trusted Platform can store secrets
for other “named configurations”
Boot into a named configuration, you
get to decrypt the secrets
Boot into a different configuration and
you can’t recover the decryption key
Any Trusted OS can store secrets
for itself or name other OSs
Sealed-Storage
Implementation
We build on the same configuration
log we collected during boot
SEAL(secret, log-value)
Uses a platform secret key to encrypt
{secret, log-value} Blob
UNSEAL(Blob)
Internally decrypt
Return “secret” if platform is in the
named configuration
SEAL Usage
SEAL is mostly used to save encryption
keys for registry hives / EFS keys
Mostly the OS “names itself” as trusted
to decrypt
Can name other OSs
Can name an upgraded OS
Other Uses For SEAL
Simplifies deployment of
Trusted Platforms
Authenticate the platform once,
then SEAL
Your network logon keys
Your home banking keys
The Win2000 domain logon key
Any privacy-sensitive data
With SEAL we can do a better job
of protecting users secrets
Other Uses For SEAL (II)
EFS Keys
Encrypted file-systems need per-user
or per-platform storage keys
We can improve security of keys for
Dual-boot machines
Laptops
Shared use home-machines
Summary: QUOTE
And SEAL
QUOTE allows the platform
configuration to be reported
when online
SEAL / UNSEAL allows platform
configuration to be inferred when
online of offline
Conclusions
Trusted Windows Technology
Enables the best of both worlds:
Need new platform hardware
to achieve it
Trusted, Open Platforms
Changes are not costly or profound
Trusted Windows is the Platform
for the future of E-commerce
Calls To Action
Platform Trust
Content
Join SDMI
Join CPTWG
Privacy
Join TCPA
Join TrustE
Talk to us!