- Copyright for expressions of ideas (books, movies, music). See "fair use" exceptions (e.g., class uses pages from a book)
- Trademark for specific words and logos
- Patent for inventions, processes, materials
- Trade secrets for things that can't be patented (recipes, client and supplier lists, etc)
- DMCA has been abused, "takedown notice" used to harass or DoS a site
Data Rights Management / Information Rights Management
- Can work via:
- Rudimentary Reference Check: enter a phrase or number from manual
- Online Reference Check: enter product key at installation, OS will check online later
- Local Agent Check: install a tool that does this, used with games
- Presence of Licensed Media: is CD in tray?
- Support-Based Licensing: pay annual support to get updates and patches
- DRM should provide:
- Persistent Protection — follow the content
- Dynamic Policy Control — allow creators and owners to modify permissions
- Automatic Expiration
- Continuous Auditing — allow for monitoring of use and access history
- Replication Restrictions — including screen-capture, screen-scraping, print, electronic copy
- Remote Rights Revocation
- Might provide more: control printing, add watermark if printed, prohibit copy/paste, prohibit screenshot
Data Storage Models
- Volume storage — like an attached disk,
often associated with IaaS
- File storage — the usual file system hierarchy
- Block storage — block device like a blank disk (e.g., AWS EC2)
- Object-based storage — like AWS S3,
metadata describing content,
usually associated with PaaS.
Accessible through an API.
Often described as part of a hierarchy,
but not a file system as with
- Structured — easy to include in a database
- Unstructured — messy pile of multimedia, email messages, photos, audio files, presentations
- Databases — usually with PaaS and SaaS
- CDN — Content Delivery Network, stream data to SaaS apps
- Raw storage — concept for provider — RDM (Raw Device Mapping) in VMware, or Pass-Through Disks in Microsoft Hyper-V
- File-level encryption (encrypt the DB file)
- Transparent encryption (runs within database)
- Application-level encryption (part of application accessing the DB)
Data Masking — hide, replace, or omit sensitive data
- Random substitution
- Hashing — replace with hash, which will distort format and other characteristics, cannot be reversed
- Algorithmic substitution (allows for two-way substitution, so this is very low-security encryption!)
- Shuffle (shuffle values within the same column)
- Masking (hide content with characters, credit card becomes XXXX XXXX XX65 4321). This is for internal use, for testing and training, not for printing receipts.
- Deletion (null value or delete it)
- Static — new copy is created with masking
- Dynamic — on-the-fly, hide some data when records are accessed
Similar to masking, also remove indirect identifiers to prevent analysis figuring out what PII would have directly shown.
Used to analyze statistics on large collection containing PII.
Replace a sensitive data element with a token, a random value with shape and form of original. A tokenization application maps between the tokens and actual values. Needs a second database.
PCI DSS requires either encryption or tokenization of PII and card data.
Encrypt, split ciphertext and key across storage locations. With redundancy, your data survives individual drive failures, or seizures of some media by law enforcement.
Generate a random 256-bit key, encrypt your data with AES-CBC. For each 8-bit block of the ciphertext and the key, store:
- Bits 123456 at cloud #1
- Bits 345678 at cloud #2
- Bits 125678 at cloud #3
- Bits 123478 at cloud #4
You could reassemble the ciphertext and key with the data from any two clouds. That's all you need to understand for the test.
In the real world, each data center and its corporate headquarters would have to be in a separate country. And in the really real world with the US CLOUD Act, no more than one could be in the U.S. or another Five Eyes country, or any other country where the U.S. has strong influence. Chile, South Africa, India, and Singapore might work, as long as the cloud providers have their headquarters in those countries.
More advanced, possible but less likely to appear:
- SSMS (Secret Sharing Made Short) — encrypt data, use IDA (information dispersal algorithm) to split the data into fragments using erasure coding. Split the key, sign and distribute fragments of ciphertext and key to different cloud storage services. User must have m out of n fragments of data and key.
- AONT-RS (All-Or-Nothing Transform with Reed-Solomon) — similar approach
Quantum computing is offensive, a threat to break ciphers and expose secrets. A truly general-purpose quantum computer with enough stable qubits could run Shor's algorithm to quickly solve the now "too difficult" problems that protect asymmetric ciphers — factoring for RSA and discrete logarithm for ECC. Symmetric ciphers should (as far as we currently understand) be relatively safe, Grover's algorithm reduces a 256-bit cipher to the resistance of a 128-bit cipher against brute-force search.
Quantum cryptography is defensive, to protect secrets. It's really about QKD or Quantum Key Distribution, using single-photon signaling to transmit a key to be used in a conventional symmetric cipher. China is a world leader in this, see one of my "Just Enough Cryptography" pages for details on the Chinese quantum Internet.
Responsibility depending on type of cloud service
(Governance, Risk, and Compliance)
- IaaS — Provider hosts images, their standard offerings plus whatever you create and store. You maintain your virtual machines.
- PaaS — Provider maintains run-time libraries (Java, Python, PHP, Perl, .NET, etc) and the development environment. You create the code and back up your software.
- SaaS — Provider maintains the application. You provision users, possibly configure application options, and train users to use the application carefully.