{"action":"created","issue":{"url":"https://api.github.com/repos/ipfs/specs/issues/29","labels_url":"https://api.github.com/repos/ipfs/specs/issues/29/labels{/name}","comments_url":"https://api.github.com/repos/ipfs/specs/issues/29/comments","events_url":"https://api.github.com/repos/ipfs/specs/issues/29/events","html_url":"https://github.com/ipfs/specs/issues/29","id":106112206,"number":29,"title":"IPFS doesn't use TLS","user":{"login":"willglynn","id":118362,"avatar_url":"https://avatars.githubusercontent.com/u/118362?v=3","gravatar_id":"","url":"https://api.github.com/users/willglynn","html_url":"https://github.com/willglynn","followers_url":"https://api.github.com/users/willglynn/followers","following_url":"https://api.github.com/users/willglynn/following{/other_user}","gists_url":"https://api.github.com/users/willglynn/gists{/gist_id}","starred_url":"https://api.github.com/users/willglynn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/willglynn/subscriptions","organizations_url":"https://api.github.com/users/willglynn/orgs","repos_url":"https://api.github.com/users/willglynn/repos","events_url":"https://api.github.com/users/willglynn/events{/privacy}","received_events_url":"https://api.github.com/users/willglynn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2015-09-11T23:30:33Z","updated_at":"2015-11-22T01:47:46Z","closed_at":null,"body":"[protocol/network#Encryption](https://github.com/ipfs/specs/tree/master/protocol/network#encryption):\r\n\r\n> IPFS uses cyphersuites like TLS.\r\n>\r\n> **NOTE:** we do not use TLS directly, because we do not want the CA system baggage. Most TLS implementations are very big. Since the IPFS model begins with keys, IPFS only needs to apply ciphers. This is a minimal portion of the whole TLS standard.\r\n\r\nSo you rolled your own transport encryption? I find this surprising, and I'm… skeptical.\r\n\r\nThis needs to be a new section (or an entirely separate document) rather than an aside.\r\n\r\n(Also, I'll add that if all you want is to connect to something, exchange RSA public keys, and get an encrypted transport stream, TLS is entirely capable of providing that without involving CAs.)"},"comment":{"url":"https://api.github.com/repos/ipfs/specs/issues/comments/158699300","html_url":"https://github.com/ipfs/specs/issues/29#issuecomment-158699300","issue_url":"https://api.github.com/repos/ipfs/specs/issues/29","id":158699300,"user":{"login":"lgierth","id":19248,"avatar_url":"https://avatars.githubusercontent.com/u/19248?v=3","gravatar_id":"","url":"https://api.github.com/users/lgierth","html_url":"https://github.com/lgierth","followers_url":"https://api.github.com/users/lgierth/followers","following_url":"https://api.github.com/users/lgierth/following{/other_user}","gists_url":"https://api.github.com/users/lgierth/gists{/gist_id}","starred_url":"https://api.github.com/users/lgierth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lgierth/subscriptions","organizations_url":"https://api.github.com/users/lgierth/orgs","repos_url":"https://api.github.com/users/lgierth/repos","events_url":"https://api.github.com/users/lgierth/events{/privacy}","received_events_url":"https://api.github.com/users/lgierth/received_events","type":"User","site_admin":false},"created_at":"2015-11-22T01:47:46Z","updated_at":"2015-11-22T01:47:46Z","body":"> layerings would look like\r\n\r\nWe should work on getting that into multiaddr very soon! Together with `/dns` support! Saying this because they both require relaxing the current `/key/value/key/value` scheme.\r\n\r\n> cjdns/CryptoAuth is secure, does it give either {reliable, muxing} ?\r\n\r\nCryptoAuth only gives you an unreliable channel per-peer. Reliability and muxing are done by TCP in the kernel (TUN/TAP interface). What would an unreliable channel be called, btw? It's just packets, not a stream. Maybe you can point me to something that clears these terms up, in our context."}}