189 reputation
6
bio website
location Sacramento, CA
age 27
visits member for 1 year, 3 months
seen Jun 18 at 16:59

May
22
comment Do I need to keep a 64-bit version number secret?
I would assume that, in most cases, you'd want to include every field in the MAC so nothing can be modified. Since a past version has a short life anyway, I agree with your assessment that version doesn't have to be confidential - which is what I was trying to determine. From other comments, it seems also pointless to mask the version as well.
May
21
comment Do I need to keep a 64-bit version number secret?
@Maeher Good point. So what I really need to know: Do I need to keep the version secret? Would there be any benefit in keeping it secret?
May
21
comment Do I need to keep a 64-bit version number secret?
@Maeher I don't think it does, but I could be wrong. If it doesn't, wouldn't obscuring it help a little at first glance? Wouldn't the XOR'd Version look random like the rest of the text?
May
21
comment Do I need to keep a 64-bit version number secret?
@fgrieu I think in this case a little obscurity is ok. Knowing the version number just tells the attacker that a group of ciphertext was encrypted with the same key. Should I be more concerned?
May
18
comment Alternatives to HMAC + CBC?
Thank you everyone for your insights! You've brought up some good concerns and things for me to think about.
May
18
comment Alternatives to HMAC + CBC?
@fgrieu: The database can only be accessed by an intermediary. The intermediary is protected by SSL w/ CA signed client/server certificates. Information can only be retrieved by an entity with a signed client certificate, and will only respond if provided with a proper object id (non-sequential). Still, I want to consider as many attack vectors as I can. The MAC is for protecting against a padding oracle IF the database was compromised. Adding the id makes sense, I'm just unsure about how to handle roll-backs. Any suggestions / white-papers / articles would be helpful.
May
18
comment Alternatives to HMAC + CBC?
Is there some reference material I can look at about these replay issues? The database is not accessed directly. If the attacker has direct access to the database, wouldn't he also have access to the ids? Also is there any benefit from separating the signature out into a separate column, or is it better to keep it mixed in with the ciphertext?
Apr
13
comment Proper uses for CTR and CBC AES block cipher modes
OCB would be my first choice, followed by GCM. Unfortunately neither are implemented in Go. Best thing I have is AES-CBC + HMAC.
Apr
12
comment Proper uses for CTR and CBC AES block cipher modes
So the safest method for me to use is CBC, with the right care. Is HMAC the safest method for auth, or should I look at something like CMAC (OMAC1)?
Apr
12
comment Proper uses for CTR and CBC AES block cipher modes
For some reason I confused OBC with CBC - So I don't have the authentication advantage. But that's interesting about the authentication. If an application is decrypting something from a database, how does HMAC help? Is there a way to add authentication to CBC? That's all I have available in my language (Go), other than CTR.
Apr
12
comment Proper uses for CTR and CBC AES block cipher modes
Sorry, for some reason I confused OBC with CBC.