用于识别相关的方法

文档序号:6540052阅读:190来源:国知局
用于识别相关的方法【专利摘要】本发明涉及用于识别相关的方法。提出一种用于识别至少第二环形振荡器(10,50)的相关的方法和一种用于执行该方法的装置(200)。在所述方法中使用存储区(202),在所述存储区中给关联的组合分别分配比特。【专利说明】用于识别相关的方法【
技术领域
】[0001]本发明涉及一种用于识别至少两个环形振荡器的相关的方法和一种用于执行所提出的方法的装置。所考察的环形振荡器在此用作为随机发生器。【
背景技术
】[0002]对于许多应用来说需要被称为随机元件的结果的随机数。为了产生随机数采用所谓的随机发生器。随机发生器是提供随机数序列的方法。随机数的决定性标准是,生成的结果是否能够被看作为与较早的结果无关。[0003]例如对于密码方法来说需要随机数。这些随机数被用于为加密方法生成密钥。对用于密码方法的密钥提出了在随机特性方面的高要求。因此,例如通过LFRS(linearfeedbackshiftregister,线性反馈移位寄存器)代表的伪随机数发生器(pseudorandomnumbergenerator,PRNG)不适于此目的。仅仅真随机数发生器或TRNG(truerandomnumbergenerator)满足所提出的要求。在该真随机数发生器或TRNG情况下利用自然噪声过程来获得不可预测的结果。常见的是如下噪声发生器,其利用电阻或半导体的热噪声或势垒、例如pn结处的散粒(Schrot)噪声。另一可能性是利用同位素的放射性衰变。[0004]尽管"经典的"方法使用模拟元件、诸如电阻作为噪声源,但是在不久的过去常常采用数字元件、诸如反相器。所述数字元件具有电路布局方面的较少花费的优点,因为其作为标准元件存在。此外也可以在可自由编程的电路、诸如FPGA中采用这样的电路。[0005]例如已知采用是电子振荡器电路的环形振荡器。在所述环形振荡器情况下奇数数目的反相器互连成环,由此形成具有自然频率的振荡。所述自然频率在此取决于环中的反相器数目、反相器特性、互连的条件(也即线路电容、运行电压和温度)。由于反相器的噪声形成相对于理想振荡器频率的随机相移,该随机相移被用作对于TRNG的随机过程。要注意的是,环形振荡器自主振荡并且不需要诸如电容器或者线圈的外部部件。[0006]在利用随机(Zufall)时的问题通过如下方式形成,即必须尽可能在预期的理想的边沿附近对环形振荡器采样,以便获得随机的采样值。为此在出版物BockH.,BucciM.,LuzziR.:AnOffset-compensatedOscillator-basedRandomBitSourceforSecurityApplications,CHES2005中展示出一种如何通过采样时间点的规则移位(geregelteVerschieben)总是在振荡器边沿的附近进行采样的可能性。[0007]从印刷品EP1686458B1中已知一种用于借助于环形振荡器来产生随机数的方法,其中提供第一和第二信号,其中通过第二信号触发地对第一信号进行采样。在所述方法中,多次采样环形振荡器,其中总是仅仅利用非反相延迟、也即偶数数目的反相器作为延迟元件。在此,振荡器环从起始点开始总是在偶数数目的反相器之后同时或互相延迟地被采样。由此可以放弃采样时间点的移位;替代于此地分析多重采样信号。[0008]在Bucci,M.和Luzzi,R.的出版物"DesignofTestableRandomBitGenerators"(CHES2005)中提出了一种方法,利用该方法可以确定出随机源的影响。借此可以预防攻击。但是,随机值和确定性的值之间的直接区分因此是不可能的。[0009]另一可能性通过使用多个环形振荡器来给出。这例如在Sunar,B.等人的出版物:AproveableSecureTrueRandomNumberGeneratorwithBuiltInToleranceAttacks,IEEETrans,onComputers,1/2007中论述。在此彼此关联(verkniipfen)和分析多个环形振荡器的米样值。[0010]在此问题是,例如通过来自外部的影响可能发生环形振荡器的相关,使得所获得的结果不具有期望尺度的熵。【
发明内容】[0011]以此为背景提出一种具有权利要求1的特征的方法和一种根据权利要求8的装置。另外的实施由从属权利要求和说明书得出。[0012]利用所提出的方法可以确保,与采样频率无关地最小墒总是可用。这可归因于在彼此不相关的情况下至少一个振荡器也不与其他基准时钟、例如系统时钟或者频率注入时钟相关。墒的估计基于如下假设进行,即采样时钟不与振荡器时钟相关。只有当在振荡器周期上存在均匀分布的采样时,才可以实现估计的墒值。如果两个振荡器分别与另一时钟相关,则它们也互相相关。[0013]所提出的方法使得能够识别,是否互相存在环形振荡器的相关并且因此能够陈述墒的尺度。对此可以预先给定阈值,在达到所述阈值或在低于或超过所述阈值时确定出相关。[0014]本发明的另外的优点和构型由说明书和附图得出。[0015]不言而喻,前面提到的和后面仍要阐述的特征不仅可以以分别说明的组合、而且可以以其他组合或者单独地使用,而不脱离本发明的范围。【专利附图】【附图说明】[0016]图1示出用于执行所提出的方法的环形振荡器的一种实施。[0017]图2示出环形振荡器的另一实施。[0018]图3示出两个环形振荡器的可能布线。[0019]图4示出所提出的装置的一种实施,所述装置用于确定或识别两个环形振荡器的相关。[0020]图5示出用于监视两个振荡器来识别相关的另一装置。【具体实施方式】[0021]本发明根据实施方式在附图中示意性示出并且在下面参照附图详尽地予以描述。[0022]图1示出用于执行所述方法的环形振荡器的实施,该环形振荡器总体上用附图标记10来表示。环形振荡器10具有一个NAND构件14和八个反相器18并且因此具有九个反相元件。因此环形振荡器10拥有奇数数目的反相元件和三个抽头或采样点。[0023]环形振荡器10可以利用第一输入端20来开始和停止。此外,图示示出第一采样点22、第二采样点24和第三采样点26。采样速率经由第二输入端28被预先给定。这意味着,从第一采样点22开始总是在奇数数目的反相元件之后进行采样。但是这对于所提出的方法来说不一定是必要的。[0024]第一采样点22利用第一触发器30被采样,得出采样值slO。第二采样点24利用第二触发器32被采样,得出采样值sll。第三采样点26利用第三触发器34被采样,得出采样值sl2。给第一触发器30分配另外的第四触发器40。这履行存储器功能并且输出值slO',该值slO'在时间上在值slO之前,也就是slO和slO'是第一采样点22的在时间上相继的采样值。对应地,给第二触发器32分配输出sir的第五触发器42,并且给第三触发器34分配输出sl2'的第六触发器44。触发器40、42和44适于分辨触发器30、32和34的准稳状态。准稳状态通过以下方式形成,即在采样点22、24或26的边沿期间在输入端28处进行信号的转换。触发器30、32和34于是需要特定的时间,直至达到稳定的最终状态。该时间在本示例中通过如下方式来保证,即在输入端28处的信号的接下来的有效边沿时触发器30、32和34的在此期间稳定的值才被接管到触发器40、42和44中。[0025]原则上因此可以由例如九个反相器18构建环形振荡器10。在此,这些反相器18之一可以被NAND元件14代替,以便能够停止(anhalten)环形振荡器10。可替换地,该NAND元件14也可以被N0R元件代替。[0026]环形振荡器10的值在所示实施的情况下在三个不同反相器处同时被存储在各一个触发器(FF)30、32、34中。这些抽头应当尽可能相同地分布在环形振荡器10的元件上。因此对于环形振荡器10中的九个反相级的情况,分别在三个反相元件之后设置抽头或采样点22、24、26。如已经提到的,但是这对于所提出的方法不是必要的。也可能的是,在偶数数目的反相元件之后再次设置抽头。[0027]环形振荡器10中的反相器级的数目确定振荡器的频率并且因此应当被选择为使得触发器可以存储相应的信号值。当使用尽可能高的振荡器频率时,在采样时处于边沿的附近的概率较高。因此在振荡器环中选择尽可能少数目的反相器,但是选得如此多,使得触发器对于所实现的频率是有工作能力的。对于180nm技术,模拟地对于具有9个反相器18的环形振荡器12确定大约1GHz的频率。触发器可以存储该频率时的信号值,如被证明的那样。[0028]所提出的方法可以利用对应于图1的环形振荡器10来执行,该环形振荡器10具有奇数数目的反相元件,其中在环形振荡器的至少两个采样点处截取值,并且其中在至少两个直接相继的采样点之间分别有奇数数目的反相元件。[0029]对于环形振荡器10,可以确定出与系统时钟以及因此与由此获得的采样时钟的相关。即使分频器的约数(Teiler)值能被振荡器环中的反相元件的数目除尽,在此也不是所有相关都能通过sl0、sll、sl2与slO'、sll'、sl2'的比较来确定。在此可能出现,分别在任意或恒定数目的采样之后总是又在振荡器循环中的相同位置处进行采样。如果该数目不同时是振荡器中的反相元件的数目的约数,则通过前述比较不得到对于当前相关的提示。于是尽管如此,当将所有采样都与当前取样比较时可以确定出相关。但是这是非常耗费的。[0030]当在FPGA中使用环形振荡器的情况下,不存在例如通过由电阻引起振荡器运行电压的降低影响频率的可能性。因此尤其是对于FPGA建议使用两个环形振荡器,这两个环形振荡器互相监视并且其输出端被彼此关联。这两个振荡器的相关可以被识别,但是不一定能被阻止。在此可能引起到两个振荡器之间的耦合的相关、到与系统时钟的共同相关的相关或者引起攻击。认为,由于两个FPGA振荡器中的不同的线路延迟而存在多样性,该多样性保证边缘上(marginal)不同的频率。但是这在ASIC中更难保证。如果两者的频率变得恰好相同,则识别到攻击。[0031]如果存在以共同的约数频率为出发点的相关,所述约数频率例如通过所谓频率注入攻击(frequencyinjectionattack)引起,贝U这些相关不被发现。因此建议使用具有不同数目反相元件的两个振荡器或者至少在构造上如此构成振荡器,使得达到明显偏离的目标频率。两个振荡器应该尽可能地具有相同数目的抽头,例如3个,所述抽头尽可能均匀地在振荡器元件上分布并且在分别两个抽头之间的反相元件的数目应该例如相差偶数个,例如2个。如果一个振荡器具有9个反相器,则第二反相器应于是应该具有15个。[0032]图2示出具有1个NAND构件54和14个反相器58的这种环形振荡器50,因此该环形振荡器50具有15个反相元件。环形振荡器50利用第一输入端60开始和停止。该图不此外不出第一米样点62、第二米样点64和第三米样点66。米样速率经由第二输入端68被预先给定。[0033]第一触发器70输出米样值s20,第二触发器72输出米样值s21,并且第三触发器74输出米样值s22。第四触发器80对应于图1中的实施输出值s20',第五触发器82输出值s21'以及第六触发器84输出值s22'。[0034]图3示出用于关联或布线的装置100,具有来自图1的环形振荡器10和来自图2的环形振荡器50,所述装置100具有用于开始的第一输入端102和用于预先给定采样时钟的第二输入端104。[0035]两个环形振荡器10和50的输出端在对应的位置处彼此逐比特地EX0R关联(构件104,异或)。但是也可以的是,所述输出端彼此无关地进入到所谓的postprocessing、即后处理中。[0036]两个环形振荡器10和50具有相同的采样时钟,但是必要时具有不同的开始信号,以便还有使用仅仅一个环形振荡器10或50或者检查仅仅一个环形振荡器的可能性。这用于电流节省或者认证(Zertifizieren)。具有附图标记siO、sil和si2的第一触发器30、32、34或70、72、74用于分辨准稳定性。仅仅使用输出端siO'、sil'和si2'作为稳定的输出端。两个环形振荡器10和50中反相元件的数目应当尽可能被抽头的数目除尽,以便可以实现抽头的均匀分布。具有较少数目反相元件的环形振荡器10或50通常具有较高频率,但是所述频率应当对于所使用的技术被选择为使得所使用的触发器仍可以良好地遵循该频率。在使用数字标准元件--例如反相器、NAND、触发器--时要注意的是,通常按照开关速度来优化这些元件的几何尺寸。但是由此这些元件具有对于两个边沿0-1或1-0不等的驱动强度。在此,网络节点、线路或者触发器的内部状态的充电通常比它们的放电持续时间长。在均匀采样的情况下,于是将会比高值更频繁地采样内部触发器节点处的低值。当触发器的输出由内部节点的反相构成时,在那里更频繁地得出高值。对于0和1(低和高)的概率的这种移位称为偏置。只要对于振荡器周期存在如下采样范围,对于所述采样范围存在一个0和将会对1采样所针对的那些0,则只要边沿的区域与其抖动不重叠,该移位对于墒值不起作用。对于0和1的概率尽管是不同的,但是当在抖动区域范围内的边沿期间进行采样时总是得出取决于抖动并且因此取决于噪声的值。在其他相同的条件下,可以在边沿处在相同时刻分别采样不同的值。[0037]要注意的是,环形振荡器50相对于环形振荡器10具有显著较小的自然频率。[0038]当对于环形振荡器i使用下面的值时:fi:振荡器i的频率ni:振荡器i中的反相元件的数目可以利用下式来粗略地估计频率关系:nl*fl=n2*f2或者f2=fl*nl/n2。[0039]在具体情况下,f2=9/15*fl。如果fl=lGHz,则得出f2=600MHz。[0040]Π和f2的最大共同约数是200MHz。利用对应于200MHz的整数部分的每个频率,当将该频率施加于振荡器的供给电压时,可以在理论上影响两个环形振荡器10和50。当供给电压在此不超过用于运行的运行电压的指定极限值时,这常常已经足够了。[0041]-般在9个或15个反相器情况下,频率是快速频率的1/5,这应当是慢速频率的1/3,总是是合适的操纵基础。通过将该频率馈入到两个振荡器的供给电压上,这两个振荡器可以利用该频率的多倍(5倍或3倍)振荡并且在此可以消除每个抖动。这可能是不利的,因为于是随机以及因此所获得的墒将会趋于零。因此重要的是识别该状态。[0042]因此应当规定一种方法,利用该方法当振荡器的频率相同时可以确定出所述两个振荡器的相关。但是前提是,两个振荡器的标称频率是类似大。尽管该方法尤其适用于FPGA实现,但是也可以将相同的方法学用于ASIC实现。[0043]对于不同的振荡器频率的情况,这样的方法并不触及。在前面提到的具有1GHz和600MHz的示例中,具有200HMZ的模拟可能引起,两个振荡器相关,而不能识别到这一点。因为在200MHz周期内存在环形振荡器10的恰好5个相同的状态,其中环形振荡器50分别具有不同的采样值,因此情况如此。现在可以尝试存储这5个值并且将当前的取样值分别与所有所存储的值进行比较。这首先是非常耗费的并且其次不是一般性足够的:仅当在振荡器频率和分频率之间存在约数因子5时这导致成功。但是在一般情况下,可能的约数因子不是精确已知的,或者还存在多个这样的因子。攻击者例如可能尝试用122.5MHz进行攻击并且因此将振荡器1拉到980MHz以及将振荡器2拉到612.5MHz。为了识别出这一点,必须在0SC1处附加地考虑因子8。这在实践中不可能或者仅能用不相称地高的花费来保证。[0044]因此建议一种方法,该方法与振荡器的频率无关地工作。在此认为,在频率不相关时两个振荡器彼此间的所有可能的星座(Konstellation)可以出现。两个振荡器在采样点处的状态通过值s00'、s0r、s02'、sl0'、sir、sl2'来确定。在具有64比特的存储区中给这些26个布局或组合中的每一个分配一个比特。该比特开始时例如被设为0。该存储区通过下面的表1来表明:【权利要求】1.用于识别至少两个环形振荡器(10,50)的相关的方法,所述环形振荡器利用相同的米样时钟被米样,其中在每次米样时所米样的值分别在环形振荡器(10,50)的输出端处被彼此关联,其中在其情况下进行关联的每次采样表示事件,其中对于关联得出多个可能组合,其中定义存储区(202,308),在所述存储区中给关联的可能组合分别分配存储区(202,308)中的至少一个比特,其中在开始时将每个比特设为起始值,其中每个事件引起事件计数器(204,310)的递增并且在第一次出现关联的可能组合中的每一个时改写所分配的比特,其中起始值的每次改写引起零计数器(206,312)的递增,并且其中为了识别相关分析零计数器(206,312)的值。2.根据权利要求1所述的方法,其中在第一次出现可能关联的每一个时使所分配的比特递增。3.根据权利要求1或2所述的方法,其中设置两个环形振荡器(10,50)并且分开地检查这两个环形振荡器(10,50)。4.根据权利要求3所述的方法,其中对于确定多个可能组合考虑单个环形振荡器(10,50)的检查的结果。5.根据权利要求1所述的方法,其中识别三个环形振荡器(10,50)的相关,其方式是将所有三个环形振荡器(10,50)的所采样的值彼此关联并且使用存储区(202,308),在该存储区中给关联的可能组合分别分配存储区(202,308)中的至少一个比特。6.根据权利要求5所述的方法,其中单个地考察所述三个环形振荡器(10,50),并且考虑在确定多个可能组合时的结果。7.根据权利要求1至6之一所述的方法,其中在识别出相关时输出警告。8.用于识别至少两个环形振荡器(10,50)的相关的装置,尤其是用于执行根据权利要求1至7之一所述的方法,具有存储区(202,308)和至少一个第一计数器和至少一个第二计数器,其中第一计数器用作事件计数器(204,310)并且第二计数器用作零计数器(206,312)。9.根据权利要求8所述的装置,其中给每个环形振荡器(10,50)分配第一和第二计数器。10.根据权利要求8所述的装置,其中设置恰好一个第一计数器和恰好一个第二计数器。11.根据权利要求8至10之一的装置,其中为了识别相关设置表,所述表分配计数器读数。【文档编号】G06F11/32GK104050072SQ201410086999【公开日】2014年9月17日申请日期:2014年3月11日优先权日:2013年3月12日【发明者】M.刘易斯,E.贝尔申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1