在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何保證數(shù)據(jù)在傳輸?shù)倪^(guò)程中是安全的呢

冬至配餃子 ? 來(lái)源:希夏普 ? 作者:jqwang ? 2022-08-19 11:06 ? 次閱讀

如果用戶 A 要和 B 進(jìn)行數(shù)據(jù)交換,A 要通過(guò)網(wǎng)絡(luò)發(fā)送一段文字給 B,那如何保證數(shù)據(jù)在傳輸?shù)倪^(guò)程中是安全的呢?并且即使被別人截獲,也無(wú)法知道數(shù)據(jù)的內(nèi)容,這就用到加密技術(shù)。

對(duì)稱密碼體制

發(fā)送方用一個(gè)密鑰對(duì)數(shù)據(jù)進(jìn)行加密,接收方使用相同的密鑰進(jìn)行解密。

? 加密和解密 的密鑰相同

? 如何獲取或交換密鑰,保證密鑰的私密性非常重要

? 密鑰量級(jí)是參與者的平方級(jí)數(shù),數(shù)量比較多

? 適合對(duì)大量數(shù)據(jù)進(jìn)行加密,加密解密速度快

? 加解密易于通過(guò)硬件實(shí)現(xiàn)

非對(duì)稱密碼體制

每個(gè)網(wǎng)絡(luò)參與者都有一對(duì)密鑰 - 私鑰和公鑰。用戶 A 的公鑰是公開(kāi)的,任何與 A 通信的人都可以獲取,用來(lái)加密數(shù)據(jù)后發(fā)送給 A。A 的私鑰只有自己知道,用來(lái)解密數(shù)據(jù)。

? 公鑰用來(lái)加密,私鑰用來(lái)解密。公私鑰不相同也不相關(guān)

? 公鑰的交換無(wú)需保密

? 密鑰的量級(jí)為參與者的數(shù)目

? 加解密速度慢,不適合大量數(shù)據(jù)加密,常用于 對(duì)稱密碼 協(xié)商共享密鑰

? 加解密操作難以通過(guò)硬件實(shí)現(xiàn)

數(shù)字簽名

用戶 A 發(fā)送給 B,B 如何確定數(shù)據(jù)是用戶 A 發(fā)送的,而不是別人偽造的數(shù)據(jù)呢?數(shù)字簽名可以鑒別消息的發(fā)送者

? 用戶 A 先將要發(fā)送的數(shù)據(jù)進(jìn)行 MD5 計(jì)算生成唯一的 消息摘要 a

? A 用私鑰簽名消息摘要 a

? A 把數(shù)據(jù)和消息摘要 a 組合起來(lái)發(fā)送給 B

? B 收到后用 A 的公鑰對(duì)消息摘要驗(yàn)簽得到 a

? B 用 MD5 算法對(duì)數(shù)據(jù)部分進(jìn)行計(jì)算得到消息摘要 b

? B 對(duì) a 和 b 進(jìn)行比較。如果相同則證明是 A 發(fā)送過(guò)來(lái)的

A 計(jì)算數(shù)據(jù)的消息摘要,并用私鑰進(jìn)行加密的過(guò)程稱為 簽名算法。B 用 A 的公鑰解密消息摘要,并與自己計(jì)算的消息摘要進(jìn)行對(duì)比的過(guò)程稱為 驗(yàn)證算法。

如果直接對(duì)數(shù)據(jù)本身直接計(jì)算數(shù)字簽名,會(huì)比較耗時(shí)。所以一般做法是先將原數(shù)據(jù)進(jìn)行 Hash 運(yùn)算,得到的 Hash 值就叫做“摘要”。

數(shù)字證書(shū)

用戶 A 要給用戶 B 發(fā)送數(shù)據(jù),如何保證用戶 A 拿到的一定是用戶 B 的公鑰呢?

數(shù)字證書(shū)是標(biāo)志通訊各方身份信息的一串?dāng)?shù)字,不是數(shù)字身份證而是身份認(rèn)證機(jī)構(gòu)蓋在數(shù)字身份證上的一個(gè)章或印。由權(quán)威機(jī)構(gòu)-CA(Certificate Authority)發(fā)行的,用來(lái)識(shí)別對(duì)方的身份。

X.509是一種通用的證書(shū)規(guī)范。

常見(jiàn)的數(shù)字證書(shū)格式:

? .cer .crt - 用于存放證書(shū),它是二進(jìn)制形式存放的,不含私鑰。

? .pfx .p12 - 存放個(gè)人證書(shū)/私鑰,通常包含保護(hù)密碼,2 進(jìn)制方式

從證書(shū)文件獲得證書(shū)對(duì)象:

X509Certificate2 cert = new X509Certificate2 (@"c:/myCert.crt" );

// 保護(hù)密碼

String password = GetCertPassword();
X509Certificate2 cert = new X509Certificate2 (@"c:/myCert.pfx", password);
從本地證書(shū)容器獲得證書(shū)對(duì)象:

private static X509Certificate2 GetCertificateFromStore(string certName)
{

// Get the certificate store for the current user.
X509Store store = new X509Store(StoreLocation.CurrentUser);
try
{
store.Open(OpenFlags.ReadOnly);

// Place all certificates in an X509Certificate2Collection object.
X509Certificate2Collection certCollection = store.Certificates;
// If using a certificate with a trusted root you do not need to FindByTimeValid, instead:
// currentCerts.Find(X509FindType.FindBySubjectDistinguishedName, certName, true);
X509Certificate2Collection currentCerts = certCollection.Find(X509FindType.FindByTimeValid, DateTime.Now, false);
X509Certificate2Collection signingCert = currentCerts.Find(X509FindType.FindBySubjectDistinguishedName, certName, false);
if (signingCert.Count == 0)
return null;
// Return the first certificate in the collection, has the right name and is current.
return signingCert[0];
}
finally
{
store.Close();
}
}
// 驗(yàn)證證書(shū)有效期
if (cert.NotAfter <= DateTime .Now)
{
throw new ApplicationException (" 用戶證書(shū)已經(jīng)過(guò)期!" );
}
// 獲取公鑰
RSA publickKey = (RSA)cert.PublicKey.Key;
RSA privateKey = cert.GetRSAPrivateKey();
public class RSAHelper
{
/// RSA加密
///
///公鑰
///
///
public static string RSAEncrypt(string xmlPublicKey, string m_strEncryptString)
{
RSACryptoServiceProvider provider = new RSACryptoServiceProvider();
provider.FromXmlString(xmlPublicKey);
byte[] bytes = new UnicodeEncoding().GetBytes(m_strEncryptString);
return Convert.ToBase64String(provider.Encrypt(bytes, false));
}

///


/// RSA解密
///
///私鑰
///
///
public static string RSADecrypt(string xmlPrivateKey, string m_strDecryptString)
{
RSACryptoServiceProvider provider = new RSACryptoServiceProvider();
provider.FromXmlString(xmlPrivateKey);
byte[] rgb = Convert.FromBase64String(m_strDecryptString);
byte[] bytes = provider.Decrypt(rgb, false);
return new UnicodeEncoding().GetString(bytes);
}

}



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 密鑰
    +關(guān)注

    關(guān)注

    1

    文章

    143

    瀏覽量

    20070
  • 加密技術(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    147

    瀏覽量

    17518
  • 加解密
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    6608
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)NFC數(shù)據(jù)傳輸如何保證數(shù)據(jù)安全?

    NFC數(shù)據(jù)傳輸如何保證數(shù)據(jù)安全
    發(fā)表于 04-07 06:18

    如何確保DMA傳輸過(guò)程中數(shù)據(jù)都是好的?

    有沒(méi)有哪位大佬清楚DMA原理的 想請(qǐng)教下,芯片廠是如何確保DMA傳輸過(guò)程中數(shù)據(jù)都是OK的 比如傳輸前后SRAM里面的數(shù)據(jù)不變,傳輸出來(lái)的
    發(fā)表于 04-12 06:23

    使用PCM4204進(jìn)行音頻數(shù)據(jù)采集的過(guò)程中,如何把采集到的音頻數(shù)據(jù)通過(guò)USB傳輸到PC上?

    使用PCM4204進(jìn)行音頻數(shù)據(jù)采集的過(guò)程中,如何把采集到的音頻數(shù)據(jù)通過(guò)USB傳輸到PC上?
    發(fā)表于 10-15 06:44

    請(qǐng)問(wèn)ldc1000與主機(jī)進(jìn)行數(shù)據(jù)傳輸過(guò)程中數(shù)據(jù)傳輸速率設(shè)置為多大合適?

    你好,請(qǐng)問(wèn)ldc1000與主機(jī)進(jìn)行數(shù)據(jù)傳輸過(guò)程中數(shù)據(jù)傳輸速率設(shè)置為多大合適(我的差不多1M),但數(shù)據(jù)一直不對(duì)····
    發(fā)表于 01-17 06:37

    熱敏打印機(jī)打出數(shù)據(jù)電流傳輸過(guò)程中的獲取

    熱敏打印機(jī)打出數(shù)據(jù)電流傳輸過(guò)程中的獲取,什么樣的設(shè)備效果最好
    發(fā)表于 05-02 23:25

    如何減少SPDIF傳輸過(guò)程中時(shí)鐘抖動(dòng)

    `數(shù)字音頻信號(hào)傳輸相對(duì)于模擬音頻信號(hào),有著巨大的優(yōu)勢(shì),它具有很強(qiáng)的抗干擾能力,無(wú)需考慮失真、噪聲、抖晃,串音的因素對(duì)傳輸的影響。但是,數(shù)字音頻信號(hào)傳輸過(guò)程中,卻存在著抖動(dòng)現(xiàn)象。 有資
    發(fā)表于 09-28 16:08

    轉(zhuǎn):如何減少SPDIF傳輸過(guò)程中時(shí)鐘抖動(dòng)

    `數(shù)字音頻信號(hào)傳輸相對(duì)于模擬音頻信號(hào),有著巨大的優(yōu)勢(shì),它具有很強(qiáng)的抗干擾能力,無(wú)需考慮失真、噪聲、抖晃,串音的因素對(duì)傳輸的影響。但是,數(shù)字音頻信號(hào)傳輸過(guò)程中,卻存在著抖動(dòng)現(xiàn)象。 有資
    發(fā)表于 09-28 16:28

    有什么辦法能解決高速數(shù)據(jù)采樣、傳輸過(guò)程中遇到的問(wèn)題?

    有什么辦法能解決高速數(shù)據(jù)采樣、傳輸過(guò)程中遇到的問(wèn)題?才能不浪費(fèi)單片機(jī)或DSP的端口資源 。
    發(fā)表于 04-08 07:07

    如何保證數(shù)據(jù)傳輸過(guò)程中安全(防竊取)?

    實(shí)際的業(yè)務(wù),難免會(huì)跟第三方系統(tǒng)進(jìn)行數(shù)據(jù)的交互與傳遞,那么如何保證數(shù)據(jù)
    發(fā)表于 07-28 06:27

    常用的一些API設(shè)計(jì)的安全方法探討

    如何保證數(shù)據(jù)傳輸過(guò)程中安全(防竊?。坑袥](méi)有通用的一套算法以及規(guī)范來(lái)
    發(fā)表于 10-19 10:04

    I/O端口或內(nèi)部電路信號(hào)傳輸過(guò)程中采用隔離的方式

    電子產(chǎn)品設(shè)計(jì),為了截?cái)喈a(chǎn)品內(nèi)部電路與外界的干擾傳輸通道,或出于安全隔離的考慮,通常會(huì)在I/O端口或內(nèi)部電路信號(hào)傳輸過(guò)程中采用隔離的方式,
    發(fā)表于 11-11 06:32

    串口傳輸過(guò)程中停止位是一個(gè)什么數(shù)據(jù)

    串口傳輸過(guò)程中停止位是一個(gè)什么數(shù)據(jù)
    發(fā)表于 10-12 07:23

    modbus通信的過(guò)程中如何實(shí)現(xiàn)大數(shù)據(jù)包的傳輸?

    modbus通信的過(guò)程中如何實(shí)現(xiàn)大數(shù)據(jù)包的傳輸
    發(fā)表于 10-15 12:23

    SMT加工過(guò)程中有哪些機(jī)器設(shè)備可以給客戶保證品質(zhì)?

    SMT產(chǎn)品的品質(zhì)決定smt加工的市場(chǎng),smt加工過(guò)程品質(zhì)決定產(chǎn)品的品質(zhì)。為了防止SMT加工的過(guò)程中缺陷的發(fā)生,有哪些機(jī)器設(shè)備可以給客戶保證品質(zhì)?
    的頭像 發(fā)表于 09-07 11:27 ?814次閱讀

    Jtti.cc如何確保海外服務(wù)器租用過(guò)程中數(shù)據(jù)安全?

    租用海外服務(wù)器時(shí),確保數(shù)據(jù)安全需要綜合運(yùn)用技術(shù)措施、合規(guī)措施和管理措施。以下是具體建議: 1. 技術(shù)措施 數(shù)據(jù)加密 數(shù)據(jù)加密是保護(hù)
    的頭像 發(fā)表于 02-18 15:23 ?184次閱讀
    主站蜘蛛池模板: 丁香视频在线观看播放 | 日本国产在线 | 狠狠去 | 免费观看视频高清www | 精品你懂的 | 新版天堂资源中文8在线 | 可以直接看的黄址 | 天天干天天谢 | 日日爱网址 | 香蕉视频vip | 很黄网站 | 男女视频免费观看 | 亚洲羞羞裸色私人影院 | 91在线激情在线观看 | 老师办公室高h文小说 | 久久久美女视频 | 免费男女视频 | 婷婷激情四月 | 四虎国产精品免费视 | www.夜夜爽| 日本系列 1页 亚洲系列 | 成人性欧美丨区二区三区 | 人人看人人鲁狠狠高清 | 婷婷爱爱 | 好紧好湿好黄的视频 | 久久一卡二卡 | 成人三级在线播放线观看 | 你懂的网址免费国产 | 人人天天夜夜 | 农村的毛片丨级 | 国产精品视频永久免费播放 | 午夜欧美电影 | xxx日本69hd| 美女18毛片| 2019偷偷狠狠的日日 | 中国高清性色生活片 | 不卡一区二区在线观看 | 淫五月 | 免费看曰批女人爽的视频网址 | 91牛牛| 欧美日韩性高爱潮视频 |