2018-09-17 17:06:53
/github subscribe snowblossomcoin/channels
Fireduck
2018-09-17 17:06:53
Subscribed <#CAT1SNYDV> to https://github.com/snowblossomcoin/channels
GitHub
2018-09-17 17:07:29
*https://github.com/snowblossomcoin/channels/compare/69dc0ba3b903...681b932f59cc*
https://github.com/snowblossomcoin/channels/commit/698ffa39a523651cc33457f922c2c2d488703948 - hash math
https://github.com/snowblossomcoin/channels/commit/681b932f59cc929c51ab79380946e05e7f6eea28 - Work in progress on cert generation
GitHub
2018-09-17 18:45:56
*https://github.com/fireduck64/rules_protobuf/compare/e00389fa2281...86ed98459204*
https://github.com/fireduck64/rules_protobuf/commit/86ed984592049137423f082dac418ca2e776a678 - GRPC 1.15.0
GitHub
2018-09-17 20:35:00
this ssl thing is kicking my ass
Fireduck
2018-09-17 20:35:19
urge to rewrite my own TLS rising
Fireduck
2018-09-17 20:35:40
isn't like I haven't done it before
Fireduck
2018-09-17 21:27:53
i’ll leave you an emotional support scarecrow: bytewise
Rotonen
2018-09-17 21:28:18
I think I got it (kinda)
Fireduck
2018-09-17 21:28:26
* EC ssl doesn't work, not sure why
Fireduck
2018-09-17 21:28:37
* for some reason, I need some strange library to do SSL at all
Fireduck
2018-09-17 21:28:54
* the trust manager is impossible to actually override to meet my needs (but I have a work around)
Fireduck
2018-09-17 21:29:41
* I can do wildcard hostnames (good, since I'll be passing in explicit certs to trust for each connection)
Fireduck
2018-09-17 21:30:00
Doesn't seem to work with connecting via IP though, which will be the common use case
Fireduck
2018-09-17 21:30:21
wouldn't be a problem if I could write my own cert validator that checks for what I expect
Fireduck
2018-09-17 21:31:03
I'm trying to make a system where when peers gossip they always share remote_host + public key so when a client goes to connect to that peer they know what key the cert should already be signed with
Fireduck
2018-09-17 21:31:13
but that requires making my own certificate validator
Fireduck
2018-09-17 21:31:44
which is one of those things where I can almost do it, I can pass in a new TrustManagerFactory that can vend TrustManagers that do what I need
Fireduck
2018-09-17 21:32:23
except, I can't. There is only one concrete implementation of TrustManagerFactory and I can't override the method I need. Actually, maybe it is just vending a protected list that I can modify...time to RTFC on that
Fireduck
2018-09-17 21:33:51
oh silly me, I needed to make the trust manager factory with a custom TrustManagerFactorySpi, which I can define
Fireduck
2018-09-17 21:52:40
you're sorta talking of rolling your own PKI trust store autoinclusion mechanism?
Rotonen
2018-09-17 21:52:55
what if the first thing broadcast for a host is a malicious pubkey?
Rotonen
2018-09-17 21:55:26
yeah, certificate authorities are bullshit
Fireduck
2018-09-17 21:55:43
and unlike the web browsing case, there isn't really a trust relationship being built
Fireduck
2018-09-17 21:56:19
a node doesn't trust another node for anything, it is just a way to ensure that a node is securely reaching the node it intends to in a difficult to monitor way
Fireduck
2018-09-17 21:56:49
if someone wants to make a node that broadcasts a bunch of things to try go get people to send traffic through it in order to gather information, that is fine
Fireduck
2018-09-17 21:56:57
I mean, I can't prevent that
Fireduck
2018-09-17 21:58:24
If you want to mitm it, you'll have to get all up in the protocol and start broadcasting your own stuff for nodes and keys that you do control
Fireduck
2018-09-17 21:59:15
i have no idea as to what you are doing, i'm just pointing out something on which i spotted a pattern i've seen before
Rotonen
2018-09-17 22:00:53
@Fireduck I happen to be working on my own self signed CA with selective oscp stapling.
Clueless
2018-09-17 22:01:03
indeed a pain
Clueless
2018-09-17 22:01:13
The short version, is I am making a social content distribution system and I want to make it so for an ISP to figure out what their users were interested in would be very hard
Fireduck
2018-09-17 22:01:51
TLS seems way more complex than it needs to be, but I don't understand enough of what it can do to make such wide statements
Fireduck
2018-09-17 22:02:43
diffie-helman, xor in either blocks or streams with chosen parametres with known drawbacks
Rotonen
2018-09-17 22:02:53
@Fireduck perhaps each "channel" can act as its own CA, and moderators and users can be enabled by signing their certs/crls
Clueless
2018-09-17 22:03:23
or did they actually reinvent the wheel for tls 1.3? have not followed up
Rotonen
2018-09-17 22:03:47
@Clueless that is an interesting idea for a closed or limited access channel
Fireduck
2018-09-17 22:04:06
but if I go that route, I'll have signed protobuf messages and not invovle x509 bullshit
Fireduck
2018-09-17 22:04:25
only touching x509 and normal certs to get the secure communication between nodes setup
Fireduck
2018-09-17 22:04:45
x509 would enable easier enterprise integration, but publickey stuff should be fine
Clueless
2018-09-17 22:05:10
enterprise integration implies there is some enterprise that actually knows wtf to do with x509 :wink:
Fireduck
2018-09-17 22:05:24
I'm definitely thinking an organization might typically own one or multiple channels
Clueless
2018-09-17 22:05:32
sure
Fireduck
2018-09-17 22:05:52
so perhaps an organization can stake itself on the blockchain, and then act as the CA for channels
Clueless
2018-09-17 22:06:03
indeed, most cert revocations i've seen have been signing key trust deprecations
Rotonen
2018-09-17 22:06:05
is just kinda bouncing ideas off the wall without knowing what you're actually working on
Clueless
2018-09-17 22:08:13
Don't really need a CA. The basic peer to peer setup will be a node comes up with its own keypair, broadcasts its connect information (IPs, hostname, port, public key), and signs that
Fireduck
2018-09-17 22:08:33
not entirely clear on what that gets me, I am just trying to reduce surface area for intermediate nodes to screw with things
Fireduck
2018-09-17 22:09:38
nodes can of course select to not propogate data but they can't tamper without breaking signatures
Fireduck
2018-09-17 22:13:04
Anyways, just trying to make it hard for people to figure out what a particular node is interested in for privacy reasons
Fireduck
2018-09-17 22:13:27
it won't be impossible, but I'm trying to make it so to find out you'll have to connect to the node and ask it about every possible channel
Fireduck
2018-09-17 22:13:45
which we can add throttling/DoS protections to
Fireduck