{"id":12035,"date":"2007-12-19T11:44:00","date_gmt":"2007-12-19T11:44:00","guid":{"rendered":"https:\/\/masabidev.wpengine.com\/news\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\/"},"modified":"2014-11-25T15:23:03","modified_gmt":"2014-11-25T15:23:03","slug":"did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators","status":"publish","type":"post","link":"https:\/\/www.masabi.com\/es\/news\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\/","title":{"rendered":"Did the NSA put a back door in our Mobile Security? (and more about bad random number generators)"},"content":{"rendered":"<div class=\"block-\">After the recent discovery of a <a href=\"https:\/\/www.theregister.co.uk\/2007\/12\/18\/vista_sp1_rng_backdoor_fears\/\">potential back-door<\/a> in a <a href=\"https:\/\/csrc.nist.gov\/groups\/STM\/cavp\/\"><span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_0\">NIST<\/span><\/a> approved random number generator, I thought it would be timely to state clearly that we <span style=\"font-weight: bold;\">do not<\/span> use the generator scheme involved, but a more straightforward <a href=\"https:\/\/csrc.nist.gov\/groups\/STM\/cavp\/documents\/rng\/rngval.html#339\"><span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_1\">AES<\/span> based random number generator<\/a>, which does not fall prey to the <a href=\"https:\/\/www.schneier.com\/essay-198.html\">suspicious curves<\/a>.<\/p>\n<p><span style=\"font-weight: bold;\">Why do we care about random number generators anyway?<\/span><\/p>\n<p>For the encryption newbie: Quick Summary of key exchange to set up a secure session, using random number, and asymmetric encryption:<\/p>\n<ol>\n<li>Generate a Big Random Number on the phone, that becomes your symmetric session key\n<\/li>\n<li>Encrypt that secret session key using slow Asymmetric Encryption like <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_2\">RSA<\/span> (using the server&#8217;s public key that the mobile application already has, and we are quite happy for the attacker to know too)\n<\/li>\n<li>Send the asymmetric encrypted session key over the public network to the server\n<\/li>\n<li>Only the server with the private asymmetric server key can decrypt the data and read the secret session key\n<\/li>\n<li>Secure session continues with fast symmetric encryption like <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_3\">AES<\/span> using the shared secret session key in both directions.<\/li>\n<\/ol>\n<p>If the attacker can guess what big random number you created at <span style=\"font-weight: bold;\">step 1<\/span>, they can jump straight in to read everything at <span style=\"font-weight: bold;\">step 5<\/span>.<\/p>\n<p>The vulnerability in the news story above is that whoever knows the secrets to the elliptic curves that underpin that particular random number generator might be able to guess the sequence of random numbers it will generate more easily (mathematically quicker) than should be possible for a normal attacker.<\/p>\n<p>This posting will not say anything more about that specific (possibly deliberate) vulnerability, but instead look at situations where developers inadvertently put much worse weaknesses in their security systems which allow attackers to beat your system as if they had a similar back door, which you accidentally left wide open, accompanied by <span style=\"font-weight: bold; font-style: italic;\">big flashing neon signs<\/span> that say \u00abhackers enter here\u00bb.<\/p>\n<p><span style=\"font-weight: bold;\">The Random Issue<\/span><\/p>\n<p>All cryptography relies on a good source of randomness, and it is very important for system designers and security evaluators to understand that although they may have thought hard about how many bits long their keys are, all of their fancy cryptography is worth nothing if they haven&#8217;t built it on top of a good random number.<\/p>\n<p><span style=\"font-weight: bold;\"><span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_4\">WAKEUP<\/span> CALL: <\/span>If you build a 128 bit key from 8 bits of <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_5\">un<\/span>-guessable randomness, you have a system with an <a href=\"https:\/\/www.windowsecurity.com\/articles\/Ideal-to-Realized-Security-Assurance-Cryptographic-Keys-Part1.html\">effective security key strength<\/a> of only 8 bits.<\/p>\n<p><span style=\"font-weight: bold;\"><\/span><span style=\"font-weight: bold;\">Pseudo Random Number Generators<\/span><br \/>Just having an approved Secure Random Number Generator is not enough, you need to <a href=\"https:\/\/www.unix.org.ua\/orelly\/networking\/puis\/ch23_08.htm\">seed<\/a> (initialise) the generator with some real randomness (entropy) otherwise the secure random will be predictable. This is because all secure random number generators are actually PSEUDO-random number generators, and will produce exactly the same sequence of numbers from an identical seed. They have to work this way so that they can be properly tested and profiled to avoid generating patterns in the sequence output that could reveal something about the source seed (that is, that they are one way functions which don&#8217;t create repeating patterns). In layman&#8217;s terms, it means that the seed must be from something really random, and then your pseudo random number generator can get on with producing a nice continuous stream of apparently random numbers, suitable for cryptography.<\/p>\n<p><span style=\"font-weight: bold;\">What&#8217;s a good seed?<\/span><br \/>One of the common forms of cryptographic attack (after fooling people) is \u00ab<a href=\"https:\/\/blogs.securiteam.com\/index.php\/archives\/89\">side channel attack<\/a>\u00bb where an attacker observers some external aspect of the client system and uses that to guess the keys or data. In this case they can ignore the algorithms in use, and just second <a href=\"https:\/\/query.nytimes.com\/gst\/fullpage.html?res=990CE6DB1430F93AA2575AC0A963958260\">guess the seeding<\/a> of the random number generator (<span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_6\">RNG<\/span>), which then gives them the session key.<\/p>\n<p>It&#8217;s easy to see why &#8211; the default Java implementation of secure random \u00abseeds\u00bb it&#8217;s <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_7\">RNG<\/span> from the system time when it was started &#8211; so to guess the session key in use during an encrypted session, you simply guess (roughly) when that program&#8217;s <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_8\">RNG<\/span> was started (usually a few hundred milliseconds before the first network connection) and throw all the times around that through an identical <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_9\">RNG<\/span> algorithm until one of the generated keys works. This would allow you to guess a 256 bit key in only 9 bits worth of attempts (effectively reducing the key strength to 9 bits, therefore easily brute-forcible). It turns out that since Java 5 the default seed implementation also <a href=\"https:\/\/forum.java.sun.com\/thread.jspa?threadID=5133712&amp;start=0\">adds a counter to the current system time,<\/a> but that doesn&#8217;t really represent a real attacker-defeating source of entropy!<\/p>\n<p><span style=\"font-weight: bold;\">Q: \u00abWe run a maths loop thousands of times and take the processing time and free memory differences from that to make the random seed, will that do?\u00bb<\/p>\n<p><\/span><span style=\"font-style: italic;\">\u00abAny one who considers arithmetical methods of producing random digits is, of course, in a state of sin.\u00bb<\/span><span style=\"font-weight: bold;\"> <\/span><span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_10\">von<\/span> <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_11\">Neumann<\/span><\/p>\n<p>On mobile you cannot run a \u00abfutile cycle\u00bb to generate random times and memory usage like you do on a PC, as many handset operating systems are so simple that they run completely uniformly (the same every time) in most cases.<br \/>We profiled all common phones during thousands of program <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_12\">startup<\/span> cycles, and found that on some <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_13\">Nokias<\/span>, for example, you could load a hundred images and do all sorts of other things in memory and it would take the same number of milliseconds, (+\/- 10ms) every time, so even if you \u00abstirred\u00bb your <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_14\">RNG<\/span> with the timing, memory, or results of your <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_15\">startup<\/span>, it would be something that an attacker could also copy, and just use that as a known quantity in their \u00abguessing\u00bb. On top-end <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_16\">Symbian<\/span> handsets you can get better access to microphone, screen coordinates, less uniform performance from the multi-tasking OS etc, but on standard <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_17\">MIDP<\/span> phones it is all far too predictable to be a reliable source of entropy.<\/p>\n<p><span style=\"font-weight: bold;\">Side Note: Reverse Compiling Java:<\/span><br \/>Mobile Java is very straightforward to <a href=\"https:\/\/www.developer.com\/java\/article.php\/779831\">reverse-compile<\/a> (getting the original source), so you have to start your analysis by assuming that a committed attacker can completely understand, and make use of your own code against you. All of the worst case scenarios that we are guarding against assume that the attacker has full knowledge of what the developer is doing, and could perform quite advanced profiling of how it performs on each handset, or just target a particularly vulnerable handset.<\/p>\n<p>This may sound like a very long winded process, but the attacker may have been quite highly funded by criminal gangs or antagonistic Government agencies to break your security, or worse, they might just be a <a href=\"https:\/\/www.lightbluetouchpaper.org\/2007\/02\/06\/chip-pin-relay-attacks\/\">bored academic <\/a>that likes a challenge.<\/p>\n<p><span style=\"font-weight: bold;\">Solution:<\/span><br \/>You have to rely on the USER for a true source of randomness.<\/p>\n<p>Some PC security programs get the user to wiggle a mouse or speak into a microphone before they generate your keys &#8211; this is all about seeding. Get the mobile user to press buttons, or interact in some way, such as playing a game. This is the only way to get a good seed on many handsets.<\/p>\n<p>The exact times of <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_18\">keypresses<\/span> are one good source of some randomness. But you must first figure out how much true entropy you get on each handset from this.  More handset profiling is required.<\/p>\n<p><span style=\"font-weight: bold;\">Clock Granularity &#8211; why the mobile cryptographer would care:<\/span><br \/>Many handsets give time in milliseconds, but only have a clock granularity (minimum reported time difference) of around 25ms. If someone is banging random keys, an attacker may guess the presses are occurring roughly each second, so the variation that they can&#8217;t guess is going to be less than about half a second, varying by say 15 actual reported clock intervals (375ms). So we might only get 4 bits of randomness in the time. If they are hitting random buttons, on a 10 button keypad, the value of the key pressed is another 3 bits, and the key release time about another 1 bit of uncertainly. You can throw in the free memory at the time of <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_19\">keypress<\/span> too if you like, which in the worst case may vary in a fixed way according to the timing of <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_20\">keypresses<\/span>, so I&#8217;ll not give myself any new uncertainty for that as you have to always consider the worst case.<\/p>\n<p>So if I want to generate a 128 bit random key, and I get roughly 8 bits of <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_21\">un<\/span>-guessable entropy from each user keystroke (if they are banging the keys to give me randomness) then they will have to hit at least 16 keys to be sure. (and there will be plenty of people that will argue for less bits of entropy per keystroke, and demand 20 keys hit, so we usually go for 20 as our minimum).<\/p>\n<p>On newer phones you could get entropy from the tilt sensor, or record sounds and background noise from the microphone, but we have to make sure that there&#8217;s a workable solution for even the most basic <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_22\">MIDP<\/span>1 phones that only provide user keyboard input.<\/p>\n<p>Some developers use the <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_23\">IMEI<\/span> or other phone properties as an extra bit of information to throw into the random seed &#8211; by all means add this, but don&#8217;t assume that this would be impossible for an attacker to find either from a browser HTTP header (<span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_24\">Nokia<\/span> S60 phones add the <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_25\">IMEI<\/span> here) or by installing a second application that simply asks for the same properties (similar to the <a href=\"https:\/\/www.theregister.co.uk\/2007\/11\/23\/win_xp_random_bug\/\">attacks on <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_26\">XP<\/span><\/a> and <a href=\"https:\/\/www.theregister.co.uk\/2007\/11\/30\/freebsd_bug\/\">BSD random seed pools<\/a>); adding this doesn&#8217;t increase your worst case entropy count.<\/p>\n<p><span style=\"font-weight: bold;\">Good Examples:<\/span><\/p>\n<ul>\n<li><a href=\"http:\/\/localhost:10003\/scPlaytech.html\"><span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_27\">Playtech<\/span> Mobile Casino<\/a> &#8211; (written by <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_28\">Masabi<\/span>) these games get the user to press random keys to seed the <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_29\">RNG<\/span>, and also use the keystroke timings during fun-games (which run without secure networking) to collect seed information, and will only make a secure connection once enough seed information is collected. An entropy counter clocks up the number of user generated events, and only allows secure networking when enough have occurred.\n<\/li>\n<li><a href=\"https:\/\/www.operamini.com\/\">Opera Mini Advanced<\/a> &#8211; the secure versions of opera mini get the users to press random keys to seed their random number generator before making secure connections &#8211; good on you Opera!<\/li>\n<\/ul>\n<p><span style=\"font-weight: bold;\">Bad Examples:<\/span><\/p>\n<p>There are plenty of \u00abSecure\u00bb mobile applications that don&#8217;t practice safe seeding, and are open to <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_30\">RNG<\/span> guessing attacks. It could be that they have some other <a href=\"https:\/\/world.std.com\/%7Ecme\/html\/randomness.html\">hidden source of randomness<\/a> that none of the rest of the computer scientists in the world have thought of, but I doubt it.<\/p>\n<p>If you are using a secure mobile app, especially on <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_31\">MIDP<\/span>1, and you get a secure connection without pressing at least 16 buttons first, then chances are your connection is vulnerable to attack, and someone getting into your session in under 1000 guesses.<br \/>It&#8217;s also a first sign that the application developer may not have had anyone skilled and independent truly analyse their security, because it would be the first thing spotted by a security professional or white-hat hacker, simply by looking at the finished product, and before viewing a single line of code&#8230;. there could be other mistakes too.<\/p>\n<p>Another Bad (and common) approach:<br \/><span style=\"font-weight: bold;\">No Random Number Generation, No Key Exchange<br \/><\/span>It is difficult to build both an Asymmetric and Symmetric encryption systems <a href=\"http:\/\/localhost:10003\/EncryptME.html\">small and fast<\/a> enough to use on mobile devices, and we&#8217;ve noticed that some secure mobile products don&#8217;t bother with it at all, and just implement a Symmetric cipher alone, like RC4, 3DES or <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_32\">AES<\/span>, and <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_33\">pre<\/span>-share a symmetric encryption key through some other corner cutting technique.<\/p>\n<p><span style=\"font-weight: bold;\">Common bad key-sharing tricks: <\/span><span>(we&#8217;ve seen these in live systems)<\/span><\/p>\n<ol>\n<li>Building the key material into the application <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_34\">JAD<\/span> or JAR file prior to install.<br \/>PROBLEM: The <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_35\">JAD<\/span> and JAR are transmitted in the clear, and however obscured the key material is, it would be possible for an attacker to retrieve that key material from observed network data during install.\n<\/li>\n<li>Using customer data entered on the mobile device (<span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_36\">username<\/span>, account numbers, DOB) as key material, as this is also known to the central server.<br \/>PROBLEM: much of this data would also be known or discoverable by the attacker.\n<\/li>\n<li>Sending an \u00abActivation code\u00bb via a second channel for the user to type in to Activate the secure connection, and using that activation code as the seed or key material<br \/>PROBLEM: <a href=\"https:\/\/www.windowsecurity.com\/articles\/Ideal-to-Realized-Security-Assurance-Cryptographic-Keys-Part1.html\">building a 128 bit key from a 4 digit activation code<\/a> represents a key strength of only 13 bits, far too weak to secure financial transactions that should be protected by at least 128 bits of effective cryptographic key strength (requiring an activation code of 39 digits length). Also if you are using 3DES your <a href=\"https:\/\/www.prvrt.net\/2007\/12\/06\/aes-or-tripledes\/\">effective <span class=\"blsp-spelling-error\" id=\"SPELLING_ERROR_37\">bitstrength<\/span> is only 2\/3<\/a> of the total number of bits of key material, so a 3DES system based on 14 bits of unknown key data may only present a 9 bit problem for an attacker to brute-force, possibly requiring the raw unadulterated processing power of a 1980&#8217;s pocket calculator for a second or two.<\/li>\n<\/ol>\n<p>So, after all that, we&#8217;re not really scared that the US Government has a back door implanted into the publicly known and widely investigated algorithms that we use; but more importantly I hope we&#8217;ve looked carefully enough at our handling of random numbers and key exchange to make sure that we haven&#8217;t inadvertently left another back door open for the attentive hacker to exploit.<\/p>\n<p>However, it does seem that some vendors are still leaving these vulnerabilities in their systems by design &#8211; I hope that this all gets brought into line soon so that as an industry we don&#8217;t make mistakes that could earn mobile commerce a bad reputation with the public before we&#8217;ve even truly got started!<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>After the recent discovery of a potential back-door in a NIST approved random number generator, I thought it would be timely to state clearly that we do not use the generator scheme involved, but a more straightforward AES based random number generator, which does not fall prey to the suspicious curves. Why do we care [&hellip;]<\/p>\n","protected":false},"author":23,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-12035","post","type-post","status-publish","format-standard","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Did the NSA put a back door in our Mobile Security? (and more about bad random number generators) - Masabi<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.masabi.com\/es\/news\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Did the NSA put a back door in our Mobile Security? (and more about bad random number generators) - Masabi\" \/>\n<meta property=\"og:description\" content=\"After the recent discovery of a potential back-door in a NIST approved random number generator, I thought it would be timely to state clearly that we do not use the generator scheme involved, but a more straightforward AES based random number generator, which does not fall prey to the suspicious curves. Why do we care [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.masabi.com\/es\/news\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\/\" \/>\n<meta property=\"og:site_name\" content=\"Masabi\" \/>\n<meta property=\"article:published_time\" content=\"2007-12-19T11:44:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-11-25T15:23:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.masabi.com\/wp-content\/uploads\/2026\/10\/Masabi-Social.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ben Whitaker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ben Whitaker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/news\\\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/news\\\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\\\/\"},\"author\":{\"name\":\"Ben Whitaker\",\"@id\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/#\\\/schema\\\/person\\\/4e1cec25264fc99c9f550c98534911c5\"},\"headline\":\"Did the NSA put a back door in our Mobile Security? (and more about bad random number generators)\",\"datePublished\":\"2007-12-19T11:44:00+00:00\",\"dateModified\":\"2014-11-25T15:23:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/news\\\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\\\/\"},\"wordCount\":2260,\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/news\\\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\\\/\",\"url\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/news\\\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\\\/\",\"name\":\"Did the NSA put a back door in our Mobile Security? (and more about bad random number generators) - Masabi\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/#website\"},\"datePublished\":\"2007-12-19T11:44:00+00:00\",\"dateModified\":\"2014-11-25T15:23:03+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/#\\\/schema\\\/person\\\/4e1cec25264fc99c9f550c98534911c5\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/news\\\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.masabi.com\\\/es\\\/news\\\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/news\\\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Did the NSA put a back door in our Mobile Security? (and more about bad random number generators)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/\",\"name\":\"Masabi\",\"description\":\"Making shared transport the first choice\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.masabi.com\\\/es\\\/#\\\/schema\\\/person\\\/4e1cec25264fc99c9f550c98534911c5\",\"name\":\"Ben Whitaker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6fa351f31ab7475616403fff980bf8f434c7c56dd3d1f7d4f228b56e5dd486bd?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6fa351f31ab7475616403fff980bf8f434c7c56dd3d1f7d4f228b56e5dd486bd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6fa351f31ab7475616403fff980bf8f434c7c56dd3d1f7d4f228b56e5dd486bd?s=96&d=mm&r=g\",\"caption\":\"Ben Whitaker\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Did the NSA put a back door in our Mobile Security? (and more about bad random number generators) - Masabi","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.masabi.com\/es\/news\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\/","og_locale":"es_ES","og_type":"article","og_title":"Did the NSA put a back door in our Mobile Security? (and more about bad random number generators) - Masabi","og_description":"After the recent discovery of a potential back-door in a NIST approved random number generator, I thought it would be timely to state clearly that we do not use the generator scheme involved, but a more straightforward AES based random number generator, which does not fall prey to the suspicious curves. Why do we care [&hellip;]","og_url":"https:\/\/www.masabi.com\/es\/news\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\/","og_site_name":"Masabi","article_published_time":"2007-12-19T11:44:00+00:00","article_modified_time":"2014-11-25T15:23:03+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.masabi.com\/wp-content\/uploads\/2026\/10\/Masabi-Social.png","type":"image\/png"}],"author":"Ben Whitaker","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Ben Whitaker","Tiempo de lectura":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.masabi.com\/es\/news\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\/#article","isPartOf":{"@id":"https:\/\/www.masabi.com\/es\/news\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\/"},"author":{"name":"Ben Whitaker","@id":"https:\/\/www.masabi.com\/es\/#\/schema\/person\/4e1cec25264fc99c9f550c98534911c5"},"headline":"Did the NSA put a back door in our Mobile Security? (and more about bad random number generators)","datePublished":"2007-12-19T11:44:00+00:00","dateModified":"2014-11-25T15:23:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.masabi.com\/es\/news\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\/"},"wordCount":2260,"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/www.masabi.com\/es\/news\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\/","url":"https:\/\/www.masabi.com\/es\/news\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\/","name":"Did the NSA put a back door in our Mobile Security? (and more about bad random number generators) - Masabi","isPartOf":{"@id":"https:\/\/www.masabi.com\/es\/#website"},"datePublished":"2007-12-19T11:44:00+00:00","dateModified":"2014-11-25T15:23:03+00:00","author":{"@id":"https:\/\/www.masabi.com\/es\/#\/schema\/person\/4e1cec25264fc99c9f550c98534911c5"},"breadcrumb":{"@id":"https:\/\/www.masabi.com\/es\/news\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.masabi.com\/es\/news\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.masabi.com\/es\/news\/did-the-nsa-put-a-back-door-in-our-mobile-security-and-more-about-bad-random-number-generators\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.masabi.com\/es\/"},{"@type":"ListItem","position":2,"name":"Did the NSA put a back door in our Mobile Security? (and more about bad random number generators)"}]},{"@type":"WebSite","@id":"https:\/\/www.masabi.com\/es\/#website","url":"https:\/\/www.masabi.com\/es\/","name":"Masabi","description":"Making shared transport the first choice","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.masabi.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.masabi.com\/es\/#\/schema\/person\/4e1cec25264fc99c9f550c98534911c5","name":"Ben Whitaker","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/6fa351f31ab7475616403fff980bf8f434c7c56dd3d1f7d4f228b56e5dd486bd?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6fa351f31ab7475616403fff980bf8f434c7c56dd3d1f7d4f228b56e5dd486bd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6fa351f31ab7475616403fff980bf8f434c7c56dd3d1f7d4f228b56e5dd486bd?s=96&d=mm&r=g","caption":"Ben Whitaker"}}]}},"_links":{"self":[{"href":"https:\/\/www.masabi.com\/es\/wp-json\/wp\/v2\/posts\/12035","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.masabi.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.masabi.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.masabi.com\/es\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/www.masabi.com\/es\/wp-json\/wp\/v2\/comments?post=12035"}],"version-history":[{"count":0,"href":"https:\/\/www.masabi.com\/es\/wp-json\/wp\/v2\/posts\/12035\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.masabi.com\/es\/wp-json\/wp\/v2\/media?parent=12035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.masabi.com\/es\/wp-json\/wp\/v2\/categories?post=12035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.masabi.com\/es\/wp-json\/wp\/v2\/tags?post=12035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}