The Digital Millennium Copyright Act David S. Touretzky Computer Science Department

advertisement
The Digital Millennium
Copyright Act
David S. Touretzky
Computer Science Department
Carnegie Mellon University
November, 2001
1
Digital Millennium Copyright Act
• Enacted in 1998.
• Added new copyright regulations
(Title 17, US Code) concerning:
– access controls/digital rights management
– liability limitations for ISPs
– broadcasting music on Internet radio stations
2
Anti-Circumvention Provision
• 17 USC 1201(a)(1)(A): No person shall
circumvent a technological measure that
effectively controls access to a work
protected under this title.
– Can’t watch encrypted DVDs at home using an
unapproved (open-source) DVD player.
– Can’t decrypt your lawfully purchased eBook.
3
Anti-Trafficking Provision
• 17 USC 1201(a)(2): No person shall
manufacture, import, offer to the public,
provide, or otherwise traffic in any
technology, product service, device,
component, or part thereof that
– (A) is primarily designed or produced for the
purpose of circumventing a technological
measure that effectively controls access to a work
protected under this title;
4
– (B) has only limited commercially significant
purpose or use other than to circumvent...
– (C) is marketed by that person … for use in
circumventing a technological measure that
effectively controls access to a work protected
under this title.
• You can sell digital signal processors, but you can’t
sell cable TV descramblers.
5
Anti-Trafficking: Copying
• 17 USC 1201(b)(1): No person shall
manufacture, import, offer to the public,
provide, or otherwise traffic in any
technology, product, service, device,
component, or part thereof that
– (A) is primarily designed or produced for the
purpose of circumventing protection afforded by
a technological measure that effectively protects a
right of a copyright owner under this title ...
6
Escape Clause 1
• 17 USC 1201(c)(1): Nothing in this section
shall affect rights, remedies, limitations, or
defenses to copyright infringement,
including fair use, under this title.
– 1201 isn’t about copyright infringement.
– But if A circumvents, B can make fair use of
the fruits of A’s crime.
7
Escape Clause 2
• 17 USC 1201(c)(4): Nothing in this section
shall enlarge or diminish any rights of free
speech or the press for activities using
consumer electronics, telecommunications,
or computing products.
– Dismissed as “precatory language” (pleading)
by 2nd Circuit Court of Appeals.
8
Exemptions to Anti-Circumvention
•
•
•
•
•
•
•
1201(d) - Libraries
1201(e) - Law enforcement
1201(f) - Reverse engineering of software
1201(g) - Encryption research
1201(h) - Protect minors from the Internet
1201(i) - Protect personally identifying info
1201(j) - Security testing
9
Library Exemption
• 1201(d)(1) says libraries, archives, and
educational institutions may circumvent
access controls…
to gain access to a work…
to decide whether to purchase it.
But...
10
The Librarians’ Catch-22
• 1201(d)(4) says the exemption in (d)(1)
cannot be used as a defense to a claim under
the anti-trafficking provisions, and...
• Libraries may not manufacture, import, etc.,
any technology, product, service, etc.,
which circumvents a technological measure.
• So how can they acquire the tools to
circumvent under (d)(1)?
11
Reverse Engineering
• 1201(f) - allows circumvention of access
controls to permit reverse engineering of
software programs to achieve
interoperability with other programs.
• Doesn’t apply to hardware, such as DVD
players and media.
• “Interoperability” does not mean bypassing
another program’s access/copying controls.
12
Encryption Research
• 1201(g) - cracking permissible when:
–
–
–
–
lawfully obtained copy of the encrypted work
good faith effort to obtain permission to crack
no copyright infringement or computer abuse
information gained is disseminated in a manner
calculated to advance state of knowledge
– cracker has respectable credentials
– copyright owner notified of results
13
Librarian of Congress Reports
• Special cases designated by the Librarian of
Congress as exempt from 1201(a)(1)(A):
– 1. Encrypted list of blocked sites used by
censorware programs such as CyberPatrol
– 2. “Broken” access control mechanisms.
• But 1201(a)(2) still applies, so providing the
tools to make use of these exemptions is
still illegal!
14
Part II
Why Is Code Protected Speech?
15
Is Code Speech?
• Bernstein v. U.S. Dept. of State
– Snuffle encryption algorithm (a “munition”) is speech
– “functional aspect”; maybe object code isn’t speech
• Junger v. Daley
– cryptography textbook with code also provided on diskette
• DVD-CCA v. Bunner et al.
– California DVD case: 1st Amdt. trumps trade secret law
• Universal City Studios v. Reimerdes
– 2600 DVD case: even object code is speech
16
What’s Special About Code?
• Bomb-making instructions are not a bomb.
• The recipe for LSD is not a drug.
• A drawing of a gun is not a weapon.
– All are fully protected speech.
• But a copy or listing of a computer program
is a computer program.
– Why should that make code less protected?
17
“Code is Dangerous” Argument
• Software has a functional aspect:
– Software can instantly instruct computers to do
antisocial things.
• This makes software more dangerous than
other types of speech that only instruct
slow, lazy humans.
18
But Code Isn’t Dangerous
• Computer programs don’t do anything.
– They are merely expressions of ideas.
• DeCSS does not pirate DVD movies.
– A person must insert the DVD into a drive, load
DeCSS onto a digital computer, and run it.
• Where have we seen this argument before?
19
Guns Don’t Kill People:
People Do
20
Treat Software Like Guns?
• Restrictions on possession of guns and
controlled substances are constitutional.
– Doesn’t interfere with the expression of ideas.
• Can we restrict publication of software
without restricting the expression of ideas?
21
The “No Ideas Here” Strategy
• Claim: some programs are purely
functional and do not express ideas.
– Is object code purely functional?
– Is css_descramble.c purely functional
because it relies on long boring tables of
numbers?
– Only code published in textbooks or journal
articles expresses ideas?
22
Ideas That Code Can Express
• “X” is possible: here’s an existence proof.
• My way of doing “X” is better than the
other guy’s way.
– Runs faster / Less memory / Shorter code
• “X” is trivial.
– Winstein & Horowitz’ qrpff.pl is 472 bytes!
23
DVD Decryption in Perl
#!/usr/bin/perl
# 472-byte qrpff, Keith Winstein and Marc Horowitz <sipb-iap-dvd@mit.edu>
# MPEG 2 PS VOB file -> descrambled output on stdout.
# usage: perl -I <k1>:<k2>:<k3>:<k4>:<k5> qrpff
# where k1..k5 are the title key bytes in least to most-significant order
s''$/=\2048;while(<>){G=29;R=142;if((@a=unqT="C*",_)[20]&48){D=89;_=unqb24,qT,@
b=map{ord qB8,unqb8,qT,_^$a[--D]}@INC;s/...$/1$&/;Q=unqV,qb25,_;H=73;O=$b[4]<<9
|256|$b[3];Q=Q>>8^(P=(E=255)&(Q>>12^Q>>4^Q/8^Q))<<17,O=O>>8^(E&(F=(S=O>>14&7^O)
^S*8^S<<6))<<9,_=(map{U=_%16orE^=R^=110&(S=(unqT,"\xb\ntd\xbz\x14d")[_/16%8]);E
^=(72,@z=(64,72,G^=12*(U-2?0:S&17)),H^=_%64?12:0,@z)[_%8]}(16..271))[_]^((D>>=8
)+=P+(~F&E))for@a[128..$#a]}print+qT,@a}';s/[D-HO-U_]/\$$&/g;s/q/pack+/g;eval
It is Illegal to Display This Slide
24
“Imminent Peril” Strategy
• Courts now accept that code is speech.
• But speech that poses a specific and
imminent threat of harm is not protected.
– “Let’s kill all the lawyers” is protected.
– “Kill that lawyer with this gun now” is not.
• Could publishing computer code meet this
test? “Computers make crime too easy.”
25
WARNING:
You are only
one mouse click away
from destroying
the motion picture industry!
Click here to continue...
26
Counting Mouse Clicks
• Judge Kaplan enjoined 2600 from
distributing the DeCSS source.
– 2600 responded by posting links to mirror sites.
• Judge Kaplan enjoined 2600 from linking to
mirror sites: only a mouse click away.
– So 2600 published the URLs as plaintext.
• 2nd Circuit: now it takes four mouse clicks.
– How many mouse clicks are enough?
27
When Does Code Not
Pose an Imminent Danger?
•
•
•
•
•
Executable binary -- extremely dangerous!
Compilable source -- very dangerous.
Screen dump (a “picture” of the code)?
Code printed on a t-shirt?
Algorithm expressed in a formal language
for which there is no compiler?
– So it’s not really “code”?
28
When Is Code Not Dangerous?
• Algorithm translated line-by-line into
machine-generated English?
– Poses threat of reverse-translation.
• Algorithm expressed in colloquial English?
– Professor Felten, call your lawyer.
• Impure thoughts about an algorithm?
– 1201(a)(1) says thou shalt not “manufacture”!
29
Where to Draw the Line?
• Conservative: only ban binaries and
compilable/interpretable source.
– Too easy to work around.
• Liberal: ban anything that can potentially
be turned into executable code.
– First Amendment doesn’t permit this.
30
Conclusions
• Restricting only the publication of
imminently dangerous “code” will prove
unworkable in practice.
– Counting mouse clicks is silly.
– Code can take many forms.
– Computers will soon understand English.
• Truly effective restrictions require the
censorship of “dangerous ideas.”
31
The Censorship of Ideas
Is Intolerable
32
Download