當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]1 USB安全鑰的完整功能 USB安全鑰最早基于USB的熱插拔、速度以及硬件等優(yōu)勢(shì),結(jié)合加密算法,用于辦公文件、軟件等的存儲(chǔ)和加密。但USB安全鑰的用武之地遠(yuǎn)不止這些,與網(wǎng)絡(luò)技術(shù)結(jié)合,用于時(shí)下最時(shí)尚的電子商務(wù)中,才使

USB安全鑰的完整功能

    USB安全鑰最早基于USB的熱插拔、速度以及硬件等優(yōu)勢(shì),結(jié)合加密算法,用于辦公文件、軟件等的存儲(chǔ)和加密。但USB安全鑰的用武之地遠(yuǎn)不止這些,與網(wǎng)絡(luò)技術(shù)結(jié)合,用于時(shí)下最時(shí)尚的電子商務(wù)中,才使其大顯神通。USB安全鑰結(jié)合傳統(tǒng)的電子商務(wù)核心技術(shù)和新興的USB技術(shù),用于實(shí)現(xiàn)電子商務(wù)中的關(guān)鍵技術(shù)——身份識(shí)別,在未來(lái)電子商務(wù)領(lǐng)域具有廣闊的應(yīng)用前景。USB安全鑰集數(shù)據(jù)加密和數(shù)據(jù)存儲(chǔ)兩大功能于一體,推動(dòng)了電子商務(wù)的發(fā)展。

    傳統(tǒng)的電子商務(wù)或是網(wǎng)絡(luò)email等的身份認(rèn)證基本上是通過(guò)兩種方式來(lái)實(shí)現(xiàn)的。一種是密碼機(jī)制,雙方約定好規(guī)則。這是目前最為普遍的方式,但是這種方式的嚴(yán)重缺點(diǎn)顯而易見(jiàn)。密碼作為最重要的信息,在網(wǎng)絡(luò)上傳輸,很容易被黑客攻擊截獲,經(jīng)常發(fā)生密碼被盜。第二種方式是通過(guò)第三方的認(rèn)證,雙方共同信任第三方公司提供的信息,從而進(jìn)行交易。微軟在.NET計(jì)劃中推出的認(rèn)證服務(wù)器就提供這種服務(wù)。但是,信譽(yù)度建立在第三方上,便會(huì)受到第三方的制約,掏錢不說(shuō),還要擔(dān)心第三方是否會(huì)倒閉。USB安全鑰解決了這兩種方式無(wú)法解決的問(wèn)題。

    完整的USB安全鑰系統(tǒng)由三部分組成:安全鑰端,采用Motorola公司帶USB接口的8位單片機(jī)MC68HC908JB8構(gòu)成;PC端,由任何一臺(tái)可接入網(wǎng)絡(luò)的PC構(gòu)成,并安裝PC端的用戶身份認(rèn)證軟件;Server端,任何一臺(tái)網(wǎng)絡(luò)服務(wù)器安裝用于身份認(rèn)證的Server端軟件。

    USB安全鑰系統(tǒng)結(jié)構(gòu)體系及功能流程如圖1所示,列出了九個(gè)步驟,描述了USB安全鑰從插入PC到完成一次身份識(shí)別的完整流程。

需要強(qiáng)調(diào)的是,在上述步驟中,PC僅僅起一個(gè)Media(媒介)的作用。任何重要的數(shù)據(jù)都沒(méi)有經(jīng)過(guò)PC,在網(wǎng)絡(luò)上傳輸?shù)膬H僅是8個(gè)字節(jié)的隨機(jī)數(shù)(它只在Server服務(wù)器和安全鑰端有意義,只對(duì)特定的加密算法和密鑰有意義),被黑客截取也不會(huì)有問(wèn)題。這8個(gè)字節(jié)的隨機(jī)數(shù)由網(wǎng)絡(luò)Server產(chǎn)生,經(jīng)由PC傳遞給USB安全鑰加密;加密后的隨機(jī)數(shù)再由PC不加任何改變地傳遞給Server;Server去調(diào)用解密算法解開(kāi)加密的隨機(jī)數(shù),與原來(lái)未加密的隨機(jī)數(shù)比較,如果相同則說(shuō)明USB安全鑰的持有者身份合理。整個(gè)身份認(rèn)證也告結(jié)束。這里,USB安全鑰體現(xiàn)出兩大優(yōu)點(diǎn):(1)沒(méi)有任何重要的個(gè)人信息在網(wǎng)上傳遞,保證了安全性;(2)Server由網(wǎng)絡(luò)商自己維護(hù),安全鑰由用戶攜有,雙方的認(rèn)證沒(méi)有依靠第三方,快捷、安全、信譽(yù)度高。當(dāng)然,USB安全鑰還有其他很多優(yōu)點(diǎn),例如可以在PC上熱插拔,可以在任何一臺(tái)支持USB的PC上工作(現(xiàn)在幾乎所有的PC都應(yīng)該支持USB)等。

2 USB安全鑰的技術(shù)細(xì)節(jié)

    USB安全鑰技術(shù),從設(shè)計(jì)上可以分為三個(gè)模塊:Server端的網(wǎng)絡(luò)通訊和加密算法設(shè)計(jì)、PC端的USB驅(qū)動(dòng)程序和網(wǎng)絡(luò)通訊設(shè)計(jì)、安全鑰端的USB固件和加密算法設(shè)計(jì)。涉及到的計(jì)算機(jī)技術(shù)包括Socket網(wǎng)絡(luò)編程技術(shù)、USB驅(qū)動(dòng)程序設(shè)計(jì)技術(shù)和加密算法技術(shù)??梢哉f(shuō)整個(gè)設(shè)計(jì)內(nèi)容龐雜,技術(shù)難度高。因此,設(shè)計(jì)時(shí)就需細(xì)化,一步步完成單個(gè)功能,再進(jìn)行聯(lián)調(diào),將單個(gè)模塊融合成完整的USB安全鑰。

    后期的功能擴(kuò)展和優(yōu)化設(shè)計(jì)也是針對(duì)三個(gè)模塊,應(yīng)用三大技術(shù)完成。主要是:服務(wù)器(Server)端DES加密算法的研究,設(shè)計(jì)加密算法的動(dòng)態(tài)鏈接庫(kù)DLL,提供給客戶最簡(jiǎn)單的API;PC和安全鑰端驅(qū)動(dòng)程序的研究,實(shí)現(xiàn)PC端友好的程序界面,動(dòng)態(tài)在線修改存儲(chǔ)在安全鑰內(nèi)的用戶產(chǎn)品信息。本文將詳細(xì)介紹擴(kuò)展和優(yōu)化的設(shè)計(jì)方法,從而揭示USB安全鑰的技術(shù)細(xì)節(jié)。

2.1 如何設(shè)計(jì)Server端加密算法及其DLL

    密碼算法(Algorithm)就是指加密函數(shù)(Encryption)和解密函數(shù)(Decryption)。有加密函數(shù),那么必然有一套與它對(duì)應(yīng)的解密函數(shù)?,F(xiàn)代密碼學(xué)用密鑰技術(shù)解決了保密性不夠的問(wèn)題。密鑰用K表示。K的取值范圍叫做密鑰空間。可以用如下式子來(lái)表示加密和解密函數(shù)之間的關(guān)系:

    DK(EK(M))=M

    其中,E為加密函數(shù),D為解密函數(shù),M為被加密的原文。有一個(gè)重要的結(jié)論:所有算法的安全性都基于密鑰的安全性,而不是算法細(xì)節(jié)的安全性。這就是說(shuō),算法可以公開(kāi),只要密鑰是保密的,則這個(gè)算法就是安全的。簡(jiǎn)單地說(shuō),密鑰就是與密文疊加在一起的一組數(shù)。

    標(biāo)準(zhǔn)加密算法DES作為ANSI的數(shù)據(jù)加密算法和ISO的DEA-1,成為世界范圍內(nèi)的標(biāo)準(zhǔn)已經(jīng)20多年。就目前密碼學(xué)的發(fā)展情況來(lái)說(shuō),DES的安全性還是能夠滿足用戶需求的。由于完整的DES算法相當(dāng)復(fù)雜,這里僅簡(jiǎn)單介紹算法的結(jié)構(gòu)。

    DES是分組加密算法,以64位為一組對(duì)明文進(jìn)行分組,然后進(jìn)行加密和解密。加密和解密的算法相同,只是密鑰的編排不同。密鑰長(zhǎng)度為56位,通常是64位,但是每字節(jié)第8位都用來(lái)作為奇偶校驗(yàn)位,因此實(shí)際上只有56位。DES共有16輪,即對(duì)同一組明文結(jié)合密鑰進(jìn)行16輪相同的加密過(guò)程,最終達(dá)到加密要求。

    具體到每一輪的加密過(guò)程是這樣的:每一輪中,密鑰位移位,然后從密鑰中選出48位。數(shù)據(jù)的32位右半部分?jǐn)?shù)據(jù)擴(kuò)展成48位,與密鑰結(jié)合。然后再將這48位數(shù)據(jù)變換為32位,并與數(shù)據(jù)的32位左半部分相與后作為新的32位右半部分。而32位左半部分基本不變。最后,左右各32位數(shù)組合在一起便構(gòu)成了一輪加密后的64位密文。重復(fù)同樣運(yùn)算16次,便完成了加密/解密功能[4]。

    Server端的加密算法采用DES。加密和解密是整個(gè)USB安全鑰身份認(rèn)證的核心。在安全鑰的初期產(chǎn)品中,已經(jīng)實(shí)現(xiàn)了DES算法下的加密功能。但是,作為產(chǎn)品,其安全性是第一位的。而且,對(duì)于要將加密算法嵌入自己系統(tǒng)的用戶來(lái)說(shuō),提供給他們大量的加密算法的源代碼是不合適的。要對(duì)DES算法進(jìn)行修改,將其從Server端的源程序中提出,改掉原來(lái)復(fù)雜的調(diào)用機(jī)制,改為提供給用戶三個(gè)簡(jiǎn)單的接口函數(shù):產(chǎn)生隨機(jī)數(shù)、加密和解密函數(shù)、實(shí)現(xiàn)DES加密算法的DLL。

    動(dòng)態(tài)鏈接庫(kù)(DLL)是一個(gè)包含了若干個(gè)函數(shù)的可執(zhí)行模塊,Windows應(yīng)用程序可以調(diào)用這些函數(shù)來(lái)完成實(shí)際任務(wù)。對(duì)于調(diào)用DLL的用戶來(lái)說(shuō),利用的資源僅僅是應(yīng)用函數(shù)接口和一個(gè)后綴為.dll的文件,實(shí)現(xiàn)加密算法的模塊化。

    在建立了一個(gè)VC工程之后,需要建立主程序頭文件KeyDll.h,加入如下代碼。這些代碼中定義了導(dǎo)出的四個(gè)函數(shù)。

class _declspec(dllexport) CKeyDllApp

{public:

    BOOL GetChallenge();

    int* Challenge();//導(dǎo)出函數(shù)

    int* DecryptData(BYTE []);//導(dǎo)出函數(shù),需要解密的隨機(jī)數(shù),可存儲(chǔ)在數(shù)組InputNum[8]中。此函數(shù)輸出值即為加密后的數(shù)據(jù),輸出格式為數(shù)組DESDeData[8]

    int* EncryptData(BYTE []);//導(dǎo)出函數(shù),需要加密的隨機(jī)數(shù),可存儲(chǔ)在數(shù)組InputNum[8]中。此函數(shù)輸出值即為加密后的數(shù)據(jù),輸出格式為數(shù)組DESEnData[8]

    BOOL cha_gen;

    void DESDecrypt ();//BYTE *Data, BYTE *Key); //解密函數(shù)定義

    void DESEncrypt ();//BYTE *Data, BYTE *Key); //加密函數(shù)定義

    BOOL Init();

protected:

    BYTE DESKey[8];     //密鑰

    BYTE IniDeData[8]; //外部輸入的需要解密的數(shù)據(jù)

    BYTE IniEnData[8]; //外部輸入的加密前的隨機(jī)數(shù)

    BYTE DESDeData[8]; //解密后的數(shù)據(jù)

    BYTE DESEnData[8]; //加密后的數(shù)據(jù)

    WORD subkey[16][48]; //子密鑰

    BYTE challenge[8];

......}

    然后,在主文件KeyDll.cpp中實(shí)現(xiàn)各功能函數(shù)的具體功能,主要是算法的實(shí)現(xiàn)。

BOOL CKeyDllApp::GetChallenge()//這是產(chǎn)生隨機(jī)數(shù)的函數(shù),它調(diào)用API的函數(shù)srand(),最終產(chǎn)生的8位隨機(jī)數(shù)存在數(shù)組challenge[8]中

{

    int i;

    srand((unsigned)time(NULL));

    if(!cha_gen){

        for(i = 0; i < 8; i++){

        do{challenge[i] = (rand()/256);}

        while((challenge[i]=='t') || (challenge[i] == 0) || (challenge[i]==255) || (challenge[i]== 256- 't'));}

        challenge[8] = 0;

        cha_gen = TRUE;

        return TRUE;}

    return FALSE;}

 

void CKeyDllApp::DESDecrypt ()//解密函數(shù),完成對(duì)已加密的8位隨機(jī)數(shù)的解密功能 

{

    WORD TempInput[64],TempOutput[64],TempKey[64];

    stringtobit (IniDeData, TempInput);

    stringtobit (DESKey, TempKey);

    decry (TempInput, TempKey, TempOutput);

    bittostring (TempOutput, DESDeData);}

 

void CKeyDllApp::DESEncrypt()   //加密函數(shù),可完成

對(duì)8位隨機(jī)數(shù)的加密功能,然后可與原隨機(jī)數(shù)比較,看是否相等

{

    WORD TempInput[64], TempOutput[64],TempKey[64];

    stringtobit (IniEnData, TempInput);

    stringtobit (DESKey, TempKey);

    encry (TempInput, TempKey, TempOutput);

    bittostring (TempOutput, DESEnData);}

 

int* CKeyDllApp::DecryptData(BYTE InputDeNum[8])//導(dǎo)出的獲取解密數(shù)據(jù)的函數(shù)。此函數(shù)需要賦值——已加密了的8位隨機(jī)數(shù),并進(jìn)行解密,最終函數(shù)值為解密后的

8位隨機(jī)數(shù)

{

    int i;

    for (i = 0; i < 8; i++)

    IniDeData[i]=InputDeNum[8];

    return (int *)DESDeData;}

 

int* CKeyDllApp::EncryptData(BYTE InputEnNum[8])//導(dǎo)出的獲取加密數(shù)據(jù)的函數(shù)。此函數(shù)需要賦值——8位隨機(jī)數(shù),直接調(diào)用并賦8位隨機(jī)數(shù)后,此函數(shù)將調(diào)用加密函數(shù)并進(jìn)行加密,最終函數(shù)值為加密后的8位隨機(jī)數(shù)

{

    int i;

        for (i = 0; i < 8; i++)

        IniEnData[i]=InputEnNum[i];

        return (int *)DESEnData;} 

 

    編譯、連接后將產(chǎn)生一系列文件,在加上源工程文件,將會(huì)有數(shù)量比較龐大的文件系統(tǒng)。最終,只需提供給用戶三個(gè)文件即可,它們是:

    · KeyDllDebugKeyDll.dll,這是DLL文件;

    · KeyDllDebugKeyDll.lib,這個(gè)文件將在應(yīng)用DLL的程序編譯和連接時(shí),提供連接向?qū)?

    · KeyDllKeyDll.h,這個(gè)頭文件告訴用戶此DLL中導(dǎo)出了哪些量可以用。

    DES的DLL導(dǎo)出了一個(gè)類:CkeyDllApp。在這個(gè)類中共有4個(gè)導(dǎo)出函數(shù)可以導(dǎo)入應(yīng)用程序中,用戶在導(dǎo)入了加密DLL后,可以在自己的程序中直接調(diào)用以下函數(shù):

    · BOOL GetChallenge(),用于在應(yīng)用程序支持循環(huán)結(jié)構(gòu);

    · int*Challenge(),產(chǎn)生隨機(jī)數(shù),并存儲(chǔ)在Challenge[8]中;

    · int*DecryptData(BYTE []),用于解密隨機(jī)數(shù);

    · int*EncryptData(BYTE []),用于加密隨機(jī)數(shù)。

2.2 USB安全鑰新增功能描述

    USB安全鑰和PC傳輸?shù)臄?shù)據(jù)量不大,而且沒(méi)有很高的速度要求。因此,在編寫固件時(shí)就將其歸類為HID(USB的人機(jī)接口設(shè)備類)。在編寫PC端的驅(qū)動(dòng)程序時(shí)可以直接調(diào)用Windows提供的HID的API函數(shù),大大降低了編程的難度。更重要的是,Windows對(duì)HID設(shè)備的支持非常完備,不需要用戶再編寫底層的驅(qū)動(dòng)。

    安全鑰端的設(shè)計(jì)內(nèi)容主要是:實(shí)現(xiàn)在線修改存儲(chǔ)在安全鑰內(nèi)的KeyID和讀取KeyID兩個(gè)功能,分別由函數(shù)Set_KeyID和Get_KeyID實(shí)現(xiàn)。KeyID是安全鑰的標(biāo)識(shí)符,在安全鑰插到PC上后,被讀出并送往Server進(jìn)行檢查。在初期產(chǎn)品中,KeyID只能是安全鑰首次接到PC上讀取,且不能更改,這為廠家和開(kāi)發(fā)者造成了不便。因此要更改初期產(chǎn)品中的KeyID,就必須修改安全鑰端的匯編程序,然后再“燒”寫到安全鑰中,非常麻煩。新增功能可實(shí)現(xiàn)KeyID的在線修改。

    PC端的設(shè)計(jì)包括兩步。首先要實(shí)現(xiàn)在PC上讀取安全鑰內(nèi)的KeyID。通過(guò)安全鑰的端點(diǎn)1,8個(gè)字節(jié)的KeyID被周期地送出。PC要獲取這些數(shù)據(jù),調(diào)用HID類庫(kù)Get_Report(Feature)。從安全鑰發(fā)來(lái)的包含KeyID的包的特性及技術(shù)指標(biāo)如表1。

第2步,在PC上實(shí)現(xiàn)修改KeyID功能。調(diào)用HID類庫(kù)Set_Report(Feature),將新的KeyID發(fā)送到安全鑰中,具體指標(biāo)如表2所示。

2.3 如何設(shè)計(jì)安全鑰端新增功能的USB固件

    USB固件(Firmware),就是USB安全鑰硬件上采用的單片機(jī)和其他處理器中有關(guān)USB通信的程序。這里采用Motorola公司的8位單片機(jī)MC68HC908JB8作為USB安全鑰的控制器芯片。MC68HC908JB8帶有USB接口,8K的Flash,支持USB 1.1版本中的低速(Low Speed)設(shè)備,資源有限,主要用于實(shí)現(xiàn)USB通信,價(jià)格比較低廉。因此,很適合于USB安全鑰。MC68HC908JB8中USB通信的程序模塊,包含在實(shí)現(xiàn)MC68HC908JB8所有功能的匯編程序中。

    圖2是經(jīng)典的USB固件的流程圖??紤]到USB安全鑰中USB數(shù)據(jù)通信量很小,不需要考慮通信時(shí)間,采用中斷傳輸方式。整個(gè)程序就是在等待數(shù)據(jù)傳輸要求的中斷到來(lái),從而進(jìn)入數(shù)據(jù)傳輸模塊。讀/寫數(shù)據(jù)緩沖區(qū),往USB端點(diǎn)(Endpoint)中讀/寫數(shù)據(jù),交給USB模塊收發(fā)數(shù)據(jù)。當(dāng)USB安全鑰不需要傳輸數(shù)據(jù)時(shí),就進(jìn)入掛起狀態(tài)(Suspend)。在得到PC主機(jī)遠(yuǎn)程喚醒后啟動(dòng),繼續(xù)工作。

新增功能中,主要完成的兩個(gè)功能就是KeyID的讀取和修改,即實(shí)現(xiàn)Get_KeyID和Set_KeyID功能。程序構(gòu)思大致是:對(duì)于Get_KeyID,在接收到PC端發(fā)來(lái)的讀取KeyID的中斷后,立即從端點(diǎn)1發(fā)送8字節(jié)的KeyID,這一段沒(méi)有什么特別之處;對(duì)于Set_KeyID,在接收到信號(hào)后,立即轉(zhuǎn)入Set_KeyID子程序。首先將存儲(chǔ)KeyID的Flash去保護(hù),然后寄存器置位,即在硬件上給Flash一個(gè)高電平,接著進(jìn)行擦除,再將保存于緩沖區(qū)的PC發(fā)來(lái)的新KeyID存儲(chǔ)到Flash中。最后,置Flash狀態(tài)寄存器位,給Flash加保護(hù)。

2.4 PC端新增功能的USB驅(qū)動(dòng)程序設(shè)計(jì)

    Windows 98的驅(qū)動(dòng)程序從結(jié)構(gòu)上來(lái)說(shuō)分為兩層:內(nèi)核層和用戶層。USB的客戶驅(qū)動(dòng)程序?qū)儆谟脩魧?而USB類驅(qū)動(dòng)程序和底層驅(qū)動(dòng)程序則屬于內(nèi)核層。目前,USB還屬于起步階段,Windows對(duì)USB的支持還不夠完善,僅支持內(nèi)核層。USB開(kāi)發(fā)人員所要做的,就是開(kāi)發(fā)客戶驅(qū)動(dòng)程序,直接與類驅(qū)動(dòng)程序打交道。

    HID屬于USB設(shè)備類中的一個(gè)子類,Windows對(duì)它提供了非常強(qiáng)大的支持,尤其是在用戶層提供了Hid.dll,其中包含了用戶層驅(qū)動(dòng)程序與類驅(qū)動(dòng)程序通信需要的各種功能模塊,將它們以API的形式提供給用戶函數(shù)接口。這樣,在編寫客戶驅(qū)動(dòng)程序的時(shí)候就可以直接調(diào)用這些API函數(shù)來(lái)完成諸如IN、OUT等功能,大大降低了編寫驅(qū)動(dòng)程序的難度。

    HID客戶驅(qū)動(dòng)程序訪問(wèn)HID類驅(qū)動(dòng)程序,由HID類驅(qū)動(dòng)程序完成大多數(shù)工作,而硬件交互由HID小驅(qū)動(dòng)程序HidUsb.sys處理,HID小驅(qū)動(dòng)程序調(diào)用USB底層驅(qū)動(dòng)程序USBD.sys訪問(wèn)設(shè)備。

    這里介紹用戶模式的HID客戶驅(qū)動(dòng)程序設(shè)計(jì)過(guò)程。它主要包括三個(gè)方面的工作:

    ·查找所有HID設(shè)備;

    ·對(duì)于查找到的每一個(gè)HID設(shè)備,檢查其功能,判斷是否為感興趣的設(shè)備;

    ·根據(jù)用戶需要讀取HID輸入Report(Feature)或者寫HID輸出Report(Feature)。

    程序流程如下:

    (1)查找USB安全鑰設(shè)備;

    (2)讀取HID設(shè)備功能;

    (3)具體實(shí)現(xiàn)Get_KeyID和Set_KeyID子函數(shù);

BOOL    CUsbKey::GetKeyID()  //Get_KeyID子程序

{...

    result=HidD_GetFeature(HidDevice, ReadBuffer,0x09);

   //調(diào)用此函數(shù),獲取從端點(diǎn)1發(fā)來(lái)的8字節(jié)KeyID; 

    for(tmpInt=0;tmpInt

        KeyID_Get[tmpInt]=ReadBuffer[tmpInt+1];

    return TRUE;

}

BOOL  CUsbKey::SetKeyID()    // Set_KeyID子程序

{   int i;

    long result;

    int DataBuffer[16];

    WriteBuffer[0]=0;           //寫緩沖區(qū)首字節(jié)清0,作為Set_Feature函數(shù)的要求

    char *c;                  //獲得對(duì)話框內(nèi)輸入8字節(jié)新KeyID字符串的指針

    c=(char *)(LPCSTR)str_KeyIDSet;

    for (i=0;i

        DataBuffer[i]=*c++;

    ……   //此處省略了對(duì)輸入的8個(gè)字節(jié)的KeyID的16進(jìn)制檢查代碼

    for(i=0;i<8;i++)

        WriteBuffer[i+1]=DataBuffer[2*i]+DataBuffer[2*i+1];

    result=HidD_SetFeature(HidDevice,WriteBuffer, 0x09);

    return  TRUE;

}

    (4)程序運(yùn)行結(jié)果。

    編譯連接之后,最終會(huì)生成可執(zhí)行文件KEYDEMO.exe。執(zhí)行它即可SK通信,實(shí)現(xiàn)各種功能。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉