Lets say Alice and Bob have a secret key k1. This key is 50 chars long and is cryptographically random. Alice generates a cryptographically random string (e.g. 16 chars long) and hashes this string and k1 with an algorithm like pbkfd2 or scrypt to generate a new key k2.
Alice then encrypts the message with k2 using AES-CBC. Alice sends the encrypted message and the random string (in plaintext) to Bob. Bob then generates k2 by hashing k1 and the random string to decrypt the message. This way every message is encrypted with a different key. Is this approach secure?