![]() |
MinIO console with Db2-generated files |
Henrik's thoughts on life in IT, data and information management, cloud computing, cognitive computing, covering IBM Db2, IBM Cloud, Watson, Amazon Web Services, Microsoft Azure and more.
Showing posts with label encryption. Show all posts
Showing posts with label encryption. Show all posts
Wednesday, January 29, 2025
Simple container-based Minio deployment for Db2
Tuesday, July 20, 2021
Cloud Security: BYOK vs. KYOK explained
![]() |
Keep and bring your own key |
Monday, July 12, 2021
Cloud-based HSM with PKCS #11 for Db2 Native Encryption
![]() |
Manage your encryption keys |
Today, I want to point you to a tutorial in the IBM Cloud documentation. It discusses using Hyper Protect Crypto Services PKCS #11 for Db2 native encryption.
Wednesday, May 20, 2020
Use Chromium-based browsers to manage FIDO security keys
![]() |
Add fingerprint to FIDO key |
Thursday, November 7, 2019
Control your database encryption keys for Db2 on Cloud
![]() |
Db2 master key managed by IBM Cloud Key Protect |
Monday, October 7, 2019
Using your FIDO2 key for 2FA on IBM Cloud apps
![]() |
Architecture: End-to-end security |
Thursday, August 1, 2019
Use a Delivery Pipeline to rotate credentials
![]() |
Job in Delivery Pipeline to rotate keys |
Tuesday, May 7, 2019
Cloud-based FIPS 140-2 Level 4 crypto service
![]() |
Locks, keys, and data security |
Thursday, January 31, 2019
Enterprise digitalization and cybersecurity: How companies struggle
![]() |
Cybersecurity Workshop at Zeppelin University |
Last Friday, 25.01.2019, I attended the Cybersecurity workshop of the "Bodensee Innovationscluster Digitaler Wandel" (digitalization). The innovation cluster is organized by the Zeppelin University in Friedrichshafen. It tries to bring together companies from the wider Lake Constance region that are impacted by digitalization. The researchers have identified four topics that will be addressed:
Thursday, October 11, 2018
Use a custom domain, manage TLS certificates and apply e2e security to cloud app
![]() |
End to end security for a cloud app on IBM Cloud |
Wednesday, October 10, 2018
BYOK to encrypt Kubernetes secrets on IBM Cloud
![]() |
Add Key Protect |
Friday, September 14, 2018
Tutorial on how to apply end to end security to a cloud application
Before you head out to the weekend I wanted to point you to a new cloud security tutorial. If you read this at the beginning of your week: What a great start... ;-)
Did you ever wonder how different security services work together to secure a cloud application? In the new tutorial we use
If you have feedback, suggestions, or questions about this post, please reach out to me on Twitter (@data_henrik) or LinkedIn.
Did you ever wonder how different security services work together to secure a cloud application? In the new tutorial we use
- IBM Cloud Activity Tracker to log all security-related events. This includes logging in to the account, provisioning or deleting services, working with encryption keys and more.
- IBM Cloud Key Protect to manage encryption keys. For the tutorial, we generate a root key for envelope encryption of stored files. You could also import your own root key (bring your own key, BYOK). We use the root key to create encrypted buckets in the IBM Cloud Object Storage service.
- IBM Cloud Object Storage (COS) service to produce expiring links to individual files. The links can be shared with others and expire after the set amount of time, so that the file cannot be accessed thereafter.
- IBM Cloud App ID as a wrapper around (enterprise and social) Identity Providers to manage authentication and authorization through a single interface. The App ID service can be directly integrated with Kubernetes Ingress.
- IBM Cloud Container Registry as a private image registry from which we deploy the application as container into a Kubernetes cluster (IBM Cloud Kubernetes Service). The container registry includes a Vulnerability Advisors that scans for and assesses container vulnerability and then recommends fixes.
If you have feedback, suggestions, or questions about this post, please reach out to me on Twitter (@data_henrik) or LinkedIn.
Friday, July 13, 2018
How to: Enable Let's Encrypt SSL wildcard certificates for your IBM Cloud apps
![]() |
Private data - secured |
Wednesday, August 9, 2017
Introduction to Cloud App Security - Part 1
![]() |
Security for Cloud Apps |
Note that this is part 1 of 2. Part 2 is linked at the bottom.
Labels:
applications,
best practices,
bluemix,
cloud,
cloudfoundry,
encryption,
IBM,
ibmcloud,
IT,
security
Introduction to Cloud App Security - Part 2
(This is a continuation from part 1 of this introduction to Cloud App Security.)
Providing a secure app or application is a fundamental requirement. This is especially true in a cloud environment. In my post about “Securing Workloads on the IBM Cloud” I discussed the various layers that realize secure cloud computing. Today, I want to focus solely on apps that are built for deployment in the IBM Cloud. What makes up a secure app? What cloud services help establishing app security? Let’s take a look together.
App Security Services
To focus on the application logic, the functionality and business side, developers can delegate or “outsource” some of security tasks. Here is a non-exhaustive list of services that the IBM Cloud with the Bluemix platform provides. I am going to use the list of security topics from above:
Labels:
applications,
best practices,
bluemix,
cloud,
encryption,
IBM,
ibmcloud,
IT,
security
Wednesday, April 12, 2017
DB2 Easter Egg Quiz - Kind of
Are you ready for a new DB2 quiz? Here is a tricky question for you. It is about DB2 security, it is (kind of) hardware-related and deals with a relatively new DB2 feature. Curious...?
The following shows the output of a DB2 tool, shipped with your regular DB2 LUW these days:
Keystore Password:
Password successfully stashed to db2_pkcs11_pwd.sth
xxxxx completed sucessfully.
Have a clue? (The "xxxxx" is replacing the name of the db2 tool). If you know the answer, comment and also paste the link to the page in DB2 Knowledge Center describing that tool. I will publish the comments in the next few days.
The following shows the output of a DB2 tool, shipped with your regular DB2 LUW these days:
Keystore Password:
Password successfully stashed to db2_pkcs11_pwd.sth
xxxxx completed sucessfully.
Have a clue? (The "xxxxx" is replacing the name of the db2 tool). If you know the answer, comment and also paste the link to the page in DB2 Knowledge Center describing that tool. I will publish the comments in the next few days.
Labels:
administration,
DB2,
encryption,
fun,
IT,
knowledge center,
quiz,
security,
version 11
Friday, February 24, 2017
Securing Workloads on IBM Cloud - Some Resources
![]() |
Security Guides for IBM Cloud |
Friday, July 17, 2015
DB2 Encryption: Some rotation before the weekend
![]() |
Some bits on encryption... |
The first step was to obtain the encryption information, i.e., metadata about the encrypted database. This can be done in two ways: Either using the utility db2pd or by calling the table function ADMIN_GET_ENCRYPTION_INFO.
Monday, May 4, 2015
Dealing with DB2 Security and my Stupidity...
Today I wanted to test some options around encrypting DB2 backups and restoring encrypted database backups. I can report that the security features work, only my stupidity (or call it "vacation readiness") caused some delays.
In my previous blog entries I already showed you how to create an encrypted DB2 database using the new "native encryption" and how to rotate the master keys using built-in procedures. Next in my list to test was taking an encrypted database backup. It is pretty straight-forward, just call BACKUP DATABASE and add the ENCRYPT option:
[henrik@mymachine]$ db2 backup database enc1 encrypt
Backup successful. The timestamp for this backup image is : 20150504135739
In my previous blog entries I already showed you how to create an encrypted DB2 database using the new "native encryption" and how to rotate the master keys using built-in procedures. Next in my list to test was taking an encrypted database backup. It is pretty straight-forward, just call BACKUP DATABASE and add the ENCRYPT option:
[henrik@mymachine]$ db2 backup database enc1 encrypt
Backup successful. The timestamp for this backup image is : 20150504135739
Labels:
administration,
data in action,
DB2,
encryption,
IT,
knowledge center,
linux,
security,
version 10.5
Thursday, January 22, 2015
Boss, I rotated the keys! (DB2 database encryption)
In my previous entry I wrote about how I created an encrypted database. Today, I am showing you how I rotated one of the keys used for the DB2 native encryption.
DB2 uses a two tier approach for encrypting the data. A so-called Data Encryption Key (DEK) is the one actually taken as input for the encryption algorithm. To prevent others from accessing and seeing the DEK, a second layer is added and the so-called Master Key (MK) comes into play. The MK is used to encrypt the DEK. The encrypted DEK is stored inside the database, the MK outside of it and there are options for how to handle it. Walid has details about the encryption keys and the overall architecture in his blog.
Because the Master Key is stored outside of the database and is the one that needs to provided when starting up DB2, it is a good time to change it from time to time. Many companies actually have security policies that require periodical change of passwords. That is the moment to use the new DB2 administrative procedure ADMIN_ROTATE_MASTER_KEY. If you went with the option of DB2 generating the MK for you (I did for simplicity), then you only have to call the procedure and be done:
db2 "CALL SYSPROC.ADMIN_ROTATE_MASTER_KEY (NULL)"
Value of output parameters
--------------------------
Parameter Name : LABEL
Parameter Value : DB2_SYSGEN_hloeser_ENC1_2015-01-22-12.01.20
Return Status = 0
The call generates a new master key and associated label and then re-encrypts the Data Encryption Key with the new MK. If you provided a Master Key and label during the setup yourself, then you have to change the MK first and then call the procedure with the label as parameter.
Of course, if you noted down that generic label that DB2 generated for you, then you could use it as input. It would use the stored Master Key to re-encrypt the DEK. It would not change any password in that case. So be careful!
db2 "CALL SYSPROC.ADMIN_ROTATE_MASTER_KEY ('DB2_SYSGEN_hloeser_ENC1_2015-01-22-12.01.20')"
Value of output parameters
--------------------------
Parameter Name : LABEL
Parameter Value : DB2_SYSGEN_hloeser_ENC1_2015-01-22-12.01.20
Return Status = 0
The key to security (Evan-Amos via Wikipedia) |
DB2 uses a two tier approach for encrypting the data. A so-called Data Encryption Key (DEK) is the one actually taken as input for the encryption algorithm. To prevent others from accessing and seeing the DEK, a second layer is added and the so-called Master Key (MK) comes into play. The MK is used to encrypt the DEK. The encrypted DEK is stored inside the database, the MK outside of it and there are options for how to handle it. Walid has details about the encryption keys and the overall architecture in his blog.
Because the Master Key is stored outside of the database and is the one that needs to provided when starting up DB2, it is a good time to change it from time to time. Many companies actually have security policies that require periodical change of passwords. That is the moment to use the new DB2 administrative procedure ADMIN_ROTATE_MASTER_KEY. If you went with the option of DB2 generating the MK for you (I did for simplicity), then you only have to call the procedure and be done:
db2 "CALL SYSPROC.ADMIN_ROTATE_MASTER_KEY (NULL)"
Value of output parameters
--------------------------
Parameter Name : LABEL
Parameter Value : DB2_SYSGEN_hloeser_ENC1_2015-01-22-12.01.20
Return Status = 0
The call generates a new master key and associated label and then re-encrypts the Data Encryption Key with the new MK. If you provided a Master Key and label during the setup yourself, then you have to change the MK first and then call the procedure with the label as parameter.
Of course, if you noted down that generic label that DB2 generated for you, then you could use it as input. It would use the stored Master Key to re-encrypt the DEK. It would not change any password in that case. So be careful!
db2 "CALL SYSPROC.ADMIN_ROTATE_MASTER_KEY ('DB2_SYSGEN_hloeser_ENC1_2015-01-22-12.01.20')"
Value of output parameters
--------------------------
Parameter Name : LABEL
Parameter Value : DB2_SYSGEN_hloeser_ENC1_2015-01-22-12.01.20
Return Status = 0
Subscribe to:
Posts (Atom)