HN user

jis

86 karma
Posts4
Comments30
View on HN

I suspect that the definition of "Safe" in this context is that it has limited ability to mess with your computer. From what I have read, the application didn't violate the security of anyone's computer, it didn't need to!

So we need to be careful with how we interpret "Safe!"

In the 1990's we had Netscape with SSL and Microsoft with PCT. We (the world) really didn't need two protocols to do the same thing. So, we (the IETF) got the Microsoft folks and the Netscape folks to work together to come up with a merged protocol. This resulted in the birth of Transport Layer Security, aka TLS, which is what we use in browsers today...

P.S. It is a Rust program, I compile it as a static binary, so my ansible script can push the binary out to any Linux distribution (that is x86_64) and it will run.

Another tool to look at is vpncloud (https://github.com/dswd/vpncloud). It also builds a mesh network over UDP. Key setup is a bit easier, static keys are only used for authentication. Encryption keys are dynamically generated and replaced on a schedule.

I combine it with an ansible script to push out the (minimal) configuration to end nodes.

Another tool worth looking at is vpncloud (https://github.com/dswd/vpncloud). I used to use tinc, but switched to vpncloud 2 years ago.

In my use case, I have a modest number of nodes. Although nodes learn of other nodes from each other, I use ansible to keep each node's config updated.

I use vpncloud (and previously, tinc) between docker hosts. So, you have to be careful about interface MTU's inside of docker, particularly if you use containers based on Alpine.

A less permanent solution is to use versioned buckets with MFA Delete turned on. You can then cleanup versions if you need to by disabling MFA delete, which requires the MFA to do. So as long as your MFA device is not on-line, then if someone compromises your servers, they cannot disable MFA delete and cannot remove versioned objects.

Sorry to reply to my own comment. But I want to clarify. Two certificates (at least) expired. The root named "AddTrust External CA Root" and a subordinate certificate with a subject of "USERTrust RSA Certification Authority." Both expired around the same time.

The "USERTrust RSA Certification Authority" certificate signed yet another layer of intermediate certificates.

The "USERTrust RSA Certification Authority" certificate was promoted to a self-signed certificate, now in the browser trust stores, using the same key pair as the original certificate that was signed by "AddTrust External CA Root." It has an expiration of 2038 (although that concept is a bit vague in a root certificate).

It's actually worse. The new root (good I believe until 2038) uses the same key as the now expired certificate. It has to or it would not be possible to validate the certificates that were issued. And this new one is a root certificate installed in browsers!

What "should" happen is that no certificate should be issued with an expiration date later than the issuing certificate. Then as the issuing certificate gets closer to expiration, a new one, with a new key pair, should be created and this new certificate should sign subordinate certificates.

Amendment: If you are on the Internet, consider your traffic to be public. If you care about it, protect it (encrypt it).

Yep. The problem is that most customers cannot judge the level of security offered by a company. So Company "A" says they are "secure," but has a cumbersome process to follow to get a certificate. Company "B" says they are "secure" and has a convenient process. Guess which one gets the business (all else being equal).

In reality Company "B" may well be much less secure then "A", but the customer has no way of knowing that or making a judgement on which company is more secure.

http://gitblit.com/ is also worth looking into. It is more sophisticated then gitolite (which I also use) and less hairy then gitlab. It is Java based, but doesn't require a database.

Also, for backup, rather then tar up the ".git" directory, I use "git bundle <backupfilename> --all" which creates a flat file with all branches included. This file can then be uploaded to GCS or S3.

I have a Kindle Fire HD 8 Tablet. Amazon has clearly optimized the software for it. For example it has three types of memory. Flash for storage, RAM for main memory and (presumably) slower RAM that is used as swap space. Most Android devices run a linux kernel without any swap space configured. But the Fire Tablet swaps (which is why it can run Android 5+ with only 1Gb of RAM I suspect). It has two processors. A slow processor that uses less battery, and a faster one which is switched on when needed.

My point is that Amazon tried really hard to give a good experience with lower end hardware then most Android devices. Encryption likely adds a significant performance cost.

Keep in mind, the iPhone has hardware support for its encrypted memory. It is my understanding that the main processor does not get involved in the actual encryption of the flash storage. Because Apple controls the hardware and the software, they can do this tight integration. Android is software and encryption on Android must be done in software unless and until a hardware vendor integrates bulk encryption into their memory system and provides an appropriate driver for Android to control it. If such a device exists, I haven’t seen it yet...

Years ago I was told by a colleague that he was required to setup an administrative system that was NOT connected the network, but also had to be able to send and receive e-mail.

The inherent contradiction was lost on the people giving the orders. So...

I remember looking into Microsoft's Healthvault product a few years ago. I was astonished to find this:

"Microsoft may access and/or disclose your personal information if we believe such action is necessary to: (a) comply with the law or respond to legal process served on Microsoft; or (b) protect the rights or property of Microsoft (including the enforcement of our agreements)."

Note clause (b). I thought it was a little off that they can examine your health records to protect their rights and property. But it looks like they are not afraid to use it!

This ditty is still there. In fact if you go to the home page for Health Vault, it says:

"It's your HealthVault account You decide who can see, use, add, and share info, and which health apps have access to it. HealthVault won't provide your health information to any other app or service without your permission."

So as advertised it looks like you get to decide. You have to read pretty far down in their privacy policy before you find the clause I first mentioned. Now of course there are cases where your private information may be used without your permission, but most people would assume that requires some form of legal process... but not for Microsoft.

Your cloud hosting provider can easily be a passive adversary. Altering your data is risky for them (you might notice) so they won't alter your copy of openpgp.js or the public keys you use. But looking at all of your disk and memory and network is something they can do and you would never know. But if the private key is not on the server, they will never be able to decrypt the messages encrypted for you....

We host MIT App Inventor on Google App Engine. However we have some folks who want to use App Inventor in locations that have difficulty reaching GAE. Either because they are located on a poor internet connection, or don't have one at all!

The Duo-Security people, who have an Android Token claim to use the secure element in NFC enabled phones. It is a TOTP token and can be used just like the Google Authenticator. You don't have to use Duo-Security's system to use it (though there system is worth looking at if you are rolling out your own authentication system).

I haven't tried this, but I was told a few years back by someone involved in the design of the passes that you can use the multi-day pass of a different person in your party. Disney recognized that in a large family people might mix up the passes, so all the passes issued as part of a transaction are interchangeable.