<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Fuzzing a geolocation</title>
	<atom:link href="http://dougturner.wordpress.com/2008/10/14/fuzzing-a-geolocation/feed/" rel="self" type="application/rss+xml" />
	<link>http://dougturner.wordpress.com/2008/10/14/fuzzing-a-geolocation/</link>
	<description></description>
	<lastBuildDate>Wed, 28 Mar 2012 22:40:22 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Samuel</title>
		<link>http://dougturner.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-834</link>
		<dc:creator><![CDATA[Samuel]]></dc:creator>
		<pubDate>Sun, 09 Aug 2009 04:28:03 +0000</pubDate>
		<guid isPermaLink="false">http://dougt.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-834</guid>
		<description><![CDATA[FTW!]]></description>
		<content:encoded><![CDATA[<p>FTW!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dougt</title>
		<link>http://dougturner.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-832</link>
		<dc:creator><![CDATA[dougt]]></dc:creator>
		<pubDate>Thu, 09 Jul 2009 17:00:31 +0000</pubDate>
		<guid isPermaLink="false">http://dougt.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-832</guid>
		<description><![CDATA[Hi Marty,

I think we share the same desire to improve the user experience around this.  I do want a way for the user to specify where they are (or want to be).  For example, I am in Mountain View, Ca.  However, I really want to state that I am in San Jose, Ca. when I do searches.  This should be possible.

Btw, sadly websites already know that your are in Melbourne without ever having to ask you anything (they can use a technology called GeoIP.  their are free libraries and databases that enable this).  I would love to see GeoIP used without the users permission go away.  Hopefully Geolocation in the browser will encourage web sites to ask the user before using GeoIP.

Thanks for your comments!]]></description>
		<content:encoded><![CDATA[<p>Hi Marty,</p>
<p>I think we share the same desire to improve the user experience around this.  I do want a way for the user to specify where they are (or want to be).  For example, I am in Mountain View, Ca.  However, I really want to state that I am in San Jose, Ca. when I do searches.  This should be possible.</p>
<p>Btw, sadly websites already know that your are in Melbourne without ever having to ask you anything (they can use a technology called GeoIP.  their are free libraries and databases that enable this).  I would love to see GeoIP used without the users permission go away.  Hopefully Geolocation in the browser will encourage web sites to ask the user before using GeoIP.</p>
<p>Thanks for your comments!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: martyfmelb</title>
		<link>http://dougturner.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-833</link>
		<dc:creator><![CDATA[martyfmelb]]></dc:creator>
		<pubDate>Thu, 09 Jul 2009 11:12:37 +0000</pubDate>
		<guid isPermaLink="false">http://dougt.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-833</guid>
		<description><![CDATA[I hate, absolutely despise this &quot;all-or-nothing&quot; approach. I choose &quot;nothing&quot;. If I only want a website to know I&#039;m in Melbourne, I want to be able to just tell it, &quot;Melbourne&quot;, NOT 103 Warrigal Rd Hughesdale VIC by the way here&#039;s the key to my house if you&#039;d like to just walk in while I&#039;m not home (which you&#039;ll be able to find out soon enough with a little bit of cross-correlation, I&#039;m sure - I&#039;m looking at you, evil Google, the very arbiter of Firefox&#039;s raw geolocation data).

Please default the geolocation provider, next point-release, to *someone with less of a vested interest* in knowing exactly where we live / are / are thinking about being at / in real time / popped out for a smoko with a geolocation-sensitive website loaded on Fennec left running in my pocket by accident, I tend to do this 8:54 AM every workday, next Monday comes and there&#039;s a friendly Zippo salesman 8:53 AM out back of work just as I step out ... you see what I&#039;m getting at. (It&#039;s an over-the-top scenario only for the next 10 years, max, then it&#039;ll be mainstream like radio talk-shows.)

I am most wary of the security ramifications of having geolocation directly in the browser. This is the first time I have ever considered avoiding a Firefox update. Geographic information is marketing gold, and plenty of out-of-work programmers are desperate enough to try breaking Firefox&#039;s geolocation permissions if it means food on the table.]]></description>
		<content:encoded><![CDATA[<p>I hate, absolutely despise this &#8220;all-or-nothing&#8221; approach. I choose &#8220;nothing&#8221;. If I only want a website to know I&#8217;m in Melbourne, I want to be able to just tell it, &#8220;Melbourne&#8221;, NOT 103 Warrigal Rd Hughesdale VIC by the way here&#8217;s the key to my house if you&#8217;d like to just walk in while I&#8217;m not home (which you&#8217;ll be able to find out soon enough with a little bit of cross-correlation, I&#8217;m sure &#8211; I&#8217;m looking at you, evil Google, the very arbiter of Firefox&#8217;s raw geolocation data).</p>
<p>Please default the geolocation provider, next point-release, to *someone with less of a vested interest* in knowing exactly where we live / are / are thinking about being at / in real time / popped out for a smoko with a geolocation-sensitive website loaded on Fennec left running in my pocket by accident, I tend to do this 8:54 AM every workday, next Monday comes and there&#8217;s a friendly Zippo salesman 8:53 AM out back of work just as I step out &#8230; you see what I&#8217;m getting at. (It&#8217;s an over-the-top scenario only for the next 10 years, max, then it&#8217;ll be mainstream like radio talk-shows.)</p>
<p>I am most wary of the security ramifications of having geolocation directly in the browser. This is the first time I have ever considered avoiding a Firefox update. Geographic information is marketing gold, and plenty of out-of-work programmers are desperate enough to try breaking Firefox&#8217;s geolocation permissions if it means food on the table.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Doug Turner</title>
		<link>http://dougturner.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-823</link>
		<dc:creator><![CDATA[Doug Turner]]></dc:creator>
		<pubDate>Wed, 05 Nov 2008 23:31:33 +0000</pubDate>
		<guid isPermaLink="false">http://dougt.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-823</guid>
		<description><![CDATA[After lots of discussions, we have decided not to implement the &quot;fuzz my location&quot; in Firefox at this time.  We have attempted to provide our users with a way to reduce the accuracy of a geolocation request.  However, we do not feel that we can safely reduce the accuracy in all cases.  Over time, the approaches would result in giving out more information than intended -- comprising the general reason to fuzz.

This doesn&#039;t mean Firefox will not have fuzzing at some point.  It just isn&#039;t good enough for our users.]]></description>
		<content:encoded><![CDATA[<p>After lots of discussions, we have decided not to implement the &#8220;fuzz my location&#8221; in Firefox at this time.  We have attempted to provide our users with a way to reduce the accuracy of a geolocation request.  However, we do not feel that we can safely reduce the accuracy in all cases.  Over time, the approaches would result in giving out more information than intended &#8212; comprising the general reason to fuzz.</p>
<p>This doesn&#8217;t mean Firefox will not have fuzzing at some point.  It just isn&#8217;t good enough for our users.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Doug Turner</title>
		<link>http://dougturner.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-822</link>
		<dc:creator><![CDATA[Doug Turner]]></dc:creator>
		<pubDate>Wed, 05 Nov 2008 04:02:47 +0000</pubDate>
		<guid isPermaLink="false">http://dougt.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-822</guid>
		<description><![CDATA[So, we had a quick brainstorming session.  We questioned why not just truncate.  As gerv mentioned above, we need to worry about solving the boundary problem.  If we solve that, we might have a simpler and safer solution.  So, here is the straw man:


1) remember the exact location that a geolocation provider returns.  The first one we see is put into preferences and not change it (*).

2) any time we are asked for a fuzzed location, we take the stored value, round/truncate the stored value to some number of decimal points, increase the accuracy on the Position object, and return that to the web.

(*) For updating the stored value, we monitor the locations being send in from the geolocation provider.  When the difference between our stored location and the current location differ by more than 1/2 of the rounding value we are using, we update the stored geolocation.

For example, suppose we are rounding:

37.012601 -122.001795

to:

37.013 -122.002

We would update the stored value when the actual position moves to:

37.013101 -122.002295


A couple things:

1) this does solve the boundary problem
2) everyone in a give area would be reported at the same position

Thoughts?]]></description>
		<content:encoded><![CDATA[<p>So, we had a quick brainstorming session.  We questioned why not just truncate.  As gerv mentioned above, we need to worry about solving the boundary problem.  If we solve that, we might have a simpler and safer solution.  So, here is the straw man:</p>
<p>1) remember the exact location that a geolocation provider returns.  The first one we see is put into preferences and not change it (*).</p>
<p>2) any time we are asked for a fuzzed location, we take the stored value, round/truncate the stored value to some number of decimal points, increase the accuracy on the Position object, and return that to the web.</p>
<p>(*) For updating the stored value, we monitor the locations being send in from the geolocation provider.  When the difference between our stored location and the current location differ by more than 1/2 of the rounding value we are using, we update the stored geolocation.</p>
<p>For example, suppose we are rounding:</p>
<p>37.012601 -122.001795</p>
<p>to:</p>
<p>37.013 -122.002</p>
<p>We would update the stored value when the actual position moves to:</p>
<p>37.013101 -122.002295</p>
<p>A couple things:</p>
<p>1) this does solve the boundary problem<br />
2) everyone in a give area would be reported at the same position</p>
<p>Thoughts?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Martin Thomson</title>
		<link>http://dougturner.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-826</link>
		<dc:creator><![CDATA[Martin Thomson]]></dc:creator>
		<pubDate>Mon, 03 Nov 2008 00:07:47 +0000</pubDate>
		<guid isPermaLink="false">http://dougt.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-826</guid>
		<description><![CDATA[Ian&#039;s solution can be addressed by making the random offset a function of time.

Of course, all the averaging and tracking methods are moot if you only give the site location once.  That would be my suggested approach.  Simply avoid giving the site any more information to use.  But that probably comes down to a user decision; I don&#039;t know how to properly impress upon a user that understanding.

1 mile is pretty damned arbitrary.  I&#039;d hope that users can set their own &quot;fuzz amount&quot;.  I&#039;m also a big fan of SI units ;)

One thing that this fails to take into consideration is uncertainty.  Zeroing accuracy will give a false impression to the site.  So you have to provide some value.  Also, if you already have 3km uncertainty (common enough if you use the serving cell for location), there seems little point in further obscuring the location.  All you are doing is making it worse.

My suggestion: take the point (and accuracy) as a circle on the map.  Pick another circle of the required size (1 mile can be your default if you like) and put it anywhere you like, as long as it covers the original circle.  Use your stored random numbers to pick the offset.

The advantage of this method is that if you get bad location information, you don&#039;t end up making it worse.

I see no point in adding additional randomization.  If you aren&#039;t moving, the site will be able to detect the false jitter and be able to detect the randomization.]]></description>
		<content:encoded><![CDATA[<p>Ian&#8217;s solution can be addressed by making the random offset a function of time.</p>
<p>Of course, all the averaging and tracking methods are moot if you only give the site location once.  That would be my suggested approach.  Simply avoid giving the site any more information to use.  But that probably comes down to a user decision; I don&#8217;t know how to properly impress upon a user that understanding.</p>
<p>1 mile is pretty damned arbitrary.  I&#8217;d hope that users can set their own &#8220;fuzz amount&#8221;.  I&#8217;m also a big fan of SI units <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>One thing that this fails to take into consideration is uncertainty.  Zeroing accuracy will give a false impression to the site.  So you have to provide some value.  Also, if you already have 3km uncertainty (common enough if you use the serving cell for location), there seems little point in further obscuring the location.  All you are doing is making it worse.</p>
<p>My suggestion: take the point (and accuracy) as a circle on the map.  Pick another circle of the required size (1 mile can be your default if you like) and put it anywhere you like, as long as it covers the original circle.  Use your stored random numbers to pick the offset.</p>
<p>The advantage of this method is that if you get bad location information, you don&#8217;t end up making it worse.</p>
<p>I see no point in adding additional randomization.  If you aren&#8217;t moving, the site will be able to detect the false jitter and be able to detect the randomization.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dougt</title>
		<link>http://dougturner.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-825</link>
		<dc:creator><![CDATA[dougt]]></dc:creator>
		<pubDate>Mon, 27 Oct 2008 17:42:38 +0000</pubDate>
		<guid isPermaLink="false">http://dougt.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-825</guid>
		<description><![CDATA[@gerv the default displacement is about 1mile.  It is pretty much okay for getting your local theater.

@ian yup, if you are moving, and there is only one street, someone probably could extrapolate that you are on the street and not off of the street.]]></description>
		<content:encoded><![CDATA[<p>@gerv the default displacement is about 1mile.  It is pretty much okay for getting your local theater.</p>
<p>@ian yup, if you are moving, and there is only one street, someone probably could extrapolate that you are on the street and not off of the street.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Napolitano</title>
		<link>http://dougturner.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-824</link>
		<dc:creator><![CDATA[James Napolitano]]></dc:creator>
		<pubDate>Mon, 27 Oct 2008 02:05:38 +0000</pubDate>
		<guid isPermaLink="false">http://dougt.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-824</guid>
		<description><![CDATA[One other possible approach is for the API to offer an option to request location data to within a certain margin of error, i.e. to nearest 0.1, 1, 10, 100, etc. km.  The user could then choose how specific the information he is providing will be.

&gt;Now, these two numbers will never change, and the reason is that a website, if it sees enough of these displacement vectors, they can average them out and discover your real location. Not so good for â€œfuzzingâ€.

One approach that might help is if, on a user&#039;s first use, you generated another random number that doesn&#039;t change.  This number would be used in generating the random numbers used for fuzzing, so that the average of the random numbers isn&#039;t 0.  (i.e. have a weighted probability distribution that&#039;s different for every user).  This way, if a website averages out many reported values to try to get some info on the user, they end up with an incorrect answer.]]></description>
		<content:encoded><![CDATA[<p>One other possible approach is for the API to offer an option to request location data to within a certain margin of error, i.e. to nearest 0.1, 1, 10, 100, etc. km.  The user could then choose how specific the information he is providing will be.</p>
<p>&gt;Now, these two numbers will never change, and the reason is that a website, if it sees enough of these displacement vectors, they can average them out and discover your real location. Not so good for â€œfuzzingâ€.</p>
<p>One approach that might help is if, on a user&#8217;s first use, you generated another random number that doesn&#8217;t change.  This number would be used in generating the random numbers used for fuzzing, so that the average of the random numbers isn&#8217;t 0.  (i.e. have a weighted probability distribution that&#8217;s different for every user).  This way, if a website averages out many reported values to try to get some info on the user, they end up with an incorrect answer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gerv</title>
		<link>http://dougturner.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-831</link>
		<dc:creator><![CDATA[Gerv]]></dc:creator>
		<pubDate>Wed, 22 Oct 2008 15:23:10 +0000</pubDate>
		<guid isPermaLink="false">http://dougt.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-831</guid>
		<description><![CDATA[You can&#039;t just truncate, because if the site watches your location over a period of time and notices a transition from one &quot;block&quot; to another, it knows you just crossed the line, thereby localizing you much more than you&#039;d want.]]></description>
		<content:encoded><![CDATA[<p>You can&#8217;t just truncate, because if the site watches your location over a period of time and notices a transition from one &#8220;block&#8221; to another, it knows you just crossed the line, thereby localizing you much more than you&#8217;d want.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mysterious Andy</title>
		<link>http://dougturner.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-830</link>
		<dc:creator><![CDATA[Mysterious Andy]]></dc:creator>
		<pubDate>Fri, 17 Oct 2008 19:54:28 +0000</pubDate>
		<guid isPermaLink="false">http://dougt.wordpress.com/2008/10/14/fuzzing-a-geolocation/#comment-830</guid>
		<description><![CDATA[I third Perry Lorier and Johnathan Nightingale&#039;s question.

Why not truncate the Latitude and Longitude (perhaps randomly picking between &quot;ceiling&quot;, &quot;floor&quot;, and &quot;round&quot;) to something like the nearest 33rdth, 100th, 333rd, or 1000th of a degree?

33rd would leave a margin of error in the range of 1.7-2.4 km (if my math is correct), depending on user latitude.  100th would be 580-780 m.  333rd would be 190-260 m. 1000th would be 58-78 m.  Those seem pretty reasonable for &quot;my town&quot; though &quot;almost where I am standing&quot;.

They could be called something cute like &quot;Area, Neighborhood, Block, and Shouting Distance&quot;.]]></description>
		<content:encoded><![CDATA[<p>I third Perry Lorier and Johnathan Nightingale&#8217;s question.</p>
<p>Why not truncate the Latitude and Longitude (perhaps randomly picking between &#8220;ceiling&#8221;, &#8220;floor&#8221;, and &#8220;round&#8221;) to something like the nearest 33rdth, 100th, 333rd, or 1000th of a degree?</p>
<p>33rd would leave a margin of error in the range of 1.7-2.4 km (if my math is correct), depending on user latitude.  100th would be 580-780 m.  333rd would be 190-260 m. 1000th would be 58-78 m.  Those seem pretty reasonable for &#8220;my town&#8221; though &#8220;almost where I am standing&#8221;.</p>
<p>They could be called something cute like &#8220;Area, Neighborhood, Block, and Shouting Distance&#8221;.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

