Commit a338c42b5787ed52b50778d8ddc9604a7e97af83
Merge remote-tracking branch 'matthiasbeyer/security-of-p2p-websites'
Stephen Whitmore committed on 1/9/2018, 8:13:01 PMParent: 756734913c379760350969890a4c483fca9d1f06
Parent: ab39e58bd5cdc80a3c9556a45bc3278a58084f00
Files changed
README.md | changed |
README.md | ||
---|---|---|
@@ -59,8 +59,10 @@ | ||
59 | 59 … | content. |
60 | 60 … | |
61 | 61 … | ## 3. What about security? Somebody could share a hacked version of a p2p website? |
62 | 62 … | |
63 … | +*From @noffle:* | |
64 … | + | |
63 | 65 … | It depends what the security model of the system hosting the website uses. There |
64 | 66 … | are two commonly tools I know of for ensuring that a copy of data you've |
65 | 67 … | received from a potentially untrusted source is authentic: |
66 | 68 … | |
@@ -81,8 +83,24 @@ | ||
81 | 83 … | content-addressed above. [Dat](https://dat-project.org), |
82 | 84 … | [IPFS](https://ipfs.io) and [SSB](https://scuttlebutt.nz) all use this |
83 | 85 … | approach for dynamic data. |
84 | 86 … | |
87 … | +*From @matthiasbeyer:* | |
88 … | + | |
89 … | +If cryptographic signatures come into play, this is not possible. | |
90 … | + | |
91 … | +Consider a content-addressed system. In such systems, content is addressed via | |
92 … | +a cryptographic hash which represents the content. For example, a file | |
93 … | +containing "Hello World" gets a hash "648a6a6ffff". | |
94 … | +If a peer now tries to fetch content from the network, it does so by asking | |
95 … | +for the content of "648a6a6ffff". | |
96 … | +If it gets sent this content, it can then verify with that same hash, | |
97 … | +whether the content it got is the actual content it requested. | |
98 … | + | |
99 … | +An attacker would be able to host malicious nodes in the network, but as the | |
100 … | +node which _requests_ the content (your node) can verify that it got what it | |
101 … | +expected. | |
102 … | + | |
85 | 103 … | ## 4. What about privacy? Everybody in the p2p network can see what I am looking at. |
86 | 104 … | |
87 | 105 … | *TODO* |
88 | 106 … |
Built with git-ssb-web