Isn't there a proper 802.whatever standard for "inviting" devices into the network? Android does it with QR codes, but Bluetooth can also be used. Is this that, or did Apple reinvent the wheel again?
WPS was kinda close, but you needed to set up the router (most home users won't figure this out), and actually press a button on it to invite a user.
Apple's protocol is super user friendly, when someone tries to connect to my wifi at home, I get a popup offering to share my wifi password.
I'm glad this sort of protocol is being reverse engineered and FLOSS alternatives pop up, since it'll allow better interaction with Linux desktop and iOS guests.
What Android does is slightly more complicated than that, but it's good to know Apple supports at least something standardized. The main advantage of DPP/EasyConnect (what Android uses with QR codes) is that the key isn't actually stored in the code. It creates a temporary key that allows both devices to communicate securely, then transfers the credentials securely over that connection.
The key is only useful to the first device that gets it. It's generated for each transaction and only valid once. The devices (let's say two phones) communicate directly and once that's done, the connection closes. To add another device, the phone weill generate a new key and a new QR code.
I can't get this to work, because my SSID is the poo emoji. I'm not sure what character encoding QR codes use, and I haven't really bothered trying to debug this.
QR codes, like SMS messages, can use multiple encodings. This avoids wasting space. Unfortunately utf8 is not one of the encodings so although there are tricks to encode utf8 anyway they are not supported by all scanners.
Whatever issue you mean, it cannot be worse than the issues these "Wireless Password Sharing" systems have. Or at least the WPS-Button system cannot be worse than any of these systems, which seem very prone to MITM attacks.
I believe the problem with the WPS button is that it comes with a WPS PIN (might be optional, but enabled by default in most cases) which means brute-force attacks are possible even without having to press the button, where as the solution described in the repo would at least require you to eavesdrop on an active key exchange between 2 users.
Oh no it was far worse: the WPS PIN implementations led to straight up non-interactive wifi hacks. That hasn’t happened with these sharing systems (yet) so far as I know.
WPS was a disaster and Android has removed it in favor of the WFA's official replacement: "Wi-Fi Easy Connect". My point is that there is a new and perfectly good standard for this that Apple should really be following (although I doubt they will).
As for the iMessage thing, holy shit that is such a bad idea and I'm really glad I never gave any iPhone users access to my network!
What if the owner of the WiFi network wants you to connect but not your friends?
Scenario: people come to my home, I give the password to a friend of mine that never visited me before or changed phone and asks me for the password. I don't know the other people and they don't ask for the password, but they get on the network anyway? Principle of most surprise and least security.
>What if the owner of the WiFi network wants you to connect but not your friends?
Then they should switch their network to a more complex authentication scheme. Multiple SSIDs, run 802.1x authentication (maybe with certs), MAC filtering maybe (bypassable sure, but will foil most casual users), run their own simple portal and shunt different classes onto different VLANs with different levels of isolation and traffic shaping, etc.
Ultimately if there is one password which then gets any device on, well that's that. Sharing has always been pretty trivial. If the owner of a network wants more fine grained and powerful security, all the tools exist to do that already, but they'll have to use them.
Even my least tech savvy friends understand that their wifi password is like a traditional front door key: anyone with a copy can unlock the door. I'd call that very unsurprising to most people.
The idea that more sophisticated authentication is possible to prevent password sharing would be a surprise to most laypeople I know.
Also home internet is increasingly coming with smart routers that will alert you to new devices on the network. Tech savvy people are the only ones who BYOD.
How is this scenario any different when you tell your friend the password or show them a QR code? They can still get and share that password with anyone else...
The QR codes are standard and old. I have a sign at my front door with the QR code for my wifi so people don't have to ask me, and I've had that for years.
Why not just have an open WiFi network? I stubbornly have kept my network open since my very first
Linksys WRT54G router. Am I some kind of internet hippy for feeling like networks should be open and we'd all be better off if we shared with our neighbors? Over the years, I've probably wasted an hours of my life searching for and struggling to correctly enter complex WiFi passwords.
Although truth be told, I think it's primarily that I don't want to bothered giving WiFi passwords to my guests:)
I used to do that for a long time. It was great for guests and also for plausible denaiblity if I every got a nastygram from my ISP.
But the liability just got to great and the plausible deniability argument got pretty weak. And also, with so many neighbors with devices that will just auto join open networks, I started seeing strange traffic a lot, most likely from neighbors connecting accidentally.
At the end of the day, making it super easy for guests inside my house without being totally open works out well.
Because I don't want the creepy neighbor kid to do something on my guest network that will get me a visit from the cops or a letter from my ISP. Sure, guests could do that, but they'd be a lot less anonymous in the process.
> the creepy neighbor kid to do something on my guest network that will get me a visit from the cops
Think about it. Honestly, what are the odds of that? I'm sure the last time I got in my car (to get a coffee) it was 100x more risky than that (actually it was snowing, make it 1000x). And so what? They show up, I'd tell pull open their phones and connect to my network. I did nothing wrong, have at it wasting my tax dollars. After all is said and done in that 1-in-a-million incident, still less of my life wasted with than if I bothered with annoying WiFi passwords over these decades.
Your comment reminds me of my friends and family who keep their kids locked up (pre-COVID), depriving them of the opportunity to learn independence that I had growing up. Just like when I was a kid, there is no crime in my neighbor and yet people act like their kid will have a 10% chance of being kidnapped if they let him go to the local convenience store, when in reality the odds are closer to 1 in 100 million. Social media or local news has screwed up our society's ability to calculate risk/rewards.
That's a bit extreme. I wouldn't operate open WiFi if I lived in USA, because law enforcement is notoriously over zealous and they are big on saving the children.
Here in Canada, I'm comfortable knowing the cops won't show up in military surplus and shoot me before I can explain.
Nope, those are not the same QR codes. What you're thinking is a QR code with the credentials encodes in it that anyone can read and use. New versions of Android instead implement WiFi Easy Connect (technically called Device Provisioning Protocol) that makes one-time codes to create a secure P2P connection betweem two devices, then transmits the credentials securely. It's pretty much exactly what Apple's thing seems to be doing, only they're doing it over Bluetooth instead of ad-hoc WiFi.
What versions of Android do this? I just tried it on my Pixel 4a and the QR code it generates just contains the network name and password in plain text.
Yes, quite sure. They implemented an existing protocol called DPP (Device Provisioning Protocol), more commonly branded as "Wi-Fi Easy Connect", that is a part of the 802.11 standard and implemented by more than just Google.
If Apple isn't using that, then it's them who are ignoring the standards and doing their own thing.