Bagikan melalui


Kriptografi

Artikel ini memberikan gambaran umum tentang fitur kriptografi yang tersedia untuk aplikasi Platform Windows Universal (UWP). Untuk informasi terperinci tentang tugas tertentu, lihat tabel di akhir artikel ini.

Terminologi

Terminologi berikut umumnya digunakan dalam kriptografi dan infrastruktur kunci publik (PKI).

Persyaratan Deskripsi
Enkripsi Proses transformasi data dengan menggunakan algoritma dan kunci kriptografi. Data yang diubah hanya dapat dipulihkan dengan menggunakan algoritma yang sama dan kunci yang sama (simetris) atau terkait (publik).
Dekripsi Proses mengembalikan data terenkripsi ke bentuk aslinya.
Teksbersih Awalnya mengacu pada pesan teks yang tidak terenkripsi. Saat ini mengacu pada data yang tidak terenkripsi.
Ciphertext Awalnya dirujuk ke pesan teks yang dienkripsi, dan karenanya tidak dapat dibaca. Saat ini mengacu pada data terenkripsi apa pun.
Hashing Proses konversi data panjang variabel menjadi panjang tetap, biasanya lebih kecil, nilai. Dengan membandingkan hash, Anda dapat memperoleh jaminan yang wajar bahwa dua data atau lebih sama.
Tanda Tangan Hash terenkripsi data digital biasanya digunakan untuk mengautentikasi pengirim data atau memverifikasi bahwa data tidak dirusak selama transmisi.
Algoritma Prosedur langkah demi langkah untuk mengenkripsi data.
Tombol Nomor acak atau pseudorandom yang digunakan sebagai input ke algoritma kriptografi untuk mengenkripsi dan mendekripsi data.
Kriptografi Kunci Konten Kriptografi di mana enkripsi dan dekripsi menggunakan kunci yang sama. Ini juga dikenal sebagai kriptografi kunci rahasia.
Kriptografi Kunci Asimetris Kriptografi di mana enkripsi dan dekripsi menggunakan kunci yang berbeda tetapi terkait secara matematis. Ini juga disebut kriptografi kunci publik.
Pengodean Proses pengodean pesan digital, termasuk sertifikat, untuk transportasi di seluruh jaringan.
Penyedia Algoritma DLL yang mengimplementasikan algoritma kriptografi.
Penyedia Penyimpanan Kunci Kontainer untuk menyimpan bahan kunci. Saat ini, kunci dapat disimpan dalam perangkat lunak, kartu pintar, atau modul platform tepercaya (TPM).
Sertifikat X.509. Dokumen digital, biasanya dikeluarkan oleh otoritas sertifikasi, untuk memverifikasi identitas individu, sistem, atau entitas kepada pihak lain yang tertarik.

 

Namaspace

Namespace berikut tersedia untuk digunakan di aplikasi.

Windows.Security.Cryptography

Berisi kelas CryptographicBuffer dan metode statis yang memungkinkan Anda untuk:

  • Mengonversi data ke dan dari string
  • Mengonversi data ke dan dari array byte
  • Mengodekan pesan untuk transportasi jaringan
  • Mendekode pesan setelah transportasi

Windows.Security.Cryptography.Certificates

Berisi kelas, antarmuka, dan jenis enumerasi yang memungkinkan Anda untuk:

  • Membuat permintaan sertifikat
  • Menginstal respons sertifikat
  • Mengimpor sertifikat dalam file PFX
  • Tentukan dan ambil properti permintaan sertifikat

Windows.Security.Cryptography.Core

Berisi kelas dan jenis enumerasi yang memungkinkan Anda untuk:

  • Mengenkripsi dan mendekripsi data
  • Data hash
  • Menandatangani data dan memverifikasi tanda tangan
  • Membuat, mengimpor, dan mengekspor kunci
  • Bekerja dengan penyedia algoritma kunci asimetris
  • Bekerja dengan penyedia algoritma kunci konten
  • Bekerja dengan penyedia algoritma hash
  • Bekerja dengan penyedia algoritma kode autentikasi mesin (MAC)
  • Bekerja dengan penyedia algoritma derivasi utama

Windows.Security.Cryptography.DataProtection

Berisi kelas yang memungkinkan Anda untuk:

  • Mengenkripsi dan mendekripsi data statis secara asinkron
  • Mengenkripsi dan mendekripsi aliran data secara asinkron

Kemampuan aplikasi Kripto dan PKI

Antarmuka pemrograman aplikasi yang disederhanakan yang tersedia untuk aplikasi memungkinkan kemampuan infrastruktur kriptografi dan kunci publik (PKI) berikut.

Dukungan kriptografi

Anda dapat melakukan tugas kriptografi berikut. Untuk informasi selengkapnya, lihat namespace Layanan Windows.Security.Cryptography.Core.

  • Membuat kunci konten
  • Melakukan enkripsi simetris
  • Membuat kunci asimetris
  • Melakukan enkripsi asimetris
  • Mendapatkan kunci berbasis kata sandi
  • Membuat kode autentikasi pesan (MAC)
  • Konten hash
  • Menandatangani konten secara digital

SDK juga menyediakan antarmuka yang disederhanakan untuk perlindungan data berbasis kata sandi. Anda dapat menggunakan ini untuk melakukan tugas berikut. Untuk informasi selengkapnya, lihat namespace Layanan Windows.Security.Cryptography.DataProtection.

  • Perlindungan asinkron data statis
  • Perlindungan asinkron aliran data

Dukungan pengodean

Aplikasi dapat mengodekan data kriptografi untuk transmisi di seluruh jaringan dan mendekode data yang diterima dari sumber jaringan. Untuk informasi selengkapnya, lihat metode statis yang tersedia di namespace Windows.Security.Cryptography.

Dukungan PKI

Aplikasi dapat melakukan tugas PKI berikut. Untuk informasi selengkapnya, lihat namespace Layanan Windows.Security.Cryptography.Certificates.

  • Membuat sertifikat
  • Membuat sertifikat yang ditandatangani sendiri
  • Menginstal respons sertifikat
  • Mengimpor sertifikat dalam format PFX
  • Menggunakan sertifikat dan kunci kartu pintar (set kemampuan sharedUserCertificates)
  • Menggunakan sertifikat dari penyimpanan MY pengguna (set kemampuan sharedUserCertificates)

Selain itu, Anda dapat menggunakan manifes untuk melakukan tindakan berikut:

  • Tentukan sertifikat akar tepercaya per aplikasi
  • Tentukan sertifikat tepercaya per rekan aplikasi
  • Secara eksplisit menonaktifkan pewarisan dari kepercayaan sistem
  • Tentukan kriteria pemilihan sertifikat
    • Sertifikat perangkat keras saja
    • Sertifikat yang menautkan melalui sekumpulan penerbit tertentu
    • Secara otomatis memilih sertifikat dari penyimpanan aplikasi

Artikel terperinci

Artikel berikut ini memberikan detail selengkapnya tentang skenario keamanan:

Topik Deskripsi
Sertifikat Artikel ini membahas penggunaan sertifikat di aplikasi UWP. Sertifikat digital digunakan dalam kriptografi kunci publik untuk mengikat kunci publik ke seseorang, komputer, atau organisasi. Identitas terikat paling sering digunakan untuk mengautentikasi satu entitas ke entitas lain. Misalnya, sertifikat sering digunakan untuk mengautentikasi server web kepada pengguna dan pengguna ke server web. Anda dapat membuat permintaan sertifikat dan menginstal atau mengimpor sertifikat yang dikeluarkan. Anda juga dapat mendaftarkan sertifikat dalam hierarki sertifikat.
Kunci kriptografis Artikel ini menunjukkan cara menggunakan fungsi derivasi kunci standar untuk mendapatkan kunci dan cara mengenkripsi konten menggunakan kunci simetris dan asimetris.
Perlindungan data Artikel ini menjelaskan cara menggunakan kelas DataProtectionProvider di namespace Layanan Windows.Security.Cryptography.DataProtection untuk mengenkripsi dan mendekripsi data digital di aplikasi UWP.
MAC, hash, dan tanda tangan Artikel ini membahas bagaimana kode autentikasi pesan (MAC), hash, dan tanda tangan dapat digunakan di aplikasi UWP untuk mendeteksi perubahan pesan.
Mengekspor pembatasan kriptografi Gunakan info ini untuk menentukan apakah aplikasi Anda menggunakan kriptografi dengan cara yang mungkin mencegahnya tercantum di Microsoft Store.
Tugas kriptografi umum Artikel ini menyediakan contoh kode untuk tugas kriptografi UWP umum, seperti membuat angka acak, membandingkan buffer, mengonversi antara string dan data biner, menyalin ke dan dari array byte, dan mengodekan dan mendekode data.