- 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.
Now That You Know Cryptography...
There are some questions where knowing all the technology doesn't give you the correct answer. You must carefully analyze the English prose.
(ISC)2 isn't as bad as CompTIA about doing this, but they still do it on some questions.
Here's are two examples, from my CompTIA Security+ study suggestion page. In the second one, "BPA" means "Business Partnership Agreement". You can click "See the answer" to be taken to the answer and its explanation, and then "Return to main page" to get back here:
Example Question #1
Question: You want to use a system that can protect communication by authenticating the server, and also providing a copy of the server's public key in a trustworthy format. A provider of trusted certificates will only provide one when you follow their rules. There is a protocol that you can use to check in real time whether a certificate should be trusted or not. You must have a copy of the currently untrusted certificates locally, to reduce network traffic. Rather than a complete copy of the key, you may refer to its hash instead. There are ways to prevent a breach today from exposing secrets based on keys in the past. What do you need?
See the answer
Example Question #2
Question: Your CEO has met with the CEO of another company, and they have agreed to work together to develop a new service. Authentication and identity management will be connected across the two organizations. Given the sensitivity of the development project, User authentication and authorization will use a centralized server running the best available trusted third-party service. Users will receive identity and service tokens from a unified authentication and authorization service, which requires that system clocks be synchronized across the organizations. Applications will be limited to those written with the API of that service. What do you need?
See the answer