著录项信息
专利名称 | 一种面向无线移动终端的信息安全服务方法 |
申请号 | CN200710067449.X | 申请日期 | 2007-03-13 |
法律状态 | 权利终止 | 申报国家 | 暂无 |
公开/公告日 | 2007-09-26 | 公开/公告号 | CN101043323 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L9/06 | IPC分类号 | H;0;4;L;9;/;0;6;;;H;0;4;L;2;9;/;0;8;;;H;0;4;L;1;2;/;1;6查看分类表>
|
申请人 | 宁波大学;宁波新然电子信息科技发展有限公司 | 申请人地址 | 浙江省宁波市江北区风华路818号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 宁波大学,宁波新然电子信息科技发展有限公司 | 当前权利人 | 宁波大学,宁波新然电子信息科技发展有限公司 |
发明人 | 何加铭;刘丽;曾兴斌;刘太君;刘国建;俞尧亮;丁鑫垚;沈钱波 |
代理机构 | 宁波奥圣专利代理事务所(普通合伙) | 代理人 | 程晓明 |
摘要
本发明公开了一种面向无线移动终端的信息安全服务方法,包括:在应用层与基础设施层之间设计一个信息安全平台来构建安全服务应用程序接口层,该信息安全平台包括终端安全服务部分和安全核心算法部分,安全核心算法部分设置有12种安全核心算法和对KASUMI算法进行性能优化的高级加密算法中的至少一种算法,终端安全服务部分为应用层提供信息安全服务应用程序接口,供需要安全服务的业务直接调用,本发明在保证信息安全可靠通信前提下,可以简单方便地实现安全算法的优化升级,具有良好的可扩展性,可配置性,兼容性和可移植性,且用户可根据通信产品的服务需要自定义安全服务类别和安全等级,更好地满足了用户实现各种需求的信息安全服务。
1.一种面向无线移动终端的信息安全服务方法,其特征在于:在应用层与基础设施层之间设计一个信息安全平台来构建安全服务应用程序接口层,该信息安全平台包括终端安全服务部分和安全核心算法部分,所述的安全核心算法部分设置有11种安全核心算法以及对上述11种安全核心算法进行性能优化的高级加密算法,而对算法性能的优化主要针对它们的核心加密单元KASUMI和AES进行,其中的11种安全核心算法包括认证与密钥协商AKA算法中的f1、f2、f3、f4、f5、f1*和f5*,增强用户身份保密EUIC加密算法f6和f7,以及数据加密算法f8和数据完整性算法f9,所述的高级加密算法的实现方式为运算速度优先和内存优先中的至少一种,所述的终端安全服务部分为用户提供信息安全服务应用程序接口,供需要安全服务的业务直接调用,具体步骤为:
a.用户根据服务需求选择应用层的安全服务类别和安全等级,应用层通过信息安全服务应用程序接口向终端安全服务部分发出安全服务调用指令;
b.终端安全服务部分接收应用层的安全服务调用指令,根据安全服务类别由终端安全服务部分对调用指令进行处理,然后发出指令调用安全核心算法部分中的算法;
c.将从安全核心算法部分中调用的算法在基础设施层上运行实现,对应用层的信息进行安全服务;
d.将经过信息安全平台安全处理后的加密信息直接返回给应用层。
2.如权利要求1所述的一种面向无线移动终端的信息安全服务方法,其特征在于:所述的安全核心算法部分是基于面向对象C++编程技术,并应用其中的虚拟基类和虚拟继承来构建的。
技术领域\n本发明涉及信息安全服务方法,尤其是涉及一种面向无线移动终端的信息安全服务方法。\n背景技术\n无线移动终端除提供传统的语音业务外,它还将提供诸如多媒体业务、数据业务、电子商务、电子贸易以及因特网服务等业务。在无线通信系统中,当无线移动终端与基站进行业务通信时,如何保证无线移动终端的应用业务信息安全性已经成为一个迫切需要解决的问题。\n目前,针对3G提供的新的通信服务,3GPP(3RD Generation Partnership Project,第三代移动通信合作组织)已经给出了一般的3G安全目标,安全功能结构,安全措施,并定义了实现安全服务的安全算法,保护了数据在传输过程中的机密性,可用性,可靠性和完整性。\n但是无线移动终端安全机制是一个完整的体系,要实现其安全目标是一项复杂而艰巨的任务,它也是整个通信系统正常运行和管理的基本保障。为移动终端用户提供个性化的安全服务关系到用户、制造商和运营商的切身利益,直接严重影响到国产移动通信系统的推广使用。由于移动终端的数据处理能力和内存有限使得移动终端信息安全服务技术发展受到极大限制,虽然已有极少数移动终端制造商在尝试做无线移动终端应用服务安全保障,但由于其终端产品的信息安全服务机制都是基于各自不同基础设施开发,安全服务接口和安全核心算法实现捆绑在一起,因此具有严重的不可扩展性和不可升级性,更不具有兼容性和可移植性。\n发明内容\n本发明所要解决的技术问题是针对上述现有的技术现状提供一种面向无线移动终端的信息安全服务方法,使其可以方便地实现安全算法的优化升级,具备良好的可扩展性和可配置性,更简单方便地为用户提供各种安全服务。\n本发明解决上述技术问题所采用的技术方案为:一种面向无线移动终端的信息安全服务方法,在应用层与基础设施层之间设计一个信息安全平台来构建安全服务应用程序接口层,该信息安全平台包括终端安全服务部分和安全核心算法部分,所述的安全核心算法部分设置有11种安全核心算法以及对上述11种安全核心算法进行性能优化的高级加密算法,而所有安全核心算法是基于KASUMI和AES两个核心加密单元实现的,对算法性能的优化主要针对它们的核心加密单元KASUMI和AES进行,其中的11种安全核心算法包括认证与密钥协商AKA算法中的f1、f2、f3、f4、f5、f1*和f5*,增强用户身份保密EUIC加密算法f6和f7,以及数据加密算法f8和数据完整性算法f9,所述的终端安全服务部分为应用层提供信息安全服务应用程序接口,供需要安全服务的业务直接调用,具体步骤为:\na.用户根据服务需求选择应用层的安全服务类别和安全等级,应用层通过信息安全服务应用程序接口向终端安全服务部分发出安全服务调用指令;\nb.终端安全服务部分接收应用层的安全服务调用指令,根据安全服务类别由终端安全服务部分对调用指令进行处理,然后发出指令调用安全核心算法部分中的算法;\nc.将从安全核心算法部分中调用的算法在基础设施层上运行实现,对应用层的信息进行安全服务;\nd.将经过信息安全平台安全处理后的信息返回给应用层。\n所述的高级加密算法的实现方式为运算速度优先和内存优先中的至少一种。\n所述的安全核心算法部分是基于面向对象C++编程技术,并应用其中的虚拟基类和虚拟继承来构建的。\n所述的安全服务包含用户身份管理和识别(IMSI/TMSI/EUIC),AKA(Authority andKey Agreement:认证与密钥协商),DI(Data Integrity:数据完整性保护),DC(DataConfidentiality:数据机密性保护),认证信息在不同认证网络(UTRAN与GSM BBS)之间的转换等等。\n与现有技术相比,本发明所提供的面向无线移动终端的信息安全服务方法的优点在于:\n1)提出一种通信产品的安全服务保证机制三层机构,包括应用层、安全服务API(Application Programming Interface:应用程序接口)层和基础设施层,设计一个接口丰富的面向无线移动终端信息安全平台来构建安全服务API层,在保证信息安全可靠通信前提下,可以简单方便的实现安全算法的优化升级、安全服务种类的扩展以及安全服务类别及安全等级的用户可自定义,为用户提供更好的服务。\n2)无线移动终端信息安全平台按不同的功能分为终端安全服务部分和安全核心算法部分,将终端安全服务实现和安全核心算法实现完全分离,使得无线移动终端制造商可以在不同的终端体系结构,基于不同的基础设施上方便的实现其终端产品的信息安全服务机制,具有良好的兼容性和可移植性。\n3)终端安全服务部分为无线移动终端提供了应用层与移动通信安全协议相兼容的完备安全服务应用程序接口,用户可以轻松构建自己的无线移动终端信息安全软件体系;具备良好的可扩展性和可配置性:用户可以根据需求,对终端安全服务部分提供的安全服务进行扩展和灵活配置;具备良好的OOP(Object-oriented Programming:面向对象编程)特征:封装性和扩展性,便于用户对终端安全服务部分进行重载和扩展。\n4)安全核心算法部分应用了C++OOP(C++Object-oriented Programming:面向对象C++编程)特征,用户可以根据需求重载自己的核心安全算法,或对安全算法进行优化升级,具有很好的扩展性;具体的安全算法实现对终端安全服务部分是完全透明的;在安全核心算法部分中可对KASUMI和AES两个核心加密单元进行优化处理,当运算速度优先时,需要较多的USIM内存空间;而当内存优先时则会适当地降低加密单元的运算速度;而实现方式采用运算速度优先和内存优先结合方式,则可在保证运算速度的前提下,有效地减少内存资源的占用。\n5)用户可以根据自己的实际需要自定义安全服务类别和安全等级,满足用户实现各种需求的信息安全服务。\n附图说明\n图1为包含本发明无线移动终端信息安全平台的安全服务保证机制三层结构示意图;\n图2为基于KASUMI核心以OFB模式构造f8函数实现图;\n图3为基于KASUMI核心以CBC-MAC模式构造f9函数实现图;\n图4为KASUMI核心加密函数实现图;\n图5为基于MILENAGE结构的AKA加密算法函数实现图;\n图6为AES加密算法的流程图。\n具体实施方式\n以下结合附图实施例对本发明作进一步详细描述。一种面向无线移动终端的信息安全服务方法,该方法至少包括:\n本发明的面向无线移动终端的信息安全服务方法至少包括:设计一个接口丰富的具有高保密性、可扩展性、可移植性和可裁减性的无线移动终端信息安全平台来构建安全服务应用程序接口层,如图1所示,该信息安全平台主要包括终端安全服务部分和安全核心算法部分。这两部分都是基于面向对象C++编程技术,并应用其中的虚拟基类和虚拟继承来构建的,其中,终端安全服务部分提供信息安全服务的应用程序接口,保障用户简单方便地实现无线移动终端安全服务。安全核心算法部分预先设置有安全核心算法,提供无线移动信息安全核心算法的具体实现,供终端安全服务部分调用。具体步骤为:\n1.当移动终端设备从无线网络中接收数据包或信令包,为保证信息在传输过程中的安全可靠,要求终端安全服务部分为提供安全服务时,用户根据具体的需求选择安全服务类别和安全等级后,应用层的“输入消息处理函数”将待处理的信息写到移动终端内存中,同时生成一个终端安全服务部分的输入信息(MSSInputMessage),输入到终端安全服务部分的输入消息池(MSSInputMessagePool)中。\n2.终端安全服务部分根据输入信息的优先级从输入消息池(MSSInputMessagePool)中取出优先级别较高的信息,然后发出相应的指令调用安全核心算法部分中的安全算法。\n3.将从安全核心算法部分调用的安全算法在基础设施层的操作系统上运行,从而完成对信息的信令处理,数据处理等。\n4.经过处理完成后的信息被写回到内存中,同时产生一个终端安全服务部分的输出信息(MSSInputMessage),并输入到终端安全服务部分的输出消息池(MSSOutputMessagePool)中。应用层的“输出消息处理函数”从输出消息池(MSSOutputMessagePool)里取出输出信息,然后从内存中取回已经处理完成的消息。\n步骤1中的输入消息处理函数,其数据结构定义如下:\ntypedef structure{\n _BIT8 nMsgSourceId; //标识消息的来源,其中bit0的值:0代表CS,1代\n 表PS。\n _BIT8 nMsgType; //信息的类型,包括信令和数据包。Bit0的值:0代\n 表数据,1代表信令\n _BIT4 nMsgPriority; //信息的优先级,决定了多个输入信息存在的情况\n 下的处理顺序\n _BIT2 nMsgEncrypt; //信息是否加密或完整性保护,00-没加密,01-加\n 密11-解密\n _BIT16 nMsgLength; //信息在内存中的长度\n _BIT8* nMsgPtr; //信息在内存中的启动地址\n _BIT8* nMsgStorePtr;//当信息处理被中断时,在内存中保存中间结果的\n 地址\n}_MSSInputMessage_MSSInputMessage\n步骤2中的信息优先级由应用层决定,在终端安全服务部分内部,相同优先级的输入信息按照先进先出处理原则做仲裁,若一个信息经过maxMsgPrioCyc(类中的参数)次信息仲裁后,都没有被选中,则该信息的优先级将自动增加1级,maxMsgPrioCyc的值可由用户根据实际需求配置。\n信息优先级决定的一个原则是:信令的优先级>CS数据的优先级(语音)>PS数据的优先级(IP包)。\n步骤4中的输出消息处理函数,其数据结构定义如下:\ntypedef structure{\n _BIT8 nMsgSourceId;//标识消息的来源,其中bit0的值:0代表CS,1代\n 表PS。\n _BIT8 nMsgType; //信息的类型,包括信令和数据包。Bit0的值:0代\n 表数据,1代表信令\n _BIT1 nMsgOutValid;//显示当前输出信息是否有效。0-无效,1-有效。被\n 用于信息处理中断时\n _BIT16 nMsgLength; //信息在内存中的长度\n _BIT8* nMsgPtr; //信息在内存中的启动地址\n _BIT8* nMsgStorePtr;//当信息处理被中断时,在内存中保存中间结果的\n 地址\n }_MSSOutputMessage_MSSOutputMessage\n步骤1或步骤2中的输入信息池及步骤2或步骤4中的输出信息池是基于单链表的数据结构构建的,当应用层函数需把一个输入信息加到输入信息池时,终端安全服务部分会根据该消息的优先级插入到输入信息池中,输入信息池中的信息是按优先级从大到小排列的。输出信息时按先进先出原则终端安全服务部分将输出信息插入到输出信息池中,应用层从输出信息池中取出输出信息。\n终端安全服务部分给应用层提供了管理消息池的函数接口:\n//与优先级相关的参数管理,该参数配置成0则把这种优先级管理机制关掉int maxMsgPrioCyc;\nSetMsgPrioCYC(int nNewMsgPrioCyc);\n//往输入信息池里添加信息\nVoid InsertMsgToInputPool(&MSSInputMessage);\n//删除输入信息池里的信息,如果成功则返回TRUE,否则FALSE(信息已被处理完或正在被处理或不存在)\n BOOL DeleteMsgFromInputPool(_BIT8 nMsgSourceId);\n//查询输入信息池是否满(FULL),返回TRUE则满\nBOOL IsMsgInputPoolFull();\n//清空输入信息池,返回FALSE代表不成功\nBOOL ClearMsgInputPool();\n//往输出信息池里取信息,如果返回FALSE就代表该信息不存在或未处理完。消息//被取出来后,输出信息池里的记录将会立刻删掉。\nBOOL GetMsgFromOutputPool(_BIT8nMsgSourceId)\n//查询输出信息池是否为空(EMPTY),返回TRUE则空\nBOOL IsMsgOutputPoolEmpty();\n//清空输出信息池,返回FALSE代表不成功\nBOOL ClearMsgOutputPool();\n上述终端安全服务部分(MSSClass),其数据结构定义为:\na)与用户标识相关的数据结构:\ntypedef structure{\n _BIT32 LAI; //永久用户区域标识\n _BIT128 IMSI; //永久用户标识\n _BIT128 K; //用户密匙\n _BIT32 GI; //群身份标识\n _BIT128 GK; //群密匙\n _BIT128 TMSI; //临时用户标识符\n}_MSUsernfo MS_UserInfo;\nb)与加密算法相关的数据结构:\n typedef structure{\n _BIT4 n; //支持的数据加密算法的个数\n _BIT4 UEA[n];//支持的数据加密算法类型(0-不加密,1-Kasumi算法,\n 2-SNOW 3G)\n }_MEAS MS_UEAS;\n typedef structure{\n _BIT4 n; //支持的数据完整性算法的个数\n _BIT4 UIA[n];//支持的数据完整性算法类型(1-Kasumi算法,2-SNOW\n 3G)\n }_MEAS MS_UIAS;\nc)与AKA密匙管理相关的数据结构:\nenum CNType{CSType=0,PSType};//CN类型\n typedef structure{\n _BIT128 CK; //数据加密密匙\n _BIT128 IK; //完整性密匙\n _BIT3 KSI; //密匙识别符,若等于7则当前的密匙无效\n _BIT48 SQN[16];//认证序列号记录\n _BIT20 START; //用于密匙更新管理\n }_AKAInfo;\n const _BIT20 THRESHOLD[2];//用于密匙更新管理:0-CS,1-PS\n structure_AKAInfo MS_AKAInfo[2];//0-CS,1-PS\nd)与数据完整性保护相关的参数:\n_BIT32 COUNT_I[2];//0-CS,1-PS,根据接受到的RRC SN(RRC序列数)更新\n_BIT32 FRESH;\ne)与数据加密相关的参数\n_BIT32 COUNT_C[2];//0-CS,1-PS,根据接受到的RLC SN(RLC序列数)更新\nf)与安全状态相关的参数:\n_BIT4 curUEA[2]; //当前选中的UEA算法:0-CS,1-PS\n_BIT4 curUIA[2]; //当前选中的UIA算法:0-CS,1-PS\nBOOL IsCipherEn[2]; //当前的数据是否打开了加密功能:0-CS,1-PS\nBOOL IsIntegrityEn[2];//当前的信令是否打开了完整性保护功能:0-CS,\n 1-PS\ng)与核心加密函数相关的参数(函数指针)\nvoid*f1(...),*f2(...),*f3(...),*f4(...),*f5(...),*f6(...),*f7(...),*f8(...),*f9(...);\nvoid*f1s(...),*f5s(...);//对应于函数f1*和f5*\n上述终端安全服务部分(MSSClass)中信息安全服务应用程序接口(API),其具体实现为:\n每个API函数的返回参数都具有相同的结构:\ntypedef structure{\n _BIT16 nBytes; //pReturn Val指向的数据块所包含的字节数\n _BIT16* pReturn Val //指向真正返回参数的指针\n} _MsReturn Val_MsReturnVal;\n1)响应信令的API函数接口\na)BOOL MsGetIMSI(_BIT1 IsEUIC,MsReturn Val*pRData)\n功能:响应“user identity request”信令,传回用户的IMSI。\n输入:IsEUIC:返回IMSI的模式0-明文,1-EUIC(增强用户身份保密)\n输出:如果(IsEUIC==0)返回IMSI的明文,否则返回经过EUIC加密的IMSI密文(用f6函数对IMSI进行加密,其中SEQ_UIC由随机函数产生的32比特数)。\nb)BOOL MsAKAResponse(BOOL CNType,_BIT 128RAND,_BIT 128AUTN,MsReturnVal*pRData)\n功能:响应“Authentication data request”。\n输入:CNType,含认证向量信息的RAND和AUTN。\n输出:_BIT2 MsAKAStatus:USIM端的AKA认证情况:\n0-USIM端认证成功,返回128比特的RES;\n1-MAC错误;\n2-再同步错误,返回112比特的AUTS。\n更新:更新相应CNType的SQN组(16个数值)\nc)BOOL MsGetSecurityCapability(BOOL CNType,MsReturnVal*pRData)\n功能:响应“MS Security Capability Info”,返回MS对安全算法的支持能力。\n输入:CNType(CS或PS):0-CS;1-PS。\n输出:CNType所对应的UEAs和UIAs,START值。\nd)BOOL MsUpdateKStatus(BOOL CNType,_BIT12SN,MsReturnVal*pRData)\n功能:响应数据或信令流中的序列号(SN)信息,更新对应CNType的START值,决定当前的密匙是否仍保持有效。\n输入:CNType(CS或PS),SN序列号(CS:RRC_SN;PS:RLC_SN)。\n输出:对应的KSI,如果KSI=7,则对应的密匙无效,需重新认证。\n更新:对应CNType的START值会更新。\ne)BOOL MsGetCountCMSB(BOOL CNType,MsReturnVal*pRData)\n功能:响应“periodic local authentication”。(周期性的完整性检测)。\n输入:CNType(CS或PS)。\n输出:返回对应CNType的COUNTER-C的高20位。\nf)BOOL MSSetSecurityMode(BOOL CNType,_BIT4UEA,_BIT4 UIA,_BIT32REFRESH,MsReturnVal*pRData)\n功能:响应“Security mode command”。\n输入:CNType(CS或PS),UEA,UIA(选中的算法类型),FRESH(用于完整性校验)。\n输出:BOOL bVerifiedPass:返回TRUE若UEA与UIA验证成功,否则FALSE。\n_BIT12CipherSN:返回给RNC当RLC的SN等于CipherSN时启动数据加密功能如果IsIntegrityEn=TRUE。\n更新:对应CNType的curUEA,curUIA,IsCipherEn和IsIntegrityEn,FRESH。\ng)BOOL MSUpdateTMSI(_BIT128 NewTMSI,MsReturnVal*pRData)\n功能:响应“TMSI allocation Command”,用新的TMSI与IMSI建立关系。\n输入:新的TMSI值。\n输出:如果更新成功则返回TRUE,否则返回FALSE。\n更新:用户的TMSI。\n2)数据完整性的加密和检测\nBOOL MsDataIntegrityCheck(BOOL CNType,_BIT8*pMsg,_BIT 16nMsgLength,BOOL bEncrypt,BIT128MAC-I,MsReturnVal*pRData)\n功能:利用保存在USIM中COUNT-I和FRESH,应用f9函数对MESSAGE进行完整性检测或加密。\n输入:CNType(CS或PS),指向Msg的指针,Msg的长度(不包括MAC-I\n若bEncrypt=0),bEncrypt(0-验证,1-加密),MAC-I(如果bEncrypt=0)\n返回:如果bEncrypt=0,则返回BOOL bIntegrityCheckStatus(0-MAC校验通过,反之失败)。如果bEncrypt=1,则返回MAC-I的值。\n3)数据的加密和解密\nBOOL MsDataCiphering(BOOL CNType,_BIT8*pMsg,_BIT15nMsgLength,_BIT5BEARER,BOOL bEncrypt,MsReturnVal*pRData)\n功能:利用保存在USIM中COUNT-C,应用f8函数对MESSAGE进加密或解密。\n输入:CNType(CS或PS),指向Msg的指针,Msg的长度,bEncrypt(0-验证,1-加密)。\n返回:加密或解密后的MESSAGE。\n4)根据数据或信令更新MSSClass中某些参数的值\nBOOL MSResetSTART(BOOL CNType)\n功能:把CNType对应的START值复位为0(当产生新密匙的时候)。\nBOOL MSUpdateCountC(BOOL CNType,_BIT12 RLC_SN)\n功能:根据数据流中的RLC_SN的值更新对应CNType的COUNT-C。\nBOOL MSUpdateCountI(BOOL CNType,_BIT4RRC_SN)\n功能:根据数据流中的RRC_SN的值更新对应CNType的COUNT-I。\n5)认证信息在UMTS与GSM之间的转换\nBOOL MsGetGSMInfoAKA(BOOL CNType,MsReturnVal*pRData)\n功能:返回对应CNType的SRES[GSM]和Kc[GSM]。\n6)应用层与MSSClass类中的参数和状态的进行读取和配置\nBOOL IsIntegrityEnable(BOOL CNType)//返回完整性保护的状态\nBOOL IsCipherEnable(BOOL CNType)//返回数据加密保护的状态\nVoid AttachAlgorithmFunctions(viod*user_f1,....)//选择核心加密算法函数,\n应用层对类各种参数的查询和配置函数,例如UEA等等。\n上述安全核心算法部分(MSAClass),其结构与实现为:\n1)MSAClass中的所有方法都是基于C++OOP实现的(应用C++中的虚拟基类和虚拟继承),便于用户对核心算法函数进行重载。MSSClass调用的只是MSAClass接口,而接口的名字是唯一的,具体的算法实现对MSSClass来说是完全透明的。\n2)对算法性能的优化主要针对它们的核心加密单元KASUMI和AES。例如对S-BOX函数(都存在于KASUMI和AES当中),如果内存优先(USIM卡的内存有限),则可以直接根据S-BOX的具体公式把结果算出来,但那样运算的速度会相应地降低。如果性能优先,则可以用Lookup Table(查表)的方式实现S-BOX。最好的方式是在两者之间做一个折中,例如在AES中,8比特的S-BOX函数如果完全用查表的方式来实现的话,需要256项的表。但我们可以把8比特的S-BOX转化为4比特的S-BOX,那样就可以在保证运算速度的前提下,减少内存的使用。用户可以配置MSAClass中的参数来选择算法的不同实现方式。\n上述安全核心算法部分(MSAClass),其包括的安全算法为:\n1)加密算法与完整性算法\n加密算法(f8)和完整性算(f9)都是基于KASUMI加密内核构建的。其中f8的结构属于OFB模式(如图2),而f9属于CBC-MAC模式(如图3)。\nKASUMI属于Feistel Cipher构架,具有8重循环(ROUND),其实现如图4所示。它基于128比特的密匙K对64比特的数据进行Ciphering运算,产生64比特的输出。它包含有三个子函数FL,FO和FI,以及对应的子密匙KL,KO和KI。子密匙{KL,KO,KI}由KASUMI的输入密匙K所产生,每个ROUND都具有不同的值。S7和S9属于S-BOX函数。\n2)AKA加密算法\nAKA加密算法(f1,f2,f3,f4,f5,f1*,f5*)是基于MILENAGE结构构造的,其具体实现如图5所示。MILENAGE结构中的核心加密函数E(K)采用了128比特的Rijndael AES加密算法。\nAES属于块(block)加密方法,一般具有10重循环。它基于128比特的K对128比特的数据进行加密产生128比特的输出。AES把所有输入按某种规则排列成4行乘4列,然后基于它进行加密运算。AES算法的流程图如6所示。\n3)EUIC(增强用户身份保密)加密算法f6与f7\nf6使用了COUNTER模式的AES对数据进行加密,相应地f7使用了CBC-MAC模式的AES对数据进行解密(f7解密函数不在MS/USIM中使用)。其结构与AKA加密算法类似。
法律信息
- 2014-05-07
未缴年费专利权终止
IPC(主分类): H04L 9/06
专利号: ZL 200710067449.X
申请日:
授权公告日:
- 2010-05-26
- 2008-01-09
- 2007-09-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-04-12
|
2005-10-27
| | |
2
| |
2005-01-05
|
2004-03-04
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |