{"type":"rich","version":"1.0","author_name":"npub17ty4mumkv43w8wtt0xsz2jypck0gvw0j8xrcg6tpea25z2nh7meqf4qgyd","author_url":"https://nostr.ae/npub17ty4mumkv43w8wtt0xsz2jypck0gvw0j8xrcg6tpea25z2nh7meqf4qgyd","provider_name":"njump","provider_url":"https://nostr.ae","html":"📅 Original date posted:2014-03-20\n📝 Original message:With Java, in theory, you can use SSLSocketFactory.createSocket(btsocket,\naddress, 1234, true) to wrap a bluetooth socket in SSL. However I have not\ntried it.\n\nFor now, just prototype and build your product without the security. We can\nfind someone to experiment with this, if you don't want to .\n\nBluetooth needs encryption and MACs as well as signing to be secure,\nbecause there could be radio MITM. Yes, this overlaps somewhat with the PKI\nsigning in BIP70, but not entirely - you might want to serve unsigned\npayment requests, but still have confidentiality and authenticity for a\nlocal face to face transaction. The signing and encryption does different\nthings.\n\n\nOn Thu, Mar 20, 2014 at 7:20 PM, Alex Kotenko \u003calexykot at gmail.com\u003e wrote:\n\n\u003e Hmm, is there any other way to do it? Can we provide a signed payment\n\u003e request and verify the sign on receiving side and this way protect from\n\u003e bluetooth MitM attack? Quick googling showed that SSL over bluetooth isn't\n\u003e a very well developed area, and my own skills are not enough to quickly\n\u003e implement a reliable secure solution here.\n\u003e\n\u003e\n\u003e 2014-03-20 10:36 GMT+00:00 Mike Hearn \u003cmike at plan99.net\u003e:\n\u003e\n\u003e\u003e Encoding entire payment requests into qrcodes is definitely not the way\n\u003e\u003e to go. They can already be large when signed and we're just at the start of\n\u003e\u003e adding features.\n\u003e\u003e\n\u003e\u003e Finishing off and standardising the bluetooth support is the way to go\n\u003e\u003e (r=bt:mac). Andreas' app already has some support for this I believe, so\n\u003e\u003e Alex you could prototype with that, but we need to:\n\u003e\u003e\n\u003e\u003e 1) Add an encryption/auth layer on top, because it runs over RFCOMM\n\u003e\u003e sockets. The authentication would require proof of owning the Bitcoin key\n\u003e\u003e that's in the address part of the URI (which is needed for backwards compat\n\u003e\u003e anyway).\n\u003e\u003e\n\u003e\u003e 2) Write a BIP for it and make sure it's interoperable\n\u003e\u003e\n\u003e\u003e For the auth layer we could either use SSL and then just ignore the\n\u003e\u003e server certificate and require signing of the session public key with the\n\u003e\u003e Bitcoin key, which should be easy to code up but is rather heavy on the\n\u003e\u003e air, or roll a custom lightweight thing where we just do a basic ECDH, with\n\u003e\u003e the servers key being the same as the address key. But rolling such\n\u003e\u003e protocols is subtle and I guess it'd need to be reviewed by people familiar\n\u003e\u003e with such things.\n\u003e\u003e\n\u003e\u003e This feels like a good opportunity to grow the community - perhaps we can\n\u003e\u003e find a volunteer in the forums who enjoys crypto.\n\u003e\u003e\n\u003e\u003e\n\u003e\u003e ------------------------------------------------------------------------------\n\u003e\u003e Learn Graph Databases - Download FREE O'Reilly Book\n\u003e\u003e \"Graph Databases\" is the definitive new guide to graph databases and their\n\u003e\u003e applications. Written by three acclaimed leaders in the field,\n\u003e\u003e this first edition is now available. Download your free book today!\n\u003e\u003e http://p.sf.net/sfu/13534_NeoTech\n\u003e\u003e _______________________________________________\n\u003e\u003e Bitcoin-development mailing list\n\u003e\u003e Bitcoin-development at lists.sourceforge.net\n\u003e\u003e https://lists.sourceforge.net/lists/listinfo/bitcoin-development\n\u003e\u003e\n\u003e\u003e\n\u003e\n-------------- next part --------------\nAn HTML attachment was scrubbed...\nURL: \u003chttp://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140320/6e2defd4/attachment.html\u003e"}
