Securing a secret, whether it's a password, sensitive information or a cryptographic key, is hard to get right. Hashicorp's Vault attempts to remove the headaches by providing simple APIs no matter what form the storage back-end takes. I have just finished a report which looks into part of the implementation of Vault to show the mechanisms used to protect user's … Continue reading White paper on the secret sharing implementation in Hashicorp’s Vault
I recently offered to help out my personal trainer by writing an application to keep track of the number of reps a member had performed within a set time period. I thought this would be a good opportunity to test out how important it is to keep the users involved in the development process. Here's how it … Continue reading Developing an MVP with rapid feedback cycles
Earlier this week I had a discussion about the running time of an algorithm used to test a method. This got me thinking about one of my favourite areas of computer science - computational complexity. We can use complexity theory to split problems into classes. Understanding some of these classes can help us to recognise when … Continue reading Stop trying to solve hard problems!
This is the second of a series of posts covering what I learnt at Velocity Amsterdam 2015. During the second day, Mike Amundsen of CA Technologies shared his insights into the works of Melvin Conway. While Conway's Law may be well known, it is only stated as the thesis of his article "How do committees invent?". Mike showed that … Continue reading Velocity 2015, 2: System Design = Organisation Design
I was fortunate enough to attend Velocity in Amsterdam this year, which followed several major themes - one of which being security. This post was inspired by a presentation given by Alex Schoof entitled "Managing Secrets at Scale". Alex covered many areas, including how to control the use of secrets, how they can be made highly available … Continue reading Velocity 2015, 1: Keeping Secrets Secret
I found it impossible to find a segment of code which showed how to generate a secure key pair in the enclave with swift for iOS 9. So... here it is! // private key parameters let privateKeyParams: [String: AnyObject] = [ kSecAttrLabel as String: "privateLabel", kSecAttrIsPermanent as String: true, kSecAttrApplicationTag as String: … Continue reading Generating a Key Pair with iOS’s Secure Enclave in Swift