<?xml version="1.0" encoding="utf-8"?>
<data>
<r t="10.94">it</r>
<r t="15.37">or</r>
<r t="17.73">so and stuff</r>
<r t="20.03">i work at red hat</r>
<r t="22.21">and i've been involved in brno now i think seven years</r>
<r t="26.22">what really draw to be known is the focus on making stuff usable</r>
<r t="31.14">and for me that's the paradox between security and usability there often at once but</r>
<r t="37.49">i like the challenge of making them</r>
<r t="39.68">work together</r>
<r t="41.01">we're the first cover some abstract concepts or some principles</r>
<r t="45.8">that you can apply when writing security features in your software</r>
<r t="51.87">and</r>
<r t="53.32">then some</r>
<r t="54.75">examples of how we are implementing in applying those principles</r>
<r t="59.15">or in a cover a bunch a different topics so feel free to interrupt if</r>
<r t="62.28">you want if you want to get your question and while we're on topic i</r>
<r t="65.88">might tell you that it's gonna be answered but no loss there</r>
<r t="71.69">so</r>
<r t="76.77">when working with security we have or just in general as developers we often have</r>
<r t="81.09">this abstract concept of the user</r>
<r t="83.62">as mystical being</r>
<r t="86.15">and it as security guys we kind of sometimes</r>
<r t="89.96">shake our heads at the user</r>
<r t="92.53">you know it's clicking on stuff is not supposed to clicking on right installing should</r>
<r t="96.51">be software and falling for fishing and so on and so forth</r>
<r t="101.44">well we kind of failed to remember</r>
<r t="104.66">but the users a human</r>
<r t="107.4">humans are intelligent fun creative crazy</r>
<r t="112.48">but they're usually overwhelmed</r>
<r t="114.77">because</r>
<r t="116.18">our lives are full of all sorts of information</r>
<r t="119.95">full of choice in the world today</r>
<r t="122.39">we have to choose between all sorts of little things and then comes</r>
<r t="127.54">no and forces</r>
<r t="130.07">these poor humans to choose between more choices</r>
<r t="135.01">they may be possible they may be capable of learning about security</r>
<r t="140.32">but</r>
<r t="141.34">realistically they're not going to</r>
<r t="146.4">this we have to understand the user their nature</r>
<r t="149.83">this is one of the fundamental things we do in our daily lives we filter</r>
<r t="153.18">out extraneous information costly being bombarded by massive amounts of information and just even while</r>
<r t="158.6">doing mundane things work constantly filtering out the stuff we think we don't need</r>
<r t="164.69">we should not be surprised when the user ignores something that we wanted him to</r>
<r t="169.89">see</r>
<r t="174.24">there's a lot of discussion about that we've all</r>
<r t="177.69">been involved in this discussion freedom is not people to choice</r>
<r t="183.28">freedom is equal to match the choice</r>
<r t="186.41">freedom is equal to the choice to choose</r>
<r t="190.99">you have to be able to choose the software you run on your computer you</r>
<r t="195.04">have to be able to choose</r>
<r t="197.28">to modify you have to be free to do these things but you definitely don't</r>
<r t="200.7">wanna be</r>
<r t="201.89">micromanaging all the tiny choices that these tools are supposed to be doing for you</r>
<r t="209.43">sometimes users think they want choice probably really want as much a choice</r>
<r t="213.37">so</r>
<r t="216.13">if you force the user to be part of a security system</r>
<r t="220.05">they're gonna have a really bad time</r>
<r t="222.67">a as the professionals writing the software whether we feel maybe we know all the</r>
<r t="226.65">details are not we are better equipped to make a security decision for the user</r>
<r t="232.24">then the use of themself</r>
<r t="234.41">and just like a doctor sometimes doctors get frustrating "'cause" they present you all these</r>
<r t="240.12">different possible remedies or possible ways to treat you know let's you might have and</r>
<r t="245.63">there if you see involved make a choice you know it's up to you have</r>
<r t="249.21">to doctor what would you do</r>
<r t="251.32">well it depends on each situation is different and sure there is a sometimes you</r>
<r t="256.66">want to professional</r>
<r t="259.19">to make a decision or to make a strong proposal strong</r>
<r t="264.8">decision you can choose to reject that decision that's about a choice there that you</r>
<r t="268.46">want</r>
<r t="269.82">that's</r>
<r t="270.83">from a professional like one of us</r>
<r t="275.46">in general this should be our goal like in the security feature the user has</r>
<r t="279.73">to identify themselves have to know who they are if we could do that automatically</r>
<r t="282.72">we probably would</r>
<r t="284.17">but</r>
<r t="285.13">sadly we're not there yet so you have to use a for password or something</r>
<r t="289.73">to improve that they are</r>
<r t="291.47">right but after that</r>
<r t="294.01">we shouldn't</r>
<r t="295.47">interrupt the user with security questions insecurity decisions</r>
<r t="299.82">now there's a different kind of user profession of</r>
<r t="303.86">these professionals use different tools</r>
<r t="307.66">the</r>
<r t="309.13">duh</r>
<r t="311.06">that is how</r>
<r t="315.59">and so they use different tools</r>
<r t="318.06">they look inhuman when they're doing their job actually</r>
<r t="321.32">professionals have alert how to reject part of humanity essentially to be specialised and do</r>
<r t="327.22">one thing really well</r>
<r t="329.78">but we can't forget that even professionals when they go on to something else</r>
<r t="334.69">they don't wanna micro manage the rest of their lives</r>
<r t="337.86">even someone who drive the fire truck for a living with a massive console full</r>
<r t="341.79">of all the buttons many which you know you have to learn and be trained</r>
<r t="345.68">to use that thing drive home a normal car right and he won't want to</r>
<r t="349.37">draw the firecracker i mean pretty basic stuff</r>
<r t="352.81">so given that</r>
<r t="356.24">one is the worst possible time to ask the user a risky question to make</r>
<r t="360.94">a risky decision</r>
<r t="364.44">when they're trying to do something else</r>
<r t="367.26">that's the worst possible time you're gonna get results that are worse than random chance</r>
<r t="372.99">if it's something is really truly going well let's say someone is attacking the user</r>
<r t="378.3">and something is going wrong and they get a problem</r>
<r t="383.43">the chance of them making the right decision there and not just clicking through and</r>
<r t="386.71">ignoring it or whatever if you just did a fifty you probably be better than</r>
<r t="391.27">what the right so</r>
<r t="393.83">so we just to our first</r>
<r t="395.97">max and problems are dubious</r>
<r t="399.57">if you are coding a problem for you see a problems looking at you know</r>
<r t="403.93">for yourself are you factoring something there's a problem there regarded with suspicion</r>
<r t="409.01">do you actually need to prompt the user and this goes across the board i</r>
<r t="412.62">mean sure the technology we have sometimes requires that's the problem maybe to save a</r>
<r t="417.36">file or something we really</r>
<r t="419.9">we don't want that like</r>
<r t="422.42">our end goal should be to get rid of yes no problem toward the equivalent</r>
<r t="427.26">stuff</r>
<r t="430.36">but taking a step further security problems are wrong</r>
<r t="436.27">sure sometimes you have to prompt for a password and that's an identification problem right</r>
<r t="440.55">you're asking use it identify themselves and unfortunately passed first is one way we do</r>
<r t="445.02">that</r>
<r t="445.86">but in general a question about security like do you want to continue</r>
<r t="451.13">you wanna ignore this bad certificate all those exact all those things will cover some</r>
<r t="456.08">examples later they are wrong almost ninety nine percent the time</r>
<r t="464.72">and if you can the user tries to make that permanent you're adding insult injury</r>
<r t="469.93">basically say okay fine go ahead they can choice alright</r>
<r t="474.39">we're actually doing that forever now ridiculously</r>
<r t="478.24">alright so here's an example</r>
<r t="480.78">we all sing this</r>
<r t="483.31">and the user is really ill equipped to answer this question i mean completely unlike</r>
<r t="487.66">what</r>
<r t="489.48">there are very few people</r>
<r t="492.46">you can answer this question correctly</r>
<r t="495.32">there's another example</r>
<r t="499.62">i don't even know what is going on here what's offered be i can't even</r>
<r t="503.73">as a security professional cannot answer this question correctly just gonna</r>
<r t="510.51">exactly</r>
<r t="514.4">here's another example i mean i could go on and on with examples i mean</r>
<r t="517.36">there so many examples</r>
<r t="526.09">so it's just game over you lose</r>
<r t="536.6">alright stop interrupting so what we do instead of interrupting</r>
<r t="540.86">we let the user express their intent</r>
<r t="544.09">what they want to do</r>
<r t="545.88">and then we make a decision based on</r>
<r t="549.33">so</r>
<r t="550.67">yours volume you some examples of this to get you thinking</r>
<r t="554.23">there's a principle to apply</r>
<r t="556.71">figure out what the user wants to do design so that he can expresses intent</r>
<r t="562.6">during the task is trying to do and then don't problem with random problems either</r>
<r t="567.01">confirming or whatever right</r>
<r t="570.67">so we heard letter to talk about</r>
<r t="574.73">portals well that's part is that boxing right enforce and this product talk so but</r>
<r t="580.4">anyway</r>
<r t="581.33">portals</r>
<r t="582.53">our away for some what's application to kind of call of the system</r>
<r t="586.41">and ask the system to do something that i just and what's application but otherwise</r>
<r t="591.97">not be allowed to do now these are right for doing it wrong is are</r>
<r t="596.06">right for problems and actually</r>
<r t="598.42">we're approaching this from a different angle right so the classical example which i think</r>
<r t="603.92">must dimension is if a somewhat suffocation wants to open the file</r>
<r t="609.45">that's not in the sample X</r>
<r t="611.45">ask the system to the portal</r>
<r t="614.33">october the file system for parts of a file chooser user selects the file the</r>
<r t="619.16">user expresses the intent</r>
<r t="621.36">the open the file</r>
<r t="622.96">and then the system allows that security access at no point is the user</r>
<r t="627.23">prompted</r>
<r t="629.15">to with a with a this application wants to access this file in read mode</r>
<r t="635.12">in right now i don't know what and then continue disallow both should not of</r>
<r t="641.37">that right so that's expressing intent make insecure decision based off of it</r>
<r t="646.44">another example this is just a theoretical example</r>
<r t="650.46">you know for the subtext of dot in them</r>
<r t="653.51">you can imagine software that wants to be not within our privacy campaign right you</r>
<r t="657.64">can imagine going to software and checking for this that we don't upload them accidently</r>
<r t="661.89">that we don't think them to public service sick that data to public service</r>
<r t="666.35">so rotten than seeing a problem like this</r>
<r t="670.38">i mean of course the designers can probably</r>
<r t="673.76">we work this but you might we might choose to make the data visible</r>
<r t="678.49">thank you very visible what is the what is in that photo so it</r>
<r t="684.07">this is the sense of data that's in this photo</r>
<r t="687">and just like we allow you know rotating photos and stuff you might have a</r>
<r t="690.09">button to clear so it's very clear the user has the data is intent is</r>
<r t="695.21">to take this started here put it online if you doesn't like the data that's</r>
<r t="698.89">here you can change it maybe take out that X of data or whatever i</r>
<r t="704.1">mean well apply the principle is to be applied</r>
<r t="708.78">that</r>
<r t="710.03">user can express the intent is in control knows that he wants to do and</r>
<r t="713.99">then that doesn't get these problems to allow or deny access</r>
<r t="719.53">so</r>
<r t="721.47">so moving onto concrete some more concrete examples what are we doing to fix this</r>
<r t="728.91">here are some steps and things that i've been working on</r>
<r t="732.27">i'm just one person though</r>
<r t="734.66">and i know security sometimes seems like the dark side</r>
<r t="738.93">but in reality</r>
<r t="741.32">it's it there there's very few people who are actively working on this stuff and</r>
<r t="749.13">so i would encourage your involvement so examples that i'm gonna give one stuff that</r>
<r t="753.94">i've sort of have find out or have worked on already are no means comprehensive</r>
<r t="758.02">solution to this problem</r>
<r t="759.93">and so we need everyone's involvement to try and apply as you're making you software</r>
<r t="766.07">and help fix the stuff so first</r>
<r t="770.11">no more certificate problems</r>
<r t="782.02">i mean this is the details of a certificate i mean i don't include the</r>
<r t="785.08">like binary details that you actually are the ones that you need to verify here</r>
<r t="788.74">but</r>
<r t="790.36">barely anyone can actually go through this and double check that you know certificate matches</r>
<r t="794.46">what it's supposed to be this is what we're gonna do how should</r>
<r t="799.01">just drop the connection with something is wrong</r>
<r t="802.19">if the user is connecting let's say from a web browser or the thing i</r>
<r t="806.4">am let's and the server's not listening on the right port what do you do</r>
<r t="809.98">we display big dialogue telling him how to change the word for to contact whoever</r>
<r t="814.89">or like some thing know it's in this country it's a problem that's on the</r>
<r t="818.46">server side miss configuration</r>
<r t="821.21">and we're like oops something's broken</r>
<r t="824.52">i mean sure their remedies i can be done for example if i think of</r>
<r t="828.21">someone doesn't pay the D N S for jabber daughter work doesn't pay the domain</r>
<r t="832.66">registration we should we could possibly put up a dialogue this is do you want</r>
<r t="836.93">to send an email to the admin of whatever based on who is information and</r>
<r t="842.61">like</r>
<r t="843.5">so why we do it for certificates</r>
<r t="847.84">but i hear these but yes</r>
<r t="851.61">so let's look at the use cases what the users want to do the user</r>
<r t="854.46">intent</r>
<r t="856.38">well one big class</r>
<r t="859.22">is enterprise the A's enterprise company organisation has their own see a their own anchor</r>
<r t="865.99">right so for those of you fortunate enough not to know how this works</r>
<r t="869.87">there's an anchor</r>
<r t="871.82">which is stored on your system a whole bunch of them right and the website</r>
<r t="875.73">has a certificate</r>
<r t="877.24">that it</r>
<r t="878.21">signs the dollar that's coming from the server with and that certificate has a signature</r>
<r t="883.98">on it by the anchor</r>
<r t="886.01">and so your browser or software is checking that it's signed by one of the</r>
<r t="889.99">anchors on your system</r>
<r t="892.19">so what we need</r>
<r t="894.13">for enterprise see ace is a way to configure it we might have a link</r>
<r t="899.47">that pulls of a help file we might we now we have a way</r>
<r t="904.31">just or anchors</r>
<r t="905.73">this is already in the door and debian you open so we have a way</r>
<r t="909.5">to store anchors across so that by default all the different corpora libraries will use</r>
<r t="914.41">them</r>
<r t="916.27">and</r>
<r t="918.38">here are some details how it works</r>
<r t="921.69">so you can see that there is kept alive is unfortunate that we have so</r>
<r t="924.42">many</r>
<r t="926.44">so what we don't here is this trust or</r>
<r t="930.58">now the trust or</r>
<r t="932.69">basically holds a list of all the anchors and blacklist and everything from file so</r>
<r t="937.44">happens can just put files in a directory there are tools to do this too</r>
<r t="942.98">and</r>
<r t="944.23">and assessing can at last read this information through protocol called you can see it's</r>
<r t="948.19">a lot</r>
<r t="950.57">now some of that we haven't yet retrofitted open ssl in java to do the</r>
<r t="954.21">same</r>
<r t="955.39">so</r>
<r t="957.38">in addition as kind of a concession to getting this working now</r>
<r t="961.98">whenever that restores modified we also expect some bundles</r>
<r t="965.71">so that</r>
<r t="967.2">these kind of a legacy</r>
<r t="969.69">uses of the bundles will still work so the upshot is that and enterprise user</r>
<r t="974.68">or and price admin can how to see a and have it just work so</r>
<r t="978.51">that's all like to on is and tons and tons of the instances of the</r>
<r t="982.48">use cases where you want to</r>
<r t="984.31">use a certificate that your system doesn't trucks</r>
<r t="988.46">and it's not yet done but we once having can only user interface</r>
<r t="994.14">for adding that the a C H your system sure there will be an every</r>
<r t="999.63">application applications that use it it's</r>
<r t="1002.82">saw could include a link to help documentation if we want</r>
<r t="1009.44">but after dropping the connection of course</r>
<r t="1012.89">and then you have</r>
<r t="1015.02">your</r>
<r t="1017.57">that those use cases don't know there's also professionals professional tools right so we're maybe</r>
<r t="1022.84">is maybe a developers developing against a system that is</r>
<r t="1027.65">just a test system as certificate on it that</r>
<r t="1030.76">they just generate a quickly and in production are gonna use a good like a</r>
<r t="1034.25">signed certificate</r>
<r t="1035.81">or for some other reason you might have a personal server that you just decide</r>
<r t="1040.48">to like what self signed certificates on a no okay but you wanna make it</r>
<r t="1044.53">work well there is room for</r>
<r t="1047.01">professional tools to recognise that to work with that</r>
<r t="1051.16">and here's how instead of prompting the user even in professional tools</r>
<r t="1055.79">number the professionals are users to they also ignore information a i know i have</r>
<r t="1062.67">click throughs also i certificates too many times</r>
<r t="1065.44">it's just like</r>
<r t="1067.14">so what you do there</r>
<r t="1069.77">is there a don't feel like you're tool needs to do this you're a</r>
<r t="1074.75">but what you do there is association a certificate with the account</r>
<r t="1080.06">as you would let the user specify host name or username or whatever</r>
<r t="1084.58">what that does it does two things is that we can be more secure with</r>
<r t="1088.24">less security does two things one is that's the user you know not get prompted</r>
<r t="1093.57">later and you know use work around the fact that it's a self signed certificate</r>
<r t="1098.18">but to it also lets the user do it's called a certificate pinning</r>
<r t="1102.74">where</r>
<r t="1103.92">if the certificate to the server sends does not match that certificate so</r>
<r t="1109.74">doesn't work anymore let's really micromanaging secure users</r>
<r t="1115.23">double check certificates that they want to use with a given service and</r>
<r t="1120.16">and then there and if something changes get notified so</r>
<r t="1125.28">but</r>
<r t="1127.18">not every application has to do this so if you're building special application or something</r>
<r t="1131.58">that you imagine these this feature this is how to do it</r>
<r t="1135.22">instead of prompting this is how to do it</r>
<r t="1139.17">alright want another topic</r>
<r t="1141.43">application passive storage</r>
<r t="1143.8">so in currently in</r>
<r t="1146.47">in brno we have</r>
<r t="1148.54">no hearing which is kind of like the central database of all the passwords not</r>
<r t="1152.6">application some faster than there and they can get about</r>
<r t="1155.47">now this is really surprising to users because it doesn't match their intent their intent</r>
<r t="1159.63">is that they type faster than this application the application remembers it</r>
<r t="1163.72">what they don't expect is that every other application including their younger brother using C</r>
<r t="1168.19">horse go and we all the passwords</r>
<r t="1171.68">and</r>
<r t="1173.15">in addition to create all these problems where we have one set one security domain</r>
<r t="1179.02">you would call it for all the applications they can all read each other's passwords</r>
<r t="1181.99">and crap</r>
<r t="1183.3">so</r>
<r t="1186.54">really the password is partly account info when you set up a password and i'm</r>
<r t="1189.77">the or whatever really is part of the account why don't we store today count</r>
<r t="1194.3">well because most people agree that putting up password on encrypted on a laptop disk</r>
<r t="1200.49">is that practise i mean there are certain store just where you can write actually</r>
<r t="1204.93">clear tax like an encrypted this maybe a phone where you can well some sort</r>
<r t="1209.38">of phones where you cannot read this wrong about the wrong this for sandbox applications</r>
<r t="1215.27">so we likely need to use some for sort of encryption</r>
<r t="1222.04">but</r>
<r t="1223.08">and starbucks applications really thrown a wrench into this because if you have the more</r>
<r t="1228.3">sharing their passwords right in the central database you have all these like all this</r>
<r t="1232.76">but this that wants to read this past where the not all these weird if</r>
<r t="1237.05">the prompts or situations that problems are likely to appear so instead what we wanna</r>
<r t="1241.57">do</r>
<r t="1243.63">is</r>
<r t="1244.79">have a session key in the kernel keyring the kerdock eerie it's kind of it's</r>
<r t="1250.25">kind of like know keyring of that but it's volatile and only</r>
<r t="1254.39">stays around on for one</r>
<r t="1257.96">for the brooded life for the computer i guess or</r>
<r t="1261.28">well it's on</r>
<r t="1263.85">and we really want applications to store the passwords in their account information so they</r>
<r t="1270">use the library to access the kernel keyring</r>
<r t="1273.56">and ask for session key with which they can use to encrypted password so they</r>
<r t="1277.36">can store the right there and they pass it through</r>
<r t="1280.49">and</r>
<r t="1281.84">store the result in the account information and the colonel keyring if it's not if</r>
<r t="1285.75">we don't yet have a session keyring</r>
<r t="1287.93">their little house</r>
<r t="1290.19">but that's not the secret service or whatever to be the prompt the user or</r>
<r t="1294.4">get a notice i think hearing based on the user's market</r>
<r t="1298.74">this actually lets you do some really interesting things where you can have policy</r>
<r t="1304.97">like that the whole scheme let's you have policy where different applications</r>
<r t="1309.39">you could you could tell them this application i want to never to store passwords</r>
<r t="1313.7">and so the kernel clearing always refuses to have a session a master session key</r>
<r t="1319.14">for that and respects that doesn't write a password or you could say and M</r>
<r t="1325.02">T P mean store in clear text</r>
<r t="1328.05">then you can have either propagation or for the whole system away for</r>
<r t="1332.49">to indicate the applications just put that lay down in your in your account information</r>
<r t="1338">in clear text don't want to bother with encryption here</r>
<r t="1341.67">so again another example modelling the user intent when we're keeping the password in the</r>
<r t="1346.91">account data</r>
<r t="1348.96">and</r>
<r t="1350.52">again you have more secure because you can you can model all these different things</r>
<r t="1355.44">you don't have maps</r>
<r t="1356.99">interacting with each other to sam box office apps especially to retrieve the past for</r>
<r t="1362.89">from somewhere of course unless the case where apps want to share an accountant from</r>
<r t="1367.41">account right and we do that is through can a lot line accounts or service</r>
<r t="1371.34">like that</r>
<r t="1372.72">more sound what's applications there should be part of for that</r>
<r t="1378.29">and</r>
<r t="1379.47">and i related use case that someone actually brought up just the other day so</r>
<r t="1383.73">i would mention it is people like to look up the past with that they</r>
<r t="1386.42">use in an archive our back so</r>
<r t="1389.86">we might also have a portal or something for that to kind of say i'd</r>
<r t="1393.74">use this password</r>
<r t="1395.69">if the user wants be reminded of it later story but we but after just</r>
<r t="1399.69">don't necessarily use that look up stuff the user for looks up stuff there he</r>
<r t="1403.2">wants to use it somewhere else and if an application you put and</r>
<r t="1410.39">so another topic</r>
<r t="1413.43">when you login to your you know that start using fingerprints are all the login</r>
<r t="1420.64">or anything about a passer morgan to get this problem which is really stupid because</r>
<r t="1424.97">it's a password right so users pleasantly chose not to login password you get this</r>
<r t="1435.02">no the reason for that is because although we can authenticate the user</r>
<r t="1440.14">we can make a guess no decision based on his identity who he is</r>
<r t="1444.61">we cannot we don't have any</r>
<r t="1446.89">secret data like a master password or anything but which to decrypt the stuff on</r>
<r t="1450.85">the best so we can open his password store and so on</r>
<r t="1454.85">so known keyring stubbornly puts at this prompt</r>
<r t="1458.58">that's really unusable</r>
<r t="1461.5">users intent is to monologue in for example just have a static be accessible</r>
<r t="1467.81">right actually ask for fingerprint the ask for although its kind of secure to make</r>
<r t="1473.43">is donna accessible based on the fingerprint that he's leaving all over the place</r>
<r t="1477.6">right so really</r>
<r t="1480.72">the user has way to secure at the a decision already that says i want</r>
<r t="1484.78">to be less than</r>
<r t="1486.8">a hundred percent or less than password secure and i want to</r>
<r t="1493.06">i don't care this point</r>
<r t="1497.23">so this is how we're gonna solve this</r>
<r t="1502.29">so again for those of you fortunate enough not to understand how power works</r>
<r t="1507.32">have the stack of modules</r>
<r t="1510">and one of the modules what usually more the early ones in the stock will</r>
<r t="1514.32">prompt the user for a password</r>
<r t="1516.7">usually it pam unix although it could be the S T component have S as</r>
<r t="1521.43">and so one</r>
<r t="1525.68">so what we really want is that password to come from somewhere else</r>
<r t="1529.44">first of all</r>
<r t="1530.84">we want all the counts to have a password</r>
<r t="1533.4">but then the user can choose not to use that us</r>
<r t="1536.67">so</r>
<r t="1538.99">when configuring fingerprint on or auto login or pay login even</r>
<r t="1545.2">users password is written to a file</r>
<r t="1549.45">and ideally that file would be secured via something on the hardware like a T</r>
<r t="1555.46">P M trip or pretend and be ram or something but if not we written</r>
<r t="1560.69">in clear text and this is the users explicit choice</r>
<r t="1567.04">in addition we wanna fix the case where</r>
<r t="1570.49">you i'll you unlock your disk encryption and then you have to like the same</r>
<r t="1573.83">password again when you login</r>
<r t="1576.52">so both of these data into the kernel keyring</r>
<r t="1580.89">the colonel keyring contain is the users</r>
<r t="1584.04">login password in these cases this can a login fingerprint</r>
<r t="1590.07">authentication</r>
<r t="1591.65">and then when the login starts</r>
<r t="1594.42">there is no authentication token there's no password that they call it</r>
<r t="1598.91">so the first thing in the stock looks and check so the kernel keyring</r>
<r t="1603.35">do you have the user's login password can i just use it</r>
<r t="1606.94">and if you didn't this time</r>
<r t="1608.82">at the top</r>
<r t="1610.07">and then the underlying component see there's already one there tries to use it</r>
<r t="1615.49">and if it works then know product</r>
<r t="1618.38">and on we go down the bottom can known keyring is also able to use</r>
<r t="1622.01">that how sort to unlock the users passwords or to provide like it's in the</r>
<r t="1626.01">last that master session keys for us on what their own past</r>
<r t="1631.72">so we got</r>
<r t="1634.01">are usable login experience that models users intense and in fact</r>
<r t="1639.6">you get ability to use more secure stuff which is your just encryptions smoothly</r>
<r t="1646.86">so those are the things that i</r>
<r t="1650.71">sort of have scheme than this area but</r>
<r t="1654.71">there is so much more if you're if you want to join in on any</r>
<r t="1658.64">of these tasks i can break them down we can we can work together i'd</r>
<r t="1662.51">love that i'm this is not my job to work on this stuff i work</r>
<r t="1667.21">part time on it</r>
<r t="1671.29">and if you see other places where you want to apply the principles i talked</r>
<r t="1676.17">about that by all means don't be afraid of join in the</r>
<r t="1680.56">darkside the security bring us back from the dark side we have cookies</r>
<r t="1686.67">so</r>
<r t="1688.82">who's your comment</r>
<r t="1691.93">terminate security problems with extreme prejudice</r>
<r t="1697.33">and this is really interesting about this the other day</r>
<r t="1702.6">for every keystroke or click that the user has to use to use a security</r>
<r t="1707.36">or crypto feature user base declines by you can imagine how that goes</r>
<r t="1713.97">alright any questions</r>
<r t="1717.21">yes</r>
<r t="1723.7">are you very the if you so the web browser example we back that we</r>
<r t="1728.58">just gonna draw connections if the certificates mismatching there are some sites that they're gonna</r>
<r t="1733.87">practise that you can take people want to go to them</r>
<r t="1736.91">do you think you just gonna find you know like more extreme measures of disabling</r>
<r t="1740.93">the security system so that they can get what they want</r>
<r t="1744.98">and that will match user intent</r>
<r t="1748.46">like i find with someone who's crazy or someone who is a it is come</r>
<r t="1754.39">used to living on the extreme going in disabling have to secure this but if</r>
<r t="1758.4">like user intent is i want to see this site and then you force them</r>
<r t="1762">into like and disabling all security validation or something like that</r>
<r t="1767.89">that's a possibility but i think we've also made it possible for the user to</r>
<r t="1772.49">fix that situation</r>
<r t="1774.72">in a straightforward secure way without getting a problem interrupting them so not only are</r>
<r t="1779.81">we taking something away but we given them the ability to fix it really it's</r>
<r t="1783.24">been hopeless so far right</r>
<r t="1785.01">you try to trust some see a or something like see a start for example</r>
<r t="1790.04">i was like what you have to figure and every application that's not so we're</r>
<r t="1794.55">trying to do is really solve the problem that the users are actually facing and</r>
<r t="1798.24">they're always be some</r>
<r t="1800.25">weirdos</r>
<r t="1801.65">who want to ignore that stuff or totally valid you serious want ignore that stuff</r>
<r t="1808.77">and verify minutes open source they can going modify they can we can figure it</r>
<r t="1812.77">they can change it but we don't necessarily have to present that to all these</r>
<r t="1816.38">is that option to all the users</r>
<r t="1819.93">did you have a question</r>
<r t="1826.77">there we go</r>
<r t="1828.37">so with the decline of the passwords this is secure mission to the contention relates</r>
<r t="1837.82">to the ultimate just a user can remember is for below the amount of that</r>
<r t="1843.7">is that compute complete for some half an hour</r>
<r t="1846.96">the two</r>
<r t="1849.25">and with the jan on the availability of the two factor authentication right</r>
<r t="1856.55">what can we do to fix the problem</r>
<r t="1859.57">a lot of lot of research unless the sure that it</r>
<r t="1863.19">i don't have an amazing response to that i mean if and if</r>
<r t="1867.63">if someone wants to work on you authentication methods or implementing</r>
<r t="1873.19">ones that are in research that certainly interesting work that</r>
<r t="1878.48">we can do i mean</r>
<r t="1880.06">but we have established stuff we could try implementing in to go but</r>
<r t="1884.86">i don't be shy when exploring the stuff there's definitely a need for something better</r>
<r t="1889.9">but we don't have</r>
<r t="1900.98">sure</r>
<r t="1915.62">or the</r>
<r t="1918.11">i think it's a good approach to try to catch the use intents but it's</r>
<r t="1921.98">at the same time very far as it is hard i mean</r>
<r t="1926.89">it's security</r>
<r t="1928.82">i don't know it might be very different see what you know the uses and</r>
<r t="1932.57">ten E it's</r>
<r t="1934.35">there's no doubt that</r>
<r t="1937.32">and that's one reason i wanted to get this talk is we're on the verge</r>
<r t="1941.58">of design in this</r>
<r t="1942.86">somewhat applications and it would be so easy</r>
<r t="1946.47">the fall into the trap of getting more problems</r>
<r t="1949.14">so easy and i agree it is hard</r>
<r t="1951.88">is really hard like for example do you want to share your location yes no</r>
<r t="1957.53">what is the answer to that</r>
<r t="1959.67">what if you what if you i mean this is just spit balling here but</r>
<r t="1963.22">what if you were displaying and say select your location share but</r>
<r t="1967.12">like a user clicks it takes the share button it has a web at and</r>
<r t="1970.4">you get some i guess like of course under his current location and all and</r>
<r t="1974.34">it kind of modelling some attached to do rather than a permission i mean i</r>
<r t="1979.31">realise it's hard</r>
<r t="1981.21">and no i don't think any of us have like this ingenious solution for each</r>
<r t="1985.49">and every problem i mean each one it's going to be a child</r>
<r t="1988.86">but we really not just fall into the trap of prompting users that just makes</r>
<r t="1994.21">like i mean showing transit are just going to be click through when you kind</r>
<r t="1997.06">of get in the habit of just picking to</r>
<r t="2002.02">i think it is useful to make a distinction between props that or like would</r>
<r t="2006.76">you like to share your location yes-no versus parts that are more like would you</r>
<r t="2011.24">like me to do what will allow you to do what you're trying to do</r>
<r t="2014.97">so i mean equipment industry choice that's</r>
<r t="2018.06">later you know if i'm clicking no i don't get what i want verses okay</r>
<r t="2021.81">this is really a preference and then i can proceed writing there's a you want</r>
<r t="2025.64">to do your task like exactly and then the ability to of course stop it</r>
<r t="2029.51">if it was a surprise that somehow this thing popped up so saying that all</r>
<r t="2032.98">yes we know choices are only back i'm not sure that that's true</r>
<r t="2037.12">that's why i said problems are dubious and i understand a your point</r>
<r t="2043.17">but we need to react</r>
<r t="2045.99">when we see if we as developers we to react when we see problem and</r>
<r t="2048.94">really think hard is this really necessary and i guess that's my point</r>
<r t="2052.54">so we've been so used to just generating problem</r>
<r t="2056.65">so after that extreme here</r>
<r t="2060.17">and there are exceptions</r>
<r t="2061.98">but it really should be part of our first reaction to think hey this is</r>
<r t="2066.99">the problem what are we doing here can we can we change this there were</r>
<r t="2070.15">actually matching what the user wants to do or presenting a like part of the</r>
<r t="2073.9">flow or somehow let me show isn't and or something like that</r>
<r t="2080.98">just for the</r>
<r t="2089.56">so continuing rinds question before i think which is absolutely terrible has had invalid sort</r>
<r t="2095.84">of the certificate for five years and i don't see any fixed that</r>
<r t="2101.54">that i mean you i know i is they bought my credit card your like</r>
<r t="2105.99">any money right now a but i mean it's just sort of i mean i</r>
<r t="2110.24">sort of agree with brian sentiment that it's like there's a valid</r>
<r t="2113.65">certificate websites all over the place like just sorta children actually and he obviously the</r>
<r t="2121.46">right now like it's very bad by record choose you like</r>
<r t="2126.01">but like i would do that as you were on your fish will be use</r>
<r t="2130.9">like we could do i wanna do i get my money's</r>
<r t="2135.89">so it's just like i understand your point with like</r>
<r t="2139.76">i don't use any for just terrible websites or so i probably not use their</r>
<r t="2144.86">online banking system but</r>
<r t="2146.78">i'm gonna return anecdote in time and that is on them as a that bugs</r>
<r t="2151.53">a lot about our website where people file bugs about firefox</r>
<r t="2155.51">there are and number of bugs the people that exact same thing hey you guys</r>
<r t="2159.64">suck you do not recognizer certificate five bank i keep getting prompted and blah and</r>
<r t="2164.67">then similar looks and the details and they are in fact being that in the</r>
<r t="2167.19">middle someone is attacking that and they have enough knowledge to go and post like</r>
<r t="2171.29">certificate details and all that stuff on for example so you're how many people are</r>
<r t="2176.04">just ignoring the i mean my factor of thousand more right so</r>
<r t="2181.05">i realise there's a trade off here but i think this is completely the right</r>
<r t="2185.13">approach and there are ways to get up to obviously we haven't totally ignore the</r>
<r t="2190.27">fact that all certificates automatically validate and there are ways to do it so someone</r>
<r t="2194.37">might make a browser plug in for you or you might make it that says</r>
<r t="2197.68">hey when i go to this bookmark</r>
<r t="2199.86">always check to make sure it's the certificate no matter outdated or whatever in the</r>
<r t="2204.32">certificate to the bookmark and there you go</r>
<r t="2207.95">the other question i have we think about this you linux</r>
<r t="2215">the reaction i was expecting thank you know i think i think that i think</r>
<r t="2218.62">there's a lot of good use cases for it and i just think many of</r>
<r t="2222.53">much of what we try to do with it now is to find great so</r>
<r t="2225.74">it's again that the chairman E of small decisions</r>
<r t="2229.93">we need to and there there's definitely working done on this i'm not trying to</r>
<r t="2233.64">not get we need to use it at a higher level more like for example</r>
<r t="2239.18">with a marxist that's kind of the abstraction we containers or with virtual machines that's</r>
<r t="2244.79">kind of the level like you're talking about rather than the something i wanna micro</r>
<r t="2248.17">manage and sassy the next always support that i think we take it to the</r>
<r t="2251.3">next level now and by removing all those tiny little incipiency intricate decisions and micromanaging</r>
<r t="2258.45">every detail you sort of have these bigger bar bigger security domains where stuff in</r>
<r t="2263.35">their interacts fine</r>
<r t="2265.24">but when it once interactive something outside there only to find ways for to do</r>
<r t="2269.18">that</r>
<r t="2281.72">so i two questions the first one was</r>
<r t="2285">i mean you were mentioning some alternative plan for the take to be able to</r>
<r t="2289.24">still access is websites planning and strategic it's to some sourced or something</r>
<r t="2295.45">like is percent like just an I them and then have like a you why</r>
<r t="2300.15">that you didn't really specify so okay so that's this is the infrastructure i've been</r>
<r t="2304.72">working on actually it's already done the infrastructure</r>
<r t="2308.24">and this is just or is that what you're talking about and the trust or</r>
<r t="2312.47">is basically</r>
<r t="2314.59">stuff in these two directories so right now and your food or nineteen your debian</r>
<r t="2318.7">testing or your opens is the back to re think</r>
<r t="2322.89">you can put</r>
<r t="2324.25">your see a certificate in that one of these direction for jack that because i</r>
<r t="2328.76">think some of them change the directory to be compatible with their old stuff you</r>
<r t="2332.38">can put it in there and suddenly everything will respect</r>
<r t="2335.3">obviously user interface is very important and i wish i was really hoping to have</r>
<r t="2341.18">that done by quack</r>
<r t="2343.01">unfortunately a lot of other stuff conspired against me</r>
<r t="2346.87">there are tools command line tools now that's very new to do that so you</r>
<r t="2350.78">don't have to like manually place files it'll just take a adding a listing and</r>
<r t="2354.61">stuff like that</r>
<r t="2355.9">and then there are</r>
<r t="2358.7">based on those tools we have to build a you why for example to see</r>
<r t="2362.12">orthodox can reference because i understand that not everyone has an admin even in enterprise</r>
<r t="2368.27">not everyone has an admin caring about their every you know need any them don't</r>
<r t="2372.37">care that you on the next so</r>
<r t="2374.62">by having the documentation how to do this we can guide the user through these</r>
<r t="2378.99">that if they really have to</r>
<r t="2380.81">okay and the question the i'm really interested in is you mentioned like encrypted hard</r>
<r t="2386.14">disks but like when you installed or it doesn't give you like</r>
<r t="2391.18">langford lot checked by default so will it be saying that you like to see</r>
<r t="2396.69">like</r>
<r t="2397.46">say linux distributions gently like pushing for people drink their drives</r>
<r t="2402.91">but there's a lot of discussion about that problem is password recovery right unless you</r>
<r t="2407.18">can provide the user really same way of recovering that password</r>
<r t="2411.1">checking a by default is very</r>
<r t="2414.91">"'cause" i'm just from a developers so i i'm i totally would love to see</r>
<r t="2420.17">it check right before but we have to have a good passer just got password</r>
<r t="2423.09">recovery mechanism</r>
<r t="2429.66">you talk about you would support sort of like advanced interface repenting what's your opinion</r>
<r t="2434.94">on this idea a certificate pending by default on first years so that you know</r>
<r t="2440.22">when i go and access my bank you can all the suddenly like you know</r>
<r t="2443.75">by the way your bank is now authorised by a russian certificate it's already are</r>
<r t="2448.32">you sure that that's really what you intend right so there's a lot of work</r>
<r t="2453.22">being done on how to solve the see a problem because C As or</r>
<r t="2458.77">that's pretty much a recipe for corruption right basically get money for</r>
<r t="2463.15">doing the right thing and more money for doing the wrong thing you know so</r>
<r t="2467.41">there's a lot of work on this and some proposals like tack have a way</r>
<r t="2471.38">to</r>
<r t="2472.44">pinna finicky to a website and the first time you see a first time user</r>
<r t="2476.41">you can make a leap of faith</r>
<r t="2478.38">and thereafter you kind of build trust and because you keep seeing the same thing</r>
<r t="2481.68">there's a way to migrate to new keys a not necessary you will ever really</r>
<r t="2485.66">do that again</r>
<r t="2487.17">and it's a interesting approach and but it needs more work from the user interface</r>
<r t="2491.97">perspective because</r>
<r t="2494.38">it really depends on the use case if the user is logging onto for example</r>
<r t="2500.62">it really makes sense in the case of social networking</r>
<r t="2504.52">if you were creating account that's a with facebook</r>
<r t="2507.47">the first time you're creating that account</r>
<r t="2510.65">you wanna know that later when you connect and add more your personal information that</r>
<r t="2514.96">you're going back to the same website and also works very well for ad hoc</r>
<r t="2519.5">communication between people the first time i met you i have no idea we were</r>
<r t="2523.23">and whether you trustworthy or not and the same thing works with pinning right</r>
<r t="2528.51">the first time i kinda make a leap of faith or kind of i there's</r>
<r t="2531.46">not much at stake but over time you wanna be sure you're going back to</r>
<r t="2535.32">the same place</r>
<r t="2536.81">as far as the leap of faith when you're connecting to someone you that you</r>
<r t="2540.29">like your bank that you have to know is the right party from the beginning</r>
<r t="2544.44">that is kind of more unsolved problem</r>
<r t="2547.79">you in this like you have your labial the weighted keys in user sure if</r>
<r t="2552.72">i don't trust them from the files and it's that or is it strictly additive</r>
<r t="2556.03">know there's also black listing so you should be able to take a certificate i</r>
<r t="2559.67">say</r>
<r t="2560.62">never use this certificate again now not all of those libraries support it and assesses</r>
<r t="2566.36">the only one that supports well i mean so that i can just right get</r>
<r t="2569.22">out of the trust shortly you can do that it's from that see</r>
<r t="2575.43">and see okay like i don't if you want to provide actually the last</r>
<r t="2580.84">we have a way to do that i can basically you market as untrusted for</r>
<r t="2584.59">any use each of those anchors are trusted for various uses like web or you</r>
<r t="2589.68">know someone and the tool would unmark the to tool does on market for any</r>
<r t="2595.18">use when you disable it and crystal there but can't really be</r>
<r t="2599.36">i wanna say that this slide like i love you for because this is gonna</r>
<r t="2603.46">disasters and i don't have to really like a lot better</r>
<r t="2623.05">so that's all that's great</r>
<r t="2625.23">stick what concerns me right now</r>
<r t="2628.55">is that there's a lot of us on a lot there are some of us</r>
<r t="2630.88">in our community the reading harassed as we go through T S A check</r>
<r t="2635.38">like that part i don't have that were like going to T S A checkpoints</r>
<r t="2640.13">we raster resize get take in the get image</r>
<r t="2644.15">what are we doing to prevent things like lee keen</r>
<r t="2649.2">you know are keys in memory</r>
<r t="2651.67">i shut my laptop what just happened to make sure they are actually going to</r>
<r t="2655.2">this</r>
<r t="2656.84">you know a lot of the service stuff goes to you bustling application once you</r>
<r t="2661.35">get a password securing a makeover debusk we have no control over D but zero</r>
<r t="2665.81">we not the memory that contains my password well nor do necessarily zero the password</r>
<r t="2671.1">before free need in the applications that what are we gonna do about conventions how</r>
<r t="2675.29">can we deal with that to make sure that our applications or protecting us even</r>
<r t="2679.79">when we were right so there's various aspects that question and what are the interesting</r>
<r t="2686.62">things is like this distinction between privacy and security some was telling me</r>
<r t="2692.25">yesterday and it was really good point that security is off and the implementation of</r>
<r t="2695.95">privacy right so we have this privacy campaign what i've talked here today it was</r>
<r t="2700.21">a lot about security</r>
<r t="2702.07">and our privacy campaign we should be examining</r>
<r t="2705.38">those various use cases especially if are community is already run into these problems</r>
<r t="2710.44">and a bunch of us were having a disk and how hard discussion about it</r>
<r t="2715.41">but we need to start christa lighting what we're going to do for that privacy</r>
<r t="2718.96">right i mean i'm certainly not running it but so</r>
<r t="2724.77">if you have any ideas though i'd be happy to andreas or to be us</r>
<r t="2730.77">or holland or myself we can start a discussion on that like what task do</r>
<r t="2736.45">we want to do obviously twenty K is not gonna solve the world's problems but</r>
<r t="2740.62">right you can actually start to tackle some of those things as far as the</r>
<r t="2743.43">security side ask doing their security</r>
<r t="2746.46">that is a problem and i hope that</r>
<r t="2749.68">part of that is all by this</r>
<r t="2752.87">we have a much more</r>
<r t="2754.71">secure infrastructure for</r>
<r t="2758.54">after that passed around the system although currently a list not hearing doesn't after password</r>
<r t="2764.11">over developed by in here the number that at least</r>
<r t="2767.98">presumably that the colonel hearing area is gonna be unlocked memory so when you shut</r>
<r t="2773.53">it no chance of</r>
<r t="2776.24">this so i mean we do need to take some steps when you when you</r>
<r t="2780.98">suspend your computer to clear the kerdock hearing and then unlock use that unlock password</r>
<r t="2787.33">to we populate that master section</r>
<r t="2794.56">as far as point the second thing is concerns a right now i'm still gathering</r>
<r t="2801.04">what we</r>
<r t="2802.35">we won't be community a knowledge and see what we gonna be using the money</r>
<r t="2808.26">full it's very possible that will end up having just like to produce the nation's</r>
<r t="2814.77">in previous campaigns that will just add</r>
<r t="2817.33">one company working on a particular set of tasks but it's also very possible that</r>
<r t="2823.07">will and of speeding up the</r>
<r t="2826.46">the problems into small pieces some of codes of P W</r>
<r t="2832.37">participants can</r>
<r t="2835.03">can use that we can even make some of the stuff into going on goals</r>
<r t="2838.61">right is a week you page on which we have a really point is ready</r>
<r t="2843.79">and we need to flesh that out we need to figure out what's the most</r>
<r t="2847.68">important in the short term</r>
<r t="2850.78">cool</r>
<r t="2852.1">i just one comment on the privacy campaign is what as we accept bids from</r>
<r t="2858.53">companies are ideas of things we need to secure is such a broad topic i</r>
<r t="2862.67">mean it means something different to everyone so i think we need to focus as</r>
<r t="2867.67">we are more on privacy i think especially i think yes exactly so if we</r>
<r t="2873.92">excepted three companies we're gonna get a lot of security stuff as well we have</r>
<r t="2877.3">and you know bundled them down to privacy</r>
<r t="2884.38">and do this regime where account service their applications are storing passwords as account information</r>
<r t="2889.99">inside and sells presumably and all sorts of different ways that the system doesn't really</r>
<r t="2894.69">have any awareness of the if i want to change the this key that's a</r>
<r t="2899.45">marking all of the is that it seems that i really can't do that yes</r>
<r t="2903.46">that's a good point and i didn't covered in the slide but you might as</r>
<r t="2906.8">there's a little to here</r>
<r t="2908.68">okay</r>
<r t="2909.85">what that does is when you ask</r>
<r t="2912.31">the kerdock hearing for</r>
<r t="2914.91">to unlock a password that you've stored previously you also pastor identifier</r>
<r t="2920.42">that's all the which has certainly used to market previously when you're doing it for</r>
<r t="2925.65">the first time well when you're storing capacity use the current identifier and you tag</r>
<r t="2929.97">in into your value you pass a back so that allows for migration between see</r>
<r t="2934.3">so using the ski i mean there may be more holes and i'd love to</r>
<r t="2937.38">discuss</r>
<r t="2938.61">the details make sure we have it all right if this can you have a</r>
<r t="2941.75">lot of the protocol the whole model has a lot of flexibility a lot of</r>
<r t="2945.73">power not necessary that we have to expose all that in the default install but</r>
<r t="2949.55">you have that</r>
<r t="2951.27">does the protocol you an opportunity to say it's you requesting like a generation to</r>
<r t="2956.44">did you know there's a generation three would you like three include no i would</r>
<r t="2960.02">suggest personally</r>
<r t="2961.9">that we always have the out just have a well known place to retrieve the</r>
<r t="2966.47">currently when they're storing a password</r>
<r t="2968.84">just use that</r>
<r t="2972.25">great stuff</r>
<r t="2979.98">more question</r>
<r t="2985.69">thank you much</r>
<r t="2988.68">right</r>
<r t="2990.23">and then</r>
</data>
