CN101669321A - 用于为安全性和加密建立随机数的方法和通信装置 - Google Patents
用于为安全性和加密建立随机数的方法和通信装置 Download PDFInfo
- Publication number
- CN101669321A CN101669321A CN200880014053A CN200880014053A CN101669321A CN 101669321 A CN101669321 A CN 101669321A CN 200880014053 A CN200880014053 A CN 200880014053A CN 200880014053 A CN200880014053 A CN 200880014053A CN 101669321 A CN101669321 A CN 101669321A
- Authority
- CN
- China
- Prior art keywords
- mobile device
- signal
- random number
- random
- entropy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/14—Receivers specially adapted for specific applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0872—Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
一种通信装置包括移动设备。该装置包括用于在移动设备接收携带信息的多个信号的接收器,所述信息包含提供与移动设备的位置相关的随机变化的数据的接收信号。该设备包括随机数生成器,其生成作为该数据的函数的随机数。该装置包括使用该随机数来生成密码密钥的密码密钥生成器。一种用于在移动设备建立随机数以用于密码操作的方法包括,在移动设备接收携带信息的多个信号的步骤,所述信息包含提供与移动设备的位置相关的随机变化的数据的接收信号。存在用于根据移动设备接收信号所在的位置来估计用于所述接收信号的至少一个的信号熵的步骤。存在选择具有满足预定性质的估计的熵的至少一个熵估计的信号的步骤。存在从所述至少一个熵估计的信号来生成随机数的步骤。
Description
技术领域
本发明涉及基于作为位置的函数生成的随机数的使用的保密通信。(正如本文使用的,对“本发明”或“发明”的引用涉及示范实施例,并且不一定涉及所附权利要求涵盖的每个实施例。)更确切地来说,本发明涉及包含基于作为接收的信号的函数生成的随机数的使用的移动设备的保密通信,这些接收的信号提供与移动设备的位置相关的随机变化的数据。
背景技术
此部分旨在向读者介绍可能与本发明的多种方面相关的本领域的多种方面。下文论述旨在提供利于更好理解本发明的信息。因此,应该理解,下文论述中的陈述将根据此认识来阅读,而不作为对现有技术的承认。
在许多应用中,尤其在与安全性/加密相关的应用中,能够生成“高质量的”随机数是极其重要的。这些数通常是二进制串。(术语随机位和随机数由于它们之间的紧密联系将可以互换使用。)这些数/位用于密码目的,包括用于(对称)加密的密钥生成、用作伪随机生成器的“种子”、用于询问响应协议的询问、与数字签名结合使用的随机“nonce”等,对于多个此类应用可参见A.Menzes、P.van Oorschot和S.A.Vanstone的Handbook of Applied Cryptography(CRC出版社)。注意,在密钥生成的情况中,密钥可以是要在多个通信方之间共享的所谓的对称密钥,或者密钥可以是其中私用密钥应该仅对一方是已知的情况中的非对称(公用、私用)密钥对的一部分。在前一种情况中,密钥直接对应于随机位串,但是需要以(保密方式)将其传送到多个共享方。因此,随机生成器原则上可以直接用作密钥生成器,但是需要密钥协商/交换方法,例如RSA、Diffie-Hellman或带外方式。在第二种情况中,随机值通常必须经过进一步处理,例如被用作质数生成中的种子。所有这些技术(RSA、Diffie-Hellman和质数生成)在本领域(例如前面提到的Handbook of Applied Cryptography)中是公知的。因此,除非另行明确说明,否则其余的论述将仅关心生成随机数的问题,根据这些随机数可以通过公知的方法来获得密钥、nonce等以及在各方之间共享/交换密钥、nonce等。
随机性的“质量”意味着以并不小的成功概率来预测这些随机位是什么对于对手来说必须是非常困难的。否则,他/她可以例如:
·获取使用什么密钥来进行加密的先验知识
·预先猜测他/她将遇到什么询问,从而能够预先准备回答。
在例如计算机或移动终端的电设施中,获取随机数的常见方式是使用随机且不可预测的一些物理现象的“测量”。给出以此方式获得的数的随机性的正式数学证明是非常困难的(即使并非不可能),但是一些源明显好于另一些。而且,通过对多个独立源的访问,可以(以可证明的方式)通过组合源来提高随机性的质量。
还有随机数的其他应用。一个是用于仿真目的。除非所使用的数具有统计上的良好质量,否则仿真的结果可能无法就有关要研究的现象的真实属性说明很多。最后,随机数在游戏应用和电子博彩中是有用的。此处,差的随机源还可能导致游戏提供商的直接财务损失和/或从用户的角度看导致不公平的游戏。但是,本文中,仅着重于安全性应用。
用于生成随机数的下文解决方案是目前使用的一些。
配备硬件时钟的设备。这包括个人计算机(PC)、移动电话等。当需要随机位时,常常以高分辨率(比方说可用时的毫秒)读取时钟的值,并使用此值中的几个位(通常是最低有效位)作为“随机”位。
具有用户交互部件的设备。这通常是有键盘或鼠标(例如PC上)可用的情况。当需要随机位时,要求用户协助设备生成这些随机位。提示他在键盘上输入数,然后设备将此数视为随机的,或要求用户“随机地”打字/指向,并且设备测量一些特性,例如敲键之间的时间或按给定间隔的鼠标指针位置。
连接到通信网络的设备。在连接到网络的PC中,可以使用收集统计资料,例如数据分组到达/延迟时间。如果移动电话具有与执行信号强度测量的硬件的接口,则收集此类测量是一种可能。
更复杂的计算机环境。多用户工作站可以使用来自进程调度器、来自磁盘或其他I/O操作的延迟时间等的统计资料。有关此类方法的论述,参见M.Jacobsson、E.Shriver、B.K.Hillyer和A.Juels的APractical Secure Physical Random Bit Generator(第5次ACM CCS会议的会议录,1998)。
所有上面的方法都存在下文论述的问题。但是,首先要注意,无论使用什么方法(包括本发明),“放大”随机性几乎总是必不可少的。通过将几个“略微的”随机位组合成更少但更随机的位的方法来做到这一点。做到这一点有一些标准方式。为了自我包含,下文论述这一点。
用于组合不同源的一般方法。假设通过上文论述的一个或多个方法,我们能够获得多个随机位b1、b2、bn,其中每个bi是0或1。这些位可能来自多个不同源,或在不同时间对相同源的观察结果,总之我们假定这些位在统计上是独立的。理想情况中,我们希望每个bi是均匀分布的,即Pr[bi=0]=Pr[bi=1]=1/2,但是一般这可能不成立。假设bi是具有概率(1+εi)/2的1(以及因此是具有概率(1-εi)/2的0)的随机变量,其中0<εi<1。这样,就容易见到,如果设
B=b1+b2+…+bn mod 2,
则Pr[B=1]=(1+ε1·ε2…εn)/2。特别是如果所有εi是相同的,εi=ε,则Pr[B=1]=(1+εn)/2(指数级的提高)。
(概括来说,如果bi是十进制值,则对和以10取模,以此类推。)
下文是另一种方法,该方法追溯到von Neuman的工作(J.vonNeumann的Various Techniques used in Connection with Random Digits。(Applied Math Series,12:36-38,1951.G.E.Forsythe的笔记))。取源的两个样本,x和y。如果x=0,y=1则我们将此解释为1,以及如果x=1,y=0,则将此取为0。如果x=y,则丢弃此x,y,并取两个新样本。此方法所具有的优点是,这将总是产生完全无偏差的输出(因为Pr[x=0,y=1]=Pr[x=1,y=0])总是成立的)。另一方面,取大量的样本,直到遇到x≠y可能是必要的。
这意味着,如果一旦有对至少“略微的”随机的源的访问权,则可以提高其随机性(代价是需要更多的位)。如果“偏差”ε是已知的,则可以使用甚至更好的技术,参见M.和A.Russell的Extracting Optimally Unbiased Bits from a Biased Source(IEEETransactions on Information Theory,46(2000),no 3,1093-1103)。
将分布平滑的另一种更具启发性的方式是通过散列。假定有相对较长但是不是非常均匀的位序列b。现在对b应用一个好的密码散列函数(例如SHA-1[3])并使用hash(b)代替,其通常在长度上是128-256个位。
检查随机性。一旦有用于产生一些随机位的源和方法,则期望以某种方式“验证”或检验随机性。通常,将产生的位串馈送到算法,一种执行随机性质量的测量的统计检验。例如,二进制串不应包含显著更多的1和0。三位模式011不应(显著)比任何其他三位模式更频繁等。虽然通过此类检验决不能视为好的随机性性质的“证明”,但是它至少给出所使用的方法中的某种置信度。实际上,也可以对本发明执行此类检验。参见NIST FIPS PUB 140-2或G.Marsaglia的DIEHARD Statistical Tests。
上文提到的用于随机位生成的已知方法均有下文中进一步解释的缺点。
使用时间测量。对于密码的目的,甚至以毫秒(或更高)分辨率,时间测量本身仍然很少是足够的。假定通过应用某个函数(通常为伪随机生成器)k=g(c)以使用时钟测量c来生成密钥k。不是尝试去猜测(通常非常长的)序列k是什么,对手尝试对于值c的所有可能性可能容易得多。在合理的时钟分辨率,相对较短的c比随机的k可能存在少得多的可能性。对每个可能的c应用g则将使得对手能够确定k。在一些情况中,他或许仅获得k的部分,但是这可能足够糟了。
在时间测量不是相对于真实时间而是例如网络数据分组延迟或进程时序的事件的时序的情况中,对手能够影响测量,例如通过以非常短的间隔来生成磁盘请求或生成业务以使系统饱和。
用户提供的随机性。如果提示用户输入某个随机的内容,则惯常的情况是人们往往使用短且非常不随机的内容,可能相对容易地被攻击者猜测。如果需要多于几个位,则通过在键盘上打字或在屏幕上指向的用户交互的方法对于用户是非常不方便且繁琐的。
无线电链路信号强度的测量。此类测量的“随机性”似乎非常不稳定。在一些时间,在移动终端固定于一个位置的开阔地面上,信号强度可能非常恒定,至少在微波波带中是非常恒定的。后来,该终端可能在汽车中往返于高建筑物之间,这些值将变化得远远更快。回忆为了获得高质量的随机位,期望使用许多测量并将它们组合成较少但更随机的位。另一方面,出于效率的目的,希望尽可能少地进行测量即产生每个随机位。这意味着在本文论述的“不稳定的”源的情况中,难以对于所需测量的数量、以及对于如何将它们组合以产生每个位建立先验指导。因此,由于其持续变化,保持所使用的源的当前行为的频繁更新的实时统计是必要的。
因此,需要一种在现有技术上改进的用于在移动设备生成高质量随机数的方法和装置。
发明内容
本发明的目的在于引入一种提取随机数的新方法,它可在目前无权访问任何好的随机性源的装置中使用,或与现有装置组合使用,以提高随机性。
因为该解决方案基于将最可能在将来的移动电话中可用的技术,并且这些设备目前具有很少(如果有的话)好的随机性源,所以该解决方案在此情况中看上去尤其具有吸引力。
本发明提出一种用于提取随机位而其又具有许多应用(例如用于安全性)的方法。在优选实施例中,它基于可靠且全球可用的源,对于此源可用成本低的解码硬件(GPS接收器)。
在设备移动的事实提高了随机性的情况中,以及先前几乎没有好的随机源可用的情况中,这尤其适合于移动设备。如果源确实已经可用,则可以有利地将它们与本发明组合以提高随机性的质量,从而提高密码应用中的高度安全性。
根据本发明,来自全球定位系统(GPS)卫星的信号用作随机位的源。一些好处是,首先“位置”是始终可应用于任何移动/固定设备的性质,而且GPS是全球可用/可访问的标准。数字化位置数据也是“具有语义意义”,这使得执行在线检验(或“合理性检查”)数据未被恶意外人阻塞或干扰成为可能。这与测量无语义的模拟量、例如“信号强度”形成对比。而且,由于信号源-卫星的位置的原因,随机性质量将非常相似,而与接收器的(户外)位置无关。GPS接收器的成本不断在下降,在不久的将来,将有更多设备配备GPS接收器。特别是,下一代移动电话将最可能包含此类GPS接收器。考虑到目前此类终端中通常没有好的随机位的源,这将提供巨大的改进。
公开一种方法和装置,用于从GPS接收器提取(伪)随机位,原理是可以利用GPS数据(位置)中不可预测的误差作为随机位的源,例如用于生成密码密钥的目的。
在一个方面中,具有GPS接收器的移动终端可以通过到GPS的更高级的接口来构建此类装置。确切地来说,可以将GPS信号分解成来自不同卫星的信号,又可以将每个此类信号细分成特殊分量信号。独立地使用来自每个单个卫星的这些各个分量相比于仅使用计算的位置(经度/纬度)将提高随机性。
根据本发明,使用GPS接收器输出的“纬度”和“经度”的变化作为熵的源。例如,PC可以通过标准NMEA接口来获取此类数据。这意味着所使用的数据已经在GPS中经过处理。
本发明有关一种通信装置。该装置包括移动设备。该装置包括用于在移动设备接收携带信息的多个信号的接收器,所述信息包含提供与移动设备的位置相关的随机变化的数据的接收信号。该装置包括随机数生成器,其生成作为该数据的函数的随机数。该装置包括使用该随机数来生成密码密钥的密码密钥生成器。
本发明有关一种通信装置。该装置包括移动设备。该装置包括用于在移动设备接收携带信息的多个信号的部件,所述信息包含提供与移动设备的位置相关的随机变化的数据的接收信号。该装置包括执行如下步骤的部件:根据移动设备接收信号所在的位置来估计用于接收信号的至少一个的信号熵,选择超过预设限制的至少一个熵估计的信号,从所述至少一个熵估计的信号生成随机数,并使用该随机数来与发射的信号建立密码操作。
本发明有关一种在移动设备建立用于密码操作的随机数的方法。该方法包括在移动设备接收携带信息的多个信号的步骤,所述信息包含提供与移动设备的位置相关的随机变化的数据的接收信号。存在根据移动设备接收信号所在的位置来估计用于接收信号的至少一个的信号熵的步骤。存在选择具有满足预定性质的估计的熵的至少一个熵估计的信号的步骤。存在从所述至少一个熵估计的信号来生成随机数的步骤。
根据本发明的多种实施例,存在全球可用的信号,该信号提供用于无论在何处执行所述生成都生成相等质量的随机数的信息。可以进一步使用该随机数来生成密码密钥。存在进一步装置用于从所述信息生成稳定位置,其与随机数生成过程分开或并行地产生依赖于所述稳定位置的密码密钥,从而可以引导来自中央发射实体的加密发射以便在标识的稳定位置进行解密。
附图说明
在附图中,示出了本发明的优选实施例和实施本发明的优选方法,其中:
图1是有关如何从两个卫星确定2D空间中的位置的简化示例。
图2是常规GPS接收器的表示。
图3是软件定义的无线电GPS接收器的表示。
图4示出本发明的硬件实现,其将来自不同GPS卫星的各个分量信号纳入考虑。
图5示出即使攻击者知道随机池的初始值,随着本发明的设备移动,攻击者有关随机池的不确定性仍将增加。
图6是本发明的移动设备的表示。
图7是本发明的框图。
图8是本发明的生成位置相关的随机值/密钥的另一个实施例的框图。
图9是基本将图4与图8的实施例组合的另一个实施例。
具体实施方式
现在参考附图(其中多个附图中相似的引用标号指代相似或相同的部件)以及更确切为参考图7、8和9,其中示出通信装置10。装置10包括移动设备12。移动设备的示例包括手持、便携式或车载的电话、双向无线电、PDA、媒体播放器、PC、导航设备等。装置10包括用于在移动设备12接收携带信息的多个信号的部件14,所述信息包含提供与移动设备12的位置相关的随机变化的数据的接收信号。装置10包括部件16,部件16用于根据移动设备12接收信号所在的位置来估计用于所述接收信号的至少一个的信号熵,选择具有超过预设限制的估计的熵的至少一个熵估计的信号,从该至少一个熵估计的信号生成随机数,并使用该随机数来与发射的信号建立密码操作。
优选地,接收部件14适合于接收至少一个信息源15。装置10还包括用于通过将至少一个信息源分离成分量信号来生成所述信号的部件。
本发明有关通信装置10。装置10包括移动设备12。装置10包括用于在移动设备12接收携带信息的多个信号的接收器18,所述信息包含提供与移动设备12的位置相关的随机变化的数据的接收信号。装置10包括随机数生成器20,其生成作为该数据的函数的随机数。装置10包括使用该随机数来生成密码密钥的密码密钥生成器22。
优选地,装置10包括处理器24,处理器24处理数据以确定移动设备12的稳定位置。数生成器优选地以稳定位置生成随机数,以便密钥生成器22生成位置相关密码密钥。优选地,装置10具有第二接收器19,以及密钥生成器22使密码密钥适合于接收的数据的解密。优选地,密钥生成器22有规律地更新密码密钥。
优选地,接收器18将接收信号分解成它们的分量。接收器18优选地具有至少3个信道并将接收信号分解成它们的分量历书(Almanac)(A)、星历(Ephemeris)(E)和码(C)。优选地,处理器24确定位置作为A、E和C的函数。接收器18优选地是GPS接收器18并且所述接收信号包含来自GPS的全球可用的信号。
本发明有关一种用于在移动设备12建立用于密码操作的随机数的方法。该方法包括用于在移动设备12接收携带信息的多个信号的步骤,所述信息包含提供与移动设备12的位置相关的随机变化的数据的接收信号。存在用于根据移动设备12接收信号所在的位置来估计用于所述接收信号的至少一个的信号熵的步骤。存在选择具有满足预定性质的估计的熵的至少一个熵估计的信号的步骤。存在根据至少一个熵估计的信号来生成随机数的步骤。
优选地,存在接收作为多个信号的一部分的全球可用的信号的步骤。优选地存在移动移动设备12从而从全球可用的信号形成重复的样本以用于在移动设备12确定设备相关的随机数的步骤。优选地,存在处理该数据以确定移动设备12的稳定位置的步骤,以及其中生成步骤包括以稳定位置生成随机数以获得位置相关的密码密钥的步骤。
优选地存在使密码密钥适合于接收的数据的解密的步骤。优选地,存在有规律地更新密码密钥的步骤。优选地存在将接收信号分离成它们的分量并将它们的分量作为独立的信号对待的步骤。优选地,分离步骤包括将接收信号分离成它们的分量历书(A)、星历(E)和码(C)。优选地存在移动设备12确定位置作为A、E和C的函数的步骤。优选地,选择步骤包括选择具有预定性质的至少一个熵估计的信号的步骤。预定性质优选地是满足预设限制的估计的熵。
在本发明的操作中,为了更好地理解本发明的工作方式和原理,提供GPS系统的简短介绍。但是,首先要指出本发明实际是多个现有装置的“对立”。通常,GPS信号随机变化的事实是高度不合需要的性质,因为它使得高精度定位更困难。要理解,虽然针对限制与GPS位置生成关联的不确定性做了许多工作,但是将始终保留此类不确定性,这一点根据本发明被有利地用于随机数的生成。在下文中,对GPS系统进行透彻的分析,以便找出有关该系统的多个事实,基于这些事实可以建立本发明以提供具有相比直接定位产生的更好的且更有用的性质的随机数。
GPS由位于约11000海里以上的多个轨道中的24个卫星以及少量的地面控制站组成。从地球上任何点以及在任何时间,至少5个卫星是“可见的”。定位通过在3D空间中的“三角测量”来确定。这又通过测量从卫星到GPS接收器18的距离来实现。如果知道GPS卫星S1在哪里和到其的距离d,则这将接收器18的可能位置变窄到以该卫星为中心且半径为d1的球面B(d1,S1)的表面。此外,如果获取至第二卫星S2的距离,比方说d2,则该位置必定位于交集B(d1,S1)∩B(d2,S2)上某个地方。因此这样将位置确定于空间中某个圆内。如果执行至第三个卫星的距离的第三个测量,则仅有两个可能位置点p1、p2对应于圆B(d1,S1)∩B(d2,S2)与球面B(d3,S3)的交集。通常,p1、p2之一将是矛盾的(不在地球表面上的一个点)并因此可以将其丢弃。因此,来自至少3个GPS卫星的信号和它们当前的位置的精确知识足以确定该位置。图1中示出根据两个卫星确定2D空间中的位置的简化示例。
假定卫星的位置是已知的。则可以通过公式d=vt来确定距离,其中v是从卫星发射的无线电信号的速度,t是信号到达接收器18的时间。即刻可注意到这里明显有两个误差源:
1.时序测量的精确度
2.传播速度中的变化。
这些误差导致所确定的位置或多或少地随机变化。
显然,v可以通过光在介质中的速度来逼近,但是如何测量t?从卫星发射的信号之一是二进制序列,称为伪随机码(PRC)。通过将接收PRC的相位与GPS接收器18内部生成的PRC的副本比较,可以计算t的估计值。
卫星发射的信号的相位通过高精度(+/-3ns)板载原子钟来确定。为了确定GPS接收器18内部生成的PRC的相位,似乎接收器18中需要同样精确的时钟。实际上是使用相对低成本的时钟,并通过将来自第四个卫星的接收信号纳入考虑来频繁地调整该时钟。回忆目的是解确定接收器在3D空间中的位置的方程组,以及三个方程通常足以解该方程组。但是,如果还添加第四个,则方程组变成超定,并且仅在接收器18的时钟与卫星的时钟精确同步的情况下才存在唯一解。因此,添加第四个卫星信号使得接收器18能够相应地调整它的时钟。
总之:距离测量中引入的误差是由于四个不同卫星的无线电信号传播速度的变化以及时钟中的不精确性所致。
卫星被置于非常精确的轨道中,从而在任何给定时间确定它们的位置能够达到高精确度。然而,由于来自其他物体的万有引力,位置确实会变化。地面上的一组控制站监控卫星位置,并将校正信号发送上卫星。该信号连同PRC一起被发射回地球上的GPS接收器18。当然,因为精度是有限的,所以仍存在小误差。
因为将利用GPS测量变化的事实,所以理解误差/变化如何发生是重要的。总之,根据上文的论述,下文四个主要因素在确定的位置中引入了随机误差。
无线电传播误差:
·GPS信号的传播速度随着它穿过电离层和对流层而变化
·多径误差
时钟不精确:甚至原子钟也不是精确的
卫星的位置:决不是完全精确的
几何精度因子(GDOP):天空中并非所有卫星位置都是同等地好。优选地,卫星应该最多与地面上的接收器18处于“直角”。如果所有使用的卫星处在天空的小区域中,则不同接收器-卫星角度将非常狭窄,并且精度被降低。通常,这将误差增加3至6的系数。
注意:直到最近(2000年5月),美国国防部在卫星的时钟数据中引入“噪声”(所谓的选择性可用性(SA))以降低非军事应用的精确度。但是,现在这已经被去除。
通常,加上上述的误差,对于好的接收器18的平均误差(在纬度/经度中)约为+/-6m。垂直精度大约差50%。大多数接收器18可以将位置显示到千分之一弧分(arc minute)的分辨率。利用地球的直径约为40,073km的事实,最低有效数字分别对应于+/-1.85m的分辨率。因此,对于+/-6m的变化,这意味着最低有效数字按约+/-3.2“单位”变化。这意味着每次测量的“熵”接近约2个位。
大多数接收器18每秒测量一次。这意味着仅约2分钟将收集足够用于128位密钥的熵。需要以更高频率来生成密钥的情况是极其少见的。可以作为后台过程维护收集的随机性的“池”,下文对此予以说明。
优选地,应该对“原始”数据不作任何校正地执行测量,这可能意味着应该使用到GPS接收器18的特殊接口。图4示出GPS接收器以及如何添加到来自每个卫星的原始/未加工信号(A、E、C)的接口并将其用作随机数生成的输入,因此绕过GPS接收器的位置计算。
本发明使用GPS信号作为随机性的源。如何确切地获取随机性可以通过多种方式进行。如通过示例说明的,当为密码目的使用时小心地考虑安全性方面,可以使用具有随机行为的任何信号。现在给出应用于GPS的特殊情况的一些明确的建议。
通过GPS测量,意味着根据以下之一分布的随机变量X的结果x的观察:
1.对GPS接收器18的内置时钟的采样。
2.PRC值(0或1)的测量之前的信号接收。
3.根据卫星S的当前信号行进时间计算之前的信号接收(其通常包括1和2)。
4.根据卫星S的当前距离计算之前的信号接收(其通常包括1和2和3)。
5.计算GPS接收器18的内置时钟的当前时钟调整系数之前的信号接收。
6.利用或优选地不利用不同的GPS进行2维或3维的当前位置计算之前的上面的一个或多个步骤的组合,涉及一个或多个卫星。
7.内部或外部时钟确定的时间处发生的上面的测量/计算之一。
8.由用户触发的事件或GPS接收器18外部的另一个物理过程确定的时间处发生的上面的测量/计算之一。
9.一些GPS接收器18具有可以使用的内置速度计算。
10.上述一个或多个过程产生观察x1、x2、...、xn,然后通过函数f将它们组合以产生值x=f(x1,x2,...,xn)。
下文中,令x是如上面定义的GPS测量。这通常将是根据集合I上的(可能未知的)分布D分布的浮点值,通常区间I=[a,b]。现在提供一些示例,这些示例关于如何将此值转换成二进制0/1值。推广到其他离散分布是简单的。
1.如果D是至少大约已知的,则修正 的任何子集以使Pr[x∈J]≈1/2,然后如果x∈J,则输出“1”;否则输出“0”。例如,如果I是区间[a,b],则确定t,a≤t≤b,其中Jt=[a,t],以使Pr[x∈Jt]≈1/2。如果D不是先验已知的,则取多个样本x将提供该分布的逼近。如果分布或许因不同的接收状况而发生变化,则需要按规律的时间间隔来执行此类采样。
2.无论D是否是已知的,均可以使用如下方法。(假定x是浮点值。)取几个x的十进制展开的数字(比方说3个最低有效数)。计算它们的和以10取模,如果此和小于5,则输出“0”;否则输出“1”。
有更多种方式执行此操作。以这些方式的一个或多个方式提取了几个“略微的”随机位,然后可以使用先前提到的以2取模的附加手段、散列或任何其他适合的方法来提高随机性。总之,用于从GPS系统提取随机数的上述任何一种方法(或它们的组合)均产生后来将称为collect_random_data(GPS)的方法。
可以进一步精炼/改进方法collect_random_data(GPS),下文将对此予以论述。使用某个确定性函数L来计算GPS接收器18输出的位置(经度/纬度)值,该确定性函数L应用于通过三个不同信道从GPS卫星系统接收的数据:
1.历书:来自卫星的粗略数据/时间信息。
2.星历:卫星在天空中的(近似)位置(如该卫星本身估计的)。
3.上文提到的PRC,其是A-码或P-码:这些是具有随机性但重复的模式的信号。即,存在T,使得对于t<T,对于任何整数c,f(t+cT)=f(t)。(值“c”大致对应于由信道1提供的值。)
有24个GPS卫星,每个GPS卫星提供上述的3个信道。GPS接收器18通常支持并行地接收至少4个卫星(3个是确定接收器18的位置的绝对最小数量),但是多达二十个并非罕见。这意味着有12和60之间变化的信号源可用于随机数生成目的。
原理是GPS接收器18使用信道1和3来确定与卫星的距离d。给定信道3的数据,接收器18可以在3D球面上逼近其位置,所述球面是按信道2所声称的来定中心的。现在,给定来自3个(或4个)卫星的(至少3个,优选地为4个)此类测量,这些球面的“交集”确定某个误差内的接收器18位置。(注意,如果仅三个卫星可用,能“模拟”第四个卫星,假定位于地球的中心且接收器18与其具有地球半径确定的给定距离)。为了分析误差/不确定性,需要更详细地研究如何使用这些信道。首先,显然第一信道可能具有非常小的误差。唯一的误差源可能与此信道与第三个信道之间的相关性有关:第一个信道是一种“翻转计数器”,它告知接收器18第三个信道的完整周期已发生多少。
第二个信道明显有误差,因为对于卫星来说以完美的精确度确定其位置是不可能的。(正如所提到的,地面控制站保持卫星更新,并努力地补偿误差/偏移,但是仍存在变化的误差。)来自卫星的导航消息仅每12.5分钟发出。实际中,这些消息中包含的数据往往是“过时的”,甚至相差大的数值。考虑当GPS卫星被推进回到正确轨道中时的情况;在此操纵之后的一段时间,接收器18对卫星位置的计算将是不正确的,直到它接收到另一个星历更新为止。
第三个信道中发生的周期性序列是确定性的,其“模式”预先为接收器18所知道。通过在接收器18中本地生成相同的序列(0/1,看上去随机的模式),并“滑动”所述序列直到它与从卫星接收的序列吻合为止,接收器18可以确定其本身的时钟与卫星的时钟的“偏移量”,即,它可以测量信号到达接收器18所花的时间。给定信号的速度,可以估计d。此测量的精度取决于此序列的周期长度和位速率:因为A-序列或P-序列的+/-0.5“符号时间”的对准误差是可期望的最佳误差,所以较高的位速率(更短的符号时间)意味着较高的精度。同样地,因为码仅在周期长度内被唯一地确定,所以较长的周期意味着较高的精度。这两个因素,周期长度和符号速率,精确地来说是(粗略的)A-码和(精粒的)P-码的区别所在。(正如所提到的,直到最近,P-码曾被加密并仅可用于军事应用。)
还有一些普通的误差源应用于所有信道:
1.信号速度:光速取决于介质,而介质又取决于地球电离层、对流层等中的局部/临时特性。
2.接收器18本身时钟的精度。
3.多径干扰。
4.计算中的数值/四舍五入误差。
5.卫星的内部时钟中的误差。(这些时钟是极其精确的,但是存在某种时钟偏移。)
6.由于卫星高速移动和地球的地心引力所导致的相对论效应。
注意,第6个误差源是不可被忽略的:卫星内部时钟当在地面上时具有故意稍微较低的频率,其原理是它们会在地球轨道中因相对论效应而“加速”。根据已估计的,如果这些效应被忽略,则最坏的情况中可能出现额外的+/-15m的位置误差。
通过将各个数据接口添加到来自每个GPS卫星的“原始”未处理的数据(A、E、C),绕过图4所示的位置计算单元,可以提高随机性的质量,现在将对此予以论述。考虑由此存在来自一个卫星发生的四个随机变量作为随机数生成器的输入。
·A[i]:来自卫星编号i的历书数据。
·E[i]:来自卫星i的星历。
·C[i]:来自卫星i的码序列(或精确来说,这些序列的“延迟”或“偏移量”)。
·R:(为简化起见)将任何接收器本地误差表示为总累积误差R。
如果现在有来自例如3个卫星的数据,则GPS接收器14现在将某个确定性函数L应用于如下输入:
L(A[1],E[1],C[1],A[2],E[2],C[2],A[3],E[3],C[3],R),
它们将产生显示在GPS设备14的屏幕上的纬度/经度。如果所有这些输入是精确的且R=0,则输出精确的位置。
现在观察的是对于任何随机变量X,以及对于任何确定性函数f,已知的(并且可以数学方式证明的)是
H(X)≥H(f(X)),
其中H是熵(下文定义的),即“确定性处理决不能增加熵,最多能够保持熵”。这暗示仅利用L(...)可能不是最好的想法,因为当产生L(...)时可能已经丢失熵。
本发明的一个实施例基于最后的观察,并且可以视为对上面的方法collect_random_data(GPS)的进一步改进。虽然已经论述了L(A[1]、E[1]、C[1]、A[2]、E[2]、C[2]、A[3]、E[3]、C[3]、R)的变化/不可预测性,但是现在有必要专门论述A[1]、E[1]、C[1]、A[2]、E[2]、C[2]、A[3]、E[3]、C[3]、R等每一个的变化/不可预测性。(但是值R可能难以获取,因为它是“隐含的”。)即,不是假定仅可访问最终计算的位置,而是假定在修改的GPS接收器14中还可访问(并处理)产生位置的输入。正如论述的,它可以实际地提高熵。
现在论述用于实现本发明一个实施例的装置10。
在图4的修改的GPS接收器的优选实施例中,通过对于GPS接收器18的较低层功能的“API”来提供对各个信道/源的访问。例如,这与SDR(软件定义的无线电)的新趋势完全相符的。装置10由移动终端构成,且包括具有到低层各个GPS信号信道的API的GPS接收器18。图2和3示出“常规”GPS接收器18与SDR GPS之间的区别。
正如可以见到的,信道现在更容易地通过API访问,因为它们是在软件/DSP中实现的。
对于上文的装置10需要考虑一些实用问题。一个主要方面是GPS在室内具有非常差(可能为零)的覆盖。装置10现在可以利用上述的collect_random_data(GPS)的多种实施例的任何一个来按如下方式工作。
1.上电时,设置
random_pool=0;
total_entropy=0;
2.IfGPS模块接收到正确的信号,then
x=collect_random_data(GPS);/*正如上文论述的*/
e=estimated_entropy(x);/*基于启发式或统计采样*/
random_pool=hash(random_pool,x);/*将新的位添加到旧的位*/
total_entropy=min(size(random_pool),e+total_entropy);
end;
If其他源可用,then
.../*执行相同的步骤,但是使用“其他源”来更新池*/
end;
3.等待(延迟);
4.转到2。
(下文将详细阐述算法的基本原理。)
如果GPS丢失,则它将自动使用另一个源(如果可供使用的话)。为了确定是否“GPS接收到正确的信号”,可以使用如下方法之一:
·所产生的A-码或P-码模式能够被完全识别?
·“历书”信号产生“合理”的值?
·“L”函数输出“合理”的经度/纬度?
·统计检验(参见下文)。
·其他。
注意,这些检验条件,因为它们应用于携带数据的数字化信息,所以还可以用于避免对模拟源采样(例如信号强度测量)的传统方法中的饱和/干扰问题。
无论何时,只要需要随机数据,装置10就执行如下步骤:
if requested_number_of_random_bits<=total_entropy then
random_bits=hash(random_pool);
update(random_pool);/*例如对池执行“散列”或从其“删除”位*/
total_entropy=total_entropy-requested_number_of_key_bits;
end else
print(″警告,没有足够的随机位可用″);
作为“警告”的备选方式,可以使用池中的可用位(如果至少有一些的话)作为伪随机生成器rand()的种子并使用其结果。
在另一个实施例中,本发明用于密码(例如加密)密钥生成。虽然正如本文提到的,本发明还可应用于非对称密钥生成,但是为了说明本发明,有必要着重描述随机对称密钥的生成,如果需要的话,其可以作为简介中论述的非对称密钥生成的种子或为非对称密钥生成作进一步的处理。同样正如先前论述的,与其他方共享/交换密钥不在本发明的范围内。
用户A生成密钥k以用于对称加密(或解密)。根据上述实施例的任何一个实施例,通过提取几个(通常约为100个)随机位并使用它们(或其函数)作为密钥来生成密钥。这里不仅需要密钥位是不可预测的,而且对手一定不能后验地推导出它们的值,因为加密的消息的秘密可能必须保留几年。因此,上文的TTP解决方案不是此处的选择。
但是,本发明的方法仍是一种TTP解决方案。使用公共可用的源,但是不同的用户将在任何给定瞬间从其获取不同的位。该源在任何个人的控制之外。
参考图8,一个备选实施例,将所描述的技术组合成更稳定的GPS测量以生成“位置相关密钥”。虽然GPS获取的位置呈现变化,但是可以例如通过忽略一些小数来“截短”经度/纬度。这样提供稳定但位置相关的值。如果移动设备具有GPS接收器的防篡改实现的适合部分以及在GPS接收器与密钥生成器之间具有相似防篡改的连接,则这意味着终端能够生成位置相关密钥,用户无法更改或影响其值。这在一些源广播应该仅由特定位置或地区中的用户才可能解密的信息的情况中具有应用,例如军事应用或卫星TV应用。图8中示出此情况。但是,为了安全性,密钥应该优选地不仅取决于稳定位置,因为这样密钥就变成可预测的并且还可被不在假定位置中的多方使用。为此,还使用广播源已知且以保密方式存储在防篡改模块中的机密(secret)值作为密钥生成的输入。注意,因此防篡改在这里表示从GPS模块输入的稳定位置应该不可能被最终用户更改以及机密的值应该不可能被最终用户(或任何其他第3方)读取。优选地,还使用广播源提供的随机nonce(RAND1)来确保密钥新鲜度。密钥生成功能可以例如是任何适合的密码功能。
注意,GPS模块与密钥生成器之间需要防篡改信道是因为需要防止用户进行她/他的位置的篡改,从而提供假信息。一种备选方式是使用来自GPS卫星的信号的认证,例如使用电子签名。但是,目前的GPS系统不提供此类方式。
图9中示出稍微不同的实施例。与前一个实施例的不同之处在于除机密和稳定位置外,还使用移动设备中本地生成的随机值(RAND2)作为密钥生成的输入。此随机值可以通过例如从GPS系统的(A、E、C)信道提取随机位来生成,正如先前论述的。注意在此情况中,RAND2值将不是广播源已知的先验值,因此必须通过其他带外或密码方式将其传送到源。虽然本实施例显示更好的安全性,但是由此具有接收器可能无法保持“无线电寂静”的缺点。
现在提供如下定义(参考图8和9)的最后两个实施例的更数学上的/正式的定义:
-X是GPS接收器当前测量的当前GPS系统数据的“矢量”(例如,A、E、C等)。
-L(X)是将X转换成纬度/经度的GPS接收器中的“标准”函数。
-R(X)是根据第一实施例从X提取随机数据的函数(即上文的extract_random_bits())。
-S()是根据下文的第二实施例的图8和9的“稳定器”函数(例如,小数点截短)。
-KGF()是图8和9的密钥生成函数(实施例2/3)。
这样得到如下“公式”:
图8的实施例:计算KGF(secret,S(L(X))[,RAND1})/*[]表示可选输入*/
图9的实施例:计算KGF(secret,S(L(X)),R(x)[,RAND1})
在一个实施例中,本发明应用于用户标识方案。这是通常作为以下形式的询问/响应协议来实现。B期望证明是对A的身份。
用户A 用户B
←Q(证书)
选取随机数
询问,c c→
计算响应
←r r=s(c,Q)
(例如,数字签名)
如果r是有效的,则
接受
响应w.r.t.c,Q
此类协议背后的原理是直到c对于B变成已知的时候,他才能开始准备响应r,除了知道与Q相关的某个机密的真正用户外,响应计算对于任何人都是计算上非常难的问题。但是,如果B可以提前数秒或许甚至数小时预测它将获得什么询问c,则可以在某个计算之后伪造响应或再使用协议较早执行期间执行的计算。利用目前技术现状的算法,需要B提前几个月获取(至少大部分)c来执行此操作。记住了这些,那么实现询问生成器的一种简单但不总是实用的方式将是让受信任的第三方(TTP)抛硬币并当众宣布结果。
在操作中,GPS接收器18输出的“纬度”和“经度”的变化被用作熵的源。例如,PC可以通过标准NMEA接口来获取此类数据。这意味着所使用的数据已经在GPS中经过处理
存在视为对于GPS/位置相关随机数生成器的两个威胁。对手能够预先预测提取的随机位将是什么,或他能够后验地分辨哪些随机位被提取。前者是最严重的威胁。但是,它也是不太可能的。这些威胁的确切严重程度取决于我们将针对什么而使用随机位;公用或私用随机性。作为公用随机性设置的一个示例,上面的使用是在询问/响应协议中,而密钥生成实施例是私用随机性的示例。
对公用随机性设置中GPS提取方案(如果以精明的方式实现)的任何威胁可论证地是小的,因为仅(不太可能的)预测威胁是需要关注的。
现在考虑私用随机位的后验确定的更为可能的威胁。假定对手位于靠近用户A的附近,其中A刚好将要提取随机位,此外也必须将其保密,例如出于密钥生成的目的。对手靠近A的事实使得他接收到与A的相关的GPS信号(假定他们的接收器18具有相似特性)。对于对手的一个主要不确定性源实际上是何时执行测量。因此,显然,该方法至少与从内部时钟提取随机性的前文提到的技术一样好。
即使技术熟练的“攻击者”能够准确地预测位于附近位置的用户接收的GPS信号值,跟踪移动中的终端同时确保被跟踪的终端中执行的每次测量均对于附近的攻击者是已知的仍是极其困难的。考虑上文算法的主“循环”。
random pool0=0;
total_entropy=0;
j=1;
IfGPS模块接收到正确的信号,then
Xj=collect_random_data(GPS);/*正如上文论述的*/
e=estimated_entropy(xj);/*基于启发式或统计采样*/
random_poolj=hash(random_poolj-1,Xj);/*将新位添加到旧
位*/
total_entropy=min(size(random_poolj),e+total_entropy);
j=j+1;
end;
对测量值x添加了“下标”j以指示当用户/设备12处在位置pj时执行第j次测量xj。对于位于附近位置pj′的“外部”攻击者来说,要拥有random_pool的“相符”值,攻击者估计的每个xj必须等于设备12获得的xj。而且,如果散列函数选择适当的话,几个xj值中的差异将显示“雪崩”效应,攻击者对随机池的值的估计将非常快速地与正确值偏离。即,即使每个xj仅一个或两个二进制位不正确,这些错误将快速累积。确切地来说,如果出现n个攻击者未正确估计的xj值,则random_pool(如外部攻击者见到的)的相对熵将(至少)约为n个位。
图5示出即使追踪者知道random_pool的初始值(表示为rp0),随着设备12移动,攻击者有关rpj的“不确定性”将增加(如不断增加数量的“?”指示的)。
在敌方具有与用户的移动设备相似的移动设备12且敌方可以预测移动的情况中,这(直觉上)意味着在时间T处,敌方知道用户将在时间T+1的所在位置。但是,如果情况如此,敌方无法确定a)用户的终端是否恰好将(准确地)在时间T+1处对源“采样”(可能在时间T+1+“德尔塔”处执行);b)如果执行了,样本的“结果”会是什么。
当然,敌方可能拥有对(a)和(b)的某种粗略“近似结果”,这意味着他能够获取一些“相关的”值。但是同样地,随着终端(在移动的同时)在时间T+2、T+3、...执行进一步测量,“雪崩”效应将使得敌方的信息越来越少地与终端中的“真实”值相关。
如果敌方无法预测移动,则敌方无法“跟踪”用户。这是可能更严重的,因为在此情况中,假定敌方可能(准确地)知道移动设备12在时间T、T+1、...处的所在位置。(假设敌方以固定距离D尾随该终端,则敌方就可以在每个瞬间“观察”移动设备12的所在位置。)尽管如此,敌方会再次遇到(a)的情况。敌方在某种程度上来说较少存在(b)的问题。但是,正如本文详细阐述的,即使我们知道移动设备12的确切位置是已知的,由于GPS系统中的(小但仍存在的)固有误差,这通常与移动设备12的GPS接收器18将告知的并不相同。
回顾具有如下结构的算法
1.IfGPS模块接收到正确的信号,then
.../*从GPS收集数据*/
end;
if其他源可用,then
.../*执行相同的步骤,但是使用“其他源”来更新池*/
end;
显然,如果有可以用作“其他源”的其他移动性相关的源,则产生的随机性将更好。追踪者不仅需要“猜测”位置pj处的GPS数据,而且还要“猜测”其他源提供的数据。此类其他源的示例(通常在移动终端中可用)是:
·网络(小区)ID
·当前无线电特性(信号强度、误码率、数据吞吐量等)
·从附近NFC/RFID标签/传感器获取的数据
但是,正如提到的,当然重要的是不要太依赖于“干扰的”源,例如如此强大以至于在恒定(最大)信号强度阻塞接收器18的信号。这是进行“源是否可用”检验的原因。该检验或“源监视器”可以有利地基于熵估计的某种形式(熵估计的方法在本领域中是公知的,下文将举例说明)。这样一起产生作为移动终端的一部分的图6所示的装置10。
不同的源通常经过A/D转换。源监视器(持续地)估计源的随机性/熵并在组合器(例如上文的“散列”函数)中选择“好的”源。然后可以进一步监视此组合器的输出(上文提到的“池”)(此“辅助”监视在本领域中是公知的,例如在ISO/TEC JTC 118031中)。
几种方法对于熵估计方法是可能的。
“零一”方法
在此非常简单的方法中,仅检查源是否被“干扰”。例如,信号是否仅产生二进制0(或仅产生二进制1)。它给出非常粗糙的估计,基本地告知是否根本存在任何熵。
下文概括统计检验的概念。它们用于确定信号是否具有“随机质量”。几个示例:
·频率检验:这里检查1(和0)的分数是否约是其应该是的值,即0.5。
·串行检验:此检验统计应该约为0.25的二位模式(00、00、10、11)出现的次数。这可以推广到t位模式,在此情况中,它常常称为“扑克检验”。
·游程检验:此检验对于某个n检查长度达到n的仅“000000...”或“1111...”的邻接块,例如n=16。
这些和其他统计检验在例如Menezes、Van Oorschot和Vanstone所著的“Handbook of Applied Cryptography”(其通过引用结合于本文)或US NIST FIPS PUB 140标准(其通过引用结合于本文)中进行了更详细的描述。同样地,这些检验仅给出“定性”而未给出“定量”估计,但是给出比简单的“干扰检测”方法稍微更高的置信度。
总之,这些检验(任何一种或全部)均可以应用,如果源通过检验,则该源视为“有用的”。
对于直接熵估计,假定源X产生集合{x1,x2,....xN}中的输出,例如xi,它是长度为n=log2N(即,N=2n)的按字典顺序的第i个二进制串。还假定我们具有概率Prob[X=xi]=pi。X的香农熵定义为
H(X)=-(p1*log2p1+p2*log2p2+...+pN*log2pN)
当可行时(即当N不是太大时),值(相对频率)pi可以通过对源采样来近似(具有良好的精度),从而给出真实熵的好的估计。确切地来说,对源采样M次,令nj为xj的观察的数量,并通过pj≈nj/M来估计pj。正如公知的,这随着M的增加收敛于pj。
熵的其他概念,例如最小熵(min-entropy)和雷尼熵(Renyi-entropi)也是相关的,并且可以通过相似的公式来计算。
测量H(X)可以通过(假设的)最优数据压缩算法解释为源的最大可实现压缩。代之,还可以使用好的“实用”压缩算法(例如,Lempel-Ziv、Huffman等)以估计可以将源压缩多少,从而提供熵H(X)的近似(上限)。
还有一种统计检验,称为Maurer的通用检验,虽然它是统计检验,但是产生与源的实际熵密切相关的定量实数型的值。(此检验在“Handbook of Applied Cryptography”中也有描述,通过引用结合于本文。)
注意,上文的熵估计可以解释为随机变化的源的专有检验,例如
·“该源具有至少e的香农熵”。
·“该源通过统计检验T”,
·其他。
虽然出于说明的目的在上文实施例中详细地描述了本发明,但是要理解此类详细描述仅出于说明目的,并且在不背离如所附权利要求描述的本发明的精神和范围的前提下,本领域技术人员可以在其中进行改变。
Claims (23)
1.一种在移动设备建立用于密码操作的随机数的方法,包括以下步骤:
在所述移动设备接收携带信息的多个信号,所述信息包含提供与所述移动设备的位置相关的随机变化的数据的接收信号;
根据所述移动设备接收所述信号所在的位置来估计用于所述接收信号的至少一个的信号熵;
选择具有满足预定性质的估计的熵的至少一个熵估计的信号;以及
从所述至少一个熵估计的信号生成所述随机数。
2.如权利要求1所述的方法,包括接收作为所述多个信号的部分的全球可用的信号的步骤。
3.如权利要求2所述的方法,包括移动所述移动设备,从而从所述全球可用的信号形成重复的样本,以用于在所述移动设备将随机数确定为所述重复的样本的函数的步骤。
4.如权利要求2所述的方法,包括处理所述数据以确定所述移动设备的稳定位置的步骤,以及其中所述生成步骤包括利用所述稳定位置生成所述随机数以获得位置相关的密码密钥的步骤。
5.如权利要求4所述的方法,包括使所述密码密钥适合于接收的数据的解密的步骤。
6.如权利要求5所述的方法,包括有规律地更新所述密码密钥的步骤。
7.如权利要求1所述的方法,包括将所述接收信号分离成它们的分量并将所述分量作为独立的信号对待的步骤。
8.如权利要求7所述的方法,其中所述分离步骤包括将所述接收信号分离成它们的分量历书(A)、星历(E)和码(C)的步骤。
9.如权利要求8所述的方法,其中所述选择步骤包括选择具有预定性质的至少一个熵估计的信号的步骤。
10.如权利要求9所述的方法,其中所述预定性质是具有满足预设限制的估计的熵。
11.如权利要求10所述的方法,其中所述预定性质是通过至少一个统计检验。
12.一种通信装置,包括:
移动设备;
用于发射信号的部件;
用于在所述移动设备接收携带信息的多个信号的部件,所述信息包含提供与所述移动设备的位置相关的随机变化的数据的接收信号;以及
用于以下步骤的部件:根据所述移动设备接收所述信号所在的位置来估计用于所述接收信号的至少一个的信号熵,选择具有特定性质的至少一个熵估计的信号,从所述至少一个熵估计的信号生成随机数,并使用所述随机数来与所发射的信号建立密码操作。
13.如权利要求12所述的装置,其中所述接收部件适合于接收至少一个信息源,所述装置还包括用于通过将至少一个信息源分离成分量信号来生成所述信号的部件。
14.一种通信装置,包括:
移动设备;
接收器,用于在所述移动设备接收携带信息的多个信号,所述信息包含提供与所述移动设备的位置相关的随机变化的数据的接收信号;
随机数生成器,所述随机数生成器生成作为所述变化的数据的函数的随机数;以及
密钥生成器,所述密钥生成器使用所述随机数来生成密码密钥。
15.如权利要求14所述的装置,包括处理器,所述处理器处理所述数据以确定所述移动设备的稳定位置。
16.如权利要求15所述的装置,其中所述数生成器利用所述稳定位置生成所述随机数,以便所述密钥生成器生成位置相关的密码密钥。
17.如权利要求16所述的装置,其中所述密钥生成器基于所述随机数生成器生成第二数来利用所述稳定位置生成所述密钥。
18.如权利要求17所述的装置,包括接收数据的第二接收器,以及其中所述密钥生成器使所述密码密钥适合于接收的数据的解密。
19.如权利要求18所述的装置,其中所述密钥生成器有规律地更新所述密码密钥。
20.如权利要求19所述的装置,其中所述接收器将所述接收信号分离成它们的分量。
21.如权利要求20所述的装置,其中所述接收器具有至少3个信道并将所述接收信号分离成它们的分量历书(A)、星历(E)和码(C)。
22.如权利要求21所述的装置,其中所述处理器将所述位置确定为A、E和C的函数。
23.如权利要求22所述的装置,其中所述接收器是GPS接收器并且所述接收信号包含来自GPS卫星的全球可用的信号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US91484107P | 2007-04-30 | 2007-04-30 | |
US60/914,841 | 2007-04-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101669321A true CN101669321A (zh) | 2010-03-10 |
Family
ID=39925928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880014053A Pending CN101669321A (zh) | 2007-04-30 | 2008-04-26 | 用于为安全性和加密建立随机数的方法和通信装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20100195829A1 (zh) |
EP (1) | EP2151086B1 (zh) |
CN (1) | CN101669321A (zh) |
WO (1) | WO2008133590A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067160A (zh) * | 2013-01-14 | 2013-04-24 | 江苏智联天地科技有限公司 | 一种加密sd卡的动态密钥生成的方法及系统 |
CN103986572A (zh) * | 2014-04-15 | 2014-08-13 | 苏州太游信息科技有限公司 | 密码系统及其基于空间变化的一次性随机密码生成方法与应用 |
CN105447154A (zh) * | 2015-11-30 | 2016-03-30 | 中国联合网络通信集团有限公司 | 一种熵池的更新方法和更新系统 |
CN106817591A (zh) * | 2017-01-03 | 2017-06-09 | 硅谷数模半导体(北京)有限公司 | 数据传输系统、方法和装置 |
CN107450887A (zh) * | 2017-08-24 | 2017-12-08 | 杨嵩岩 | 一种真随机数发生器及真随机数产生方法 |
CN109478132A (zh) * | 2016-08-19 | 2019-03-15 | 甲骨文国际公司 | 从不同的源收集熵 |
CN110168494A (zh) * | 2016-11-29 | 2019-08-23 | 大陆-特韦斯股份有限公司 | 用于向车辆网络的控制单元提供随机数的方法以及用于执行所述方法的车辆网络 |
CN110443915A (zh) * | 2019-06-24 | 2019-11-12 | 深圳绿米联创科技有限公司 | 门锁控制方法、控制装置、门锁及存储介质 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8712051B2 (en) * | 2009-03-13 | 2014-04-29 | Cornell University | Spoofing detection for civilian GNSS signals |
US7941379B1 (en) * | 2009-06-25 | 2011-05-10 | Symantec Corporation | Systems and methods for using geo-location information in sensitive internet transactions |
US20150127947A1 (en) * | 2009-09-09 | 2015-05-07 | Sony Corporation | Communication system, communication apparatus, communication method, and computer program |
CN102541508A (zh) * | 2010-12-29 | 2012-07-04 | 鸿富锦精密工业(深圳)有限公司 | 真随机数产生系统及方法 |
US9495544B2 (en) * | 2013-06-27 | 2016-11-15 | Visa International Service Association | Secure data transmission and verification with untrusted computing devices |
US9465583B2 (en) | 2013-10-04 | 2016-10-11 | International Business Machines Corporation | Random number generation using a network of mobile devices |
US20150172050A1 (en) * | 2013-12-12 | 2015-06-18 | Nxp B.V. | Random data from gnss signals and secure random value provisioning for secure software component implementations |
US10296550B2 (en) | 2014-08-18 | 2019-05-21 | Perry Street Software, Inc. | Selective inclusion of members in a results list |
US10282478B2 (en) | 2014-08-18 | 2019-05-07 | Perry Street Software, Inc. | Density modified search results |
US10296549B2 (en) | 2014-08-18 | 2019-05-21 | Perry Street Software, Inc. | Density dependent search functions |
WO2016070855A1 (es) * | 2014-11-06 | 2016-05-12 | Monitoreo Tecnológico, S.A. | Proceso de generación de códigos variables |
US10372528B1 (en) | 2014-12-15 | 2019-08-06 | Seagate Technology Llc | Random values from data errors |
US10338890B1 (en) | 2015-01-07 | 2019-07-02 | Seagate Technology Llc | Random values from data errors |
US9658832B2 (en) * | 2015-05-18 | 2017-05-23 | Red Hat Israel, Ltd. | Multi-factor entropy sourcing for random number generators |
US20160345188A1 (en) * | 2015-05-21 | 2016-11-24 | Qualcomm Incorporated | Low-cost randomness in wlan chipsets for internet of everything |
US9477825B1 (en) * | 2015-07-10 | 2016-10-25 | Trusted Mobile, Llc | System for transparent authentication across installed applications |
CN107950001B (zh) * | 2015-09-29 | 2021-02-12 | 华为技术有限公司 | 发送地理加密消息的服务器及方法 |
WO2017218440A1 (en) * | 2016-06-13 | 2017-12-21 | CloudMode, LLC | Secure initiation and transfer of a cryptographic database and/or a cryptographic unit |
IT201700086031A1 (it) * | 2017-07-27 | 2019-01-27 | Istituto Naz Fisica Nucleare | Apparato, sistema e metodo di generazione di numeri casuali |
US11394530B2 (en) * | 2017-11-01 | 2022-07-19 | Gideon Samid | RandoSol: randomness solutions |
CN110851111B (zh) * | 2019-10-15 | 2022-08-23 | 中国电子科技集团公司第三十研究所 | 一种高安全的源无关量子随机数产生装置与方法 |
WO2024092838A1 (zh) * | 2022-11-04 | 2024-05-10 | 华为技术有限公司 | 一种数据传输方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020131592A1 (en) * | 2001-03-16 | 2002-09-19 | Harris Hinnant | Entropy sources for encryption key generation |
US20040078594A1 (en) * | 2002-10-22 | 2004-04-22 | Logan Scott | Data loader using location identity to provide secure communication of data to recipient devices |
US7177426B1 (en) * | 2000-10-11 | 2007-02-13 | Digital Authentication Technologies, Inc. | Electronic file protection using location |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732138A (en) * | 1996-01-29 | 1998-03-24 | Silicon Graphics, Inc. | Method for seeding a pseudo-random number generator with a cryptographic hash of a digitization of a chaotic system |
US6430170B1 (en) * | 1999-05-27 | 2002-08-06 | Qualcomm Inc. | Method and apparatus for generating random numbers from a communication signal |
US7006633B1 (en) * | 1999-07-16 | 2006-02-28 | Global Encryption Standard Corporation | Global encryption system |
US7231044B2 (en) * | 2000-10-11 | 2007-06-12 | Digital Authentication Technologies, Inc. | Method and apparatus for real-time digital certification of electronic files and transactions using entropy factors |
KR100813954B1 (ko) * | 2003-01-16 | 2008-03-14 | 삼성전자주식회사 | 암호화 장치 및 암호화 방법 |
US20040248549A1 (en) * | 2003-06-04 | 2004-12-09 | Drews Paul C. | Entropy collection |
GB0418357D0 (en) * | 2004-08-18 | 2004-09-22 | Koninkl Philips Electronics Nv | Gps receiver and related method and apparatus |
RU2292074C2 (ru) * | 2004-09-27 | 2007-01-20 | Самсунг Электроникс Ко., Лтд. | Способ и устройство формирования стартового значения для генератора псевдослучайных чисел |
US20060262014A1 (en) * | 2005-05-17 | 2006-11-23 | Yaron Shemesh | Radio beacon, mobile station, processor, system and method for determining location |
JP4910324B2 (ja) * | 2005-07-21 | 2012-04-04 | ソニー株式会社 | 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム |
US7873166B2 (en) * | 2005-09-13 | 2011-01-18 | Avaya Inc. | Method for undetectably impeding key strength of encryption usage for products exported outside the U.S |
WO2007068002A2 (en) * | 2005-12-09 | 2007-06-14 | Tego Inc. | Multiple radio frequency network node rfid tag |
US8412758B2 (en) * | 2005-12-12 | 2013-04-02 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for implementing a random number generator |
-
2008
- 2008-04-26 CN CN200880014053A patent/CN101669321A/zh active Pending
- 2008-04-26 EP EP08779280.0A patent/EP2151086B1/en not_active Not-in-force
- 2008-04-26 US US12/598,014 patent/US20100195829A1/en not_active Abandoned
- 2008-04-26 WO PCT/SE2008/050479 patent/WO2008133590A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7177426B1 (en) * | 2000-10-11 | 2007-02-13 | Digital Authentication Technologies, Inc. | Electronic file protection using location |
US20020131592A1 (en) * | 2001-03-16 | 2002-09-19 | Harris Hinnant | Entropy sources for encryption key generation |
US20040078594A1 (en) * | 2002-10-22 | 2004-04-22 | Logan Scott | Data loader using location identity to provide secure communication of data to recipient devices |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067160A (zh) * | 2013-01-14 | 2013-04-24 | 江苏智联天地科技有限公司 | 一种加密sd卡的动态密钥生成的方法及系统 |
CN103067160B (zh) * | 2013-01-14 | 2018-05-15 | 江苏智联天地科技有限公司 | 一种加密sd卡的动态密钥生成的方法及系统 |
CN103986572A (zh) * | 2014-04-15 | 2014-08-13 | 苏州太游信息科技有限公司 | 密码系统及其基于空间变化的一次性随机密码生成方法与应用 |
CN105447154A (zh) * | 2015-11-30 | 2016-03-30 | 中国联合网络通信集团有限公司 | 一种熵池的更新方法和更新系统 |
CN105447154B (zh) * | 2015-11-30 | 2019-05-21 | 中国联合网络通信集团有限公司 | 一种熵池的更新方法和更新系统 |
CN109478132B (zh) * | 2016-08-19 | 2023-03-24 | 甲骨文国际公司 | 在计算装置中产生熵和在伪随机数发生器中播种熵的方法 |
CN109478132A (zh) * | 2016-08-19 | 2019-03-15 | 甲骨文国际公司 | 从不同的源收集熵 |
CN110168494B (zh) * | 2016-11-29 | 2023-05-23 | 大陆汽车科技有限公司 | 用于向车辆网络的控制单元提供随机数的方法以及用于执行所述方法的车辆网络 |
CN110168494A (zh) * | 2016-11-29 | 2019-08-23 | 大陆-特韦斯股份有限公司 | 用于向车辆网络的控制单元提供随机数的方法以及用于执行所述方法的车辆网络 |
CN106817591A (zh) * | 2017-01-03 | 2017-06-09 | 硅谷数模半导体(北京)有限公司 | 数据传输系统、方法和装置 |
CN106817591B (zh) * | 2017-01-03 | 2019-10-22 | 硅谷数模半导体(北京)有限公司 | 数据传输系统、方法和装置 |
CN107450887A (zh) * | 2017-08-24 | 2017-12-08 | 杨嵩岩 | 一种真随机数发生器及真随机数产生方法 |
CN110443915A (zh) * | 2019-06-24 | 2019-11-12 | 深圳绿米联创科技有限公司 | 门锁控制方法、控制装置、门锁及存储介质 |
CN110443915B (zh) * | 2019-06-24 | 2023-04-18 | 深圳绿米联创科技有限公司 | 门锁控制方法、控制装置、门锁及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2151086A1 (en) | 2010-02-10 |
EP2151086A4 (en) | 2011-08-31 |
US20100195829A1 (en) | 2010-08-05 |
WO2008133590A9 (en) | 2009-11-19 |
EP2151086B1 (en) | 2017-06-07 |
WO2008133590A1 (en) | 2008-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101669321A (zh) | 用于为安全性和加密建立随机数的方法和通信装置 | |
US5754657A (en) | Authentication of a message source | |
US7580794B2 (en) | Remote subscription unit for GNSS information | |
CN102933980B (zh) | 提供可认证的时间和位置指示的方法 | |
US7020555B1 (en) | Subscription GPS information service system | |
CN110278715B (zh) | 用于无线电导航认证的方法和系统 | |
US20070008108A1 (en) | Unsynchronized beacon location system and method | |
US10180500B2 (en) | Signal processing | |
US11626971B2 (en) | Method and system for processing a GNSS signal using homomorphic encryption | |
CN107636663A (zh) | 使用环境的位置相关物理属性的测量来保护应用的方法和装置 | |
WO2014001021A2 (en) | Authentication of satellite navigation signals | |
Chiara et al. | Authentication concepts for satellite-based augmentation systems | |
JP2010226707A (ja) | 位置情報システム | |
WO2002009344A1 (en) | Global encryption system | |
Lax et al. | Exploiting European GNSS and Ethereum in location proof systems | |
Hernandez et al. | Privacy-Preserving Cooperative GNSS Positioning | |
WO2007083270A1 (en) | System and method for verifying global position information | |
Eltengy et al. | A case study of CryptoBin algorithm | |
Mannetta | Improvement in the management of cryptographic keys in a HSM and proposal of an Outdoor Position Certification Authority | |
WO2023184045A1 (en) | Method for the validation of transaction data of blockchains based on special relativity | |
Hernández | Snapshot And Authentication Techniques For Satellite Navigation | |
Lax et al. | Exploiting European GNSS and Ethereum in location proof | |
JP2012175135A (ja) | 情報提供装置、情報受信装置、位置管理システム、情報提供方法、位置情報管理方法およびプログラム | |
Szilassy et al. | Low Energy GPS Positioning: A device-server approach | |
Foruhandeh et al. | All in One: Improving Gps Accuracy and Security Via Crowdsourcing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100310 |