-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ambient Light Sensor API #115
Comments
You'll have a hard time reviewing those separately, imho. |
Understood, but I'd like to try. A few notes for the structure of the spec:
Questions about the semantics (mostly out of ignorance, thanks for being patient with me):
This is a bit first-pass, and would be happy to do a deeper review. Let me know if that'd be useful. |
Thanks for these early comments. That's really helpful. I'm ooo this week, let me get back to you early next week. |
So I tried to provide some of this in the Generic Sensor API, notably in the Background and Concepts sections. Agree this still needs work.
Yes. The Permission API is missing critical pieces for proper integration. @jyasskin is actively working on this as we speak. I'll revisit this and clean it up as soon as his changes have landed.
I'm waiting for cancelable promises for this (tracked here: w3c/sensors#94).
Yeah, these are still todos in the Generic Sensor API . Sensor objects have a Maybe some sequence diagrams would help understand whats going on here. I'll give those a try.
Thanks.
It doesn't, because the underlying APIs won't let you do this. For example, on Android, if one app requires a sensor to be polled at 100Hz, all apps will get data at this frequency. When another app shows up and asks for a higher frequency, all apps will get the new one. A similar model is used at the Web level in the Generic Sensor API. Basically, the UA compiles the needs of all Sensor objects and serves everyone of them with the most stringent requirements.
The latter. It's not possible to know from the underlying APIs whether a sensor is being used by another app or not (though it's certainly possible to infer this through timing attacks, etc.).
This is in reference to the Sensor object's state (not the underlying HW). That said, when the state is "active," so is the underlying hardware, unless there's an error that hasn't been surfaced to the UA layer yet.
Yes. Through the Generic Sensor API, as soon as @jyasskin's changes have landed.
They're not.
That's a level 2 feature. Tracked here: w3c/sensors#12
Copy/pasting boilerplate from @mikewest's spec made that dead easy. I can't claim any credit.
I guess the closest answer to this question is here which is currently curiously missing a step to tell the underlying sensor what to do in a UA-specific way. Need to fix this.
That's a desired feature, actually, to lower latency (e.g. the Oculus Rift polls the gyroscope at 1KHz for this very reason). Frequency is capped at the HW limits of the sensor (First sub-step of the Observe a Sensor abstract operation.
Thanks a bunch. What I'm getting out of this loud and clear is that the processing model needs to be explained much more clearly and upfront in the Generic Sensor spec. I'm happy for you to dig more deeply either right away or wait until I'm done with those edits. |
Quick notes from today's F2F meeting:
Thanks |
Thanks for the update, @slightlyoff. FYI: https://lists.w3.org/Archives/Public/public-device-apis/2016Jun/0041.html |
Picked up again 31-Aug-2016. We agreed to add to agenda for next week - to discuss privacy issues specifically. We can discuss the blog post on this as well https://blog.lukaszolejnik.com/privacy-of-ambient-light-sensors/ |
#129 may be related |
#13 may also be related. |
@torgo agreed. We need to warn UA about the risks, but leave the implementation details implementation details. |
This is on my todo list though I would have preferred to delay it to a level 2 of the spec to ship this thing first. I'm not sure what the best strategy to handle permissions is within worked and pointers (if you have any) would be appreciated.
I guess I was hoping that the Generic Sensor spec itself would provide all the required info. What's missing from it?
Yeah. We dropped that.
I think we have a better story at this point. might get back to you with more specific questions once I'm actually working directly on this. |
I'll be happy to review security/privacy considerations once more details about frequency/etc are known. |
@lknik what kind of details are you looking for? |
@tobie if I understand correctly sites will be able to use the API in workers, and also specify the frequency. The permission prompt will be standard? In this case:
|
Not sure if that's a level 1 or 2 feature, but it's planned, yes.
correct.
If by this you mean that all sensors are considered powerful features, then yes.
Yes.
That's indeed a fingerprinting issue we need to warn about.
My understanding from @maryammjd's comments during TPAC is that reducing poll frequency doesn't significantly reduce security risks. Given w3c/sensors#100 (comment), I don't think starting/stopping and changing frequency can be effectively used as a communication channel.
Can you file an issue against the generic sensor API for this and explain the reason to do so? I'm wary of such normative requirements for this, fwiw. |
Hi guys, I am not sure if I am in the same page as others. If you ask me explicit questions, it would be more effective for me to get involved. In general, reducing the frequency rate hasn't proved effective according to our research on accelerometer and gyroscope. I assume it would be the same for other sensors such as light. |
@maryammjd, link to your paper might be useful for the informative reference section of the generic sensor API. |
Here is the free link: https://arxiv.org/abs/1602.04115 |
Hey @maryammjd - thanks for your input and a link to the paper, looks good! Depending on the threat model, you're right. But I'm unsure if we can compare different sensors like that. Also of note is the rate of frequency reduction; additionally, let's keep in mind that light sensor is affected also by the environment. That said, my tests somewhat differed from platform to platform. |
Hi @tobie and @anssiko — we're just catching up on this in our F2F. It looks like the privacy work continues here, which is great. Given that one of the attacks we've discussed is the information an attacker can get about the user's environment (gather enough data to work out what movie the user is watching, or what the layout is of the building they're in) — it would be useful to expand on this possibility in the Security and Privacy Concerns in the Ambient Light spec. (Right now, it just says that there are no specific security and privacy considerations beyond those described in the Generic Sensor API. The Generic Sensor API says that each sensor type should be assessed individually. So it feels a bit like these considerations aren't getting a mention in either doc just yet.) If you're set with that, let us know and we'll close this issue. |
Hi @hadleybeeman. Sorry with the delay in getting back to you. Tracking this on our side (w3c/ambient-light#13) so feel free to close this one. |
Hey @hadleybeeman - as pointed out by @tobie - tried to distill a version encompassing many possible aspects (i.e. high-level). |
Split out from #110, originally from @tobie
https://w3c.github.io/ambient-light/
The text was updated successfully, but these errors were encountered: