Re:Ask HN: What do you think of my group chat app?
by tptacek on Wednesday February 11, 2009 @05:18PM
(#477641)
The "user" cookie contains a base64'd username, the JSON responses include an echoed User-Agent, and I can rotate the "roomids" parameter to retrieve message logs from arbitrary rooms. Does security matter for this app?
[ Parent
| on HN ]
Re:Ask HN: What do you think of my group chat app?
by nodnarb on Wednesday February 11, 2009 @05:30PM
(#477652)
Sorry, it's not really meant to be a secure chat.
It's catered to people who don't want to signup or install anything. Who just want to go to a link and start chatting.
Re:Ask HN: What do you think of my group chat app?
by rincewind on Wednesday February 11, 2009 @05:43PM
(#477665)
Do you mean you can't have both?
Re:Ask HN: What do you think of my group chat app?
by tptacek on Wednesday February 11, 2009 @05:57PM
(#477686)
I'm not sure what combination of features you'd want to give up in order to make the logs of a free web chat secure.
Still, it'd be worth putting up a notice somewhere that users can't expect privacy from this site.
Re:Ask HN: What do you think of my group chat app?
by omouse on Wednesday February 11, 2009 @11:24PM
(#478015)
store a random session id and store all the room data and all that shite on the server somewhere, not in a cookie. Also, use a random string of characters instead of a number for the room ids. That should take care of most of the problems that tptacek mentioned
Re:Ask HN: What do you think of my group chat app?
by tptacek on Thursday February 12, 2009 @12:58AM
(#478098)
Sometimes storing session data serverside is clunky, particularly when you have multiple servers; a classic, reasonable approach in that case is to MAC the contents of the cookie with a 256-bit random key, and then AES-CBC encrypt the cookie with that same key. But I agree, for this app, there's no reason there should be structured data in a cookie.
As for the room IDs --- randomizing them is a fine bit of rubber-chicken security. I think it's a good idea. But the right solution is to allow users to erase the chat logs, and to verify that users have access to a given room before dumping all messages starting at message ID 0.